If you are working with the AVR ATtiny45 or ATtiny85, this Tiny programmer by Arduino team member David Mellis is a handy tool to have in your parts bin.
The ATtiny45 and 85 are great "chewing gum" solutions to many electronics problems needing just a little code and some smarts. This programmer (designed by Arduino-team member David Mellis of MIT) is a compact plug-into-USB solution, with a programing socket for your IC.
Load up an ATtiny into the programmer, pop it into the USB port, boot up your Arduino environment, and you'll be generating a solution for your project in short order (be aware, you have to manually load up some board definitions to your Arduino design environment).
The ISP header is also broken out, so you can use the programmer for other AVR compatible projects. Along with a handful of AVR chips, it's an inexpensive, handy solution for many electronics issues.
Note: You'll need to install the USBTinyISP drivers if you don't have them yet, you can find them in the documents below!