That isn't to say they haven't been doing interesting things from a technical perspective (they're landing rockets on barges, after all), but the real secret to their success has been taking proven technology and doing it better/more efficiently (for instance, the fundamental design of their rocket engine, the Merlin, dates back to 50's).
Unless they accomplished a miracle by building a world-class engineering team from zero, there must have been a catalyst.
Just a couple examples would include Tom Mueller, who was responsible for most of the design of the propulsion systems SpaceX currently uses (including the Merlin and Draco engines), and Gwynne Shotwell, SpaceX's President and COO. SpaceX absolutely owes its existence to Shotwell, both its commercial success, and the fact that it didn't die (a number of times) are directly due to her.
From an outsider's perspective (_very_ outside), it seems like it's really the "synergy" of Elon and Gwynne that have made SpaceX what it is today.
There is - having visionary, charismatic founder(s). This pattern has been successful at Apple, Microsoft, Amazon, Facebook, Netflix, Tesla\SpaceX, Google.
Is there really a competition for this much price difference?
I don’t expect seing rust code in the shuttle, but maybe formal proof with custom functionnal languages...
Linux used to run as a non-privileged process in hard real-time kernel, which taken together was guaranteeing responses in nanoseconds range.
If this is still the case (along with what Wikipedia states) , the whole system is by definition hard real-time.
In any case, SpaceX doesn't use Linux for hard realtime systems.
> They do not have hard realtime requirements
And I probably wouldn't use the RTLinux for a real hard realtime system if I were making the choice. Putting all of the realtime code in the same memory domain as the rest of the Linux kernel is a huge surface area for corruption. I'd probably use sel4 with a virtualized Linux to get the same semantics.
However on the SpaceX software side I think they’re fairly conservative and “boring”, so I’d guess C and similar guidelines to what you’ve mentioned.
And it's not like this is unique to software. It's the difference between a disposable plastic fork and surgical instruments.
Life sustaining equipment is regulated and has a lot of resources spent on it to make it reliable. And toy software doesn't matter if it falls down.
I guess medium level services fall in between. Still causing inconvenience and monetary losses when they fail.
"Did I finish that weld good enough?" "Yes, we checked it 1000 times" "But what if I missed something?"
And clearly, those kinds of mistakes have happened. And that's why we check 1000 times instead of 500.
I have no idea how it is actually done. But my guess is that lots and lots of automated testing. It is the only way to make sure that any changes you make do no break some other critical parts.
Sadly, not as automated as you would hope/think.
The industry is working toward fuller automated testing, but it is much harder to do with “real hardware” in the loop.
Part of the reason why space has [historically] been expensive is exactly because you have to have specialized humans doing a ton of tests.
One reason Elon has been able to lower costs by reusable rockets is exactly because you don’t have to do as much testing per launch.
Docking with the ISS is scheduled ~27 hours from now on Sunday, March 3 at 10:55 UTC (5:55 EST).
If the went into a ballistic trajectory directly at the station, there is a risk of debris from the launch, such as paint flecks, scraps of metal, etc hitting the station. Also a lower initial target orbit makes various abort scenarios easier. Then of course another poster has pointed out they need time to check and validate all the vehicles systems.
Generally in space it’s best to avoid doing anything in a rush if you can avoid it. In recent years the Russians moved to a 6 hour launch to rendezvous window which is pretty quick really. This is what made it possible to capture footage of the launch from the station.
A counterintuitive part of spaceflight is that often you have to first accellerate in order to slow down.
The reason it's going faster is because it's lower. The lower an orbit, the faster the thing is moving. In order to slow down, you have to accelerate twice (I'm using the term "accelerate" here to refer to "going faster in the direction you're already going").
The first acceleration raises the far side of your orbit. You then have to "climb" up to that new higher orbit. Once there, you accelerate again to raise the low side of the orbit (otherwise you'd pick up all that speed again then "falling" back down to the lower altitude).
At the end, you're in a new, higher, orbit, going slower than when you started.
Edit: now I think more it also allows for variations in launch performance. Soyuz does a three day rendezvous as back when the system was designed the accuracy required wasn’t possible, though now they’ve planned a same-day docking.
ISS launch windows are complicated - you have to match both plane (i.e. the Earth needs to turn so that the Cape/Baikonur is under the ISS's orbit path) and phase (i.e. at the time the plane match happens, the station needs to be at the right part of its orbit for the spacecraft to meet the ISS right after launch).
A launch site crosses the plane of the ISS orbit twice a day, but the phase angle at those crossings is often quite far off of optimal - you want the ISS to be a bit behind at launch so that by the time your spacecraft gets up to the right altitude/speed it's matched up. So you have to find the minimum phase angle at launch window for a targeted several weeks or so, then have the ISS make slight orbit changes to bring the phase angle closer to optimal. Once you're up and have as low of a phase-angle difference as possibly, you then have to spend a bunch of 90-ish-minute orbits getting your position in orbit matched up to the ISS.
At fastest, you can get down to the single-digit-hours range, but that takes a good selection of launch window, a bit of a burn in advance from the ISS to tweak its phasing, tracking systems that don't waste an orbit determining where exactly you are, and no scrubs.
This article is a good example of the process (but not the physics/geometry):
> The long sought attempt at launching a Russian Progress resupply vehicle to the International Space Station and having it rendezvous with the orbital complex after just two and a half orbits and just under 4 hours in space is being attempted.
> As with the other fast track rendezvous attempts, the reboost and phasing alignment of the Space Station with the Baikonur Cosmodrome is only available for this launch day. A scrub to today’s instantaneous launch of Progress MS-09 would have resulted in the craft having to fly a two-day, 36 orbit phasing profile to the ISS on a realigned launch date later this week.
Imagine the orbit of the ISS like a tilted hula hoop around the Earth, with the Earth revolving inside it. Because the Earth rotates once every 24 hours, any given spot on Earth will be directly underneath that hula hoop twice per day (once on either side of the hoop).
When launching to the ISS, you need to launch when that orbit "hoop" is directly overhead. That's the bit that really matters, because you need to be in the same orbit. The ISS itself is almost certainly not overhead (it may be on the other side of the planet entirely), and so it will take some time to catch up to it.
>If the first stage lands tonight, SpaceX will have successfully landed 35 of its 69 launches, meaning that MORE THAN HALF of its rocket launches will have safely returned.
What a time to be alive.
What time zones do rockets use?
Awesome job to everyone at SpaceX! Godspeed for the rest of the mission!
no crew onboard
(still a great achievement)