Amazon’s Mechanical Turk

…or in other words, how to rent an army of slaves on demand.

Quoting from Amazon Web Services (emphasis mine):

Amazon Mechanical Turk is a marketplace for work that requires human intelligence. The Mechanical Turk web service enables companies to programmatically access this marketplace and a diverse, on-demand workforce. Developers can leverage this service to build human intelligence directly into their applications.
While computing technology continues to improve, there are still many things that human beings can do much more effectively than computers, such as identifying objects in a photo or video, performing data de-duplication, transcribing audio recordings or researching data details. Traditionally, tasks like this have been accomplished by hiring a large temporary workforce (which is time consuming, expensive and difficult to scale) or have gone undone.
Mechanical Turk aims to make accessing human intelligence simple, scalable, and cost-effective. Businesses or developers needing tasks done (called Human Intelligence Tasks or “HITs”) can use the robust Mechanical Turk APIs to access thousands of high quality, low cost, global, on-demand workers — and then programmatically integrate the results of that work directly into their business processes and systems. Mechanical Turk enables developers and businesses to achieve their goals more quickly and at a lower cost than was previously possible.

I can imagine requests being transparently serviced by an army of slaves somewhere in this world.
It always happened but now this army of slaves can be rented transparently, through a well defined API!

  • On-Demand/Elastic Workforce
  • Quality Management Tools
  • Lower Cost Structure

A very interesting idea, that somehow does not put a smile in my face for some reason…

Advertisements

Lego Mindstorm NXT self balancing robot

Lego Mindstorm NXT are a great platform for many things such as games, education etc.

In the following I will described my adventures with the standard LEGO Mindstorm NXT package + a Gyro from hitechnic and MATLAB 2007b.
The quick guide is to download the wonderful package NXTway_GS and follow the instructions there. In what follows I am trying to explain the basic technologies used in NXTway_GS.

The long term goal of the project is to examine the possibilities of using LEGO Mindstorms as a way to teach Linear/Fuzzy Control. The short term goal is… to have fun.

So I need two or three “classical” case studies. The first thing that came in my mind is the inverted pendulum problem, or in this case the more interesting self-balancing robot problem. But first things first.

Continue reading

Trac, SVN quick howto on a linux Debian

In the following, I will present a mini guide to setup Trac 0.10.3 and SVN services on a Linux Debian stable.

I needed a per project authentication both in trac and in svn.

I just finished it, seems to be working, will check it out in a few days, hope it does not burn your PC 🙂 and that I did not forget anything crucial.
Careful when copy pasting code, the double quotes get messed up.

Continue reading

Remote Procedure Calls in GWT

From google

GWT RPC makes it easy for the client and server to pass Java objects back and forth over HTTP.

When used properly, RPCs give you the opportunity to move all of your UI logic to the client, resulting in greatly improved performance, reduced bandwidth, reduced web server load, and a pleasantly fluid user experience.

The server-side code that gets invoked from the client is often referred to as a service, so the act of making a remote procedure call is sometimes referred to as invoking a service.

Every service ultimately needs to perform some processing to order to respond to client requests. Such server-side processing occurs in the service implementation, which is based on the well-known servlet architecture. A service implementation must extend RemoteServiceServlet and must implement the associated service interface. Note that the service implementation does not implement the asynchronous version of the service interface.

Continue reading

Open-source scripting environment Komodo Edit 4.3

 http://arstechnica.com/news.ars/post/20080316-hands-on-open-source-scripting-environment-komodo-edit-4-3.html

http://www.activestate.com/Products/komodo_ide/komodo_edit.mhtml

The free and open source editor,  supports

  • Browser-side technologies: CSS, HTML, JavaScript and XML
  • Server-side languages: Perl, PHP, Python, Ruby and Tcl
  • Web template languages: RHTML, Template-Toolkit, HTML-Smarty and Django

The OpenKomodo project has the potential to become for scripting what Eclipse is for Java.

From BFS to ZFS: past, present, and future of file systems

http://arstechnica.com/articles/paedia/past-present-future-file-systems.ars

A tongue-in-cheek historical review of most file systems, that can double as a quick history of operating systems. I found it hillarious! The ZFS is the future!

Prism for the Desktop

Mozilla Labs last week released a new version of Prism, a single-site browser system that brings web applications to the desktop. The latest version is designed to work as a Firefox extension rather than as a separate XUL application.

http://labs.mozilla.com/2008/03/major-update-to-prism-first-prototype-of-browser-integration/

http://wiki.mozilla.org/Prism/Scripting

Roughly, you can run server side code offline. The interesting part is the lightweight browser. It does not support java (I think), but who knows?

Edit: after more careful reading on my part, it is more like a packager, no server side code locally, but the offline-lightweight stands.

Βαγγέλης Μαρινάκης