
Why don't they just..? - jgrahamc
http://blog.jgc.org/2012/08/why-dont-they-just.html
======
acabal
When I first started in corporate programming and had to pick up on big
projects that someone else had left off, I often found myself saying the same
thing a lot. "Man, they did this in such a dumb way. Why didn't they do it
this way? They must not have been very smart."

So I would go in and "fix" things... only to find out a month later that the
code was the way it was because of some obscure edge case that I had never
thought of. It turns out that in my arrogance _I_ was the dummy all along.

After that happened a couple of times, I stopped approaching strange code with
that attitude. Programmers are in general pretty clever, and if you see
something strange in some code, don't assume it's because they're dumb. At
first assume it's because _you're_ dumb, and only change your mind if careful
and deliberate analysis--and talking to someone else with history in the
organization--proves otherwise.

~~~
FuzzyDunlop
After the recent discussion about code-comments, that sort of code is exactly
the sort that requires an explanatory comment.

Then all of a sudden, you don't need to waste time on careful and deliberate
analysis, and hunting down people who might know about it, and making
assumptions, because the 2 minutes it would take to write a few lines of
explanation would save you all of that.

At which point, the real question is: why did they choose not to document this
non-obvious solution, and the edge case that required it?

~~~
kaib
I've come across a lot of code where the code itself was the clearest way to
communicate the subtlety inherent in it. I think you have an inflated
expectation of what human languages can document in a reasonable space. Many
times it will take months to understand the edge case even if you have a human
trying to describe it to you directly, let alone by reading a non-interactive
comment.

~~~
gjm11
The code may well be the clearest way to communicate the subtlety. That
doesn't mean a comment isn't helpful to communicate _that_ there's subtlety
there and give some idea of what sort of case it's meant to be about.

    
    
      // It may look as if you could just say p->adjust() here,
      // but that doesn't work because of a subtlety involving
      // cancelled credit cards belonging to purchasers in Uganda.
      // Please tread carefully!
    

... And then, if talking to another human being is the only real way to grasp
what's going on, you use your version control system to find out who added
that comment and go talk to them.

------
antr
"Annoying because the underlying thought is "Those NASA/JPL guys are so dumb""

I have to disagree with this statement and the article. I've asked some of
these questions in the past, and the reason I ask is because I'm curious, not
because I'm trying to call anyone "dumb".

The fact that people try to understand the underlying technology of such a
complex mission, and later followup with a "why" question, simply shows how
the general public is interested in these events.

I'd be more worried if people didn't ask any questions at all, implying that
they do not care for such scientific and technological breakthroughs.

Indifference can be a dangerous thing.

~~~
emil0r
Fairly big difference between asking "Why don't they...?" and "Why don't they
just...?". The 'just' tacked onto the end of the beginning of the question
implies it should be totally obvious.

~~~
antr
regardless of semantics, it is ignorance--not knowledge--that is the true
engine of science

~~~
thaumaturgy
No.

It is the desire for knowledge.

I loathe semantic games in arguments as much as anyone, but I too often see
"ignorance" being given some kind of special place in science, where it
doesn't belong.

There's a reason why NASA didn't just dedicate 8 years, $2.5 billion, and a
tremendous amount of human effort to land a rover called "Ignorance" on
another planet.

Curiosity: in this glorious age of Google, Wikipedia, Wolfram-Alpha, and so
many other free and readily available resources, it doesn't start with the
words, "Why don't they just..."

~~~
antr
read ignorance as a lack of knowledge - not the voluntarily action to ignore.

~~~
batista
> _read ignorance as a lack of knowledge - not the voluntarily action to
> ignore._

Same thing. You cannot do anything with just "lack of knowledge", whereas you
can do lots with either "knowledge" (e.g process it and extract more
knowledge, conclusions, dis/prove theories etc) or curiosity (e.g obtain
knowledge).

Lack of knowledge is passive. Curiosity is active.

------
simias
Well, I wrote one of those "why don't they just" comments on an article posted
by jgrahamc[1] two weeks ago, so I feel the need to justify myself here.

Of course, as you point out I didn't mean to say that I know better than the
guys at NASA. It's meant as "The way they do it seems strange and non-
intuitive, how come they do this?". I agree that I could've worded that
better.

That being said, I disagree when you say "It doesn't take much research to
find the answer". Case in point, my comment:

"Why don't they just put a camera filming downwards to determine the ground
speed? Wouldn't it be simpler and more reliable?"

I don't think any of your "answers" addresses this specific question. So it
boils down to "Because it's on friggin' Mars, doofus". When I posted the
comment, I hoped someone around here had an explanation for this (after all,
determining a ground speed is something even non-space exploring robots need,
I'm sure :).

But again, I agree the wording is awkward and comes off as pretentious, but do
believe that it wasn't anything but genuine curiosity (sic).

[1] <https://news.ycombinator.com/item?id=4345126>

------
fsniper
The questions will be dumb. they will repeat again and again. That's because
not everybody is an expert on Mars robotics. Everybody has daily tech and they
just use these tech as comparison points.

For instance, people have everyday technology in hands and they believe, if
the ordinary Jane/John Doe has a multi core processor smart phone costing them
1000$ with manufacturer margin, NASA/ESA/JPL whatever guys with millions of
dollars of funding has to use better and faster and fancier hardware. And by
being ordinary John/Jane Doe, fancier does not mean "radiation hardened",
"autonomous in hostile environment", "updatable on slow and relayed links".
Because these are not their daily problem. They do not know about them. Also
if Apple/Samsung/Motorola heck even Nokia guys could design and mass
manufacture, and distribute any smart phone in a few months to be held on
john's or jane's hands, NASA must be a fricking snail fast. How distant could
Mars be? I can transport from continent to continent in a few hours?

Don't be harsh on them.

Some of the questions may seem dumb, but may be really good questions if they
are worked on. For example, I believe radiation hardening is needed because
while transportation to Mars there is massive amounts of radiation to be moved
through. If the Curiosity would not be operated in the journey, and Mars
radiation levels are not that massive. Could Curiosity use multiple (with
spares of course) faster and cheaper ordinary processors with small energy
footprint, if the transportation was inside a radiation hardened armor that
would be gotten rid off on the Mars surface?

~~~
ctrlaltesc
Just to answer the example: Mars does not have a magnetic field of significant
strength. Curiosity needs shielding on the surface.

Perfectly reasonable question though.

~~~
fsniper
Sorry but I could not understand the shielding on surface. What is this
shielding for?

~~~
nicholassmith
On Earth due to our magnetic field and outer atmosphere the radiation that
gets fired at us constantly is massively reduced, on the surface of Mars the
rover still needs to be shielded against radiation as there's nothing similar
to protect it.

------
K2h
This last year I have made a conscious effort that whenever I use the word
'just' in communicating at work I stop. It has taken some time and
introspection but for me personally when I prefface a statement with "... just
do.." it follows with a statement I have put about 10 seconds of thought into
and isn't really valuable.

I now listen for the word 'just' when other people are pitching ideas, or
forming repsonses and tend to ignore what is said next as I suspect they too
have put little thought into the statement they are about to make.

I'm not sure this is a great general case recomendation, but it has helped me
in my parsing language for possible stupidity.

~~~
Evbn
Just is a four letter word. Discourse is almost always improved when you
remove that word from a sentence.

------
16s
The attitude of ___I know better than they do_ __is really strong in
technology and programming in general. Most people who make those claims know
not of what they speak.

~~~
incision
I'd say it's really strong everywhere, particularly technology and
programming.

Thing is, unlike the average folks with lofty ideas of self-serving "fixes"
for every irritation in their lives, people in technology aren't just
consumers from a distance - they're builders, maintainers and influencers.

It's a dangerous problem when these "active" people don't understand context,
concessions, dependencies and just generally what it takes to actually create
things in the real world.

I believe it's one of the roots of various stifling attitudes of conformance
and covering your ass above real, forward homegrown engineering.

Apologies if that doesn't make sense. I had a hard time trying to articulate
my ideas there.

------
todayiamme
An even cooler project would be proving once and for all that a swarm of
small, rugged drones can indeed cover a larger area in harsh conditions and
are a much more sensible strategy in exploration than a large single drone.

Iff you have ten, twenty expendable machines then you don't need the same
level of QA, thus opening up a lot of interesting possibilities. If we can get
equivalent amounts of exploration done in just half (or maybe quarter) the
cost then it opens up room for an arms race of sorts where each generation can
be rapidly iterated upon and we can plan such missions within a one or two
year timeframe instead of an eight year one.

Of course, this is easier said than done... ;)

~~~
deeringc
Well, surely for a certain type of scientific mission (e.g. something like
spectral analysis via ChemCam) you cannot just shrink down the components and
instruments indefinitely. The size of Curiosity is directly related to the
fact that it is bristling with scientific instruments like no other probe
before it. Sure you could make a swarm of toaster sized drones that just go
off and cover ground, but the purpose of this mission is not just to take some
pictures but to do some very detailed scientific analysis.

~~~
todayiamme
What you could do is have dedicated drones which are essentially movable
instruments, so you can have co-operation on tasks and say teams of 3 or 4
(one vaporises, the other has the spectrometer. One drills, the other has the
reagents and so on)

If you enter this paradigm then you can eliminate costs such as that long arm
which you need to position the instrument package. That arm in of itself is an
engineering marvel and it requires a lot of careful design to make sure that
it doesn't malfunction. (remember you have a not so light weight at the end,
the torque due to that is huge and you have a complex assembly consisting
linkages to transfer torque and so on...)

The idea of this is to see how simple and redundant you can make things. If
for the cost of that arm we could have one small team of rovers wouldn't it be
worth it? Wouldn't it jump start exploration?

~~~
deeringc
What you might "gain" in reduced complexity by getting rid of the arm you
loose massively in being able to power the whole system efficiently in one go.
If you split the 10.6 pounds of plutonium across N smaller drones you would
need to duplicate N Radioisotope Thermoelectric Generators (RTPs), power
electronics, batteries, radios, cameras, computers and probably a half a dozen
other things I haven't thought of yet. This probe is going to be going for at
very least 10 years - probably quite a lot longer, all because of the design
choices around how it's powered.

~~~
todayiamme
Again do we need all of those systems? Why can't you have two dedicated
machines for earth communication and the rest communicate via a HF radio
protocol? You don't need a RTG if it's say sojourner size and packs one
payload on a standardised mobile base, solar panels will work just fine. Since
you have redundancy built into the swarm you can skimp on a lot of things
including computing power. Remember you can use group decision making for more
complex "choices" and if you lose a few drones due to unforeseen obstacles,
then objectively it shouldn't matter, so you don't need a lot of LIDAR and
stuff as well. As far as heating and shielding goes then the smaller size
actually works to your advantage.

I don't see any reason why someone shouldn't make this. Yes these probes will
be disposable, but that's the entire point. They can be used and thrown away
opening doors to risk taking that we haven't really seen before.

~~~
natep
"I don't see any reason why someone shouldn't make this."

You are exactly the kind of person that should build your own lander if you
don't see this. And please, stop asking all of these questions in bad faith. I
applaud deeringc for engaging with your specific points, but I can't bring
myself to do this, since it seems to me like you assume all aerospace
engineers are uncreative drones that can't think outside the box and see the
obvious solution you've reached from your armchair.

Have you ever built a multiply-redundant, space-worthy, swarm-based system
before? Have you built something that's any one of those three? If not, I
don't have a problem with you thinking about them, but I do have a problem
with your attitude. Edit: to clarify, I mean the attitude that comes across
from your writing style. I have no idea what your qualificaitons are, how much
thought you've put into this, how receptive you are to the idea that you're
wrong, whether or not you recognize that everyone has more "unknown unkowns"
than anything else, or what your actual attitude is. All I have are the words
you write here. And my natural response to snark is more snark.

And if you think you're the first person to think "wouldn't it be great if not
every spacecraft didn't have to have to re-solve the problem of power,
communications, and computation?" I first heard the idea proposed in a 2009
talk[1] by someone who has been an insider for over 20 years. Some gems I
remember from that talk:

* Having an identical copy is not redundancy

* Complexity is inherently more succeptable to failures

* Cars have been widely successful because of gas stations and repair shops. Spacecraft have to drag around their own

* We could create a ring of satellites, each dedicated to providing comms to earth, wireless power, computing power, or whatever. Users of the system would just need to build a structure, interfacing components, and their instrument and launch it into a nearby orbit.

[1] Abstract: <http://www.spacecraftresearch.com/files/Fleeter.pdf>

~~~
todayiamme
> You are exactly the kind of person that should build your own lander if you
> don't see this.

Once I have the financial resources, I actually plan to do so.

> Have you built something that's any one of those three?

To answer that yes I have, which is a completely orthogonal fact to my
original comment because I am advocating reducing the qualifications of
"space-worthiness" through the use of multiple copies. After reading your
comment I decided that there had to be some respectable source who had
advocated this earlier at some point and with some research I found this paper
written by Rodney Brooks called Fast, Cheap and Out of Control : A robot
invasion of the solar system outlining the same concept;
<http://people.csail.mit.edu/brooks/papers/fast-cheap.pdf>

> I mean the attitude that comes across from your writing style.

Yes, I agree that my comments could look snarky under the weight of your
assumptions, but I was doing my best to be genuine and engage in an honest
discussion

> I have no idea what your qualificaitons are, how much thought you've put
> into this, how receptive you are to the idea that you're wrong

I'm actually quite certain that I'm wrong most of the times, but I don't know
how I'm wrong and discussing, building things are the only ways to find out.

> whether or not you recognize that everyone has more "unknown unkowns" than
> anything else

Yes I do and it is a terrifying thought.

> or what your actual attitude is.

I'm doing my best to learn as much as I can and to never judge. (judgement
takes up too many mental resources)

> And if you think you're the first person to think "wouldn't it be great if
> not every spacecraft didn't have to have to re-solve the problem of power,
> communications, and computation?"

I'm not and I would love to do more than just think and actually build things.

> * Having an identical copy is not redundancy

Can you please explain why? Is it because the failure points remain the same?

~~~
natep
Hey, I'm glad you responded, and that I misinterpreted where you were coming
from and your intentions, but I guess that happens when limited to text (not
that a misunderstanding-free medium exists). But as you've probably gathered
by now, most of my response came from reading "I don't see any reason why
someone shouldn't make this. [and I doubt a good one exists]" instead of "I
don't see any reason why someone shouldn't make this. [and I would like to
hear some]"

> Fast, Cheap, and Out of Control

The first thing that popped into my head when I saw this title was NASA's
"Faster, Better, Cheaper" initiative. I will admit that I do not know much
about it, but what I do know is that there were some failures (as you would
expect) and the public did not react well. The failures did not come from not
having space-grade parts, IIRC, but for various other reasons. The most
infamous was the Mars Climate Orbiter, known for failing due to an imperial-
metric conversion error [1], that is still brought up in almost every space-
exploration piece that gets sufficient attention. Anecdotally, the lessons
learned by those I've talked to are (1) choose 2 and (2) the public will not
tolerate failure on large NASA projects, even if those projects cost a
fraction of what it takes to host an Olympics, or to buy Instagram, or fight a
war for a day.[2] But I have just now hopefully started a discussion with my
coworkers about this paper[3] on our message board.

So anyways, about the paper. It looks like your idea is only mentioned briefly
in the one section, and not fleshed out. The idea was somewhat more fleshed
out in the talk I went to. What I meant by my line of questioning was that I
haven't seen an implementation of these concepts outside academia, even though
the idea has been around for some time, and the industry isn't entirely driven
by irrational beings, so there must be some technical reasons why the ideas
haven't been fully adopted.

>> * Having an identical copy is not redundancy

> Is it because the failure points remain the same?

Essentially, yes. His argument that most failures were systematic, and not due
to unequal 'wear' of various kinds. Software especially, since on space
missions it is implemented to be as deterministic as possible. That means that
even if the primary processor fails gracefully due to bad internal logic, and
a hot backup immediately takes its place, the backup will behave in exactly
the same way given those inputs, which are likely to stay the roughly the same
across the switch. Another example is a mission where the high gain antenna
succumbed to a systematic failure, and they completed the mission on its low
gain antenna. If there had been 2 identical antennas, they would not have been
able to.

Designing and testing components to last a long time under the conditions you
expect and test for is relatively easy. It's when the designs and tests don't
match reality is when the problems happen. If you write something and make a
copy, it will retain all of the typose of the original, and it's the same with
Code/CAD/etc (and you might be more likely to introduce bugs than fix them).
Ground-based systems can get away with this because of how easy it is to
replace/repair broken units in a redundant setup.

[1] Even though it was due to a much larger issue related to how the project
was carried out, and just happened to manifest in that error. It could have
easily been a kilometer/meter mixup instead. And having a backup string of
landing hardware/software wouldn't have helped in this case, unless the backup
units had a different design/implementation.

[2] And yet, JPL still chose to use the skycrane. Very couragous.

[3] [http://www.dau.mil/pubscats/ATL%20Docs/Mar-Apr10/ward_mar-
ap...](http://www.dau.mil/pubscats/ATL%20Docs/Mar-Apr10/ward_mar-apr10.pdf)

~~~
todayiamme
>>> most of my response came from reading "I don't see any reason why someone
shouldn't make this. [and I doubt a good one exists]" instead of "I don't see
any reason why someone shouldn't make this. [and I would like to hear
some]"<<<

Ah I see. I'll start qualifying my I-don't-see-any-reason-whys from now on
with the latter statement. :)

>>> I will admit that I do not know much about it, but what I do know is that
there were some failures (as you would expect) and the public did not react
well.<<<

I guess that's the real reason why this won't be implemented by government
agencies. Space missions are a matter of national pride and no one wants a
"designed to fail/waste of money" accusation on their hands. However,
empirically speaking it seems to be the best way to do things as we can
increase the amount of explored area quite rapidly and respond to changes much
more quickly. I think that when private companies such as Planetary Resources
start doing exploration they will be forced to adopt this model because of
their constraints and a lot of amazing solutions will come out of it. If that
happens then it might open up a pandora's box and advances will happen much
more quickly. Some people will see it as a bad thing, but as long as the
systems are autonomous it should lead to a lot of good things.

>>> 2) the public will not tolerate failure on large NASA projects, even if
those projects cost a fraction of what it takes to host an Olympics, or to buy
Instagram, or fight a war for a day.<<<

More importantly the politician who approves it probably won't get re-elected.

>>> [2] And yet, JPL still chose to use the skycrane. Very courageous.<<<

I was quite shocked when I heard it worked. I was willing to bet on the side
of failure because of the sheer complexity involved. A small timing error,
sensor glitch or the other million things that could have gone wrong would
have led to failure. It's quite impressive that they managed to do such a high
stakes real-time task more or less autonomously. It really was quite a daring
thing.

>>>your idea<<<

It's definitely not mine. I bet people were talking about it when I was in
diapers.

>>> What I meant by my line of questioning was that I haven't seen an
implementation of these concepts outside academia, even though the idea has
been around for some time, and the industry isn't entirely driven by
irrational beings, so there must be some technical reasons why the ideas
haven't been fully adopted.<<<

Yes, I'm willing to bet that this has a lethal flaw which quickly led to such
implementations to be rejected, but the question is can this be hacked, for
the lack of a better word? Remember most organisations where rovers are
designed are meant to be risk averse and they, aside from NASA, have an
endless pool of resources to draw from. (I'm talking about the military) The
sociological and resource incentives in place simply work against any such
proposal independent of engineering viability.

>>> His argument that most failures were systematic, and not due to unequal
'wear' of various kinds. <<<

There's an interesting case to be made over here, one is redundancy at the
unit level and another is redundancy at the systemic level. Let's take the
swarm as a system, in that case if you have multiple backup copies of machines
adept at performing particular tasks then you essentially have redundancy
provided that the same method is _not_ followed at the unit level. In that
case if one failed for a particular set of inputs (hardware or software) then
you can "patch" the rest by either avoiding the physical situation or changing
the software. You can repeat that with individual units and let them have free
reign. If one of them gets destroyed then the other ought to be able to be
modified in time. Although it won't guard against stupidity at the unit level,
this should to be a much more redundant system than anything we can create
within a single one-use device.

At the level of the single unit, systematic failures come into play and more
copies is actually less over there. Things must be asymmetrically designed to
overcome edge cases and systematic failure modes and robust engineering makes
sense over there. I think that one of the best ways to implement such a system
would be to spend most of the resources in creating and testing a mobile base
which is independent of its payload. (attachable modules which perform
specific tasks) You should then be able to deploy this machine across missions
and learn from all of the real world testing in each mission to create
something truly robust and reliable. Once you achieve that you can start
offering redundancy at the swarm level through the payloads. For example in
that high gain, low gain antenna scenario, wouldn't it be better to have a
dozen robots equipped with a variety of antennas dedicated to communication?

>>> It's when the designs and tests don't match reality is when the problems
happen. <<<

Yes, but isn't the entire point of the exercise to fail early and fail often
so that you can succeed? If your system is disposable then any systemic
failure becomes yet another data point to engineer against and all future
systems are better because of it. There is no better laboratory than nature
and surely this is a point in favour of it? (unless I'm missing something)

Would you like to carry out this convo via email? If so then please feel free
to drop me a line at searchingforabsolution [at] hush.com

>>> [3] [http://www.dau.mil/pubscats/ATL%20Docs/Mar-Apr10/ward_mar-
ap...](http://www.dau.mil/pubscats/ATL%20Docs/Mar-Apr10/ward_mar-ap..). <<<

Thanks for linking me to this article! It was great.

------
rangibaby
Great post. I'm sure at least one person is going to say "But I don't have a
billion dollar budget to spend on my Earth-rover!" though.

------
TomGullen
I don't see any problem with the "Why don't they just..." questions. People
are curious. I don't really like the tone of the post, it comes off as a
little elitist to me and is going to discourage question asking in the future
if people are answered with that sort of tone.

Also "Why don't they just" has multiple meanings in my opinion. You explained
one of them, a sort of incredulous question querying the stupidity of the
people who made those decisions. But it's also used far more innocently as
well. I and a lot of my friends will ask questions in that format but as a
genuine query not meaning to tread on anyones toes or insult anyone. (I'm
having trouble articulating this!)

This sort of question asking isn't the exclusive domain of Mars rovers either,
it's everything. Politics, economics, business etc etc. It's just natural
human curiosity, people trying to understand things that seem counter
intuitive at first.

------
alan_cx
The problem is how the reader chooses to interpret the phrase, and usually
such phrases aren't made in a clear context.

From what I see, it looks like most readers interpret that phrase as an
arrogant arm chair expert assuming NASA, or who ever, are full of really
stupid people and the person "asking" is essentially suggesting he knows
better. The simpler interpretation that a person who knows they don't know is
simply asking is often the secondary thought, if that thought occurs at all.

I think that has a lot to do with the combat nature of on-line "debate".
People now are sort of trained to expect confrontation rather than a mellow
old chat. Kinda ties in to a recent thread here about , er, negative and harsh
replied to Show HN articles.

This is one of the things I'm beginning to really not like about on-line
discussions. I end up spending more time trying to make sure I'm not
misinterpreted than making my actual point.

------
hnriot
While I totally understand that the mission's computing power was decided a
long time ago, if they'd left some 'high risk' room in the budget (mainly
weight) then they could have added whatever new tech was available, say a year
before launch in the hope that it works, if it doesn't then the old klunky
decade old tech will still do its job, but just maybe the foil wrapped iPhone
will Facetime back to Earth and work just fine. Aside from adding a little
weight, it seems like a small risk to throw onboard something closer to
cutting edge with a caveat that it might not work in the mission plan.

I bet if NASA had had a competition to come up with the most likely to work
gizmo, up to 1 lb (or whatever) we'd have seen some pretty good ideas (beyond
duct taping an iphone to the antenna mast)

------
jhuckestein
Off topic: There's a comment
([http://news.ycombinator.com/reply?id=4408271&whence=item...](http://news.ycombinator.com/reply?id=4408271&whence=item%3fid%3d4406820))
that breaks the layout because it contains a very long word.

I was trying to find an easy CSS hack to make the layout impervious to long
words but it turned out to be a little tricky. Can anyone find a CSS "one-
liner" (few-lineser?) that'll fix this?

~~~
alter8
I deleted that comment with Noscript click-Del (new feature), but that kills
the answers too. The suggestion by jlev (hellbanned) is not working here.

------
bootload
_"... You need to be a bit conservative. The thing you're sending to Mars is
going to be on its own and unrepairable. ..."_

Hardware is hard to fix but software is do-able. There is a lot of
explanations how this was done with Pathfinder:

[http://research.microsoft.com/en-
us/um/people/mbj/mars_pathf...](http://research.microsoft.com/en-
us/um/people/mbj/mars_pathfinder/mars_pathfinder.html)

[http://chronicle.augusta.com/stories/2004/02/16/liv_404763.s...](http://chronicle.augusta.com/stories/2004/02/16/liv_404763.shtml)

<http://queue.acm.org/detail.cfm?id=1035610>

there was also some reconfiguring of Curiosity on-going/completed ~
[http://blog.chron.com/techblog/2012/08/nasa-about-to-
perform...](http://blog.chron.com/techblog/2012/08/nasa-about-to-perform-the-
ultimate-software-upgrade-on-mars/) there is also a lot of work done on 'self
healing' software systems ~ [http://www.zdnet.com/blog/emergingtech/self-
healing-computer...](http://www.zdnet.com/blog/emergingtech/self-healing-
computers-for-nasa-spacecraft/903)

------
tikhonj
There are perfectly valid reasons to ask questions like this: you may be
genuinely curious or confused about the issue. If something seems obviously
odd to me it usually means I'm missing some piece of information needed to
understand. Having somebody explain what circumstance I'm unaware of is
extremely useful and enlightening. If I ask a question like this it's to get a
better feel for the problem space rather than to imply any sort of
incompetence on the part of whomever I'm asking about.

The real problem is that it's hard to tell the people asking questions like
this out of truly interest apart from the people being undeservedly
condescending.

I suppose the most important thing is to phrase questions like this carefully
and to be polite. I think it's also useful for the answerer not to assume bad
faith unless it's very overt. A presumption of reasonableness from everyone
would markedly improve discussions about projects like the Mars rover which
generally contain very useful information and insight but can get side-tracked
by the very issues this article talks about.

------
ErrantX
Regarding #4; it would be nice to see someone pursuing a project to put a set
of comms satellites in orbit around Mars to significantly improve this
coverage.

If we are going to be making these efforts at Mars in the future (whether
autonomous or manned) it seems worth the investment :)

~~~
masklinn
> it would be nice to see someone pursuing a project to put a set of comms
> satellites in orbit around Mars to significantly improve this coverage.

Would that _really_ change anything? A higher bandwidth between the rover and
Mars's lower orbit will not make the link between Mars and Earth much faster,
and that's the true bottleneck.

Not to mention wireless communications are not "free" as any smartphone owner
probably knows and the rover's daily energy budget is pretty much fixed, the
more the rover stays in contact with Mars's lower orbit, the less energy it
has to drive around or fire its lasers.

And finally, for what it's worth, the MRO is already "significant improve[ment
of] coverage".

~~~
ZoFreX
> Would that really change anything?

Yes. The rover is only in communication with its satellite for a limited time
frame each day, and the satellite <-> earth link is wider than the satellite
<-> rover link. With more satellites we could have around the clock high speed
link up, and improve the bandwidth - future missions are likely to be loaded
with more and/or higher bandwidth sensors.

------
alexchamberlain
I think it's the conservative part people have a problem with. Someone at some
point in NASA's life had to take the plunge and develop the components and
algorithms to use, so it isn't unreasonable to expect some new components and
algorithms on new projects.

~~~
Sanddancer
Computers are something that NASA has always been conservative with. By the
time Apollo flew, the technology for the Apollo Guidance Computer -- RTL ICs
-- was a few generations obsolete. The shuttle's main computers started out as
designs derived from the IBM S/360. It takes time to design a radiation
hardened board, and from there, it takes time to integrate that board into new
designs. Thus, progress seems slow, but it's about as slow as it ever was in
hardware. Integrating a newer core late in the game means a lot of needless
regression testing for questionable benefit. Because of how orbits work, the
deadlines are a lot more set in stone, and if your change breaks something, it
could mean that you miss your launch window, and are sitting on your butt for
a couple years until it comes around again.

The algorithm part is equally simple to explain. Most of these algorithms
aren't broke, so there's no real impetus to fix them. The equations are pretty
well known, so between missions, there's really not a need to change them up.

------
smackfu
"1. The Mars Science Laboratory project was started eight years ago in 2004.
So, all the technology on it is at least eight years old."

This doesn't seem quite right. From watching documentaries on the past Mars
missions, it seems like each piece of scientific equipment is done separately
by various engineering groups around the U.S. and the world. They are only
integrated at the end. And those individual pieces of equipment are getting
changed right up until the deadline if they aren't working up to spec.

So the requirements are eight years old, but the tech isn't necessarily. They
are just very conservative in their requirements.

------
ajankovic
Well, "Why don't they just..?" question is not specific to this case. It's a
very common question in many other areas of life. In my opinion it's because
of general curiosity found in humans. And except mild annoyance it can be a
very good way to introspect your position.

For example if others haven't been asking this question we wouldn't got this
explanation. And now that I got this explanation of NASA's process I would
like to know "Why don't they just make all this process more agile?"

For example why have only one launch in 7 years with expensive hardware? Why
not multiple launches with cheaper technology?

------
biot

      > But rather than explaining all this stuff, I think there's a 
      > better way: build, land and operate a rover here on Earth.
    

Is this implying that building a rover here would provide an explanation for
their technical choices? With a 2kg payload limit for a balloon-launched
rover, you might be better off with the latest technology. GPS on a chip
rather than separate components making up GPS circuitry. Or a tiny, power-
efficient mobile chip rather than some power-hungry chip from a decade ago.

~~~
deeringc
I agree, especially because many of the reasons for the older, less cutting
edge technology used in space boil down to high levels of radiation. Building
a small 2kg probe, launching via a weather balloon and then exploring a desert
on earth would certainly be hugely educational (not to mention fun) but the
constraints would be very different to those on a Mars mission and so the end
result would look VERY different.

------
jayfuerstenberg
VxWorks was chosen because it does what it says on the tin.

------
joshu
"just" is a dangerous word. if you are hearing it, prepare to be condescended
to. if you are saying it, you probably don't actually understand the
situation.

------
dpcan
While I generally agree with what he says, I can't help but wonder why they
would build something over the course of 10 years without assuming that by the
time it would be sent into space, there would be better technology available
for various aspects of their design.

For example, build everything around the Camera, but make sure that when it's
within a year of going up into space, the design is such that the highest
resolution camera available can take the current camera's place.

Of course, anyone who has worked on the project will easily be able to say
that I have no clue. And I don't. But I guess that if I were included in the
planning stages, and it came down to the data collection components of this
machine, the first thing I would add would be that it should be capable of
upgrading to the latest and greatest within a year of launch.

As a final note, I understand that they DID do this with software. They can
update the operating system and roll back. They can advance the software, bug
fix, etc, in a VERY safe way from afar.

~~~
jgrahamc
Answers to this are here: [http://www.dpreview.com/news/2012/08/08/Curiosity-
interview-...](http://www.dpreview.com/news/2012/08/08/Curiosity-interview-
with-Malin-Space-Science-Systems-Mike-Ravine)

------
lovskogen
Why is tech so unreliable? Why does testing and building take so long time
that tech is outdated?

~~~
thaumaturgy
I used to wonder that too. Well, I wondered why nobody could seem to make
simple products that worked reliably without any duds and without a lot of
cost.

Then I got a job with a company that manufactures sensors used by a huge
number of companies and governmental departments, including NASA and Boeing.
And my job was Output Smoothness Technician -- which meant that I was the one
guy who was responsible for verifying the _electrical_ specifications of every
single part that left the plant. (The next two steps were QA -- which tested
things like watertightness -- and then shipping.)

I learned a lot from that job. I learned that there are a lot of decisions
behind every single little thing. For example, let's take the tiny little
linear potentiometers that Disney uses in its animatronics. Someone at Disney
decided they needed them; one team of engineers came up with a spec; another
team of engineers figured out how to turn the spec into something that could
be made; another team figured out how to make it. Then someone decided what
kind of metal to use. Someone else decided how to tune the potentiometer to
provide the desired output. Someone else decided what kind of grease to use.
And then during manufacturing, someone decided whether or not the housing was
good enough, someone decided whether or not everything fit together right,
someone decided whether or not the weld was good enough, and so on.

By the time that little thing got to me, there were thousands of little
decisions stored in it. Some good, some not. Then I had to test it and decide
whether or not it would do what the customer wanted. Should I throw it out,
wasting the company a lot of money? Or should I ship it, and let the customer
decide, and hope the QA on their end is better than me?

I pretty quickly developed a reputation as one of the toughest OS techs they'd
ever had. I threw back a lot of parts. The sales manager (who basically ran
that location) hated my guts. But we still had defective parts come back every
month!

Now imagine that you're trying to build something that you can't service, and
you can't fix. You get only one shot to get it right, and a lot of money and a
lot of people are riding on you. Best of all, you're building it to survive in
an environment that you just can't really create here on Earth, so you don't
get to test it the way that you'd test a lot of things.

That's why it takes 8 years and a lot of money: because it's very, very hard.

I think that one day sending things to Mars will become something that we're
used to, and at that point, it will get a lot faster and a lot cheaper and a
lot more reliable. But, right now, we're still trying to do things that we
don't really know how to do. That's hard, and it takes time.

~~~
lovskogen
So tech is unreliable because so many people work on different parts, that
everything is a fragmented mess? How can one fix this problem?

~~~
astrodust
Having a large number of people in the chain isn't the problem, it's that no
manufacturing process is perfect and defects in design or production are often
not obvious until you've tested the item in the field.

Further, since it's not practical to test things on Mars, so you can imagine
how difficult this can be for the engineers here on Earth.

The process described here is typical of many companies because it's not
possible for one person to do all of these steps. The level of expertise
required is too high. You may be a great mechanical engineer, but do you know
about the performance characteristics of the hundreds of different kinds of
grease? About the way the sleeve should be machined? There's a list of
specializations thousands of items long, and at best you'll be able to truly
master only a small percentage of these even through a whole career.

The ultimate reason technology is unreliable is because the world is a
complicated, crazy place that often exposes you to situations you're not
prepared for.

------
RandallBrown
Why don't they just send an iPhone to control the mars rover?

Radiation? What does radiation do to electronics? Do they corrode? Will things
short circuit?

Would shielding an iPhone be more expensive than using outdated parts?

Do we know that the iPhone isn't reliable enough? Mine seems to be fairly
reliable. Any problems with it are solved by a simple reset. Certainly a small
bit of old battle tested code/hardware could handle this problem. Is the
benefit of having modern hardware not worth it?

I'm sure all of these questions have answers, but it's not like I know where
to find them.

~~~
Evbn
Until we lose communication with the rover because a bit of conductive dirt
shorted the antenna.

~~~
RandallBrown
I would expect the budget would include enough money for a bumper.

------
huggyface
This is overly cynical. When people say "Why don't they just...", it is a
sincere question, not a rhetorical statement. "Oh radiation...that makes
sense". "Oh they had to bake the tech for 8 years". Etc.

Sidenote - "Why don't they just" shield the electronics rather than making the
electronics itself radiation proof? I ask that _knowing_ that there is a
legitimate reason (shielding weight?), but it is something I have sincerely
often wondered.

~~~
Retric
'Radiation' is not a single unified thing. You can shield some things chicken
wire with multi inch holes in it. Other can travel though the earth before
hitting you. On of the basic problems is some of the things that help you vs
one type of radiation makes other things worse. Also, Mars missions are multi
year affairs so even at background radiation levels on earth you are going to
have problems.

PS: If you added up the entire mass of everything ever put into orbit you
would not be able to make a shield to guarantee normal equipment would be able
to stand a 5 year mission in space.

