computerwriter.com pc_type.gif (30736 bytes)


Advanced

Y2K - Will the Millenium Bug Byte You?

Toronto Star Fast Forward Section front for Aug 27/98

Back to Computer Wares index

Back to White Pages main article index

© Copyright, Myles White, 1998

At 12:00 a.m. on January 1, 2000, do you know what your computer will be doing? Depending on who made it and when, you may not like the answer.

You may have heard of the Year 2000 problem, also known as the "Y2K" problem or the "Millennium Bug," and how it may affect corporations, governments and institutions, but Y2K is going to hit close to home, too.

However, before we go any farther up this road, a note to those who would be picky about the use of the term, "Millennium Bug." I did not coin this phrase; I'm merely reporting it. While some people believe the next millennium doesn't begin until 2001, there are those, including at least one internationally renowned scientist who reported his findings at a recent American Association for the Advancement of Science meeting, that it in fact begins in 2000. Even if he's wrong, the old millennium ends in 2000, so the use of the term is apt. Now, go away and be anally retentive somewhere else, okay?

What is this mess?

Here's the problem in a nutshell. Historically, computer programmers have favoured using only two numbers to represent the year anywhere there was date information. Back when computers were new, both physical storage space and memory resources were scarce and expensive. The two bytes of data representing the century (19), may not seem like a huge saving, but when repeated over millions of lines of programming code or hundreds of thousands of individual records, it soon added up. Early database fields and entry forms were also built with a view to saving the data entry clerks' time. Again, entering two numbers for the year instead of four may not seem like a lot of time saved, but when the action was repeated thousands of times, that small saving added up.

The result is that when a computer sees something such as 1/1/00, it may see it as January 1. 2000 or January 1, 1900.

It all seems today to be an incredible lack of foresight, but at the time (if they thought of the problem at all), corporate information technology managers, database engineers and hardware developers really believed that anything written in the 60's or 70's would be obsolete and replaced long before it became a problem. Unfortunately, there was a lot of fundamental code written then that is still around at the core of many applications now.

So why can't someone come up with a "silver bullet" that goes through all the code and all the records to fix the error? Computer programming has always been more of an art than an exact science. No matter where a programmer wanted to go, s/he could get there in a virtually unlimited number of ways and no two programmers thought the same way. So there's little in the way of common syntax for which to search. Date fields could have an unlimited number of names. And it isn't just the instructions to take the data in that are affected. Early software required coding to print the results to paper or to screen in a readable manner, often by counting the number of spaces. Start changing date fields to four-digit years willy nilly and the dollar amount on your check may not print properly. It affects not only cheques, but invoices, too, as well as the calculations for accounts payable and receivable.

If you've been reading other press reports of the Year 2000 problem, you've already heard of some of the more obvious examples of how it might affect what we do from day to day. For example, any company/agency/institution that has information on computer that relies on date-based math will be in trouble if the problem hasn't been addressed <italic>and solved<italic> before January 1, 2000 (a deadline that cannot be moved). This obviously includes banks, life insurance companies, finance companies, stock brokers and exchanges, federal, provincial and local tax-collection offices, agencies such as the Canada Pension plan, Unemployment Insurance, Workers Compensation, various levels of welfare (and we could go on at some length).

What is less obvious is that much, much more may also be affected. A by no means complete list includes:

* Air Traffic Control System
* Air Pollution Control Systems
* Airline Navigation Computers
* Automatic Voice Response (AVR) System
* Automatic Teller Machines
* Automotive Manufacturing Robots
* Cash Registers/POS (point-of-sale) Systems
* Cellular Phones
* Certain types of wrist watches
* Commercial Transportation & Construction Equipment
* Commercial and Government Alarm Systems
* Control Systems for Deep Sea Oil Rigs
* Control Panels for Oil and/or Gas Pipelines
* Digital and film cameras with date stamps
* Elevators (particularly if they have computer-controlled monitoring of safety inspections that depend on a date or an elapsed time between inspections)
* Environmental Systems
* Facility Management Systems
* Fax Machines
* Food production systems (the system thinks something has been in storage since 1900, declares it stale, and orders it thrown out).
* Global Positioning System (GPS) for navigation
* Medical Monitoring Equipment (at one second after midnight on December 31, the system declares a patient stopped breathing 100 years ago and starts screaming).
* Military Equipment (example Nuclear and Conventional Warhead targeting and firing computers)
* Network Routers, Bridges, and Firewalls
* On board automobile computers (you're long past an oil change)
* PBX Phone Switching Systems -- or any other office equipment with built-in (embedded) controllers that perform any date-based arithmetic
* Plant Process Equipment containing embedded controllers
* Power Companies, Gas, Electricity, Sewer, and Water (not just billing, but automated safety systems, too)
* Railroad Distribution Networks
* Safety Shutdown Systems (for things such as nuclear power plants)
* Security Systems
* Shareware Software (expiration date)
* Some types of Microwave Ovens
* The Global Phone Network
* Time Lock Safes
* Traffic Light Systems
* Trucking Distribution Systems for Food, etc.
* VCRs (you want to record it <italic>when<italic>???)
* Video cameras with date stamps
* Vendor Credit Cards
* Weather Monitoring Systems

...and you can add your own items to the list.

For example, Ontario Hydro calls the Year 2000 problem a "major threat," and although Hydro says it started working on the problem in mid-1996, "to ensure that our computer systems would not be adversely affected by the transition past the year 2000," it also says it is planning "to minimize the risk of failure throughout the supply chain including delivery of our product to the end customer."

The Atomic Energy Control Board of Canada, the regulatory agency that oversees Canada's nuclear industry, has no Year 2000 policy statement at its Web site (hmmm) and by my deadline hadn't responded to my requests for information.

According to the US-based business and high-tech analysts, the Gartner Group, 64 per cent of organizations run mission-critical applications from desktop computers, but it says, "While it's probably possible to bring hardware, operating systems and shrink-wrapped software into compliance, it simply isn't possible with user-developed applications because of the sheer number."

In other words, if you're a large corporation that hasn't started to address the Year 2000 problem for your in-house applications, it's already too late. According to another group of industry analysts, GIGA Research, "Sixty per cent of the Fortune 500 companies know of the problem, but haven't begun to solve it."

Quoting their own research, Seattle-based WRQ Inc., developers of a corporate Y2K compliance checking tool, Express 2000, adds, "Thirty per cent of companies will fail to achieve full Y2K compliance and will suffer severe financial difficulties with one to three per cent declaring bankruptcy..."

We haven't even begun discussing the legal repercussions. Back to the Gartner Group again: the agency estimates that lawsuits resulting from the millennium bug may exceed $1 trillion. Suits could be based on safety failures, failures to perform services or deliver goods, failures to pay outstanding accounts and the list goes on.

By the way, even if your company has its 2000 ducks in a row, how carefully have you checked with your suppliers and clients?

So at the turn of the century, we're going to be living in interesting times and any of your friends who work in information management will, if they're not already, be walking zombies in the weeks and months surrounding the event.

But that's the business world. How is your home computer going to meet the millennium?

Ready?

The first item we'll need to address is the term "compliant." We don't want to confuse it with the terms "ready" or "compatible" because they don't mean the same thing! For example, IBM says that if you turn your computer off before the rollover from 1999 to 2000, then turn it back on after the ball drops and manually set the date to January 1, 2000 -- and it takes -- that means it's "Year 2000 Ready." To be Year 2000 Compliant, however, the system's BIOS (Basic In/Out System) and real-time clock must roll over to the year 2000 automatically (instead of reverting to 1900 or 1950 or 1980 or some other unlikely date or stopping altogether).

There's one other item you need to be Year 2000 compliant. Quick. Is 2000 a leap year, or not? The rule is that a year divisible by four is a leap year, unless it's also divisible by 100 -- then it's not -- except if it's also divisible by 400, in which case it is.

Yes, the year 2000 is a leap year. Does your computer hardware and software know this? Many programmers forgot the last part of the rule.

Okay, let's back up a bit. There are three issues you need to confront in your home computer to find out if you're ready for the year 2000. The first is to check to see if your system's BIOS is year 2000 compliant or at least year 2000 ready. The second is to check your software applications to find out if they are compliant. Last, but not least, if you've been doing any of your own programming with applications such as dBASE, Paradox, FoxPro, or Clipper; if you've been writing any complex automation macros in Word, Excel, Lotus 1-2-3, Quattro Pro, Word Perfect, Word Pro and so on, or if you're one of that rare breed who does their own programming in BASIC, PASCAL, C or C++ -- then you'd best start rewriting them, and quickly.

To understand why your BIOS and real time clock need to be at least Year 2000 ready, it helps to understand how computers keep track of time. All PCs since the introduction of the "AT-286" contain a digital clock in the hardware. The clock battery maintains the date even when the machine is powered "off". Operating systems (such as Microsoft Windows 95/98 and NT) rely on the PC hardware clock to set their own date and time services each time the system is started up.

The hardware clock automatically updates the last two digits (1998) of the date with each passing year. Consistent with PC industry standards, however, the task of updating the first two digits (1998), called the century digits, is left to the system BIOS (Basic Input/Output System).

If your computer was manufactured before 1996, it is only in rare cases that the BIOS would include the ability to update the century digits of the hardware clock for the millennium change. Therefore, the hardware clock's century digits may be incorrect after the Year 2000 occurs (e.g., 1900 or some other date instead of 2000). When these PC models are later restarted, the operating system may set its own date incorrectly. As a result, software programs (dates on letters, entries in databases or spreadsheets or your home finance/chequebook program) may make mistakes when performing date-dependent tasks.

Some current operating systems, such as Windows 98, may try to directly update the hardware clock's century digits for the millennium change or you may try to do it manually. However, if the change won't "take" you may have to reset it each time you start your system (not fun)

How to check

To check your hardware, you could purchase utility programs from Network Associates (McAfee 2000 Toolbox, available now) or Symantec (Norton 2000, available later in September). Or, you can download YMARK2000, a free Year 2000 testing program from the National Software Testing Laboratories - or if the site is down, as it has been from time to time lately, you can also get it by clicking here. Last, but not least, you could try the following manual methods suggested by the University of Connecticut Computer Centre (Rob you may want to pull this as a sidebar):

Before you start the manual checking procedure:

1. Verify that programs and files on your hard drive are not infected with a virus.

2. Back up all critical programs and files from your hard drive. If you are using diskettes, use new ones, to insure that you do not spread any viruses. You may not encounter any difficulties following the procedures below, but the Computer Gods are always watching those who do not keep current backups.

3. Disconnect the computer from any network or other system that might reset the date as it boots or connects. It is also important to close down all applications before changing the system date. Failure to close down certain applications could result in lost schedules, documents, or data. If you are in a Windows environment, do not use the "RUN" command from File Manager or the Win9x Start Menu.

4. Suspend or terminate any schedulers or other time-dependent programs for the duration of your testing. This is important since any scheduling programs running during the test may trigger unwanted events (e.g., periodic backups, etc.).

5. Make sure that no time-limited programs (e.g., shareware or other programs that have an 'end-of-license' time bomb in them) are running for the duration of your testing.

6. Do your testing from DOS. Some software with date checking (e.g. Windows 98 betas, downloaded demo programs) may reset and not allow access after setting dates into the future. Create a boot disk (using a new diskette), and boot your PC from this disk. (Do not test or reset your computer from the BIOS set-up screen.)

The tests

1. Test if the system clock can be set beyond the year 2000

a. Use the DOS Date and Time commands from C:\ prompt to set the system clock to 01 January 2000 (in whatever form your system will accept), and 00:01:00. (Note - some computers will not accept any date greater than (19)99 or less than (19)80. If this is the case with your computer, you have a problem.) If the prompt indicates mm-dd-yy, and entering a date of 01-01-00 results in an 'Invalid date' message, try to enter 01-01-2000.
b. Use the DOS Date command to check the date (type "date" at the DOS prompt (without the quotation marks), then hit [enter].
c. If the date is set correctly, power off (*), power on, and then verify the date.
d. If the date does not include the year 2000 (in some cases it will show 04 January 1980), your computer will give you a problem the first time you reboot after 01 January 2000. (If you normally run Windows, you may need to change the Windows short and long date formats or styles to have four 'y's for the year. If so, do this in the Control Panel.)
e. Reset your date and time to the present and quit testing.

2. Test the system clock automatic update function when the power is on

a. Use the DOS Date and Time commands from C:\ prompt to set the system clock to 31 December 1999 (in whatever form your system will accept), and the time to 23:57:00 .
b. Keep power on and wait 5 minutes.
c. See steps (b) through (e) above in test (1).

3. Test the system clock automatic update function when the power is off

a. Use the DOS Date and Time commands from C:\ prompt to set the system clock to 31 December 1999 (in whatever form your system will accept), and the time to 23:58:00. (Note: some BIOSs will not let you do this. Use 23:57:00 instead -- mw).
b. Power off (*) and wait 5 minutes, then power on.
c. See steps (b) through (e) in test (1) above.

4. Test the system clock to see if your computer recognizes year 2000 as a leap year

a. Use the DOS Date and Time commands from C:\ prompt to set the system clock to 28 February 2000 (in whatever form your system will accept), and the time to 23:58:00. (Or 23:57:00)
b. Power off (*) and wait 5 minutes.
c. Power on.
d. Use the DOS Date command to check the date. If the date does not indicate 29 February 2000, then it is not correctly recognizing year 2000 as a leap year.
e. Reset your system clock back to the current date and time.

5. Test the system clock to see if your computer can handle other critical dates, using the steps in (4) above

a. February 29, 2000 to March 1, 2000
b. December 31, 2000 to January 1, 2001
(*) If after "power off" the test fails, see if there is a setup disk/program that needs to be run to permanently change the system clock. If performing these settings from within Windows 95, 98, NT (not recommended), or any other operating system that requires a shutdown procedure before powering off, follow the normal shutdown procedure.

If no date you set will hold after you power the system off, your clock/CMOS battery may be toast (they do die, eventually). Consult a vendor.

Mac Owners

According to Apple Computer, Inc., the Mac OS and Apple Macintosh computers do not have a problem with the year 2000. Beginning with the first Macintosh 128K computer released in 1984, the Macintosh operating system correctly handled dates between 01 January 1904 and 06 February 2040. However, in order to be consistent with earlier models, the Date & Time control panel limits dates between 1920 and 2019. According to the company, it is possible to set a date beyond 2019, up to the year 2040, by using the Macintosh Toolbox call SetDateTime().

The MacOS date and time utilities included in computers manufactured since 1988, correctly handle dates up to 2040, the company adds.

Some older models of Apple (pre-1984 Macintosh) may have a problem handling dates beginning with year 2000. Therefore each computer needs to be tested. Before you begin your testing you should determine the system software that is being used. This can be done by choosing "About This Macintosh" from the Apple Menu Screen (Apple icon).

In order to change the date and time to test for Year 2000 compliance, choose "Control Panels" from the Apple Menu Screen. Click on the Apple (top left of the screen), select "Control Panels", then select "Date & Time".

If the current date is displayed as MM/DD/YY go to "Date Format". If you are given the option of changing the year format to four digits (ccyy), do so (by clicking on "Show Century"). If not, your system may not be capable of handling a four digit year field or rolling over to year 2000.

To change the date, click on the part of the date you want to change. The up and down arrow will appear. Clicking on it repeatedly or holding it down will change the date segment to the desired test date.

To change the time, click on the part of the time you want to change, e.g. hrs, min, sec, AM/PM. An up and down arrow to the right of the time block will appear and can be used to change the time. When testing from 1999 to 2000, be sure to change the time to PM.

When you have changed the time and date, click on the miniature calendar (icon) in the date field block will lock the set date into place and allow you to move on with your testing or leave the control panel.

1. Test the system clock automatic update function when the power is on

a. Set the date to 12/31/1999 and the time to 11:58:00 P.M.
b. Keep power on and wait 5 minutes.
c. Check the date.
d. If the date does not correctly include the year 2000, your computer will give you a problem at 00:00:01 A.M. on 01 January 2000 even if you choose to keep your computer on.
e. If the date correctly includes the year 2000, shut down the computer, turn on the computer, and verify the date.
f. If the date does not correctly include the year 2000 your computer will give you a problem the first time you reboot after 01 January 2000.
g. Reset your system date and time back to the current date and time.

2. Test the system clock automatic update function when the power is off

a. Set the date to 12/31/1999 and the time to 11:58:00 P.M.
b. Shut down the computer and wait 5 minutes.
c. Turn on the computer.
d. See steps (f) and (g) in test (1) above.

3. Test the system clock to see if your computer recognizes year 2000 as a leap year

a. Set the date to 02/28/2000 and the time to 11:58:00 P.M.
b. Shut down the computer and wait 5 minutes.
c. Turn on the computer.
d. Check the date. If the date does not indicate 29 February 2000, then it is not correctly recognizing year 2000 as a leap year.
e. Reset your system date and time back to the current date and time.

4. Test the system clock to see if your computer can handle other critical dates by following test (3) above.

a. February 29, 2000 to March 1, 2000
b. December 31, 2000 to January 1, 2001

5. Test the system clock to see if your computer recognizes dates beyond year 2019

a. Set the date to 12/31/2019 and the time to 11:58:00 P.M.
b. Shut down the computer and wait 5 minutes.
c. Turn on the computer.
d. Check the date. If the date does not indicate 01 January 2020, then it cannot correctly recognize dates beyond 2019.
e. Reset your system date and time back to the current date and time. Note: - reset the date in the following manner and see what happens! First change the month back to the current month, and the day back to the current day. Now look at the year. Does it still show 2020, or does it now show 1920! If it shows 1920, then the computer will give a problem the first time you try to change the date after 2020.

Now what?

If your computer passed all of the tests, Congratulations! Your computer can properly handle the new millennium and you can begin to worry about your software and databases (see below).

If your computer did not roll over to the new year, but allowed you to reset the date/time and then maintained that date/time, then manual setup will be required. You might want to put a reminder on your calendar. You will also want to check your software and databases to be sure that they can handle dates beyond 2000.

If your computer failed one or more of the tests and resetting the date did not solve the problem then you will need to get in touch with the vendor to get assistance. Before contacting the vendor, be sure to obtain all pertinent information: Model number and system software version. In some cases the system has a Flash (reporgrammable) BIOS that can be upgraded with a software utility. However; in some cases the system has a hardcoded ROM (Read Only Memory) BIOS that must be replaced, and in some cases the system is so old it will not accept a ROM BIOS upgrade.

Several companies are offering workaround software you invoke from lines added to your CONFIG.SYS startup file. That may work for you, but once it's in place, don't you dare allow anyone else to modify the file and delete the lines by mistake, believing they're no longer needed.

Of the nationally advertised name brands I checked, Compaq (www.compaq.ca), Dell (www.dell.com) and Hewlett Packard (www.canada.hp.com) all have comprehensive Year 2000 policies stated clearly at their Web sites, together with compliance databases listing their desktop and notebook (and in some cases, handheld and palm PC) products. IBM may well have such a list covering its consumer products (Ambra and Aptiva models), but I was unable to find it (www.can.ibm.com).

Note: You can, if your locally assembled PC has a BIOS by Award Software (www.award.com) or American Megatrends International (AMI - www.ami.com) or Phoenix Technologies (www.phoenix.com), check with the companies' respective Web sites to inquire about upgrades. However, they will all point out that the proper place to check is the manufacturer of your computer because all they provide is basic software which the manufacturers can and do modify, often quite a bit, before it gets to you. Although Award and Phoenix will refer you to third-party companies which may be able to provide generic BIOS updates, there is no guarantee it will work for your system. None of the three will sell updates and/or BIOS software directly to end users.

You may also be able to get an upgrade from the system's motherboard manufacturer. You'll find a list of 59 current companies, together with links to their Web sites (when they have one) at Scott Wainer's System Optimization page (www.sysopt.com).

The bottom-line bad news is that you may not be in as much trouble as you suspect. The NSTL program noted above takes less than 30 seconds to download and about five minutes to run to check your PC (remember to run it from the DOS prompt, not from within Windows).

If you have an old XT, 286 or 386, its time may be ticking to an end. However on three systems I check here -- two of them older 486s, one a Pentium classic with a two year-old BIOS -- all three were at least ready for the rollover. I'll have to turn the two 486 systems off overnight on December 31, 1999, then reset them manually, but the change will hold and both got the leap year right. The Pentium is fully compliant.

Yes, but what about my printer, scanner, removable storage drive and other peripherals?

I checked with all the usual suspects and none reported problems. Hewlett Packard, for example, says that none of its printers or scanners or Colorado tape drives does any date arithmetic. However, software drivers for its tape backup systems are another story. Check with www.hp.com

A search of Canon's Web site found no references to the year 2000 problem (the company either doesn't think there is one or hasn't figured out how to discuss it yet), while Xerox (www.xerox.com) has a Year 2000 compliance page you can search by product (no problems came up on four models of printer I checked). If you have an Epson product, check with www.epson.com.

The software problem

When it comes to packaged software applications, both McAfee 2000 and Norton 2000 say they will check your applications against updateable databases that come with the products. Or you could check each company's Web site yourself.

I was only able to find one mainstream company that had no Year 2000 statement anywhere at its site: Broderbund (publishers of a variety of "home productivity" tools such as PrintShop, 3D Home Architect and myriad others). The company hadn't responded to my queries by my deadline (but if anything significant arises, I'll report it in a subsequent Computer Wares column).

Microsoft has an exhaustive list of products that it reports are either compliant, compliant "with minor issues," or not tested. The company reports that only three of its products are non-compliant: Access 2.0, Word for MS-DOS v. 5.0 and Office Professional v. 4.3 (Access 2.0 only). Full details are at www.microsoft.com/year2000. By the way, to see what Windows 95/98 is reporting, open Control Panel, click on Regional Settings, then select the Date tab. Make sure the date setting has 'yyyy' instead of 'yy.

Netscape's Web site has no Year 2000 link, nor does any reference show up in a site search.

Corel reports that all current products (Draw, PhotoPaint, WordPerfect, Paradox, Quattro Pro, etc.) areY2K compliant. However, many of its earlier products (many of which were owned by other companies at the time of their release) are probably not. For example, versions of WordPerfect, Paradox, Quattro and Presentations prior to 7 are not on Corel's "compliant" list. Versions of CorelDraw prior to 7 and Ventura, prior to 8, are also missing from the compliance list. Corel's site also has a list of what dates to expect from is various applications if they're entered in two-digit (yy) or four-digit (yyyy) format at www.corel.com. Note that you may need a patch file or two for some products in the first release of the standard version of the WordPerfect 8 Suite to correctly handle leap years (and to correct several hundred other bugs).

Lotus says all of its current products are Y2K compliant, but does not provide a list of legacy programs (www.lotus.com)

Other companies you may wish to check that have Year 2000 compliance lists include:

Adobe (PageMaker, Acrobat/Acrobat Reader, PageMill, FrameMaker, Illustrator, PhotoShop): www.adobe.com

Intuit (Qucken, Quickbooks) www.intuit.ca

Qualcomm (Eudora, Eudora Lite): www.qualcomm.com

Quarterdeck (many utility programs): www.qdeck.com

Symantec (many utility programs under the Norton banner, ACT! contact database): www.symantec.com

More resources

There are hundreds of Y2K pages on the Internet. Entering "Y2K" or "Year 2000" as keywords into Yahoo (www.yahoo.com), AltaVista (www.altavista.digital.com), Excite (www.excite.com), Hotbot (www.hotbot.com) or Dogpile (a search engine that will search multiple sources at www.dogpile.com) will lead you to most of them. You may also want to check some compendiums at CNET (http://www.cnet.com/Content/Reports/Special/Y2K/) and the Ziff Davis Anchor Desk (http://chkpt.zdnet.com/chkpt/adem2fpf/www.anchordesk.com/story/story_2318.html).

Back to top

Copyright Notice

This document, and all other articles found within the White Pages Web site, are protected by international copyright. All rights are reserved. You may download items for your personal use. You may place a link to the White Pages at your own web site. However, you may not post the articles at your web site, make paper or digital copies for your friends or your class, or quote any part of these documents in any medium whatsoever for any reason unless you ask me first. Okay?

Back to top

Contacting me
Copyright © 1996, 1997, 1998, 1999, 2000, 2001  Myles White. All rights reserved.
Revised: June 22, 2001 .