Written by Ian Ord
At the turn of the 21st century, people were very concerned about the “Y2K Problem.” To understand why, you have to go back a few decades. Hard to believe, but in the 60s (er, we mean the 1960s), there was no Internet. In addition, there were no flat panel displays – people used these clunky monitor things that only presented output in this ugly green monochrome color. And they used – get this – punch cards! Computer memory was extremely expensive back then – so, naturally, computer programmers tried to cut as many corners as possible to save program space. These days, companies like Microsoft churn out bloated Windows code – hey, if your computer is too slow, just go to the store and buy some more memory. But back then this wasn’t an option. One of the ways programmers saved space was to use two digits to represent the year, instead of four. You know, “73″ instead of “1973″, etc. In the old school programming days, people used COBOL (Completely Obsolete Boring Old Language), which processed numbers in their ASCII formats. (It also used this bizarre thing called a PICTURE Clause, but really nobody in the world should ever be allowed to know about it.) The C language had its issues too. A library function to retrieve the current year actually subtracted 1900 from the value, so in the year 2000 you could conceivably encounter a program that told you it was the year 100, which would really suck because they didn’t have television or microwave ovens in that year. This is the essence of what people in the late 90s called the Y2K Bug.
The Y2K Problem
As Answers.com says, dates are important:
Many financial transactions match dates in database records with today’s date or with a future date. If the system does not handle dates correctly, bills do not get paid, notices do not get triggered and actions are not taken. After 2000, any system that could not recognize the millennium change caused erroneous output with applications that dealt with future dates.
What’s funny is that back in the day, programmers didn’t expect that their crappy programs would still be in use by the year 2000. What they didn’t understand is that all programmers throughout time are lazy. Why write a brand new crappy program if you can steal somebody else’s? With memory becoming cheaper, you could still have that mainframe operating awhile longer. And what about that function that returns dates? What about that customer database program? It’s dusty but it still works like a charm – no need to mess with it! And don’t forget the need for many programs to have backwards compatibility.
Alan Greenspan said:
I’m one of the culprits who created this problem. I used to write those programs back in the 1960s and 1970s, and was proud of the fact that I was able to squeeze a few elements of space out of my program by not having to put a 19 before the year. Back then, it was very important. We used to spend a lot of time running through various mathematical exercises before we started to write our programs so that they could be very clearly delimited with respect to space and the use of capacity.It never entered our minds that those programs would have lasted for more than a few years. As a consequence, they are very poorly documented. If I were to go back and look at some of the programs I wrote 30 years ago, I would have one terribly difficult time working my way through step-by-step.
John Hamre, Deputy Secretary of Defense, said:
The Y2K problem is the electronic equivalent of the El Nino and there will be nasty surprises around the globe.
The mainstream media and pop-culture jumped all over the Y2K Bug. The topic was ubiquitous in the year 1999.
Our personal favorite is the Simpsons Halloween episode, where Homer forgot to check for the Y2K bug at the Springfield nuclear power plant. The result was planes dropping from the sky like stones and traffic lights shooting lasers at people.
Not everybody thought this was a problem, of course.
Computer programmers create actual, brilliant programs out of mere ideas in their heads. For them to go through millions of lines of old code (many armed with rapid, automated testing tools) to find every date-field is child’s play, not to mention damn dull. Don’t forget about the million/billion/zillion embedded chips and embedded systems. These cannot be re-programmed or upgraded. These are molded into solid cement and are unchangeable. You cannot get out of bed without them. Examine how many are actually date-aware… You’ll find that most aren’t.
No matter… old timer COBOL programmers were overjoyed that their services were needed once again (talk about ensuring job security!).
Special committees were set up by governments to monitor remedial work and contingency planning, particularly by crucial infrastructures such as telecommunications, utilities and the like, to ensure that the most critical services had fixed their own problems and were prepared for problems with others. It was only the safe passing of the main “event horizon” itself, January 1, 2000, that fully quelled public fears.
What happened on January 1st, 2000?
Well, it seems Japan had the most issues:
- Ishikawa, Japan: radiation-monitoring equipment failed at midnight, but officials said there was no risk to the public.
- Onagawa, Japan: an alarm sounded at a nuclear power plant at two minutes after midnight.
- Japan: at two minutes past midnight, Osaka Media Port, a telecommunications carrier, found errors in the date management part of the company’s network. The problem was fixed by 2:43 a.m. and no services were disrupted.
- Japan: NTT Mobile Communications Network reported on January 1 that some models of mobile telephones were deleting new messages received, rather than the older messages, as the memory filled up.
- Australia: bus-ticket-validation machines in two states failed to operate.
- USA: 150 slot machines at race tracks in Delaware stopped working.
- USA: the web site of the U.S. Naval Observatory, which runs the master clock that keeps the country’s official time, reported that the date was Jan. 1, 19100.
- France: the web site of the national weather forecasting service, Meteo France, displayed a map of Saturday’s weather forecast with the date 01/01/19100.
Otherwise, life went on as usual.
As Y2KHoax says:
Planes did not fall out of the sky, elevators did not drop, governments did not collapse. The Year 2000 arrived with a yawn.
The total cost of the work done in preparation for Y2K was 300 billion US dollars. Whether it was worth it is a contested issue. Many people saw the Y2K bug as hype and fear-mongering, one of many end-of-the-world scenarios that was bound to crop up the closer the world got to 2000. Others felt justified, since not much happened on January 1st (because we fixed the problem, see!). We may never know what effect the upgrades may have had or didn’t have, but one thing’s for certain – COBOL still sucks.