Using an iPhone, an Arduino microcontroller and old cereal boxes, a programmer has managed to create a wonderful machine that sorts a packet of M&Ms into separate colours.
As the M&Ms (other confectionery are available) drop down the shoot, the iPhone captures the colour of the sweet, sends a signal via Bluetooth to the Arduino which then sends off an electromagnetic signal to designate a trap door linked to the correct pot - all within a split-second.
The main problem facing the machine at the moment is that it cannot tell the difference between the orange and brown M&Ms, but so long as it can separate the blue ones then that's A-OK with us.
If you now regret not asking for one of these for Christmas, fear not! There are instructions for how to make it over on the anonymous programmer's blog: ReviewMyLife.