I made a pickit2 clone based on this
article with some modifications.
I used a PIC18F4550 instead of a PIC18F2550 and added some extra components to make the target voltage auto adjustable.
Here's the schematic:
R4 is used for minor adjustments of the target voltage, because the original pickit2 has an extra schottky diode which causes a 0.3 volt drop.
The circuit board is a bit messy, but it works great. The 40 pins socket is wired for PIC16 and PIC18, the 28 pins socket is wired for dspic33F.