Is SpaceX changing the rocket equation?
airspacemag.com
airspacemag.com
Everything at SpaceX is designed with reusability in mind, and every system is highly redundant. And to top it off, they have some of the best, most talented, and most experienced engineers out there.
With all that said, the reason why SpaceX will succeed is their culture. Most of the company's employees are young and highly motivated (including myself I guess). When I started my work at SpaceX, one of the engineers told me to prepare to shed some blood and tears as well as prepare for the most stressful yet rewarding work of your life. He was right. There were times where I did not go home for 4 days straight (this was not recommended). They did not asked me to do this. I just wanted to do it. The thing that is cool about SpaceX is that you will do REAL work on you first day, and you will have a significant impact right away. Even if you are an intern.
I know a lot people on Hacker News are essentially web programmers (Me too actually. Django FTW). If you guys are looking for a job, they are always hiring. One way to get hired is to start out as an intern (if you are at an intern stage in your life). If you want to actually program the rocket, and got some ROCK SOLID C++ programming skills, then you are exactly what SpaceX wants. So please apply. Space exploration is hands down one of the important pursuits we can have as civilization, so the best need to work on this challenge in my view.
Let me tell you, there is no feeling to see something that you designed and built actually entered outer space. I can't describe it. You just have to experience it for yourself. So if you're bored on your current job, look into SpaceX. Plus having Elon Musk as a boss is pretty bad ass. The guys is simply defines legitness!
I am a bit surprised that coders can actually get a job at such a place, I would have thought you only hired like aerodynamic physics professors or whatever. Maybe you could go into more detail about what you do at work and what kind of people get hired? :)
Maybe we can start a new meme. Whenever someone talks about their super-duper awesome social ajaxy photo-sharing app, we can snarkily respond "well, it isn't exactly rocket programming..." :)
http://media.koeln.ccc.de/browse/congress/2010/27c3-4123-en-...
Avionics software development is primarily concerned with software that is designed and developed to operate in an embedded system [1]. There is also a focus on real-time performance [2] with regard to the software's operation and integration in such an environment.
The target language may be C, C++ or assembly language, although other languages are used.
Depending on the application, an on-board front-end may or may not be utilized. For example, an unmanned rocket would not contain a front-end; rather, operating parameters would be monitored remotely.
On the other hand, a modern, manned aircraft or spacecraft instrument panel would provide electronic displays and controls necessary for communicating system status to the pilot(s), as well as for accepting input from the pilot(s) for operation and flight.
Web apps tend to layer on top of other systems and can reuse a lot of code. When I worked on avionics software we had to develop everything, from the hardware drivers for memory modules to the drivers for the display and all of the controlling systems for each of them. A high-performance web app just needs to perform well enough - at some point you can add more hardware. In an avionics platform you have specific weight, cooling, and power requirements that limit your total hardware capability. They are really very different.
Web application programming relies on a plethora of "soft" technologies (xhtml/html5, css, javascript, sql/nosql, php/python/ruby/perl, frameworks for all of it, a lot of 3rd part libraries outside of the frameworks, etc...) - embedded programming is much more low level in comparison and comes with many different kinds of problems.
Now you know the pain of legit engineers who share their title with Java cargo-culters and Rails bros.
Learn algos really well, I guess? Hack on C/C++?
You can do engineering in basic VBScript and you can do hacks in horrible but algorithmically amazing C++.
A lot of this effort doesn't make sense in a casual web environment. If you're building an app with ads aiming to flip in a couple of years - or even to run it as lifestyle - you might not be very troubled when one of your features has a glitch and you don't necessarily have to have planned for HE.net going down or looked for Django exploits. There isn't anything necessarily wrong with that, it's just not engineering.
Too bad...
As an odd coincidence, I have Von Braun's (Ley's and Bonestel's too) "The Exploration of Mars" right in front of me as I type. I have it since I was a kid.
So it's apparently OK for strategic US rockets used to launch military payloads, to use Russian engines but not for a private company to employ Canadians.
I can't help but think of all the other places where that kind of system operates and makes costs much higher than they should be... How much better would the world be if fewer resources were wasted thus?
Generally speaking, it's a recipe for the provider to stick their snout in the trough as far as it will go. There is absolutely no incentive to lower costs or improve efficiencies. It does indeed become a game of brinkmanship between maximizing costs (profits) and cancellation.
I have seen it used in construction to mitigate risk. One example springs to mind. A particularly wealthy but eccentric individual wanted to build a lavish home. He was notorious for changing his mind, adding to the project and so on. The only way the company in question would touch the construction contract was on a "cost plus" basis.
Whenever you do this you basically have to trust the provider to a certain extent and it only really works if they trade on reputation and a hit to their reputation actually matters (often it doesn't).
This is almost never true with cost-plus contracts. There are normally all sorts of incentives and written into the contract. For example, bonuses might be paid if particular milestones are achieved ahead of schedule, or if certain costs come in below estimates. Also, there are usually limits on reimbursement (typically at the level of components rather than the entire project).
If used properly, these incentives and restrictions make it in the contractor's best interest to control costs. I've never seen them used perfectly, but they're often used reasonably well. I've also seen incentives that were designed so poorly that the contractor just ignored them because they weren't worth the effort to try and earn.
I think the main problem is that cost-plus pricing is often used in circumstances where it is not appropriate. Cost-plus should generally be used only for high-risk projects.
Especially when it would take years and billions of $ to even estimate what the cost to build it would be.
The pendulum in government acquisitions tends to swing along multiple axis: sometimes the trend is towards the government do the integration itself, sometimes the trend is towards contracting out the integration to a prime contractor; sometimes the trend is towards cost-plus, sometimes the trend is towards firm-fixed price. Even though one way of doing things might be more popular at any given time, the other options are always considered and often used.
The choice of reimbursement structure (which is not just binary "cost-plus" or "fixed-price," but rather an entire continuum) is based on risk projections. If you insist on fixed price for a very risky project, contractors will bake that risk into their bids, pricing everything for the worst-case scenario. If you don't get the worst-case scenario, you'll still end up paying for it, in which case you would have been better off under a cost-plus contract. Conversely, if you pick the lowest bidder and they didn't bid conservatively enough, and then you do get the worst case scenario, they might very well run out of money, in which case you have a choice of either granting them more money or cancelling the project and eating the sunk costs when the contractor collapses. So, for high-risk projects, cost-plus is generally the best way to go.
I think that the swinging of the pendulum is due in part to a succession of over-corrections: "We used cost-plus too much and contractors wasted money! Lets use fixed-price as much as possible from now on!" Followed by "We used fixed-price too much and ended up paying too much on most contracts! Lets use cost-plus as much as possible from now on!" and then back the other way. However, I think that it's also driven by cycles of technological development: a lot of technology tends to go through phases where one generation of equipment really pushes the edge of what's feasible, and then the next generation mostly just matures and refines the technology used in the previous generation (e.g. Windows Vista and Windows 7). During those "pushing the edge" phases, risk is higher and so cost-plus gets used more; during the "mature and refine" phases, risk is lower and so fixed-price gets used more.
And yet, it's this kind of completely unrealistic goals that really pushes things forward. Even if SpaceX only gets... dunno, 25% of the way to that goal, chances are they'll have accomplished more than anyone else is trying.
PS: Yea I know a solid manufacturing base plus 5+ million people might seem like several steps away, but until that happens we don't have meaningful levels of redundancy, just an outpost that would take a while to die off. (bad vacation) http://verydemotivational.memebase.com/2010/10/22/demotivati...
> Simplicity enables both reliability and low cost.
As Woz said - though Woz also mentioned the advantage of making it simple enough to fully hold in his head. (http://www.foundersatwork.com/steve-wozniak.html). So, in a back-handed way, a limited working memory can be a gift (though I'm not suggesting that Woz's working memory was limited). http://news.ycombinator.com/item?id=3258655
one page (works) http://www.printthis.clickability.com/pt/cpt?expire=&tit...
So they do unit and integration tests? Sounds thorough...
The engines on your 777 are designed so that a 6ft long fan blade moving faster than the speed of sound can break off and not go through the engine cowling and into your lap. They blow up $30M engines in testing to prove this
I think that's a very good way to put it: nasa gets rockets built so they work, all of their engineering is built so it's as perfect as can be from the start. It's a huge cost, but it allows them not to blow up rockets in testing. SpaceX sees that as spaceworthy aircraft-building, they drive up-front costs lower by not focusing as much on design reliability and instead blow up engine to test how they behave.
I'm saying that pragmatically, unrecoverable errors don't need testing, and NASA's class of possible unrecoverable errors is much wider than any airline's. The fact that SpaceX feels the need to test so rigorously is a good sign about what they want to be "recoverable" and therefore about how safe their hardware is intended to be.
Engines can fail in many ways that don't destroy everything. Apollo 13 nearly became famous for exploding on launch due to massive resonant vibration, but a premature shutdown of the affected engine saved it. (Oddly, that shutdown was due to a mistaken fuel level reading, not the vibrations directly, so the save was something of an accident.) At least one Shuttle launch experienced an engine failure/shutdown as well. These engines didn't explode, of course, but there's a whole range of failures and many can be planned for.
Even when the entire thing does explode, you can still save your crew if you've planned properly. A Soyuz capsule's escape system saved its crew when the rocket exploded in 1983.
It appears to me that NASA's approach is to prefer systems which can't fail over systems which can fail safely. On the surface, this seems better, but when your foolproof system still fails and you haven't built it to withstand that, then you're in serious trouble.
I don't think there's any inherent reason why shedding a turbine blade during a rocket launch has to destroy the entire vehicle. Designing the system to withstand that makes it heavier and not perform as well, of course, but it seems like an overemphasis on performance while disregarding nearly everything else has really hurt space technology.
In the Challenger accident the engineers estimated the chance of a fatal accident at 1:100 , the next level of management 1:1000 senior management at 1:10,000 and the official Nasa press release 1:300,000
Presumably by adding more levels of management they could have made it even safer!
There's a video of the Soyuz explosion mentioned above at http://www.youtube.com/watch?v=UyFF4cpMVag&noredirect=1 that shows the escape system saving the crew.
The use of solid rocket boosters for human space flight (as was planned for Ares I) is hugely controversial because they can't just be shut down in the event of a problem, as regular engines can, making survivability more difficult.
Personally, I think NASA is overly risk-adverse, to the point that nothing gets accomplished (see Constellation / Ares I). An interesting article on this is http://www.popularmechanics.com/science/space/news/4330356
On the topic of aircraft turbine failures, there's the interesting case of a DC-10 engine that disintegrated in flight due to a pilot experiment, killing a passenger. For details see: http://en.wikipedia.org/wiki/National_Airlines_Flight_27
Finally, if you're interested in SpaceX, NASA budgeting, and so forth, I recommend http://nasawatch.com
Musk makes no secret of the end goal: Create a new civilization on Mars. Speaking at the National Press Club in Washington, D.C., in September, he outlined the business plan—if that’s the right term for something that looks decades into the future. “If you can reduce the cost of moving to Mars to around the cost of a middle class home in California—maybe to around half a million dollars—then I think enough people would buy a ticket and move to Mars,” he said. “You obviously have to have quite an appetite for risk and adventure. But there are seven billion people on Earth now, and there’ll be probably eight billion by the midpoint of the century. So even if one in a million people decided to do that, that’s still eight thousand people. And I think probably more than one in a million people will decide to do that.”
Here is the quote: They don’t even file patents, Musk says, because “we try not to provide a recipe by which China can copy us and we find our inventions coming right back at us.”
Although ironically the Germans did file a patent on an anti-handling bomb fuse that they subsequently used in WWII
Godspeed Elon Musk.
Not that I think that's what he's up to, but if he has a lair on Mars, and controls the galaxy's only fleet of interplanetary missiles.... he could ask for quite a ransom. The parallels to Ozymandias are a little scary.
Just sayin'.
(He also has a cameo in Iron Man 2, and the SpaceX lab was used as a set).
[0] http://www.reddit.com/r/tothemoon/comments/jca8h/itar_is_a_t...
[1] http://www.space.com/1701-spacex-sues-boeing-lockheed-martin...
Edit: Why am I being downvoted? That ITAR makes USA alone in space travel?
The Falcon 9 was designed from the beginning to be human-rated, meaning an increased focus on reliability. The rocket’s avionics and controls are triple-redundant (as will be some sensors in the human-rated version of the Atlas V), and the flight computers, which run on Linux, will “issue the right commands even if there’s severe damage to the system,” Musk says.
I don't really know much about OS's but I'd write control systems in a pure language compiled directly to machine code with no OS. That way you would have certain guarantees of execution and auditing the code would be significantly cheaper. I remember hearing that auditing code for satellites is outrageously expensive because most languages have side effects. So it's thousands and thousands of dollars per line of code to guarantee that it'll do what it says it will do regardless of execution path.
I'd imagine for the purposes of SpaceX though, they don't have those restrictions and so they make huge gains by using an extremely well known "off-the-shelf" OS where they can easily source programmers. The fact that the OS is (relatively) well understood would also possibly mean it's easier to test.
All of which means that for minimal trade-off in reliability, they make large gains in development time and cost.
I'd imagine that there would be some previously tested (say in aerospace) linux derivative that they'd be building off.
To be perfectly honest though, I don't know why they arn't using one of the few really good commercial hard real time unix kernels that you use for, say, UAV's and such.
Also I'm not sure they actually are using Linux to control the rockets since that would pretty much make them impossible to qualify for human space travel (i.e. DO-178B qualification).
EDIT: Looking at their jobs site it seems they are using VxWorks. This is more reasonable ...
A very inspiring read, complete with such nice asides about how operating as a startup with a mission can get so much fun and work accomplished, and shows that serving the interests of shareholders and profits first can utterly derail accomplishing your mission.
I've often wondered what type of improvements you could make if you built a Saturn V type rocket with modern technology and materials. It looks like we're probably going to find out over the next ten years.
Yes; it's be cool to see old designs meet new methods. But it's also cool to see what modern materials and chemistry can do.
Also, people tend to over-estimate the SV stack. As it happened, in its first iteration it was barely capable of the mission -- the LEM came in overweight, and only the fact that the SV out-performed its design specs by a couple of percent made the Block 1 lunar missions possible. (By Block 2 -- Apollo 15-17 -- they'd tweaked enough things that they could fly a heavier LEM with the lunar rover kit and additional supplies.)
In contrast, you might find Musk's plans for Falcon Heavy interesting:
http://en.wikipedia.org/wiki/Falcon_Heavy
16,000Kg to translunar injection, 14,000Kg to Mars. It's not up to flying an Apollo mission profile (the LEM weighed 14,700Kg; the CSM stack 30,300Kg) but it's capable of putting a LEM-sized payload into Lunar orbit, and it might be possible to rig up some kind of lunar-orbit rendezvous profile surface mission using 2-3 Falcon Heavy launches.
One thing I have noticed about NASA developments - the payload weights never seem to come down. I would have thought we could build a LEM with the same or greater functionality at a lower weight by now.
I think that by the time you figure out how to replace all the obsolete parts with something more modern, it's easier to simply take the lessons learned and design a new rocket from scratch.
The place was strewn with millions of pages of Apollo technical documentation, in total disarray. Years ago, they put all of these documents in binders and stacked them in the abandoned wing. Over time, people needed binders, and took them, leaving stacks of paper. Over the years, the ventilation system cycled on and off, the papers blew around, until now it's just a sea of random paper.
Fuel costs for launch vehicles are a negligible fraction of the total cost to fly. Musk is working the rest of the problem by simplifying the design, designing for manufacturability, using off-optimum technologies, building everything under one roof, and so on.
Brilliant.
Part 1 is here http://www.youtube.com/watch?v=vTpZEKDShWM, but Q&A starts at 5 mins into part 2 http://www.youtube.com/watch?v=rjzMs4nvfcc
Well at least everyone will be able to buy SpaceX shares once they have an IPO.
http://www.slate.com/articles/technology/future_tense/2011/0...
I'm actually an Computer Science guy stuck in the body of an Electrical Engineer. I mostly design hardware, however in my first year I did a good amount of highly optimized embedded systems programming. I wish I could go into more detail but that's against company policy.
However, my high school (the good old days) robotics mentors that also work at SpaceX are the top developers of the avionics software. What they mostly do is program the flight computer. Also the code that just brings every little sensor data together. Again I would really love to sit here and talk to you guys about the technical details, but I'm simply not allowed. So sorry for the broad sentences.
Regarding the type of people that get hired. As I said SpaceX hires the BEST. As an intern, KEN BOWERSOX, an amazing astronaut sat 2 desks away from me. I could have walked up to the guy at anytime and ask him how it was like in space. Look at this list of people running the company: http://www.spacex.com/company.php After reading that you see how top notch these people are. The same goes for their employees.
SpaceX hires from everywhere, but it seems they are really into the stereotypical TOP engineering schools. It felt like everyone was from Stanford. A lot of people from University of Michigan, Carnegie Melon, and MIT. The company is in California, but it felt like that a huge chunk of the company was recruited from outside the state. Just go into the parking lot, and you can see license plates from every state (I saw one from Maine...long ass drive). There were few interns from the University of California system (like myself).
If you guys want to apply, I want to not just tell you all the good stuff. There is also the not so pretty side. Be prepared to give the job your everything. Specially if you are a young engineer because you mostly likely don't have any experience under your belt to make you an irreplaceable asset. Also people forget that SpaceX is a STARTUP. Yes they have 1500 employees. But this is not some little photo sharing iPhone app company (no offense guys, you really need stop with those). It's an aerospace startup, which means 1500 employees is pretty much a small amount of people. Also Elon Musk has this philosophy where a small amount of people can achieve BIG things. With that said they are hiring like crazy last time I checked (which was like 2 months ago).
Since it is a startup, job security is not good. Since the people they hire are very good, they mostly don't get fired. But at the same time the deadlines, and goals can sometimes seem like a fantasy. This sometimes leads to people getting fired. This happened a lot during my stay.
With all that said, from working at Jet Propulsion Lab, and now SpaceX my goal is turn my current graduate research into a startup. I've learned that I'm simply not the type of person that can work for others for the rest of my life. Graduating with an engineering degree and doing 9 to 5 stressful job will get old very fast. After my stay at SpaceX I already feel burned out (I worked on some high priority projects). However, I am really passionate about my current project (I can't stop thinking about it), and my goal is to turn that into a company. Unfortunately, I might have to say goodbye to SpaceX to pursue this dream.