Slashdot Mirror


Computer Date Glitch May Limit Next Shuttle Launch

n3hat writes "Reuters reports that the next Space Shuttle mission may have to be deferred if it gets too close to the New Year because the onboard computers do not handle the changing of the date in the same way as the ground computers. From the article: '"The shuttle computers were never envisioned to fly through a year-end changeover," space shuttle program manager Wayne Hale told a briefing. The problem, according to Hale, is that the shuttle's computers do not reset to day one, as ground-based systems that support shuttle navigation do. Instead, after December 31, the 365th day of the year, shuttle computers figure January 1 is just day 366."

354 comments

  1. How Many Times? by Anonymous Coward · · Score: 2, Interesting

    How many times is this going to bite us in the ass? Ada solves all these sorts of problems, and soooo many of my tax dollars went into its creation? I understand that the space shuttle is a limited platform, but why aren't any of the lessons learned in Ada being applied?

    1. Re:How Many Times? by Anonymous Coward · · Score: 0

      loldongs

    2. Re:How Many Times? by Anonymous Coward · · Score: 0

      This sounds like some kind of conspiracy theory from some fringe group.
      How can you keep track of the date and time, and have it screw up at the New Year?
      Well I better start buying bottled water because they are putting drugs in the water to dumb down all of us.

      Is there anybody else selling a bridge today?

      Sue
      When it's time,
      It's time,
      And it may be sooner then you think.

    3. Re:How Many Times? by Anonymous Coward · · Score: 0, Funny
    4. Re:How Many Times? by WindBourne · · Score: 4, Informative

      Perhaps the fact that the shuttle was being developed at the same time as ADA might have something to do with it. Or do you recommend using a not even fully designed, coded, and tested language for controlling the most complex piece of equipment that man has ever built?

      --
      I prefer the "u" in honour as it seems to be missing these days.
    5. Re:How Many Times? by Andyvan · · Score: 1

      The Americans with Disabilities Act?
      American Dental Association?
      American Dietetic Association?

      Oh, you meant Ada. Named after a person. It's not an acronym. Yes, I'm being picky.

    6. Re:How Many Times? by bickerdyke · · Score: 1

      Already works. To get the "clever" ones, they put it in the bottled water...

      --
      bickerdyke
    7. Re:How Many Times? by SnowZero · · Score: 2, Funny

      Maybe he meant ABBA? That was also developed during the mid-70s and early 80s.

    8. Re:How Many Times? by dangitman · · Score: 4, Funny
      Or do you recommend using a not even fully designed, coded, and tested language for controlling the most complex piece of equipment that man has ever built?

      They put computers in bra straps now? Sheesh, I was just getting used to the old ones, and now this?

      --
      ... and then they built the supercollider.
    9. Re:How Many Times? by mindwhip · · Score: 2, Insightful

      The real question should be why wasn't the (presumably) newer hardware on the ground specified to be compatible with the legacy hardware (i.e. the shuttle)....

      --
      [The Universe] has gone offline.
    10. Re:How Many Times? by WilliamSChips · · Score: 1

      ...
      Bottled water is pretty much just tap water put in a bottle. Unless you buy Dasani in which case they add salt.
      If you want to be safe, buy a purifier like Pur or Brita.

      --
      Please, for the good of Humanity, vote Obama.
    11. Re:How Many Times? by stunt_penguin · · Score: 3, Funny

      The good news is, however that they can now be opened using a small remote control; a vast improvement on traditional 'manual' ones :)

      --
      When the posters fear their moderators, there is tyranny; when the moderators fears the posters, there is liberty.
    12. Re:How Many Times? by Fordiman · · Score: 1

      The real question is why theyhaven't reimplemented the electronics in the space shuttle. I mean, seriously. A furby's more complex. You could replace all the logic systemson that thing with a single gumstix, and have enough spare processing power to run it all on Java.

      Oh, yeah. Reliability. 'Cos 30 year old electronics can be considered 'reliable'. It sounds mean, but I can't wait until every piece of equipmenton that thing fails utterly - on the ground, hopefully.

      --
      110100 1101000 1101000 1100110 0 1101111 1101000 1100011 1
    13. Re:How Many Times? by everphilski · · Score: 1

      Because your Java implementation wouldn't be 99.996% bug-free? It isn't like anything in the shuttle has been upgraded, so why should the code that is 4-9's of reliability reliable be modified?

    14. Re:How Many Times? by Fordiman · · Score: 1

      At the very least, to reduce its payload. I can't imagine that the old proto-computers on that thing are lightweight.

      And no, *my* Java implementation wouldn't be bug free. A well-paid development team's would be, though.

      Meanwhile, isn't the standard target for reliability for production code in the server industry five 9's? I know it's the target where I work (actually, it just a one and two zeroes; we haven't gone down yet - sure, it's only been 1 year, but hey).

      --
      110100 1101000 1101000 1100110 0 1101111 1101000 1100011 1
    15. Re:How Many Times? by Amouth · · Score: 2, Insightful

      I have the feeling that the shuttle is far more than the 5 9's .. if you think about it.. if the airline industry followed 5 9's they would have 1-2 crashs every day.. and that would be withing range..

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    16. Re:How Many Times? by Draknor · · Score: 4, Interesting

      I thought five 9's was the standard for uptime/availability. And you don't achieve that by having 1 server that has five 9's, you achieve that by having a group of servers, so when one goes down, your service is still up.

      Space shuttle's a little different:

      http://www.fastcompany.com/online/06/writestuff.ht ml

      Here we're talking *six* 9s of *bug-free code* (1 error in 420,000 lines of code in the previous version). Not uptime -- bugs. Mistakes. For the simple reason that if you make a mistake on the Shuttle, people die.

      You won't get a Java implementation that bug-free without a crack team of developers working for decades, by which point Java will be just as outdated then as the Shuttle code is now.

      Remember -- if it ain't broke, don't fix it!

    17. Re:How Many Times? by metamatic · · Score: 1
      The real question is why theyhaven't reimplemented the electronics in the space shuttle. I mean, seriously. A furby's more complex. You could replace all the logic systemson that thing with a single gumstix, and have enough spare processing power to run it all on Java.

      You might like to ponder the licensing agreement for Java, which states quite clearly that it is utterly unsupported for use as a real time systems programming environment.

      I'm no rocket scientist, but I've a hunch the Space Shuttle has some fairly tight real time performance constraints that Java could never be guaranteed to meet.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    18. Re:How Many Times? by ChrisA90278 · · Score: 1

      Of course this could have beed solved any of 1,000 other ways. Your reference to Ada seems odd. The computers in questions and their software pre-date to introduction of Ada. Ada was standardized in 1983.

    19. Re:How Many Times? by DragonWriter · · Score: 1
      You might like to ponder the licensing agreement for Java, which states quite clearly that it is utterly unsupported for use as a real time systems programming environment.



      IIRC, the Java licensing agreement used to require you to agree not to use it in flight control systems as well as nuclear facilities, though the current binary license only has this "You acknowledge that Licensed Software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility." Doesn't seem to have anything related to realtime use that I see.

      Still, it would probably be ill-advised.
    20. Re:How Many Times? by metamatic · · Score: 2, Interesting

      There's RTSJ and a special version of Java, but they're brand new this year.
      http://java.sun.com/javase/technologies/realtime.j sp

      Real time Java also requires a dual UltraSPARC system running Solaris, which is a bit impractical for a Space Shuttle, and it certainly won't run on a gumstix or other embedded platform as was suggested.

      And regular/embedded Java remains definitely unsuitable for real time.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    21. Re:How Many Times? by Fordiman · · Score: 1

      No, they'd have 1-2 glitches every day; ie: losing the system for 0.864 seconds (the remainder of five nines in the space of a day) isn't enough time for the plane (or shuttle) to crash.

      Meanwhile, when the uptime / downtime is more granular (say it takes a full minute to start the control systems), but you can still claim five nines, you have more of a problem with an actual failure, but it becomes far less likely to occur (1 catastrophic error every 70 or so days).

      The question is: how long does a control system need to be down to cause a catastrophic failure, and how can we decentralize things like power, logical systems, etc, and make redundant systems to ensure no nines of uptime (ie: 100%)?

      It's not like this shit is either expensive or difficult these days, especially when you have a very specific design scope.

      --
      110100 1101000 1101000 1100110 0 1101111 1101000 1100011 1
    22. Re:How Many Times? by M1FCJ · · Score: 1
      It might have been mentioned elsewhere... That's not particularly true. They don't achieve multiple 9's of redundancy with solid code. They achive it by using 4 computer systems, taking the same input and hopefully resulting with the same output. Many times shuttle flights experienced (in flight or on the launchpad) computer crashes but as long as the result from the redundant sets agree, they don't care. When they have multiple computers failing or not agreeing, they might sweat a bit. The return of the flight before last was delayed because one of the computers kept on crashing.

      Simply, even a java implementation would do fine, as long as you have redundant set of them coming with the same answers all the time.

    23. Re:How Many Times? by dangitman · · Score: 1
      If the remote control is designed by the typical Chinese companies that make remote controls today, I'm not sure that would be any easier than ye olde bra clasps.

      On the positive site, the date glitch probably explains why we see so many topless women on New Year's Eve.

      --
      ... and then they built the supercollider.
    24. Re:How Many Times? by jmauro · · Score: 1

      Because modern computers don't function very well off earth. The 90nm works great on eatth, but without the atmosphere to protect them they malfucntion in a high radiation environment like space. The older stuff is much more hardy then the new stuff once it's in space.

    25. Re:How Many Times? by Lars+T. · · Score: 1

      Nope, ABBA worked great over the last couple of year changes.

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    26. Re:How Many Times? by Lotharus · · Score: 1
      And no, *my* Java implementation wouldn't be bug free. A well-paid development team's would be, though.
      Right, a well-paid development team results in bug-free code! That's why Windows is bug-free, and Microsoft Office is bug-free, and the firmware in my router is bug-free,...
    27. Re:How Many Times? by Draknor · · Score: 1

      Interesting -- I hadn't realized that. Although, based on that article I do think there is a lot of solid code in those computers, but with the age of the hardware I'm guessing there's greater risk for hardware failure? I hadn't been watching the last shuttle mission, so I don't know anything about the computers crashing. If it is software-related, then I'm really curious how that jives with the article I posted...

    28. Re:How Many Times? by Shiny+One · · Score: 1

      Wait, I'm a slashdot reader.. What is this "bra strap" thing you speak of?

  2. lame by the_mastermind0 · · Score: 0, Redundant

    How lame is that? Millions of dollars put into a shuttle and it can't even interpret the date correctly. Might as well just plug in my cell phone.

    1. Re:lame by salad_fingers · · Score: 1

      According to the computers, it should be day 9338.

    2. Re:lame by RuBLed · · Score: 2, Funny

      Well we know that programmers get confused with numbers one time or another since we're used to start things at index 0. The shuttle's programmer must have left an extra ctr++ there :)

      (or maybe he watched too much Star Trek that he thought he should follow the intergalactical star dates)

    3. Re:lame by morgan_greywolf · · Score: 4, Funny
      (or maybe he watched too much Star Trek that he thought he should follow the intergalactical star dates)


      Oh, shit! You mean we're not supposed to be following intergalactic star dates?? No wonder those programs I wrote have so many date bugs...

    4. Re:lame by BoomerSooner · · Score: 2, Interesting

      Apparently the below article was full of shit:
      They write the right stuff

      ???

    5. Re:lame by russellh · · Score: 1
      How lame is that? Millions of dollars put into a shuttle and it can't even interpret the date correctly. Might as well just plug in my cell phone.
      reminds me of the windows daylight savings time bug which I just ran into a few months ago. millions of dollars and microsoft can't get dates right either.
      --
      must... stay... awake...
    6. Re:lame by ozmanjusri · · Score: 4, Funny
      Well we know that programmers get confused with numbers one time or another since we're used to start things at index 0.

      Nah, everyone knows geeks are useless at dates because they never get any. Predictable failure, that one.

      --
      "I've got more toys than Teruhisa Kitahara."
    7. Re:lame by Anonymous Coward · · Score: 2, Insightful

      Microsoft can't get a lot of things right. On the other hand, I sure hope Microsoft's software isn't anywhere near a space shutle, that would be a disaster waiting to happen.

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

      this was my first thought. seriously, i was going to post this.

    9. Re:lame by prockcore · · Score: 1
      Millions of dollars put into a shuttle and it can't even interpret the date correctly. Might as well just plug in my cell phone.


      Except that next year your cellphone, and computer, won't get the time correctly either, what with congress monkeying around with daylight saving time.
    10. Re:lame by Anonymous Coward · · Score: 0

      The one time I'm familiar with Microsoft's software being used anywhere in shuttle operations, the ship blew up. I'm sure Windows is pretty common in nasa, actually.. But for reference: Washington Post article on an Edward Tufte article.

    11. Re:lame by Anonymous Coward · · Score: 0

      hahahahaha, I'm not gonna lie, I spit up crackers on that one XD

    12. Re:lame by KenStech · · Score: 2, Funny

      Seems like a piss poor way to run a circus.
      Still, in the patriotic spirit of our times I took out some date changing code I wrote years ago when I was first learning C and sent it to NASA. Never let it be said that in times of national need that I did nothing.
      Ken

    13. Re:lame by Martin+Blank · · Score: 1

      Microsoft is testing their update, I imagine most Linux distros will have one soon if they don't already, and I'm sure Apple will have caught up with it in time, too (again, if not already). Cellphones will sync with the local clock and be up to date relatively quickly. There should be minimal trouble with it.

      --
      You can never go home again... but I guess you can shop there.
    14. Re:lame by SageMusings · · Score: 1

      For all we know the code was written exactly to a spec that dictated how the date was to be handled. Since the article seems to indicate the spec rules all, shouldn't we blame the architects and not the coders?

      --
      -- Posted from my parent's basement
    15. Re:lame by Anonymous Coward · · Score: 0

      (or maybe he watched too much Star Trek that he thought he should follow the intergalactical star dates)

      This is actually sort of a good point. Why do we still store dates as MM/DD/YYYY. It would be easier if everyone just standardized on something like seconds since 1980 (with time before then as negative seconds) and used a conversion function for input and retrieval. It isn't like this is a new idea and tons of applications follow this scheme.

      This scheme makes it a lot less likely that someone would mess up the conversion function. Perhaps since the Space Shuttle program was designed in the 70's they never cared to do it this way. But I certainly hope anyone else who is designing new software is smart enough not to fall into this trap. Correct date storage would have made the Y2K fixes so much easier (but then again the Y2.038K fixes would be needed for really archaic systems)!

    16. Re:lame by MollyB · · Score: 1

      But would a system such as you suggest be able to cope with "leap seconds" and the controversy over whether a year constitutes one exact orbit around the sun (with the earth slowing down by ~1.7 ms/century) versus the SI unit, which doesn't change over time. Just curious...

    17. Re:lame by bhsurfer · · Score: 1
      I think you've hit the nail right on the head. If it *wasn't* written to a spec then what the hell were they doing? The architecture people, you know, the ones who look at the "edges" and figure out how stuff fits together are the ones I believe are at fault here. Software Engineering 101 says to look at the boundries and look at the edges because that's where things are most likely to fall apart - in this case that has proved once again to be true.

      In a personally ironic twist my former grad school IV&V teacher (that's Independent Verification & Validataion to you) teacher works in the IV&V lab at, you guessed it, NASA. Their entire purpose is to ensure that A) what the code is supposed to do is the right thing to do and B) that it does what it's supposed to do correctly. Looks like teach might have dropped the ball on this one... :)

      --
      Those are my principles, and if you don't like them... well, I have others.
      Groucho Marx
    18. Re:lame by bhsurfer · · Score: 1

      ...and in a personally self-deprecating fashion I can illustrate how easily a word like "Validation" can be a candidate for misspelling. It's not hard to make a mistake, is it?

      --
      Those are my principles, and if you don't like them... well, I have others.
      Groucho Marx
    19. Re:lame by Anonymous Coward · · Score: 0

      They should switch to the Jewish calendar, where the new year rollover period depends on a 19 year cycle. That will teach them!

  3. wtf? by PhrostyMcByte · · Score: 4, Funny

    Is there a reason these aren't built on standard parts and operating systems? If they ran their shuttles on something like Debian stable it would be a rock solid platform and probably end up saving them lots of money. Or am I missing something here.

    1. Re:wtf? by jbrader · · Score: 4, Funny
      Is there a reason these aren't built on standard parts and operating systems?

      It was built by the government.

      --
      You are so boring that when I see you my feet go to sleep.
    2. Re:wtf? by Anonymous Coward · · Score: 0

      Linux did not exist in the 70s.

    3. Re:wtf? by schnikies79 · · Score: 4, Insightful

      your idea of rock solid and their idea is little different. they have probably one of the most bug-free pieces of software in existence. it's tailored to do what it needs to do, nothing more, nothing less and it does it perfectly.

      --
      Gone!
    4. Re:wtf? by Anonymous Coward · · Score: 4, Insightful

      Bug free except for the rollover to a new year...

    5. Re:wtf? by moosesocks · · Score: 2

      Uhm. I think the whole point of this article is that it doesn't do it perfectly.

      That said, I'll agree that NASA's software is certainly a heck of a lot more stable than Debian. After all, this is rocket science.

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    6. Re:wtf? by Anonymous Coward · · Score: 0

      tandard parts and Operating systems.... You mean like Windows 98?

    7. Re:wtf? by SuperBanana · · Score: 2, Informative

      If they ran their shuttles on something like Debian stable it would be a rock solid platform and probably end up saving them lots of money. Or am I missing something here.

      Yes, you are. Primarily the fact that Debian Stable isn't even Carrier Grade, and certainly not qualified for life support. Ie, "doesn't crash in the midst of re-entry."

      Keep in mind that the shuttle computers are highly redundant (I believe there are three main computers, and three backups of each component?), monitor a HUGE number of sensors, control a large number of servos and other systems, do telemetry, etc.

    8. Re:wtf? by sholden · · Score: 1

      You're missing that they were designed in the 70s - a little before debian existed: http://spaceflight.nasa.gov/shuttle/reference/shut ref/orbiter/avionics/dps/gpc.html

    9. Re:wtf? by tverbeek · · Score: 4, Interesting
      Is there a reason these aren't built on standard parts and operating systems? If they ran their shuttles on something like Debian stable it would be a rock solid platform and probably end up saving them lots of money. Or am I missing something here.
      Yeah, you're missing something. Such as the fact that the Shuttle was designed a quarter century ago, when Debian was so far from a stable release that Ian hadn't gotten the hange of long division yet, and still believed that Deb had cooties. "Standard parts" meant 8-bit CPUs with 64KB address spaces, and "standard operating systems" included CP/M, 4BSD, VMS, and an upstart known as PC-DOS. I can't really blame them for building something in-house instead.
      --
      http://alternatives.rzero.com/
    10. Re:wtf? by enjar · · Score: 1

      Maybe it's because Linus Torvalds was 12 when the first shuttle launched in 1981 and they kind of needed a computer system then? The software for the Shuttle is some of the most bug-free code around ... check out http://www.fastcompany.com/online/06/writestuff.ht ml for details.

    11. Re:wtf? by Anonymous Coward · · Score: 0

      It was built on "standard components" of the day. Similar architecture to IBM 360. The Altair wasn't even out then.

      Why not Debian? Perhaps could have something to do with Linus not even being born when the shuttle was intially designed.

      You young'uns need to learn a bit about history.

    12. Re:wtf? by Schraegstrichpunkt · · Score: 4, Insightful
      Is there a reason these aren't built on standard parts and operating systems?

      Standard parts don't like being bombarded with radiation. Standard operating systems aren't fault-tolerant.

    13. Re:wtf? by dhasenan · · Score: 1

      Which suggests a workaround: Set the computers to June rather than December.

      There are issues with this, of course--mainly, if lunar gravity is significant, then calculating it requires knowledge of its current position, which can be calculated based on the date (presumably). In which case you need to find an equivalent lunar period that doesn't fall on New Year's.

      Still, it should be possible to update the code to handle the date issue, without much trouble.

    14. Re:wtf? by Andy+Gardner · · Score: 1
      they have probably one of the most bug-free pieces of software in existence.

      Ahh, so this must just be an unexpected feature...

    15. Re:wtf? by T-Ranger · · Score: 1

      Which would be a problem only if they wire-wrapped in the gravity/time tables. Just update those, too.

    16. Re:wtf? by Wanon · · Score: 0

      If they were using debian they could just update from the cvs and apply the diff and recompile ;)

      I've attached it for them so they don't have to look up how to do a cvs update *cough*

      0a1,2
      > day = day % 365;
      > year++;

    17. Re:wtf? by joe90 · · Score: 1

      If you RTFA, it seems to have been a design decision, rather than a bug per se. Just because something isn't present in an application, it doesn't necessarily mean it's a bug.

      IIRC, software design for the space shuttle is somewhat detailed, so I don't think something like the date functionality is anything but a deliberate design decision.

      --

      Fast, cheap & reliable. Pick two.
    18. Re:wtf? by NotAgent86 · · Score: 1

      Debian has had a trip on the shuttle http://www.debian.org/News/1997/shuttle1/

    19. Re:wtf? by Firehed · · Score: 2, Interesting

      Or just let the thing call Jan 1 '07 'day 366, 2006' and have the boys in the funny suits wear watches.

      You'd think someone at NASA could just do the five-second fix and be done with it though. It's, what, three lines of code?

      Big hint, NASA:
      while ($day >= 366)
      {
        $year++;
        $day -= 365;
      }

      --
      How are sites slashdotted when nobody reads TFAs?
    20. Re:wtf? by Anonymous Coward · · Score: 4, Interesting

      You neglect the fact that military/gov't programming languages at this time included HAL/S, Jovial, NELIAC, &c. (Yes I know that Jovial is still in use for the Navy's ITS 8/16bit muControllers). I've used XPL (the language that the HAL/S compiler was written in) & HAL/S; It was basically the predecessor to Ada/SPARK's 'provability' & 'stability'.
      Here is a decent source of HAL/S examples:
      http://www.hq.nasa.gov/office/pao/History/computer s/Appendix-II.html

      Now, look at the procedure called 'read_accel', about 1/4 down the page.
      Midway through, there is a ton of gunk. That's the HAL/S maths for you:
      the program is allowed to use three lines to express mathematical code, to 'mimic' math
      in code. Now, this is the '70s; it's of little wonder that they weren't worried about the
      date switch so much as making sure that:
      1) the compiler produced code that could be checked & double checked to be '100%' failure proof and at least be resilient to problems.
      2) It had to deal with the beast of being machine independent & easily understandable to the PL/I & FORTRAN programmers of the day
      3) It also had to make sure that tasks were scheduled properly & run when specific interrupts happened. This is the Norm for Ada/SPARK now, but HAL/S was pretty much the pioneer here within the Aerospace field.

    21. Re:wtf? by morgan_greywolf · · Score: 1
      your idea of rock solid and their idea is little different. they have probably one of the most bug-free pieces of software in existence. it's tailored to do what it needs to do, nothing more, nothing less and it does it perfectly.


      Actually, that's not entirely true. The space shuttle's main computer is called the GPC -- General Purpose Computer. Among other things it controls avionics and a whole bunch of ther systems -- it's not really a dedicated-purpose computer as one might think.

    22. Re:wtf? by lnjasdpppun · · Score: 2, Insightful

      And leap years? And anything else neither you nor I have thought of?

      I suspect they don't do a 5-second fix up because it's a space shuttle and they do far more testing and documentation for their code than any other project in existence.

    23. Re:wtf? by E-Lad · · Score: 4, Interesting

      You're indeed missing something here.

      While I'm not thoroughly educated on this particular subject, I would say that it's a pretty good chance that the flight computers on the shuttles are based on technology that's at least 15 years old (all shuttles underwent a "glass cockpit" update in the mid-late 90s). You don't see NASA cutting a purchase order to cdwg.com when the newest AMD or Intel offering is announced and stuffing that into the shuttles. This stuff is designed, planned, coded for and integrated over a number of years and is very static. No changes. If there has to be changes, they're done under a quality control methods so strict that, yes, Duke Nukem 3D might see the light of day first.

      And that's just the hardware part.

      On the software side, I'd say you're probably looking at stuff written in any assortment of "classic" languages such as ADA, COBOL, or worse. Due to the nature of the metric f*k ton of sensors, mechanical servos, data inputs, and other such esoteric (and dated) hardware on the shuttles, the software must control, query, parse and monitor, the software is pretty darn married to the platform it runs on.

      So, before blurting "D0odz, just instahl leenux n yr shuttlz (deeban stble rox wif glox!)" Give it some deeper thought. There's likely a darn good reason why things are they way they are (bugs not withstanding) when it comes to large flying contraptions that are designed to safely get 7 people 300 miles up, keep them there for a week (or two) and get them home. Sometimes simple things (to you and I) such as a year roll-over are outside the scope when it comes to designing systems to do what the shuttle does.

    24. Re:wtf? by Anonymous Coward · · Score: 0
    25. Re:wtf? by Xipher · · Score: 2, Insightful

      On top of that, it's a realtime system, none of this get it done when I want to, its get it done by this dead line, or people DIE!

      --
      I don't know everything.
    26. Re:wtf? by Anonymous Coward · · Score: 1, Insightful

      i would much rather nasa use outdated yet 99% bug free tech than current buggy tech....there is little room for error in space travel.....as we all know (rip)

    27. Re:wtf? by voidptr · · Score: 1

      Or am I missing something here.

      Yes.

      --
      This .sig for unofficial government use only. Official use subject to $500 fine.
    28. Re:wtf? by Agelmar · · Score: 2, Insightful

      Actually, if you want to be correct, it was built for the Government. There's a difference - rather than building a piece of crap using underpaid (government) labor, we paid top dollar so that it could get subcontracted out multiple levels, while still winding up with the same crap.

    29. Re:wtf? by Bill,+Shooter+of+Bul · · Score: 1

      Ok, I agree with everything you said,but seriously COBOL? Try FORTRAN. ADA's a good guess though.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    30. Re:wtf? by gimplar · · Score: 0

      Yes. All the electronics on a flight system have to be qualified, from what I gather this process is rather involved and rigorous. The reason for all these qualifications is that a system must be predictable (that's why flight code is never..ever...ever written in an OOish type language i.e Java,C#). Also flight-systems must account for environmental hazards such as exteme temperatures, lack of atmosphere and radiation. Extreme temperatures is a pretty obvious one, the devices must be able to operate reliably in extreme cold or heat. A lack of atmosphere means that all heat generated on the system must be dissipated passively i.e through the chasis of the system. So you don't exactly want a Pentium 4 up there. Radiation is another big one, this is why (until recently) COTS (commerical off the shelf) chips can't be used. Because they haven't (or can't) be rad hardened. Radiation in space can cause upsets in the actual chips, as in a particle nails a transistor and causes a bit to flip. This can ultimately lead to the death of your chip, often times 'modern' flight systems deal with this by triplicating the system. Each chip comes to a result independently and then all three results are compared, then the best 2/3 results are considered correct and the third machine is reset back to a check-point. The millions and millions of dollars spent into designing space system usually goes into trying to get these things to be fault tolerant and efficient. In fact I think that future flight systems will start depending more and more on reconfigurable computing(FPGAs mainly, but emergent FPOAs may be an option) to achieve performance/power goals. And a lot of space systems do run a flavor of Linux, it's not Debian though.

    31. Re:wtf? by Joebert · · Score: 1
      Bug free except for the rollover to a new year...

      Why can't the programmers at T-Mobile leave bugs like that ?
      --
      Wanna fight ? Bend over, stick your head up your ass, and fight for air.
    32. Re:wtf? by Mr+Z · · Score: 1

      When I heard it described to me some time ago, they used 3 copies of the primary system that operate via a voting system. If all three fail due to a shared glitch, a 4th machine, independently implemented to the same specs takes over. The idea of the 3 primaries is that a hardware failure can be addressed through votes, but an incorrect implementation cannot. The 4th machine is a hedge against incorrect implementation. If the specifications were wrong, you're just simply hosed and no amount of redundancy can help you there.

      This PDF file describes the system somewhat differently. It sounds as if in this system all four GPCs run the same implementation of the task. The description I received back in college may have been inaccurate, or accurate at the time but no longer so. Anyway... interesting stuff.

      I don't think Debian Stable is of any relevance. For the problems this computer is asked to compute, you need a very simple, very deterministic control-oriented environment that may not even have what most would consider a "full OS." Rather, you want something that with deterministic latency and periodicity accepts a set of sensor inputs and produces a set of control outputs. I don't think fancy networking stacks and a full *nix userspace have any place there.

      --Joe
    33. Re:wtf? by RedWizzard · · Score: 1

      You (and many other posters) are assuming it's a bug in the shuttle code. But maybe it's supposed to treat year end rollover that way. The shuttle code is written to a spec and if the spec says that's how it should behave then either the spec is wrong or the ground based systems are wrong.

    34. Re:wtf? by darkmeridian · · Score: 1

      It's not a bug; the software spec apparently did not call for such a rollover. Feature drift would be tinkering with the code to allow a rollover and thereby introduce a flaw.

      --
      A NYC lawyer blogs. http://www.chuangblog.com/
    35. Re:wtf? by cheater512 · · Score: 1

      Yeah lets just run the space shuttle off a PC running XP. Lets see how that goes. ;)

      They run specialised parts and dedicated operating systems because things go boom unless it works flawlessly.

    36. Re:wtf? by Carthag · · Score: 1

      that would only work for 2007! Preferably do something like $year = 2006 + $day div 365; $day = $day mod 365;

    37. Re:wtf? by cheater512 · · Score: 1
      Duke Nukem 3D might see the light of day first.
      Its only been out for what? 15 years?
    38. Re:wtf? by camperdave · · Score: 2, Informative

      That might work if the shuttle computers ran C. They run HALS. Also, in how many places does this code fragment need to be installed? How does the timing of the loop affect the rest of the code? Remember, the shuttle has multiple computers. If the timing is too different between them, they can shut down the mission.

      It would be far safer to just delay the launch a few days.

      --
      When our name is on the back of your car, we're behind you all the way!
    39. Re:wtf? by Digicrat · · Score: 2, Interesting

      Even if it is a simple bug fix, if they just identified it now, it definetly would not be "flight ready" by the end of the year.

      Any code to be used on a spacecraft must be thoroughly tested and certified (by the developers and a seperate team of testers) before it can be uploaded to the craft. That process can easily take several months to complete. This is the procedure for unmanned spacecraft, I'm sure the procedure for the Space Shuttle is even more stringent.

      My guess is they're writing a solution now that will be ready to prevent this issue next year or afterwards, but it definetly won't be ready for the next launch. I'm sure somebody's probably hitting themself on the head at not noticing this synchronization problem before.

    40. Re:wtf? by eprimetime · · Score: 1

      This stuff is designed, planned, coded for and integrated over a number of years and is very static. No changes. If there has to be changes, they're done under a quality control methods so strict that, yes, Duke Nukem 3D might see the light of day first.

      Uhhhmmmmm....I think Duke Nukem 3D HAS seen the light of day.....
      Maybe, just maybe, you mean that piece of vaporware called Duke Nukem FOREVER?

    41. Re:wtf? by Firehed · · Score: 1

      How so? In space or on the ground, the clock's still going to suffer from the bug.

      --
      How are sites slashdotted when nobody reads TFAs?
    42. Re:wtf? by Lehk228 · · Score: 1

      a better software design would have been to simply use int days_since_epoch for your day, then have some nice display formatting code whenever meatware needs to interpret a date, that way any problems converting logical dates into meatspace-compliant dates would only confuse the people rather than crash(no pun intended) anything important

      --
      Snowden and Manning are heroes.
    43. Re:wtf? by Anonymous Coward · · Score: 0

      It's not a bug, it's a feature!

    44. Re:wtf? by Anonymous Coward · · Score: 0

      No, it does what is was supposed to. Less features means less complexity which means fewer potential bugs, and in this situation bugs can be quite fatal and expensive.

    45. Re:wtf? by hackerjoe · · Score: 1

      It's a feature! How else are the poor astronauts supposed to guarantee they'll be home in time for a rockin' new year's eve?

    46. Re:wtf? by Cobralisk · · Score: 1

      Unix did, and we'd be safe until 2038. The shuttle's only going to be around until 2010 anyway.

      --
      Waiting for ad.doubleclick.net...
    47. Re:wtf? by LurkerXXX · · Score: 1

      It was built by the government.

      No. It was built by the lowest bidder.

    48. Re:wtf? by afidel · · Score: 1

      Depends on which one. That's the great thing about standards, there's so many to choose from. VMS, HPUX, and NonStop OS all have levels of fault tolerance that works with the hardware to protect against many classes of data corruption and hardware failure. That's why people who like reliability will always miss MIPS.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    49. Re:wtf? by M0b1u5 · · Score: 1

      I'm not positive all components are manufactured, assembled, tested or operated by the lowest bidders. Can you supply proof of your gross generalisation?

      Oh. Oops. itsajoke. Sorry.

      --
      How many escape pods are there? "NONE,SIR!" You counted them? "TWICE, SIR!"
    50. Re:wtf? by ag0ny · · Score: 1

      Here is a decent source of HAL/S examples:
      http://www.hq.nasa.gov/office/pao/History/computer s/Appendix-II.html


      There's a bug in the third line of the collision_check procedure ("DELCARE" instead of "DECLARE").

    51. Re:wtf? by Anonymous+Freak · · Score: 1

      PC-DOS didn't even exist yet. The shuttle was designed in the 1970's.

      --
      Another non-functioning site was "uncertainty.microsoft.com."
      The purpose of that site was not known.
    52. Re:wtf? by Kittoa · · Score: 1
      You're quite right. http://www.fastcompany.com/online/06/writestuff.ht ml
      What makes it remarkable is how well the software works. This software never crashes. It never needs to be re-booted. This software is bug-free. It is perfect, as perfect as human beings have achieved. Consider these stats : the last three versions of the program -- each 420,000 lines long-had just one error each. The last 11 versions of this software had a total of 17 errors.

      -Alex
    53. Re:wtf? by Anonymous Coward · · Score: 0

      >How so? In space or on the ground, the clock's still going to suffer from the bug.

      It's an issue of rebooting it, probably. Crossing your fingers and flipping the switch back on is easier to do on the ground. (note also it doesn't say just this year, just that it can reach a bad state--which it could probably still work with, it'd just confuse people and make them make errors--after normal and correct initialization).

    54. Re:wtf? by cb372 · · Score: 1

      Thanks for the link. I'd never even heard of HAL/S before. Interesting stuff!
      Somehow your link got a bit screwed up, so here it is again:
      http://www.hq.nasa.gov/office/pao/History/computer s/Appendix-II.html

    55. Re:wtf? by kylegordon · · Score: 1

      A leap year is a product of the yearly calendar. The shuttle just keeps on counting days, and will get to day 1460 and roll over to 1461 (or whenever the 4 year marker is) as per usual. It's all about mission time, not calendar time.

    56. Re:wtf? by Splab · · Score: 5, Insightful

      You know, people like you give programmers a bad rep. You just dive in for the fix without knowing the cause - and on top of that add a few bugs that are even harder to iron out if you happen to be the only person knowing that code segment.

    57. Re:wtf? by ydra2 · · Score: 1

      Shuttle: "Houston, we have a problem. It's blinking 00:00 again."

      Houston: "You must be mistaken, it's bug free code."

      Shuttle: "Uhh, well... can you put your kid on here so we can get this fixed?"

    58. Re:wtf? by AdamKG · · Score: 1
      How so? In space or on the ground, the clock's still going to suffer from the bug.
      Um, on the ground... you're not, um, stuck in a freezing vacuum for eternity if something goes wrong.

      But, you know, blood boiling off vs. laughing about the bug over lunch- all the same, right?
      --
      groupthink: It's good for self-esteem.
    59. Re:wtf? by mswope · · Score: 1

      Mod parent up.

      This is a design deficiency, not a programming error. I would say that that probably means that it's not a "bug" per se, but a lack in the original specification. Since it was identified, I'd venture a guess that it was probably a *known* deficiency and NASA felt that not flying over the new year change was a simple and reasonable limitation for something that was first flown 26 or so years ago.

    60. Re:wtf? by 91degrees · · Score: 1

      This isn't Microsoft. Or even an ordinary safety critical software development. This is how NASA develops sofware. A 5 second fix will require an investigation into why the fix is needed in the first place, what can be added to the procedures to prevent anything similar happening again, an investigation into how this will interact with every other module, scenarios, a test plan, and verification.

    61. Re:wtf? by StarfishOne · · Score: 1

      I was more thinking in the direction of: /etc/rc.d/rc.ntpd sync :P

    62. Re:wtf? by Bastian · · Score: 1

      Given the way programming on projects like this goes, my guess is that this isn't a bug; it's an egregious design flaw.

    63. Re:wtf? by Pseudonym · · Score: 2, Funny
      Such as the fact that the Shuttle was designed a quarter century ago, when Debian was so far from a stable release [...]

      Right. It only seems like Debian stable releases are a quarter century apart.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    64. Re:wtf? by Overzeetop · · Score: 1

      Would that be the Debian that was created in the early 70s, or the most recent fault tolerant version built around 1980. These things are _old_. Spaceflight hardware, even the newest, is often 2-3 generations behind for rad hard, verified parts - possibly more for "current" life-safety spaceflight hardware.

      --
      Is it just my observation, or are there way too many stupid people in the world?
    65. Re:wtf? by Anonymous Coward · · Score: 0

      WHAT???? the shuttle does not run XP for flight control???? what!!!!

      on a side note, 1/2 the voting machiens were down this morning with big old error dialogs on the screen. even the poll workers were screaming.... "I NEVER HAD A PIECE OF PAPER REBOOT!"

      only idiots are in favor of electronic voting.

    66. Re:wtf? by Anonymous Coward · · Score: 0

      Maybe because they designed the Shuttle in the 60's. What Debian version number would that be?

    67. Re:wtf? by moro_666 · · Score: 1

      Erm ....

      First of all, it's certainly as simple as that, the spacecraft is probably full of software that assume that yesterday's day is smaller than today's, the substract directly to get the diff and your code would create some horrible error states we can barely imagine. They are not going to update anything with a quickpatch on the run if they are not sure that it won't break one tiny bit somewhere else. There's no space for oops-es in space.

      --

      I'd tell you the chances of this story being a dupe, but you wouldn't like it.
    68. Re:wtf? by slim-t · · Score: 1

      It's pretty obvious that the ground clocks and shuttle clocks are reset before each launch, so why don't they just set the clocks to some date that won't cause a rollover? Pretend they are launching in July instead of December. I used to change my computer's clock all the time to mess with time expiring software.

    69. Re:wtf? by bensch128 · · Score: 1

      Ouch, I think my eyes are bleeding from all of the CAPITALIZATION, braces and other symatically terrible language features.
      I can't even understand what the S: and E: at the beginning of some of the lines are for. C: is for comments and M: is code... I think...

      Whoever designed this language should have been forced to write a compiler with it.
      (Considering hindsight is 20/20. ;)

      Ben

    70. Re:wtf? by Agelmar · · Score: 1

      What is it that makes people think rocket science is such a black art? It's really not that hard to understand, no moreso than most other engineering fields.

      How to become a rocket scientist:

      1. Apply to Michigan (College of Engineering)
      2. Take lots of calc and physics
      3. Declare aero as your major
      4. Graduate
      5. Profit!!!

      Personally, I think there are a lot harder things than rocket science. ChemE was always difficult in my mind, as was VLSI. I don't see what's so special about rocket science.

    71. Re:wtf? by Anonymous Coward · · Score: 0
      Is there a reason these aren't built on standard parts and operating systems?


      The Shuttles were designed and built in the late '70s, early '80s. What standard parts are you talking about? 8086s? 8088s? Z80s? Ada? Fortran? COBOL?
    72. Re:wtf? by Zebra_X · · Score: 1

      Hey, as long as its documented as a known issue.

      LOL

    73. Re:wtf? by Anonymous Coward · · Score: 0

      Mmmmhmmmm.

      $acceleration = ($speed_now - $speed_then) / ($time_now - $time_then)

      ALL HANDS ABANDON SHIP! APPROACHING THE EARTH AT LIGHT SPEED AND ACCELERATING!

      Reason: Don't use so many caps. It's like... yelling? I mean, you would never yell if, uh, you were going to crash into a planet at light speed, right? Never! I say never!

    74. Re:wtf? by jovlinger · · Score: 1

      great spot.

      That just made my day

    75. Re:wtf? by thewiz · · Score: 1

      Reasons that the Shuttle computers aren't built with standard parts and operating systems:
      1. ALL computer components must be hardened against radiation, thermal shock, vibration, g-loads.
      2. Storage system for shuttle computer is a special tape drive, not a hard disk.
      3. Each computer is hand-built from the component-level up; it isn't a generic PC.
      4. Memory in the computer used to be iron-core memory; they finally moved to solid-state memory in the 1990s.
      5. Performance-wise, the shuttle computers are about equivelent to a Pentium CPU with a early DLT tape drive.
      6. The software that runs on these goes through several stages of testing before being accepted for flight.

      --
      If "disco" means "I learn" in Latin, does "discothèque" mean "I learn technology"?
    76. Re:wtf? by Anonymous Coward · · Score: 0

      Ouch. Imagine trying to compute acceleration when someone syncs the clock. You'd break just about everything.

    77. Re:wtf? by Metex · · Score: 1

      Everything has to be hand coded to make sure it is rock solid not that you think it is. 99.99999% non-failure rate is probably below standard for nasa given the fact that there are lives on the line.

      --
      Never could figure out why my girl liked my bitch tits, then I found out she was a lesbian.
    78. Re:wtf? by Anonymous Coward · · Score: 0

      Better Yet:

      How to become a *successful* rocket scientist *with rockets that don't explode*:

      1. Apply to The Ohio State University (College of Engineering)
      2. Take lots of calc and physics
      3. Declare aerospace as your major
      4. Graduate
      5. Profit and not kill people!!!!
    79. Re:wtf? by pseudorand · · Score: 1

      > have probably one of the most bug-free pieces of software in existence.

      Just because it put a few shuttles into space doesn't mean it's bug-free. Compare the instances of this software actually in production use to Windows, Linux, or just about any commercial or open source software and it's insignificant. The concequences of problems are greater, but the userbase and amount of real-world testing is much much less. I'd guess that if shuttle components were affortable and NASA open-sourced their software, their bugzilla site would be pretty active.

    80. Re:wtf? by Kehvarl · · Score: 1

      Since the lines "E:..." and "S:..." seem to occur around mathematical notations I would assume they stood for "Exponent" and "Subscript"; where "Exponent" is really "Superscript" since not all the "E:" values are valid exponents.
      "C:..." being for comments seems correct, and "M:..." for code looks right though what "M" actually stands for is unclear.

    81. Re:wtf? by TheLink · · Score: 1

      Actually dying in a freezing vacuum (or burning up in the atmosphere) isn't that bad considering the many possible nasty death scenarios:

      Like going round and round the world in a screwed up orbit while the various life support systems slowly go poof one after another, and not being sure if NASA or whoever can wangle up a rescue in time - because the other shuttles will probably have a similar problem too.

      AFAIK the Russian Soyuz only has room for 3. While a shuttle can carry 7.

      Still it's not that much worse than having a terminal disease I guess. And AFAIK most of us will die eventually.

      --
    82. Re:wtf? by chef_raekwon · · Score: 1

      oh come on -- he just made himself an SPF (single point of failure).
      Can't blame him for that ;)

      --
      We're like rats, in some experiment! -- George Costanza
    83. Re:wtf? by inviolet · · Score: 1
      That might work if the shuttle computers ran C. They run HALS.

      Oh you have got to be kidding. They run an OS called 'HALS' on the space shuttle?!

      Cmdr. Ride: "Open the cargo bay doors, HALS."
      HALS: "I'm sorry, Sally, I can't let you do that."

      --
      FATMOUSE + YOU = FATMOUSE
    84. Re:wtf? by Traa · · Score: 1

      To be slightly more correct, the Government paid bottom dollar. The space shuttle components have been subcontracted out to the lowest bidders.

    85. Re:wtf? by balbord · · Score: 1

      Sharp eye, hey? :)

      --
      "If I have been able to see so far, It is because I went out and bought a damn binoculars" - Ze da Esquina
    86. Re:wtf? by geekoid · · Score: 1

      because they weren't any when it was built?

      Because the PC isn't designed for the rigors of space flight?

      I'm sure some short sight ass will claim it's the governments fault for nhot building something that supports technology that won't exist for 20 years.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    87. Re:wtf? by DestroyAllZombies · · Score: 1

      Hmmm ... I don't know any rocket scientists from Ohio State. Definitely some from Michigan. I see mostly MIT, Texas, Purdue, Colorado.

      --
      This login name for sale.
    88. Re:wtf? by geekoid · · Score: 1

      it is doing what it was designed to do. This is not a bug.

      Most people here wouldn't understand that, and sadly that include most 'developers'.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    89. Re:wtf? by adam.ritchie · · Score: 1

      Don't forget about leap years.

    90. Re:wtf? by Trillan · · Score: 1

      Which is, for them, a known and understood problem. Better a few known and understood problems that can be worked around than a mass of uncertain code.

    91. Re:wtf? by Myopic · · Score: 1

      point of order: Duke Nukem 3D was released in 1996. you are probably thinking of Duke Nukem Forever.

    92. Re:wtf? by reed · · Score: 1

      Yes.

      The difference between NASA's in-house code and M$ofts is that NASA is 100% sure about every line of code in there. It's been checked and rechecked, and tested to death.

      Yes, NASA has a problem. But if your code had this bug, would you know about it now? Or only after an end of the year actually occured in production?

    93. Re:wtf? by camperdave · · Score: 1

      My guess is that they've known about this issue for decades. It's just that the news media has finally gotten around to reporting it. Consider the quote "The shuttle computers were never envisioned to fly through a year-end changeover," NASA specifically planned NOT to be in space during a year end roll-over. Also, considering that they have been in the process of fixing this glitch for the past three years, it was not a recently discovered bug.

      Actually, I am surprised it is even an issue. All events should be handled in Mission Elapsed Time, and not calendar based times.

      --
      When our name is on the back of your car, we're behind you all the way!
    94. Re:wtf? by Anonymous Coward · · Score: 0

      That's not a bug, it's the absence of a feature. The difference, while perhaps subtle, is critical.

    95. Re:wtf? by Anonymous Coward · · Score: 0

      Heh, that should get some nice funky results if its coupled with the GPS, I mean, changeing the date one due to new years is bad, but that shuttles is around the world in no time - just think of the havoc due to NTP updateing time for each timezone :)

    96. Re:wtf? by neonsignal · · Score: 1

      But wasn't the last Debian release about 15 years ago too?

      (Sorry. Couldn't resist that...)

    97. Re:wtf? by Anonymous Coward · · Score: 0
      I was more thinking in the direction of: /etc/rc.d/rc.ntpd sync :P

      You know, I have this machine here that's running ntpd, and since the end of DST a week ago, it's been running one hour off. And yes, /etc/localtime is correct, and "date" returns the proper time zone, and everything. If I set the correct time with "date", and it gets adjusted to the wrong time by ntp. In other words, It's Not That Simple.
    98. Re:wtf? by coteesh · · Score: 1

      The computers on board the shuttle are solid state. There is no magnetic media at all. All solid state.

    99. Re:wtf? by lordmatthias215 · · Score: 1

      Actually, I would imagine that the majority of the clocks in the shuttle are based on mission time, and then relate that back to standard time, based on the standard date/time of the mission's launch. I think the problem may arise when the clock reaches its maximum of 23.59 on 12.31 and doesn't have the logic to roll the date back to the smaller date of 01.01. And adding said code throught the entire shuttle system could cause certain programs to execute out of sync with other programs, causing major problems. If the mission is simply delayed until 01.01, then the computer never has to worry about relating its ever-increasing mission time to a suddenly decreasing date. IMHO, it will probably not be a huge deal to delay a launch until after new year's, especially because staffing is going to be a larger issue during the holiday season, and with any luck we'll be replacing the shuttle with NASA's new designs within a few years anyway, at which point I'm sure they'll work in a year-change protocol and make sure to sync it with other systems from the initial design. Remember that the shuttle uses virtually the same exact hardware and software it did in the 1970's, in the infantile days of computing, decades before the Y2K scare existed. The processors on the shuttle are hecka slow, and a loss of a single cycle in snychrinization is a lot more than losing a cycle at today's high speed, multicore processors. Plus, NASA already has been walking on glass with Congress lately, hasn't been getting enough budget to update systems or (preferably) design a whole new rocket yet. They can't afford another serious mistake to occur and have their astronauts die and their funding pulled all because they wanted to run a mission on New Year's Eve.

  4. Well.... by SuperBanana · · Score: 3, Insightful
    ...I guess it -is- rocket science.

    *ducks and runs for cover*

    Seriously though- they never "envisioned" a mission occuring over the end-of-year? Let me guess: a defense (space) contractor designed the systems.

    1. Re:Well.... by Nimey · · Score: 1

      Lockhead, maybe (as in "head up and locked").

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    2. Re:Well.... by morgan_greywolf · · Score: 1
      Let me guess: a defense (space) contractor designed the systems.
      Actually, no it was an in-house job. And it's not the first time the space shuttle GPC has been bitten by bugs. Twenty minutes before the first launch, they had a problem with the software that 'backs-up' the software for the quad-redundant primary software system (kinda like clustering). (PDF)
    3. Re:Well.... by 0racle · · Score: 1

      Are you suggesting it's the "our boys will be home by Christmas" problem?

      --
      "I use a Mac because I'm just better than you are."
    4. Re:Well.... by Detritus · · Score: 1

      Actually, no. Normally, the ranges are closed during the end of December for maintenance, and to let people take time off for the holidays. Think of it like a factory that has scheduled down-time.

      --
      Mea navis aericumbens anguillis abundat
    5. Re:Well.... by Anonymous Coward · · Score: 0

      Seriously though- they never "envisioned" a mission occuring over the end-of-year? Let me guess: a defense (space) contractor designed the systems.

      I love the zealots on slashdot. a certain faggot suggests that the reason nasa is fucked up with EOY math is because of defense contractors, people mod it up while others set the record straight. sadly most metamodderators will probably not look at the context and not realize that the statement isn't insightful at all but rather ignorant and trollish.

      this leaves nothing to be said that the faggot who shot his mouth off for no reason is also a mac fagboy.

      i'm sick of ignorant stupid fags getting modded up for no good reason other than bullshit partisan politics. GO TO FUCKING HELL! you're ruining what little is left of slashdot, get that through your fucking skull.

      The modderators who modded this up deserve to have their points striped from them, but you know it will never happen here on fagdot.

    6. Re:Well.... by Anonymous Coward · · Score: 0

      So you hate homosexual people then?

    7. Re:Well.... by Alain+Williams · · Score: 1
      a defense (space) contractor designed the systems

      That is not that unlikely. It makes me wonder, if I were to launch some ICBMs at the USA, would just before midnight new year be a good time ? Might they be unable to fire some interceptors/retaliation due to a similar problem ? Related teams/management often produce systems with related issues.

      Frightening, eh ?

    8. Re:Well.... by WilliamSChips · · Score: 1

      NASA doesn't control ICBM countermeasures.

      --
      Please, for the good of Humanity, vote Obama.
    9. Re:Well.... by Alain+Williams · · Score: 1

      I never said that it did, however they are likely to use some of the same aerospace suppliers as the US DOD.

  5. Title mis-read by Anonymous Coward · · Score: 0

    A computer dating error will affect the shuttle launch? I thought astronauts could get babes without resorting to computer dating...

  6. y2k? by Anonymous Coward · · Score: 0

    The real problem is that the shuttle isn't y2k compliant, and their "workaround" was to reset the year to 1999 before each launch.

    1. Re:y2k? by __aaclcg7560 · · Score: 1

      Don't they reboot the BIOS that automatically reset the computer January 1, 1981. One of my very old PCs did that all the time when the battery died.

  7. Uhm...and? by QuantaStarFire · · Score: 2, Interesting

    Pardon my ignorance, but is this really serious enough that it should actually cause a delay? I mean, if it's simply a matter of figuring out what the date is, I'm sure that the astronauts and engineers involved in the project know at LEAST basic mathematics, and can determine that if it's, say, Day 367 on the shuttle computer, then 367-365 = 2, AKA January 2nd, 2007.

    I'd say the article missed something; the whole concept sounds far too ridiculous to stand on its own.

    1. Re:Uhm...and? by sexybomber · · Score: 1

      Yeah, it almost seems like an EXCUSE not to fly the shuttle. Are they getting paranoid about things going wrong?

    2. Re:Uhm...and? by Broken+scope · · Score: 2, Informative

      Actually a lot of data is from that date. Navigation and other systems probably rely on the date being correct to give an accurate reading or reliable function.

      --
      You mad
    3. Re:Uhm...and? by QuantaStarFire · · Score: 1

      Okay, now THAT'S a valid reason; something TFA was missing. I'm still a bit skeptical though that a mere date could fubar things to such a degree, but I guess it's always the smallest problems that come to bite you in the ass (i.e. if(stringA = stringB) { /* stuff goes here */ })

    4. Re:Uhm...and? by Zordak · · Score: 1, Informative

      The article is sparse on details, but it sounds more like a problem where the date on the shuttles computer does not match the date on the ground system's computer. That can be a problem.

      --

      Today's Sesame Street was brought to you by the number e.
    5. Re:Uhm...and? by plaxion · · Score: 3, Insightful

      It probably has to do with the mismatch between systems, not a lack of the engineers' or astronauts ability to count on their piggies and toes. Their current configuration doesn't have a middleware layer that accounts for any possible differences. In other words, while the shuttle continues on thinking it's the 366th day, the ground control systems might get confused (e.g. "Hey, there's no such thing as a 366th day") and their programs may crash (no pun intended) as a result.

    6. Re:Uhm...and? by Anonymous Coward · · Score: 0

      In which case day 366 of year 2006 should be equally valid as day 1 of year 2007. Seriously, navigation doesn't depend on our human representation of the calender.

    7. Re:Uhm...and? by noidentity · · Score: 1

      Or have the ground computers cater to the shuttle's idea of how dates work. After all, it's a problem only if both the shuttle and ground computers are inflexible. But I'm sure the issue isn't this simple or easily solvable.

    8. Re:Uhm...and? by Brett+Buck · · Score: 1

      An even better question is, why does it need to know the calendar date at all? I have very intimate knowledge of 4 different spacecraft software designs (two of them at least on the order of the shuttle flight software), and none of them calculate the gregorian date directly, only one knows anything at all about calendar dates, and that is used for a VERY trivial purpose that wouldn't be affected by this sort of bug. Julian Date, or some variation thereof, is the usual time reference on spacecraft, and that doesn't know or care about year rollovers since it doesn't know anything about years. The only thing I can imagine is that someone on the ground used IRIG to time-tag commands, and they found a bug in the area that converts IRIG to Julian, but that's just a guess.

              Disregard the comments about how "any TRS-80 can figure out the date, what a bunch of losers". This sort of software is fantastically far more critical and rigorously designed that resemblence to a general-purpose interactive OS, you can't even reasonably talk about them in the same sentence.

              I think there must be some details left out of TFA. there has to be something rather more subtle going on that it appears. I will try to check my contacts in the shuttle software world and see if I can find anything out.

              Brett

    9. Re:Uhm...and? by master_p · · Score: 1

      It is not that simple. Date and time computations go through almost every computation in these time of systems.

      What surprises me is that the shuttle contains a different software module than the ground computers. I would have thought that NASA would reuse the Shuttle's software, since it is (or should be) one of the most reliable pieces of software around.

  8. Huh? by Salvance · · Score: 1

    So we've been flying the space shuttle for almost 30 years and this was never viewed as a problem before? And we're trusting NASA to send astronauts to the moon and beyond over the next 20 years?

    --
    Crack - Free with every butt and set of boobs
    1. Re:Huh? by Sage+Gaspar · · Score: 1

      They had a system with some limitations that worked back in the 70's and was developed for lots and lots of money. They have a tried-and-true technology. The article says that their fleet is due to retire in 2010 and they were looking for a way to change this back in 2003, so my guess is probably that they're just waiting for the next generation of shuttle instead of retrofitting a system that already works within some bounds, which would cost both money and time. If they have to delay launches by a couple of months in the interim... well, that's not too steep of a price.

    2. Re:Huh? by mikelieman · · Score: 0, Flamebait

      "And we're trusting NASA to send astronauts to the moon and beyond over the next 20 years?"

      No.

      Only thing *I* trust NASA to do is waste money.

      --
      Technology -- No Place For Wimps! Grateful Dead and Jerry Garcia Chatroom -- http://www.wemissjerry.org
    3. Re:Huh? by nhp105 · · Score: 1

      You are totally missing the point here!!!! May be you should read: http://www.fastcompany.com/online/06/writestuff.ht ml Give me the name of a software company out there that actually considered Y2K being a problem when they were designing their piece of code? NAME ONE PLEASE....

  9. Strictly speaking... by Stephen+Tennant · · Score: 1

    it is. In fact, telltale sideburns show that some shuttles are still in the seventies...

    --
    I spend most of my time in bed, darling.
  10. Bites me by William+Robinson · · Score: 2, Interesting
    The shuttle computers were never envisioned to fly through a year-end changeover

    Sorry to sonud so skeptical....but am I the only one who is worried about capability of missiles (and other defence systems) to handle war through a year-end changeover?

    1. Re:Bites me by Brill · · Score: 2, Funny

      well it's like missiles are in the air for that long

    2. Re:Bites me by DerekLyons · · Score: 1
      The shuttle computers were never envisioned to fly through a year-end changeover
      Sorry to sonud so skeptical....but am I the only one who is worried about capability of missiles (and other defence systems) to handle war through a year-end changeover?

      I can't speak to other systems - but I worked with three generations of US SLBMs, and yes - they'd function across the end of year changeover.
    3. Re:Bites me by clickclickdrone · · Score: 4, Funny

      >capability of missiles (and other defence systems) to handle war through a year-end changeover?
      That's why every new year all the soldiers climb out the trenches, swap chocolates, cigarettes etc, and shake hands before climbing back in and resuming war the next day.

      --
      I want a list of atrocities done in your name - Recoil
    4. Re:Bites me by freeweed · · Score: 1

      Sometimes I wish we had a +100 Funny mod.

      Best joke on Slashdot all year. Don't forget the soccer match, though.

      For those that didn't get the joke.

      --
      Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
  11. Just goes to show by gx5000 · · Score: 1

    Just goes to show how going for the lowest bid on a contract screws everything up.
    That's barely ten lines of code no matter what language you want it in...
    Sloppy, dreadful, and as I like to say, "You get what you pay for"...

    (Does anyone remember the multi thousand dollar toilet seat for the US Navy ?)

    In this case, a setback sending 1970's technology into space......
    About time the new vehicle gets rolled out.
    Maybe we can get Timex to code it in...

    Cheers

    --
    End of Line.
    1. Re:Just goes to show by slimey_limey · · Score: 1
      That's barely ten lines of code no matter what language you want it in...

      Unless, of course, you're using INTERCAL.

    2. Re:Just goes to show by Alizarin+Erythrosin · · Score: 2, Insightful
      That's barely ten lines of code no matter what language you want it in...

      Do you even remember why the Y2K thing happened? People saved space back in the day by using a 2 digit year. Hell, in the 1970's, people were using a one digit year to save even more memory and storage space. The Space Shuttle uses very old technology for its computer systems (read: 1970's level technology), and doesn't have much memory. That extra 10 lines of code could make it oversized.

      Additionally, making a change to space (or even military) software requires a shitload of paperwork and testing. Its a wild guess, but it would probably take almost a year to get that "ten lines of code" into the Shuttle and cost more money than its worth to just not have the birds up in space at an end-of-year scenario.
      --
      There are only 10 kinds of people in this world... those who understand binary and those who don't
    3. Re:Just goes to show by nhp105 · · Score: 1

      You are totally missing the point here!!!! May be you should read: http://www.fastcompany.com/online/06/writestuff.ht ml Give me the name of a software company out there that actually considered Y2K being a problem when they were designing their piece of code? NAME ONE PLEASE....

  12. And...? by coolhelperguy · · Score: 1

    So far, there have been a bunch of comments on why this shouldn't have happened. Great, whatever. It is what it is.

    So the question is, why does it matter? Day 1 or 366, it shouldn't matter, right? Unless they both didn't make it loop around and used functions heavily based on the date (not terribly likely), then what difference does it make? It's just December 31+1, so day-of-week, etc. should all remain correct.

    It's not like NASA would just make a probably-multi-million-dollar-a-day wait because they felt like it. Obviously there's something up, so perhaps someone who knows could enlighten us?

    1. Re:And...? by swordfishBob · · Score: 1

      um, we're talking about orbits, intersections with other orbiting objects (and avoiding others). I think the date matters somehow, though it should be mostly in the planning.

      --
      -- All your bass are below two Hz
    2. Re:And...? by mightyQuin · · Score: 1

      There's gotta be SOMETHING running on a cron or schedule of some sort that depends on the date being correct.

      Even if it's just an ageoff of some files or rotation of some logs.

      btw - what's up with the Julian dates in space?

      --
      Now, if you'll excuse me, I've got some idea balls to remove from a manatee tank.
    3. Re:And...? by Anonymous Coward · · Score: 0

      So the question is, why does it matter? Day 1 or 366, it shouldn't matter, right? Unless they both didn't make it loop around and used functions heavily based on the date (not terribly likely), then what difference does it make? It's just December 31+1, so day-of-week, etc. should all remain correct.

      The problem is that the ground systems correctly go to January 1st. So if they've got some code anywhere that says:

      if (abs(my_date - your_date) == 1) {
              resync();
      } else if (abs(my_date - your_date) > 1) {
              panic();
      }

      then you're kind of hosed. And for flight-critical things like the current time and date, I can totally see it aborting if ground and shuttle computers disagree by a huge amount.

  13. Yay! by eric.t.f.bat · · Score: 2, Funny

    Three cheers for the Y0.001K problem!

    --
    I have discovered a truly remarkable .sig block which this margin is too small to conta
  14. The name of the captain of the next flight is by Anonymous Coward · · Score: 0

    Buck Rogers.

  15. Of all the stupid things to get wrong... by Finnegar · · Score: 1

    So, did they have to specially program the ground computers to act like all the rest on the planet, or did they leave out the few bytes this would have taken on the Shuttle to save some space?

    1. Re:Of all the stupid things to get wrong... by cheater512 · · Score: 1

      I would imagine that the ground computers have had a few facelifts.
      Its more difficult to upgrade the shuttle computers however.

  16. Well, of course. by T-Ranger · · Score: 4, Funny

    The shuttle runs on three modified IBM 360 systems. Were pushing 35, almost 40 year old systems here.

    Do you know how many eligible 35 year old computer bachelors there are out there? Ill tell you: none. Of course the shuttle computers can't get a date.

    1. Re:Well, of course. by Btarlinian · · Score: 1

      Worst joke ever; nevertheless, I love it.

      I'm surprised you aren't modded +5 funny or -1 (by the people who don't get it) yet.

    2. Re:Well, of course. by Anonymous Coward · · Score: 0
      Of course the shuttle computers can't get a date.


      I dunno... I heard there were some pictures on the internet of a shuttle barebacking a 747...
  17. basically . . . by ElephanTS · · Score: 1

    I used to write this kind of glitch into my kludgy Commodore BASIC Vic20 programs when I was a kid. I never thought I was good enough to be a professional though. Seems like maybe there's a chance for me after this? I reckon the shuttle could run with BASIC if sensible line numbers were used. And GOSUBs for that professional touch.

    --
    spoonerize "magic trackpad"
  18. "They Write the Right Stuff" by coeus_titan · · Score: 1

    http://www.fastcompany.com/online/06/writestuff.ht ml..is [fastcompany.com] this the same team from Lockheed that coded the "Right" stuff ??

  19. Happy New Years! by SpectreHiro · · Score: 2, Funny

    I read it quickly and thought it said, "The shuttle computers were never envisioned to fly through a year-end hangover".

    I couldn't figure out for the life of me why they'd let mission critical crew drink bubbly in space... or why the computer would give a damn.

    --
    You can't win, Darth. If you mod me down, I shall become more powerful than you could possibly imagine.
  20. Computer date glitch by Anonymous Coward · · Score: 0

    Well it sounds like they should have used a different computer dating service for that New Year's date. Maybe LavaLamp. Or eHarmony. That one costs serious money, but I hear the screening's a lot better. I mean sure you can get a date on Craigslist for free, but you get what you pay for, basically.

  21. Hmmm by gadgetman · · Score: 1

    The phrase "good enough for government work" comes to mind. This kind of crap really does (and should) irk every single tax-paying American. Shoddy design work like this should shame the contractor that billed the gov't for it.

    I know it will not make the astronauts say much publicly about how they really feel to fly on the shuttle when this kind of news comes out, but I'm sure it makes the spouses and families of the astronauts have many sleepless nights.

    Kind of makes me imagine what the space program would be if we combined common sense with the intelligence from those rocket scientists. Hmmmmm.

    --
    Artifical Intelligience is no match for natural stupidity.
  22. I'm enjoying a little schadenfreude... by SchnauzerGuy · · Score: 4, Informative
    As a professional software developer, I have heard on countless occasions about how the Space Shuttle software development process is so incredible, and how all other developers should try to live up their high standards.

    Granted, the work they do is very impressive and the process is very exacting. But come on...they haven't been able to fix a simple year rollover event in 30 years?!?

    From the Fast Company article:

    Consider these stats : the last three versions of the program -- each 420,000 lines long-had just one error each. The last 11 versions of this software had a total of 17 errors.

    I would say that requiring a reboot every year on December 31 is a pretty huge error. In this case, it is forcing NASA to launch earlier than they otherwise would wish. And this isn't the first time this type of problem has caused problems. The New Scientist has a similar article that goes into more detail:

    This is not the first time that the shuttle programme has been faced with the year-end rollover problem. On a Hubble servicing mission in 1999, the year of the overblown Y2K computer scare, the shuttle landed on 27 December (see Fuel fault delays space repair). To make sure the shuttle got back on the ground before 31 December, mission managers decided to drop one of the four planned spacewalks.
    1. Re:I'm enjoying a little schadenfreude... by Nataku564 · · Score: 1

      Have you by chance considered that fixing it may cause more problems than it actually solves? Not all software behavior that seems strange is a bug. If its an understood part of the design, and you can work around it easily, then so be it. I would much rather fly on that, than knowing that the engineers had just added in shiny cool year-end date rolloff functionality that may or may not work, as opposed to the current software that has worked near flawlessly for decades. Especially with dates. They may seem simple on the outside, but after having worked in the financial industry for 5 years, I cant tell you how fscked up our calendar system is.

    2. Re:I'm enjoying a little schadenfreude... by SchnauzerGuy · · Score: 1
      I'm not sure what you mean by causing more problems. In these two articles, we have two clear examples of how the poor design/poor programming has caused some significant problems:
      1. Pushing NASA to launch earlier than they would otherwise desire - the software is the causing the problem. It might be an inconvenience or scheduling issue right now, but what if the schedule slips for other reasons (weather, typical Shuttle problem, idiot boater in the safety exclusion area)? How many millions of dollars will it cost NASA if the schedule slips so far that they can't get up and back by December 31? And I'm not even going to go into any speculation about the effect moving the schedule up could have on safety...

      2. The 1999 Hubble servicing mission had to be cut short in order to get the Shuttle back on the ground before the end of the year. Again, the software caused the problem that reduced the effectiveness of the mission and wasted money on an incomplete repair.

      If the Space Shuttle development team is so good and their process is so rigorous, one would think that a serious mission impact bug (or whatever you want to call it) would have been addressed - if not in the past 30 years, at least in the past 7 years since it cut the Hubble mission short.
    3. Re:I'm enjoying a little schadenfreude... by RedWizzard · · Score: 1

      Perhaps the shuttle system specification states that the date should be treated that way. It might the ground based systems that are wrong. It might be that neither system is wrong and it is the specifications for each system that are inconsistent.

    4. Re:I'm enjoying a little schadenfreude... by DerekLyons · · Score: 1
      Granted, the work they do is very impressive and the process is very exacting. But come on...they haven't been able to fix a simple year rollover event in 30 years?!?

      It's not that they haven't been *able* to fix, but that they don't *want* to fix it. Plus, it's not really 'simple' code - Guidance and Navigation both depend on the calendar date *and* Mission Elapsed Time. Thus, you need to rework that code, or plug in an emulator that will translate.
       
       
      As a professional software developer, I have heard on countless occasions about how the Space Shuttle software development process is so incredible, and how all other developers should try to live up their high standards.

      Part of those high standards is to not dig into working code *unless absolutely needed*. Given that there are 342 possible launch dates for a two week shuttle mission that don't violate the end-of-year constraint, and only 13 that do... The extreme conservatism of those standards dicates that you don't mess will the calendar/timekeeping code, and take extreme measures to avoid messing with the vital navigation and guidance code given the low percentage of the time the constraint will actually effect flight planning.
    5. Re:I'm enjoying a little schadenfreude... by camperdave · · Score: 1

      It is part of the standard operating procedures that the shuttle not be in space at year end. Many of the landing fields, tracking stations, etc. close down for the holiday season. From the article: "The shuttle computers were never envisioned to fly through a year-end changeover,"

      --
      When our name is on the back of your car, we're behind you all the way!
  23. In Soviet NASA by Doc+Ruby · · Score: 1

    That's the kind of lame bug we used to joke about the Soviet Union equipment designing.

    --

    --
    make install -not war

  24. If it ain't broke by GreggBz · · Score: 3, Interesting

    So, they made the software so it does not kill anyone. Who needs fancy features like precise yearly timing?

    Seriously, though, it's worked fine. The software has not killed anyone. They can either fix it and modify a very critical system on an enormously complex vehicle, or they can move the launch date around a few days, which they seem to do for every launch anyway. B is probably safer and more predictable.

    1. Re:If it ain't broke by 4D6963 · · Score: 1

      So, they made the software so it does not kill anyone.

      Oh come on, you won't prevent yourself from fixing huge 30 year old bugs for the sake that it hasn't killed anyone.

      Instead of "If it ain't broke, don't fix it" it sounds like you meant "If it doesn't kill anyone, don't fix it". They fix hundreds of much minor bugs in the ISS all the time, a chance they don't apply that philosophy to the ISS.

      --
      You just got troll'd!
  25. Problem seems obvious by Jozer99 · · Score: 2, Funny

    The problem seems obvious. If the shuttle computer is allowed to think it is the 366th day of the year, it will obviously turn evil and try to destroy the earth using the vast orbiting nuclear arsenal, while we sit helpless on the surface. We can't allow this to happen.

    1. Re:Problem seems obvious by QuantaStarFire · · Score: 1

      "On December 32nd, 2006, Skynet became aware and launched a space-based retaliatory nuclear strike against its human enemies."

  26. There's a pointy haired boss that needs sacking by postbigbang · · Score: 0

    After all NASA has done to put satellites into the drink, endanger astronauts, and soak money like LA uses water, you'd think there'd be no embarrassing bugs like this one. Someone needs to be looking for a job flipping burgers.

    I can buy no excuse for something as inane as this. No one takes responsibility any more. There's a project manager that needs to fall on his sword. Or get pushed.

    --
    ---- Teach Peace. It's Cheaper Than War.
    1. Re:There's a pointy haired boss that needs sacking by Ant+P. · · Score: 1

      Yes, how dare an official organisation waste technology like it's air, needlessly endanger its members' lives and suck up money like this!

      Oh wait, that'd be the military.

      NASA does an amazing job, considering it gets less than 1% of the government funding the middle east slaughterhouse gets.

  27. Date/Time Formats by Detritus · · Score: 4, Informative
    The problem is that NASA, and other space agencies, standardized on a date/time format composed of day-of-year (1..366) and time-of-day (UTC). This goes back to the 1960s. In ASCII, the clock looks like "310 04:35.27.642". This date/time format is embedded in a huge amount of hardware, software and standards documents. It's also used for things like countdown clocks and MET (mission elapsed time) clocks.

    The end-of-year rollover depends on the leap year and leap second (if any), and has traditionally been a source of problems.

    --
    Mea navis aericumbens anguillis abundat
    1. Re:Date/Time Formats by crankyspice · · Score: 1

      The problem is that NASA, and other space agencies, standardized on a date/time format composed of day-of-year (1..366) and time-of-day (UTC). This goes back to the 1960s. In ASCII, the clock looks like "310 04:35.27.642". This date/time format is embedded in a huge amount of hardware, software and standards documents.

      That trickled down into other projects, too. Last time I saw it was on an old 8-pin dot matrix printer's logfile output. Most memorable were all the SYSTEM FAILURE entries from Desmond wasn't around to enter the damned code. But so far, it's all working out -- at least, for Ben.

      --
      geek. lawyer.
    2. Re:Date/Time Formats by pease1 · · Score: 1

      This date/time format is embedded in a huge amount of hardware, software and standards documents. It's also used for things like countdown clocks and MET (mission elapsed time) clocks.

      Sure will make it difficult to go to Mars, eh? Sigh.

    3. Re:Date/Time Formats by petermgreen · · Score: 1

      Sure will make it difficult to go to Mars, eh? Sigh.
      Well the launch systems won't be affected.

      The long term space stuff (stuff that actually goes to mars) will be but that will have to be built on totally different tech anyway.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    4. Re:Date/Time Formats by hackstraw · · Score: 1

      The problem is that NASA, and other space agencies, standardized on a date/time format composed of day-of-year (1..366) and time-of-day (UTC). This goes back to the 1960s. In ASCII, the clock looks like "310 04:35.27.642".

      I guess that is why when I program and for other programs that care about dates use their own internal format that can be added, subtracted, etc.

      My personal preferance is time_t format. Databases use a format that is larger to accomodate a wider range of dates.

      Now, regarding the space shuttle, I would assume (and this is a BIG assumption here not knowing the code requirements) that time difference is what is significant, not the actual time.

      Again, at a first glance, I don't see where a space shuttle would care if its January, December, EST, GMT, or whatever, it seems as though the delta is what is important.

      Its always important to pick good datatypes, otherwise you will always be writing code to patch the deficiencies in your datatype choice.

  28. Could it be... dates are hard? by tlhIngan · · Score: 3, Insightful

    Could it simply be that the date is a hard concept? You've got months with uneven number of days in them, including one month that can have an extra day added to it based on a somewhat complex concept (every 4 years, except if it's divisible by 100, UNLESS that year also happens to be divisible by 400). Calculating how many days there are between now and some future date, without using magic numbers? Heck, even software in the 90's couldn't get it right that there was a Feb 29, 2000.

    Every date math equation I've seen has all sorts of wierd magic numbers in them where it isn't clear how those numbers were obtained. This may work just fine in day to day computations, but oddball bugs in date calculations can lead to some very wierd errors. Look at the C library sometime for the date functions. It's quite impressive.

    Perhaps when the shuttles were designed, the inability to schedule across the new year was acceptable to avoid introducing odd bugs in the program to keep the software provably correct. Ground systems, which can be repaired in the middle of a mission easily, can be a little less bug-free, since a miscalculation won't cause the Earth to suddenly veer off course.

    1. Re:Could it be... dates are hard? by Shados · · Score: 1

      Indeed. The date system is all made to periodicaly fix itself to compensate for little details, like the fact that there isn't an integer amount of time the earth spin on itself in the time it takes it to spin around the sun, and a bazillion other details. Its just not worth it. Make 10 freaking month, 3 weeks of 10 days (or something), and thats one year. 1 day has 10 hours of 100 minutes each with 100 seconds. Use round numbers. So for now winter will be on month 5, in a few years winter will be on month 9. Who cares. We already have to use calendars or take out our calculators to figure out certain holidays, daylight saving time's day is different each year... there isn't any consistancy to begin with. Lets just make things simpler and be done with it. The only thing that would get tricky is store open hours and the start and end of a work day, since it kind of has to match with the sun, and thats arbitrary (compared to a fixed system, that is). Anyone has a suggestion on that one?

    2. Re:Could it be... dates are hard? by isomeme · · Score: 1

      That's why you never let date/time components get past the outermost layer of I/O. Internally, everything should be either a Julian Day (or modified JD) for date-resolution values, or an epoch second or millisecond for values of those resolutions.

      I'm astonished that anyone ever builds time processing and storage systems any other way.

      --
      When all you have is a hammer, everything looks like a skull.
    3. Re:Could it be... dates are hard? by Detritus · · Score: 1

      That makes sense, today. The problem is that many systems were designed in the days before cheap and ubiquitous computers. Here's 1162941042 (seconds since epoch) and a handful of transistors. Design a circuit that will display the time in a human-readable format. That's why BCD time formats used to be so popular. They could be decoded with relatively simple circuitry.

      --
      Mea navis aericumbens anguillis abundat
    4. Re:Could it be... dates are hard? by Anonymous Coward · · Score: 0

      Julian Day is nice for 1940 and over, but using them for a "universal" calendar would be a bad idea. It may seems strange, but there are still places for which some people do not agree on when the transition from Julian to Gregorian calendar was made. This means that if your "outermost layer" is updated to reflect a change in the interpretation of a date after it was input, then your date may become wrong. Simply put, storing a date as a Julian Day may be a major source of bugs.

      The only reliable solution for a general date library is to store the date as a text string, exactly as the input was made. You should also save contextual information to say, or at least help your program determine, if the date is from a Julian of Gregorian calendar. If you want to make some calculations on this date (like date + 10 days), you transform the date into a JD only when you do the calculation, not before. Also, if you have to keep the result, you store it as the original text string with the original contextual information plus an indication of the calculation you made instead of simply storing the result. That way, if we later realize that the contextual information was wrong, you don't end up with a wrong date.

    5. Re:Could it be... dates are hard? by Skapare · · Score: 1

      Exactly! There is absolutely no need for civil dates and traditional clock times in a space mission, with the exception of showing things to humans in terms they can understand. Everything should be done absolutely linearly because physics does not follow our strange date and time structures. Even the Julian Day or modified JD is excessive for missions beyond the Earth. The ultimate clock will just be counting a large integer at a standard clocking rate based on a standard epoch.

      --
      now we need to go OSS in diesel cars
    6. Re:Could it be... dates are hard? by Anonymous Coward · · Score: 0

      I think that is a bit stupid. People want to know what the weather will be like for planning events, and also to extrapolate into the future. If I say it is going to be June in the northern Hemisphere, I know it will most likely be sunny, bright and warm from now into whenever the climate takes a dramatic change. I don't want to have to calculate exactly what it will be like outside 10 years from now in month 5 or whatever. The time of day is a HUGE issue as well. it just doesn't make any sense to do it like that.

    7. Re:Could it be... dates are hard? by Anonymous Coward · · Score: 0
      Julian Day is nice for 1940 and over, but using them for a "universal" calendar would be a bad idea. It may seems strange, but there are still places for which some people do not agree on when the transition from Julian to Gregorian calendar was made. This means that if your "outermost layer" is updated to reflect a change in the interpretation of a date after it was input, then your date may become wrong. Simply put, storing a date as a Julian Day may be a major source of bugs.

      You've missed the point.

      The Julian day number (see http://en.wikipedia.org/wiki/Julian_day_number) has almost nothing to do with the Julian calendar.

    8. Re:Could it be... dates are hard? by metamatic · · Score: 1

      Except epoch time has major problems if you ever want to translate back to conventional date/time. Leap seconds are only determined a certain number of months in advance. Hence, if you want to calculate the date/time for an epoch time in the future, or vice versa, you can't do it. Or at least, not if you want all your epoch time seconds to be 1 second long, which I imagine would be pretty important for a spacecraft.

      So epoch time isn't the panacea you make it out to be.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    9. Re:Could it be... dates are hard? by Anonymous Coward · · Score: 0

      No, I didn't miss the point and I know that the Julian Day has nothing to do with the Julian Calendar.

      If you saw a date like "October 27, 1909" from a birth certificate... can you store this date in a Julian Date format ? You could, but the problem is in 1909 there was still a lot of places which were using the Julian calendar... And 1909-10-27 in the Julian calendar is not the same Julian Day as 1909-10-27 in the Gregorian calendar.

      The problem is there are places where we're not sure when the change was made. We may have a definitive answer in the future, but for now we don't know for sure. That's why you have to keep the date as it was input in the system, not as it was interpreted by a DateToJulianDay() function. The algorythm of your DateToJulianDay() function may change in the future and you may end up we a different Julian Day.

  29. a "year" in Space ? by copdk4 · · Score: 1

    I think it would take rocket science to figure out the notion of year, say for example, on moon or mars - so I guess there is reason for 1st Jan being considered as the 366th day.

    1. Re:a "year" in Space ? by Anonymous Coward · · Score: 0

      But then, what is a "day"?

  30. This story is obviously bogus... by drooling-dog · · Score: 2, Interesting

    ...and I'm surprised that so many of the techie gurus around here are buying it.

  31. Oblig. by Maow · · Score: 1
    [...] the whole concept sounds far too ridiculous to stand on its own.

    Ahem.

    You must be new around here.

    Ba-da-bonk.

  32. Hold up, everybody by Alizarin+Erythrosin · · Score: 4, Insightful

    I work with military navigation software, and that is sorta remotely applicable to this. Here's my thoughts:

    You people with your "WTF NASA SUXORS THIS IS EASY FIX!!!11!!1!one!!" need to stop and think for a second. This is a space application that carries HUMAN BEINGS! Think about how hard it will be to get this "easy fix" qualified, proven, documented, etc. Its not an easy task. A formal qualification test on the systems I work on (military land- and air-, but not space-based navigation software) can take months, and require all sorts of tests and documentation. Anything that isn't formally tested (i.e. run in a van, on a plane, etc) must be shown to not fail in any way; all exceptions handled, no bad data can cause an undesireable state, etc. I would hate to see the type of scrutiny that the Shuttle software goes through (although I could probably call somebody in our Space division across the street and find out).

    Second, I don't know exact specifics, but based on the information provided, I think this "glitch" will have to do with the data/time difference between ground stations and the Shuttle computers. Things like message time stamping between the Earth and the Shuttle, etc, will be wrong, and things could be garbled or just dropped all together. The navigation systems themselves should not be terribly impacted since the date will just roll to the next day. Inertial instrument samples will continue to flow in and be correctly time stamped, be it the 366th or 400th or 500th day.

    --
    There are only 10 kinds of people in this world... those who understand binary and those who don't
    1. Re:Hold up, everybody by Anonymous Coward · · Score: 0

      Yeah,but I live next to the grandfather of the guy that washes the car of the boyfriend of the guy that went to space camp. So you can tell I know what I'm talking about. Plus. I once road in a space ship in a kmart parking lot for only a quarter. Based on my information, I'd say their flux capacitor runs on alcohol, which runs low on new years. It should be a simple fix of giving pinball parts to the lybians in exchange for some plutonium to substitute for the lack of alcohol.

    2. Re:Hold up, everybody by Anonymous Coward · · Score: 0
      The navigation systems themselves should not be terribly impacted since the date will just roll to the next day. Inertial instrument samples will continue to flow in and be correctly time stamped, be it the 366th or 400th or 500th day.

      What I don't understand is not why they couldn't fix this... but why does it matter? I mean I can see how it would be no big deal for the count to just continue, but then why do they need to postpone the launch because of it? What difference does it make where our calendar's boundaries are?
    3. Re:Hold up, everybody by Anonymous Coward · · Score: 0

      >A formal qualification test on the systems I work on (military land- and air-, but not space-based navigation software) can take months, and require all sorts of tests and documentation.

      You're talking to the OSS crowd, laddie. Their idea of qualification is that it compiled once successfully before they post it on the web.

    4. Re:Hold up, everybody by rmckeethen · · Score: 1
      I don't know exact specifics, but based on the information provided, I think this "glitch" will have to do with the data/time difference between ground stations and the Shuttle computers. Things like message time stamping between the Earth and the Shuttle, etc, will be wrong, and things could be garbled or just dropped all together.

      Based on your guess, I wondered if the problem could have something to do with leap seconds, since these get added at the end of the year and might not be accounted for in the Shuttle's software. However, the US Navy's time service (actually, an international organization called the International Earth Rotation and Reference Systems Service says that there won't be a leap second addition at the end of 2006. Still, it makes me wonder if the Shuttle computers are simply using a time base that's slightly different from ground-based computers, say using Julian dates and fractions of Julian dates that might get out of sync. due to calender issues at the end of the year. At least, this *seems* like a reasonable explanation. In any case, it would be interesting to know exactly where the real issue is in the software.

    5. Re:Hold up, everybody by djupedal · · Score: 1

      Anything that isn't formally tested (i.e. run in a van, on a plane, etc) must be shown to not fail in any way; all exceptions handled, no bad data can cause an undesirable state, etc.

      but...but...but...

      Anything? As in anything...or just software anything? Anything such as main tank insulating foam perhaps being capable of knocking a large hole in a leading wing edge?

      As I recall, this particular anomaly was tested _after_ the fact. And only then did they come to a realization that their testing-ala-assumptions were way off course. What's not to believe if this malady happens to puzzle-fit into the same kind of mental fly-by?

    6. Re:Hold up, everybody by cowscows · · Score: 1

      Like you said, most of us here aren't qualified to suggest easy solutions, but I'm going to throw out an idea anyways, because it seems like it might work.

      Why not just set both the shuttle computers and the ground control computers to an arbitrary date where this becomes a non-issue? Make them both July 1st, and go from there. The computers don't actually care what the date is, just how they track the passage of time during the mission. And so the astronauts and mission control work on a different calendar for a couple weeks.

      It's likely not as simple as that, but maybe?

      --

      One time I threw a brick at a duck.

    7. Re:Hold up, everybody by Alizarin+Erythrosin · · Score: 1

      Other communication satellites in the sky may be used also during the missions. That type of stuff is way beyond my expertise, so I'll just leave it at that.

      --
      There are only 10 kinds of people in this world... those who understand binary and those who don't
    8. Re:Hold up, everybody by kalidasa · · Score: 1

      Maybe because the shuttle will have trouble navigating because the apparent positions of the earth and sun against the siderial background will not match what the date tells it to expect, so it will assume that the shuttle is out of position? The one thing where you can really screw yourself big time with a bad date is orbital mechanics.

    9. Re:Hold up, everybody by geekoid · · Score: 1

      "... need to stop and think for a second. "

      you had them till there...

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    10. Re:Hold up, everybody by 1110110001 · · Score: 1

      Easy fix doesn't mean it's as easy as fixing something in your typical OSS. Easy means with the given software procedures it should be easier to fix than a bug that may set the shuttle on fire. Both have the same procedures.

  33. Deja Vu by Anonymous Coward · · Score: 0

    So, NASA is partying like it's 1999 huh?

  34. Yeah... by FishWithAHammer · · Score: 1

    I have a hard time finding (if date > 365 then date = date - 365) that difficult of a concept.

    --
    "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    1. Re:Yeah... by imidan · · Score: 1

      Leap years, man. Leap years.

    2. Re:Yeah... by xactoguy · · Score: 1

      And leap seconds. With the shuttle and calculating movement relative to two planetary bodies (the orbits of which can be calculated according to time/date) everything has to be dead-on precise - anything not precise and big, big problems happen.

      --


      And so we go, on with our lives
      We know the truth, but prefer lies
      Lies are simple, simple is bliss
    3. Re:Yeah... by osu-neko · · Score: 1

      Did you used to work for my company?

      I ask because some dumbshit who worked there before I did left some screwed up code behind that failed at least twice a year because he mistakenly assumed days are always 86400 seconds long. Now, you're confused about the number of days in a year, not seconds in a day, but you're making the same error: assuming it's a constant, which it isn't.

      Accurately representing and manipulating time is one of the trickiest programming tasks that confront most programmers, made so tricky by the fact that most of them don't recognize how complex the problem really is.

      --
      "Convictions are more dangerous enemies of truth than lies."
  35. CMMI Level 5 by jvance · · Score: 1

    CMMI Level 5 Waterfall at its finest. Every jot and tittle accounted for, except for the things that were missed.

    1. Re:CMMI Level 5 by DavidHumus · · Score: 1
      And to think this is the level to which we aspire here where I work.

      Our motto is:
      No problem is too big to be ground up into tiny little pieces and crushed under the weight of the paperwork.
  36. Dates? What for? by ozbird · · Score: 0

    Why does the onboard computer need to know the date? To send greeting cards on the astronauts' birthdays? Does a date even make sense when you orbit the Earth several times each day?

  37. What do we call this now? by Skapare · · Score: 1

    A D365 bug?

    --
    now we need to go OSS in diesel cars
  38. Had an argument about similar date arithmetic. by Lethyos · · Score: 1

    I caused quite an uproar with a post to The DailyWTF where I proposed that dates like “September 31, 2005” could be considered the same as “October 1, 2005”. The responses are varied and some of them insightful. Worth a read if this stuff interests you.

    --
    Why bother.
    1. Re:Had an argument about similar date arithmetic. by DRACO- · · Score: 1

      This year in Houston, Tx I was making jokes about it being August 78th in October till it finally cooled off a little bit.

      --
      Consider yourself blessed if you are sneezed on by a dragon and only get wet, it could have been a fireball.
    2. Re:Had an argument about similar date arithmetic. by mmontour · · Score: 1

      There are some who would say that today is Mon Sep 4815 1993.

    3. Re:Had an argument about similar date arithmetic. by Anonymous Coward · · Score: 0

      Our code is full of strange date handling such as this. A large billing and rental system for majority of the worlds telcos. Calculating rental periods and pro-rata and cancellation while trying to align to billing periods etc all with variable settings. It ain't pretty.

  39. Y2K: Reloaded by FoXDie · · Score: 1

    This time. It's personal.

  40. Quick Fix by Anonymous Coward · · Score: 0

    Who's going to tell the 7 astronauts strapping themselves to 7 tons of jet fuel waiting for software to "light the match" that Billy Joe jumped into the code real quick to fix the end of year date problem that's been buggin' us since the 70's? Seriously, those of you who think this is an easy fix and a "couple lines of code" are extremely mistaken.

  41. Re:Dates? What for? by Amazing+Quantum+Man · · Score: 1

    It helps to know where other gravity wells are centered.

    Yes, I am a Rocket Scientist (though, granted, my area is avionics, not GNC).

    --
    Fascism starts when the efficiency of the government becomes more important than the rights of the people.
  42. Lie to the computer about the date? by Anonymous Coward · · Score: 0

    What prevents them from just saying it's Day 1? If the computers already save the number as an integer, surely they don't need to know the exact date. So just lie to the computer. Why not?

    1. Re:Lie to the computer about the date? by antispam_ben · · Score: 1

      Lying to a computer didn't work out well for Dave Bowman.

      --
      Tag lost or not installed.
  43. Julian Day by Anonymous Coward · · Score: 0

    Was Julian Day not around when the space shuttles were built? Basically, its just a day counter from a fixed point in time. Fractional representations handle hours, minutes, seconds, etc. Modified Julian Day subtracts out a fixed quantity, which allows for smaller storage if you're only dealing with modern dates.

    Hell, most ephemeris calculations require you input to be JD/MJD already. This whole year roll over mess would have been averted.

  44. At least they know it's a problem... by jesterzog · · Score: 2, Insightful

    ...which is more than many software development processes would reveal. Chances are that this known restriction is on a check-list which every shuttle mission has to be checked against, and the list would exist precisely because the software development and verification process is so solid and conservative.

    As a professional software developer, I have heard on countless occasions about how the Space Shuttle software development process is so incredible, and how all other developers should try to live up their high standards.

    Opinions vary, but I don't think I'd ever recommend working to the same standards, unless the customer actually had good reason to require it. (NASA does.) Even aside from your own code, doing it properly would require an extensive understanding of any and every third party library and system the code interacts with, which could add orders of magnitude to the development time and cost, even if it's open source and open hardware. I don't like hacks and yucky untested code any more than most people, but at some point it can just make sense to avoid extensive and pedantic formal development processes in favour of just getting it to work.

    A lot of development processes (perhaps most) wouldn't have stopped the shuttle launching, even if this were reported as a bug. Chances are that it'd be forgotten about (if not fixed straight away), and someone would stumble on it again accidentally. Many bugs aren't even reported until someone's stumbled on them at least once. This is fine in most situations. Once it becomes a problem again, you can go and look it up, quickly find out everything that's known about it from before, apply any known workarounds, and spend time to fix it if necessary. The point, though, is that many systems wouldn't be sure to keep you informed about the restriction in a way that actively prevents someone stumbling on it later.

    I still agree that it seems a little strange that this problem wasn't fixed ages ago. Realistically, though, the Shuttle was never expected to fly this long. It sounds a lot like a compromise that was made in the earlier days when computers were more limited, probably even moreso for the restricted range of systems that are certified to work under such conditions. Any update is likely to be very expensive and time consuming, simply because the software development and verification process is so solid and reliable.

    I would say that requiring a reboot every year on December 31 is a pretty huge error. In this case, it is forcing NASA to launch earlier than they otherwise would wish.

    From the article you quoted, it sounds more like they dropped a spacewalk (for Hubble maintenance, probably not safety-critical) so they could return sooner and avoid encountering the bug. To me it sounds like they did what they should have done, with safety as a priority.

    Launching spacecraft is an industry in which the stakeholders usually prepare for possible or likely delays. NASA has to delay launches all the time for all sorts of reasons. I'm not sure why a possible software problem would be treated any differently. If the problem is with the managers dangerously forcing early launches, NASA should really be fixing their managers as a priority over fixing a known bug with a known workaround. Weighing it out, it's probably a lot cheaper, easier and safer to simply delay the occasional launch for a few more days, especially given that the Shuttle's remaining days are limited. Why risk the safety of future launches by making changes that will soon become obsolete?

    Anyway, those are just my own thoughts. I don't work in software development where the process is quite so strict, but I'm sure they know what they're doing when they don't fix something like this.

    1. Re:At least they know it's a problem... by SchnauzerGuy · · Score: 1
      I still agree that it seems a little strange that this problem wasn't fixed ages ago. Realistically, though, the Shuttle was never expected to fly this long. It sounds a lot like a compromise that was made in the earlier days when computers were more limited, probably even moreso for the restricted range of systems that are certified to work under such conditions. Any update is likely to be very expensive and time consuming, simply because the software development and verification process is so solid and reliable.
      I'm not sure about the "never expected to fly this long" part - I can't find any references right now, but I'm pretty sure each orbiter was specified to last for at least 100 missions. And this type of bug isn't dependent on the number of years - it is just as likely to occur at the end of 1981 is it is at the end of 2006.


      From the article you quoted, it sounds more like they dropped a spacewalk (for Hubble maintenance, probably not safety-critical) so they could return sooner and avoid encountering the bug. To me it sounds like they did what they should have done, with safety as a priority.
      There is a rather excellent book called Riding Rockets by Shuttle Astronaut Mike Mullane. In addition to being a great space book, it is also an incredible autobiography of an interesting man. Anyway, I can only imagine the stream of four letter words that Mullane would have yelled if the space walk, which he trained and dedicated years of his life, was canceled because a computer program couldn't handle January 1st...

      Maybe I am having a little too much fun at the expense of the Space Shuttle software developers - for all we know, they had the perfect fix in two weeks and their idiot management decided it was too risky/unnecessary to implement.
    2. Re:At least they know it's a problem... by jesterzog · · Score: 1

      I'm not sure about the "never expected to fly this long" part - I can't find any references right now, but I'm pretty sure each orbiter was specified to last for at least 100 missions.

      Well I can't vouch for its authenticity, but someone who edited Wikipedia claims that "each shuttle was designed for a projected lifespan of 100 launches or 10 years' operational life". I couldn't say whether this is because some components would deteriate too much after 10 years, or after 100 launches, but I guess part of the problem is that the shuttles haven't been launched anywhere near as frequently as the original plans projected, for a variety of reasons. (Budget cuts, accidents, etc). According to that projection, Columbia was more than twice the age of its orignally projected lifetime when it disintegrated on re-entry. (This isn't necessarily a definitive metric, though, given that there have only been two fatal accidents and Challenger was only a few years old when it exploded.)

      Anyway, I can only imagine the stream of four letter words that Mullane would have yelled if the space walk, which he trained and dedicated years of his life, was canceled because a computer program couldn't handle January 1st...

      It's a fair enough comment and I hope I didn't come across as condescending in any way, because I agree that it's a bit silly having a bug like this in a system being used today. I think more than anything, the problems are likely to be related to stretching the programme so far beyond what was intended. What remains is based on some very legacy technology, but probably very critical, given how much I understand the Shuttle's flight ability relies on its computer systems.

  45. textbook case of good software engineerin by eean · · Score: 1

    The shuttle software development process is actually famous. A textbook case of good software engineering. At least a decade ago, it spent the most per line of code of any government software contract. The development documents take up several shelfs of large binders. And it was noted for being almost entirely bug free. I doubt its a hodgepodge of different languages, though it might be I suppose. ...its amazes me that with all their planning they didn't think about a year change.

    1. Re:textbook case of good software engineerin by afidel · · Score: 1

      Which proves that no matter how good the spec, the customer is always wrong about something and will want it changed in the future =)

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    2. Re:textbook case of good software engineerin by Anonymous Coward · · Score: 0

      I'd read that, too. In light of this story, I'm starting to wonder about their definition of "bug"...the Emperor's clothing looks a little translucent.

    3. Re:textbook case of good software engineerin by dctoastman · · Score: 1

      Also, making modifications to the software is a huge process. It is easier to perform workarounds rather than change the code due to the amount of testing they must perform.

      As an example, there is code that will fully manage one of those robotic arm things for the right side of the shuttle. Odd thing is, there is only one robotic arm. On the left of the shuttle.* There are no plans to add a second arm to the shuttle. However, if they were to remove the extraneous code, it would have to go through the entire review process before going into production. It is simpler to ignore the fluff and instead fix the things that could kill astronauts.

      *I may have swapped the left and right in the example. Doesn't matter, the point is the duplication, not my in-depth knowledge of shuttle design.

    4. Re:textbook case of good software engineerin by JetScootr · · Score: 1

      Yes, shuttle does support two robotic arms. The one used is the one that most people use - their right. Using a robotic arm, for a human, has the same "handedness" problems that using flesh-and-blood does. Something about the twixtears software, which is out of contract scope.

      --
      Pavlov wouldn't be so famous if he'd used a can opener instead of a bell.
  46. In other words... by Anonymous Coward · · Score: 0
    The STUDS* will not be HORNY**.

    *Scientists Tensely Updating Date Software
    **Happy On Reaching New Years

  47. In other news... by Venik · · Score: 2, Funny

    In other news: a computer glitch may elect a President.

  48. Coworker created the Jan 1 bug also by Anonymous Coward · · Score: 0

    A very inexperienced coworker of mine created a similar bug in a SQL Server 2000 application. He decided to use an integer to represent the month and an integer to represent the date. He also named tables with an identifier followed by the 3 letter month. A year after the system was in place, all numbers for Feb were suddenly twice as large as usual! Customers were getting billed twice as much. He had managed to create a Y2K bug that happens every year! There should be some kind of award for that. I posted as anonymous for obvious reasons. :)

  49. Date? by camperdave · · Score: 1

    What does the date have to do with controlling a "large flying contraptions that are designed to safely get 7 people 300 miles up, keep them there for a week (or two) and get them home"? Flight control, navigation, etc are all done in real time, not on a calendar basis. The only thing I can think of is maintaining a log, in which case the date doesn't really matter. The log file can be cleaned up on the ground afterwards.

    --
    When our name is on the back of your car, we're behind you all the way!
    1. Re:Date? by jimicus · · Score: 1

      How will you be navigating that large flying contraption? By the time it gets to where you were aiming it, the object you were aiming it has moved. You need some means of keeping track of where your target is now and where you expect it to be when you actually get there - which is inevitably going to be time based.

      Reading between the lines of the summary, I'd say the ground system communicates to the onboard system "on this date at this time, head in this direction". The problem is, past the new year, "on this date" won't make any sense.

      Why they couldn't write the ground navigation systems to just start from day 1 and work upwards, however, I don't know.

    2. Re:Date? by camperdave · · Score: 1

      NASA has had December launches in the past, as late as the 19th of December, so this date reset issue is most likely moot.

      As far as the navigation is concerned, I don't see the problem. (Granted, what I know about shuttle operations could fit on a postcard and still leave room to describe the weather and wish you were here.) Even if there is a "on day n head in this direction" mode, NASA could turn that off and just tell the shuttle crew "head in this direction" manually. Besides, the shuttle is also capable of using GPS, orienting itself via star trackers, rendezvous radar, ground based transponders, and if all else fails, the shuttle crew can sight a few stars manually. Besides, if the date glitch happens, it will be late in the mission, after they have docked with ISS

      In short, I don't think it's a major problem, and that there are ways around it. However I am just making logical guesses, and thankfully people with a lot more knowledge and experience are calling the shots. Hopefully, the shuttle's repacement will not have this glitch.

      --
      When our name is on the back of your car, we're behind you all the way!
  50. duck and cover! by Wizzerd911 · · Score: 0

    omg everyone go out and buy water, jerky, and biohazard suits cuz the world is gonna end when the shuttle flies around madly, crashing into building after building and bringing down the whole infrastructure of the world! This is gonna be Y2k007. That's right, Y2k but with 007 tacked on because that makes everything more intense!

    --
    Is it just me or is it not going to upgrade to Vista in here?
  51. Hard To Believe by LakeSolon · · Score: 2

    I originally found it hard to believe the shuttle hasn't been in orbit over new year's before.

    http://en.wikipedia.org/wiki/List_of_space_shuttle _missions

    The closest I could find was STS-103, the HST servicing mission in '99. Launched December 19th and lasted 7d 23h.

  52. moore's law sadly does not apply to the government by Anonymous Coward · · Score: 0

    (except for the road crews in some places)

    please upgrade or replace the bloody shuttles!

  53. Actually most error free software in the world by Fallon · · Score: 3, Informative

    http://www.fastcompany.com/magazine/06/writestuff. html is a really good read on how the shuttle software is actually made. It's the most reliable software in the world with the most exacting design process.

    How many other groups can deliver a half million lines of code with only 1 error (and no, not this issue. And as far as this being an error or bug, it really isn't. It's a know design restriction on a system that just works. Do you really want to go redesign a large chunk and possibly introduce life threatening bugs, or work within the known design window for the system.

  54. Yhbt, hand. by avtchillsboro · · Score: 1

    We probably won't ever know the real reason why they are thinking of postponing this launch; unbelievable how many /.s accepted this piece of crap. Really, am I the *only one* who remembers previous year's missions that have overlapped the holidays? What; you haven't heard that they have to 'dry dock the ISS every year? Heh. Yhbt; hand.

  55. They're calling this one... by C4st13v4n14 · · Score: 0

    They're calling this one 'Y2Day?'

  56. 1999 by Anonymous Coward · · Score: 0

    from the 1999-called-they-want-their-date-bugs-back dept Speaking on behalf of 1999, the whole blank called, they want their blank back joke ATE MY BALLS.

  57. Date is Critical for the Shuttle by ryanisflyboy · · Score: 2, Interesting

    Why is the date critical to the operation of the shuttle? Do the astronauts forget what day they are supposed to land or something? If the day flips to 366 - so what? Now, do not get me wrong. I'm sure there is a *good* reason why a date rollover to a non-existing day would cause a problem, but I can't seem to find out what that problem would be. Does the computer lock up? Does it loose it's ability to navigate? Does the life support system shut off? Do they even know? Maybe it is a case of 'we don't know what would happen, so rather than find out let's just not do it.'

    Also, from what I understand, there are 4 computers aboard the craft. So, why not reboot one computer at a time to update the date until all are updated?

    I want the cowboy astronauts back. The boys that few Apollo 13 and duct-taped their space craft together and rode it home. I think they are more scientist than hot-shot now-a-days. Kind of a shame, it was the ego driven pilot that sorta made it all romantic in a way, now we send accountants in to space that get freaked out over a little date change procedure.

    1. Re:Date is Critical for the Shuttle by 0123456 · · Score: 2, Informative

      "I want the cowboy astronauts back. The boys that few Apollo 13 and duct-taped their space craft together and rode it home."

      Or maybe not. The Apollo Guidance Computer software had at least one serious issue in flight: the early versions allowed you to run the launch setup program in space and that would reinitialise the Inertial Measurement Unit so it forgot where you were. I believe someone did that by mistake on Apollo 8, fortunately NASA were able to send them the data to load into the computer to tell it where they were and the mission continued without a problem. Later versions had a 'we're in space, don't run program 01' flag to ensure it didn't happen again.

    2. Re:Date is Critical for the Shuttle by MisterPinchy · · Score: 1

      I don't know for sure, but in general, ephemeris calculations rely heavily on time. Now they probably convert everything to a common reference frame, J2000 for example based on January 1, 2000, but I'm not sure. I know we typically worry when our stuff rolls over on the new year due to similar issues. The difference is my stuff doesn't end up flinging astronauts into the ground if its wrong. For those who don't know what it means, ephemeris is used to determine position in space. IANARS (Rocket Scientist), but I work for a bunch of them.

  58. Not to nit-pick, but... by Inoshiro · · Score: 3, Interesting

    "Yeah, you're missing something. Such as the fact that the Shuttle was designed a quarter century ago, "

    I can't believe this was moderated as +5, Insightful.

    The shuttle was designed WELL OVER a quarter century ago. A quarter century ago, they had done some much design and testing, they were able to have the maiden flight (STS-1, Columbia launched in April 1981). Shuttle design and specification requirements analysis began in October of 1968. VMS, CP/M, PC-DOS, and 4BSD did not exist when the Shuttle was designed.

    You must be thinking of Multics, which was the closest thing to a modern operating system that existed in the 1960s.

    Seriously, you have no idea how old the Shuttle design is. I have no idea why they keep using it after the great work done 20 years ago by Richard Feynman who showed that NASA's shuttle design was about 1/100 flights unreliable. For the record, we've sent up 200 missions and had 2 shuttles blown up. The Space Shuttle is a piece of garbage, and NASA has wasted billions exploring low Earth orbit, rather than do something more useful.

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
    1. Re:Not to nit-pick, but... by Anonymous Coward · · Score: 0

      Mod parent up, please.

    2. Re:Not to nit-pick, but... by FatAlb3rt · · Score: 1

      Most complex machine ever built, and it performs in an environment that boggles the mind. And in one fell swoop, you deem it a piece of garbage. I'd ask to see your idea of a worthy space vehicle, but I think I'd have more luck asking you to have another bag of cheetos.

    3. Re:Not to nit-pick, but... by tverbeek · · Score: 1

      You seem to be assuming (for the sake of cranky pedantry) that "designed" is supposed to mean "the year they first sat down to begin work on it". Design work on the Shuttle was ongoing and continually revised through the entirety of the 1970s, with the design "finished" (in fact, they continued to revise it with each launcher that was constructed) not that long before the first launch. Despite the Shuttle's technological limitations, the fleet was not built entirely from 1960s tech (as you seem to be arguing).

      --
      http://alternatives.rzero.com/
  59. Depends on the objectives. by Mr0bvious · · Score: 0

    In my personal opinion, if the following two are true:

    1) implementing what is required to alleviate the deficiencies implied here introduces complexities or logic that may jeopardise a mission; and
    2) not implementing 1 will not pose an unacceptable limitation on the purpose of the system.

    Then this was certainly the right choice.

    If I were a crew member of a shuttle, I'd certainly opt for the limitation and over introducing another factor that may compromise my life.

    I have not had opportunity to consider it, but space travel is a very different domain to what we live in, and to automatically think that earth time is even a suitable time reference for a spacecraft would be somewhat naive. That is not to say that it isn't, but it should a least be considered.

    --
    Never happened. True story.
  60. Should that not be.. by andr0meda · · Score: 1


    "he problem, according to HAL, is that the shuttle's computers do not reset to day one, as ground-based systems that support shuttle navigation do. Instead, after December 31, the 365th day of the year, shuttle computers figure January 1 is just day 366." I mean, I grew up with this guy, this sounds so much like him.

    --
    With great power comes great electricity bills.
  61. Xmas at home by wwwillem · · Score: 5, Funny
    This is not a bug ....

    Imagine you are a member of the shuttle design team and you can make a choice (for the next 20 years) to either know for sure that you're with the kids at home on X-mas and New Year .... or you can suggest a software feature that could result in your New Year's Eve being spoiled down the road because you have to be for days in a dumb control room. Hey, what would you do??

    And I still remember, when I was a kid, that we had that Apollo flight during X-mas. I think it was the one that would for the first time go behind the moon. Someone in the control room that year made it into an important enough person on the Shuttle program so that this WOULD NEVER HAPPEN AGAIN. :-)

    --
    Browsers shouldn't have a back button!! It's all about going forward...
    1. Re:Xmas at home by Buran · · Score: 1

      That was Apollo 8 in December 1968. It was not only the first manned flight to pass behind the Moon (and endure loss-of-signal as a result) but was also the first manned flight to orbit.

      No lander was carried -- just a mass slug that stood in for the LM so that the Saturn 5 would behave normally as it would during later missions. I don't know without checking whether or not the crew practiced approaching the spent third stage -- that task may very well have been left to the crew of Apollo 9 to test (first manned LM test, took place in Earth orbit; that's why some photos of "moon shots" show the LM with the Earth behind it or elsewhere in the frame).

    2. Re:Xmas at home by wwwillem · · Score: 1

      OK, if that was 1968, I was 11 at the time. Yep, the perfect age for a little boy to be fascinated by an Apollo mission. I still remember how I saw it on TV while visiting an old, old (at least in my perspective :) aunt of mine. For a kid she was a bit of a drag, but the good news was, you would get lots of cake, I guess lemonade (don't remember), and the best of all, they had a TV, which we didn't have. :-)

      --
      Browsers shouldn't have a back button!! It's all about going forward...
  62. That's pronounced "design decision" by achurch · · Score: 3, Insightful

    I would say that requiring a reboot every year on December 31 is a pretty huge error.

    I wouldn't. When you're designing something like Shuttle software that has to work absolutely flawlessly 100% of the time, you don't put in any frills. And on something that is only ever in space for 10-15 consecutive days at most, year-end handling is most certainly a frill. (If you are a professional software developer, it ought to be obvious just how many things could break by adding a feature like that. If the original design calls for a monotonically increasing day number, for example, there's very likely to be some code that relies on that, so you have to go through the entire system, checking everything that even touches the day counter to ensure it can handle a reset from 365 to 1--and then check everything that uses those routines, and so on and so on.)

    I suspect this is routine to NASA, and the reporter just blew it out of proportion. After all, Windows can handle end-of-year rollover, so if the Shuttle can't then it's broken, right?

    1. Re:That's pronounced "design decision" by Anonymous Coward · · Score: 0

      It clearly doesn't work 100% of the time .....

  63. In before by Mike+Savior · · Score: 1

    - In before UNIX time, RMS, pirate beards, etc (Just kidding)

    --
    space is pretty cool.
  64. There are other time formats not YDM based by cheekyboy · · Score: 1

    Who said to use a YDM HMS time format?

    I thought most scientists used Julian date system, thats similar to a stardate, ie DAY.SEC from eons ago.

    Infact, dealing with YDM is a pain, and more complex and error prone than JD.

    And how many systems do need to know the date any way? Is it only the CRT displays? What timezone
    is the shuttle in, i assume they use Florida time.

    --
    Liberty freedom are no1, not dicks in suits.
    1. Re:There are other time formats not YDM based by kalidasa · · Score: 1

      They usually use Houston time. Most UNIX computers count seconds from January 1, 1970; Julian dating begins with January 1, -4712 (that's 4713 BC), and is usually counted in fractions of a day rather than seconds. And believe me, if there's one thing the folks who have to write orbital mechanics software would understand, it's simple calendar operations. There's probably some limiting piece of hardware that has a 9-bit date register somewhere in the system and everything else has to harmonize with that.

  65. OLD NEWS: This was on NASASPACEFLIGHT.COM in July by Anonymous Coward · · Score: 0

    Latest of three articles was last week pre-empting this news. Wire services are never first ;)

    http://www.nasaspaceflight.com/content/?cid=4887

  66. See, the shuttle's computers use . . . by Anonymous Coward · · Score: 0

    . . . Imperial time and the ground-based systems use Metric time.

  67. Computer Dating Glitch May Delay Shuttle Launch by RKBA · · Score: 0

    CAPE CANAVERAL, Florida (Reuters) - A glitch in a computer dating system may delay the next space shuttle launch because it erroneously matched the flight director with a sumo wrestling transvestite into S&M. Before the flight director could flee from the encounter, he suffered multiple bruises and contusions that placed him in the hospital. Surgeons are unsure when the flight director will recover, and plans are underway to train a replacement.

  68. A [sorta] Rocket Scientist Replies... by JetScootr · · Score: 3, Insightful

    TFA carefully does NOT say that anything actually will fail, but that something might fail. Thank you, Fallon: your link (http://www.fastcompany.com/magazine/06/writestuff .html) is a good explanation. (However, the "on-board shuttle group" is actually called the "on-board systems group").
    It's like this: A clock rollover (such as at midnight or the last day of the month or year) always sets something back to zero. That resetting is a risk: Is there something somewhere that doesn't take the rollover into account? It may be an obvious bug, or not so obvious - what if the problem is dynamic? For example, what if system A sends some data and rolls over, and system B rolls over and receives the data? Then it looks like stale data, but isn't. How do you test for dynamic conditions like this?
    Dodging this bullet is far, far cheaper than testing for it.
    The only time I know of that a shuttle flight software bug affected a flight was uh...STS 2 or 3 or thereabouts. The shuttle often flies an updated load on one or two of its computers before the load is installed on all of them. On this mission, a new load on one GPC dumped (crashed) at T -9 seconds or so, causing everything to shut down automatically. The shuttle launched a day or two later, after the new load was rolled back.
    Funny thing was, the same bug had occurred in the training simulators before launch, but was written off as a lack of fidelity of the simulator itself, not a bug in the flight software.
    After that, the astronauts really began to appreciate running the real GPCs with the real flight software in the simulators.
    PS: Although I work at NASA, this message is my own expression, and not that of NASA or my employer. I am a programmer only, not anyone with any kind of authority or insight except for my experiences here.

    --
    Pavlov wouldn't be so famous if he'd used a can opener instead of a bell.
  69. Where no man has gone before...before...before by cj5 · · Score: 0, Redundant

    Is it no surprise?! And he we are planning a trip to Mars. What the hell are those poor lab rats of astrtonauts going to do in the middle of space on a trip that takes several months, and January 1st rolls around? Maybe they could pull into that spacecraft garage on the corner of Deimos and Phobos. I did get a chuckle about plugging in the cellphone. I mean, hell, if a lousy machine the size of a pack of cigarettes can do it...

  70. Can't get the date, but... by Anonymous Coward · · Score: 0

    NASA scientiests can't get a simple thing like the date right after 35 years, BUT some scientists there are willing to go on the record saying they know what the weather in 50 years will be like. Yeah, right.

  71. How short sighted can people be? by Mr0bvious · · Score: 0

    Look, Ada, may be great, maybe not, but I very much doubt the implementation language had anything to do with this design decision.

    And, as I have said in a reply elsewhere. If implementing the alluded flaws would introduce unnecessary complexities, that may compromise safety, then it should only be implemented if it is absolutely required.

    I believe this is a very minor limitation for the degree of risk mitigated.

    --
    Never happened. True story.
  72. Actually, the numbers differ by Overzeetop · · Score: 4, Informative

    Actually, the estimated failure rate for the shuttle program was 1 in 35, though the shuttles themselves may have been designed to withstand 100 launch/landing cycles*. This was a bit of an issue when the 25th mission resulted in a failure (since most of the population does not understand statistics).

    And, for the record, there have been 117 launches, according to wiki, which I will take as accurate enough for this discussion (far less than 200).

    *yes, IWAAE (I was an aerospace engineer) working for NASA, and was involved with shuttle payloads and structural reliability analyses.

    --
    Is it just my observation, or are there way too many stupid people in the world?
  73. Is it April 1st and nobody told me? by Assmasher · · Score: 1

    How many PhDs are there involved in the Shuttle program? ;)

    --
    Loading...
  74. Not a bug, a percaution. by Green+Dragon · · Score: 1

    Ever since the Columbia accident, NASA has approached every human flight with extream caution. The article does not say that there is a date roll over issue, it says they don't want to fly with an unknown system responce. This system is not just the launch stack and the orbiter, it is comprised of all the gound support and communications gear. If there is a glitch that crops up while the Shuttle is landing on day 367 and the landing approach hardware is working on day 002, bad things can happen. Why risk the problem? It doesn't cost much to stay on the ground. If they are ready before the 17th, they fly. If they are not ready, they fly a couple of weeks latter.

    I am actually surprised that they have a date on the flight computers. If you look at the schedules, everything is based on flight day numbers and T+ times.

  75. Not a problem with the shuttle by unborracho · · Score: 1

    It sounds to me like this is a problem with the ground computers... not the shuttle computers. The shuttle computers clearly handle things like any other computer does, going to 366 instead of 1. The ground computers on the other hand... who's the moron who thought up that design?

    --
    "You had this look that of an angel, it was such a bad disguise" --Dishwalla
  76. Man, you'd think that... by greenguy · · Score: 1

    NASA would be more leery of computer dating. I mean, really.

    --
    What if I do the same thing, and I do get different results?
  77. Naive... by Anonymous Coward · · Score: 1, Funny

    Is Evian spelled backwards. :p

    1. Re:Naive... by avronius · · Score: 1

      Or the other way around...

  78. TZ by peadot · · Score: 1

    Good thing they don't fly across time zones! Oh wait...

  79. n00b by everphilski · · Score: 1

    As a professional engineer who spends most of his time writing software (Aerospace simulations):

    1) You follow the spec you are given. If the spec says don't worry about end-of-year transitions because we won't be flying over the transition, then you don't code it. You follow the spec you are given.
    2) I would say that requiring a reboot every year on December 31 is a pretty huge error. The shuttle powers down in between flights. For a long time. This is a non-issue. And again, following the spec is not an error. It may be a design error, but it is not a programming error.

  80. You're clearly not a very good SA by multipartmixed · · Score: 4, Insightful

    So, what if, oh, say, the CO2 scrubbers need to work differently depending on how many days the mission has been run. So, they keep track of the first day number, and the current day number. The amount of CO2 scrubbing then is varied based on elapsed days.

    ^^and here's the key -- it's something you don't know about^^

    Now, you make your little 5-second fix, and send seven astronauts into space.

    New Year's Eve rolls around, and suddenly the mission started on day 360 and it's now day 1. Holy crap, says the scrubber, we have to scrub as though it's a 359-day mission, instead of a lousy 6.

    Scrubbers go into overtime, and break. (Or, scrubber math is done in eight bits, and they think the shuttle's still on the ground and not ready to launch for another ~100 days due to integer roll-over. Or any other set of unforseen possibilities.)

    Next, astronauts die of CO2 poisoning because the scrubber subsystem has been compromised.

    Great fix, mister five-second-coder.

    --

    Do daemons dream of electric sleep()?
    1. Re:You're clearly not a very good SA by ab762 · · Score: 1

      Excellent example - mod parent up

    2. Re:You're clearly not a very good SA by Anonymous Coward · · Score: 1, Funny

      "Great fix, mister five-second-coder."

      Give the guy a break. Not everyone can be a NASA software engineer.
      Microsoft needs coders too.

    3. Re:You're clearly not a very good SA by viper66 · · Score: 1

      1 - 360 = -359

  81. OT: recently fixed similar problem on Mars rovers by peter303 · · Score: 1

    Some of the Mars rover software couldnt handle four digit dates, having been designed for 90 days. But the rovers were designed to be reprogrammable and have been updated over a dozen times. Rover Spirit turned 1000 Sols October 25 during solar conjunction (Mars behind the Sun). It becomes radio-visible at the end of this week and is expected to still be working, but in winter-slowdown mode.

  82. Actually, based on the IBM 360 mainframe standard by Rexifer · · Score: 2, Interesting

    If I recall, the shuttle computers were originally based on the IBM 360 (or maybe 370) mainframe architecture standard. The 360 series was the first real effort at standardization of components and instruction set so that upgrading your machine does not mean upgrading your software or peripheral equipment. And like the IBM PC after it, this bit IBM on the ass by allowing an open market to emerge where clones (Amdahl Computers, Hitachi) and third party peripheral manufactures to compete against IBM. (This is where the term FUD originates... Amdahl, one of the original 360 architects who left to found a clone manufacturer, created the term FUD to describe aggressive IBM sales tactics to discredit third parties and intimidate customers into staying with IBM.)

    I have no idea if the flight computers are still the same or not, but NASA long ago ditched their 360 complex for flight operations. (I think it was in use roughly until the mid 80s? Maybe early 90s?)

  83. RTFM .. by rs232 · · Score: 1

    "The shuttle computers were never envisioned to fly through a year-end changeover,"

    "Timing Considerations .. In the HAL/S system, the RTE contains a clock measuring elapsed time ("RTE-clock" time). The time is measured in "machine units" (MUs) whose correspondence with physical time is implementation dependent. HAL/S contains several instances of timing expressions which in effect make reference to the RTE-clock"

    "The true HAL/S concept of a program at run time is an entity executing over some interval in "real time", directed and controlled by a Real Time Executive (RTE). At the outset, the RTE begins execution of the program"

    --
    davecb5620@gmail.com
  84. dates by datasetgo · · Score: 1

    [insert bad joke of rocket scientists not getting "dates" here]

  85. GP is right. NASA programmers screwed up. by Vellmont · · Score: 2, Insightful

    What you've failed to realize is that the flaw isn't so much that they decided to not
    do a rollover, it's that the ground computers do a rollover, and the shuttle computers don't.

    --
    AccountKiller
  86. CMM level 5 by gr8_phk · · Score: 1

    Yeah, whenever someone brings up the CMM, I point out that NASA is CMM level 5 and they managed to smash probes into Mars because of unit conversion issues. This date issue is just another example. NASA does neat stuff, but that is not an indicator of the quality of their develoment process.

    1. Re:CMM level 5 by sparky555 · · Score: 1

      That was a mistake between Lockheed Martin & the JPL.

    2. Re:CMM level 5 by gr8_phk · · Score: 1

      You don't get to CMM level 5 without having a processes to oversee your suppliers...

  87. Moo by Chacham · · Score: 1

    Computer Date Glitch May Limit Next Shuttle Launch

    "Wait. A computer matched her with him? I don't think so."

  88. isn't this sort of thing by dosle · · Score: 1

    what QA testing is for? Wouldn't you want to have mock hardware to run this through on all those weird changing date situations?

  89. No CMMI comments? Are there real developers here? by tacokill · · Score: 4, Informative

    Hundreds of comments and not a single one mentions that NASA is a CMMI Level 5 organization. For those that don't know (and apparently, that's a lot of you), CMMI, aka Capability Maturity Model Integration, is software ENGINEERING methodology for developing processes and technologies around IT systems. It is a very in-depth methodology for developing software and comes about as close to "engineering" as you can get in software development.

    Here is a list of participants in this program.

    And here is a general overview of what CMMI is.

    And just to put it into perspective, when I was last working with CMMI, there were only 3 companies certfied at level 5. Nasa, Motorola, and another one I can't remember. I am sure that has changed but nonetheless, it's a big deal and shows a serious effort to do things in a controlled, measureable, testable, way.

    I only bring this up to counter the ridiculous "solutions" that some have proposed on this site.

    "I can fix that in 3 lines of code".

    Well, great. That might work at YOUR company. But please don't do that at NASA. Despite what many think here, NASA is a top-notch software development house. And I would expect nothing less given what is at stake.

  90. Support by Anonymous Coward · · Score: 0

    It has to be supported doesn't it?

  91. Perfection! by Anonymous Coward · · Score: 0

    it's tailored to do what it needs to do, nothing more, nothing less and it does it perfectly.

    And if you come up with something it can't do, like fly a mission on December 31st, then by definition it doesn't need to do that.

    Yup, perfect!

  92. haha, evidence proves you wrong by geekoid · · Score: 1

    half a million lines of code, 1 bug.

    This isn't a big. If you don't know why, shut your pie hole.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    1. Re:haha, evidence proves you wrong by gx5000 · · Score: 1

      You're right of course, the project management team would see it that way...
      Some bugs are expected, some are show stoppers...in this case..someone made a choice.
      And I'm surprised your pie comment doesn't get you a troll rating...

      Cheers !

      --
      End of Line.
  93. I wonder ... by ShakiirNvar · · Score: 1
    Is it really that hard to add in a few lines of code that pretty much says:

    if (num_days = 366)
    {
    num_days = 1;
    day = 1;
    month = 1;
    year+;
    }

    It wouldn't be too much effort IMO ... but i have never worked with this type of software, so I don't know first hand though.
    --
    "Nobody ever went broke underestimating the intelligence of the American public." - HL Mencken
    1. Re:I wonder ... by deadweight · · Score: 1

      Bet your life? Bet your friends lives too?

  94. Mission Time by PPH · · Score: 1

    Frankly, I'm surprised that the original s/w design didn't ignore dates and use mission time. Count upwards from launch and never roll anything. After all, they're not running a payroll up there.

    --
    Have gnu, will travel.
  95. NASA has changed since Kennedy by sinack69 · · Score: 0

    Face it, since JFK died, NASA hasn't been the same.

    --
    http://www.thirdrake.com - Best Webcomic of all time.
  96. Amazing attention to detail by heroine · · Score: 1

    It's amazing such a fine detail was recognized by the NASA managers. In a typical IT project, details like that are so far down the chain of command and the employee turnover so high, that they just get forgotten or buried.

  97. Re:No CMMI comments? Are there real developers her by dnormant · · Score: 2, Funny

    I think the third one you're thinking of is Dibold?

  98. They did think about it. by camperdave · · Score: 1

    They did think about it, and plan for it. From the article: "The shuttle computers were never envisioned to fly through a year-end changeover,"

    No shuttle has ever been in space over the year end, and this one won't be either. I don't know why the fuss now, with only a dozen or so more flights left.

    --
    When our name is on the back of your car, we're behind you all the way!
    1. Re:They did think about it. by flappinbooger · · Score: 1

      To the media, this smells like a Y2k kind of "bug" and that makes it "interesting".

      --
      Flappinbooger isn't my real name
  99. Home is... where exactly? by yar-de-yar-de-yar · · Score: 1

    Given that the shuttle orbits Earth something like sixteen times a day, does the concept of "year-end changeover" actually have any meaning to it? Just which timezone would be used to keep track of the date? If it's the "local" zone, then that "simple fix" had better be able to switch the date backwards and forwards every ninety minutes whenever the ship slides across the International Date Line. But if the relevant time zone is that of Mission Control, no matter where in the world that is, then it sounds as though the whole concept of date or time of day is pretty much irrelevant: surely it's only the number of seconds since takeoff that matters. And if that's the case, then it sounds as though the shuttle's software is designed perfectly: it's the ground-based systems, with their convoluted, irrelevant and incompatible "year-end changeover" functionality that are the problem...

  100. Hey, you neither! by multipartmixed · · Score: 1

    There is a buffer overrun bug in your usenet/rfc822 dates in C page.

    May I suggest using a "sizeof(buffer)" construct, rather than "50" as the second argument to strftime? Especially when your buffer is only 30 bytes long as is from alloca() memory. Sizeof is totally portable, right back to K&R-ANSI-draft at least. More portable than strftime!

    It is potentially exploitable because you are not checking the locale before calling strftime(). The formatting of strftime() varies based on locale rules and so forth. For example, %a will yield "Mon" in english, but "Lun" in french.

    So, actually, by not flipping explicitly into the C locale, and tzset()ting to GMT, your example is incomplete. I'm fairly certain that both 821 and 1123 explicitly call for date headers to be in english.

    Boy, I'm a pedantic pain in the ass, aren't I? Just one of those days, I guess, eh? :)

    --

    Do daemons dream of electric sleep()?
    1. Re:Hey, you neither! by ab762 · · Score: 1

      Code review is good. Date code is notoriously slippery... I've addressed the points raised.

  101. AOL and Endless September by antispam_ben · · Score: 1

    "Endless September" technically ended last year, as these articles state:

    http://news.com.com/AOL+shutting+down+newsgroups/2 100-1032_3-5550036.html
    http://www.metafilter.com/mefi/38978

    However, AOL users discovered the "Google Groups" interface to Usenet newsgroups, and there are surely more clueless AOL users (sorry for the redundancy) posting to Usenet through Google than there were posting "directly" to Usenet through AOL's interface in 1993. Thus, your date of "Monday, September 4815, 1993" is more-or-less correct.

    It's fortunate that (AFAIK) no Usenetian has ridden on the Space Shuttle - his or her insistence that the date is always a day in September 1993 would have been too confusing for all others involved.

    --
    Tag lost or not installed.
  102. In Soviet NASA by Anonymous Coward · · Score: 0

    the bug rolls over you!

    m10

  103. No, you can't say that without more details. by achurch · · Score: 1

    I haven't failed to realize it, I simply don't have enough information to make a judgment one way or the other. It's equally possible that those computers are used for more than just interfacing with the Shuttle, and those other uses require a rolling-over date counter. Again, this comes down to the criticality issue: it's far more important that the Shuttle systems remain in working order than that those on the ground do, and the designers may have decided that it simply wasn't worth the risk of trying to implement rollover on the Shuttle systems, whereas the ground systems needed rollover for e.g. data logging. Without knowing more about the systems, you can't just go and say "they screwed up"--that would be like blaming a toaster maker because the toaster shorted out when you put it in the bathtub: it's simply not designed for that.

  104. But does it run Linux? by SonicSpike · · Score: 1

    But does it run Linux?

    --
    Libertas in infinitum
  105. Re:No CMMI comments? Are there real developers her by Anonymous Coward · · Score: 0

    The NASA Software Engineering Requirements for your review.

  106. change the date? by fredrik70 · · Score: 1

    hmm, I'm sure someone else must have writtend this and I'm sure I'm missing something.
    Why not just change the date on the shuttle to say, July or something? is there any need for them to be sycned to the actual current date?

    --
    if (!signature) { throw std::runtime_error("No sig!"); }