Humor - Careless Code Recycling Causes Killer Kangaroosgreenspun.com : LUSENET : TimeBomb 2000 (Y2000) : One Thread
Got this in my email this morning. I have no idea whether or not it's true but it is humorous and should be verifiable if it really happened...
* From June 15, 1999 Defense Science and Technology Organization Lecture Series, Melbourne, Australia, and staff reports.
CARELESS CODE RECYCLING CAUSES KILLER KANGAROOS
Mutant Marsupials Take Up Arms Against Australian Air Force
The reuse of some object-oriented code has caused tactical headaches for Australia's armed forces. As virtual reality simulators assume larger roles in helicopter combat training, programmers have gone to great lengths to increase the realism of their scenarios, including detailed landscapes and - in the case of the Northern Territory's Operation Phoenix - herds of kangaroos (since disturbed animals might well give away a helicopter's position).
The head of the Defense Science & Technology Organization's Land Operations/Simulation division reportedly instructed developers to model the local marsupials' movements and reactions to helicopters. Being efficient programmers, they just re-appropriated some code originally used to model infantry detachment reactions under the same stimuli, changed the mapped icon from a soldier to a kangaroo, and increased the figures' speed of movement.
Eager to demonstrate their flying skills for some visiting American pilots, the hotshot Aussies "buzzed" the virtual kangaroos in low flight during a simulation. The kangaroos scattered, as predicted, and the visiting Americans nodded appreciatively... then did a double-take as the kangaroos reappeared from behind a hill and launched a barrage of Stinger missiles at the hapless helicopter. (Apparently the programmers had forgotten to remove that part of the infantry coding.) The lesson?
Objects are defined with certain attributes, and any new object defined in terms of an old one inherits all the attributes. The embarrassed programmers had learned to be careful when reusing object-oriented code, and the Yanks left with a newfound respect for Australian wildlife.
Simulator supervisors report that pilots from that point onward have strictly avoided kangaroos, just as they were meant to.
-- Arnie Rimmer (Arnie_Rimmer@usa.net), November 29, 1999
Don't let the squirrel king see this article - the last thing he needs now is more allies!
-- Deb M. (firstname.lastname@example.org), November 29, 1999.
Thanks Arnie, great post.
I worked in the games industry for a couple of years, and there was a lot of crossover with military sim people. This isn't just plausible, it's practically par for the course. It's a good example of an obvious bug, but I also heard plenty of anecdotes of non-obvious statistical errors that went unnoticed for years and skewed the result of battlefield simulations that were used to help make or justify strategic NATO defence decisions. Of course, when the errors were found, the programmers couldn't admit to them because the decisions had already been taken, they just quietely fixed them and then went back to playing Doom.
It's a funny story, but what it really says is: programmers often don't have a proper grasp of the consequences of their errors. That's why Y2K scares me: it's not that the kangeroos were firing Stingers, but that the Stingers were probably moving just a little to fast, or too slow, or were too easily distracted by flares, and that the pilots wouldn't find this out until they actually went into combat.
Not funny, but maybe more thought provoking. :)
-- Colin MacDonald (email@example.com), November 29, 1999.
I certainly feel better knowing all those missing stingers ended up with the Kangaroos. And to think I was worried about the apes taking over. Actually from a training standpoint this makes some sense. If you spook animals and give away your position after the Kangaroos bolt the "enemy" really might be the ones that come back over the hill and they might have stingers.
Careless stunts have no place in real combat.
How much object code is plastered over old legacy code to give it a facelift, more than you want to think about.
-- squid (Itsdark@down.here), November 29, 1999.
LOL! Thanks, Arnie...and remember, objects in the rearview mirror are closer than they appear.
-- (RUOK@yesiam.com), November 29, 1999.
With my background in simulator engineering activities, this brightens my day considerable. It's almost as good as the day the starship Enterprise that one of the tech had programmed as an advanced training exercise appeared in place of the expected KC-135. That little goof made for one delightedly surprised pilot.
-- Wildweasel (firstname.lastname@example.org), November 29, 1999.