Talking about nightmares. PICkit 3 is an absolute nightmare and sometimes it just doesn't work. Both the software and hardware are too complicated and prone to fail. I almost bricked the thing once. I ceased to use PICs a long time ago, because the programming tool is garbage and you need to pay just to optimize the code.
Now I use the Parallax Propeller with an FTDI UART (but any kind of USB to UART converter will do). The software tool SimpleIDE works on Linux as well as on Windows. It works every time, provided I don't mess up the definitions. It supports all configurations you can think of, clock rates, baud rates, you name it. Never had any problems with it. Bricking it is pretty much impossible.