
THE GREAT COMPUTER CRASH
The year is 2000. We have just celebrated the New Year’s holiday. We are back at work on January 2nd behind our computer terminal to enter the day’s data entries.
The program prompts us for the date. We enter “010200” which corresponds with the first 2 characters (01) representing January, the third and fourth characters (02) representing the second day of the month and the fifth and sixth characters (00) representing the year!
The computer tries to print out the date on the screen or paper and it comes out “January 2, 1900”.
Data files are sorted at the end of the day, week, month or whenever and we find the 2000 dates are at the wrong end of the list.
Dunning letters are sent to customers telling them that accounts are over 100 years past due.
Sound preposterous? This is actually the scenario presented by a book called Computers in Crisis (Petrocelli Books – $32.95) written by Jerome and Marilyn Murray of Glen Ellyn, IL.
At the turn of the century, the banking industry has collapsed. There are no payroll checks, Social Security, pension and welfare checks are lost in electronic limbo, riots occur when credit card conscience people run out of cash and insurance claims go unanswered simply because computers were programmed to handle dates as a 6 character entry.
If you are not a programmer, ask anyone who is how this problem could be overcome with integrated programs (programs that utilize the same data files) and the response will be that it is difficult at best.
Mr. Murray uses Texaco as an example; to convert their existing programs, it would take 91 programmers working full time for 16 years to make the necessary updates.
Mr. Murray suggests converting the input to an 8 character code where January 2nd of the year 2000 would be represented as “2000.001”. The first four characters would represent the year and the rest would be the number of days that have elapsed in that year. A calender routine can be written into the program that will figure out the exact month and day of the month.
Actually, the period in the suggested format can be eliminated for storage purposes so that we wind up with 7 character storage.
But we still have the problem where almost all programs are written to allow only a 6 character entry for the date on a 2 by 2 by 2 basis. Is it possible to put the date into 6 character positions?
It is actually possible to do it in 6!
The answer is to convert the 7 or 8 character format suggested by Mr. Murray into its hexidecimal equivalent.
The year 2000 converted to hexidecimal (using our “BASECON” program) is “7D0”. Converting the 2nd day of January to hexidecimal would result in “002”. This would give us a date of “7D0002” which of course requires only 6 characters.
This method would allow us to post dates on our invoices up to December 31st of the year 4095. By that time, I’m sure posterity would have computers and be familiar with routines that can handle bases higher than hexidecimal (base 32 would allow dates to be entered long after our sun has turned into a dwarf star).
The hexidecimal method does not, of course, overcome all the problems. Existing date identifying routines scan the 6 characters on a 2 by 2 by 2 decimal basis. New routines would have to be written into all the programs that would operate on a 3 by 3 hexidecimal basis.
I think it would be easier to write these hexidecimal routines into existing programs than to write new decimal routines into the same programs.
In either case, routines would have to be written that would convert the old 6 character format in the new accepted format so that pre-2000 data can be cross-referenced with post-2000 data. On many computers, this data conversion will be most time-consuming – Ed.