Was the Y2K Bug a Hoax?

April 21, 2010

- See all 763 of my articles

In 1999, corporate America was gripped by a fear – that the flipping of the calendar to 2000 would cause significant problems. Then 2000 came not with a bang, but with a whimper.

I was chatting with my brother yesterday, and he seems to be of the opinion that the entire situation was overblown. Was it – or were the fears well founded? This article is a decade late, but let’s take a deeper look at the Y2K bug.

What’s the problem, exactly? The problem was that many older computer program stored dates with two digit years instead of four digit years. This would cause a problem when the date flipped to 2000. Let’s use a simple example.

Let’s say the Social Security Administration had a computer program that checked to see if you were old enough to receive benefits. Let’s say that your birth date is January 1, 1920. This would be shortened to 01-01-20 in their system. This works fine in 1999. 1999 would be shortened to 99, and when the SSA computer takes the current data and subtracts your birth date, they determine that you are 79 years old (99-20).

Let’s flip to 2000. The program would shorten 2000 to 00. What does the program get when it takes the current date and subtracts your birth date? 80? Nope … -20.  (Yep, 00-20 = -20.  No check for you!)

This is a simple example. Any program using two digit years would have encountered problem. Imagine a nuclear power plant that used a program to determine if scheduled maintenance was needed …

Why didn’t they get it right the first time? An interesting thing about the Y2K bug is that is really wasn’t a bug. The programs were working exactly as designed – and the two-digit year was an intentional piece of the design. You could argue that it was a design flaw, but that would be pretty harsh. The real issue is that storage space at the time was much, much more expensive than it is today. Absurdly expensive. Using a two-digit year instead of a four digit year saved space, and thus money.

Certainly the programmers knew that the year 2000 would create problems. However, even the most optimistic programmers of the 1960s and 1970s could never have imagined that their programs would still be in use 30-40 years later.

What happened is that companies kept adding to the existing code base. Some programming languages were extremely good at certain tasks and simply refused to succumb to obsolescence. COBOL, I’m looking at you.

OK, then why didn’t they fix it later? I honestly think that each generation of programmers kept thinking that the old code would eventually be replaced by a completely new architecture, and that this resulted in less emphasis being placed on fixing Y2K issues. Going back and fixing all the instances of two digit dates would be a long process, with lots of testing. Simply building a new system would avoid this effort entirely.

Unfortunately, those replacement systems never got built, for a variety of reasons – lack of funding, or simply because the new languages simply couldn’t compete with the older ones. Finally, when Y2K was just around the corner, companies realized that something must be done, and NOW. Millions upon millions of hours were poured into testing and fixing problems with Y2K compliances issues.

OK, why didn’t I hear about any Y2K problems? In large part, Y2K went off without major problems because of the diligent work of programmers and other analysts. I have firsthand knowledge of this, having been in the trenches at the time.

There actually were some Y2K related problems. If you had your ear to the ground in early 2000, you may have heard about them. Of course, the public was expecting a dynamite-sized explosion and didn’t notice the firecrackers.

Another reason is that some people were looking in the wrong places. Your relatively new desktop computer was not going to stop working, your TV was not going to switch to black and white, nor was your freezer was not going to start boiling food. Even somewhat large companies could sidestep the issue if they were new enough to note have lots of code from the 60s and 70s lying around. The vulnerable systems were those belonging to major corporations.

The Y2K bug was definitely not a hoax. We dodged a bullet because a lot of people worked very hard in the late 90s to fix the problem.

6 Comments (+add yours?)

  1. Evan @ 40Tech
    Apr 21, 2010 @ 08:46:55

    On New Year’s Eve, 1999, I was with another couple, one of whom worked for one of the big telecoms of the time. I still remember her holding her breath and getting real nervous as the clock ticked down to midnight. You’re right – to the outside observer, it seemed to be much adieu about nothing. I didn’t hear of any problems at all, but I guess there must have been some out there. I remember all the warnings that sprung up – stay out of elevators around midnight, etc.
    .-= Evan @ 40Tech´s last blog ..Springpad vs Evernote — Why It Might Be Better… =-.

    Reply

  2. Squeaky
    Apr 21, 2010 @ 09:48:25

    No kidding Kosmo, I totally agree. That was a major bust. I remember that everything was on the table—people even feared that their cars woudln’t work on 1-1-2000? Seriously? Their cars? I guess they do have computers, but I wonder what is date dependent on them.

    I’m sure everyone went through the reams of paper like we did, but we had EVERYTHING printed on hard copy in case the systems did go down. If we could transport some of today’s green freaks back to 1999 they’d have an instant coronary.

    Y2K was hyped and I scored a big bonus for the amount of prep I did for that mess.

    I think you analysis of the programmers thoughts are dead on.

    SSSSSSSSUUUUUUUUUUUUUUUHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!

    Reply

  3. poch
    Apr 22, 2010 @ 02:03:28

    All I remember about this is that during the year 2000,
    it was found out that the solution to Y2k was very simple
    (like adjusting your online time at 11:59pm then shutting down your pc
    then logging on again at 12:01!) 😀

    Reply

  4. kosmo
    Apr 22, 2010 @ 08:07:30

    @ Poch – I agree that most home computers had little to worry about when Y2K came.

    Unfortunately, your solution wouldn’t solve the example I gave of the SSA. They’re still going to be stuck with a year that gets truncated to 00 when converted to two digit, and 0-20 is still going to equal -20. The only way around these sorts of problems was to change code to handle a four digit year, and then test the crap out of it to make sure nothing else got broken by the code change.

    @ Squeaky – heck *I* about had a coronary now when you mentioned printing everything out.

    Reply

  5. Joe Papp
    Oct 21, 2011 @ 10:48:04

    Sorry to say, BULLSHIT!

    This commentary demonstrates a PROFOUND IGNORANCE of the nature of computer systems.

    NONE, repeat NONE of the “mainframe” type systems left over from the 60’s, 70’s…barely into the ’80’s…were involved in CONTROLING ITEMS. Power plants (Worked at same, engineer…systems!), sewage plants, petro-refineries (worked at same), aircraft..NONE of these had archaic “Mainframes” for which the Y2K bug had any significance.

    An Engineering associated, working at a local “state of the art/optical detector company” was assigned to review all of their products.

    He found that there was a LIMITED run of 8088’s at the beginning of the XT Era that had a 2 decimal year (Y2K glitch). These were totally out of the inventory by 1999, and of no problem to that company.

    Some PDP11’s may have had a problem. But most of those (if involved in a controlling system) would harmlessly roll over and merely put out an 01 date stamp.

    This was the world’s biggest NON-PROBLEM and a “bondoggle” for a bunch of programming yonks. My own Brother was EHS at a MAJOR corporation in Chicago. He was paid TRIPLE TIME for doing a 48 hour stay at the corporate facilities/building control center, “In case” they had any problems. Fundementally he pulled in a nice $2500 for two days, and laughed all the way to the bank. He brough in a sleeping bag, some muchies, a portable video player, and had a great time! But he KNEW IT WAS BS. Who wants to tell the PHB types that when they offer to give you TONS OF MONEY to solve a non-problem?

    Reply

  6. kosmo
    Oct 21, 2011 @ 11:04:10

    OK, my comment about the nuclear power plant may not have been accurate (I’m not overly familiar with the industry). However, that’s one small sentence out of the entire article and was used for the sake of illustration. It doesn’t invalidate the entire article.

    I’m not saying society would have ended if the Y2K bug wasn’t fixed. I’ve never said that, or anything close to that.

    There still would have been significant problems in a variety of other system. There are a surprising number of mainframe programs from the 60s, 70s, and 80s that are still in operation today, and many are used to make important decisions. If you’re blindly calculating a date range with two digit years and without sufficiently sophisticated error handling, you’re going to get the wrong answer. There are a lot of business decisions centered around the question of whether X numbers of days, weeks, months, or years have passed.

    Maybe not systems that you’re familiar with, but definitely in the systems I’m familiar with.

    Reply

Leave a Reply to Evan @ 40Tech

Cancel