A project of mine wouldn't 'hardware compile'.. That is, I didn't manage to squeeze all the (tiny SMD) components onto a PCB small enough to fit the enclosure. The "brains" made up of a bunch of discrete logic gate IC's could be replaced by just a single 8-pin microcontroller.. 
Coding assembler is a pain.

PICkit 2 programmer/debugger