Smallest PIC bootloader
Bootloaders can be really small. This one developed by Claudiu Chiculita takes only 100 words of program space but supports all families of PIC including 16F, 18F and dsPIC. There are many bootloaders available(check the list of bootloaders in project homepage), but author wanted to do it smaller, with wide device range support, less buggy.

For those who don’t know - a bootloader is a small program which is first executed after MCU startup and communicates with bootloader program which is normally is run on PC. The bootloader loads and stores firmware in microcontrollers flash memory which is then executed normally. In other words you don’t need a programmer to flash microcontroller. Why bootloader got so small.. the only way to do this is to shift most of tasks to PC software while leaving simple routines for bootloader. As author says - bootloader can be even smaller - up to 32words :), but it loses flexibility, reliability and speed.