Hacker News new | past | comments | ask | show | jobs | submit login
We are the SpaceX software team, ask us anything (reddit.com)
147 points by pvsukale3 31 days ago | hide | past | favorite | 28 comments

To unbury the lede, this is happening at tomorrow, Saturday June 6 at noon PST

Related: Software Engineering Within SpaceX https://news.ycombinator.com/item?id=23403800

Also "What computer and software is used by the Falcon 9? (2015) (stackexchange.com)" from 5 days ago - https://news.ycombinator.com/item?id=23368109

What kind of computing hardware is used inside the rockets? Off the shelf Intel or AMD cpu's setup in some kind of redundancy or custom hardware? How does the redundancy work, how many CPU's can fail before the rocket can't be controlled anymore? Are they all located in the same place in the rocket, why/why not?

No way. Anything that costs a lot of money runs industrial computing like the RAD750.

There are some answers here: https://space.stackexchange.com/questions/9243/what-computer...

IIRC it was the same thing they said during the launch of the Dragon capsule so yeah they don't use crazy RAD stuff:

SpaceX uses an Actor-Judge system to provide triple redundancy to its rockets and spacecraft. The Falcon 9 has 3 dual core x86 processors running an instance of linux on each core. The flight software is written in C/C++ and runs in the x86 environment. For each calculation/decision, the "flight string" compares the results from both cores. If there is a inconsistency, the string is bad and doesn't send any commands. If both cores return the same response, the string sends the command to the various microcontrollers on the rocket that control things like the engines and grid fins.

The microcontrollers, running on PowerPC processors, received three commands from the three flight strings. They act as a judge to choose the correct course of actions. If all three strings are in agreement the microcontroller executes the command, but if 1 of the 3 is bad, it will go with the strings that have previously been correct. The Falcon 9 can successfully complete its mission with a single flight string.

The triple redundancy gives the system radiation tolerance without the need for expensive rad hardened components. SpaceX tests all flight software on what can be called a table rocket. They lay out all the computers and flight controllers on the Falcon 9 on a table and connect them like they would be on the actual rocket. They then run a complete simulated flight on the components, monitoring performance and potential failures.

SpaceX engineers perform what they call "Cutting the strings" where they randomly shut off a flight computer mid simulation, to see how it responds.

Dragon uses a similar triple redundant system for its flight computers.

>Dragon capsule so yeah they don't use crazy RAD stuff:

Those PowerPC processors are RAD750's.

Off topic, but is there a nitter/invidio.us equivalent to reddit? After HN, I find reddit and old.reddit to be so cluttered I can't stand it

Have you tried i.reddit? Its their old-school mobile website, super simple interface.


Love it! Thanks!!

there is snew.notabug.io but I do not know if this is what you are looking for.

Do you have any tools to attempt prove correctness of critical code beyond traditional testing?

You have to ask that on the Reddit.

Oh. Oops.

Dang the influx of questions wonder how they decide what to answer.

This is Reddit so probably by upvotes?

Yeah but I also wonder how many people filter/read new and vote vs. just asking whatever... if they could average the questions that would be interesting/frequency of mentions... anyway be curious what questions are asked.

~600 comments under an hour? dang

edit: oh comments are randomly ordered interesting

To expand on your edit:

1. This comment thread shows comments in random order, so you're not seeing the more upvoted questions bubble to the top the way they usually would, which prevents winner-takes-all feedback loops in the voting.

2. People browsing through the thread may upvote good questions, but currently the scores are hidden in order to avoid bias.

3. Once the thread has been up for a while, the people doing the AMA can just re-sort to show the highest-voted comments first, which will give a good starting point for which questions to answer.

Yeah I'm glad they did that. The score hidden thing is interesting, I see some people do that at will, I'm a person affected by down votes haha like "oh no someone disagreed with me" anyway... pretty cool.

More-upvoted comments float up. That's how Reddit works.

boy that thread at reddit took like 20 seconds to close my firefox tab that was in it. Never seen a tab to take that much to close.

what happens if node has to garbage collect during launch?

What language/framework is the GUI for the controls written in?

How do you go about organizing/prioritizing work, and executing?

1) what workflow methodology you use (e.g. scrum/sprint, Kanban, etc)

2) where does requirements come from?

3) how granular is your code-review process?

You gotta ask on Reddit.

Real jewel from the AMA

- what "web technologies" did you use for the UI

But one great question

- What practices did you use to ensure there are no bugs ?

> Real jewel from the AMA

They did use Chromium and Javascript for the UI at least a few years ago. See the stackexchange posts.

EDIT: also see the old AMA: https://www.reddit.com/r/IAmA/comments/1853ap/we_are_spacex_...

I was fond of the "do you think AI will get us FTL travel" question.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact