Slashdot Mirror


'Extreme Programming' Controls Phoenix Mars Lander

pbd points out a story discussing the challenges faced by NASA engineers in designing the code sent to operate the Phoenix Mars Lander. Quoting Computerworld: "On Wednesday, engineers sent up the code to run an actual analysis, but a satellite orbiting Mars, which transfers the data down to the Lander, was offline. Robinson explained that the satellite had been hit with radiation, knocking it into safe mode. 'Space is a harsh environment, and sometimes they just go into safe mode,' he noted. 'It's a minor problem. [The satellite] aborts whatever it was doing and waits for future commanding.' Engineers successfully resent the code on Thursday."

119 comments

  1. That's coolness by zappepcs · · Score: 5, Insightful

    Not sure about others, but designing software and systems (software & hardware) that understand the data they are using, and when conditions are not right AND know how to go to safe mode rather than just fall apart is awesomeness in physical form.

    Then just considering it a minor problem is an even higher form of awesomeness :)

    As a hobby I build small robotic creations. I can tell you that working with limited resources, and having to deal with the completely unexpected is just brain damage for the fun of it. Testing your new code on the same hardware you've had for months and thinking "I really did not know that you could bend this metal piece with so little force" or "why the hell is it doing that" and find out that you missed a decimal point on force calculations or a typo leaves you reacting with subroutine x instead of y.

    Those engineers have to be fscking proud of their work. I know I would be. Some days I look at code I've had running 24/7 for several years and am amazed, not just at myself, but that I managed to find the bugs and fix the "I didn't know that would happen" issues. It's a lot of type and bounds checking to be certain, but something always creeps in.

    I say they should be proud. The Mars missions have been nothing short of exemplary awesomeness. When they figure out the failure they did have, I'm certain that the absolute goodness they built into it will help reveal totally amazing discoveries about why there was a failure. Nothing simple like metric conversions, or wrong alloy for the screws.

    Makes me want to work with them. :)

    1. Re:That's coolness by Anonymous Coward · · Score: 0, Funny

      No that's an irresponsible risk with a lot of taxpayer money.

    2. Re:That's coolness by zappepcs · · Score: 5, Insightful

      Actually, considering it a minor problem is not irresponsible risk. When you are that cock sure of the equipment you designed that you can think of it as a minor problem when space radiation knocks your system into safe mode for a bit, you have awesome mad design skills, not risk taking behaviors.

      Yes, they used tax payers' money, and I'm pretty glad that I helped contribute in some way. Exploring our solar system and beyond with instrumentation is an absolutely needed step to find more space for all the humans on this planet. Not sure if you have noticed, but there are a few things we are running out of here despite China's one child rule.... room, food, fuel, and some other less dramatic things. Mother nature has a way of balancing things, so she'll kill a lot of us off. If we want to continue growing, expanding, space is the only viable option with current trends and technology. Improving the technology we command and the information that we have is the only way to viable improvements. The space exploration programs aim to do this in very calculated ways, very methodical steps to discover new information on a cost per answer type basis.

      It is NOT irresponsible. There are a lot of irresponsible uses of tax payers' money, but trying to expand human knowledge and capabilities is not.

    3. Re:That's coolness by uranus65 · · Score: 1

      But does it run on Lin...oh yeah, TFA says it does.

      Linux may not be ready for the desktop, but it is ready for the surface of Mars.
      -Me

    4. Re:That's coolness by jfsimard79 · · Score: 1

      Ayn Rand would be proud.

    5. Re:That's coolness by satoshi1 · · Score: 4, Insightful

      Linux may not be ready for the desktop, but it is ready for the surface of Mars.
      -Me


      You know, I am actually cool with that. A stable operating system running a mission critical device thousands of miles away is important, everyone who has contributed to the Linux kernel in some way should be proud that their work is enabling us to learn amazing new things about our red neighbor. I think it says a lot that Linux was chosen over some internallly developed OS.

    6. Re:That's coolness by zappepcs · · Score: 3, Interesting

      For a Friday night, that is a very nice thought. A project funded by the public, and at least in part, built by the public. Nothing says OSS works better than that. At least I can't think of anything that does... very nice.

    7. Re:That's coolness by Tablizer · · Score: 1

      As a hobby I build small robotic creations..."I really did not know that you could bend this metal piece with so little force" or "why the hell is it doing that" and find out that you missed a decimal point on force calculations or a typo leaves you reacting with subroutine x instead of y.

      Please stay out of the automated brain-surgery biz ;-)

    8. Re:That's coolness by Innova · · Score: 2, Informative

      The Mars missions have been nothing short of exemplary awesomeness. I couldn't agree more....with one exception
    9. Re:That's coolness by davester666 · · Score: 1

      Man, can I just see Gates and Ballmer huddled together trying to figure out how many engineering hours and how much money they would have to give to NASA to get NASA to switch to WindowsME for all their future probes.

      It probably would be more than the amount of money and time for MS to create and send the probe all by themselves, without involving NASA at all.

      --
      Sleep your way to a whiter smile...date a dentist!
    10. Re:That's coolness by Tangamandapiano · · Score: 1

      Windows ME? Oh you're outdated... Microsoft has Windows Vista!

    11. Re:That's coolness by kperson · · Score: 5, Funny

      "A stable operating system running a mission critical device thousands of miles away..."

      Just where the hell do you think Mars is??

    12. Re:That's coolness by funwithBSD · · Score: 5, Funny

      I just hope none of it was LGPL 3.

      I think that would mean that RMS owns Mars.

      --
      Never answer an anonymous letter. - Yogi Berra
    13. Re:That's coolness by harlows_monkeys · · Score: 4, Informative

      TFA appear to be wrong. It runs VxWorks 5.2.

      The confusion probably arose because Wind River also sells a Linux version, and the press sometimes confuses that with VxWorks.

    14. Re:That's coolness by iminplaya · · Score: 2

      Not sure if you have noticed, but there are a few things we are running out of here despite China's one child rule.... room, food, fuel, and some other less dramatic things.

      We are not running out of them. We are only mismanaging them. There's lots of fresh water falling onto the oceans and empty land we can bring together.

      --
      What?
    15. Re:That's coolness by Tolkien · · Score: 2, Insightful

      Better him than the gov't, odds are they'll claim ownership, despite not having the right to do so.

    16. Re:That's coolness by Daniel+Weis · · Score: 1

      Boy do I wish I had modpoints for that one. I seriously laughed out loud to that one. :-)

    17. Re:That's coolness by roguetrick · · Score: 2, Funny

      Hey, after it gets larger than 10 basements, we lose the picture.

      --
      -The world would be a better place if everyone had a hoverboard
    18. Re:That's coolness by funwithBSD · · Score: 1

      So he has Mars ownership given to him through the rights granted him by a government that has no right to claim it for itself...

      So how exactly does he have a right conferred to a government that does not have the power to do?

      Interesting theory, but not sure it would stand up. Also, good job ruining a joke, eh.

      --
      Never answer an anonymous letter. - Yogi Berra
    19. Re:That's coolness by RobBebop · · Score: 1

      I think it says a lot that Linux was chosen over some internallly developed OS.

      No. Internally developed OS's still have their place in complex military and/or science systems. What I think is important to note is that Linux was chosen over other COTS options such as VxWorks and Green Hills.

      The project I am working on uses Linux as a development platform to create a device with a fully internally developed OS. I am fairly certain Linux was not chosen because it wouldn't be able to meet timing requirements without being heavily modified/stripped-down, anyway.

      --
      Support the 30 Hour Work Week!!!
    20. Re:That's coolness by davester666 · · Score: 1

      Sure, technically, NASA would a license for Vista, they would just use the free "downgrade" to WindowsME.

      --
      Sleep your way to a whiter smile...date a dentist!
    21. Re:That's coolness by johannesg · · Score: 1

      Did they release the drivers for all the onboard hardware, though? What if we want to build our own Mars lander and mod the digger a bit, or use a different landing sequence?

    22. Re:That's coolness by Anonymous Coward · · Score: 1, Funny

      The 80's called. Something about not wearing out the word "awesome".

    23. Re:That's coolness by Anonymous Coward · · Score: 0

      Nothing to be proud of. It is running vXWorks.

    24. Re:That's coolness by weetabeex · · Score: 0

      Just where the hell do you think Mars is?? duh! Somewhere across the Atlantic Ocean?
    25. Re:That's coolness by Hubbell · · Score: 0, Flamebait

      The federal government isn't responsible for that. If you want health insurance get a job.

    26. Re:That's coolness by homer_s · · Score: 2, Informative

      Yes, they used tax payers' money, and I'm pretty glad that I helped contribute in some way.
      That is the issue, isn't it? You might be glad, but there are people who do not want to contribute and they were forced to do so.

      Not sure if you have noticed, but there are a few things we are running out of here despite China's one child rule.... room, food, fuel, and some other less dramatic things. Mother nature has a way of balancing things, so she'll kill a lot of us off.
      This might interest you.

    27. Re:That's coolness by mdwh2 · · Score: 1

      There have been loads of exceptions - see http://en.wikipedia.org/wiki/Exploration_of_Mars#Timeline_of_Mars_exploration .

      I presume the OP meant the recent US mars missions, but even there, there have been failures.

    28. Re:That's coolness by SunTzuWarmaster · · Score: 1

      They have every right. Just like in the old days of American colonization: if you can build a fence around it, it is yours. If you are the only person on Mars, you own it. However, just like in the colonies time, not all of the land you own is defensible and possession is 10/10 of the law.

    29. Re:That's coolness by Anonymous Coward · · Score: 0

      "A stable operating system running a mission critical device thousands of miles away..."

      Just where the hell do you think Mars is?? Mars is thousands of miles away. Granted, it's many thousands of miles away...
    30. Re:That's coolness by ReverendWL · · Score: 1

      Just as a point of correctness: Distance from Mars to Earth varies from a closeness of 35 million miles to a extreme approx. 250 million miles, give or take a few thousands of miles.

    31. Re:That's coolness by jaunty · · Score: 1

      Let me correct that for you:

      I think that would mean that RMS pwns pmars.

      --
      Why did I post this? Ask me now!
  2. No mention of Extreme Programming by Anonymous Coward · · Score: 5, Informative

    This article doesn't state the lander was programmed with Extreme Programming techniques.

    There's just one sentence which says something about "presents extreme programming challenges" which is the closest this article comes to mentioning Extreme Programming.

    1. Re:No mention of Extreme Programming by kcbanner · · Score: 1

      I was dissapointed as well. I thought they might have been writing code on the fly to counter some bad thing happening. All we basically got was a compile delay :(

      --
      Obligatory blog plug: http://www.caseybanner.ca/
    2. Re:No mention of Extreme Programming by serge587 · · Score: 3, Funny

      Then simply add some suspensefully dangerous music in the background and you have the next generation of thriller movies!

    3. Re:No mention of Extreme Programming by Ethanol-fueled · · Score: 4, Funny

      ...whilst hand-coding a real-time, multitasking OS in assembler while suspended over a tank of water filled with hungry sharks. Laser beams optional.

    4. Re:No mention of Extreme Programming by Anonymous Coward · · Score: 0

      Were the engineers resorting to slide rules for their on-the-fly calculations, like in the "Apollo 13" movie?

      Now *that* would be cool.

    5. Re:No mention of Extreme Programming by Tablizer · · Score: 1

      This article doesn't state the lander was programmed with Extreme Programming techniques. There's just one sentence which says something about "presents extreme programming challenges" which is the closest this article comes to mentioning Extreme Programming.

      Come on, get with the Karl Rove generation; It's close enough to mean what you want it to mean.

    6. Re:No mention of Extreme Programming by Plaid+Phantom · · Score: 1

      No, I'd say Laser beams are most certainly not optional. :)

      --
      All comments are properties and trademarks of the voices in my head. Not like I'm gonna claim them.
    7. Re:No mention of Extreme Programming by Anonymous Coward · · Score: 0

      Extreme Programming would never be used by NASA. They don't do things that way.

      Careful, stable, and well tested.

      You can't just walk over and reboot the machine if it crashes. Kill a mission because of a stupid bug and that's it.

    8. Re:No mention of Extreme Programming by julesh · · Score: 1

      Extreme Programming would never be used by NASA. They don't do things that way.

      Careful, stable, and well tested.


      Have you ever done XP? XP values tested, working software over all other priorities. I fail to see any conflict here.

  3. Um what by Brian+Gordon · · Score: 0, Redundant

    What does this have to do with the word extreme?

    1. Re:Um what by Anonymous Coward · · Score: 0

      What does this have to do with the word extreme? Like in Extraterrestrial?
    2. Re:Um what by jyoull · · Score: 0

      The phrase "extreme programming" appears in the text..

      It's just the SlashAI embellishing the story, like when the Boston Herald runs an online story about a shooting, and the CMS provides helpful team stats and other stuff:

      The shooter was wearing a Red Sox [Standings | Schedule | Tonight's game] hat when caught by police near the Riverside T stop.

    3. Re:Um what by Anonymous Coward · · Score: 0

      Because the code has to run in EXTREME CONDITIONS :)

    4. Re:Um what by highlyjhi · · Score: 0

      What does this have to do with the word extreme? *GASP* One more article left unread...
    5. Re:Um what by FooAtWFU · · Score: 1

      Extreme Programming is a subset of the "agile" software methodologies which features test-first programming, pair programming, customer conversations / "stories" rather than specifications, to "do the simplest thing possible that could work" (and fix it up later... assisted by comprehensive test suites), and a 40-hour work week.

      And somehow I doubt NASA is doing all that.

      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
    6. Re:Um what by Anonymous Coward · · Score: 1, Informative

      Nothing. Read the summary and the article. They had nothing to do with Extreme programming (or any kind of agile process).

    7. Re:Um what by Anonymous Coward · · Score: 0

      The manager uses the word extreme to refer to all the conditions the programmers have to deal with - not how they deal with them. I don't think he is a software developer himself; otherwise, he would have likely used a different word to avoid confusion - unless they are using some extreme programming practices he does not go into.

    8. Re:Um what by roman_mir · · Score: 3, Informative

      It's definitely more extreme than the so called 'Extreme Programming'. Extreme in a sense that you have to get things right or an extreme amount of time and money will go to extreme waste. That's Extreme. 'Extreme Programming' is mostly about covering your ass, not about getting the code right.

    9. Re:Um what by K.+S.+Kyosuke · · Score: 5, Funny

      "And somehow I doubt NASA is doing all that."
      And you might be right. That is because this submission was processed with an editorial process called "Extreme Submission Editing", which is a subset of the "agile journalism" methodologies, driven by principles like "test-first publishing" (first publish it, then fix the bugs if there is a stronger "boo!" than usual), "pair editing" (pick any two editors, each one will believe that the other one is going to fix it) and "do the simplest editing possible that could work" (cross yourself, close the eyes and click the "OK, Publish the damned thing!" button). Thanks to the Extreme Submission Editing, Slashdot continues to bring you quality news at an unbeatable price!
      --
      Ezekiel 23:20
    10. Re:Um what by K.+S.+Kyosuke · · Score: 1

      It may appear in the headline, but in the text, I see just one place mentioning an "extreme programming challenge". Sadly, my ESL-programmed brain parses that as "extreme (programming challenge)", not as "(extreme programming) challenge", but what do I know - IANANES. :-)

      --
      Ezekiel 23:20
    11. Re:Um what by drinkypoo · · Score: 0, Troll

      Thanks to the Extreme Submission Editing, Slashdot continues to bring you quality news at an unbeatable price!

      Unfortunately, quality is not a boolean.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    12. Re:Um what by JPEWdev · · Score: 1

      My Software Engineering Professor always told us that "Extreme Programming" was having one programmer doing the actual programming, and another looking over their shoulder correcting their mistakes as a they go. Whether that is more efficent than having both work on seperate parts and fixing their own bugs, I'm not sure, but it always helped the teams I've worked on produce good code. Although, I'm not sure that that lines up with the definition of "Extreme Programming" that everyone else has :)

    13. Re:Um what by julesh · · Score: 1

      That's part of extreme programming. The other major part is obsessively testing everything.

  4. X-* by conureman · · Score: 1

    Think X-Games dude.

    --
    The cost of that cleanup, of course, will be borne by taxpayers, not industry.
  5. Embedded programming is hard! by compumike · · Score: 2, Insightful

    Sure, there's complicated software systems, but when something has to deal with hardware too, there's just a lot more to think about in every action. That's why engineers make abstractions -- enough to keep their part of a particular project in their head.

    But shouldn't the "safe mode" limits be independent of the particular operation as much as possible? In software engineering, the people writing test cases are often not the same as the people developing the code, and for the reason that they want to match both to the spec, not to each other.

    --
    Hey code monkey... want to learn electronics?

    1. Re:Embedded programming is hard! by Anonymous Coward · · Score: 0

      Not hard!
        Embedded programmings skills are very different than what a PC programmer knows, he/. she must also have Microprocessors/I/O and digital electronics skill, Most don't.
      The defacto test we use is to ask a candidate to turn on an LED with a momentary contact pushbutton switch, Inside of 2 minutes by what they ask and do, we know if they are an a real embedded programmer or not
      We also ask them if an OS is necessary, if they
      say yes they're out !
      If they guess and say no, we a device driver necessary.
      If they say yes they're out the door as well
      Embedded programming is not hard , rather, It's a very different set of skills !

  6. extreme programming != extreme programming by Anonymous Coward · · Score: 0

    Er, or something like that.

    I got the impression that the NASA technique has nothing to do with pair programming, coding the unit tests first, and the other elements of Kent Beck's faddish Extreme Programming methodology. And more to do with having damn little time to write code and get it right, or literally priceless science may be lost.

  7. New news publishing paradigm? by serge587 · · Score: 1

    Extreme publishing! Shit I hope it doesn't catch on.

  8. resent on Thursday by Anonymous Coward · · Score: 0

    I've resented a lot of code I've written!

  9. Re:No mention of Extreme Programming? by conureman · · Score: 1

    I gathered that if they uploaded a bad string, the lander gathers dust for a wasted day. Beaucoups dinero riding on correctness. Matthew Robinson's team look like heroes, this is like the triumph of the coders.

    --
    The cost of that cleanup, of course, will be borne by taxpayers, not industry.
  10. Units? by pythonist · · Score: 2, Funny

    I'm wondering what units they are using? American? SI? or Martian?

    1. Re:Units? by hvm2hvm · · Score: 1

      Well for time they are thinking in Martian time. Especially for scheduling experiments. They are working themselves in a Martian timezone. They said that in a conference I saw on NasaTV.

      --
      ics
    2. Re:Units? by Anonymous Coward · · Score: 0

      In all seriousness ,
      The answer may be Raw A/D converter units .
      For example 300 Kelvin in temperature = AB Hex =2.5 Volts DC ,
      battery voltage = 1f3 Hex or 14 Volfs DC etc..
      The conversion need not be part of the spacecraft at all, but can be done on earth
        No need to waste the spacecrafts CPU time to convert Voltage and currents to units , this is the way it's done on Earth satellites

  11. Call me a pragmatist... by Dice · · Score: 3, Funny

    ... but when I hear terms like "EXTREME PROGRAMMING!!!1eleven" I just roll my eyes and stop listening.

    1. Re:Call me a pragmatist... by Jeff+DeMaagd · · Score: 1

      There has to be some good jokes there. I think some members here can come up with solid promo dialog for an MTV-style code-off.

      Don't miss it! It's EXTREME!

    2. Re:Call me a pragmatist... by Anonymous Coward · · Score: 0


      That just reminded me of the best page in the universe. Fracking funny too.

    3. Re:Call me a pragmatist... by Anonymous Coward · · Score: 1, Funny

      "Extreme Programming" is a development methodology (DSDM, Waterfall, Open Source etc.) focusing on an obsessive amount of unit testing. It's not like the extreme in "extreme sports". Though that would be awesome. I can see it now. "He jumps from the plane at 14,000 ft. Oh shit, he build is broken! Debug. DEBUUUG!"

    4. Re:Call me a pragmatist... by justinlee37 · · Score: 2, Insightful

      I don't think the actual article has to do with the XP methodology, though, the headline writer was just too dumb to avoid referencing XP 'cause he didn't know about it.

  12. Resent code? by vjoel · · Score: 1

    Engineers successfully resent the code on Thursday... We all resent coding on Thursdays. Some are just more successful than others.
    --
    What part of `yes no` don't you understand?
    1. Re:Resent code? by Anonymous Coward · · Score: 1, Funny

      If the NASA staff is typical, then Wednesday is probably poker night for many. The games go on well past midnight, so they don't need to report to work the next day and have some robot 35 million miles being a problem.

  13. Why all the resentment? by Anonymous Coward · · Score: 0

    Engineers successfully resent the code on Thursday.


    Guys, no need to be like that. Just because the code didn't transmit properly the first time is no reason to be bitter.

    --Justin
  14. Why do they have to do this much coding? by Anonymous Coward · · Score: 2, Interesting

    According to TFA, each member of a team of 30 engineers must write ~1500 lines of code, per day, in order to control the robotic equipment on board. This coding is done in C. Does this strike anyone else as a brain dead way to control a robot on a day to day basis? Why do they have to write the commands in such a low level language. Can't they abstract this into a more manageable format?

    1. Re:Why do they have to do this much coding? by Tablizer · · Score: 4, Insightful

      I agree, there's something odd about using C to "program" daily instrument movements. They just need coordinate tables, not C programming. If there are conditionals, they cannot be complex enough to justify C, can they? The rovers didn't have very many conditionals for their sequences based on what I read. If something is not as expected, they usually have the rover stop and wait for Earth confirmation, NOT make the robot select contingency options (unless automated driving is on, but it still has low tolerances before going into wait-mode). I suspect the article is confusing the work of two different teams: the "operating" software developers and the instrument sequencers. Some journalists don't know C from a horse shoe......oh wait.

    2. Re:Why do they have to do this much coding? by GrayNimic · · Score: 2

      From what I understand, Phoenix's on-board memory is sufficiently limited that they cannot keep the entire set of "normal" operations on-board (ie, the library would take up too much space). So for each day's actions, they have to include the relevant subsets of the library in with the command code. If those library excerpts are included in the line count (it would make sense from a "upload size" perspective, if not from a "programming" perspective), that could explain it.

      Also, be careful with comparisons with the rovers. While the rover arms and the Phoenix arm are related, they've got some critical differences. One that makes the Phoenix arm movements far more complex is lack of any kind of touch/pressure sensor - the rovers' have them, so you know that you've contacted the rock simply by it being triggered. With Phoenix, they instead have to base "contact" on the change in torque values at the arm joints. That means a lot more calculations, and more daily variation (based on what you expect to be impacting/digging into).

      Phoenix also doesn't seem to be very self-aware (ie it can't corelate two kinds of data, such as using the stereoscopic camera to understand what the arm is doing), meaning that it has less capability to do contingency cases - it can't even notice that something has gone wrong. All of that processing, evaluation, and decision making has to be done back on Earth. The rovers are much more self-aware, in terms of sensors about their state (wheel revolutions, etc) and more complex uses of the data it acquires (hazard-avoidance cameras).

    3. Re:Why do they have to do this much coding? by Anonymous Coward · · Score: 0

      Because the last time they used Visual Basic the polar lander crashed into the planet.

      News Flash: the programmers at NASA are WAY better at coding than you ever hope to be. I'm fairly certian they know what they are doing.

    4. Re:Why do they have to do this much coding? by mbone · · Score: 1

      Not quite :

      And the developers, who used the C programming language to build their own software for a Linux operating system, are expected to be dealing with that challenge for about three months

      That, to me, says that they wrote the command software in C, not that they use C to program the lander.

      However, if they did, it wouldn't be unprecedented - Forth is used to control a bunch of satellites and astronomical gear, and in my experience you do have to write Forth programs to get things done in that environment. The old Viking Landers were controlled by writing in assembly language, which is even worse, and which eventually killed Lander I, when bad commands were sent to the Lander after everyone familiar with the computers used had been let go.

    5. Re:Why do they have to do this much coding? by Tablizer · · Score: 1

      Phoenix's on-board memory is sufficiently limited that they cannot keep the entire set of "normal" operations on-board (ie, the library would take up too much space).

      I find this a little hard to believe. It is true that "space chips" are not as spacious as regular chips because they have to be radiation-hardened, but even then there should be plenty of room for compiled libraries. It is likely cheaper to have larger storage than to re-transmit the libraries.

      And even if so, couldn't the library inclusion be mostly automated? Thus, if you reference items only in library X and Z in your activity sequence, then only X and Z are included by automated referencing tracking.

      It would be interesting if Slashdot invited a programmer to answer questions after the mission winds down.

    6. Re:Why do they have to do this much coding? by Saeculorum · · Score: 2

      I'd suggest looking at pricing for radiation-hardened parts sometime. A radiation-hardened 2 Megabyte SRAM on a programs I am working on costs around $40,000, and it's not even particularly quick. There are very real code size considerations for space programs, especially when all of this has to run on a battery!

    7. Re:Why do they have to do this much coding? by dodobh · · Score: 4, Insightful

      That close to the metal, with the limited memory space and CPU power? C is probably the highest level language which works.

      --
      I can throw myself at the ground, and miss.
    8. Re:Why do they have to do this much coding? by Tablizer · · Score: 1

      A radiation-hardened 2 Megabyte SRAM on a programs I am working on costs around $40,000

      For a $600,000,000 mission, $40,000 is comparatively small. If you were building an expensive robot that had to operate far away, would you skimp on the brains? (Insert Abi-Normal jokes here :-)

      especially when all of this has to run on a battery!

      Compared to everything else, memory is a relatively cheap use of power And it only has to be energized for change, not for storage for flash-like chips.

  15. !extreme programming by religious+freak · · Score: 4, Insightful

    Aside from having a strong general dislike for anything 'extreme', this is wrong because this is obviously (at least from what I saw) NOT extreme programming, it's programming for harsh environments (no not Windows :).

    Crappy title.

    --
    If you can read this... 01110101 01110010 00100000 01100001 00100000 01100111 01100101 01100101 01101011
    1. Re:!extreme programming by maxume · · Score: 1

      What about extreme moderation?

      --
      Nerd rage is the funniest rage.
  16. I hope they mean... by Anonymous Coward · · Score: 2, Funny

    I hope they mean this type of Extreme Programming.

  17. Vista Mars Lander by Anonymous Coward · · Score: 0

    Are you sure you want to do this, Windows cannot verify the software that is going to be installed on your Vista Lander system!

  18. One word by Ruvim · · Score: 1

    Decaf?

  19. It needs to be said by AXNJAXN · · Score: 0

    Lots of engineers resent their code, I'll bet.

  20. Re:No mention of Extreme Programming? by Anonymous Coward · · Score: 0

    Having a plan that requires 1000 lines of new C code every day is f'ed up beyond all belief. Someone doesn't know what they are writing about.

  21. Re:No mention of Extreme Programming? by Anonymous Coward · · Score: 2, Interesting

    Having a plan that requires 1000 lines of new C code every day is f'ed up beyond all belief. Someone doesn't know what they are writing about.

    Wow, yeah. You actually inspired me to read the article. I thought "LOL, yeah right, AC must've made a typo". But I'll be god damned, the article really says that.

    I always thought I was a fairly decent coder, but I might have to re-evaluate if other people can do 1000+ lines of debugged, production quality code every day.

  22. Why didn't they automate Dumping The Scoop, etc? by Anonymous Coward · · Score: 2, Interesting

    Some of the things shouldn't require detailed programming each day,
    because they could have been programmed into a firmware library!

    The geometry between the arm, scoop, & the 8 ovens doesn't change,
    so that could have been automated.
    Instead of coding the whole damn thing
    & hoping the signal can get there that day,
    they could have told it
    Invoke "dump scoop into oven # 1 routine"
    and saved the interplanetary bandwidth+delays
    for something that required customization...

    Also, this business of EVERYTHING waits if one link in the chain gives,
    suggests that JIT is the wrong paradigm for this case...
    at least slightly.

    The life of the machine is known to be finite,
    the conditions are extreme in temp & superfine dust,
    the thing's been jostled a bit in getting it there,
    loss of function-time is costly, isn't it?

  23. Hello World by Anonymous Coward · · Score: 0

    Gives a new meaning to // EXEC ASSEMBLY
                START
      MAIN BALR 2,0
                USING *,2
                OPEN PRINT
                MVC BUF,HW
                PUT PRINT
                CLOSE PRINT
                EOJ
      HW DC CL132'HELLO WORLD'
      BUF DS CL132
      PRINT DTFPR IOAREA1=BUF,DEVADDR=SYSLST,BLKSIZE=132, *
                    DEVICE=3203,CONTROL=YES,PRINTOV=YES
                END MAIN /* // EXEC LNKEDT // EXEC /* /&

    now that is EXTREME programing, extreme as... extreme!

  24. Extreme Temperature by sciop101 · · Score: 1

    "the planet's temperature will drop well below the current safe range of minus 170 degrees Fahrenheit to 32 degrees Fahrenheit"

    At least no confusion about those metric and British units.

    --
    The only thing new in this world is the history that you don't know.[Harry Truman]
  25. Say What!? by Sam36 · · Score: 3, Interesting

    Why did they use vxworks instead of linux?

    1. Re:Say What!? by Xiaran · · Score: 3, Informative

      There can be lots of reasons. I like Linux as much as the next guy and have been using is since back in the days when I installed it on my 386 from dozens of floppies(and nearly fried my CRT monitor several time configing X :) Those were the days :) ). But I used to work on a project that used QNX. I was often pestered by people saying "Why cant you do that in WIndows" and then "Why cant you do that in Linux". Frankly we didnt because

      1. We had years of libraries that were QNX specific
      2. There were real time requirements that Plain Linux was not up to(real time linux may be... but you are talking a major porting project)
      3. We had literally man-decades of programming experience in our team.
      4. We were using a database soultion that was not available on Linux(and is still not)

      SO the upshot is... it is often a decision to either have something working now to do the job or wait another few man-years before a (probably buggier) version is done for Linux. Its not anti-Linux. Its just common sense.

    2. Re:Say What!? by JamesP · · Score: 2

      I believe the main issue with using linux is memory protection.

      "Real Time OS" is (kind of) "marketing speak" for a OS that does pretty much nothing. Not because it is bad or poor, but because it was designed that way.

      And really, up in Mars you don't need hundreds of processes, user interaction, etc, etc

      What you need is a basic framework for working with (and that VxWorks does), and you ABSOLUTELY NEED the OS to STEP OUT OF THE WAY when you need it!

      Because sometimes the only way to fix a problem is binary patching something on the fly, or rewriting most of the system data, etc. Try doing that in Linux.

      --
      how long until /. fixes commenting on Chrome?
    3. Re:Say What!? by Anonymous Coward · · Score: 0

      vxworks has been born as a real-time operating
      system, while linux has not.

  26. Buzzword Soup: Reliable Computing by RobBebop · · Score: 1

    I agree. It is not "extreme" to expect a device in space to have stand-by systems in place to withstand radiation. I believe the currently accepted buzzword for this is simply "reliable computing".

    The idea is to anticipate failure events, and designing the system to survive them. It is cool... but certainly not extreme.

    --
    Support the 30 Hour Work Week!!!
  27. lucky for them by someone1234 · · Score: 1

    >And they have a lot of interplay between different instruments, so you have to make sure the sequences are not just working, but working together.

    I would have some interplay too, but Mass effect isn't out here, yet. Lucky Nasa engineers :)

    --
    Patents Drive Free Software as Hurricanes Drive Construction Industry
  28. Some other interesting points about that article by Fallen+Andy · · Score: 4, Informative
    1. Only 8 ovens, which can't be used more than once. Hence all the painstaking deliberations

    about when to really go for a scoop of soil.

    2. Only 3 months before it will get too cold and the lander will (probably) die.

    3. Martian day, (roughly 24hrs 40mins).

    The NASA programmers have been my heroes ever since the hacks they did to Voyager.

    I guess after they've finished the programmers will take up something more relaxing (like working for EA).

    Andy

  29. Sorry... by oblivionboy · · Score: 1

    ...which satellite was that? I mean there are so many orbiting Mars....

  30. Re:No mention of Extreme Programming? by Hognoxious · · Score: 1

    Having a plan that requires 1000 lines of new C code every day is f'ed up beyond all belief.
    Not really. Now if it was Visual Basic...
    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  31. Obligatory PA reference...x2 by adamofgreyskull · · Score: 2, Funny

    Google > NASA for directions
    Mars is roughly 3715 miles from me, as the deepcrow flies.

    1. Re:Obligatory PA reference...x2 by Anonymous Coward · · Score: 0

      this is spam?

  32. English language more complex than first thought.. by adamofgreyskull · · Score: 1

    Words can have different meanings. Film at 11.

  33. shifts? by Anonymous Coward · · Score: 0

    "One day, for example, they'll start work at 9 p.m. to get the code to the Lander in time. The next day, they'll start at 9:30 p.m."

    Sounds a bit like my working days...

  34. Re:Some other interesting points about that articl by Lumpy · · Score: 2, Insightful

    Exactly, I get a kick out of guys that second guess programmers that are so more advanced than they are that they can only HOPE to aspire to be as good as the guys at NASA.

    That and From my experience, less than 10% of all programmers have ever done anything embedded or robotics wise. The rules change when you are writing software for engine management, robots, or space probes, than when you are writing a new consumer toy app or spreadsheet program.

    --
    Do not look at laser with remaining good eye.
  35. ... sure scares this old timer. by Fallen+Andy · · Score: 1
    I started out my programming career porting the UCSD p-system. Bad enough being given a processor I'd never seen or programmed before , a box of bad photocopies and burning my way through 5 prototypes . Motorola 68K based with an "advanced" I/O processor (6809) which had bugs in the firmwire handshake with the MC68K. No parity on memory. Double sided board big enough to play golf. That was my first port. (It really helped that it used a blurry color Sinclair QL monitor at 110 column resolution - aarrgghh my eyes).

    Debuggers? Hah. When I first got to play with an Orion Instruments logic analyser a few years later it was paradise (at least until I figured out it was a productivity loss (grins)).

    Andy

  36. Coders feeling indignant? by jakkals · · Score: 0

    ' Engineers successfully resent the code on Thursday." My internal English compiler tripped over this sentence a few times, until I mentally changed this sentence to: "Engineers successfully re-sent the code on Thursday".
  37. Resent by Anonymous Coward · · Score: 0

    > Engineers successfully resent the code on Thursday.

    Why do they have to wait until Thursday to resent it?

  38. Bummer Alert! Incoming Facts Detected! by Anonymous Coward · · Score: 2, Interesting

    A couple of details to clarify:

    1. The "code" the folks at the Pheonix SOC are using is called "VML", which is a script language developed by a fellow named Chris Grasso and is similar in some reards to the earlier command language "CDL" from the 70's. They are not doing any programming in C or anything like it, and VML isn't all that sophisticated (it has no array type, for instance). It's designed to do one thing well, and that's control a spacecraft by issuing command messages at specific times.

    2. The software on the spacecraft that actually runs everything was written entirely in ANSI C, and it all runs on the VxWorks RTOS on a radiation-hardened PowerPC CPU in a VME card cage. Linux isn't anywhere near the actual spacecraft (so all you Linux fanboys can calm down now). Linux sits on some folk's desks, and it was used by some of the instrument teams in the development phases for file servers, metrics tools and so on. The actual Windriver compilers for the target CPU run under Solaris. Not Linux. Sorry.

    3. The challenge facing the operations folks is centered around getting the various instruments to sing and dance together at the correct times. Most of the team members are people with PhD's in planetary science, atmospheric science, geology, optical science, math and so on.

    How do I know all this? Well, let's just say that a little part of me is now sitting on Mars.

  39. "Extreme Programming" -- Misleading headline by justinlee37 · · Score: 1

    "Extreme Programming" or "XP" is actually a software development methodology. However, the headline writer seems to have used it in a context which means "This programming is challenging."

    Now, this might not seem like a big deal, but please try to remember that this is Slashdot. The publication is targeted at the nerdy sorts who are likely to have knowledge of software development methods ... so please, try to keep these things in mind when writing headlines? I literally thought you meant that Phoenix was programmed and maintained using XP. That would have been an interesting tech article, but it doesn't appear to be anywhere near that in-depth.

    FTFA: "'Building the sequences is an extreme programming challenge every single day,' [Robinson] added."

    That has literally nothing to do with XP. It's just the one phrase from the article with the biggest "woah, like cool dude!" factor. Give me a fucking break.

    It's possible that the engineer was himself referring to the XP method, but even if that was the case, whoever wrote the original article and whoever wrote the Slashdot headline were obviously both clueless about what he was referring to.

  40. how was it sent by Anonymous Coward · · Score: 0

    $> wget http://somewhere.com/download/phoenix.tar.gz
    $> scp phoenix.tar.gz root@phoneix.nasa.com:/root/firmware/

    ~~ac3bf1