Archive for the 'other' Category

When version numbers don’t work…

So, I was at work yesterday, trying to troubleshoot a problem we were having with our customer’s build system. For some reason, we’re seeing make fail with a complaint about a missing endif—an error that they’ve never seen. So we proceed with the usual check of tools and found that we were using the same versions of everything. Same gcc, same make, same binutils, same everything… except the Linux distribution.

To make a long story short, we discovered that their build system does not support make 3.80, because 3.80 has a nasty bug that doesn’t allow you to use eval within a conditional. Fedora Core 4 patched make, and low and behold, it works on our customer’s system. However, my distribution—SuSE—did not patch make, and therefore, did not work. So much for supporting make 3.80.

Mail for ipod touch…

I downloaded the software upgrade for my ipod touch so that I could get the Mail application. Unfortunately, our mail servers use a self-signed certificate so whenever the Mail tried to verify the IMAP connection it would pop up a box asking to continue. I hit ‘continue’ and it’d sit there until several minutes later when it would time out. I logged into our mail server and watched the logs and it appears the Mail application was effectively terminating the connection after I hit continue. I decided to hit ‘cancel’ instead and then hit save again. It threw up a disclaimer saying I may not be able to receive mail, but low and behold: when I went to look at my inbox, mail was there! Yay! I’m really liking my ipod touch… too bad I can’t carry it around with me at work. :-(

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.

When does the patent stupidity end?

I’m not a very “political” guy. I’m a technical guy. I like to engineer, and I like to code. That’s me. That’s what I do. But when I read things like article on Slashdot about the settlement between Apple and Creative over Patent 6,928,433, I feel as though I must quit my job and spend my life fighting to change the patent process. There is no technical innovation in this patent: they implemented menus that can change dynamically! Good grief. Will the stupidity ever end? When the USPTO is willing to grant patents like this, it only drives corporations to patent every idea they have, instead just the ones that are technically innovative. It means more work for corporations since they have to go through the patent process, it means more work for the PTO because they should be reviewing every patent that comes in–although there is clearly a problem here, and it means more cost to the consumer, since we’re ultimately the people paying for the product and, of course, the government collects our taxes. The process must change. Grrrr.