16 February 2015

Was Y2K Really a Problem?

The simple answer is yes.  I personally fixed dozens of instances of it.  Most of them were trivial and would have been at worst an annoyance, but they were real, and a few would have been of real consequence.  Particularly serious was that the Microsoft BASIC string parser defaulted to years beginning with 19xx and was used in lots of user and database interactions, including pretty much anything related to OLE.  I fixed a bunch of these issues during my brief time in the BASIC team in the mid '90s, and lots of other people did too.  MS-DOS prior to 5.0 had the bug.  The only 5 inch floppy drive I still have is on a machine running MS-DOS 4.0, and I have to lie to it about the date in order to read such a floppy. 

The scariest bug I know about is that apparently a bunch of spy satellites were not working properly for several days immediately following 31 Dec 1999.  DoD kept quiet about this for several months, until they were sure they'd gotten it fixed.

I was pretty worried about infrastructure problems: computer controlled water supply, banking, traffic controls, etc.  I set aside a reserve of cash, charcoal and camp stove fuel, and about 20 gallons of drinking water, just in case.  Fortunately, none of this was necessary...but Jan 1 turned out to be a fairly nice day here and I had a nice barbeque...  Lots of people had fixed lots of bugs.  For example, I heard about a hydroelectric project that had experimented with their fix in June, lying to the dam controls about the date and watching what happened as the date clicked over.

Not sure if my (then) new car with a lot of computer controls would work, I used my old car to drive to my friend's place for a new years party.  It had no computers aboard at all.  But on the trip home, I crossed the 520 bridge at about 1AM.  The bridge was open, and was for a long time.  So I got out and walked to the drawspan.  The workman there said it was scheduled maintenance, nothing to worry about.  Yeah, right.  Middle of the night on New Years Day.   I am confident that this was in fact a Y2K bug but you won't get anyone in DoT to admit it.

No really bad things happened on Y2K day, but that was because there'd been a LOT of worrying.

Here's a list of problems that one group studying this found.  Unfortunately, the "official" page they reference has gone away.  One estimate was that $100B was spent fixing instances of it.  I suspect this is high...I worked on Y2K problems off and on for several years...If you imagine that I spent the entire time working on Y2K, you'd get an accounting of several hundred $K, but that misstates it.  Over several years, I spent much less than a month cumulative time.  But tens of thousands of programmers did something similar.

Take the example of the hydroelectric dam.  The programmer involved needs to do whatever software changes are deemed necessary, and test them to the limit of their ability without actually affecting the water system.  Lets say 5 man days.  Then they need to staff up the whole facility so if something bad happens, they can manually override, almost no matter what it is. Once everybody is ready, they install the new software, lie to it about the date, and watch what happens as the date ticks over.  Probably a dozen people for a day, or perhaps more if something goes wrong the first time.  we're up to almost 20 man days.  Repeat this tens of thousands of times for thousands of different types of installations, all around the world.

Yes, Y2K was a problem.  One which was dealt with almost adequately. 

No comments:

Post a Comment