The Y2.1K problem

Tomorrow will be the 9th anniversary of “the Y2K bug,” when people believed that computers wouldn’t be programmed correctly to understand that it was 2000, and due to two-digit years would reset to 1900.  It turned out to be much less of a problem than people thought.

However, today I’ve been revising some code for a personal finance program I’m working with, and I see something that will eventually become a problem:  The Y2.1K problem.  Here’s the thing:  Years that are multiples of 4 are leap years.  However, years that are multiples of 100 are not, unless they’re also multiples of 400.  That system is in place to make years correspond to almost exactly one complete Earth orbit around the Sun, over the long haul.  It means that 2000 was a leap year (since it was a multiple of 400) but 2100 won’t be.

Problem is, programmers writing code rarely account for that case.  They take the attitude, “Well, I won’t be around in 2100, so I’ll just test for a multiple of 4 and call it a leap year if it is.”  That means March 1, 2100 will be incorrectly registered as February 29, 2100 by many computers.

Is it a big deal now, in 2008-2009?  Probably not, since none of us will be around in 2100 (except my health guru AL, who claims her diet will allow her to live to 150), and code programmers write today will almost certainly not be in use.  But, will programmers still take the shortcut when coding leap years in 2080, 2085, 2087?  You betcha.  I think the Y2.1K problem will be a bigger mess to straighten out than the Y2K problem.

Getting ready for tonight… I let myself sleep until 10 this morning so I’d be well-rested and able to stay out late.  The party in South Main I’m attending after dinner has a pimp theme.  I’m not fully dressing up, but I have a ’70s two-tone denim cap that would probably work well at the party.  I’ll go with that and a matching fleece pullover and jeans… the predicted low is 22 tonight, so I’m more concerned with staying warm than being fashionable.

Oooo… I just realized I can stick my pimp glasses and my fake pimp teetheses in my coat pocket, and pull them out at the party… maybe my “Big Paul” pimp persona will make an appearance.  Looking forward to tonight!