Michael Kenniston's Y2K Page

Contents of this page:


If you don't already know what the Y2K problem is, the links on my links page will explain it in exhausting [sic] detail. This page simply provides a few convenient references.

The Four Layers

There are many valid ways to look at this mess, but I like to think of the Y2K problem as having four layers. Just like peeling an onion, each time you peel off a layer you cry a little more. Each deeper layer is less understood, less predictable, and potentially more serious.
  1. Software. This is the obvious stuff - computer programs (on mainframes, servers, and PCs) have bugs in them, and we need to find all the programs, find all the bugs, fix all the bugs, and test all the fixes. Simple enough, after all, how many lines of code can there be in the world? (Hint: the answer is followed by the word "billion".)

  2. Embedded Systems. Now it gets more interesting. Embedded systems are all the things that are not obviously computers but have computers in them: manufacturing systems, oil drilling rigs, refineries, nuclear reactor cooling systems, elevators, automobiles, VCRs, coffeemakers, etc. The vast majority of these either aren't that important or don't care about the date, but there are so many of them that even if a tiny percentage fail, the effects could be quite serious. They are also hard to find, since the owners/users often don't even realize that they have one.

  3. Ripple Effects. These are also called chain-reaction effects, the food chain, synergies, interdependencies, etc. This simply means that even if every computer in your company is perfectly Year-2000-compliant, if the power or phones go out, you're dead. If your bank can't process payments from your customers or to your suppliers, you're dead. If your suppliers go out of business, you're dead. If you can't deliver your goods or services, you're dead. If your office is on the 57th floor and the elevators don't work, ... well, you get the idea.

  4. Psycho-social effects. This is just a fancy word for panic, or self-fulfilling prophecy. Basically, if enough people believe that the world will fall apart on 2000-01-01, and they act on that belief, for example by selling all their stock and pulling all their money out of banks as physical currency, that alone will create massive disruption, even if all the computers work perfectly.

My expertise is in fixing the first layer, basically by working smart, working hard, and learning to apply triage to computer systems. Other folks will have to deal with the other layers, but at least this may provide a helpful framework for thinking about the problem.

The Name of the Beast

There is one point of semantics on which I know the world will ignore me, but I'm going to make it anyway: It's the "Century bug," or even the "Y2K problem", but it's not a "millennium bug":

Oh, and while we're being anal-compulsive about semantics, you do know that the year 2000 is the last year of the 20th century, not the first year of the 21st, don't you?

OK, OK, I promise not to tilt at windmills. I promise not to tilt at windmills. I promise ...

How Bad Will It Be?

As will quickly become apparent from following a few links, there is general agreement that we will not get all the code in the world fixed in time, and there will be failures. However, there is no general consensus about just how serious the consequences of those failures will be. Predictions range from "the thermostat might not work" to "Western Civilization will collapse."

My own crystal ball is a little cloudy today, and somebody somewhere may archive this page and send it to my boss just before my 2001 performance review :-), so I'll be a wimp and make only four predictions:

  1. Before 2000-01-01, programmers will make lots of money.

  2. After 2000-01-01, lawyers will make lots of money.

  3. If you live in Russia, Canada, the northern U.S., or Europe, the Year 2000 will arrive in winter and it will be cold outside.

  4. The severity of the problems will be somewhere between the two extremes mentioned above.

    Because today's computer systems are so highly interconnected that we just don't understand all the synergies between them, I feel that chain-reaction failures where we least expect them are inevitable. It's very likely that some of these will seriously impact efficiency - even now the computer mess being experienced by the Union Pacific Railroad is contributing to potentially significant problems with the U.S. grain harvest. On the other hand, I can't imagine that computer failures could be any worse than the bombing of England and Germany during WWII, and they somehow muddled through without dropping back into the Middle Ages.

Spike Dates

The term Spike Date refers to a date when some particular problem related to the century bug will first arise. Of course it's obvious that things will be dicey on January 1, 2000, but there are many other dates that could cause problems as well.

Some Y2K Spike Dates
DateReason
 
1998 Jan 01Year "98" could be used as a flag.
 
1999 Jan 01Year "99" could be used as a flag.
1999 Aug 22First time (ever) the GPS "weeks" field rolls to zero.
1999 Sep 09"9/9/99" could be used as a flag.
 
2000 Jan 01First time (in 100 years) the low-order two digits of the year roll to zero.
2000 Jan 3First business day in 2000.
2000 Jan 7-9First full end-of-week processing in 2000.
2000 Jan 31First end-of-month processing in 2000.
2000 Feb 29First time (in 400 years) that a century-year is also a leap year.
2000 Mar 31First end-of-quarter processing in 2000.
2000 Dec 31First end-of-year processing in 2000.
 
2038 Jan 19We do the whole dance again for Unix 32-bit times.
 

Keep in mind that problems could arise when either the local time or the UTC (GMT) time hits any of these dates.

Next, take the table and repeat most of it 3 months earlier, because the U. S. Federal fiscal year begins in October. Then do that again, but 6 months earlier, because most States' fiscal year begins in July. (If you live outside the U.S., apply the appropriate time frames for your own national/provincial governments.)

Furthermore, any date that a Y2K bug fix goes live is a secondary spike date for you, because unless your testing is very good the fixes themselves are a likely cause of problems.

Links

For some Internet resources that I've found useful (or at least interesting), go to my separate links page.
Contents copyright © 1997-1998 by Michael S. Kenniston.
Last modified on 1998-07-21 by msk@michaelkenniston.com (Michael Kenniston).
Back to Michael Kenniston's Home Page.
Views expressed here are my own, and not necessarily those of my employer.