USBasp USBISP AVR Programmer ATmega8 ATmega128
This programmer is based on Thomas Fischl's USBasp design and connects to your computer's USB port. Not only is it quite compact, but the design is really elegent. The USB interface is achieved by using an atmega processor and the rest is done in firmware. For those interested, the firmware source code can be downloaded from the USBasp website.