Year 2000 problem

From Free net encyclopedia

The year 2000 problem (also known as the Y2K problem, the millennium bug and the Y2K Bug) was a common 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 12:00 AM, 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.

Contents

Background

Y2K (improperly Y2k) was the common acronym for the year 2000 problem. The abbreviation combines the letter Y for "year", and K for the Greek prefix kilo meaning 1000; hence, 2K means 2000. It also went by millennium bug because it was associated with a roll-over of the millennium (although technically the third millennium did not begin until 2001 [1]).

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. Fortunately 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. 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 be 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, just like the year 2000, 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. [2] 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. This is actually an urban legend, because computers do not store dates in that manner. In this case, the date would be stored 090999 or 9/9/99, to prevent confusion of the month-day boundary.

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 unless it is both divisible by 100 and not divisible by 400.) Fortunately, like Y2K, 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, religious commentator Gary North, and economist Edward Yardeni.

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. [3]

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:

Please only add referenced sources from CNN, BBC or other top tier media
  • In Ishikawa, Japan radiation-monitoring equipment failed at midnight but officials said there was no risk to the public. [4]
  • In Onagawa, Japan, an alarm sounded at a nuclear power plant at two minutes after midnight. [5]
  • 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. [6]
  • 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. [7]
  • In Australia two states had bus ticket validation machines fail to operate. [8]
  • In the United States, 150 slot machines at race tracks in Delaware stopped working. [9]
  • 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". [10]

Was the expenditure worth the effort?

The total cost of the work done in preparation for Y2K was $US 300 billion. [11] There are two ways to view the events of 2000 from the perspective of its aftermath:

  • 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.
  • There were no critical problems to begin with, and correcting the few minor mistakes as they occurred would have been the most efficient way to solve the problem. This view was bolstered by 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.

Trivia

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.
  • Many organizations finally realized the critical importance of their IT infrastructure to their business, and put in place plans to keep it running and restore capability in case of disaster. Such planning may well have helped the relatively speedy return to functioning of New York's critical financial IT systems after the September 11, 2001 attacks.
  • 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, as though the items were 100 years overdue. [12]
  • 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.

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)Template:Fact
  • "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 [13]

Y2K in pop culture

  • 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 magazine, he soon learns he caught a cold that was passed around.
  • 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 his new 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.
  • A 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.
  • 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."
  • 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 an episode 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 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.
  • 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.

See also

References

  • DeJesus, Edmund X. (1998). "Year 2000 Survival Guide". BYTE, July 1998, vol. 23, no. 7 (the final issue of BYTE).
  • Keogh, Jim (1998). "Working to Solve the Year 2000 Problem". Ch. 12 (pp. 307–329) of COBOL Programmer's Notebook. Upper Saddle River, NJ: Prentice-Hall PTR. ISBN 0-13-977414-9.

External links

de:Jahr-2000-Problem es:Problema del año 2000 eo:Problemo de jaro 2000 fr:Bogue de l'an 2000 fy:Milenniumbrek id:Masalah Tahun 2000 it:Millennium bug he:באג 2000 nl:Millenniumbug ja:2000年問題 no:År 2000-problemet pl:Y2K fi:Y2K sv:Y2K zh:两千年问题