I'd second the recommendation for the USBtinyISP from LadyAda. It's cheap and works well. And the Atmel AVR ISP's seem to have a nasty habit of randomly breaking. Just be warned that the USBtinyISP won't work with a chip in an original Arduino NG (because the LED on pin 13 interferes with the SPI used to program the chip).