
|










|
By SEAV
Imagine yourself, celebrating the new millennium. You count down the last
few seconds till January 1, 2000. You feel excitement all around you.
Five...four...three...two...one.... Immediately, the power goes out. You
suddenly think that Armageddon had come. Human civilization is finished!
But nothing untoward happens. You're aliveprobably tipsy from all the
wine you drank.
Yet as you examine the
world all around you, you realize that many things seem to be wrong. Your
ATM card is suddenly not working. Elevators are stuck on the ground floor
and would not move. Your cellular phones become useless. Many things all
around you cease to function, work erroneously, or simply crash.
Such may be the peril
faced by people due to the insidious Millennium Bug, also known as the Year
2000 Problem or Y2K.

The Millennium Bug

What the heck is the Millennium Bug? Surely you (whom I assume to
be a programmer) know that. But, anyway, here's the meaning. The Millennium
Bug is probably the worst problem people using and depending on computers
face. The problem lies in the way almost all computers handle datesby
dropping off the first two digits of the year. Thus, January 15, 1998 becomes
01-15-98. Obviously, such treatment of years would have problems when you're
dealing with centuries.
This way of handling
dates dates back to the time when computers were expensive and every byte
of memory, a precious commodity. Programmers who hard-wired the code in
early computers dropped off the two digits to save space. Unfortunately,
this has become the standard and has since then been used on almost all
computer systems.
The Millennium Bug is
one of the best examples of shortsightedness there is. (Another example was
when the computer dinosaurs of old said that nobody would ever really need
more than a megabyte of memory. Consequently, they designed PC processors
to have access to only one meg of memory.)

Is the Millennium Bug really that serious? Yes. Hundreds of
thousands of mainframe computers around the world make calculations on
dates. Imagine for example your ATM card. Suppose it has an expiration date
of March 5, 2002. If the year was recorded as 98 and you used the card on
December 4, 1999 (for Christmas shopping), some computerized card reader
might erroneously think the card is expired since it would read only the 02
part of the expiration date and 99 is greater than 02!
Now adapt the situation
to computerized telephone and cellular systems, automated medical databases,
insurance systems, motor vehicle registration, military weapons procurement,
nuclear power plant maintenance, banking systems, the stock market, etc.
You'll see the enormous extent of the problem.
Analysts say that it
would take around $300 to $600 billion to solve the problem, not to mention
the litigation costs that might reach $1 trillion against companies whose
systems would fail. Incidentally, we only have less than two years to solve
the problem.

Isn't it easy to solve the problem? Well, no. In most mainframe
computer programs, the date appears about once every 50 lines of code. It's
very hard to find these lines, harder to change those lines, and even
harder to test and debug the changed programs. Plus, consider the
compatibility problems these computers face especially when they are
connected with each other via networks such as the Internet.

|