I'm not Boeing anywhere near that: Coder whizz heads off jumbo-sized maintenance snafu
Disturbing omissions in 747 documentation
Who, Me? We're back again with Who, Me?, The Register's Monday morning crowdsourced tale of reader misdeeds and close calls.
Today's confession from "Pete" will tighten the sphincters of those who flew on Boeing's finest back when 1990 rolled around.
Pete was something of a multimedia whizz at a time when Windows 3.0 was a thing, sound cards were unusual and CD-ROMs even more so. He was fresh off an award-winning stint coding up the multimedia add-on for a well-known UK publication.
It was early days for the technology, and Pete had cleverly coded things so audio would play from the mixed-mode CD if users lacked a sound card, but the indexing software leaked memory like a sieve under Windows 3.0. The vendor ended up having to send their lead programmer over to Blighty to sort out the issues but Pete persevered "and my CD-ROM launched successfully on Mac and Windows".
Don't look too closely at what is seeping out of the big Dutch pipeREAD MORE
His efforts did not go unnoticed, and he was snapped up by the vendor to port their CD-ROM publishing software to Windows, which is really where our story begins.
"Their software," recalled Pete, "ran on IBM RS6000 Unix workstations and was mostly used for the maintenance manual of Boeing 747 jets."
Those with a fear of flying, or a fear of acquiring a fear of flying, should probably look away now.
"They were using RS6000s to do the maintenance from the screen, no permanent printed copies were used," Pete explained. His task was to port the thing to Windows 3.0, and he was given a couple of machines, as well as the RISC box, to work on. "A heavy early laptop with an orange plasma screen and no battery and, I think, a Compaq tower workstation."
As his software began to come together, Pete dutifully compared the output from the source 747 CD-ROMs as shown on the IBM to what was being retrieved by his Windows app.
"After about 30 pages I reached a page where my Windows app showed more data than the RS6000 app. I had two extra diagrams and an extra paragraph of text. Clicking through the thousands of pages I found more places where my app showed extra diagrams and text."
"I called in some managers to look. You could see them turn white when they saw their production software did not show the full manual."
Indeed. After all, this was the documentation used by engineers working on Boeing's then-flagship 747. The odd missing diagram, or paragraph of text was hardly ideal.
The accusations soon began flying, with some suggesting that Pete had somehow "added the complex diagrams and text" via his software.
Anyone who had to program against the Windows 3.0 API back in day can confirm that just getting something to stay upright was challenging enough, without adding embellishments.
Boeing and IBM were called, although Pete delicately drew a veil over their reactions. Suffice to say it wasn't positive.
"After a few days of debugging," Pete told us, "it turned out [to be] an optimisation bug in the IBM C compiler used on the RS6000. It was overwriting registers that were being used to store local C variables when the call stack got too deep."
Thus not all the text and diagrams were being displayed.
"The RS6000 software was quietly upgraded with the compile optimisation turned off," added Pete, before icily remarking: "I saw no press reports of bad maintenance."
Pete has long since moved on and these days can be found working on projects to make smartphone and digital service access easier for disadvantaged communities in Africa and Southeast Asia.
However: "I did avoid flying [on] 747s for a few years after my hands-on experience with the quality control of their maintenance."
Ever found yourself at the sharp end of someone else's shoddy code, and had to persuade the powers that be that it wasn't your fault? Or taken a trip on an aircraft running your software? No, we wouldn't either, but you can confess all in an email to Who, Me?
Where were you 20 years ago? Were you frantically cutting COBOL or adding a crucial extra byte or two to a date field? Or a bodge that might last to, oh, 2050 before it explodes? Who, Me? and On Call would also like to hear your sordid Y2K tales for a festive feast of near-failures and dodged bullets. ®