It's Time to Tame Time

by John Iobst

A 105-year-old woman recently received a notice from her local school district that she should enroll in kindergarten. Why? The district's computer records indicated that she was born in the year '91, which the computer, relying on a two-digit date format, interpreted as 1991 instead of 1891.

While much hype has been generated about the "year 2000 problem," numerous errors like that of the 105-year-old kindergartner have already been reported.

Problems can occur at either the hardware or the software level. Hardware difficulties relate to internal computer design, while software problems occur at the operating-system level or within applications.

A computer's internal clock stores time in hardware memory. The current time is the sum of the value stored in a register and a reference value. A hardware problem could occur due to the granularity of the time (i.e., hours, minutes and seconds instead of just hours and minutes). The finer the granularity, the larger the register needs to be to hold the time. If the value is incremented to the point where it overflows the register, the time will go to zero or a negative number.

Older computer designs may encounter this problem--including older equipment at newspapers. The solutions take three forms: do nothing, upgrade, or replace.

The "do nothing" solution actually involves updates to the firmware. These changes allow existing hardware to operate differently and avoid the problem. The "upgrade" solution ties to software changes. Minor hardware changes may be required to allow software updates to work correctly. The "replace" solution substitutes current hardware with a new system, which either is not susceptible to the problem or pushes it farther into the future.

Any changes to the hardware will require validation that the system and application software are working correctly.

Most computer systems installed at newspapers involve highly customized software, and in many cases custom hardware. Many newspapers have legacy systems where the vendor no longer exists. Thus, newspapers may have few choices for upgrading custom hardware. In some cases, cottage industries have emerged among former vendor employees. Using them is a short-term solution at best, and newspapers should give serious consideration to replacing the problem system.

On the software side, some operating systems employ time stamps for such uses as file-creation time and date, which could produce errors.

Time-setting and reporting software is also a potential source of errors. If the software to set the time only allows a two-digit year value, the internal system time may be set incorrectly. However, if the system only uses the last two digits of the internal date when it reports the time to the user, the internal time may be correct even though it is reported incorrectly to the screen. This would occur, for example, if a software shortcut displays "19" plus the last two digits of the year rather than completing the entire calculation.

Application software is full of potential date problems. Shrink-wrapped packages are less likely to have a problem than semi-custom software, while the most likely source of problems is a transaction database intended to hold a large number of time-stamped records. Custom software developed for a specific application is also likely to have problems, which can be buried deep within the source code.

Software solutions require a combination of new software and data modification. There are tradeoffs, and different newspapers may choose different options.

If a date problem has been identified with the system software, it is likely that the vendor has either created the solution or is working on one. If new system software is installed, it should be tested thoroughly. If, however, a newspaper has modified its operating system beyond the point of upgrade from the vendor, it will need to make the appropriate changes itself.

Shrink-wrapped software updates mirror changes to the operating system--the vendor should provide a packaged solution along with a migration path from the old to the new software. These should cover both the data and programs written with an internal application language.

Semi-custom and custom software will involve some combination of data and software conversion. The first step in converting a database is to change the size of the appropriate fields within the record specification. This can be done on a copy of the live database, or a new database may be created. An application that will correct all of the appropriate data fields for all records should then be run.

Most, if not all, of the data-gathering and reporting programs will need to be updated to support the new data definition. This will be necessary even if the appearance of the reports themselves is not altered.

John Iobst is NAA's director of advanced computer science. E-mail, iobsj@naa.org; phone, (703) 648-1224; fax, (703) 648-1333.


TechNews Volume 2, Number 6: November/December 1996
Return to November/December Home Page
Return to TechNews Topic Index

©1997 Newspaper Association of America. All rights reserved.