A Hungarian programmer posted this warning on Peter de Jager's discussion forum on November 17. It has to do with deliberately concealed dates. How does a y2k repairman find them? He does not say.
* * * * * * *
From: Gabor.Bolgar@idom.hu Subject: question: Code scanning and licence expiry Date: 17 Nov 1997 13:27:46 +0100
I'm interested in your opinion about the problem I discovered in the recent days.
Most code scanners are detecting impacted or suspicious code pieces by finding date type data or matching characteristic character strings (such as yy/mm/dd) or finding data names including some kind of reference to dates (such as "begin_date", etc.).
There are programmers who do not take too much care of programming standards, who are not keen on writing readable programs, who do not use "talking" variable names, thus making it more difficult to find dates (or anything else) in their programs.
But, even the most careful programmer, when writing the part of the code that checks for licence expiry, will want to hide this part well, making it a tough task to break the program. Because of this, the use of date type fields, the use of names referring to dates, and even the use of date functions will be avoided. The arithmetic, the comparison used might be specific, it can even be coded in an assembly routine and machine level code working on bits and bytes will be used to give hackers a nut to crack.
So, whenever code scanning and then code conversion is finished, such hidden errors might remain, and will only be disclosed when the next expiry date is in the next millenium, and the program does not work even though the company has bought the licence for the coming year.
Gabor Bolgar; Y2k Project Director; Idom Ltd., Hungary; A Deloitte Touche Tohmatsu International Company