The Velleman Kit K8055 USB experiment board is available from a number of sources on the internet, is not too expensive (around $50), and gives you the capability to use a USB port to “talk” to the outside world from within your own programs. It offers both analog and digital I/O capability, albeit at low bandwidth.
I’ve used this board as the basis for a very simple “bit-banger” programmer for several ATMEL uCs, and have been told that my K8055-based approach is more reliable (although a lot slower) than the popular parallel port cable scheme.
If you’d be interesed in the hardware/software to build a K8055-based programmer, let me know and I’ll be happy to share my code and hardware design here.