Step 1: Assemble the parts
2. You'll also need a target board (you can do this on a breadboard). I used an extra TV-B-Gone PCB with a programming header and oscillator. If you want to program this once, you can also use the TV-B-Gone itself if you leave the LEDs off until you are done programming.
3. AVR toolchain. I use winavr
4. An ISP programmer. I use usbtinyisp from adafruit, but you can also use the arduino (lots of instructables on this) or this great new shield by randofo