Build a Simple Serial PIC16F84A programmer
This is not a good circuit for a variety of reasons.  There are a lot of crappy circuits on the internet.  In fact, the fraction of crappy circuits is higher on the internet than in real life.  Those that know what they are doing and design a circuit to a particular requirement don't consider it a big enough deal to publish and often can't due to confidentiality issues anyway.  It's the wannabes that can barely spell NPN that spend a week getting their LED to blink that then proudly want to show off their herculian accomplishement to the world.

Just a few problem off the to of my head:

Is Q2 rated for 10 V reverse bias accross its B-E junction?  That is certainly possible, but many small transistors aren't rated for that.

Your passive pullup that drives Vpp will drop some voltage.  It seems neither you nor whoever designed this circuit even looked at the programming spec.  See the spec for Ihh in Table 5-1 AC/DC CHARACTERISTICS, section 5.0 PROGRAM/VERIFY MODE ELECTRICAL CHARACTERISTICS on page 13.  Multiply that current times R4, then subtract that voltage from your 13 V supply.  Your Vpp voltage is now out of spec.

On the same table, notice the maximum Vpp rise time.  Do you really think a 10 k&Omega; passive pullup can meet that?  Maybe it can, but maybe not.  Again, I don't like the passive pullup to drive Vpp high.