The truth is that not all hobbyists are willing to pay full price for programmers. Sometimes it is a dilemma pay like $50 for tool or purchase parts for next project. Either way there is always a way out. If you don’t want to spend extra on tools, then start making them. Of course it takes some time, but saves your pocket. Of course, with DIY tools, you might be missing some functionality or safety, but if it works then great.
TSJWang decided to build really cheap AVR ISP programmer which he claims is about $5. He uses Attiny45 microcontroller where VUSB library takes care of sooth USB operation. He developed home made PCB, then set up avrdude to accept programming commands. As with all DIY programmers – use it at your own risk.