that is nice command line based programmer **broken link removed**
If not wrong it supports more atmel chips than any other free programmer implementations .
Simple LPT cable adapter programmer schematics is also there .
PonyProg is a serial device programmer software with a user friendly GUI framework available for Windows95/98/ME/NT/2000/XP and Intel Linux.
PonyProg works also with other simple hardware interfaces like AVR ISP (STK200/300), JDM/Ludipipo, EasyI2C and DT-006 AVR (by Dontronics).
You can get schematics for these programmers here:
I am using AVRDUDE BSD programmer for AVR microcontroller. You can get the schematics and troubleshooting from the book
MY EXPERIENCE IN PROGRAMMING AVR MICROCONTROLLERS IN C USING WINAVR