# Joey Innes > A record of reflections and endeavours in computer broscience — systems programming in Zig, servers in Go, aerofoils, and the flying that keeps prompting them. Personal site of Joey Innes: systems programming in Zig and Go, aerofoil and boundary-layer work, and the flying that keeps prompting it. Two kinds of page. **Posts** are finished essays with titles, in Computer Broscience (software) and Reflections (everything else). **Notes** are a short-form diary — a line of thought, a photograph, whatever the day was — with no titles, stamped to the minute, in Europe/Zurich. Written in British English. Everything here is one author's own work. ## Notes Short entries, in the order they happened — a line of thought, a photograph, whatever the day actually was. The posts are where I finish an argument; this is where I keep the record. Nothing here yet. ## Computer Broscience An HTTP server and a panel-method aerofoil solver written from scratch in Zig, a distributed key-value store and a logging daemon in Go, and the occasional measurement that disproved something I was sure of. - [Designing the pressure, not the shape](https://rmrf.uk/cs/2026-07-30-designing-the-pressure-not-the-shape/): The third post in the Foilworks series, and the one with no code in it. What a wing section is actually for, why there is no such thing as a good aerofoil, and the single budget that every trade in the field is paid out of. - [The boundary layer, where drag and stall live](https://rmrf.uk/cs/2026-07-28-the-boundary-layer/): The second post in the series. The other half of aerodynamics — a film about one percent of the chord thick in which all of a wing's drag and all of its stall behaviour are decided. Two numbers stand in for the whole velocity profile, one ratio decides everything, and the two solvers each need the other's answer before either can start. - [The question that broke Dave](https://rmrf.uk/cs/2026-07-27-the-question-that-broke-dave/): Can you build a network that behaves like shared memory, with no token, no payment and no accounting of who stores what? I tried in Go two years ago. It worked, and then answering one much smaller question destroyed it. What actually failed, checked against the code — and the three answers the project has produced since. - [How we built Soaring Spirit](https://rmrf.uk/cs/2026-07-26-how-we-built-soaring-spirit/): Soaring Spirit is my first company, a Swiss GmbH running speedflying trips and coaching. The whole product runs as one Go binary on a Raspberry Pi in my house. Sixteen months in, this is what that choice has cost and what it has bought. - [Two stories about air](https://rmrf.uk/cs/2026-04-28-two-stories-about-air/): The first in a series about aerofoil design, written while building a simulation backend called Foilworks. Air behaves in two completely different ways depending on how close to the wing you are, and nearly every practical tool in the field is built on that split. This is the half with no friction in it — where lift comes from, and why the hardest part is a single missing equation. - [Progress on the Peregrine HTTP server](https://rmrf.uk/cs/2025-01-09-progress-on-peregrine/): As a way for me to dive deeper into Zig, I'm writing a HTTP server from scratch. This article describes some of the work I've done recently, and a few lessons that I've learned. - [The beginning of project Peregrine - a bleeding fast HTTP server](https://rmrf.uk/cs/2024-12-26-starting-peregrine/): As a way for me to dive deeper into Zig, I'm writing a HTTP server from scratch. - [First thoughts on Zig](https://rmrf.uk/cs/2024-12-23-zig-first-thoughts/): I describe what I like about the Zig systems programming language, and what I don't like after a couple of weeks of tinkering. - [Dave](https://rmrf.uk/cs/2024-05-01-dave/): Distributed KV store. - [logd](https://rmrf.uk/cs/2024-03-15-logd/): Real-time log tailing over UDP: a map of ring buffers, a protocol that ended up in production, and three wrong answers to replay protection before WireGuard showed me the right one. - [arpload](https://rmrf.uk/cs/2024-03-09-arpload/): I wanted to put a 4K video on Arweave. The web wallet burned my AR without telling me, ArDrive insisted on bundling, so I wrote the uploader — and then made it resumable. ## Reflections The pieces where the subject isn't code: a first week's flying in Madeira, and why the things that let a cryptographic scheme survive contact with the world are the things that let a society work. - [Elegance in Global Cooperation: Engineering Simplicity, Purity and Correctness](https://rmrf.uk/reflections/2025-01-09-elegance-in-global-cooperation/): I draw parallels between engineering and social systems, suggesting that some fundamental engineering principles and concepts of game theory may be applied to improve the fairness and productivity of human cooperation at scale. - [First time in Madeira](https://rmrf.uk/reflections/2023-12-madeira/): Considering the Maritime alps, I looked further afield, to warmer climes. I almost went to Corsica... ## Optional - [Full text](https://rmrf.uk/llms-full.txt): every page on the site as Markdown, in one document - [JSON index](https://rmrf.uk/index.json): the same corpus as structured data: sections, series, dates, word counts - [RSS feed](https://rmrf.uk/index.xml): full post bodies as HTML, newest first - [Sitemap](https://rmrf.uk/sitemap.xml): every URL with its date