Slashdot Mirror


NASA Avoids "Happy New Year" On Shuttle

ClickOnThis noted that NASA is actually avoiding a Shuttle in Space over New Years. It says "The worry is that shuttle computers aren't designed to make the change from the 365th day of the old year to the first day of the new year while in flight. NASA has never had a shuttle in space December 31 or January 1. 'We've just never had the computers up and going when we've transitioned from one year to another,' said Discovery astronaut Joan Higginbotham. 'We're not really sure how they're going to operate.'" You may notice some deja vu while reading this story. Sorry. Not much happens on Sundays :)

181 comments

  1. So.... by Anonymous Coward · · Score: 4, Funny

    they have a Y2* bug?

    Thank you, thank you, I will be here all week. Be sure to check out our Safari bingo!

    1. Re:So.... by Wiarumas · · Score: 1

      Beware of Y27.

      --
      I will bend like a reed in the wind.
    2. Re:So.... by Wiarumas · · Score: 1

      Err.. maybe a Y2K7 :x

      --
      I will bend like a reed in the wind.
    3. Re:So.... by From+A+Far+Away+Land · · Score: 1

      It's too bad they didn't think to just set the clocks back a couple months ;-)

      But then when they surf to a website on the shuttle, it might tell them that the cookie has expired.

      It's a problem they should fix, so that they can actually launch in an "emergency" situation.

    4. Re:So.... by kimvette · · Score: 2, Interesting

      There may be problems introduced into navigation systems by setting the clocks wrong.

      However: shouldn't they be able to test this in simulators?

      --
      The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
    5. Re:So.... by sam1am · · Score: 1

      Year N+1 bug?

  2. Nasa shuttle software designed by Taco ;) by LiquidCoooled · · Score: 5, Insightful

    In reality isn't this a design limitation rather than a bug in the implementation?

    --
    liqbase :: faster than paper
    1. Re:Nasa shuttle software designed by Taco ;) by sentientbeing · · Score: 1

      I never thought space flight was so complicated.

      Nasa is right. Maybe we should all just stay here on the ground.

      --

      ------
      beware he who would deny you access to information, for in his mind he dreams himself your master
    2. Re:Nasa shuttle software designed by Taco ;) by stunt_penguin · · Score: 2, Funny

      Pfft, 365 days should be enough for anyone.

      --
      When the posters fear their moderators, there is tyranny; when the moderators fears the posters, there is liberty.
    3. Re:Nasa shuttle software designed by Taco ;) by Iron+Condor · · Score: 2, Insightful

      In reality isn't this a design limitation rather than a bug in the implementation?

      It is. It was a deliberate choice to do things this way when the system was conceived of. Ignore the retards who keep calling this a "bug".

      Every last little detail of spaceflight depends on reliable timekeeping. Quick: you want to talk to Houston and ... where is Houston right now? How do you have to adjust your antenna and how do you have to move it per second to create a reliable link? There's just so many things that require knowing where everything is at what time that clocks are NOT something anybody wants to tinker with. Imagine the headlines if the cooling system was pointed at the sun rather than away from it because the computer had the time off by a couple minutes. And the shuttle overheated and killed everybody. All of slashdot would fall over each other telling us how "easy" it is to keep a proper clock running.

      When the lives of people are dependent on a million-and-one decisions all of which have to be timed correctly, you don't lightly tinker with the clocks. If a valve has to be opened once a day, you don't just reset the "day" counter back from 365 to 1. That's just retarded. You need to be able to rely on the fact that it is exactly one hour later now than it was an hour ago. And not suddenly 364 days and 23 hours earlier.

      If someone designed a schoolbus and said "well, this design means we're not going to use it on New Years", nobody would think anything terrible about it. Nobody would call it a "bug". But that's what the shuttle was supposed to be: a shuttle. Something that goes up, delivers a couple folks and some equipment. Then return. So you'd avoid shuttle service during one day of the year. What's the big whoop? Why do peaople call this a "problem" or a "bug"?

      The designers of the shuttle decided that they could avoid all kinds of costly and dangerous complications by not flying through the end of a year. And? This is a civilian transport vessel, fer cryin' out loud. Where is the so-called "problem" here?

      --
      We're all born with nothing.
      If you die in debt, you're ahead.
    4. Re:Nasa shuttle software designed by Taco ;) by TheShadowzero · · Score: 1

      Neither. It's a feature!

      --
      If history repeats itself, why can't we study the future?
    5. Re:Nasa shuttle software designed by Taco ;) by LoonyMike · · Score: 1

      This isn't an implementation bug, but i'd sure label it as a design bug.
      How hard would it be to use an absolute clock - "stardate ..." - on the shuttle, instead of our earthly dates that wrap once a year? Heck, the hours also wrap every day and there is no limitation that shuttles must not be out there between 23:59 and 00:01!
      In a technology as advanced and as expensive as this one, the omission of a requirement for proper time handling, free from the "problems" we have down here, is definitely a bug.

    6. Re:Nasa shuttle software designed by Taco ;) by JunkmanUK · · Score: 1

      Absolutely right. It's a design flaw - which is probably more serious and costly to fix than a bug.

      For a space agency which is meant to be looking to the stars and beyond this seems to be a ridiculous limitation.

      You'd expect the whole mission schedule to be based on time increments from the moment of launch and not something as arbitrary as "time as defined within the confines of a small spinning globe near Mars". Leave the translation into local time to the public relations teams - they and the media are the only people interested in knowing that the rocket left the atmosphere at 13:03 GMT...

      "Under some weird circumstance ... if we have an 'Oh my god,' and we have to be up there, I am sure we would figure out a way to operate the vehicle safely," - Yes... that would fill me with confidence if I were on board...

  3. Simple! by aerthling · · Score: 1, Funny

    if ($day >= 365 && !$leapyear) {
    $day = 1;
    }

    1. Re:Simple! by LiquidCoooled · · Score: 4, Insightful

      How many places would you have to put that code in and could you be sure it will work?
      How do you know the leapyear code works?
      Wouldn't your code have to do a year++ line?
      Does it matter which direction they are travelling, is it not possible to technically flipflop between one year and the next based on where you are flying over?
      What will happen to systems if the day variable is less than the previously stored one, will it cause the ship to flip out and attempt a burn?

      Too many factors, nasa is right at the moment.

      --
      liqbase :: faster than paper
    2. Re:Simple! by Splab · · Score: 1

      Just like this quick fix huh?

      Hope you guys never program anything I drive/fly!

    3. Re:Simple! by Doc+Ri · · Score: 2, Informative
      Does it matter which direction they are travelling, is it not possible to technically flipflop between one year and the next based on where you are flying over?
      I do not know, but I would assume the mission time is always the same time zone. Possibly GMT.
      --
      617B3B7F7E7C7D7F00EOF
    4. Re:Simple! by evilbessie · · Score: 2, Insightful

      actually not that simple more like if ($day > 365 && $leapyear = 0){ $thisday = $day - 365 }elsif($day > 366 && $leapyear = 1){ $thisday = $day - 366 }else{ $thisday = $day } Your code has every day of any year that is not the first (and december 31 of the first year as you used >= 365) as day 1...

    5. Re:Simple! by Almighty+Tallest · · Score: 1

      Yeah, this is a multi-milllion dollar vehicle that hurls humans into space, and is supposed to bring them back again. Not something you can just slap a fix on and test in a live environment.

    6. Re:Simple! by LiquidCoooled · · Score: 1

      I would say no, they would have to run everything through in realtime.
      If you just jump into code without the stack in the correct state you will get invalid results.
      Try it sometime by just jumping into some random working code and see how many things fuck up.

      --
      liqbase :: faster than paper
    7. Re:Simple! by Anonymous Coward · · Score: 0

      "$day >= 365" ???
      Greater than or equal?

      So the last day of the year is skipped?

      I sure hope you don't get a job as a NASA programmer.

      Although I'm sure php-skills isn't really required programming shuttle software.

    8. Re:Simple! by aerthling · · Score: 1

      Yeah, I know.. my code sample does completely suck. However, since Slashdot's fancy new Web 2.0 redesign doesn't include any comment-modification capabilities, I'm holding them partially responsible.


      ;)

    9. Re:Simple! by hotdiggitydawg · · Score: 4, Insightful
      if ($day >= 365 && !$leapyear) {
      $day = 1;
      }
       

      How do you know the leapyear code works?

      It doesn't, in the sample provided anyway. If $leapyear is true, $day never gets set back to one...

      In any case, they already need to contend with uneven numbers of days in each of the various months anyway, and have to contend with leapyears every February 29th. So they're already (successfully) dealing with incrementing days, and months. I fail to see how they can't cope with years as well... C'mon, this is NASA and it's not the 1970's any more.

      Once space travel approaches the speed of light I'll start to buy excuses about the difficulties of tracking time. Until then, sorry - No Sale.
    10. Re:Simple! by cucucu · · Score: 1

      Your code is to risky. You have to maintain it, write unit tests, use test coverages suites, check the code is being covered.

      A better risk containment policy is to synchronize all on board clocks to January 1st 1970 before takeoff.

    11. Re:Simple! by john83 · · Score: 1
      Oh, sure. Then
      air_remaining = total_air - air_const*(today-start_day);
      if (air_remaining < 0.1*total_air) sound_alarm();

      Good luck with that.
      --
      Strange women lying in ponds distributing swords is no basis for a system of government.
    12. Re:Simple! by cyber-vandal · · Score: 1

      You should really have known better than to post a hastily thought out code snippet in this nest of pedants.

    13. Re:Simple! by @madeus · · Score: 3, Insightful

      Too many factors, nasa is right at the moment.

      I am concerned that you think this issue is really a big problem. I am very worried if NASA thinks this is a big problem too - especially after all these years. While you don't want to underestimate potential problems like this, handling something as trivial as a date change is hardly 'rocket science' by NASA standards. Banks, financial institutions, air traffic control and military and emergency services systems handle this sort of thing just fine.

      The reality is that decent testing procedures make issues like this routine to handle, and of course you set out a documented roll back procedure if something goes wrong (and list post-change checks to perform to see if something did go wrong or not). NASA have the ability to easily replicate the conditions for a test like this on the ground. If you didn't test a scenario like this on the ground and it was really a problem, there is no reason why it couldn't just as easily seem to work fine, but then only cause problems once the systems were up in the air.

      I really can't believe the justification for not doing missions over Christmas and New Year is fear of a potential technical problem, even if it is a quote from Joan Higginbotham (who is evidently very experienced and ought to know a lot more about than this than I do). I can't see any reason why they couldn't easily have tested this on the ground (and would be surprised if they hadn't tested this sort of thing as part of Y2K compliance evaluations).

      I am inclined to think the real reason they don't like doing missions over the Christmas period has a lot more to with culture and staffing issues (what with everyone bound to want time off), rather than them being worried their code is that much shonkier than the software that powers our electricity grids, phone lines, air traffic control and avionics systems that all run happily over the New Year period.

      I suppose another possibility is that NASA is tangled up in bureaucracy and is so risk averse now that they feel they can't do something like this without a great deal of highly formalized testing - which they don't have the budget to do.

      I once had the honour of speaking briefly to an astronaut from space on Skylab 4 (he is one of NASA's ASF speakers I think, I have is details somewhere - I think it was either Gerald Carr or Edward Gibson but I couldn't be 100% certain) and I ask him a question relating to when, in his opinion, we might realistically expect to see a manned mission to Mars and where, back in the 70's, he had expected us to be now in 2001 (this was in the November after 9/11).

      As I recall, he said he had expected us be on Mars already and he seemed almost annoyed and was just barely perceptibly emotional that this wasn't the case (I got the impression he response made the NASA PR representative near by unconformable because they started fidgeting). While trying to avoid being insensitive I asked him why he thought we weren't there yet, and - after pausing briefly - he said the primary reason was a lack of investment and a lack of political will, he was quite emphatic on insisting that he thought we absolutely had the ability to undertake a manned mission, if their was enough political will and sufficient investment was made.

      I'd never really thought about it before, but the state of the current current space programme must be a big disappointment for those who did so much pioneering work in the 60's and 70's. We have greatly superior technology and there is plenty of money flowing around elsewhere but NASA only seem to be able to scrape by, keeping things ticking over (not that they arn't trying - stuff like the SRB separation video, the NASA TV podcast and the website are all good things IMO).

    14. Re:Simple! by LindseyJ · · Score: 1
      Although I'm sure php-skills isn't really required programming shuttle software.

      But the ability to speak and write proper English just may be.
    15. Re:Simple! by Detritus · · Score: 1

      Your code can fail in various unpleasant ways if it is preempted by an interrupt or task switch, or runs on a multi-processor system.

      --
      Mea navis aericumbens anguillis abundat
    16. Re:Simple! by hey · · Score: 1

      Beside the comments that you have a bug in non-leap years (ie most years) this might have
      a problem because some function might compare days and would be confused if time started to back up.
      So it would be better to never move it backwards. ie allow day 366, 367, ...

    17. Re:Simple! by Anonymous Coward · · Score: 0

      ... and have to contend with leapyears every February 29th.

      Not EVERY February 29th, only once every four of them!

    18. Re:Simple! by LiquidCoooled · · Score: 1

      There is a flaw in your logic as well...

      --
      liqbase :: faster than paper
    19. Re:Simple! by Anonymous Coward · · Score: 0

      Erm. No. No it wouldn't. Not in a system designed by people without a crack habit. You're trying to be smart.

      Slashdot - Masturbation for nerds.

    20. Re:Simple! by electrosoccertux · · Score: 1

      Oh its a far greater problem than you or I could have imagined. NASA is also afraid of Fridays that are the 13th day in the month, and is afraid of Dec 24th. You never know when the Grinch might steal Christmas.

    21. Re:Simple! by DerekLyons · · Score: 1
      n any case, they already need to contend with uneven numbers of days in each of the various months anyway, and have to contend with leapyears every February 29th. So they're already (successfully) dealing with incrementing days, and months.

      Actually - they aren't. The Shuttle software has no conception of anything but $DaysSinceLastNewYear and $SecondsOfFlight. (Used mostly to support navigation and guidance functions.)
       
       
      C'mon, this is NASA and it's not the 1970's any more.

      Guess when the basic specifications of the Shuttle software were written and version 1.0 released? (That's right - the 1970'.) And utterly unlike virtually any other software house - NASA doesn't dick with code that works (as their date/time keeping does, except for this one minor limitation).
       
      Once space travel approaches the speed of light I'll start to buy excuses about the difficulties of tracking time. Until then, sorry - No Sale.

      That's a reflection of your level of knowledge, not of reality. Keeping time in a hard realtime RTOS is hard. Doing so in a distributed fashion is even harder. Doing so in a synchronized fashion is harder still.
    22. Re:Simple! by hotdiggitydawg · · Score: 1

      I knew that one would catch someone out ;-)

    23. Re:Simple! by hotdiggitydawg · · Score: 1

      Hard, yes. Impossible, no. NASA have a huge budget, and enjoy the reputation of being the best and brightest. They've conquered problems of the most amazing difficulty. Not being able to fly because their systems can't cope with the year changing a digit sounds like a truly pathetic excuse in that context.

    24. Re:Simple! by THE+anonymus+coward · · Score: 2, Informative

      Mission time is based on Houston Time.

      --
      I guess thats all I have to say.
    25. Re:Simple! by cheater512 · · Score: 1

      What if $leapyear is undefined?

    26. Re:Simple! by cheater512 · · Score: 2, Insightful

      Hey these are Americans! Why would they use London time? ;)

      The shuttles probably run off American Eastern Standard Time.

    27. Re:Simple! by Anonymous Coward · · Score: 0

      What kind of coder are you? The elegant solution is:

      if ($day > 365+$leapyear) $day = 1

      You are NOT hired.

    28. Re:Simple! by cheater512 · · Score: 1

      And you see pretty fireworks when computer code has a bug in it.

    29. Re:Simple! by Detritus · · Score: 1

      Buy yourself a book on concurrent programming, and read it.

      --
      Mea navis aericumbens anguillis abundat
    30. Re:Simple! by dotgain · · Score: 1
      Editing posts is bad.

      If you're lucky enough to find some sort of intelligent debatye on a phpBB, you'll know why.

    31. Re:Simple! by smitty97 · · Score: 1

      well duh, thats why they use Stardates in the future! Days and years just get things confused.

      --
      mod me funny
    32. Re:Simple! by Montaro · · Score: 1

      I don't see why they can't power the damn thing up, set the clock to Dec 31st 23:59:59, wait a second or two and then see what actually will happen?

      I think I just qualified to be on the lead nasa dev team by that comment. oh the logic of it all!

    33. Re:Simple! by lordmatthias215 · · Score: 1

      actually, NASA's budget isn't really that large in the long run- hence using the same spacecraft over and over since the 1970's. And they can't afford to change up their programming to account for something like year changes (which they can simply dodge by not running missions at New Year's), and have some unforseen bug arise in the program and destroy another shuttle. Not only would it cost the lives of more of our nation's "best and brightest," but it would likely be the last straw in an already rickety relationship between Capitol Hill and NASA, spelling the organization's end. It's a shame, but politicians seem not to realize the potential space offers for everything from communication to defense and the like.

    34. Re:Simple! by jlarocco · · Score: 1
      Hard, yes. Impossible, no. NASA have a huge budget, and enjoy the reputation of being the best and brightest. They've conquered problems of the most amazing difficulty. Not being able to fly because their systems can't cope with the year changing a digit sounds like a truly pathetic excuse in that context.

      NASA's budget isn't infinite. They'd have to find all the affected code, change it, document it, then regression test everything. That would be incredibly expensive.

      The alternative is to simply avoid December 31st and January 1st. That costs nothing, doesn't risk breaking code that works, and has worked for over 20 years.

      It's just not worth changing everything for something that happens so infrequently.

    35. Re:Simple! by DerekLyons · · Score: 1
      Not being able to fly because their systems can't cope with the year changing a digit sounds like a truly pathetic excuse in that context.

      If it were that simple - you'd have a point. But as I pointed out in the message you replied to - the Shuttle doesn't even know what year it is. You can imagine how highly I rate someones opinion of NASA who has the lack of reading comprehension you display.
    36. Re:Simple! by Anonymous Coward · · Score: 0

      Don't have much to do, huh?

    37. Re:Simple! by Anonymous Coward · · Score: 0

      Your post is of course a fine example of time better spent.

  4. Dupe by suv4x4 · · Score: 4, Insightful

    Verdict from last time:

    No they can't run linux, linux is not something you use to fly a shuttle with people in it, can't support the hardware and it was written 30 years ago.

    And no, it's not easy to fix bugs in a piece of software like this.

    1. Re:Dupe by antifoidulus · · Score: 5, Funny

      Shhhh!! You will destroy our smug sense of superiority with your facts!

    2. Re:Dupe by the+linux+geek · · Score: 1

      http://flightlinux.gsfc.nasa.gov/ It seems indicated that they do indeed run Linux.

    3. Re:Dupe by Ulky · · Score: 1

      I thought they ran something which used the QNX RTOS kernal?

    4. Re:Dupe by Detritus · · Score: 1

      No. They run a custom software package that is known as PASS (Primary Avionics Software System) or PFS (Primary Flight System). It's a real-time system that was written for NASA by IBM.

      --
      Mea navis aericumbens anguillis abundat
    5. Re:Dupe by cheater512 · · Score: 1

      QNX is a little too new to have been around in 1970.

      No they dont use Linux either.

    6. Re:Dupe by accessdeniednsp · · Score: 1

      The shuttles were designed 20 years ago, based on technology from 10 years prior to that. I think they should be a perfect fit.

  5. Subscribe to Slashdot and see the next dupe early! by jginspace · · Score: 1

    Computer Date Glitch May Limit Next Shuttle Launch - exchange Reuters article for CNN article.

  6. Riiight by TodMinuit · · Score: 1, Insightful

    You have got to be kidding me. You can fling a rover somewhere in the direction of Mars and somehow hit it, model how the sun works, and take pictures of the center of the galaxy, but we don't know what will happen when the shuttle moves from one year to the next?

    This has to be a cover up of some kind.

    --
    I wonder if I use bold in my signature, people will notice my posts.
    1. Re:Riiight by ceejayoz · · Score: 1

      Even more unbelievable: they can't just set the Shuttle computers' date forward to 31 December 2006 and see what happens.

    2. Re:Riiight by bentcd · · Score: 1

      Well, it's one thing to record what happens when the shuttle sits snugly on the ground. I expect it's another thing entirely what happens when the shuttle is in orbit, busy calculating trajectories, and firing alignment boosters when the date suddenly flips (or not).
      I expect they'd have to run a relatively expensive simulation to find out how, exactly, the shuttle would perform in actual operating conditions in this case.

      --
      sigs are hazardous to your health
    3. Re:Riiight by gad_zuki! · · Score: 1

      None of those things means failure = human death. Testing something that people fly in is a lot more complex than 'set the clock to midnight and see what happens.'

    4. Re:Riiight by Anonymous Coward · · Score: 0

      The control software of the shuttle fleet dates from the 1970's. A bit older than the rovers.

  7. Test case by Petronius.Scribe · · Score: 1

    What a great chance to find out. Go on... give it a go.

    1. Re:Test case by pedantic+bore · · Score: 1
      Indeed. They don't even need to launch the thing in order to find out. They just need to leave the computer running. Given the way they test these things, I'm sure they don't need to actually light the rockets in order to simulate a launch.

      Maybe the hard part is finding a NASA engineer with nothing better to do on New Years Eve than see whether some counters roll over or not.

      --
      Am I part of the core demographic for Swedish Fish?
    2. Re:Test case by cheater512 · · Score: 1

      Or they could just change the time manually so the NASA engineer with nothing better to do can be reading Slashdot on New Years.

    3. Re:Test case by pedantic+bore · · Score: 1
      In order to do that, they'd have to figure out where all the clocks are -- which, from the sounds of it, is a big part of the problem.

      It all does seem like something that shouldn't be all that hard to debug, and yet the story keeps coming around. Maybe it the NASA version of an urban myth.

      --
      Am I part of the core demographic for Swedish Fish?
  8. because it's too damned hard to .... by Lumpy · · Score: 2, Interesting

    ...sit in one on the ground and have it turned on that night. What the hell is wrong with NASA? They dont have any shuttles sitting where they can have some CS guys sitting in it over the new years event to see what happens?

    That is absolutely insane that they do not know what will happen, so they have not bothered to take a few moments and find out over the past 18 years.

    --
    Do not look at laser with remaining good eye.
    1. Re:because it's too damned hard to .... by HaloZero · · Score: 1

      Freakin, spin the clock ahead to Dec 31, 2999 and see what happens.

      --
      Informatus Technologicus
    2. Re:because it's too damned hard to .... by eldavojohn · · Score: 3, Interesting
      sit in one on the ground and have it turned on that night.
      I agree with you but it's not even that hard to do. I mean, they should have test cases and simulation already to test the software, you'd think they could devote some of their time to have someone simply set all the clocks on all the hardware for the time of that night's transition ... or point the software at an NTP server and set that to the time it transitions.

      No need to make some poor souls work on New Years ...

      You really shouldn't even need to sit one on the ground given you've got thorough enough testing and integration set up. I would certainly hope they do. If there's ever been a time to actually follow the book on testing, it's when human lives hang in the balance while the software's in action (pacemakers, nuclear power plants, etc).
      --
      My work here is dung.
    3. Re:because it's too damned hard to .... by Barnoid · · Score: 1
      They dont have any shuttles sitting where they can have some CS guys sitting in it over the new years event to see what happens?


      consider that they don't even have to have a guy sitting in over the new years...it shouldn't be too hard to set the date to Dec 30 on a normal Monday morning and watch the transition the next day.
    4. Re:because it's too damned hard to .... by ZeroExistenZ · · Score: 0
      That is absolutely insane that they do not know what will happen, so they have not bothered to take a few moments and find out over the past 18 years.

      They're afraid of undocumented features, fe. the firework-mode.

      --
      I think we can keep recursing like this until someone returns 1
    5. Re:because it's too damned hard to .... by Rostin · · Score: 4, Insightful

      It's probably a little harder than you think. If the space shuttle were MS Notepad, your idea would probably work without a hitch. We'd start it up, wait for the new year to roll over, and then test to see if we could still type and a save and open documents. Test done.

      The space shuttle is monumentally complicated. It's controlled by multiple computers. Test cases aren't just typing some stuff in and clicking on a few menus. The computers are hooked up to instruments and relays and motor controllers, and all of that would probably have to be convincingly "faked" for the test to be rigorous.

    6. Re:because it's too damned hard to .... by TorKlingberg · · Score: 1

      I don't think it's as simple as the whole system crashing when passing new year. More like if some course correction rocket is fired a millisecond before midnight, and is never turned off.

    7. Re:because it's too damned hard to .... by TorKlingberg · · Score: 1

      "course correction rocket"

      That would be a maneuvering thruster. Sorry for sloppy writing.

    8. Re:because it's too damned hard to .... by espo812 · · Score: 2
      you'd think they could devote some of their time to have someone simply set all the clocks on all the hardware for the time of that night's transition
      This requires resources (time, money, and effort.) A lot of federal agencies, NASA included, don't have a whole lot of resources so they have to prioritize work for the most bang for the buck. This activity probably hasn't made the cut.
      or point the software at an NTP server and set that to the time it transitions.
      First RFC on NTP: 18 April 1981. First space shuttle flight: 12 April 1981. NTP wasn't invented (or at least standardized) when the shuttle was designed or even built. I'm guessing it isn't implemented on the shuttle.
      --

      espo
    9. Re:because it's too damned hard to .... by daemonburrito · · Score: 1

      Overall, I think your point is correct. But I think you may have some misconceptions about the shuttle. The operating software is amazingly compact (700k I think) and written in a high-level language. The total memory available is just 1 megabyte. While it's true that there are multiple computers, the reasoning behind this is redundancy (there are five, are think, that check eachother out for reliability). So in reality - tiny software environment (loaded from tapes!), 1 MB total system memory, and one kind of wimpy (but EXTREMELY simple and reliable) computer.

      For whatever it's worth, here's some wikipedia.

    10. Re:because it's too damned hard to .... by eldavojohn · · Score: 1
      The space shuttle is monumentally complicated.
      You're right, it is. However, there must be some mechanism in there that keeps everything synced. Since the time that various controllers & components execute is most likely of critical importance, don't you think they would have a scheme such that one component controlled the time?

      It would probably be necessary only to make modifications to the component that controls the relative time and accounts for network drift. I don't know first hand that they have a scheme that works this way but I would almost wager they would have to have something like this in effect.

      It's controlled by multiple computers. Test cases aren't just typing some stuff in and clicking on a few menus.
      You're right, but we're talking about an agency that put a man on the moon in 1969. To say that today they lack the creative imagination to test a set of computers and electronics for a date-time problem is pretty much a slap in the face.

      Test cases aren't just typing some stuff in and clicking on a few menus.
      Then perhaps it's time they rewrote the test cases & the software that executes the test cases if they want to be using this in the future and at the risk of human lives?
      --
      My work here is dung.
    11. Re:because it's too damned hard to .... by Kjella · · Score: 1

      The space shuttle is monumentally complicated. It's controlled by multiple computers. Test cases aren't just typing some stuff in and clicking on a few menus. The computers are hooked up to instruments and relays and motor controllers, and all of that would probably have to be convincingly "faked" for the test to be rigorous.

      I assume they would already have such a setup, for whole system integration test. I'd be damn scared if they sent it up without testing everything together at once. And then the only input you'd need to change were the clocks onboard (CPU, atomic etc.) and rerun with the same sensor data.

      I'm not sure how they'd screw this up anyway, the change of year is usually a completely insignificant number for computers, except when stored in human-readable format (which was the whole y2k-hysteria). Computers that operate on time_t or similar won't crash - at least not on January 1st. I suppose it's in theory possible if someone somewhere is converting just the date part to some internal buffer, but there's no space to save compared to time_t since it won't fit in anything less than 32 bits anyway. Msybr if they're using sub-second precision and threw out the year for a tighter fit, I don't know. It sounds to me like an awfully strange practise at least.

      --
      Live today, because you never know what tomorrow brings
    12. Re:because it's too damned hard to .... by Anonymous Coward · · Score: 0

      Too soon?

    13. Re:because it's too damned hard to .... by Anonymous Coward · · Score: 0

      PP said: I agree with you but it's not even that hard to do. I mean, they should have test cases and simulation already to test the software, you'd think they could devote some of their time to have someone simply set all the clocks on all the hardware for the time of that night's transition ... or point the software at an NTP server and set that to the time it transitions.

      ---
      It IS that hard to do. It's not like you have a pile of multi-billion dollar shuttles sitting around, along with the more billion dollar test equipment needed to do the test.

      And, what's this "point the software at an NTP server" nonsense? The shuttle was designed and built in the 1970s, including the carefully validated flight software That's, ahem, before Ethernet and/or IP was invented, much less when NTP was invented.

      FWIW, the software most likely reckons spacecraft time using Mission Elapsed Time "MET" (where end of year is meaningless) but there are some indeterminate number of conversions to a format that uses time as "day of year:hh:mm:ss.dddd" sort of thing. It's that "indeterminate" that raises the problem.

    14. Re:because it's too damned hard to .... by DerekLyons · · Score: 1
      because it's too damned hard to it in one on the ground and have it turned on that night.

      Oh, it's trivially easy to have one on the ground (in the OPF or the VAB) and turned on that night - but that wouldn't prove anything. The problem is in the interface between the ground software and the shuttle software, and sitting in the OPF or VAB, the shuttle can't be hooked up to the computers in Mission Control. (I.E. the problem isn't that the shuttle computers will crash - but that they will start rejecting data and command uplinks from Mission Control.)
       
      As should not come to a surprise to anyone, NASA is smarter than the average Slashdot poster. They have duplicated the problem in the SAIL and in the training simulators as JSC.
       
      They even have a workaround - but it involves shutting down and restarting the Shuttle computers on orbit. This procedure isn't without risks however, as the Shuttle wasn't designed to be operated this way. There's a nonzero risk that the computer system will not restart entirely.
       
      In this event, or in the event of a massive (PASS) computer failure on orbit, the backup (BFS) computer is engaged and they come home, so losing the computers on orbit isn't a death sentence. BFS is just smart enough to conduct a launch abort or to land the shuttle - a deliberate limitation since it means the hardware and software can be simpler and thus (in theory) easier to verify and more reliable.
       
      That is absolutely insane that they do not know what will happen, so they have not bothered to take a few moments and find out over the past 18 years.

      No, its absolutely insane to assume that you are smarter than NASA and that they haven't bothered to find out or that a mass media news story has all the details correct. They've known since the very early days what will happen (the computers in flight will not sync with the computers on the ground), what they don't know with certainty is whether the flight computers can be restarted sucesfully on orbit. (TFA, like many such, is somewhat misleading and sensationalized.)
    15. Re:because it's too damned hard to .... by turgid · · Score: 1

      No need to make some poor souls work on New Years ...

      What? On triple time?

  9. Like, shouldn't they have tested this years ago? by TomTraynor · · Score: 1

    What would it have taken them to run on the ground with the computer set to December 31st and see what happens?

    The second test would be for a leap year. February 29

    The last test for December 31st on a leap year. Set the clock to December 30th and then let it cycle through operations until January 1st.

    I know it is obvious, but, what happened to them trying this out? I do this on programs where we depend on dates and it is part of our normal unit test if we touch the date logic. The client then verifies this on their validation test runs.

    --
    Panic now, beat the rush!
  10. Being an editor is hard by svunt · · Score: 0, Flamebait
    Quality control is THIS difficult.

    Well done, guys.

    1. Re:Being an editor is hard by jginspace · · Score: 1

      "Quality control is THIS difficult."

      You're less scrupulously cynical than I am. I wouldn't have assumed they'd be consistent in putting Shuttle stories under science.slashdot.org ... but it appears they were after all.

  11. Re:Like, shouldn't they have tested this years ago by LiquidCoooled · · Score: 3, Insightful

    My guess is the systems are based upon days - ie the mission is 14 days long, if the day counter rolls backwards as others have suggested passing a negative delta into certain functions could fuck it up and just testing one day either side would not necessarily test it properly.

    --
    liqbase :: faster than paper
  12. When am I? by Manchot · · Score: 3, Funny

    1999 called, and it wants its computer problems back.

    1. Re:When am I? by Manchot · · Score: 2, Funny

      1995 called, and it wants its slang back.

    2. Re:When am I? by WilliamSChips · · Score: 1

      The Doctor called, he wants his time machine back from the years.

      --
      Please, for the good of Humanity, vote Obama.
    3. Re:When am I? by Iron+Condor · · Score: 1

      1995 called, and it wants its slang back.

      Except for "like" and "dude". For some reason they say we can keep those.

      --
      We're all born with nothing.
      If you die in debt, you're ahead.
  13. Better safe.. by Ma8thew · · Score: 1

    Better safe than sorry. It would probably work fine, but why risk human lives when you can put off the launch for a few days.

    1. Re:Better safe.. by solevita · · Score: 1

      And get a decent holiday too. Flying the Shuttle around the earth must be fun, but through the festive season? I'd use any excuse I could to stay at home getting drunk and eating too much!

    2. Re:Better safe.. by Anonymous Coward · · Score: 0

      Nonsense. That's why they're astronauts, and it would do a good solid boost to the space program if we had Bruce Willis or Ben Affleck (in case Bruce's schedule doesn't permit) fly it on that day. Then Buscemi puts in the patch to the code while everything is falling apart, but he just about loses it right there...

      Wait, whatdya mean they're not real astronauts? I want my money back!!

      And to the /. eds, thanks for reposting. Sunday is perfect for articles like this.

    3. Re:Better safe.. by and235100 · · Score: 1

      Mmmm - You could say something similar to GW Bush: "Better safe than sorry. It would probably be okay, but why risk human lives when you can buy your oil somewhere else and get a better deal." I agree with the fact that testing cannot possible eradicate all chances of failure - but computers (especially the advanced ones Nasa uses, should be able to cope with a date change...

  14. They can't set the clock to do the test by Anonymous Coward · · Score: 0

    Don't you know, it reads the time/date directly from the fabric of space-time!

  15. Paranoid or Bunch of Jokers by davro · · Score: 0

    Surly NASA are just being paranoid.
    If they have no way of testing or simulating this test case then NASA have fallen seriously in my opinion.
    Makes sense i suppose NASA are still building there shuttles out of sticky back plastic and foam.

    NASA will be placed in my "Bunch of Jokers" category if this is for real.

    1. Re:Paranoid or Bunch of Jokers by heinousjay · · Score: 0, Troll

      Nothing like criticizing a situation you don't understand. Shows you're a real man. Or woman, I suppose.

      --
      Slashdot - where whining about luck is the new way to make the world you want.
    2. Re:Paranoid or Bunch of Jokers by davro · · Score: 0

      So the definition of a Real Woman or Man, is not criticizing a situation you understand ??

    3. Re:Paranoid or Bunch of Jokers by jimbo3123 · · Score: 1

      Yeah, who are we to criticize.

      It's not like we're the ones paying for it....

      --
      There should be a moderation category "Dumbest Comment EVER"
  16. Re:Like, shouldn't they have tested this years ago by ST47 · · Score: 0

    if it is based upon days, then why would they need to worry about whether day 1 was in the same year as day 14 or not? just tell it to do this on day 14

  17. Re:Like, shouldn't they have tested this years ago by wpanderson · · Score: 1

    They could have tested this on the ground, but then again the /. editors could have checked that this news story hadn't already been posted about. I mean cut them some slack, they're only human.

    --
    neuro at well dot com (when I post, it's my opinions, no-one elses)
  18. Simulators? by WED+Fan · · Score: 0

    Do they not have a full mock up with computers? They can test and find...wait, I'm a government contractor, I should realize how the government works. Sorry, my mistake. Carry on.

    --
    Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong fix.
  19. Structured code by Harmonious+Botch · · Score: 1

    "And no, it's not easy to fix bugs in a piece of software like this."

    It is if the code is structured properly. All clock changing routine should be in one chunk, so that only one change need be make, and if you make one change, it affects the entire program. We learned things like this in undergrad compsci. Why can't NASA get it right?

    1. Re:Structured code by TorKlingberg · · Score: 1

      I guess the problem is not changing the clock, but that something might go wrong if they do.

      I don't thing all the software on the shuttle is one piece of code anyway.

    2. Re:Structured code by John+Courtland · · Score: 1

      What if some other piece of the code has a dependency on the way this code works now? You go and change it and it breaks something else. Even if the fix is simple, there's not a chance in hell it will pass NASA's QA before Dec 31.

      --
      Slashdot is proof that Sturgeon's Law applies to mankind.
    3. Re:Structured code by Z34107 · · Score: 3, Insightful

      The problem has nothing to do with how the code is structured.

      In fact, they're not sure there's a problem changinge the date at all.

      They're worried that something might happen. Some Windows programs, for example, use the function GetTickCount() for timing - menu delays, simple animation, etc. GetTickCount() returns a DWORD value representing the number of milliseconds since the system was booted, and a common usage is:

      if (GetTickCount() > dwOldTickCount + 50) {

      //do something, wait 50 milliseconds, do it again

      dwOldTickCount = GetTickCount();

      }

      However, if GetTickCount() overflows and wraps to 0 (how quickly this happens depends on the processor architecture), it could be another month (32-bit DWORDS means 2^32 milliseconds is ~ 49.7 days) before GetTickCount() is "more" than dwOldTickCount again. Your event that was supposed to happen every 50 milliseconds is on indefefinate hiatus.

      Granted, there are many better and different ways to write event code in Windows - it's kinda what the API was made for - and the space shuttle sure as hell doesn't use the Windows API, but that's not the point. It's little timing bugs like these that could pop up even in code that's been reused and debugged since God knows when.

      So, since there's no reason whatsoever that they have to fly on New Year's, why risk the lives of astronauts and an expensive shuttle? I wouldn't have that much faith in some '70s programms usage of the carry flag.

      It's not a problem that the "clock changing routine" that is probably some trivial count-on-one-hand number of machine language instructions is spread all over creation like a clown guts over the walls of my living room - it's that NASA doesn't want any glitches to happen in any procedure that uses the system clock like the Windows API example above. Which I'm guessing is pretty close to 99 and a half point two percent of their code.

      --
      DATABASE WOW WOW
    4. Re:Structured code by MissP · · Score: 1

      Because this software is older than than guy who taught your undergrad compsci class.

    5. Re:Structured code by Harmonious+Botch · · Score: 2, Interesting

      if (GetTickCount() > dwOldTickCount + 50) { //do something, wait 50 milliseconds, do it again dwOldTickCount = GetTickCount(); } You found the slashdot comments overflow bug!

    6. Re:Structured code by camperdave · · Score: 1

      They have been fixing the code since 2003.

      --
      When our name is on the back of your car, we're behind you all the way!
  20. Wait, so this means that... by Channard · · Score: 1

    ... if you've got one of those pens that work in space, you can't use them to write any time on New Years Day?

    1. Re:Wait, so this means that... by Anonymous Coward · · Score: 0
      ... if you've got one of those pens that work in space, you can't use them to write any time on New Years Day?
      Yup, that exactly what it means. On new years eve a NASA engineer is going to pay you a visit and hit you over the head with a shovel.
  21. What? by whitespiral · · Score: 1

    Is this the NASA what everyones quotes or references, as if they were always perfect, precise, infallible? Hahahaha...

    1. Re:What? by Albert+Sandberg · · Score: 1

      NASA = Never Absolutely Sure of Anything.... right?

  22. Re:Like, shouldn't they have tested this years ago by jackb_guppy · · Score: 1

    Actaully they should have just done this as Day 1, Day 2, Day 3... Since a shuttle mission is ALWAYS less than 1 year. Then a simple offset from base date is all that was needed.

    That is 70's tech, when the shuttle's code was written in the first place. Shoot, I did this '83 to get around our 5 digit Julain date system to support a 232 year "centry" date system, so we could cross '99-'00 without a hitch. Yes, we did Y2k in 1983.

    This is evne the system Unix uses to calculate dates. Though they are using a finer resolution counter.

  23. Scrap it by WilyCoder · · Score: 1

    All the more reason to scrap the shuttle project and come up with a more efficient way to put people in space. NASA has a date/time bug? Come on!!!

    1. Re:Scrap it by RAMMS+EIN · · Score: 1

      ``NASA has a date/time bug?''

      No. They're just not assuming they don't.

      --
      Please correct me if I got my facts wrong.
  24. party in a space shuttle? by NRISecretAgent · · Score: 1

    yeah, put someone in the shuttle over New Years Eve and let the guy throw a party. Who wouldn't want to have a New Years party in a space shuttle? =)

  25. Maybe test it? by Bing+Tsher+E · · Score: 1

    If NASA hasn't tested such scenarios by 'setting the clock' and seeing how systems react, they are not texting their systems adequately.

    This so often comes up with year-change issues. People get all sweaty like the 'realtime-clock' module can't be changed to simulate the conditions and see what will happen.

  26. Re:Subscribe to Slashdot and see the next dupe ear by antifoidulus · · Score: 2, Funny

    I thought the "computer date glitch" was when you meet some hot little 20-something on match.com but she turns out to be an overweight 45 year old named "Bruno"

  27. In 25 years of Shuttle Operations by iendedi · · Score: 1

    In 25 years of Shuttle Operations, NASA has never had a real shuttle computer or simulator run over the transition to a New Year? Is this a Government beuracracy thing (e.g. Everyone on Holiday?).

    I find this particularly difficult to believe.

    --

    It is your personal duty to fight for what is right on a daily basis. Ignoring injustice is identical to approving
    1. Re:In 25 years of Shuttle Operations by Detritus · · Score: 1

      Actually, yes. The ranges effectively shut down at the end of the year so that people can take vacations and time off for the holidays. You don't schedule stuff for late December unless you have no other choice. This isn't that unusual. Many large industrial operations have scheduled annual down-time. It's also an opportunity to sneak in maintenance activities that would otherwise disrupt normal operations.

      --
      Mea navis aericumbens anguillis abundat
    2. Re:In 25 years of Shuttle Operations by camperdave · · Score: 1

      It was a deliberate decision, and part of the design specs for the shuttle. "The shuttle computers were never envisioned to fly through a year-end changeover," space shuttle program manager Wayne Hale told a briefing.

      --
      When our name is on the back of your car, we're behind you all the way!
    3. Re:In 25 years of Shuttle Operations by JetScootr · · Score: 1

      Yes, we have. I've worked at NASA's training simulators since the ALT (Approach and Landing Tests) of Enterprise. I speak for myself, not for NASA or my employer.
      A human-rated system's safety is based on this primary rule:
      Don't prove it's unsafe - prove that it's safe.
      A good gov't management system's economics are based on this rule:
      Don't prove it'll work - prove that we MUST do it in order to achieve the mission.
      The shuttle is interfaced to the whole fricken universe in a way the PC in yer mom's basement never will be. Everything from clocks showing mission elapsed time to calculating orbits based on positions of Earth, Moon and sun, calculating doppler shift while radioing a TDRS satellite 15000 miles away and several thousands miles per hour delta velocity, etc.

      Slashdotters love to roast any gov't waste of money - well here's one place the gov't DIDN'T waste money.

      --
      Pavlov wouldn't be so famous if he'd used a can opener instead of a bell.
  28. Re:Like, shouldn't they have tested this years ago by machine+of+god · · Score: 1

    It's not like they even have to wait for new years. I mean, they can set the date on the thing right? They could go find out right now.

  29. Well, We DO Know... by wasted · · Score: 2, Insightful

    ...what would happen if the Shuttle is aloft during the year change. A lot of NASA employees have to work the normal shuttle work schedule, and miss their New Years parties, having probably just missed Christmas with their families.

  30. I dub thee... by Chairboy · · Score: 1

    I dub thee the "Y++ bug", sir software defect.

  31. Timestamps by RAMMS+EIN · · Score: 2, Insightful

    ``Does it matter which direction they are travelling, is it not possible to technically flipflop between one year and the next based on where you are flying over?
    What will happen to systems if the day variable is less than the previously stored one, will it cause the ship to flip out and attempt a burn?''

    They could just use timestamps. Something simple, that just increases at a fixed rate. Then convert it to a date when necessary (rarely, probably).

    --
    Please correct me if I got my facts wrong.
    1. Re:Timestamps by Calydor · · Score: 1
      To expand on that idea, the shuttle should have a time set when it launches; sync it with the control station (is it still in Houston?) so they're always in agreement on what time it is. Then circle the Earth as many times as you want, the shuttle clock shouldn't care. It's us as humans that realize that we're passing through time zones, not our watches.

      Then when you pass the New Year ... Gasp. Shock. Computers have been doing that for 30+ years already! Seriously, if the shuttle computer will CRASH when the year changes, it's time to de-commission it and build a new one.

      The computer, that is. The shuttle is probably fine.

      Then on January 3rd it lands, and the clock gets re-synced to Houston, allowing a fun little experiment with time dilation while we're at it. ;)

      --
      -=This sig has nothing to do with my comment. Move along now=-
    2. Re:Timestamps by RAMMS+EIN · · Score: 1

      ``sync it with the control station''

      Hopefully, you can get enough precision...

      ``Then circle the Earth as many times as you want, the shuttle clock shouldn't care.''

      Just a little bit, from relativistic effects.

      --
      Please correct me if I got my facts wrong.
  32. Now try that in assembler by Flying+pig · · Score: 4, Insightful
    Given the vintage of the Shuttle computers I suspect that they are programmed in assembler. There are all kinds of possible issues; what makes you think that the internal representation of time is anything that involves days, or how dates received from outside are translated?

    All right, I realise you were trying to be funny but it is a serious point. Progress is systems design is so rapid that stuff from the 70s and 80s is like something from another world - when the Shuttle software was being written, I was working on a reasonably state of the art system in which every critical function had to be written in assembler and the compiler output had to be hand edited - even after we had upgraded the CPU specification to the point that the EMP people were complaining that the only components on the CPU board that they had in their library were the resistors.

    Getting really philosophical for a moment, how about this for a sobering thought? We still have the materials and skills to maintain medieval cathedrals. We could probably, without too much trouble, crew and maintain an 18th century ship. We can easily maintain a 19th century railroad engine. We still have early 20th century motor ships in service. We can (with difficulty) keep aircraft from WW2 flying. But keeping a 1980s reusable spacecraft going is extremely difficult, and a 10 year old mobile phone is about as much use as a chocolate teapot.

    --
    Pining for the fjords
    1. Re:Now try that in assembler by Anonymous Coward · · Score: 0

      We could probably, without too much trouble, crew and maintain an 18th century ship.

      Ah, you must mean Old Ironsides.

      I heard Bush and the Democrats are thinking about deploying her to help out with a duty station in the Gulf.

    2. Re:Now try that in assembler by RAMMS+EIN · · Score: 1

      ``Progress is systems design is so rapid that stuff from the 70s and 80s is like something from another world''

      You'd be surprised. Unix and C are from the 1970s. X11 and C++ are from the 1980s. Douglas Engelbart gave a demo in 1968 ("The Mother of All Demos") that features a mouse, hypertext, videoconferencing, an IDE, and more. IP, TCP, FTP, SMTP, and POP3 are all from the 1980s. Many features of "modern" programming languages, such as garbage collection, object orientation, and reflection had also been invented by the 1980s. And so on, and so on.

      --
      Please correct me if I got my facts wrong.
  33. I've worked for NASA... by dgm3574 · · Score: 3, Interesting
    ...and I can tell you NASA is far from perfect. This is no different from any other organization, governmental or otherwise. I do have a certain empathy for them now though, because working there does give you a certain insight into why they do things the way they do. Given their limited resources, it's amazing how successful they are, most of the time.

    Considering that we give NASA less than we give the National Park Service, it's utterly dumbfoundingly breathtaking what they are able to accomplish.

    It also doesn't hurt that the shuttle software engineers are a totally different breed. Or more to the point, the way they write software is totally different. This is a good writeup about why.

  34. Duck and cover by Stumbles · · Score: 1

    Um, well if that is really an issue with NASA I'd have to say they have some under performing programmers or the ones they outsource with. I know the article talks about the shuttle and a complected piece of machinery it is. But all the satellites circling over head don't seem to have this "problem". Maybe NASA should hire those programmers.

    --
    My karma is not a Chameleon.
  35. Not again... by denttford · · Score: 5, Interesting
    To paraphrase the a late Romulan Senator...

    It's a DUUUUPE.

    So, to forestall any of the previous idiotic comments;
    • yes, NASA has known of this for a while;
    • it's considered a limitation, not a bug;
    • no, none of your two second psuedo code hacks are of any value or insight,
    • because the ~450,000 lines of operational software is written for 0 bugs and in HAL/S (so thanks for the quick C++ hacks, they are useless),
    • calendar math is trickier than it looks; many date libs are replete with hacks and magic numbers
    • you are not a better programmer than the guys and gals who write this stuff, and Lockheed has quite a bit of experience in doing this stuff.


    Oh, and for the most ridiculous of stuff: Linux is not an option for critical shuttle systems; it is not a reliable RTOS - when you are orbiting at 18,000mph, a 1 second error puts you miles off course, though Debian was used at least once in monitoring an onboard experiment.

    Can we all move on?
    --

    Leben Sie jetzt die Fragen.
    1. Re:Not again... by slightlyspacey · · Score: 1

      Thanks! You got to it before I did :) Here's some more items:

      1) NASA has known about this at least as early as 1980, *before* the first shuttle flew. The computers onboard the shuttle are IBM AP101Ss with 64K of RAM and capable of a blindingly fast 1.2 million operations per second. Remember overlays from your DOS days? They are used extensively (major mission modes). Every *bit* of RAM is accounted for.

      2) I haven't seen any FMEA/FMECA (Failure Modes Effects Criticality Analysis) posts here on Slashdot yet that would justify the change. Even if you decide to go through with it, you are going to be going through about 10 layers of meetings and reviews (or so it would seem). Not to mention the extensive regression testing that needs to occur. This is safety-critical stuff (i.e. you mess up, it doesn't get caught, someone is going to die). You don't make any changes unless you are able to come up with an overriding compelling reason. It's THAT simple.

      3) Work-around procedures are in place and have been in place for quite a while. The crew of STS-116 have successfully trained and run the procedures. This is NOT a big deal.

      If you want some reading material on the computers onboard the shuttle have a look at the DPS (Data Processing System) section of the Shuttle Crew Operations Manual(highly recommended) as well as NASA publication SP-504 Space Shuttle Avionics System

  36. Does the date really matter? by failure-man · · Score: 1

    Set the computers on the shuttle and on the ground for like, May. I can't imagine why they would need the actual date as long as they agree on what it is.
     
    Logs will be screwey? Try sed.

    1. Re:Does the date really matter? by slightlyspacey · · Score: 1

      Yes it does. The day of year (day 273 for instance) is used extensively throughout the infrastructure (Kennedy, Johnson, various monitoring stations) that support the shuttle missions. Yes, it probably would screw up the accuracy of the logs (real-time databases) and no, you can't throw a sed script at it. Shuttle Engineers live and die by the accuracy of their logs. In addition there are possible side affects, such as ground-based commands being discarded by the shuttle since they are now "stale".

    2. Re:Does the date really matter? by Anonymous Coward · · Score: 0

      It's hard to arbitrarily set the parameters of space. Ie. the tilt of earth's axis, the position of the sun, etc. I'm sure that the particular date matters to computers, even if they aren't on the shuttle. If you propose changing the shuttle's computers, you propose changing (as mentioned) the infrastructure's computers, which can then affect any calculations from either source. Ie. somebody can wind up dead, or a few million dollars end up wasted. Not really worth the expedience when you consider that humanity is a speck of dust on a cosmological scale of time.

      Besides, if you're willing to throw the logs to the wind, you should just be willing to throw the whole overblown hack out the window and be done with it. Waiting is AFAICT the best option.

  37. Stupid post by Flying+pig · · Score: 4, Informative

    Sorry about that stupid post. Yes of course the Shuttle computers are programmed in HAL and in fact I knew that, if I only had woken up my older brain cells.

    --
    Pining for the fjords
    1. Re:Stupid post by pharwell · · Score: 1

      Well, programming language aside, it's not a stupid post. Your main point is still sound: it's planned obsolescence, or "they don't make 'em like they used to!"

      --
      I quote others only in order the better to express myself. -- Michel de Montaigne
    2. Re:Stupid post by rozz · · Score: 1
      Sorry about that stupid post... if I only had woken up my older brain cells.

      some of my brain cells are also sleepin right now ... and that is an obvious +5 informative, thank u very much

      --
      "There is nothing more frightful than ignorance in action." Johann Wolfgang von Goethe
  38. Re:Like, shouldn't they have tested this years ago by hey! · · Score: 1

    I'm sure they have. What they haven't done and can't do is test every possible combination of inputs and outputs of the system in ground testing. In the words of Mr. Rumsfeld, it isn't the known knowns, or the known unknowns, but the unknown unknowns that we have to worry about.

    I was in college when the Shuttle first flew. In fact I had a couple of friends over and we got up early to watch the very first launch -- we were among the last of the diehards to religiously watch space launches carried on network TV.. If you recall, the first launch was delayed two days because of a computer glitch. There was fourfold redudancy in the computer systems, and a slight timing skew caused the computers to shut each other off. One of my friends had a father who worked on the system. He had been against the idea of having five computers, on the grounds that for the same cost they could make one, better computer whose overall chance of failing was less. It turned out he was right, and in fact this criticism forshadowed other problems in the Space Shuttle.

    The bottom line is that the Shuttle's systems are too complex to test except in real use, and then it is probably imposisble to predict what they will do in unusual situations.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  39. Failure of Programmer(s) by Anonymous Coward · · Score: 0

    It never ceases to amaze me how many bugs are the result of needless corner-cutting and/or a failure to consider even basic scenarios that might occur with the use of one's software. Neither the head of the project that created this software, or the engineers themselves didn't even think to themselves, "Hmmm, I wonder what will happen when our mission day counter flips around to zero"???? WTF? That's the first thing that would pop into my head. Anytime I am writing code with a hard limit in it my first thought is to consider how to deal with the case when that hard limit is reached or exceeded. NEVER assume that it won't be.

    Of course you can't think of all scenarios, but this and Y2K were caused by a failure to simply ask one's self what the consequences to a particular programming decision would be.

  40. CMM level 5 eh? by Anonymous Coward · · Score: 0

    So much for a PROVED design system :)

  41. Say What?! by thethibs · · Score: 4, Insightful

    When not designed by an idiot, a system clock is a linear device that measures the elapsed time since some reference "moment in time". It doesn't know that it's Thanksgiving, New Years, or any other socially significant but otherwise irrelevant date. It has sufficient resolution to measure the smallest interval of interest and sufficient range to outlive the system.

    If the shuttle system clocks use year, month, day, etc., there's a lot that should be done, not the least of which is finding whoever made the design decision and take him out to a public place where thousands of engineers and programmers will point at him and laugh.

    --
    I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
  42. Re:Like, shouldn't they have tested this years ago by hitmark · · Score: 1

    so your basically saying that the shuttle computer counts down from the day of launch, and when passing the new year "line" suddenly the day of launch is ahead of the present day, not behind?

    sounds a bit silly as i don't see why they would even bother to have it calculate dates if they used in that way. that is unless it counts dates but not years. and that brings it above and beyond the y2k "bug" imo...

    but then one should take into consideration that the shuttle computers are seriously old! something tells me the designs was done the way it was to save space in the ram.

    ugh, i just hope that whatever replace the shuttle is built so that it can be upgraded in modules later on...

    --
    comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
  43. As someone who grew up with NASA by p51d007 · · Score: 1

    It saddens me to see how screwed up they have become over the last 30 years. I grew up with the achievements of NASA in its early days...Sheppard, Grissom, Glenn, landing on the moon. Now, we have a overly bloated NASA, which, mirrors the government...they have so many suits that have no clue what is going on, over/mis-managed etc. NASA programs computers, used on something that goes into space, without even thinking that it might be up there at the end of the year? How stupid is that? Personally, I'd like to see NASA broke up, and let private industry run the space program. They have too much "go fever". Screw safety, just get the d**n thing in the air. So far, we've lost 2 crews to the shuttle, something that shouldn't have been built in its present form. The original design didn't have SRB's, but an air breathing launch vehicle, but budget cuts after Apollo canceled that. The biggest mistake, IMO, was the cancellation of the Apollo program. The Saturn V launch vehicle had a 100% launch rate (don't confuse the Saturn V with the Command/Service vehicle). Had further research with the Saturn V continued, just think where we could have been. Instead of the crappy shuttle, held together with chewing gum and tin foil, we could have a better launch vehicle. Is it any wonder that now we are going back to the future with the new heavy launch vehicle?

    1. Re:As someone who grew up with NASA by Anonymous Coward · · Score: 0

      Why do you want to introduce further variables and untested scenarios into NASA by releasing its assets to the private sector? You make a lot of noise about how NASA has lost its glory, but curiously you have not expressed any desire to restore the funding and support of NASA to its glory days. It seems pretty strange that you think NASA has a "go mentality" but don't give any consideration to the odds that turning it over to private industry with a profit motive will increase this mentality further?

      In the end, it seems as though you started from the conclusion that NASA should be privatized and then tried to fit your reasons around your conclusion. The result: a muddled argument.

  44. Ummm, aren't these NASA people paid to figur by Dark+Leaper · · Score: 1

    Ummm, aren't these NASA people paid to figure this shit out? I mean, sweet Jesus, if they can't figure out a clock glitch, who knows what kind of impending Armageddon they overlooked.

  45. what would happen if you set the clock forward .. by rs232 · · Score: 1

    What would it have taken them to run on the ground with the computer set to December 31st and see what happens?

    HAL would think the mission was over and try and a runway landing from top of the launch pad. As someone else here has already pointed out you count the time in integers from a base year eg Feb 08 1828 and count up.

    was Re:Like, shouldn't they have tested this years ago

    --
    davecb5620@gmail.com
  46. Incorrect info by Headw1nd · · Score: 1
    It seems you're reading the NASA budget request wrong. The total NASA request for 2007 is 16.356 billion dollars, nearly eight times as much as the $2.156 billion requested by the National Park Service. You may have reached the wrong conclusion by reading the requests made by the individual "Themes", of which NASA has several. For instance, the Earth-Sun system theme, which is under the Science Mission Directorate, is requesting $2.210.6 billion alone, more than the NPS's total budget.

    I'll avoid any commentary about which agency is getting the short end of the stick, they're both worthwhile programs and IMHO good uses of tax dollars. I just want to make the facts clear.

    1. Re:Incorrect info by dgm3574 · · Score: 1

      It seems you're reading the NASA budget request wrong.

      Yes, it does look that way. Oh well, my mistake.

      At any rate, one can compare any number of federal programs' budgets and attempt to consider their relative worth, as well as their relative size, but that is often a losing battle.

      I was originally going to compare it to the army budget, but I knew that would invite too many trolls to the thread. ;-)

    2. Re:Incorrect info by Headw1nd · · Score: 1

      Oh Gods yes. Especially these days.

  47. Isn't that their purpose? by douglips · · Score: 2, Funny
    What will happen to systems if the day variable is less than the previously stored one, will it cause the ship to flip out and attempt a burn?

    The purpose of a space shuttle is to flip out and burn people. These rockets are so crazy and awesome that they flip out ALL the time and don't even think twice about it.
  48. Re:Like, shouldn't they have tested this years ago by Anonymous Coward · · Score: 0

    That is how they did it... and that's the problem.

    Dec 31 = Day 365
    Jan 1 = Day 366??!??!?

    They're not sure if it'll restart at 1 on Jan 1 or keep going up.

  49. Oh for FUCKS SAKE by Anonymous Coward · · Score: 0

    Ok I can handle it when my VCR goes blinky blinky and I need to set the clock but NASA can't?

  50. Re: Simulation by TaoPhoenix · · Score: 1

    So ... Run the simulation? Do they ever want to find the answer, or are they deciding "our shuttle is only good for 4 more years, so all we have to do is take a 3 day holiday every year"?

    Plus, I agree with the general sentiment (tied in with the Indian space thread) - they wrote pretty clever software that deals with ROCKET SCIENCE ... and a date flip can't be adjusted with a patch. That's definitely a surprise.

    --
    My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
  51. PLEASE DO NOT LAUNCH by legion89 · · Score: 1

    2 shuttle accidents happened during Jan and Feb! They should launch it other times of the year. Well maybe some superstition or it might be just wrong weather for them.

  52. Just as I feared... by Tarlus · · Score: 1

    The Y2.007K bug is coming.

    --
    /* No Comment */
  53. Daylights Savings too? by rubberbando · · Score: 1

    Do they have an issue with Day Light Savings changes as well?

    It would be like an episode of the Twilight Zone where an astronaut goes into space and somehow finds himself in the past or the future, only this time it would be only by an hour... :-P

    --
    DEAD DEAD DEAD DELETE ME
  54. Re:Now try that with a pyramid by gd23ka · · Score: 1

    I'm not so sure whether they could build another dome like the ones in Cologne or Paderborn or a cathedral like Notre Dame today. Why they even admitted they couldn't build simple structures like the Gizeh pyramid.

  55. How about no shuttle launches during the winter? by otis+wildflower · · Score: 2, Insightful

    It seems to me that both shuttle disasters were in part caused by cold weather. With the Challenger it was brittle O-Rings and with the Columbia it was iced-up chunks of insulation. Perhaps there should be a mandate that the shuttle can launch only if the area's temperature has been above, say, 55 degrees F for 48 hours?

  56. HUH by hurfy · · Score: 1

    They don't have one they can turn on for new years?

    One would think just for curiousities sake someone would have tried it by now. Does the simulator go to a blue screen if ya play on new years?

    hmm, perhaps they know it doesn't work well :(

    PS. The calender on my 70's computer is complete to 2030. A tad optimistic on Wang's part perhaps :)

  57. Y2K "Bug" by camperdave · · Score: 1

    The Y2K Bug had very little to do with "saving RAM", or whatever. It was just plain laziness and psychological conditioning. Somewhere along the line it became acceptable to write down two digits for a year. How many forms would a person come across last century that had "19__ " preprinted in the year field: License renewal forms, credit card receipts, dry cleaning tickets, medical history forms, etc.? I still come across the occasional form like that and it's 2006 for Pete's sake! Not storing the century was a byproduct of years and years of conditioning, not out of a desire to save space. What's even worse, now forms have "20__" printed on them. We haven't learned.

    --
    When our name is on the back of your car, we're behind you all the way!
  58. Ah! ... Yes! ... Wait a Minute! ... by Anonymous Coward · · Score: 0

    STS Computers are TI - 58 hand held calculators.

    The TI - 58 series, is the most perfect hand held calculator in the history of Computing.

    The TI - 58 series has never produced an error ... such is un-thinkable ... for the TI - 58 series hand held calculator.

    I recommend that we replace the TI - 58 series hand held calculator and let it fail ... as it has predicted.

    Then, inspection and analysis will allow us to understand the cause of the predicted failure.

    -HAL

  59. looks like google to me by aichpvee · · Score: 1

    If they wanted to disguise the site maybe they shouldn't have had the results page look just like Google.com with a different header. You'd think they'd at least make the link colors match the color scheme of the rest of the site.

    --
    The Farewell Tour II
  60. the point most comments missed .... by eddison_carter · · Score: 1

    I noticed that very few of the posts I've read (on the dupe thread at least) caught the real issue (from the 1st time this got posted).

    The problem is that the computers on the ground and the space shuttle carry over to the new year differently. One goes to day 1 of the next year, the other goes to day 366 of the current year, but I forgot which side does which. This is a problem NOT because the calander is wrong, but because things that need to sync time between the two is off. This is for important things like starting operations like reenty, space station docking, etc. Also, they most likley use a date/time code that's based on days, and ignores months, and most likley ignores day of the week too. So Dec. 31st would just be Day 365 (unless it's a leap year).

    This seems like an easy fix, until you take into account all of the systems that need to be fixed, vs. the relativly easy workaround of not flying when the year switch happens. It's not just the shuttle systems, but the tracking stations, mission control centers, possibly some code on the ISS, etc. Not to mention the verification side, and making sure you didn't break anything else....

    Someone mentioned Daylight Savings Time switchovers and asked how the space systems deal with that but can't deal with a year change. The answer is, the systems do not deal with daylight savings time changeovers, and don't have to. All the time on every system is in Zulu (GMT) time, some displays might be in local, but that's just for convience, nothing is based off of local time.

    --
    I always prefer to start the year off with a bang - or, to be more precise, a series of loud hums, a crackle or two, and
  61. Shuttle by alexj33 · · Score: 0

    When are they going to junk this flying heap of 1960's technology??? I'm sorry, but $500m per launch and they're worried about a date rollover?

  62. don't fix it by Anonymous Coward · · Score: 0

    another reason not to fix it is that NASA is considering retiring the shuttles. why waste money on something that is not going to last very long?

  63. Old Ironsides by Flying+pig · · Score: 1

    Actually, she is really a 19th century ship, built using the latest technology at the very end of the 18th and rebuilt more than once. But yes, it is good that we still have such things.

    --
    Pining for the fjords
  64. It isn't JUST the shuttle software by JetScootr · · Score: 1

    Remember - the shuttle talks to satellites, to ground radios, to MCC, to the ISS and Russian communications networks.
    All of the communications networks have to know exactly where two parties are when talking, and where the Earth itself is in its orbit around the sun. Doppler shift must be taken into account when radioing between all of these.
    Sure, year-end rollover is about 1-5 lines of code; how many places need that fix?
    This is just one example of why NASA decided it was easier to just wait a few days rather than test all of that stuff.
    A design limit made by rational cost-benefit analysis is not a bug in either code or design.

    --
    Pavlov wouldn't be so famous if he'd used a can opener instead of a bell.
  65. In assembler? No problem! by FirmWarez · · Score: 1

    NEW_YEAR_CHECK
            BTFSC YEAR_FLAGS, fLEAP_YEAR
            GOTO NYC_100

            CRLJE CURRENT_DAY, .366, NYC_200

    NYC_100
            CRLJNE CURRENT_DAY, .365, NYC_EXIT
            BCF YEAR_FLAGS, fLEAP_YEAR

    NYC_200
            MOVLF CURRENT_DAY, .1
            INCF YEAR, F

            INCF LEAP_YEAR_COUNT, F
            CRLJNE LEAP_YEAR_COUNT, .3, NYC_EXIT

            CLRF LEAP_YEAR_COUNT
            BSF YEAR_FLAGS, fLEAP_YEAR

    NYC_EXIT
            RET

    The comments are left to the student as an exercise.

  66. What actualy happened at Naza by PermanentMarker · · Score: 1

    inside the Egg head cafe..

    Egghead A "how to handle day count like ehmm x mod 365 perhaps ?"
    Egghead B "No i'm telling you when we are out of orbit we dont have seizons"
    Egghead D "no no no in space still we got to respect earth's time"
    Egghead C "but it makes no sense why not just count days from departure"
    Egghead A "Barrttender we need hik another orange hik burp sorry and a chocolat"
    Egghead B "how about Maya time at least that never went wrong"
    Egghead C "but in 2006 februari will have 27 days right?"

    Egghead E thinking.. thinking.. i can fix it, i make the year 366 days, no one will notice

    What a briliant minds ...

    how it ended well...
    (Egghead A "if they dont listen to me i keep it grounded, as i want to win this)

    --
    I know you're out there. I can feel you now. I know that you're afraid. You're afraid of us. You're afraid of change.