"The Millennium Bug", it has been called. Slowly the hysteria has been building, starting with Californians and Black Helicopter theorists, it is now spreading through more borderline respectable organizations and people. Stock up on water! Take your money out of the bank! Come 1/1/2000 nothing will work, rioting will break out, and civilization itself may well crumble. Otherwise perfectly sensible people are acting like paranoid lemmings - spooked by
self-interested doom-mongers into laying in dehydrated foods and purchasing bomb shelters.
I will be the first to admit that the Millenium on its own terms is a big deal.
Times like this have a way of bringing out the silliest in us all. But what truly bothers me about the Y2K issue is that (at least) 90% of the blather one hears about it represents a profound ignorance of the true nature of the problems and of how computers work. It's really not that complicated to understand the nature and scope of the problem, and once you do the nascent hysteria turns to annoyance with the yahoos who are peddling panic without
cause.
First, some definitions. You will most often hear this problem referred to as the Y2K Bug or the Millennium Bug. I have even heard it called the Y2K Virus. A "Bug" in computer parlance is a feature or function that does not work as it was designed to work. (Computer geek lore holds that they are so named because of a moth that blew out a vacuum tube in one of the original Iniac machines.) The date fields that drive the Y2K problems work precisely as they were designed. They are therefore not bugs. Nor are they viruses, which are mischievous code inserted into unsuspecting programs. No, the source of the Y2K issue was nothing more than a lack of foresight. Due to memory and disk space restrictions, early mainframe computer programmers adopted the convention of using the last 2 characters of the year, so that 1979 would be recorded as "79".
No one at the time imagined that these programs being written in the 1960s and 70s would still be in use come 2000. Therefore, the major Y2K problem is that computers will see a date ending in "00" and assume that this means 1900 rather than 2000. This, without a doubt, will be problematic in some very specific situations but, as we shall see below, will not and can not produce the sort of global catastrophe bandied about by the fearmongers.
In addition to this basic date problem, there are a couple of other corollary issues revolving around Y2K:
When processing variable length data files, it is necessary to tell the computer when the file ends. One of the conventions adopted for indicating this was to place a "9/9/99" at the end of the data. Again, this was done because, well, they had to put something there, and that was a date that nobody envisioned would arrive before a different convention could be implemented. When the date September 9, 1999 begins showing up in data files, it will cause the computer to assume it has reached the end of the file, causing the computer to stop processing.
Because the period of time it takes the earth to revolve around the sun is roughly 365.25 days, our calendar has a "leap year" provision in which we stick an extra day every fourth year. But because the exact time to circle the sun is slightly less that 365.25 days, we do not have a leap year when the year ends in
"00", unless that year can be evenly divided by 400. Thus, 1800 was not a leap year, 1900 was not a leap year, but 2000 will be a leap year, because it is divisible by 400. Apparently all of these machinations allow the clocks to stay fairly accurate. Although programmers were pretty much on top of things in the leap year department, that last qualifier, the part about being divisible by400, was sometimes overlooked. Therefore it is likely that some computers will go from 2/28/2000 straight to 3/1/2000, bypassing the 29th altogether.
That, in a nutshell, is what all the hoopla is about. So, should we worry? Well, yes, we should. But only from the standpoint of correcting it. The world will not end, the economy will not fall apart, civilization, such as it is, will endure. Here's why.
The Scope is Actually Quite Narrow. The vast majority of programs that you use everyday are Y2K date compliant. In fact, pretty much all software and hardware developed in the past 5 years is compliant. This means that your home PC will probably be just fine. In fact almost all PCs will be fine.  
problems will be in "old code", written in the 60s, 70s and 80s and run mainlyon mainframe computer systems. These tend to be workhorse programs, processing vast amounts of data quickly and efficiently. While these would include a lot of payroll programs and banking programs, it also excludes a large number of the same.
Even for non-compliant programs, there are very few situations in which the Y2K issue will cause real problems. Remember, from our description above, that the Y2K problem is a date problem. More specifically, it is an elapsed time calculation problem. "Elapsed time" means calculating the amount of time between
two dates. The results can be in seconds, minutes, hours, days, months, or years. I have a program that tries to calculate, for example, my age, it will do so by subtracting a number which represents my Date of Birth from a number representing Today's Date. If the computer interprets "Today's Date" as 1/1/1900 instead of 1/1/2000, a negative age will result. Instead of being 42, I will be -58.
The above example implies that the vast majority of Y2K issues will simply result in silly data. Now, silly data can be a major problem if you are calculating accrued interest or Social Security eligibility. But it will not make computers blow up, and in the great majority of cases will not cause computers to "crash". When one hears predictions that our electrical power will go out,
one has to ask "why?". I suppose it is possible that the computer programs that route electricity make use of date fields to determine how much to send where, but I also suspect they don't especially care what year it is. Similarly, a recent e-mail warned that the "chips" in many VCRs would be non-Y2K compliant. I don't know about you, but none of my VCRs care what year it is, they operate on a straight Sun-Sat basis. I suppose some newer VCRs have true date tracking, but that would mean that they are fairly new and are Y2K compliant anyway.
I could give dozens more examples, but I will spare you. The point is that very, very few computer programs are critically dependent on elapsed time calculations. The ones that are, are very aware of their status and are the most likely to have been fixed in time.
The Data Ain't Going Anywhere. I absolutely guarantee you that every database in the universe will be fully backed up on 12/31/99. Even if, for example, your bank's checking account program goes kablooey, all they have to do is fix the program, restore the backed up data, and move forward. An inconvenience, sure, but hardly a disaster. As a rule, Y2K does not affect databases, it only affects programs. It is the processing of the dates that is a problem, not the fact that a date is stored in a database as 1/1/00. Money will not disappear, nor will social security records, insurance data or anything else.
Contingency Plans. Almost every business that relies on computer systems is in the process of implementing contingency plans in the event of a Y2K breakdown. In other words, what if, despite our best efforts, our computer systems fail to work on 1/1/00? I work in the Health Care industry, and we take this possibiilty very seriously. If the chip in the ventilator machine goes bad, you had better have a backup plan handy or people are going to die. And so we create backups plans. What if this program breaks? How will we get our work done? What about that program? What if the phones do not work? Or the elevators? Business planning for the unlikely will make it much more likely that individual consumers do not suffer even if failures should occur.
Sure, these backup plans are not as efficient as we might be used to. We might be inconvenienced when the grocery store clerk finds himself unable to make change for a dollar manually. But things will still get done. They got done, remember, before computers. Much of the "what if" planning is rediscovering how
things used to get done (A typewriter? What is that?!) before the PC Age.
We are Already in the Y2K "Window", and I Don't Hear Things Falling Apart. Any computer program that looks forward in time more than a few months is already into the Y2K "Red Zone". There are millions of scheduling, forecasting and planning tools that find it necessary to claculate dates and times more than six months into the future. All of these are therefore already dealing with the Y2K issues, and should either be working or crashing. I have heard but a few small murmers of failures thus far. While it would be illogical to draw conclusions based on this alone, it does tend to confirm that we are not dealing with an issue of epic proportions.
The true test will come when the bell strikes 12 on 12/31/99. All computer systems have "System Clocks" which define the date and time for that system. When these start flipping over to 1/1/2000, all of the calculations which depend on measuring elapsed time relative to "Today" will be tested all at once. The vast majority will hum right aliong, some will spit out bad data, and a few will crash.
Does all this mean that we can safely ignore computer Y2K issues and get on with our party planning? I suppose it depends on how much of an optimist you are. I am a fairly cautious person, so I would probably take the following steps, just to be safe:
Stay in the U.S. The above applies to the U.S. and much of the rest of the industrialized world. But I wouldn't recommend being in, say, Pakistan on New Year's Day. Less technologically advanced coutnries suffer from the twin risks of a) Having a lot of the older machinery and programs that are most at risk, and b) not being as likely to have the expertise to address the problem.
Make Sure I Have Cash on Hand. I know I have already said that money is not going to disappear, but the transaction-processing applications that drive ATMs, credit card sales,etc., might be prone to some degree of disruption. It would be prudent to have a little cash on hand just to be safe.
Double Check Numbers. I think that the biggest impact Y2K will have on most people is inaccurate data. Remember the "silly data" in the example above? It would pay to spend some quality time with paycheck stubs, bank statements, insurance documents, and any other time-sensitive numbers to make sure that you are not being paid at the 1900 hourly rate.
And then, most importantly of all, I am going to watch the stock market. When it gets the pre-Y2K jitters I am going to wait until it gets as low as possible, then scrape up every bit of cash I can and invest it.  When the market realizes what a non-issue Y2K actually is, the rebound will be large enough to make a man rich.