Y2K rehearsal as 9999 sparks new bug's life

Wednesday, September 8, 1999

ERIC LAI

Enter your name:

Worried that tomorrow, September 9, will be a mini-apocalyptic precursor to the main Y2K event on January 1, 2000? Do not be. Local Y2K experts predict that despite extensive mobilisation by the Government, financial bodies such as the Hong Kong Monetary Authority and utilities like CLP Power and Towngas to prepare for the 9999 computer , it will prove to be a non-event.

"There won't be any issues, and if there happens to be some, it'll be minor," Roy Ko, Y2K consultant at the Hong Kong Productivity Council, said.

Indeed, April 9, the 99th day of this year and also a day when computers were considered vulnerable to the 9999 glitch - a close relative to the millennium bug - occurred with no reports of major worldwide or in the SAR.

Nevertheless, experts warn even if tomorrow passes without incident, that has very little bearing on how big the problems will be on December 31.

Tomorrow, they say, will be a useful dress rehearsal to measure how the Government and other key public and private agencies will handle the arrival of the millennium.

Activity in the local money and foreign exchange markets dropped yesterday as banks tried to reduce demand for settlement capacity tomorrow - the day all "value-spot" forex transaction orders executed yesterday will be settled.

"This will be a good test of how people react, what plans they have in place, and how they handle crises," said Danny Cheng, executive director at Timeless Software, which has performed most of the major Y2K fix-it work in town.

As is widely known, the millennium bug arises because programs written for some older computers and computer-controlled devices encode the year using just two digits , that is, 99 instead of 1999.

That means the year 2000 would be represented as 00, which the computer would be unable to differentiate from the year 1900. And that could lead to financial , malfunctioning machinery, dead computers, and the list goes on.

The 9999 glitch could cause similar confusion when the clock strikes 12.01am tomorrow. That is because 25 years ago, mainframe mainframe computers typically stored data on oversized reels of magnetic tape or stacks of punch cards .

To retrieve that data meant and rewinding that reel of magnetic tape until you located the data you wanted, a slow, mechanical process worlds apart from today's speedy hard disk and CD-ROM drives.

It is similar to the difference between finding a song by fast-forwarding on an audio tape, or instantly getting it with a touch of a button on a CD player.

This method of storing data was called sequential file processing . Because files were processed in sequence, a command was needed by programmers , mostly written in the now-obsolete Cobol language, to indicate what was the last file.

It was in these primitive precursors to today's modern database programs that the numerical sequence 9999 became a shorthand that programmers used to indicate "end of file" or "stop processing".

Modern databases such as Oracle, Access, and even those from the early 1980s such as FoxPro and dBase, do not suffer from this problem because they store data in individual cells, rather than in sequences.

And that is the most important reason the 9999 glitch, while widely hyped , is likely to blow over .

Hong Kong corporations are considered to be on the of technology worldwide. Even if they are using those old IBM mainframe computers from two decades ago, it is extremely unlikely these firms are using the same antiquated Cobol-based applications. By contrast, the Y2K bug can appear in PCs and their software as new as two years old.

Furthermore, the use of 9999 was not universal among programmers by any stretch .

"The use of 9999 as a special was a convention , but it wasn't that popular," said Mr Cheng, who remembers using numbers such as his birthday to indicate "end of file" when he was a Cobol programmer. Other experts note that numerical sequences such as 6666 or 8888 were used just as often as 9999 - comforting, since dates such as August 8, 1988 already have passed.

Still others point out many programs written in Cobol actually encode the date using DDMMYY, or 090999 to represent September 9.

And while some still fear 9999 could lead to computer applications shutting down, few believe it could actually corrupt data or affect key calculations, as is widely feared with the millennium bug.

This corruption of data is more subtle than electrical , but just as costly and hard to fix in the long-run .

Finally, most Y2K fears today have shifted away from mainframe computers towards the billions of tiny embedded chips used to control industrial machinery or small devices, many of which predate mainframe computers.

Because they are so small and widely dispersed , it has been more difficult to test and replace embedded chips. And because embedded chips in many cases directly control key machinery, experts worry that their failure on January 1 could lead to plane crashes , power , factory breakdowns , and more.

Experts note embedded chips by and large do not process and retrieve data files, but simply react to external stimuli and control processes. Hence, they never were programmed with the command 9999.

"We've tested our embedded chips for the [9999 problem] and we don't expect any problems," Sunny Lee, chief information officer at Towngas, said.

Towngas will have 1,000 employees either working or on-call tonight ready to handle any 9999-related crises. It plans to treat tonight as a rehearsal for the millennium .

But, Mr Lee said that 9999, and January 1, 2000, was largely a moot point for Towngas.

At the beginning of the year, the clock on the main computer system controlling its gas production plant in Tai Po was rolled ahead an extra year. Effectively, the computer has been "tricked" into thinking the millennium has passed. And, according to Mr Lee, no computer glitches appeared as a result.

Copyright © 1999 South China Morning Post Publishers Ltd. Reproduced with permission.

[ SCMP ESL Corner | VLC Front Page | SCMP]