The Y2K Problem

The Y2K Problem

The Y2K Problem!!!

What is Y2k? In one sentence, Y2k is "...the inability of computer programs at the year 2000 to interpret the correct century from a recorded or calculated date having only two digits to indicate the year".[Center for Computer Systems Engineering]

What does that mean? It means that many of our computer systems, although sensitive to date and time, have been programmed with a piece missing -- the century portion of the date. These systems were created by humans, who are used to dealing with dates in context using a shorthand that omits the century. (What car do you drive? A '92 Ford, or a '96 Chevy. When did you graduate? Class of '76.) Unfortunately, when the calendar rolls over from 1999 to 2000, such systems will not have the contextual smarts to process our shorthand dates correctly. Some of these computer systems will produce obviously silly results, good for a laugh at the office. Some will produce subtle errors that may be passed on, undetected at the source, in an ever-expanding circle of bad data. And some systems will stop working altogether.

How might systems fail? Let's look at an example program in which the omitted century is assumed to be '19' and the program's function is to figure out how old you are. If you were born in 1958, then in 1999 this program will calculate your age as 99 minus 58, or 41. That's fine, but what happens when the century rolls over to '20' in the year 2000? In this program, the year will appear as '00' but the century will still be assumed to be '19' -- so the program will calculate your age as 00 minus 58, or -58. Then, depending on the program's error-handling capacity, it might abnormally end or otherwise stop running; or it might send the negative age to another program (which might then fail); or it might omit the sign from the number and pass your age off as 58. The last example is the most insidious, as 58 is not an unreasonable value for an age. It's wrong in this case, but it could easily be propagated throughout other systems without being detected.

Why should I care? The good news is that Y2k is almost completely limited to computer hardware and software. The bad news is that, these days, computer hardware and software is tied to just about everything. In the example above, the error might work to your advantage, or it might not. Just keep in mind that for every error that works to your advantage or doesn't affect you at all, there's another error waiting to ruin your morning. Your coffee cup may not contain a computer chip, but the coffee in it trickles through a vast computerized labyrinth of financing, shipping, processing, packaging, procurement and retailing before it ever reaches your Tim Hortons� (which by the way might very well be microprocessor-controlled itself). It's this all-pervasiveness that makes Y2k such a serious threat.

How could we have been so shortsighted, to program our computers this way? There are a number of reasons -- to save storage space (which in the early days of computing was very limited and costly), to maximize efficiency, or just because we're used to doing it that way. In some cases, systems were created with full awareness that they wouldn't survive the century date change, because the people who created them "knew" that they would not still be in use at the turn of the century.

Why can't we just fix all the systems that have the problem? It seems simple to most people. All we need to do is go in to each system that's been coded this way and add the century to each date that doesn't have one. The answer is, it IS a simple problem. "Y2k is a trivial problem of overwhelming magnitude. The size of the problem is the problem" [Jim Lord, May 8th, 1998, Medford, OR, USA]. This problem is not technically difficult. If it had been tackled ten years ago, it probably wouldn't be the issue it is today. Now, though, programmers simply cannot review it.

Sources Used


�The Millennium 2000 Bug Total Y2K Repair Kit�,

I took their article about �The History and the Hype� from their WebPage, and you may get a hard copy by obtaining Time Magazine JAN 18 Edition.

�Scientific American�,
I took their article about �Y2K: So Many Bugs� So Little Time� from their WebPage, and you may get a hard copy by obtaining Scientific American Magazine JAN 1999 Edition.