To be perfectly honest, whenever I spend my free time programming I end up either
1) fixing shit that other people should have written correctly in the first place, then cursing at whatever stupid system they're using this week to replace emailing patches, or 2) writing roguelikes.
I really got into programming in the first place because when I was very young I would play rogue/hack, and they stood out to me over other programs because the complexity was what was shown to the user, as opposed to being used to hide internal operations from the user (i.e. mail programs, the entire operating system, etc). If I had the opportunity to, I would probably just become a less successful Toady, and try to make entertaining system simulations.
I don't think I could sustain even a meager lifestyle that way, though, so if I could I'd like to write device drivers, or perhaps get work as a kernel developer.