Music (unfortunately, listening to it, not playing - at this time). Photography (common hacker hobby, very relaxing yet has a technical component to it). Cars/driving/potentially amateur racing (you don't need a fancy car for this, in fact it's likely
not a good idea to use an expensive/luxury car).
Reading (in the sense of fiction literature). History, philosophy, political science (really another form of reading). Travel. Exercise.
Often times it helps to hack on things that _seemingly_ aren't related to your work (even if you like your work).
I've spent good chunk of today writing my own graph library: for learning and scratching a personal itch; if I wanted a real one I'd use Boost (best imo), JGraphT or JUNG. Chances are, however, that it may come in handy e.g., I'll need to find the shortest path in an ad-hoc graph, but the scope I'll have at hand wouldn't justify adding additional dependencies.