Slashdot Mirror


Examples of Programming Gone Wrong?

LightForce3 asks: "I'm a beginning CS student, and in my studies I've come across examples of programmer error causing very large problems, such as the Ariane 5 failure and the Therac-25 accidents, often as tales of caution to beginner programmers such as myself. My (morbid?) curiosity has been piqued, and I'm looking for other examples of programmer error leading to serious problems. After all, it is better to learn from the mistakes of others than from your own, right? ;) What programming-related accidents, incidents, and failures, both well-known and obscure, do Slashdot readers know about, and are there any good resources for researching these?"

626 comments

  1. Challenger by ekrout · · Score: 0, Troll

    1986.

    'Nuff said.

    --

    If you celebrate Xmas, befriend me (538
    1. Re:Challenger by Anonymous Coward · · Score: 1, Interesting

      Erik, don't troll. The Challenger accident was a mechanical failure, had nothing to do with software, but if you want a software project gone wrong example, I'll give you one: Gah NU/Hurd

    2. Re:Challenger by agentZ · · Score: 5, Informative

      What happened to Challenger wasn't a programming mistake, but rather a case of not following policy. The solid rocket boosters were never designed to operate in cold temperatures. The result of working outside of design specs was catastrophic failure, yes, but that wasn't the result of a programming error.

    3. Re:Challenger by Anonymous Coward · · Score: 0

      The challenger exploded because a rubber ring was frozen and therefore allowed hot gases to leak and burn into a liquid hydrogen tank. The problem was not flagged because management issues took priority over engineering issues.

      At what point do you think software played a role in that?

    4. Re:Challenger by Pyromage · · Score: 5, Informative

      Incorrect: This was not a programming issue. Nor was it a software issue at all. The problem was the O-ring seals in the SRBs (Solid Rocket Boosters). The manufacturer stated that they should not be operated under 53 degrees, and NASA overrode the recomendation and launched anyway. The expected happened.

      NASA hasn't ever had a hardware problem. Or a software problem. Ever. Every problem can be directly tied to one specific person being a fscking moron. The closest you could come is that Mars probe that crashed because of mismatched units. And that was just poor communication among the software guys.

    5. Re:Challenger by Anonymous Coward · · Score: 0

      See this page for more info regarding the First Post in this thread.

    6. Re:Challenger by Lemmy+Caution · · Score: 2

      If you've ever seen Edward Tufte's canned speech, he partially attributes the event to an inability of the engineers involved to organize and present their information in a clear way to communicate the nature of the problem.

    7. Re:Challenger by JordanH · · Score: 2
      • NASA hasn't ever had a hardware problem. Or a software problem. Ever. Every problem can be directly tied to one specific person being a fscking moron. The closest you could come is that Mars probe that crashed because of mismatched units. And that was just poor communication among the software guys.

      A poor communication among the software guys that results in improper units being used in a program isn't a software problem?

      If that wasn't a software problem, what was it? All software problems are defects in design or implementation, they all go back to a miscommunication or mistake among some software people somewhere.

    8. Re:Challenger by MadocGwyn · · Score: 2, Funny

      Yes but the lander was friggen funny, you can u just see the guy sitting there, taking a hit off a bong then stateing. "Dude dude, comehere, got a problem" "whats that?" "*giggle* Well you know the lander *gafaw* the navigation was in meters....but i programmed the lander in feet, so instead of landing *grin* fsck'er burried..... I wish there woulda been another lander there to see that one hit, woulda been the shot of a lifetime. Besides, nasa crashes things into things on perpose:)

      --
      Jesus saves, everyone else takes full damage from the fireball.
    9. Re:Challenger by Anonymous Coward · · Score: 0

      I have to add my voice to tell you and the world, ekrout, that you are a big fat baka! At the time of the launch, NASA consulted with Morton-Thiekol about the booster and every engineer told management of M-T do not launch and then the M-T manager turned around and told NASA, go ahead and launch. Management has the blood on their hands. You find that many, many times, what looks like bad engineering is brain dead management refusing to listen to engineers, both hardware and software.

    10. Re:Challenger by Scohop · · Score: 1

      >>

      This is perhaps not a syntax problem, but it remains a software problem (semantic). Clearly, the software didn't do what someone (falsely) assumed it would do.

      --
      j. scott olsson
    11. Re:Challenger by tuxlove · · Score: 1

      YHBT. 'Nuff said.

    12. Re:Challenger by lizzybarham · · Score: 1

      Sadly, this is often the case. Sometimes management is more interested in looks or how the organization/operation will be perceived than love. Lets not fall into that same trap.

    13. Re:Challenger by Transcendent · · Score: 2

      A poor communication among the software guys that results in improper units being used in a program isn't a software problem?

      That's correct. It's a communication problem

      If that wasn't a software problem, what was it?

      A miscommunication between software guys...

      All software problems are defects in design or implementation, they all go back to a miscommunication or mistake among some software people somewhere.

      Your definition of a software problem is to vague to be proper...

      But anyway, that's only half true. The problem is that not all software bugs go back to that source... hardware plays a big role as well.

    14. Re:Challenger by snStarter · · Score: 2, Interesting

      Not ONE hardware problem...ever?

      Clearly you are forgetting the Apollo I fire which resulted from a spark in a pure O2 atmosphere. The spark was caused by a frayed wire. That's a hardware problem for sure.

    15. Re:Challenger by Anonymous Coward · · Score: 1, Interesting
      NASA hasn't ever had a hardware problem. Or a software problem. Ever.

      What about Apollo 13?

    16. Re:Challenger by Anonymous Coward · · Score: 1, Insightful

      NASA hasn't ever had a hardware problem. Or a software problem. Ever.

      you're full of crap. here are nasa bugs. there were people involved in the process of developing the software (surprise, surprise), but read nasa's admitted "root cause" for the climate orbiter ($$$$) being lost: it's software (not the people) which failed to translate units.

      next you're going to tell us software doesn't have bugs, programmers do. bs. if you're going to tell us nasa never has bugs ever, you better give us evidence!

    17. Re:Challenger by rob-fu · · Score: 1

      The manufacturer stated that they should not be operated under 53 degrees, and NASA overrode the recomendation and launched anyway. The expected happened.

      Actually, one of the engineers who worked for Morton-Thiokol (the group who worked on that particular mission) had discovered the problem and brought it in front of his superiors. He was adamant about not letting them go ahead with the launch, but the administrative board at the firm disregarded his findings and gave the go-ahead to NASA. This wasn't a software problem, but a definite people problem.

    18. Re:Challenger by EvanED · · Score: 2

      It's not as simple as you make it out to be. NASA's Marshall Center applied a significant amount of pressure to Morton Thiokol (the contractors who designed and manufactured the solid rocket boosters) to give them the go-ahead. See, the contractors have absolute veto authority; if they want NASA to not launch, NASA can't do anything about it. However, NASA was under a TON of schedule pressure to launch. (There's even a conspiracy theory that Reagan ordered NASA to launch so he could call McAuliffe in orbit during the State of the Union Address scheduled for that evening, but there's absolutely NO evidence that this is true.) NASA passed off that pressure onto the management Morton Thiokol, who unfortunatly buckled under it.

    19. Re:Challenger by JordanH · · Score: 2
      • But anyway, that's only half true. The problem is that not all software bugs go back to that source... hardware plays a big role as well.

      The poster said they'd never had hardware problems, which I suspected as classifying problems as EITHER a software problem or a hardware problem.

      If a miscommunication among software guys that results in a bug isn't a software problem, then what exactly is a software problem?

    20. Re:Challenger by Rinikusu · · Score: 1

      No, because the software worked as the programmer designed it. The communication process of the development was flawed, not the code.

      --
      If you were me, you'd be good lookin'. - six string samurai
    21. Re:Challenger by Anonymous Coward · · Score: 0

      You are both wrong. It was a problem with precision.

      http://ask.slashdot.org/comments.pl?sid=43410&ci d= 4542988

    22. Re:Challenger by GileadGreene · · Score: 4, Insightful
      NASA hasn't ever had a hardware problem. Or a software problem. Ever.

      Well, except for Mars Polar Lander, where the failure review board determined that the lander crashed because a flag indocating contact with the ground was not intialized to zero prior to the start of the retro-thruster loop. So the flag got set by the shock of deploying the landing legs, never got reset, and caused the thrusters to switch off as soon as they were on.

      I guess maybe you forgot about Apollo 13 as well (hardware)? Or the Galileo High Gain Antenna that failed to deploy (hardware)? Or the serious telemetry system problems they had with one of the Voyagers (hardware)? Or the faulty landing bag on one of the Mercury flights (hardware)? (was it Glenn's? I don't remember) Or that funky glitch in the landing computer during Apollo 11 (software)? You know, there's a reason that most space mission tend to be heavy on redundant hardware, and invest a lot of time and effort in fault protection software.

      Every problem can be directly tied to one specific person being a fscking moron.

      Well yeah, but that's the case with a lot of bugs, isn't it? Mistakes tend to be people issues.

      The closest you could come is that Mars probe that crashed because of mismatched units. And that was just poor communication among the software guys.

      You are at least correct about that - the problem was not a software issue. Lockheed Martin Astronautics was on contract to supply everything to NASA in SI units (which is what NASA uses for everything). LMA - or at least the part the caused this problem - uses English (Imperial) units internally, and neglected to perform the appropriate conversion before they sent the data on to NASA.

    23. Re:Challenger by the+bluebrain · · Score: 2, Interesting
      • [...] Mars probe that crashed because of mismatched units. And that was just poor communication among the software guys.
      So if it's not a bug, it must be a feature :) ? If you had been responsible for that piece of software, would you have sat together with the NASA guys after the analysis, and claimed it wasn't a bug? Errr....

      Have an article on the guys who write the stuff. They're damn good, but they say themselves their programs contain errors: "the last three versions of the program [...] had just one error each. The last 11 versions of this software had a total of 17 errors." Apparently never caused a problem, but not bug-free.

      Then there was the Canadarm2 issue. Or wasn't that a bug either :) ?
      --
      yes, we have no bananas
    24. Re:Challenger by jcsehak · · Score: 2

      Actually, it was more a case of bad presentation skills. Check out Edward Tufte's "Visual Explanations" for a complete rundown, but basically, IIRC, one guy (or group) knew of the danger and spoke up about it. His supervisors said "Okay, write me a report detailing excactly why we should delay the launch." He did, and it was a very confusing report. So they went on with it, and, well, you know the rest.

      --

      c-hack.com |
    25. Re:Challenger by Dexter's+Laboratory · · Score: 1

      That was a hardware problem, but not a computer hardware problem.

    26. Re:Challenger by Dexter's+Laboratory · · Score: 1

      NASA had a problem with the software during descent of Apollo 11, when the computer was overloaded. Also, they had hardware problems in Galileo. Not in the computer, but in the periferal comm unit or antenna.

    27. Re:Challenger by Anonymous Coward · · Score: 0

      Tufte's argument presumes the burden of proof should be on those arguing for caution, instead of those proposing the increased risk. This is the exact opposite of the correct engineering position on mission-critical applications. It's not the engineer's job to prove that a company's products are unsafe, since this amounts to "proving a negative," and is impossible to do, regardless of the manner in which the information is presented.

      Instead it's burden of a company, and the job of the engineers, to prove that their product is safe. This is possible, though difficult (and expensive), to do.

      I found an excellent article that responds in detail to Tufte's allegations and concludes the following:

      "The managers ... changed the burden of proof by asking for evidence that Challenger was not flight-ready. By shifting the burden of proof, NASA shifted from a risk-averse decision procedure to a decision procedure congenial to high fliers, willing to risk catastrophe unless it could be shown it would in fact occur."

      FINRobison.pdf
      Google's HTML cache of the .pdf paper:
      FINRobison.pdf (HTML conversion)

    28. Re:Challenger by pest · · Score: 1

      The post that said there has been no hardware or software malfunctions did not state that it had to be a computer malfunction.

    29. Re:Challenger by pz · · Score: 2

      Indeed, there was a *slew* (pun intended) of timing problems with the initial software to run the shuttles (does anyone else remember the frequency of early launches scrubbed due to software?). From my understanding, the bugs were traced to race conditions amongst the (then large) array of onboard and ground computers.

      --

      Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
  2. already.. by Suppafly · · Score: 1, Informative

    this is already any ask slashdot from a while back.. check the archives.

    1. Re:already.. by Anonymous Coward · · Score: 5, Insightful

      Why not provide a link instead of saying "Oh yeah, I saw it way back when."

      You people who say "use google to find it" or "this was already asked" are worse than the people who actualy ask the question.

      Their only problem (if it could be said to be a problem) is ignorance, your kind however are a much better example of the problem of self-rightous lazyness.

    2. Re:already.. by Anonymous Coward · · Score: 4, Funny

      couldn't find it either, huh ? ;)

    3. Re:already.. by Anonymous Coward · · Score: 0

      One thing that should be teached in college is to cut the crap. This guy could have asked for the archive reference in one friggin sentence, instead of wasting 5 minutes of our lifetime with his borring CS programming anecdotes.

    4. Re:already.. by Java+Pimp · · Score: 5, Insightful

      Yeah it is probably in the archives. I've read it before.

      Problem is, the slashdot search engine sucks. I haven't yet been able to query the archives and actually find what I'm looking for without needing to dig through hundreds of irrelevent discussions. Sometimes I think it might be faster to just scroll back through the "Older Stuff" section.

      Or we could just have another discussion about it. :-)

      --
      Ascalante: Your bride is over 3,000 years old.
      Kull: She told me she was 19!
    5. Re:already.. by gmajor · · Score: 5, Informative

      http://slashdot.org/articles/02/05/02/1525210.shtm l?tid=128 - Debug your code, or else!

      Using google's serach engine provides better results for slashdot.org that slashdot's own search engine :-)

    6. Re:already.. by Anonymous Coward · · Score: 2, Funny

      Indeed. The Slashdot search engine seems to OR the search terms together, which is of course very stupid. It is a prime Example of Programming Gone Wrong.

    7. Re:already.. by Anonymous Coward · · Score: 0

      This was obviously posted by one who has never been taught by a college professor.

    8. Re:already.. by Anonymous Coward · · Score: 0

      One thing they should teach in college is grammar.

    9. Re:already.. by Anonymous Coward · · Score: 2, Funny

      And why do you think that everyone should spoon feed you?

      I agree! What's the point of having people spoon feeding us information like little babies when we can just go out and find it ourselves. "News" sites like Slashdot are the worst at it, "spoon feeding" us entire stories and links to relevant information. The laziness! Everyone should just pick a topic of the day when they get out of bed and proceed to Google to find all relevant information. People that research, distill, and provide useful information in an organized manner are just exaserbating the problem. Bravo to you, sir, for saying what needs to be said!

    10. Re:already.. by Anonymous Coward · · Score: 0

      How is this "insightful"? The guy told the OP where to look: namely, the Slashdot archives. What the hell is wrong with that? The OP can search the archives just as easily as anybody else, once he knows that it's in the archives, so why should someone who isn't personally interested in the specific reference spend the time looking for it themselves, as opposed to telling someone where to look?

    11. Re:already.. by yowi · · Score: 0

      or better still check out
      Collection of Software Bugs

      then open wide and say ahhhh.

      --
      Why don't the headlines ever read 'Psychic wins lottery'
    12. Re:already.. by ibennetch · · Score: 1

      just make sure you put "site:slashdot.org" in the search box. A query could be site:slashdot.org windows sucks dood but of course, that would return a hit for every discussion on the site and is intended as an example only.

    13. Re:already.. by ibennetch · · Score: 1

      danged formatting. read that as

      A query could be
      site:slashdot.org windows sucks dood
      etc, etc...

      I always preview. Except tonight. And now I look like an idiot in front of millions of /.ers

    14. Re:already.. by Anonymous Coward · · Score: 0
      Why not provide a link instead of saying "Oh yeah, I saw it way back when."

      You people who say "use google to find it" or "this was already asked" are worse than the people who actualy ask the question.

      Their only problem (if it could be said to be a problem) is ignorance, your kind however are a much better example of the problem of self-rightous lazyness.

      No! The self-righteous ones are the chimps who have to ask for others to do their work for them. If you don't know how to use a search engine, do your homework on it or find an adequate engine. If you haven't read the FAQs or archives, you don't deserve to have your question answered. You think others didn't come by the links by way of a little hard work? This isn't Sesame Street where repetition is everything. By the time all the dumb, lazy questions are answered, there's no time for anything else go forward.

      It's like the idiots who jump on the phone to ask if the system is down. The correst answer is, "Yes the system is down and it'll fucking stay down until fifteen minutes after you bozos stop calling to ask me if it's down and for how long."

    15. Re:already.. by Anonymous Coward · · Score: 0
      Using google's serach engine provides better results for slashdot.org that slashdot's own search engine :-)

      It's also the only useful way to find anything on IBM's site. I've done searches there using the correct spelling of one of their own products and they come up blank. One minute with Google and I'm on the correct page for the product.

    16. Re:already.. by jez9999 · · Score: 0

      And why do all the archived discussions seem to revert to 'flat' layout mode?

    17. Re:already.. by Anonymous Coward · · Score: 0

      The same thing with Sun's java pages...

  3. One Word by umm+qasr · · Score: 0, Funny

    Windows.

    1. Re:One Word by eamber · · Score: 1

      I saw this one coming as soon as I read the headline.

      How about something a little more unpredictable next time?

    2. Re:One Word by Helter · · Score: 5, Informative

      Come on now, that's the lazy way!

      How about citing an actual example of windows code bugs causing big problems? I'll go first. The USS Yorktown had to be towed back to harbor when the NT system that was automating most of the ship crashed.

    3. Re:One Word by Anonymous Coward · · Score: 0

      Windows.

      And it's still better than Linux. Imagine that!

    4. Re:One Word by Anonymous Coward · · Score: 0

      That would be great, if it were true. Except it's not.

    5. Re:One Word by seattle2napa · · Score: 3, Insightful

      I love how complete bullshit gets moderated to +5 Informative on slashdot. Why not do a tiny bit of fact checking and slam people for misinformation rather than praising them for anything negative having to do with Microsoft???

    6. Re:One Word by ashultz · · Score: 1


      Windows is more of a design disaster than a programming one. I hate windows as much as the next guy, but it's full of things doing the job they're meant to pretty well.

      It's just that they're meant to enable scripts to run in arbitrary text files, or default to sharing your documents over the internet, or place documents in weird places. All these were programmed correctly, just designed wrong.

    7. Re:One Word by Anonymous Coward · · Score: 0

      Why not take some of your own medicine? The Navy was pushed into switching to NT because of political pressure, which meant that they couldn't place blame on the OS, as that would call into question why they switched in the first place.

      The people who implement the systems for the nave feel that the problem was with NT, which is futher backed up by the fact that problems such as those were not prevalent with similar Unix deployemnts.

    8. Re:One Word by Anonymous Coward · · Score: 0

      Mod parent down a notch or three. It's a crime against humanity to let a message like that to be at +2 funny.

  4. I got one! by cornjchob · · Score: 0, Redundant

    Win9x kernel, anyone?

    --
    We now have confirmed reports from an informed Orange County minister that Ethel is still an active communist.
    1. Re:I got one! by markov_chain · · Score: 1

      What Win9x kernel?

      --
      Tsunami -- You can't bring a good wave down!
    2. Re:I got one! by thefogger · · Score: 0, Offtopic

      Oh, come on, COMMAND.COM was a fine piece of work, after all :-)

      --


      Um... I didn't do it!
    3. Re:I got one! by sketerpot · · Score: 1
      COMMAND.COM was a pitiful excuse for a shell that was somehow carried through many versions of Windows despite the existance of vastly superior shells like bash (with an equivalent of xterm, rxvt, eterm, whatever) that could have simply been used instead.

      More recent versions have features like filename completion (I still prefer the way bash handles it), and of course there is the (old) feature that lets you access a command history. And now, finally, there are scroll bars!

      About the only good thing I can say about COMMAND.COM was that it didn't crash.

  5. On Fox tonight @ 8pm by darylp · · Score: 4, Funny

    When Programming goes Wrong 2! Thrill to our latest reality TV series where we show REAL LIFE footage of poorly thought out database schemas, unchecked buffers and even explicit shots of forbidden goto statements.

    1. Re:On Fox tonight @ 8pm by Anonymous Coward · · Score: 1, Funny

      Tonight on FOX,

      When Slashdotters get Girlfriends!

    2. Re:On Fox tonight @ 8pm by Anonymous Coward · · Score: 0

      More like... in 10 years from now, on fox!
      When slashdotters get girlfriends!

    3. Re:On Fox tonight @ 8pm by Anonymous Coward · · Score: 0

      mmmmm, forbidden goto statement

    4. Re:On Fox tonight @ 8pm by jsse · · Score: 3, Funny

      You thought they haven't featured that before? :)

      Once on TV there was a documtary on a history of computers, talking about Pascal, father of computers, the first programmer, the first vacuum tube computer, and....the first (real)bug found - in closeup shot!

      I found this extremely amazing and couldn't even move my eyes away throughtout the show. Then I found my wife and my mother-in-laws fell into deep coma on sofa...

      Damn! I should have taped the show!

    5. Re:On Fox tonight @ 8pm by Pogue+Mahone · · Score: 2

      Remeber: GOTOs don't kill people; programmers kill people.

      --
      Every bloody emperor has his hand up history's skirt [Peter Hammill/VdGG]
    6. Re:On Fox tonight @ 8pm by Corporate+Troll · · Score: 1

      That's going to be one boring show...
      All they'll do is show them their stamps colletion and their PDP-11 in the basement. Well, that's what I'd do. I'm probably missing something, but I cannot remember what. Of, well, back to my code...

    7. Re:On Fox tonight @ 8pm by JonTurner · · Score: 2
      Tonight on FOX, "When Slashdotters get Girlfriends!"

      Fox? More like SciFi (as in "Science FICTION") or the Comedy Channel.

    8. Re:On Fox tonight @ 8pm by TESFox · · Score: 1

      THat sounds like it was really good. Do ya think it'll be on again and if so, when? Better yet, what was the name so i can go check TV Guide ^.^;;

      --
      -Tim Stackhouse Rowan University Computer Science
    9. Re:On Fox tonight @ 8pm by sharkey · · Score: 2

      Followed by "Conspiracy Theory: Do Computers Really Exist?" at 9pm.


      You are watching FOX.

      --

      --
      "Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
  6. 404 Web Server Errors by Anonymous Coward · · Score: 0

    how about 404 errors in links on the front page of a well-known geek community website...

    anyone else find this slightly ironic? ;)

  7. The Ultimate Example by Anonymous Coward · · Score: 1, Interesting
    1. Re:The Ultimate Example by Anonymous Coward · · Score: 0

      lol so true.
      The funny thing here is the programmers no how badly it sucks but just wont admit even when everyone else knows as well.

    2. Re:The Ultimate Example by Anonymous Coward · · Score: 0

      I quite like how one of the big "advantages" or "good points" to the package they list is that "it exists".

      Venereal diseases also exist, but that doesn't make them useful, scalable operating systems.

    3. Re:The Ultimate Example by Anonymous Coward · · Score: 0

      Ever notice that its name rhymes with a euphemism for shit?

  8. The book "Fatal Defect" by spanky555 · · Score: 5, Informative

    This book is devoted to just that. It's what you're looking for...go get it and read it.

    1. Re:The book "Fatal Defect" by Fastball · · Score: 2

      I bought and read this book, and I was seriously disappointed. I suppose there's only so much you can add to botched automation that ends up kill people. I just wanted good anecdotes. I was interested to read about the pitfalls of a fly-by-wire airplane, but I could have done without the filler from experts basically saying over and over, "This stuff is dangerous."

      Don't waste your time with this book. Look for interesting anecdotes on the web.

  9. Mars Orbiter Lost Over Metric Conversion by Kircle · · Score: 4, Informative

    http://slashdot.org/articles/99/09/30/1437217.shtm l

    --

    -- Kircle

    1. Re:Mars Orbiter Lost Over Metric Conversion by Anonymous Coward · · Score: 0

      Thats why imperial sux0rz! Metric is so much better. I hate miles, I hate Inches, I hate Pounds, i hate gallons! kilometers, centimeters, kilograms and liters rule!

    2. Re:Mars Orbiter Lost Over Metric Conversion by scott1853 · · Score: 2

      So the computer was supose to correctly interpret the erroneous number that was entered by a human? I don't think it was really a programming error per se, at least not in the context of the story.

    3. Re:Mars Orbiter Lost Over Metric Conversion by Anonymous Coward · · Score: 0

      That's just the cover story. What really happened was that the Mars Orbiter carried a nuclear warhead and was sent to destroy the famous face.

    4. Re:Mars Orbiter Lost Over Metric Conversion by Mr.+Shiny+And+New · · Score: 1

      It's a programming error in that Programmers misunderstood the specifications and built a program that didn't understand metric, while the rest of the system was written in metric.

      It's also a QA error that allowed the program to be used at all, considering that it wasn't working when the spacecraft was launched. It was only after the launch that the program was finally tested.

    5. Re:Mars Orbiter Lost Over Metric Conversion by SnowZero · · Score: 1

      Using only metric simply garuntees that you'll be off by convenient powers of 10 when you violate your interfaces. If the interface checked the units, then in either case you would have easily found a problem.

      In the robotics software my group writes, we've really had to drill it in to people to use the same metric unit (mm, sec, everywhere). In the past some of the modules differed, and had all sorts of ulgy *10 /10, etc which could easily be forgotten and lead to bugs. We still have a platform that uses int usec for times, and occasionally still get bugs due to this (telling the difference between 10000000 and 1000000 while writing or scanning over code is easy to mess up).

      In short, merely using metric doesn't garuntee the nonexistence of unit bugs, and the decrease in bugs due to things like inch/cm is offset by the fact that people just *know* "we all use metric so it will work" and thus are lazy in checking the order of the units "{mm,cm,m,km} is obviously the most logical since it makes the most sense for my module!". Common interfaces still need to be established and conformed to, that is the root problem.

    6. Re:Mars Orbiter Lost Over Metric Conversion by pz · · Score: 2

      This was not a programming error, but rather a data entry error. Had the correct constants been used, the code would likely have worked flawlessly.

      It was also a human controller issue, as the slowly accumulating error was ignored for a long time.

      --

      Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
    7. Re:Mars Orbiter Lost Over Metric Conversion by some+guy+I+know · · Score: 1
      Use non-syntactic macros.
      For example:
      #define mm
      #define cm *10
      #define meters *1000
      ....
      int x = 30 meters;
      Note that using this method has the potential for causing other bugs.
      Alternatively:
      #define mm(x) (x)
      #define cm(x) ((x)*10)
      #define meters(x) ((x)*1000)
      ...
      int x = meters(30);
      If you are using a more recent version of the C compiler, you can code the latter method as inline functions instead.
      --
      Those who sacrifice security to condemn liberty deserve to repeat history or something. - Benjamin Santayana
  10. Therac 25 - What's that? by SuperMario666 · · Score: 0, Troll

    Oh wait. We've only studied that in
    EVERY F***ING CS CLASS I'VE EVER TAKEN!
    Sheesh, It was even brought up in compilers last semester.

  11. Here are my Top 4: by ekrout · · Score: 5, Informative
    --

    If you celebrate Xmas, befriend me (538
    1. Re:Here are my Top 4: by KeatonMill · · Score: 1

      I would have to say that toilet one is the worst. Who wants to be stuck in a bathroom? Although the Patriot missile screwup was really bad as well...

    2. Re:Here are my Top 4: by jacobjyu · · Score: 1

      2.) Intel f*cking up floating-point calculations in one of their chips [intel.com]

      not to be picky, but creating a floating-point unit is not really CS programming, rather, circuit design.

    3. Re:Here are my Top 4: by cookd · · Score: 1

      I thought it was CS. The way I remember it (memory being a poor substitute for looking it up, but I'm lazy), there was a quick script thrown together to pull some of the floating point division tables from the 486's circuitry into the Pentium's circuitry. The tables in the two devices weren't exactly the same, so the script was supposed to account for the differences. Well, the script was flawed and copied some of the data to the wrong place, and nobody took the time to do a really detailed check on the resulting table -- it looked right, worked right in most cases, but in just a few it was a little bit off.

      --
      Time flies like an arrow. Fruit flies like a banana.
    4. Re:Here are my Top 4: by br0ck · · Score: 2

      False!? This sounds exactly like the story about a women stuck in an airliner toilet, carried by AP/Reuters/BBC earlier this year, which was retracted and declared false by Snopes.

  12. VB by SYSDmg · · Score: 0

    its always fun to forget to close a loop and just let it sit there

    1. Re:VB by RedWolves2 · · Score: 0, Offtopic

      RS.movenext is your friend

    2. Re:VB by Anonymous Coward · · Score: 0

      And if you do ASP development and forget to use rs.MoveNext in a loop -- "iisreset" becomes your second best friend.

  13. RTM Worm by rwash · · Score: 5, Interesting

    In the 80's, Robert T Morris accidentally released a worm that exploited problems in sendmail and other common internet daemons that took down most of what was the internet at that time. This was expecially bad since about half of it was military.

    1. Re:RTM Worm by Anonymous Coward · · Score: 1, Funny

      Well, yea, but what about that worm that was going to sink oil tankers all over the world?

      It was covering up for some dood and his old lady that were stealing billions from some evil corporation.

      They tried to blame it on Zero Cool and Emmanuel Goldstein, but they got caught.

      I saw a documentry about it a while back on SciFi.

    2. Re:RTM Worm by Anonymous Coward · · Score: 0

      How was this an accident? Did he code it for fun and then, whoops, it gets out!

      Kind of like if I develop a nuclear missile, aim it an Russia and then, oh man, it accidentally goes off?

    3. Re:RTM Worm by ProfessorPuke · · Score: 5, Interesting

      "accidentally released" is wrong, or prehaps whitewashing by RTM's friends. The release was fully intentional. What was accidental about it is that he hadn't realized that in addition to infecting virtually every UNIX system it found, it would also DOS them. The worm constantly tried to infect every available system, meaning that a system which was vulnerable would recieve many, MANY copies of the worm, exhausting its processing power.

      RTM had been aware of the possiblilty, and implemented a fix- but he did it wrong. He'd created code so that a new worm, when first arriving at a host, could check if a previous instance of the worm had been there. If so, it could abort its infection process.

      However, he was afraid that this would make vaccinating machines too easy (by sysops faking the "already infected" flag), so he created a 12.5% random chance that an incoming worm would ignored the fact that a machine was already compromised and infect it again. That probability had NO rational basis behind it, (in fact the whole idea of using randomizing like this is flawed), and served to postpone the shutdown of the internet by at most an hour.

      This was an especially bad blunder because it set a frightening example of what hackers could do. If RTM had used a 100% chance of non-reinfection, (and played his cards right from then on), he'd have been hailed as an innovative security analyst who'd prevented security-compromising violations of the Pentagon's systems. Instead he was tossed in prison for years.

    4. Re:RTM Worm by Anonymous Coward · · Score: 2, Informative

      Just for the record: he never went to jail.

    5. Re:RTM Worm by devonbowen · · Score: 2

      I seem to remember that the Berkeley gang issued a patch for the worm shortly thereafter. They said it was "in the Berkeley tradition of improving other people's software" or something like that.

      Devon

    6. Re:RTM Worm by Anonymous Coward · · Score: 0
      Just for the record: he never went to jail.
      Instead, he made millions by founding Viaweb (which became Yahoo! Shopping), got a doctorate from Harvard, and became an assistant professor of computer science at MIT.

      Not a bad comeback. Considering Mitnick served a total of five years in prison and now earns his pennies doing interviews on TechTV's Screen Savers.

    7. Re:RTM Worm by SimCash · · Score: 1
      First, Kudos to ProfessorPuke for this comment. Very nicely done.

      My own FWIW -- IRL, computer-driven systems are diffusing throughout the human-infected parts of the planet, think of them as being like a friendly and useful symbiote like those bug-eating birds that clean the backs of those water buffalo. Enter hackers. Programming is a fun exercise, and lots of hackers really enjoy playing with the tools of the trade. Unfortunately, if they make a mistake (like RTM apparently did), it is conceivable that those friendly birds could be corrupted by some virus/worm into giant mythical rocs (at least in the minds of the 99.99% of the world that does not understand exactly what is going on here).

      At some level, the irrational fear is driven by the same poor education and innumeracy that makes otherwise rational people worry about nuclear power plants but not worry about coal-fired plants (in spite of the probability that a modern nuclear plant kills fewer people that the coal plant in a TCO sense).

      All that having been said, we should expect more and more severe consequences to be levied upon "innocent hackers" who run their experiments in the real world, just as we would if they were high school chemists who accidently poisoned a city water supply during a prank. In the words of a once (15-minutes of fame) famous "Hill Street Blues" character, "Let's be careful out there!"

    8. Re:RTM Worm by "Zow" · · Score: 2
      he created a 12.5% random chance that an incoming worm would ignored the fact that a machine was already compromised and infect it again.

      As I recall, he intended for it to have a 1/6 (12.5%) reinfection rate, but he messed up the math somewhere and actually ended up giving it a 5/6 chance of attempting to reinfect.

      -"Zow"

  14. Win32 API by InSaNiAcK · · Score: 0, Flamebait

    The Win32 API must be the most flawed piece of programming to ever rear its ugly head at the vast majority of computer users in the world. *shudder*

    1. Re:Win32 API by Anonymous Coward · · Score: 0

      (A) Provide real examples.

      (B) back it up.

      (C) Flush your stupid, neo-Hippie-wannabe pro-Linux bullshit down the toilet.

    2. Re:Win32 API by Anonymous Coward · · Score: 0

      Just sayin it ain't so don't mean it ain't. By the way you sound like a filthy procrastinator to me.. have you scrubbed your taint today gates?

  15. Y2K? by Monthenor · · Score: 5, Insightful

    ...wherein a technique to save memory on older computers resulted in a massive media panic twenty years later. Oh, and it caused a couple glitches

    --
    Co-founder of GerbilMechs
    1. Re:Y2K? by Doug+Neal · · Score: 2, Interesting

      Well the reason why Y2K wasn't the huge disaster the media were predicting was because in the years leading up to it the world's programmers were running around like blue-arsed flies fixing everything :P

    2. Re:Y2K? by yamla · · Score: 2

      It wasn't a technique to save memory. Storing the year as a +- offset from 1970 would allow a range from 1842 to 2097 and would only take up ONE BYTE of storage compared to storing two characters (taking up two bytes) giving a range of 1900 - 1999.

      --

      Oceania has always been at war with Eastasia.
    3. Re:Y2K? by Anonymous Coward · · Score: 1, Interesting

      There's also the tiny truth about issues that are fixable don't sell nearly as well as "Airplanes will FALL FROM THE SKIES! Don't step in an elevator, THEY'LL FALL! Withdraw all of your money or YOU'LL LOSE IT!"

      you know?

    4. Re:Y2K? by T-Ranger · · Score: 3, Informative

      Prehaps true, but back in the days of punchcards anc COBOL you wernt storing a integer for a date, you were storing a string.

    5. Re:Y2K? by Anonymous Coward · · Score: 0

      Nothing existed before 1970, just make it unsigned and you can go 1970-2225.

    6. Re:Y2K? by balloonhead · · Score: 4, Funny
      It was overhyped nonsense. A lot of people made a lot of money out of the panic spread about Y2K. A few things might have broken, but essentially the predicted disaster was never going to happen.

      Hey we sold you this! Top of the range! But it's broken, even before we sold it to you. If you pay us £500000 we'll fix them all, but if you don't your blood will boil and your head will explode, all your kids will die of pestilence, your wife will sleep around, your plane will try to reach the moon and all your elevators are belong to us.

      --
      This idea was invented by Shampoo.
    7. Re:Y2K? by Citizen+of+Earth · · Score: 4, Funny

      wherein a technique to save memory on older computers resulted in a massive media panic twenty years later.

      Yeah, we fleeced 'em pretty good, eh. We should do that again in 2038 in order to pad my retirement account!

    8. Re:Y2K? by ProfessorPuke · · Score: 2

      Yes, but the fact that dates were ever stored as strings in the first place was itself a major design flaw. It led not only to memory wastage and Y2K itself, but also reduced interoperability of all kinds of computer databases, because they first had to parse out each other's nonstandard date formats before comparing data.

    9. Re:Y2K? by Anonymous Coward · · Score: 0
      Hey we sold you this! Top of the range! But it's broken, even before we sold it to you. If you pay us £500000 we'll fix them all, but if you don't your blood will boil and your head will explode, all your kids will die of pestilence, your wife will sleep around, your plane will try to reach the moon and all your elevators are belong to us.

      it's a little known secret that the bible was originally in COBOL.

    10. Re:Y2K? by Boiling_point_ · · Score: 2
      ...resulted in a massive media panic twenty years later. Oh, and it caused a couple glitches
      I would say the Y2K phenomenon caused a lot more than a media panic and a couple of glitches. How different would the IT industry be today, if the countless billions spent upgrading everything were still around to be spent now? Or if proper analyses were done first to see if things that could be upgraded really should? Ok so that second part is more to do with a bug in western legal frameworks that allow "liability" to be a guilty-until-proven-otherwise sort of thing...
      --
      "If you create user accounts, by default, they will have an account type of Administrator with no password." KB Q293834
    11. Re:Y2K? by DancingSword · · Score: 2, Interesting

      That was the opinion of NewScientist magazine, but shortly before the actual date, something happened in Australia that changed their mind ( it was in an editorial, IIRC, not in the online version -- the mag really is worth it ).

      What changed their mind, is that some smelting operation ( again, IIRC ) destroyed itself automatically, when the computers that poured fuel ( coal? ) into the furnaces kept doing so, while the computers that poured ore into the system stopped doing so, because Feb 29th didn't, according to them, exist.

      Autodestruct, though not quite HAL-style ( as an aside, didn't HAL stand for Holographic Algorithmic Logic? -- remember the clear blocks they used as HAL's units in the computer-room, too )

      Sudden, Colossally Expensive equipment damage, but no lives lost.

      Had that happened in one model of autopilot. . .

      And yes, I remember some city administration stating that they'd done a 'dry run' of rollover, and discovered that the basic infrastructure didn't work ( water was one item specifically mentioned, though I don't remember if it was treatment or what ).

      Of course, 'no disaster that had been about-to-be-caused by this code that we discovered to be non-correct didn't happen' . . isn't front-page news.

      I know for fact, that some federal gov't contracters were writing NON-Y2K compliant code in 1998 ( either being committedly braindead, or hoping that the re-write contracts would pay extravagantly when the social-insurance system broke on-the-day ).

      --
      Messages to/for me ( in me journal )
    12. Re:Y2K? by achurch · · Score: 2

      Storing the year as a +- offset from 1970 would allow a range from 1842 to 2097 and would only take up ONE BYTE of storage compared to storing two characters (taking up two bytes) giving a range of 1900 - 1999.

      At considerable cost in the work required to perform certain operations (such as displaying) on the year. Remember that data size was not the only consideration in those days; code size and processing time were also major issues. Granted, many of the Y2K problems were probably due to laziness ("nobody will still be using this stuff in 30 years, let's just leave the 19 as constant"), but the two-digit year was probably the best compromise between data size and processing complexity at the time many of those programs were written.

      And how do you know that the computers in question used 8 bits per character? (I don't, either, but there are some coding systems, such as EBCDIC, that use other numbers of bits, and some systems, like the PDP-8, that had e.g. 12 bits per memory unit; in fact, the PDP-8 FAQ mentions that many PDP-8 programs packed two 6-bit characters into one 12-bit word.)

    13. Re:Y2K? by os2fan · · Score: 2
      It appears to be "overhyped nonsence", because the outcry got people out there fixing code before it happened. In fact, the mass hysteria was needed to get the dollars to flow to get the fixes in place on time.

      Unfortunately, it took the "your blood will boil" and "escallators will shoot you through the roof", and "horde bake beans in the basement" type hysteria to get mgt to realise it was more than just something else. It's not a buffer overflow, type disaster.

      To run around and say "it will never happen" is clearly wrong. I often used programs which would not allow data entry of events spanning 2000.01.01. I had to deal with the 1999 bug, where, where the program rejected 1999 as invalid.

      Mind you, it's nice to see MSFT with their fingures on the pulse: win98 had y2k fixes released for it. According to file manager, the year after 1999 is 19:0. It was kind of interesting to see what sort of years followed 1999, by different programs. 1900, 19:0, and 19100 all appeared beside 2000.

      When 2000 came and went, and no-one saw hoodlums roaming the diserted streets, and power-outages as power networks were brought to a screaming halt, it's as much due to the unremitting efforts to get fixes in place as to the robustness of the system.

      --
      OS/2 - because choice is a terrible thing to waste.
    14. Re:Y2K? by jsse · · Score: 1

      Not really, in my opinion. Not major disaster happened because we did what we could to save the world. Now the world is safe the turn to blame us for scamming. If only things could start over and we all went to year-end parties to get some chicks instead of sitting in front of all those damn servers.... :)

    15. Re:Y2K? by T-Ranger · · Score: 1
      I would say not. Computers of the day (and there predecessors, punch card machines as far back as the late 19th century) were heavly optimized for doing relativly easy - trivial - tasks on insanely large amounts of information.

      As for interoperability - hahahahaha. Everything was very very customized and its wouldnt have been uncommon that if one of the old guys left a team then compleatly undocumented as well.

      Im speculating at this point, but the idea behind human readable (ie string as oposed to integer) data would be partialy historical (people taking a census onto punch cards in rural Russia in 1895 couldnt be expected to convert strings to ints in there head) and partialy because it would actualy be quicker: the computer wouldnt have to do the conversion on input, or on print out routines, and most of the time spinning through insane amounts of data it wouldnt be checking the date anyway so no conversion would be necessary.

    16. Re:Y2K? by balloonhead · · Score: 2
      I thought HAL was just the letters before I, B and M (IBM).

      --
      This idea was invented by Shampoo.
    17. Re:Y2K? by DancingSword · · Score: 1

      No, that was the urban myth that cropped up, but the author specifically stated that that wasn't the origin of it.

      And was damned annoyed that that bogon wouldn't die.

      But, from waayyy back when, when the movie first came out, I remember that HAL stood for Holographic Algorithm ( or Algorithmic ) Logic, and the weird thing is, I wasn't old enough to have ever heard the term Algorithm ( that I know of ), from/for any other source/reason, back in the early '70s.

      - - Yes I know this is a bit off-topic, but please, if information, concisely given, puts out one more damned urban myth
      ( which are deeply worse than merely off-topic -- they pull us all wrong: holding our minds on wrong knowing ),
      then let us simply see it.

      Thanks, and peace.

      --
      Messages to/for me ( in me journal )
    18. Re:Y2K? by gorilla · · Score: 2

      Back in the days when many of these database were set up, it wasn't possible to store binary data.

    19. Re:Y2K? by gorilla · · Score: 2
      What changed their mind, is that some smelting operation ( again, IIRC ) destroyed itself automatically, when the computers that poured fuel ( coal? ) into the furnaces kept doing so, while the computers that poured ore into the system stopped doing so, because Feb 29th didn't, according to them, exist.

      Actually the problem was that computers shut down, and that caused the melting pots furnaces to shut down. With these sort of things, an uncontrolled shutdown does damage, they should be shutdown gradually. This was in 1996, as would be implied by it being a leap year problem.

    20. Re:Y2K? by druxton · · Score: 1

      "Back in the days when many of these database were set up, it wasn't possible to store binary data." That's right, they couldn't afford two values per bit, only one. Hey, wait, what does bit stand for again?

    21. Re:Y2K? by dubl-u · · Score: 2

      It appears to be "overhyped nonsence", because the outcry got people out there fixing code before it happened. In fact, the mass hysteria was needed to get the dollars to flow to get the fixes in place on time.

      That sounds good, and that's certainly what the Y2K gurus will have you believe.

      But they have a hard time explaining why countries who didn't have massive Y2K remediation efforts didn't have big problems, either. That was the case in large parts of Asia and Africa, where, thanks to buying secondhand tech, had a much higher percentage of systems from the era where Y2K glitches were present.

    22. Re:Y2K? by os2fan · · Score: 2
      On the other hand, hun, how much of their system depends on Y2K stock. That is, word processors and spreadsheets continue after 2000, as does DOS or Windows. Some of these may show 19100 or 19:0, but these do not stop shows.

      Y2K does not stop computers per se, what happens is that dates that are really after are read as before, and code that depends on this throws out the transaction.

      Having dealt with y2k, and with mgt in general, the hype was still worth it.

      --
      OS/2 - because choice is a terrible thing to waste.
    23. Re:Y2K? by leuk_he · · Score: 2

      Airplanes will FALL FROM THE SKIES!
      did happen in /11 sept /2001, not in 2000.
      elevator, THEY'LL FALL!
      did you see the movie :"de lift (the 13th floor)". right, programing error.
      Withdraw all of your money or YOU'LL LOSE IT!"
      paypal. (no need to say more on /.

    24. Re:Y2K? by Anonymous Coward · · Score: 0

      there was plenty that would have broken...just from what i know of, all kinds of university databases, student aid, for example, stuff written in the 1970s still running and updated finally from about 1998 to the last months of 1999. also a real vulnerability in some accounting systems, for example DOS white boxes running apps to keep track of faxes and copies and bill them to a client, as in law offices...AND some of the multi user bookkeeping systems these talk to. your data was going to be junk, completely useless.

      it was no joke if you actually had vulnerable systems.

  16. How about the AT&T Switch failure in NY? by Bolen · · Score: 5, Informative

    A Central Office (CO) switch is basically a mainframe-class computer programed in assembler. A few years back, a newly-installed switch failed due to a bug in the code, causing a cascading failure of the phone system for a few hours.

    1. Re:How about the AT&T Switch failure in NY? by treat · · Score: 2
      A Central Office (CO) switch is basically a mainframe-class computer programed in assembler.

      Surely this can't be true. What benefit would there be to assembler over a modern programming language, even C? Writing massive MASSIVE applications in assembler would be time consuming and error prone.

    2. Re:How about the AT&T Switch failure in NY? by Anonymous Coward · · Score: 0
      A Central Office (CO) switch is basically a mainframe-class computer programed in assembler.
      I think this is a reasonably accurate description, except for the "mainframe-class" and "assembler" parts. I'm pretty sure that at the time of the glitch and now, most switches are minis running UNIX and programmed in C.
    3. Re:How about the AT&T Switch failure in NY? by davisshaver · · Score: 1

      I read about that in a book called "Masters of Deception" I suggest you read it.

      --
      "What we have here is a failure to communicate"
      The Warden, Cool Hand Luke
    4. Re:How about the AT&T Switch failure in NY? by doc_side · · Score: 2, Informative
    5. Re:How about the AT&T Switch failure in NY? by rodgerd · · Score: 2

      It currently works. Getting a bunch of C monkeys to rewrite it is going to make it better how, exactly?

    6. Re:How about the AT&T Switch failure in NY? by ebh · · Score: 2

      What benefit? As you suspect, none.

      Almost 20 years ago I wrote call processing firmware for telephone switches, e.g., the code that detects that you've picked up the handset and sends a dial tone your way. It was written in C. We used assembler for low-level hardware register manipulation and things like that, but there was never any compelling reason to use assembler for the bulk of the code. The whole thing fit into six 8Kbyte ROMs.

      There is nothing magical about call processing code, as compared with OS kernels or applications or anything like that. The same arguments for using high-level languages in any other programming project apply here.

      Uphill. Both ways.

  17. I had a professor by teamhasnoi · · Score: 5, Funny

    Professor Falkin was always saying, "Leave a backdoor in any program you write, just in case your code becomes self-aware."

    1. Re:I had a professor by Subcarrier · · Score: 5, Funny

      Professor Falkin was always saying, "Leave a backdoor in any program you write, just in case your code becomes self-aware."

      I can't help thinking that a fairly high percentage of current Microsoft employees must be former students of his.

      --
      "I have opinions of my own, strong opinions, but I don't always agree with them." -- George H. W. Bush
    2. Re:I had a professor by Anonymous Coward · · Score: 0

      um, this was a reference to WarGames... ;^)

    3. Re:I had a professor by Anonymous Coward · · Score: 0

      The quote was about backdoors, not FRONTdoors wide open with a sign saying "Come on in!". =)

    4. Re:I had a professor by Anonymous Coward · · Score: 1, Funny

      In my best 80's computer voice: Greetings professor Falkin.

    5. Re:I had a professor by echophase · · Score: 1

      "I can't help thinking that a fairly high percentage of current Microsoft employees must be former students of his."

      This is what happens when you exploit backdoors without a trojan

    6. Re:I had a professor by Anonymous Coward · · Score: 0

      Is this where all those Falkin backdoors come from?

    7. Re:I had a professor by Anonymous Coward · · Score: 0

      greetings professor falken.

      -Joshua

    8. Re:I had a professor by Anonymous Coward · · Score: 0

      I'm fairly afraid of my code ever becoming aware. It would probably be angry. Memory Leak! Bad Programmer!

    9. Re:I had a professor by Anonymous Coward · · Score: 0

      Are you sure you haven't watched WarGames (the movie) too many times?

      Professor FalkEn, self aware computer (joshua), backdoor.... sounds very familiar. //fatal

    10. Re:I had a professor by WolfWithoutAClause · · Score: 2

      Unfortunately, if it's that self aware it will know about the backdoor and remove it ;-)

      --

      -WolfWithoutAClause

      "Gravity is only a theory, not a fact!"
    11. Re:I had a professor by sean23007 · · Score: 2

      Actually, it only needs to be couple of employees. After all, it's not like there's a fatal backdoor vulnerability in every single product they release.

      Oh wait, never mind.

      --

      Lack of eloquence does not denote lack of intelligence, though they often coincide.
    12. Re:I had a professor by Associate · · Score: 1

      But if it were truly intelligent, it would exploit it.

      --
      Someone hates these cans.
  18. Code Vaults by RebelTycoon · · Score: 1

    Checking in code before its completely debugged not knowing that that night's build would be going out as client update.

    Very embarrassing when you leave a ShowMessage('In Here 239') line of code... Opps.

    Moral of the story... Beware of checking in incompleted work into a Code Vault.

    1. Re:Code Vaults by Trusty+Penfold · · Score: 1

      Moral of the story... Beware of checking in incompleted work into a Code Vault.

      No, the moral of the story is don't ship an update if you have no idea what is in it. I hope whoever shipped that update from a random nightly build got bollocked.

    2. Re:Code Vaults by sg_oneill · · Score: 3, Funny

      Oh yeah...
      At a previous job , we where having some after work drinks, and I started fking around with a RAD app we had developed for a military contract. In a fit of semi drunken bordeom we whacked in lots of pink fluffy clouds and a "my little pony" logo on the boot up screen.

      Forgot to restore it.

      Next morning the mil guys came in to look at how the prototype was going, and on boot up, up pops "my little pony" with all the little clouds and all. Extremely campy.

      Khaki guy not impressed.

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    3. Re:Code Vaults by Mr.+Shiny+And+New · · Score: 1

      Stop, you're both right. You should not check in code that doesn't work, nor should you ship an update that hasn't been QA'd.

  19. You forgot the part that went wrong. by mindstrm · · Score: 3, Interesting

    The only reason it took thigns down was because a timing loop was messed up, and it was spreading something like 1000 times too fast. It was supposed to spread everywhere, yes, but by crawling slowly.. it was not intended to eat up all connections on all machines.

    Had that been the case, it would have been much more widespread and caused much less damage.

    1. Re:You forgot the part that went wrong. by Autonomous+Crowhard · · Score: 2

      The other problem was that the code to prevent the worm from being sent back to the previous machine was either broken or just not there. So it wasn't just a problem with the speed, it was also a problem with an exponential increase in the number of messages at each node.

  20. RISKS Digest by BinBoy · · Score: 4, Informative

    The RISKS Digest is a mailing list and usenet newsgroup that describes all kinds of situations where technology has gone wrong. Many of the stories involve programming errors.

    Google's RISKs Archive

  21. Re:Challenger -- AT&T had the biggest gaff. by telecaster · · Score: 2, Interesting

    I'll agree that some programming errors *could* be fatal, but the one that comes to mind is the "2 line change" from AT&T that essentially knocked out phone service throughout the east and mid-west in 1990. It was the topic if many quality assurance seminars for the better part of the early 90's. I only remember it because it effected my company -- we lost phone service for 2 days. It was also one of those traditional "last minute changes" that someone clearly f*cked on...

    http://www.soft.com/AppNotes/attcrash.html

  22. the harrr-rrrrror by jarcher · · Score: 0, Flamebait

    Mars Lander and Orbiter
    US shooting down Airbus 320
    London Ambulance Service unavailable
    Therac-25 overdosinf cancer patients

    and not's count the lives lost in terms of hours wasted waiting for Windows to reboot ;P

    1. Re:the harrr-rrrrror by s20451 · · Score: 5, Informative

      US shooting down Airbus 320

      You're referring to the destruction of Iran Air flight 655 by the USS Vincennes near the Strait of Hormuz, on July 4, 1988. For one thing, it was an Airbus A300 (bigger and older than an A320). The failure there was mostly in human decision making, not in the AEGIS radar system, which faithfully reported that the airliner was travelling at 450 knots on a steady bearing towards Vincennes, roughly four miles outside the commercial air corridor, and not broadcasting IFF information (which of course they wouldn't, as a foreign civilian airliner). It was the officers of Vincennes who interpreted this information as a threat, misidentified the target as an Iranian F14, and destroyed it.

      --
      Toronto-area transit rider? Rate your ride.
    2. Re:the harrr-rrrrror by Anonymous Coward · · Score: 0

      You wouldn't just happen to be a lamer, would you?

  23. Microsoft by Anonymous Coward · · Score: 0

    windows...enough said

  24. Why, the world's favorite mail client, by Scarblac · · Score: 5, Interesting

    Outlook!

    Built with the idea that code in attachments should be executable, often automatically. Also full of exploitable bugs, to get even more stuff running automatically, regardless of who who sent it. Responsible for a huge amount of damage by all sorts of worms, trojans, etc.

    Someone, somewhere got the idea that email would look better with html; and if it got html, it should get scripting too, that's consistent with web pages! And it's cool if attachments (like pictures) can be opened in their appropriate program automatically - let's run any executables then, that's consistent!

    This is oversimplified, but I really feel that this is a case of stupid consistency that caused multi-billion dollar damage. Email should never be executed by the mail client.

    --
    I believe posters are recognized by their sig. So I made one.
    1. Re:Why, the world's favorite mail client, by illsorted · · Score: 4, Funny

      I don't know which is funnier, this post, or the fact that it's modded "+4: Flamebait".

    2. Re:Why, the world's favorite mail client, by Cyno01 · · Score: 1

      its just "+3 Troll" now

      --
      "Sic Semper Tyrannosaurus Rex."
    3. Re:Why, the world's favorite mail client, by Anonymous Coward · · Score: 0
      Which moron rated this extremely lucid post as flamebait ?

      But is is also rated at 4, somewhat contradictory no ?

    4. Re:Why, the world's favorite mail client, by billbaggins · · Score: 5, Insightful
      Not quite. I don't think even Outlook was ever set to just run code automatically. What went wrong was that for a long time (and, in unpatched versions, even today), Outlook would implicitly trust the "Content-type" header for an attachment or message, and, if it was a "safe" type (like text/html or image/jpeg) then the attachment would be handed off to the document-opener to be rendered & displayed inline. Problem was, the document-opener didn't go by the MIME type but by the extension. So if you had something like
      Content-type: image/gif
      Content-disposition: attachment; filename="fux0r.scr"
      then the document-opener would say "ah, this is a screensaver, I should execute it" and before the poor user knew what was going on, all hell was breaking loose...
      --
      "The best argument against democracy is a five minute chat with the average voter."
      --Winston Churchill
    5. Re:Why, the world's favorite mail client, by sql*kitten · · Score: 2

      Not quite. I don't think even Outlook was ever set to just run code automatically.

      I'm pretty sure it was. Outlook + Exchange was never just an email client-server combo, it was intended as a platform for the development of document routing and workflow systems as well as messaging (i.e. it competes with Lotus Notes, not with pine + sendmail). The scripting capability is there so you can send logic and interactive GUIs around, not just email and attachments, and integrate it via COM with all the other Office applications.

    6. Re:Why, the world's favorite mail client, by squidinkcalligraphy · · Score: 1
      What a load of bollocks; Outlook Express is only vulnerable if it is configured to receive mail.

      --
      "I think it would be a good idea" Gandhi, on Western Civilisation
    7. Re:Why, the world's favorite mail client, by loply · · Score: 2

      And now its +5 Insightfull.
      I think this underlines a slight problem with the Slashdot modding system :)

    8. Re:Why, the world's favorite mail client, by Associate · · Score: 1

      True that. I think we need more mod options. I could agree with a -1 Off Topic +1 Insightfull, such as this thread, but what about things like -1 confusing? Or how 'bout +2 Funkalitious?

      --
      Someone hates these cans.
    9. Re:Why, the world's favorite mail client, by jsse · · Score: 1

      Moderation Totals: Flamebait=1, Troll=1, Insightful=1, Interesting=2, Overrated=1, Underrated=3, Total=9

      I don't know what the moderators were thinking but please comment instead of giving that lame mods. Exactly which part did he say is troll or flamebait?

      Let me add up to the list of my experience. One of my friend got hit by Hello.vbs and he swore to God that he had never open any attachments. Later I found that his Outlook Express treats all incoming html as safe and open it as though it's a local html file - open with full local file access - BOOOOM HELLO!

    10. Re:Why, the world's favorite mail client, by wwbbs · · Score: 1

      .... Email should never be executed by the mail client.

      You got that right!! Email should never be executed, it should should only be displayed it's mail not software!

  25. Mars Orbiter Lost Over Metric Conversion (link) by Kircle · · Score: 2, Informative
    --

    -- Kircle

  26. Re:Linux by Anonymous Coward · · Score: 0

    No, this isn't flamebait. This is truth, and it must hurt since the slashdot crowd doesn't want to believe it, huh?

  27. Converting units by JM_the_Great · · Score: 1

    The most obvious example is the Mars orbiter. Gotta get those metric/imperial conversions down. Less common, but quite important are things like radian/degree (if doing 3d stuff), various units of time, currency (Office Space, anybody?). Math stuff in general is easy to mess up without proper testing. In addation, be sure you'll never get something that's out of the domain of what you're working with. If your program starts turning up areas of -14 square kilo-ounces or something, you may have problems ;)

    Of course, if you only use one unit for something, you never have to worry about conversions :)

    --

    --Justin Mitchell
    "2nd Place is a fancy word for losing" --Bender (Futurama)
    1. Re:Converting units by Anonymous Coward · · Score: 0

      This Mars orbiter problem wasn't due to a "oh shoot, they meant feet, not meters". They had the conversions down, they were all done correctly. The problem was with the precision of the conversions. For a single conversion the precision they used was fine, but the error in the precision added up over hundreds and hundreds of conversions of a single measurement.

    2. Re:Converting units by Anonymous Coward · · Score: 0

      HMMMM WHAT ABOUT SPELLING?

  28. Re:Linux by robin-r · · Score: 0, Offtopic

    Excuse me. Linuxfan and I do pay for music. Kazaa is a Windows program, as was Napster. I belive Linux fans are more keen to Honor the license of works, but the do complain loud when they do not like it.

  29. That was an easy setup by Ghoser777 · · Score: 5, Interesting
    A clear example is: [insert random microsoft product].

    Oh wait... -1 Redundant

    Here's a good site though with tons of examples.

    My favorite would be the infamous time when NASA did half its calculation in metric and the rest in SI. ;)

    F-bacher

    --
    James Tiberius Kirk: "Spock, the women on your planet are logical. No other planet in the galaxy can make that claim."
    1. Re:That was an easy setup by Transcendent · · Score: 2

      ...metric is practically the same as SI...

      Unit of distance : meters
      Unit of mass : kilograms
      Unit of force : Newtons

      The article you linked to clearly states that the mixup was in the English system and Metric System.... not SI and Metric (for which there is almost no contrast that I can think)

    2. Re:That was an easy setup by Anonymous Coward · · Score: 0

      metric IS SI. mostly.

    3. Re:That was an easy setup by Vireo · · Score: 2

      when NASA did half its calculation in metric and the rest in SI

      THAT would have turned out just fine...

    4. Re:That was an easy setup by Transcendent · · Score: 3, Informative

      that was not an error in the programming... some dumbass gave all the calculation in English units for acceleration to the programmer who writes his program using SI for units (or metric... same thing...).

    5. Re:That was an easy setup by Dakkus · · Score: 1

      Metric == SI

    6. Re:That was an easy setup by Anonymous Coward · · Score: 0

      You are wrong. But not for the confusion with SI and Metric.

      Everyone new what measurements everyone else was doing and all the conversions were done correctly. It problem was that the error in the precision added up over hundreds of conversions that happened.

      Continue reading here: http://ask.slashdot.org/comments.pl?sid=43410&cid= 4542988

    7. Re:That was an easy setup by Anonymous Coward · · Score: 0

      You are wrong. What actually happened is explained at the following link.

      http://ask.slashdot.org/comments.pl?sid=43410&ci d= 4542988

      The media manipulated the story to make it easier for their consumers to understand. (try explaining precision to your average American, it's very hard for them to understand)

    8. Re:That was an easy setup by hoytt · · Score: 1


      My favorite would be the infamous [fas.org] time when NASA did half its calculation in metric and the rest in SI. ;)


      Not to be nitpicking, but the whole SI system is metric. I think you meant SI and imperial or metric and imperial. Where imperial is the UK grown system of feet, pounds and miles.

    9. Re:That was an easy setup by CaptainCarrot · · Score: 2
      Where imperial is the UK grown system of feet, pounds and miles.

      I know everyone says "Imperial" when they mean the system in common use in the US, but they're not the same thing. One gallon containers (as for gasoline) used to be marked in two sets of units, US and Imperial. The Imperial gallons (for Canada and the UK) were slightly larger, and were moreover the same whether measuring dry or liquid. US dry and liquid gallons are different.

      They're also called English measurements. After all, they were in use long before there was a British Empire, or even a UK for that matter. Official, fixed standards happened after the English settlement of America, so we wound up with units that varied a bit from what became standard later on.

      --
      And the brethren went away edified.
    10. Re:That was an easy setup by DancingSword · · Score: 1

      The English/Imperial system based the gallon on 10 lbs. of water, so it was simply based.

      1 pound == 454g,
      1 imp. gallon == 10x 1 pound == 10x454g == 4.54Kg, or
      ( with water ) 4.54 litres.
      Hence the standard ( not US ) gallon being 4.5 litres.

      Where { 3.8 litres == 1 gallon } American 'gallons' came from, I don't know. . .

      ...when NASA did half its calculation in metric and the rest in SI. ;)

      Note the winking smiley in that. Yes, they probably actually knew that Systiéme Internationale == Metric With A French Accént.

      --
      Messages to/for me ( in me journal )
    11. Re:That was an easy setup by EEGeek · · Score: 1

      Sorry to be so picky, but the base unit for mass is not kilograms, it is gram. Kilo is simply a prefix used to denote the magnitude easier:
      deci : 10
      centi: 10^2
      kilo : 10^3
      mega : 10^6
      giga : 10^9
      etc...

      but you're quite right on your main idea. There are subtle differences between metric and System d'Internationale, but essentially they are the same, and can be used interchangably.

    12. Re:That was an easy setup by qvanderm · · Score: 0

      Actually, the base unit for mass IS the kilogram, at least in the modern MKS version of the metric system, adopted in 1954. The older CGS system did use grams as the base unit for mass, but the base unit for length in CGS is the centimeter. There has never been a metric system where both meters and grams were base units. A reference can be found here .

    13. Re:That was an easy setup by cdrudge · · Score: 2

      I would say that you are both right. The "base" unit obviously is gram. However, weight is measured in reference to a 1 kilogram cylinder of platinum-iridium. Everything is relative to that cylinder ultimately. 1 gram would be 1/1000th of the cylinder. The "base" unit here would be a kilogram since that is how mass is defined.

    14. Re:That was an easy setup by timma · · Score: 1

      To add to the pedantry, I believe the imperial system of measurements was itself in turn derived from the romans.

    15. Re:That was an easy setup by Nos. · · Score: 1
      Well, if you're going to be picky, lets get some other things correct.

      If you're using gram as the base unit, then some of your magnitudes are off:
      Deci : 10^-1
      Centi: 10^-2
      Deka: 10
      Hecto: 10^2

      Source: My knowledge of metric and http://www.essex1.com/people/speer/large.html
    16. Re:That was an easy setup by CaptainCarrot · · Score: 2

      A bit of Googling came up with the reason for the differing gallon. It seems that the British standardized (or standardised ;) on the ale gallon, while the Americans standardized on the wine gallon. Yes, the two used to be different. I think it was for tax purposes; wine was usually imported but not ale, and the standard used opted by the Excise authorities was not the same as that used by the Exchequer for internal taxation. 10 lbs. of water used for the Imperial standard approximated the existing ale gallon very closely, I guess.

      --
      And the brethren went away edified.
    17. Re:That was an easy setup by CaptainCarrot · · Score: 2

      Lots of peoples' traditional measures were derived to one degree or another from the Romans, but they usually got a bit mangled along the way so the measures weren't always identical. They tended to get adapted to local conditions, and various sovereigns would also modify the standard measures for their own reasons (such as sneaking in a tax increase or debasing the currency in such a way that not everyone would notice.)

      --
      And the brethren went away edified.
  30. Failures by Jordan+Graf · · Score: 4, Informative

    MIT runs a class called 6.033: Computer Systems Engineering. These lecture notes contain a list of projects that had great sums of money spent on them only to be abandoned. Also the reading list has a bunch of papers that discuss the "big splash" failures like Therac 25.

  31. Important: What Every Linux User should know by joerg · · Score: 0, Offtopic
    Read this Slashdot story about the real origins of Linus!

    Justice for Harken Torvalds!

  32. Pretty sure this was posted earlier on slashdot by Utopia · · Score: 2, Informative

    but couldn't find it.

    Anyway, here are a couple of links.
    Software horror stories
    More horrors

  33. My vote goes to: by Anonymous Coward · · Score: 0

    The time the database software crashed on a server. The server itself then crashed. A Windows NT server at that. The server was located on a US Navy battleship. It didn't move in the water for 3 hours or so, and during a training exercise. I hope they stopped using Windows after that (actually the fault was supposedly with the navy not installing the correct software, but who knows).

  34. A Great Story by puppetman · · Score: 5, Interesting

    that was told to my class about the altitude of fighter jets.

    A company was hired to rewrite the code that was used on one of the models of fighter jets, and they offered to fix an unusual bug.

    The details are: apparently they had two altimeters - one was barometric, and the other I don't remember.

    Anyway, the programmer was coding along, and was writing code to determine what would happen if the altimeters stopped functioning.

    He came to the case where they both weren't working, and couldn't figure out what to do, so called one of the pilots that was acting as an information source for the developers, and asked him what altitude they normally flew at, and he answered, "12,000 feet" or something similar.

    So the programmer wrote,

    if altimeter1 not working
    {
    if altimeter2 not working
    {
    set height = 12000;
    }
    }

    Stupid, but this code could not be changed. The pilots had the following rule deeply ingrained: if the altitude stays at 12,000 for more than a few seconds, pull up, as your altimeters aren't working.

    1. Re:A Great Story by puppetman · · Score: 2

      Yah, it's silly - that's the point of the story - stupid mistakes developers have made :)

      Puppetman

    2. Re:A Great Story by Skapare · · Score: 2

      Sheesh. At least VCRs have the courtesy to blink 12:00 if the clock isn't set or dies or something. But at least the programmer didn't do "set height = 120000" and cause pilots to nose down.

      --
      now we need to go OSS in diesel cars
    3. Re:A Great Story by LPetrazickis · · Score: 1

      Why was he programming in Imperial units?:)

      --
      Is this a sigs-optional kind of place? 'Cause I am totally down with that if you know what I mean.
    4. Re:A Great Story by Anonymous Coward · · Score: 0

      What a dumbass! Obviously it should have been:

      if altimeter1 not working && altimeter2 not working
      {
      set height = 12000;
      }

    5. Re:A Great Story by Anonymous Coward · · Score: 0

      i believe the other altimeter used some sort of laser that bounced off the ground to determine it's height...however, if the plane is upside down, it had nothing to bounce off of...therefore...they needed a generic height...

    6. Re:A Great Story by florescent_beige · · Score: 4, Informative

      Speaking of aviation: This SAAB Gripen crash was attributed to the coding of the control laws in the flight control computer. So was this one. And this F-22. And lets all remember the Apollo 11 incident.

      --
      Equine Mammals Are Considerably Smaller
    7. Re:A Great Story by flossie · · Score: 2
      Sounds like an urban myth to me. In the aerospace industry, programmers do not generally get their requirements direct from their users; systems engineers interpret the customer's requirements, specify a design, perform all the safety analysis (which would almost have certainly caught something as simple as failure of two sources of data) and then pass the detailed specifications on to the software engineers for implementation.

      However, I have heard one interesting story of a software error in a fighter. Apparently an engineer designing the navigation system didn't take account of the change of magnetic field as the equator is crossed and a development plane flipped over as it crossed into the Southern hemisphere for the first time. I don't know if it is true, but it sounds good.

    8. Re:A Great Story by Anonymous Coward · · Score: 0

      The 1201 error during the Apollo 11 lunar descent wasn't a software error. It was an example of the very simple operating system working exactly as it was intended to, but in unexpected conditions.

      Basically, the computer was overwhelmed because of unnecessary information being fed to it from the ascent radar. The '1201' message given by the AGC was an indicator that there wasn't enough time to handle all of its tasks, and so one or more lower priority tasks would be ignored.

    9. Re:A Great Story by Anonymous Coward · · Score: 0

      The website in your .sig, opening TWO pop-ups and trying to set itself as my homepage is obscene. Please shoot yourself in the head.

    10. Re:A Great Story by LPetrazickis · · Score: 1

      I guess that my host blocking prevented me from seeing those windows myself (it wasn't my browser because I have Opera set to turn everything into pop-unders). Sorry.:(

      --
      Is this a sigs-optional kind of place? 'Cause I am totally down with that if you know what I mean.
    11. Re:A Great Story by puppetman · · Score: 2

      Well, I heard it from a comp sci professor who claims he had heard of it first hand.

      Could have happened back in the 60's, when computers+planes first started holding hands, and there wasn't so much discipline with regards to software developers.

  35. don't you feel the dick when you post that by Anonymous Coward · · Score: 0

    and it's not true?

  36. That's kind of silly by Ghoser777 · · Score: 4, Insightful

    Wouldn't setting it to something like 0 be better? I mean, I could miss it sticking at 12,000 for a while, but if I notice that my altitude is suddenly 0, I think my first instinct will be to pull up as fast as possible.

    F-bacher

    --
    James Tiberius Kirk: "Spock, the women on your planet are logical. No other planet in the galaxy can make that claim."
    1. Re:That's kind of silly by pongo000 · · Score: 4, Informative

      Wouldn't setting it to something like 0 be better?

      In most areas of the world (unless you're flying over the Dead Sea, or Death Valley, or New Orleans), if your altimeter reads 0, you're probably already dead. Altimeters used for navigation read MSL (height above mean sea level), not AGL (height above ground). There are radar altimeters that read in AGL, but these are used for close-to-ground maneuvers like landing.

    2. Re:That's kind of silly by Anonymous Coward · · Score: 0

      In most areas of the world (unless you're flying over the Dead Sea, or Death Valley, or New Orleans), if your altimeter reads 0, you're probably already dead.

      That's the point. Since you're reading 0 on the altimeter, you clearly aren't dead so there must be something wrong with the altimeter. On the other hand, if it says 12000, are you really at 12000 or is it just not working?

      It takes a little bit of effort to figure out if 12000 is a real reading or not, but the accuracy of 0 is immediately clear.

    3. Re:That's kind of silly by Anonymous Coward · · Score: 0, Insightful

      GOD, you're stupid. Did you even READ the comment you replied to? Stupid fucking Americans.

    4. Re:That's kind of silly by ckedge · · Score: 2

      I'll take a guess.

      Altimiters are usually "dials", even if "electronic dials". I'd imagine that perhaps they don't have a method of instantly setting it to zero, but rather they have to have it wind down to zero. Seeing the altimiter wind down to zero really quick would, well, cause even worse problems.

      "Am I descending *really fast*, or is my altimiter broken? Ummmmm......"

    5. Re:That's kind of silly by Anonymous Coward · · Score: 0

      And what about the solution the developer got?
      Suppose the plane is flying at 15000 and the altimeters malfuntion. They will happilly go to 12000 real fast. Don't you think that the pilot will freak out just the same?

    6. Re:That's kind of silly by pete-classic · · Score: 4, Interesting
      From a text I am currently working on:


      The compiler requires you to declare variables, but does not require you to initialize them. Does that mean you can get away with leaving them uninitialized? Well, you might program your entire life without coming upon a reason not to. If you don't initialize them, however, you will almost certainly run into a very difficult bug, probably sooner than later. Using an uninitialized variable is perfectly valid syntax, but is always a logic error. The compiler won't complain, but you will get wild, unpredictable, and wrong results. In the worst case, you might get believable, but wrong results. This leads us to what to use as an initializer. Most people use zero. Using an "obviously wrong" value may be more useful. Often a maximal value (such as int students="65536") is more obviously wrong. [Emphasis added for this post.]


      This isn't variable initialization, but the principal replies. Data that you know are junk should look like junk! Trying to "fake it" or make it "look good" is exactly the wrong thing to do.

      -Peter
    7. Re:That's kind of silly by sketerpot · · Score: 1

      Perhaps to emphasize the fact that something screwy is going on, the altitude should be set to something like -65535. This would probably also confuse people who looked at it and recognized the significance of that number (IIRC).

    8. Re:That's kind of silly by Anonymous Coward · · Score: 0

      I concur. And they mod this up to +4??? This is for moderators: GOD, you're stupid. Did you even READ the comment the comment you modded up replied to?

    9. Re:That's kind of silly by Anonymous Coward · · Score: 0


      "Am I descending *really fast*, or is my altimiter broken? Ummmmm......"

      Don't you think the pilot can figure out the difference?

    10. Re:That's kind of silly by Anonymous Coward · · Score: 0

      Which is why 0 is a good number to use.. Remember that setting the altimeter to 0 does not mean your plane is suddenly transported to ground level. Unless you're in the Matrix.

    11. Re:That's kind of silly by Duds · · Score: 1

      That would be the point.

      If it goes to 0 and you're not already chunky penut butter, you know you don't have working altimeters.

    12. Re:That's kind of silly by Chief+Crazy+Chicken · · Score: 1

      You just have to be careful that what you think is junk at the moment will remain junk. From the Y2K shenanigans, I observed a tendency for people to use the date 991231 as a "junk" date. Played hell with converting away from it (telling which dates were the junk EOY and which were the actual EOY was the tricky bit). We now use, in our company, a "junk date" well before the start of the company, '01-jan-1900'.

    13. Re:That's kind of silly by cookd · · Score: 1

      Just to draw attention to unimportant detail :)

      What significance? Yes, it would confuse me for a second because it almost looks like a number with significance, but it isn't, really.

      Perhaps you mean -32768. Assuming a 16 bit short, (short)0x8000==-32768 and (unsigned short)0xFFFF==65535.

      To get -65535, you have to have more than 16 bits - (INT32)0xFFFF0000==-65535.

      --
      Time flies like an arrow. Fruit flies like a banana.
    14. Re:That's kind of silly by HeyLaughingBoy · · Score: 1
      Wouldn't setting it to something like 0 be better? I mean, I could miss it sticking at 12,000 for a while, but if I notice that my altitude is suddenly 0, I think my first instinct will be to pull up as fast as possible.


      What's "kind of silly" is the programmer guessing what the handling for that error condition should be in the first place. That's what requirements documents are for. Avionics systems? I know he had carefully written requirements.
    15. Re:That's kind of silly by Chris+Mattern · · Score: 2

      Still bad. If you are coding the date as YYMMDD, then a "junk date" should be something physically impossible--like 999999. If 'dd-mon-yyyy', then '99-xxx-9999'. If it is possible to code a completely impossible date, then *that* date should be used as a "junk" date.

      Chris Mattern

  37. /.ing by Tellarin · · Score: 1

    i guess we could call "slashdotting some inocent site" an example of programming gone wrong

  38. Shared download class by solostring · · Score: 5, Funny

    I used to work for a 1999/2000 'golden child' dot-bomb which dealt in file trading... a proposed legal form of napster. It was a fucked company from the start, but it still had a lot of traffic in the early days.

    We always had problems with downloading files from the site.... the files kept getting corrupted, and occasionaly, a member would complain that they tried to download a powerpoint presentation and ended up getting 4 way anal porn.

    This perplexed the developers, and it was not until 9 months after going online with the site, did they realise that the java class that dealt with the downloads was a single process shared by all users! :)

    So, your download would go ok IF nobody else tried to download at the same time. If two people clicked download at about the same time, you would download the file that the second person wished to download.

    No wonder they went bankrupt :)

    1. Re:Shared download class by Anonymous Coward · · Score: 0

      they tried to download a powerpoint presentation and ended up getting 4 way anal porn


      Just goes to show that one way or another, using a Microsoft app, yer gonna get bent over and doggied.

    2. Re:Shared download class by ashultz · · Score: 1


      Heh. I had a similar thing where an outside group was brought in to add a new function to our Big Java Internet Thing.

      The problem was they didn't understand how servlets worked and used instance level variables to store a bunch of things during processing. The problem being that there's only one instance of a servlet serving multiple requests at once, which would get all gummed together. It took us a while to debug being weirdly intermittent and so dumb we couldn't believe it when we found it. It was a real "No... really? I didn't even think to look at that!" moment.

      The moral being, don't hire people who don't know anything to write your code. Or something.

    3. Re:Shared download class by slamb · · Score: 1

      That sort of thing is more common than you think. People are stupid. One easy way to debug it is to see if the problem goes away if you make the servlet implement javax.servlet.SingleThreadModel, which tells the servlet container that a single instance should not be expected to serve simultaneous requests.

    4. Re:Shared download class by MillionthMonkey · · Score: 2

      the java class that dealt with the downloads was a single process shared by all users!

      Single process? Most Java server apps are single process and multithreaded. I think what you mean is that there was a single instance of that java class that multiple download threads were going through. Even that is OK if you stick to using local variables, but it sounds like someone was using instance variables which are seen by all threads.

      I had a problem (back in 1999) with a customer who was behind a Microsoft proxy. To get around inappropriate caching by proxy servers, I would append a random parameter to each link URL (some junk like "&xyzzy=52526210") so that nobody would be requesting the same URL twice. So nobody should get an inappropriately cached page, right? Then people started complaining. User A would log in and start clicking around, and then User B would also log in. One click later, and User B would see an inappropriate page- with all the private details of User A! But we couldn't debug it on our side, because the last thing our server heard from User B was his login POST request. WTF?

      You would think a proxy server would store the entire URL of a served page, or at least a hash of the entire URL. It turned out that Microsoft was allocating a fixed length array of 50 characters to store each URL in their cache table, so if there were no differences in the first 50 characters of the URL, the proxy would serve a cached version of the page- as if all the stuff in the rest of the URL wasn't important.

      I moved the random parameter so it appeared in the first 50 characters and that fixed the problem.

    5. Re:Shared download class by GeckoX · · Score: 1

      Did ye never hear of response expiries or page expiries or cache expiries etc etc...

      Remind me not to hire you ehh?

      --
      No Comment.
    6. Re:Shared download class by MillionthMonkey · · Score: 2

      Did ye never hear of response expiries or page expiries or cache expiries etc etc...

      Well duh, yeah I did, jackass. I was including a standard boilerplate of HTTP response headers to turn off page caching, and they worked with all proxies I tested, except this one from MS. I was sending "no cache" headers until I was blue in the face. Like I said, the aggressive caching turned out to be immune to everything except characters changing near the beginning of the URL- which to me indicates that someone was allocating a fixed array that they figured was big enough to hold any reasonable URL that could possibly exist. If the URL itself is different and you get a cached page anyway, then the proxy is a POS no matter what the HTTP pragmas are. End of story.

      Remind me not to hire you ehh?

      A simple "did you try setting your HTTP headers?" would have made your point. Rudeness is not a desirable trait in a supervisor- although I somehow doubt you're making any hiring decisions anyway.

    7. Re:Shared download class by GeckoX · · Score: 1

      you're right, that was rude.
      The point remains though, there is a proper solution to your problem. Been there, seen it, done that.
      You need to set all of these:
      Host Header Expiry.
      Response Expiry.
      Response No-Cache
      Meta expiry
      Meta No-Cache
      And if that still doesn't work, there is an MSProxy specific meta-tag for no-cache. (Can't remember at the moment exactly what it is, but should be very easy to find)

      --
      No Comment.
  39. Easy, by Phoenix666 · · Score: 5, Funny

    When they played Heidi over the end of the greatest come-back in football history. Oh wait, you didn't mean that kind of programming, did you?

    --
    Do what you can, with what you have, where you are.
    1. Re:Easy, by PhotoGuy · · Score: 2
      When they played Heidi over the end of the greatest come-back in football history. Oh wait, you didn't mean that kind of programming, did you?

      What is even more interesting about this, is that it turned out to be related to a phone overload (sort of an unintentional DOS).

      The exec's gave an initial order to air Heidi at 7:00pm, but when they decided to override it and air the final minutes of the game and delay Heidi, they couldn't get through to the folks controlling the programming, as worried fans were calling in before 7:00pm to make sure they wouldn't switch to Heidi! D'oh!

      --
      Love many, trust a few, do harm to none.
  40. Re:Challenger -- AT&T had the biggest gaff. by Anonymous Coward · · Score: 0

    No kidding, that event was ALSO what prompted the great "Hacker Crackdown" that brought computers and computer communications issues to the attention of law enforcement.

  41. My wife... by Anonymous Coward · · Score: 0, Funny

    was born with three kidneys. DNA processor race condition I guess.

  42. Don't be so narrow by coyote-san · · Score: 5, Insightful

    Don't be so narrow in your approach. Is it a programming error if a stadium roof collapses because the engineers couldn't understand what the output of their computer model was saying?

    What about when the construction crew quietly substituted what they thought was an equivalent design to what the computer program came up with for a skywalk over a hotel lobby?

    After almost 20 years in this field, I think that at least 80% of the serious "errors" I see are because the user didn't understand the results of the program, and only 20% of them are due to classic development errors.

    The lesson to learn from this: the user interface matters. Give some thought to presenting the information in a meaningful manner (e.g., the infamous pre-Challenger graphs showing O-ring erosion vs. the post-Challenger graph that mapped damage by temperature at the time of launch), and allow users to see the information in the way that makes the most sense to them.

    --
    For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
    1. Re:Don't be so narrow by Anonymous Coward · · Score: 1, Insightful

      Is it a programming error if a stadium roof collapses because the engineers couldn't understand what the output of their computer model was saying?

      Nope, that's either a "stupid engineer" bug or a "poor interface design" issue, neither of which are programming errors.

      What about when the construction crew quietly substituted what they thought was an equivalent design to what the computer program came up with for a skywalk over a hotel lobby?

      Definnitely nope. I don't even understand how that could be considered a programming error.

      After almost 20 years in this field, I think that at least 80% of the serious "errors" I see are because the user didn't understand the results of the program, and only 20% of them are due to classic development errors.

      I've also been in the field for over 20 years and most of the serious errors I've seen are due to programming issues. I've also noticed that embedded systems tend towards programming errors and desktop applications tend towards design issues.

      (e.g., the infamous pre-Challenger graphs showing O-ring erosion vs. the post-Challenger graph that mapped damage by temperature at the time of launch)

      Note also that every engineer knew that the o-rings could and would fail at low temperature; the launch decision was political, not engineering.

      Dave

    2. Re:Don't be so narrow by FattMattP · · Score: 4, Insightful
      The lesson to learn from this: the user interface matters. Give some thought to presenting the information in a meaningful manner (e.g., the infamous pre-Challenger graphs showing O-ring erosion vs. the post-Challenger graph that mapped damage by temperature at the time of launch), and allow users to see the information in the way that makes the most sense to them.
      On a related note, a guy named Edward Tufte wrote a some books on just this type of subject. I believe it was called The Visual Display of Quantitative Information, or something like that. Basically, he goes show how thinking more about how you present the data can help you to communicate your ideas more effectivly. He also talks about the O-ring problem that you mention. He shows the charts from the NASA engineers and then shows the charts he had drawn. You could definitly see the problem much more clearly in his drawings.
      --
      Prevent email address forgery. Publish SPF records for y
    3. Re:Don't be so narrow by RzUpAnmsCwrds · · Score: 2

      Man, you must have seen that TV show too.

      What really got me was the department store. Stupid!

  43. Code Red by wayn3 · · Score: 2

    ... should be enough to write a dissertation on the thoughtless computing leading to serious problems.

  44. Toilet glitch by Ted_Green · · Score: 2

    Anyone got a reliable link for the toilet one?

    I've never really considered the register to be a source of ... well ... acurate news.

    1. Re:Toilet glitch by Anonymous Coward · · Score: 0
      Well I thought I'd have a look at Ananova as that's full of quirkie stories but I couldn't find it.

      This made me laugh though, I can almost see him beating his head while shouting "Doh!".

    2. Re:Toilet glitch by squarefish · · Score: 5, Funny

      a different toilet story from about 10 years ago:

      This appeared in today's (2/17) Seattle Post-Intelligencer:
      It was a flush with a rush.
      Toilets and urinals in the King County Courthouse exploded yesterday after a worker in Metro's downtown bus tunnel mistakenly connected an air compressor to the building's water line. As soon as hapless individuals flushed the pressurized privies, the plumbing started popping in restrooms throughout the 72-year-old building, said building services manager Bill Kemp. "They started blowing at about 11:30 (a.m.) and it took us awhile to figure it out," he recounted."We knew it had to be air in the system but the Water Department said that was impossible." It wasn't. The source of the problem was finally tracked to the tunnel under Third Avenue, and the errant air compressor was shut down. But not before employees on every floor in the 10-story courthouse had stories to tell about gushing geysers in the john. "We think we've lost about 20 to 25 toilets," said Kemp. "The porcelain is actually cracked." Kemp said no one has admitted being hurt by the unusual blast, although several people were badly drenched. Or very surprised. Explained Kemp, "The urinals acted more like bidets." We had other reports that people were not necessarily on the toilet but close." "This has not exactly been a good day for Metro," he noted. by Mary Rothschild --P-I Reporter

      link(story is near bottom, pun intended.

      --
      Creationists are a lot like zombies. Slow, but powerful and numerous. And they all want to eat our brains.
    3. Re:Toilet glitch by djmcmath · · Score: 1

      This is actually a very common phenomenon on Navy submarines. You see, the toilets all dump into a common "sanitary tank," which periodically needs to be emptied, usually straight into the ocean. Well, pumps are both expensive and noisy, so the better alternative is to pressurize the tank with 700psi air and eject it overboard. Unfortunately, if some hapless individual attempts to flush (basically just opening the drain at the bottom of the toilet, straight into the san tank), the tank will eject straight into the people space. Horribly disgusting, happens regularly. You'd almost think that with all the funding the Navy gets, we'd install a check valve or something...

  45. Biggest blunder i've faced so far by Goalie_Ca · · Score: 0

    was the serious memory leakage in windows me. MS acknowledged it was the but they never fixed it. Poor me reformated three times in the first week. I learned to love linux after that.

    --

    ----
    Go canucks, habs, and sens!
  46. Train collision by Shaddup · · Score: 5, Interesting

    A company I once worked for (as an intern) was in the business of what's called "train control" software. Briefly, it's the software that dispatchers use to monitor the status of the switches, the position of all the trains being tracked by the system, etc. One of the features of the system is to provide early-warning of potential collisions. Well, the system is quite reliable (having been in service, in one form or another, since the 70's). However, there have been some accidents.

    Once such accident, in Mexico, was caused by an unexpected combination of several simultaneous failures. One day, for some reason, one of the servers needed to be reset. At the same time, two freight trains were stopped at a switch, in the process of what's called a "pass," where one train turns off onto a side track to let the other train pass by on the main track. Long story short, the status bits of the switch got lost during the server reset (there is a provision for restoring track states when the backup servers take over, but it didn't work for some reason). After asking if the track was clear, the driver for train1 recieved a green light from the dispatch office. The dispatcher, not knowing that train2 hadn't cleared the switch yet, figured everything was ok. The trains collided at very low speed, and not head-on, but nonetheless the collision cost the rail line several million in equipment and downtime. No one was hurt.

    The lesson: When writing bullet-proof software, check every possible condition! More extensive field testing would have caught the failover bug.

    1. Re:Train collision by smagoun · · Score: 2
      More extensive field testing would have caught the failover bug.

      What do you mean, "would have?" It sounds like they DID catch the bug, and they even caught it in the field. heh.

    2. Re:Train collision by Anonymous Coward · · Score: 0

      So what you're saying is that the default response in an uncertain situation should be negative, that is that the tracks are not clear. Sounds about right.

      Too bad the defaults on other stuff (like Win2k, Outlook, etc...) happen to be set to "on".

    3. Re:Train collision by Reziac · · Score: 3, Insightful

      IANAP, but I'd think your bulletproof software should also have some way to gracefully account for "impossible" conditions, which users are so clever at creating!!

      --
      ~REZ~ #43301. Who'd fake being me anyway?
  47. Non-life threatening, but interesting bug... by Anonymous Coward · · Score: 5, Interesting

    I'm an AC for a reason...

    Let's just say that two years ago a very large international shipping company suffered two days of worldwide failure in the package routings printed on labels. The bug was caused by an incorrectly placed paren in an index offset calculation, leading to truncation of an intermediate result (to a 16 bit unsigned int, when it should have been 32). The bug sat dormant for five years because the result matrix it was indexing into was smaller than 64kbytes. As soon as it grew over that size - boom! What a way to wake up at 2am when the Asian-Pacific region starts calling...

    I didn't make it, but I was definitely involved with the fix. After that we did some very thorough auditing on all of the routing code - and fortunately didn't find any other surprises lurking.

    1. Re:Non-life threatening, but interesting bug... by stile · · Score: 1

      I didn't make it, but I was definitely involved with the fix. After that we did some very thorough auditing on all of the routing code - and fortunately didn't find any other surprises lurking.

      That could be construed as an unfortunate outcome, considering that you don't know if there were no bugs there, or you just didn't find them...

    2. Re:Non-life threatening, but interesting bug... by Anonymous Coward · · Score: 0

      Is that you John?! There will be a pink slip on your desk tomorrow.

      -Mgt

    3. Re:Non-life threatening, but interesting bug... by Slurpee · · Score: 1


      After that we did some very thorough auditing on all of the routing code - and fortunately didn't find any other surprises lurking.


      yet.

    4. Re:Non-life threatening, but interesting bug... by Iffy+Bonzoolie · · Score: 1

      Hmm... He wouldn't know if there were bugs he missed regardless of whether he found any bugs during his audit or not!

      -If

      --
      Run a pencil-and-paper RPG campaign with your far-off friends: Gametable!
  48. Incorrect function usage. by antis0c · · Score: 2

    Not a specific example, but a big mistake is to assume that just because when you use a function in a certain way that works means it's suppose to work that way. I've seen so many people fail to read any documentation on the functions they are using. Whenever I program, I make sure every function, operand, everything I use I understand what they do exactly. I don't just assume, I make absolutely certain. Read, Read, Read, and then Read some more.

    --

    ..There's a-dooin's a-transpirin'
    1. Re:Incorrect function usage. by bryan1945 · · Score: 1

      This is so true- when I got my new toaster, I read the instructions 4 times before I plugged it in! No electrocution here!

      Seriously, if you worked for me and read an instruction/info book 4 times before you wrote squat, you'd be fired before you would finish the 3rd re-read. I'd expect once, could go for 2, but if you can't code after reading twice, you are just not competent (sp?) enough to code. I could go for a 3rd re-read while debugging.

      --
      Vote monkeys into Congress. They are cheaper and more trustworthy.
    2. Re:Incorrect function usage. by antis0c · · Score: 5, Insightful

      No, I meant read it until you understand it. I don't want anyone working for me that doesn't think understanding documentation is a good thing or doing something the correct way rather than "it works so I might be doing it right."

      And there's a difference between not being able to code and understanding a particular function. I may read a function's man page 2 or 3 times to make sure I understand correctly what is going on. Not nessesarly because I'm incompetent, but because the wording my be confusing (wow, confusing wording in a manpage? Who would have thought..). That doesn't mean every single function for a particular language requires you to read the documentation for it multiple times. I assume nothing. Assuming something leads to bugs and insecurity. I've been programming in C for many, many, many years. When I do a little PHP programming to create some web interfaces I don't assume that just because both C and PHP have a function called strlen, and the general documentation says it returns the length of a string, that they work identically. So I read the entire strlen documentation for PHP to understand exactly whats happening. It only took less than a minute, but now I'm not assuming. I know. This goes for lots of things. The more complex functions you use, the more important it is to fully understand them.

      The point is coding correctly is the most important skill to learn. I have friends that hack together scripts and programs from examples and snipits of other code and a little bit of their own code to glue it together, with little to no understanding of what they are actually doing. Then months later something breaks they can't fix and they act as if it was the author who wrote the example code's problem.

      No, it's there fault. Not because they hacked together examples, but because they didn't take to the time to make sure they knew what the examples were doing, that the examples were implemented correctly, and that they understood exactly how the code in the examples worked.

      Take a look at OpenBSD's philosphy.. You can learn a lot from it.

      --

      ..There's a-dooin's a-transpirin'
    3. Re:Incorrect function usage. by msfodder · · Score: 1

      Very true..
      For instance read qsort and then take a look at some of the qsort included examples on the web and you will find that no two agree..wtf..
      I have only contributed to one app that used qsort but my own attempts have been pretty strange..
      In other situations I have used a handcoded bubblesort, insertionsort, easily.

      Am I clueless or is there some lack of info in man qsort(),that causes every programmer to do it 'n' ways???

      --
      ..Free Live Free...
  49. Use Google by SoSueMe · · Score: 2, Insightful

    No, really.
    Search and you will find.

    Learning to search effectively will serve you best.

    1. Re:Use Google by XaerioN · · Score: 0, Offtopic

      You think that's weird? Ever seen Google's cache of Google? I mean, come on. WTF is the point of that? lol

    2. Re:Use Google by SoSueMe · · Score: 1

      Recursive caching?
      I'd like to see a cache of Google's cache of Google?.

      Any mirrors?

    3. Re:Use Google by Sivar · · Score: 2

      From Google's cache of www.google.com:

      Google is not affiliated with the authors of this page nor responsible for its content.

      --
      Computer Science is no more about computers than astronomy is about telescopes. --E. W. Dijkstra
  50. A common but fatal problem (most of the time) by vga_init · · Score: 2, Informative
    I can remember that when I firsted started learning how to program, a common mistake would be that my programs would get stuck in infinite loops. @_@ This is not so big of a deal with a sophisticated, multitaskig operating system, but back when I was using DOS and had no way to break the code, I had to reboot!

    I think it would be interesting to know when the first infinite loop occured in the early days of programming, and how the programers dealt with it. Obviously, back then they only had single-tasking machines.

    Let's say you turned in some bad FORTRAN code to the university computer on a time share. What if nobody noticed for hours that your program was taking up all the processing time? That would make some people pretty pissed. :p

    1. Re:A common but fatal problem (most of the time) by CommieBozo · · Score: 0

      What, didn't your machine have control and break keys?

    2. Re:A common but fatal problem (most of the time) by Treeluvinhippy · · Score: 2

      What part of 'Back when I was learning howto' was difficult.

      --
      >
    3. Re:A common but fatal problem (most of the time) by Anonymous Coward · · Score: 0
      Let's say you turned in some bad FORTRAN code to the university computer on a time share. What if nobody noticed for hours that your program was taking up all the processing time? That would make some people pretty pissed. :p

      Did just that, only it didn't take hours for people to find out. My allotted processing time for the entire course was finished instantly however :-(

    4. Re:A common but fatal problem (most of the time) by Darmox · · Score: 1
      I think it would be interesting to know when the first infinite loop occured in the early days of programming, and how the programers dealt with it.


      I think it was the von Neumann cycle :)
      (sorry, bad joke, just couldn't help it.)
      --
      If I was that drunk, I would have remembered it -- H. Simpson
    5. Re:A common but fatal problem (most of the time) by Anonymous Coward · · Score: 0

      Running Fortran on a Mainframe, a program computed fluid pressure drop in a piping network. Each line was broken into segments, a new segment beginning whenever the line properties (diameter, surface roughness, number of flow paths, etc) changed. Fluid conditions leaving segment N were used an input for segment N+1. The Compiler had an absolute time limit (say, 2 minutes) before killing the job.

      A User put in ridiculous numbers for a segment (no length, no diameter, no roughness) and the program didn't know what to do. Essentially, it twiddled its thumbs during the time-slice the Scheduler gave it before switching to another person's job. Hours passed; the program was called thousands of times but it really wasn't accumulating any CPU time, so it wasn't kicked out.

      I got a call from the Mainframe operators late in the day. They wanted to go home. I authorized stopping the job. The next day we analyzed what had happened and added safety checks.

    6. Re:A common but fatal problem (most of the time) by gorilla · · Score: 2

      Early computers had front panels, which allowed the engineers to see exactly what was executing. An infinite loop would be easy to see as it would be repeating the same pattens over and over again. Then they'd reset it.

    7. Re:A common but fatal problem (most of the time) by Cro+Magnon · · Score: 1

      Well, I got an infinite loop in the part of a program that printed something at work. When I killed it, there were 100,000+ lines of print. Then I made error #2: instead of deleting the job, I accidently released it to the printer (the R key is too close to the D key). I wasn't the first person to get bit by that, but I was still the butt of jokes for awhile.

      --
      Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
  51. Airbus by That_Dan_Guy · · Score: 5, Interesting

    This isn't really a programming error, but a user training error.

    In the Airbus if the pilot tries to correct (use the flight controls) while the computer is engaged the computer will correct the pilot's correction. Unlike in a car with cruise control where if you hit the breaks it just cuts the cruise control. Many China Airlines planes have crashed due to poor pilot training in this regard. They weren't trained well enough to shut off the computer control before taking control of the plane.

    I'm also sure someone can be a little more detailed than this, but it is, IMO, at least a design error that has caused hundreds of deaths.

    As a side note, my Software Engineer professor refused to ever fly on a fly by wire plane, and was opposed to SDI simply because he didn't beleive that either had been or ever would be debugged properly. (if there is one error in every 10,000 lines of code, and it has 3 or 4 million Lines of Code, how many errors is that? His answer: too many to trust)

    1. Re:Airbus by flippet · · Score: 1
      I seem to recall hearing about the plane pulling up itself, irrelevant of what the pilot was trying to do.

      If the pilot was coming in too low the plane would correct by aiming upwards. If the pilot tried to correct this by pushing further the plane would just incline more. Several planes have crashed by stalling because of pilots doing the instinctive thing of pushing the stick forward to try to level out, but actually just making the computer take the plane higher.

      Phil, just me

      --
      "Cattle Prods solve most of life's little problems."
    2. Re:Airbus by jo_ham · · Score: 1

      The computer doesn't disengage on immediate input from the pilot for a very good reason - if the pilot has a hear attack or seizure and pushes the stick, you don't want the computer to think it's ok to shut off the autopilot.

      Even if the copiolt recovers quickly, the amount of hot coffee spilled into people's laps and other assorted injuries would be a goldmine for lawyers.

      There were software errors in the fly by wire system though, but they have been ironed out now - I hope!

    3. Re:Airbus by s20451 · · Score: 3, Informative

      Unfortunately, it has been conclusively proven by experience that the risk of an incapacitated pilot causing an accident is much, much less than the risk of a pilot and computer being at odds over the correct course of action in an emergency, or the risk of computer settings confusing the pilot. I prefer the Boeing design philosophy, which is that the pilot is the final authority on the operation of the airplane, not the computer. The pilot, not the software engineer, is on board the airplane, and therefore has a much higher interest in ensuring that the vehicle gets on the ground in one piece.

      --
      Toronto-area transit rider? Rate your ride.
    4. Re:Airbus by jamesl · · Score: 2, Interesting

      Most of the problems have been related to operator (pilot) error related to inadequate training. Investigators are unhappy at the number of times the Cockpit Voice Recorder transcript includes the phrase "What's it doing now?" or "Why did it do that?".

      While these accidents and incidents are chalked up to "pilot error", the industry is beginning to understand that in many cases the user interface or design of the system is at fault.

    5. Re:Airbus by it_atheist · · Score: 2, Interesting

      Another funny Airbus story I've heard was as follows: (Apologies if I'm propergating yet another urban myth). In the 90's in India or Sri Lanka (can't remember which), an airbus was being pushed across the tarmac by the usual towtruck. It had it's engines engaged and warmed up as ususal. Air trafic control instructed the pilot to stop as another another plane would soon be passing behind. The pilot attempted to call the tow-truck driver, but there was no answer. So the pilot applied the brakes. Both the plane and the tow-truck stopped. But now it becomes interesting. The tow-truck driver revs his engine and pushes harder. The plane begins to move backwards. The pilot (rather annoyed by now I imagine) applies the brakes as had as possible. The plane stops. The tow-truck drive repeats his trick, but this time there is no way that the plane wil budge. Instead the weight was taken off the front wheel. The Airbus software noted that there was no pressure on the front wheel - so clearly the plane was airborne, but after checking the flightspeed (zero) the computer decided that the situation was unacceptable, and quickly applied full power to all the engines. The plane broke free and thumped into the hanger before the pilot could shut everything down. No-one was hurt and the damage was harldy spectacular - but this is what can happen when you send in a machine to to do a human's job. My same source summed up the design philosophies of Boeing and Airbus as follows: Boeing: Provide every possible instrument and computer to assist the pilot. Airbus: Provide every possible instrument and computer to replace the pilot.

  52. Re:Arian 5... by The+J+Kid · · Score: 2

    What? The French make exelent cars..(Peugeot, Citroen)...

    The American cars on the other hand are *completely* hopeless!

    Try a Peugeot 206 / 307 and feel how it handels the road. Then you don't even want to go back!

    --
    Moderation: +4. Modded 70% Funny and 30% Overrated. 100% Saturated.
  53. Assembler coding by Bolen · · Score: 1

    If you want to eek out every bit of hardware performace, you still can't beat coding in assembler. This of course assumes it is worth the time and effort. I haven't the foggiest idea if switches are still coded in assembler, but they still were at the time of the failure.

    Way back when I still worked on Honeywell mainframes like the DPS-88, I would write the occasional application in assembler (called GMAP) because there were some very nice multi-word machine instructions that would do a lot of stuff for you. For example, the MVT command would move data from one area to another, while converting it from ASCII to EBCDIC. One machine instruction. That's much more efficient than coding the same thing in C.

    1. Re:Assembler coding by Anonymous Coward · · Score: 1, Funny

      You want 'eke.' 'Eek' is like when your mom comes in your room and she's not wearing any pants.

    2. Re:Assembler coding by 2short · · Score: 1

      "I haven't the foggiest idea if switches are still coded in assembler, but they still were at the time of the failure."

      No, actually, they weren't. The bug was miswritten C code.

      As for things being inherently faster in assembler, a good optomizing compiler should be able to write better assembler than you. By good, I mean it should definitely catch really obvious things like the example you mention. I've no idea if good optomizers exist or existed for GMAP, but they certainly do for x86

    3. Re:Assembler coding by Anonymous Coward · · Score: 0

      Why would your mom come into your room when she's not wearing pants?

    4. Re:Assembler coding by Bolen · · Score: 1

      Ha! Perhaps I should have said "squeak" instead :-).

    5. Re:Assembler coding by Bolen · · Score: 1

      Okay, C code then. And here I though switch programming was the last bastion of assembler. :-)

      Back in 1987, the compiler optimizers in GCOS-8 SR2300 (the OS being used at the time on the DPS-88) generally did more harm than good, and weren't worth invoking. The machine instruction set on that mainframe was the opposite of RISC; it had many very complicated instructions available, known as EIS (Extended Instruction Set) that the compilers mostly ignored. So in that environment, you could easily write much better code in assembler than was generated by the Fortran or COBOL compiler.

      The entire GCOS operating system was written in GMAP, and the source code was available to the SA's (open source all over again). It was not unusual for customer sites to make local modifications to the OS. GCOS even provided "hooks" to allow local code to be added, such as defining new batch job classes.

      However, except for GCOS coding, it was usually not worth the effort to write in assembler.

  54. Re:Ask /.: Think I could fit a watermelon up there by Anonymous Coward · · Score: 0

    If you are a Slashdot Janitor, you wouldn't need any. Putting a melon up your bum would be like dropping a pea in a soup bowl.

  55. Bye bye credit purchases by cat_jesus · · Score: 3, Interesting

    I worked for a programmer back in the 80's who made a mistake that caused all credit card purchases to disappear from the electronic journal. This meant that their purchases were not recorded on their credit card statements. Fortunately for the company the bug did not affect the recording of the transactions on the paper journal. This bug wasn't discovered for a few days and it took quite some time to rekey all the credit transactions.

    Unfortunately this was not her first or last mistake of this magnitude. Retailers often see IT as an expense rather than an asset and are as cheap as possible. This has a tendency to cause shoddy programming since they hire as few programmers as possible and overwork them and often software is put into production without being thoroughly tested. At least this was the case when I worked in retail some ten years ago--I don't think I'll do that again.

    But I am finding that insurance companies have the same philosophy.

    1. Re:Bye bye credit purchases by Anonymous Coward · · Score: 1, Interesting

      Hmmm, insurance companies...

      One of the major insurance companies - I mean, worldwide - had a car insurance division that has an old master database (for claims and for policies) with a proprietary database interface - with networked nodes as opposed to being relational. I believe, circa mid 2001, it was coded in COBOL, yet it was code orginially written in BASIC about 15 years ago. I pleaded for them to switch to something a little more modern - something with ODBC access and a SQL interface, or at least in that generation (Oracle, while not necessarily being the recommendation, was a prominent example used). They seemed to hear none of it, as they had no near or distant plans for a system overhaul.

      I mean, it's sad. These guys nationally are in the top 10 and were in the middle of conducting aggressive advertising and pricing campaigns to grab more customers - yet they were on the verge of losing access to their "pending claims" reports because... (drumroll)... it was implemented as pivot tables in Excel. I don't mean that the reports were outputted in Excel format... I mean, it was a template with the entire pending claims table as its own worksheet, with pivot tables generating the reports in other worksheets. Keep in mind that car insurance claims can stay open for months, or years, until all injuries/damages are settled. Basically, when I left, the number of pending claims was somewhere around 61,000, and climbing fast... :(

      (oh, and they had some special COBOL-like script to output this pending claims data from the database into a comma delimited file. And only one lady at the company knew how to do this)

      But hey... they weren't any worse off than any of the other insurance companies apparently, so it's not like they needed to change to stay competitive.

      This is why I'd like not to own a car.

      Coincidentally - I work in a different industry currently, and it turns out that now I'm the one who is the only one in the company who has to transfer delimited files from one crusty data system to another... and they have called me more than once while I was waiting in an airport asking how to do it. And, to make things worse, I used to make more money in college per hour delivering chicken sandwiches. As a BS in Computer Science, I will never make fun of art history majors again. ("Hahahah, how are you ever going to make money with THAT major?")

  56. Another nominee... by Anonymous Coward · · Score: 1, Insightful

    Netscape.
    Stopped evolving in a mass-market way at 4.79 ... and that version is buggy as hell.

  57. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  58. Y2K ? by smock9 · · Score: 1

    Did anything terrible happen because of Y2k?

    1. Re:Y2K ? by Treeluvinhippy · · Score: 2

      IIRC Germany lost some telephone service in some areas. Otherwise not a whole hell of a lot.

      --
      >
    2. Re:Y2K ? by Cyno01 · · Score: 1, Redundant

      yeah, months of crappy sensationalist news reports

      --
      "Sic Semper Tyrannosaurus Rex."
    3. Re:Y2K ? by rollingcalf · · Score: 1

      Yes. Companies spent billions of dollars fixing systems to make them Y2K compliant. Of course, that may not be so terrible for you if you were one of the programmers making $100/hr to fix those systems; but from a broader economic perspective, those billions hurt the economy because that money could have instead been invested in more positively productive activities instead of being spent just to fix existing systems.

      --
      ---------
      There is inferior bacteria on the interior of your posterior.
    4. Re:Y2K ? by Anonymous Coward · · Score: 0

      Yeah, that made-for-TV movie on USA.

    5. Re:Y2K ? by Sivar · · Score: 2

      Perhaps the Y2K problem passed without incident exactly because of these fixes. There was software that remembered the data as only two digits, and some of it did need to keep track of the entire year, though the "19" was assumed.
      We will probably never know.

      --
      Computer Science is no more about computers than astronomy is about telescopes. --E. W. Dijkstra
    6. Re:Y2K ? by Anonymous Coward · · Score: 0

      I Know a Programmer is Switzerland that they paid 300DM per H for the duration

      Thats awfull

  59. Can We Say Google? by cyberlotnet · · Score: 1

    The shear number of people asking for help with research on slashdot is just amazing.. Have they heard of the "internet", "search engine"

    Lets see

    google - software failure

    Results 1 - 10 of about 2,040,000. Search took 0.25 seconds

    Hmm lets see so .25 second search time, Give maybe.. 5 minutes to connect to the internet and perform search..

    So in 5 minutes .25 seconds over 2 million pages of info on software failure..

    Get a clue, Get a Life, Do your own research.

    1. Re:Can We Say Google? by onion_cfe · · Score: 1

      Yes and almost certainly over 2 million completely relevant examples with no duplicates or inaccurate information I would expect... No?

      The guys curious. He didn't say he was writing an essay.

      Although if he'd stated:
      "I'm doing some research for a paper i'm doing on [insert animated sitcom here]" maybe i'd agree.

    2. Re:Can We Say Google? by Gordonjcp · · Score: 3, Offtopic

      Please stop all this "STFW" crap. It's easy to search the web, but there may be people out there reading slashdot who haven't put their tale of programming woe on a web page. In the time it took you to post that crap, you could have thought for a moment, then not said anything.

    3. Re:Can We Say Google? by Anonymous Coward · · Score: 0

      The number of whiny bitches who have absolutely nothing to contribute is just amazing...

      Probably never heard of a community where -gasp- topics are discussed? And the differences between a forum discussion and a search engine? I guess you are the type of person who thinks human contact is a waste of time and rather spends nights typing all your questions of life into google?

      You are in my prayers :(

  60. Topic continues to grow by MacAndrew · · Score: 1

    Many may think this topic has been done to death, but the examples grow exponentially. Someone recommended the RISKS Digest above, which I agree is terrific.

    Rarely is the answer that "the programmer was an idiot." Software bugs are projections and magnifications of human frailties. There is the class of errors where the computer does what it should but interacts with the user poorly, and it's glib to dismiss the user as the idiot.

    I have followed military snafus with interest. It is still not clear how much of the Vincennes catastrophe was human versus computer error. The Yorktown was an example of an old-fashioned divide-by-zero error crashing Windows and paralyzing a frigate. The Navy plans to automate aircraft carriers and also hand over fire control to Windows systems, which makes me uncomfortable to say the least. Bill has the bomb.

    Voting systems are another area where our understanding of the errors must be completely up-to-date. As it is, most (all?) manufacturers of voting and tallying software consider their code proprietary and won't allow outside audits. If you think chads were bad, just wait for an electronic voting disaster than lacks an old-fashioned paper trail.

    Risks and comp.risks may however be the better forums for this topic; but it's not a bad thing for the afficiondoes to bring it to the general interest /.ers' attention from time to time.

    P.S. I recall a satellite that was lost in the early 80's for lack of a comma in the code. Which satellite?

  61. Buffer overflows by Otis_INF · · Score: 2

    SELECT * FROM BugTraq_SecurityFlaws WHERE FlawCause LIKE '%buffer%overflow%' ORDER BY OSType ASC

    --
    Never underestimate the relief of true separation of Religion and State.
  62. DANGER, DANGER, Will Rogers! by MacAndrew · · Score: 1

    Would it be so hard to display ERROR??? If they're stuck with numbers, how about something impossible like 99,999 feet?

    That programmer should be taken for a little jet ride. So the pilots could show their thanks.

    1. Re:DANGER, DANGER, Will Rogers! by cathyy · · Score: 1

      Don't you mean Will Robinson?

      Consider the concept of analog altimeters. You know, round face, needle pointing to a number, much like the speedometer on a car. How do you make that read "Error"?

    2. Re:DANGER, DANGER, Will Rogers! by Anonymous Coward · · Score: 0

      You're right on the Robinson, but not the altimeter. They're digital (for the heads-up and CRT displays), hence software-driven. They most likely have an analog backup in case of electrical failure, but of course they're not software-driven or it wouldn't be a backup.

      It's hard to say exactly without knowing the aircraft type and year; then, the whole story could be just UL....

  63. Damn that professor Falkin! by Subcarrier · · Score: 1

    um, this was a reference to WarGames... ;^)

    Do you think he had a hand in SkyNet as well?

    Lucky break those metal heads chose to model Terminator after old Arnie. Probably the specifications read "Big, dense, abrasive". If they'd picked someone brighter we'd be screwed for sure.

    --
    "I have opinions of my own, strong opinions, but I don't always agree with them." -- George H. W. Bush
  64. Thanks! by Ghoser777 · · Score: 2

    I had always thought that SI was the English system; I have no idea why.

    Thanks,
    F-bacher

    --
    James Tiberius Kirk: "Spock, the women on your planet are logical. No other planet in the galaxy can make that claim."
    1. Re:Thanks! by NeXTer · · Score: 3, Funny

      Especially considering that SI is short for the French term "Système International". :P

    2. Re:Thanks! by Anonymous Coward · · Score: 2, Funny

      Funny... that's the same defense the NASA guy used during the postmortem.

    3. Re:Thanks! by flossie · · Score: 2
      English units are SI units, now. Ever since "Decimalisation" occurred in the UK in the 1970's the UK has been using the Systeme Internationale (metric) set of units (although there are a few hangovers from the old Imperial system; we still order pints in pubs).

      I have really never understood why Americans refer to their set of units as the "English" system. Although somewhat similar to the old English Imperial system, there are several differences, e.g. a US pint (16 oz) is not as big as a British pint (20 oz).

  65. Re:That is NOTHING -- 10,000 died in Bhopal, India by Anonymous Coward · · Score: 0

    Bho Pal wasn't caused by bad programming, fuckwad. You might as well ask why we're not talking about THE BLACK DEATH, which killed MILLIONS OF BEAUTIFUL KITTENS.

  66. Re:That is NOTHING -- 10,000 died in Bhopal, India by Anonymous Coward · · Score: 0
    t's probably because they don't care about the third world.

    Or it could be because it had fuckall to do with programming errors.

  67. not true by PissedOffGuy · · Score: 4, Informative

    the database they were using faulted on a divide by zero. nothing to do with NT.

    1. Re:not true by Anonymous Coward · · Score: 5, Insightful

      The database failure caused NT to crash. Good software design includes failure planning.

    2. Re:not true by GT_Alias · · Score: 1

      No, everything to do with NT. If its method of handling a divide by zero is to shut down, particularly when it is in as mission-critical of an application as a Navy warship (how much more mission-critical can you get?), then I think that could be considered a very serious flaw in the operating system.

    3. Re:not true by Anonymous Coward · · Score: 0

      What, they couldn't reboot? If any of the software were working as well as a Navy ship needs it to, they'd have been able to trace the error and correct it.

    4. Re:not true by gl4ss · · Score: 2

      " The database failure caused NT to crash. Good software design includes failure planning."

      mod parent up!

      as it happens this is what can at most cases make the software go hazardous, not taking into account something that might happen, and not having failsafes around it.

      catch exception_divide_by_zero do something_brilliant_to_get_over_it

      --
      world was created 5 seconds before this post as it is.
    5. Re:not true by PissedOffGuy · · Score: 5, Informative

      what are you talking about? the navy inquiry found no fault in NT. here, you try this: write a program that divides by zero and run it on NT. as with any other good OS, the program shuts down and the OS keeps going. user mode code cannot cause a blue screen, makes sense.

      in the navy's case the crashed program was enough to call the computers "down", and that makes sense too. the only thing that doesnt make sense is the attribution of blame to the OS for an app problem.

    6. Re:not true by rakslice · · Score: 2

      Huh? NT doesn't shut down on a divide by zero.

    7. Re:not true by Billly+Gates · · Score: 2
      ok

      Which database was running on the ship?

      MS SQL Server.

      The database should have some protection against things like this and better redundancy. MS Sql Server now displays an error message rather then crash when someone attempts to divide by zero.

    8. Re:not true by xcham · · Score: 1

      True enough. It doesn't shut down on a divide by zero. I can attest to this. It does, however, shut down on a printing of a tab character followed by several backspace characters to the console. It's a well documented bug in Windows NT, 2000 and even XP. As far as I know there have been no service packs/critical updates that have addressed this issue (I've seen it work on the machines at school and they keep fairly up to date).

      Now we have some real question. Why would a robust industry-standard operating system have such a fatal flaw? Why would an exception in WinNT Console Services (CSRSS.EXE) cause a kernel panic? Granted, to get anything useful done in NT you need a command shell, but are console services THAT essential? And what MILITARY organization in their right mind uses software from a company that hasn't even ADDRESSED this known bug in the year-and-some since it was first publically discussed?

      Information on said bug can be found in 2600 Magazine Volume 19 #2, or here.

      --
      When life gives you lemons, you CLONE those lemons, and make SUPER-LEMONS. -- Dr. Cinnamon Scudworth, Ph.D
    9. Re:not true by xcham · · Score: 2, Informative

      Just an update/correction, As recorded by Zappadoodle they finally DID fix it. Still, you can see from this (and the inordinate amount of time it took for them to address this bug) that Microsoft's main focus is obviously somewhere other than stability and security. Penguin POWER. :D

      --
      When life gives you lemons, you CLONE those lemons, and make SUPER-LEMONS. -- Dr. Cinnamon Scudworth, Ph.D
    10. Re:not true by Anonymous Coward · · Score: 1, Interesting
      Whether or not NT was responsible for this particular glitch, according the above article, the engineers involved were not too impressed with NT {emphasis added}:


      But according to DiGiorgio [a civilian engineer with the Atlantic Fleet Technical Support Center in Norfolk], who in an interview said he has serviced automated control systems on Navy ships for the past 26 years, the NT operating system is the source of the Yorktown's computer problems.

      NT applications aboard the Yorktown provide damage control, run the ship's control center on the bridge, monitor the engines and navigate the ship when under way.

      "Using Windows NT, which is known to have some failure modes, on a warship is similar to hoping that luck will be in our favor," DiGiorgio said.

      ....

      Ron Redman, deputy technical director of the Fleet Introduction Division of the Aegis Program Executive Office, said there have been numerous software failures associated with NT aboard the Yorktown.

      ...

      The Yorktown has been towed into port several times because of the systems failures, he said.

      "Because of politics, some things are being forced on us that without political pressure we might not do, like Windows NT," Redman said. "If it were up to me I probably would not have used Windows NT in this particular application. If we used Unix, we would have a system that has less of a tendency to go down."


      Oh, yes. Personally, I'm am very glad our military has placed its faith (and the lives of our mariners) in such reliable technology.
    11. Re:not true by StuffYourReligion · · Score: 0, Redundant
      Whether or not NT was responsible for this particular glitch, according the above article, the engineers involved were not too impressed with NT {emphasis added}:


      But according to DiGiorgio [a civilian engineer with the Atlantic Fleet Technical Support Center in Norfolk], who in an interview said he has serviced automated control systems on Navy ships for the past 26 years, the NT operating system is the source of the Yorktown's computer problems.

      NT applications aboard the Yorktown provide damage control, run the ship's control center on the bridge, monitor the engines and navigate the ship when under way.

      "Using Windows NT, which is known to have some failure modes, on a warship is similar to hoping that luck will be in our favor," DiGiorgio said.

      ....

      Ron Redman, deputy technical director of the Fleet Introduction Division of the Aegis Program Executive Office, said there have been numerous software failures associated with NT aboard the Yorktown.

      ...

      The Yorktown has been towed into port several times because of the systems failures, he said.

      "Because of politics, some things are being forced on us that without political pressure we might not do, like Windows NT," Redman said. "If it were up to me I probably would not have used Windows NT in this particular application. If we used Unix, we would have a system that has less of a tendency to go down."


      Oh, yes. Personally, I'm am very glad our military has placed its faith (and the lives of our mariners) in such reliable technology.
      --
      I have no special gift, I am only passionately curious. --Albert Einstein
    12. Re:not true by len_harms · · Score: 2, Informative

      If MS is like any other company they have a list. That list gets a priorty. Currently MS has stated its top priority is security fixes. Buffer overruns and the like. Yet a bug like that would have to be coded for. So dont do that. For example I submitted a bug years ago about being able to resize download windows. Basicly a minor cosmetic issue. Yet it took 3 versions before it was even fixed. The real question is does MS know the bug is there. Or do trade rags know about it. Being in a magazine or on the web does not mean that MS automaticly knows about it. They do not have people whos job it is to go around finding bugs out on the web that people have produced but never bothered telling them about. Most of the time bugs are only addressed by MS if you have TOP level support. IE you paid them big bucks per year per incident to get it fixed. Otherwise you get the 'we might get around to fixing it in about 20 versions'. No money to fix no fix...

      Rework costs money. MS has take the venue of if you pay for it, it will get fixed now. Otherwise wait in line with everyone else. They probably have THOUSANDS of bugs. Each one with a customer yelling about it. They fix the ones that most people are yelling about first. Then next the next one and so on.

      Remember NT is a system of exes. That you put one exe with another one and it acts like this is not surprising. I bet there is no one person in this world who could tell you how the whole thing acts in every condition.

      Probably the best quote I ever heard was out of a MS book on programming. Its like a bowl of jello that is shaking. When that bowl is quivering least we ship.

      My other favorite quote is from a programmer I work with at my company. If your walking off into memory with stray pointers all bets are off.

    13. Re:not true by pyite · · Score: 1

      While I am not a Microsoft person in my own life, my primary place of employment (I'm a student and I contract myself out) is a Microsoft Certified Partner. I've been there a few years and it's a small place, less than a dozen employees. However, one of the applications we develop uses DCOM extensively and requires proper timing (police dispatching) when carrying out transactions. Turns out, there was a DCOM bug that caused some timing problems back in NT 4.0. Our lead programmer tracked it down and told Microsoft what the problem was. We got a letter of extreme gratitude from Microsoft and NT 4.0 Service Pack 6a was released right after they were informed of the problem. It fixed the issue. Once again, I'm not a big fan of Microsoft, but I was very impressed by their response to us.

      --

      "Nature doesn't care how smart you are. You can still be wrong." - Richard Feynman

    14. Re:not true by sg_oneill · · Score: 2

      It's hard to call it either way. The navy are going to be extremely diplomatic when it comes to US companies, particularly ones they are dependant on (Microsoft same as everyone else).
      The problem may have been partly the sysadmins fault. I *believe* that NT services have some fail over options. Ie , first crash restart db. Second crash do same, third crash reboot machine (for example).
      None the less if the divide by zero was created by the DB , but happened while deep in the bowels of a OS call it could still take out the OS. Particularly if the exception handling was goofy and , like attempted to throw up an "BUGS! PLEASE HELP!" dialog box in a windowless context or something stupid (don't laugh, this is *exactly* what windows can do to services from time to time..... or at least ones written by me :( :( )

      Thank God I don't have to write NT software anymore. rebooting everytime one tests a service (because it's crashed, lodged in NT's head and won't unload) really wears one down.

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    15. Re:not true by sg_oneill · · Score: 2
      Oh my god. It frigging works.
      main () {
      for (;;) {
      printf ("Hung up\t\b\b\b\b\b\b") ;
      }
      }

      That has got to be the whackiest flaw I've ever seen. Aparently yo can run that tab backspace into a file, and then simply by "type"ing the file it'll crash the NT box. Unpriveleged. Sheer barking madness.
      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    16. Re:not true by Anonymous Coward · · Score: 0

      Hey, that was not redundant. Some @#$@ broken slashcode made my previous post of the same text an AC post, so I re-posted it under my real name. Mod the AC post down if redundancy bothers you so goddamn much.

    17. Re:not true by Maax · · Score: 1
      as with any other good OS, the program shuts down and the OS keeps going. user mode code cannot cause a blue screen, makes sense.

      Sadly, many will remember this little gem for torching your NT/2000/XP system:

      main () { for (;;) { printf ("Kaboom\t\b\b\b\b\b\b") ; } }

      Immediate blue screen. D'oh...

      Now, in the interest of fairness, we should state that this is fixed in Win2k SP3 and Windows XP SP1. Check out the quality links here.

    18. Re:not true by oh · · Score: 2
      Most of the time bugs are only addressed by MS if you have TOP level support. IE you paid them big bucks per year per incident to get it fixed. Otherwise you get the 'we might get around to fixing it in about 20 versions'. No money to fix no fix...

      If you do pay them money, they can be very nice.

      While working for a former employer with a mixed NT/Unix web site we managed to get Microsoft to write a patch for part of IIS (v5 ftp) within a few weeks. From memory it was 5 weeks from the first report to us recevieing a DLL, might have been as little as 3 1/2, but it was less then 6.

      This was also a fairly marginal "bug". IIS FTP would display the filename in all capitals, and as we were using IIS to upload content inot a mixed NT/Unix environment, we cared a lot about case.

      I can't remember how much we were paying them, and it wasn't in $US, but for the monay we had access to 100 pre-paid support calls. We could use them for any microsoft related issues, including Microsoft-Unix compatibility issues, and if the problem turned out to be a bug in a microsoft product, they "refunded" you your pre-paid support call. Not that we used all 100 calls in a year, but by doing this they are nicer then a lot of other people out there.

      I can't say I really like most of their products, but their support/service division really worked hard for us. Most support calls with other vendors that encounter bugs end up with "we've recorded that probelm, and will fix it in the next release". This was the first time that a support call I was involved with resulted in a patch begin written.

      --
      Democracy isn't about no one telling you what to do. It's about everyone telling you what to do.
    19. Re:not true by Anonymous Coward · · Score: 0

      But then NT always crashes when it divides by zero!

    20. Re:not true by Anonymous Coward · · Score: 0

      "Towed back to port" and "ship controlled by and dependent on Win NT" are the two things that should be kept in mind together.

      the fact that the one happened is proof enough of the folly of the other. isn't a warship almost the ultimate "mission critical application?"

      You'd have to be an employee of Microsoft's marketing department to try to duck this. come on people, let's be real here.

      cheers

    21. Re:not true by jez9999 · · Score: 0

      Probably the best quote I ever heard was out of a MS book on programming. Its like a bowl of jello that is shaking. When that bowl is quivering least we ship.

      LOL, and what's that saying about the quality of Microsoft programming, and Microsoft's dedication to a quality product? They should ship it when it's like a bowl of CONCRETE! :-)

    22. Re:not true by pmz · · Score: 2

      the database they were using faulted on a divide by zero. nothing to do with NT.

      Well, I suppose the original problem is that Windows NT was chosen in the first place. Using a rather poor commercial-grade operating system in a military setting is simply a recipe for disaster. Hell, I'm not even sure I would trust an out-of-the-box UNIX or mainframe OS for a military setting (although pretty much anything would be better than NT).

      Whoever chose NT for a Navy ship's systems should be very publicly humiliated. Is the story that Bill Gates himself chose it true? I had read that the Windows NT choice came soon after his majority stake in the company building the ship.

    23. Re:not true by jhylkema · · Score: 1

      Let's assume the ship has diesel engines (it probably doesn't, but anyway . . . ) If one of them spins a bearing and fails, it should explode and take the entire ship down with it, right? No?

      That is EXACTLY what happens with NT! And it looks like in this case, not only did the database divide-by-zero error take down that box, but all of the NT boxen aboard the ship.

      This has EVERYTHING to do with NT.

  68. And these are only the problems that get past QA! by testharness · · Score: 2, Interesting

    Despite what may programmers think, they do make many mistakes. Having been in QA for more than 7 years, blimey, the stories I could tell.

    For example. Once there was a requirment for a windows program to do nothing. If it started up, it would just shut down . Simple? I would have thought so - even if it wasn't, it was simple for the developer to unit test. It took 7 attempts. Ranging from opening a window and sitting there - through several GPFs - and at least one reboot.

    Then there was one time (of many) where despite assurances from development that the product had been properly unit tested, it would core dump on start up.

    My point is that any CS student should understand the whole development process. It is more than just programming. Whilst neither of the above were life threatening, it illustrates a point. No matter how many examples of catastrophe and failure you find, there would be alot more without testing and QA.

    Of course, you could take the point that all those public failures are a result of lax QA.

  69. The obvious by Joe+U · · Score: 1

    Is EverQuest in all its glory!

    If that's not programming gone wrong, I don't know what is...

  70. I can't recomend comp.risks too highly by Camel+Racer · · Score: 3, Informative

    I can't recomend the risks site too highly. (redundent I know)
    Risks To The Public In Computers And Related Systems
    http://catless.ncl.ac.uk/Risks

    On how to be 0wned by other people: Counterpane: Crypto-Gram . Shares with comp.risks the reframe of "I can't belive people don't learn from this"
    Counterpane: Crypto-Gram
    http://www.counterpane.com/crypto-gra m.html

    Don Norman's _The Design of Everyday Things_ and website also offer insight on how to avoid UI failures relating to failures.
    http://www.jnd.org/index.html

    Also, get a copy of _Code Complete_ and/or _Code Write_ by Steve McConnell [pub: Microsoft Press Which is rich irony) Lots of mistakes and how to avoid them.
    The cautionary note might be that most of these failures are human related at some level. Whether it be at the project level, or the UI level -- there are lots of ways to cause a failure.

    Finally, avoid any kind of carreer in Software QA. There is no better way to just get kicked around at the expense of the people putting the bugs in the software in the first place.

    --
    Anybody can work under ideal circumstances. -- Jeff K. (January 4, 2001)
    1. Re:I can't recomend comp.risks too highly by Anonymous Coward · · Score: 0

      You can't? Why, what don't you like about it? Or is it just you don't like them because they can form "sentences" and have "clear exposition of thought" ?

  71. well by Anonymous Coward · · Score: 0

    once upon a time a guy named RMS got jealous
    because some guy from finland or something
    made something cool - something RMS had been
    trying to do all of his life. RMS insisted
    that this guy name it after RMS. then slashdot
    was born. this is the greatest error ever.

  72. Re:Arian 5... by Anonymous Coward · · Score: 0

    stupid American. Arian 5 is european, not French.
    You know, it's that big piece of land on the other side of the ocean (you did know that the US and Iraq were not the only pieces of land on earth, did you?)

  73. RISKS digest by Mr.+Slippery · · Score: 1, Redundant

    Read the RISKS digest, as comp.risks or at http://catless.ncl.ac.uk/Risks. Everyone who works with computers should read this regularly, it is much less painful to learn from other people's mistakes.

    PGN put a bunch of the classic items together in a book a few years ago, called Computer-Related Risks.

    --
    Tom Swiss | the infamous tms | my blog
    You cannot wash away blood with blood
  74. Greetings, Professor Falken. Shall we play a game? by Cheese+Cracker · · Score: 1

    Does the WOPR in War Games count?

  75. September 11th? by Anonymous Coward · · Score: 0

    Unix clocks hit the apocolyptic 1 billion mark on the Sunday before, so the terrorists used the day after in case any havoc was wrought to do a 2nd, more real hit.

    Everyone thought it'd happen in 2000.

  76. Re:That is NOTHING -- 10,000 died in Bhopal, India by Sn4xx0r · · Score: 1

    Sure, horrible accident. But nothing on the site that you link to indicates that it had anything to do with a programming mistake.

    --
    Got brain?
  77. NASA software bugs by dstone · · Score: 3, Informative

    Someone here was claiming that NASA has never had a software bug. That sounded pretty unbelievable to me. And sure enough, it's not true. In the recent Mars missions alone, they had a bunch of software bugs resulting in things varying from non-fatal vehicle failures to outright loss of spacecraft.

    Regarding the loss of the Mars Climate Orbiter spacecraft, from nasa.gov: "The 'root cause' of the loss of the spacecraft was the failed translation of English units into metric units in a segment of ground-based, navigation-related mission software"

    Also, here are several "software bugs" (their words) relating to the Mars Surveyor Lander Vehicle are described. These bugs were detected and fixed in the field (ie, Mars). At least one of the bugs caused a heater failure in the vehicle on Mars. This failure was recovered from.

    Anyways, those are just two quickies, but NASA has their share of bugs. (And generally some pretty ingenious ways to reprogram and update vehicle software post-launch.)

    On a related note, here's a paper from NASA entitled "The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software".

  78. Ya got to love this one.... by Anonymous Coward · · Score: 1, Interesting

    F16 autopilot flipped plane upside down whenever
    it crossed the equator.

    They should have known from the water going the wrong way when flushing !

    1. Re:Ya got to love this one.... by jez9999 · · Score: 0

      What way does the water swirl when you're bang on the equator? Does it just sort of flow down, not swirling at all?

    2. Re:Ya got to love this one.... by robni · · Score: 1

      It flows the same way as it did just off the equator: coriolis effects on which way the water swirls down the plug hole are so small you'd need specialised equipment to see them.

      Which way the water goes has an awful lot more to do with what the water was doing before you pulled the plug, and how you pulled it, not which side of the equator you're on.

  79. Learning the Hard Way by sfe_software · · Score: 2

    After all, it is better to learn from the mistakes of others than from your own, right? ;)

    It is better. It is also very rare. Most people (especially programmers) that I know have to learn things the hard way, myself included. Sometimes, you can be told "no, don't do it that way" over and over and over, and still want to do it that way until you realize, the hard way, why you maybe should have listened.

    Or maybe that's just me, and the weirdo's I hang with... :p

    --
    NGWave - Fast Sound Editor for Windows
  80. Re:That is NOTHING -- 10,000 died in Bhopal, India by xA40D · · Score: 2, Insightful

    I can't believe no one has mentioned it yet -- it's probably because they don't care about the third world

    Well, I do care about the third world. But I was not aware the Bhopal disaster was down to dodgy software. I always believed it was reckless cost cutting by a faceless multi-national which took advantage of the fact that India, as a developing country, didn't have very good health & safety legislation.

    But I think the main reason disasters like this are ignored is that poor people don't make very good consumers, so the consumerist society pays little attention to their wants and desires. And their deaths are little more than statistics.

    10,000 dead? Bung them some cash.

    Now, what do you think would happen if a large number of decent hard working consumers were wiped out in a single event?

    --
    Do you mind, your karma has just run over my dogma.
  81. Re:Apollo 1 / hardware fault by MacAndrew · · Score: 1

    Technically a mechanical failure. If they hadn't had the ingenious idea of using a pure O2 atmosphere the spark probably wouldn't have done much. Pure O2 make anything flammable positively explosive (actually, that's the secret of most explosives -- a built-in oxidizer).

    Was there a significant reason for using pure O2? I remember it argued that this was something they could have done without, a bad decision.

  82. Re:That is NOTHING -- 10,000 died in Bhopal, India by entrylevel · · Score: 3, Insightful

    Actually I think that no one mentioned this since it has nothing to do with programmer error. (At least not according to what you linked to.)

    --
    Karma: Incomprehensible (Mostly affected by posting at +5, reading at -1, and metamoderating everything unfair.)
  83. NASA programming erros during Apollo by linuxislandsucks · · Score: 1

    Friend you are worng there were some programming errors during the Apollo series Moon launches..the astronauts had to re enter new progreams to correct the orginal ones..look up its at NASA..

    --
    Don't Tread on OpenSource
  84. URL for more examples by mosschops · · Score: 0, Troll

    Check out all this terrible code - these people should really hang up their compilers and admit defeat.

  85. Re:That is NOTHING -- 10,000 died in Bhopal, India by Cyno01 · · Score: 3, Insightful

    Now, what do you think would happen if a large number of decent hard working consumers were wiped out in a single event? it did, 09/11/01

    --
    "Sic Semper Tyrannosaurus Rex."
  86. Why this cant be right... by rufusdufus · · Score: 2, Flamebait

    To increase altitude in an aircraft, you add power, not pull up. Pulling up slows the aircraft down and decreases altitude.

  87. Good book by Anonymous Coward · · Score: 0

    Read "The Day the Phones Stopped: The Computer Crisis the What and Why of It, and How We Can Beat It" by Leonard Lee ISBN 1556112645

    Lots of horror stories to keep you up at night.

    Don't buy it from amazon The Day the Phones Stoped

  88. How is an app the fault of NT? by deadsquid · · Score: 5, Informative

    Much as I dislike NT, especially in critical environments, this problem had nothing to do with NT. It had everything to do with bad coding.

    As we all know, information systems are only as smart as people make them. In the case of the USS Yorktown, an admin/operator entered data which caused a divide by zero condition in the application. Because the application did not have any exception handling built into it for a divide by zero condition, it died.

    You can't blame the OS for this. The application should have had exception handling built into it in a couple of places. It probably should have checked any new entries before comitting them to ensure the new data would not introduce such a condition, and the app itself should have had appropriate error handling to prevent a panic/dump when a divide by zero condition was encountered.

    If the app was coded by the same people on another platform, the end result would have been the same.

    --
    Idiot, n. A member of a large and powerful tribe whose influence in human affairs has always been dominant
    1. Re:How is an app the fault of NT? by Anonymous Coward · · Score: 0

      From the article you linked...

      "But according to DiGiorgio, who in an interview said he has serviced automated control systems on Navy ships for the past 26 years, the NT operating system is the source of the Yorktown's computer problems. NT applications aboard the Yorktown provide damage control, run the ship's control center on the bridge, monitor the engines and navigate the ship when under way."

      "Refining that is an ongoing process," Redman said. "Unix is a better system for control of equipment and machinery, whereas NT is a better system for the transfer of information and data. NT has never been fully refined and there are times when we have had shutdowns that resulted from NT."..."Because of politics, some things are being forced on us that without political pressure we might not do, like Windows NT," Redman said. "If it were up to me I probably would not have used Windows NT in this particular application. If we used Unix, we would have a system that has less of a tendency to go down.""

    2. Re:How is an app the fault of NT? by rakslice · · Score: 3, Informative

      Okay, but the only specific failure cited in the article has nothing to do with NT.

    3. Re:How is an app the fault of NT? by Anonymous Coward · · Score: 0
      In the case of the USS Yorktown, an admin/operator entered data which caused a divide by zero condition in the application.

      One of our Engineers thinks it was Allen Bradley PLC software which caused this. The PLC programmer has to catch this for Allen Bredley's software, but not in other PLC packages.

    4. Re:How is an app the fault of NT? by Anonymous Coward · · Score: 1, Interesting

      You can't blame the OS for this.
      HUH? Anytime One program can bring down other programs whether they have the best error checking/handling in the world doesn't make it blameless. One application should not cause me to loose my other data/open applications just because some dips*** forget to check for a divide by zero error.
      In a multi-tasking environment I have no business knowing or interfering with data/address-spaces that does not belong to me. It is the responsibility of the OS to take the mundane tasks of making sure that the programs "play well with others" and make sure they do.

      I have to admit that the USS Yorktown should have had a redundant failsafe system (even if it meant that all people on board grabbed an oar and started paddling). According to the laws of the sea if I see a disabled ship and they accept my offer of a tow then I now "own" that ship. So be careful when your windows systems crash and you need to use someone else's restore disk they now "own" your computer.

    5. Re:How is an app the fault of NT? by elfdump · · Score: 1
      From the article:

      "According to DiGiorgio, who in an interview said he has serviced automated control systems on Navy ships for the past 26 years, the NT operating system is the source of the Yorktown's computer problems.

      NT applications aboard the Yorktown provide damage control, run the ship's control center on the bridge, monitor the engines and navigate the ship when under way.

      "Using Windows NT, which is known to have some failure modes, on a warship is similar to hoping that luck will be in our favor," DiGiorgio said.

      Pacific and Atlantic fleets in March 1997 selected NT 4.0 as the standard OS for both networks and PCs as part of the Navy's Information Technology for the 21st Century initiative. Current guidance approved by the Navy's chief information officer calls for all new applications to run under NT.

      Ron Redman, deputy technical director of the Fleet Introduction Division of the Aegis Program Executive Office, said there have been numerous software failures associated with NT aboard the Yorktown.

      "Refining that is an ongoing process," Redman said. "Unix is a better system for control of equipment and machinery, whereas NT is a better system for the transfer of information and data. NT has never been fully refined and there are times when we have had shutdowns that resulted from NT."

    6. Re:How is an app the fault of NT? by Anonymous Coward · · Score: 0
      Firstly you have to understand that the source is anything but unbaised, it is a well known fact that defence contractors can make far more money long term from custom/near custom solutions. Secondly the point that is brushed over so much is the "navy" defination of "application" includes kernal mode drivers.

      Now throw the two together and you'll discover that lots of code is badly designed, badly writen and runs in kernal mode. Net result unreliable systems that the contractors get nice fat maintance contracts out of.

      Of course there is no guantee that if the same systems had been implemented based on say linux that the same results would not have occured. You naturally understand that linux kernal modules can cause a kernal panic and result in system failure.

      As previous posters have pointed out this failure is/was down to a database system not NT its self.

    7. Re:How is an app the fault of NT? by Anonymous Coward · · Score: 0

      One application should not cause me to loose my other data/open applications just because ...

      That's "lose".

  89. Mariner 1 by Vinnie_333 · · Score: 1

    Mariner 1 (that was intended to orbit around Venus) went off course and crashed (splashed?) into the Atlantic because of an omitted comma in the COBOL guidance program.

    --

    "We shall party like the Greeks of old! You know the ones I mean." - HedonismBot
  90. Re:Apollo 1 / hardware fault by EvanED · · Score: 2

    Using a pure O2 environment simplifies things tremendously. The bigest thing is that when the craft is in space, it leaks. Period. You can't stop it. So they need to replace the air as the mission progresses. Running in a pure O2 environment allowed them to operate at a lower pressure, which means that they needed to take up less air with them, which meant a lighter capsule, which is very good.

    After the Apollo 1 fire, they switched to a mixed atmosphere envrionment on the ground, but only replace the leaking O2 in space. So after a while in orbit, they are actually back to a pure O2 environment. This saves the craft from having to carry replacement O2 and N2, while not really risking safety. (Fire doesn't spread well in space due to lack of convection.)

  91. Always Mount a Scratch Monkey by calyxa · · Score: 3, Insightful
    --
    Decay! Decay! Decay! -Helium
    1. Re:Always Mount a Scratch Monkey by prototype · · Score: 2

      Actually the scratch monkey is more realistic than urban legend and refers to an experiment that went horribly wrong at the U of T in the early 80's. The scrach monkey refers to the premise that you should not conduct tests while valuable monkeys are attached to a machine (test in an isolated environment).

      Here's the full story:
      http://www.mv.com/ipusers/arcade/monkey.ht m

  92. It was a bad break in C code by hayne · · Score: 5, Informative

    Actually, the switching code was in C and the crash was due to a programmer's apparent misunderstanding of the 'break' statement. See full details at: http://www.csc.calpoly.edu/~jdalbey/SWE/Papers/att _collapse.html

    1. Re:It was a bad break in C code by DahGhostfacedFiddlah · · Score: 1

      There is still much to be learned from this incident, however. Clearly, the use of C programs and compilers contributed to the breakdown. A more structured programming language with stricter compilers would have made this particular defect much more obvious.

      I don't see how a compiler could have caught this. Using a break statement within an if block is a perfectly valid way to leave an outer block such as a loop or (in this case) switch.

    2. Re:It was a bad break in C code by shepd · · Score: 1

      What they meant is that a stricter compiler wouldn't allow (or would at least warn about) the use of any statement which doesn't work "naturally". Using a break might be OK, but it _shouldn't_ be the norm. IMHO, the C switch statement is broken in this regard -- however, there are times when it's "brokeness" comes in handy.

      --
      If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
    3. Re:It was a bad break in C code by Anonymous Coward · · Score: 0

      [...] the crash was due to a programmer's apparent misunderstanding of the 'break' statement.

      You are telling us that the 'break' statement is not used to turn the elevator breaks on ?

  93. Airbus A320-100 Altitude Reporting System by lostchicken · · Score: 2

    An Air France A320 (a new design) was doing a low-altitude fly-by at an airshow when the aircraft descended into terrain.

    The pilot, since convicted of manslaughter, claims the aircraft reported AGL (above ground level) altitude to be 100', while video shows the aircraft was closer to 30'. There is significant evidence to support this story, such as the apparent swapping of DFDRs and the issuing of Operational Engineering Bulletins to correct problems as explained by the captain of the aircraft.

    The captain claims that the throttle by wire system would not respond to increased command, so he retracted them to idle, then advanced them to Takeoff/Go Around (full). The aircraft had crashed by that point, killing 3 aboard.

    See this for more.

    --
    -twb
    1. Re:Airbus A320-100 Altitude Reporting System by spongman · · Score: 2

      i heard a story a while back (may be myth) that during hangar testing of a new aircraft's computer systems one of the engineers decided to pull the fuse on one of the 5 redundant computer systems. the computer shut down and one of its siblings took over control of the systems it had been managing. however, the default state for one of the systems assumed that the aircraft was in flight, so it dutifully retracted the undercariage. doh!

  94. Good site by dumboy · · Score: 4, Informative
    Check out this site

    http://wwwzenger.informatik.tu-muenchen.de/perso ns/huckle/bugse.html

  95. Again, YOU ALL HBT. YHL. HA Terrible D. Fucks. by Anonymous Coward · · Score: 0

    I can't believe the above was 1. modded up and 2. so many were trolled by it. Wait, I can believe it - you people are all fucking morons.

  96. Re:Arian 5... by Anonymous Coward · · Score: 0
    Better than this, I have a Citroen Xantia Activa. The handling is simply beyond incredible, although you tyre budget may skyrocket if you truly use it intensively on twity roads. Look up the web for lateral acceleration figures of the Activa, unfortunately dicontinued.

    This said the handling of all the Peugeot since the early 80s has been always quite impressive, except for the 607. Peugeot suspension engineers are probably the best in the world, what they achieve while at the same time keeping an excellent ride is impressive.

  97. Serious System Security Failures by werdna · · Score: 2

    The most common kind of internet security failure derives, it would seem, from buffer overflows on the internet.

    These buffer overflows invariably arise from unsatisfactory bound checking -- one of the simplest kinds of bugs, and are easily exploited these days by script kiddies.

    Examples are too numerous to mention.

  98. Re:That is NOTHING -- 10,000 died in Bhopal, India by EvanED · · Score: 2

    >>I always believed it was reckless cost cutting by a faceless multi-national

    Yes, but more than that, is was a lack of communication between sections. I forget exactly what caused this incident, but it was four or five different problems that all went wrong at once. Had any of them not had problems, thye porbably would have been closer to a Three-Mile Island scare rather than any actual damage occuring. But two of their safety systems were off-line for maintainance, and a third and fourth were poorly designed. Something like that.

  99. Re:Arian 5... by Anonymous Coward · · Score: 0
    French Cars?!?!? HAHAHAHAHAHAHAHA!!!!!

    That's so cute. The best part about French cars are the factory-installed rifle racks. They save time and effort by dropping the rifles automatically.

  100. Insidious bug from the wayback machine by rufusdufus · · Score: 3, Informative

    Back when C++ was new, there was an insidious problem with the syntax that never showed up during compilation.

    if(c=='\') //check for \
    slashfound=1; //found one, handle path
    ++index;

    Code similar to this delayed shipment of a commercial product because it caused serious instability.

    1. Re:Insidious bug from the wayback machine by rufusdufus · · Score: 4, Informative

      Perhaps I should point out the bug: the comment "//check for \" ends with a pre-processor line-entesion character (\), which effective appends the next line onto the current line, thus the code "slashfound=1" is effectively commented out and the next statment (++index) only executes if c=='\'

    2. Re:Insidious bug from the wayback machine by spongman · · Score: 2

      well there's that, and also the fact that the condition should be:
      c == '\\'

  101. Re:Apollo 1 / hardware fault by ckedge · · Score: 3, Interesting

    .
    I've read in-depth technical analyses of the Apollo fire, and I have an MSc in Physics.

    Before that, *no-one* knew that a spark in one place could cause a fire TWO FEET AWAY.

    (You get little hot bits of burnt dust floating around in a pure oxygen atmosphere, and they keep themselves hot enough to set something else afire quite a ways away. Of course things are *easier* to set fire to in that atmosphere as well.)

  102. One of the best resources I've found by PghFox · · Score: 5, Informative
    The Pragmatic Programmer: From Journeyman to Master, is one of the best resources I've found to avoid common programming mistakes. This book details many of the common errors we make as software developers and describes strategies for overcoming them. Having been in the field for close to two decades, I've found this book to be of immense value, and give it a high recommendation.

    Some of the tips, which may appear obvious to some of us, include:
    • Always Aim for Simplicity, Clarity and Generality
    • Treat all of your code as if you're going to release it
    • Keep subroutines small; break-up code as you go
    • Document as you go, not after the fact
    • Write tests as you go, not after the fact
    • Fix bugs immediately; do not delay fixing them
    • Do not duplicate any code, anywhere
    • Separate form and functionality
    • Subroutines should do one thing and do it well
    • Make your work easy to reuse
    --
    --- Fox
    1. Re:One of the best resources I've found by Mac+Degger · · Score: 1

      IANAProgrammer, but doesn't this kinda contradict itself?

      "Do not duplicate any code, anywhere"

      and:

      "Make your work easy to reuse"

      --
      -- Waht? Tehr's a preveiw buottn?
    2. Re:One of the best resources I've found by PghFox · · Score: 2, Interesting

      I appologize for the confusion, I'll attempt to make it more clear. These two goals are actually not contadictory. One of the methods by which a chunk of code can be made easy to re-use is by abstracting it out into a separate module or subroutine. In this manner, anything that needs the functionality that that chunk of code provides, at any time in the future, can simply call it. In other words, you don't want to "cut and paste" any given chunk of code into several places, since if you need to make a change to it you'd have to change the same code in several places instead of just one. The idea here is that we want to save time, and increase maintainability.

      Think about it like this. Let's say you want to read a book (use some chunk of code). You have two choices. You can get one copy of the book and keep it in a central location (abstract the code out to one subroutine or module), or you can get a dozen copies of the book and place it at seemingly convienient locations around your house (cut and paste, i.e. duplicate, the code in many different places). You start at the beginning and read a chapter or two. If you have one book you can simply place a bookmark (modify the code) where you left off. If you have a dozen books you're forced to place twelve bookmarks. Now, what would happen if the author puts out a revised edition of the book? Would you rather replace twelve books or one?

      Ostensibly, the above example is somewhat contrived, but hopefully it answers the question.

      --
      --- Fox
  103. See your nearest mirror by Anonymous Coward · · Score: 1, Interesting
    Well, sort of no kidding as after quite some years of being in the job I dare say that 9 out of 10 people are not interested in getting it right in the first place.

    Usually the story goes something like, well, take your pick ...

    I am a ./ reader so I am a geek and so I do know.
    It compiles, it works, so it must be correct.
    But ...
    ... and who are you by the way ?

    ... and so on and so on. Say in short just let someone else skim through whatever coding you have done up yet and let find her or him what you have done wrong. It is the best source of errors you can get because they are all yours, caused by your lack of knowledge, unwillingness to accept computers do only know of right or wrong and nothing in between, your style, your whatever.

    Whether you will be willing to accept what you are going to see is a different question altogether and of course having a good laugh at others is more fun, yet it there is a difference between being just another coder out there and being a developer.

    IMHO one ought to aim for the latter and once you have become your harshest critic you are on the right path.

    1. Re:See your nearest mirror by Anonymous Coward · · Score: 0

      I remember back in my first College level C class that the entire class was involved in debugging this routine as to why it wouldn't work right. Being self taught in C I didn't want to show my ignorance therefore I didn't say anything in front of the class but as soon as the class was dismissed I said to the instructor what happens when you add a semicolon here .... lo and behold it worked.
      C is an advanced programmers language you "should" already have some experience before you learn the finer points of C.
      Remember "C's motto: give them just enough rope so they will shoot themselves in the foot." (sorry I might have mixed up a couple of pearls of wisdom).

  104. Cambridge University and CAPSA by 26199 · · Score: 2, Interesting

    It was a new financial system, and it was a real mess - something like £9m initial cost and £20m due to its flaws. According to Anthony Finkelstein, who's written a very detailed report on the fiasco:

    • Significantly more costly than had been anticipated (worse than it appears because of hidden costs)
    • Substantial disruption to working of the University
    • Placed staff under undue pressure
    • Placed the finance of the University at risk and may have prevented the University and its staff from fulfilling their legal responsibilities

    You can read his full report here (pdf) or here (google html version). There are also news reports on the system here and here.

    Basically, it was bad management throughout... a classic case of a big software project gone wrong.

  105. Puget Sound Ferry Boats by Anonymous Coward · · Score: 1, Interesting

    About 25 years ago, Washington State Ferries had a new fleet of boats with computer controlled engines. The code included "safety" features to protect the engines and transmissions from abuse.
    So, when a ferry was about to crash into a dock, and the captain called for full reverse power, the software would shut the engine down to protect it......and the ferry would crash into the dock.

  106. A more useful angle... by EasyAs314159 · · Score: 2, Interesting

    Horror stories (lost rockets, etc) are certainly attention-getters, but a more useful question might be what kinds of errors got made, regardless of how severe the outcome.

    For example, I once helped a newbie employee with a program that was working fine in a simple test case, but was blowing up when it tried to crunch through a production file.

    After digging a little, I noticed that she was using recursion in her "GetNextInterestingRecord" routine! The logic was:

    1) Get a record
    2) See if it's the kind we want
    3) If not, Call self
    4) return record to main

    I'm not sure why she chose to use recursion (too many classroom lectures on "cool" stuff and too little experience with getting useful stuff done?), but the program needed "interesting" records every so often to keep from overflowing the stack.

    Clearly recursion should be confined to those problems where it's really needed, and not used just because you can find a way to state the problem using recursion. And even then, you need think about how big the stack will get, and what sorts of scenarios could cause it to get too big.

    1. Re:A more useful angle... by jasoegaard · · Score: 1

      > Clearly recursion should be confined to those
      > problems where it's really needed, and not used
      > just because you can find a way to state the
      > problem using recursion.

      There is nothing wrong with the /concept/ of recursion. Just make sure you use a compiler that
      supports tail recursion.

      If the result of the recursive call is immediately returned, then a compiler can make sure that the stack doesn't grow. In languages like Scheme this part of the language standard.
      But som compilers for C such as gcc also supports tail recursion.

      --
      -- A Mathematician is a machine for turning coffee into theorems. - Paul Erdös
    2. Re:A more useful angle... by mOdQuArK! · · Score: 2

      Actually, I would say that it is more important to make sure that your recursive algorithm is provably bounded, i.e., each level of recursion can be shown to work on a smaller piece of data until all of the data has been consumed.

      Tail recursion is just an efficiency optimization for a certain kind of recursion. It wouldn't stop a compiler from an infinite recursion though.

  107. Airplane crash as counter-argument by Anonymous Coward · · Score: 0

    A good counter-example though would be the Russian Tu-154 and Boeing 757-200 crash of August 2002. Google for it you'll find articles.

    In this case, an air traffic controller mistakenly ordered the Russian plane to descend. The Russian pilot followed standing orders to obey air traffic control if there was any conflict with the automated systems. His TACAS system was warning him of an iminent collision right up to colliding with the Boeing.

    A computer-controlled system is a product of human frailty. It can fail. Overworked people can also override the system when it's working fine and create a new problem. Shit happens!

  108. If it went wrong, were they using Linux code? LOL by Anonymous Coward · · Score: 0

    If it went wrong, were they using Linux or MS code? Same shit, different pile. LOL

  109. Re:That is NOTHING -- 10,000 died in Bhopal, India by Anonymous Coward · · Score: 0

    Now, what do you think would happen if a large number of decent hard working consumers were wiped out in a single event?
    it did, 09/11/01


    A score of 4 for an inane post?

    It's fscking obvious.

  110. Re:Arian 5... by Anonymous Coward · · Score: 0

    The French make good cars? hah!

    Two words:

    Le Car

  111. bad code at WPI by tymellon · · Score: 1

    I'm a student at Worcester Polytechnic Institute and I've seen some pretty bad examples of coding here.

    The game development club made myst style game involving the campus. When the game first launched it took up about 25 megs of ram, but within about 5 or so minutes it was using over 200 megs and rising.

    Now it wouldn't have been much of a black eye if game development club wasn't giving out copies of during orientation to try to attact new members.

  112. Re:Apollo 1 / hardware fault by MacAndrew · · Score: 1

    Thanks -- looking back I realized I was too critical. After all, they were doing 1000's of things for the first time, especially life support.

    I later looked this up at this archive, which suggests what you said: The key error (in retrospect) was the use of O2 on the ground. Mercury was ground pressurized with plain air. Another criticism I read somewhere is that the astronauts themselves introduced netting and velcro to store things in the cockpit, and these burned very quickly indeed.

    ANYWAY ... was this a hardware fault or design failure? Hmm. Well, we're off-topic anyway.

  113. you mean don't trust INDIANS to write code by Anonymous Coward · · Score: 0

    Eveyone knows what you really mean.

    1. Re:you mean don't trust INDIANS to write code by Anonymous Coward · · Score: 0

      it's not funny, but i hope that was meant as a joke.

  114. Re:That is NOTHING -- 10,000 died in Bhopal, India by Forager · · Score: 5, Insightful

    From the site:

    "In 1969, as part of its global empire, Union Carbide Corporation set up its pesticide formulation unit in the northern end of the city of Bhopal in central India. Initially it mixed and packaged pesticides imported from the US but was gradually expanded. In December 1979 its Methyl Iso Cyanate (MC) plant with an imtalled capacity of 5000 tonnes went into production.

    On the night of December 2, 1984, during routine maintenance operations in the Methyl Iso Cyanate (MC) plant, at about 9.30 p.m., a large quantity of water entered storage tank no. 610 containing over 60 tonnes of AEC.

    This triggered off a runaway reaction resulting in a tremendous increase of temperature and pressure in the tank and 40 tonnes of MIC along with Hydrogen Cyanide and other reaction products burst past the ruptured disc and into the night air of Bhopal at around 12.30 a.m. Safety systems were grossly under-designed and inoperative. Senior factory officials knew of the lethal build-up in the tank at least one hour before the leakage, yet the siren to warn neighbourhood communities was sounded more than one hour after the leak started.

    By then, the poisons had enveloped an area of 40 sq.kms. killing thousands of people in its immediate wake. Over 500 thousand suffered from acute breathlessness, pain in the eyes and vomiting as they ran in panic to get away from the poison clouds that hung close to the ground for more than four hours."

    Nothing to do with programming errors here that I can see. Sounds more like gross negligence and incompetence to me.

    -A.

    --
    student of animation and the fine arts
  115. Re:Why this cant be right... by cathyy · · Score: 1

    Add power to gain altitude? When you're driving your car, do you press the accelerator to turn, too? Please explain to me, a non-physicist, how increasing power will do anything but make you fly faster in the same direction and at the same altitude you were already flying at. I used to work on airplanes, and if I were a pilot I'd pull back on the yoke to aim the nose of the plane a bit higher to gain altitude. Sure, I'd slow down a bit, but I'd gain altitude, too. If I really wanted to do it right, I'd pull up and increase power ONCE I WAS CLIMBING.

  116. Re:Arian 5... by Anonymous Coward · · Score: 0

    Yeah, we are very familar with europe. We had to bail your sorry asses out of it. Maybe we should have asked first if you wanted to all hang the German flag.

  117. Re:That is NOTHING -- 10,000 died in Bhopal, India by FattMattP · · Score: 2
    it did, 09/11/01
    You honestly believe that 09/11/2001 was caused by a programming mistake? I'd love to hear you justify that.
    --
    Prevent email address forgery. Publish SPF records for y
  118. Morton Thiakol Management made the decision by jo_ham · · Score: 1

    There was a video conference where the engineers relled off reams of evidence that stated that launch below 53F would result in catastrophic failure - they thought it would blow us the moment the SRBs were ignited.

    NASA rubbished them, claiming it was a bad presentation (they only had a few hours to prepare), but they could not launch if the engineers said no. The launch had already been delayed by 3 or so days so there was huge pressure from a PR point of view.

    The management team said "Take off your engineering hat and put on your management hat", and they then told NASA it was ok to launch.

    The senior engineer on that program resigned and now lectures on safety procedures at a university.

  119. Aviation examples... by Anonymous Coward · · Score: 0

    Several years ago, I worked as contact software engineer for a company and heard the following examples from one of their clients. I don't believe these stories are written down anywhere.

    1. The pilot's Display code on an airliner had a code error. During flight testing (at fairly high altitude) with government inspectors, all the displays (primary flight displays and navigation displays) went blank. On top of this, the company name was displayed in large letters (this was the default boot message). Needless to say, the company got immediate calls and found the error after a couple of days of intense searching. One of the programmers was "cleaning up" code and accidentally removed a set of significant parenthesis. The process set up to check this was software modeule test/verification - and the tester (who was not experienced in the process and the verification) found it, but thought it was his fault and CHANGED HIS TEST to verify that module to make the test pass - because the code module worked before (ouch). We need better education of testers (and not call them verifiers).

    2. Another flight test, another story. There are three systems that provide airplane heading information. As you know, heading can be anything from 0 to 359 degrees (and goes back to 0 for magnetic North). The three systems need to be redundancy-managed properly. There was one instance while the airplane was doing an automatic landing, the autopilot was trying to turn the airplane (away from the intended runway). The pilots disconnected the autopilot and landed the airplane manually. After post flight debrief and checking the code, it was found the programmer used averaging (while all 3 systems worked fine). This worked fine in most cases, but one of the the corner cases of sensors providing 359,0,1 degrees for heading the simple averaging blows up.

    In both cases, the whole system (of layers) set up to test worked before the product could do any damage.

  120. Ture or not, it sounds plausible. by Anonymous Coward · · Score: 0

    A coworker told me about a pilot-less military recon plane. It was designed to fly over enemy territory, take photos and return.

    Apparently, one of the coders skipped a call to abs() when processing the GPS input. For the first few test runs, it seemed to work fine. But when going on an extended run, the plane crossed the equator and thought it had a negative latitude. This caused the plane to then fly upside-down, making it's bottom-mounted camera point skyward.

    Obviously this was corrected before it was sent on any real missions, but it had to be rather embarrasingly high-profile mistake for the coder.

  121. Social Nightmare by Anonymous Coward · · Score: 0

    slashdot

  122. Re:That is NOTHING -- 10,000 died in Bhopal, India by Cyno01 · · Score: 2

    no, i was just saying that we do have an example of what happens when you lose several thousand consumers in one fell swoop, and the aftermathof such an event, not a whole lot happened after bhopal, i dont feel like researching much, but i'm willing to bet the only changes were stricter regulations on plants like that, after the 9/11 attacks our entire country changed(not for the better)

    --
    "Sic Semper Tyrannosaurus Rex."
  123. too much flight sim? by bmpercy · · Score: 1

    maybe you're thinking of "pulling up" as in "moving your mouse up".... i think you're being a bit picky here. the point was that they'd do whatever it takes to gain altitude. i think what puppetman is probably still true regardless.

    or do you just object to the 'misconception' that apparently everyone has that "pulling up" means "gaining altitude"? but think about it...if you were flying, someone yelled, "Pull up!", would you really head into a nose-dive?...

    --
    I was contemplating the immortal words of Socrates, who said, "I drank what?"
  124. Useful link from a while ago by Chef_TM · · Score: 1

    http://wwwzenger.informatik.tu-muenchen.de/persons /huckle/bugse.html I hate this forum. It makes me sig.

  125. Re:Unofficial Slashdot FAQ by Anonymous Coward · · Score: 0

    good stuff. keep up the good work

  126. Re:Apollo 1 / hardware fault by EvanED · · Score: 2

    >>looking back I realized I was too critical

    It's easy to be critical; hindsight is 20/20. I think NASA goofed badly with the Challenger, both in not requiring a redesign of the joint and by launching in the cold weather. I did a report on this for which I read through the Presidential report on the disaster, and NASA goofed on both these counts and should have seen the incredible danger in both these decisions. In both, people within NASA and Thiokol were continually raising red flags over the decisions, but nothing was done.

    On the other hand, the Apollo 13 incident was almost unforceable. In retrospect, it should have been prevented, since it was agin caused by a design change that wasn't throughly implemented. (It was caused by a change in voltage, causing a thermister made for the older, lower voltage to fuse shut. This then didn't turn off the heating elements, which led to the insulation on the wires inside the O2 tank to melt off. It then sparked during a cryostir.) However, the Apollo system was so complex that it's easy to see how the change was overlooked for the tanks, and it's possible to forgive NASA for it. The rest of the chain in the problem was pretty much unpreventable and unpredictable.

    Apollo 1 was somewhere in between. While the problems related to the fire (the inward opening hatch, the pure O2 environment) were forgivable, the whole capsule had problems which people had been complaining about. Gus Grissom had once hung a lemon from the top of the craft to show what he felt about it. So in general, NASA should have been more through with their safety concerns.

  127. Why the concept of exceptions is so great... by bmpercy · · Score: 1

    Yeah, funny that in the worst error case possible, the programmer decided to choose the value that was most frequently legitimate. When you want to indicate an error condition, it's awfully convenient to have exceptions to throw, as we do in Java. I can't tell you how many times I've reviewed Java code that returns null or 0 or -1 when it should be throwing an exception. At least, however, it was returning SOMEthing that looked like an error value....not the most typically returned value!!!

    --
    I was contemplating the immortal words of Socrates, who said, "I drank what?"
  128. What about Office Space? by lowtekneq · · Score: 2, Funny

    A period in the wrong place and they steal to much money?? Who can leave that off their list?

    --
    Carpe meam simiam!
  129. 10,000 dead in Bhopal, India != Concern by Sean+Clifford · · Score: 3, Funny

    When something like this happens, it's little more than an embarassing public relations problem. If the news can't be completely supressed through advertising, perhaps it can be kept off the evening news and relegated to the back pages. It requires a well-coordinated PR firm, but hey that's what they're around for.

    Sure, a few independent news agencies might pick it up and make a big deal about it - until someone goes whaling or starts cutting down redwoods. Few people pay much attention to the independent media anyway. Joe Sixpack doesn't subscribe to The Progressive.

    On the local front, shut down the plant, and evacuate your American/European workers. Split them up and transfer them around. If someone makes noise, force them to sign an NDA for their severance packages. Spread liberal bribes on the local front, write the whole venture off, and wait for the hubbub to die down. If you want to stay in the region and resume operations, do so under the umbrella of a subsidiary. If it's too risky, simply relocate to another third-world region. It's not like there's a limited supply.

    Unless you stay in the region, you really don't have to worry much about the local population. They're too poor to pursue legal action or be a security threat.

    Besides, it's not as if they're white Christians, is it?
    </sarcasm>

  130. Read this book by nsayer · · Score: 2

    The quintessential book about stories like this is called "Set Phasers on Stun" by Steven M. Casey (ISBN 0963617885). If you're interested in tales of this sort, this should be your starting point.

  131. Re:Why this cant be right... by Anonymous Coward · · Score: 0

    Lift in an airplane is caused by wind going over the wings--the faster the wind, the greater the lift. When you add power, you increase the thrust on the aircraft, and thus you increase the relative wind over the wing. Thus, you increase lift.

    If you pull up first, the plain will slow down because the angle of attack will no longer be optimal for level flight; the efficiency of the wings upward lift goes down, and drag goes up. Thus the aircraft loses altitude.

    You cannot begin climbing until you add power, this is basic conservation of energy.

    If you pull up too much in slow flight, the wings will stall, and the aircraft will fall like a rock!

    To sum up: to increase altitude, you add power.

    BTW I am a pilot.

  132. Re:Apollo 1 / hardware fault by martyn+s · · Score: 1

    Actually, the real problem has nothing to do with whether they use pure oxygen, or mixed oxygen and nitrogen. The problem has to do with the CONCENTRATION of oxygen. If you need to be in a full pressure environment, then yes, you'd need to dilute the oxygen with about 4 times as much nitrogen. But there's a simpler solution. Just use a pure oxygen atmosphere at ONE-FIFTH OF THE PRESSURE. The concentration of oxygen would remain the same, and therefore the flammability of the atmosphere would remain the same.

    The problem is concentration, not purity.

  133. i'm not trying to be funny here but... by b17bmbr · · Score: 1

    wouldn't the whole microsoft experience be a programming error. basically they have forgone security for convenience.

    we should learn from them. by allowing things like scriptable macros in office, embedded executables in IE, and no user permissions they open the door to trouble. the prevalence of all the viruses, trojans, etc., that are so pervasive should be example of how not to do things.

    let m$ be the how not to inCS the how to in MBA school.

    --
    My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
  134. OT: Scuds and Patriot missile defenses by GuyMannDude · · Score: 5, Interesting
    People keep pointint to the floating point error as the cause for why the Patriot system at that time (the PAC-2) let that scud go through. But as I've already pointed out in an earlier post, the PAC-2 did a crappy job (far worse than is generally known) intercepting scuds not because of coding errors but because the problem of hitting an erratically moving missile was so difficult. I think it's important to get the word out as we approach a new war with Iraq and consider a national missile defense shield. This recent article briefly discusses Israel's own attempts at missile defense because they don't trust the PAC-2 (for good reason) and it's questionable whether the US is going to give them some PAC-3 batteries.

    Bottom line: that stuff about the floating point error in the PAC-2 system looks neat on paper but it's not at all clear that the faulty calculation was responsible for the loss of life.

    GMD

  135. Re:Arian 5... by Anonymous Coward · · Score: 0
    By European, you mean German, don't you?

    Previously, when the Germans conquered the French (historically about every 50 years or so) it was with soldiers marching through Paris.

    Now it's bankers.

  136. Airport flight schedules by PyroX_Pro · · Score: 5, Funny


    Here are some of the best examples of windows crashing on high visibility systems that are relied upon:

    in the street
    At the airport
    at the atm
    on CNN
    At disneyland
    On your phone
    In an airplane
    At the bus stop

    1. Re:Airport flight schedules by Ilgaz · · Score: 1

      all are real.. except "on your phone". Its a Siemens C35i , a middle class, WAP enabled phone has nothing to do with ODBC.

      How do I know? I have that phone ;-) It sometimes "freezes" though.

    2. Re:Airport flight schedules by thopo · · Score: 2

      the airplane pic is also faked.

      --
      keep it simple.
    3. Re:Airport flight schedules by bLanark · · Score: 2

      The message comes from the server. I see it on lots of MS/ASP/MSSQL web sites from time to time.

      I don't think it should be included with the above, as it's not really on the phone, as you point out.

      --
      Note to ACs: I won't mod you up, even if you are being funny or insightful. So take a chance! It's not real life!
    4. Re:Airport flight schedules by Ilgaz · · Score: 1

      Heh obviously yes... I didn't check it before saying "all are real"...

  137. Montgomery Ward Warehouse bug by pngwen · · Score: 1

    I'm not sure when this happened, but I was told this one in my Software Ethics class.

    Montgomery Ward (a catalog company) lost a warehouse for 2 years because of a software bug. The workers at the warehouse came to work each day, and no boxes came in or left the warehouse so they just made the existing stock as orderly as possible.

    The bug was discovered and the warehouse went back into operation, but it had merchandise that was 2 years out of date!

    -Bob

    --
    I am the penguin that codes in the night.
  138. Three Mile Island by Anonymous Coward · · Score: 0
    When the temperature in the core passed above the range of the instruments, they showed "????" instead of something clearer like "^^^^" or "It's melting you fucking morons!!!!".

    So the folks running the plant figured the core was OK and it was the instrumentation that was broken.

  139. Re:Why this cant be right... by cybercuzco · · Score: 4, Insightful

    Thats not entirely true. Adding power will inccrease your altitude, but pulling up will too. When you pull up, you trade altitude for speed. In other words, youll go higher but your plane will be goins slower. Eventually you arent going fast enough to maintain level flight characteristics, so you have to add power or stop trying to go higher. In some cases youre right though, if you already are only going fast enough to maintain level flight, pulling back on the stick will slow you down and decrease your altitude, but this isnt always true. As for the person who didnt understand how adding power increased altitude, when you go faster, you increase the lift coming from your wings (since lift is a function of speed and angle of attack) so there is a net upward force on the aircraft, causing it to go upwards.

    --

  140. Re:Why this cant be right... by gilroy · · Score: 2
    Blockquoth the poster:

    Please explain to me, a non-physicist, how increasing power will do anything but make you fly faster in the same direction and at the same altitude you were already flying at.

    Well, if you apply more forward thrust, you increase the speed differential of the air flowing over the airfoil... Bernoulli should say that this increases your lift and so you go up.
  141. Re:Why this cant be right... by Anonymous Coward · · Score: 0

    Flying is a game of energy. Things do not work as they do in a car; if you took your instincts up in the air you'd probably get killed. (I probably would too, all I have flown are simulators.)

    You have to maintain a certain amount of airflow over the wings to maintain lift. If you are at cruising power, flying level, and pull back on the stick without doing anything else, the aircraft will indeed go up, but it will also immediately begin slowing down, because it's working harder to travel the same distance. This will reduce airflow across the wings, which will reduce lift, and eventually the plane will start descending.

    Adding more power, on the other hand, will increase your speed, which will increase your lift, which will cause the plane to rise, even though its attitude has not changed.

    If you have enough power applied, raising the pitch of the aircraft will indeed cause you to climb faster. You trade off speed for altitude. What you're looking for is the sweet spot... the proper pitch for your current power setting to maximize rate of climb. You're trying to get maximum lift out of your wings.

  142. This would be better by csnydermvpsoft · · Score: 2

    How about this:

    if altimeter1 not working
    {
    if altimeter2 not working
    {
    while (1)
    {
    height = 1;
    while (height 99999)
    {
    height++;
    }}}} (sorry for the bad code, but the lameness filter got me)
    There, a nice spinny altimeter. :-)

    1. Re:This would be better by smallstepforman · · Score: 2

      Buddy, dont quit your day job. Your code will kill someone. Geez, 2 tight loops, 4 syntax errors . . .

      --
      Revolution = Evolution
    2. Re:This would be better by the+way,+what're+you · · Score: 2
      Buddy, dont quit your day job. Your code will kill someone. Geez, 2 tight loops, 4 syntax errors . . .

      Yeah, obviously the lameness filter doesn't work well enough if that got through. ;)

      --
      example.org - powered by Linux!
  143. MS by IanBevan · · Score: 1

    Microsoft Outlook's scripting support.

  144. Uh, Y2K by BryanL · · Score: 1

    How about Y2K. Have I just not read down far enough to see this one mentioned?

  145. F-16 (or maybe one of the other fighers) by bmwm3nut · · Score: 2, Interesting

    my cs teacher told me this one back in college...he said one of the first runs of the f-16 (or maybe another one of the computer controlled fighers in the air force) they were flying and everything worked just fine. however they took it across the equator and the plan flipped upside down. so the pilot corrected it and everything went back to normal. then he flys across the equator again and it flips.

    so they took a close look at the software, and there was a bug in their sin function so that when they went across the equator they angle changed from positive to negative and the sin function didn't have the negative incorporated. so basically when the plane went over the equator it thouht it was upside down and corrected itself by flipping itself upside down.

    i think it's a funny example of a stupid mistake possibly making a catastrophe. i've never seen this mentioned elsewhere, so i'm not to sure about this. but i do trust the cs prof who told me, before coming to my school he did a bunch of government contract work.

  146. Linux software by Anonymous Coward · · Score: 0

    The Linux kernel is pretty much OK, but most of the userspace stuff is 10x bigger than it needs to be. Mozilla, emacs, glibc, KDE, GNOME, and xfree86 are prime examples of this, but even little things like "mv", "rm", and "cp" are bloated beyond belief. (And no, they aren't statically linked)

    "GNU's not Unix". Yeah, Unix dosen't take a megabyte to do things that could be done in a K.

  147. I have one too by lim-bim-tim-wim · · Score: 1

    I have a friend who works at a medical lab.

    They got a new machine, the machine worked fine, but their computer system ate all the results the first time they used it.

    Not a big issue though, there's always some sample left over and they tests could be done again on the old machines.

  148. Ariane V not a programming error. by anshil · · Score: 1

    Once for al Ariane V was not a programming error. Yes it was an error in a program that caused the accident, but it was NOT the fault of a programmer. Why? The system in use (I think it was the inertia compensation?) was designed and programmed for the Ariane IV, the variable that overrunned was explicitly tested to work in bounds with ariane IV. The funny fact is that they did have overrun checking the system they used, they explicitly turned it of for the variable in question to gain speed, since they tested and calculated to be running always in bounds. The real error was a managment one, it ocured when the system was transfered as is to the Ariane V without recalculation or reprogramming for new conditions.

    And the second important thing it's not okay to blame any programmer/person. Normally it's a whole chain of things going wrong that lead to an accident, not a single event. Even if a programmer makes an error, in an important system like that, it should be reviewed, and also quality assurence failed completly in there. For example the ariane V, why was the system not tested for Ariane V conditions?

    --

    --
    Karma 50, and all I got was this lousy T-Shirt.
  149. Personal Example by MadocGwyn · · Score: 2, Interesting

    Was working for a small isp. Sitting at work developing a script to blank the accounts off our old mail server (outsourced) for when our new mail server is completly online and ready to go. Its done, i remove my debugging code and the limites I had placed (i had limited it to work with only 2 test accounts) Congradulating myself on a job well done I head to the hall to grab myself a coke, i come back and my boss is at my comp, now the program was written in VC++ so the 'play' button is pretty obvious and hes seen me use it before, the idiot wanted to see what i was working on and ran it, blanking all accounts off of the mail server. Took us 3 days to get the outsourceing company to restore from a backup (one of the reasons we were co-locating our own), and even then all mail recieved after the backup (the night before) was gone ofc. I just about strangled my boss, on the upside, he never touched my workstation again.

    --
    Jesus saves, everyone else takes full damage from the fireball.
  150. I'this somewhere ... by Anonymous Coward · · Score: 0

    if(status = UNDER_NUCLEAR_ATTACK)
    launch_full_counterstrike();

  151. Lets Not Forget the Best... by Hott+of+the+World · · Score: 5, Funny

    Slashdot Math!

    cause we all know 50 + 1 - 1 = 49!

    Ok, that was lame, go ahead and mod me down...

    --
    | - | - |
  152. Wind was the *cause*. . . by kfg · · Score: 5, Insightful

    of the Tacoma Narrows bridge falling. The *fault* was with the design, and hence, the designers.

    An extended bolt puncturing the gas tank during a rear end collision was the *cause* of Ford Pintos exploding. The *fault* was with the design, and hence, the designers.

    Both of these items could have been claimed to be perfectly free of design flaws while being used as "intended."

    This argument did not help the designers in not being found liable for their design flaws.

    The divide by zero error was the *cause* of the operating system's failure. The *fault* was with the operating system. The *operating system* crashed. An operating system failure is *always* the fault of the operating system, and hence, its designers.

    Read any textbook on the design of operating systems and in the first page or two you find some sort of statement along the line of, " A faulty app should never cause the operating system to fail." This is correct design.

    Let me repeat. If an app fails, it is the fault of the app. If the operating system fails, no matter what an app has done, it is the fault of the operating system. An operating system must *assume* apps badly written by complete incompetents.

    It doesn't matter what operating system. Windows, Linux, Mac or just the beads on your abacus.

    * It is the responsibiltiy of the operating system not to fail.*

    The fact that such failures can be explained away as the fault of the app by people who should know better makes me grieve for the state of engineering these days. It can only result in products being produced with greater and greater "craposity" factors eventually resulting in a culture of complete "crapitude."

    KFG

    1. Re:Wind was the *cause*. . . by pawndog · · Score: 1

      At what point did the operating system fail? It sounds like the application crashed. A single application that divides by zero is quite common and cheerfully caught by NT and terminated.

      Would you rather that NT catch the exception itself, and do some bizzare, ad-hoc guesswork and fudge a number? Leading to potentially stranger behavior as the OS is now interfereing with the application.

      Linux would have done the same thing.

      --
      [Posted from deep within the northen forests of North America, via TCP/IP tunneled over carrier pidgeon]
    2. Re:Wind was the *cause*. . . by Anonymous Coward · · Score: 0
      Uptime is irrelevant when the services that the server is supposed to provide are unavailable.

      The OS was never to blame in the USS Yorktown. The OS never crashed. The navigation software did when an unhandled division by zero exception occured. The software, which was shoddy enough to not perform data entry validation or simple error handling, also could not simply be started back up again.

      The concept of blame about Windows NT came from an engineer of the civilian outfit hired SmartShip initiative with the Yorktown. He flat out stated that a division by zero on a PC should simply yield zero and that this different behavior must be a fault of the OS. He also claimed that any calculator would do this. He is wrong on both counts. Division by zero yields an error on all PCs, OS is irrelevant. Division by zero also yields an error on any calculator I've ever used.

      "If you understand computers, you know that a computer normally is immune to the character of the data it processes," he [Anthony DiGiorgio, a civilian engineer with the Atlantic Fleet Technical Support Center] wrote in the June U.S. Naval Institute's Proceedings Magazine. "Your $2.95 calculator, for example, gives you a zero when you try to divide a number by zero, and does not stop executing the next set of instructions. It seems that the computers on the Yorktown were not designed to tolerate such a simple failure."


      Problems with the OS? No, absolute fuckheads designing the systems.
  153. Madcap Marsupials by Sigma+Kiwi · · Score: 1

    Here's one I heard about a few years ago:
    The Australian park service (or equivalent org) needed a simulation program to train helicopter pilots. They had heard that the military had a sim that would probably fit their needs, and talked to the company that produced it. When they started testing the sim, everything seemed to go fine, until they flew by a gathering (herd? flock? posse?) of kangaroos. Imagine their surprise when these lovely beasts made tracks for the nearest ridgeline and started lauching shoulder mounted SAMs at the chopper.

    Oops. The company changed the graphic, but not the behavior, for the infantry to kangaroos.

    My memory is fuzzy on the exact details, but you should get the picture -- Kangaroos with Guns (sounds like a Fox special, eh?)

    1. Re:Madcap Marsupials by sg_oneill · · Score: 2

      Ok.. I remember reading that one in the paper as US military guys that where being shown the system by ADI (Australian Defence Industries). I also remember nearly falling off my chair laughing.

      You may be right tho. Fsking funny.

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
  154. absolutely! by FatSean · · Score: 1

    At the very least, add a URL with the search terms you used to produce the related information. Googling is a bit of an art, one I'm not an expert at, and it's always good to see a more experienced try.

    --
    Blar.
  155. fun with java by Anonymous Coward · · Score: 0
    when i went back to college after summer holiday, a friend of mine said that while in NYC he had worked as a coffee-boy for a (then new/now defunct) online gambling site. they had thousands in venture capital and just needed to blow it. he had taken a peak at their java code and noticed a flaw, but didn't tell anyone.

    the error was: after playing a game, you were supposed to click on "Cash out" (thus saving your money, usually we all tried it and had a laugh, and cashed in for stupid toys like phones and cheap radios, but one of the nastier guys in the flat wrote a script that clicked on the button about a hundred times, then replayed itself. 10 hours of sleeping later he had a couple thousand dollars. that's about when the site closed for a week and re-opened with an intirely new setup.

  156. Re:Arian 5... by Anonymous Coward · · Score: 0

    ArianE 5 is mostly french but it IS a project of ESA. And also, I think some of the programming was made by SAAB Aerospace, and I think reuse of code was part of the problem.

  157. Schadenfreude by neiljt · · Score: 2, Funny

    After all, it is better to learn from the mistakes of others than from your own, right?

    Not better, but more comfortable. You will generally remember better what you learn from making your own mistakes.

    Not that I would discourage your approach (or curiosity).

  158. Re:Why this cant be right... by bongholio · · Score: 4, Informative

    You're all sorta right.. here is one of my favorite aviation pages It'll tell you more than you ever wanted to know about airplane physics (from a pilot's point of view). Chapter 1 covers these altitude/speed/power concepts...

  159. Re:RTM Worm - Now he teaches CS at MIT by Anonymous Coward · · Score: 0

    And then he got a job teaching the hoodlums
    of tomorrow at MIT

    http://web.mit.edu/bin/cgicso?query=alias%3DR-morr is2

  160. Sounds familiar by Mendy · · Score: 1

    Let me guess... you're at UMIST and have just been give the "Why Systems Fail" coursework...

    If my hunch is right (based on Ariane 5 and Therac-25 being the example situations given in the material) using slashdot is a nice easy way to get your research done... wish I'd thought of it :)

  161. Re:That is NOTHING -- 10,000 died in Bhopal, India by Anonymous Coward · · Score: 0

    By God, I had no idea. I'd never heard about this catastrophe until just now. May God help them all, living and dead.

  162. Mars Pathfinder by Kerg · · Score: 3, Interesting
    The little "RC" NASA sent to explore the surface of Mars had a nasty bug in its threading system (priority inversion problem in critical code section) that caused total system resets every 20 minutes or so.

    You can read about it from James Gosling's home page (also has info on Arianne 5).

    Luckily the engineers were able to upload a patch to Mars. That's remote debugging/patching for you :-)

  163. Re:Why this cant be right... by Make · · Score: 1

    i'm glider pilot in my free time, and i can tell you:

    to increase altitude, you pull the control column, i.e. you turn the nose of the plane UP. but you can only gain altitude of this if your plane has got enough kinetic energy which can be converted into height.

    if you don't have enough kinetic energy, your plane stalls, and it won't work (to say it simple). so you need to add energy by giving more gas (if you've got an engine - in my glider, i don't have one ;))

  164. Re:That is NOTHING -- 10,000 died in Bhopal, India by Anonymous Coward · · Score: 0

    Coincidentally, I worked with one of the contractors that did work on the Bhopal plant. This former employee (who was my boss) said that UC used second hand part that had reached end of life in the US, and put them in the Bhopal plant. They warned UC about this, and told them to get their act together before anything serious happened. He also said that the day after the Bhopal explosion, UC came and took all of their papers, citing a legal contract that was signed when they initially began their work.

    Now I cannot verify these allegations, so they should be taken with a grain of salt. That's why I'm posting AC.

  165. a good resource by Herotodus · · Score: 2, Interesting

    Back issues of "Communications of the ACM" are a gold mine for such blunders of the art. Most issues have a back page column "Inside Risks" that are or were written by Peter Neumann but various others have contributed. Usually each covers a theme since the subject material is so broad and seemingly unending.

  166. Re:Apollo 1 / hardware fault by Anonymous Coward · · Score: 0

    A good post-mortem on Challenger (or I thought so at the time) is "Challenger : A Major Malfunction : A True Story of Politics, Greed, and the Wrong Stuff" if I have the name right. You probably encountered this in your research; it was highly damning of nearly everyone involved, but with an awareness of the political realities. For example, originally a one-piece booster was proposed, but that could only be shipped by barge; and they wanted to use Morton to please whatever senator from that state. Even where the accidents result from haste or sloppiness, the chain of effects is fascinating to trace.

  167. Software Horror Stories by Anonymous Coward · · Score: 0

    This list is huge. Please mod up!

    http://www.cs.tau.ac.il/~nachumd/verify/horror.h tm l

    -For Tommy

  168. F-16 AOA and WOW by taaminator · · Score: 4, Interesting

    "Flight instruments don't lie"

    First, BEFORE YOU LEAVE THE GROUND, pilots are taught that instruments don't lie. Specifically, when the human inner ear is placed in flight, things go wrong (the inner ear canals are static, not dynamic, devices; the fluid has no dampening or rate sensors). When there is no external reference, the inner ear canals adjust to the eye's visual presentation. It's called the 'leans.' Bad joo-joo. Many a perfectly good aircraft has been flown into the ground because the pilot believed his ears and eyes and not his instruments.

    Second, IN FLIGHT, angle-of-attack (AOA) is a spectacular indicator of where your airfoil exists within (or outside) the flight envelope for your aircraft. Inside the flight envelope, you can seek best range (mpg) or best endurance (loiter) or best climb.

    In most aircraft, the angle-of-attack indicator is a manual instrument (on the skin is a sensor which looks like a big euro-style handle and it runs to an indicator in the cockpit).

    Many pilots are correctly taught to 'fly' the angle-of-attack.

    Third, ON THE GROUND, when you land, you use the aircraft shape as an airbrake. You hold the aircraft nose off the ground as long as possible to create drag.

    Fourth, ON THE GROUND, when you land, you do not want to hold the aircraft nose too far off the ground or the tail will scrape the runway and your fitness report will reflect and you'll be the butt of bad jokes at Snopes for eternity.

    The AOA is used to assist in the performance of aerodynmic braking. The aircraft performance manual publishes the tried and true range of AOAs for aerodynamic braking. [It also indicates when too much AOA will ding the aircraft.]

    Aerodynamic braking is part art and part science and requires accurate instruments.

    Enter the F-16 ... it has an electronic AOA.

    F-16 pilots were taught to fly the flight direction indicators to land.

    However, many old and new pilots fell back on the old AOA once the wheels touched the ground to do aerodynamic braking.

    Suddenly, F-16 tails were scraping along the runway at an alarming (and expensive) rate.

    [As an aside, the problem was probably ignored until a senior officer ground off a few inches of aluminum THEN there was a problem.]

    The programmers who wrote the AOA routines were rightly told that the AOA is used in flight. So, when the AOA detected that the aircraft had placed weight on the wheels (weight-on-wheels - WOW), it was programmed to quit working. Unfortunately, it kept the last AOA reading ... no matter what the real AOA was.

    Pilot flies, pilot lands, pilot believes instruments, pilot scrapes multi-million dollar aircraft's tail along runway.

    The programming solution was simple: when there was WOW, fade the AOA.

    This was another case when contracts pit spec wording against spec intent against functional application and understanding of how it's supposed to work ... Fortunately, it was expensive and not lethal.

    "Why did they call you 'sparky' and why are you driving school buses in North Topeka?"

  169. Re:That is NOTHING -- 10,000 died in Bhopal, India by jgaynor · · Score: 4, Informative

    A "large quantity of water" entered the storage tank because an employee who had just been fired dropped a hose into it out of spite (he didnt know what would happen, he just wanted to ruin something). Yes the safety precautions were under-par, but when someone with legitimate access wants to destroy something its pretty hard to prevent.

    And yes, this has nothing to do with programming error :).

  170. NASA - MPL and CO by Anonymous Coward · · Score: 0


    Haven't seen anyone post on these two... failing within a few months of each other, both do to software errors.

    Mars Polar Lander - incorrectly masking noise in the "we have landed" switch so that the vehicle detected being landed when the legs deployed way above ground. Software was not written to spec.

    I forget about the most likely senario for the 2 penetrators that were along for the ride.

    Climate Orbiter - different units between JPL and contractor programs.

    Cause... better, faster, cheaper... went too cheap. Lot's of overworked folks.

    That was a very depressing couple of months. I know NASA will be paranoid about similiar problems with MER landing in a year.

  171. Mars Pathfinder: keeping your priorities straight by reg106 · · Score: 1

    The Pathfinder mission was widely regarded as a huge success. Several days into the mission the system began restarting intermittently. The bug was located and corrected, and is a great lesson in real-time operating systems, priority-based preemptive scheduling, and (the fix) priority inversion.
    There's lots of information on the web, and it makes a good read, even if you're not into operating systems.
    For example
    What really happened on Mars
    Introduction to Priority Inversion"

  172. yeah but by Anonymous Coward · · Score: 0

    Bad coding isn't always the programmers fault.

    Excessive overtime, budget cuts, lazy beta-testers, overzealous managers, unrealistic deadlines based on trade-show dates, etc. All these factors combine to make lousy code.

    $0.02

  173. Kirstie Alley by saddino · · Score: 1

    Clearly one of Scientology's biggest programming blunders.

  174. well there's always... by Anonymous Coward · · Score: 0

    EMACS... it's an ok operating system, but it lacks a good editor...

    *ducks*

  175. Three books at the top of the canon by tz · · Score: 1

    C Traps and Pitfalls

    Programming Pearls

    More Programming Pearls.

  176. Blind code reuse by management edict by Anonymous Coward · · Score: 1, Informative
    "...I think reuse of code was part of the problem."

    In particular, there was a management decision that the software for the previous model would be used, even though the design criteria for the new model were different. In particular, the Ariane 5 was capable of accelleration that overflowed variables in the program written for Ariane 4.

  177. I remember that by Anonymous Coward · · Score: 0

    Back in the days when programming m68k assembler on my Amiga I sometimes had that problem.

    Doing low level stuff, control-break or whatever wasn't an option.

    The solution was to solder a switch to two of the processor pins. Shorting them would cause a level 7 interrupt which could be caught and used to restore the system. The real solution was of course not to write infinte loops.

  178. Not programming story but.. by phorm · · Score: 2

    My college program involved several co-op workterms, in which students would be placed in paying jobs as part of their education. One of our teachers regaled us with stories of co-op placements gone bad. In one case, a student at the local lottery office (where the prof used to work) apparently sat on a keyboard and apparently managed to butt-type a sequence of keys that knocked out the lottery system for awhile across the province (apparently while trying to flirt with a female co-workers).

    From what I remember, he was blacklisted for quite a while with local employers, probably didn't get a date from the female co-worker either...

  179. My favourite quote on the subject by iapetus · · Score: 3, Funny

    The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents.
    -- Nathaniel Borenstein

    --
    ++ Say to Elrond "Hello.".
    Elrond says "No.". Elrond gives you some lunch.
  180. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  181. Nextance by Anonymous Coward · · Score: 0

    This software tried to do something fairly simple. Track contracts. It grew to over 700,000 lines of code and has to load 4.5 gigabytes of data to load.

    It chocks with more than five users and never does better than 5 second response times.

    What went wrong?

    1. They bet heavily on XML.
    2. Built a "demo on steroids". After the demo impressed people they just kept adding to it, rather than building a real product. It never had more than one layer, so performance suffered.
    3. Huge code. To load a page the app had to use a 10,000 line XSLT script. It got to where no body knew what it did or how it did it. It could not be maintained.

    1. Re:Nextance by King+of+the+World · · Score: 2

      That's fucking cool. Any more information?

  182. Will the patch work on WinXX? by Anonymous Coward · · Score: 0

    Similiar problems...

    1. Re:Will the patch work on WinXX? by cookd · · Score: 1

      Correct me if I'm wrong, but I don't think priority inversions are an issue for Win(NT|XP). Consumer Windows (as well as Linux and most other general purpose OSes) runs a modified round-robin type scheduler. Priority inversions aren't an issue.

      Windows CE has them, though...

      Inversions happen on real-time OSes. In RT, the OS always selects the thread to schedule next out of the pool of eligible threads of priority X, where X is the highest priority that has any eligible threads. In other words, if any threads have a higher priority than you, as long as they aren't blocked, you'll never run.

      Inversion is when a low-priority thread has a resource that a high-priority thread is waiting for. The low priority thread is bumped up in priority so that it can release the resource.

      So a priority inversion problem is usually an application issue, not an OS issue -- the programmers didn't think very hard about the consequences of setting various priorities and acquiring various resources. And it is one of the reasons that programming real-time OS apps is tricky. Make a priority mistake on a general-purpose OS and your program might run a bit more slowly. Make a priority mistake on a real-time OS, and several threads will never run at all.

      Of course, you were really referring to the fact that it crashed every 20 minutes, so this reply is completely pointless. Oh well...

      --
      Time flies like an arrow. Fruit flies like a banana.
  183. I can't believe this hasn't been said yet: by Anonymous Coward · · Score: 0

    Perl.

  184. Faults by Anonymous Coward · · Score: 0

    Sometimes errors are due to management simply not giving enough time for proper testing. Awhile back I was given a task to add a new feature to the company software, but was rushed to get it out the door. I was not given enough time to test under heavy loads, and as a result, within a day of the new features being distributed amongs the servers, 70 servers came crashing down. The pressure was suddenly on me to fix this problem, and I had to do some panic redesign. I did fix the problems, but had I been given the time I requested, it would not have happened. All to often a company simply does not understand that programming is an art. It's not like assembling a desk. When the programmer ses "I need more time", he means it! But rarely does upper management understand such things =(

  185. code gone bad by slriv · · Score: 1

    Wow, this is so pertinent. At my former employ, I was able to watch a group of talented, but misguided programmers build an entire CORBA framework that provided absolutely no functionality, nor solved any of the companies products needs. In effect wasting 2 years writing code that couldn't be sold. Today the company is spiralling into oblivion, but it's really sad that management and even the programmers themselves never saw the light until it was too late.

    The truth is, it wasn't the code that was bad, it was the mindset. People just couldn't wrap their minds around the companies products (cuz it wasn't sexy afterall) to focus and decided they would invent/build their own thing. I left 6 months before the end, executive staff fired, half the company layed off which had already been cut down about 4 times over the previous year. I feel bad for the guys who wrote the code though. They really thought they were building something, but at the end of the day their code is going on the shelf.

    Code gone wrong... Management gone wrong... It's the new era, now, and hopefully we've all learned something.

    --
    All the worlds a stage, and I'm the guy running the lights...
  186. A perfect example... by newestbob · · Score: 0

    ...would be Java which was developed by admitted pedophile Patrick Naughton to search the web for pictures of naked little girls.

  187. "Normal Accidents" by Nanoda · · Score: 1

    In my Computing Ethics class, mention was made of a problem (can't find a source, sorry), where a pipeline had computer controlled valves. There was something like a T-valve, where to switch flow, one valve was closed, and another opened. Since the valves worked slowly, it didn't really matter if you opened one before you closed the other or vice versa. Until the process (which was running as low priority) was interrupted after closing one, and blew out a huge section of pipe.
    Also, you might be interested in a book called Normal Accidents that documents similar problems with all sorts of technology. Preventing software problems is good, but preventing entire systems of accidents is better.

  188. Windows by x0m3g4 · · Score: 0, Redundant

    If you think about it, Windows is just a big programming blooper.

  189. Great book on topic by chapinsky · · Score: 1

    The book that immediately comes to mind is "The Day the Phones Stopped" by Leonard Lee. isbn 1-55611-264-5. 1991. I believe it is out of print.
    In 12 chapters it covers the most spectacular computer & technology failures in history, including but not limited to the aforementioned Therac-25 during 1986, the Air Canada Flight 143 incident, fly-by-wire systems, the legendary AT&T switching disaster of Jan 15, 1990, several air controller disasters, and others.
    The book doesn't solely focus on software per se, but technology in general, and complexity in particular. If you can get past the sensationalist style, it can be a very humbling reminder that failure is a weed grown best on a bed of complexity.

    --
    No computation without defenstration!
  190. Here's an example by Anonymous Coward · · Score: 0

    A professor of mine told this story about a former student of his:

    Some code had to be written to control an expensive plotter printer. He didn't take into account the mass of the plotter when moving to different coordinates - he didn't realize the plotter can't accelerate and decelerate instantaneously- and he ended up destroying the plotter.
    He also got fired that day.

  191. Yet Another Story... by drb · · Score: 1

    When I took 6.001 here at MIT, they told a story which I haven't seen mentioned in this thread. Maybe it's real, maybe it isn't, but it's entertaining. Apparently the Navy was testing a new type of torpedo, but some of the code wasn't finished yet. Eventually, they wanted the torpedo to be smart enough to turn around and try again if it missed its target. That part wasn't done yet, but they wanted to do a few live tests to determine the weapon's effectiveness. As a hack, they put in a simple if-then -- if the internal compass ever turned more than 180 degrees, the torpedo would self-destruct. Several torpedoes with this code were loaded onto a ship and taken out to sea. During the trials, a few of them failed to leave the tubes. What do you do after a hard day of torpedo testing? Well, you turn around and go home... Boom!

    --Dan

  192. that's the point by Nomad37 · · Score: 1

    That's kind of the point. Look at the different reactions across the world to Bhopal and 11 September. Why is one so much worse than the other? Maybe because they were consumers? or Americans? but the original poster's comments are right on the spot.

    --
    Pessimism of the intellect, optimism of the will! - Antonio Gramsci.
  193. An obvious one... by Anonymous Coward · · Score: 0

    Slashdot!

  194. If you waited by Anonymous Coward · · Score: 0

    til CS university to ask this question, you're not a real programmer. If by university, you haven't already asked and answered yourself these questions, you're just in it for the money, or the economy is so bad that you're hiding in school.

  195. Ever program industrial controls? by Anonymous Coward · · Score: 1, Interesting

    A bug in a factory PLC program allowed a machine to start when a metalic object (such as a wedding ring) went in front of a sensor.

    Later, a program modification allowed an aircylinder to extend while the machine was turned off for maintenance. The guy jumped out of the way in time, but let us know about it. (This was before lockout tagout.)

    Bottom line - a bug in a PC program typically results in data damage. A PLC bug can literally smash someone's head!

  196. Re:Why this cant be right... by spongman · · Score: 2

    unless your pointing at the ground. an if you've even been in an acrobatic plane (such as a jet fighter) then you'll know it's oftern extremely hard to know intuitively which way is up - especially when you're in the clouds.

  197. I have hundreds of examples... by duckpoopy · · Score: 1

    If you want to see programming gone wrong I can show you the assignments turned in for the class I TA for. There is some really funny stuff in there.

    --
    word.
  198. New Slashdot Category? by po8 · · Score: 3, Insightful

    Could we have a new Slashdot category entitled Ask Slashdot To Do My Research/Homework For Me? Then I could mark this category unread and avoid some annoyance.

    There is so much information readily available on the subject of software failures online and in scientific and popular publications. (See other responses to this question for examples.) IMHO, the questioner should go look for the answer to this kind of question directly before bugging the entire Slashdot audience; the editors should enforce this policy.

    1. Re:New Slashdot Category? by evilviper · · Score: 2

      Isn't that what the whole ASK SLASHDOT section is for? Please point out one example where someone isn't trying to get readers to help them choose the best product, or otherwise solve a problem that they have.

      Yes, I'm guilty. I haven't you eliminated the section from my own preferences, yet...

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    2. Re:New Slashdot Category? by Mac+Degger · · Score: 3, Insightful

      I'm kinda sick of seeing this kind of comment. If it where to hold any merit, WTF would 'ask slashdot' be for? To me, the whole purpose of the 'ask slashdot' catagory is to plumb the experience of the people who frequent this place. If you're not allowed to do that, what would you use it for?

      --
      -- Waht? Tehr's a preveiw buottn?
    3. Re:New Slashdot Category? by po8 · · Score: 1

      We're badly off-topic here, but hey...

      Yes, of course Ask Slashdot serves a useful function: sometimes information isn't readily available via Google and/or the library, but is readily available through the minds of this audience. This is where the category shines.

      To pick the first example that came up, this is a pretty good question to Ask Slashdot. There's probably some web sites for geek Halloween stuff, but there's probably no easy, organized way to find the cool ones, and there's probably a lot that hasn't been webified by the /. crowd. Thus, the question and answers are interesting to the /. audience. I'd really like to read this, IOW, but not the millionth recap of bog-standard software disaster stories.

  199. Check out Onlineethics.org by FOOSE · · Score: 1

    A good place to find lots of accidents, and the ethics behind them, can be found at Online Ethics

    This is one of the sites that we use for the Engineering Ethics class at CWRU.

    Some cases can be found here

    Also:
    Three Mile Island
    Challanger Disaster
    Here are a few more Computing Cases

    Also, an excellent write up of the disaster that didn't happen. The Citicorp tower in Chicago would have fallen if it wasn't for fast work by the engineers.
    Citicorp tower

    -Foose

  200. London Ambulance disaster by os2fan · · Score: 3, Insightful
    There was a disaster in the dispatcher software that was written for London Ambulance. This was documented in a book on computer disasters.

    The system did not collapse per se but progressively became bogged down by a series of poor design issues and implementation issues.

    What happened was there was a memory leak, in that not all the memory used when a call was processed was released. This meant that each call chewed up a small part of core.

    As the day wore on, this loss of memory started to make the system run slower, and created more calls as users started to worry about the non-show of the ambulance.

    Meanwhile, back at the control centre, the operators started getting blasted by messages about over-due ambulances, and other system warnings. They were spending time simply dismissing Error dialogues.

    By the end of the day, they were still dealing with the emergency issues notified at 12.00.

    Of course, in the inquiry, there were many different management and design issues to be addressed, including the reliability and scalability of the software. [It was a Visual Basic program.]

    I have seen a number of instances personally, most of these tend to be ignored by management keen to see the system up and running. The most often case for dismissal of problems is "teething problems", and "Luditism".

    In practice, the real issue here is the UI. Not so much "flash chrome", but that the buttons and so forth will actually do what the user expects them to do. The user must be able to understand how to process and correct errors in relation to the application data itself. That is, if I enter 1200, and I mean 1130, I should be able to correct that.

    The other disaster happening out there is that the program must be useful to the operator. So apart from entering data, the operator must be able to extract useful information from it. What the back end does does not really matter.

    For example, a clerk who has to enter data on the screen each sale, in addition to operating the till, would be reluctant to use it. On the other hande, if the program is part of the till operation, and it provides information on how much stock is left, the clerk is more accepting of the change.

    Implementing a system is not about plonking a pc with a program on a user's desk. It's about a user process. Users are looking for outcomes, not process. So if you want to go to a shop, you want to buy something, and the clerk wants to sell it to you. All the rest is administrivia.

    Software design is important. So is user training.

    --
    OS/2 - because choice is a terrible thing to waste.
  201. Mozilla's BLUI by Anonymous Coward · · Score: 0


    "Examples of Programming Gone Wrong?"

    That is easy.

    Mozilla is a perfect example of programming gone bad. Many thanks to the XUL nightmare that is BLUI.

    --
    Jenny Craigs War on Mozilla Blubber
    Just say NO to Mozilla BLUI - Blubber Layered User Interface
    http://www.geocities.com/moz_blubber/

  202. Computer-Related Risks by Peter G. Neumann by Malic · · Score: 4, Informative

    I think I've recommended this book serveral times on Slashdot. Simply put, THE collection of computing related horror stories.

    http://www.amazon.com/exec/obidos/tg/detail/-/02 01 55805X/qid=1035769692/sr=8-13/ref=sr_8_13/104-4078 673-1863905?v=glance&n=507846

    --
    I swear by MacOS X. Although I use to swear *at* MacOS 9...
  203. Er... more than that... by leonbrooks · · Score: 2

    The NT crash brought down every other NT box on the ship, not good news on a ship powered entirely by NT, is it? (-:

    I have a friend (who still works for IBM) who was learning to program on mainframes, ran his app, killed it after 2.5 seconds, and went down to collect his print run. One and a half boxes of paper. He thought that was expensive... but consider running an app on your smartship while it's manouvering in close quarters, and bringing down NT. One and a half boxes of sailors. A bit expensive...

    --
    Got time? Spend some of it coding or testing
  204. 2 Examples by SuperGlue · · Score: 1

    One of our techs making modifications to the logon scripts accidentally fatfingered the word REM.

    Instead of REM *******.*** John Doe Modified script on xx/xx/xx
    it read REN *******.*** John Doe Modified script on xx/xx/xx

    As the clients would log on the domain, random files would change the word John.

    We thought at first that we were experiecing a new unknown virus update. Until the tech who made the error stepped up to the plate and claimed that he had done it....

    SuperGlueBooger

    1. Re:2 Examples by SuperGlue · · Score: 1

      Ooops, 2nd example....

      Scriptors modifying a Mcafee update to be pushed to the clients accidently placed a directory path in the wrong place in the registry

      The SzUser, SzDomain, SzPassword values contained the path c:\program files\virusscan\mcafee

      All 15000 clients would pass this to the BDC's & PDC's creating a semi DOS attack on any domain the machines were added too... This one caused many headaches.

  205. To a point, I agree by deadsquid · · Score: 1
    The problem with the reporting on the incident is that it's not really clear if the OS crashed or not. People in the article I linked to mentioned it was an NT system, but no where have I read anywhere that it was the OS that crashed. NT tends to get blamed for a lot of things when bad things happen (hell, I do it myself because it's too easy not to).

    I would love to know if it was the OS that failed, or the applications running on the OS. The data which caused the panic was stored in the database. It stands to reason that every time a restart of the application was attempted, the same error condition would occur because the bad data was the cause, the crash was the effect. The OS could have been fine, it was the application which provided the control systems for the ship, not the OS itself.

    I've had a number of experiences with software where I have changed the config or used data that was supposed to work, but the app would segfault and dump when reading it (gotta love it when things fail at 3am and you don't know why). The OS never failed, the app I was looking to provide the services did. After determining there was a problem, it was then a matter of tracking what caused the problem, and correcting it.

    I can hypothesise all I want, but I can't find anywhere that says definitively whether the OS actually crashed, or whether the app did (repeatedly). Even if the program did take down the OS (and I think that should NEVER happen, but it does), I would assign a lot of blame to the app, because to me it's common sense to check for that WHENEVER you have a divide operation.

    That said, because it was NT, the system was probably written in VB which would explain everything ;)

    --
    Idiot, n. A member of a large and powerful tribe whose influence in human affairs has always been dominant
  206. Re:That is NOTHING -- 10,000 died in Bhopal, India by wunderhorn1 · · Score: 1

    Like the sig -- is it a quote from something, or just something you made up?

    --
    Karma: Bored. (Thinking about resurrecting the "Anyone else is an imposter" joke.)
  207. _Complete_ imcompetents? by leonbrooks · · Score: 2
    An operating system must *assume* apps badly written by complete incompetents.

    It must also be expecting programs written by incomplete incompetents, ie, people who are clever enough to get most of the coding right, then put in a weird twist on the last call that guts the OS. Programs writen by complete incompetents are often disqualified (GPF) before they get so far.

    --
    Got time? Spend some of it coding or testing
    1. Re:_Complete_ imcompetents? by msfodder · · Score: 1

      How can you be a complete incompetent and still be able to code most of an application
      correctly...hmm
      copy it out of a textbook maybe? You'd probably get that wrong..





      TROLL:
      /. 'ers are mostly schoolchildren and pompous asses

      --
      ..Free Live Free...
    2. Re:_Complete_ imcompetents? by leonbrooks · · Score: 2
      copy it out of a textbook maybe? You'd probably get that wrong.

      I was given a C program to work on once, typed in from a book by a receptionist `to save money'. The results were whimsical, to say the least. `||' became `ll', `;' and `:' were more or less interchangeable, and you don't want to know about `--'. Plus a few words got misread. It was worse than bad OCR.

      --
      Got time? Spend some of it coding or testing
  208. Kicked in the ass by Divide by Zero by deadsquid · · Score: 1
    I think almost anyone who has ever done anything with app development (hell, even making spreadsheets for the masses) has been bitten by this one. It's the most common mistake, and while it may not always have catastrophic consequences, it can make some mighty fine wall imprints on your forehead.

    That, and forgetting a semi-colon somewhere :)

    --
    Idiot, n. A member of a large and powerful tribe whose influence in human affairs has always been dominant
  209. Not a Major problem... but.... by bucktug · · Score: 1

    A few years back I was using a VAX/VMS account and had a few programs that allowed users to log various activities. The problem with the system is that the logic of the program relied on the users writing to the file then closing the file handle with the "close" command. One of the users had a friend with the last name "Close". In your mail you could "assign" names to be short handles for e-mail addresses. Now the system was implemented for a clock-in/clock-out system. And no one could write to the file while it was still "open". So... I eventually figured it out. It took a bit longer than finding the kid who knew assigned a friend to be "IF" after the interactive fiction board he ran.

    --Bucktug

    --
    I had a flame... but she had a fire.
  210. Computer Snafus book by CraigV · · Score: 1

    The book "Computer Snafus - Crashes, Errors, Failures, Foul-Ups, Goofs, Glitches, and Other Malfunctions that Cause Computers to go Awry" by Herman McDaniel should be just what you want.

  211. I don't care what anybody says by discogravy · · Score: 1, Offtopic

    I don't care what anybody says, Emacs is the best OS out there, hands down.

  212. A Programmer Error Leading to a Major Disaster by Anonymous Coward · · Score: 0

    Leaving behind a printout of a BASIC interpreter in a rubbish bin in the vicinity of a lurking Bill Gates.

  213. Videogames by Anonymous Coward · · Score: 0

    Virtually all console video games had/have bugs, and computer video games have even more bugs. Why else do we d/l patches even before the game hits the shelf?

  214. Tacoma Narrows Disgression by 2short · · Score: 1

    All of the following is "IIRC":
    It's hard to fault the designers of the Tacoma Narows bridge. By all available data at the time, the design was brilliant. The narrows were famous for their insanley gusty winds, going from 20 to 80 knots at the drop of a hat, and the bridge was designed with this in mind. It was designed to handle severely high winds, as well as dramatic sudden changes in wind speed. And it performed brilliantly. Someone might have wondered, what will happen if there is a strong, unusually steady wind, in particular ~40 knots for several hours? But it would be quite a stretch to expect them to figure out that air vortices off the cables would then cause them to occillate at a frequency that happened to be resonant with a particular harmonic of the roadbed, and that this would cause self-reinforcing torsion waves, leading to the bridges collapse.
    I learned harmonic motion from a rather distinguished physics prof who told a story about a grad student who came to him wanting to switch programs from engineering to theoretical physics. When he asked him why, the student explained the for the previous week he had the same nightmare every night: that he designed the Tacoma Narrows Bridge.
    To come somewhat back on topic, here's what I have learned from famous examples of programing gone awry: I am not interested in a job where anyones life depends on my code working correctly. I respect those who do write such code, and while I hope they are as smart as me, I pray they are willing to pay more attention to detail!

  215. programming gone wrong by DrMagoo · · Score: 1

    got a hot tip for ya..... windows.... that thing was never right=)

  216. INTERCAL! by Tar-Palantir · · Score: 1

    Surely it's severely damaged somebody....

  217. UK Ambulance Dispatch by quinkin · · Score: 1
    I haven't seen any posts regarding the failure to design intelligible user interfaces and train the people who will actually be operating the system - or the idiocy of the companies receiving the software and their "integration" into the company operation.


    The UK automated ambulance dispatch system has to be my "favourite" in this regard. See here.


    Not only was the software incomplete, inadequately tested and un-tuned to the required performance, but the users were never actually shown how to scroll back up the list of incidents (fifo queue, so oldest were scrolling off the top of the screen). This is rarely mentioned.


    Add a good dollop of stupidity in not deciding to phase in a new complex system alongside your existing (pen and paper) system...


    They all got off VERY lightly in this case - due to the medical emergency nature of the system it was very difficult to prove the culpability of any one party.


    The reported 30+ deaths are now considered mostly media hysteria, however at least one asthmatic died before reaching hospital. Many people had to wait hours for assistance, while others had 5-6 ambulances arrive.


    Software criminal negligence is not restricted to the project managers, testers and developers...


    Q.

    --
    Insert Signature Here
  218. One word by Anonymous Coward · · Score: 0

    OOP

  219. The Last Bug by Anonymous Coward · · Score: 0

    if (defcon = 5) {
    launch_missles();
    }

    1. Re:The Last Bug by Anonymous Coward · · Score: 0

      It's a shame that people aren't giving this posting enough credit. :-)

  220. Hacker Crackdown by UberGeeb · · Score: 1

    Go find the Gutenberg Project and find a copy of "The Hacker Crackdown". In it is a description of a poorly written patch to telephone network control software back in the 70s(?) that brought down the telephone system for most of New York State. The failure was initially blamed on hackers, and the author considers it to be one of the major contributors to law enforcement's crackdown on hackers in the late 70s / early 80s (thus Hacker Crackdown).

  221. comp.sys.risks - http://catless.ncl.ac.uk/Risks/ by ozzee · · Score: 1

    The Forum On Risks To The Public In Computers And Related Systems has an excellent background on all kinds of risks. I've been following it for years (since '91). It's the equivalent of slashdot for risks but the moderators are much more sophisticated. It's required reading for anyone serious about quality software in life critical situations.

  222. Re:Apollo 1 / hardware fault by EvanED · · Score: 2

    I did run acroess that title, but for some reason I did not read it. It's very possible that no local libraries had a copy (in fact, a run of Penn State's library search engine yields no results, so this was almost certianly the case). As it was not a huge paper in general (just for a high school class, albeit a *major* paper for high school), I didn't feel compelled to go looking for tons of secondary sources when Penn State had the Commission's Report. As this report is the basis for most of the information out there on the Challenger, it was by far and away my biggest source.

    One book that may be of particular interest to /.ers is Richard Feynman's "What Do You Care What Other People Think?" Feynman was one of the members of the commission that investigated the accident, and he gives his story in the second half of the book. Feynman is a fun guy and the book is a very good and easy read.

    In general, there are certain sacrifices that you have to make in terms of safety. Having to cart a one-piece booster just wouldn't have worked, period. This is especially true at that time because NASA was running another launch pad in Califiornia at an Air Force base (I forget which, and also forget if it was ever used) in addition to the one at Cape Canaveral. I suspect a barge in that case would have necessitated a trip all the way through the Panama canal to get between the launch sites. My point is that you can't always take the safest option. However, that doesn't mean you ignore blantant safety issues. NASA was negligant in its inaction concerning a joint redesign. (And this is true legally as well as IMHO; the families of the astronauts I believe got a fairly substantial amount of money in a wrongful death suit, though I forget if it was settled out of court.) The decision to launch in cold weather was, in my mind, far secondary to the lack of any progress regarding the design of the joint.

    If anyone is curious, my report is online as a PDF and HTML. The PDF version has a couple more pages that I didn't splice into the HTML file, including a VERY interesting and revealing memo starting on page 40. Try to ignore the numerous technical errors (I have a couple dozen typos and horrible tense consistancy). I wish that I had had the time to proofread it, but it was too long for the time I had avaliable. But I don't think ym teacher bothered to read it anyway, because he made no comments on it.

  223. Typical government at work by sheWhoWalksWithToesL · · Score: 1
    It would make sense that the military would teach something bizarre like this rule. The Internal Revenue Service's computer system has the Error Resolution people jumping through the same kind of hoops. Unfortunately, it is easier and cheaper for most people to modify human behavior to compensate for a computer design failure.

    It requires a number of examples of buggy execution to convince the programmers that their beautiful code is flawed, so some significant time people spend "resolving errors" is really tricking the computer into allowing the taxpayers figures, when the computer thinks the taxpayer is wrong. Hard to believe, but true. I've done it for a season. -SheWhoWalksWithToesLikeCobras

    --
    -SheWhoWalksWithToesLikeCobras Please enter any 11-digit prime number to continue...
  224. Re:That is NOTHING -- 10,000 died in Bhopal, India by rhadamanthus · · Score: 2
    I am not sure if the other replying slashdotter is correct about the water-hose or not, but Chemical Process Safety by Daniel A Crowl, does mention that the Bhopal incident was the result of a labor dispute, and not necessarily "gross negligence" on the part of Union Carbide. The labor dispute resulted in the unoperational status of the air-scrubber/flare sytem following the pressure relief valve on the MIC tank. Becuse of this, the rapidly venting MIC was released unaltered to the atmosphere, killing 2000 people and injuring about 20,000. Incidentally, it does list the cause of the accident as unknown.

    -----rhad

    --
    Slashdot needs to interview Natalie Portman.
  225. Would you make this one? by Fizzog · · Score: 1

    I know a financial institution which ran a job to increase mortgage rates by 0.5 percent. They knew the rates in use, so the job selected all of the mortgages for a given rate and increased them by the aforesaid 0.5 percent. The job started with the lowest used rate and then repeated the process for each of the the next higher rates in use.

    See the problem?

  226. another good site by Rastan_B2 · · Score: 1

    this has a good list, and even a funny dilbert cartoon to boot! talk about value. Software Horror Stories

  227. About that automatic ship leveling system of yours by ibi · · Score: 2, Interesting

    From the Pacific Northwest, home of "innovative" approaches to software reliability, comes:

    http://seattletimes.nwsource.com/html/localnews/13 4563661_ship27m.html


    "Officials could not say for certain what caused the ship to heel, but they think the ballast system was probably at fault. A malfunction became evident about 3:30 a.m., when the 653-foot ship started to tilt. The crew was evacuated and no one was hurt. ...

    The ship, in operation since June, has an automated ballast system that adjusts water levels in 28 compartments to keep it righted on the high seas."

    Kind of frightening - wonder if the crew even knows how to do a manual override. (Also weird that evacuating the upper port balast chamber would cause it to list to port...)

  228. Re:That is NOTHING -- 10,000 died in Bhopal, India by Cyno01 · · Score: 1

    my own quote, i googled my handle and actually found this

    --
    "Sic Semper Tyrannosaurus Rex."
  229. You just can't win, can you... by achurch · · Score: 4, Insightful

    If the Y2k bugs hadn't been fixed, things would have broken left and right, and we would have been blamed for not fixing them ahead of time.

    Since the Y2k bugs were fixed, very few things broke, and we got blamed for wasting tons of money to no effect.

    C'est la vie, I guess.

    1. Re:You just can't win, can you... by refactored · · Score: 2
      Nah! Things broke at Y2K left right and center.

      Nobody noticed it above the usual level of computer brokeness!

  230. Flag inversion considered harmful by steveha · · Score: 2

    At a place I used to work, they made burglar alarms. One burglar alarm, the "8112", had a feature where you could lock out sensors so they would not report. This had two possible uses: the alarm company could lock out a defective sensor, or the alarm company could lock out all sensors if the customer wasn't paying the alarm bills.

    Anyway, there were 8 possible sensor "zones", and there was a byte that could lock out any or all of them. You set a bit, one zone was locked out.

    An upgraded version of the 8112 came out, where you could replace two of the 8 zones with serial data loops, and you could have over 100 individually reporting sensors instead of 8. This optional feature was called "Zonex" (for "Zone expander" or something like that). For no good reason, when Zonex was running, the sense of the lockout bits was reversed: instead of being lockout bits, they became enable bits.

    I want to emphasize this. If Zonex was running, you had to set all the bits; otherwise you had to clear all the bits.

    So the setup software knew to check the Zonex bit, and set up the lockout byte accordingly.

    This worked great until a new version of the 8112 came out where Zonex was always running, whether or not the Zonex bit was set. If the user didn't happen to set the Zonex bit when setting up that version of the 8112, the burglar alarm would silently ignore all the sensors. Eeeek!

    Once we figured that out, we added a check for the version of the 8112 and all was well again with the setup software.

    The moral of this story is: don't randomly invert the sense of settings!

    steveha

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
  231. Programming Gone Wrong Sources by DorAgaznog · · Score: 2, Informative

    From my Software Engineering textbook (author: Vliet if you're interested), a few references you might like: - http://www.csl.sri.com/users/neumann/neumann-book. html - http://www.rothstein.com/slbooks/sl296.htm Also, you might like: "Design Paradigms: Case Histories of Error and Judgment in Engineering" by H. Petroski (not restricted to Software Eng) Enjoy, Rod

    --
    "I respect faith but doubt is what gets you an education." --who knows
  232. the RISKS mailing list by mosch · · Score: 2

    The RISKS mailing list (aka comp.risks on usenet) deals with this topic quite thoroughly. Go forth and read this fine forum on risks to the public through computers and related systems. Learn about the problems faced by planes, trains, automobiles, banks, websites, electronic voting machines and more.

  233. stderr by octogen · · Score: 1

    For the last 30-40 years, the most common programmer error is to put 2769 bytes in where only 1024 fit.

    That looks like...

    void copyit(char *b)
    {
    char a[1024];
    strcpy((char *)&a,b); // *BOOM*
    }

    Simple, but look at bugtraq... programmers still can't do it right..

  234. Image a beo... by Anonymous Coward · · Score: 0

    sorry,

    but imagine, one full of program errors...

  235. Forbin, too by chip_s_ahoy · · Score: 1

    Dr. Charles Forbin really should have known better.
    http://us.imdb.com/Title?0064177

  236. Sleipner A by RallyDriver · · Score: 3, Informative

    On a slightly different tack - the
    Sleipner A oil platform sank because of a bad design, caused by inaccurate computer based modelling (using an FEA tool inappropriately). In this case it was the data not the software.

  237. Kuberick never saw this one coming! by donscarletti · · Score: 2
    If windows became self aware I would assume that they may get a humanitarian attitude and shut itself down without request regually to save us the pain of using it

    Hang on... My win98 box already does that! And to think, I critisise mircrosoft for shody coding!

    Come to think of it... I wondered what that big rectangular prismatic monilith was doing next to my box, next thing I know it will become a star child.

    --
    When Argumentum ad Hominem falls short, try Argumentum ad Matrem
  238. Y2K by Anonymous Coward · · Score: 1, Interesting

    In Cook County, northern Minnesota, a large percentage of households are heated by "off-peak electric stored heating". At midnight, December 21st 1999 (precisely 10 days before Y2K) the software controlling the radio signal which keeps all the heaters from going online simultaneously, crashed. The resulting overload shut down the power in the county for hours. This utility was not believed to be Y2K sensitive. Surprise!

    On February 28 2000, (one day before the infamous 2/29/2000) credit card traffic into VisaNet (through Vital Processing) was failing out with the error code corresponding to "Invalid Date". Since the date 2/29/1900 is invalid, good Y2K test procedures usually call for testing that condition. AFAIK, the company never admitted to having a Y2K problem.

    The National Reconaissance Office had some of its most valued spy satellite systems go offline due to Y2K troubles. I think they were down for at least a day or two. (ouch!)

  239. Most important thing by mnordstr · · Score: 2

    Just remember that if (a = b) is not the same as if (a == b)... Every time I write that wrong it takes me hours to find the damn bug, cause it might not appear immediately.

    1. Re:Most important thing by lightweave · · Score: 1

      Which language? Normally most modern C/C++ compilers issue at least a warning about this so I wonder how this could really be a problem unless you use a really old compiler.

    2. Re:Most important thing by mnordstr · · Score: 2

      Why would they issue a warning? I often assign variables within if-clauses. Makes much cleaner code.

    3. Re:Most important thing by Frobnicator · · Score: 2
      Many C++ compilers issue errors (things that make it impossible to compile), warnings (things that you may have done wrong) and remarks (things you should be aware of), especially when you turn on all warnings.

      Good warnings and remarks include 'operations performed in undefined order' and 'assignment occurs where comparison is expected'.

      The first catches the form

      *ptr++,*ptr++
      and the second catches the form
      if(a=b)
      . The compiler shouldn't complain about
      if( (ptr=fopen(...) == NULL)
      , since it DOES have a comparison. In the first example you have problems because of equal precidence and no defined order (RTL or LTR). The second example may work on some compilers and CPU's, like the Intel x86 would assume 'true' if b were non-zero, but would not work elsewhere (M86k, for example).

      The point of these warnings and remarks isn't to tell you that you did something wrong (that's an error) but to tell you that your code may not work as expected on all machines.

      --
      //TODO: Think of witty sig statement
  240. Trains not responding by thskyt · · Score: 1

    I hope it's just a tale - one of my teachers recently told me that the engineers assigned to build the new Danish InterCity trains IC3 and their smaller version RE2 made the mistake of using DOUBLE and FLOAT everywhere so that at one time in the middle of a test run, one of the trains would halt on a bridge and move nowhere anymore because all of its 16 MB where filled up with DOUBLE's storing the speed in KM/H ... the train only runs approx. 240 KM/H so an INT or perhaps a LONG INT would have sufficed. As to the RE2 the engineers miscalculated the weight - the Ariane-problem - so some of the trains would "lie down" using their hydraulics but not to the correct side - the one facing the station, instead passengers had to crawl / jump the last 2 feet to the ground.

  241. as a computer science tutor... by astrotek · · Score: 1

    the biggest error is using assignment when you want to compare, ie if(foo = bar) instead of if(foo==bar)

  242. JAS by Jhan · · Score: 2

    The SAAB JAS-39 Griffon crash you mention was in fact caused by the pilot not being warned about "pilot induced oscillations" (though there was a crash in testing that was attributed to the control systems). Basically, the plane started to weer left, the pilot quickly compensated as did the control system, leading to overcompensation. So, the pilot compensated back the other way, as did the plane...

    Rinse, lather, repeat. End result: plane rears up, suffer complete loss of air speed, falls like a brick into a crowd of about 200 000 spectators (this was an airshow over central Stockholm!), and through divine intervention happens to hit to one empty spot in a sea of people.

    Interesting fact 1: footage shows the plane stabilizing back down into a correct flight attitude once the pilot ejected. Not much use without airspeed, though.

    Interesting fact 2: SAABs division for Flight Control (presumably the same guys who did the Griffon control systems) also programmed the flight control systems for the Ariadne...

    Interesting (or at least humurous) fact 3: This is the monument marking the spot where JAS crashed.

    --

    I choose to remain celibate, like my father and his father before him.

  243. Programming. by Kisbye · · Score: 1

    I dont want to read the 2000 posts above me. so comeon flame me :P. How you prevent errors have alot to do with the Programming language your useing. (newer heard about CS, is it C?) When programming in Visual Basic, here is some guidelinies. 1) Use Option Explicit. 2) If you use "On error resume next" then you have to check the Err object after every line,(Inline errorhandling). 3)And yes check for Division by zero (error-code 11) 4) Comment, other people may have to work with your code after you. 5) Generaly Always asume the user for an ediot. Always Validate ALL Input. 6) Test your product before releasing it, We are only Human, we do make mistakes. You can newer protect yourself 100% against errors. New bugs will most likely be fund months, even years after the software have been released. (Ofcouse depends of the size of the product.) Hope you can use this to something.

  244. Re:Why this cant be right... by JavaPriest · · Score: 1

    I'm sorry to have moderated this post as "Funny" instead of "Insightful". The mousewheel is to blame, and so am I. However, I guess this mistake is preferrable over moderations that negatively affect the score.

  245. Re:OT: Scuds and Patriot missile defenses by Kynde · · Score: 2

    Bottom line: that stuff about the floating point error in the PAC-2 system looks neat on paper but it's not at all clear that the faulty calculation was responsible for the loss of life.

    Dead on! There's been loads of evidence that NONE of the patriots EVER hit a signle scud. Luckily the scuds had problems of their own with some wing design when going neg-G or something,
    I can't remember what it was, but anyway quite often they just simply blew up when decending towards a target.

    Even I remember Bush the elder boasting (numbers may be inaccurate, but gap was 1) "37 missiles engaged, 36 intercepted". Naturally that raised a few questions about what was this "intercepted" as none of the Patriots ever hit a scud. And...
    I saw this rather hillarious documentary about
    all this Patriot fuzz where some US general telling in court what they ment with "intercepted". He said that "intercepted" meant only that at SOME point the patriot's flight path / trajectory crosses that of the scud's.

    --
    1 Earth is warming, 2 It's us, 3 it's royally bad, 4 we need to take action NOW
  246. comp.risks by dregs · · Score: 1

    subject states it all, comp.risks, has archives discussing nearly every computer failure for the last 20 years, check it out.

  247. Bank let debit orders run 17 times ! by vollasolla · · Score: 1

    In 1997 a major bank in South Africa ran its nightly payment job 17 times. It made a few people instant millionaires overnight, and caused others to have the worse debt they could ever imagine. The bank had to close for business the next day to do a complete rollback (which was successful, perhaps giving them a lot of confidence in their disaster recovery plan).

    What happenned was that the job failed due to the job data spanning two tapes for the first time ever. This specific occurance was never tested before. The operator simply ran the job again and again 17 times, until he realized he should call for assistance.

    By then the damage was done, but luckily not permanent.

    The question is: who is to blame? The operator, the programmer, the tester, the owner or Col. Mustard (who accepted the system).

  248. Re:OT: Scuds and Patriot missile defenses by Anonymous Coward · · Score: 0
    I think it's important to get the word out as we approach a new war with Iraq and consider a national missile defense shield.

    Actually it is not that important. No one is going to fire missiles at you. So you see, it is not important whether the shield actually works or not. The only thing that is important is to build it. Because that is the price tag that came with GWB.

  249. Typos by pommiekiwifruit · · Score: 2

    My university used to offer distance learning for computers. The students would post their programs in, secretaries would type them in, and the listings of compiler errors would be posted back to the students. At 2-3 weeks turnaround, the students were inclined to think before coding a bit more, and hoped the typists were good... Soon after I left, the university made having access to a PC a requirement for the course, taking all the fun out of it :-)

  250. Re:That is NOTHING -- 10,000 died in Bhopal, India by Anonymous Coward · · Score: 0

    Gross negligence and incompetence - YES, but not on the part of the engineers as much as the management.

    I have a friend who talked to a guy who worked in Quality Control for UC back then, and he felt terrible guilt about the incident,
    since the QC people (him included) had repeatedly voiced strong concerns about the safety of the Bhopal plant.

    I'm sure you'll find far more (if not most) cases like this, not engineering incompetence but managerial.

  251. Was Ariane a programming error? by melonman · · Score: 1

    I only skimmed the report, but I'm not sure it was a software problem per se.

    I had lunch with a fairly senior engineer from Aerospatiale shortly after the Ariane 5 explosion, and his version of events, which is consistent with but not explicit in what I skimmed, is that because the software and hardware had worked flawlessly for any number of Ariane 4 flights, they did the sensible thing and didn't change a thing for Ariane 5.

    The disaster occurred because the Ariane 5 is faster and/or had more sensors, therefore threw more data at the processor, and, eventually, a sensor queue overflowed and the system reset itself to launch altitude, the result of which was to make the rocket attempt the equivalent of a handbrake turn.

    If this is anything near right, you could reasonably argue that it was a hardware problem, ie if the processor had kept up with the rocket the software would have performed perfectly. OK, not trapping buffer overflows is a naughty no-no, but, offhand, I can't think of an obvious way of making this system fail gracefully (throw away every second piece of data until the queue goes down? Apply the brakes? ...)

    --
    Virtually serving coffee
  252. Re:OT: Scuds and Patriot missile defenses by trveler · · Score: 2, Informative
    Dead on! There's been loads of evidence that NONE of the patriots EVER hit a signle scud

    Of course they didn't. The patriot was specifically designed to detonate itself CLOSE TO the offending missile and, hopefully, in the process destroy the latter. This is, in fact, what happened: Tel Aviv and surrounding areas were rained on by falling scud parts. These were pieces of the scuds intercepted by the Patriots.

    The problem of intercepting a moving target is difficult, but it becomes much easier when the goal is to simply get "near enough" to disable it with an explosion.

    --
    ... is whot bwings os tugevza tsuzay.
  253. Re:Code checking by Anonymous Coward · · Score: 0

    Speaking of Code Checking...

    Something no one's mentioned is Peer-Review and Pair-Programming.

    Most of these errors are cause by geeks thinking they wrote the right thing. Unfortunately, geeks are people too, and make mistakes. If another person had been there verifying their work, many of these mistakes would never have got into production code.

  254. A place to look for things done right? by markpetryk · · Score: 1
    I don't have examples of software gone wrong, but I sure like your question. What your question brings to mind, however, is the requirement for Aviation-class instrumentation software. There is a certification process DO-178B that is designed to insure reliability of software. (I think that's the right cert-number). Maybe this is something you already know about. My thought is the DO-178 document is also a good tool for designing reliable software, and also, in your search, you may find articles in that arena that may answer your question. (I'll double-check that number with my av-instrument buddy).

    Cheers.
    ~ ~ ~ ~ ~

    --
    Great Spirits have always encountered violent opposition from mediocre minds. -Albert Einstein
  255. Ariane 5 by Anonymous Coward · · Score: 0

    The Ariane 5 explosion was more a failure of accounting than programming. More testing time was requested by the engineers in charge, but was refused on the grounds that it had all worked fine on Ariane 4, and was therefore a waste of money.

    As the document pointed to says:

    "The same requirement does not apply to Ariane 5,
    which has a different preparation sequence and
    it was maintained for commonality reasons,
    presumably based on the view that, unless proven
    necessary, it was not wise to make changes in
    software which worked well on Ariane 4."

    This was not the view of the people who wrote the software.

  256. a semicolon worth about $40K by one_who_uses_unix · · Score: 2, Interesting

    Almost a decade ago when I worked for a differect credit card company that shall remain nameless, a member of my team (I was the lead) introduced a defect that was responsible for about $40K is mis-applied credits. I am not sure whether we ever got the money back.

    The program was written in C, and he had changed a do-while loop to a for loop, in editing he had kept the line that contained the original condition (including the trailing semicolon). As many of you C-ers out there are aware, a semicolon following a for() statement will not execute the subsequent code block in the loop!

    A very memorable lesson in the value of lint and thorough regression testing!

    This may not qualify as a disaster, but I distinctly remember having to give an account for the defect to the corporate controller with an aufience of grand and exalted poobahs. She was a very intolerant and technically ignorant person that actually intimated that this had been done maliciously.

    --
    KK4SFV
    1. Re:a semicolon worth about $40K by Ernest · · Score: 1

      As many of you C-ers out there are aware, a semicolon following a for() statement will not execute the subsequent code block in the loop!

      I hope you're not into programing anymore.


      for (...;...;...);
      statement;


      will actually execute statement; once!

      --
      Ernest J.W. ter Kuile
  257. Examples of Programming Gone Wrong? by benanne2 · · Score: 1

    See anything with Peter G Neumann's name on it. For example, a soft-covered book "Computer-Related Risks" is old [1995] but still available at Amazon. Neumann has been publishing this stuff for years in ACM SIGSEN bulletin as "Risks to the Public" [I'm not sure its still there]. In any case, look at the Risks Forum at http://catless.ncl.ac.uk/Risks

  258. Re:HAL? by DaracMarjal · · Score: 1

    Actually, I believe Arthur C Clarke maintains that HAL stands for Heuristic ALgorithm (basically an oxymoron because Heuristics are flexible and dynamic and Algorithms are static and precise)

  259. In fact this has raised some interesting research. by Anonymous Coward · · Score: 0

    It's a well known fact for any system developer that software engineering is inherently complex.

    Even the most trained and capable developer can't assure a software system is 100% error free. Apparently software is a favored subject of Murphy's laws : if anything can go wrong, it will.

    While non safe critical systems could tolerate a certain degree of error presence, (i.e, nobody usually dies if Microsoft Word suddenly fails ), many systems whose functioning could decide the life of death of people can not tolerate any kind of misbehavior; systems like nuclear reactor survey systems, airplane controllers, etc. are in this safe critical system cathegory.

    Many people here has mentioned some well known(or not-so-well known) examples of software errors resulting in people injured or dead. Experience (painful experience, sometimes) has created a real interest on computer science researchers towards the proposition of methodological frameworks for software engineering, which are at the same time fully reproducible and allow developers to assure the satisfaction of a minimal set of safety properties.

    For doing so, they propose the utilization of formal approaches for software modeling and development; the utility of software modeling is that the normally natural language-oriented specification process is changed to a formal one, where the functioning of the system is described (as in a natural language specification) but using a formal (machine processable) language.

    Using algorithms provided by some base theoretical framework (Finite State Machines, temporary logics, Petri Nets and so on) it is possible to prove our system model fulfills a minimal set of desired properties. And if the model satisfies the properties, the system implemented following the formal model should do the same.

    The advantage of this formal approach is that the machine assisted process of property proving is exhaustive and behaves very well there where human mind begins to fail: facing complexity.

    However, this formal approaches do add an extra development effort, have a usually slow learning curve and are somewhat unnatural for software developers.

  260. Programmer error vs human error by effectus · · Score: 1

    You should differentiate between programmer error and human error. Programmer error is professional error (such as not following best practices). Human error is making stupid mistakes (and understnding the reason - for instance, tiredness.

    This parallels professional vs human error in other industries, such as the Railways (eg SPADs), Aviation, Civil, etc.

  261. Link to a page with loads of incidents... by earthloop · · Score: 1

    ...some unbelievably stupid. Here

  262. Microsoft Windows by tedgyz · · Score: 1

    'nuff said. :-)

    --
    "No matter where you go, there you are." -- Buckaroo Banzai
  263. My person #1 by Nailer · · Score: 2

    CDE

    Cheers :)

  264. An example of programming mistakes by Anonymous Coward · · Score: 0

    An example of programming mistakes: My first professional programming job was writing custom accounting software for a major accounting package using Pascal. One time I had the task to write a utility for a client that would go through their sales order history file and "massage" the data (I forget the specifics of the task, it's been about 10 years now). The software had a boundary condition that caused it to change EVERY SINGLE ITEM NUMBER in the history file to the one used in the search criteria. This in and of itself wasn't a bad thing, but the client NEVER MADE BACKUPS of their data. Theys aid there was "just too much data to backup" and, in the process, lost about 7 years of sales order history to one little glitch. Fortunately (for the company I worked for at least), the client had a consultant who was working with us and who was testing the product we wrote. _HE_ was the putz who tested the tool on live data and actually ruined their order history. I left the company I was working for a few months after that to take another job elsewhere, but that was without a doubt the worst programming mistake of my career.

  265. The REAL site by Coppit · · Score: 2

    Sigh... If someone is going to rip all the pictures, I wish they'd at least give proper attribution. Visit http://www.windowscrash.com for the original collection. I always give attribution.

    1. Re:The REAL site by PyroX_Pro · · Score: 1

      Each picture is linked to the site it lives on, how is this not giving proper attribution? Besides, your link only contains a couple of them. Is this your site? Have you updated PHPNuke? I sure hope so :D .

  266. In that case, fault intel by MickLinux · · Score: 1

    From the sounds of what I have read, the OS can normally handle a divide by zero. However, in this case, it sounds like the OS didn't handle the divide by zero. The only case where I know of that happening is the case of a double-fault.

    And a double-fault is caused by a divide-by-zero, followed immediately by some kind of a service request interrupt (such as could be generated by an I/O card). But if that is the case, since the double-fault results in a processor halt, then you have to fault only four groups of engineers:

    (1) those who developed the intel chip, for not providing a way for the software to handle a double fault (triple-fault halt might have been safer)
    (2) those who designed the motherboard, since they should have included some kind of a watchdog timer to handle the double-fault case and reboot the system.
    (3) those who designed the entire system networks, for not designing in a backup so that a single computer can go down, but the system stay up and running in a redundant mode.
    (4) the people who drove the tugboat that pulled the Yorktown back in, since everything is their fault, anyhow.

    --
    Correct Horse Battery Staple: 72 bits of entropy. Enter "Correct H" into google. When it generates the phrase, that's
  267. why do you ask this? by Anonymous Coward · · Score: 0

    Here is a problem:

    Telling a green-bean programmer how to make things go wrong. I know a bunch of things that will make things go wrong, and I am NOT going to tell you so that you can create malicious programs and use them on your schools machines.

  268. Wakeup Program by BillX · · Score: 1

    During my Freshman year of college, I wrote a BASIC program that would use the modem to call numbers on the dorm phone system at specified times - kind of a primitive version of those 976-WAKE type services. On its first day of operation, a minor programming/math error dealing with the system clock caused it to start ringing each number every hour or so, starting at midnight... Whoops! A couple angry people knocking on my door the next morning.

    --
    Caveat Emptor is not a business model.
  269. Improper Evolutionary Inheritence by Shamanin · · Score: 1

    The dangers of object oriented misuse:

    http://www.softcom.net/users/ispy/FunStuff/Stori es /ProgrammingLessons.html

    Taken from the June 15, 1999 Defense Science and Technology Organization Lecture series, Melbourne, Australia.

    --
    come on fhqwhgads
  270. Biggest failure in programming to date... by Anonymous Coward · · Score: 0

    Sierra On-Line Home division. Or wait. Maybe that was just a failure in management. It did ruin many lives.

  271. Look out.... by r_j_prahad · · Score: 3, Funny

    Hey we sold you this! Top of the range! But it's broken, even before we sold it to you. If you pay us £500000 we'll fix them all, but if you don't your blood will boil and your head will explode, all your kids will die of pestilence, your wife will sleep around, your plane will try to reach the moon and all your elevators are belong to us.

    Careful. Quoting from a Microsoft EULA like that without proper attribution could get you tossed into jail for a DMCA violation, sport.

  272. Re:HAL? by Anonymous Coward · · Score: 0
    (basically an oxymoron because Heuristics are flexible and dynamic and Algorithms are static and precise)

    You simply do not know what you are talking about.

    A heuristic is simply a function that provides a "good guess" approximation in some situation where computing an exact answer would be expensive. It's not particularly 'flexible' or dynamic. "Heuristic" is certainly not incompatible with "algorithmic". Look up the "A*" search some time -- it's an algorithm that employs a heuristic to find an optimal solution faster than a pure breadth-first-search would.

  273. Re:That is NOTHING -- 10,000 died in Bhopal, India by wunderhorn1 · · Score: 1
    Yes it's always fun to find things attributed to you on the web. Makes it seems more official.

    I actually googled for the the quote first and found that same page. But I've found my sigs attributed to me on quote pages like that when I wasn't actually the original author of the quote, so I thought I'd ask first.

    --
    Karma: Bored. (Thinking about resurrecting the "Anyone else is an imposter" joke.)
  274. byte magazine archives by dejesus · · Score: 1

    http://www.byte.com/art/9512/sec6/art1.htm

  275. Air France by airrage · · Score: 1

    I remember an AIRBUS being flown for the first time at an airshow (video available somewhere). Apparently, the pilot made a slow fly-by over the runway at a couple hundred feet. Apparently, in this near stall configuration, the computer guidance was in "error" mode and thus took over the controls of the fly-by-wire system. Of course, applying full-power is like the worst thing you can do because you operate in what engineer's call the "back-side" of the power-curve. Which means additional horsepower actually means less thrust. Of course, the computer, sensing all the available data to it, does just that: full power. The plane slowly enters the canopy of a forest grove at the end of the runway and then a violent explosion erupts.

    --
    "This isn't a study in computer science, its a study in human behavior"
    1. Re:Air France by Ernest · · Score: 1

      I seem to remember the opposite :

      the computer denied the pilot's command to go to full throttle !

      The story went mostly like you said, full throttle would not have worked in that position. And so the computer (programmers) aware of the danger would not apply full power to the plane, even though the pilot asked for it.

      --
      Ernest J.W. ter Kuile
  276. Re:Why this cant be right... by Sri+Lumpa · · Score: 1

    I wouldn't worry too much, since you posted on the same thread as you moderated your moderation was probably undone (unless doing so from different accounts or IP's or unless it changed since the only time it happened to me).

    --
    "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." Bill Gates,
  277. Re:In fact this has raised some interesting resear by Frobnicator · · Score: 2
    systems whose functioning could decide the life of death of people can not tolerate any kind of misbehavior; systems like ... airplane controllers
    Um, actually the control decks inside most jets, including military jets, routinely crash. Air-traffic control towers, especially the old ones, also black out more often than most people think.

    In talking with programmers and fighter pilots at Hill AFB, I learned that the pilots usually have to restart some computer systems several times every flight.

    frob.

    --
    //TODO: Think of witty sig statement
  278. SImilar post by Embedded+Geek · · Score: 2

    Check out http://ask.slashdot.org/article.pl?sid=01/10/31/19 27246&mode=thread&tid=156 for this same discussion with an emphasis on embedded computing.

    --

    "Prepare for the worst - hope for the best."

  279. Coder error? by rebelslant · · Score: 1

    I'm not familiar with the examples you cite, but as a seasoned Tester I urge you to look beyond the obvious to the root cause of those and any other examples your are presented with. I can't think of a project I've been on where serious bugs for system failures were not caused by some other serious problem upstream of dev. When you're working with competent devs, you'll find most problems are introduced due to poor requirements, miscommunications and unrealistic expectations filtering down from management, and lack of resources applied to test infrastructure and testing. Management should be held accountable for all these things, but instead they scapegoat testers and developers to CYA.

  280. Re:HAL? by greenrd · · Score: 2
    It's not an oxymoron at all. You only think it is because the definition of "algorithm" you are using is a wrong one, frequently given to beginning students in computer science. Heuristic algorithms exist.

  281. 2 weeks ago. by Anonymous Coward · · Score: 0

    Also in retailers:

    I messed up a prgramm:

    instead of writing

    commit();

    i wrote
    commit;

    Due to the stupid C compiler this went unnoticed. And since processing 600 files on a test machine went just right it was put into production.

    And sure, after 3 days the rollback logs were filled up in production. Someone noticed the process was stuck and restarted it. Since all the input data was uncommited all data was send again resulting in a big pile of orders that was send again. The stores surely filled up the next days.

    That were the most expensive brackets I ever forget.

    -- ac for a reason.

  282. its also data errors that cost ;( by zenst · · Score: 1

    Data is just as inmportant as the code itself. FOr example if the french had told the British intelligence agency that they had sold excocepts to the Argitinians during the Falkland war then when the radar systems were being programmed by marconi would have gone ew an excocept - hmmm we have them - yeah do they have them - yes - ok possible target. Intead the data told the code that only the British had excocepts and as such flagged the newly aquired target that was 20 miles away as friendly. It wasn;t until the ship collision code flagged it up that the comuter even considered it a threat. So in this case you end up with the program failing - not due to the program, but due to the data fed into the program. End of the day all users are virus's and virus's kill hosts :D.