So in the interests of getting an IDE that actually understands call trees and the like (which make working on unfamilliar code much nicer), I thought I'd install it. Surely this can't go wrong?
The first problem I hit is that apparently NetBeans, or rather the Java Swing toolkit, doesn't like the graphics chip on the laptop. See, the Swing toolkit is fully skinable and Java comes with a couple of different "look and feels" for it (this is why a lot of simple Java programs look nothing like anything else on your computer). And on Windows, instead of using the native OS user interface toolkit Java comes with a skin to make it look more-or-less like a native program. Except this doesn't work on some systems and mildy scrambles the whole interface. The fix for that was to add -J-Dsun.java2d.d3d=false to the MPLAB command line (and yes, apparently drawing a two-dimensional user interface uses Direct3D these days).
Anyway, on to trying to get the Bus Pirate code to build. It does actually come with a MPLAB X project, but this is out-of-date, references files that don't exist, and needs files that do exist. So after a bit of poking I gave up on it and instead tried the project importer. This seemed to work... and then for every single file whinged that it "contains spaces or odd characters in its name or its path.".
Seriously. Apparently in the year 2013 dealing with spaces in filenames is still a Hard problem.
Except if you're using the old MPLAB 8 IDE, in which case spaces are perfectly fine.