Anil Madhavapeddy
banner
anil.recoil.org
Anil Madhavapeddy
@anil.recoil.org
Professor of Planetary Computing at the University of Cambridge @cst.cam.ac.uk, where I co-lead the @eeg.cl.cam.ac.uk and work on computing for global biodiversity and climate change with @conservation.cam.ac.uk.

Homepage at https://anil.recoil.org
Pinned
I've also started the refresh cycle for Real World OCaml v3 w/ @yminsky.bsky.social in preparation for being on a sabbatical year in 2025! What would you all like to read more about in the latest OCaml 5 goodies? (aside from parallelism; there'll be lots about parallelism.)
Big credit to @futur.blue who started me off with tangled.org/futur.blue/pegasus/ !
January 16, 2026 at 6:57 AM
Reposted by Anil Madhavapeddy
This is getting pretty good. Ideally I think what's next is for the owners of bsky.social to publish a webfinger entry (try logging into the app as [email protected] to get the webfinger instructions), and for Tailscale to treat bsky.social and atlogin.net as "single-user-per-tailnet" domains.
Bluesky
Social media as it should be. Find your community among millions of users, unleash your creativity, and have some fun again.
bsky.social
January 15, 2026 at 6:18 PM
Reposted by Anil Madhavapeddy
It still surprises me you can get good performance with even tiny models on top of TESSERA embeddings. Here's how to find solar farms in the UK with a small ~42k CNN: toao.com/blog/earth-o...
Earth Observation on a Budget: Finding Solar Farms with a 42k-Parameter Model - Sadiq Jaffer
toao.com
January 15, 2026 at 6:51 PM
Using TESSERA really feels like science fiction sometimes; @sadiq.toao.com's been using it to spot all the solar panels with just a simple CNN (just 42000 parameters!) built over our foundation model toao.com/blog/earth-o... 🌎
Earth Observation on a Budget: Finding Solar Farms with a 42k-Parameter Model - Sadiq Jaffer
toao.com
January 15, 2026 at 5:25 PM
@standard.site I'm just adding support to my website, and I was wondering if there's any way to also add a DOI identifier as an alternate URL. Only the main site would be verified, but the DOI redirects (immutably) to the main site and has a bunch of scholarly metadata associated with it...
January 14, 2026 at 6:55 PM
Reposted by Anil Madhavapeddy
Not every day that I say it but run don't walk to ... LinkedIn for this important statement and the clear, deeply informed, forceful but respectful discussion in comments below it on how to combine a realism (indeed captial R Realism) of network analysis with an optimism of engineering will.
Joint Statement: Internet Architects & Leaders Condemn the Iran Shutdown www.linkedin.com/pulse/joint-...
LinkedIn Pulse
www.linkedin.com
January 14, 2026 at 1:34 PM
Haha this was me in the BBC article! My @cst.cam.ac.uk office is freezing as the heating there been broken since the pandemic. Nice in the summer though www.bbc.co.uk/news/article...
January 14, 2026 at 11:26 AM
Reposted by Anil Madhavapeddy
This is too funny: every time I try to renew, ieee.org seems to work but then it stops immediately when I validate my card details. It can't actually be me breaking ieee.org, right? Right?

downforeveryoneorjustme.com/ieee.org
January 13, 2026 at 4:33 PM
Reposted by Anil Madhavapeddy
Please consider supporting our first #ATScience workshop! We have a great opportunity to capitalize on all the wonderful work being done in the @atproto.science space, and the more people can participate in the IRL magic the better :)
We already have several speakers and volunteers in need of travel support to attend #ATScience - if you’re able to pitch in with event sponsorship, please be in touch with us here or [email protected]! Tons of great energy swirling around ATScience, let’s make it the best possible for everyone!
January 13, 2026 at 3:02 PM
Kind of surreal seeing Claude Code Cowork use the same Linux-as-a-library-VM trick on macOS we first shipped in Docker for Desktop a decade ago (anil.recoil.org/papers/2025-...). Looks like the architecture of embedding Linux on any non-Linux desktop is now everywhere!
anil.recoil.org
January 13, 2026 at 8:36 AM
Reposted by Anil Madhavapeddy
I guess you can turn on CONFIG_ANON_VMA_NAME (off by default on Debian) and then use PR_SET_VMA_ANON_NAME. That adds an anon_vma_name field to vm_area_struct. You can grab it out again from proc/maps.
January 12, 2026 at 1:42 PM
macOS having memory tagging in mmap(2) caught my attention the blog post on fixing ghostty's memory leaks. Looks like it's used heavily in macOS already, but I can't find a Linux arm64 equivalent anywhere
January 12, 2026 at 1:27 PM
Fieldwork gathers fresh data, which is crucial if we're going to rely on AI models to do predictions about nature! The earth of the future is changing rapidly, and the past is increasingly a less good indicator of the future. We must maintain our sense of reality while developing nature tech...
As someone trained as both a field ecologist and quantitative scientist, this tension runs deep for me. Some of my group are entrenched in the field whereas others work with models for a living.

‘I rarely get outside’: scientists ditch fieldwork in the age of AI www.nature.com/articles/d41...
1/4
Client Challenge
www.nature.com
January 12, 2026 at 9:10 AM
Reposted by Anil Madhavapeddy
I am pleased to have been selected as the @greenparty.org.uk candidate for Mayor of Newham.

As Mayor, I will root out the corruption and incompetence in the Council and ensure we have the best possible environment to live in.

Share this video and help us build a Newham we can be proud of.
January 7, 2026 at 11:28 AM
Reposted by Anil Madhavapeddy
We have two open PhD positions at the interface of AI and ecology. Start dates are Sept 2026.

We are looking for candidates with a background in AI/CS, Math, Stats, or Physics that are passionate about solving challenging problems in these domains. 

Application deadline is in two weeks.
January 5, 2026 at 2:15 PM
And now thoroughly enjoying listening to Caroline explain how they structure giving to ensure that interventions are evidence backed and therefore as impactful as possible!
This is the conference venue in Cambridge where I'm speaking today! An actual church! - complete with apse.
I shall preach from the pulpit for just two hours, obvs....🤣
January 9, 2026 at 11:01 AM
Reposted by Anil Madhavapeddy
What a tangled web we weave
January 8, 2026 at 6:24 PM
I had a bunch of people ask how to replicate my advent of agentic humps setup, so I've published the OCaml and OxCaml devcontainers to let you run unattended Claude with permissions bypass and container sandboxing. It hasn't deleted all my data yeNOSIGNAL anil.recoil.org/notes/ocaml-...
Devcontainer for using O(x)Caml and Claude in your projects
A prebuilt Docker devcontainer for sandboxed OCaml and OxCaml development with Claude Code, including multiarch builds and network isolation.
anil.recoil.org
January 8, 2026 at 11:06 AM
Reposted by Anil Madhavapeddy
If we try to use the benchmark results from InferenceMAX to calculate a Watt-hours per LLM query, what do we get? What potential issues are there with the benchmark for this purpose (or in general)? My new post explores this muxup.com/2026q1/per-q...
Per-query energy consumption of LLMs
Can we reasonably use the InferenceMAX benchmark dataset to get a Wh per query figure?
muxup.com
January 7, 2026 at 8:34 PM
January 8, 2026 at 5:30 AM
Messing around with a zero-allocation OxCaml HTTP implementation to switch my site hosting to. 3x throughput to my old code, zero heap allocations in a HTTP connection. Gotta add TLS and io_uring still github.com/avsm/httpz
GitHub - avsm/httpz: Zero heap allocation HTTP server using OxCaml. v experimental!
Zero heap allocation HTTP server using OxCaml. v experimental! - avsm/httpz
github.com
January 6, 2026 at 2:47 PM
TESSERA now has planetary embeddings for 2025 published for the entire UK, with rest of the world to follow! Thanks to a donation from Vultr, we've been using AMD MI325Xs to gen ~3TB/day. Coverage maps for 2017-2025: ucam-eo.github.io/tessera-cove... and github.com/ucam-eo/geot... for your own ROIs
GeoTessera Globe Visualization
ucam-eo.github.io
January 3, 2026 at 11:56 AM
Reposted by Anil Madhavapeddy
I built my own JavaScript runtime in OCaml

I wanted to see how far OCaml could go against Bun and Node, and also also OCaml vs zig vs c++ in similar APIs.

So I built `sirocco`.

Uses JavaScriptCore (same engine as Bun and Safari). Event loop with libuv and it's written in OxCaml.
January 2, 2026 at 3:08 PM
First blog of the year is to roundup my reading and listening from 2025! anil.recoil.org/notes/hny2026
Happy new year and my fave readings of the year
My favourite books, podcasts and recommendations from 2025, covering moral ambition, maps, wolves, AI dystopias, geopolitics, Chennai history, and the best tech podcasts.
anil.recoil.org
January 2, 2026 at 1:30 PM