by cratermoon on 6/6/25, 10:20 PM with 199 comments
by sixdimensional on 6/7/25, 3:24 AM
Aircraft do not have a singular unique identifier that is time invariant.
While it is true that aircraft have serial numbers issued to their airframe, by itself, aircraft serial numbers are not unique.
The only unique identifier for an aircraft across its lifecycle from production to end of life is a combination of the manufacturer, make and serial number.
I know this because I am on (for better or worse) the patent that involves defining that as a unique identifier for aircraft.
The combination of ICAO aircraft type designator + serial number approximately is the most permanent identifier for an airframe - and even then - if an airframe is modified significantly enough that it no longer is the previous type - even then this identifier can change.
Personally, it boggled my mind that something as big as an aircraft did not have a simple time invariant unique identifier.
P.S. For those who might ask - aircraft registration numbers are like license plates, so they change - tail numbers can be ambiguous and misinterpreted depending on what is painted on the aircraft where, and ICAO 24-bit aircraft addresses are tied to ADS-B transponder boxes, which technically can be moved and reprogrammed between aircraft also.
by FabHK on 6/7/25, 1:32 AM
Having said that, many of the links are very informative. For example the crater on Mars that has an ICAO airport code [2]: "On 19 April 2021, Ingenuity performed the first powered flight on Mars from Jezero, which received the commemorative ICAO airport code JZRO."
[1] https://www.flightaware.com/live/flight/PDT5965/history/2025...
by bnycum on 6/7/25, 3:51 AM
by genocidicbunny on 6/7/25, 2:52 AM
by alphazard on 6/7/25, 12:19 PM
Things like flight numbers not having reasonable semantics, or conceptual pollution of what a flight is to include multiple take offs and landings are bad design, plain and simple. Just model the problem correctly e.g. maybe a Trip is multiple Flights, or Flights have multiple Legs. This isn't aviation specific. These are generic problems that programmers can and should get right.
Some of it is intrinsic to the domain, like flights not all having gates, or not landing at airports. That was a new tidbit for me.
by ryandrake on 6/7/25, 2:28 AM
by Titan2189 on 6/7/25, 1:50 AM
https://www.youtube.com/watch?v=jfOUVYQnuhw
including (attempts at) a few in-depth reasons for why these quirks exists
by djoldman on 6/7/25, 11:04 AM
* Programmers believe they are handling all possible configurations of the universe when putting something into production.
* Programmers don't handle all possible configurations of the universe when putting code into production because they don't know any better.
Falsehoods people believe about the universe:
* There exists a constant.
* SI units are constant at all times or everywhere.
by kqr on 6/7/25, 10:42 AM
What made the corresponding lists for names and time interesting were that it was genuinely surprising to realise that their statements were actually false. I don't get that feeling with these.
Like the top level comment about identifiers for airplanes -- why would they have them? That sounds baffling to me. With ownership changes, continuous upgrades, extending airframes, repurposing etc. I would be surprised if there was a stable identity.
by sandworm101 on 6/7/25, 1:58 AM
Myths programers believe about cars:
Cars in the same lane always travel in the same direction.
Each street has a name.
Each street has a unique name.
Each street has only one name.
Cars have four wheels.
Cars never move vertically.
Roads never move.
Roads never cross water without bridges.
When two roads cross, the do so at an intersection.
Take any field in human experience and one can make such a list.
All boats float. Ships are bigger than boats. Boats are slower than airplanes. Boats only travel on water.
by dtgriscom on 6/7/25, 2:22 AM
https://www.flightaware.com/squawks/view/1/7_days/popular_ne...
by marcosdumay on 6/7/25, 1:53 AM
My impression is that every single older (pre-2010) computer system that manages the Brazilian aviation felt for that and fixed it in a hack.
> Airports never move
Also, Runways never move. Also, if runways move, they don't change direction. Also, if airport or runways move, there will exist some construction work before.
I'd add "aircraft only land in runways" there too. And "ok, aircraft only land in runways and heliports".
by moralestapia on 6/7/25, 10:33 AM
Hehe, I was once told we couldn't land at our destination A, so we got diverted to B; while on our way to B we were told we are actually going to C; and, while on our way to C, A became available again so the plane did a U-turn and we flew back to A, landing with a ~3 hour delay.
The cause was snow and wind.
by EMM_386 on 6/7/25, 6:10 AM
Not all the things in the list, because I am aware of those. I might have missed the runway numbers changing based on shifting magnetic field of the earth, but that's a thing too. Runway 22? That's now Runway 21.
But why programmers specifically would believe this, as opposed to ... any other profession that is not aviation?
by mschuster91 on 6/7/25, 8:18 AM
by FearNotDaniel on 6/8/25, 4:39 AM
I used to travel fairly often between Salzburg and London Heathrow, which has very few direct flights outside of weekends in the ski season. One option was to book a through ticket on the Lufthansa bus Salzburg-Munich then fly, which meant of course that the bus journey had to have a flight number. I particularly loved that there was a pick up at the halfway point of Rosenheim in Bavaria, which means a lonely bus stop in a car park just off the motorway also got assigned an airport code.
by lyu07282 on 6/7/25, 3:40 AM
by ivan_gammel on 6/7/25, 5:47 PM
by dehrmann on 6/7/25, 5:02 PM
I went on a vacation to New Zealand just before new visa requirements took effect, so while I entered legally, at some point, I couldn't reenter. As I was going through passport control to exit, I asked what would happen if the plane had a mechanical issue and I had to spend the ~night, but couldn't reenter. The border agent said they can undo an exit.
by hermitcrab on 6/7/25, 9:14 AM
Isn't that blindingly obvious? If so, how did it get to be a patent? And is someone now extracting rent from it?
by AlienRobot on 6/7/25, 1:37 AM
I can imagine them going "I had a perfect database schema that covered every edge case, and then..." with each bullet point.
by b3orn on 6/7/25, 10:58 AM
by jmward01 on 6/7/25, 12:31 PM
[1] https://www.ncei.noaa.gov/news/airport-runway-names-shift-ma...
by unkulunkulu on 6/7/25, 7:41 AM
Also, feeling myself stupid very quickly. Very nice summary, bravo!
by univacky on 6/8/25, 5:16 PM
Famously, President Richard Nixon departed Washington DC on Air Force One bound for California. In flight over Missouri, his resignation took effect and Gerald Ford was sworn in as President. When that happened, the callsign of the flight changed to SAM 2700.
by throwaway290 on 6/7/25, 5:58 AM
by petesergeant on 6/7/25, 4:05 AM
by usui on 6/7/25, 3:50 AM
by zzo38computer on 6/7/25, 2:35 AM
I know that there is a ICAO code on Mars (since I had read about it before).
I think there are some airports that have a ICAO code but not IATA code and vice-versa, and some have a "pseudo-ICAO" code with letters and numbers together.
by nly on 6/8/25, 9:34 AM
For example, a tail number (attribute) could be associated with a plane between X and Y timestamp
In financial trading it's also the case that a lot of identifiers change.
by Zealotux on 6/7/25, 11:18 AM
by aryehof on 6/7/25, 4:33 AM
Aside: is there a notation for such constraints?
by daedrdev on 6/7/25, 10:58 AM
by account42 on 6/10/25, 9:24 AM
- You can just add arbitrary query arguments to URLs of other websites
by BrandoElFollito on 6/7/25, 9:13 PM
Software development is really cool.
by th0ma5 on 6/7/25, 7:18 AM
by oceansky on 6/7/25, 2:36 PM
"Flights have schedules".
Don't they all have schedules?
by amelius on 6/7/25, 12:01 PM
by softwaredoug on 6/7/25, 2:30 AM
by antonvs on 6/7/25, 11:12 AM
by mcdeltat on 6/7/25, 4:00 AM
Reminds me of a list that came up ages ago that presented an assumption of "X code always runs" with the counterpoint that you could unplug the computer. Ok sure, but then why write software at all? Clearly no point assuming any code will ever run since you can just terminate the program at any random time.
by ttfkam on 6/7/25, 4:19 AM
Eventually you end up having to make choices and deal with the consequences. Otherwise Jordan Peterson would have you chasing your tail for days about what a "choice" is, and nothing would ever get done.
tl;dr: just make your best guess and always include an extra "notes" column where things can get leaky.
by moron4hire on 6/7/25, 2:40 AM
by antonvs on 6/7/25, 11:09 AM