23 ms·
I used to work at SpaceX on the team that did a piece of software called "WarpDrive". It was a massive monolithic ASP.NET application, with large swaths done wi
by ddevault 8y ago
I used to work at SpaceX on the team that did a piece of software called "WarpDrive". It was a massive monolithic ASP.NET application, with large swaths done with ASP.NET WebForms and a slow frontier of ASP.NET MVC gradually growing when I was working there. This application was responsible for practically everything that ran the factory: inventory, supply chain management, cost analysis, etc. Elon is a big Windows fan and pushed hard to run the whole shop on Microsoft tech. Thankfully the rockets fly with a heavily customized Linux install.
- mandeepj 8y ago> This application was responsible for practically everything that ran the factory: inventory, supply chain management, cost analysis, etc. They could have bought something off the shelf. Not sure what was the value in building everything from scratch
- FLUX-YOU 8y agoMaybe all of the contractual obligations for existing products were not a good idea
- nightski 8y agoWhat like SAP? And then spend 10s of millions in customizing it for their needs and dealing with an arcane, unintuitive interface? I've seen this over and over again.
- deleted 8y ago[deleted]
- robotresearcher 8y agoI understand SAP's business model: common core business logic code that helps your legal compliance, then lightly customized at great expense. What I don't understand is why the UI sucks so very, very much every single time. And why it's so very, very slow. It seems like it has to be on purpose. Can anyone with insight explain it to me?
- badbug 8y agoDifferent priorities. The goal isn't to make beautiful software. The goal is a system flexible enough to meet the users needs. I also think it is a cultural. See SAP's blog entry "Why users might think their SAP user interface is crumby" https://blogs.sap.com/2015/09/15/why-users-might-think-their-sap-user-interface-is-crumby/ https://blogs.sap.com/2015/09/15/why-users-might-think-their...
- taurath 8y agoAlso see: JIRA
- justAnotherNET 8y agoI honestly despise JIRA.
- andrewmcwatters 8y ago> massive monolithic ASP.NET application It's like calling grass green, m8.
- taobility 8y agoOnly naive ppl blame the language instead of the codes based on the language.
- forkerenok 8y agoWell said, though I think the GP (and many others) blames the platform, not the language. I find C# and .NET runtime (before it meets windows) quite nice. I'm not a big C#-er myself though.
- gmueckl 8y agoThe .NET CLR and core C# runtime libraries are really nice to work with. But things become somewhat Microsoft-y (that is, nice-looking but amazingly half-assed in the most unexpected ways) when you start to do things like writing GUIs.
- r_smart 8y agoI've been learning WPF, and I want to shoot myself. It looks pretty, and is very flexible, but it's just so much damn typing. Plus the errors you get out of it are often pretty useless. Maybe my brain just doesn't get it, but the documentation makes me crazy too. I just hate everything about it.
- ygra 8y agoWPF is a huge change from "traditional" UI frameworks like Windows Forms or Swing. It requires some rethinking and to get the most out of it you should really do things the WPF way in many (not all) cases, even though other options appear to work (they're just more work in the end and less flexible). The documentation is actually fairly good in my eyes iff you're only writing applications. As a library and custom control vendor (a position I find myself in at work) it can be atrocious and sourceof.net is hugely helpful (and I still find myself wanting to debug framework source code at times). Still, if you have specific questions, you can throw me an e-mail if you want.
- 8_hours_ago 8y ago> the rockets fly with a heavily customized Linux install My jaw hit the floor the first time I heard this. Why Linux instead of an RTOS?? Apparently Tesla's autopilot also runs Linux, which seems like a huge accident waiting to happen (pun intended).
- kevan 8y agoI'm not familiar with this space but I'm pretty sure there are hard realtime kernels for linux. I'd hope they're using one.
- FredFS456 8y agoNI's cRIO devices use a real-time variant of Linux. http://www.ni.com/white-paper/14627/en/ http://www.ni.com/white-paper/14627/en/
- crististm 8y agoTechnically there used to be (still is?) such a thing as realtime Linux but not _for_ Linux (which you probably meant the userland?). Regardless. There are many and far better alternatives to Linux for real time applications.
- gapo 8y agoRT Preempt / Preempt-RT patch still exists. It slowly is being integrated into mainline as per everyone's wishes but it is still a thing.
- kevin_thibedeau 8y agoThe original RTLinux it also still usable and it provides it's own hard RT scheduler.
- rurban 8y agoI've worked with RTLinux in automotive. It is only used in R&D and testing. It's much worse than INTime (windows rtos) or L4, which are usually used. I've even patched g++ to work on RTLinux eliminating all the dynamic, unreliable stuff. People are using Linux when they need HW and driver support, e.g. gigabit Ethernet, firewire and such. RTOS vendors charging shitload of money on those drivers. I trust the Linux drivers more than the RTLinux scheduler or libc. But well, recently networking went to hell, so even there they start fucking up.
- bmiller2 8y agoI used to work at SpaceX on avionics software, in a role very similar to OP, and my experience was similar in some respects. The tech and products were complex. The turnover rate was high and training new hires was a lengthy process. The new projects coming down the pipeline never ceased (this was during a period where FH/F9-1.1/Dragon/Crew was all under design/development and constant iteration). It was fun for a young engineer, but burnout is real. *WarpDrive was actually pretty impressive given the amount of stuff that it did.
- cbanek 8y agoFormer SpaceX Flight Software Engineer here. Agree about WarpDrive being pretty amazing for all the stuff it did. Although amazing things tend to just clump up from all the features that you need, and you end up with an app that is hard to manage.
- ktal90 8y agoAs someone who interfaced with the Warp system (both software and the organization), I agree with @cbanek. The number of features and the custom nature of it are impressive, but for anyone who had to deal with the politics of improving the system, it was a nightmare. There was (continues to be?) an effort to deconstruct the monolith, but it was a very painful process. Motives from different departments were in constant competition. Getting something done in Warp meant calling hours of meetings and getting the ear of a director/VP who would champion your cause -- and an associated PM that would be ready to serve said VP. This process was so backwards that, if the actual technical work that went in didn't burn someone out, the politics sure could. It wasn't all bad. There were other groups at X that provided pretty amazing tools for people to get things done (thanks, @cbanek and friends!)
- ryandrake 8y agoI heard the same thing about the burnout and turnover. Do companies really think they are saving money by paying peanuts, grinding people down to burnout, and then constantly having to rehire/retrain new people as the old ones leave? Meanwhile the code is a mess because nobody has been there longer than a year and there is no architecture or design continuity. Just frantic patches over other frantic patches by burnt out junior engineers. It makes no sense!
- gamblor956 8y agoGiven the many ASP.NET software packages that handle all the backoffice functions you've described, it sounds like they chose the right platform for that. Why would you want to run backoffice on Linux and then re-create all those wheels by hand in-house? Relying on the expertise of other companies for basic backoffice systems is actually recommended practice until you become big enough to actually need custom software (generally, north ten thousand employees).
- ddevault 8y agoVery little off-the-shelf software was in use. The whole thing was custom.
- gamblor956 8y agoCustom as in customized Oracle/SAP, or custom as in from-the-ground up custom? The former is generally a given for a company of any significant size (employees or business activity). The latter is unheard of for most backoffice functions (other than specialized accounting and finance functions) since it's a waste of money and would place the company at significant legal and regulatory risks--it would require effectively becoming experts in accounting, HR, etc.
- UK-Al05 8y agoThere isn't actually that many sap/oracle like packages in .net Even dynamics isn't .net
- strlen 8y agoThere seems to be a misconception that enterprises (specifically ones where software is not considered a product) means Java and .NET with frameworks. Reality is that is this just the tip of an iceberg: a bank, a hotel chain, etc... might use Java or .NET for web applications yet great deal runs on proprietary software. Much of that software either runs on machines that are still sold and marketed as mainframes or if on commodity hardware (which nowadays offers plenty of vertical scalability in terms of memory and total number of CPU cores) coming from a mainframe lineage. It seems as if there were two distinct cultures of engineers. Those working on workstation-grade hardware networked over TCP/IP (whether running proprietary UNIX, open source UNIX, or Windows NT) -- and Java emerged out of this. The second cultures were developers building mainframe applications; usually they would be ones working on problems related data processing, planning, and automation for businesses (not just enterprises but also many SMBs, government organizations, hospitals, etc...) Java clearly emerged from the first culture being built by a vendor of networked UNIX workstations. Some of Java's most memorable failures - either exceedingly complex and brittle systems like RMI, JMS, and J2EE (I mean this literally: not modern Java EE like Jersey/CDI/etc... but EJB 2.0) or features that were in retrospect far ahead of its time (JINI or JXTA, compare with consul/etcd/zookeeper and the idea of a service mesh today) came as an attempt to commoditise approaches commonly used by the first group as frameworks for solving the domain specific problems of the second.
- lima 8y agoWhat's wrong with ASP.NET? It might not be the most sexy framework out there, but it's great for this sort of thing - there's a huge business application ecosystem surrounding it.
- outworlder 8y agoWhile that may be true, a huge monolithic system that does everything is seldom great.
- arbie 8y agoMonolithic does not always mean unmaintainable, though.
- nickik 8y agoMy respect for Elon just dropped 10x (still high) because I know he is a fan of Windows.
- misiti3780 8y ago>Elon is a big Windows fan and pushed hard to run the whole shop on Microsoft tech wow - this is surprising to me and wasnt mentioned in the biography - any ideas why ?
- gammatrigono 8y agoProbably related to his use of Windows early on at home and at Zip2, PayPal, etc.
- dfox 8y agoI have heard in some youtube video that one of the first post-merger conflicts at paypal was about elon pushing for Windows NT (and presumably MSSQL) instead of Oracle (presumably on Solaris).
- yjftsjthsd-h 8y agoIn fairness: Competing with Oracle is one of the very few times when choosing Microsoft makes sense. That felt weird to type.
- asaph 8y agoThis is discussed at length in the first chapter of Founders at Work. The chapter is written by Max Levchin (co-founder of PayPal) and discusses his bitter feud with Elon Musk over Musk's desire to convert systems over to Windows. Interestingly Musk is never mentioned by name. https://www.amazon.com/Founders-Work-Stories-Startups-Early/dp/1430210788 https://www.amazon.com/Founders-Work-Stories-Startups-Early/...
- davidgerard 8y agoThis was also in Eric Jackson's history of PayPal. Jackson was a marketing guy, so had no technical dog in the fight, but he wrote this particular fight up. Jackson was the guy who realised that PayPal and eBay had massive synergy and worked super hard to get PayPal in there. Eventually leading to eBay buying them out, and Musk and Thiel going from merely rich to actually billionaires.
- deleted 8y ago[deleted]
- api 8y agoThe majority of the professional world runs on Windows. There are many advantages: (1) Stable platform that's backward compatible over long periods of time. (2) Very good rapid application development tooling, e.g. Visual Studio which is probably still the best IDE overall. (3) A huge trained developer base making it easy to recruit. Same goes for IT personnel. (4) A huge pool of software, custom dev firms, etc. (5) Certification for US DOD and other certification-heavy environments where Windows is used heavily, which may be important for an aerospace company. (6) Integration with everything in the business and government world is already done. (7) Windows has a lot of complex user, permission, and policy management stuff. Active Directory is The Standard for UAM in the corporate world. The cost of Microsoft licensing is chicken feed compared to the cost of building and launching rockets. Overall I don't think it's a bad decision. Not everything is an Internet startup or hacker project. Right tools for the job.
- user5994461 8y agoIf it's more than 10 years ago, Visual Studio was the only IDE for C++ and the C++ was the most common language.
- jaimex2 8y agoWhy do you think that is? I've always wondered why there's such a small list of decent IDEs for C anything. I usually just stick to vim and a handful of plugins.
- user5994461 8y agoThere are no good development tools for C++ because it's an impossibly hard language to parse and process. For instance, try writing an auto completion tool for C++ and Java. The first one take orders of magnitude more work for a mediocre result. Using vim is symptom of the problem. The available tooling is so bad or non existent that it's comparable to a text editor.
- josefx 8y agoFor a long time the tools were either proprietary or GNU. Sadly gcc worked well enough that its policy of not exposing anything that could be abused by proprietary software meant that any tooling that surfaced had to work around the free compiler. Remember the day emacs got full featured refactoring support based on GCC? Stallman singlehandedly killed that for exposing too much. Good C++ tooling only started to turn up when Apple made its move from gcc to llvm/clang and we actually got competition in the free compiler space and a compiler based framework to build tools on top.
- digi_owl 8y ago> Thankfully the rockets fly with a heavily customized Linux install. And this is why Torvalds takes kernel API stability seriously...
- agorabinary 8y agoElon nearly brought the newly merged X and Confinity to its knees during a critical period in its development by 1) insisting on the "X" brand when Paypal was more popular with users, and 2) insisting on Windows over Linux despite the protests of his tech team. Soon after he was ousted and Thiel was made CEO. Interesting to see he's still pushing Windows. Source: Paypal Wars by Eric Jackson
- jgalt212 8y agoread this book too. The insistence on Windows blew my mind, given his "reputation" as an engineer.
- adrianN 8y agoThere are many engineers who actually like Windows. Especially if they're not software engineers. A lot of industrial equipment runs some embedded Windows.
- d21d3q 8y agoI would risk stating that all non software engineers have to like Windows because there is no software for them runnig on linux. All cad cam programs, ms Office, etc...
- elcritch 8y agoThe argument (at the time) was that Windows C++ tools were better than anything on GNU/Linux of the time. Also, in most non-CS fields (aka "real" engineering fields ahem) Windows, for better or worse, is still heavily entrenched. I have mixed feelings on this, as I am a Unix junky but it requires a lot of arcane knowledge to be effective, which many folk don’t have the wherewithal to acquire.
- BugsJustFindMe 8y ago> The argument (at the time) was that Windows C++ tools were better than anything on GNU/Linux of the time. That's still true today and it will probably always be true unless Microsoft ports Visual Studio one day. It's not a super great reason to choose it as an operating platform though. :\
- freeflight 8y ago> Thankfully the rockets fly with a heavily customized Linux install. That's good to know. When I saw the inside of the Dragon capsule, with its shiny touch controls, I was already imagining Astronauts having to deal with installing Android updates on their control tablets while mid-flight, or some other crazy stuff along those lines.
- em3rgent0rdr 8y agoWhen Musk became CEO of PayPal, he tried to switch the servers from Unix to Windows. Of course the founders revolted and fired him for such an dumb and wasteful idea.
- mathattack 8y agoI can see this being an environment that’s too busy to pay tech debt or put in DevOps processes.
- censoredbyhn 8y ago> Thankfully the rockets fly with a heavily customized Linux install. be more thankful if it was a genuine RTOS.