I just got finished reading an interesting book call Beautiful Code. The editors sought out a number of developers and asked them to author chapters about what they felt was the most beautiful code they had seen. Karl Fogel, of Subversion fame, had a chapter about Subversion’s delta editor (congrats to Karl!). There were some interesting stories about some optimization techniques, testing, and even style. But that one that stood out the most was the final chapter of the book: Writing Programs for “The Book” by Brian Hayes. That chapter wholly lined up with my vision of beautiful code. In the chapter, Brian states:
Probably one of the most difficult tasks in front of me at this point in my career is managing people. Unlike some of my counterparts, I was not born with the social side of my brain intact. :-) What I mean is that the social skills that I have are learned, and not instinctive. It took a lot of personal strength and mistakes to get where I’m at, and will take a lot more to get where I need to be. But one book that I’ve read recently was more insightful than I could have possibly imagined: Managing Humans: Biting and Humorous Tales of a Software Engineering Manager by Michael Lopp. Michael Lopp spends the entire book running through semi-fictiional stories that would hit home with any reader. He’s got a wonderful writing style, and his insight into management is inspirational. But, the best part of his book is not just how he handled difficult situations, but that he captured his thought process. For those of us who don’t have that innate ability to grok other people, it was amazing to see how that thought process works. For me, it was very inspiring to see a way to manage that wasn’t based on a dictatorship–not that I practice it, but it is something that I see all too often. I hate the idea of being a dictator, especially when I work with many very smart people. Now I see a goal that’s a lot more clear to me. Thank you Michael Lopp. You can purchase the book from here. And no, I don’t get any sort of money for doing this. I just believe Managing Humans is an amazing book.
I’ve spent some more time playing with Mercurial, and discovered a few things. First, renames actually track unlike Subversion, where updating my working copy may result in the old filename being updated, but the new won’t receive those changes.
Well, that was an adventure I don’t care to repeat. For those of you who are suffering from the 10.4.10 update, use the Archive and Install from your install CD and rescue yourself. :-) It kept most of my preferences and applications. However, it does look like I need to re-install Python 2.5 (and a bunch of packages), XCode, and a VPN client. I’ll definitely think twice before accepting another update to the OS, that’s for certain. :-(