Someone hardcoded that field 50 years ago and it's impossible to change the type. It would be easier to just abandon planes altogether, and set up a parallel transportation system.
That comment explains the issue but exaggerates the impact. Sure, a change can be made and alphanumeric may not be right. No it won't be anything like the recent Crowdstrike issues. The impact of making a change on downstream systems is solved by planning it out. Communicating the intent and setting a switch over date. Some people may not heed the notices and their systems will crash. That's unfortunate, but just like Y2K or other mandatory updates, it must be done and when a crash happens it will suddenly become very important for that downstream app to issue a patch and at least they will know where/why the break happened.
In terms of datatypes, I like the idea of just going with a 5 digit integer. It seems fairly straightforward to change in most databases/systems. And while having a much smaller upper limit, it's 10x bigger than the limit that's taken us 60 years to reach.
Also, he mentioned no Alphanumeric datatype in Excel Format Cells. It's called General, because it's the default and most of that apps user's don't know what VARCHAR is.
> Some people may not heed the notices and their systems will crash
Some of these systems are indirectly responsible for keeping people safe and alive. This "oh well, you should have paid attention and taken care of it" attitude won't fly.
Seriously, this is something that could have been rolled out over the course of years. They could have talked about it at industry conventions and otherwise socialized the idea of updating dependent systems. Are those mission critical systems just willy-nilly connecting to these systems? Or is there some authentication? Because if there's authentication, there's usually some record of contacting the admin of that other system. Like how API service providers know who the owners of API keys are. Make it a required step of their annual FAA filings to certify that they have become 5 digit compliant (or whatever it gets called). If there's a way to make them prove it, make them prove it. If it has to be done to each aircraft, require it.
You get my point, there's so many practical ways to handle this. That's not to say it's easy but it's possible. Even just an audit of systems relying on communications to these legacy system(s) for actual flight operation would be a useful thing that I'd think most airline operators should have documented somewhere.
My thought in that comment was the further way from mission critical systems are the ones that will be more likely to unintentionally ignore the switch over notices and have a crash. At that point we're talking about Kayak.com going down or something that is absolutely not mission critical.
We need to have a way of rationally solving this issue that's not just some throw our hands up and ignore the problem until it's critical type situation. It a reality of our technical world that old stuff will require some breaking updates at some times.
>They also still have fun with flight numbers for instance running flight 1776 between Philadelphia and Boston; flight 1492 to Columbus; AAA777 to Las Vegas;
The "AAA" is a typo, they probably mean "AA777" for American Airlines 777[1].
A far as why the number 777 is amusing, it's gambling. The combination 777 is a jackpot on a slot machine, Additionally AA777 is a great hand (full house) in poker.
A competently designed system should be able to convert between "internal" and "external codes" using only trivial string manipulation (e.g. no external dependencies, nor any databases to load at runtime; while adding or removing the code type magic-prefix is trivial; and computing/veriftying/concatenating/trimming any check-digits should also be straightforward, like a CC or VIN check-digit.
...basically, copy what Stripe does (except I wish Stripe would announce a far smaller and reasonable length-limit for their Object-Ids instead of handwaving around a vague reference to needing as 255-char database column - because it messes-up all of my RDBMS query-plans' memory grants because it allocates (N rows * 255 bytes) whereas in reality all of my Stripe Object-Ids are well-under 32 chars in length, _le sigh_.
This suggestion is also obviously trivially discarded: it is safe to assume that many, many, many systems expect only numbers in those fields, and will blow up if they encounter letters.
And if the answer isn't known by the sources the writer quotes, the writer should say so.