- cross-posted to:
- [email protected]
- cross-posted to:
- [email protected]
I refuse to enter any club that would accept me as a member.
-Groucho Marx
Thanks for doing what I was too lazy to do.
This was exactly what came to mind when I read the post.
If anyone is s curious, I work in that industry, and that is why it is so regulated. A lot of things have to go wrong for any single person’s mistake to matter. We test the heck out of aircraft. Some of these tests are absurd, but they’re meant to prove that the code still works even if the plane flies through the twilight zone.
I also work in the industry and yet you’ve got a company that didn’t follow the rules of redundancy, locked a normally required safety critical architecture and software of using redundant sensor behind paid DLC and caused two fatal crashes.
Reminds me of a joke:
The faculty of the engineering department at a university are gifted a free vacation retreat. Once everyone is in their seats on the plane, the captain announces that the very plane they’re sitting in was designed and built by their own students.
Chaos breaks out as the passengers scramble for the exits, until only one professor remains, calmly and confidently poised in his seat.
Naturally, he is asked why he didn’t panic like his colleagues. With a knowing smile he replies “I know the abilities of my students, I’ve seen what they’re capable of accomplishing when they apply themselves. I can assure you this piece of shit will never start.”
“I wouldn’t want to belong to a club that would have me as a member”
Posted 10h ahead of you, with the exact same replies.
You can do a quick search before you do this.
It was early for me and I didn’t see it after a quick check. Sorry if I ruined the thread for someone or something.
Groucho Marx
Indeed.
“Software for airplanes” is a broad term. If I ever get into a position to make software for airplanes, it’s probably not going to be things that can crash the plane. The entertainment system is still software for airplanes.
Swissair Flight 111 was possibly crashed by its entertainment system. Nothing to do with the software though.
If I recall correctly, it was installed questionably, drew too much power and caused a fire.
That was the wiring and circuit breakers, not the software.
(Also flammable material)
Edit: yes, not software related.
Once again people blaming software people for hardware problems!
People in the past have used the entertainment bus to get into the flight telemetry data, hopefully only in a read-only state, but that will only be true if you trust the competence of the IT group that set up the programming for the switches.
Just be careful of where you try to write data and you should be fine! (and stay away from /dev/wing0 and /dev/wing1 on the network mount!)
Ugh, why the hell aren’t those air-gapped?
Same thing in cars. Why is the infotainment system that is connected to the internet not air-gapped from the critical car functions?
These things aren’t hard to do. I guess we just need people to die before we take such basic safety measures.
dd if=/dev/null of=/dev/eng0
Oops!
Use /dev/random for chaos
You’re right. The other side of that is I did a little contract work for a company that is working on software for unmanned commercial flights.
Those guys actually made me feel better. They were all super smart, meticulous, and incredibly good at their jobs. It was the first environment I’ve ever been in where I felt like I could just barely keep up. I always felt one commit away from fucking things up. So I moseyed on down the road as soon as the thing I was contracted for was finished.
It was such a cool job and they offered me a permanent place. I just couldn’t feel behind every single day for the rest of my career until my system destroyed people’s lives.
I didn’t work on the FCC software, I wrote software to test the assembled FCC box, but the feeling was… Similar. I think it was a Moog product that went in an Embraer or the Chinese C919.
I had 150+ connectors, and they had to provide me values to send to every one of them, and then what to measure on every single output to make sure that there were no shorts, no opens, and no damage to a single component inside of it.
I had an interview to work on the platform of a weapon system, obviously would require clearance. I got the job. I went down to check out living possibilities, and while I was there, Saudis had bombed a bus full of kids. I figured out that I’d be working on and air to air missile, but the mere thought that I’d be attached to something delivering death sent me into a panick attack that forced me to decline the job. I now work on healthcare systems. It’s a fuckload nicer knowing I’m making people’s lives easier and and saving lives rather than risking them.
And the entertainment systems crash and bug out all the time so I sure hope the more important systems are developed more thoroughly lol
All roads lead to Microsoft 😬
“Both first and business class seats were equipped with a Windows NT 4.0 based In-Flight Entertainment Network (IFEN) system with touchscreen in-seat video displays and magnetic card readers.[3] In the galley, a cabin file server served as a central hub for managing content, which facilitated movie downloads, stored flight and casino information, and collected credit card data transmitted from each seat.[3]: 43 “
They run Linux now.
Having worked in this industry for going on 25 years, I long ago learned that there are way too many incompetent programmers in the world working critical jobs. It’s best not to think about it.
Judge any service (and most other stuff) by its support, aftercare and how they handle complaints / fix problems.
That’s worth more than flashy front end, marketing bs or even technical performance specs.
Yep. When buying a product, it ain’t about the packaging, color of the paint, or the sticker/badge hung on it. It’s all about the service when things go sideways. And at some point something will go wrong, it always does. That’s when you learn just how good or bad a company is.
i read that Boeing paid developers in India less than $5/hr for the 737 MAX software
This is the type of peak capitalism that make me lose all faith in humanity. The fact American companies feel pressure to pay even less than the already poor salaries is testament to the need to burn this all to the ground.
As far as I know, the MAX software fully complied with its software requirements. The problem was crappy system requirements, and Boeing actively lied to their pilots to conceal that they added a brand new automatic flight control system that can push the elevators down independent of the autopilot and stick pusher.
That last part is what sent people to jail.
Specifically, the ‘for test flight use only’ software that wasn’t removed after test flight.
Don’t worry, we’ll refactor when we get time!
That’s shit even by Indian standards.
I hope they pay air force one programmers 2 dollars an hour, engineers 3 dollars an hour and factory workers 20 cents an hour.
To save on costs, QAs could be paid in exposure.
I, on the other hand, hope something will push them to pay their programmers 25 an hour
These things should never come down to the individual skill of the programmer. There should be systems and checks in place to assure the quality. And if the quality isn’t reached, the programmer needs enough time and support to reach them.
But we all know, being thorough doesn’t pay.
It’s too bad that, at least for me, your comment doesn’t come immediately after this one.
Don’t worry OP, they let me be an air traffic controller and my best mate an airline pilot.
Bad software or not, you’re fucked anyway.
How refreshingly honest, id like a ticket on @[email protected] airlines please
I’d say ‘Imposter Syndrome’ + ‘Past Job Position Trauma’. There should be good review process and good pipeline with automatic testing and static code analysis, it shouldn’t be a responsibility of a single person.
this makes me think of the dilbert where the lazy guy talks about reusing code from payroll on this project for airline software and warns his workmates to not fly on payday.
Don’t they use super statically verifiable code for these kinds of applications? Like, Ada?
Sort of. We used C, but no dynamic memory allocation.
Oh that’s neat. That makes me feel a lot better. I mean I get that the systems were probably embedded and that everything was defined, but it’s relieving to hear that a segmentation fault or dangling pointer would generally be avoided.
Ada is a language that leaves a lot of things “implementation dependent” as it’s not supposed to grant easy access to underlying data types like those you’ll find in C, or literally on the silicon. You’re supposed to be able to declare your own integer type of any size and the compiler is supposed to figure it out. If it chooses to use a native data type, then so be it.
This doesn’t guarantee the correctness of the compiler nor the programmer who absolutely has to work with native types because it’s an embedded system though.
This has ended in disaster at least once: https://itsfoss.com/a-floating-point-error-that-caused-a-damage-worth-half-a-billion/
That is why I travel by train. At least a train can’t fall out of the sky.
Not with that attitude.
That’s why we invented bridges and viaducts, we didn’t want the trains to feel left out
Um ackshually that’s a metro, not a train 🤓
It’s one whale statue away from becoming a boat
Have never and will never fly. Don’t care. Too much shit goes wrong. “BUT YOU ARE MORE LIKELY TO GET IN AN AUTOMOBILE ACCIDENT” Yeah, but cars tend to not FALL OUT OF THE FUCKING SKY FROM WAY THE HELL FAR UP WHEN SOMETHING GOES WRONG. Hate that fucking statistic because you DO have a good amount of control over the safety of your own car vs. a plane that if any little thing goes wrong, you’re likely fucked.
Sure, there are dangers driving a damn car. There’s danger walking out of your front door. Getting into the shower. Doing ANYTHING in this life with our frail-ass human bodies. I’m not going to escalate that by going up into the goddamn sky on board an old-ass fucking airplane depending on half-assed maintenance and poorly done code. If my car fails, it’s on the side of the road waiting for a tow truck. If I get hit by someone, or I hit someone, at least I can survive and that is significantly improved with the quality of my driving. If the plane fails, I’m fucking dead, end of fucking story.
Don’t give me this CARS ARE MORE DANGEROUS shit. And “odds” mean nothing because at any time the odds can fall against you. Odds aren’t a guarantee of “this has to happen X number of times in Y without fail”. Typical uneducated thinking.
Planes don’t fall just out of the sky. They’ll glide.
Glide straight down. Even the most controlled emergency landing is a near-disaster.
Planes are dangerous.
Seems like you never had a childhood when (proper) paper planes were common?
Planes fail all the time. That’s five separate incidents from this week. It’s very rare that an accident happens, and this can be seen in the statistics. If you’re curious how accidents do happen, check out Mentour Pilot’s videos on YouTube. I understand that being in control of a car feels safer but the statistics don’t lie.
It’s less uneducated thinking and more “here’s a thing I read online that I can parrot to show that I am more rational than others”.
That statistic could be entirely unfounded and people would still be repeating it because it serves their purposes. Internet nerds love gotchas.
That aside, fully agreed regarding the level of control. It’s a little like saying “people have - and therefore you have - an x% chance of getting lung cancer” while completing ignoring that a huge portion of that is a direct result of only some people’s behaviour, namely smoking.
The people driving defensively, sober and attentively are not likely to be the ones folding themselves around a roadside tree.