Mark Pickavance catalogues the undeniable
limitations of the human mind when it comes to programming computers.
To err is human. To really much things up
you also need a poorly designed C++ compiler and an implausibly short deadline.
Here are some of the most embarrassing or worst programming mistakes, and their
occasionally very dire consequences.
Mariner I - $83.2m
‘A single mistyped character cost the US
taxpayer a total of $83.2m.’
In space no one can hear you scream. However,
one was probably audible from Nasa mission control on July 28th 1963, after
Mariner 1, its most sophisticated and expensive probe yet conceived, ended up
at the bottom of the Atlantic Ocean rather than starting a journey to distant
planets. It turned out that a maths formula was incorrectly encoded into the
flight computer – in fact, a full stop instead of a comma in a single line of
Fortran code. This caused the trajectory to be wrong, at which point Nasa blew
up its rocket just 294.5 seconds after launch. An investigation later revealed
that this single mistyped character cost the US taxpayer a total of $83.2
million.
The Atlas rocket carrying Mariner 1
looked very majestic on take-off, and much less so five minutes later
Intel Pentium - $475m
For those who’ve used Intel processors for
a long time, the fact they’re not perfect isn’t news. However, when it turned
out in 1993 that its flagship product, the new Pentium series CPU, couldn’t add
up, it was a big story. A mistake in the design of the floating point engine
meant that the division of floating point numbers yielded an inaccurate result.
What really made this big news was that it
came at the same time as accountants really started to use Excel very heavily,
to be told that they couldn’t rely on the accuracy of their spreadsheets if
they used the Pentium. The problem became so notorious that Intel was
eventually forced to replace the CPU of any customer who asked, at a huge cost
to the company.
Luckily Intel didn’t use its Pentium
processor to calculate the profit and loss figures for 1993
National Cancer Institute, Panama City – Fatalities
Eight people died from their incorrect
exposure, and twenty more suffered serious tissue damaged
Some mistakes go way beyond embarrassment,
or even ridicule. Software bugs in medical equipment is a nightmare, but
combine that with users determined to fudge their way around a software problem
and you have a potentially lethal combination.
The software in question was created by US
company Multidata Systems International, and used by radiologists at the
National Cancer Institute, Panama City, for cancer therapy in the year 2000.
The system allows the placement of metal shields to be positioned so that
healthy tissue isn’t damaged by X-ray bursts, a maximum of four shields per
configuration. The Panamanian doctors wanted five, so they realized that they
could get the same result by drawing a single large clock with a hole in the
centre, which the software allowed. Unfortunately, the software had a ‘feature’
which, depending on which direction the hole was drawn in, could potentially
double the exposure levels. Eight people died from their incorrect exposure,
and twenty more suffered serious tissue damaged. The doctors in this instance
were legally required to check the dosage levels, failed to do so, and were
prosecuted for murder.
Amazingly, this isn’t the first software
radiography disaster. In 1985, five patients were killed by a Therac-25 medical
accelerator, because the very poor software that controlled it allowed it to
operate in high power mode with no shielding protecting the patient.
Missile Command – Defcon 3
Defcon 3 & the events in the film
were almost mirrored in reality
The movie War Games came out in
1983, and in that same year, the events in the film were almost mirrored in
reality. A Soviet high orbit satellite saw sunlight reflecting off high
altitude clouds over the central stated of America, and guessed they were the
rocket engines of intercontinental ballistic missiles in their boost phase, having
been launched by the US in a first strike on mother Russia.
Our current existence is entirely down to
Col Stanislav Petrov, who stopped the counterstrike that the USSR should have
launched in response. It was his perception that if the USA wanted to nuke the
vast geographic region then controlled by the Soviets, then they’d send more
than five missiles, given the thousand they had. He chose to die out the
‘attack’ on the basis of a ‘gut feeling’, he recounted later.
It was widely reported that an American
system did something similar in the late 60s when it locked onto the rising
moon, and calculated that it was a missile attack.