Slashdot Mirror


Ten Technology Disasters

Ant writes "What do a 17th-century Swedish warship, an opulent Chicago theater and a Kansas City hotel "skyway" have in common? All met catastrophic ends and they have important lessons to teach today's innovators."

37 of 327 comments (clear)

  1. They forgot about number 11 by SaxMaster · · Score: 3, Funny

    ... Submitting your page to Slashdot, technology disaster number 11 :)

    --
    "Dancing is the vertical expression of a horizontal desire" --Robert Frost
  2. Concorde? by reaper20 · · Score: 4, Interesting

    It took just one more little mishap to make a disaster: a titanium "wear strip" fell off a Continental DC-10 in the path of an Air France Concorde leaving Paris. When the Concorde's tire hit the strip, a chunk of rubber tore off and smashed into the wing, punching a 600-square-centimeter hole in its skin and causing fuel to leak and ignite.

    Disclaimer: I know nothing about airplane safety or testing, but this one set off my common sense alarm.

    So, the tires on Concordes require to be changed alot - a chunk of titanium breaks of of another plane, and hits a tire on a Concorde, causing the accident - anyone else think that "Well gee, I don't think any kind of tire is designed to withstand titanium chunks slamming into them." Considering the condition of some of the commercial jets I've flown in, I'll take my chances with the Concorde. I'm sure there is more to it than just this, I thought it odd though.

    Though not a "disaster" per se - the Navy's dead Windows NT ship is tops for the funniest in my book.

    1. Re:Concorde? by iabervon · · Score: 3, Interesting

      The titanium strip was just sitting on the runway, having fallen off the other plane. Of course, the plane was presumably going pretty fast at the time, but airplane tires should be able to withstand this sort of thing, or at least fail somewhat more gracefully.

      On the other hand, the failure in this case required 2 failures on the Concorde and bad luck with the fire, as well as hitting something that shouldn't have been there. There's a reason it took as long as it did for a Concorde to crash. I'm not sure exactly why this is in the list: in the other cases, the problem was that the makers were over-confident. The Concorde was supposed to be nearly indestructible, and it turned out that it could be destroyed once in a million times. So they fixed both of the things which contributed to that time. It's not the sort of thing you could say was just waiting to happen, or that you could say they should have found in simulation or testing.

  3. Breaking a few eggs and all that... by Mulletproof · · Score: 3, Insightful

    You can't breed out stupidity or rule out nasty ass-bad luck. This artical seems to infer you can do both.

    --
    You need a FREE iPod Nano
  4. Carry through is important! by FortranDragon · · Score: 4, Interesting

    I live near KC and I remember when the skywalks collapsed. As the story unfolded after the tragedy, it became readily apparent that everyone just assumed everyone else was doing what they thought they should be doing or that their shortcuts were fine with everyone else. :-( Communication and checking up on how things are actually progressing versus the plans can be a real matter of life or death.

    Next time as a programmer you bitch about checking up on QA (assuming you are lucky to have a QA department) or on the users, just remember that your mistakes very rarely kill people. You've got it _easy_.

    Also, on a side note, the local KC TV news organizations try hard to prevent people from getting to their archives of what happened. They don't want to present Kansas City in a "bad light". This is also very stupid. If we can't easily learn from our mistakes we are going to make more of them. 'Protecting' KC's reputation just makes Kansas Citians look more retarded than the screwup that was Hyatt Regency Skywalks. :sigh: Yeah, mistakes were made, so let's own up to them and learn something so we don't do it again.

    --
    "All the darkness in the world can not quench the light of one small candle."
    1. Re:Carry through is important! by K8Fan · · Score: 4, Informative
      I live near KC and I remember when the skywalks collapsed. As the story unfolded after the tragedy, it became readily apparent that everyone just assumed everyone else was doing what they thought they should be doing or that their shortcuts were fine with everyone else. :-( Communication and checking up on how things are actually progressing versus the plans can be a real matter of life or death.

      I lived in KC at the time, and I recall that there were more screw-ups than this short summery mentioned. The metal fabricator also changed the design of the beams. As designed, they were to be made of two "U" shaped channels welded together with a seam on the left and right sides of the beam. They didn't have those bits in stock, so they used two shallower "U" shaped pieces and welded them together at the top and bottom of the beam...and then drilled the holes for the threaded rod right through the welds!

      Everyone involved was criminally culpable...and (to my knowledge) went to prison.

      Also, on a side note, the local KC TV news organizations try hard to prevent people from getting to their archives of what happened.

      A good friend of mine was the first emergency physician on the scene at the Hyatt and performed the triage. He was recently interviewed by the BBC for a documentary about the Hyatt. They supplied footage to the BBC, but no...they don't have any reason to supply footage to random people.

      --
      "How perfectly Goddamn delightful it all is, to be sure" Charles Crumb
    2. Re:Carry through is important! by stubear · · Score: 3, Interesting
      "Yeah, mistakes were made, so let's own up to them and learn something so we don't do it again."


      By admitting any wrong doing people can open themselves up to enormous lawsuits, that's whay many times teh injured parties or those seeking redress often have to seek the truth on their own with little to no assistance on the accused. Look at Enron and Andersen for a godo example of this.

      The Enron and Andersen officials aren't being unhelpful because they want to be a pain in the ass, they are being inhelpful because they risk jailtime and possibly enormous fines. By not admitting to anything the jobis that much tougher to bring civil and/or criminal charges against them.

      Like it or not, it's unconstitutional to force people to incriminate themselves.
    3. Re:Carry through is important! by K8Fan · · Score: 4, Informative

      Teach me to actually re-read the thing when I preview it. What I meant to say was:

      Everyone involved was criminally culpable...and (to my knowledge) *NOBODY* went to prison.

      --
      "How perfectly Goddamn delightful it all is, to be sure" Charles Crumb
  5. Well, I read it, and I can't see any patterns... by vkg · · Score: 3, Insightful

    Seriously: ten catastrophic goofs, but I don't see anything which really ties them together!

    Am I missing something?

    Yeah, sure "Don't cut corners" and "Don't trust management who would like to cut corners", but that's pretty obvious and we all still do it, right?

    There's also some stuff like "Watch when retrofitting parts of an old system with new technology" and "pay attention to boundry conditions", but really I think this is just a laundry list.

    So does anybody know of a good reference work out there which actually has some worthwhile analysis on stuff like this? Didn't Feynmann write something up after Challenger?

  6. What about Banqiao and Shimantan dams by btempleton · · Score: 5, Informative

    A story that claims to be reporting on the greatest tech disasters, in particular the lesser known ones, and it fails to mention Banqiao and Shimantan in 1975?

    I mean, not only was this the greatest technological disaster in human history with 80,000 to 230,000 dead depending on whose numbers you believe, but it also is sufficiently unknown that the author of an article on disasters doesn't appear to know of it!

    --
    Has it been over a year since you last donated to the Electronic Frontier Foundation
    1. Re:What about Banqiao and Shimantan dams by nels_tomlinson · · Score: 5, Informative
      A story that claims to be reporting on the greatest tech disasters, in particular the lesser known ones, and it fails to mention Banqiao and Shimantan in 1975?

      Since the original post mentioned this as if we should be familiar with it, here're the details: A big dam in China failed, in large part because the Communist ideologues over-ruled the hydrologists. Many thousands died, but of course that's all right because the houses of the Party cadre were built on high ground. Click on that link for the fine print.

  7. Re:From a luddite point of view: by Graspee_Leemoor · · Score: 3, Funny

    Someone's been reading the Age of Empires technology progression chart again...

    graspee

  8. RISKS - assesment community by DaveWood · · Score: 5, Informative

    No discussion of the topic could be complete without mentioning RISKS. The RISKS Digest has been discussing risk factors associated with technology and engineering (and to some extent generally) on the internet since 1986.

    Every engineer should spend time reading there. Any _good_ engineer should subscribe.

    -David

  9. K-Boat by Al+Al+Cool+J · · Score: 3, Insightful
    If you want to talk about disasterous naval design flaws, then the British K-Boat probably takes the cake. A WWI steam-powered submarine, the K-Boats suffered from numerous flaws in design and engineering and as a consequence fell victim to many dozens of accidents and mis-haps, including the so-called "Battle of May Island" in which a flotilla of K-Boats was decimated by a string of collisions during night-time fleet training maneuvers. The K-Boats killed many hundreds of their crew, without ever inflicting damage on the enemy.


    See http://www.brisray.co.uk/misc/mind.htm (scroll down) for more info.

  10. When the corporation goes unregulated... by stefanlasiewski · · Score: 5, Insightful

    This is what happens when you have a system that allows the corporation to run amuck.

    The lowest bidder cannot be trusted to create products that are safe.

    In these cases, it is good to still have some government oversight.

    --
    "Can of worms? The can is open... the worms are everywhere."
  11. Re:What about Texas City? by reflexreaction · · Score: 3, Interesting
    Doing a quick google search (technology, disaster history), I found this story with this headline
    Twenty-five years ago, the greatest disaster in airline history killed 538 people, in part because of a "heterodyne" radio glitch that still hasn't been fixed.

    It's a good lengthy article. Worth the read
    --

    We had to destroy the sig to save the sig.
  12. Re:Well, I read it, and I can't see any patterns.. by Registered+Coward+v2 · · Score: 5, Informative
    So does anybody know of a good reference work out there which actually has some worthwhile analysis on stuff like this? Didn't Feynmann write something up after Challenger?


    Yes, it appeared as an appendix to the Roger's Report. He also discussed it in his autobigraphy either "Surely your joking..." or "What do you care...", I can't remember which. The appendix is a good read, and can be found here:
    http://www.ralentz.com/old/space/feynman-re port.ht ml
    or any of a number of other googleable links.

    --
    I'm a consultant - I convert gibberish into cash-flow.
  13. Forget Ye Not the Therac-25 by ewhac · · Score: 5, Informative

    Even if you never get near embedded systems of this type, you can't call yourself a responsible software engineer until you read and learn from An Investigation of the Therac-25 Accidents.

    Executive Summary: Company introduces next-generation radiation therapy machine, replacing hardware-based overdosage safety interlocks with software-based mechanisms. Software fails. People are killed.

    Schwab

  14. Three Mile Island, Chernobyl. Is Tennessee next? by Phrogger · · Score: 3, Interesting

    "There's also some stuff like "Watch when retrofitting parts of an old system with new technology"

    Tennessee is just about to do something similar with a
    nuclear power plant. This plant has been mothballed since 1985 but they want to bring it back online. Oh yeah, they also want to overclock it by 30%; it was originally designed for 1000 megawatts production but they are going to crank it up to 1300 megawatts.

    The plant had caught fire in 1975, causing a series of problems leading to the shutdown in 1985. Now they want to extend it's orginal 40 year design for another 20 years. A nuclear-safety engineer for the Union of Concerned Scientists figures that a new plant would be safer and cheaper. From an engineering point of view, "It's like trying to dust off an eight-track tape player rather than buying a DVD system..."

    First Three Mile Island. Then Chernobyl. Is Tennessee next?

  15. Navy's Dead ship by reflexreaction · · Score: 5, Informative
    An article on the NT problem is available here.

    From the article
    The Yorktown lost control of its propulsion system because its computers were unable to divide by the number zero, the memo said. The Yorktown's Standard Monitoring Control System administrator entered zero into the data field for the Remote Data Base Manager program. That caused the database to overflow and crash all LAN consoles and miniature remote terminal units, the memo said.
    And a little bit later in the article
    "If you understand computers, you know that a computer normally is immune to the character of the data it processes," he 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."

    GO ARMY!!!!!!!
    --

    We had to destroy the sig to save the sig.
    1. Re:Navy's Dead ship by ergo98 · · Score: 3, Insightful

      So the code threw an exception when it divided by zero: That's a _wanted_ thing (because technically dividing by zero is an error state. You don't want to just skip over something like that when it could be guiding a missile or steering the ship). From everything I've heard about that Navy ship, the fault had absolutely zero to do with "Windows NT", and everything to do with a proprietary application that didn't wrap a non-deterministic calculation in a try/except : Hardly extraordinary. Unfortunate, yes. Fodder for anti-MSitism, hardly.

  16. or Halifax. by s20451 · · Score: 5, Interesting

    In 1917 collision between two ships in Halifax harbor -- one carrying close to 3000 tons of high explosive -- resulted in an explosion which levelled much of the city and killed 2000 people, in what was one of the largest non-nuclear manmade explosions in history.

    --
    Toronto-area transit rider? Rate your ride.
  17. No Common Thread...but... by efuseekay · · Score: 5, Interesting

    every engineer has their own stories of how they SNAFU-ed. I have mine (one of the reasons why I wuss-ed out and now do theoretical physics instead :)).

    Usually, the problem is :

    (a) Pushing Envelope without prior analysis (Vasa)
    (b) Not exercising Due Diligence in design (Tacoma Narrows)
    (c) Failure of communication between departments (Mars Climate Orbiter : remember the units SNAFU?)
    (d) Insufficent redundancy design (Iroquis Fire)
    (e) Failure to recognize likely failure modes (Concorde, Titanic)

    and others of course.

    I've once fucked up an expensive spacecraft component because of (c). I worked on the mechanical design of the component housing, some electronics guy worked on the electronics detector sitting inside my housing. We have an innovative design whereby some of my mechanical supports were designed to keep some of his electronics ICs in place without the PCB board. The SNAFU : both of us thought the other is suppose to apply anti-vibration gell (layman's term here, we call it RTD...).

    So the part was fab-ed, electronics put in, and the whole thing was sent to a vibration table for testing..

    Result : a loose IC, clanking around the housing for 2 minutes at about 600Hz. The whole thing was toast.

    --
    Mode (3) smart-aleck mode. Press * to return to main menu.
    1. Re:No Common Thread...but... by statusbar · · Score: 4, Insightful

      Those are all good points.

      Another problem I have seen was where TWO different bugs mostly functionally cancelled each other out causing new intermittent problems.

      I made a realization regarding strict-type checking languages versus dynamic typed languages.

      Typically, people who are used to java and c++ complain about languages like python - saying that the compiler should catch static type problems at compile time and that languages that do not do this are inherently unsafe.

      Then I realized that ALL of these people must not be running any real tests on their code! If they were running real tests on all your code (every line must be executed in your tests), then these dynamic typing errors would be easily caught ! those would be the easiest bugs to find.

      Too often I have seen C and C++ coders compile their project.... No errors! Ship it! :-)

      Another issue I have been thinking about is the relationship between code reuse and unexpected behaviours. Code reuse (and object class reuse) is fine as long as all of the functionality and limitations of the object/code are known.

      However for more complex class hierarchies I have seen people say '"I'll just inherit from this class publicly and change the public interface to match what I need for this project." - And then they are surprised when other pre-written code interacts funny with it. I'm not saying object-oriented is bad - I'm saying it is so common for programmers to break the basic concepts of OOP.

      I had one manager who was adamant that for any medium sized project there ought to be NO time spent on making the code re-usable. Every line of code should be directly related to specific aspects of the customer's requirements/specification document. At first I thought he was crazy.

      But after I saw some projects expand into massive class hierarchies just for the sake of the illusion of increasing the reusability of the code in other projects, I am starting to side with him a bit more.

      Extreme Programming has at least some very good points about it. ie: don't add features until you know you need them. Otherwise they probably won't be tested properly and won't be a good match for the new use. You can't predict every environment that the code may be reused in. It is harder to do than it sounds.

      So for high reliability systems I think one should have simple non abstracted code that can be measured, prodded, and always predictable. Then you can fashion your unit tests accordingly.

      --jeff++

      P.S.: scary thought/rant for today: How much C++ code do you see that is striving to be exception safe so that memory full errors will be caught properly? How many C++ coders understand that the default linux kernels and libraries will almost NEVER cause malloc() to return 0 and will almost NEVER cause operator new() to throw? Only virtual memory space is allocated. Real memory pages are only allocated as they are being used. Once all physical and swap pages are used, blammo goes your app (and possibly other apps on your system). In semi-critical systems, this is a real problem that is often overlooked.

      Where is the real problem in this case? Part of the problem is that the c++ environment running on the default linux kernel does not conform to the standard.

      The other part of the problem is that it is little known. If it were commonly known, people would be able to design around it (or change the kernel options). So people rely on what the documentation says, instead of properly testing the software limits.

      --
      ipv6 is my vpn
  18. Re:haven't read it yet by kzinti · · Score: 3

    but does it have that bridge on the list

    You mean the Tacoma Narrows Bridge collapse? Didn't make the list, though it certainly could have. That's still one of my favorites - I always thought of concrete as an inflexible material until I saw that footage.

    I saw another example one time in the 1980's: an NFL football game where the fans at... I think it was Buffalo... were stamping their feet in unison and the upper deck of the stadium was oscillating up and down with an amplitude of a couple of feet (as compared to the stationary points of reference beneath the deck). It was a bit scary when they showed it on TV - I was afraid I was about to see a stadium collapse on live TV. Fortunately, the only thing that collapsed was the Bills, and the fans soon stopped their rowdy and dangerous behavior.

    --Jim

  19. Re:disasters course by Tumbleweed · · Score: 4, Funny

    > The engineering undergraduate program at Queens University actually
    > has a disasters course as one of the non-technical electives.
    ...
    > Supposedly this engenders a greater sense of responsibility into the
    > engineers to be.

    Perhaps, then, this should be a required class instead of an elective one. *shrug*

  20. Concorde by Wyatt+Earp · · Score: 3, Interesting

    I was at work, and when I walked by a radio I caught something about Concorde. I yelled to my boss "The Concorde crashed I think!". He said. "No way, it can't crash, it's the Concorde."

    For me, an aerospace buff, that crash was as big as the Challenger.

    I remeber when the transcripts from the Concorde crash were released, it was really chilling, thinking about those pilots, knowing something bad is happening, and trying with all thier might to abort to Le Bourget, and that big Delta is stalling and Christian Marty can only say "Too late".

  21. funny? by passion · · Score: 5, Interesting

    the Navy's dead Windows NT ship is tops for the funniest in my book.

    Many psychologists have suggested that the emotion of humor has evolved as expressing relief from danger.

    I find it truly frightening.

    --
    - passion
  22. or Texas City by nels_tomlinson · · Score: 3, Interesting
    It wasn't just Halifax; ports can be dangerous places. In 1947, there was a huge explosion when a freighter loaded with fertilizer blew up in Texas City, near Galveston. I knew about it because my father's ship left port hours before the explosion. His mother got a letter he posted from there just before the ship left, and she thought he was dead for several months, until she got a letter from the next port of call.

    There are some pictures on this page. It seems that over 600 people died; or at least they recovered that many bodies. There may have been some who simply disappeared. There was a tidal wave which swept 150 feet inland (NOT 150 feet high, but that far away from the beach.). Since the ship was at the dock, it started fires in the town, and at a chemical plant near the docks. It set fire to another ship which was nearby. That ship blew up the next morning with even more force, and did even more damage. There are more pictures here and here, which give some idea of just how big ithe explosions were.

  23. Eng. on board and Devel. say it was not NT by AHumbleOpinion · · Score: 4, Insightful

    http://www.sciam.com/1998/1198issue/1198techbus2.h tml

    "Others insist that NT was not the culprit. According to Lieutenant Commander Roderick Fraser, who was the chief engineer on board the ship at the time of the incident, the fault was with certain applications that were developed by CAE Electronics in Leesburg, Va. As Harvey McKelvey, former director of navy programs for CAE, admits, "If you want to put a stick in anybody's eye, it should be in ours." But McKelvey adds that the crash would not have happened if the navy had been using a production version of the CAE software, which he asserts has safeguards to prevent the type of failure that occurred."

  24. Re:AT&T: missing break statement by ROBOKATZ · · Score: 3, Insightful
    Once again Pascal is the superior language.. there is no fallthrough in the case statement (removing the possibility of intentional ambiguity or the above situation) and you can use set notation in specifying the different cases, to make up for the lack of ability to specify multiple values to correspond to the same statement.

    Example:

    case ch of
    'A': WriteLN('Choice capital A');
    'B'..'Z', 'a'..'z': WriteLN('Another letter');
    else WriteLN('default case');
    end;

  25. Re:Three Mile Island, Chernobyl. Is Tennessee next by Melantha_Bacchae · · Score: 5, Interesting

    Phrogger wrote:

    > First Three Mile Island. Then Chernobyl. Is Tennessee next?

    Sorry, Tennessee would have to get in line. One of the most spectacular examples of stupidity causing a nuclear accident was at a plant in Tokai-mura on September 30th 1999, and it is the greatest nuclear plant accident in Japan's history. Basically, they dumped all the safety precautions and mixed themselves up a batch of acidic nuclear soup in a big steel bucket and stirred. Instant hot fission! You can read the World Nuclear Association's writeup here (it has a nifty table of different levels of nuclear catastrophe that is a must read):

    http://www.world-nuclear.org/info/inf37print.htm

    The interesting thing is, Toho was filming on location at the Tokai plants for a Godzilla attack in the then upcoming "Godzilla 2000 Millenium". They were probably done with filming by the time the accident actually occured. In December 1999, the movie opened, with Godzilla heading over to attack the plants.

    This wasn't the first one of Toho's monster movies to "come true", only one in a long history. Here are two other famous ones:

    "Gojira" 1984: the Russians have a nuclear accident in the movie (in the original Japanese version, US version makes it a deliberate act). In 1986, the Russians had a real accident: Chernobyl.

    "Mosura 3: King Ghidora Raisu" 1998: the King of Terror (King Ghidora) begins his attack on Tokyo by flying through the twin towers of a skyscraper. Office workers flee while talking on cell phones. The US version ... well there was no US version, except the real life one on September 11th, 2001. Tristar, why was "Rebirth of Mothra 3" never released so we could have been warned as Mothra clearly intended?

    Sonora:"New Godzilla reading. He's moving inward toward Tokai."
    Shinoda: "The nuclear plants, I knew it.
    Sonora: "Afraid so."
    Yuki: "Well, that's just lovely. Another Chernobyl."
    "Godzilla 2000" (US version dialog)

  26. Re:What about Texas City? by Gordonjcp · · Score: 4, Insightful

    A couple of things about the article:

    Firstly, that's not really what "heterodyne" means. Heterodyning is when you mix two signals to produce another at a different frequency. This is how pretty much all radio receivers work (yes, I know there are other ways. Go in a shop and buy a commercial super-regen radio, and I'll change that sentence). It's not a "glitch", it's more a constant physical property.

    Also, the problem was not directly caused by the radio equipment, but by what was said. Yup, it's an unpopular view to take, but it was just plain human error. No blaming the machines here. Why? Well, it goes like this...

    The day of the accident, there was very heavy fog around Tenerife. Visibility was extremely poor, and it was impossible to see the opposite end of the runway. Another factor was that normally, you only fly off from one end of the runway, depending on wind direction. If the surface winds are calm, it's the tower's call as to which runway is in use (denoted by the heading you're facing when taking off, in 10-degree steps, ie. Runway 25/Runway 07). *Both* runways were in use, so aircraft could line up at both holding points, to help reduce queueing.

    Now, the Pan-Am pilot was first out, so lined up at the takeoff point, and began his takeoff run. There was some confusion about whether or not the KLM aircraft was to taxi from the hold to the takeoff point, due to both the controller and the Dutch pilot having english as a second language. This wouldn't have been a problem for the most part, because even if the KLM had been at the takeoff point, the Pan-Am would have cleared it with plenty room, even though it shouldn't have been on the runway.

    The key is in what the Dutch pilot said - "We are now at takeoff". This is indeed a common phrase, generally meaning that the aircraft is sitting at the takeoff point and awaiting clearance. However, in Dutch, the prefix "at-" is equivalent to the English "-ing" suffix - the pilot had just effectively said "I am now taking off". It's an easy mistake to make if you speak more than one language. Even a language you don't often use creeps into things you say in your first language. Just watch it doesn't have consequences this serious!

  27. Well mod me down and call me karmawhore by wheany · · Score: 3, Funny

    From the article:The result was the most lavishly appointed and heavily armed warship of its day, but one too long and too tall for its beam and ballast--a matchless array of features on an unstable platform.

    That's like Windows, right?

    1. Re:Well mod me down and call me karmawhore by t_allardyce · · Score: 3, Funny

      No, windows would be a ship of the same size with _one_ cannon that fired non-standard sized balls, sometimes fast enough to do damage, but more often than not, so slow that they would just plop out. It would still be unstable, but they wouldn't even be able to get 3 sailors on board before it started rocking. It would be launched anyway and even though it would sink after 5 minutes, 500 more ships of the same specs. would be built

      --
      This comment does not represent the views or opinions of the user.
  28. What About /. by Lethyos · · Score: 3, Funny

    Does Slashdot fall into this so-called "technology failures/disasters" category?

    --
    Why bother.
  29. Crazy guys give good advice. by Nindalf · · Score: 3, Interesting

    I had one manager who was adamant that for any medium sized project there ought to be NO time spent on making the code re-usable. Every line of code should be directly related to specific aspects of the customer's requirements/specification document. At first I thought he was crazy.

    I had a guy who thought dynamic memory allocation should be avoided at all costs, and you should never use a data structure more complex than an array.

    I still think he's crazy, but now I see his point. I mean, he was terrible for global variables and giant functions, but his programs never leaked memory and very rarely wrote to bad pointers. If you don't need dynamic memory allocation, you shouldn't use it, and when you do need it, you should only have one malloc and one free (or equivalent) for every dynamic data structure. Often, you only need one or two, even in a relatively large and featureful program. That way, I can write a good page of error handling code and comments on memory consumption for each dynamic memory access, and it saves me a lot of grief.

    I don't like reusing code, either, unless you can make a good case for it being a part of the underlying system. I like the analogy of an architect stapling someone else's blueprint of a fully-equipped foundry and machine shop to his design because the inhabitants will need a screwdriver. Reuse means bloat, and bloat is bad. Every extra line you add is another place for a bug to hide.