Anvil Logo

Subscribe
Archives
About Us
Feedback
Contact
Search

 

hosting by

 

High-Tech Ransom and the Y2K Caper: Pay Me Now or Pay Me Later

By Bill Warner

When information about the Y2K "bug" first began appearing, I paid little attention. After all, those old legacy systems have been around for 30 years or more and are cumbersome, complex, and full of the patches, additions, fixes, etc. needed to keep them running. I did not begin to pay attention to this "bug" (yes, those are quotation marks; I'll explain shortly) until information began to surface that this was not really a "bug" at all in the true sense. Instead, it was more an arrogant, programmer-knows-best, deliberately made decision. The consequences? Businesses around the world are being forced to pay collective billions in ransom to correct the consequences of this decision.

Computer bugs are nothing more than the unintended result of unforeseen combinations of user actions and program code. Sometimes these inadvertent consequences are only minor annoyances, such as a character that you can't eliminate from a document, or an endless loop that you can't escape except by the ol' hard reboot route. Other times the bugs cause enormous problems, such as the shutting down of the East Coast's phone system for nine hours (in 1990), or the erasing of your hard drive. They can even be fatal, evidenced by the death of four people in Canada via machine-caused radiation treatment overdoses.

Software programs have always been expensive and time-consuming to debug. After all, to debug them completely would require the programmer to run through every possible situation the user might encounter and every corresponding response. (Hmmm, perhaps an infinite number of monkeys at an infinite number of debug tools . . .? Nah, not gonna happen.) So, we have all come to expect and understand that most programs contain bugs. Thankfully, despite the software business' increasingly sloppy and apathetic debugging efforts, most programs run well enough.

But this Y2K thing is different. Because of the deliberate decisions of the program developers back in the '60s and '70s, the date field does not typically include the characters needed to represent the century (20th, 21st, whatever). That's why, when the date changes to the year 00, pandemonium is expected to occur.

The big iron won't know how to interpret those 00s and may begin acting like HAL after an evening of banging down tequila shooters and snorting angel dust. When I began hearing that the reason for not including those two additional digits was convenience and cost, I really started paying attention to Y2K.

This situation isn't a "bug"; it's one of the most colossal snafus (remember, this word is an acronym) ever. And it came about not because there wasn't time or money enough to debug the programs sufficiently, but rather because of technological arrogance and the perceived need to save money (read cut corners).

In an article in the 2/16 TechWebNews, a retired programmer says, "We could have written programs in the 1960s and '70s that would work in the year 2000. But it was so expensive. No one would think of putting in the century. It was useless accuracy." Expensive? What looks expensive now? Useless accuracy? Right, try telling that to the thousands of businesses, government organizations, educational institutions, and other groups worldwide who have to spend untold billions to correct what the mainframe jockeys couldn't be bothered to address 30 years ago. Not to mention airlines and passengers all over the world who can't be sure what the air traffic control system will do when the big 00 arrives. By the way, I don't recommend flying to your new-millennium party.

This situation teaches us yet again that despite their claims of always knowing best, the technologists can't be trusted to make effective decisions that consider the long-term interests of their customers or of the industries or businesses in which they compete. The comments about expense and useless accuracy are typical of the technologist who believes he knows what's best for the customer, like the software companies who keep telling us that bugs are a small price to pay for inexpensive software.

What to do? First, for you technologists, remember that when developing products based upon new technology, you may in fact be developing something that is going to be in use for a long time, far longer than you may have intended when you designed it.
So you better completely think through the casual implementation and deployment decisions that you and your engineering staffs make on a daily basis. Today's acceptable kluge may metamorphose into tomorrow's technology show-stopper.

This perspective would have been very helpful early on when the airlines were just being deregulated and air traffic was beginning to expand dramatically. New minicomputer and communications technology could have been slipped into place with far less disruption, and at far less cost, than the huge bill the government and airline industry are going to have to foot for a whole new system soon. But because cost was the only major factor considered, the necessary software and hardware updates were continually pushed farther and farther out. Now we are stuck with an antiquated, patched together, and, in many places, vacuum-tube-driven monstrosity that will be colossally expensive to replace.
Oh, and it doesn't work very well, either.

The second point is for customers to start demanding that new computer hardware and software be freer of bugs than what we've been getting from the computer industry recently. This may result in products that are somewhat more expensive at initial purchase, but which will be far less expensive to live with long term. In effect, the computer industry now is foisting off upon its customers the hidden high price of its shoddy debug efforts at the home office. Because the software companies don't do their jobs effectively, they seduce us with cheap (in many senses of the word) products and force us to bear the costs of living with buggy software and hardware. Very clever. They reap more profits faster, yet force us to pay the time, anger, frustration, and dollars required to keep such buggy software alive and productive.

Today, we're no longer in the mainframe era, where DP ruled and system users had to accept applications in whatever klugy form and dubious quality the DP guys provided. Now the customer is queen, and she has a right to expect software to work right and to be more bug-free than it typically has been. That's why customers in the know insist on being able to Beta test new mission-critical software and wring it out before they commit to final installation and make those last payments to their systems consultants. They demand bug-free operation and the ability to upgrade their systems on a regular basis.

Remember how great the automated baggage handling system at the new Denver International Airport was going to be? Remember when Andy Grove told you it didn't matter that your Pentium processor sometimes couldn't do simple arithmetic properly? Who do you trust? And how much are you willing to pay?