better if you buy a ready one, (1) it will be cheaper than making your own programmer, (2) it will work.
Phoenix reader/writer usualy have no problem with new generation computer, but most "free" circuits for pic-programming have problems as the timing and the voltage are very sensitive factors. i.e. JDM, Ludi and other are giving all work of the programming to the computer (like the Windows-only-modems if you remember). They were built for quick and dirty programming of chips with small capacity thus the programing took only few seconds. Does your computer have a serial port at all? (these were all made for serial port and required pure dos, win95/98/ME only and sometimes with luck... XP)
If you still insist, here is a schematic of a USB programmer that is built from common electronic devices:
http://forum.gsmhosting.com/vbb/showthread.php?t=209937