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!