October 2026
A whole new world (of wall-to-wall Tessera embeddings).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. · 1,450 words
September 2026
LIFE, Zarr and everything.Serving LIFE v1.01 as a streamable Zarr v3 store, and three new clients in JavaScript, Python and R. · 1,775 words
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. · 2,412 words
Mapping millions of little trees across the Cairngorms with airborne LiDAR.A good news paper in the Journal of Applied Ecology, using airborne LiDAR over Cairngorms Connect to map 2.65 million young trees and finding deer management is working. · 859 words
Near, far, wherever you are, Tessera infers on.Working through dClimate's wall-to-wall v1.1 Tessera embeddings, and finding threatened species near you with the Dash of Life. · 1,618 words
The humans aren't dead, the humans are ahead.Mathematics gets its AI reckoning after security, thinking through formative assessment for the CST Tripos, triaging Scrutineer bugs without panicking, and an Echo Labs visit. · 1,467 words
Hitting a NERVE with attacks on AI-powered brain-computer interfaces.New preprint defining attack dimensions for Brain Computer Interfaces and an analysis framework called EEGle. · 514 words
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. · 1,235 words
Ground control to major MODIS.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. · 2,013 words
August 2026
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 · 1,541 words
All I want for Tesseramas is (GP)U.Tessera v1.1 now also synced to Source Cooperative but we're short on GPUs for v2, Scrutineer security scans driven by a local GLM, PROPL 2026 videos are live, and TDM reservations in OCaml for Evidence TAP. · 1,099 words
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! · 732 words
Celebrating a year of Tessera embeddings and releasing GeoTessera 0.10.It's been a whole year of Tessera embeddings hacking, GeoTessera 0.10 moves hosting to the Source Cooperative, with UTM-native Zarr routing and matryoshka reads. · 1,521 words
Am I human or am I antibotty.TESSERA v2 beta embeddings are in the TZE explorer, security embargoes being outrun by agents, opam packages now need humans behind them, prometheus and eio releases · 1,109 words
Just a rumour of a bug is enough to find a security exploit these days.Thinking through how the conventional OSS security embargoes no longer buy us time, and what open source maintainers might do instead to respond · 1,868 words
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. · 2,049 words
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. · 2,209 words
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. · 1,214 words
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. · 1,987 words
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. · 926 words
GetMOBILE article on benchmarking micro-NPUs now out.Resource-constrained, MCU-scale neural processing units have emerged to provide real-time inference within milliwatt-scale power budgets. · 161 words
Sorting out Tessera and Evidence TAP infrastructure.A petabyte of TESSERA embeddings moves to Source Cooperative, and Taposaur's GROBID metadata index and capability-based downloader take shape for Evidence TAP, while Eio gets some native Windows support. · 3,151 words
July 2026
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. · 1,734 words
Perfect weather, imperfectly measured, precisely predicted.My first viva in Law, a TESSERA stall at the House of Lords, downscaling the weather with embeddings, moving terabytes onto Source Cooperative, the Pembroke garden party, and a from-scratch shell makes progress. · 2,652 words
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. · 2,661 words
Somewhere over the icecap.On vacation in Greenland and Iceland. · 70 words
June 2026
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. · 804 words
A scorching CNG London during Climate Action Week.My notes from the first Cloud-Native Geospatial Forum gathering outside the US, up on the top floor of the Jellicoe; covering Source Cooperative's open data economics, Argentina's invisible settlements, and provenance and trust for geospatial decisionmaking. · 3,519 words
Planetary scale plans, Windows file-descriptor scale problems.Ten years of the CCI with Sir David Attenborough, Andrew's Royal Society Environment Medal lecture, and the third PROPL at PLDI, while wrapping a local DeepSeek agent in OCaml and a first stab at getting Eio fleshed out on Windows. · 2,112 words
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. · 708 words
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. · 2,906 words
Language integrated LLMs as an OCaml function.Using a local DeepSeek model as an ordinary OCaml library and building sandboxed agents from simple primitives · 3,212 words
Apparently a professor now; still debugging io_uring at midnight.Made professor at Cambridge, shipped TESSERA v1.1, bound a local DeepSeek into OCaml after Fable cut out, and filled the gaps in io_uring and Eio. · 1,767 words
Tessera v1.1 released, with smoother and temporally stable embeddings.TESSERA v1.1 is a drop-in retrained model that fixes the tiling artefacts of v1.0, with embeddings now being served from AWS S3 and model weights up on Hugging Face. · 963 words
Earth Embeddings, Emails Everywhere, and ERRNOOOs.TESSERA on the ESA homepage and at CVPR, GeoTessera 0.9 stabilising onto S3/Zarr, io-uring in OCaml, carbon credits in New Scientist and WSJ, and musings on internet malware again. · 2,010 words
Tessera at CVPR 2026, and the front page of the European Space Agency!TESSERA gets its CVPR debut in Denver, the BBC hedgehog story trots on into national news, and the European Space Agency puts our model on their homepage! · 511 words
Self-hosting email the hard way from your own routable IPv4 block up.How we refreshed self-hosted Recoil email with our own RIPE-allocated IPv4 block, and deployed Postfix/rspamd/Dovecot to get full SPF/DKIM/DMARC deliverability. · 6,298 words
May 2026
From digital rewilding in Edinburgh to uring and Tessera hackery.Rewilding the Web workshop in Edinburgh, an OCaml io_uring binding refresh, and GeoTessera 0.9 moves the embeddings to AWS alongside a fresh HuggingFace org. · 701 words
Rewilding the Web: my workshop report from Edinburgh.Notes from a wonderfully interdisciplinary Edinburgh workshop on 'Rewilding the Web', ranging coopetition and biological variety through the philosophy of self-organisation, polycrisis governance, protopian science fiction, and moderation seen through the lens of artisanal cheese. · 5,518 words
Pint of Science, OxCaml dissertations, and TESSERA 1.1 stirring.After the BBC/ITV media run we had a talk at Pint of Science, two cracking Part II dissertations on CE/TESSERA and OxCaml vector RAG, and put TESSERA v1.1 weights on HuggingFace. · 851 words
What happens when a hedgehog story prickles its way into the BBC.Behind the scenes of a week of BBC/ITV news and radio appearances about hedgehogs and TESSERA, but also what to expect when a research story catches the news cycle. · 1,501 words
Building OxCaml packages for Debian, Fedora, Homebrew and Arch.Native OxCaml system packages for Debian/Ubuntu, Fedora, Arch and Homebrew — plus reviving a 2013 GPG key that modern tooling rejects for SHA-1, and using agentic coding to collapse the opam build into one tarball. · 873 words
Putting OxCaml in a box and OCaml in orbit (again).Consolidating my OCaml trees for easier OxCaml deployment, shipping native system packages for OxCaml which then got into space, and remembering Peter Neumann · 601 words
Voluntary AI disclosure proposal for OCaml: update 1.An update on the voluntary AI disclosure proposal, digesting the security, quality and legal feedback, and some concrete next steps around maintenance intent, multi-repository tooling, and reputation. · 1,053 words
Ancient oaks, parliamentary evidence, and TESSERA in the City.Celebrating David Attenborough's 100th birthday at a Conservation Research Institute retreat in Norwich, a Parliament POST briefing on Evidence for Nature Recovery lands, and a TESSERA talk at the Cambridge Ring alumni evening at Jane Street. · 1,346 words
From tropical forest protection to oi swallowing its oxcaml tail.Our REDD+ over-crediting paper hits Nature Communications just as Microsoft retreats from removals, we talk responsible evidence synthesis while LLMs appear in UK planning, and oi grows a self-update bootstrap. · 1,024 words
April 2026
Helping tropical forest protection keep up with a fast-changing world.We analysed 44 REDD+ projects and find that the voluntary market did over-credit, but also that most projects slowed deforestation on the ground. Forest carbon credits are under priced relative to permanent removals, and fixing the base price would remove most of the financial pressure that drives over-crediting in the first place. · 1,765 words
Unwedging kernels, dogfood deployments, and managing beef leakage.Welcoming Akshay to Cambridge, TESSERA AWS sync done, oi now self-hosts this site, and a new 4C forest leakage preprint appears. · 1,117 words
AI, science and the UK–EU relationship at the Royal Society.Notes from a Royal Society policy meeting with the European Commission on responsible AI, interoperable data and UK–EU alignment in AI for science; covering AI-poisoned literature, federated TESSERA-scale infrastructure, disclosure standards and the practical value of sustained UK–EU dialogue. · 2,232 words
Chennai, Cambridge, Belfast: a week on the wing.A week of hops between Chennai, Cambridge and Belfast for the FP Launchpad takeoff at IIT Madras, a surprise Publication of the Year at the Cambridge Ring Hall of Fame, meeting the VC on the upcoming Rokos School of Governance, mirroring half a petabyte of TESSERA tiles and hacking on oi · 1,340 words
The FP Launchpad takes off at IIT Madras.A day at the launch of the FP Launchpad at IIT Madras, covering talks on hardware design, trusted execution on Shakti, verifiable Indian tax law, precise JIT analysis, AI-assisted Lean metatheory, constraint-based diagramming, and my own TESSERA talk. · 3,228 words
Banyan trees, (anti)botnets and Bose-Einstein bases.Travelling from Ireland to IIT Madras for the FP Launchpad launch, mirroring half a petabyte of TESSERA embeddings to AWS Open Data, antibotty discussions, and Tangled trust boundaries for AI code review. · 1,491 words
The Internet needs an antibotty immune system, stat.Anthropic's Mythos makes autonomous vulnerability chaining across devices a sudden reality, so I've been thinking about how digital 'antibotty' inoculation networks may be needed far sooner than I expected. · 1,450 words
Tracking AI screen time and escaping to pen and paper.Mythos Preview and the urgent need for internet immune systems, cognitive DDoS and AI screen time for code, a proposal for voluntary disclosure in OCaml, desktop focus and printed papers, iOS misery, GeoTessera 0.8, Ceph at 1.4PB, OCaml CI migration, hardware perf counters for OxCaml, and the FP Launchpad launch at IIT Madras. · 1,872 words
A Proposal for Voluntary AI Disclosure in OCaml Code.Proposing a voluntary, machine-readable AI content disclosure scheme for OCaml spanning opam packages, dune, and per-module attributes, aligned with the W3C AI Content Disclosure vocabulary. · 1,330 words
March 2026
Oxidised, standardised, and syndicated.Publishing the OxCaml Labs year-one review, POSSE and AI content disclosure for the web, adopting the geo-embeddings Zarr convention for TESSERA, action PROPL at PLDI, the death of the grant application, and NASA's new swathe lidar mission. · 1,791 words
TESSERA now supports the Zarr geo-embeddings convention proposal.Community feedback reshaped our Zarr store layout — years became a dimension, shards got bigger, and we retired the TESSERA-specific convention in favour of a shared geo-embeddings standard that also covers other models. · 1,314 words
Zarr across space and TESSERA time.Reworking the TESSERA Zarr store layout after community feedback, Springer's API woes for evidence synthesis, vibecoding introspection, and git remote helpers for ATProto. · 1,008 words
Bins, bollards, bots and biodiversity boffins.Evidence synthesis at the DEFRA science conference, TESSERA transcoding and building a new SPA, OpenStreetMap/DuckDB bindings in OxCaml, and early thoughts on vibecoding etiquette. · 1,612 words
Streaming millions of TESSERA tiles over HTTP with Zarr v3.How we restructured TESSERA's geospatial embeddings from millions of individual numpy files into sharded Zarr v3 stores for efficient HTTP streaming, enabling everything from single-pixel mobile lookups to regional-scale analysis with just a couple of range requests. · 1,858 words
Streaming TESSERA working, biodiversity action papers, and FPL takes off.TESSERA streaming in the browser, planetary programming at WG2.8, biodiversity action papers, FP Launchpad opens, and Docker CACM buzz · 2,094 words
Connecting the dots for biodiversity action from the NAS/Royal Society Forum.Summary of the Nine Recommendations and Biodiversity Monitoring Standards Framework papers from the NAS/Royal Society US-UK Forum in summer 2025, and how they connect to my work on collective knowledge systems, TESSERA, and evidence synthesis. · 2,405 words
Browser TESSERA, package management and Docker in the CACM.Got TESSERA working in Zarr and the browser, and a preprint of package management a la carte pushed out · 944 words
February 2026
A Decade of Docker Containers on the CACM cover!Our CACM cover article reflects on a decade of Docker, from the early days of hacking Docker for Mac on a French farm to today's AI-driven sandboxing, covering the technical origins, cross-platform challenges, and the vibrant open-source community that made it all possible. · 859 words
At AI summit, Shriram's PL opinions, Zarr hacking.TESSERA paper accepted at CVPR 2026, went to the AI Impact Summit, OCaml Zarr hacking, Shriram's talk on human factors of formal methods, and discussions on teaching OxCaml to agents. · 1,202 words
At the AI Impact Summit in Delhi: people, planet, progress.Trip report from the Indian AI Impact Summit in New Delhi, covering the massive expo, a conversation with Yann LeCun, a hackathon/talk at IIT-Delhi, networking at the British High Commission, and reflections on the summit declaration's shift from safety to progress and equitable access. · 1,747 words
1st TESSERA/CoRE hackathon at the Indian AI Summit.First TESSERA hackathon held at the Indian AI Impact Summit in Delhi, exploring integration with IIT-Delhi's CoRE Stack for geospatial analysis and testing TESSERA labeling workflows. · 800 words
Storage, Lego, Echo, and the IUCN.Growing the Ceph cluster for TESSERA embeddings, a Lego brainstorming session for the Evidence TAP, hosting Echo Labs from ARIA, and Shane's IUCN Red List seminar. · 1,336 words
Vivas, ARIA and interviews.PhD viva for Maddy, presenting TESSERA at ARIA, Nature covers the conservation evidence conference, giving evidence to Parliamentary POST, and a CACM interview. · 902 words
Discussing effective conservation with all the UK Chief Scientists.Hosting the UK chief scientists for nature conservation at Pembroke to discuss TESSERA and AI for biodiversity, followed by the Conservation Evidence conference where I talked about choosing the open red pill over black-box AI for conservation decision-making. · 802 words
My (very) fast zero-allocation webserver using OxCaml.Building httpz, a high-performance HTTP/1.1 parser with zero heap allocation using OxCaml's unboxed types, local allocations, and mutable local variables. · 3,211 words
An OxCaml hacking week.Deploying an OxCaml zero-allocation webserver, OCaml CI maintenance and opam versioning, and OCaml Workshop and FOSDEM talks · 579 words
January 2026
Travelling and tracking TESSERA activity.Tracking TESSERA activity including a new preprint and podcast, wrestling with Zarr, and saying farewell to David Allsopp. · 515 words
TESSERA scaling and speaking at AI4Nature's launch.Scaling TESSERA embeddings on Vultr AMD GPUs, speaking at the AI4Nature launch in London, and picking up Tomas Petricek's new PL book. · 522 words
Five ways to use the LIFE metric for conservation decision-making.Our new paper in Biological Conservation demonstrates how the LIFE extinction risk metric can be applied across five diverse case studies, from real-time tropical deforestation monitoring to evaluating conservation project effectiveness. · 1,324 words
Back from India and straight into the conservation conference.Hosting the Conservation Evidence conference at Pembroke, recovering from the India trip, and keeping up with LLM developments. · 495 words
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. · 407 words
Easing into the new year with reading, temples and mosquitos.Family travels through Udaipur, Vijayawada and Hyderabad, visiting temples and villages, plus kicking off the TESSERA 2025 embeddings. · 122 words
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. · 2,144 words
December 2025
2025 Advent of Agentic Humps: Building a useful O(x)Caml library every day.An exploration of agentic programming through building useful OCaml libraries daily using Claude Code while establishing groundrules for responsible development. · 1,594 words
AoAH Day 25: Claude OCaml Marketplace for all your festive coding needs.Wrapping up 25 days of agentic coding with a Claude Code OCaml plugin marketplace to share the skills and tools developed throughout the series. · 283 words
AoAH Day 24: Tuatara, an evolving Atom aggregator that mutates.Tuatara is a feed aggregator that integrates Claude to evolve and patch its own code when encountering parsing errors, embodying the concept of self-healing software. · 1,126 words
AoAH Day 23: Unpac unifies git branching with package management.Introducing unpac, a tool that unifies git and package management into a single workflow where all code dependencies live in one repository as trackable branches. · 2,271 words
Dear ACM, you're doing AI wrong but you can still get it right.Critiquing ACM's paywalled AI paper summaries and proposing better alternatives like open feeds, easier downloads, provenance tracking, and personalised agentic interfaces. · 2,046 words
AoAH Day 22: Assembling monorepos for agentic OCaml development.Materialising opam metadata into git submodules and monorepos, enabling cross-cutting fixes and unified odoc3 documentation across dozens of OCaml libraries. · 1,855 words
AoAH Day 21: Complete dynamic HTML5 validation in OCaml and the browser.Porting the W3C's Nu HTML Validator from Java to OCaml and running in the browser dynamically · 1,656 words
AoAH Day 20: Human language detection in native code, JS and wasm.Porting the Nu HTML Validator's language detection to OCaml, then optimizing from 115MB to 28MB and fixing WASM array limits for browser deployment. · 1,445 words
AoAH Day 19: Zulip bot framework to bring Vicuna the friendly camel back.Building an OCaml Zulip bot framework with functional handlers, and pivoting from TOML to INI codecs for Python configparser compatibility · 1,591 words
AoAH Day 18: TOML 1.1 codecs directly from the spec and paper.Building tomlt, a pure OCaml TOML 1.1 parser with bidirectional codecs following the jsont design patterns · 1,136 words
AoAH Day 17: OCaml JMAP to plaster my painful email papercuts.Building an OCaml JMAP client that runs in browsers and CLI, then using it to build personalised email workflows for taming notification overload. · 1,707 words
AoAH Day 16: Vibesplaining JSON Pointers using OCaml/Javascript.Building interactive OCaml tutorials that compile to JavaScript, using agents to generate executable documentation that teaches protocols like JSON Pointer while you code review. · 1,573 words
AoAH Day 15: Porting a complete HTML5 parser and browser test suite.Vibespiling JustHTML from Python to pure OCaml, achieving 100% pass rate on the browser html5lib test suite using agentic workflows. · 1,387 words
AoAH Day 14: Debugging a Karakeep CLI against the live service.Vibe coding an OCaml library for the Karakeep bookmarking service by giving an agent a live API key and letting it debug jsont codecs against the real service. · 813 words
AoAH Day 13: Heckling an OCaml HTTP client from 50 implementations in 10 languages.Agentically synthesising a batteries-included OCaml HTTP client by gathering recommendations from fifty open-source implementations across JavaScript, Python, Java, Rust, Swift, Haskell, Go, C++, PHP and shell. · 2,006 words
AoAH Day 12: Eio Connection pooling and event tracing.Building a TCP/TLS connection pooling library for Eio with DNS-based load balancing, stacked error handling, and self-contained HTML visualisations for stress test results. · 792 words
AoAH Day 11: HTTP Cookies and vibing RFCs for breakfast.Synthesizing three RFC-compliant libraries (punycode, public-suffix, and cookeio) directly from Internet RFC specifications, establishing a workflow for automating standards implementation with proper cross-referencing to spec sections. · 1,631 words
AoAH Day 10: Building a TUI for Sortal using Mosaic.Building a simpler single-process terminal UI for Sortal using Mosaic's effects-based direct-style API, with Eio integration and discovering multimodal image debugging for terminal layouts. · 653 words
AoAH Day 9: Adding a Bonsai terminal UI to Sortal.Experimenting with OxCaml's bonsai_term framework for Sortal's terminal UI, navigating Eio-Async interoperability challenges through JSON-RPC while discovering image-based debugging techniques for terminal applications. · 1,040 words
Publish, Review, Curate to upend scholarly publishing.Report from a COAR conference on transforming scholarly publishing through the Publish, Review, Curate model, discussing diamond open access, early career challenges, and expanding open infrastructure to datasets and code. · 1,562 words
AoAH Day 8: Building a contacts CLI manager with Sortal.Creating Sortal, a CLI contacts management application using Yaml storage, XDG directories, Git-based synchronization, and integrating all previously built libraries into a cohesive CLI tool. · 915 words
AoAH Day 7: Converting between JSON and Yaml with yamlt.Building yamlt to enable jsont codec definitions to work with both JSON and Yaml, providing data manipulation with location tracking and good error messages for both formats. · 706 words
AoAH Day 6: Getting a Yaml 1.2 implementation in pure OCaml.Implementing a pure OCaml Yaml 1.2 parser using bytesrw by synthesizing from the specification and existing C library behavior, passing thousands of test suite cases while being 20% faster than the C-based implementation. · 897 words
AoAH Day 5: Bytesrw Eio adapters and automating opam metadata.Building Bytesrw-Eio adapters for composable byte stream I/O while discovering Claude Skills as a powerful way to automate opam package metadata management through reusable workflow templates. · 941 words
AoAH Day 4: Going recursive with Claudeio for Claude.Creating OCaml bindings for the Claude API using Eio and jsont codecs by reverse-engineering the JSON-RPC protocol from Python and Go SDKs, enabling Claude to write more Claude-powered OCaml code. · 745 words
Foundational AI for Ecosystem Resilience workshop.Workshop report combining TESSERA geospatial foundation models with Concordia agent-based modeling to simulate ecosystem resilience, covering causal modeling for ecology and AI applications in nature conservation. · 1,500 words
AoAH Day 3: XDG filesystem paths using Eio capabilities.Building an XDG Base Directory Specification library with Eio capabilities and Cmdliner integration, providing sandboxed filesystem access patterns with full environment variable and CLI override support. · 1,030 words
AoAH Day 2: Building an OCaml JSONFeed library.Implementing a JSONFeed specification library using jsont codecs, discovering how Claude can automate the construction of complex combinators from prose specifications with excellent error messages. · 991 words
The AI French Connection to the Practice of Science.Reflections on the Franco-British AI collaboration workshops exploring how AI is transforming scientific practice, plus follow-up funding for the Conservation Copilot project. · 710 words
AoAH Day 1: Building a Base32 Crockford library in OCaml.Building a Base32 Crockford encoding library in OCaml using Claude Code, establishing the development workflow with sandboxed Docker containers and local development environments. · 572 words
November 2025
Four Ps for Building Massive Collective Knowledge Systems.Design principles for collective knowledge systems—permanence, provenance, permission, and placement—that enable robust networks for evidence-based decision making. · 4,169 words
GeoTessera 0.7 out with efficient sampling and Zarr support.GeoTessera 0.7 switches to GeoParquet manifests for faster initialisation, adds Zarr tensor storage support, and provides new sampling APIs for building downstream tasks like solar panel detection. · 1,228 words
On the path to the UK/India AI Summit with OpenUK and the ATI.Reflections on UK-India AI collaboration from meetings at the Alan Turing Institute and OpenUK, discussing ethical AI deployment, open source infrastructure, and the challenges of building community in the age of AI-assisted coding. · 1,433 words
Food and the long term risk to life.A Cambridge article explores our research on how food consumption affects the extinction risk of 30,875 land-dwelling animal species, with an interactive tool to examine biodiversity impacts across different countries and diets. · 127 words
Jensen Huang receives the Hawking Fellowship at Cambridge.Reflections on meeting Jensen Huang as he received the 2025 Hawking Fellowship, discussing his views on education, assessment, risk-taking culture at Nvidia, and the future of AI in scientific discovery and biological research. · 1,280 words
October 2025
A Roundup of ICFP/SPLASH 2025 happenings.Five-part series overview covering workshops, tutorials, talks and keynotes from ICFP/SPLASH 2025 in Singapore. · 239 words
What I learnt at ICFP/SPLASH 2025 about OCaml, Hazel and FP.Highlights from ICFP/SPLASH 2025 including Hazel live programming, OCaml AI tooling, formally verified GC, and cross-community discussions between Haskell and OCaml. · 2,017 words
It's time to go post-POSIX at ICFP/SPLASH 2025.VMIL keynote arguing for post-POSIX shared memory interfaces like io_uring in language runtimes for high-performance concurrent computing. · 852 words
Jane Street and Docker on moving to OCaml 5 at ICFP/SPLASH 2025.Jane Street's production deployment of OCaml 5 and Docker's migration to direct-style programming with Eio presented at ICFP. · 1,839 words
Holding an OxCaml tutorial at ICFP/SPLASH 2025.Tutorial at ICFP 2025 on OxCaml extensions for performance engineering with modes and locals. · 1,485 words
Programming for the Planet at ICFP/SPLASH 2025.Report on second Programming for the Planet workshop featuring papers on climate modeling, geospatial computation and planetary-scale collaborative systems. · 3,154 words
September 2025
Do not rule out nature from climate action; an open letter.Open letter to UN Article 6.4 supervisory body advocating for nature-based climate solutions alongside durable carbon sequestration technologies. · 419 words
Exploring the biodiversity impacts of what we choose to eat.Nature Food paper revealing food choice biodiversity impacts vary by three orders of magnitude with interactive global explorer tool. · 519 words
August 2025
GeoTessera Python library released for geospatial embeddings.Release of GeoTessera Python library and CLI for accessing TESSERA geospatial foundation model embeddings with interactive visualization tools. · 1,044 words
Presenting our Ecology of the Internet ideas at Aarhus 2025.Presentation at Aarhus 2025 on Internet ecology, proposing AI-driven software diversity to fight protocol ossification and create more resilient networks. · 1,483 words
mlgpx is the first Tangled-hosted package available on opam.The Tangled git forge has recently gained support for CI, stacked pull requests and also the Dune build system can generate Tangled metadata easily now for OCaml packages hosted there. · 391 words
Tracking locations with OwnTracks, Life Cycle and Home Assistant.Setting up self-hosted location tracking using OwnTracks and reverse engineering Life Cycle app data with Claude Code for field work in Botswana. · 1,588 words
July 2025
Cresting the OCaml AI humps.Community efforts to improve agentic coding experience for OCaml including MCP libraries, opam embeddings, and tooling improvements. · 258 words
Using Kyutai's low latency audio models on macOS in one command.Quick setup guide for running Kyutai's high-quality speech-to-text model locally on Mac using their MLX implementation. · 135 words
Royal Society's Future of Scientific Publishing meeting.Live notes from Royal Society conference on scientific publishing challenges including peer review crisis, AI poisoning threats and open access economics. · 3,906 words
Is AI poisoning the scientific literature? Our comment in Nature.Nature comment on AI-generated paper threats to evidence synthesis proposing federated living evidence databases with human-in-loop review. · 546 words
June 2025
EEG internships for the summer of 2025.Coordination note for summer 2025 undergraduate and graduate internships covering projects from evidence databases to remote sensing and embedded systems. · 1,359 words
BIOMASS launches to measure forest carbon flux from space.ESA's BIOMASS satellite successfully launches, featuring first global P-band SAR instrument capable of penetrating forest canopy to measure tree health and carbon flux. · 305 words
Steps towards an ecology of the Internet.Paper exploring biological ecosystem models as inspiration for Internet architecture evolution towards trillion-node scale at Aarhus 2025. · 623 words
Under the hood with Apple's new Containerization framework.Technical deep dive into Apple's new macOS Tahoe containerization framework using Kata Containers and Swift-based implementation. · 1,934 words
Visiting National Geographic HQ and the Urban Exploration Project.Visit to National Geographic HQ for workshop on global urban wildlife tracking initiative and human-wildlife coexistence research. · 1,155 words
What I learnt at the National Academy of Sciences US-UK Forum on Biodiversity.Report from NAS/Royal Society forum on standardized biodiversity measurement technologies covering foundation models, eDNA and evidence synthesis. · 2,343 words
May 2025
We become Junior Rangers at Shenandoah.Earning Junior Ranger badges at Shenandoah National Park and recording Conservation Concepts video series episode. · 386 words
New preprint survey on energy-aware deep learning on embedded hardware.Survey paper on energy-aware approaches for optimizing deep learning training and inference on embedded devices. · 175 words
Out-of-the-box LLMs are not ready for conservation decision making.PLOS One publication showing pretrained LLMs perform poorly on conservation questions but improve dramatically with Conservation Evidence database training. · 377 words
Learnings from the Cambridge Environmental Sustainability Committee.Insights from Cambridge University's Environmental Sustainability Strategy Committee on carbon reduction, biodiversity, and operational sustainability progress. · 842 words
Humans are the ones that will save nature, helped by AI.Discussion of responsible AI adoption in conservation, emphasizing human agency and equity over technological solutions. · 537 words
The Cambridge "Green Blue" competition to reduce emissions.Thinking about a Cambridge "Green Blue" competition to reduce emissions among Colleges, promoting cooperation through a semi-competitive league · 4,038 words
Using Komodo to manage Docker compose on a small cluster.Guide to deploying Komodo container management tool with Wireguard mesh networking for coordinating Docker services across multiple hosts. · 629 words
April 2025
Technology needs to unite conservation, not divide it.Response to critique of AI in conservation emphasizing participatory design, open source tools and equitable capacity building in Global South. · 1,481 words
Viewing web logs the old fashioned way with Goaccess.Guide to using Goaccess privacy-preserving server-side log analyzer with Caddy JSON logs for web analytics. · 426 words
Talks from LOCO24 are now available online.LOCO24 conference talks now available on self-hosted video platforms with peer-to-peer redundancy. · 197 words
Webassembly on exotic architectures (a 2025 roundup).Survey of WebAssembly implementations on non-traditional targets including native Linux port, kernel-mode runtime, POSIX browser support and FPGA ports. · 1,130 words
ESA's first BioSpace conference seems a huge success.Report on ESA's first Biodiversity Insights from Space conference featuring presentations on urban tree management and remote sensing biodiversity metrics. · 793 words
Unikernels wins the ASPLOS most influential paper award.2013 MirageOS unikernels paper wins ASPLOS influential paper award with reflections on the journey from rejection to recognition. · 1,524 words
Semi distributed filesystems with ZFS and Sanoid.Exploring ZFS and Sanoid for distributed filesystem management with automated snapshots and replication to replace centralized NFS storage. · 1,676 words
2nd Programming for the Planet workshop CFP out.Call for papers for PROPL 2025 workshop on programming methods for climate and biodiversity research at ICFP/SPLASH Singapore. · 565 words
March 2025
New preprint on benchmarking ultra-low power neural accelerators.Preprint analyzing dedicated ultra-low-power neural network accelerators in modern embedded chipsets for edge computing applications. · 162 words
LIFE becomes an Official Statistic of the UK government.LIFE biodiversity metric becomes UK government Official Statistic to track consumption's environmental impact. · 629 words
A fully AI-generated paper just passed peer review; notes from our evidence synthesis workshop."AI-generated paper passes peer review, sparking discussion on evidence synthesis and AI's role in policymaking." · 1,565 words
Socially self-hosting source code with Tangled on Bluesky.Self-host source code with Tangled on Bluesky for decentralized Git repositories. · 1,104 words
Our EEG group discussion on 'useful' AI tools.EEG group discusses useful AI tools and emerging techniques in productivity and research. · 712 words
Are you still using OCaml 4.08 or earlier? If so, we need to know.OCaml users: share your needs regarding older versions to help determine support for OCaml 4.08 and earlier. · 313 words
Oh my Claude, we need agentic copilot sandboxing right now.Claude Code auto-generates OCaml bindings, but lacks robust sandboxing. · 2,125 words
February 2025
The AIETF arrives, and not a moment too soon.IETF's new AI Preferences Working Group aims to standardize protocols for expressing preferences on AI content collection and processing. · 1,661 words
A trio of papers I read on biodiversity and forests this week.Exploring biodiversity and forests through 3 papers on AI, 3D reconstruction, and a tree-measuring mobile app. · 793 words
Thoughts on the National Data Library and private research data.Exploring the National Data Library and its potential to improve access to private research data while balancing security and privacy concerns. · 2,532 words
About.Professor Anil Madhavapeddy's research combines computer science and conservation at the University of Cambridge · 455 words
Updated preprint on quantifying biodiversity cost of food consumption.Revised preprint on quantifying biodiversity cost of global food consumption using LIFE metric combined with supply chain data and provenance modeling. · 196 words
Disentangling carbon credits and offsets with contributions.Clarifying carbon credits, offsets, and contributions to understand effective climate action strategies · 3,552 words
Using AT Proto for more than just Bluesky posts.Explore alternative uses for AT Proto beyond Bluesky posts, enabling self-sovereign digital infrastructure and innovative apps. · 684 words
Entering the Matrix with Hookshot.Hookshot integrates Matrix with external services like GitHub and Atom feeds for enhanced group communications. · 513 words
Programming FPGAs using OCaml.Learn FPGA programming with OCaml using HardCaml. · 1,214 words
Fake papers abound in the literature.AI-generated papers are contaminating scientific literature at a rapid pace · 411 words
Satellites are getting too good for forest carbon?Satellites are getting too accurate for forest carbon estimation due to high resolution. · 515 words
Deepdive into Deepseek advances.Explore DeepSeek's advances in AI technology, including Multi-headed Latent Attention and Mixture of Experts. · 266 words
January 2025
How to publish custom Homebrew taps for OCaml.Publish custom OCaml Homebrew taps with a simple GitHub workflow. · 658 words
Position paper on scientifically credible carbon credits.Experts outline steps to restore scientific credibility in the voluntary carbon market. · 186 words
Arise Bushel, my sixth generation oxidised website.Learn about my sixth generation oxidised website built with a bleeding-edge OCaml variant. · 848 words
Updated preprint on LLMs for evidence-based decision support.Updated preprint with additional evaluation results on using LLMs for expert-level evidence synthesis queries in conservation. · 121 words
LIFE metric published in Royal Society Phil Trans B.Publication of LIFE biodiversity metric quantifying relative impacts of human actions on species extinctions through spatially explicit habitat loss analysis. · 409 words
Teaching at Cambridge.Teaching computer science courses at Cambridge University since 2012. · 173 words
Foundations of Computer Science.Resources for teaching Foundations of Computer Science with OCaml and Jupyter notebooks. · 186 words
December 2024
Horizon scan on AI and conservation published.Horizon scan published in Trends in Ecology and Evolution on prioritizing AI projects to accelerate conservation efforts while minimizing harm. · 187 words
Towards verifiable, privacy-preserving carbon emissions claims.Paper on mechanisms for verifiable and privacy-preserving carbon emissions reporting across cloud service supply chains at LOCO workshop. · 145 words
Towards a frugal userspace for Linux.LOCO paper presenting Shark shell for deterministic, reusable Linux computation using kernel namespaces to reduce computational costs. · 170 words
Prototyping carbon-aware domain name resolution.Extending DNS with carbon-aware load balancing and OCaml-based DNS server for sustainable Internet infrastructure presented at LOCO. · 125 words
Cooperative Sensor Networks for Long-Term Biodiversity Monitoring.LOCO 2024 presentation on Terracorder project combining machine learning and ESP32 for cooperative biodiversity monitoring networks. · 43 words
November 2024
Royal Society and DeepMind host AI for Science Forum.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. · 6,212 words
Published a legal perspective on high integrity forest carbon credits.Paper exploring legal framework for forest carbon credits that separates carbon tenure from carbon rights, published in Climate and Carbon Law Review. · 94 words
Presented poster at Sensys on low-power biodiversity monitoring.Poster presentation at ACM Sensys 2024 on biodiversity sensing work with Terracorder platform. · 140 words
Preprint on using LLMs to for evidence-based decision support.Preprint on using LLMs for conservation evidence based on large-scale academic literature crawling. · 120 words
Paper on scheduling for reduced tail task latencies.SOCC 2024 presentation on Murmuration scheduler achieving 15-25% faster Kubernetes job completion times in busy datacenters. · 151 words
October 2024
Mapping greener futures with planetary computing.Lecture to UCL Institute for Global Prosperity Masters students on planetary computing, covering LIFE and FOOD papers. · 40 words
On the SOCC 2024 PC.Serving on the ACM SOCC 2024 program committee revealed a shift towards machine learning research. · 73 words
Royal Society meeting on ecological/commercial risks.The discussion centered around the relationship between ecological and commercial risk, highlighting the need for a more comprehensive understanding of natural capital and its role in the economy. The equation presented by Sir Partha Dasgupta summarizes the two days of discussion, emphasizing the importance of balancing human demand with nature's regeneration rates. The talks touched on various topics, including greenwashing risks, standardization of biodiversity metrics, and the need for verification of nature-positive claims. The conversation also stressed the importance of shifting accounting away from GDP and towards calculations of stock and inequalities, incorporating natural capital into the notion of wealth. Overall, the event aimed to raise awareness about the interconnectedness of ecological and commercial risk and the need for a more sustainable approach to economic development. · 6,736 words
September 2024
Being on the HotNets 2024 program committee.Serving on HotNets 2024 program committee was a great experience with a novel structure. · 525 words
Mitigating credit reversal risks in nature-based solutions.Mitigating credit reversal risks in nature-based solutions with predictive release schedules. · 355 words
Towards security specifications for agentic AIs.ACM HOPE talk on using F* specifications to protect systems against over-eager or rogue AI agents. · 183 words
New teaching page with my Computer Science courses.Explore my new teaching page featuring Computer Science courses and materials. · 43 words
Building species models of the planet.Researchers receive £1.2m grant to build species models for planetary intelligence. · 339 words
August 2024
Paper published on ex-ante forecasts of nature-based solutions.Journal of Carbon Management publication on ex-ante projection methodologies for evaluating nature-based carbon solutions. · 99 words
PACT Tropical Moist Forest Accreditation Methodology.Release of Tropical Moist Forest v2.1 specification with new explainer and clarifications for buffer zones and base tiles. · 108 words
Nature Sustainability commentary on carbon and biodiversity credits.Experts discuss reforming carbon and biodiversity credits markets for effective forest conservation and climate benefit. · 509 words
Preprint on Terracorder sensing now available.Preprint on ultra-low-power ESP32-based biodiversity sensor using Q-learning to optimize cooperative network operations. · 126 words
Nature Sustainability article on carbon/biodiversity credits.Nature Sustainability commentary on nature-based carbon and biodiversity credit markets. · 111 words
July 2024
New set of ideas for incoming students.Explore new project ideas for CST Part II, MPhil, and PhD students starting in 2024-2025. · 54 words
COMPASS 2024 report on the CoRE stack RIC meeting.Report from COMPASS 2024 on the CoRE stack RIC meeting on climate adaptation for rural communities using digital public infrastructure and commoning technologies · 4,361 words
Second preprint of the LIFE biodiversity metric available.Updated LIFE biodiversity metric preprint based on reviewer feedback, accepted for publication in Royal Society special issue. · 122 words
June 2024
Speaking at CCI workshop on conservation evidence.Talk at CCI Effectiveness Revolution workshop on conservation copilots and embedding evidence into conservation decision-making. · 74 words
Interview with AI@CAM about conservation.Discussing conservation with AI@CAM and using AI to transform biodiversity conservation efforts. · 173 words
Hyperspectrally identifying trees in tropical forests.Preprint on using hyperspectral sensors and CNN tree-crown segmentation for tropical tree species identification. · 55 words
May 2024
Programming for the Planet.Planetary computing keynote at LambdaDays conference featuring interview video on biodiversity and satellite sensing work. · 58 words
Quantifying the impact of the food we eat on species extinctions.Preprint on quantifying biodiversity cost of global food consumption submitted for peer review. · 112 words
Predicting species using machine learning at CCAI.MPhil research on using CNNs with satellite data for species distribution modeling presented at ICLR CCAI workshop in Vienna. · 115 words
April 2024
Teaching 1A Security and Software Engineering.Lecturers step in to teach Software and Security Engineering course after Ross Anderson's passing. · 107 words
Global, robust and comparable digital carbon assets.Paper on PACT stablecoin implementation using blockchain smart contracts for transparent and scalable carbon credit transactions at ICBC 2024. · 107 words
Rolling out a new site design.New site design launched after 20 year redesign featuring Bushel content manager preview. · 83 words
March 2024
Preprint available on insuring against variability of NbS.Preprint on ex-ante pricing models for mitigating credit reversal risk in nature-based climate solutions through optimal carbon release anticipation. · 100 words
Green Urban Equity: Analyzing the 3-30-300 Rule in UK Cities and Its Socioeconomic Implications.Abstract on analyzing urban green space access and equity across UK cities using remote sensing and machine learning at EGU 2024. · 103 words
A Case for Planetary Computing.Revised preprint on planetary-scale infrastructure for ingesting and analyzing global environmental data with traceability and reproducibility. · 96 words
February 2024
Selected in the AI@CAM challenge for conservation research.Won the AI@CAM challenge towards climate and nature conservation research using remote sensing and LLMs · 230 words
Uncertainty at scale: how CS hinders climate research.Paper examining how computer science approaches to uncertainty impact climate research practices at Undone CS workshop. · 100 words
December 2023
Joined the Royal Society fellowships committee.I joined the Royal Society's Newton International Fellowships committee to help select international researchers for UK-based projects. · 78 words
PACT Tropical Moist Forest Accreditation Methodology.Release of Tropical Moist Forest v2.0 specification with significant methodology updates. · 98 words
November 2023
BBC report on the new Cambridge supercomputer ("Dawn") announced at the 2023 AI Summit.BBC interview about the Dawn supercomputer announced at 2023 AI Summit. · 100 words
Where on Earth is the Spatial Name System?Paper on spatial name system architecture extending DNS with geographic routing capabilities at HotNets 2023. · 99 words
Nature Climate Change paper on impermanent carbon credits.Publication of research on valuing impermanent carbon credits in Nature Climate Change with extensive press coverage. · 99 words
First preprint of LIFE biodiversity metric available.First preprint on new LIFE metric for global biodiversity now available for review. · 118 words
October 2023
Cambridge Zero highlights University efforts at Climate Week NYC.Cambridge University highlights climate efforts at NYC Climate Week. · 166 words
Information Flow Tracking for Heterogeneous Compartmentalized Software.RAID 2023 paper on Deluminator interface for decentralized information flow control in compartmentalized software. · 96 words
Enabling Lightweight Privilege Separation in Applications with MicroGuards.Paper on MicroGuards memory API for lightweight privilege separation presented at ACNSW. · 63 words
September 2023
Functional Programming for the Planet.Keynote presentation at ICFP 2023 on functional programming for the planet. · 68 words
State of the OCaml Platform 2023.Annual OCaml Workshop presentation reviewing a decade of progress from opam 1.0 to modern toolchain including Dune and LSP server. · 101 words
Eio 1.0 – Effects-based IO for OCaml 5.OCaml Workshop 2023 update on the Eio effects-based IO library for OCaml 5. · 100 words
July 2023
Preprint on the social value of impermanent carbon credits.Preprint using Social Cost of Carbon to create a discount function for valuing impermanent carbon credits. · 119 words
June 2023
OCaml wins the ACM Programming Language Software award.OCaml wins 2023 ACM Programming Languages Software Award for its impact on research and tools. · 236 words
PACT Tropical Moist Forest Accreditation Methodology.Publication of Tropical Moist Forest v1.0 specification using counterfactual dynamic baselines for calculating REDD+ project additionality, leakage and permanence. · 124 words
May 2023
Credit credibility threatens forests.Perspective in Science magazine on the credibility of carbon credits and their importance for tropical forest protection. · 197 words
March 2023
Leveraging Scientific Innovation and AI to Scale Carbon Markets.Discussion with Mantle Labs exploring applications of AI to carbon credits markets. · 69 words
A Case for Planetary Computing.Preprint presenting the case for planetary-scale computing infrastructure and applications. · 101 words
January 2023
OCaml.org: recapping 2022 and queries on the Fediverse.Recapping OCaml's 2022 progress and exploring Fediverse integration. · 53 words
November 2022
Financing Forests: A Credible Approach towards Halting Tropical Deforestation.Wednesday seminar presentation on using carbon credits to finance tropical forest conservation. · 63 words
17th William Pitt Seminar - Who's in Charge?Opening talk at Pembroke College's climate change seminar on global biodiversity status and individual agency for conservation action. · 40 words
October 2022
The 2nd ed of Real World OCaml is available in shops.Second edition of Real World OCaml now available from Cambridge University Press, with free online and PDF versions. · 105 words
September 2022
Homogeneous Builds with OBuilder and OCaml.Paper on OCurrent incremental computation DSL presented at OCaml Workshop 2022. · 64 words
May 2022
Trusted Carbon Credits.Interview in Vox magazine expressing skepticism about Adam Neumann's carbon credit startup, emphasizing supply shortage over trading efficiency. · 76 words
April 2022
OCaml Multicore Monthly: heading towards OCaml 5.0.OCaml 5.0 approaches with BSD support and ARM64 multicore. · 21 words
February 2022
OCaml Multicore Monthly: post merge activites.OCaml 5.0 merge complete, focusing on release preparation. · 35 words
January 2022
Enhancing the Security & Privacy of Wearable Brain-Computer Interfaces.Preprint introducing Argus information flow control system addressing security vulnerabilities in wearable BCI devices. · 80 words
December 2021
OCaml Multicore Monthly: code review complete with Inria.OCaml multicore support code review completed with Inria developers. · 31 words
November 2021
Launching the Cambridge Centre for Carbon Credits.Introducing the Cambridge Centre for Carbon Credits to combat climate change and biodiversity loss. · 167 words
What is an Operating System?Learn what an operating system is and its evolving role. · 136 words
October 2021
OCaml Multicore Monthly: effect handling confirmed for 5.0.OCaml 5.0 to include effect handling and multicore support. · 34 words
September 2021
Forest preservation and restoration.Forest preservation and restoration efforts and resources compiled for reference. · 216 words
Decentralised tech on Recoil.Recoil's decentralized tech stack includes email, web, and chat services. · 458 words
August 2021
Roadmap for OCaml's online presence.Overhauling OCaml's online presence with a modern new website. · 31 words
How Computer Science Can Aid Forest Restoration.Preprint exploring how computer science techniques could contribute to forest preservation and restoration efforts. · 74 words
Experiences with Effects.Paper on programming with effects in OCaml presented at OCaml Workshop. · 63 words
June 2021
Retrofitting effect handlers onto OCaml.Paper on retrofitting effect handlers into OCaml runtime presented at PLDI 2021. · 69 words
November 2020
Banyan: Coordination-Free Distributed Transactions over Mergeable Types.Paper on coordination-free distributed transactions using mergeable replicated data types at ASPLAS 2020. · 66 words
September 2020
The OCaml Platform: 2020.Annual OCaml Workshop update on the OCaml Platform development toolchain. · 56 words
August 2020
State of the OCaml Platform 2020.Talk on next steps for the OCaml Platform development tools, delivered online during the pandemic. · 62 words
OCaml Multicore Monthly: systhreads compatibility merged.OCaml Multicore now supports systhreads compatibility for seamless integration. · 96 words
Retrofitting parallelism onto OCaml.Best paper award at ICFP 2020 for multicore garbage collector design maintaining backwards compatibility for sequential OCaml code. · 83 words
Parallelising your OCaml Code with Multicore OCaml.OCaml Workshop paper on techniques for parallelizing OCaml code using multicore features. · 61 words
OCaml-CI: A Zero-Configuration CI.Presentation of new OCaml DSL for continuous integration at the OCaml Workshop. · 80 words
April 2020
OCaml Multicore Monthly: preprint paper available.Preprint of OCaml 5 multicore runtime paper available now · 39 words
February 2020
The First Billion Real Deployments of Unikernels.Discussion of unikernel deployments at scale reaching billions of users. · 62 words
Rebuilding Operating Systems with Functional Principles.Distinguished lecture series at University of St Andrews on functional programming principles applied to operating systems design. · 69 words
Programming the Next Trillion Embedded Devices.Talk on programming approaches for the coming wave of embedded devices. · 90 words
January 2020
OCaml Multicore Monthly: starting upstream to OCaml.Upstreaming multicore OCaml to mainline OCaml has begun, with opportunities for community contribution through testing and feedback. · 94 words
August 2019
OpenBSD cloud hosting options.Explore OpenBSD cloud hosting options for bare-metal and dedicated servers. · 92 words
The OCaml Platform in 2019.Annual update on OCaml Platform development and ecosystem progress. · 55 words
MirageOS 4: the dawn of practical build systems for exotic targets.Paper on the MirageOS 4 build system presented at OCaml Workshop. · 68 words
May 2019
Programming Unikernels in the Large via Functor Driven Development.Preprint on programming unikernels using ML modules and functors. · 68 words
March 2019
Snape: The Dark Art of Handling Heterogeneous Enclaves.EdgeSys 2019 paper on framework for rearchitecting applications to better support trusted execution environments. · 69 words
November 2018
New opam repository layout for large libraries.Introducing a new opam repository layout for managing large libraries and packages. · 42 words
October 2018
A modular foreign function interface.Journal paper on building modular foreign function interfaces. · 69 words
June 2018
Bounding data races in space and time.Paper on the OCaml memory model and underlying theory presented at PLDI 2018. · 73 words
April 2018
Concurrent System Programming with Effect Handlers.Paper on concurrent systems programming using effect handlers presented at TFP 2017. · 80 words
An architecture for interspatial communication.Paper on interspatial networking architecture presented at HotPOST 2018. · 71 words
March 2018
Founded Tarides and looking to hire OCaml hackers.Tarides, a Paris-based startup, seeks OCaml hackers to build secure network services with MirageOS and Irmin. · 108 words
September 2017
State of the OCaml Platform.Talk presenting the current state of the OCaml Platform toolchain and development ecosystem. · 95 words
The State of the OCaml Platform: Sep 2017.Annual update on OCaml Platform development presented at ICFP. · 54 words
Effectively tackling the awkward squad.Paper on tackling awkward IO patterns using effect handlers. · 83 words
May 2017
Opening discuss.ocaml.org for the community.Introducing discuss.ocaml.org, a new community forum for OCaml discussion and feedback. · 28 words
DaLi: Database as a Library.Position paper on building databases-as-a-library presented at SNAPL 2017. · 81 words
October 2016
Unikernels: the rise of the library hypervisor in MirageOS.DockerCon talk on integrating MirageOS unikernels with Docker using library hypervisor approach for Docker Desktop. · 65 words
June 2016
MirageOS Summer 2016 hack retreat.MirageOS holds summer 2016 hack retreat to advance its unikernel technology.
The functional innards of Docker for Mac and Windows.Talk at Functional Works meetup discussing how Docker for Mac and Windows use OCaml and unikernels internally. · 28 words
Ian Eyberg, Joshua Bernstein, Anil Madhavapeddy at OSCON in Austin.Interview with The New Stack about unikernels and Docker at OSCON in Austin, Texas. · 60 words
FLICK: Developing and Running Application-Specific Network Services.Paper on framework for developing and deploying application-specific network services at USENIX ATC 2016. · 80 words
May 2016
Improving Docker with Unikernels.Introducing HyperKit, VPNKit, and DataKit to enhance Docker performance. · 37 words
February 2016
Declarative Foreign Function Binding Through Generic Programming.Paper on flexible declarative approaches to foreign function interfaces through generic programming at FLOPS 2016. · 78 words
January 2016
Unikernel Systems is now part of Docker.Announcement that Unikernel Systems has been acquired by Docker. · 65 words
Unikernel Systems acquired by Docker.Docker acquires Unikernel Systems to bring unikernel tech to developers and IT pros. · 111 words
October 2015
SibylFS: formal specification and oracle-based testing for POSIX and real-world file systems.Paper on formal specification and testing of filesystems presented at SOSP 2015. · 78 words
Personal Data: Thinking Inside the Box.Paper on personal databoxes presented at the decennial Aarhus conference. · 73 words
September 2015
Immutable Distributed Infrastructure with Unikernels.Invited talk at NetPL on immutable distributed infrastructure using unikernels. · 60 words
The State of the OCaml Platform.Update on the state of the OCaml Platform development environment and toolchain. · 96 words
August 2015
Not-Quite-So-Broken TLS.Paper on rebuilding TLS securely but practically presented at USENIX Security 2015. · 91 words
May 2015
Unikernels: Functional Infrastructure with Mirage OS.Talk at Esper on functional programming with unikernels using MirageOS. · 56 words
Jitsu: Just-In-Time Summoning of Unikernels.NSDI 2015 talk on Jitsu system for on-demand unikernel instantiation. · 71 words
Kadupul: Livin' on the Edge with Virtual Currencies and Time-Locked Puzzles.Workshop paper on using virtual currencies and time-locked puzzles to incentivize heterogeneous multihop mesh networking. · 77 words
Jitsu: Just-In-Time Summoning of Unikernels.Paper on low-latency unikernel spawning per-connection presented at NSDI 2015. · 85 words
April 2015
Reviewing the second year of OCaml Labs in 2014.Reviewing OCaml Labs' progress in 2014, covering tooling, compiler, community efforts, and research projects. · 7,114 words
February 2015
ICFP 2015 - a call for sponsorship and how you can help.ICFP 2015 seeks sponsors to support students and growth of the functional programming community. · 805 words
January 2015
Delivered keynote at BOB 2015 on MirageOS.Opening keynote at BOB 2015 conference in Berlin on functional operating systems and MirageOS unikernels. · 93 words
Raft Refloated: Do We Have Consensus?Paper reproducing Raft consensus protocol with optimizations and empirical validation using clean-slate OCaml implementation. · 69 words
Mergeable persistent data structures.Paper on mergeable data structures using Irmin presented at JFLA 2015. · 54 words
CUFP'13 scribe's report.Scribe's report from CUFP 2013 workshop on commercial uses of functional programming published in JFP. · 81 words
December 2014
Codemesh 2014: Nymote: Git Your Own Cloud Here.Talk on Nymote presented at Codemesh 2014. · 65 words
November 2014
Jitsu: Just-in-Time Summoning of Unikernels (new directions in operating systems).Talk on Jitsu at New Directions in Operating Systems conference. · 103 words
Regional clouds: technical considerations.Report examining technical considerations for regional cloud computing and legal compliance. · 63 words
October 2014
MirageOS 2.0: branch consistency for Xen Stub Domains.Xen Summit talk on implementing branch consistency for MirageOS 2.0 Xen Stub Domains. · 60 words
September 2014
OCaml 2014: The OCaml Platform v1.0.Talk on the OCaml Platform reaching v1.0. · 91 words
Haskell Symposium 2014 Keynote on functional OS design.Keynote presentation at Haskell Symposium 2014 on functional operating system design. · 64 words
The OCaml Platform v1.0.Paper on OCaml Platform version 1.0 status and features. · 58 words
Multicore OCaml.First paper on multicore OCaml's design presented at the OCaml Workshop. · 64 words
Irminsule: a branch-consistent distributed library database.Paper on Irmin branch-consistent distributed database library supporting Git-like operations at OCaml Workshop 2014. · 57 words
August 2014
Talks from OCaml Labs during ICFP 2014.OCaml Labs talks at ICFP 2014, covering language improvements & MirageOS · 1,720 words
July 2014
FLOSS Weekly 302: Open Mirage.Interview with Randal Schwartz and Simon Phipps about MirageOS on FLOSS Weekly podcast episode 302. · 64 words
MirageOS v2.0: a recap of new features.MirageOS v2.0 adds ARM support, Irmin storage and OCaml TLS stack. · 37 words
MirageOS v1.2 released and the runup to 2.0.MirageOS v1.2 released, paving way for MirageOS 2.0 with new features. · 33 words
May 2014
SE Radio Episode 204: Anil Madhavapeddy on the Mirage Cloud Operating System and the OCaml Language.Software Engineering Radio podcast episode discussing Mirage cloud operating system and OCaml language. · 63 words
March 2014
Codio: build Mirage unikernels from a browser.Build Mirage unikernels from a browser with Codio's OPAM support and interactive Ubuntu shell. · 249 words
Easily OPAM switching to any OCaml feature request.Switch between OCaml compilers easily with OPAM and GitHub pull requests. · 494 words
ICFP 2014 - a call for sponsorship and how you can help.Support functional programming community growth by sponsoring ICFP 2014, starting at $500. · 684 words
Using Dust Clouds to Enhance Anonymous Communication.Paper on building dust clouds for anonymous communication systems. · 78 words
January 2014
Unikernels, and the Rise of the Virtual Library Operating System.Unikernels and virtual library operating systems are on the rise, changing the face of cloud computing. · 648 words
December 2013
Reviewing the first year of OCaml Labs in 2013.Reviewing OCaml Labs' first year, including progress on OPAM, the compiler, and community efforts. · 5,984 words
November 2013
Using Docker to bulk-build OPAM packages on Linux.Build OPAM packages in bulk on Linux using Docker containers. · 748 words
MirageOS and XAPI project update at XenSummit.Update presentation on MirageOS and XAPI project development at XenSummit. · 56 words
Notes from PL and OS 2013 workshop.Notes from the 2013 Programming Languages and Operating Systems workshop at SOSP. · 21 words
Unikernels: Rise of the Virtual Library Operating System.Article on unikernels published in Communications of the ACM. · 69 words
Trevi: watering down storage hotspots with cool fountain codes.Paper on fountain coding for datacenter networking presented at HotNets 2013. · 77 words
First edition of Real World OCaml published.Release announcement for first edition of Real World OCaml book published by O'Reilly with upcoming signing events. · 81 words
Commercial users of functional programming workshop report.Published the scribe's report for CUFP 2012. · 69 words
October 2013
Notes on the first Human Data Interaction workshop.Notes on the first Human Data Interaction workshop discussing social networks and decentralization. · 26 words
September 2013
OCaml 2013 workshop liveblog.Live notes from the OCaml 2013 workshop covering key events and discussions. · 39 words
Liveblogging CUFP 2013.Live notes from Commercial Uses of Functional Programming 2013 workshop · 26 words
OPAM 1.1 beta available, with pretty colours.OPAM 1.1 beta is available with improved stability and new features. · 253 words
The OCaml Platform v0.1.Paper presenting first version of OCaml Platform development tools and infrastructure at OCaml Workshop 2013. · 67 words
Ocamlot: Online OCaml Testing.Presentation of online testing system for the OCaml ecosystem at OCaml Users and Developers Workshop. · 64 words
August 2013
Lost in the Edge: Finding Your Way with DNSSEC Signposts.Paper on DNSSEC-based Signposts system for improved peer-to-peer communications and NAT traversal at USENIX FOCI. · 78 words
July 2013
Mirage Developer Preview 1 screencast.Screencast demonstration of Mirage Developer Preview 1 release. · 59 words
April 2013
Grepping the source of every OCaml package in OPAM.Run grep on every OCaml package in OPAM using a simple script. · 168 words
March 2013
Unikernels: library operating systems for the cloud.First paper on unikernels published at ASPLOS 2013. · 83 words
February 2013
Perceived risks of personal data sharing.Paper on dataware computing in the digital economy. · 66 words
December 2012
Evolving TCP: how hard can it be?Paper on extending TCP in a backwards compatible way presented at CoNeXT 2012. · 77 words
October 2012
Announcing OCaml Labs.Introducing OCaml Labs, a new project at Cambridge Computer Lab to develop and improve the OCaml programming language. · 737 words
Breaking up is easy (with OPAM).Build isolated services with ease using MirageOS and OPAM on Xen hypervisors. · 48 words
September 2012
OUD 2012: Towards an OCaml Platform and Introducing OCaml Labs.Recording of OCaml Labs announcement and OCaml Platform vision at OCaml Users and Developers workshop. · 68 words
Building a Xenstore stub domain with MirageOS.Learn how to build a Xenstore stub domain using MirageOS for improved security and performance.
Signposts: end-to-end networking in a world of middleboxes.Demo of Signposts DNSSEC system for end-to-end networking presented at SIGCOMM. · 75 words
Programming the Xen cloud using OCaml.Paper on programming Xen cloud infrastructure using OCaml at the OCaml Workshop. · 80 words
Exploring Compartmentalisation Hypotheses with SOAAP.Paper on control flow analysis techniques for compartmentalizing applications into isolated components. · 75 words
June 2012
Cost, Performance & Flexibility in OpenFlow: Pick three.Paper on using MirageOS to improve software-defined networking infrastructure with OpenFlow. · 85 words
April 2012
Confidential carbon commuting: exploring a privacy-sensitive architecture for incentivising 'greener' commuting.Paper on privacy-sensitive data locker architecture to incentivize greener commuting patterns in Cambridge. · 86 words
March 2012
The case for reconfigurable I/O channels.Workshop paper proposing reconfigurable I/O channel architecture for heterogeneous software and hardware environments at RESoLVE ASPLOS. · 69 words
February 2012
Dreaming of an ARM OCaml.Getting OCaml running on an ARM-based Dreamplug device with Debian and native code generation. · 754 words
January 2012
CUFP 2011 Workshop Report.Published the scribe's report for CUFP 2011. · 75 words
October 2011
OCaml Meeting 2011 - MirageOS.Presentation on MirageOS at the OCaml Meeting 2011 conference. · 68 words
September 2011
An outing to CUFP 2011 for Mirage.Attending CUFP 2011 with MirageOS tutorial at ICFP. · 43 words
July 2011
Dynamics for ML using Meta-Programming.Workshop on Generative Technologies paper on dyntype library for ML meta-programming. · 68 words
Dynamics for ML using Meta-Programming.Paper on statically typed value persistence for OCaml published in ENTCS 2011. · 75 words
June 2011
Delimited continuations vs Lwt for threads.Delimited continuations and Lwt compared for threading purposes.
DataCaml: distributed dataflow programming in OCaml.DataCaml brings distributed dataflow programming to OCaml using the CIEL engine. · 1,818 words
May 2011
Reconfigurable Data Processing for Clouds.Paper exploring Xen and FPGA integration for cloud computing presented at FCCM. · 77 words
April 2011
Functional programming gone wild in the SRG.Exploring functional programming projects in the SRG, including OCaml and Haskell. · 45 words
Camel Spotting in Paris.Report from the 2011 OCaml Users Meeting in Paris, covering talks on js_of_ocaml, OCaml on PIC, and more. · 2,278 words
March 2011
CIEL: A universal execution engine for distributed data-flow computing.Paper on CIEL universal execution engine for distributed data-flow computing using dynamic task graphs at USENIX NSDI 2011. · 79 words
January 2011
Unclouded vision.Paper on Droplets architecture enabling controlled trade-offs between centralized cloud and fully decentralized personal data approaches at ICDCN. · 83 words
November 2010
Building the Xen toolstack using OCaml.Talk on building the Xen toolstack using OCaml. · 103 words
October 2010
Mirage: A New Multi-Scale Operating System for Clouds and Crowds (2014).Tech talk at LinkedIn presenting Mirage operating system for cloud computing. · 61 words
Self-hosting MirageOS website.Running the MirageOS website on its own self-hosted infrastructure using the TCP/IP stack. · 31 words
The personal container, or your life in bits.Paper on personal containers for managing personal data presented at UK Digital Economy meeting. · 70 words
September 2010
Using functional programming within an industrial product group: perspectives and perceptions.Paper on experiences writing the Xen control stack in OCaml presented at ICFP 2010. · 84 words
June 2010
Turning Down the LAMP: Software Specialisation for the Cloud.First HotCloud talk presenting the initial MirageOS concept for cloud software specialization. · 79 words
Turning Down the LAMP: Software Specialisation for the Cloud.Workshop paper presenting early MirageOS architecture for running OCaml applications directly on cloud platforms as unikernels. · 85 words
May 2010
Creating high-performance, statically type-safe network applications.PhD thesis on type-safe network application development now published as print book. · 63 words
April 2010
Yurts for Digital Nomads.Digital nomads can secure their personal data with digital yurts, a system for diverse data handling and storage. · 427 words
Pulling together a user interface.Building a user interface for personal containers on App Engine with extjs. · 465 words
Multiscale not multicore: efficient heterogeneous cloud computing.Paper on vision for multiscale programming presented at BCS Visions 2010 conference. · 91 words
March 2010
Opening a website.Learn about opening a personal data tracking website with a customizable database system. · 120 words
Privacy Butler: A Personal Privacy Rights Manager for Online Presence.Paper on privacy butler services for more private data management. · 84 words
Creating high-performance, statically type-safe network applications.PhD thesis published as technical report on building secure network applications using ML type systems and model checking. · 62 words
November 2009
Combining Static Model Checking with Dynamic Enforcement Using the Statecall Policy Language.Paper on DSL for specifying temporal protocol automata presented at ICFEM 2009. · 86 words
September 2008
Peeking under the hood of High Availability.Learn how XenServer's High Availability feature works, including host failure detection and automatic VM restarts. · 2,293 words
August 2008
Shedding light on XenApp on XenServer performance tuning.Optimize XenApp performance on XenServer with expert tuning tips. · 1,253 words
July 2008
Installing Ubuntu on XenServer.This guide provides step-by-step instructions for installing Ubuntu as a paravirtualized (PV) guest on Citrix XenServer 4.1, including configuring the grub boot loader, installing XenServer tools, and setting up VNC for graphical console access. · 1,433 words
June 2008
Enhancing web browsing security on public terminals using mobile composition.Paper on splitting trust between smartphones and web browsers presented at MobiSys 2008. · 84 words
June 2007
Melange: creating a "functional" internet.Won best student paper award at Eurosys 2007 for PhD work on high-performance functional packet parsing DSL. · 92 words
February 2007
April 2006
Fighting Crimeware: An Architecture for Split-Trust Web Applications.Paper presenting architecture for split-trust web applications to combat crimeware attacks. · 91 words
August 2005
SPLAT: A Tool for Model-Checking and Dynamically-Enforcing Abstractions.Workshop paper on temporal automata for protocol specifications presented at SPIN 2005. · 81 words
July 2005
Ubiquitious Computing needs to catch up with Ubiquitous Media.Position paper on ubiquitous computing approaches for emerging stream media appliances. · 69 words
Audio networking: the forgotten wireless technology.Paper exploring audio-based networking as overlooked wireless communication technology. · 75 words
A Study of Bluetooth Propagation Using Accurate Indoor Location Mapping.Ubicomp paper studying indoor Bluetooth signal propagation characteristics using Active Bat ultrasonic location system. · 88 words
June 2005
OpenBSD C2K5 thoughts.Reflections on OpenBSD C2K5 hackathon projects and progress. · 383 words
On the challenge of delivering high-performance, dependable, model-checked internet servers.Paper on using temporal automata for protocol implementations presented at HotDep 2005. · 69 words
January 2005
Using smart phones to access site-specific services.IEEE Pervasive Computing article on using camera phones to access location-based services. · 83 words
The Broadband Phone Network: Experiences with Context-Aware Telephony.Report on context-aware telephony experiments with AT&T Broadband Phone network. · 57 words
December 2004
Using camera-phones to interact with context-aware mobile services.Technical report on SpotCode visual tag system with user study comparing benefits against conventional mobile interfaces. · 98 words
October 2004
Connecting Paper and Online Worlds by Cellphone.Researchers use cellphones to connect physical and online worlds, replacing public displays with portable technology. · 169 words
September 2004
Using Camera-Phones to Enhance Human-Computer Interaction.Demo of SpotCode visual tag system at UbiComp 2004 conference in Tokyo. · 38 words
MIT Technology review covers SpotCodes.MIT Technology Review covers SpotCodes technology by High Energy Magic. · 199 words
August 2004
Exploring tradeoffs in location-aware gaming using smartphones.Paper on location-aware Capture The Flag game using Symbian phones, public displays, and ActiveBAT tracking, presented at SIGCOMM NetGames workshop. · 155 words
June 2004
From the prawn of time.Talk at NotCon 2004 on SpotCodes and camera phone technology covered in Wired Magazine. · 88 words
May 2004
Cellphone as a virtual mouse/keyboard.Use your cellphone as a virtual mouse and keyboard with innovative software. · 82 words
October 2003
Context-Aware Computing with Sound.Research project using inaudible audio beacons for location discovery on smartphones without additional hardware, conducted as intern at Intel Research Cambridge. · 178 words
June 2003
My static C bounds checker extension merged into OpenBSD.OpenBSD merges static C bounds checker extension into its codebase. · 171 words
The Case for Abstracting Security Policies.First academic paper on system call policy language to constrain application access to privileged resources, implemented on OpenBSD using systrace and presented at SAM 2003. · 145 words
May 2003
Moving to anil.recoil.org.Redesigned homepage now at anil.recoil.org · 38 words
January 2003
Xen 2002.First technical report on Xen hypervisor with contributions to early NetBSD port. · 61 words
September 2002
Started PhD at Cambridge.Started PhD in Systems Research at Cambridge University, focusing on Xen hypervisor. · 43 words
June 2002
Streamlining PHP on OpenBSD.Improved PHP on OpenBSD with simplified pkg_add usage and modular extensions. · 233 words
April 2002
Streaming U2 live across the Internet.Technical report on setting up CDN for U2's live concert stream from Sardinia, reaching 5 million viewers globally while working as NetApp product architect. · 158 words
August 2001
Added a caching subsystem to Horde.Horde PHP framework now includes a general caching subsystem for improved performance. · 132 words
Chora now the production CVS viewer for PHP.Chora is now the production CVS viewer for PHP, replacing viewcvs on cvs.php.net. · 154 words
Added internationalisation to the Chora viewer.Chora viewer now supports internationalisation with multiple language translations available. · 75 words
February 2001
GPL release of OpenFX.OpenFX is now available under the GPL with advanced features like raytracing and NURBS support. · 56 words
January 2001
I am now a core PHP developer.I'm now a core PHP developer with commit access to the central repository. · 67 words
December 2000
I'm now an OpenBSD developer.I'm now an official OpenBSD developer, contributing fixes and ports. · 196 words
October 2000
I'm now a Horde core team member.Author joins Horde core team, contributing to IMP and webmail development. · 78 words
July 2000
Paper on the NASA Mars Polar Lander website architecture.Technical report on Mars Polar Lander website acceleration architecture, one of the busiest websites during approach to landing. · 108 words
December 1999
Slashdot covers the Mars Polar Lander.Mars Polar Lander's webmaster shares story of website survival despite spacecraft crash. · 81 words



















































































































































































































































































































