I built one of those parallel port programmers following the instructions on http://www.arduino.cc/en/Main/ParallelProgrammer and, not looking carefully, I used 470K and 220K ohm resistors instead of the ones specified. It didn't work, of course, and then I realized I only had 560 ohm resistors, not the 470 specified. Interestingly, this made the programmer work, but unreliably. I'd get various numbers of flash errors - sometimes as few as eight and sometimes as many as 20 depending on how close I was to 470. Eventually I found some 470s and it works most of the time but is still unreliable. I still get flash errors - always at least two. If I try to flash several times and end on low number of errors the bootloader usually works and I can use it in the Arduino world.
Does anyone have any ideas for how to lower the error rate? Should I be shielding the cables or something? Should I be using ferric cores? I have no idea what speed the data is traveling at inside the programmer, though it must be some sort of serial system.