These last few weeks, I've had the pleasant luck to be staying with a friend who used to work at O'Reilly, and thus, has a house littered with pretty much every book they've ever published. I've taken the time to catch up on some of their ever-growing "Beautiful <Some Face of Software Development X>" series.
A few notes:
- Beautiful Code (which was first in the series), I can recommend fairly highly. I very much enjoy careful walk-throughs of complex code, and there's plenty of that. A bit all over the map, but interesting insights into a bunch of different problem domains. Oh, and, Brian Cantrill's detailed story of debugging priority inheritance in Solaris is worth the price of admission alone. Memo to self: leave the locking code to people writing operating systems. 'cause, wow, that's some tricky stuff. (shared nothing is your friend, shared nothing is your friend...)
- Beautiful Data -- this one I've had a pretty binary experience of. Some essays I could barely get through (surprisingly, Jeff Hammerbacher's piece about the data team at Facebook didn't do much for me), but several were just brilliant -- Peter Norvig's exploration of what you can do with the Google Web Trillion Word Corpus took the top of my head off (the part where he turns it into a tool for breaking ciphers, and then breaks a series of real-world examples, was absolutely gorgeous). Similarly excited by the Surfacing the Deep Web (again, from some Google guys). Those two essays got me really motivated to look for ways to use simple analyses + big data sets to do interesting things.
- Beautiful Architecture -- haven't found much that grabbed me in this yet, though I did enjoy Michael Nygard's piece very much (mostly because I'll read just about anything by him).
Okay, and now it's time to get back to work (a house full of O'Reilly books can be pretty distracting...)