All
← Back to Squawk list
Falsehoods Programmers Believe About Aviation
At FlightAware, our software needs to gracefully handle all sorts of weird and wonderful situations. While we as engineers might hope for aviation data to be clean and well-standardized, the real world is messy. There are a lot of assumptions one could make when designing data types and schemas for aviation data that turn out to be inaccurate. In the spirit of Patrick McKenzie’s classic piece on names, here are some false assumptions one might make about aviation. While many of these are simply… (flightaware.engineering) More...Sort type: [Top] [Newest]
There's a clear "move fast and break things" mentality in the software development community. That's because so much of the development/delivery and pretty much all of the education and training, is for web applications or cell phone apps, things where the consequences of problems are insignificant. And of course, I blame Bill Gates, who "taught us" that "all software is buggy and there's nothing you can do about it."
The real problem is that there's so little LEGAL consequence for delivering bugs, including (but not limited to) cyber vulnerabilities. We use poor tools and techniques, and then we spend lots of money trying to fix or prevent the exploitation of problems THAT SHOULDN'T BE THERE IN THE FIRST PLACE. I've been arguing for legal liability for software errors and licensing of software engineers for almost 40 years.
The real problem is that there's so little LEGAL consequence for delivering bugs, including (but not limited to) cyber vulnerabilities. We use poor tools and techniques, and then we spend lots of money trying to fix or prevent the exploitation of problems THAT SHOULDN'T BE THERE IN THE FIRST PLACE. I've been arguing for legal liability for software errors and licensing of software engineers for almost 40 years.
Yep 80% of the code is to cover 20% of the situations…..
The problem is when you start you don’t even know what those 20% are!
Developing any complex system is hard. I system that has to be almost , if not totally, error free is really really hard work.
Generating code is easy, generating the right code is not !
Way back in 2016 Musk was saying Tesla will have full autonomous self driving next year and yet here we are almost 10 years later and it still isn’t here. I bet back in 2016 the code worked for +95% of the time and the last 10 years has been spent getting to 99.99%!
The problem is when you start you don’t even know what those 20% are!
Developing any complex system is hard. I system that has to be almost , if not totally, error free is really really hard work.
Generating code is easy, generating the right code is not !
Way back in 2016 Musk was saying Tesla will have full autonomous self driving next year and yet here we are almost 10 years later and it still isn’t here. I bet back in 2016 the code worked for +95% of the time and the last 10 years has been spent getting to 99.99%!
I've been scripting (CPM !, DOS, f... Windows, Mac, Perl, bash, tcsh, FORTRAN, C and a little VB) for 40+ years. The most important part of any script/code/algorithm/program/"app" (UGH) is what I and my Unix counterpart used to call "Try very hard to fail" - anticipate and validate everything (hopefully) that would break the script and fail immediately. always the interesting part.
BTW, 2 items to add to the article
Backhoes never rip up fiber optic cable bundles
the Sum never "burps" and pulls a Carrington event
ok, more than 2: Amongst the things to add to the article (apologies to Michael Palin)
Aircraft never disappear and reappear as the ionization in the upper atmosphere changes. (think radio blackouts when CME's hit the upper atmosphere - see www.spaceweather.com for details.)
BTW, 2 items to add to the article
Backhoes never rip up fiber optic cable bundles
the Sum never "burps" and pulls a Carrington event
ok, more than 2: Amongst the things to add to the article (apologies to Michael Palin)
Aircraft never disappear and reappear as the ionization in the upper atmosphere changes. (think radio blackouts when CME's hit the upper atmosphere - see www.spaceweather.com for details.)
I think you meant "the sun never 'burps'"
Great article showing how difficult it is to describe our chaotic world in neat, consistent ways. I think it would find a few more interested views from people on a subreddit like DataScience

BUT if FAA thinks it can produce a new/replacement air traffic control system quickly using script-kiddie programmers generating code using ChatGPT, these are the kinds of mistakes that we can expect. The 2 hard parts in software are (1) Understanding the system/domain and (2) identifying and resolving or mitigating bad data, hardware failures, etc - all the things that could go wrong.