.plan-26-43: Wireguard meshes over troubled water

Forester toplevels are working well in FoCS lectures, a smooth Patch the Planet week with Trail of Bits, and drowning in security reports.

https://anil.recoil.org/notes/2026w43image

Teaching with Forester is going well, while the Patch the Planet week turned up new OCaml issues as other security reports pushed me towards a WireGuard mesh. On the mapping side, I built my first Android app for a field trip, talked human-in-the-loop cartography with a real cartographer, and applauded Tessera at GTC Berlin from home base.

1 Teaching with FoCS and Forester is a success

The Foundations of Computer Science lecture course is in full swing now, with the Forester interactive toplevels working extremely well (link). I've been switching to them from slides to illustrate points interactively during the lectures or in response to student questions, and it all follows very naturally from the main text.

I think a good next step would be to have more direct Jupyter integration so that the web toplevel can be "upgraded" in place into a persistent session. Cyrus Omar is in Cambridge now for his sabbatical so I can ask him for UI advice on this front!

The student feedback mid-course has also been very positive, and judging from the questions they are grappling with the content manually and not using LLMs, which continues to be a big relief. LLMs are good for summative goals, but terrible for any formative learning experiences without a lot of care going into how they're used, so it's great to see the self-motivation in our Cambridge undergrads.

2 Patch the Planet week for OCaml

A few weeks ago we set up the OCaml Patch the Planet week at Trail of Bits, which paired security engineers with us for the week of 19th October. The week did turn up several new potential issues in OCaml, and I thought that the process was very smooth and hopefully an indication of the sorts of cross-peer-review we might do more of for critical Internet infrastructure in the future.

We agreed on the scope beforehand of which repos would be scanned, and then set up a private channel on the OCaml Zulip, with Samuel Moelius posting daily updates as he discovered issues. We had lots of help from Török Edwin from Tarides who continuously triaged and guided the findings; Edwin was already fixing Scrutineer results alongside Hannes Mehnert and so was up to speed on the general LLM-security-issue workflow.

2.1 Other security reports continue to flood in

Elsewhere, a flood of security reports across various other projects has left me really underwater trying to deal with it all. Can't really even talk about their nature as just a rumour is enough now to trigger exploit generation from bad actors. The PHP vulnerability basically took down half the Internet (including several UK governmental services). One bright spot was the BBC article which fêted the PHP developer who maintains the Debian packaging; this must be the first mainline news piece I can remember celebrating an open source packaging maintainer.

Unfortunately, my inbox continues to be flooded by LLM-generated CVs, requests for internships, and phishing attacks to the point where a legitimate query about working with me is almost certainly getting lost. As Patrick notes, we're going to have to think hard about the nature of open source contributions now and how we choose to engage. I'm not in any way blaming the people using LLMs to apply for jobs and positions (it's a competitive world out there), but the social signals we used to depend on are now obsolete and I'm not sure (beyond personal recommendations) what the best way to fix this is.

2.2 Hiding services behind a WireGuard mesh

One thing I did do due to all the security activity is to set up a private WireGuard mesh to take my self-hosted services off the public internet. This is still in a test phase, and I'm not actually using Tailscale for this. Tailscale is a brilliant piece of software, but has fairly complex auth infrastructure to make it work. Instead, since my network is mostly static I'm going very very simple and using WireGuard p2p links directly. I'll write this up more in the coming weeks when things are a bit less mad.

3 On matters of mapping

I did get a chance to get some mapping related work done in the middle of everything else!

3.1 My first Android app for the field

I caught up with Alastair Tse who showed me how to use Claude to build effective design previews (e.g. Material Design) before writing a single line of code. That's then enough to one-shot a full mobile application that runs on my Android! I used it to build a custom app that supports offline labelling for Julia P.G. Jones, who is off on a field trip to Madagascar soon and wanted to try out Tessera on the ground.

3.2 Human-in-the-loop cartography

Aneesh Naik, David Coomes and I met Perrin Remonté at the CCI, who builds the most incredible maps for a variety of regions and purposes. We discussed how to inject more human creativity into Tessera-style mapping. One cool dream would be to have dynamically updated maps filled in with real data, but with the artistic vision authored by a cartographer. Human-in-the-loop mapping seems very achievable these days with LLM assistance, letting the human focus on the end goal while the data backfill happens through coding agents.

Validation, however, remains the difficult piece, as we're finding with habitat mapping and processing through vast data sources!

Perrin Remonté's gorgeous map of Delhi gardens
Perrin Remonté's gorgeous map of Delhi gardens

3.3 Tessera at GTC Berlin by proxy

Sadiq Jaffer travelled to GTC Berlin to represent team Tessera; I couldn't make it as I've been lecturing solid all week. We had a poster there but also a session on "AI for Science in Action: Using Today's Accelerated Discovery and What's Next" with a lively panel discussion; the video is on the site.

This was a great follow-up to AI for Science 2024 (how fast things have moved in just two years), and all the recent NVIDIA events have given us exciting leads on how to get access to sufficient compute resources to work on the next generation Tessera v3 models that we're cooking up at the moment.

References

[1]Madhavapeddy (2025). Foundations of Computer Science. 10.59350/qms3q-ymn65
[2]Madhavapeddy (2026). Just a rumour of a bug is enough to find a security exploit these days. 10.59350/tngsm-6rx23
[3]Madhavapeddy (2026). Using Forester to turn Foundations of CS into interactive evergreen lectures. 10.59350/sjcvd-hb857
[4]Madhavapeddy (2026). .plan-26-39: End of my sabbatical, and I feeeel fine!. 10.59350/veb7j-vh038
[5]Madhavapeddy (2024). Royal Society and DeepMind host AI for Science Forum. 10.59350/0znpc-fw825