X Prize and John Carmack
Anonymous Coward writes "ABC News is running a story ostensibly about the X Prize but in reality they only talk about John Carmack and his teams efforts to win the prize (or at least compete). Quote: 'Some people have commented that I am trying very hard to make aerospace like software, and that's the truth," he says. "If we looked at what we do in software, if we could only compile and test our program once a year, we'd never get anything done. But that's the mode of aerospace.' "
Aerospace like software, eh?
"Crap, the rocket is not ready and the deadline for launch is tomorrow!"
"Bah, launch it anyways and we'll release a patch later!"
Burn the land and boil the sea, you can't take the sky from me
"Effectively, I stopped buying Ferraris and turbo-charging them and started building rocket ships," Carmack says.
Yeah, I hate it when I have to put off buying Ferraris.
Trolling is a art,
Carmack says: Some people have commented that I am trying very hard to make aerospace like software, and that's the truth
Unfortunate analogy?
I read the internet for the articles.
Some people have commented that I am trying very hard to make aerospace like software, and that's the truth
Gives a whole new meaning to "blue screen of death", doesn't it?
"We have liftoff!" == "Excellent!"
"Our trajectory is acceptable for re-entry"=="Accuracy!"
"Our rocket landed, and it's data storage is still intact"=="Perfect!"
* luckyguesser almost dodged John_Cormack's rocket.
The power of Christ compiles you.
A Random Blog
Indeed, conventional rocket design is pretty brute-force. Big engine, hunking mechanical control systems with minimal intelligence.
Given the capabilities of modern IT, it makes much more sense to use software as the core of the system, in the same was as software is the core of a device like the Segway, or the stair-climbing robot, or the telescopes that consist of a thousand small mirrors, not one large one.
Rocket science has not changed significantly since 1950, and needs a rethink. I believe this project is a solid approach that has good chances of succeeding, and if so, will redefine the way we conceive of this kind of engineering project in the future.
Ceci n'est pas une signature
If he wins, I wonder if the ships' lifecycle will resemble those of his games?
I can see it allready:
1) Carmack devises a ship that excells in performance, but requires very costly componenets in order to deliver on its full functionality.
2) After a years' worth of excellent operational records, other countries license the engine design and build their own ships off of it
3) 2 years after launch a thriving Spaceship MOD community is launching new ships into space every couple of months....
What about the twinkie? - Dr. Peter Venkman, PHD
Duh.
.sigs are for post^Hers.
The crew hopes to launch the real deal at the White Sands Missile Range in New Mexico.
This, I have known for a while: I have a buddy that works in WSMR's flight safety group. I'm looking forward to it. I'm hoping that I'll get to watch. *crossed fingers*
However, John's attitude of build a little, test a little isn't just a software attitude. It's the old Xplanes or NACA (pre NASA) attitude towards aeronautics.
For those of you that still use usenet, go check out the sci.space.* heirarchy. You'll find that John's a contributor there, but he's empathetically not the first to espouse such views. However, I know of none that have compared it to software development like he did in this interview.
Do you know why the road less traveled by is littered with the bones of the unwary?
Somehow, "my software crashed" lacks that ominous feel that "my software crashed" has...
Read the article for once people instead of knee-jerk reacting to an analogy.
Carmack merely wants to improve the method by which rockets are constructed. He says he starts small and builds his way up, rather than constructing the rocket and control system and then working for six months to work out the problems.
This is a well-known software development technique, and I don't see why it wouldn't be generalizable to other fields. If anything it should inspire more confidence in the creator at least.
We were building a satellite with upload-code capability, and were facing a deadline, so we ran the numbers.
We had a very slow uplink, maybe 300 baud (packet overhead and protocol turn-around time included). And we had a lot of code. The satellite was visible only for maybe 8 minutes out of every 90 minute orbit, so unless we had ground stations positioned all around the world and synchronized, we were effectively limited to about 30 baud long-term average. And we had a lot of code.
What's worse is we figured that the radiation environment would reset the satellite every so often... this was fine in normal operation, but would kill an upload. It would be almost statistically impossible to upload the entire code without an upset.
So, we all got back to work.
Eventually, we got good code and launched the satellite. Unfortuantly, the rocket flew off-course and was blown up by the range safety officer -- the satellite ended up in the water. Our company also made bouys (functionally, they are similar concept satellites), so the debate was always whether we should load the regular code or the bouy code into the satellites. We didn't try to figure out the code-uplink case for "underwater".
HIV Crosses Species Barrier... into Muppets
If you can afford to test your hardware as often as you can, do it. A test is worth a million analysis plots.
Making mistakes in a test environment is the best way to learn about your design and your own limitations.
Mode (3) smart-aleck mode. Press * to return to main menu.
For spaceflight, we need people who think like the old school programmers. The ones that actually planned their programs before they wrote them. When it took twenty-four hours (or more) between when you submitted your card deck and when you got your output (or a core dump) you learned to be damned careful with your code. The modern attitude of "keep tweaking it until it compiles; we'll fix the bugs in 2.0" won't wash in spaceflight.
~Idarubicin
We got where we are in the aircraft industry by using contests and prizes. It motivates people who aren't established in the industry (or to join an unestablished industry) to try out their ideas, and accept the risks for the chance of a huge reward (and hopefully not 'the great reward'). Think of it as a way of short-circuiting the old-boys network.
Also, you can be sure people are going to die because of this. People died trying to get to Asia, cross the Atlantic, get to the north pole, discover redioactivity, (nearly died) to discover electricity, and create trains, automobiles and airplanes. Why do you think this advance will cost less than most of the others? That's the nature of the game. Now as far as general destruction, that's easy, too. Launch over deserted land or over water, and you'll minimize the risk to uninvolved individuals.
Ultimately, advancement requires risk. Large, established organizations are adverse to risk, leaving two options: slowed (or stalled) innovation, or introduction of players willing to take risks. I personally would like to see something more advanced than the space shuttle, and at the rate NASA is going, I'll be waiting another decade or three for them to do that.
Sure I'm paranoid, but am I paranoid enough?
The tricky part is that I don't think tests done with small rockets will necessarily give you a good idea of how the big rocket will perform. If that were the case, all we'd really need is to buy a model rocket kit from Wal-Mart and just build it 20x bigger.
But software design would benefit from being more like aerospace design. Aerospace can't afford the test-patch-test-patch cycle that software goes through. Before we send our designs off to be built, we had better be damn sure they will work. We can't just decide to bolt a wing on later if the orginial doesn't work--it's too expensive and the consequences of a failure are too great. Accurate computer modeling is rapidly becoming the engineer's best friend.
I fucking shudder to think of the average software developer deciding that his skills can carry over into engineering. Like the parent said, QA in the software community at large is sadly lacking. I don't understand why programmers get away with it. From an engineer's perspective, it just looks like shoddy design or laziness. Is it just that software is so intangible, and losses due to bad code are hard to quantify? Is it that we're just used to buggy software and it doesn't occur to us that it could be otherwise?
(Frustration brought to you by:
Sobig: Bogging Down My Company's Network Since Early This Week
and
Win2k SP Four: Breaking Third Party Software So You Don't Have To.)
-Carolyn
Like Daddy always said: if you can't dazzle 'em with brilliance, baffle 'em with bullshit.
You call it a holy war, I call it English. The English language is being eroded gradually by ignorance.
There's a reason for having two words, then and than. It's preferrable to have exact words that aren't dependent upon context. If we just toss out "than", and exclusively use "then", our language will become even less precise.
Some other common mistakes that really suck:
confusing "your" with "you're"
confusing "their" with "they're"
adding unnecessary apostrophes to plural words - Dog's and Cat's...
Just because some people have forgotten or were never taught how to write the language they speak doesn't mean that we should just dumb it down completely. Taken to the extreme, we could just back all the way up to grunts and growls.
.sigs are for post^Hers.
I admire and respect Carmack's space program. He is doing a number of innovative things.
His program of building control systems and then big rockets is mentioned in the article. It's unfortunate that so far whenever they've tried to launch a rocket the computer has immediately crashed -- but they seem to have a handle on why this is happening and the current computer construction and mounting system is far better than the previous ones. He also has a tremendous amount of telemetry, and analyzes the inevitable failures exhaustively.
They is now using a fairly innovative mix of medium-strength hydrogen peroxide and some fuel to power the rocket. Other people (and Armadillo, previously) have used highly purified hydrogen peroxide, but that is hard to get (and expensive) in the quantities that they need. This mixed monopropellant has a higher specific impulse, too.
They are using a innovative final recovery system -- the ship lands nose first on a long aluminum cone that crushes to absorb energy. Unique, cheap, and innovative -- if funny-looking.
The thing I like the most, though, is his website http://www.armadilloaerospace.com (it will surely be slashdotted for the next couple of days.) Carmack is religious about posting the results of the last weeks efforts, warts and all. It appears that he receives substantial insight from people responding to these progress reports (apparently the mixed monopropellant research was instigated by somebody posting results of German WW2 torpedo experiments.) This kind of openness is quite rare in aerospace research.
Anyway, all the best to Carmack et al. I think that Rutan's Spaceship One project may win the X prize, but maybe not -- his system depends on a lot of planning and simulation being accurate, whe re Armadillo can respin the project many ways if things don't work out the first (or second) try.
thad
I love Mondays. On a Monday, anything is possible.
Software developers have learned that the Waterfall model *doesn't work* because it's too slow, expensive, and inflexible. Sound like any space programs you know?
There is a continum between experimentation and analysis. So long as space is dominated by risk-averse govt. bureaucracies, your vision of space exploration will continue to slowly plod along. But remember when the real progress happened: in the 60s, when rockets blew up quite often. The consequence of a failed unmanned flight is only financial, and that means failure can be justified by overall savings.
You probably mean "Burt Rutan", the aircraft designer at Scaled. Dick Rutan is his brother, who piloted the voyager, and was the test pilot for XCOR's EZ-Rocket, but doesn't have anything to do with Space Ship One, the X-Prize vehicle.
I have always maintained that Burt is the odds-on favorite to win the X-Prize, but it isn't over yet. His design requires a pilot on board for all tests, so there is a non-negligable chance that there could be a fatality, which would almost certainly end the effort in the X-Prize timeframe.
John Carmack
never let John Carmak write systems that peoples lived depend on.
The Kruger Dunning explains most post on
I see a lot of skeptics replying, "Carmack is wrong headed, if you screw up a rocket, it crashes, it's not just a compile bug". Many of these comments seem to be suggesting that we should go back to the "old school" style of programmer that thought & planned his code before submitting, instead of relying on the feedback of a compiler.
This is based on the completely false assertion that code will be better / more bug free if you "think harder". It ignores that in the past 30 years of programming we have learned the value of feedback in the software development thought process.
The idea that somehow if I spend more time in a chair planning the solution that the solution will be better if I evolve my way to it is some sort of romantic vision of how solutions to tough problems are actually solved. This could be seen as a version the "prove the code works" vs. "test the code" debate. Or that proofs follow from the axioms. I counter that usually it's a process of some rather messy creativity, trial, and error.
In programming in the large, we have generally learned that "phased" approaches to software development (known as waterfall) tend not to work very well because they de-emphasize the feedback that occurs downstream in the development process. To contrast, an incremental approach enables smaller steps to be delivered , and minimizes the impact of erroneous assumptions discovered downstream in the development.
In programming in the small, development is a form of communication between the computer and the developer. The computer is designed to tell us where we are wrong, we just need to tell it exactly what to expect: for this we have compilers and test cases. Compilers can't catch everything.
Now, this is not suggesting that today's style of "let's see if it compiles!" development is appropriate for aerospace. That is the unfortunate effect of feedback & incremental approaches - it makes programming easier, even for people that shouldn't be doing it. These people "program by accident", and just meander through their code until it does the job, sort of. This is not a reflection of the incremental approach in the hands of an experienced developer that "programs on purpose", that understands what he or she is doing at every step of the way.
Aerospace development isn't "amateur hour", and the incremental approach will just make professionals all the more productive.
-Stu