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 :)
they have a Y2* bug?
Thank you, thank you, I will be here all week. Be sure to check out our Safari bingo!
In reality isn't this a design limitation rather than a bug in the implementation?
liqbase
if ($day >= 365 && !$leapyear) {
$day = 1;
}
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.
Computer Date Glitch May Limit Next Shuttle Launch - exchange Reuters article for CNN article.
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.
What a great chance to find out. Go on... give it a go.
...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.
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!
Well done, guys.
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
1999 called, and it wants its computer problems back.
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.
Don't you know, it reads the time/date directly from the fabric of space-time!
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.
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
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)
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.
"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?
... 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?
Is this the NASA what everyones quotes or references, as if they were always perfect, precise, infallible? Hahahaha...
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.
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!!!
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? =)
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.
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"
Monstar L
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
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.
...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.
I dub thee the "Y++ bug", sir software defect.
``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.
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
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.
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.
It's a DUUUUPE.
So, to forestall any of the previous idiotic comments;
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.
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.
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
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.
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.
So much for a PROVED design system :)
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.
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
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?
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.
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
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.
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.
My amazing wife - Artist, Author, Philosopher - Laurie M
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.
Ok I can handle it when my VCR goes blinky blinky and I need to set the clock but NASA can't?
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"?
... and a date flip can't be adjusted with a patch. That's definitely a surprise.
Plus, I agree with the general sentiment (tied in with the Indian space thread) - they wrote pretty clever software that deals with ROCKET SCIENCE
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
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.
The Y2.007K bug is coming.
/* No Comment */
Do they have an issue with Day Light Savings changes as well?
:-P
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...
DEAD DEAD DEAD DELETE ME
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.
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?
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
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!
STS Computers are TI - 58 hand held calculators.
... such is un-thinkable ... for the TI - 58 series hand held calculator.
... as it has predicted.
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
I recommend that we replace the TI - 58 series hand held calculator and let it fail
Then, inspection and analysis will allow us to understand the cause of the predicted failure.
-HAL
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
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
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?
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?
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
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.
NEW_YEAR_CHECK
.366, NYC_200
.365, NYC_EXIT
.1
.3, NYC_EXIT
BTFSC YEAR_FLAGS, fLEAP_YEAR
GOTO NYC_100
CRLJE CURRENT_DAY,
NYC_100
CRLJNE CURRENT_DAY,
BCF YEAR_FLAGS, fLEAP_YEAR
NYC_200
MOVLF CURRENT_DAY,
INCF YEAR, F
INCF LEAP_YEAR_COUNT, F
CRLJNE LEAP_YEAR_COUNT,
CLRF LEAP_YEAR_COUNT
BSF YEAR_FLAGS, fLEAP_YEAR
NYC_EXIT
RET
The comments are left to the student as an exercise.
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.