Archive for September, 2007

Setting up a buildserver…

Several of our projects have grown to the point where the test suite and/or the full suite of builds has become time consuming. Moreover, we’ve been faced more and more with the need and desire to have a set of “official” builds that we use for testing. The current scheme of embedding the version number in the binary doesn’t include enough information to let a tester know where the binary came from. That includes which developer as well as which revision of what branch in the source tree. So I finally got a build server cobbled together (actually two: one for Windows and one for Linux). Myself and one other co-worker did a pretty exhaustive survey of build servers and finally settled on one: Quickbuild. We did so mainly because it seemed the easiest to configure, authenticated against Active Directory, and could support multi-platform builds. Continue reading ‘Setting up a buildserver…’

Beautiful Code

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:

…a program must be more than just correct; it must also be lucid, elegant, concise, even witty

I couldn’t agree more. Throughout the chapter, he talks about a small piece of code that felt dirty… that there was a better way, but he just couldn’t see it. The story took you over several iterations of this small chunk of code, which seemed to get closer to a solution, yet still seemed so far. Until one day, when Brian read a paper that had the one nugget that he had been looking for. In the end, the answer turned out to be short, sweet, sensible, and had no special cases… it was beautiful. That story alone was worth the purchase price.

Those of us who love to write software often view it as a work of art. I think the editors where right on in attempting to collect some of those works, and I hope this is the first of a long series of books to follow.

Managment…

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.