iconAnil Madhavapeddy, Professor of Planetary Computing

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:

The conference was actually larger than this very large dosa.
The conference was actually larger than this very large dosa.

# 10th Oct 2025 iconnotes conference icfp programming splash

What I learnt at ICFP/SPLASH 2025 about OCaml, Hazel and FP / Oct 2025

(This is part 5 of my ICFP25 series: see also 1. Chairing PROPL25, 2. OxCaml tutorial, 3. OCaml 5 with Jane Street and Docker, 4. post-POSIX IO

In addition to giving a bunch of talks about Docker, post-POSIX and planetary computing, the greatest fun at a huge conference like ICFP and SPLASH is seeing talks given by my students (they grow up so fast!) and collaborators, and generally floating around random talks trying to deceipher ancient Greek lambdas floating on a projector.

[…2041 words]
# 9th Oct 2025 iconnotes docker functional icfp multicore ocaml oxcaml programming

It's time to go post-POSIX at ICFP/SPLASH 2025 / Oct 2025

(This is part 4 of my ICFP25 series: see also 1. Chairing PROPL25, 2. OxCaml tutorial, 3. OCaml 5 with Jane Street and Docker, 5. What I learnt)

After the excitement of presenting my Docker experience report, I went straight into giving a keynote talk at VMIL 2025. This talk bubbled up intrusive thoughts I've had resulting in the past 25 years: every system I've worked on, ranging from Xen to Docker on all seem to boil down to "make shared memory go fast".

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.

The leaning tower of operating system layers
The leaning tower of operating system layers

[…816 words]
# 8th Oct 2025 iconnotes functional icfp iouring ocaml programming tutorial

Jane Street and Docker on moving to OCaml 5 at ICFP/SPLASH 2025 / Oct 2025

(This is part 3 of my ICFP25 series: see also 1. Chairing PROPL25, 2. OxCaml tutorial, 4. post-POSIX IO, 5. What I learnt)

It's been about six years since we wrote the papers on parallelism and effects, and four years since we helped to release upstream OCaml 5.0 with multicore support, a mammoth effort that took up years of work for my OCaml Labs and Tarides crew. After the release came out, I focussed on building applications using OCaml 5 for my own work on planetary computing, for example on using the new features with the fledgling Eio library to get some experience with direct-style OCaml programming.

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...

[…1853 words]
# 7th Oct 2025 iconnotes docker icfp multicore ocaml oxcaml programming

Holding an OxCaml tutorial at ICFP/SPLASH 2025 / Oct 2025

(This is part 2 of my ICFP25 series: see also 1. Chairing PROPL25, 3. OCaml 5 with Jane Street and Docker, 4. post-POSIX IO, 5. 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.

Just click on the tutorial repo to get an online environment
Just click on the tutorial repo to get an online environment

[…1509 words]
# 6th Oct 2025 iconnotes icfp ocaml oxcaml programming tutorial

Programming for the Planet at ICFP/SPLASH 2025 / Oct 2025

(This is part 1 of my ICFP25 series: see also 1. Chairing PROPL25, 2. OxCaml tutorial, 3. OCaml 5 with Jane Street and Docker, 4. post-POSIX IO, 5. What I learnt)

The first outing of PROPL was last year in London, and this time around Dominic Orchard and I invited KC Sivaramakrishnan to be the PC chair and held it at ICFP/SPLASH. The uptake was encouraging, and we got enough submissions to have a proper published proceedings in the ACM Digital Library for the first time! Our proceedings summary is a quick read to give you an idea of the breadth of the papers and talks this year.

A summary of the 6 papers, 9 talks and provocations that appeared.
A summary of the 6 papers, 9 talks and provocations that appeared.

[…3184 words]
# 5th Oct 2025 iconnotes functional icfp programming spatial

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 quantified through science-based methods! Advances in remote sensing mean we have better resolution views into nature than ever before in human history, and we can leverage those towards protecting what's left. The wrong economic incentives are pushing us into a dangerous crossroads where several policy paths effectively abandon nature.

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.

[…419 words]
# 10th Sep 2025 iconnotes biodiversity carbon nature policy

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 LIFE metric and moving onto food provenance maps and import/export data for the world, we now know the answer can vary by three orders of magnitude for species extinction risks.

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 Thomas Ball) generated.

Explore food trade impacts on every country interactively
Explore food trade impacts on every country interactively

[…519 words]
# 9th Sep 2025 iconnotes biodiversity food spatial

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 preprint paper describes what sorts of geospatial tasks you can solve more quickly, ranging from crop type classification, forest canopy height estimation, above-ground biomass calculations, wildfire detection, forest stocks, and many more.

Parametric UMAP false colour visualisation of TESSERA embeddings for Cambridgeshire
Parametric UMAP false colour visualisation of TESSERA embeddings for Cambridgeshire

[…1044 words]
# 31st Aug 2025 iconnotes ai satellite spatial tessera

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 "Steps towards an Ecology for the Internet". I was a little unsure about how to approach the presentation, largely because the ideas seem a little crazy if they'd been proposed even a year ago! Luckily my co-authors strengthened my spine with encouragement and gin, and the event was tremendous fun packed with useful insights.

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).

[…1483 words]
# 22nd Aug 2025 iconnotes ai denmark ecology internet llms selfhosting

mlgpx is the first Tangled-hosted package available on opam / Aug 2025

Since I wrote about the new ATProto-powered Tangled Git forge a few months ago, it's come along by leaps and bounds!

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[1] for a new GPS Exchange Format library in OCaml that I wrote. The pipelines should look familiar, and the description format very straightforward.

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 recent trip to Botswana. All you need in your 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.

  1. ...with the help of my trusty local Nixer Ryan Gibb. Noone should ever Nix by themselves.

    ↩︎︎
# 17th Aug 2025 iconnotes bluesky git ocaml tangled

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 TESSERA (and enjoying the wildlife!). Piecing together our locations was quite important, and so I took a cue from Ryan Gibb and deployed OwnTracks and HomeAssistant Device Tracker before I headed out there. There were four interesting tech pieces that resulted from this: a local iPhone app to determine my GPS accuracy while entirely remote; then merging my Home Assistant location database hile in the field, then reverse engineering 8 years worth of location data out of an old iOS app to backfill data, and finally deploying my own self-hosted OwnTracks on Recoil for the longer term.

[…1588 words]
# 14th Aug 2025 iconnotes claude gps llms selfhosting spatial

Cresting the OCaml AI humps / Jul 2025

I've been hacking with Sadiq Jaffer (^), Jon Ludlam (^) and Ryan Gibb (^) on various approaches to improving the agentic coding experience for OCaml.

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!

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.

# 18th Jul 2025 iconnotes ai llms ocaml

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 Low power audio transcription with Whisper project over the summer with Josh Millar and Dan Kvit.

# 16th Jul 2025 iconnotes ai audio llm

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.

Sir Mark Walport FRS opens up the conference
Sir Mark Walport FRS opens up the conference

[…3907 words]
# 14th Jul 2025 iconnotes ai evidence livenotes publishing royalsociety

Is AI poisoning the scientific literature? Our comment in Nature / Jul 2025

For the past few years, Sadiq Jaffer and I been working with our colleagues in Conservation Evidence to do analysis at scale on the academic literature. Getting local access to millions of fulltext papers has not been without drama, but made possible thanks to huge amounts of help from our University Library who helped us navigate our relationships with scientific publishers. We have just published a comment in Nature about the next phase of our research, where are looking into the impact of AI advances on evidence synthesis.

AI poisoning the literature in a legendary cartoon. Credit: David Parkins, Nature
AI poisoning the literature in a legendary cartoon. Credit: David Parkins, Nature

[…546 words]
# 8th Jul 2025 iconnotes ai evidence federation llms networks

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!

[…1359 words]
# 28th Jun 2025 iconnotes urop

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 hyperspectral mapping will give us a lot more insight into global tree health.

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 BIOSPACE where there will no doubt be initial buzz about this.

Update 28th June 2025: See also this beautiful BBC article about the satellite, via David Coomes.

# 28th Jun 2025 iconnotes biodiversity carbon forests satellite sensing space

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!).

[…1934 words]
# 11th Jun 2025 iconnotes containers docker macos networking systems

Visiting National Geographic HQ and the Urban Exploration Project / Jun 2025

I stayed on for a few days extra in Washington DC after the biodiversity extravaganza to attend a workshop at legendary National Geographic Basecamp. While I've been to several NatGeo Explorers meetups in California, I've never had the chance to visit their HQ. The purpose of this was to attend a workshop organised by Christian Rutz from St Andrews about the "Urban Exploration Project":

[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 remote sensing or expert range maps, but the UEP program is more concerned with the dynamic movements of species. Wildlife movements are extremely relevant to conservation efforts since there is a large tension between human/wildlife coexistence in areas where both communities are under spatial pressure. Tom Ratsakatika for example did his AI4ER project on the tensions in the Romanian Carpathian mountains, and elephant/human conflicts and tiger/human conflicts are also well known.

[…1155 words]
# 7th Jun 2025 iconnotes biodiversity natgeo urban usa

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...

[…2343 words]
# 6th Jun 2025 iconnotes biodiversity conservation policy royalsociety usa

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 intense few days, Bill Sutherland, Julia P.G. Jones, EJ Milner-Gulland and I headed into nature to experience the spectacular landscapes of the Blue Ridge Mountains in Virginia and do some birding.

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).

EJ and Julia hard at work on their junior ranger books
EJ and Julia hard at work on their junior ranger books

[…386 words]
# 27th May 2025 iconnotes conservation usa

Learnings from the Cambridge Environmental Sustainability Committee / May 2025

I joined Cambridge's loftily named Environment Sustainability Strategy Committee this academic year, and have attended a couple of meetings with the latest one being held today. While a lot of what goes on is intricately tied into the University's rather special governance structure and the complexity of the College system, there has been significant progress on making all of this more visible more widely.

Sally Pidgeon, our wonderful head of Enviromental Sustainaibility, has been redeveloping the public website and has put a lot of interesting data online. There is now a new Environmental Sustainability website that tracks the University committment structure more closely, with the areas broken up into Carbon & Energy, Travel & Transport, Waste & Circular Economy, Biodiversity, and Water usage.

[…842 words]
# 13th May 2025 iconnotes biodiversity cambridge conservation policy urban

Humans are the ones that will save nature, helped by AI / May 2025

In my earlier note about how AI should unite conservation, I talked about the robust debate ongoing within Cambridge about whether or not we're too "AI obsessed" and are losing track of our goals in the rush to adopt learning algorithms. Jacqueline Garget has written a brilliant roundup about how colleages like Sam Reynolds, Chris Sandbrook and Sadiq Jaffer in the CCI are leading conversations to make sure we advance with eyes wide open.

[…537 words]
# 7th May 2025 iconnotes biodiversity conservation policy

The Cambridge "Green Blue" competition to reduce emissions / May 2025

Carl Edward Rasmussen recently gave a great talk in our group about his thoughts on mechanisms against climate change. He persuasively argued that the Paris Agreement was doing more harm than good by giving the illusion of being a concrete agreement, but is in reality a huge distraction. Our actual emissions have increased since the Paris agreement was signed!

Carl argues that a climate system ultimately only responds to collective actions, and without a global cooperative incentive each nation will spring back to their own isolated short-term incentives that lead to an increase in fossil fuel burning. He has just published the "Themis Mechanism" as a simple alternative for equitable global emission reduction (long form). (6th May 2025: See a new article on Themis as well)

This got me brainstorming with Carl about how to test his theories out and we came up with an idea that is either terrible or awesome; please read on and judge appropriately. I think we should take advantage of Cambridge's unique structure to trial the Themis mechanism via a new competitive decarbonisation sporting league among Colleges that I dub the "Cambridge Green Blue". Given the Chancellor's recent unveiling of an innovation corridor between Oxford and Cambridge, the timing could not be better for an initiative like this. (TL;DR sign up at the bottom of this post if you'd like to participate)

[…4038 words]
# 6th May 2025 iconnotes carbon climate economics

Displaying the 25 most recent items out of 141 in total (see all the items)