y2k redux
August 30, 2006 9:16 AM
Subscribe
I have been thinking recently about the y2k silliness and how I had not ever read a good autopsy of the phenomenon or, rather, beyond the claim of hysteria, an adequate explanation of the lack of phenomenon. (long preamble and a long technical question inside)
There are several camps. "We averted a y2k disaster through our diligence" seems to be the minority opinion. A large group says "it was like killer bees" - an invocation of hysteria for the unthinking masses. The former opinion seems to me to be ridiculous, the latter, simplistic. It seems too easy to say it was a massive con job. The y2k believers had in their camp fairly intelligent people and sincere people who, it appears to me, they were at a minimum, fooling themselves. Although much has been discussed about "what was the germ" that alarmed computer specialists little has been done to explain why that germ was non-pathogenic. The wikipedia article doesn't address this issue.
http://en.wikipedia.org/wiki/Y2K
Even at this late date, an explanation is meaningful. There are general lessons here. Sorting out phony predictions of doom from real ones, or more generally, phony science from real science, is necessary. How we fool ourselves, how we add hysteria to an issue are crucial matters to understand. I recall in 1999 both reading a gun magazine (doing research) that explain what ammunition to use when the y2k dispossessed zombis showed up at your door, and the Utne Reader on how the coming anarchy will be a time for togetherness. Because we can't be experts in many issues (computers, Iraqi weapons of mass destruction, global warming) we rely on others to be experts for us. To make it bipartisan, as governor Bush was in charge of his state's response to y2k, he went after those weapons of mass destruction in Iraq, and he doesn't believe in global warming. Gore was assigned responsibility for the nation's preparedness for y2k, I don't recall a prior statement of his on WMD in Iraq, and he believes in global warming.)
With that preamble, I wanted to run my theory past those at MeFi who have the expertise to evaluate it. The Y2K bug always seemed phony to me. The main reason is that it seemed to require more effort in the original programming to create the bug than it would be to not have the bug.
The standard dogma was that in order to save space early programs had years presented as two digits appended after a "19" and, that when the year became 2000, the last two digits of 2000 would make the date appear as 1900. The computer would start "thinking" it was 1900 all over again or, worse, the internal counter would become zero causing divisions by zero to occur. Computers would crash, keyboards would melt and airplanes would fall from the sky.
The problem with this is that the internal register carrying the year is binary. When the year increases by one it would change from 99 (1100011) to 100 (1100100). A simple program that would save time and space would not bother saying, after I convert it to base 10 give me only the last two digits and I will present these last two digits and maintain them as the new counter. What would happen is that you would have 100 appended to 19, or the year 19100. This is exactly what happened in my only y2k glitch: Tiger Woods PGA Tour 1999 had the dates of games saved read as 19100 in 2000.
But, 19100 is not nineteen thousand one hundred. It is exactly one more in the computer memory than is 1999 (actually 100 vs. 99 or 1100011 vs. 1100100 in binary). This is why there were no sudden bills being sent out for 17000 years past due or any divisions by zero or confusions that it was 1900. The mistakes, if they were to ever appear would be cosmetic which is the only thing that was being performed when the date was presented as 19xx.
For a mistake to go beyond the presentation you would have to have a program that captured the appended number four digit number (1900) or five digit number (19100) and fed it into processing when by far the simplest thing to do to access the year is to address the register with the year being counted (100). Or it is possible someone stupid could have read the full digit readout and typed it in elsewhere as the actual year.
I don't believe Y2K experts were hucksters. The reason why so many Y2K experts fooled themselves was because they ran a simple but artificial test. They looked for what would happen if the year converted to 00. (This is speculation on my part.)
The next expansion in necessary bits to define a number would come when 127 becomes 128. A y2028 problem? ;)
Has there been a good autopsy of Y2K written? We spent 300 billion dollars in the US preparing for y2k. You would think someone would care.
posted by dances_with_sneetches to computers & internet (44 comments total)
9 users marked this as a favorite
I know from a friend who used to work there that before Y2K panic set in, the Australian Tax Office was running COBOL code so ancient that nobody still working there knew it well enough to fix it any more. There was one procedure, for example, that generated massive printouts, consuming boxes and boxes of 15" fanfold paper, that had to be run just for its side effect of getting something updated in some database somewhere so that the next step in the processing would work properly. Nobody had looked at the printouts themselves in the fifteen years since the law that required them to be made got changed - in fact they were feeding the paper pretty much straight from the printer into the shredder.
Legacy code is often a nightmare beyond all reasonable proportions, and at least some of the Y2K effort was well justified.
posted by flabdablet at 9:28 AM on August 30, 2006