Interested students are welcome to get in touch informally, but all applications must go through the department process. You may find my research, papers and project ideas helpful background material before getting in touch.
Nov 2024.
«» Paper on legal aspects of forest carbon credits in Carbon & Climate Law review /
«» Poster on Terracorder published at Sensys /
«» Paper on decentralised scheduling to appear at SOCC 2024 /
«» Preprint on LLMs for conservation evidence /
«» Notes on the Deepmind/Royal Society AI for Science meeting.
Sep 2024.
«» Paper at HOPE 2024 on agentic specifications using F* /
«» New project on building species models of the whole planet /
«» New
teaching page with my past and present courses /
«» Discuss the Bastion paper /
«» Discuss the NbS risks paper /
«» Served on the HotNets 24 PC.
Aug 2024.
«» Comment on nature-based credits published in Nature Sustainability /
«» Preprint on Terracorder ground sensing /
«» Discussion on the nature-based credits article /
«» Tropical Moist Forest v2.1 specification released /
«» Paper on ex-ante projection for nature-based solutions.
Jul 2024.
«» LIFE biodiversity paper accepted for publication later this year /
«» Chaired session at ACM
COMPASS 2024 and attended CoRE stack RIC /
«» Refreshed
ideas for incoming Part II student projects for 2024-2025.
Jun 2024.
«» Preprint on hyperspectral tree species identification /
«» AI@Cam interview with me on
Conservation Evidence Copilots project /
«» Talk on the conservation copilot using LLMs.
May 2024.
«» Submitted preprint on quantifying the biodiversity cost of global food consumption for peer review /
«» Paper on SDMs with remote sensing at
ICLR CCAI workshop /
«» Keynoted at Lambda Days on Programming for the Planet.
Apr 2024.
«» New personal site design based on my upcoming Bushel content manager /
«» Paper on smart contracts for carbon credits at
ICBC 2024 in Dublin.
Mar 2024.
«» Abstract on urban biodiversity and human health at
EGU 24 /
«» Preprint on forecasting nature based project risk /
«» Revision of planetary computing preprint.
Feb 2024.
«» Paper on uncertainty in climate science in
Undone CS /
«» We won the AI@CAM challenge bid with our conservation copilot project!
Dec 2023.
«» Tropical Moist Forest v2.0 specification /
«» Joined the Royal Society Newton International Fellowships Committee.
Nov 2023.
«» Paper on valuing impermanent carbon credits at
Nature Climate Change, with
cam.ac.uk coverage /
«» Paper on spatial networks on DNS at
HotNets 2023 /
«» Preprint on new LIFE metric for global biodiversity /
«» On the BBC briefly about the Dawn supercomputer.
Sep 2023.
«» An update on the OCaml EIO library at the OCaml Workshop 2023 /
«» Presentation on the OCaml Platform in 2023 /
«» Keynoted at ICFP 2023 on Functional Programming for the Planet.
Jul 2023.
«» Preprint of paper on valuing impermanent carbon credits.
Jun 2023.
«» Published Tropical Moist Forest v1.0 specification /
«» Won the ACM Programming Languages Software Award for 2023 with the OCaml team!
May 2023.
«» Perspective in Science on carbon credits credibility.
Mar 2023.
«» Preprint of planetary computing paper /
«» Discussion with Mantle Labs about carbon credits.
Jan 2023.
«» Recap of the OCaml community in 2022 posted along with plans to join the 'fediverse'.
Nov 2022.
«» Opened the 17th William Pitt Seminar at Pembroke College on climate change /
«» Wednesday seminar on financing forests using carbon credits.
Oct 2022.
«» The second edition of Real World OCaml available from Cambridge University Press!
Sep 2022.
«» Paper on our incremental computation DSL ocurrent presented in OCaml Workshop 2022.
May 2022.
«» Quoted in Vox article on carbon credits.
Apr 2022.
«» Update posted to the OCaml community on progress towards OCaml 5.0.
Feb 2022.
«» Update posted to the OCaml community on post-multicore-merge activities in OCaml trunk.
Jan 2022.
«» Preprint on security vulnerabilities in brain-computer interfaces.
Dec 2021.
«» Update posted to the OCaml community on major multicore code review with Inria.
Nov 2021.
«» I am on the Signals and Threads podcast with
Yaron Minsky /
«» Pembroke College covers the launch of 4C.
Oct 2021.
«» Update posted to the OCaml community on confirmation that the effect system will appear in OCaml 5.0.
Sep 2021.
«» Note on the decentralised stack used in Recoil /
«» Started maintaining (sporadically) a note on a forest preservation and restoration bibliography.
Aug 2021.
«» Paper on programming with effects in OCaml /
«» Preprint about our working notes on how CS might contribute to forest preservation /
«» Published a roadmap for OCaml.org's revamp.
Jun 2021.
«» Paper on retrofitting effects in OCaml presented in PLDI 2024.
Nov 2020.
«» Paper on Banyan for coordination-free distributed transactions in ASPLAS 2020.
Sep 2020.
«» Annual update on the OCaml Platform at the OCaml Workshop.
Aug 2020.
«» Paper on how to parallelise OCaml code at the OCaml Workshop /
«» Presented the new OCaml DSL for continuous integration at the OCaml Workshop /
«» Won best paper award at ICFP 2020 for our paper on retrofitting parallelism onto OCaml! /
«» Update on multicore OCaml being ready for testing /
«» Talk on the state of the OCaml Platform in 2020.
Apr 2020.
«» Update the OCaml community on multicore progress and linked preprint of ICFP submission on the runtime.
Feb 2020.
«» Delivered the distinguished seminar series at St Andrews on rebuilding Operating Systems with functional principles /
«» Part 2 /
«» Part 3.
Jan 2020.
«» Began updating the OCaml community regularly with multicore monthly reports.
Aug 2019.
«» Annual update on the OCaml Platform in 2019 /
«» Paper on the MirageOS 4 build system at OCaml Workshop /
«» Note on OpenBSD cloud hosting options.
May 2019.
«» Preprint on programming unikernels with ML modules.
Mar 2019.
«» Paper on a framework to rearchitect applications for better TEE support at EdgeSys 2019.
Nov 2018.
«» Rearranged the OCaml opam repository layout.
Oct 2018.
«» Journal paper on building modular foreign function interfaces.
Jun 2018.
«» Paper on the OCaml memory model and underlying theory at PLDI 2018.
Apr 2018.
«» Paper on concurrent systems programming with effect handlers at TFP 2017 /
«» Paper on the interspatial networking architecture at HotPOST 2018.
Sep 2017.
«» Paper on how to tackle awkward IO patterns with effect handlers /
«» Annual update on the OCaml Pltform at ICFP /
«» Talk on the state of the OCaml Platform.
May 2017.
«» Position paper on building databases-as-a-library at SNAPL 2017 /
«» Opened up a new OCaml discussion forum based on
Discourse.
Oct 2016.
«» DockerCon talk on unikernels and MirageOS.
Jun 2016.
«» Paper on application-specific network services at USENIX ATC 2016 /
«» Interviewed by The New Stack at OSCON in Austin, Texas /
«» Talk on the functional innards of Docker for Mac and Windows using OCaml /
«» Updated the MirageOS community about the 2016 hack retreat.
May 2016.
«» Announced HyperKit, VPNKit and DataKit for the Docker ecosystem.
Feb 2016.
«» Paper on declarative approaches to foreign function bindings at FLOPS 2016.
Jan 2016.
«» My startup Unikernel Systems was acquired by Docker /
«» Announced that Unikernel Systems is now part of Docker.
Oct 2015.
«» Paper on personal databoxes at the one-in-a-decade Aarhus conference /
«» Paper on formal specificaiton and testing of filesystems at SOSP 2015.
Sep 2015.
«» Update on the state of the OCaml Platform /
«» Invited talk at NetPL on Immutable Distributed Infrastructure with Unikernels.
Aug 2015.
«» Paper on rebuilding TLS securely but practically at USENIX Security 2015.
May 2015.
«» Paper on spinning up low-latency unikernels per-connection at NSDI 2015 /
«» Workshop paper on DIY networking using timelock puzzles /
«» NSDI 2015 talk on Jitsu /
«» Talk at Esper on functional programming with unikernels.
Apr 2015.
«» Updated the OCaml community on annual
OCaml Labs activities for 2014.
Feb 2015.
«» Announced a call for sponsorships for ICFP 2015 in my role as industrial relations chair.
Jan 2015.
«» Published the scribe's report for CUFP 2013 in JFP /
«» Paper on mergeable data structures using Irmin (nee Irminsule) at JFLA 2015 /
«» Paper on reproducing the raft consensus protocol /
«» Gave BOB 2015 keynote on functional Operating Systems.
Dec 2014.
«» Gave Codemesh 2014 talk on Nymote.
Nov 2014.
«» Report on regional cloud computing law available /
«» New Directions in Operating Systems talk on Jitsu.
Oct 2014.
«» At the Xen Summit speaking about branch consistency for Xen Stub Domains.
Sep 2014.
«» First paper on multicore OCaml's design at the OCaml Workshop /
«» Paper at the OCaml Workshop on the Irmin database library /
«» Paper on the OCaml Platform status /
«» Talk on the OCaml Platform reaching v1.0 /
«» Gave Haskell Symposium 2014 Keynote on functional OS design.
Aug 2014.
«» Note on talks from OCaml Labs at ICFP 2014.
Jul 2014.
«» Announced the release of MirageOS 1.2, and a roadmap towards MirageOS 2.0 /
«» Announced the long-awaited release of MirageOS 2.0 /
«» Appeared on FLOSS Weekly 302 about Open Mirage.
May 2014.
«» Appeared on SE Radio Episode 204 about Mirage and OCaml.
Mar 2014.
«» Paper on building dust clouds for anonymous communication /
«» Call for sponsorships for ICFP 2014 in my role as industrial relations chair /
«» Note on an experiment to improve the coupling of opam with GitHub /
«» Note on the Codio support for the opam package manager.
Jan 2014.
«» Note on the discussions around my recent CACM article on unikernels.
Dec 2013.
«» Updated the OCaml community on the activities of
OCaml Labs in 2013.
Nov 2013.
«» Paper on fountain coding for datacentre networking at HotNets 2013 /
«» The 1st Edition of Real World OCaml by O'Reilly associates is released! /
«» Published the scribe's report for CUFP 2012 /
«» Article on the Communications of the ACM on unikernels is published /
«» Liveblog from PLOS 2013 /
«» MirageOS and XAPI project update at XenSummit /
«» Note on integrating Docker and opam more effectively.
Oct 2013.
«» Liveblog from the first Human-Data Interaction workshop.
Sep 2013.
«» Paper on the OCaml Platform at the OCaml Workshop 2013 /
«» Presented an OCaml ecosystem testing system /
«» Note on the release of the OPAM 1.1 beta /
«» Liveblog from the CUFP 2013 workshop at ICFP /
«» Liveblog from the OCaml 2013 workshop.
Aug 2013.
«» Paper on DNSSEC-based Signpost servers for better p2p communications at USENIX FOCI.
Jul 2013.
«» Mirage Developer Preview 1 screencast.
Apr 2013.
«» Note on how to grep the source code for all packages on opam.
Mar 2013.
«» The first paper on unikernels is pubished at ASPLOS 2013.
Feb 2013.
«» Paper on dataware computing in the digital economy.
Dec 2012.
«» Paper on extending TCP in a backwards compatible way at CoNeXT 2013.
Oct 2012.
«» Discussing how we disaggregated MirageOS into opam packages /
«» Announced the opening of OCaml Labs at Cambridge, along with
Jane Street support.
Sep 2012.
«» Demoed the Signposts DNSSEC system at SIGCOMM /
«» Paper on control flow analysis to break up applications into compartments /
«» Paper on programming the Xen cloud using OCaml at the OCaml Workshop /
«» Note on how to build XenStore stub domains using MirageOS /
«» Recording of the OCaml Labs announcement.
Jun 2012.
«» Paper on using MirageOS for better SDN infrastructure with OpenFlow.
Apr 2012.
«» Paper on our use of data lockers within Cambridge to incentivise more green commuting patterns.
Mar 2012.
«» Paper on a new design for reconfigurable IO that copes with heterogenous software/hardware.
Feb 2012.
«» Note on using ARM Dreamplugs with OCaml published.
Jan 2012.
«» Published the scribe's report for CUFP 2011.
Oct 2011.
«» At the OCaml Meeting 2011 speaking about MirageOS.
Sep 2011.
«» Liveblog on the talks at CUFP 2011.
Jul 2011.
«» Paper on statically typed value persistence for OCaml in ENTCS 2011 /
«» Published dyntype at the Workshop on Generative Technologies.
Jun 2011.
«» Note discussing an OCaml interface to our new CIEL dataflow engine /
«» Published a note on delimited continuations vs Lwt in OCaml for MirageOS.
May 2011.
«» Paper on what a Xen+FPGA cloud would look like at FCCM.
Apr 2011.
«» Trip report about the new OCaml Users Group in Paris /
«» Blogged about the growth of functional programming in the Systems Research Group.
Mar 2011.
«» Paper on CIEL, a distributed dataflow engine, at USENIX NSDI 2011.
Jan 2011.
«» Paper on a vision for a semi-federated cloud for personal data at ICDCN.
Nov 2010.
«» Talk on building the Xen toolstack using OCaml.
Oct 2010.
«» Paper on personal containers for data management at the UK Digital Economy meeting /
«» Announced that the MirageOS website now self-hosted on MirageOS! /
«» At LinkedIn giving tech talk about Mirage.
Sep 2010.
«» Paper on our experiences with writing the Xen control stack in OCaml at ICFP 2010.
Jun 2010.
«» Workshop paper on the early MirageOS architecture and evaluation at HotCloud 2010 /
«» At HotCloud for the first talk about MirageOS.
May 2010.
«» My PhD thesis is now also published as a print book.
Apr 2010.
«» Paper on our vision for multiscale programming at the BCS Visions 2010 conference /
«» Blogged about progress of the user interface for personal containers /
«» Note on our approach to personal data management as 'yurts' for digital nomads.
Mar 2010.
«» PhD thesis now available as a technical report /
«» Paper on privacy butler services for more private data management /
«» Announced the personal containers project and new website.
Nov 2009.
«» Paper on a DSL for specifying temporal protocol automata at ICFEM 2009.
Sep 2008.
«» Blogged at Citrix about how XenServer high availability works.
Aug 2008.
«» Blogged at Citrix about tuning XenServer for better client VDI performance using XenApp available.
Jul 2008.
«» Blogged at Citrix about how to install Ubuntu on XenServer as a PV guest.
Jun 2008.
«» Paper on splitting trust between smartphones and webrowsers at MobiSys 2008.
Jun 2007.
«» Won best student paper for my PhD work on a high-performance functional packet parsing DSL at Eurosys 2007!
Feb 2007.
«» Journal paper on interacting with mobile services using camera-phones.
Aug 2005.
«» Workshop paper on temporal automata for protocol specifications at SPIN 2005.
Jun 2005.
«» Paper on temporal automata for protocol implementations at HotDep 2005 /
«» Blogged about the OpenBSD C2K5 hackathon trip in Canada.
Jan 2005.
«» Article on using cameraphones to access site-specific services in IEEE Pervasive Computing /
«» Report on our hacking on the AT&T Broadband Phone /
«» Journal paper on our SpotCode visual tag system for cameraphones.
Dec 2004.
«» Technical report on our SpotCode visual tag system and a user study.
Oct 2004.
«» Spotcodes are featured in the New York Times!
Sep 2004.
«» MIT Technology Review covers SpotCodes and our startup /
«» Demo at UbiComp on our SpotCode visual tag system.
Aug 2004.
«» Built an augmented reality game over the summer and published about it in NetGames.
Jun 2004.
«» Wired covers our SpotCodes along with a prawn sandwich clock.
Oct 2003.
«» Ubicomp paper on using commodity audio for user-friendly data communications.
Jun 2003.
«» Paper on security policies using a declarative language at SAM 2003 /
«» Merged my GCC static bounds checking extension into OpenBSD.
May 2003.
«» Redesign of my homepage and moving to this domain.
Jan 2003.
«» The first technical report on the Xen hypervisor.
Sep 2002.
«» I start my PhD at the Systems Research Group in Cambridge.
Apr 2002.
«» Technical report on setting up CDN for streaming U2 across Europe.
Feb 2001.
«» Slashdot covers the GPL release of OpenFX.
Jul 2000.
«» Technical report on Mars Polar Lander website acceleration available.
Dec 1999.
«» Slashdot covers my work on the Mars Polar Lander.