ISP Programmer: GTP-USB Lite
Operating system: Winxp
Chip: Supports PICS and memory
Software in used for programming it: winpic800 ver 3.55g
I use GTP-USB Lite programmer lots of supported device the only con is the software upgrade. The newer software (winpic800 ver 3.61) does not support this device. The new version which is GTP-USB Plus is much better yet cheap it's better coz it supports more chips (pics and atmel) the firmware upgrade is free via software.
As for ISP, I mostly use P89V51RD which is UART-ISP-able, so the answer would be "an RS232-cable".
Ocassionally, I program AT89S5x using a homebrew "programmer" based on the 'V51RD2, implementing similar intelhex based protocol on the PC-side than the bootloader of 'V51RD2 itself uses - thus I can use FlashMagic on PC to program the AT89S5x . I sucessfully deployed also a similar standalone homebrew "programmer" for smaller AVRs (based on AT89C55).
I am in a strong opposition to the "rusty nail" approach, of which most of the "programmers" in the voting are, mainly for they involve risks for the unaware beginner - which they are aimed primarily at.