Food and the long term risk to life (via cam.ac.uk) / Nov 2025
Jacqueline Wilson wrote a brilliant article about our recent
How does your dinner affect the risk of 30,875 species of land-dwelling animal going extinct?
Dr Thomas Ball can tell you. Depending on what you’re eating he can calculate the likelihood of the global demise of every mammal, bird, amphibian and reptile over the next 100 years. He’ll tell you that not all dinners are equal. -- cam.ac.uk, 2025
Jensen Huang receives the Hawking Fellowship at Cambridge / Nov 2025
I got to shake Jensen Huang's hand as he received the 2025 Hawking Fellowship this evening at the Cambridge Union! He's a fitting winner for this award; he's not only tech's longest running CEO (33 years!), but also a founding engineer who deeply understands the technology stack. He also bucks the trend among bigtech and famously doesn't believe in firing people, preferring to "torture them into greatness" Remarkably similar to a Cambridge University degree...
At the awards event this evening, Jensen made some remarks that stuck with me. He noted that he doesn't really like competing: "Nvidia is a company that succeeds when other companies succeed". By building platforms, Nvidia can focus on creating a better future that others aren't, and not on beating someone else. This mindset has had real adverse costs, but Nvidia has stoically taken hardware bets The Geforce I bought back in 2001 came with expensive shader hardware that nothing supported. That feature lead to GPGPU programming that led to modern machine learning becoming computationally feasible.
It was quite delightful to hear this attitude of focussing on the future, and retaining a basic optimism and curious mindset even as his company becomes larger than most economies.
Did Jensen Huang just advise Cambridge to abolish exams?
My question to him was simple. My 816 year old institution has had exams as its staple assessment mechanism for centuries. Is AI finally the breaking point by which competitive stack ranking of brilliant students no longer makes sense? What would his advice to Cambridge University be now?

Read full note... (1280 words)
A Roundup of ICFP/SPLASH 2025 happenings / Oct 2025
I had an amazingly fun week at ICFP/SPLASH in Singapore; it was the first time that these two major programming languages conferences were held simultaneously. My submissions turned into a bit of a success disaster; I ended up chairing a workshop, giving several talks and a keynote, and organising a tutorial, and helping out a bunch of colleague and students. And if this wasn't enough to fill up the week, collaborators I hadn't seen in a few years were also presenting a tonne of interesting work, so there was no time to breathe!
So much went on that I've split up the post into a five parter:
- Part 1:
Chairing the 2nd Programming for the Planet Workshop - Part 2:
Holding a tutorial on OxCaml - Part 3:
Migrations to OCaml 5 with Jane Street and Docker - Part 4:
My case for post-POSIX IO being important for runtime designers - Part 5:
What I learnt from other people's talks and chats

What I learnt at ICFP/SPLASH 2025 about OCaml, Hazel and FP / Oct 2025
This is part 5 of a See also in the ICFP25 series: chairing PROPL25, the OxCaml tutorial, multicore at Jane Street and Docker, post-POSIX IO and what I learnt.
In addition to giving a bunch of talks about
Read full note... (2017 words)
It's time to go post-POSIX at ICFP/SPLASH 2025 / Oct 2025
This is part 4 of 5 of a See also in the ICFP25 series: chairing PROPL25, the OxCaml tutorial, multicore at Jane Street and Docker, post-POSIX IO and what I learnt.
After the excitement of presenting my
I'd started to believe it was time for change in the way we approach IO about 12 years ago when I talked about wierd IO behaviour to a packed audience at FOSDEM, and now I believe it's even more true in 2025.
So I made one key argument to the audience: it's time to accept that standards such as POSIX are now holding back the development of good language runtimes, and we need to embrace the diversity of highly concurrent, shared-memory interfaces. And unfortunately, there's no portable subset amongst these, and so this may require a rethink of our frontend language interfaces as well.

Jane Street and Docker on moving to OCaml 5 at ICFP/SPLASH 2025 / Oct 2025
This is part 3 of 5 of a See also in the ICFP25 series: chairing PROPL25, the OxCaml tutorial, multicore at Jane Street and Docker, post-POSIX IO and what I learnt.
It's been about six years since we wrote the papers on parallelism and
Meanwhile, big OCaml users have also been adapting their codebases to shift from OCaml 4 to 5. Jane Street have expanded their tools and compiler team and driven through their production switch to the multicore runtime, and Docker for Desktop is progressing with their switch to direct-style code via Eio for hundreds of millions of users! Read on to learn more...
Read full note... (1839 words)
Holding an OxCaml tutorial at ICFP/SPLASH 2025 / Oct 2025
This is part 2 of 5 of a See also in the ICFP25 series: chairing PROPL25, the OxCaml tutorial, multicore at Jane Street and Docker, post-POSIX IO and what I learnt.
Several extensions to "oxidize" OCaml (Rust performancew with ML ergonomics!) have been developing rapidly in a fork called OxCaml. I helped an intrepid crew from Jane Street, IIT-M, Tarides, Brown and Cambridge pull together a really fun tutorial in ICFP 2025 that you can try out too! TL;DR: Work through the online slides, try the activities, and take the quiz to give us feedback.

Read full note... (1485 words)
Programming for the Planet at ICFP/SPLASH 2025 / Oct 2025
This is part 1 of 5 of a See also in the ICFP25 series: chairing PROPL25, the OxCaml tutorial, multicore at Jane Street and Docker, post-POSIX IO and what I learnt.
The first outing of PROPL was
last year in London, and this time around

Read full note... (3154 words)
Do not rule out nature from climate action; an open letter / Sep 2025
A world without nature feels rather impermanent, doesn't it? It's difficult to
imagine a healthy future without clean air, fresh water and diverse wildlife.
Yet important policy is being decided at
the moment that will sideline "nature-based solutions" for net-zero carbon
targets. While it is true that anything involving nature is fundamentally less
predictable than human edifice, it is not true that it can't be
Back in January 2024, I hosted a workshop on permanence and durability at Pembroke College attended by sixty experts in this topic, with their recommendation reflected in the continuous improvement report on permanence from the ICVCM in May this year. I now join 40 other colleagues today in signing an open letter to the UN Article 6.4 supervisory body strongly calling out the scientific imperative to incentivise natural climate solutions on the path to net zero.
Exploring the biodiversity impacts of what we choose to eat / Sep 2025
Choosing where we source the food that we eat makes a difference to the
environment, but by how much? After churning through around 100 petabytes of
data, beginning with our
Our paper in Nature Food came out today with
all the tasty details and implications for food policies worldwide. In order to make the data easier
to explore, I knocked up an interactive global explorer
using the data that the team (lead by

GeoTessera Python library released for geospatial embeddings / Aug 2025
We've been having great fun at the EEG recently releasing embeddings of our new TESSERA geospatial foundation model.
TESSERA is a foundation model for Earth observation that processes Sentinel-1 and Sentinel-2 satellite data to generate representation (embedding) maps. It compresses a full year of Sentinel-1 and Sentinel-2 data and learns useful temporal-spectral features. -- Temporal Embeddings of Surface Spectra for Earth Representation and Analysis
A foundation model is
designed to be used for downstream tasks without having to retrain a full model
for every individual task. Our

Read full note... (1044 words)
Presenting our Ecology of the Internet ideas at Aarhus 2025 / Aug 2025
That's a wrap for the next decade with Aarhus 2025,
where I presented our paper on "
Our key observation is that the Internet is dangerously ossifying into monocultures at multiple levels. Inspired by wild ecosystems, we're proposing mixing in more natural selection into edge deployments by using AI code models to mutate end-hosts and tailor them to their environment. Generative AI is notoriously unpredictable, which turns out to be a useful property if you actually want more local software diversity! For example, this lets us cook up "antibotty" networks that fight back against global viruses via locally adapted vigilantes (antibodies).
Read full note... (1483 words)
mlgpx is the first Tangled-hosted package available on opam / Aug 2025
Since I wrote about the new
First, and most excitingly, they've added continuous integration via Spindles which are built in a nice ATProto style:
When you push code or open a pull request, the knot hosting your repository emits a pipeline event (sh.tangled.pipeline). Running as a dedicated service, spindle subscribes to these events via websocket connections to your knot.
The pipelines are Nix-only right now, so I braved using it ...with the help of my trusty local Nixer Ryan Gibb. Noone should ever Nix by themselves.
Secondly, the service has added support for JJ stacked pull requests, which are the closest I've seen to the Jane Street Iron diff workflow which I've been wanting to try in open source for ages. You can see the interdiff review process on a recent PR by Winter who add support for engine-agnostic Spindle workflows, which should pave the path for a Docker or BuildKit engine alongside the existing Nixery-based one.
And thirdly, the general quality-of-life of the web frontend has improved dramatically, with a nice timeline, repo list, and profile pages. I'm running two knots right now (one on Recoil, and one in the Cambridge Computer Lab), and both have been very painfree. I wrote one of the earliest Dockerfiles for it, but there's now a community-maintained Knot Docker setup which I've switched to. Doesn't take very long at all; give it a try!
Because I've been using Tangled so much, I added support for Tangled metadata to Dune to make OCaml package maintainence easier. This will appear in Dune 3.21 in a few months, but in the meanwhile enjoy the first Tangled.sh package on opam. It's a simple GPX library I used in my dune-project will be:
(lang dune 3.21)
(name mlgpx)
(generate_opam_files true)
(source (tangled @anil.recoil.org/ocaml-gpx))
The only major thing I'm missing from Tangled is support for private repositories now, but I'm very content using it for public content today. Beware as usual that it's still in alpha, so don't trust super-ultra-mega-important stuff to it unless you've git mirrored elsewhere.
Tracking locations with OwnTracks, Life Cycle and Home Assistant / Aug 2025
I'm emerging reenergised from an epic trip to the
Okavango Delta in Botswana, where we spent
weeks
in the wilderness gathering ground truth for

Read full note... (1588 words)
Cresting the OCaml AI humps / Jul 2025
I've been hacking with
We jotted down our notes in a draft paper to keep track of everything going on, including summarising previous experiments with Qwen3 for FoCS. Since then, there's been a flurry of extra activity from others which we need to integrate!
Marcello Seri started pushing to my vibe coded OCaml MCP library, making him user number 2 of that!- Then
Thibaut Mattio announced a bunch of software, starting with a collection of libraries and tools for numerical computing and machine learning and also another MCP server. I haven't had a chance to try the MCP server yet, but I hope I can retire mine... Thomas Gazagnaire started hacking on an agent-friendly merlint tool that spots common problems in style and choices and gives CLI feedback in a style easily consumed by claude. I've started using it despite its pre-alpha status.Jon Ludlam 's been getting the opam embeddings into shape to be suitable as an MCP server that can search the entire opam ecosystem. odoc v3 has also gone live after lots of work, andDavid Sancho 's support for Markdown odoc output on which makes this process easier.
This is all fairly straightforward MCP work that improves the short-term experience. We'll get to the RL-VR ideas later... If anyone else is hacking on something agent related do post on OCaml Discuss and let us know! I'm hoping to update the paper later in August to roundup the efforts above.
Using Kyutai's low latency audio models on macOS in one command / Jul 2025
I've just taken Kyutai's speech-to-text model for a spin on my Mac laptop, and it's stunningly good. As background, this is what the prolific Laurent Mazare has been hacking on; he has made a ton of contributions to the OCaml community as well, such as ocaml-torch and starred in a very fun Signals to Threads episode on machine learning at Jane Street back in 2020.
You can get the microphone-to-speech running on your Mac in a few commands, assuming you have uv installed (which you should!).
git clone https://github.com/kyutai-labs/delayed-streams-modeling
cd delayed-streams-modeling
uvx --with moshi-mlx python scripts/stt_from_mic_mlx.py
It understands my accent near perfectly; if that isn't a machine learning miracle, I don't know what is! I'm looking forward to trying this out more with our
Royal Society's Future of Scientific Publishing meeting / Jul 2025
I was a bit sleepy getting into the Royal Society Future of Scientific Publishing conference early this morning, but was quickly woken up by the dramatic passion on show as publishers, librarians, academics and funders all got together for a "frank exchange of views" at a meeting that didn't pull any punches!
These are my hot-off-the-press livenotes and only lightly edited; a more cleaned up version will be available from the RS in due course.

Read full note... (3907 words)
Is AI poisoning the scientific literature? Our comment in Nature / Jul 2025
For the past few years,

EEG internships for the summer of 2025 / Jun 2025
The exam marking is over, and a glorious Cambridge summer awaits! This year, we have a sizeable cohort of undergraduate and graduate interns joining us from next week.
This note serves as a point of coordination to keep track of what's going on, and I'll update it as we get ourselves organised. If you're an intern, then I highly recommend you take the time to carefully read through all of this, starting with who we are, some ground rules, where we will work, how we chat, how to get paid, and of course social activities to make sure we have some fun!
Read full note... (1359 words)
BIOMASS launches to measure forest carbon flux from space / Jun 2025
The BIOMASS forest mission satellite was successfully boosted into space a couple of days ago, after decades of development from just down the road in Stevenage. I'm excited by this because it's the first global-scale P-band SAR instrument that can penetrate forest canopys to look underneath. This, when combined with
Weirdly, the whole thing almost never happened because permission to use the P-band was blocked because it might interfere with US nuclear missile warning radars back in 2013.
Meeting in Graz, Austria, to select the the 7th Earth Explorer mission to be flown by the 20-nation European Space Agency (ESA), backers of the Biomass mission were pelted with questions about how badly the U.S. network of missile warning and space-tracking radars in North America, Greenland and Europe would undermine Biomass’ global carbon-monitoring objectives.
Europe's Earth observation satellite system may be the world's most dynamic, but as it pushes its operating envelope into new areas, it is learning a lesson long ago taught to satellite telecommunications operators: Radio frequency is scarce, and once users have a piece of it they hold fast. -- Spacenews (2013)
Luckily, all this got sorted by international frequency negotiators, and after being built by Airbus in Stevenage (and Germany and France, as it's a complex instrument!) it took off without a hitch. Looking forward to getting my hands on the first results later in the year over at the Centre for Earth Observation.
Check out this cool ESA video about the instrument to learn more, and congratulations to the team at ESA. Looking forward to the next
Update 28th June 2025: See also this beautiful BBC article about the satellite, via
Steps towards an ecology of the Internet / Jun 2025
Every ten years, the city of Aarhus throws a giant conference to discuss new agendas for critical action and theory in computing. Back in 2016,
This time around, we projected our imaginations forward a decade to imagine an optimistic future for the Internet, when it has exceeded a trillion nodes. After deciding in the pub that this many nodes was too many for us to handle, we turned to our newfound buddies in #conservation to get inspiration from nature. We asked
Then, going back to the computer scientists in our group and more widely (like
Under the hood with Apple's new Containerization framework / Jun 2025
Apple made a notable announcement in WWDC 2025 that they've got a new containerisation framework in the new Tahoe beta. This took me right back to the early Docker for Mac days in 2016 when we announced the first mainstream use of the hypervisor framework, so I couldn't resist taking a quick peek under the hood.
There were two separate things announced: a Containerization framework and also a container CLI tool that aims to be an OCI compliant tool to manipulate and execute container images. The former is a general-purpose framework that could be used by Docker, but it wasn't clear to me where the new CLI tool fits in among the existing layers of runc, containerd and of course Docker itself. The only way to find out is to take the new release for a spin, since Apple open-sourced everything (well done!).
Read full note... (1934 words)
Visiting National Geographic HQ and the Urban Exploration Project / Jun 2025
I stayed on for a few days extra in Washington DC after the
[The UEP is a...] global-scale, community-driven initiative will collaboratively track animals across gradients of urbanization worldwide, to produce a holistic understanding of animal behaviour in human-modified landscapes that can, in turn, be used to develop evidence-based approaches to achieving sustainable human-wildlife coexistence. -- Christian Rutz's homepage
This immediately grabbed my interest, since it's a very different angle of biodiversity measurements to my usual. I've so far been mainly involved in efforts that use
Read full note... (1155 words)
What I learnt at the National Academy of Sciences US-UK Forum on Biodiversity / Jun 2025
I spent a couple of days at the National Academy of Sciences in the USA at the invitation of the Royal Society, who held a forum on "Measuring Biodiversity for Addressing the Global Crisis". It was a packed program for those working in evidence-driven conservation:
Assessing biodiversity is fundamental to understanding the distribution of biodiversity, the changes that are occurring and, crucially, the effectiveness of actions to address the ongoing biodiversity crisis. Such assessments face multiple challenges, not least the great complexity of natural systems, but also a lack of standardized approaches to measurement, a plethora of measurement technologies with their own strengths and weaknesses, and different data needs depending on the purpose for which the information is being gathered.
Other sectors have faced similar challenges, and the forum will look to learn from these precedents with a view to building momentum toward standardized methods for using environmental monitoring technologies, including new technologies, for particular purposes. -- NAS/Royal Society US-UK Scientific Forum on Measuring Biodiversity
I was honoured to talk about our work on using AI to "connect the dots" between disparate data like the academic literature and remote observations at scale. But before that, here's some of the bigger picture stuff I learnt...
Read full note... (2343 words)
We become Junior Rangers at Shenandoah / May 2025
What might a Dame of the Realm, a Fellow of the Royal Society, the latest member of the UK Joint Nature Conservation Committee, and me all covet? That's right: a Junior Ranger badge from Shenandoah National Park! After an
The National Park Service in the US runs a wonderful program for anyone aged 8+ (which we just about qualified for) to introduce people to nature, and Shenandoah is no exception. We visited the local ranger lodge in the park, and picked up a program booklet. They're full of activities for kids to do, but of course adults also pick up a lot of random knowledge (such as the endemic salamander species in the region).

