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

*2026-10-25 — note*


[Teaching with Forester](#teaching-with-focs-and-forester-is-a-success) is going well, while the [Patch the Planet week](#patch-the-planet-week-for-ocaml) turned up new OCaml issues as [other security reports](#other-security-reports-continue-to-flood-in) pushed me towards [a WireGuard mesh](#hiding-services-behind-a-wireguard-mesh). On the mapping side, I built [my first Android app](#my-first-android-app-for-the-field) for a field trip, talked [human-in-the-loop cartography](#human-in-the-loop-cartography) with a real cartographer, and applauded Tessera [at GTC Berlin](#tessera-at-gtc-berlin-by-proxy) from home base.

## Teaching with FoCS and Forester is a success

The [Foundations of Computer Science](https://anil.recoil.org/notes/focs) lecture course is in [full swing](https://anil.recoil.org/notes/2026w42) now, with the [Forester interactive toplevels](https://anil.recoil.org/notes/forester-teaching-notes) working extremely well
([link](https://www.cl.cam.ac.uk/teaching/2627/FoundsCS/forest/index/index.xml)).
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](https://web.eecs.umich.edu/~comar/) 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.

## Patch the Planet week for OCaml

A [few weeks ago](https://anil.recoil.org/notes/2026w36) we [set up](https://anil.recoil.org/notes/2026w39) the OCaml [Patch the Planet](https://trailofbits.com/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](https://github.com/smoelius) posting daily updates as he discovered issues. We had lots of help from [Török Edwin](https://github.com/edwintorok) from Tarides who continuously triaged and guided the findings; Edwin was already fixing Scrutineer [results](https://anil.recoil.org/notes/2026w40) alongside [Hannes Mehnert](https://github.com/hannesm) and so was up to speed on the general LLM-security-issue workflow.

### 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](https://anil.recoil.org/notes/rumour-is-the-exploit) from bad actors.
The [PHP vulnerability](https://www.ncsc.gov.uk/news/critical-security-issue-affecting-php) basically took down half the Internet (including several UK governmental services). One bright spot was the [BBC article](https://www.bbc.co.uk/news/articles/cw30ejqljl43o) 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](https://patrick.sirref.org/weekly-2026-w43/), 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.

### 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](https://www.tailworm.com/) 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.

## On matters of mapping

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

### My first Android app for the field

I caught up with [Alastair Tse](https://liquidx.net) 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](https://www.bangor.ac.uk/staff/sens/julia-patricia-gordon-jones-010356/en), who is off on a field trip to Madagascar soon and wanted to try out [Tessera](https://anil.recoil.org/projects/tessera) on the ground.

### Human-in-the-loop cartography

[Aneesh Naik](https://aneeshnaik.github.io/), [David Coomes](https://coomeslab.org) and I met [Perrin Remonté](https://www.perrinremonte.com/) at the CCI, who builds the most incredible maps for a [variety](https://www.perrinremonte.com/home) of regions and purposes. We discussed how to inject more human creativity into [Tessera](https://anil.recoil.org/projects/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](https://digitalflapjack.com/weeknotes/2026-10-26/) and processing through vast data sources\!

<a href="https://www.perrinremonte.com/subcontinent-eng"> <figure class="image-center"><img src="/images/w43-1.webp" alt="Perrin Remonté's gorgeous map of Delhi gardens" title="Perrin Remonté's gorgeous map of Delhi gardens" loading="lazy" srcset="/images/w43-1.768.webp 768w, /images/w43-1.640.webp 640w, /images/w43-1.480.webp 480w, /images/w43-1.320.webp 320w, /images/w43-1.2560.webp 2560w, /images/w43-1.1920.webp 1920w, /images/w43-1.1600.webp 1600w, /images/w43-1.1440.webp 1440w, /images/w43-1.1280.webp 1280w, /images/w43-1.1024.webp 1024w"><figcaption>Perrin Remonté's gorgeous map of Delhi gardens</figcaption></figure> </a>

### Tessera at GTC Berlin by proxy

[Sadiq Jaffer](https://toao.com) travelled to [GTC Berlin](https://www.nvidia.com/en-us/on-demand/session/gtcberlin26-sb61173/) to represent team [Tessera](https://anil.recoil.org/projects/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"](https://www.nvidia.com/en-us/on-demand/session/gtcberlin26-sb61173/) with a lively panel discussion; the video is on the site.

This was a great follow-up to [AI for Science 2024](https://anil.recoil.org/notes/ai-for-science-2024) (how fast things have moved in just two years), and all the recent [NVIDIA events](https://anil.recoil.org/notes/2026w42) 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. <https://doi.org/10.59350/qms3q-ymn65>
2. Madhavapeddy (2026). Just a rumour of a bug is enough to find a security exploit these days. <https://doi.org/10.59350/tngsm-6rx23>
3. Madhavapeddy (2026). Using Forester to turn Foundations of CS into interactive evergreen lectures. <https://doi.org/10.59350/sjcvd-hb857>
4. Madhavapeddy (2026). .plan-26-39: End of my sabbatical, and I feeeel fine!. <https://doi.org/10.59350/veb7j-vh038>
5. Madhavapeddy (2024). Royal Society and DeepMind host AI for Science Forum. <https://doi.org/10.59350/0znpc-fw825>

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

## Related

- [.plan-26-42: Tails of the unexpected](https://anil.recoil.org/notes/2026w42) (note, 2026-10-18)
  Back to lecturing Foundations of CS, why List.tl raises, a record Tessera crowd at the CCI, and a sample of termtime meetings from Japanese AI governance to NVIDIA and samosa socials.
- [.plan-26-40: A whole new world (of wall-to-wall Tessera embeddings)](https://anil.recoil.org/notes/2026w40) (note, 2026-10-04)
  Michaelmas term restarts, with Forester replacing my traditional printed FoCS notes, GeoTessera is now wall-to-wall across dual Zarr/Icechunk stores, and a trip to Oxford's Intelligent Earth CDT.
- [.plan-26-39: End of my sabbatical, and I feeeel fine!](https://anil.recoil.org/notes/2026w39) (note, 2026-09-27)
  Reflections on the end of my sabbatical, with a reading list on societal change, Tessera's embeddings finish converting, Scrutineer continues to find security fixes galore, good news from Scotland.
- [.plan-26-36: Ground control to major MODIS](https://anil.recoil.org/notes/2026w36) (note, 2026-09-06)
  Tessera v2 beta2 smooths space at the cost of time, new Pembroke Associate Scholars, Scrutineer's git remediation workflow, paying the Windows tax, and retiring AI disclosure metadata.
- [Just a rumour of a bug is enough to find a security exploit these days](https://anil.recoil.org/notes/rumour-is-the-exploit) (note, 2026-08-22)
  Thinking through how the conventional OSS security embargoes no longer buy us time, and what open source maintainers might do instead to respond
- [Using Forester to turn Foundations of CS into interactive evergreen lectures](https://anil.recoil.org/notes/forester-teaching-notes) (note, 2026-08-16)
  Porting the FoCS lecture notes to Forester, including transclusions and stable section URLs, and a live OCaml toplevel compiled into the browser.
- [Foundations of Computer Science](https://anil.recoil.org/notes/focs) (note, 2025-01-03)
  Resources for teaching Foundations of Computer Science with OCaml and Jupyter notebooks.
- [TESSERA, a pixelwise geospatial foundation model](https://anil.recoil.org/projects/tessera) (project, 2025-01-01)
- [Royal Society and DeepMind host AI for Science Forum](https://anil.recoil.org/notes/ai-for-science-2024) (note, 2024-11-18)
  The Royal Society and DeepMind hosted an AI for Science Forum, exploring AI's role in revolutionizing scientific discovery and its potential to benefit society.

---
Canonical: https://anil.recoil.org/notes/2026w43
Type: note
License: CC BY 4.0 <https://creativecommons.org/licenses/by/4.0/>
Tags: teaching, ocaml, security, tessera, ai, conservation
