By now you've all heard about the Microsoft Zune bug that was caused by its software having difficulty dealing with a leap year. On at least one other post I talked about the problems the Gregorian calendar gives computer programmers (actually it was Church officials, which is sort of the same thing). We need calendar reform now! Make every month 30 days in length, and have a few "free-floating" days between Christmas and New Years Day to align the year with the solar system. There are other ways of dealing with this. Heck, if Julius Caesar and Pope Gregory could do it, why can't Barack Obama?
It would be easy to make fun of Microsoft, but I won't do it. Programming sometimes is hard! I quote from Fred Brooks's classic on Software Engineering: the Mythical Man-Month, on why the operating system for the IBM System/360, which he was responsible for, turned out so badly: "...OS/360 is a prime example of the second-system effect, a Stretch of the software art... For example, OS/360 devotes 26 bytes of the permanently resident date-turnover routine to the proper handling of December 31 on leap years (when it is Day 366).... " Younger readers need to know that for the System/360, 26 bytes of core was a lot of memory!
This also reminds me of the problem the US Air Force had when they tried flying a squardron of brand-new F-22 fighters across the International Date Line for the first time. The planes almost crashed, because their on-board computers were unable to recognize the longitude data.
Harry Truman once said, "There is nothing new in the world, only the history you don't know." (Well, I could dispute that, but he had a point.)
Best wishes for a bug-free 2009.