Earlier quoted context omitted.
Yes, it looks like they should have written "NM" instead of "nm".
No one is using nanometers in aviation navigation. Quite a few aviation systems are case insensitive or all caps only so you can't always make a distinction. In fact, if you say "miles", you mean nautical miles. You have to use "sm" to mean statute miles if you're using that unit, which is often used for measuring visibility.
Air traffic failure caused by two locations 3600nm apart sharing 3-letter code
151–160 of 311 posts
Re: Air traffic failure caused by two locations 3600nm apart sharing 3-letter code
#152Re: Air traffic failure caused by two locations 3600nm apart sharing 3-letter code
#153This is old news, but what's new news is that last week, the UK Civil Aviation Authority openly published its Independent Review of NATS (En Route) Plc's Flight Planning System Failure on 28 August 2023 https://www.caa.co.uk/publication/download/23337 (PDF) Let's look at point 2.28: "Several factors made the identification and rectification of the failure more protracted than it might otherwise have been. These inclu…
But no mention of this insane failure mode? If the article is to be believed
The UK is part of the IFPS Zone, centrally managed by EUROCONTROL using AFTM. IFPS can accept/reject IFR flight plans, but the software at NATS can't. By the time NATS gets the flight plan, it has already been accepted. All their software can do is work out which parts enter the UK's airspace. If it's a long route, the plane has already taken off.
NATS aren't even thinking of a mixed-mode approach (for IFR flight plans) where they have both automated processing and manual processing of things the automated processing can't handle. They don't have a system or processes capable of that. And until this one flight, they'd never had a flight plan the automated system couldn't handle.
The failures here were:
1) a very unlikely edge case whose processing was specified, but wasn't implemented correctly, in the vendor's processing software
2) no test case for the unlikely edge case because it was really _that_ unlikely, all experts involved in designing the spec did not imagine this could happen
3) they had the same vendor's software on both primary and secondary systems, so failover failed too; a second implementation might have succeeded where the first failed, but no guarantees
4) they had a series of incident management failures that meant they failed to fix the broken system within 4 hours, meaning NATS had to switch to manual processing of flight plans
Re: Air traffic failure caused by two locations 3600nm apart sharing 3-letter code
#154Earlier quoted context omitted.
Even though I knew this was about aviation, I still read nm as nanometres. Now I'm wondering what this says about how my brain works.
"Hacker News failure caused by two units 12 orders of magnitude apart sharing 2-letter code"
That all programming languages, down to statically typed assembly, don’t support something as simple to validate as unit consistency says something strange about how the science of replacing unreliable manual processes with automated systems is really bad at the practice of replacing its own risky manual processes with automated systems.
If numeric types just required a given unit, without even supporting automated conversions, it would make incorrectly unit-ed/scaled literals vastly less likely.
Re: Air traffic failure caused by two locations 3600nm apart sharing 3-letter code
#155I guarantee that piece of code has a comment like /* This should never happen */ if (waypoints.matchcount > 2) {
waypoint = waypointsMatches[0]
Without even mentioning that waypointsMatches might have multiple elements.This is why I always consider [0] to be a code smell. It doesn't have a name afaik, but it should.
Re: Air traffic failure caused by two locations 3600nm apart sharing 3-letter code
#156This is hack-on-hack stuff, but I am wondering if there is a low cost fix for a design behaviour which can't alter without every airline, every other airline system worldwide, accommodating the changes to remove 3-letter code collision.
Gate the problem. Require routing for TLA collisions to be done by hand, or be fixed in post into two paths which avoid the collision. (intrude an intermediate waypoint)
Re: Air traffic failure caused by two locations 3600nm apart sharing 3-letter code
#157FYI: nm = nautical miles, not nanometers.
Re: Air traffic failure caused by two locations 3600nm apart sharing 3-letter code
#158Original (2023) thread with 446 comments, https://news.ycombinator.com/item?id=37461695 ( "UK air traffic control meltdown (jameshaydon.github.io)" )
Re: Air traffic failure caused by two locations 3600nm apart sharing 3-letter code
#159Is nm the official abbreviation for nautical miles? I assume it is natural miles. For me it is nanometers.
Contextually no one is using nanometers in aviation nav applications. Many aviation systems are case insensitive or all caps only so capitalisation is rarely an important distinction.
Re: Air traffic failure caused by two locations 3600nm apart sharing 3-letter code
#160Earlier quoted context omitted.
It's not "spurious psychological reasons". It is being honest that issues will never, ever meet the bar to be fixed. Pretending otherwise by leaving them open and ranking them in the backlog is a waste of time and attention.
it's more fun/creative/CV-worthy to write new shiny features than to fix old problems.
Also, old bugs can get fixed by accident / the environment changing / the whole subsystem getting replaced, and if most of your long tail of bugs is already fixed then it wastes people's time triaging it.