it’s literally impossible to even know in a general way whether a program will self-terminate or not.
what’s interesting to me is that i would assume other boeing software doesn’t act this way – so what did they introduce, and how did they miss testing the new introductions?
Another example of Agile development. There’s always enough time for adding features but never enough time for testing.
There’s no such thing as a runway with a bad coordinate set. There can’t be such a thing as a runway with a bad heading. This is a case of incompetent process management.
If you make a program simple enough, and implement it directly with gates, you can know all possible states of The system. There are strong arguments that safety critical software systems should be implemented this way, or at least using the slightly less stringent principles of real time software development.
The worst thing is, not only this, but their recent glitch testing their new crewed space launch vehicle, are exactly the same kind of problem as the 737 max problem; poorly architected, untested software controlling critical systems.
For a sufficiently broad definition of ‘general’ - specifically, ‘general recursive’.
It’s hard to imagine a flight-critical system needing to depend on a calculation that isn’t primitive-recursive; after all, such systems need guaranteed time bounds. For a useful restricted set of programs, you can indeed prove termination, and bound the time to termination.
Friend of mine writes software, he got promoted to manage the outsourced software writers. He said he spent all day fixing bad code. Eventually he quit, only to be hired by a different company to manage more outsourced software writers delivering more bad code. He ended up demoting himself because he just couldn’t take it anymore. Now, he didn’t work on life or death code, just dull database stuff for banks.
But I’m pretty much convinced by now that Boeing is using cheap outsourced code that I wouldn’t want operating my refrigerator, let alone a frickin’ aircraft.
I mean sure, writing good code is hard, in principle. You can never test for every state and so on. But that doesn’t mean that there aren’t good practices you can follow to write good code that isn’t a horrible accident waiting to happen. And basically, it’s now on Boeing to convince me they’re capable of writing code that isn’t a worst case scenario of bad practices by lowest bidder script kids with no skin in the game. The FAA equally has to convince me it is capable of vetting that software. I’m not exactly holding my breath for any of this to happen, Boeing and the FAA are starting out on the bottom of a credibility curve here. They have failed catastrophically and repeatedly at their jobs, all so they could shave a few development bucks off for the shareholders, revealing a catastrophic lack of judgement, which I’ll assume until it’s proven otherwise permeates their management cultures.
To be fair, that’s why they included windows on this model.
See, this is the thing that really, really bugs me.
Computer Science isn’t a new field. We have 50+ years of experience writing mission-critical, life-critical, real time code. It is expensive, it is hard, and it best be small. Would I trust a plane with an operating system written in 20,000 lines of code that had each line of code inspected, tested, and validated? Yes, of course I would. Would I trust a plane running Windows 10 and some software that they developed using the agile 80% rule? No way in hell.
How much does Boeing need to fail before they figure this out? You can’t treat an airliner or a spacecraft like an app for your cell phone.
Programmers are getting too far away from the hardware. They aren’t teaching them well enough. Not enough computer scientists to lead things. Writing bare-to-the-metal, safe code ain’t exciting but the last thing you want in an airplane is excitement.
Agile and the web are the worst things to have happened to the Programming profession ever since Ada Lovelace invented the field. Grace Hooper would be exceptionally furious.
“within 20 degrees of 270” is not the same thing as “270 true heading.”
Maybe you can make sense of the data
82V: https://skyvector.com/airport/82V/Pine-Bluffs-Municipal-Airport
KBIJ: https://skyvector.com/airport/BJJ/Wayne-County-Airport
KCIU: https://skyvector.com/airport/CIU/Chippewa-County-International-Airport
KCNM: https://skyvector.com/airport/CNM/Cavern-City-Air-Trml-Airport
KBRW: https://skyvector.com/airport/BRW/Wiley-Post-Will-Rogers-Memorial-Airport
SKLM: https://skyvector.com/airport/SKLM/Jorge-Isaac-Airport
SYCJ: https://skyvector.com/airport/SYCJ/Cheddi-Jagan-International-Airport
spoke too soon: the runways are named according to magnetic declination, and the computers use true declination…
wayne county r28: 277° Magnetic, 270° True
chipewa r28: 277° Magnetic, 270° True
cavern city r26 260° Magnetic, 270° True
barrow r25: 251° Magnetic, 270° True
la mina r28 279° (Magnetic Variation is 8° West)
cheddi r29: 286°(Magnetic Variation is 16° West)
and the latitude given for pine bluffs r8/r26 remains constant–only the longitude changes.
I cant’t believe that only seven airports laid out their runways in such an obvious fashion.
I agree with all your points, but maybe a narrow exception for this one.
At least once in my life I’d love to experience a loop or a barrel roll. I’ve already jumped out of a perfectly good airplane.
I presume they are having difficulty calculating tangent functions. If the aircraft is swaying a little while on a 270 degree approach, the computer may be trying to rapidly calculate adjustments based on deviations of plus and minus infinity. Just a thought.
I’ve seen an aircraft INS screw up coordinate conversions between lat/long and MGRS. Figured out that the INS was always rounding down to the nearest 10,000 km grid, which was fine in the northern hemisphere but put you 100km off course in the Southern hemisphere. The australians were not impressed.
If it’s not Boeing, I’m not going … to die
This takes on an extra meaning in the case of outsourced LCC coders who themselves might never be a passenger on any flight.
What we’ll see next: Airlines suddenly driving up prices on used planes from the 80s and 90s without all the electronics and fancy whiz bang digital features.
If that’s the case, why doesn’t the error appear on 0, 90, and 180 degree approaches?
TAN 0 and TAN 180 are just zero. TAN 90 and TAN 270 give infinity.
Assuming it’s a tangent issue, I expect that the issue is also seen at 90 degree approaches. You’re just coming from the opposite direction. Smaller aircraft usually have to land into the wind, and in the US the prevailing winds are mostly from the west, so a 270 degree approach most of the time.