Pam Hystad, with contributions and suggestions from John Stockton, Flint Cowden, and others. WHAT IS THE PROBLEM? The most common misconception about Y2k* is that it is a single problem, when in fact the Year 2000 date rollover will cause a variety of problems. Because all of these errors have the same root cause, and because the remediation processes for many of the defects are similar, many people refer to all date rollover problems as a single issue. Unfortunately, this perspective has created a commonly held belief that the "problem" is trivial although widespread, and that a single solution is possible. It must be clarified that the "problems" are both complex and widespread, and that each problem area requires specific and individual solutions. For a brief discussion of some of the ways dates can be stored, please see the page Tim Oxler has prepared, at: http://www.teo-computer.com/dev/space.html The problems associated with Y2k are often misnamed "Millennium Bugs" or "Century Viruses". The arrival of the third millennium and the twenty-first century, on 2001-01-01, have nothing to do with computer problems caused by "00" dates. Date abbreviations are not bugs or viruses, although mis-use of them certainly causes computing errors. Shortened dates were once required by the storage and processing limitations of early computers. Technological advances have now eliminated those early restrictions; however, short-term management strategies have frequently resulted in inadequate maintenance and development of information technology resources. Investment in and management of IT assets have not kept pace with the growth of the technology being managed. It has been common practice for many years to write dates in abbreviated forms, such as:
WHAT ERRORS WILL OCCUR? Most often, computers aren't instructed that "98" is an abbreviation for "1998". Some software instructs the computer that "99" is the highest possible value, to be followed by a return to "00". Some software instructs the computer that 99 is a number, that should be followed by 100. Some software doesn't provide any explicit instruction to the computer about what comes after "99". In some cases, software does command the computer to treat "98" as an abbreviation of "1998". Usually this instruction is performed by inserting the characters "19" in front of the "98". Other types of software tell the computer to add 1900 + 98. There are cases when the addition method will work as well in 2000 as it does now, *IF* the software tells the computer that 99 is a number, followed by 100. In these instances, adding the number 1900 to the number 100 will correctly produce the number, 2000. In many cases, though, the software instructions to the computer will result in an incorrect year of "00", or "1900", or "19100", or will fail to produce any answer at all. Two recent examples of incorrectly applied Y2k "fixes" have resulted in year displays of "4000" and "192000". Sorts, comparisons, and calculations performed with incorrect year values will result in a variety of unexpected consequences. Depending on the type and purpose of software and hardware, these failures could be minor, such as garbled reports; or severe, causing computers to crash. IS YEAR 2000 A LEAP YEAR? 2000 is a Leap Year and there will be a February 29th, as decreed in about 45 BC, and not altered by calendar changes instituted by the Papal Bull of 1582 and the Calendar Act of 1751. Some software doesn't recognize 2000 as a leap year, and could cause a variety of problems. There are many web-sites which document the rules for calculating leap years, including: http://www.merlyn.demon.co.uk/miscdate.htm and http://millennium.greenwich2000.com/year2000/ WHAT COMPUTER FUNCTIONS ARE AFFECTED? A wide variety of computers are affected by Year 2000 problems, ranging from personal computers for home use to mainframes that run huge corporations, and everything in between. Workstations, client/server systems, networking hardware, processors embedded in machinery, the globally interconnected "system of systems" - none of these are immune to Y2k problems. Hardware, "firmware", operating system software, and applications can all be incapable of handling the Year 2000. Simply upgrading hardware doesn't cure problem applications running on that hardware; and compliant software can't run if the hardware crashes. Any activity performed by any type of computer involving dates after 1999 is at risk, such as software applications that perform forward planning, financial calculations, processing of taxes, wages, benefits, scheduling, sell-by and expiry dates, school and medical records, retail transactions, reservation systems, transportation, communications -- there is no aspect of our lives that is untouched by computers. In addition, almost all food processing, manufacturing, power generation and transmission, water and waste treatment, and all the conveniences of modern life are conducted by computerized automation. The software and hardware that run electric power plants are as susceptible to Year 2000 problems as the utility company's metering and billing systems. U.S. NPR (National Public Radio) interviewed several experts in the U.S. power generation industry; a Real Audio file of the broadcast is available at: http://www.npr.org/ramfiles/980425.watc.01.ram Many of the largest manufacturers of computing devices that control machinery (known as embedded systems) have published product compliance information to assist users in their remediation efforts. The following list of URLs is a representative sample of the types of information manufacturers have made available, and should be used as a starting point for further research. Rockwell Automation Group: http://www.ragts.com/webstuff/y2k.nsf/Pages/Behind+the+Scenes?OpenDocument GE Medical Devices: http://www.ge.com/medical/year2000/index.htm GE Fanuc Year 2000 Information Center: http://gefanuc.com/y2k/ FDA Reports on Biomedical Equipment: http://www.fda.gov/cdrh/yr2000/y2kintro.html Honeywell: http://www.honeywell.com/year2000/ Bently Nevada Corp (Machinery Management Systems): http://www.bently.com/support/2000list.htm Ericsson Radio Quality Information Systems: http://www.ericsson.se/BR/RQIS/support/y2k/index.htm Ericsson Enterprise Networks: http://www.ericsson.se/y2k/y2k_en.htm Picker International (Medical Diagnostic Imaging Equipment): http://www.picker.com/y2k/mainhome.html Cisco Systems: http://www.cisco.com/warp/public/752/2000/cptbl_ov.htm Siemens (Automation and Drives): http://www.ad.siemens.de/meta/html_76/pddb2000.htm One of the largest organizations specializing in remediation of embedded systems is Tava Technologies, Inc. Recently Tava Technologies announced that it will offer access to its PlantY2K remediation services to small manufacturers through the Manufacturing Extension Partnership. http://www.tavatech.com/ http://www.amcity.com/denver/stories/1998/11/30/smallb2.html?h=2000 At this time (March 1999) the compliance status of passenger vehicles is unknown. A number of questions have been raised, and are as yet unanswered, about the compliance of commercial, special-purpose, and heavy-equipment vehicles. First-hand, documented evidence of proven compliance or of known problems would be greatly appreciated. WHAT SOLUTIONS ARE THERE? Date Expansion The safest solution is to use full four-digit years rather than abbreviations in all dates. Most data entry procedures can be written with instructions for correctly interpreting two-digit year entry, while displaying, storing, and outputting dates with all four digits, and can allow the user to enter four digits if required. Date expansion is unambiguous and will work correctly until 9999, if the hardware and operating systems allow. Date expansion has the disadvantage of requiring changes to the storage space allotted for data; conversion of all existing date data; modification of screens, reports, and other outputs; changes in the software code to handle dates correctly; and the possibility that data-exchange partners may not be able to accept dates in expanded format. Date Windowing Two-digit year values can be windowed, by assuming that the year must fall within a 100-year range. This method is essentially how abbreviated dates work right now -- the 100-year period is assumed to be from 1900 to 1999, inclusive. If the 100-year range assumption is from 1950 to 2049, and correct instructions are written in the software, the software will perform date processing correctly until 2050. The date window can be set to any 100-year period (a "fixed window"), or can be interpreted according to the current year (e.g. from 10 years before this year to 89 years after this year), a "sliding window". Date windowing requires no changes to data storage, no conversion of old data, and no changes to screens or reports. Date windowing has a number of disadvantages, however. Windowing is obviously an inadequate remedy for applications requiring dates spanning more than 100 years. The code to perform the interpretation of dates must be written very carefully, keeping in mind the varying requirements of all of the applications that may use or interact with the dates. Within a single application, an employee birth date may require a window range entirely in the past, while a scheduling or planning function will require a range entirely in the future. All users of the application, and any other application that may share the data, must be cognizant of the assumptions made in every circumstance. At some point most windowing techniques will require further modifications to continue to function. Windowing is inherently ambiguous, and should not be used in applications requiring the exchange of data across systems. Date Setback/Setahead There are two types of date setback techniques, one requiring the manipulation of data, and the other involving the system clock itself. The year data can be set back by 28 years (or 56; the calendar repeats itself every 28 years), making "98" appear to be "70" (or "42"). This approach is by far the riskiest, as it involves changes to both code and data; requires alteration of all existing date values (some databases contain millions of records, and each record may contain one or more date values); and requires manipulation of date values at input to subtract the setback, and at output to restore the amount of the setback. Setting the computer's system clock back by 28 (or 56) years is sometimes an acceptable *temporary remedy*, for a stand-alone device that has no inputs or outputs from other systems, and if the clock permits a system date of "71" or earlier. Caveat: a company known as Turn Of the Century Solution (TOCS) has received a patent from the U.S. Patent Office regarding a specific type of date setback procedure. The patent description mentions the prior existence of a 28-year date setback technique, so it is unclear what specific methods or procedures have actually been patented. Date setahead may be possible in some circumstances, avoiding the boundary condition of 1999<-->2000 altogether. Specific criteria must be met before this solution can be safely adopted:
WHAT ARE THE CONSEQUENCES OF Y2k PROBLEMS? It isn't possible to predict right now (March 1999) how many computer systems won't get fixed in time, or how badly the failed systems will affect our lives. Nobody really knows whether most people will muddle through somehow, or if civilization will collapse. There are likely to be wide variations in the quantity and the quality of remediation efforts; and geographical differences in the impact of failed computer systems on society. Organizations which are able to remediate their own systems are legitimately concerned about the potential for errors introduced into these compliant systems through interface with non-compliant systems. Even interactions between systems using different methods of remediation (ie. a system using a windowing technique attempting communications with a system using date expansion) may cause data corruption or application failure. Inadequate testing of Y2k fixes may result in poor operation of supposedly compliant software. People are generally unaware of the extent to which "first-world" technology relies on computers. To date, an estimated 25 billion or so processors have been sold. This is 3-4 processors for every person alive on Earth. Each processor may contain many thousands of lines of code. Sometimes one particular type of processor shares the same code with thousands of other processors; in other situations, processors of the same general type have individual differences in their programming. Many of these processors use no date functions at all, but may interact with others that do. The number of interactions between processors is beyond quantifying. All of this has the potential to lead to chain-reactions of failures that are stranger than any fiction. Assessment of the number of processors still in use, the purpose for which the processors are used, and their varying degrees of date exposure must be addressed in order to determine how many of the billions of processors require repair or replacement. There is a very common tendency for us to say, "I don't know what might happen, therefore [nothing much / a catastrophe] will happen." In truth, the future cannot be predicted even in broad terms. Speculation about the social consequences of possible widespread computer failures is beyond the scope of the comp.software.year-2000 newsgroup and this FAQ. WHAT ABOUT MY PC? Date Rollover On many PCs, the clock will go from 1999-12-31 to 1980-01-04. On some PCs, it may look like the clock rolled over correctly, but after you turn it off and back on, the date will be wrong. Most computers will remember the correct date after being manually set, although some older PCs can't be forced into 2000 no matter what you do. DON'T set your PC system date ahead without first taking safety precautions to protect your PC, software, and data. A number of companies have developed hardware devices or software tools to fix some of the Y2k problems to which PC hardware, firmware, and operating systems are vulnerable. Please see a thorough discussion of these devices, and excellent links to more information, at: http://www.ecis.com/~alizard/y2k.html Leap Year 2000 is a Leap Year and there will be a February 29th, so there will also be 366 days in 2000. Some software doesn't recognize these days, and could cause a variety of problems; incorrect date rollover on 2000-02-29, 2000-03-01, 2000-12-31, and 2001-01-01; and day-of-week errors after February of 2000. Inaccurate Time-keeping A significant number of PCs (and other devices using similar time-keeping technology) have been found to be susceptible to unusual date and time errors when tested with post-1999 dates over an extended period of time. Faster processors are less likely to exhibit such errors than slower processors, and many of the affected computers function correctly most of the time, making the problem (known as the Time-Dilation/Crouch-Echlin Effect) difficult to diagnose. Increased awareness of this issue should result in more information becoming available for study, and lead to a better understanding of the problem. Suspected TD occurrences can be reported to Mike Echlin, Jace Crouch, Dave Eastabrook, or Pam Hystad (please include as much supporting detail as possible). Further investigation of the etiology and impact of post-2000 date and time instabilities on affected devices is continuing. In addition to the original researchers, Dell Computer Corp. is examining this issue: http://www.dell.com/year2000/tech/notes.htm For a detailed description of the observed behavior, more information on possible causes and remedies, and availability of testing and remediation tools, please see Mike Echlin's and Jace Crouch's pages at: http://www.intranet.ca/~mike.echlin/bestif http://www.nethawk.com/~jcrouch/dilation.htm Users in Europe, Middle East and Africa should contact Elmbronze Ltd, at: http://www.elmbronze.co.uk or http://www.elmbronze.com Peripheral Devices There are no known Year 2000 problems with printers, modems, scanners, or other devices commonly connected to PCs. In some cases driver software may have to be updated. Vendors generally provide information for specific models. HOW CAN I TEST MY PC? Setting the system date ahead for testing may have adverse consequences; at worst, the PC may crash and become unbootable. Licensed software and passwords may expire; forward-dated records may be generated or "too-old" records deleted. Processing centers should test on isolated systems. However, it is usually safe to test a stand-alone PC by first making and testing a backup of the hard drive, then booting to DOS from a clean system (bootable) floppy disk, and running no applications. Two good step-by-step guides to safe testing procedures are: http://www.cinderella.co.za/pccomply.txt (the safest and most comprehensive guide) http://www.sba.gov/y2k/indexcheck.html (a good step-by-step test procedure for PCs) There are a number of software test tools to automate the process, and some that promise to fix incorrect dates automatically. Please see the list of URLs below. HOW CAN I MAKE MY PC AND SOFTWARE COMPLIANT? Start getting accustomed to using the "YYYY-MM-DD" date format now. For a helpful discussion of the ISO-8601 date format recommendations, see: http://www.aegis1.demon.co.uk/y2k/y2k.htm In Windows, set the default date format to year/month/day order, with 4-digit year and leading zeros in month and day. Many current Windows software applications will adopt whatever date format is used as the Windows default setting; however, all applications should still be checked, and the date default set if necessary. In addition to familiarizing yourself with this date format, applications that truncate date fields or use date values incorrectly will be easier to identify. See Chris Anderson's site for excellent instructions, notably: http://www.cinderella.co.za/cindmeth.htm Most commercial off-the-shelf (COTS) products use the date and time information stored by the operating system; however, there are applications which query the hardware clock directly for date and time information. In these cases, testing and fixing the computer's BIOS and operating system are insufficient to ensure Y2k compliance; the hardware clock itself must be compliant. Information regarding specific examples of such direct-access software would be appreciated. Bruker Instruments Inc. states that some of its software reads the hardware clock directly: http://www.bruker.com/y2000/docucntr/docu0001/index.htm "All Bruker supplied applications software obtains date information from the underlying operating system software layer or, in some instances, from the hardware system clock." Ask vendors about Y2k compliance before buying new software or upgrades. Many of the sites listed below provide compliance information, known problems, or safe testing procedures for some common software packages. Be aware that vendor-provided information may not be complete or accurate, and may change as further problems are discovered. ARE THERE OTHER PROBLEM DATES? Yes. The Global Positioning System (GPS) week number will roll over from week 1023 to week 0 in August 1999. The clock on some Macintosh computers cannot be set after 2019. UNIX has an overflow problem in 2038. For lists of critical dates, see: http://www.merlyn.demon.co.uk/critdate.htm and http://y2k.board.org/ (great fireworks, Scott!) Dates which have been used as special indicators may cause unforseen problems. Randall Bart and Lane Core have written articles about the "All-Nines" problem, at: http://users.aol.com/PanicYr00/9-9-99.html http://www.y2ktimebomb.com/Computech/Issues/lcore9846.htm http://www.y2ktimebomb.com/Computech/Issues/lcore9850.htm Business applications often use "fiscal" years rather than calendar years for accounting purposes. If an organization's fiscal year includes both 1999 and 2000 dates, calculation, comparison, and ordering problems may occur months before the calendar reaches 1999-12-31. Please see The Jo Anne Effect for a brief explanation of this problem. WHAT CAN I DO? Personal Preparation Personal preparation can be as simple as stocking up on candles, food staples, potable water, and batteries; or as all-encompassing as moving to a rural location and becoming as self-sufficient as possible. There are as many opinions on how to ensure personal safety as there are online resources for every level of preparation. Several of the sites listed below are good starting places for individual planning efforts. Obtaining paper copies of important records; writing to service and utility providers requesting information on their compliance and contingency plans; making sure to have some cash on hand and a full fuel tank in the car -- these are some cheap, easy, very basic precautions everyone should take. Raising Awareness Write letters of enquiry to government representatives and agencies, service and utility providers, all the businesses and organizations you rely on to maintain your lifestyle. Don't forget to ask questions of your employer! Several of the URLs listed below include sample letter templates that you can use. Talk to your family and friends; they might think you're crazy, or they might invite you to visit their rural farm over Christmas and New Year's of 1999-2000! WHERE CAN I FIND MORE INFORMATION? Further reading is essential. Many articles of all sorts are available. The following is just a small sample of many helpful sites. (URLs verified on 1999-03-26) Rick Cowles http://www.euy2k.com/index.htm CBN's Interview with Rick Cowles http://www.cbn.org/y2k/cowles.asp Chris Anderson http://www.cinderella.co.za/cinder.html http://www.cinderella.co.za/minifaq.txt Tony Toews http://www.granite.ab.ca/year2000/index.html Dave Eastabrook http://www.elmbronze.demon.co.uk/year2000/index.htm Mike Echlin http://www.intranet.ca/~mike.echlin/bestif/index.htm Jace Crouch http://www.nethawk.com/~jcrouch/dilation.htm Arnold Trembley http://home.att.net/~arnold.trembley/ Cory Hamasaki http://www.kiyoinc.com/HHResCo.html Year 2000 Planning and Management for Small Business http://www.y2khelp.com Phil Barnett, xbase and Y2k http://www.iag.net/~philb/clipy2k.htm Roleigh Martin http://ourworld.compuserve.com/homepages/roleigh_martin/ WDCY2K Group http://www.wdcy2k.org/ Randall Bart http://members.aol.com/PanicYr00/Home.html Scott Olmsted http://www.prepare4y2k.com/ John Stockton (Date and Time Information) http://www.merlyn.demon.co.uk/ Declan McCullagh http://www.y2kculture.com/mccullagh/ Y2k e-zine http://www.y2kculture.com/ Cassandra Project http://millennia-bcs.com/CASFRAME.HTM Jim Abel's personal preparations site http://www.glitchproof.com/glitchproof/ A. Lizard's Y2k web site http://www.ecis.com/~alizard/y2k.html Sanger's Review of Y2K News Reports http://www.sangersreview.com/ Art Scott's Year 2000 Page http://148.100.56.28/arts/Year2000/year2000.htm Alan's Y2K Pages http://www.provide.net/~aelewis/y2ko/y2ko_000.htm Y2K and Preparedness Information http://viscom.byu.edu/y2k/ Steve Baxter http://www.albertaweb.com/year2000/index.html The MiningCo Microsoft Software Pages http://microsoftsoft.miningco.com/ FMS Inc Technical Papers, "Microsoft Desktop Application Programs" http://www.fmsinc.com/tpapers/year2000/ Natasha's Y2KLinks Site, and Web-Ring for Y2k sites http://www.y2klinks.com/ http://www.y2klinks.com/ring.htm Computer Professionals for Social Responsibility http://www.cpsr.org/program/y2k/ AIAG (Automotive Industry Action Group; embedded systems) http://www.aiag.org/testproc.html Institute of Electrical Engineers http://www.iee.org.uk/2000risk/Welcome.html Electric Power Research Institute http://www.epriweb.com/year2000/ Western Systems Coordinating Council (Electricity) http://www.wscc.com/y2k.htm Ed Yourdon http://www.yourdon.com/index.htm Ed Yardeni (Deutsche Morgan Grenfell) http://www.yardeni.com/cyber.html Organization for Economic Cooperation and Development (OECD) http://www.oecd.org/dsti/sti/it/infosoc/news/y2k.htm International Federation of Accountants (IFAC) http://www.ifac.org/LastestDevelopments/Year2000/index.html Year 2000 Information Network http://www.mbs-program.com/ Mitre Corp. http://www.mitre.org/technology/y2k/ Peter de Jager http://www.year2000.com/ Gary Eubanks http://www.2k-times.com/y2k.htm The Disaster Center http://www.disastercenter.com/year2000.htm Gary North http://www.remnant.org/y2k/index.cfm (Consulting firm, helpful info on their pages) http://www.y2kexperts.com/ Wilson White Group, New Zealand http://www.year2000.co.nz/y2k.htm Computer Information Centre http://www.compinfo.co.uk/y2k.htm International Banking http://www.swift.com/ Strategis (Canadian solutions vendor) http://strategis.ic.gc.ca/SSG/yk04743e.html Microsoft (Beware -- frequently crashes NetScape!) http://www.microsoft.com/year2000/ Memorial University of Newfoundland, St. John's, NF, Canada http://www.mun.ca/year2000 Kansas State University http://www.ksu.edu/year2000/ Royal Bank Financial Group (Canada) http://www.royalbank.com/year2000/ Bancomm-Timing Division of Datum Inc -- Y2k and GPS rollover http://www.bancomm.com/crollover.htm John Mansfield http://www.techstocks.com/~wsapi/investor/Subject-20812 American Petroleum Institute http://www.api.org/ecit/y2k/ Corporation 2000 http://www.corp2000.co.uk/ Cambridge Publishers Ltd http://www.campublishers.com/y2000.htm IEEE Draft Y2k Compliance Standard (apparently under revision?) http://grouper.ieee.org/groups/2000/ Michael Goodfellow -- Y2k for non-programmers http://www.best.com/~mgoodfel/y2k.htm ZDNet "Consumer FAQ" http://www.zdnet.com/zdy2k/1998/11/5110.html Pedagoguery Software, Mac Links http://www.peda.com/y2ksa/links.html Dell Computer Corp. Y2k page http://www.dell.com/year2000/ AMI BIOS (good FAQ & free BIOS diag tool) http://www.ami.com/y2k/ EDS (sells vendor-compliance db) http://www.eds.com/general/cio_services/offerings/cio_services_offerings_vendor2000.shtml Motorola Semiconductors http://www.mot-sps.com/y2k/index.html PC Profile (Australian vendor, good info) http://www.pcprofile.com/ EDN Magazine (engineering & design issues) http://www.ednmag.com/default.cfm RUY2KOK (US vendor, good info) http://www.ruy2kok.com/ y2k today (articles, news) http://www.y2ktoday.com/modules/home/default.asp Home Power Magazine http://www.homepower.com/ Y2K Lawyers Association http://www.y2klaw.org/ GOV stuff -- some with large databases of vendor compliance statements. Note: some of these sites have areas accessible only to .gov domain users. http://www.open.gov.uk/bug2000/index2.html http://www.y2k.gov.au/biomed/html/description.html http://www.wa.gov.au/y2k/home.html http://www.info2000.gc.ca/Welcome/Welcome.asp http://y2000.fgov.be/ http://www.osc.gov.on.ca/en/Y2K/Reg2000/registrants2000.html http://www.sec.gov/news/home2000.htm http://www.amrinc.net/nasire/y2k/index.cfm http://y2k.lmi.org/gsa/y2kproducts/noncompliant.cfm http://www.opm.gov/y2k/html/y2kbroc2.htm http://www.sba.gov/y2k/ http://www.nist.gov/y2k/index.htm http://www.nrc.gov/NRC/NEWS/year2000.html http://www.doncio.navy.mil/y2k/y2k_tech.htm http://y2k.fts.gsa.gov/ http://www.doi.gov/oirm/y2k/ http://www.itpolicy.gsa.gov/mks/yr2000/y201toc1.htm http://www.sec.gov/news/studies/yr2000.htm http://y2k.policyworks.gov/ http://www.navcen.uscg.mil/gps/geninfo/y2k/ http://www.boulder.nist.gov/timefreq/y2kupdate.html http://www.hhs.gov/ignet/internal/pcie/y2k.html http://www.fda.gov/cdrh/yr2000/year2000.html http://www.pccip.gov/ http://www.state.mn.us/ebranch/admin/ipo/2000/2000.html http://www.dpsv.state.mn.us/docs/y2k/y2kmain.htm http://www.wa.gov./dis/2000/y2000.htm http://www.state.id.us/itrmc/2k/default.htm http://www.y2k.org.za/ http://www.cns.state.va.us/y2000/index.htm http://www.oit.state.mo.us/efforts/y2k/ http://www.y2k.gov/ *The abbreviation "Y2k" is preferred over "Y2K". In computing, the upper-case K is used to designate a "kilobyte" of 1024 bytes, so 2K is 2048 bytes. The lower-case k has been in general use for many years to indicate the Greek prefix "kilo", meaning "thousand", so 2k is 2000. |