Tuesday, July 12, 2011

Y2K even later on


The Year 2000 problem (also known as the Y2K problem, the millennium bug and the Y2K Bug) was the result of a practice in computer program design that caused some date-related processing to operate incorrectly for dates and times on and after January 1, 2000. It turned into a major fear that critical industries (such as electricity or financial) and government functions would stop working at exactly midnight, January 1, 2000, and at other critical dates which were billed as "event horizons". This fear was fueled by the press coverage and other media speculation, as well as corporate and government reports. All over the world companies and organizations checked and upgraded their computer systems. The preparation for Y2K had a significant effect on the computer industry. However, no significant level of computer failure took place when the clocks rolled over into 2000.
Background
Y2K was the common abbreviation for the year 2000 problem. The abbreviation combines the letter Y for "year", and k for the Greek suffix kilo meaning 1000; hence, 2k means 2000. It also went by millennium bug because it was mistakenly associated with a roll-over of the millennium.

The term was coined on June 12, 1995 in an e-mail sent by David Eddy, a Massachusetts programmer . He later said, "People were calling it CDC (Century Date Change) and FADL (Faulty Date Logic). There were other contenders. It just came off my COBOL calloused fingertips."

It was speculated that computer programs could stop working or produce erroneous results because they stored years with only two digits and that the year 2000 would be represented by 00 and would be interpreted by software as the year 1900. This would cause date comparisons to produce incorrect results. It was also thought that embedded systems, making use of similar date logic, might fail and cause utilities and other crucial infrastructure to fail.

Special committees were set up by governments to monitor remedial work and contingency planning, particularly by crucial infrastructures such as telecommunications, utilities and the like, to ensure that the most critical services had fixed their own problems and were prepared for problems with others. It was only the safe passing of the main "event horizon" itself, January 1, 2000, that fully quelled public fears.

In North America the actions taken to remedy the possible problems did have unexpected benefits. Many businesses installed computer backup systems for critical files. The September 11 attacks destroyed hundreds of offices in the World Trade Center, potentially crippling vast segments of the economy; however, most of the offices had purchased backup servers in New Jersey and elsewhere, limiting the devastation of the attacks. The Y2K preparations further had impact on August 14, 2003 during the 2003 North America blackout. The previous activities had included the installation of new electrical generation equipment and systems which allowed for a relatively rapid restoration of power in some areas.
The programming problem
The underlying programming problem was real, but more subtle than many realize. The practice of using two-digit dates for convenience long predates computers, as can easily be demonstrated by visiting an art museum. Saving scarce memory was only an issue for a very short part of the computer age, but since that age happened to fall near the middle of a century users and programmers became lazy. The fundamental issue is that humans can use context to disambiguate: we look at an Impressionist painting signed "Monet '73" or an abstract painting signed "Picasso '39" and we know one was done in the nineteenth century while the other in the twentieth; computers don't recognize context.

In the 1960s, computer memory and storage were scarce and expensive, and most data processing was done on punch cards which represented text data in 80-column records. Programming languages of the time, such as COBOL and RPG, processed numbers in their ASCII or EBCDIC representations. They occasionally used an extra bit called a "zone punch" to save one character for a minus sign on a negative number, or compressed two digits into one byte in a form called binary-coded decimal, but otherwise processed numbers as straight text. Over time the punch cards were converted to magnetic tape and then disk files and later to simple databases like ISAM, but the structure of the programs usually changed very little. Popular software like dBase continued the practice of storing dates as text well into the 1980s and 1990s.

Saving two characters for every date field was significant in the 1960s. Since programs at that time were mostly short-lived affairs programmed to solve a specific problem, or control a specific hardware-setup, neither managers nor programmers of that time expected their programs to remain in use for many decades. The realization that databases were a new type of program with different characteristics had not yet come, and hence most did not consider fixing two digits of the year a significant problem. There were exceptions, of course; the first person known to publicly address the problem was Bob Bemer who had noticed it in 1958, as a result of work on genealogical software. He spent the next twenty years trying to make programmers, IBM, the US government and the ISO care about the problem, with little result. This included the recommendation that the COBOL PICTURE clause should be used to specify four digit years for dates. This could have been done by programmers at any time from the initial release of the first COBOL compiler in 1961 onwards. However, lack of foresight, the desire to save storage space, and overall complacency prevented this advice from being followed. Despite magazine articles on the subject from 1970 onwards, the majority of programmers only started recognizing Y2K as a looming problem in the mid-1990s, but even then, inertia and complacency caused it to be mostly ignored until the last few years of the decade.

Storage of a combined date and time within a fixed binary field is often considered a solution, but the possibility for software to misinterpret dates remains, because such date and time representations must be relative to a defined origin. Roll-over of such systems is still a problem but can happen at varying dates and can fail in various ways. For example:
* The typical Unix timestamp stores a date and time as a 32-bit signed integer number representing, roughly speaking, the number of seconds since January 1 1970, and will roll over in 2038 and cause the year 2038 problem.
* The popular spreadsheet Microsoft Excel stores a date as a number of days since an origin (often erroneously called a Julian date). A Julian date stored in a 16-bit integer will overflow after 65,536 days (approximately 179 years). Unfortunately, the Windows versions of the program by default start at 1900 and the Mac versions by default starts at 1904 (although this can usually be changed).
* The Microsoft Excel spreadsheet program also had a very elementary Y2K problem: Excel (in both Windows versions and Mac version, when they are set to start at 1900) incorrectly regarded the year 1900 as a leap year. In addition, the years 2100, 2200 and so on were regarded as leap years. This bug was fixed in later versions, but since the epoch of the Excel timestamp was set as January 1, 1900 in previous versions, the year 1900 is still regarded as a leap year to maintain backward compatibility.
* In the C programming language, the standard library function to get the current year originally did have the problem that it returned only the year number within the 20th century, and for compatibility's sake still returns the year as year minus 1900. Many programmers in C, and in Perl and JavaScript, two programming languages widely used in Web development that use the C functions, incorrectly treated this value as the last two digits of the year. On the Web this was a mostly harmless bug, but it did cause many dynamically generated webpages to display January 1, 2000, as "1/1/19100", "1/1/100", or variations of that depending on the format.
* Older applications written for the commonly used UNIX source code control system SCCS failed to handle years that began with the digit "2".

Even before January 1, 2000 arrived, there were also some worries about September 9, 1999 (albeit lesser compared to those generated by Y2K). This date could also be written in the numeric format, 9/9/99. This date value was frequently used to specify an unknown date; it was thus possible that programs might act on the records containing unknown dates on that day. [1] It is also somewhat similar to the end-of-file code, 9999, in old programming languages. It was feared that some programs might unexpectedly terminate on that date. The bug however was more likely to confuse computer operators rather than machines.

Another related problem for the year 2000 was that it was a leap year even though years ending in "00" are normally not leap years. (A year is a leap year if it is divisible by 4 but not divisible by 100 unless also divisible by 400.) Fortunately most programs were fixed in time.
Public reaction to the problem
As the decade progressed, identifying and correcting or replacing affected computer systems or computerized devices became the major focus of information technology departments in most large companies and organizations. Millions of lines of programming code were reviewed and fixed during this period. Many corporations replaced major software systems with completely new ones that did not have the date processing problems. It was reported that corporations had already experienced minor Y2K problems due to date look-ahead functions in code and embedded systems, but it was and still is not clear what the full cost and seriousness of these problems were.

In some countries public apprehension was growing. Some individuals stockpiled canned or dried food in anticipation of food shortages. A few commentators predicted a full-scale apocalypse, among them computer consultant Edward Yourdon, televangelist Jack Van Impe, religious commentator Gary North, and economist Edward Yardeni. In discussion groups devoted to the issue, this position was referred to by the acronym TEOTWAWKI for 'the end of the world as we know it', and those who held it were called doomsayers.

Another group of commentators argued that few or no problems would emerge, and that the appropriate policy response was not large-scale attempts to make systems Y2K-compliant, but a "fix on failure" response for all but the most critical systems. These commentators were often labelled Pollyannas.

The dominant view, which determined policy in the United States and other English-speaking countries, and to a lesser extent in the rest of the world was that the problem was sufficiently serious to justify a large-scale response, but that such a response should be sufficient to resolve the problem.
Documented errors
Before the year 2000
* In 1999 HSBC issued 10,000 card swipe machines, manufactured by Racal, to retailers, but a Y2K flaw prevented them from reading expiration dates properly. The stores had to rely on paper transactions, as they do when there are power failures or phone line failures, until replacement machines arrived. [2]
Midnight
When January 1, 2000 arrived there were problems generally regarded as minor. Problems did not always have to occur precisely at midnight. Some programs were not active at that moment, and would only show up when they were invoked. Not all problems recorded were directly linked to Y2K programming in a causal relationship; minor technology glitches occur on a regular basis, as anyone who ever had to reboot a personal computer will recognize.

Reported problems include:
* In Ishikawa, Japan radiation-monitoring equipment failed at midnight but officials said there was no risk to the public. [3]
* In Onagawa, Japan, an alarm sounded at a nuclear power plant at two minutes after midnight. [4]
* In Japan, at two minutes past midnight Osaka Media Port, a telecommunications carrier, found errors in the date management part of the company's network. The problem was fixed by 2:43 a.m. and no services were disrupted. [5]
* In Japan, NTT Mobile Communications Network (NTT DoCoMo), Japan's largest cellular operator, reported on January 1, 2000 that some models of mobile telephones were deleting new messages received, rather than the older messages, as the memory filled up. [6]
* In Australia, two states had bus ticket validation machines fail to operate. [7]
* In the United States, 150 slot machines at race tracks in Delaware stopped working. [8]
* In France, the national weather forecasting service, Meteo France, said a Y2K bug made the date on a webpage show a map with Saturday's weather forecast as "01/01/19100". [9]
Was the expenditure worth the effort?
The total cost of the work done in preparation for Y2K was $US 300 billion. [10] There are two ways to view the events of 2000 from the perspective of its aftermath:
Supporting view
The vast majority of problems had been fixed correctly, and the money was well spent. The lack of problems at the date change reflect the completeness of the project. Indeed many computer applications would not have continued to function into the 21st century without correction or remediation. This view was adopted by most of the (fairly limited) official examinations of Y2K projects undertaken after their completion. It has also been suggested that on September 11, 2001, the New York financial infrastructure was able to continue operation because of the redundant networks established in the event of Y2K bug impact. The terrorist attacks and the following prolonged blackout to lower Manhattan had minimal effect on global banking systems. Backup systems were activated at various locations around the region, many of which had been established to deal with a possible complete failure of networks in the financial district on December 31, 1999. Had the emphasis on creating backup systems to deal with Y2K not occurred, much greater disruption to the economy could have occurred. Decentralization of infrastructurehelped keep banks up and running.
Opposing view
There were no critical problems to begin with, and correcting the few minor mistakes as they occurred would have been the most efficient and cost effective way to solve the problem. This view was bolstered by a number of observations.
* The lack of Y2K-related problems in schools and small businesses, many of which undertook little or no remediation effort.
* The lack of Y2K-related problems in the Third World, which in general had not devoted the programming resources to remediation that the industrialized West had marshalled.
* The absence of Y2K-related problems occurring before January 1, 2000, even though the 2000 financial year commenced in 1999 in many jurisdictions, and a wide range of forward-looking calculations involved dates in 2000 and later years. Estimates undertaken in the leadup to 2000 suggested that around 25% of all problems should have occurred before 2000.[11]. Critics of large scale remediation argued, during 1999, that the absence of significant problems, even in systems that had not been rendered compliant, suggested that the scale of the problem had been overestimated.[12]
Facts, Figures and Folklore
Facts
* The United States established the "Year 2000 Information and Readiness Disclosure Act", which limited the liability of businesses who had properly disclosed their Y2K readiness.
* Insurance companies sold insurance policies covering failure of businesses due to Y2K problems.
* Attorneys organized and mobilized for Y2K class action lawsuits (which were not pursued).
* No major failures of infrastructure were reported in the United States or even in many places where they had been widely expected, such as Russia.
* The Long Now Foundation, which (in their words) "seeks to promote 'slower/better' thinking and to foster creativity in the framework of the next 10,000 years", has a policy of anticipating the Year 10,000 problem by writing all years with five digits. For example, they list "01996" as their year of founding.
* One of the founders of the Long Now Foundation, Danny Hillis, was one of the few commentators who publicly predicted that Y2K bugs would cause no significant problems (see "Why Do We Buy the Myth of Y2K?", Newsweek, May 31, 1999).
Rumors
These are unreferenced anecdotes and urban legends.
* The Y2K problem mainly affected countries that follow the Gregorian calendar (Saudi Arabia, for example, uses the Islamic calendar).
* One theory has it that the Federal Reserve increased the money supply in 1999 to compensate for anticipated hoarding by a frightened populace. The populace, however, was not frightened, and the flood of new money fueled a stock market high tide that went out on January 14, 2000 when the Dow Jones Industrials fell from the all-time peak.
* Speculatively, the Y2K spending on information infrastructure caused a slowdown in information technology spending in the year 2000 and 2001 and may eventually lead to higher productivity in future years.
* Univision news reported that on the evening of December 31, 1999, a couple in Peru had committed suicide, for fears of what Y2K would bring.
* A few (but not many) computer systems did'' actually fail on January 1, although some of those did so on a yearly basis. An almost amusing postscript to the Y2K problem was the fact that a number of computers not set up for leap years actually failed the following February 29.
* Contrary to widespread warnings that personal computers should be powered down during the Y2K moment, some computers (e.g. those running Microsoft's Windows 95 operating system) handled the change properly if they were running, but needed to have the time and date reset if they were not.
* Items rented from Blockbuster prior to January 1st, 2000 and returned after January 1st were reportedly marked for astronomical late fees ($91250), as though the items were 100 years overdue. [13]
* In Germany the coordination system of the fire brigade in Berlin showed the error "named pipe closed", but the system kept working. A reboot of the affected machines renders the system unusuable. Emergency coordination had to be done via cellular phones.
* In the United States, it is purported that a series of callboxes failed along Interstate 87/the Adirondack Northway in New York [14]
Quotes
* "We may not have got everything right, but at least we knew the century was going to end." – Parodic science fiction author Douglas Adams, in an advertisement for Apple Macintosh personal computers, which even on date of release could accurately render dates to the year 2020 (that threshold has since been extended by over 60 millennia)(Gaiman 2003)
* "Computing consultants laughing all the way to the bank." – Popular catchphrase used by the Australian media on the First of January 2000.
* "The Y2K problem is the electronic equivalent of the El Ni̱o and there will be nasty surprises around the globe." РJohn Hamre, Deputy Secretary of Defense [15]
*"I'm one of the culprits who created this problem. I used to write those programs back in the 1960's and 1970's, and was proud of the fact that I was able to squeeze a few elements of space out of my program by not having to put a 19 before the year. Back then, it was very important. We used to spend a lot of time running through various mathematical exercises before we started to write our programs so that they could be very clearly delimited with respect to space and the use of capacity.It never entered our minds that those programs would have lasted for more than a few years. As a consequence, they are very poorly documented. If I were to go back and look at some of the programs I wrote 30 years ago, I would have one terribly difficult time working my way thorough step-by-step." [Testimony by Alan Greenspan, Chairman of the Federal Reserve before Senate Banking Committee, February 25, 1998 ISBN 0-16-057997-X]
Y2K in popular culture
* Y2K: Year 2 Kill was a movie about a gang of criminals taking over a town after Y2K.
* In an episode of The Drew Carey Show, Drew and his friends prepare for Y2K by setting up a bomb shelter. After the Millennium Bug took effect, much of Cleveland was in ruins, and Drew was the only survivor left in the bomb shelter. As he prepares to relax with a pornographic magazine, he sneezes and his glasses fall off and break. This is also a reference to the Twilight Zone episode Time Enough at Last in which a similar situation occurs.
* Professional Wrestler Chris Jericho used the Y2K problem to his own advantage creating a parody of it, Y2J. He did so to get his gimmick over with the fans in the company he was working for, World Wrestling Entertainment..
* In the 1999 movie Office Space, the main character's job is to rewrite bank software to use dates with 4-digit years instead of 2.
*The Halloween episode of The Simpsons for the 1999–2000 season, Treehouse of Horror X, contained a sketch fittingly entitled "Life's A Glitch, Then You Die". Homer's failure to check Y2K preparedness at the Springfield Nuclear Power Plant results in a global technology-related catastrophe.
* An episode of King of the Hill featured Y2K.
* The Family Guy episode "Da Boom" (aired December 26, 1999) featured the Griffin family surviving the end of civilization, caused by the Y2K bug. At the end of the episode, it is revealed in a Dallas parody that the episode was all just a dream. In the same episode, a man in a chicken costume tells Peter that the whole world is going to end, Peter then replies saying, "Y2K?, what are you selling? Chicken or Sex-Jelly?".
* The flashback portions of the episode "11:59"' of Star Trek: Voyager (aired May 5, 1999) takes place on December 31, 2000, where an ancestor of Captain Kathryn Janeway, Shannon O'Donnell, claims that "the Y2K bug couldn't even turn off a single light bulb."
* A popular computer prank by RJL Software represents a Y2K compliance checker that is crazy. It does stuff like flashes the screen, opens the CD drive, chatters the floppy drive, plays sounds, and more. At the end, it says that your sound card is not compliant, and to fix it, it says you must flip your hard drive on its side for all of 2000.
* The NewsRadio episode "Meet the Max Louis" had a subplot in which the station's electrician Joe Garelli dealt with the effects of him programming the computer system to Jesus' "actual" birth-date. The episode was filmed in 1998, so they were experiencing the year 2000 problem two years early.
* In the episode "Y2K"of "Dilbert", Wally is given command to fix the company computer systems for Y2K. He fixes them, only finding out that the millennium starts on January 1, 2001.
*Several different movies with the title Y2K were made: Y2K (1999) and Y2K: The Movie (1999) (TV).
* The popular web comic Kevin and Kell had several story angles relating to Y2K. One of the primary characters, Fiona Fennec, was granted magic powers by "aliens" (really the "Great Bird Conspiracy") to fix the problem on a global scale.
* The 1999 film Entrapment, presented the two thieves, played by Catherine Zeta-Jones and Sean Connery, to synchronize their plans according to the turn of the millennium, taking advantage of the technical problems.
* Jennifer Lopez's music video for her 1999 single Waiting for Tonight featured a power failure during a party held on the beginning of 2000.
* In the "Weird Al" Yankovic song "It's All About the Pentiums", Weird Al says "I ain't afraid of Y2K."
* The webcomic After Y2K was started in February 1999, with humorous predictions of what would happen after major systems, including computers, broke down. The archives of the comic are still available on the creators' website, at geekculture.com.
* In Metal Gear Solid 2: Sons of Liberty, the Y2K problem is said to be a conspiracy for the US government to distribute and run a worldwide content filtering system.
*In the 2000 anime film, Digimon: Our War Game, the villainous Diaboromon is a personification of the Y2K bug. In an exaggeration of some expected events, he cuts off the phone networks and launches a nuclear missile at Tokyo.
* In Season 2 of Sports Night, the episode 'Kafelnikov', originally aired on Tuesday 2 November 1999, on ABC, is devoted to Jeremy's attempts to prove the studio is Y2K compatible, resulting in complete power loss. It later transpires that the power loss was due to him hitting the panic button, as the electric board had been rewired without relabelling it.
* In Grand Theft Auto Liberty City Stories, the Y2K bug is used by the Ammunation guns shop as an advertising campaign to sell weapons to confront its apocalyptic effects.
* At the end of The World Is Not Enough, Q's assistant, R, pulls the plug on a thermal imaging clip from a satellite depicting James Bond with Christmas Jones and blames it on a "premature form of the Millennium Bug".
* In 1999 Steve Jackson Games published GURPS Y2K, role-playing game sourcebook containing ideas for developing Y2K-related game scenarios, as well as other "near future" disaster scenarios. Coincidentally, the GURPS game itself suffered from an Y2K bug of a kind: year 2000 marks move to next Technology Level, and many of the predictions related to that have not yet come to pass. The most recent edition of the game solved the problem by making 1980 the threshold year, marking the beginning of the 'Information Age'.
* In 1999 the show The Angry Beavers the two beavers have a new years party for the year 2000 as the clock is on midnight they are in a place that is pitch black and get to change the world.
* In a flashback episode of My Name Is Earl, Earl, Randy, Joy, Darnell, and Donny assume that Y2K will wipe their criminal records and let them start clean. At midnight, their power goes out (because Donny's sister likes to screw with the electric company) and they assume the New Year's fireworks are guns and grenades going off. The next morning, they believe they are the last humans alive while the town is at the New Year's parade. The gang then breaks into a store, where they establish a new world order, but the new world crumbles when the store opens on January 2nd.
* Loudon Wainwright III has a song called Y2K on his album Social Studies. [16]
* Many radio stations ran contests for the best Y2K song, one of which can be heard here. Y2K Song
* On the Homestar Runner website, Strong Bad creates a candy bar whose advertising jingle includes such "feel-good" lyrics as "livin' in the gutter with grandma" and "Y2K turned out all right," both in reference to the anxiety over Y2K and what "effects" might result.
* On Sky One's "50 Terrible Predictions", the Millennium Bug came first.
* In Futurama, Philip J. Fry's father is obsessed with the Y2K bug, during the flashback in the episode, "Jurassic Bark".
* In Mad About You, Paul had a dream about Y2K bug solution and when he wakes up he tries to remember it and to put it into effect.