Thursday, December 30, 2004

Computers never make mistakes - LOL

Snowed-in code blamed for Comair's Xmas flight collapse | The Register :
"Comair last week said that winter storms had affected its computer systems responsible for scheduling flight crews. At the time, however, the carrier - a subsidiary of Delta Air Lines - did not say exactly how inclement weather had brought down its boxes. It now turns out that a dinosaur of a system was only capable of handling 32,000 scheduling changes in a month ..."

This story reminds me of the early days of pocket calculators (I was in college then) where the instructions would mention some situations (stuff you could do with pencil and paper, back when people still knew how) where the gizmos would only return hash because of rounding errors (from using log functions, I think).

Anyway, it seems something called the 16-bit conundrum (there is a link in the story to a technical discussion, but if you can follow it you probably already know it) which boils down to this - the largest positive integer the system can handle is 32,767. That means their software could only track that many crew changes in any one month. With 1,100 daily flights and about 3 crew members each, the snowstorm forced so many crew changes that the system reached its limit and shut down. Ironically, the software was due to be replaced in January anyway.


At Tue Jan 04, 06:43:00 AM EST, Anonymous Anonymous said...

Bought a Radio Shack computer back in the late 1970s, the first consumer priced PC (but it was really more like a "small business machine" for that price). It could only handle numbers with 6 digits, rounding the 7th. I didn't know it was that imprecise. Wrote a payroll program for it in Basic, only to find that once sombody was paid over $9999.99, the pennies vanished into oblivion.
I'm still using some machines that do building HVAC and lighting control that are 16 bit. One can only store 32,700 events before they drop off the opposite end of the log. But that's of little consequence, for there's never 32,000 events worth storing. The program is limited to the same 32,000 lines/events, and does a complete cycle thru them about once a second, but anyone who used 10% of that line count would be far too verbose a programmer for the objective. As for precision, four digits are the most one needs for any operation based on temperature and control of it.
BTW, I'm 90% certain that Microsoft still has the 16 bit limitation built into Windows. It counts the hours from installation, logging them as events, to a maximum of 32,767. At that point the machine locks-up so often that we go buy a new machine - and begin the count anew. You can use a calculator or even a slide rule to see how many years a machine will last until you hit that point of consternation. Compare it to your experience. See if you don't find my suspicion accurate.

At Wed Jan 05, 02:07:00 PM EST, Blogger J. Keen Holland said...

Thank you, Ralph, for your comment and suggestion. I worked on your suggestion that MS builds in obsolescence in Windows via the 16-bit integer limit. The result indicates system lockup at three years and nine months. If anything, this seems to be too large a figure, but counting from installation date at the factory rather than the date it arrives on your desk, it may be correct.


Post a Comment

<< Home