Sign in

iiinova is part of the Atmosphere — an open, public network where you own your identity.

Anil Madhavapeddy

@avsm.amok.recoil.org.ap.brid.gy
59 followers 0 following 193 posts

Professor of Planetary Computing, University of Cambridge [bridged from amok.recoil.org/@avsm on the fediverse by fed.brid.gy ]

PostsRepliesMedia
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 19/10/2026
something that trips up students every single year is why OCaml (and Scala and Standard ML and GHC) have list tail functions that error on an empty list, instead of just returning an empty list
010 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 16/10/2026
Anyone know who's working on this in the NGI fund round? It's exciting but cant find any info on the NGI site about who to contact nlnet.nl/project/BabelBuild /cc @patricoferris
nlnet.nl
NLnet; BabelBuild
101 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 13/10/2026
2026w41: a week into full term, and our Computer Science Part II projects are so much fun: everything from 'debugging Bach' with a musical OCaml DSL to figuring out how to teach AI to stop predicting that elephants swim in the oceans off the Gabonese coast anil.recoil.org/notes/2026w41
anil.recoil.org
.plan-26-41: Hello, is it Part II you're looking for?
The Foundations of Computer Science notes are now done as a Forest with live OCaml toplevels, and Part II projects sorted.
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 11/10/2026
Finished up the Cambridge 1A Foundations of Computer Science course notes, now as a @jonmsterling Forester. This'll may be the last year this course (which has been going for thirty years) will run in its current form, but I need to meditate to figure out its new shape […]
amok.recoil.org
Original post on amok.recoil.org
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 06/10/2026
Delighted that Bidirectional Type Slicing has been (conditionally) accepted to POPL27, with tons of good expository suggestions from the reviewers! Their attention to detail is massively appreciated. arxiv.org/abs/2607.12197
arxiv.org
Bidirectional Type Slicing
Development tools report what type an expression has, but not why it has that type. This paper develops a theory of type slicing: a programmer selects a term, queries any part of its type information, and receives a program slice that is sufficient to reproduce the queried type. We formulate type slicing for bidirectional type systems, where synthesis slices explain the type a term synthesises and analysis slices explain the type expected by its surrounding context. The theory applies to any bidirectional system equipped with precision orders on types and terms satisfying a downwards static graduality property. We develop the metatheory over a core calculus with holes, products, sums, and explicit polymorphism, based on the Hazelnut and marked lambda calculi. We prove that every query has a minimal slice and that refining a query monotonically shrinks its minimal slices. We then show how to calculate these slices both exactly and approximately. Finally, integrating type slicing with error marking theory extends these results to arbitrary ill-typed programs, so a single mechanism explains both types and type errors in complete, incomplete, and erroneous code. The metatheory is mechanised in Agda, and a linear-time approximation of type slicing is implemented for the Hazel programming environment.
031 3
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 06/10/2026
@Laura Hamed has promised next time :-)
000 0
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 05/10/2026
Been trying to capture the seasons with my new notes page design. Still not quite there but getting better... anil.recoil.org/notes
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 05/10/2026
.plan-2026-40: now locked into Cambridge as term starts! Also a fun day trip to Oxford to talk to the Intelligent Earth PhD cohort, and did a mega release of GeoTessera 0.11 with wall-to-wall embeddings for 2017-2025 now supported, woohoo. anil.recoil.org/notes/2026w40
101 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 02/10/2026
LIFE, Zarr and everything. Investigating the production quality of modern frontier agents and coming back a little shocked at how good it is to for interactively (!) explaining complex topics like landuse. anil.recoil.org/notes/life-zarr-and…
anil.recoil.org
LIFE, Zarr and everything
Serving LIFE v1.01 as a streamable Zarr v3 store, and three new clients in JavaScript, Python and R.
011 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 30/09/2026
If there are any R users that would like to test a Tessera access library, then github.com/ucam-eo/geotessera-r is open for issues and feedback before the first release!
github.com
GitHub - ucam-eo/geotessera-r: R access library for Tessera
R access library for Tessera. Contribute to ucam-eo/geotessera-r development by creating an account on GitHub.
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 29/09/2026
.plan: it's the end of my sabbatical this week, so I'm making a winter reading list, and enjoying a storm of research (although I really wish the thousands of OSS security issues weren't a thing) anil.recoil.org/notes/2026w39
anil.recoil.org
.plan-26-39: End of my sabbatical, and I feeeel fine!
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.
013 3
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 21/09/2026
Weeknotes 2026#38 see an exciting milestone for Tessera as community contributions from dClimate have lead to complete wall-to-wall global maps being made available for v1.1 for 2017-2025. My notes on what's going into integrating and validating them anil.recoil.org/notes/2026w38 for […]
amok.recoil.org
Original post on amok.recoil.org
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 21/09/2026
Just added support for searching for info about threatened species near you to the Dash of Life! dashoflife.org/near-me
003 3
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 16/09/2026
If AI's moving too fast for you, then consider training your agent with a hugging skill and deliver optimal load-bearing intra-hug squeezes regularly dl.acm.org/doi/10.1145/3526110
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 12/09/2026
New preprint on breaking the security in brain-computer interfaces; this is not where you want to find vulnerabilities! We categorise them as "NERVE Attacks": a combination of Neuro-mimetic forgery, evasion via signal desynchronization, replay-based hijacking, vein tapping the unencrypted radio […]
amok.recoil.org
Original post on amok.recoil.org
011 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 10/09/2026
Term time's almost here, and I've refreshed my Cambridge MPhil/Part II student project ideas. A heady mix of planetary computing and systems/PL to whet anyone's appetite for challenge! anil.recoil.org/notes/student-proje…
anil.recoil.org
Open MPhil/Part II student projects for 2026-2027
A refreshed set of Part II and MPhil projects, split between environmental science problems that need computer science, and more conventional systems and programming languages topics.
022 2
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 04/09/2026
spammed low-quality package contributions to OCaml are coming in with a really lovely smile now github.com/ocaml/opam-repository/pu…
github.com
[new release] realdentalcosts (0.1.0) by shoopeur-eng · Pull Request #30634 · ocaml/opam-repository
Stdlib-only OCaml URL helpers for the free, no-key Real Dental Costs open data API: U.S. dental procedure cash prices by state and what Medicaid actually paid dentists per CDT code (HHS/CMS T-MSIS ...
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 01/09/2026
@andrewnez will do, travelling back to cam first!
100 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 01/09/2026
Some quick thoughts after trying out Scrutineer by @andrewnez for managing local code scanning workflows anil.recoil.org/notes/scrutineer-lo…
anil.recoil.org
Security scanning my own code with Scrutineer and local coding models
Deploying Alpha-Omega's Scrutineer on a VM, driving its scans with a local GLM 5.3 on my Mac Studio, and thinking through practical workflows
112 2
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 29/08/2026
@andrewnez and I've got it running on a local GLM 5.3 Flash q4 using antirez/ds4! Leaving it over the weekend...
000 0
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 29/08/2026
The directed graph of voting results for LLM usage is very Debian (and perhaps something applicable to mainstream voting on complex issues!) vote.debian.org/~secretary/gr_llm
011 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 28/08/2026
RE: mastodon.social/@andrewnez/11717270… We'll need a few more zeros on that compensation line!
012 2
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 28/08/2026
The 3rd Programming for the Planet talk videos are now live, with notes on anil.recoil.org/notes/pldi26-propl and a fediverse mirror at watch.eeg.cl.cam.ac.uk/c/propl24/vi…. enjoy!
anil.recoil.org
The 3rd Programming for the Planet 2026 videos are available
Videos from the third Programming for the Planet (PROPL) workshop at PLDI 2026, and Cyrus Omar is visiting Cambridge on sabbatical for a year to drive followups!
003 3
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 27/08/2026
GeoTessera 0.10 is out now, a year after our first release! Highlights: switches to the Source.coop for hosting, adds support for v2 beta (with matryoshka), and much better Zarr streaming support (see tze.geotessera.org for this in the browser). anil.recoil.org/notes/geotessera-a-…
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 26/08/2026
I feel two out of three ain't bad for me on the Dolly Parton advice scale: "Never ignore your roots, your home, or your hair”
002 2
Reposted by Anil Madhavapeddy
Andrew Nesbitt @andrewnez.mastodon.social.ap.brid.gy · 24/08/2026
@avsm working on an ocaml runner profile for you: github.com/alpha-omega-security/scr…
github.com
Add ocaml runner profile by andrew · Pull Request #901 · alpha-omega-security/scrutineer
Adds an OCaml profile so opam/dune projects get a working toolchain, dependency install, and reproducer path. Prompted by https://anil.recoil.org/notes/rumour-is-the-exploit which name-checks scrut...
121 2
Reposted by Anil Madhavapeddy
Edwin Török @edwintorok.discuss.systems.ap.brid.gy · 23/08/2026
@avsm I think that when the title, or CWE of a vulnerability and a package name is publicly known it should be assumed that the actual vulnerability is easily rediscoverable. Maybe at that point the security advisory should already be published (referencing a git commit/branch/PR even if not a […]
discuss.systems
Original post on discuss.systems
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 23/08/2026
I've had to respond to multiple OSS security issues recently and the wild thing is that agents can now generate exploits just on the *rumour* of a bug. This throws security embargoes out the window, as the fix is less important than the knowledge of its existence. What on earth are open source […]
amok.recoil.org
Original post on amok.recoil.org
405 5
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 19/08/2026
@edwintorok I particularly enjoy how it never seems to have any useful metadata in the sidebar
000 0
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 19/08/2026
I'm delighted to announce that our formerly plain PDF ICFP 2026 paper (anil.recoil.org/papers/2026-package…) has been UPGRADED with advanced AI summaries (if you pay up for the premium ACM account) and is under impenetrable cybersecurity protection (if you click through […]
amok.recoil.org
Original post on amok.recoil.org
104 4
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 18/08/2026
I remain a bit shocked just how many of the requests to my website are direct agent calls now. It feels weird to be able to directly manipulate the context windows of tens of thousands of inquisitive tool-using LLMs...
013 3
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 18/08/2026
.plan-2026-w33: Tessera dons the mask of Zarro (v3), evidencetap.org is live, weather prediction downscaling paper is out, OCaml perf and security fixes, busy summer! anil.recoil.org/notes/2026w33
anil.recoil.org
.plan-26-33: Zarro rides out and evidence papers pour in
TESSERA 1.0 is now fully available as Zarr with global RGB previews, a weather downscaling preprint, and Evidence TAP gets a public website with progress on the downloader and parser.
021 2
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 16/08/2026
I've been porting my 26-27 Cambridge 1A lectures for Foundations of CS to be interactive toplevels via @jonmsterling 's Forester tool anil.recoil.org/notes/forester-teac…
anil.recoil.org
Using Forester to turn Foundations of CS into interactive evergreen lectures
Porting the FoCS lecture notes to Forester, including transclusions and stable section URLs, and a live OCaml toplevel compiled into the browser.
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 14/08/2026
In this sweltering summer, our new preprint on improving local weather prediction using satellite foundation models! My explainer: anil.recoil.org/notes/weather-downs… and the paper: arxiv.org/pdf/2608.12271v1 🌎
anil.recoil.org
Improving local weather forecasts using Tessera embeddings
New paper showing that a frozen TESSERA embedding improves probabilistic weather downscaling, improving local temperature and wind predictions at never-observed sites.
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 10/08/2026
.plan-2026-w31, where I finally find a use for serverless computing after many moons of Dockering anil.recoil.org/notes/2026w32
anil.recoil.org
.plan-26-32: Finally a use for serverless and found the Forester for the trees
GETMobile micro-NPU article and package calculus published, TESSERA embeddings conversion using Fargate Spot, and starting to shift to Forester for teaching.
011 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 08/08/2026
I updated my website to the latest oxcaml-5.2.0-minus39 and made some notes about how the opam packaging works anil.recoil.org/notes/oxcaml-opam-g… : this might be helpful if you're trying out the performance extensions with your own non-Jane Street codebases
anil.recoil.org
Updating to the OxCaml 5.2.0-minus39 opam packaging
How the OxCaml overlay's guard packages keep incompatible releases out, and how to contribute to it with your own packages.
012 2
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 06/08/2026
@ryan's going to be speaking about his package management work now in FW11 in the Lab or online at teams.microsoft.com/meet/3507858253… deets in talks.cam.ac.uk/talk/index/272603
teams.microsoft.com
Join meeting on Teams
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 05/08/2026
Article on how microcontrollers in resource-constrained environments work! Performing ML inference on tiny hardware improves privacy by running locally, lowers costs for model vendors, and eliminates dependence on network. Notes anil.recoil.org/notes/sigmobile-npu, article […]
amok.recoil.org
Original post on amok.recoil.org
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 03/08/2026
Weeknotes time! Spent a few days sorting out petabytes of our uni infrastructure, ranging from the ever-ballooning TESSERA and to our growing living evidence database of papers. Also, some really fun RA jobs just opened for Deep Learning with SDMs, if you're job hunting […]
amok.recoil.org
Original post on amok.recoil.org
012 2
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 27/07/2026
.plan-2026-w30: Bananas ripen, models open up, O(x)Caml code and skill releases, and trying out @ssh_exe_dev : anil.recoil.org/notes/2026w30
anil.recoil.org
.plan-26-30: Bananas ripen, models open, and OxCaml releases
An OpenUK openness interview, prototyping the Evidence TAP site with exe.dev, Windows eio support finds a user in Forester, and a new grant for optimising ranger patrols.
021 2
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 22/07/2026
Quite the variety of activities lately, from visiting the Arctic (quite cold) and then the House of Lords (quite hot) in the last couple of weeks! Here's .plan-28: anil.recoil.org/notes/2026w28 and .plan-29: anil.recoil.org/notes/2026w29
anil.recoil.org
.plan-26-28: What fun papers piled up while I was out at sea
Back from the Arctic into a heatwave, hacking on Eio for the TESSERA sync engine, the Conservation Evidence team demoing at Parliament, and TESSERA on stage at the RAISE Summit in Paris.
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 14/07/2026
Love this 'rewilding the web' retro tribute rewilding.domain0.org bsky.app/profile/payne.io/post/3mql…
rewilding.domain0.org
~ REWILDING THE WEB :: cyber homestead ~
The Rewilding the Web workshop (Edinburgh, May 2026), recast as a wild early-web desktop. Drag the windows. Read the talks. Feed the counters.
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 11/07/2026
Oh this is so useful for quick scripts: octx, a CLI tool to generate type-safe OCaml serialisers for various formats. You can just check in the output to an existing project. tangled.org/patrick.sirref.org/octx by @patricoferris
tangled.org
patrick.sirref.org/octx
OCaml Code-generation Toolbox
032 3
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 03/07/2026
Current status: second into the Ryberg Fjord in Greenland this season and engaging in polar diplomacy
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 29/06/2026
.plan-2026-w26 weeknotes: Gelato, geospatial, and players of games anil.recoil.org/notes/2026w26
anil.recoil.org
.plan-26-26: Gelato, geospatial, and players of games
Spoke at CHIA's annual conference on AI for a changing world, as well as the first Cloud-Native Geospatial Forum outside the US, and started moving TESSERA's embeddings onto Source Cooperative.
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 26/06/2026
I attended the Cloud-Native Geospatial Forum in London, with 50 geospatial geeks from across industry and academia and policy descending on the Jellicoe. I introduced @geotessera there and made notes: anil.recoil.org/notes/cng-london-20… It's brilliant to be part of a growing […]
amok.recoil.org
Original post on amok.recoil.org
101 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 24/06/2026
Finding FreeBSD jails pretty hard to use in practise for OCaml CI; the latest is a leak from double forking processes, which is kind of a surprising default www.tunbury.org/2026/06/24/leaking-…
tunbury.org
FreeBSD git-daemon leak
The FreeBSD CI workers get slower over time. Is this a build-up on ZFS snapshots or something else? The FreeBSD `jails` setup is very effective, and a freshly built FreeBSD CI worker runs very quickly. Over time, though, when there are thousands of ZFS snapshots it starts to crawl. I’ve seen this on macOS too. Setting a high `--obuilder-prune-threshold` on FreeBSD mitigates the problem it’s not the silver bullet I had hoped for. Today when I was updating the machine to OCaml 5.5.0, base images, I noticed piles of `git-daemon` processes. I’d seen this before and had dismissed it, but today was the day to diagnose the where these came from. root@rosemary:~ # ps -ax | grep git 2261 - IsJ 0:00.00 /usr/local/libexec/git-core/git-daemon --base-path=. ... --port=9419 ... 2342 - IsJ 0:00.00 /usr/local/libexec/git-core/git-daemon --base-path=. ... --port=9419 ... ... 33 of these, the oldest six weeks old ... The `J` in the state column indicates that each one of these is running inside a jail. Cross-referencing with `jls` showed 33 of these daemons spread across 33 leftover obuilder jails, each holding a devfs mount and a ZFS snapshot open. obuilder runs each build step in a jail, created roughly like: jail -c name=... command=/usr/bin/su -l opam -c '<the build>' A non-persistent jail is automatically removed once its last process exits. That is usually fine: the build command finishes, the jail exits, and FreeBSD unmounts the devfs along with it. Very tidy. When a build step fails, the jail isn’t so tidy, and the failure path in obuilder tidies up the leftover devfs mount. However, a problem occurs when a build step leaves something running. An opam package’s test suite spins up a throwaway git server with `git daemon --detach` to test clone and push. The `--detach` flag makes it double-fork into the background, and because a vnet jail has no `init` of its own, the orphaned daemon reparents to host PID 1. Every leaked daemon confirmed it: root@rosemary:~ # ps -axww -o pid,ppid,jid,command | grep git-daemon 2261 1 44440 ...git-daemon... --port=9419... `PPID 1`. The build command exits, but this straggler is still alive inside the jail, so the jail never auto-removes. It sits there forever, holding its mount and snapshot. To make it worse, while the daemon is alive, it holds the in-jail filesystems busy, so obuilder’s tidy-up `umount` calls fail with `EBUSY`. The devfs mount also remains. My fix is to use the `jail -r` to remove jail, which sends `SIGKILL` to every process in the prison, which is what the failure path did before. Now this runs on success as well, which will typically be a harmless attempt to remove an already closed jail, but it will also tidy away anything lingering. My PR is ocurrent/obuilder#210. I can trace back which packages install the opam package `conf-git-daemon`, and found `dune`, `git-kv`, and `git-net`. Of these, `git-kv` is the only one which starts the process with `--port-9419`. Interestingly, the code does tidy up with `Fun.protect ~finally:(fun () -> kill_git pid) (...)`; however, the code never triggers because `git-daemon`’s readiness is polled with `lsof`, which isn’t installed on the worker and silently fails, leaving exactly one `git-daemon` running. I’ve opened Issue#15 on git-kv.
011 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 22/06/2026
.plan-26-w25: From planetary scale plans at PROPL to Windows file-descriptor scale problems in OCaml anil.recoil.org/notes/2026w25
001 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 18/06/2026
Not your average day at work today as Sir David Attenborough dropped by the Cambridge Conservation Initiative today to celebrate a decade of being in the eponymous building (which used to be the old computer science campus pre-2001!). anil.recoil.org/notes/ten-years-of-…
anil.recoil.org
Sir David Attenborough joins us to celebrate the Cambridge Conservation Initiative
Sir David Attenborough drops by for the Cambridge Conservation Initiative's tenth birthday in the DAB, and I spend the afternoon demoing TESSERA and the Dash of Life to a campus packed with visitors.
011 1
Anil Madhavapeddy @avsm.amok.recoil.org.ap.brid.gy · 17/06/2026
Was down at the Royal Society last night for Andrew Balmford's epic talk "on feeding the world without costing the earth" as the inaugural winner of the RS Environment Medal. Here's my notes on it including that rarest of sightings: Andrew in a suit! anil.recoil.org/notes/ab-rs-env-med… 🌍
anil.recoil.org
The Royal Society Environmental Prize lecture on feeding the world without costing the earth
Notes from Andrew Balmford's Royal Society Environment Medal lecture, on why shifting diets and cutting food waste are necessary but not sufficient, and why sustainable high-yield farming tied to land sparing is the key to slowing the extinction crisis.
001 1