James Haydon

Domain structured programming (UK ATC meltdown)

11 minute read Published: 2023-09-15

This is part 3 of my blog posts about the UK air traffic control meltdown. You might want to read part one and part two.

Having had some time to process some of the comments about my first post, I realise now that I was not clear in communicating my thoughts about the programming style, and how that contributed to the existence of the bug. I will have another go now. The point I was trying to make was:

With a better programming style, the bug might not have been made even if the code is only meant for flight plans with no duplicate waypoints.

UK ATC meltdown and swiss cheese

4 minute read Published: 2023-09-13

This is a short follow-up of my post about the UK air traffic control meltdown. You might want to first read part one.

So my first post got a lot of attention, and that generates a lot of comments. What was most discussed was:

"But really though, what was the one thing that went wrong?"

UK air traffic control meltdown

38 minute read Published: 2023-09-08

Comments on reddit and Hacker News. Other posts: part two and part three.

UPDATE: The flight plan which triggered the chaos (but was valid) has been identified!


On 28 August 2023 NATS, the UK's air traffic control operator, suffered a major technical incident. The BBC reports that more than 2000 flights were cancelled and the cost has been estimated at over £100 million GBP. The incident probably affected hundreds of thousands of people.

The press initially reported the cause was a faulty flight plan: "UK air traffic control: inquiry into whether French error caused failure" (The Times) and in typical Mail Online reporting style: "Did blunder by French airline spark air traffic control issues? Officials probe if a single badly filed travel plan caused UK's entire flight-control system to collapse in worst outage for a decade - with 1,000 flights cancelled and chaos set to last DAYS".

So what happened? These are notes on my reading of the incident report:

Why (some) Python programmers don't want Haskell

4 minute read Published: 2023-07-16

A Haskell discourse thread asks why more Python developers couldn't instead be using Haskell.

One of the points made in this thread, is that there is a sizeable class of Python programmers for which the trope "Python programmers will be scared of monads!" doesn't apply. I thought I would ask some of the people I know that use Python why they don't use Haskell.

Publications

1 minute read Published: 2022-01-03

I am a researcher in Prof. Ichiro Hasuo's ERATO Metamathematics for Systems Design Project at the National Institute of Informatics (NII) in Tokyo.

I've also worked quite a lot in industry, mostly using Haskell and Scala.

Before that, I was a PhD student at University of Oxford, under the supervision of Prof. Minhyong Kim.

I created the Lawvere programming language (because I quite like both programming and category theory).