chesterkarma.com
IT'S NOT THE END OF THE WORLD
or

UNTIL 1/1/2000, EST (US)


Unless you've been living under a rock the past couple years, you've heard of the Year 2000 Problem, also known as Y2K. You may have heard it referred to as the "Millenium Bug", which is an accurate term, but misleading since people associate "bug" with "virus", which is inaccurate. Y2K is not a virus, it is an unusual problem that many pieces of software and hardware were not written to accomodate. Let me quickly explain the problem.

The Problem
Computers have been around for a long time. In large corporations and government, as early as the 1950's. However, back then, they were far more expensive than they are today. Where today, a megabyte of disk space costs less than 50 cents, years ago, it costs thousands, even tens-of-thousands of dollars. This was definitely a problem for all applications, and so programmers sought to cut storage space wherever it was possible. Now, suppose you have a million customers in your database, and each one has a field such as "date of last purchase" or something similar. Every single one is going to be in the 1900's. So, by storing the year as 55, instead of 1955, two bytes of storage space are saved. Compounded by the million records in the database, that's two megabytes of storage space saved. If any programmers in the 50's even THOUGHT of what might happen in the year 2000, they easily figured their software wouldn't still be running 50 years later, or if it was, it would become someone else's problem.
Storage space was perhaps the number one reason that early software stuck years into two digits. The other main reason was that it was customary pretty much everywhere to abbreviate the year to the last two digits. It's been this way in civilization for over a hundred years. In fact, if you were to look at a company's ledger from the 1800's, I'm sure you'd find that their accountant had written 92, 93, and 94, instead of 1892, 1893 and 1894. That customary behavior carried over into programming. People were used to writing two digit years, so why shouldn't the computer handle it?
And so eventually, it became programming custom to store dates in MMDDYY format, not MMDDYYYY format. It saved space and it was easier to program. 98 is 1998, 99 is 1999.... but what is 00? As far as the computer is concerned, it's 1900, not 2000.

Now, flash forward to the late 1990's. A lot of these programs written in the 50's are still in use. The main reason is that, unlike other assets a company has, including computer hardware, programs do not wear out. A program can be run millions, or billions of times, and it is still just as good as it was when it was new. And since companies have these working programs (assets) still sitting around that are GOOD, why would they throw them out for new ones? If they need changes, it's far cheaper to modify the existing program than to write a completely new one. So all these programs whose designers and programmers have long since retired are still in service, some so long that people have forgotten exactly what they do and how they do it, and they all treat years as two-digit fields. They're all time bombs, waiting to go off.

The cost of fixing these programs, and time required to do it, is astounding. Some can't be fixed, because the source code (what the programmer writes to tell the computer what to do) no longer exists, all that remains is the machine code, which is so amazingly complex, it actually is cheaper and easier to write the program from scratch than to try to fix it. All these programs need to be discovered, fixed, and tested. Remember these programs have been written over the course of 50 years, and their bugs were worked out long before they became critical programs. Companies are reluctant to admit there's a problem, due to the cost of fixing it and the fact that the problem isn't actually causing any real problems yet. But by the time the problem comes into play, it's far too late to fix it without serious damage.

As a side note to the main problem, 2000 is a leap year. 1900 wasn't. A majority of computers knew that 1900 wasn't a leap year. So even if a band-aid fix to the main problem can be applied, the program still needs to recognize that February 29, 2000 is a valid date. This problem alone can cause as much difficulty as the main 2000 problem.

The problem exists not only in software, but also in hardware and firmware. Computers are made up of integrated circuits (chips). These chips may also have year 2000 problems in their physical code. These are much harder to fix as it is much more difficult to determine what a chip does, and to fix it.

So that's the beef of the problem. Two simple digits. And due to the fact that computers are everywhere these days, and we are so reliant on them, a large scale failure of this magnitude could be catastrophic. Next, I will analyze the dates that Y2K-related problems will start to show themselves.

Problem Dates
January 1st, 1999: This date, and all through January, many systems run next-year projections, or renewed accounts are set to a year in the future, or something similar takes place... and the result of this looking a year ahead results in 01/01/00. The average consumer may not notice any problems taking place on this date, but rest assured that systems engineers will definitely notice problems on this date. It's often been said that the real litmus test as to how bad January 1st, 2000 will be is how bad January 1st, 1999 is. And yes, it will all start to go downhill after January 1st, 1999. The problems will accumulate, slowly, until the big day itself.
Update: January 1st, 1999 brought no major problems along with it, and none of the major news sources report any undercover problems. There's a pretty good chance that the easy sailing on 01/01/99 will carry over to 01/01/00 .... time will tell.
Update: This site does a pretty good job of keeping track of Y2K related issues. All of those shown are relatively minor, but some have had some wide-ranging impacts. A must-read for anyone concerned with what might happen in a few months.

April 8th, 1999: The 99th day of 1999. Many programs use the Julian date, which is the day number of the year, instead of the actual date. January 1st is 1. February 1st is 32. March 1st is 60 (or 61). And on top of that, many programs have used the 99th day of 99 as a condition that marks the end of the batch to process. I predict that consumers won't notice this date at all, and on the whole, it's overall impact will be slim, but it is something to remember when the date rolls around. If something goes wrong on this date, that this might be the reason.
Update: April 8th came and went with no noticable problems. This probably doesn't mean much because this date wasn't expected to bring on MANY problems anyway.

June 1st, 1999: Like January 1st, 1999, now things looking six months into the future will start to see the year 2000. This may be noticed by consumers, but I doubt it will be discernable from the other Y2K-related annoyances consumers will already be facing by this time.

September 9th, 1999: Like April 8th, 1999, this date is 9/9/99. The rule some programmers used of all-9 dates meaning the end of a batch process or something similar will start to fail on this date. I doubt consumers will notice this date either.

November, 1999: This is the month that a flurry of Y2K movies will come out of Hollywood and into theatres. Many picture the problem as causing catastrophic events, and it is possible that these movies may send the general public into a panic. If the public panics, anything could happen. There could be runs on banks, people may start stockpiling. I see these as a possibility, with maybe a 40% chance of happening, because I'm confident that other sources will attempt to calm the public by feeding them the actual possibilities that what they see in the movies will take place. I also think that because most everyone will have spent the year dealing with Y2K-related minor annoyances, they'll be conditioned to think that the actual year 2000 won't be anything more than they've already had to deal with. However, this has the most capability of anything in 1999 of causing widespread problems, and I believe that the release of these Y2K movies is perhaps the single most dangerous event that will take place in 1999. This worries me so much, in fact, that I believe these movies should be delayed until at least April 2000, as panic is the worst thing that can happen. Civilization can survive a setback like Y2K, but once the civilization starts to fall apart, it just gets worse from there.

December 1st, 1999: One-month accounts start to see the year 2000. Many, many, many things may be affected by this, and a good portion of them directly affect consumers. I predict that consumers will notice more problems in December than they have all 1999, but I think the majority of these problems will be paper-based annoyances (incorrect bills and the like) and that there won't be any major consequences of it.

January 1st, 2000: This is the big day. Despite our best efforts to prevent it, there will be wide-spread failure of computer systems on this day. All of 1999 will have led up to this day, and this day alone has the potential to make 1999 look like a walk in the park. Heating systems may stop working, utilities may stop working, you name it, there's a chance it may stop working. Even things that don't appear to have any relation to the date at all may stop working, because chips are mass-produced and many have integrated clocks, that even if the product they're used it doesn't need, another product using that chip may need, and the failure of that clock could cause a failure of the chip, and the product it's in. There is no telling what will happen on this day, however the probabilities strongly point to the fact that everyone will be affected and it will affect your activities for the coming months. It's doubtful the results will be catastrophic (predictions indicate that if something like a utility does fail, it will be back up and running in hours or maybe at the most, a couple days), at least in the United States, but there will definitely be annoyances.

January 3rd-4th, 2000: The first day back at work for many people after Y2K hits. The chances are that an extremely large number of minor problems will be discovered on these two days. Productivity will definitely be affected, but I don't forsee catastrophic consequences of this, but maybe some people will have an extra few days off as a result.

February 29th, 2000: Some systems may not recognize this day. I expect consequences of this to be minor, especially compared to what took place two months before.

The Analysis
It is almost definite that everyone will be affected by Y2K in one way or another. It will almost definitely affect day-to-day life for a while, but it is unlikely that anything catastrophic will happen as a result and there is almost a zero percent chance that society as we know it will fall apart. This event is unique in all of history. Nothing like it has ever happened before, and nothing like it will ever happen again, and as such we can't forsee exactly what will happen, but we can do our best to estimate what might happen and to prepare accordingly. My suggestions to prepare: Make sure you have hard copies of all financial holdings and make sure you have enough food and water for a day or two handy. These preparations will probably be overkill, but these simple precautions will cover you in case something bad does happen.

Comments, suggestions? Share!
1