[youtube=http://www.youtube.com/watch?v=M-sFQNIXde8]
Wow, that title is flamebait… but give us a chance to explain. [George] wrote some code for the Arduino that allows it to program another Arduino. You may be thinking to yourself “this has already been done”. In a way it has, with the AVR ISP programming shield. But once the code has been uploaded to the Arduino, you don’t need a computer to program the next chip. This concept turns an Arduino into an in-the-field programmer. Right now his code only programs the ATmega328 and it’s a little buggy, but the concept is solid. A fully functioning independent programmer is easy to image; [George] has laid the ground work, the AVR ISP programming firmware has proven this can work with several different chips, and if your AVR has an ATmega328 there should be plenty of room to store the code you plan to flash to the target microprocessors. It’s up to you to put all the pieces together.