The USBTinyISP is a great programmer from LadyAda thats really cheap - 22$.
I had a spare attiny2313 and some parts so i decided to make one myself. If you don't have any experience in making PCB i advice you buy the kit cause it's higher quality than you can make yourself :). At least buy the PCB if you want to build one. You can get it from Adafruit
Connect the ATtiny2313
In the last picture you can see the attiny2313 with the pins used for ISP in red. The picture is from LadyAda avr tutorial
Burning the firmware:
Unpack the USBTinyISP firmware.
Go to the spi
dir and run
$ avrdude -p pt2313 -P /dev/ttyUSB0 -c avrisp -b 19200
to check if everything is ok with the chip.
Now set the fuses:
$ avrdude -P /dev/ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse:w:0xdf:m -U lfuse:w:0xef:m
Now you should attach the 12mhz external oscillator to the chip.
And burn the firmware:
$ avrdude -B 1 -pt2313 -U flash:w:main.hex -P /dev/ttyUSB0 -c avrisp -b 19200
Voila. Your attiny2313 has the USBTinyISP firmware.