пятница, февраля 18, 2005

Killer Kangaroos

Careless code recycling cause killer kangaroos Take Up Arms Against
Australian Air Force.

The reuse of some object-oriented code had 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 kangaroos' movements and reactions to helicopters. Being
efficient programmers, they just reused 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 helpless 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.