Atom feed for our EEG site

wip

+13 -13
eeg.xml
···
of Testing Distributed Internet of Things Systems
(TDIS)</a> . Why? Happily the programme committee decided to accept two papers from my (ex-)students – which is nice :) The two in question are <a href="https://doi.org/10.1145/3719159.3721222" target="_blank">Reckon-ing Kubernetes at the Edge using Emulated
Clusters</a> with Alessandro Sassi (University of Cambridge / Politecnico di Milano) and Christopher Jensen (University of Cambridge / Microsoft Research). This describes Alessandro’s M.Sc. research project undertaken as a visitor with my group. He built on Chris’ earlier work on <a href="https://doi.org/10.1145/3447851.3458739" target="_blank">Reckon, an emulator setup for examining consensus
-
system behaviour&lt;/a&gt; . Alessandor extended this to...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Box Diff Tool</title><link href="https://www.tunbury.org/box-diff/" rel="alternate"></link><published>2025-03-30T00:00:00Z</published><updated>2025-03-30T00:00:00Z</updated><author><name>MarkE</name></author><id>https://www.tunbury.org/box-diff</id><summary type="html">Box has an unlimited storage model but has an upload limit of 1TB per month. I have been uploading various data silos but would now like to verify that the data is all present. Box has an extensive &lt;a href="https://developer.box.com/reference/" target="_blank"&gt;API&lt;/a&gt; , but I only need the &lt;a href="https://developer.box.com/reference/get-folders-id-items/" target="_blank"&gt;list items in folder&lt;/a&gt; call. The list-items call assumes that you have a folder ID which you would like to query. The root of the tree is always ID 0. To check for the presence of file foo in a folder tree a/b/c/foo , we need to call the API with folder ID 0. This returns a list of entries in that folder. e.g. { "entries" : [ { "id" : "12345" , "type" : "folder" , "name" : "a" } ] } The API must now be called again with the new ID number to get the contents of folder a . This is repeated until we finally have the entries for folder c which would contain the file itself. I...</summary><category term="Tunbury.ORG"></category></entry><entry><title>Blockchain-Based Carbon Trading for Stakeholders in Brazil</title><link href="https://watch.eeg.cl.cam.ac.uk/w/f1Uxw34FRLEfVNBBpzbsgD" rel="alternate"></link><published>2025-03-28T17:09:11Z</published><updated>2025-03-28T17:09:11Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/f1Uxw34FRLEfVNBBpzbsgD</id><summary type="html">Full Title: Democratizing Carbon Markets: A Blockchain-Based Emission Trading System for Small and Large-Scale Stakeholders in Brazil Abstract: The integration of blockchain technology into carbon markets offers a unique opportunity to create more transparent, inclusive, and efficient trading mechanisms. This presentation introduces a novel Blockchain Emission Trading System (BETS) model designed to align with Brazil’s new carbon market legislation (Law 15042/2024), ensuring that both large landholders and small rural producers can participate fairly. Our approach leverages official land registries, such as SICAR, to create spatially and temporally verifiable carbon credits, preventing fraud and double counting while enabling greater accessibility for smaller stakeholders who often...</summary><category term="EEG Seminars"></category></entry><entry><title>New preprint on benchmarking ultra-low power neural accelerators</title><link href="https://anil.recoil.org/news/2025-npu-bench-1" rel="alternate"></link><published>2025-03-28T00:00:00Z</published><updated>2025-03-28T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2025-npu-bench-1</id><summary type="html">&lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; just released our latest preprint on how to make sense of the growing number of dedicated, ultra-low-power 'neural network accelerators' that are found in many modern embedded chipsets. My interest in this derives from wanting to decouple from the cloud when it comes to &lt;a href="https://anil.recoil.org/projects/osmose" target="_blank"&gt;low-latency local environments&lt;/a&gt; , and this needs fast tensor operations in hardware. Josh found a huge number of interesting NPUs in modern low-cost chips, ranging from &lt;a href="https://www.espressif.com/en/products/socs/esp32" target="_blank"&gt;ESP32&lt;/a&gt; -based boards over to &lt;a href="https://arm.com" target="_blank"&gt;ARM&lt;/a&gt; ones. All of these have quite a variety of tradeoffs, from the operations supported (which affects which models can be run on them) to the amount of memory and CPU power. &lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; , &lt;a href="https://yushan-huang.github.io/" target="_blank"&gt;Yushan Huang&lt;/a&gt; , &lt;a href="https://www.imperial.ac.uk/people/sarab.sethi" target="_blank"&gt;Sarab Sethi&lt;/a&gt; , &lt;a href="https://haddadi.github.io/" target="_blank"&gt;Hamed Haddadi&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/2503.22567" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2503.22567" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2503.22567" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2025-npu-bench.bib" target="_blank"&gt;BIB&lt;/a&gt;...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml Core Dev Meeting</title><link href="https://www.dra27.uk/blog/platform/2025/03/28/ocaml-dev-meeting.html" rel="alternate"></link><published>2025-03-28T00:00:00Z</published><updated>2025-03-28T00:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2025/03/28/ocaml-dev-meeting</id><summary type="html">OCaml Core Dev meeting at &lt;a href="https://inria.fr" target="_blank"&gt;Inria&lt;/a&gt; yesterday. These are roughly biannual synchronous catchups which provide a chance to find out what others are up to, get feedback on any major ongoing work, and attempt to unblock some stalled PRs. Sometimes tempers get frayed, but not this time round… Quick round-table: ongoing work to get modular explicits/implicits into OCaml; a lot of work on GC pacing to get the 5.x GC to follow its space overhead setting properly; lot of work on flambda 2; OCaml Language committee has been launched and has two proposals under consideration; quite a lot of reviewing of new features from Jane Street in flight; work on pluggable GC to be able to try out alternate GCs in the main runtime. Two presentations on the table. The OCaml 5.x GC isn’t working hard enough to...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>Dell PowerEdge R640 Storage Server</title><link href="https://www.tunbury.org/dell-poweredge-r640/" rel="alternate"></link><published>2025-03-27T00:00:00Z</published><updated>2025-03-27T00:00:00Z</updated><author><name>MarkE</name></author><id>https://www.tunbury.org/dell-poweredge-r640</id><summary type="html">We have received our first batch of 7.68TB Kingston SSD drives for deployment in some Dell PowerEdge R640 servers, which will be used to create a large storage pool. The first job was to mount each of the drives in a caddy. And then install them in the server. These R640 servers are equipped with the Dell PERC H740P RAID controller. They support either hardware RAID 0,1,5,10,50 etc or Enhanced HBA mode. In eHBA mode, the disks operate in a passthrough mode, presenting the raw disks to the OS, however each disk needs to be specifically selected in an additional step after enabling eHBA mode. In RAID mode, one or more virtual disks need to be created to present the disks to the OS. Preconfigured profiles are available to complete this step easily. We will run these with a ZFS file system,...</summary><category term="Tunbury.ORG"></category></entry><entry><title>How This Site Is Build</title><link href="https://ryan.freumh.org/how-this-site-is-built.html" rel="alternate"></link><published>2025-03-26T00:00:00Z</published><updated>2025-03-26T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/how-this-site-is-built.html</id><summary type="html">Published Wed 26 Mar 2025. This site has continuously evolved since I made the first commit while procrastinating my undergrad dissertation, __LINK_0__ commit 632cb1f0c97c07fb99b48192444397e56ea5310f __LINK_1__ Author: Ryan Gibb &lt;redacted&gt; __LINK_2__ Date: Fri Jan 22 11:27:55 2021 +0000 __LINK_3__ __LINK_4__ Initial commit __LINK_5__ __LINK_6__ diff --git a/index.html b/index.html __LINK_7__ new file mode 100644 __LINK_8__ index 0000000..557db03 __LINK_9__ --- /dev/null __LINK_10__ +++ b/index.html __LINK_11__ @@ -0,0 +1 @@ __LINK_12__ +Hello World I started off writing plain HTML, then switching to writing in markdown and using &lt;a href="https://pandoc.org/" target="_blank"&gt;pandoc&lt;/a&gt; to convert to HTML, and gradually accumulated bash scripts and makefiles to add more functionality, such as generating an &lt;a href="https://www.rfc-editor.org/rfc/rfc4287" target="_blank"&gt;Atom feed&lt;/a&gt; . This became...</summary><category term="ryan.freumh.org"></category></entry><entry><title>FreeBSD 14.2 Upgrade</title><link href="https://www.tunbury.org/freebsd-14.2/" rel="alternate"></link><published>2025-03-26T00:00:00Z</published><updated>2025-03-26T00:00:00Z</updated><author><name>MarkE</name></author><id>https://www.tunbury.org/freebsd-14.2</id><summary type="html">CI workers spring and summer run FreeBSD and need to be updated. Check the current version of FreeBSD which we have with uname -r . FreeBSD summer 14.1-RELEASE-p5 FreeBSD 14.1-RELEASE-p5 GENERIC amd64 Run freebsd-update fetch to download the latest versions of the system components, particularly the freebsd-update utility. It even reported that it really is time to upgrade! # freebsd-update fetch ... WARNING: FreeBSD 14.1-RELEASE-p5 is approaching its End-of-Life date. It is strongly recommended that you upgrade to a newer release within the next 5 days. Install these updates. freebsd-update install Now use freebsd-update to fetch the 14.2-RELEASE and install it. # freebsd-update upgrade -r 14.2-RELEASE ... # freebsd-update install src component not installed, skipped Installing...</summary><category term="Tunbury.ORG"></category></entry><entry><title>Towards Forester 5.0 II: a design for canonical URLs</title><link href="https://www.forester-notes.org/JVIT/" rel="alternate"></link><published>2025-03-25T13:44:56Z</published><updated>2025-03-25T13:44:56Z</updated><author><name>JonS</name></author><id>https://www.forester-notes.org/JVIT/</id><summary type="html">One of the goals of &lt;a href="https://www.forester-notes.org/jms-011P/" target="_blank"&gt;Forester 5.0&lt;/a&gt; is lightweight federation —the ability to have two forests participate in the same graph and therefore provide backlinks, etc. In a previous post ( &lt;a href="https://www.forester-notes.org/OYOJ/" target="_blank"&gt;Towards Forester 5.0: a design for global identity&lt;/a&gt; ), I talked about some of the difficulties that arise when dealing with identities of people and references that have global scope but could nonetheless be described by trees in many forests. I proposed that such things should be addressed by canonical URIs (e.g. DIDs, DOIs, etc.) and that Forester should grow the ability to bind a canonical URI to multiple trees, which are then gathered into a disambiguation page. Today I want to broaden the discussion to cover the difficulties of addressing trees themselves (as opposed to the global entities they may describe). This is a proposal and I welcome...</summary><category term="Forester Blog"></category></entry><entry><title>Weeknotes: 24th March 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-03-24/" rel="alternate"></link><published>2025-03-24T09:07:12Z</published><updated>2025-03-24T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-03-24/</id><summary type="html">Last week I spent most of the week with a head-cold or such (I'm not the right kind of doctor to figure that out), and so productivity was a little low. STAR Two major steps forward on my implementation of the IUCN's &lt;a href="https://iucn.org/resources/conservation-tool/species-threat-abatement-and-restoration-star-metric" target="_blank"&gt;STAR metric&lt;/a&gt; this week. Firstly, my extraction of species from the IUCN Red List database finally aligns with that of the official implementation in R that is built by Chess Ridley at Newcastle University. Chess has been helping me navigate the nuances of the Red List database for the last couple of months as either of us gets time to nudge things forward, and we finally got to parity this week. Secondly, I took a first pass at implementing the post-AoH stages of the STAR pipeline, (see "STAR Calculation" in the Methods section of &lt;a href="https://www.nature.com/articles/s41559-021-01432-0.epdf" target="_blank"&gt;the original paper&lt;/a&gt; ). This involves weighting all the...</summary><category term="Digital Flapjack"></category></entry><entry><title>Mon 24 Mar 2025</title><link href="https://ryan.freumh.org/2025-03-24.html" rel="alternate"></link><published>2025-03-24T00:00:00Z</published><updated>2025-03-24T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-03-24.html</id><summary type="html">Previous: &lt;a href="2025-03-17.html" target="_blank"&gt;Mon 17 Mar 2025&lt;/a&gt; Babel TODO cargo dynamic loading At the moment this loads the whole index at once which takes a long time, so I need to figure out how to make pubgrub_cargo dynamically load packages. TODO add Nix solver Using the same techniques as &lt;a href="https://github.com/RyanGibb/opam-nix-repository" target="_blank"&gt;opam-nix-repository&lt;/a&gt; TODO polish up babel paper with motivating examples TODO read up on answer set programming &lt;a href="https://pubgrub-rs-guide.pages.dev/internals/intro" target="_blank"&gt;https://pubgrub-rs-guide.pages.dev/internals/intro&lt;/a&gt; is a good starting point And ‘Conflict-driven answer set solving: From theory to practice’ &lt;a href="#ref-gebserConflictdrivenAnswerSet2012" target="_blank"&gt;[1]&lt;/a&gt; deployment TODO Nix TODO Docker Research notes Contextualising my research activities to date. TODO Eilean TODO Babel [1] M. Gebser, B. Kaufmann, and T. Schaub, “Conflict-driven answer set solving: From theory to practice,” Artificial Intelligence , vol. 187–188, pp. 52–89, Aug. 2012, doi: &lt;a href="https://doi.org/10.1016/j.artint.2012.04.001" target="_blank"&gt;10.1016/j.artint.2012.04.001&lt;/a&gt; . [Online]. Available:...</summary><category term="ryan.freumh.org"></category></entry><entry><title>2025-03-23 Weekly Notes</title><link href="https://ancazugo.github.io/research/outreach/2025/03/23/weekly-notes.html" rel="alternate"></link><published>2025-03-23T00:00:00Z</published><updated>2025-03-23T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/research/outreach/2025/03/23/weekly-notes</id><summary type="html">After the issues and errors with generating the tree data for all of England, I realised that one of the best ways to proof-check the data was to visualize it and more importantly, to let others see it so they can check things that I might be missing. Because of this, I spent a good chunck of time trying to create a web map of all the trees in London. I used CARTO to do it but it wasn’t straightforward, mostly because of the size of the data. My files were stored in parquet format which apparently CARTO nor Mapbox are capable of transforming automatically to web Mercator, so I had to change the CRS in Sedona and re-generate the parquet partitions. Unfortunately, knowing where each partition is pointed at is not very easy, so what I did was geo-reference using the UK National Grid and then...</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>Global Maps of Human Threats to Biodiversity and Species Extinctions</title><link href="https://watch.eeg.cl.cam.ac.uk/w/3exAV8tLbnPSGqoKv2mZts" rel="alternate"></link><published>2025-03-21T16:11:39Z</published><updated>2025-03-21T16:11:39Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/3exAV8tLbnPSGqoKv2mZts</id><summary type="html">Full title: Towards Global Maps of Anthropogenic Threats to Biodiversity and Their Contributions to Species Extinctions Abstract: Species extinctions are primarily driven by loss of habitat, which is relatively easy to monitor by satellite remote sensing; other anthropogenic threats to biodiversity, like hunting, are much more difficult to observe directly. My PhD project draws on local studies which capture the population effect of some anthropogenic threat, scaling these results using machine learning and remote sensing. In this talk, I will discuss my first attempt at this through quantifying species-specific responses to hunting pressure. I find that machine learning methods can offer marked improvements over (linear) statistical models, which are commonly used in ecology, but model...</summary><category term="EEG Seminars"></category></entry><entry><title>LIFE becomes an Official Statistic of the UK government</title><link href="https://anil.recoil.org/notes/life-official-statistic" rel="alternate"></link><published>2025-03-21T00:00:00Z</published><updated>2025-03-21T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/life-official-statistic</id><summary type="html">Our &lt;a href="https://anil.recoil.org/papers/2024-life" target="_blank"&gt;recently published&lt;/a&gt; &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;LIFE&lt;/a&gt; biodiversity metric has just been integrated into a newly recognised &lt;a href="https://defraenvironment.blog.gov.uk/2025/01/20/newly-recognised-official-statistic-tracks-the-environmental-impact-of-our-consumption/" target="_blank"&gt;Official Statistic from the UK government&lt;/a&gt; ! This integrates the core LIFE biodiversity metric with &lt;a href="https://anil.recoil.org/papers/2024-food-life" target="_blank"&gt;food provenance data&lt;/a&gt; to track the environmental impacts of our consumption habits. I must admit that I'd not heard of "Official Statistics" before this, so I did a bit of research. The UK &lt;a href="https://osr.statisticsauthority.gov.uk/" target="_blank"&gt;Office for Statistics Regulation&lt;/a&gt; says that: Official statistics are statistics produced by Crown bodies and other organisations listed within an Official Statistics Order, on behalf of the UK government or devolved administrations. They provide a factual basis for assessment and decisions on economic, social and environmental issues at all levels of society. -- &lt;a href="https://osr.statisticsauthority.gov.uk/policies/official-statistics-policies/" target="_blank"&gt;OSR Policies&lt;/a&gt; The good folk at the &lt;a href="https://jncc.gov.uk/" target="_blank"&gt;Joint Nature Conservation Committee&lt;/a&gt; are responsible for this particular statistic. The JNCC launched their...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Weeknotes: 17th March 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-03-17/" rel="alternate"></link><published>2025-03-17T09:07:12Z</published><updated>2025-03-17T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-03-17/</id><summary type="html">Förrförra vecka Life maps As the outputs of the LIFE project we generate two maps: one showing the impact on extinction risk of converting land to farmland (aka the arable scenario), and another showing the risk of converting human changed land back to predicted its natural state (aka the restore scenario). Those maps though are data maps, containing fractional values in each pixel, so aren't something you can see, so instead when presenting the work I tend to lead with a "pop-science" version generated by &lt;a href="https://qgis.org" target="_blank"&gt;QGIS&lt;/a&gt; when you load the maps. Here you can see the map for the arable scenario, showing that putting a farm in a tropical forest is a sub-optimal idea: And the restore scenario map here, which has less change visible, as there is less area to convert: The different colours are from...</summary><category term="Digital Flapjack"></category></entry><entry><title>Mon 17 Mar 2025</title><link href="https://ryan.freumh.org/2025-03-17.html" rel="alternate"></link><published>2025-03-17T00:00:00Z</published><updated>2025-03-17T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-03-17.html</id><summary type="html">Previous: &lt;a href="2025-03-10.html" target="_blank"&gt;Mon 10 Mar 2025&lt;/a&gt; Next: &lt;a href="2025-03-24.html" target="_blank"&gt;Mon 24 Mar 2025&lt;/a&gt; Babel DONE &lt;a href="https://modelcontextprotocol.io/" target="_blank"&gt;Model Context Protocol&lt;/a&gt; &lt;a href="https://github.com/RyanGibb/babel/commit/ab6dcc162e5eb92192a19a63c33d0efa3db736a9" target="_blank"&gt;Added&lt;/a&gt; a basic Model Context Protocol server for querying dependencies with Babel, since LLMs seem to be particularly bad at managing dependencies. I need to flesh this out with support for metadata queries and solving for platforms. Once this works we could look at invoking ecosystem tooling to provide the dependencies, and creating a containerisation environment based on the solved platform for system dependencies. ecosystems DONE fix cross-ecosystem version ranges I had to add an abstract BabelVersionSet to interoperate pubgrub_cargp with the other dependency providers, but it doesn’t yet have the concept of empty and any ranges. Done &lt;a href="https://github.com/RyanGibb/babel/commit/c975ab938efb1330a691e4883bc1e732b21cddf3" target="_blank"&gt;here&lt;/a&gt; . Research notes Contextualising my research activities to date. DONE...</summary><category term="ryan.freumh.org"></category></entry><entry><title>2025-03-16 Weekly Notes</title><link href="https://ancazugo.github.io/research/outreach/2025/03/16/weekly-notes.html" rel="alternate"></link><published>2025-03-16T00:00:00Z</published><updated>2025-03-16T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/research/outreach/2025/03/16/weekly-notes</id><summary type="html">Most of my week was devoted to debugging my code to count the number of trees per geographical area. As mentioned in previous posts, I’ve been using Apache Sedona to process all my vector files, which has reduced the computation time significantly, particularly for spatial joins around all buildings in England. However, I realised that I hadn’t actually counted how many trees there are in total, which sounds trivial, but it turned out to be not as easy with the code that I had. So it turns out that when you are doing a Spatial Join with an Spatial RDD, you are only expected to pass two columns, the identifier and geometry for each row. This is not present in the docs, but I found it by accident while converting from Spark DataFrames to RDDs. Also, due to the number of trees (in the...</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>Identifying Key Countries in the Illegal Elephant Ivory Trade Networ</title><link href="https://watch.eeg.cl.cam.ac.uk/w/oW6eqJBH1Hkwu6wE7XzQT3" rel="alternate"></link><published>2025-03-14T17:34:06Z</published><updated>2025-03-14T17:34:06Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/oW6eqJBH1Hkwu6wE7XzQT3</id><summary type="html">Abstract: Illegal wildlife trade is a key driver of biodiversity loss, but targeting policy to maximise disruption to trade remains a key challenge. A network approach was applied to seizure data to prioritise national action disrupting the illegal trade of elephant ivory. By simulating the removal of countries from trade, targeting groups of countries was found to be most effective due to network redundancy. Despite temporal variability, trade was highly concentrated and cessation in less than 10 countries would have disrupted 75% of trade in 2018-2020. These findings support evidence-based legislation and efficient allocation of conservation resources for tackling illegal wildlife trade. Bio: Jakob is a PhD student in the Conservation and Development Lab (Department of Geography). His...</summary><category term="EEG Seminars"></category></entry><entry><title>A fully AI-generated paper just passed peer review; notes from our evidence synthesis workshop</title><link href="https://anil.recoil.org/notes/ai-for-evidence-synthesis-workshop" rel="alternate"></link><published>2025-03-12T00:00:00Z</published><updated>2025-03-12T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/ai-for-evidence-synthesis-workshop</id><summary type="html">Access to reliable and timely scientific evidence is utterly vital for the practise of responsible policymaking, especially with all the turmoil in the world these days. At the same time, the evidence base on which use to make these decisions is rapidly morphing under our feet; the &lt;a href="https://sakana.ai/ai-scientist-first-publication/" target="_blank"&gt;first entirely AI-generated paper passed peer review&lt;/a&gt; at an ICLR workshop today. We held a workshop on this topic of AI and evidence synthesis at &lt;a href="https://pem.cam.ac.uk" target="_blank"&gt;Pembroke College&lt;/a&gt; last week, to understand both the opportunities for the use of AI here, the &lt;a href="https://anil.recoil.org/papers/2024-ce-llm" target="_blank"&gt;strengths and limitations&lt;/a&gt; of current tools, areas of progress and also just to chat with policymakers from &lt;a href="https://www.gov.uk/government/organisations/department-for-science-innovation-and-technology" target="_blank"&gt;DSIT&lt;/a&gt; and thinktanks about how to approach this rapidly moving area. (The following notes are adapted from jottings from &lt;a href="https://www.cst.cam.ac.uk/people/jkm40" target="_blank"&gt;Jessica Montgomery&lt;/a&gt; , &lt;a href="https://samreynolds.org/" target="_blank"&gt;Sam Reynolds&lt;/a&gt; , &lt;a href="https://ai.cam.ac.uk/people/annabelle-scott" target="_blank"&gt;Annabelle Scott&lt;/a&gt; and myself. They are not at all complete, but hopefully useful!) We...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Weeknotes: 10th March 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-03-10/" rel="alternate"></link><published>2025-03-10T09:07:12Z</published><updated>2025-03-10T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-03-10/</id><summary type="html">Last week iNaturalist I've continued to do a little playing around with &lt;a href="https://www.inaturalist.org" target="_blank"&gt;iNaturalist&lt;/a&gt; data, both the range data and the occurrence data for birds. Birds, aka Aves, is a good one to pick as it's fairly well represented in both IUCN data (which I understand to have all known species of bird in it), and well covered in observations. I read up on how the "range" maps that iNaturalist &lt;a href="https://www.inaturalist.org/pages/range_maps" target="_blank"&gt;have started to share&lt;/a&gt; , which they describe in &lt;a href="https://www.inaturalist.org/posts/84677" target="_blank"&gt;this blog post&lt;/a&gt; , and link to &lt;a href="https://arxiv.org/abs/2306.02564" target="_blank"&gt;this paper&lt;/a&gt; on the methods use. This describes how they use a neural network model to generate the data, and how it differs from standard modelling approaches as they only have presence data and not absence data. &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil&lt;/a&gt; then pointed me at &lt;a href="https://arxiv.org/abs/2502.14977" target="_blank"&gt;a newer paper&lt;/a&gt; by the same group that looks specifically at trying to model species with very few occurrence points...</summary><category term="Digital Flapjack"></category></entry><entry><title>Mon 10 Mar 2025</title><link href="https://ryan.freumh.org/2025-03-10.html" rel="alternate"></link><published>2025-03-10T00:00:00Z</published><updated>2025-03-10T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-03-10.html</id><summary type="html">Previous: &lt;a href="2025-03-03.html" target="_blank"&gt;Mon 3 Mar 2025&lt;/a&gt; Next: &lt;a href="2025-03-17.html" target="_blank"&gt;Mon 17 Mar 2025&lt;/a&gt; Babel KILL python pubgrub Using Uv’s &lt;a href="https://github.com/astral-sh/uv/blob/c48af312aee48a000a23722ecfdddbe5a4037f78/crates/uv-resolver/src/dependency_provider.rs#L13" target="_blank"&gt;dependency
provider&lt;/a&gt; . This isn’t feasible at present, as Uv implements a custom resolver. DONE cargo pubgrub Got a &lt;a href="https://github.com/RyanGibb/babel/commit/dcdb92a6840b3d78e3737bb448bf0937d1c9964c" target="_blank"&gt;cargo
-
dependency provider&lt;/a&gt; working modified from a repository used to benchmark pubgrub-rs on solving the cargo repository. (Root, ) -&gt; (Cargo Bucket:serde@1.x.y, SemverPubgrub { norml: 1.0.219, pre: ∅ } ) (Cargo Bucket:serde@1.x.y, 1.0.219) -&gt; (Cargo Bucket:serde_derive@1.x.y, SemverPubgrub { norml: &gt;=1.0.219, &lt;1.0.220, pre: ∅ } ), (Cargo Bucket:serde_derive@1.x.y/default=true, SemverPubgrub { norml: &gt;=1.0.219, &lt;1.0.220, pre: ∅ } ) (Cargo Bucket:serde_derive@1.x.y, 1.0.219) -&gt; (Cargo Bucket:quote@1.x.y/proc-macro, SemverPubgrub { norml: &gt;=1.0.35, &lt;2.0.0, pre: ∅ } ), (Cargo Bucket:syn@2.x.y/parsing, SemverPubgrub { norml:...</summary><category term="ryan.freumh.org"></category></entry><entry><title>2025-03-09 Weekly Notes</title><link href="https://ancazugo.github.io/research/outreach/2025/03/09/weekly-notes.html" rel="alternate"></link><published>2025-03-09T00:00:00Z</published><updated>2025-03-09T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/research/outreach/2025/03/09/weekly-notes</id><summary type="html">Hello! This week I worked on the optimisation of counting trees within a given geometry. This is a problem I had solved back in December, although not in the optimal way. Ihad segmented almost 400M trees from the Defra dataset, but now I had to count how many are within a 100 m radius of each one of the 29M buildings in England. I had solved this by iterating through the LSOAs (statistical geography) in England, but that process took about 11 days to complete with the SQl API of Apache Sedona. When I was developing that part of my project, I had tried to solve it using Spatial RDDs, as suggested by &lt;a href="https://ameliaholcomb.github.io/" target="_blank"&gt;Amelia Holcomb&lt;/a&gt; initially, but sadly, the documentation of some of the features in Sedona are still in developing stages so I put that away. Because I had created an improved version of the trees...</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>Towards Forester 5.0: a design for global identity</title><link href="https://www.forester-notes.org/OYOJ/" rel="alternate"></link><published>2025-03-08T12:17:14Z</published><updated>2025-03-08T12:17:14Z</updated><author><name>JonS</name></author><id>https://www.forester-notes.org/OYOJ/</id><summary type="html">As we move closer to &lt;a href="https://www.forester-notes.org/jms-011P/" target="_blank"&gt;Forester 5.0&lt;/a&gt; , which &lt;a href="https://www.forester-notes.org/30FN/" target="_blank"&gt;introduces&lt;/a&gt; rudimentary federation capabilities, we must address new problems that did not arise in the days when no two &lt;a href="https://www.forester-notes.org/tfmt-000R/" target="_blank"&gt;forests&lt;/a&gt; interacted or linked to each other. The most immediate issue is that trees describing entities with “global” identity (including actual people as well as bibliographic references) will naturally be duplicated across many forests. For example, this happens when one person authors trees in multiple forests, and it happens even more often with bibliographic entries (both for the entries themselves and their author attributions). It is very important to handle this problem properly now in a way that (1) minimises friction and (2) enables us to quietly evolve toward &lt;a href="https://www.forester-notes.org/klepmann-et-al-atproto-2024/" target="_blank"&gt;more Web-centric approaches to identity as they emerge&lt;/a&gt; . Below, I survey some existing approaches to...</summary><category term="Forester Blog"></category></entry><entry><title>Socially self-hosting source code with Tangled on Bluesky</title><link href="https://anil.recoil.org/notes/disentangling-git-with-bluesky" rel="alternate"></link><published>2025-03-08T00:00:00Z</published><updated>2025-03-08T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/disentangling-git-with-bluesky</id><summary type="html">I've been an avid user of &lt;a href="https://github.com" target="_blank"&gt;GitHub&lt;/a&gt; since its launch, and it really has revolutionised how communities come together to work on open source. In recent years though, I find myself utterly overwhelmed by its notifications and want to experiment with &lt;a href="https://www.offlineimap.org/github/2016/03/08/github-pr-suck.html" target="_blank"&gt;alternative workflows&lt;/a&gt; . This experimentation also has a more serious undertone due to the increasing need for &lt;a href="https://www.boell.de/en/2025/01/24/trump-and-big-tech-europes-sovereignty-stake" target="_blank"&gt;data sovereignty&lt;/a&gt; and so I'm starting to move my source code to self-hosted solutions that are less reliant on centralised services. This has also come up persistently over the years in the &lt;a href="https://ocaml.org" target="_blank"&gt;OCaml&lt;/a&gt; community, with questions over why participation in packaging &lt;a href="https://discuss.ocaml.org/t/publishing-without-github/3232" target="_blank"&gt;requires a GitHub account&lt;/a&gt; ever since the &lt;a href="https://anil.recoil.org/notes/opam-1-1-beta" target="_blank"&gt;early days&lt;/a&gt; of opam. I've never found a good answer... until now, with the launch of an exciting &lt;a href="https://tangled.sh" target="_blank"&gt;new service&lt;/a&gt; that's built over the same protocol that &lt;a href="https://bsky.app" target="_blank"&gt;Bluesky&lt;/a&gt; uses. As I...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Our EEG group discussion on 'useful' AI tools</title><link href="https://anil.recoil.org/notes/the-state-of-ai-tools" rel="alternate"></link><published>2025-03-07T00:00:00Z</published><updated>2025-03-07T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/the-state-of-ai-tools</id><summary type="html">&lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; organised this week's &lt;a href="https://www.cst.cam.ac.uk/research/eeg" target="_blank"&gt;EEG&lt;/a&gt; group &lt;a href="https://www.cst.cam.ac.uk/seminars/list/229027" target="_blank"&gt;discussion&lt;/a&gt; on what AI tools we use for our daily work. I was immediately struck by how few tools there are that are actually making us more productive, so I jotted down notes as the discussion was going on. Personally, the only tool I've found that's (only just recently) making me more productive is agentic coding, which I &lt;a href="https://anil.recoil.org/notes/claude-copilot-sandbox" target="_blank"&gt;wrote about a few days ago&lt;/a&gt; . Since then, I've been mildly obsessively forking off ideas I've wanted to try for years (like converting RFCs to OCaml code) and greatly enjoying myself. &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; and I have been looking for how to do this more ethically, and the best I ran across was the &lt;a href="https://www.ibm.com/impact/ai-ethics" target="_blank"&gt;IBM AI ethics&lt;/a&gt; guidance and their &lt;a href="https://github.com/ibm-granite/granite-code-models" target="_blank"&gt;granite models&lt;/a&gt; , but not much else. Any pointers to other models that don't violate open source licensing norms would be...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Are you still using OCaml 4.08 or earlier? If so, we need to know</title><link href="https://anil.recoil.org/notes/deprecating-ocaml-408" rel="alternate"></link><published>2025-03-05T00:00:00Z</published><updated>2025-03-05T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/deprecating-ocaml-408</id><summary type="html">I started pushing OCaml Docker images over to the &lt;a href="https://hub.docker.com/r/ocaml/opam" target="_blank"&gt;Docker Hub&lt;/a&gt; in around 2017, to support the burgeoning automated build infrastructure around the use of the language. Back then, OCaml 4.06 was the latest release, and so I wrote an &lt;a href="https://github.com/ocurrent/ocaml-version/blob/master/CHANGES.md" target="_blank"&gt;ocaml-version&lt;/a&gt; library to track the release metadata. It has been a bit of a success disaster, as that library now &lt;a href="https://github.com/ocurrent/ocaml-version/blob/master/CHANGES.md" target="_blank"&gt;tracks&lt;/a&gt; every release of OCaml in the modern era, and also backs the &lt;a href="https://github.com/ocurrent/docker-base-images" target="_blank"&gt;automatic building&lt;/a&gt; of a huge array of compiler versions and variants across &lt;a href="https://images.ci.ocaml.org/?distro=debian-12&amp;" target="_blank"&gt;Linux&lt;/a&gt; and &lt;a href="https://images.ci.ocaml.org/?distro=windows-msvc&amp;" target="_blank"&gt;Windows&lt;/a&gt; . The problem is...we're now building the full set of images from OCaml 4.02 onwards through to the latest OCaml 5.3.0 release, which is unsustainable for obvious reasons; despite the hosting being kindly &lt;a href="https://www.docker.com/community/open-source/application/" target="_blank"&gt;sponsored by Docker&lt;/a&gt; , we must also consider the &lt;a href="https://ocaml.org/policies/carbon-footprint" target="_blank"&gt;carbon footprint&lt;/a&gt; of our infrastructure. So the...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Weeknotes: 3rd March 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-03-03/" rel="alternate"></link><published>2025-03-03T09:07:12Z</published><updated>2025-03-03T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-03-03/</id><summary type="html">Last week Using Go with Wasm and Web Workers As indicated &lt;a href="/weeknotes/2025-02-24/" target="_blank"&gt;last week&lt;/a&gt; , I spent some time learning how to use both &lt;a href="https://go.dev" target="_blank"&gt;Go&lt;/a&gt; for &lt;a href="https://webassembly.github.io/spec/core/index.html" target="_blank"&gt;Web Assembly&lt;/a&gt; and with &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers" target="_blank"&gt;Web Workers&lt;/a&gt; for parallelism in the browser. I &lt;a href="/blog/go-wasm-workers/" target="_blank"&gt;wrote a long post&lt;/a&gt; about the details if that's of any interest. Webplats To make the above post I had to actually do tweaks to &lt;a href="https://github.com/mdales/webplats/" target="_blank"&gt;Webplats&lt;/a&gt; , the software I wrote that hosts this site. The technical details aren't that exciting, but it's just nice to observe how liberating it is to be able to hit a limitation of the hosting tool you're using and be able to quickly change it to remove that limitation. I did however also have to disable code syntax highlighting as &lt;a href="https://github.com/patricoferris/hilite" target="_blank"&gt;hilite&lt;/a&gt; (or possibly one the libraries it uses to tokenise the code) is struggling with Go, and no syntax-highlighting seemed a better fallback...</summary><category term="Digital Flapjack"></category></entry><entry><title>Mon 3 Mar 2025</title><link href="https://ryan.freumh.org/2025-03-03.html" rel="alternate"></link><published>2025-03-03T00:00:00Z</published><updated>2025-03-03T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-03-03.html</id><summary type="html">Previous: &lt;a href="2025-02-25.html" target="_blank"&gt;Tue 25 Feb 2025&lt;/a&gt; Next: &lt;a href="2025-03-10.html" target="_blank"&gt;Mon 10 Mar 2025&lt;/a&gt; &lt;a href="https://github.com/RyanGibb/babel" target="_blank"&gt;Babel&lt;/a&gt; A Debian encoding in PubGrub DONE &lt;a href="https://www.debian.org/doc/debian-policy/ch-relationships.html#virtual-packages-provides" target="_blank"&gt;provides&lt;/a&gt; with virtual packages &lt;a href="https://github.com/RyanGibb/pubgrub-debian/commit/0e1b76fd89b8773b555905858e3e3ed3796e78a3" target="_blank"&gt;here&lt;/a&gt; DONE cross ecosystem resolutions between opam and debian Done in &lt;a href="https://github.com/RyanGibb/babel" target="_blank"&gt;babel&lt;/a&gt; . Some examples follow. conf-gmp #[test] fn test_conf_gmp_variables() -&gt; Result&lt;(), Box&lt;dyn Error&gt;&gt; { let root = OpamPackage::Root(vec![ ( OpamPackage::Base("conf-gmp".to_string()), Range::singleton(OpamVersion("4".to_string())), ), ( OpamPackage::Var("os-family".to_string()), Range::singleton(OpamVersion("debian".to_string())), ), ( OpamPackage::Var("os-distribution".to_string()), Range::singleton(OpamVersion("debian".to_string())), ), ]); solve_repo( BabelPackage::Opam(root), BabelVersion::Opam(OpamVersion("".to_string())), "../pubgrub_opam/opam-repository/packages",...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Oh my Claude, we need agentic copilot sandboxing right now</title><link href="https://anil.recoil.org/notes/claude-copilot-sandbox" rel="alternate"></link><published>2025-03-02T00:00:00Z</published><updated>2025-03-02T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/claude-copilot-sandbox</id><summary type="html">&lt;a href="https://github.com/yminsky" target="_blank"&gt;Yaron Minsky&lt;/a&gt; nerdsniped me last week into getting OCaml to drive the 80s-retro &lt;a href="https://www.adafruit.com/product/2345" target="_blank"&gt;RGB Matrix&lt;/a&gt; displays. I grabbed one from the local Pi Store and soldered it together with help from &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; . But instead of writing OCaml bindings by hand, we thought we'd try out the latest agentic CLI called &lt;a href="https://github.com/kodu-ai/claude-code" target="_blank"&gt;Claude Code&lt;/a&gt; released &lt;a href="https://ai-claude.net/" target="_blank"&gt;last week&lt;/a&gt; to see if we could entirely autogenerate the bindings. TL;DR: Claude Coder generated working OCaml code almost from scratch, ranging from C bindings to high-level OCaml interface files and even Cmdliner terms, but needs a more sophisticated sandboxing model before something goes horribly wrong. So much potential and so much danger awaits us. Coincidentally &lt;a href="https://web.eecs.umich.edu/~comar/" target="_blank"&gt;Cyrus Omar&lt;/a&gt; and &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; and I &lt;a href="https://anil.recoil.org/papers/2024-hope-bastion" target="_blank"&gt;wrote&lt;/a&gt; about this a few months ago. Read on... Wiring up the display to my...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>A hardware description language using OCaml effects</title><link href="https://anil.recoil.org/ideas/tracing-hdl-with-effects" rel="alternate"></link><published>2025-03-01T00:00:00Z</published><updated>2025-03-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/tracing-hdl-with-effects</id><summary type="html">A hardware description language using OCaml effects This is an idea proposed in 2025 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; and &lt;a href="https://github.com/andrewray" target="_blank"&gt;Andy Ray&lt;/a&gt; . Programming FPGAs using functional programming languages is a very good fit for the problem domain. OCaml has the &lt;a href="https://anil.recoil.org/notes/fpgas-hardcaml" target="_blank"&gt;HardCaml ecosystem&lt;/a&gt; to express hardware designs in OCaml, make generic designs using the power of the language, then simulate designs and convert them to Verilog or VHDL. HardCaml is very successfully used in production at places like &lt;a href="https://janestreet.com" target="_blank"&gt;Jane
Street&lt;/a&gt; , but needs quite a lot of prerequisite knowledge about the full OCaml language. In particular, it makes very heavy use of the &lt;a href="https://github.com/janestreet/hardcaml/blob/master/docs/hardcaml_interfaces.md" target="_blank"&gt;module
system&lt;/a&gt; in order to build up the circuit description as an OCaml data...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>An Introductory Guide on How to Create Beautiful Slides</title><link href="https://watch.eeg.cl.cam.ac.uk/w/dFShkouits1FFyUctiSSH5" rel="alternate"></link><published>2025-02-28T17:59:20Z</published><updated>2025-02-28T17:59:20Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/dFShkouits1FFyUctiSSH5</id><summary type="html">Frank Feng is a first-year Ph.D. student in the Department of Computer Science and Technology at the University of Cambridge. His research interests lie at the intersection of machine learning and earth sciences, with a particular focus on the application of self-supervised learning in remote sensing.</summary><category term="EEG Seminars"></category></entry><entry><title>2025-02-28 Weekly Notes</title><link href="https://ancazugo.github.io/research/outreach/2025/02/28/weekly-notes.html" rel="alternate"></link><published>2025-02-28T00:00:00Z</published><updated>2025-02-28T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/research/outreach/2025/02/28/weekly-notes</id><summary type="html">This week I focused mostly on checking why I had some empty rows in the estimation of the canopy cover and the tree count from the Vegetation Object Model. After investigating the code, I found that the issue was behind a try/except clause that was masking corrupted files. Now, this was the intended behaviour originally, as some files can’t be read, however, because the data processing is done at the geographic statistical level (read &lt;a href="https://www.ons.gov.uk/census/census2021dictionary/areatypedefinitions" target="_blank"&gt;ONS&lt;/a&gt; ), and the VOM tiles come in 5x5 km files (following GB National Grid), even when one file can’t be read, the other ones wouldn’t be processed either. With the new small correction, only the corrupted files are not processed and the rest of the files are processed as intended. So from the 5402 tiles, only 26 can’t be read. In addition to this, I...</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>The AIETF arrives, and not a moment too soon</title><link href="https://anil.recoil.org/notes/ai-ietf-aiprefs" rel="alternate"></link><published>2025-02-28T00:00:00Z</published><updated>2025-02-28T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/ai-ietf-aiprefs</id><summary type="html">The &lt;a href="https://ietf.org" target="_blank"&gt;IETF&lt;/a&gt; &lt;a href="https://bsky.app/profile/ietf.org/post/3lj6w5fpjx22u" target="_blank"&gt;announced&lt;/a&gt; their new &lt;a href="https://www.ietf.org/blog/aipref-wg/" target="_blank"&gt;AI Preferences Working Group&lt;/a&gt; (AIPREF), which will "work on standardizing building blocks that allow for the expression of preferences about how content is collected and processed for Artificial Intelligence models" . This is quite well timed; the IETF tries not to standardise too early before there is &lt;a href="https://www.ietf.org/runningcode/" target="_blank"&gt;running code&lt;/a&gt; but also needs to move before it's too late and a bad defacto standard is &lt;a href="https://datatracker.ietf.org/doc/html/rfc7282" target="_blank"&gt;chosen&lt;/a&gt; . The AI world seems to be at that nexus point right about now, with &lt;a href="https://openai.com/index/introducing-gpt-4-5/" target="_blank"&gt;GPT 4.5&lt;/a&gt; seemingly hitting a &lt;a href="https://www.newscientist.com/article/2470327-is-openai-hitting-a-wall-with-huge-and-expensive-gpt-4-5-model/" target="_blank"&gt;scaling wall&lt;/a&gt; and possibly triggering the start of a renewed data scraping frenzy. How do websites interact with AI crawlers right now? I've found when developing my own website there are a number of approaches to interacting with automated data crawlers. For the record, over 90% of...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Blogging BIOSPACE25!</title><link href="http://localhost:4000/2025/02/28/biospace.html" rel="alternate"></link><published>2025-02-28T00:00:00Z</published><updated>2025-02-28T00:00:00Z</updated><author><name>OnkarG</name></author><id>http://localhost:4000/2025/02/28/biospace</id><summary type="html">Blogging BIOSPACE25! 28th February, 2025 Hello world , this is my first Jekyll blog post. With that formality out the way… a couple weeks ago I headed off to the Biospace conference at the ESA-ESRIN Observation Center in Frascati, Italy. While I was only there for 2 days, there was a lot to be excited about. Just past the entrance to the ESA-ESRIN Observation Center, and also past some fairly intense security! My big takeaway from the opening speeches was that this is the first year that the ESA is spending more on building out its data science capabilities than it is on putting satellites into space. To me, this is indicative of the fact that the marginal benefit from putting effort into effectively wrangling huge amounts of data is now greater than that from collecting huge amounts of...</summary><category term="Onkar Gulati"></category></entry><entry><title>Tue 25 Feb 2025</title><link href="https://ryan.freumh.org/2025-02-25.html" rel="alternate"></link><published>2025-02-25T00:00:00Z</published><updated>2025-02-25T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-02-25.html</id><summary type="html">Previous: &lt;a href="2025-02-17.html" target="_blank"&gt;Mon 17 Feb 2025&lt;/a&gt; Next: &lt;a href="2025-03-03.html" target="_blank"&gt;Mon 3 Mar 2025&lt;/a&gt; Babel: opam repository with &lt;a href="https://github.com/RyanGibb/pubgrub-opam" target="_blank"&gt;pubgrub-opam&lt;/a&gt; A Debian/Alpine encoding in PubGrub, which I think should be much simpler than Opam DONE Got the basics in &lt;a href="https://github.com/RyanGibb/pubgrub-debian" target="_blank"&gt;pubgrub-debian&lt;/a&gt; Here’s a solve of openssh-server: (openssh-server, 1:7.9p1-10+deb10u2) -&gt; (libssl1.1, &gt;=1.1.1), (openssh-client, 1:7.9p1-10+deb10u2), (libc6, &gt;=2.26), (libcom-err2, &gt;=1.43.9), (procps, *), (lsb-base, &gt;=4.1+Debian3), (libaudit1, &gt;=1:2.2.1), (dpkg, &gt;=1.9.0), (ucf, &gt;=0.28), (libselinux1, &gt;=1.32), (libgssapi-krb5-2, &gt;=1.17), (libsystemd0, *), (debconf: &gt;=0.5 | debconf-2.0: *, *), (libpam0g, &gt;=0.99.7.1), (openssh-sftp-server, *), (libpam-runtime, &gt;=0.76-14), (libpam-modules, &gt;=0.72-9), (zlib1g, &gt;=1:1.1.4), (adduser, &gt;=3.9), (libkrb5-3, &gt;=1.13~alpha1+dfsg), (libwrap0, &gt;=7.6-4~) (libssl1.1,...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Using Go with Wasm and Web Workers</title><link href="https://digitalflapjack.com/blog/go-wasm-workers/" rel="alternate"></link><published>2025-02-24T15:08:58Z</published><updated>2025-02-24T15:08:58Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/go-wasm-workers/</id><summary type="html">These are some notes for myself about trying to use Wasm and Web Workers to achieve some level of parallelisation in the browser. This isn't meant to be a comprehensive tutorial, but there are so many broken tutorials or half bits of documentation out there, I thought I should leave myself a note here. This is just the result of an afternoon of spelunking to try and work out how to do this, and should not be considered comprehensive. Example If you're viewing this page directly (rather than via an RSS reader) and your browser supports Wasm, then below you should see a &lt;a href="https://en.wikipedia.org/wiki/Mandelbrot_set" target="_blank"&gt;Mandelbrot fractal&lt;/a&gt; render into place above, with different chunks appearing at different points (and on Safari you might see some banding, which is it failing to align the canvas tiles properly rather than being an issue with the...</summary><category term="Digital Flapjack"></category></entry><entry><title>Weeknotes: 24th February 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-02-24/" rel="alternate"></link><published>2025-02-24T09:07:12Z</published><updated>2025-02-24T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-02-24/</id><summary type="html">Last Week LIFE As started &lt;a href="/weeknotes/2025-02-17/" target="_blank"&gt;last week&lt;/a&gt; , I finished the changes to let you run the &lt;a href="https://github.com/quantifyearth/life/" target="_blank"&gt;LIFE pipeline&lt;/a&gt; using the bulk data downloads from the &lt;a href="https://iucnredlist.org/" target="_blank"&gt;IUCN Red List&lt;/a&gt; website, which give you a bunch of CSV files of species data and then some shapefiles of range data. Previously I'd been using a PostGIS database with all the data in, but not everyone has one of those to hand, and I want to make it was easy as possible for others to run the pipeline to reproduce our work. After being very impressed last week at the behaviour of &lt;a href="https://duckdb.org/" target="_blank"&gt;DuckDB&lt;/a&gt; , particularly in the way it'd let me do spatial queries, I did realise that the performance of ST_UNION_AGG , it's version of PostGIS's ST_UNION was significantly slower than just pulling the different ranges for a species and using &lt;a href="https://shapely.readthedocs.io/en/stable/manual.html" target="_blank"&gt;shapely&lt;/a&gt; to unify them in Python. It's still...</summary><category term="Digital Flapjack"></category></entry><entry><title>Robotics and Sensing for Sustainable Crop Production</title><link href="https://watch.eeg.cl.cam.ac.uk/w/9hADtA5Fov2vdDt9iNVjJQ" rel="alternate"></link><published>2025-02-21T16:26:06Z</published><updated>2025-02-21T16:26:06Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/9hADtA5Fov2vdDt9iNVjJQ</id><summary type="html">Abstract: Crop farming is essential in our society, providing food, feed, fiber, and fuel. We heavily rely on crop production, but at the same time, we need to reduce the production footprint. We aim to address this key challenge by investigating new solutions to produce crops more sustainably. We study novel technology-driven approaches to move toward sustainable crop production. Agricultural robots offer promising directions to address management challenges in agricultural fields or support plant breeding efforts through large-scale trait acquisition. For that, field robots need the ability to perceive and model their environment, predict possible future developments, and make appropriate decisions in complex and changing situations. This talk will showcase our recent developments in...</summary><category term="EEG Seminars"></category></entry><entry><title>2025-02-21 Weekly Notes</title><link href="https://ancazugo.github.io/research/outreach/2025/02/21/weekly-notes.html" rel="alternate"></link><published>2025-02-21T00:00:00Z</published><updated>2025-02-21T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/research/outreach/2025/02/21/weekly-notes</id><summary type="html">So back to the routine after coming from Italy for BIOSPACE25. It was a really great experience in the ESA HQ but I got a cold from Italy 😷. This week started by going to the Social and Spatial Epidemiology Module from the &lt;a href="https://www.phs.group.cam.ac.uk/" target="_blank"&gt;PHS MPhil&lt;/a&gt; in the Biomedical Campus. It’s originally desgined to help public health students understand that it is a spatial domain, with all that it means. I really enjoyed the course in that I was exposed to things that I wasn’t aware of like redlining and gerrymandering in the US. Special shoutout to &lt;a href="https://health.usnews.com/doctors/james-lewis-291573" target="_blank"&gt;Dr James Lewis&lt;/a&gt; , invited speaker to the module, who is an active nephrologist in Atlanta, Georgia. His lecture is one of the most engaging I’ve ever seen here in Cambridge. I really enjoyed how he initiated with the story about his aunt and ended with his daughter. He also...</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>A trio of papers I read on biodiversity and forests this week</title><link href="https://anil.recoil.org/notes/forest-apps-and-benchmarks" rel="alternate"></link><published>2025-02-20T00:00:00Z</published><updated>2025-02-20T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/forest-apps-and-benchmarks</id><summary type="html">This week I've been reading three really nice pieces of work by my colleagues, in the form of a &lt;a href="https://www.nature.com/articles/s44358-025-00022-3" target="_blank"&gt;review paper&lt;/a&gt; on biodiversity and AI, a &lt;a href="https://besjournals.onlinelibrary.wiley.com/doi/10.1111/2041-210X.14503" target="_blank"&gt;benchmark&lt;/a&gt; for 3D forest reconstruction using laser scanners and a &lt;a href="https://github.com/MingyueX/GreenLens" target="_blank"&gt;mobile app&lt;/a&gt; for measuring the width of tree trunks. A real bonanza for forest lovers! Review paper on mapping opportunities for AI in biodiversity A paper on ' &lt;a href="https://www.nature.com/articles/s44358-025-00022-3" target="_blank"&gt;Harnessing AI to fill global shortfalls in biodiversity knowledge&lt;/a&gt; ' just came out in Nature Biodiversity today (via &lt;a href="http://oisin.info" target="_blank"&gt;Oisin Mac Aodha&lt;/a&gt; ). They start with the baseline present uses of AI (camera traps, acoustic monitoring and improved data analysis) which are pretty well known to anyone in the field, but then introduce &lt;a href="https://www.nature.com/articles/s44358-025-00022-3/figures/1" target="_blank"&gt;a lovely diagram of future uses&lt;/a&gt; of AI for biodiversity which includes: Rapid retrieval of existing information means both looking into existing literature, but also the digitisation of existing museum...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Weeknotes: 17th February 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-02-17/" rel="alternate"></link><published>2025-02-17T09:07:12Z</published><updated>2025-02-17T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-02-17/</id><summary type="html">Last Week LIFE For the &lt;a href="https://github.com/quantifyearth/life/" target="_blank"&gt;LIFE extinction-risk metric pipeline&lt;/a&gt; , all the species data comes from the &lt;a href="https://www.iucnredlist.org/" target="_blank"&gt;IUCN Red List&lt;/a&gt; , and this week I began a job I'd been intending to do for a while to make that stage pragmatically accessible to people trying to run our pipeline externally. Originally, as LIFE was being developed, the species data was manually downloaded from the Red List website using their bulk download facility, which gives you a ZIP file of CSVs for the empirical data, and then another set of ZIPs that contain the polygon range data. These had then been run through a mixture of hand processing and Python scripting to filter it down to the appropriate species for the LIFE metric. As we came to publication I wanted to automate this, which I did, but at that stage, because I was working closely with the IUCN on...</summary><category term="Digital Flapjack"></category></entry><entry><title>Vpnkit, Void Processes, LSP Servers</title><link href="https://patrick.sirref.org/weekly-2025-02-17/" rel="alternate"></link><published>2025-02-17T00:00:00Z</published><updated>2025-02-17T00:00:00Z</updated><author><name>PatrickF</name></author><id>https://patrick.sirref.org/weekly-2025-02-17/</id><summary type="html">Previous &lt;a href="https://patrick.sirref.org/weeklies/" target="_blank"&gt;weeklies&lt;/a&gt; used strong emphasis to distinguish sections. This comes from &lt;a href="https://patrick.sirref.org/forester/" target="_blank"&gt;Forester&lt;/a&gt; 's philosophy about atomicity of the content in your forest . However, subtrees are supported! I quickly hacked together the ability to use subheadings to indicate subtrees . This is strictly less expressive than the \subtree{} of &lt;a href="https://patrick.sirref.org/forester/" target="_blank"&gt;Forester&lt;/a&gt; 's default syntax as we cannot close heading sections in Markdown. This weekly uses subtrees. Vpnkit I spent some time this week trying to upgrade vpnkit to OCaml 5. I was originally working on &lt;a href="https://patrick.sirref.org/vpnkit-er/" target="_blank"&gt;a paper idea&lt;/a&gt; which might need benchmarks, but &lt;a href="https://patrick.sirref.org/anilmadhavapeddy/" target="_blank"&gt;Anil&lt;/a&gt; and I decided we could simply point to the port I did and show how it has simplified much of the code. Void Processes Work continued on implementing (and fully exploring) &lt;a href="https://patrick.sirref.org/void-process/" target="_blank"&gt;void processes&lt;/a&gt; . A lot of the groundwork already...</summary><category term="Weeklies"></category></entry><entry><title>Mon 17 Feb 2025</title><link href="https://ryan.freumh.org/2025-02-17.html" rel="alternate"></link><published>2025-02-17T00:00:00Z</published><updated>2025-02-17T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-02-17.html</id><summary type="html">Previous: &lt;a href="2025-02-10.html" target="_blank"&gt;Mon 10 Feb 2025&lt;/a&gt; Next: &lt;a href="2025-02-25.html" target="_blank"&gt;Tue 25 Feb 2025&lt;/a&gt; Babel: opam repository with &lt;a href="https://github.com/RyanGibb/pubgrub-opam" target="_blank"&gt;pubgrub-opam&lt;/a&gt; DONE &lt;a href="https://github.com/RyanGibb/pubgrub-opam/tree/main/example-repo" target="_blank"&gt;tests&lt;/a&gt; DONE &lt;a href="https://crates.io/crates/pubgrub/0.3.0-alpha.1" target="_blank"&gt;PubGrub
0.3.0&lt;/a&gt; &lt;a href="https://github.com/astral-sh/uv" target="_blank"&gt;Uv&lt;/a&gt; is using the development branch of PubGrub. There’s a lot of improvements to be had since the last release was 4 years ago. The new version bounds will cleanly express version constraints, e.g. stop converting &lt;= 1.0.0 to &lt; 1.0.0.1 It looks like we might be able to manually add conflicts with &lt;a href="https://github.com/pubgrub-rs/pubgrub/blob/23357967c6473b358ffb7c0092e9c3fc4e4c972b/src/internal/core.rs#L94" target="_blank"&gt;add_incompatibility&lt;/a&gt; Ah, actually this is an internal thing. Completed &lt;a href="https://github.com/RyanGibb/pubgrub-opam/commit/d67fcfcfd02fc1e5fb720d5f89986d895693dce4" target="_blank"&gt;here&lt;/a&gt; . DONE conjunctions and disjunctions in filtered package formula Take "D" { test &amp; &gt; "2.0.0"} as an example. We encode this as, (filtered-package-formula-variable-version, 1.0.0) -&gt; (D {(test &amp; = &gt;2.0.0)}, *) (D {(test &amp; = &gt;2.0.0)}, false) -&gt; (`test`, false) (D {(test &amp; = &gt;2.0.0)}, true) -&gt; (`test`, true), (A,...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Thoughts on the National Data Library and private research data</title><link href="https://anil.recoil.org/notes/uk-national-data-lib" rel="alternate"></link><published>2025-02-17T00:00:00Z</published><updated>2025-02-17T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/uk-national-data-lib</id><summary type="html">Over the past year, &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; and I have been getting an object lesson in how the modern Internet handles researcher access to data, as we've been downloading tens of millions of research papers towards our &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence&lt;/a&gt; project. This is legally possible via our &lt;a href="https://www.lib.cam.ac.uk/stories/student-guide-libraries" target="_blank"&gt;institutional subscriptions&lt;/a&gt; that give us license to fulltexts, and the incredibly helpful &lt;a href="https://uk.linkedin.com/in/james-caudwell-60681766" target="_blank"&gt;head of electronic services&lt;/a&gt; at the University Library who wields encyclopedic knowledge of each of our agreements with the hundreds of publishers out there. My thoughts on this then segwayed into recent conversations I've been having about the emerging &lt;a href="https://takes.jamesomalley.co.uk/p/wtf-is-the-national-data-library" target="_blank"&gt;National Data Library&lt;/a&gt; and also with the UK &lt;a href="https://www.wildlifetrusts.org/" target="_blank"&gt;Wildlife Trusts&lt;/a&gt; ... The difficulty of access controlled bulk data downloads In late 2023, once we got past the legal aspects of downloading closed access papers &lt;a href="https://anil.recoil.org/#fn-1" target="_blank"&gt;[1]&lt;/a&gt; it was still remarkably...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Using Low-cost, Research-led, Decentralised Networks</title><link href="https://watch.eeg.cl.cam.ac.uk/w/8PhivRm85jZuFg8v55yo7F" rel="alternate"></link><published>2025-02-14T16:25:58Z</published><updated>2025-02-14T16:25:58Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/8PhivRm85jZuFg8v55yo7F</id><summary type="html">Full Title: Using Low-cost, Research-led, Decentralised Networks to Increase Access to High Quality Microspatial Data on Building Stocks, and the Built and Natural Infrastructure Abstract: The Colouring Cities Research Programme (CCRP) is overseen by an informal, international academic consortium that uses its decentralized research-led network, to co-create and manage, permanent open data/visualisation platforms across countries. These provide standardised, open microspatial data on the characteristics, performance, and short/long-term dynamics of building stocks, and built and natural infrastructure. They also test feedback loops between live streaming, computational inference, and crowdsourcing approaches to improve coverage and reliability of data, and to support cross...</summary><category term="EEG Seminars"></category></entry><entry><title>BIOSPACE25 Blog</title><link href="https://ancazugo.github.io/research/outreach/2025/02/14/biospace25-blog.html" rel="alternate"></link><published>2025-02-14T00:00:00Z</published><updated>2025-02-14T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/research/outreach/2025/02/14/biospace25-blog</id><summary type="html">Day 2 My presentation (available to watch &lt;a href="https://www.youtube.com/live/e-eQ8XhRrsE?si=lv0p4CV3kdKGxmTk&amp;t=14326" target="_blank"&gt;here&lt;/a&gt; ) A couple of people approached me about deploying the Terracorder, particularly an organisation that works in training Indigenous communities in the Amazon and Kenya. (Diana Mastracci) Got asked about the technical components of the terracorder (how far can two devices be from each other?) Several people scanned the QR code, so hopefully, they will contact me. A representative of the European Commission asked about the urban tree map (Have to watch the recording because he ran away after the presentation) Poster Session Onkar did really great in his presentation. There are people who are working on using GeoFM for sustainable goals. There is a trend on using as much RS data as possible for different applications. Michael Munk from DHI...</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>`nmcli` connection to internal WiFi</title><link href="https://mort.io/blog/internalcl-wifi/" rel="alternate"></link><published>2025-02-14T00:00:00Z</published><updated>2025-02-14T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/internalcl-wifi/</id><summary type="html">Using my fancy (?) new(-ish) Linux laptop running &lt;a href="https://nixos.org/" target="_blank"&gt;NixOS&lt;/a&gt; , I finally had cause to connect to our internal Wi-Fi network. This was not entirely trivial due to the various configuration options required. So here goes, for the record, what I did as an aide memoir for me and in case it’s useful for anyone else… First, create the connection – the Wi-Fi network in question is named Internal-CL : $ sudo nmcli connection add type wifi con-name Internal-CL ssid Internal-CL Connection ' Internal-CL ' (8f1ddcc9-4b1f-4e5d-9992-522714685eb4 ) successfully added. Then, configure it: $ sudo nmcli connection edit Internal-CL = == | nmcli interactive connection editor | = == Editing existing ' 802-11-wireless ' connection: ' Internal-CL ' Type ' help ' or ' ? ' for available commands. Type ' print '...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Updated preprint on quantifying biodiversity cost of food consumption</title><link href="https://anil.recoil.org/news/2024-food-life-2" rel="alternate"></link><published>2025-02-12T00:00:00Z</published><updated>2025-02-12T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-food-life-2</id><summary type="html">We've uploaded a revised preprint on our ongoing work on quantifying the &lt;a href="https://anil.recoil.org/papers/2024-food-life" target="_blank"&gt;biodiversity cost of global food consumption&lt;/a&gt; , lead by &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-tom-ball" target="_blank"&gt;Thomas Ball&lt;/a&gt; . This is based on the &lt;a href="https://anil.recoil.org/news/2024-life-3" target="_blank"&gt;recently published&lt;/a&gt; &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;LIFE&lt;/a&gt; metric, combined with supply chain data and provenance modeling. [… &lt;a href="https://anil.recoil.org/news/2024-food-life-2" target="_blank"&gt;196 words&lt;/a&gt; ] &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-tom-ball" target="_blank"&gt;Thomas Ball&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.york.ac.uk/sei/staff/jonathan-green/" target="_blank"&gt;Jonathan Green&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , David Williams and &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; . Working paper at &lt;a href="https://www.cambridge.org/engage/coe/article-details/67a21eac81d2151a0225692b" target="_blank"&gt;Cambridge Open Engage&lt;/a&gt; . &lt;a href="https://www.cambridge.org/engage/coe/article-details/67a21eac81d2151a0225692b" target="_blank"&gt;URL&lt;/a&gt; (cambridge.org) &lt;a href="https://doi.org/10.33774/coe-2024-fl5fk-v2" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-food-life.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-food-life.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Weeknotes: 10th February 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-02-10/" rel="alternate"></link><published>2025-02-10T09:07:12Z</published><updated>2025-02-10T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-02-10/</id><summary type="html">Last week Yirgacheffe I hand't planned this, but I spent a day reworking the &lt;a href="https://github.com/quantifyearth/yirgacheffe/" target="_blank"&gt;Yigacheffe&lt;/a&gt; APIs towards what I've always thought of as the next major version interface, and had filed under "mañana" due to other work being more important. But inspired by one of the part II projects I'm supervising (final year undergrad for those not from Cambridge), I decided I really needed to fix up the APIs to make them cleaner. Yirgacheffe has some clunky parts to the API where it fails to meet the aim I have that working on maps should result in Python code that clearly follows the methodology rather than dealing with house keeping around the data. In a lot of areas I like to think I've been successful; for example, it will deal with loading in data in small chunks to as to fit within memory. But other...</summary><category term="Digital Flapjack"></category></entry><entry><title>Teaching, teaching, teaching...</title><link href="https://patrick.sirref.org/weekly-2025-02-10/" rel="alternate"></link><published>2025-02-10T00:00:00Z</published><updated>2025-02-10T00:00:00Z</updated><author><name>PatrickF</name></author><id>https://patrick.sirref.org/weekly-2025-02-10/</id><summary type="html">On paper, I don't have that many students. I teach four undergraduates (first year students at Pembroke College) &lt;a href="https://patrick.sirref.org/discrete-maths/" target="_blank"&gt;Discrete Maths&lt;/a&gt; . I supervise three third year students for their &lt;a href="https://patrick.sirref.org/part-ii-2024/" target="_blank"&gt;final year project&lt;/a&gt; and another one I co-supervise with &lt;a href="https://patrick.sirref.org/mdales/" target="_blank"&gt;Michael Dales&lt;/a&gt; . However, I do end up spending at least two full days a week on teaching. Something I really enjoy and take seriously. The time it takes is also quite unpredictable; last week for instance all the third year students had their mid-project demonstrations (a five-minute presentation in front of their peers and a few professor-types). My first year students also found two slides particularly challenging to understand from their lectures and asked if I could help explain what was going on, so I &lt;a href="https://patrick.sirref.org/dm-note.pdf" target="_blank"&gt;produced some materials for that&lt;/a&gt; . OCaml Within the OCaml universe I spent a good bit of...</summary><category term="Weeklies"></category></entry><entry><title>Mon 10 Feb 2025</title><link href="https://ryan.freumh.org/2025-02-10.html" rel="alternate"></link><published>2025-02-10T00:00:00Z</published><updated>2025-02-10T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-02-10.html</id><summary type="html">Previous: &lt;a href="2025-02-03.html" target="_blank"&gt;Mon 3 Feb 2025&lt;/a&gt; Next: &lt;a href="2025-02-17.html" target="_blank"&gt;Mon 17 Feb 2025&lt;/a&gt; Babel: solve the opam repository with &lt;a href="https://github.com/RyanGibb/pubgrub-opam" target="_blank"&gt;pubgrub-opam&lt;/a&gt; While converting the whole repository I fixed a bug in a package &lt;a href="https://github.com/ocaml/opam-repository/pull/27429" target="_blank"&gt;definition&lt;/a&gt; DONE &lt;a href="https://github.com/RyanGibb/pubgrub-opam/commit/2cb66fe1ae13bc16e1b5116948de5ee2dcba990a" target="_blank"&gt;on-demand
···
versions&lt;/a&gt; - &lt;a href="https://github.com/RyanGibb/pubgrub-opam/commit/7f941e30f5b6ea11c201e667c2aee6984606bb26" target="_blank"&gt;here&lt;/a&gt; DONE I’ve added an encoding of boolean logic in Opam’s &lt;a href="https://opam.ocaml.org/doc/Manual.html#Package-Formulas" target="_blank"&gt;package
formula&lt;/a&gt; - &lt;a href="https://github.com/RyanGibb/pubgrub-opam/commit/63f12dd256fac440d0c69a079c324855cbee224c" target="_blank"&gt;here&lt;/a&gt; We support version formula with PubGrub’s Range operations (e.g. union, intersection, etc) We support...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Satellites are getting too good for forest carbon?</title><link href="https://anil.recoil.org/notes/forests-spatial-resolution" rel="alternate"></link><published>2025-02-03T00:00:00Z</published><updated>2025-02-03T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/forests-spatial-resolution</id><summary type="html">There's a &lt;a href="https://www.science.org/doi/10.1126/science.adt6811" target="_blank"&gt;letter in Science&lt;/a&gt; today from a bunch of well known remote sensing researchers that make the unusual point that modern satellite resolution is getting too good to be accurate for forest carbon estimation. Many new satellites can resolve fine features on the landscape, and even some individual trees outside forests, but this resolution (0.3-5m) is too high for mapping forest carbon. Forest carbon has a natural resolution constraint: the size of an individual tree. To create these maps, tree data from the ground are required because there is no direct measure of tree carbon nor any way to accurately divide trees into smaller components from space. [...] Because most carbon in a forest is stored in large trees, map resolutions should at minimum exceed the crown diameter of a typical large...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Emacs</title><link href="https://ryan.freumh.org/emacs.html" rel="alternate"></link><published>2025-02-02T00:00:00Z</published><updated>2025-02-02T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/emacs.html</id><summary type="html">Published Sun 2 Feb 2025. Last update Tue 18 Feb 2025. Tags: &lt;a href="/technology.html" target="_blank"&gt;technology&lt;/a&gt; . I started using Emacs for the &lt;a href="https://www.djcbsoftware.nl/code/mu/mu4e/" target="_blank"&gt;mu4e&lt;/a&gt; mail client after using and liking the &lt;a href="https://www.djcbsoftware.nl/code/mu/" target="_blank"&gt;mu&lt;/a&gt; mail indexer on the command line (read more about my &lt;a href="mail-client.html" target="_blank"&gt;mail client
setup&lt;/a&gt; ). Similarly, I was using the &lt;a href="https://ledger-cli.org/" target="_blank"&gt;ledger-cli&lt;/a&gt; accounting system, and found the Emacs minor mode to be great. Then I got curious about Emacs &lt;a href="https://orgmode.org/" target="_blank"&gt;Org Mode&lt;/a&gt; and started using it for note taking and task management. Now I’m using Emacs as my primary development environment. I realised that configuring Emacs to my liking would be like second job, which I didn’t have the bandwidth for, so I started using the ‘distribution’ &lt;a href="https://github.com/doomemacs/doomemacs" target="_blank"&gt;Doom Emacs&lt;/a&gt; . It enables Vim bindings everywhere with &lt;a href="https://github.com/emacs-evil/evil" target="_blank"&gt;Evil Mode&lt;/a&gt; which, coming from &lt;a href="vim.html" target="_blank"&gt;Vim&lt;/a&gt; , made it much easier to get up to speed. The Emacs philosophy...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Disentangling carbon credits and offsets with contributions</title><link href="https://anil.recoil.org/notes/carbon-credits-vs-offsets" rel="alternate"></link><published>2025-02-02T00:00:00Z</published><updated>2025-02-02T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/carbon-credits-vs-offsets</id><summary type="html">The terms &lt;a href="https://en.wikipedia.org/wiki/Carbon_offsets_and_credits" target="_blank"&gt;carbon credits and carbon offsets&lt;/a&gt; are often used interchangeably, but are in fact two distinct concepts. I've spent a nice Sunday morning reading up on some &lt;a href="https://ssir.org/articles/entry/forest-contributions-carbon-offsets" target="_blank"&gt;recent articles&lt;/a&gt; that &lt;a href="https://en.wikipedia.org/wiki/Bhaskar_Vira" target="_blank"&gt;Bhaskar Vira&lt;/a&gt; sent me which introduce a third term, known as "carbon contributions" . Rather than this adding confusion, I found it helped me clarify my own thoughts on the matter, which I note down here in draft form. (Update 7th Feb: I've revised this several times after many discussions this week, especially with &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; and &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , with full list of credits in the end) What are carbon credits and offsets? A carbon credit aims to quantify the net climate benefit resulting an intervention that alters some CO2 emissions that would otherwise have gone into the atmosphere in a business-as-usual counterfactual scenario. While...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>(Neo)Vim</title><link href="https://ryan.freumh.org/vim.html" rel="alternate"></link><published>2025-02-01T00:00:00Z</published><updated>2025-02-01T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/vim.html</id><summary type="html">Published Sat 1 Feb 2025. Last update Tue 18 Feb 2025. Tags: &lt;a href="/technology.html" target="_blank"&gt;technology&lt;/a&gt; . I used to use &lt;a href="https://neovim.io/" target="_blank"&gt;Neovim&lt;/a&gt; as my main development environment. I like the fact that it’s small and fast, and that I can use it over an SSH connection. Neovim is a fork of &lt;a href="https://www.vim.org/" target="_blank"&gt;Vim&lt;/a&gt; that I use for the Lua configuration and built-in Language Server Protocol support. However, I mainly use &lt;a href="emacs.html" target="_blank"&gt;Emacs&lt;/a&gt; these days. I extensively use &lt;a href="https://github.com/emacs-evil/evil" target="_blank"&gt;evil&lt;/a&gt; (a Vi(m) compatibility layer for Emacs), so I haven’t really stopped using Vim but instead just use it inside a big Lisp machine. You can find my configuration in my &lt;a href="./nix.html" target="_blank"&gt;Nix&lt;/a&gt; OS repository &lt;a href="https://github.com/RyanGibb/nixos/tree/master/home/nvim" target="_blank"&gt;here&lt;/a&gt; . Below are my working notes on learning and using (Neo)Vim. References: :help usr_toc.txt :help index ZZ / ZQ exit with / without saving basic motions h j k l i I a A 0 $ w e b W E B...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Using computational SSDs for vector databases</title><link href="https://anil.recoil.org/ideas/computational-storage-for-vector-dbs" rel="alternate"></link><published>2025-02-01T00:00:00Z</published><updated>2025-02-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/computational-storage-for-vector-dbs</id><summary type="html">Using computational SSDs for vector databases This is an idea proposed in 2025 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . Large &lt;a href="https://en.wikipedia.org/wiki/Foundation_model" target="_blank"&gt;pre-trained models&lt;/a&gt; can be used to embed media/documents into concise vector representations with the property that vectors that are "close" to each other are semantically related. &lt;a href="https://en.wikipedia.org/wiki/Nearest_neighbor_search" target="_blank"&gt;ANN&lt;/a&gt; (Approximate Nearest Neighbour) search on these embeddings is used heavily already in &lt;a href="https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/" target="_blank"&gt;RAG&lt;/a&gt; systems for LLMs or search-by-example for satellite imagery. Right now, most ANN databases almost exclusively use memory-resident indexes to accelerate this searching. This is a showstopper for larger datasets, such as the terabytes of PDFs we have for our &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;big evidence synthesis&lt;/a&gt; project, each of which...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Deepdive into Deepseek advances</title><link href="https://anil.recoil.org/notes/deepseek-r1-advances" rel="alternate"></link><published>2025-02-01T00:00:00Z</published><updated>2025-02-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/deepseek-r1-advances</id><summary type="html">&lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; posted a link to this excellent deepdive by &lt;a href="https://www.linkedin.com/in/prasadraje/" target="_blank"&gt;Prasad Raje&lt;/a&gt; of Udemy into the advances that &lt;a href="https://deepseek.com" target="_blank"&gt;DeepSeek&lt;/a&gt; R1 has made from a perspective of the core technology. Multi-headed Latent Attention (MLA). In the famous Google " &lt;a href="https://arxiv.org/abs/1706.03762" target="_blank"&gt;Attention is all you need&lt;/a&gt; " paper, the attention block is responsible for a lot of the magic of LLMs but is also compute heavy [...] Deepseek has innovated here with Multi-headed latent attention - which essentially reduces the size of matrix multiplication applied to generate the K,V vectors that are inputs into the attention block. Combined with KV Caching, this reduces the memory needs [...] Mixture of Experts (MoE). The key idea here is that instead of feeding each token through one massive &lt;a href="https://en.wikipedia.org/wiki/Feedforward_neural_network" target="_blank"&gt;FFN&lt;/a&gt; , break down the single FFN into a number of smaller FFNs and route each token...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Affordable digitisation of insect collections using photogrammetry</title><link href="https://anil.recoil.org/ideas/digitisation-of-insects" rel="alternate"></link><published>2025-02-01T00:00:00Z</published><updated>2025-02-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/digitisation-of-insects</id><summary type="html">Affordable digitisation of insect collections using photogrammetry This is an idea proposed in 2025 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://www.cambridgephilosophicalsociety.org/funding/henslow-fellows/dr-tiffany-ki" target="_blank"&gt;Tiffany Ki&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-edgar-turner" target="_blank"&gt;Edgar Turner&lt;/a&gt; . Insects dominate animal biodiversity and are sometimes called " &lt;a href="https://faculty.washington.edu/timbillo/Readings%20and%20documents/ABRIDGED%20READINGS%20for%20PERU/Wilson_1987_Little_things_that_run.pdf" target="_blank"&gt;the little things that run the world&lt;/a&gt; ". They play a disproportionate role in ecosystem functioning, are highly sensitive to environmental change and often considered to be early indicators of responses in other taxa. There is widespread concern about global insect declines &lt;a href="https://anil.recoil.org/#fn-1" target="_blank"&gt;[1]&lt;/a&gt; yet the evidence behind such declines is highly biassed towards the Global North and much is drawn from short-term biodiversity datasets &lt;a href="https://anil.recoil.org/#fn-2" target="_blank"&gt;[2]&lt;/a&gt; &lt;a href="https://anil.recoil.org/#fn-3" target="_blank"&gt;[3]&lt;/a&gt; . The &lt;a href="https://www.museum.zoo.cam.ac.uk/insects" target="_blank"&gt;Insect Collection&lt;/a&gt; at the University Museum of Zoology, Cambridge...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>How to publish custom Homebrew taps for OCaml</title><link href="https://anil.recoil.org/notes/custom-homebrew-taps" rel="alternate"></link><published>2025-01-31T00:00:00Z</published><updated>2025-01-31T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/custom-homebrew-taps</id><summary type="html">Now that I've &lt;a href="https://anil.recoil.org/notes/bushel-lives" target="_blank"&gt;switched&lt;/a&gt; to a new website, I'm working on open-sourcing its components. I've got a lot of small OCaml scripts that are all work-in-progress, and so not quite suitable to be published to the &lt;a href="https://github.com/ocaml/opam-repository" target="_blank"&gt;central opam-repository&lt;/a&gt; but I still need be able to run them conveniently on my own &lt;a href="https://anil.recoil.org/" target="_blank"&gt;self-hosted&lt;/a&gt; infrastructure. I mainly use a variety of macOS and Linux hosts &lt;a href="https://anil.recoil.org/#fn-1" target="_blank"&gt;[1]&lt;/a&gt; and I want a workflow as simple as " brew install avsm/ocaml/srcsetter " and have it install a working binary version of my CLI utility. In this case, it's &lt;a href="https://github.com/avsm/srcsetter" target="_blank"&gt;srcsetter&lt;/a&gt; , a simple tool I knocked up to generate the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Responsive_images" target="_blank"&gt;responsive images&lt;/a&gt; on this website. Luckily, Homebrew has made this really easy for us! They have a &lt;a href="https://docs.brew.sh/BrewTestBot" target="_blank"&gt;BrewTestBot&lt;/a&gt; that integrates with GitHub Actions to automate the compilation of binary packages for us, all from a convenient PR-like...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>PhD viva, UK style</title><link href="https://mort.io/blog/phd-viva/" rel="alternate"></link><published>2025-01-31T00:00:00Z</published><updated>2025-01-31T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/phd-viva/</id><summary type="html">Having recently, happily, had several PhD students completing in short order, I’ve been approaching external PhD examiners. Occasionally I find myself asking someone who’s not done any / many in the UK previously. As our system – as all such systems! – is a bit different to those in other parts of the world, I’ve written a few notes on a couple of occasions about what to expect. So I figured I might as well publish them. What follows is my impression / understanding based on experience here in the &lt;a href="https://www.cst.cam.ac.uk/" target="_blank"&gt;Department of Computer Science &amp; Technology&lt;/a&gt; , &lt;a href="https://www.cam.ac.uk/" target="_blank"&gt;Cambridge University&lt;/a&gt; ca. 2025. Your Mileage May Vary anywhen and anywhere else, including anywhere else in the UK – check local regulations to be sure. In terms of process, the system here is that candidates submit their complete dissertation and then undergo a “viva voce” (oral examination)....</summary><category term="mort’s mythopœia"></category></entry><entry><title>Position paper on scientifically credible carbon credits</title><link href="https://anil.recoil.org/notes/credible-credit-principles" rel="alternate"></link><published>2025-01-30T00:00:00Z</published><updated>2025-01-30T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/credible-credit-principles</id><summary type="html">My colleagues &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; and &lt;a href="https://www.cst.cam.ac.uk/people/eft20" target="_blank"&gt;Eleanor Toye Scott&lt;/a&gt; lead the publication of a comprehensive &lt;a href="https://www.cambridge.org/engage/coe/article-details/679385946dde43c9082f7009" target="_blank"&gt;report&lt;/a&gt; of the steps the voluntary carbon market needs to take to restore its scientific credibility, with input from many of us in &lt;a href="https://anil.recoil.org/projects/4c" target="_blank"&gt;4C&lt;/a&gt; and beyond. establishing common standards for carbon quantification and accounting, to cover additionality, leakage and permanence. avoiding perverse incentives and align the motivations of all stakeholders with high-integrity outcomes. [...] issuing all carbon credits based on trusted primary observations. making all the data needed to reproduce carbon calculations available in standard file formats. [...] reporting social and biodiversity dimensions of projects separately from carbon calculations. integrating DMRV methods into carbon and biodiversity accounting...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Arise Bushel, my sixth generation oxidised website</title><link href="https://anil.recoil.org/notes/bushel-lives" rel="alternate"></link><published>2025-01-29T00:00:00Z</published><updated>2025-01-29T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/bushel-lives</id><summary type="html">This website has been through quite a few iterations over the years. The first version in 1998 was written in Perl and hosted on &lt;a href="https://anil.recoil.org/" target="_blank"&gt;OpenBSD&lt;/a&gt; ; the second was rewritten in 2000 when I &lt;a href="https://anil.recoil.org/notes/commit-access-to-php" target="_blank"&gt;got commit access to PHP&lt;/a&gt; ; the third rewrite became a hybrid OCaml/PHP/Perl special in 2004 in &lt;a href="https://en.wikipedia.org/wiki/Blosxom" target="_blank"&gt;Blosxom&lt;/a&gt; ; then the forth rewrite around 2013 got turned into a &lt;a href="https://anil.recoil.org/projects/unikernels" target="_blank"&gt;unikernel&lt;/a&gt; in MirageOS; then the &lt;a href="https://web.archive.org/web/20220118200046/https://anil.recoil.org/" target="_blank"&gt;fifth&lt;/a&gt; in 2019 then transitioned to an OCaml static site generator hosted on a prerelease &lt;a href="https://github.com/avsm/eeww" target="_blank"&gt;multicore OCaml webserver&lt;/a&gt; . So the sixth generation now needs something to continue the grand &lt;a href="https://en.wikipedia.org/wiki/Rube_Goldberg_machine" target="_blank"&gt;Rube Goldberg&lt;/a&gt; tradition of helping me learn the latest and greatest in systems technology. And so here it is! The site is now written in a bleeding-edge unreleased variant of OCaml with extensions based around &lt;a href="https://blog.janestreet.com/icfp-2024-index/" target="_blank"&gt;Rust-like type system features&lt;/a&gt; activated, including rather exciting...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>AT Protocol and an IR for Wikis</title><link href="https://patrick.sirref.org/weekly-2025-01-27/" rel="alternate"></link><published>2025-01-27T00:00:00Z</published><updated>2025-01-27T00:00:00Z</updated><author><name>PatrickF</name></author><id>https://patrick.sirref.org/weekly-2025-01-27/</id><summary type="html">AT Protocol This week I've been diving into the &lt;a href="https://atproto.com/" target="_blank"&gt;AT Protocol&lt;/a&gt; . The Authenticated Transfer Protocol, aka atproto, is a decentralized protocol for large-scale social web applications. The protocol could be a candidate for the glue that holds together a distributed, computational wiki network. The protocol, it seems, is very similar to &lt;a href="https://patrick.sirref.org/ipfs/" target="_blank"&gt;IPFS&lt;/a&gt; . Thankfully, a few years ago, I was working on building out a suite of OCaml libraries for working with &lt;a href="https://patrick.sirref.org/ipfs/" target="_blank"&gt;IPFS&lt;/a&gt; . For example, &lt;a href="https://github.com/patricoferris/ocaml-cid" target="_blank"&gt;ocaml-cid&lt;/a&gt; , self-describing content-addressed identifiers. # let s = " zb2rhe5P4gXftAwvA4eXQ5HJwsER2owDyS9sKaQRRVQPn93bA " ; ; val s : string = " zb2rhe5P4gXftAwvA4eXQ5HJwsER2owDyS9sKaQRRVQPn93bA " # let cid = Cid . of_string s |&gt; Result . get_ok ; ; val cid : Cid . t = &lt; abstr &gt; # Cid . pp_human Format . std_formatter...</summary><category term="Weeklies"></category></entry><entry><title>Mon 27 Jan 2025</title><link href="https://ryan.freumh.org/2025-01-27.html" rel="alternate"></link><published>2025-01-27T00:00:00Z</published><updated>2025-01-27T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-01-27.html</id><summary type="html">Previous: &lt;a href="2025-01-20.html" target="_blank"&gt;Mon 20 Jan 2025&lt;/a&gt; Next: &lt;a href="2025-02-03.html" target="_blank"&gt;Mon 3 Feb 2025&lt;/a&gt; babel DONE &lt;a href="https://github.com/RyanGibb/hyperres-pubgrub/tree/main/multiversion-features" target="_blank"&gt;multi-version
-
optional dependencies&lt;/a&gt; for PubGrub Which as far as I can tell hasn’t been done before. PubGrub opam dependency provider DONE json representation of opam repositories using &lt;a href="https://github.com/tweag/opam2json" target="_blank"&gt;opam2json&lt;/a&gt; DONE parse json representation to rust using &lt;a href="https://serde.rs/" target="_blank"&gt;serde&lt;/a&gt; TODO minimal example DONE &lt;a href="https://github.com/RyanGibb/pubgrub-opam/blob/main/src/opam_version.rs" target="_blank"&gt;opam_version.rs&lt;/a&gt; done and MVP with integer versions, but the full ordering is complicated DONE &lt;a href="https://github.com/RyanGibb/pubgrub-opam/blob/main/src/index.rs" target="_blank"&gt;index.rs&lt;/a&gt; DONE &lt;a href="https://github.com/RyanGibb/pubgrub-opam/blob/main/src/opam_deps.rs" target="_blank"&gt;opam_deps.rs&lt;/a&gt; DONE &lt;a href="https://github.com/RyanGibb/pubgrub-opam/blob/main/src/main.rs" target="_blank"&gt;main.rs&lt;/a&gt; TODO proper opam version parsing (a la Debian) &lt;a href="https://opam.ocaml.org/doc/Manual.html#Version-ordering" target="_blank"&gt;https://opam.ocaml.org/doc/Manual.html#Version-ordering&lt;/a&gt; TODO conflicts TODO boolean logic (package formula) TODO features (optional dependencies) TODO parse repo on the fly in the dependency provider TODO create babel-repository and babel-solver TODO explore error reporting in these exotic encodings what is the research advance here? tool to solve across...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Fontsizing in LaTeX</title><link href="https://mort.io/blog/fontsizing/" rel="alternate"></link><published>2025-01-24T00:00:00Z</published><updated>2025-01-24T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/fontsizing/</id><summary type="html">I recently had colleagues hit an issue that I have hit myself in the past, and so I finally decided to figure out a fix. Specifically, when building EPSRC research proposals in LaTeX, getting a complaint that the font size is non compliant – it should be 11pt Arial, but the standard LaTeX options generate something slightly smaller, with Adobe Acrobat and Microsoft tools both reporting a size of 10.45pt or so. One proposed solution was the to add the following in the preamble: \ usepackage { anyfontsize } \ AtBeginDocument { \ fontsize { 11bp } { 13.35bp } \ selectfont } …but that did not work unfortunately. After some poking about and staring at output and searching the interwebs, it appears that this was triggered, at least for me, by the &lt;a href="https://ctan.org/pkg/fontspec" target="_blank"&gt;fontspec&lt;/a&gt; package that was being used to sort...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Updated preprint on LLMs for evidence-based decision support</title><link href="https://anil.recoil.org/news/2024-ce-llm-2" rel="alternate"></link><published>2025-01-23T00:00:00Z</published><updated>2025-01-23T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-ce-llm-2</id><summary type="html">We have just updated our &lt;a href="https://anil.recoil.org/papers/2024-ce-llm" target="_blank"&gt;preprint&lt;/a&gt; on using LLMs for evidence decision support with more evaluation results and corrections from peer review. Our findings suggest that, with careful domain-specific design, LLMs could potentially be powerful tools for enabling expert-level use of evidence syntheses and databases. However, general LLMs used "out-of-the-box" are likely to perform poorly and misinform decision-makers. By establishing that LLMs exhibit comparable performance with human synthesis experts on providing restricted responses to queries of evidence syntheses and databases, future work can build on our approach to quantify LLM performance in providing open-ended responses. See also the fantastic &lt;a href="https://watch.eeg.cl.cam.ac.uk/w/ijC1E36q7fn2qwxs7opSJq" target="_blank"&gt;EEG seminar talk&lt;/a&gt; that the student group who worked on this over the summer gave towards the...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Forester, ICFP, Wikis</title><link href="https://patrick.sirref.org/weekly-2025-01-20/" rel="alternate"></link><published>2025-01-20T00:00:00Z</published><updated>2025-01-20T00:00:00Z</updated><author><name>PatrickF</name></author><id>https://patrick.sirref.org/weekly-2025-01-20/</id><summary type="html">This week was my first full week back from the break and I found it challenging trying to get back into what I had been working on previously. ICFP Papers In conversation with &lt;a href="https://patrick.sirref.org/anilmadhavapeddy/" target="_blank"&gt;Anil&lt;/a&gt; , we looked at options for submitting a paper to ICFP. I wrote up some notes on some options &lt;a href="https://patrick.sirref.org/icfp25-ideas/" target="_blank"&gt;we discussed&lt;/a&gt; . Forester I spent some time this week converting this website to using &lt;a href="https://www.jonmsterling.com/foreign-forester-jms-005P.xml" target="_blank"&gt;Forester&lt;/a&gt; . I'm not a huge fan of the syntax, especially as a lot of my site's content was already in markdown. So I wrote a markdown frontend to forester which is &lt;a href="https://github.com/patricoferris/ocaml-forester/tree/markdown" target="_blank"&gt;available on Github&lt;/a&gt; . The markdown frontend integrates very nicely and only a few changes were needed in the core logic of &lt;a href="https://patrick.sirref.org/forester/" target="_blank"&gt;Forester&lt;/a&gt; itself. Additionally, for any features not directly supported in markdown there is an escape hatch using code blocks such as: ```forester...</summary><category term="Weeklies"></category></entry><entry><title>Mon 20 Jan 2025</title><link href="https://ryan.freumh.org/2025-01-20.html" rel="alternate"></link><published>2025-01-20T00:00:00Z</published><updated>2025-01-20T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-01-20.html</id><summary type="html">Previous: &lt;a href="2025-01-13.html" target="_blank"&gt;Mon 13 Jan 2025&lt;/a&gt; Next: &lt;a href="2025-01-27.html" target="_blank"&gt;Mon 27 Jan 2025&lt;/a&gt; babel DONE PubGrub multi-version optional dependencies TODO reread &lt;a href="2024-splash-hyperres-review.html" target="_blank"&gt;file:2024-splash-hyperres-review.md&lt;/a&gt; TODO spatial DSL paragraphs for Roy met with Roy and gave him the gist bidirectional lens uv PubGrub index uv toolchains - special cross compiling get rid of conflicts name fusing - 1 to n home url metadata source archive many to many hashes download them all – find a backdoor explore and splunk keep eyes open demons lurking in this Spatial Name System Sensor Networks TODO try capnproto esp32 if that doesn’t work try ocaml-esp32 on ocaml 4 if that doesn’t work try ocaml 5 for risc-v Spatial DLS ICFP functional perl TODO read &lt;a href="#ref-elliottFunctionalReactiveAnimation1997" target="_blank"&gt;[1]&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/Functional_reactive_programming" target="_blank"&gt;https://en.wikipedia.org/wiki/Functional_reactive_programming&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/Reactive_programming" target="_blank"&gt;https://en.wikipedia.org/wiki/Reactive_programming&lt;/a&gt; TODO create a spatial DSL afternoon write out a DSL cotrol lights DSL capnroto vs DNS dsl walk lights effects capnproto...</summary><category term="ryan.freumh.org"></category></entry><entry><title>`just` LaTeX it!</title><link href="https://mort.io/blog/just-latex/" rel="alternate"></link><published>2025-01-18T00:00:00Z</published><updated>2025-01-18T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/just-latex/</id><summary type="html">I have recently become a fan of &lt;a href="https://just.systems/" target="_blank"&gt;just&lt;/a&gt; as a replacement for the venerable &lt;a href="https://www.gnu.org/software/make/manual/make.html" target="_blank"&gt;make&lt;/a&gt; . I find that nowadays I rarely need the built-in dependency rules that &lt;a href="https://www.gnu.org/software/make/manual/make.html" target="_blank"&gt;make&lt;/a&gt; provides. Perhaps more radically, I also rarely need to write my own as the prevelance of format-specific build tools such as &lt;a href="https://doc.rust-lang.org/stable/cargo/" target="_blank"&gt;cargo&lt;/a&gt; , &lt;a href="https://docs.astral.sh/uv/" target="_blank"&gt;uv&lt;/a&gt; , &lt;a href="https://ctan.org/pkg/latexmk/" target="_blank"&gt;latexmk&lt;/a&gt; and the like mean I don’t need to write my own either. Recently, while writing references and then helping out get submissions for &lt;a href="https://www.cl.cam.ac.uk/events/rossfest/" target="_blank"&gt;Rossfest&lt;/a&gt; consistently formatted and building cleanly, I found myself extending my various &lt;a href="https://just.systems/" target="_blank"&gt;just&lt;/a&gt; targets for &lt;a href="https://www.latex-project.org/" target="_blank"&gt;LaTeX&lt;/a&gt; . So I thought I’d document them here. I always begin my Justfile with the apparently idiomatic “just show me the targets and associated help text” target: _default : @ just --list This seems considerably...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mon 13 Jan 2025</title><link href="https://ryan.freumh.org/2025-01-13.html" rel="alternate"></link><published>2025-01-13T00:00:00Z</published><updated>2025-01-13T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-01-13.html</id><summary type="html">Previous: &lt;a href="2025-01-06.html" target="_blank"&gt;Mon 6 Jan 2025&lt;/a&gt; Next: &lt;a href="2025-01-20.html" target="_blank"&gt;Mon 20 Jan 2025&lt;/a&gt; babel TODO opam-repo maps [2/3] DONE &lt;a href="https://github.com/mtelvers/pacman2opam/" target="_blank"&gt;https://github.com/mtelvers/pacman2opam/&lt;/a&gt; it seems like firefox doesn’t install _build/default/bin/main.exe --repo /dev/shm/packages pacman-firefox [ERROR] No solution Can't find all required versions. Selected: pacman-acl.2.3.2-1 pacman-adobe-source-code-pro-fonts.2.042u+1.062i+1.026vf-2 pacman-adwaita-cursors.47.0-1 pacman-adwaita-icon-theme.47.0-1 pacman-adwaita-icon-theme-legacy.46.2-3 pacman-alsa-lib.1.2.13-1 pacman-alsa-topology-conf.1.2.5.1-4 pacman-alsa-ucm-conf.1.2.13-2 pacman-aom.3.11.0-1 pacman-at-spi2-core.2.54.1-1 pacman-attr.2.5.2-1 pacman-audit.4.0.2-3 pacman-avahi.1_0.8+r194+g3f79789-3 pacman-bash.5.2.037-1 pacman-brotli.1.1.0-3 pacman-bzip2.1.0.8-6 pacman-ca-certificates.20240618-1 pacman-ca-certificates-mozilla.3.107-1...</summary><category term="ryan.freumh.org"></category></entry><entry><title>LIFE metric published in Royal Society Phil Trans B</title><link href="https://anil.recoil.org/news/2024-life-3" rel="alternate"></link><published>2025-01-09T00:00:00Z</published><updated>2025-01-09T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-life-3</id><summary type="html">After some years of hard work, our &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;Mapping LIFE on Earth&lt;/a&gt; biodiversity metric was published today in a &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;special issue&lt;/a&gt; of the Royal Society Philosophical Transactions B! The idea behind LIFE is that although human-driven habitat loss is known to be the greatest cause of the &lt;a href="https://www.unep.org/facts-about-nature-crisis" target="_blank"&gt;biodiversity crisis&lt;/a&gt; , we do not yet have robust spatially explicit metrics that quantify the relative impacts of human actions on species extinctions. And that's what LIFE provides: a way to compare the relative impacts of some landuse anywhere in the world, in a manner that is globally applicable. [… &lt;a href="https://anil.recoil.org/news/2024-life-3" target="_blank"&gt;409 words&lt;/a&gt; ] &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-tom-ball" target="_blank"&gt;Thomas Ball&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/andy-arnell/" target="_blank"&gt;Andy Arnell&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/daniele-baisero/" target="_blank"&gt;Daniele Baisero&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/paz-duran/" target="_blank"&gt;América Paz Durán&lt;/a&gt; , &lt;a href="https://www.york.ac.uk/sei/staff/jonathan-green/" target="_blank"&gt;Jonathan Green&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/rhys-green" target="_blank"&gt;Rhys Green&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; . Journal paper in &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;Philosophical Transactions of the Royal Society&lt;/a&gt; (vol 380 issue 1917). &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;URL&lt;/a&gt;...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 6 Jan 2025</title><link href="https://ryan.freumh.org/2025-01-06.html" rel="alternate"></link><published>2025-01-06T00:00:00Z</published><updated>2025-01-06T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-01-06.html</id><summary type="html">Previous: &lt;a href="2024-12-30.html" target="_blank"&gt;Mon 30 Dec 2024&lt;/a&gt; Next: &lt;a href="2025-01-13.html" target="_blank"&gt;Mon 13 Jan 2025&lt;/a&gt; STRT read PubGrub docs &lt;a href="https://github.com/dart-lang/pub/blob/master/doc/solver.md" target="_blank"&gt;https://github.com/dart-lang/pub/blob/master/doc/solver.md&lt;/a&gt; is this actually being used for cargo? &lt;a href="https://rust-lang.zulipchat.com/#narrow/channel/260232-t-cargo.2FPubGrub/topic/feature.20resolution" target="_blank"&gt;feature
resolution&lt;/a&gt; ah, &lt;a href="https://github.com/astral-sh/uv" target="_blank"&gt;uv&lt;/a&gt; TODO read &lt;a href="#ref-cabreraSelfsustainingSoftwareSystems2024" target="_blank"&gt;[1]&lt;/a&gt; [1] C. Cabrera, A. Paleyes, and N. D. Lawrence, “Self-sustaining Software Systems ( S4 ): Towards Improved Interpretability and Adaptation ,” Jan. 21, 2024. [Online]. Available: &lt;a href="http://arxiv.org/abs/2401.11370" target="_blank"&gt;http://arxiv.org/abs/2401.11370&lt;/a&gt; . [Accessed: Jan. 15, 2025]</summary><category term="ryan.freumh.org"></category></entry><entry><title>Introducing `bibtox`</title><link href="https://mort.io/blog/bibtox/" rel="alternate"></link><published>2025-01-03T00:00:00Z</published><updated>2025-01-03T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/bibtox/</id><summary type="html">After some time using various tools and scripts to format and sort my files of BibTeX/BibLaTeX entries, I finally gave up back in March and &lt;a href="https://github.com/mor1/bibtox" target="_blank"&gt;wrote one myself
-
– bibtox&lt;/a&gt; . This replaced some very nasty combination of server-side &lt;a href="https://github.com/mor1/bibtox/blob/83eda34bc9e79bd5251b1ae9623b5e905532c599/bib2json.py" target="_blank"&gt;Python&lt;/a&gt; and in-page &lt;a href="https://github.com/mor1/bibtox/blob/83eda34bc9e79bd5251b1ae9623b5e905532c599/papers.coffee" target="_blank"&gt;CoffeeScript&lt;/a&gt; , plus a third-party tool &lt;a href="https://github.com/backtracking/bibtex2html" target="_blank"&gt;bib2bib&lt;/a&gt; I would run on an ad hoc basis. Per the &lt;a href="https://github.com/mor1/bibtox/blob/main/README.md" target="_blank"&gt;README&lt;/a&gt; , this processes either a stream of entries on stdin or a set of files arranged into sections specified by a simple configuration file. It outputs sorted or unsorted, either as canonicalised entries or marked up HTML. And it means that, hopefully, finally, my list of publications on this site is consistently formatted and sorted. Completeness is, of course, a process rather than a state so achieving that is left for other times and places. &lt;a href="https://github.com/mor1/bibtox/issues" target="_blank"&gt;Issues&lt;/a&gt; or...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mon 30 Dec 2024</title><link href="https://ryan.freumh.org/2024-12-30.html" rel="alternate"></link><published>2024-12-30T00:00:00Z</published><updated>2024-12-30T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-12-30.html</id><summary type="html">Previous: &lt;a href="2024-12-16.html" target="_blank"&gt;Mon 16 Dec 2024&lt;/a&gt; Next: &lt;a href="2025-01-06.html" target="_blank"&gt;Mon 6 Jan 2025&lt;/a&gt; TODO Spatial Name System camera traps on 4g network no local connectivity what if we could resolve our location to a domain which we could resolve to link local addresses? naming discoverability</summary><category term="ryan.freumh.org"></category></entry><entry><title>Retreat from TUM</title><link href="https://mort.io/blog/tum-retreat/" rel="alternate"></link><published>2024-12-18T00:00:00Z</published><updated>2024-12-18T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/tum-retreat/</id><summary type="html">Ok, ok, I exaggerate – it’s not really that far. But any time I have to set the alarm for 02.30, it feels like it’s a long long way away! &lt;a href="https://www.ce.cit.tum.de/cm/research-group/" target="_blank"&gt;TU Munchen&lt;/a&gt; host an &lt;a href="https://www.ce.cit.tum.de/cm/events/mir3/" target="_blank"&gt;annual
retreat&lt;/a&gt; , and thanks to &lt;a href="https://www.ce.cit.tum.de/cm/research-group/joerg-ott/" target="_blank"&gt;Prof. Joerg
Ott&lt;/a&gt; I was invited this year for the first time. It’s held in TUM’s &lt;a href="https://www.raitenhaslach.tum.de/en/raitenhaslach/home/" target="_blank"&gt;Retreat Centre at
Raitenhaslach&lt;/a&gt; , originally a Cistercian monastery which is a lovely location except that it’s a bus ride from the hotel used and a bus and three trains from the nearest airport – which is, mildly confusingly, &lt;a href="https://www.salzburg-airport.com/en/" target="_blank"&gt;Salzburg&lt;/a&gt; not &lt;a href="https://www.munich-airport.com/" target="_blank"&gt;Munich&lt;/a&gt; . The latter point made me assume that there would be good directions via public transport from Salzburg, but that turned out not to be the case. And as Google Maps is, at best, patchy in terms of public transport coverage in this part of the world – it doesn’t know about all the buses at least – I thought...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mon 16 Dec 2024</title><link href="https://ryan.freumh.org/2024-12-16.html" rel="alternate"></link><published>2024-12-16T00:00:00Z</published><updated>2024-12-16T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-12-16.html</id><summary type="html">Previous: &lt;a href="2024-12-02.html" target="_blank"&gt;Mon 2 Dec 2024&lt;/a&gt; Next: &lt;a href="2024-12-30.html" target="_blank"&gt;Mon 30 Dec 2024&lt;/a&gt; babel opam-repo maps TODO hyperres needs a file format TODO get a JSON format, including version formula opam formulas variables as packages boolean algebra represeted with disjuntions etc I’m wrestling with the problem of expressivity of package managers. What is representable in a SAT problem is consistent across package managers, but there are varying degrees of pre-processing in DSL in different ecosystems. For example, Debian has a pretty simple language for expressing dependency constraints, but Nix has the Nix DSL, opam has filters and variables. These are basically a way of expressing the constraint language with various degrees of pre-processing. It’s fine to unify the decision problem representations, but how can we unify the different...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Optimising Sustainable Energy with Functional Programming</title><link href="https://watch.eeg.cl.cam.ac.uk/w/feDup1JutmgQkC6ipGF9r5" rel="alternate"></link><published>2024-12-13T18:23:12Z</published><updated>2024-12-13T18:23:12Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/feDup1JutmgQkC6ipGF9r5</id><summary type="html">Abstract: This talk describes some results from a collaboration between Computer Science, Physics, and Climate Impact Research on theories and tools for performance optimisation of strongly coupled physical systems with a large parameter space. The first part of the talk discusses computing optimal policies; we have used these techniques for climate decisions and for fusion energy designs. The second part of the talk will focus on one particularly important concept: the Pareto-front, which mathematically captures the trade-offs between two (or more) conflicting objectives. The core object of study is an expensive black-box function computing multiple objectives, for which we approximate the Pareto front using adaptive mesh refinement. Bio: Patrik Jansson is a professor in the Computer...</summary><category term="EEG Seminars"></category></entry><entry><title>The Partially Dynamic Web</title><link href="https://digitalflapjack.com/blog/the-partially-dynamic-web/" rel="alternate"></link><published>2024-12-08T11:59:48Z</published><updated>2024-12-08T11:59:48Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/the-partially-dynamic-web/</id><summary type="html">Background I have three websites (this one, my &lt;a href="https://mynameismwd.org/" target="_blank"&gt;personal site&lt;/a&gt; , and one for &lt;a href="https://mwdales-guitars.uk/" target="_blank"&gt;my luthiery endeavours&lt;/a&gt; ), and despite each starting out with a different technology stack, for the last few years I’d migrated them all to the &lt;a href="https://gohugo.io" target="_blank"&gt;Hugo static site generator&lt;/a&gt; , as a way of making it easier for me to mess around with. Without a fixed database, I could more easily readily structure the content as I wanted it, I had more freedom over templating, and ultimately it’s less resource intensive to compile the site occasionally and just serve static files than keep dynamic infrastructure running for what is a set of low traffic websites. At least in theory, we’ll come back to this last point. Like most static site generators, Hugo uses a system called &lt;a href="https://gohugo.io/content-management/front-matter/" target="_blank"&gt;Front matter&lt;/a&gt; , where you store each page as a &lt;a href="https://en.wikipedia.org/wiki/Markdown" target="_blank"&gt;markdown file&lt;/a&gt; of content, and some &lt;a href="https://en.wikipedia.org/wiki/YAML" target="_blank"&gt;YAML&lt;/a&gt; at the...</summary><category term="Digital Flapjack"></category></entry><entry><title>Smart Grid Trust Assessment</title><link href="https://watch.eeg.cl.cam.ac.uk/w/uFyApvuvALLv66D7x36FEr" rel="alternate"></link><published>2024-12-06T16:40:43Z</published><updated>2024-12-06T16:40:43Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/uFyApvuvALLv66D7x36FEr</id><summary type="html">Abstract: Energy systems are highly complex. State determination and detection of anomalies, faults or even attacks are only possible to a limited extent with traditional approaches. This talk will investigate how such systems can be planned and operated in the future in the area of conflict between high automation and trust by human operators. Bio: Sebastian Lehnhoff is a Full Professor of Energy Informatics at the University of Oldenburg. He received his doctorate at the TU Dortmund University in 2009. Prof. Lehnhoff is chairman of the board of the OFFIS Institute for Information Technology and speaker of its Energy R&amp;D division. He is a board member of the section „Energy Informatics“ within the German Informatics Society (GI) as well as an active member of numerous committees and...</summary><category term="EEG Seminars"></category></entry><entry><title>Horizon scan on AI and conservation published</title><link href="https://anil.recoil.org/news/2024-ai-conhorizon-1" rel="alternate"></link><published>2024-12-05T00:00:00Z</published><updated>2024-12-05T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-ai-conhorizon-1</id><summary type="html">Back in July 2024, a large group of conservation and computer scientists got together in the &lt;a href="https://conservation.cam.ac.uk" target="_blank"&gt;CCI&lt;/a&gt; to prioritise the storm of AI-related projects that have been kicking off around the world. Our key goal was to harness AI to accelerate the positive impact of conservation efforts, while minimising harm caused through either the direct or indirect use of AI technologies. The first horizon scan resulting from this has just been published in Trends in Ecology and Evolution. If you're looking for a gentle introduction to some of the terms in AI from a non-experts perspective, the first section does a good job of defining a glossary as well. [… &lt;a href="https://anil.recoil.org/news/2024-ai-conhorizon-1" target="_blank"&gt;118 words&lt;/a&gt; ] &lt;a href="https://samreynolds.org/" target="_blank"&gt;Sam Reynolds&lt;/a&gt; , &lt;a href="https://beerys.github.io" target="_blank"&gt;Sara Beery&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/professor-neil-burgess/" target="_blank"&gt;Neil Burgess&lt;/a&gt; , &lt;a href="https://profiles.imperial.ac.uk/m.burgman" target="_blank"&gt;Mark Burgman&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/stuart-butchart" target="_blank"&gt;Stuart Butchart&lt;/a&gt; , &lt;a href="https://carleton.ca/biology/people/steven-j-cooke/" target="_blank"&gt;Steven J. Cooke&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://www.framework-biodiversity.eu/team/dr-finn-danielsen" target="_blank"&gt;Finn Danielsen&lt;/a&gt; , &lt;a href="https://researchportal.helsinki.fi/en/persons/enrico-di-minin" target="_blank"&gt;Enrico Di Minin&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/paz-duran/" target="_blank"&gt;América Paz Durán&lt;/a&gt; ,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 2 Dec 2024</title><link href="https://ryan.freumh.org/2024-12-02.html" rel="alternate"></link><published>2024-12-02T00:00:00Z</published><updated>2024-12-02T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-12-02.html</id><summary type="html">Previous: &lt;a href="2024-11-18.html" target="_blank"&gt;Mon 18 Nov 2024&lt;/a&gt; Next: &lt;a href="2024-12-16.html" target="_blank"&gt;Mon 16 Dec 2024&lt;/a&gt; got dodo working again &lt;a href="https://github.com/RyanGibb/eon/commit/02176dcb6bd05ae13c0e4187c0dd8873ceff979f" target="_blank"&gt;https://github.com/RyanGibb/eon/commit/02176dcb6bd05ae13c0e4187c0dd8873ceff979f&lt;/a&gt; but reflecting on it, I don’t think it’s a good use of time eon capability interface added a shell capability to eon &lt;a href="https://github.com/RyanGibb/eon/commit/f6c3b13855b0ff9e09b96ccfd2b0b27591390f14#diff-b498faffd1d896b75bce4fc925bfaa48934b8cdb9de9f52d9e8d276ab9161fca" target="_blank"&gt;https://github.com/RyanGibb/eon/commit/f6c3b13855b0ff9e09b96ccfd2b0b27591390f14#diff-b498faffd1d896b75bce4fc925bfaa48934b8cdb9de9f52d9e8d276ab9161fca&lt;/a&gt; now if we could add stun/turn etc…</summary><category term="ryan.freumh.org"></category></entry><entry><title>Towards verifiable, privacy-preserving carbon emissions claims</title><link href="https://anil.recoil.org/news/2024-loco-emissions-1" rel="alternate"></link><published>2024-12-01T00:00:00Z</published><updated>2024-12-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-loco-emissions-1</id><summary type="html">Customers of online services may want to take carbon emissions into account when deciding which service to use, but it's currently difficult to do so due to the lack of reliable emissions data that is comparable across online services. There's a lot of muddled data out there, and calculating accurate carbon emissions across a computing pipeline involves a number of stakeholders, none of whom are incentivised to accurately report their emissions for competitive reasons! In this &lt;a href="https://locos.codeberg.page/loco2024/" target="_blank"&gt;LOCO&lt;/a&gt; paper, &lt;a href="https://www.cst.cam.ac.uk/people/psjm3" target="_blank"&gt;Jessica Man&lt;/a&gt; lead our exploration of mechanisms to support verifiable and privacy-preserving emissions reporting across a chain of energy suppliers, cloud data centres, virtual machine hosting services providers and cloud services providers. The idea is that all of this can ultimately be exposed to...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Towards a frugal userspace for Linux</title><link href="https://anil.recoil.org/news/2024-loco-shark-1" rel="alternate"></link><published>2024-12-01T00:00:00Z</published><updated>2024-12-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-loco-shark-1</id><summary type="html">All the work we've been doing on biodiversity (such as &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;LIFE&lt;/a&gt; ) comes at a fairly large computation and storage cost due to the amount of data that we churn through. This gets worse when you consider the exploratory nature of science -- we sometimes just need to mess around with the large dataset to test hypotheses which are often shown to be wrong. So then, when the &lt;a href="https://www.sicsa.ac.uk/loco/loco2024/" target="_blank"&gt;LOCO&lt;/a&gt; conference came around, we wrote up our thoughts on what a frugal Linux userspace might look like. The key insight is that the Linux kernel already exposes a number of namespace mechanisms (that we use in Docker, for example), and so we explore a new OS architecture which defaults to deterministic, reusable computation with the careful recording of side-effects. This in turn allows Linux to guide complex...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Prototyping carbon-aware domain name resolution</title><link href="https://anil.recoil.org/news/2024-loco-carbonres-1" rel="alternate"></link><published>2024-12-01T00:00:00Z</published><updated>2024-12-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-loco-carbonres-1</id><summary type="html">&lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; and I have been thinking about how the current Internet architecture fails to treat the carbon emissions associated with networked services as a first-class metric. So when the &lt;a href="https://locos.codeberg.page/loco2024/" target="_blank"&gt;LOCO&lt;/a&gt; conference came up, we tried extending the DNS with load balancing techniques to consider the carbon cost of scheduling decisions. A next step was then to build a custom &lt;a href="https://github.com/RyanGibb/eon" target="_blank"&gt;DNS server written in OCaml&lt;/a&gt; to actively wake machines running networked services as a side effect of the name resolution. Extending DNS means that we maintain compatibility with existing Internet infrastructure, unlocking the ability for existing applications to be carbon-aware. This is very much a spiritual follow on to the &lt;a href="https://anil.recoil.org/papers/2013-foci-signposts" target="_blank"&gt;Signposts&lt;/a&gt; project that I worked on back in 2013, and have always wanted to return to! &lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; and...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Cooperative Sensor Networks for Long-Term Biodiversity Monitoring</title><link href="https://anil.recoil.org/news/2024-loco-terracorder-1" rel="alternate"></link><published>2024-12-01T00:00:00Z</published><updated>2024-12-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-loco-terracorder-1</id><summary type="html">&lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; and I have been having great fun designing embedded systems for cooperative biodiversity monitoring. Josh presented our work over at &lt;a href="https://www.sicsa.ac.uk/loco/loco2024/" target="_blank"&gt;LOCO
2024&lt;/a&gt; with an abstract on the Terracorder project. Read more if you enjoy a combination of machine learning and ESP32 hacking. &lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; , &lt;a href="https://www.imperial.ac.uk/people/sarab.sethi" target="_blank"&gt;Sarab Sethi&lt;/a&gt; , &lt;a href="https://haddadi.github.io/" target="_blank"&gt;Hamed Haddadi&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Abstract in the &lt;a href="https://www.sicsa.ac.uk/wp-content/uploads/2024/11/LOCO2024_paper_30.pdf" target="_blank"&gt;1st International Workshop on Low Carbon Computing&lt;/a&gt; . &lt;a href="https://www.sicsa.ac.uk/wp-content/uploads/2024/11/LOCO2024_paper_30.pdf" target="_blank"&gt;URL&lt;/a&gt; (sicsa.ac.uk) &lt;a href="https://anil.recoil.org/papers/2024-loco-terracorder.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-loco-terracorder.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Conservation Evidence</title><link href="https://watch.eeg.cl.cam.ac.uk/w/ijC1E36q7fn2qwxs7opSJq" rel="alternate"></link><published>2024-11-29T17:39:54Z</published><updated>2024-11-29T17:39:54Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/ijC1E36q7fn2qwxs7opSJq</id><summary type="html">Grey literature’s inherent nature means that it is a difficult form of media to discover, typically being hidden deep within websites, analyse, following no standard file formats or structures, and process, due to the sheer volume of existing and actively produced literature, this forms a massive cost and time problem for organisations that require such literature in their function. We devise and implement a pipeline that uses Common Crawl internet archives to locate &amp; scrape potential grey literature; then process it for use in a multistage machine learning pipeline to classify and output relevant media. Bios: Shrey Biswas is a second-year Computer Science Student at Pembroke College. Radhika Iyer is a second-year Computer Science Student at Murray Edwards College. Kacper Michalik is a...</summary><category term="EEG Seminars"></category></entry><entry><title>Mon 18 Nov 2024</title><link href="https://ryan.freumh.org/2024-11-18.html" rel="alternate"></link><published>2024-11-18T00:00:00Z</published><updated>2024-11-18T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-11-18.html</id><summary type="html">Previous: &lt;a href="2024-10-14.html" target="_blank"&gt;Mon 14 Oct 2024&lt;/a&gt; Next: &lt;a href="2024-12-02.html" target="_blank"&gt;Mon 2 Dec 2024&lt;/a&gt; Mon [x] eon capnp-rpc requires mirage-crypto &gt; 1.0.0 so had to fix ocaml-letsencrypt and ocaml-dns to get ocaml-dns with mirage-crypto &gt; 1.0.0 we have to use &gt; 9.0.0 which switches from cstructs to bytes now have to port eon to use strings for DNS library should try &lt;a href="https://github.com/patricoferris/eio/tree/bstruct" target="_blank"&gt;https://github.com/patricoferris/eio/tree/bstruct&lt;/a&gt; at some point [x] opam nix &lt;a href="https://github.com/ocaml/opam/pull/5982#issuecomment-2486565207" target="_blank"&gt;https://github.com/ocaml/opam/pull/5982#issuecomment-2486565207&lt;/a&gt; wierd bubblewrap issues see patrick messages todo debug env babel [x] edit splash submission &lt;a href="https://github.com/fn06/2024-splash-solving-package-management/commit/9c9826d60121dd38d7e8c5d801c754bb0a2621d6" target="_blank"&gt;https://github.com/fn06/2024-splash-solving-package-management/commit/9c9826d60121dd38d7e8c5d801c754bb0a2621d6&lt;/a&gt; is a hypergraph the correct formalism? or should we have a calculus to express dependencies? a lambda calculus normal form? todo confusion around section 2 read related work Sat DONE debug eon [x] add dkim record to eon with capability in eilean &lt;a href="https://github.com/RyanGibb/eilean-nix/commit/bba3719f32b57b853247e299ea44500938d69166" target="_blank"&gt;https://github.com/RyanGibb/eilean-nix/commit/bba3719f32b57b853247e299ea44500938d69166&lt;/a&gt; [x] fix intial syncing of primary trie to secondaries by creating a separate update...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Royal Society and DeepMind host AI for Science Forum</title><link href="https://anil.recoil.org/notes/ai-for-science-2024" rel="alternate"></link><published>2024-11-18T00:00:00Z</published><updated>2024-11-18T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/ai-for-science-2024</id><summary type="html">I got invited to join the Royal Society and DeepMind to a summit on how AI is revolutionising scientific discovery and trotted along with &lt;a href="mailto:jon.crowcroft@cl.cam.ac.uk" target="_blank"&gt;Jon Crowcroft&lt;/a&gt; . This event is hot on the heels of the excellent RS report on &lt;a href="https://royalsociety.org/news-resources/projects/science-in-the-age-of-ai/" target="_blank"&gt;Science in the Age of AI&lt;/a&gt; and, of course, the Nobel prize for Demis Hassabis which was the &lt;a href="https://www.cst.cam.ac.uk/news/nobel-prize-our-alumnus-sir-demis-hassabis" target="_blank"&gt;first ever
-
for my department&lt;/a&gt; ! The event was held at the BAFTA today, and what follows are my quick livenotes as there was just so much to absorb. The RS and Deepmind will have the full sessions online sometime soon, so I'll update this with those more polished outputs when they're out! Update: Proper notes now available from &lt;a href="https://blog.google/technology/ai/ai-science-forum-2024/" target="_blank"&gt;Google&lt;/a&gt; and the &lt;a href="https://royalsociety.org/news-resources/projects/science-in-the-age-of-ai/" target="_blank"&gt;Royal Society&lt;/a&gt; . Hannah Fry doing a great job emceeing The summit was a day-long exploration of how artificial intelligence is transforming science and society, and the overall theme...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Long-term Biodiversity Monitoring at Scale</title><link href="https://watch.eeg.cl.cam.ac.uk/w/pMzCFQKTrRtQ6jotF1z12V" rel="alternate"></link><published>2024-11-15T16:16:36Z</published><updated>2024-11-15T16:16:36Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/pMzCFQKTrRtQ6jotF1z12V</id><summary type="html">Abstract: Comprehensive data on global biodiversity patterns is only obtainable through in-situ distributed sensor networks. However, these multi-device networks are constrained by battery lifetimes, must gather rich data from power-hungry sensors, and yet must be deployed in remote environments for long periods. We look at the feasibility of a prototype multi-sensor device using on-device reinforcement learning for power management. Bio: Josh Millar is a PhD based at the NetSys Lab at Imperial-X. Their current research interests include: energy-aware ML IoT and on-device ML applied ML for sustainability</summary><category term="EEG Seminars"></category></entry><entry><title>A CarbonFirst Approach for Decarbonizing Cloud Computing</title><link href="https://watch.eeg.cl.cam.ac.uk/w/pxkLZ4jgVJMqjwZuhWicrK" rel="alternate"></link><published>2024-11-01T15:46:48Z</published><updated>2024-11-01T15:46:48Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/pxkLZ4jgVJMqjwZuhWicrK</id><summary type="html">Abstract: The exponential growth of cloud computing has been a defining trend of our time, fueled by rapidly growing demands from data-intensive and machine learning workloads. Despite the end of Dennard scaling, the cloud's energy demand grew more slowly than expected over the past decade due to the aggressive implementation of energy-efficiency optimizations. Unfortunately, there are few significant remaining optimization opportunities using traditional methods, and moving forward, the cloud's continued exponential growth will translate into rising energy demand, which, if left unchecked, will translate to increasing carbon emissions. In this talk, I will argue for a CarbonFirst approach to designing cloud computing systems by making carbon efficiency a first-class design metric,...</summary><category term="EEG Seminars"></category></entry><entry><title>Published a legal perspective on high integrity forest carbon credits</title><link href="https://anil.recoil.org/news/2024-cclr-carbon-1" rel="alternate"></link><published>2024-11-01T00:00:00Z</published><updated>2024-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-cclr-carbon-1</id><summary type="html">&lt;a href="https://www.cst.cam.ac.uk/people/smc70" target="_blank"&gt;Sophie Chapman&lt;/a&gt; lead an &lt;a href="https://anil.recoil.org/ideas/legal-aspects-of-credits" target="_blank"&gt;effort&lt;/a&gt; to explore a novel legal framework for forest carbon credits that separates carbon tenure (i.e. title and associated property rights to the land and trees which store the carbon) from the carbon rights (i.e. title and associated rights to monetise and manage the credits which symbolically represent the carbon stored in the trees), while also specifying the relationship between the carbon tenure and the carbon rights. The resulting &lt;a href="https://anil.recoil.org/papers/2024-cclr-carbon" target="_blank"&gt;paper&lt;/a&gt; has just been published in the Climate and Carbon Law Review journal, and is available as open access for your perusal. &lt;a href="https://www.cst.cam.ac.uk/people/smc70" target="_blank"&gt;Sophie Chapman&lt;/a&gt; , &lt;a href="https://www.cst.cam.ac.uk/people/eft20" target="_blank"&gt;Eleanor Toye Scott&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.wolfson.cam.ac.uk/people/dr-robin-daniels" target="_blank"&gt;Robin Daniels&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Journal paper in &lt;a href="https://cclr.lexxion.eu/article/CCLR/2024/3/5" target="_blank"&gt;Carbon &amp; Climate Law Review&lt;/a&gt; (vol 18 issue 3). &lt;a href="https://cclr.lexxion.eu/article/CCLR/2024/3/5" target="_blank"&gt;URL&lt;/a&gt; (cclr.lexxion.eu) &lt;a href="https://doi.org/10.21552/cclr/2024/3/5" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-cclr-carbon.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-cclr-carbon.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Presented poster at Sensys on low-power biodiversity monitoring</title><link href="https://anil.recoil.org/news/2024-sensys-terracorder-1" rel="alternate"></link><published>2024-11-01T00:00:00Z</published><updated>2024-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-sensys-terracorder-1</id><summary type="html">&lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; presented our work on biodiversity sensing over at &lt;a href="http://sensys.acm.org/2024/" target="_blank"&gt;ACM Sensys 2024&lt;/a&gt; in China. The &lt;a href="http://sensys.acm.org/2024/demos/" target="_blank"&gt;full set&lt;/a&gt; of papers and demos has a range of impressive work on sensor networks, and some that stood out to me follow. [… &lt;a href="https://anil.recoil.org/news/2024-sensys-terracorder-1" target="_blank"&gt;140 words&lt;/a&gt; ] &lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; , &lt;a href="https://www.imperial.ac.uk/people/sarab.sethi" target="_blank"&gt;Sarab Sethi&lt;/a&gt; , &lt;a href="https://haddadi.github.io/" target="_blank"&gt;Hamed Haddadi&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Abstract in the &lt;a href="https://dl.acm.org/doi/10.1145/3666025.3699400" target="_blank"&gt;proceedings of the 22nd ACM Conference on Embedded Networked Sensor Systems&lt;/a&gt; . &lt;a href="https://dl.acm.org/doi/10.1145/3666025.3699400" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3666025.3699400" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-sensys-terracorder.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-sensys-terracorder.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Preprint on using LLMs to for evidence-based decision support</title><link href="https://anil.recoil.org/news/2024-ce-llm-1" rel="alternate"></link><published>2024-11-01T00:00:00Z</published><updated>2024-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-ce-llm-1</id><summary type="html">We have just uploaded a preprint on using LLMs for conservation evidence, based on our &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;work&lt;/a&gt; on large-scale crawling of the academic literature. Well done in particular to &lt;a href="mailto:ri301@cam.ac.uk" target="_blank"&gt;Radhika Iyer&lt;/a&gt; for having done the bulk of the evaluation on this as part of a very productive summer internship with us! &lt;a href="mailto:ri301@cam.ac.uk" target="_blank"&gt;Radhika Iyer&lt;/a&gt; , &lt;a href="https://profiles.imperial.ac.uk/a.christie" target="_blank"&gt;Alec Christie&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://samreynolds.org/" target="_blank"&gt;Sam Reynolds&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/bill-sutherland" target="_blank"&gt;Bill Sutherland&lt;/a&gt; and &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . Working paper at &lt;a href="https://www.researchsquare.com/article/rs-5409185/v2" target="_blank"&gt;Research Square&lt;/a&gt; . &lt;a href="https://www.researchsquare.com/article/rs-5409185/v2" target="_blank"&gt;URL&lt;/a&gt; (researchsquare.com) &lt;a href="https://doi.org/10.21203/rs.3.rs-5409185/v2" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-ce-llm.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Paper on scheduling for reduced tail task latencies</title><link href="https://anil.recoil.org/news/2024-socc-murmuration-1" rel="alternate"></link><published>2024-11-01T00:00:00Z</published><updated>2024-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-socc-murmuration-1</id><summary type="html">&lt;a href="https://www.cl.cam.ac.uk/~sv440/" target="_blank"&gt;Smita Vijayakumar&lt;/a&gt; went along to Seattle to &lt;a href="https://acmsocc.org/2024/" target="_blank"&gt;SOCC 2024&lt;/a&gt; to present her PhD research on Murmuration. This is a new scheduler for Kubernetes that allows for 15%--25% faster job completion times than the default scheduler for different job arrival characteristics in datacenters that are very busy. [… &lt;a href="https://anil.recoil.org/news/2024-socc-murmuration-1" target="_blank"&gt;71 words&lt;/a&gt; ] &lt;a href="https://www.cl.cam.ac.uk/~sv440/" target="_blank"&gt;Smita Vijayakumar&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.cst.cam.ac.uk/people/ek264" target="_blank"&gt;Evangelia Kalyvianaki&lt;/a&gt; . Paper in the &lt;a href="https://acmsocc.org/2024/" target="_blank"&gt;proceedings of the 2024 ACM Symposium on Cloud Computing&lt;/a&gt; . &lt;a href="https://acmsocc.org/2024/" target="_blank"&gt;URL&lt;/a&gt; (acmsocc.org) &lt;a href="https://doi.org/10.1145/3698038.3698522" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-socc-murmuration.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-socc-murmuration.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Building OCaml on Haiku</title><link href="https://digitalflapjack.com/blog/building-ocaml-on-haiku/" rel="alternate"></link><published>2024-10-27T09:01:41Z</published><updated>2024-10-27T09:01:41Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/building-ocaml-on-haiku/</id><summary type="html">What has to be a niche of a niche post wise, I was intrigued when I spotted &lt;a href="https://www.haiku-os.org/blog/anarchos/2024-04-09_an_odissey_to_port_compcert/" target="_blank"&gt;this post&lt;/a&gt; recently that someone had built &lt;a href="https://ocaml.org" target="_blank"&gt;OCaml&lt;/a&gt; for &lt;a href="https://www.haiku-os.org/" target="_blank"&gt;Haiku&lt;/a&gt; . I'd been playing with Haiku a little recently, as I wanted to understand its file-system, and so I thought I'd have a go. I turns out it's quite simple, and although the above post does kinda tell you what you need, there's a few gaps, so this post is just recording what I did. But all credit has to go to Sylvain Kerjean for that original post which gets you most the way, this is just trying to make it easier for me to cut and paste later! First up: Ensure /boot/home/config/non-packaged/bin is on your PATH variable. Get a checkout of OCaml from &lt;a href="https://github.com/ocaml/ocaml" target="_blank"&gt;https://github.com/ocaml/ocaml&lt;/a&gt; . Configure it with the appropriate prefix, make, and install. It really does just work! $...</summary><category term="Digital Flapjack"></category></entry><entry><title>Mapping greener futures with planetary computing</title><link href="https://anil.recoil.org/news/a0280750-2ef0-4f5c-b138-68f7b11b4c29-1" rel="alternate"></link><published>2024-10-24T01:00:00Z</published><updated>2024-10-24T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/a0280750-2ef0-4f5c-b138-68f7b11b4c29-1</id><summary type="html">I got invited by &lt;a href="https://profiles.ucl.ac.uk/78591-serta%C3%A7-sehlikoglu" target="_blank"&gt;Sertaç Sehlikoglu&lt;/a&gt; to deliver a lecture to the Masters students down at the &lt;a href="https://www.ucl.ac.uk/bartlett/igp/" target="_blank"&gt;UCL Institute for Global Prosperity&lt;/a&gt; . I talked about the recent work on &lt;a href="https://anil.recoil.org/projects/plancomp" target="_blank"&gt;planetary computing&lt;/a&gt; , with an overview of the &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;LIFE&lt;/a&gt; and &lt;a href="https://anil.recoil.org/papers/2024-food-life" target="_blank"&gt;FOOD&lt;/a&gt; papers.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Challenges in Cyber-Physical Energy Systems - of Agents and Data</title><link href="https://watch.eeg.cl.cam.ac.uk/w/7XijwZ8ZtKtnLgRXKgt9G1" rel="alternate"></link><published>2024-10-18T16:03:59Z</published><updated>2024-10-18T16:03:59Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/7XijwZ8ZtKtnLgRXKgt9G1</id><summary type="html">Abstract: In this talk, first, some special challenges in cyber-physical energy systems will be reflected. Then, examples from research projects and field tests will be discussed to show how multi-agent systems can be used to tackle these challenges. Finally, the topic of research data management and its role in open research will be discussed. Bio: Prof. Dr.-Ing. Astrid Nieße has been Professor for Digitalized Energy Systems at the University of Oldenburg since 2020 and a member of the Energy Division Board of the OFFIS - Institute of Computer Science. From 2018 to 2020 she was Professor for Energy Informatics at Leibniz University Hannover. Astrid Nieße received her doctorate from the University of Oldenburg in 2015; her doctoral thesis dealt with the application of distributed...</summary><category term="EEG Seminars"></category></entry><entry><title>Mon 14 Oct 2024</title><link href="https://ryan.freumh.org/2024-10-14.html" rel="alternate"></link><published>2024-10-14T01:00:00Z</published><updated>2024-10-14T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-10-14.html</id><summary type="html">Previous: &lt;a href="2024-10-07.html" target="_blank"&gt;Mon 7 Oct 2024&lt;/a&gt; Next: &lt;a href="2024-11-18.html" target="_blank"&gt;Mon 18 Nov 2024&lt;/a&gt; datalog bigraphs, formalism, lambda calc next: CACM: History of Package Managers Systems Paper: Implementing it all DoDO</summary><category term="ryan.freumh.org"></category></entry><entry><title>Visual Digital Twins of Forests</title><link href="https://watch.eeg.cl.cam.ac.uk/w/9CqWsuQQykVtbuDPwuLwZs" rel="alternate"></link><published>2024-10-11T20:45:49Z</published><updated>2024-10-11T20:45:49Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/9CqWsuQQykVtbuDPwuLwZs</id><summary type="html">Abstract: Methods developed by the computer graphics community allow for the photorealistic rendering of complex geometry. In this talk we explore how such mathematical procedures can be leveraged to describe the growth, biomechanics, and combustion of trees at a detailed spatial level. These models facilitate a realistic 3D visualization of these processes at forest scale which allows exploring illustratively a variety of hypothetical environmental scenarios. Potential applications of such methods include the educational dissemination of environmental concepts, the generation of synthetic image data for training vision-based AI models, and the evaluation of ecological hypotheses expressed at plant organ scale. Bio: Wojtek Palubicki is a Professor at Adam Mickiewicz University where he...</summary><category term="EEG Seminars"></category></entry><entry><title>On the SOCC 2024 PC</title><link href="https://anil.recoil.org/notes/socc-pc" rel="alternate"></link><published>2024-10-08T01:00:00Z</published><updated>2024-10-08T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/socc-pc</id><summary type="html">After some time away from cloud computing (due to my new focus on &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;conservation research&lt;/a&gt; ), I served on the &lt;a href="https://acmsocc.org/2024/" target="_blank"&gt;ACM SOCC 2024&lt;/a&gt; program committee. It was quite interesting seeing the massive shift away from "traditional" cloud research (such as consensus protocols) towards many submissions aimed at accelerating machine learning workloads. I also had a paper accepted there on &lt;a href="https://anil.recoil.org/papers/2024-socc-murmuration" target="_blank"&gt;decentralised scheduling&lt;/a&gt; , thanks to my former PhD student &lt;a href="https://www.cl.cam.ac.uk/~sv440/" target="_blank"&gt;Smita Vijayakumar&lt;/a&gt; and her hard work on Murmuration!</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 7 Oct 2024</title><link href="https://ryan.freumh.org/2024-10-07.html" rel="alternate"></link><published>2024-10-07T01:00:00Z</published><updated>2024-10-07T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-10-07.html</id><summary type="html">Previous: &lt;a href="2024-09-30.html" target="_blank"&gt;Mon 30 Sep 2024&lt;/a&gt; Next: &lt;a href="2024-10-14.html" target="_blank"&gt;Mon 14 Oct 2024&lt;/a&gt; Mon package management paper DONE cite go rox blog post DOING add citations for all package managers DONE syntax -&gt; bundle format DONE vesion formula DONE src vs bin -&gt; binary caching in features column DONE repo release in description; ecosystem and name together DOING add order of magnitude packages (and order by) DONE packaging language cabal - &lt;a href="https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#package-descriptions" target="_blank"&gt;https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#package-descriptions&lt;/a&gt; packaging language - dsl or edsl (with power of host language) DSL/eDSL DONE add sandboxing field DONE add subsections links to section 2 DONE add dune DONE add B/P/C to toolchain field DONE concurrent versions - be clear about solving DONE Resolution hypergraph annd Resolved graph DONE tigher footnotes DONE binary bundles and provisioning, reorder figure 1 before table to talk about provisioning...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Partner-driven Environmental Sensing:</title><link href="https://watch.eeg.cl.cam.ac.uk/w/pQBnfPWJi9kxLdeHY9YAA7" rel="alternate"></link><published>2024-10-04T19:15:38Z</published><updated>2024-10-04T19:15:38Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/pQBnfPWJi9kxLdeHY9YAA7</id><summary type="html">Full Title: Partner-driven Environmental Sensing: Co-design with Indigenous Ojibwe Scientists and Malagasy Conservationists Abstract: Evolving environmental sensing technologies present a myriad of opportunities for gathering data to understand and promote environmental justice, biodiversity, and climate change mitigation. However, technical development from academic and commercial settings often struggle to translate to accessible solutions for marginalized communities. In this talk, I will explore the opportunities of partner-driven co-design, share the findings from a qualitative study of field scientists’ use of technology, and present two case studies: (1) designing environmental sensors with Indigenous Ojibwe scientists for manoomin (wild rice) conservation and (2) partnering with...</summary><category term="EEG Seminars"></category></entry><entry><title>Royal Society meeting on ecological/commercial risks</title><link href="https://anil.recoil.org/notes/rs-ecorisk-day1" rel="alternate"></link><published>2024-10-03T01:00:00Z</published><updated>2024-10-03T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/rs-ecorisk-day1</id><summary type="html">I'm at the Royal Society this morning for the 2 day programme on &lt;a href="https://royalsociety.org/science-events-and-lectures/2024/10/ecological-and-commercial-risk/" target="_blank"&gt;"How does ecological risk related to commercial risk?"&lt;/a&gt; , and am reporting on the &lt;a href="https://royalsociety.org/-/media/events/2024/10/ecological-risk/programme-booklet.pdf" target="_blank"&gt;morning session&lt;/a&gt; . The full program is being &lt;a href="https://www.youtube.com/watch?v=gVuxzand8RE" target="_blank"&gt;livestreamed&lt;/a&gt; so please do dial in if the below notes seem interesting to you. I put this note up almost live, so any errors below are my own. (Update: partial &lt;a href="https://anil.recoil.org/#daytwo" target="_blank"&gt;day 2 notes&lt;/a&gt; now available below) Opening Keynote by Sir Partha Dasgupta The summit kicked off with a keynote by economist &lt;a href="https://en.wikipedia.org/wiki/Partha_Dasgupta" target="_blank"&gt;Sir Partha Dasgupta&lt;/a&gt; . The focus was on the intersection of nature and economics, covering how markets fail to account for the ecosystems that sustain them. His &lt;a href="https://www.gov.uk/government/publications/final-report-the-economics-of-biodiversity-the-dasgupta-review" target="_blank"&gt;landmark report&lt;/a&gt; covered ecosystem services, freshwater, tipping points, and physical risk, bringing to light the urgent need to reframe economic activities around the services provided by nature. Sir Partha Dasgupta opening the...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Workshopping, across the universe</title><link href="https://mort.io/blog/workshopping-edgeless/" rel="alternate"></link><published>2024-10-02T01:00:00Z</published><updated>2024-10-02T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/workshopping-edgeless/</id><summary type="html">One of the pleasures of being an academic is to travel to nice places to meet interesting people, and interesting places to meet nice people. In one of my first such trips for a few years I recently went to Sweden to participate in the &lt;a href="https://cloudresearch.org/workshops/17th/" target="_blank"&gt;17th Cloud Control Workshop&lt;/a&gt; . __LINK_1__ I’d previously attended the &lt;a href="https://cloudresearch.org/workshops/15th/" target="_blank"&gt;15th Cloud Control
Workshop&lt;/a&gt; shortly before the pandemic happened, causing the series to pause briefly. This was the reboot, and as before, it was a great deal of fun: good company, good food, beautiful location. If you get the chance to go, take it if you can! The workshop is a really nice mix of keynote presentations – not too many and not too long at 20 minutes (mostly) – and discussion sessions proposed beforehand or on site by participants. I gave one of the keynotes, talking about the challenges posed and...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mon 30 Sep 2024</title><link href="https://ryan.freumh.org/2024-09-30.html" rel="alternate"></link><published>2024-09-30T01:00:00Z</published><updated>2024-09-30T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-09-30.html</id><summary type="html">Previous: &lt;a href="2024-09-23.html" target="_blank"&gt;Mon 23 Sep 2024&lt;/a&gt; Next: &lt;a href="2024-10-07.html" target="_blank"&gt;Mon 7 Oct 2024&lt;/a&gt; Mon wrote out some of the formalisations in OCaml worked on LOCO submission Tue LOCO submission package management paper cargo feature formalisation Wed package management paper finished the cargo feature formalisation described singular versions with conflicts Thur submitted second year report package management paper I’ve thought of another complication with the source vs binary dichotomy – dependencies might result language vs system package manager source vs binary Why NixOS? Reproducibility? No. Atomicity. Fri package management paper high-level representation - hypergraph low-level representation - graph CANCELED change depends order to match topological sort, Nix thesis, and build systems a la carte DONE rename package calculus DONE process...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 23 Sep 2024</title><link href="https://ryan.freumh.org/2024-09-23.html" rel="alternate"></link><published>2024-09-23T01:00:00Z</published><updated>2024-09-23T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-09-23.html</id><summary type="html">Previous: &lt;a href="2024-09-16.html" target="_blank"&gt;Mon 16 Sep 2024&lt;/a&gt; Next: &lt;a href="2024-09-30.html" target="_blank"&gt;Mon 30 Sep 2024&lt;/a&gt; Mon Added a SAT expression of the dependancy resolution problem, and added some example graphs. Tue more package management Wed some package management loco Thur finished loco chatted with patrick about the splash paper Fri added conflicts and optional dependencies to the package management calculus</summary><category term="ryan.freumh.org"></category></entry><entry><title>Being on the HotNets 2024 program committee</title><link href="https://anil.recoil.org/notes/hotnets-pc-2024" rel="alternate"></link><published>2024-09-22T01:00:00Z</published><updated>2024-09-22T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/hotnets-pc-2024</id><summary type="html">I was on the program committee for &lt;a href="https://conferences.sigcomm.org/hotnets/2024/" target="_blank"&gt;HotNets
2024&lt;/a&gt; this year, which was a thoroughly enjoyable experience. The &lt;a href="https://conferences.sigcomm.org/hotnets/2024/accepted.html" target="_blank"&gt;list of accepted
papers&lt;/a&gt; is now out, and it's a diverse program -- with my personal favourites being the ones on space communications networks using low earth orbit satellites. Well done to &lt;a href="https://www.microsoft.com/en-us/research/people/bearzani/" target="_blank"&gt;Behnaz
Arzani&lt;/a&gt; and &lt;a href="https://www.cs.cornell.edu/~jnfoster/" target="_blank"&gt;Nate
Foster&lt;/a&gt; for really excellent general chairing and ensuring the PC maintained a constructive, positive tone while doing the difficult job of selecting papers from a crowded set of submissions. The structure of of the program committee was also somewhat novel, and one I'd like to replicate in other conferences I organise in the future. The spectacular view from Jane Street's 18th floor! Two Review Rounds. There were two rounds of reviewing, with any clear decisions from the first set of reviewers...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Part II Projects</title><link href="https://mort.io/blog/part-ii-projects/" rel="alternate"></link><published>2024-09-20T01:00:00Z</published><updated>2024-09-20T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/part-ii-projects/</id><summary type="html">Undergraduate final-year (“Part II”) project supervision goes in fits and starts. After a couple of years of having almost no interest, this year I’ve had several enquiries and it seems I might end supervising 3–4 projects. So herewith a record of the things I’ve found myself repeating! &lt;a href="https://mort.io/blog/part-ii-projects/#project-structure" target="_blank"&gt;Project structure&lt;/a&gt; The key thing for the structure of the project is to make sure that there is a core piece that is (essentially) guaranteed to be deliverable. This is the piece that you know you can do, and once done and written up, you know you can get an adequate (if not great) mark. Ensuring this takes the risk out of the project. On top of this core piece, it’s then usually sensible to build “a few” (2? 3? 4?) extensions which will make the project spicy if done well. You may wish to phrase these extensions...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mon 16 Sep 2024</title><link href="https://ryan.freumh.org/2024-09-16.html" rel="alternate"></link><published>2024-09-16T01:00:00Z</published><updated>2024-09-16T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-09-16.html</id><summary type="html">Previous: &lt;a href="2024-09-09.html" target="_blank"&gt;Mon 9 Sep 2024&lt;/a&gt; Next: &lt;a href="2024-09-23.html" target="_blank"&gt;Mon 23 Sep 2024&lt;/a&gt; Mon cabal2opam it looks like we can use &lt;a href="https://hackage.haskell.org/01-index.tar" target="_blank"&gt;https://hackage.haskell.org/01-index.tar&lt;/a&gt; similar to cargo’s package index! oh no, this is just a bundle of cabal files also, if we want to depend on projects outside of the repository we’ll need to parse cargo files package management abstract second year report met with anil package management abstract However, inadequacies in software deployment technologies used for spatial devices often leads to scenarios such as running software vulnerable to exploits. There is a proliferation of package managers with varying degrees of expressivity and reproducibility using formats that aren’t interoperable. Multi-lingual projects can’t provide their dependencies in a unified way, and dependencies from one package manager ecosystem can’t express a...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 9 Sep 2024</title><link href="https://ryan.freumh.org/2024-09-09.html" rel="alternate"></link><published>2024-09-09T01:00:00Z</published><updated>2024-09-09T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-09-09.html</id><summary type="html">Previous: &lt;a href="2024-09-02.html" target="_blank"&gt;Mon 2 Sep 2024&lt;/a&gt; Next: &lt;a href="2024-09-16.html" target="_blank"&gt;Mon 16 Sep 2024&lt;/a&gt; Mon &lt;a href="https://srl.cs.jhu.edu/pubs/SRL2003-02.pdf" target="_blank"&gt;https://srl.cs.jhu.edu/pubs/SRL2003-02.pdf&lt;/a&gt; commented on Roy’s project proposal DONE second year report cabal to opam translation Wed second year report KILL read &lt;a href="http://www.chriswarbo.net/projects/nixos/nix_dependencies.html" target="_blank"&gt;http://www.chriswarbo.net/projects/nixos/nix_dependencies.html&lt;/a&gt; created &lt;a href="https://github.com/RyanGibb/ocaml-purl" target="_blank"&gt;https://github.com/RyanGibb/ocaml-purl&lt;/a&gt; Thu second year report Fri got cabal2opam working! tomorrow: we try with a full repository</summary><category term="ryan.freumh.org"></category></entry><entry><title>Post-COVID19 TPC experience</title><link href="https://mort.io/blog/post-covid-tpc/" rel="alternate"></link><published>2024-09-09T01:00:00Z</published><updated>2024-09-09T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/post-covid-tpc/</id><summary type="html">I do not participate in a huge number of TPCs (Technical Programme Committees) as a general rule– partly time constraints but mostly no-one knows who I am so I don’t often get asked… (!) I have done a few though, some big (e.g., &lt;a href="https://www.usenix.org/conference/nsdi15" target="_blank"&gt;USENIX NSDI&lt;/a&gt; , &lt;a href="https://conferences.sigcomm.org/imc/2018/" target="_blank"&gt;ACM IMC&lt;/a&gt; ), some small ( &lt;a href="https://uksystems.org/" target="_blank"&gt;UK Systems&lt;/a&gt; , &lt;a href="https://link.springer.com/conference/pam" target="_blank"&gt;PAM&lt;/a&gt; ), and perhaps because I only do a couple every few years, while doing &lt;a href="https://conferences2.sigcomm.org/co-next/" target="_blank"&gt;ACM
CoNEXT&lt;/a&gt; and &lt;a href="https://acm-ieee-sec.org/list/" target="_blank"&gt;ACM/IEEE
-
SEC&lt;/a&gt; this week, I found myself particularly noticing some changes in practice since that last TPCs I recall (notably &lt;a href="https://www.usenix.org/conference/nsdi15" target="_blank"&gt;NSDI&lt;/a&gt; and &lt;a href="https://conferences.sigcomm.org/imc/2018/" target="_blank"&gt;IMC&lt;/a&gt; ). So here are three observations. &lt;a href="https://mort.io/blog/post-covid-tpc/#1-online-first-and-only" target="_blank"&gt;1. Online, first and only&lt;/a&gt; The biggest obvious change is that TPC meetings are now online rather than in-person. This has one big disadvantage for me: I really enjoyed travelling to the meeting to meet colleagues and (usually) participate in some...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mitigating credit reversal risks in nature-based solutions</title><link href="https://anil.recoil.org/notes/mitigating-nbs-risk-paper" rel="alternate"></link><published>2024-09-08T01:00:00Z</published><updated>2024-09-08T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/mitigating-nbs-risk-paper</id><summary type="html">Many of the questions around our recent &lt;a href="https://anil.recoil.org/papers/2023-naturecredits" target="_blank"&gt;Nature Sustainability commentary on NbS credits&lt;/a&gt; revolve around how to finance new projects if credible credits need to be ex-post. Our latest paper published in Carbon Management on " &lt;a href="https://anil.recoil.org/papers/2024-nbs-risk" target="_blank"&gt;Mitigating risk of credit reversal in nature-based climate solutions by optimally anticipating carbon release&lt;/a&gt; " tries to address this. The problem with selling ex-ante (future) carbon credits for (e.g.) a deforestation avoidance scheme is that project reversals can happen in the future ("deforestation has increased") thus rendering any credits issued previously useless. On the flip side though, an overly conservative view of the future ("the entire forest will disappear overnight!") is clearly so conservative that it doesn't serve the best interests of the project developer. So ideally, a project would make realistic but conservative ex-ante predictions that is safe for both project developer (who gets...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Towards security specifications for agentic AIs</title><link href="https://anil.recoil.org/news/2024-hope-bastion-1" rel="alternate"></link><published>2024-09-04T01:00:00Z</published><updated>2024-09-04T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-hope-bastion-1</id><summary type="html">A very fun talk at &lt;a href="https://icfp24.sigplan.org/home/hope-2024" target="_blank"&gt;ACM HOPE 2024&lt;/a&gt; on some new work with &lt;a href="https://web.eecs.umich.edu/~comar/" target="_blank"&gt;Cyrus Omar&lt;/a&gt; and &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; on how we can formally specify systems to be robust to code generation by AI agents. For instance, if you were to ask GitHub Copilot to generate you code to filter endangered animals out of a folder of images, it might interpret that as to delete the image, or to move it to another folder (which might be public), or just remove it from the index. Any of those options are potentially valid, so what do we do? Our idea is to use F* to specify a rich set of allowable behaviours which can then be dynamically enforced in less expressive languages, and thus offer layers of protection against over-eager (or rogue) AI agents. [… &lt;a href="https://anil.recoil.org/news/2024-hope-bastion-1" target="_blank"&gt;183 words&lt;/a&gt; ] &lt;a href="https://web.eecs.umich.edu/~comar/" target="_blank"&gt;Cyrus Omar&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://icfp24.sigplan.org/home/hope-2024" target="_blank"&gt;the 12th ACM SIGPLAN Workshop on Higher-Order Programming with Effects (HOPE)&lt;/a&gt; . &lt;a href="https://icfp24.sigplan.org/home/hope-2024" target="_blank"&gt;URL&lt;/a&gt;...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>New teaching page with my Computer Science courses</title><link href="https://anil.recoil.org/notes/new-teaching-page" rel="alternate"></link><published>2024-09-03T01:00:00Z</published><updated>2024-09-03T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/new-teaching-page</id><summary type="html">There's a new &lt;a href="https://anil.recoil.org/notes/teaching" target="_blank"&gt;teaching&lt;/a&gt; page with my past and present courses, and links to the associated teaching materials. One of the nice things about most Cambridge courses is that all the teaching materials are public, except for video recordings of the lectures themselves.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 2 Sep 2024</title><link href="https://ryan.freumh.org/2024-09-02.html" rel="alternate"></link><published>2024-09-02T01:00:00Z</published><updated>2024-09-02T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-09-02.html</id><summary type="html">Previous: &lt;a href="2024-08-26.html" target="_blank"&gt;Mon 26 Aug 2024&lt;/a&gt; Next: &lt;a href="2024-09-09.html" target="_blank"&gt;Mon 9 Sep 2024&lt;/a&gt; Tue Try dumping the SAT graph to see how big we make it hmm, magic trace traces are empty Spent some trying to understand the SAT solving Wed sat: TRYING: not(cargo-quote.1.0.32) sat: enqueue: not(cargo-quote.1.0.32) (considering) sat: TRYING: not(cargo-quote.1.0.33) sat: enqueue: not(cargo-quote.1.0.33) (considering) sat: TRYING: not(cargo-quote.1.0.34) sat: enqueue: not(cargo-quote.1.0.34) (considering) sat: TRYING: not(cargo-quote.1.0.35) sat: enqueue: not(cargo-quote.1.0.35) (considering) sat: TRYING: not(cargo-quote.1.0.36) sat: enqueue: not(cargo-quote.1.0.36) (considering) sat: TRYING: not(cargo-quote.1.0.37) sat: enqueue: not(cargo-quote.1.0.37) (considering) sat: TRYING: not() sat: enqueue: not() (considering) sat: enqueue:...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Building species models of the planet</title><link href="https://anil.recoil.org/notes/ukri-grant-terra" rel="alternate"></link><published>2024-09-02T01:00:00Z</published><updated>2024-09-02T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/ukri-grant-terra</id><summary type="html">I don't normally announce funded grants (preferring to focus on outcomes), but I'm really excited by this one and couldn't resist! Myself and my colleagues &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; (from computer science), &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; (from Plant Sciences), &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; (from Zoology) and &lt;a href="https://www.cambridgeconservation.org/about/people/professor-neil-burgess/" target="_blank"&gt;Neil Burgess&lt;/a&gt; (the Head of Science at &lt;a href="https://www.unep-wcmc.org/en/the-team" target="_blank"&gt;UNEP-WCMC&lt;/a&gt; ) have just received a £1.2m grant from the UKRI to work on &lt;a href="https://www.cst.cam.ac.uk/news/meet-terra-ai-aiming-map-terrestrial-life-planet" target="_blank"&gt;building foundation models for planetary intelligence&lt;/a&gt; . Now, normally a grant isn't news, but I wanted to highlight the scheme that it came under. UKRI announced an &lt;a href="https://www.ukri.org/news/first-projects-from-ukris-new-interdisciplinary-scheme-announced/" target="_blank"&gt;interdisciplinary program&lt;/a&gt; specifically for projects that don't normally get funded by just one research council. In our case, this work usually falls between the cracks of EPSRC ("too much nature") or NERC ("too much engineering") or STFC ("not enough satellites") . But this interdisciplinary program expressly assembled a panel...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Parallel traversal effect handlers for OCaml</title><link href="https://anil.recoil.org/ideas/effect-parallel-strategies" rel="alternate"></link><published>2024-09-01T01:00:00Z</published><updated>2024-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/effect-parallel-strategies</id><summary type="html">Parallel traversal effect handlers for OCaml This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:sb2634@cam.ac.uk" target="_blank"&gt;Sky Batchelor&lt;/a&gt; . It is co-supervised with &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . Most existing uses of effect handlers perform synchronous execution of handled effects. Xie et al proposed a traverse handler for parallelisation of independent effectful computations whose effect handlers are outside the parallel part of the program. The paper &lt;a href="https://anil.recoil.org/#fn-1" target="_blank"&gt;[1]&lt;/a&gt; gives a sample implementation as a Haskell library with an associated λp calculus that formalises the parallel handlers. This project aims to: implement the traverse handler in OCaml 5, using single-shot handlers &lt;a href="https://anil.recoil.org/#fn-2" target="_blank"&gt;[2]&lt;/a&gt; identify a selection of parallel-friendly data structures that might benefit from such...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Gradually debugging type errors</title><link href="https://anil.recoil.org/ideas/gradual-type-error-debugging" rel="alternate"></link><published>2024-09-01T01:00:00Z</published><updated>2024-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/gradual-type-error-debugging</id><summary type="html">Gradually debugging type errors This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:mc2372@cam.ac.uk" target="_blank"&gt;Max Carroll&lt;/a&gt; . It is co-supervised with &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . Reasoning about type errors is very difficult, and requires shifting between static and dynamic types. In OCaml, the type checker asserts ill-typedness but provides little in the way of understanding why the type checker inferred such types. These direct error messages are difficult to understand even for experienced programmers working on larger codebases. This project will explore how to use gradual types to reason more effectively about such ill-typed programs, by introducing more dynamic types to help some users build an intuition about the problem in their code. The intention is to...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Paper published on ex-ante forecasts of nature-based solutions</title><link href="https://anil.recoil.org/news/2024-nbs-risk-2" rel="alternate"></link><published>2024-08-31T01:00:00Z</published><updated>2024-08-31T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-nbs-risk-2</id><summary type="html">Our paper on ex-ante projection for nature-based solutions has been published in the &lt;a href="https://www.tandfonline.com/journals/tcmt20" target="_blank"&gt;Journal of Carbon Management&lt;/a&gt; . I also wrote up some &lt;a href="https://anil.recoil.org/notes/mitigating-nbs-risk-paper" target="_blank"&gt;long-form thoughts&lt;/a&gt; on it here. &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-e-ping-rau" target="_blank"&gt;E.-Ping Rau&lt;/a&gt; , &lt;a href="https://www.jamesgross.org" target="_blank"&gt;James Gross&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; and &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; . Journal paper in &lt;a href="https://www.tandfonline.com/doi/full/10.1080/17583004.2024.2390854" target="_blank"&gt;Carbon Management&lt;/a&gt; (vol 15 issue 1). &lt;a href="https://www.tandfonline.com/doi/full/10.1080/17583004.2024.2390854" target="_blank"&gt;URL&lt;/a&gt; (tandfonline.com) &lt;a href="https://doi.org/10.1080/17583004.2024.2390854" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-nbs-risk.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-nbs-risk.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Stop, Start</title><link href="https://mort.io/blog/stop-start/" rel="alternate"></link><published>2024-08-30T01:00:00Z</published><updated>2024-08-30T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/stop-start/</id><summary type="html">Well, here we go again, again. Having stalled out back in 2013 to restart in 2015, I stalled out again in 2017, so am finally restarting seven years later. Again. I do have a dozen or more half-written posts from that period that may leak out slowly, in &lt;a href="https://mort.io/tags/old" target="_blank"&gt;backdated form&lt;/a&gt; . The stack for the blog has been updated again, naturally – the tools got better after all. So now this is using &lt;a href="https://www.getzola.org" target="_blank"&gt;Zola&lt;/a&gt; with, initially, the &lt;a href="https://github.com/jieiku/abridge/" target="_blank"&gt;abridge theme&lt;/a&gt; . I think it’s shinier, and hopefully also involves (almost) no JavaScript, is finally accessible, and not too heavyweight. In removing the excessive JavaScript, I also updated my &lt;a href="https://mort.io/blog/stop-start/./research#publications" target="_blank"&gt;publication list&lt;/a&gt; &lt;a href="https://github.com/mor1/bib2html" target="_blank"&gt;generation
-
process&lt;/a&gt; : no more CoffeeScript and JavaScript, just some plain ol’ &lt;a href="https://www.python.org/" target="_blank"&gt;Python&lt;/a&gt; using the slick new &lt;a href="https://github.com/astral-sh/uv" target="_blank"&gt;uv&lt;/a&gt; tooling. The &lt;a href="https://github.com/casey/just" target="_blank"&gt;Justfile&lt;/a&gt; incantation is something like: papers :=...</summary><category term="mort’s mythopœia"></category></entry><entry><title>PACT Tropical Moist Forest Accreditation Methodology</title><link href="https://anil.recoil.org/news/2023-pact-tmf-3" rel="alternate"></link><published>2024-08-29T01:00:00Z</published><updated>2024-08-29T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-pact-tmf-3</id><summary type="html">We have just released the Tropical Moist Forest v2.1 specification, to follow up the now-expired &lt;a href="https://anil.recoil.org/news/2023-pact-tmf-2" target="_blank"&gt;v2.0&lt;/a&gt; from six months ago. The key updates are a new &lt;a href="https://tinyurl.com/PACTTMFexplainer" target="_blank"&gt;high-level explainer&lt;/a&gt; , as well as clarifiations for buffer zones and base tiles. &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://www.liverpool.ac.uk/geography-and-planning/research/environmental-change/postgraduates/" target="_blank"&gt;James Hartup&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , &lt;a href="https://uk.linkedin.com/in/miranda-lam-a088561b4" target="_blank"&gt;Miranda Lam&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://www.lambdacambridge.com/robin-message" target="_blank"&gt;Robin Message&lt;/a&gt; , &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-e-ping-rau" target="_blank"&gt;E.-Ping Rau&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-charlotte-wheeler" target="_blank"&gt;Charlotte Wheeler&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/abigail-williams" target="_blank"&gt;Abby Williams&lt;/a&gt; . Working paper at &lt;a href="https://www.cambridge.org/engage/coe/article-details/66b9d9345101a2ffa813e37c" target="_blank"&gt;Cambridge Open Engage&lt;/a&gt; . &lt;a href="https://www.cambridge.org/engage/coe/article-details/66b9d9345101a2ffa813e37c" target="_blank"&gt;URL&lt;/a&gt; (cambridge.org) &lt;a href="https://doi.org/10.33774/coe-2024-gvslq" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-pact-tmf.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-pact-tmf.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 26 Aug 2024</title><link href="https://ryan.freumh.org/2024-08-26.html" rel="alternate"></link><published>2024-08-26T01:00:00Z</published><updated>2024-08-26T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-08-26.html</id><summary type="html">Previous: &lt;a href="2024-08-12.html" target="_blank"&gt;Mon 12 Aug 2024&lt;/a&gt; Next: &lt;a href="2024-09-02.html" target="_blank"&gt;Mon 2 Sep 2024&lt;/a&gt; Mon ok, so we’re going to try and modify opam-0install-solver to have different `roles` per implementation for every cargo package so there’s no restrictions on a single version of a package. where are the roles defined? Model.role where are the implementations defined? Model.implementations Okay, so what’s the problem? If we have a role as an OpamPackage (name + version) how do we specify the versions to solve in the first instance? Can we just say any of them? Maybe as constraints? Or do you know what, let’s just specify a version up front. How do we minimise duplicated dependancies? How do we do express version constraints with each role a different version? This is trickier than I anticipated. How do we express dependencies when we have each...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Discovering `restic`</title><link href="https://mort.io/blog/restic-discovery/" rel="alternate"></link><published>2024-08-26T01:00:00Z</published><updated>2024-08-26T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/restic-discovery/</id><summary type="html">I recently had cause to try to recover some files from my &lt;a href="https://restic.net/" target="_blank"&gt;restic&lt;/a&gt; backups. These go back for over a year now, and I could not remember at which point I’d mistakenly nuked the directory I now wanted to recover. restic find purports to be able to do this by searching through snapshots but I found that it’s quite slow, and can only search within a time range which is not that helpful when you don’t know the time range you need. So I did it by hand, which turned out to be rather faster. RESTIC_PASSWORD_FILE = /your/backup/password/file RESTIC_REPOSITORY = /your/backup/repository/ \ # list snapshots, filtering by DATE regex, grabbing just the snapshot hash sudo - E restic snapshots - c \ | rg DATE \ | cut - b1-8 \ | while read ss ; do echo " === $ ss " sudo - E restic ls $ ss | rg...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Nature Sustainability commentary on carbon and biodiversity credits</title><link href="https://anil.recoil.org/notes/nature-crossroads" rel="alternate"></link><published>2024-08-15T01:00:00Z</published><updated>2024-08-15T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/nature-crossroads</id><summary type="html">Our &lt;a href="https://anil.recoil.org/papers/2023-naturecredits" target="_blank"&gt;commentary on nature-based credits&lt;/a&gt; has been published in &lt;a href="https://www.nature.com/articles/s41893-024-01403-w" target="_blank"&gt;Nature
-
Sustainability&lt;/a&gt; , lead expertly by my colleagues &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; and &lt;a href="https://www.naturerecovery.ox.ac.uk/people/sophus-zu-ermgassen/" target="_blank"&gt;Sophus zu Ermgassen&lt;/a&gt; . In our view the carbon credits markets are vitally important for forest conservation, but the key is to only transact these credits after they have been proven to be demonstrably additional using robust statistical techniques , so that we know before a sale that each credit represents real gains that would not otherwise have occurred without the carbon finance. A more scientific approach that supports transparent, third-party validation could absolutely transform these markets. And given the rapid rate of tropical forest loss, such upscaling of credibility is vitally necessary to raise investor confidence in protecting nature, since we can now be confident that every "credit" sold...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Debugging Electron apps</title><link href="https://mort.io/blog/electron-cli/" rel="alternate"></link><published>2024-08-14T01:00:00Z</published><updated>2024-08-14T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/electron-cli/</id><summary type="html">Another short one, this time the magic flags to get debug output and access to webdev tools under Electron apps such as Slack and whatnot on Wayland: APPLICATION -- enable-logging -- devtools \ -- platform = wayland -- enable-features = UseOzonePlatform -- password-store = " gnome_libsecret "</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mon 12 Aug 2024</title><link href="https://ryan.freumh.org/2024-08-12.html" rel="alternate"></link><published>2024-08-12T01:00:00Z</published><updated>2024-08-12T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-08-12.html</id><summary type="html">Previous: &lt;a href="2024-08-05.html" target="_blank"&gt;Mon 5 Aug 2024&lt;/a&gt; Next: &lt;a href="2024-08-26.html" target="_blank"&gt;Mon 26 Aug 2024&lt;/a&gt; Tue apk-tree-sitter dependancy in opam-repository might need debian contrib KILL add translated opam-repository to opam-giga-repository KILL look at all the solving failures Wed trying to modify the zeroinstall solver to support solving multiple versions for e.g. cargo &lt;a href="http://roscidus.com/blog/blog/2014/09/17/simplifying-the-solver-with-functors/" target="_blank"&gt;http://roscidus.com/blog/blog/2014/09/17/simplifying-the-solver-with-functors/&lt;/a&gt; where does the CUDF conflict between multiple versions of the same package come from? so the fundamental problem here is we have different solving semantics for different parts of the dependency tree I wonder if it would be possible to have a depth first search for cargo’s portion of the dependency tree, and sat solving for the rest Thu where does the CUDF conflict between multiple versions of the same package come from? &lt;a href="https://github.com/ocaml/opam/blob/6cbdfbbb0b05c449e2e98eb81216f8cd2335e351/src/solver/opamSolver.ml#L295-L302" target="_blank"&gt;https://github.com/ocaml/opam/blob/6cbdfbbb0b05c449e2e98eb81216f8cd2335e351/src/solver/opamSolver.ml#L295-L302&lt;/a&gt; okay, what if we just modify the version...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 5 Aug 2024</title><link href="https://ryan.freumh.org/2024-08-05.html" rel="alternate"></link><published>2024-08-05T01:00:00Z</published><updated>2024-08-05T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-08-05.html</id><summary type="html">Previous: &lt;a href="2024-07-08.html" target="_blank"&gt;Mon 8 Jul 2024&lt;/a&gt; Next: &lt;a href="2024-08-12.html" target="_blank"&gt;Mon 12 Aug 2024&lt;/a&gt; Mon Package Management Test with `opam install –dry-run` you can emulate it by encoding their dependencies and then solving in that order with a real client, you would just invoke cargo once cargo depexts 0install memo bug getting latest ones solve for cargo equivalent to cargo install what if we did this for nix flakes? &lt;a href="https://github.com/snowfallorg/thaw" target="_blank"&gt;https://github.com/snowfallorg/thaw&lt;/a&gt; Eon So, interesting Eon problem: Patrick’s server failed to connect to mine, presumably after a restart of both, as it was querying itself for `freumh.org`: Aug 05 10:37:31 sirref capd[1761828]: capd: [INFO] Connecting to tcp:freumh.org:7000... Aug 05 10:37:31 sirref capd[1761828]: +Failed to connnect to primary: Unknown host "freumh.org" Aug 05 10:37:31 sirref capd[1761828]: +Retrying in 60.000000 I think I’ve just...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Building a Low-Powered NAS</title><link href="https://ryan.freumh.org/nas.html" rel="alternate"></link><published>2024-08-03T01:00:00Z</published><updated>2024-08-03T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/nas.html</id><summary type="html">Published Sat 3 Aug 2024. Tags: &lt;a href="/technology.html" target="_blank"&gt;technology&lt;/a&gt; . At the start of this year I built a Network-Attached Storage (NAS) server to store backups, photos &amp; videos, digitised VHS tapes, cached builds, and more. Having a dedicated machine has allowed me to use it in ways that wouldn’t be feasible with cloud storage, such as live transcoding of media playback to different resolutions or codecs, and having it physically co-located makes it resilient to network outages. I had a look at some of the pre-built solutions out there, but they seemed expensive for what they were, often having architectures a few generations behind. So I decided to build my own. With the price of energy in the UK power efficiency was a primary concern and informed many of the decisions made when building it. Hardware The...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Using wasm to locally explore geospatial layers</title><link href="https://anil.recoil.org/ideas/life-explorer-wasm" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/life-explorer-wasm</id><summary type="html">Using wasm to locally explore geospatial layers This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:sf729@cam.ac.uk" target="_blank"&gt;Sam Forbes&lt;/a&gt; . It is co-supervised with &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; . Some of my projects like &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;Mapping LIFE on Earth&lt;/a&gt; or &lt;a href="https://anil.recoil.org/projects/rsn" target="_blank"&gt;Remote Sensing of Nature&lt;/a&gt; involve geospatial base maps with gigabytes or even terabytes of data. This data is usually split up into multiple GeoTIFFs, each of which has a slice of information. For example, the LIFE persistence maps have around 30000 maps for individual species, and then an aggregated GeoTIFF for mammals, birds, reptiles and so forth. This project will explore how to build a WebAssembly-based visualisation tool for geospatial ecology data. This existing data is in the form of GeoTIFF files, which are image files with embedded...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Towards reproducible URLs with provenance</title><link href="https://anil.recoil.org/ideas/urls-with-provenance" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/urls-with-provenance</id><summary type="html">Towards reproducible URLs with provenance This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is available for being worked on. It may be co-supervised with &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . Vurls are an attempt to add versioning to URI resolution. For example, what should happen when we request https://doi.org/10.1109/SASOW.2012.14 and how do we track the chain of events that leads to an answer coming back? The prototype &lt;a href="https://github.com/quantifyearth/vurl" target="_blank"&gt;vurl&lt;/a&gt; library written in OCaml outputs the following: # Eio_main.run @@ fun env -&gt; Vurl_eio.with_default ~net:env#net env#cwd @@ fun () -&gt; let vurl = Vurl.of_uri "https://doi.org/10.1109/SASOW.2012.14" in let vurl, file = Vurl.file vurl in Vurl.pp Format.std_formatter vurl;; { "intentional_uri": "https://doi.org/10.1109/SASOW.2012.14", "segments": [ {...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Real-time mapping of changes in species extinction risks</title><link href="https://anil.recoil.org/ideas/mapping-species-extinction-risks" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/mapping-species-extinction-risks</id><summary type="html">Real-time mapping of changes in species extinction risks This is an idea proposed in 2024 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://emiliolr.github.io" target="_blank"&gt;Emilio Luz-Ricca&lt;/a&gt; . It is co-supervised with &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; . Loss of habitat represents the most significant threat to wildlife overall, but advances in satellite sensing have enabled the assessment of habitat extent with comprehensive spatial coverage and reasonable temporal resolution. To address rising demand for metrics to quantify biodiversity, we have developed the LIFE metric (see &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;Mapping LIFE on Earth&lt;/a&gt; ) that models the effect of landuse changes on species extinction risk as a function of Areas of Habitat (AoH). This PhD work explores how to deal with the anthropogenic threats beyond simple habitat loss, including hunting, agricultural...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Preprint on Terracorder sensing now available</title><link href="https://anil.recoil.org/news/2024-terracorder-1" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-terracorder-1</id><summary type="html">Our preprint on the Terracorder ground sensing platform I've been working with &lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; at Imperial on is now available on arXiv. It's a heady combination of ESP32 very low power hardware, combined with Q-learning to build cooperative networks of them that can run for long periods of time without wasting energy on redundant operations. &lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; , &lt;a href="https://www.imperial.ac.uk/people/sarab.sethi" target="_blank"&gt;Sarab Sethi&lt;/a&gt; , &lt;a href="https://haddadi.github.io/" target="_blank"&gt;Hamed Haddadi&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/2408.02407" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2408.02407" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2408.02407" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-terracorder.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-terracorder.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Nature Sustainability article on carbon/biodiversity credits</title><link href="https://anil.recoil.org/news/2023-naturecredits-1" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-naturecredits-1</id><summary type="html">Our commentary on nature-based credits has been published in &lt;a href="https://www.nature.com/natsustain/" target="_blank"&gt;Nature Sustainability&lt;/a&gt; . I wrote some &lt;a href="https://anil.recoil.org/notes/nature-crossroads" target="_blank"&gt;thoughts&lt;/a&gt; about it here as well. &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://uk.linkedin.com/in/siddarthshrikanth" target="_blank"&gt;Siddarth Shrikanth&lt;/a&gt; , &lt;a href="https://www.biology.ox.ac.uk/people/joseph-bull" target="_blank"&gt;Joseph Bull&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.naturerecovery.ox.ac.uk/people/sophus-zu-ermgassen/" target="_blank"&gt;Sophus zu Ermgassen&lt;/a&gt; . Journal paper in &lt;a href="https://www.nature.com/articles/s41893-024-01403-w" target="_blank"&gt;Nature Sustainability&lt;/a&gt; . &lt;a href="https://www.nature.com/articles/s41893-024-01403-w" target="_blank"&gt;URL&lt;/a&gt; (nature.com) &lt;a href="https://doi.org/10.1038/s41893-024-01403-w" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-naturecredits.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-naturecredits.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mapping hunting risks for wild meat in protected areas</title><link href="https://anil.recoil.org/ideas/mapping-hunting-risks-for-wild-meat" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/mapping-hunting-risks-for-wild-meat</id><summary type="html">Mapping hunting risks for wild meat in protected areas This is an idea proposed in 2024 as a postdoctoral project, and is currently being worked on by &lt;a href="https://charlesemogor.com" target="_blank"&gt;Charles Emogor&lt;/a&gt; . It is co-supervised with &lt;a href="https://teamcore.seas.harvard.edu/tambe" target="_blank"&gt;Milind Tambe&lt;/a&gt; . There is an important balance needed between the biodiversity damage caused by hunting in protected areas and the well-being of local communities that depend on it. One understudied driver of overly damaging hunting in these areas is &lt;a href="https://en.wikipedia.org/wiki/Trapping" target="_blank"&gt;snaring&lt;/a&gt; (as opposed to gun hunting) which potentially increases carcass wastage and hence causing biodiversity harm without proportionate benefit to the community. This project examines how to improve the efficacy of anti-poaching ranger patrols while also plugging the knowledge gap around wild meat snaring. Both of these research topics can be tackled in a...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Implementing a higher-order choreographic language</title><link href="https://anil.recoil.org/ideas/choregraphic-programming-ocaml" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/choregraphic-programming-ocaml</id><summary type="html">Implementing a higher-order choreographic language This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://github.com/Rokcas" target="_blank"&gt;Rokas Urbonas&lt;/a&gt; . It was co-supervised with &lt;a href="https://www.cst.cam.ac.uk/people/ds709" target="_blank"&gt;Dmirtij Szamozvancev&lt;/a&gt; . This project aims to implement a functional choreographic language inspired by the &lt;a href="https://dl.acm.org/doi/pdf/10.1145/3498684" target="_blank"&gt;Pirouette calculus&lt;/a&gt; . This language was meant to make the notoriously difficult process of implementing distributed algorithms easier, while offering a practical execution model for multi-participant programs. Additionally, it aimed to match the expressiveness and performance of similar existing solutions. The project completed very successfully, and resulted in &lt;a href="https://github.com/Rokcas/chorcaml" target="_blank"&gt;ChorCaml&lt;/a&gt; , an embedded DSL for choreographic programming in OCaml. The language facilitates the implementation of distributed algorithms, while...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Foundation models for complex geospatial tasks</title><link href="https://anil.recoil.org/ideas/ssl-for-geospatial-tasks" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/ssl-for-geospatial-tasks</id><summary type="html">Foundation models for complex geospatial tasks This is an idea proposed in 2024 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://www.cst.cam.ac.uk/people/og309" target="_blank"&gt;Onkar Gulati&lt;/a&gt; . It is co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; and &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; . Self-supervised learning (SSL) represents a shift in machine learning that enables versatile pretrained models to leverage the complex relationships present in dense–oftentimes multispectral and multimodal–remote sensing data. This in turn can accelerate how we address sophisticated downstream geospatial tasks for which current methodologies prove insufficient, ranging from land cover classification to urban building segmentation to crop yield measurement and wildfire forecasting. This PhD project explores the question of how current SSL methodologies may be altered...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>An imperative, pure and effective specification language</title><link href="https://anil.recoil.org/ideas/effective-specification-languages" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/effective-specification-languages</id><summary type="html">An imperative, pure and effective specification language This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:ms2922@cam.ac.uk" target="_blank"&gt;Max Smith&lt;/a&gt; . It is co-supervised with &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . Formal specification languages are conventionally rather functional looking, and not hugely amenable to iterative development. In contrast, real world specifications for geospatial algorithms tend to developed with "holes" in the logic which is then filled in by a domain expert as they explore the datasets through small pieces of exploratory code and visualisations. This project seeks to investigate the design of a specification language that looks and feels like Python, but that supports typed holes and the robust semantic foundations of a typed functional language...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Self Hosting - 2024 edition</title><link href="https://digitalflapjack.com/blog/hosting24/" rel="alternate"></link><published>2024-07-18T17:39:22Z</published><updated>2024-07-18T17:39:22Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/hosting24/</id><summary type="html">Starting in around 2018 or so I decided to start reclaiming my Internet. Before then, as most people had I suspect, I'd drifted into relying on cloud services for just about everything I could possibly want, but by that year I think it'd become apparent to me that I didn't like relying on other companies as the main host of my digital legacy. There was no one thing, but it seems time and time again large internet service providers like to make sure I feel glad that I've done this by finding new ways to exploit their users' data. That said, I'm somewhat pragmatic about it, as hosting all the things is hard and time consuming, and I really don't like doing system administration. There's nothing wrong with it, and I know many people who enjoy doing that, but it doesn't really bring me joy....</summary><category term="Digital Flapjack"></category></entry><entry><title>New set of ideas for incoming students</title><link href="https://anil.recoil.org/notes/student-ideas" rel="alternate"></link><published>2024-07-15T01:00:00Z</published><updated>2024-07-15T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/student-ideas</id><summary type="html">I've refreshed the set of project &lt;a href="https://anil.recoil.org/ideas" target="_blank"&gt;ideas&lt;/a&gt; for incoming &lt;a href="https://www.cst.cam.ac.uk/teaching/part-ii" target="_blank"&gt;CST Part II&lt;/a&gt; and &lt;a href="https://www.cst.cam.ac.uk/teaching/masters" target="_blank"&gt;MPhil&lt;/a&gt; and PhD student projects for 2024-2025. These are not an exhaustive list, but intended to kickstart conversations for things we could work on together. Do get in touch if you're an incoming student and see something that grabs your interest.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Real-time Wildlife Monitoring</title><link href="https://watch.eeg.cl.cam.ac.uk/w/tyPqbNvp3isgTDZVVoLFD1" rel="alternate"></link><published>2024-07-12T19:52:48Z</published><updated>2024-07-12T19:52:48Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/tyPqbNvp3isgTDZVVoLFD1</id><summary type="html">Abstract: This research introduces an AI-based alert system to reduce human-wildlife conflicts in the Romanian Carpathian Mountains. Globally, conflicts between people and wildlife are rising due to population growth, shifting land use patterns and climate change. In Romania, mountain communities are impacted by bears and wild boars, which damage livestock, crops and property. These conflicts can undermine conservation efforts and may result in the killing of problematic animals. In collaboration with Fundația Conservation Carpathia, this research supports Rapid Intervention Teams who respond to wildlife activity in mountain villages. Six years of camera trap data are used to train and test AI models to detect and classify European mammals. These models are integrated into an alert system...</summary><category term="EEG Seminars"></category></entry><entry><title>Mon 8 Jul 2024</title><link href="https://ryan.freumh.org/2024-07-08.html" rel="alternate"></link><published>2024-07-08T01:00:00Z</published><updated>2024-07-08T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-07-08.html</id><summary type="html">Previous: &lt;a href="2024-06-24.html" target="_blank"&gt;Mon 24 Jun 2024&lt;/a&gt; Next: &lt;a href="2024-08-05.html" target="_blank"&gt;Mon 5 Aug 2024&lt;/a&gt; &lt;a href="https://github.com/RyanGibb/opam-apk-repository" target="_blank"&gt;https://github.com/RyanGibb/opam-apk-repository&lt;/a&gt; a27b6fb1f2ab# opam repo add opam-apk-repository /opam-apk-repository a27b6fb1f2ab# opam update a27b6fb1f2ab# opam update [WARNING] Running as root is not recommended &lt;&gt;&lt;&gt; Updating package repositories &gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt; [opam-apk-repository] synchronised from file:///opam-apk-repository [default] no changes from https://opam.ocaml.org Now run 'opam upgrade' to apply any package updates. a27b6fb1f2ab# opam install nano [WARNING] Running as root is not recommended The following actions will be performed: - install ncurses-dev 6.4_p20240420-r0 [required by nano] - install ocaml-base-compiler 5.2.0 - install nano 8.0-r0 - install ocaml-config 3 - install ocaml 5.2.0 - install base-domains base - install base-nnp base...</summary><category term="ryan.freumh.org"></category></entry><entry><title>COMPASS 2024 report on the CoRE stack RIC meeting</title><link href="https://anil.recoil.org/notes/compass2024-ric-tripreport" rel="alternate"></link><published>2024-07-08T01:00:00Z</published><updated>2024-07-08T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/compass2024-ric-tripreport</id><summary type="html">This is a trip report of &lt;a href="https://compass.acm.org" target="_blank"&gt;ACM COMPASS 2024&lt;/a&gt; held in New Delhi, which had a novel track of &lt;a href="https://compass.acm.org/research-impact-collaboratives/" target="_blank"&gt;"Research to Impact Collaboratives"&lt;/a&gt; that drew me in. The general chair, &lt;a href="https://www.cse.iitd.ac.in/~aseth/" target="_blank"&gt;Aadi Seth&lt;/a&gt; wrote a fantastic book on " &lt;a href="https://www.cse.iitd.ac.in/~aseth/act.html" target="_blank"&gt;Technology and Disempowerment&lt;/a&gt; " a few years ago, and he organised one RIC session on the CoRE Stack -- a climate adaptation stack for rural communities. This was a must-visit for me as it is closely related to the work we've been doing on &lt;a href="https://anil.recoil.org/projects/rsn" target="_blank"&gt;Remote Sensing of Nature&lt;/a&gt; and &lt;a href="https://anil.recoil.org/projects/plancomp" target="_blank"&gt;Planetary Computing&lt;/a&gt; . The following notes are somewhat raw as they have only been lightly edited, but please refer to the more polished documents on the &lt;a href="https://docs.google.com/document/d/1MJ-Nw_P3z6gI9rvh4OcjJmdZRE83D_OXedgEeDZDnm8/edit" target="_blank"&gt;agenda for ACM COMPASS RIC&lt;/a&gt; and the overall &lt;a href="https://core-stack.org" target="_blank"&gt;CoRE Stack&lt;/a&gt; initiative on commoning technologies for resilience and equality The conference itself was held at &lt;a href="http://iiitd.ac.in/" target="_blank"&gt;IIIT-D&lt;/a&gt; in New Delhi, right at the cusp of the monsoon season and after record-breaking temperatures. Luckily,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Grid-friendly Energy Community Coordination for Reducing Grid Reinforcement Needs</title><link href="https://watch.eeg.cl.cam.ac.uk/w/iSPamqxUdmP2CwNNdGyQSN" rel="alternate"></link><published>2024-07-05T18:14:38Z</published><updated>2024-07-05T18:14:38Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/iSPamqxUdmP2CwNNdGyQSN</id><summary type="html">Abstract: This talk discusses how market mechanisms and automated trading strategies can be used to control the flexible consumption and generation units of the community members in such a way that they make the best possible use of existing distribution networks and support the network operator in avoiding and eliminating congestion situations. This ultimately helps avoiding grid reinforcements or allows to provide a better service with the existing grid, keeping in mind that it takes much longer to reinforce the grid than to build and connect many new (fluctuating) decentralized renewable generators and new loads such as heat pumps and electric vehicles. Bio: Since 2017: Professor of Control and Integration of Grids at INATECH; before: Professor for Energy Systems Technology and Energy...</summary><category term="EEG Seminars"></category></entry><entry><title>Second preprint of the LIFE biodiversity metric available</title><link href="https://anil.recoil.org/news/2024-life-2" rel="alternate"></link><published>2024-07-01T01:00:00Z</published><updated>2024-07-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-life-2</id><summary type="html">We have made an update to the &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;LIFE&lt;/a&gt; biodiversity metric based on reviewer feedback, and are very please that it has been accepted for publication early next year as part of a special issue from the Royal Society. Any comments would be most welcome before we submit the final proofs in a few months. &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-tom-ball" target="_blank"&gt;Thomas Ball&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/andy-arnell/" target="_blank"&gt;Andy Arnell&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/daniele-baisero/" target="_blank"&gt;Daniele Baisero&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/paz-duran/" target="_blank"&gt;América Paz Durán&lt;/a&gt; , &lt;a href="https://www.york.ac.uk/sei/staff/jonathan-green/" target="_blank"&gt;Jonathan Green&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/rhys-green" target="_blank"&gt;Rhys Green&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; . Journal paper in &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;Philosophical Transactions of the Royal Society&lt;/a&gt; (vol 380 issue 1917). &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;URL&lt;/a&gt; (royalsocietypublishing.org) &lt;a href="https://doi.org/10.1098/rstb.2023.0327" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-life.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-life.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Annual Monitoring of Forest AGB</title><link href="https://watch.eeg.cl.cam.ac.uk/w/2kgatqvAtb6XUAgF2UoKZz" rel="alternate"></link><published>2024-06-28T18:13:31Z</published><updated>2024-06-28T18:13:31Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/2kgatqvAtb6XUAgF2UoKZz</id><summary type="html">Title: Annual Monitoring of Forest AGB over a Period of 10 years Using SSL-derived Representations from Optical Time Series Abstract: I recap the functioning of our fully self-supervised learning pipeline based on the spectral-temporal Barlow Twins. The SSL approach generates highly informative representations at 10m spatial resolution from cloud-corrupted optical time series. The resulting representations are well correlated with GEDI-derived relative height measurements so that an AGB model for vegetation/forest of up to 300-500 t/ha can be derived. I show that the model transfers well between years making it possible to train the model on (for example) one year of Sentinel-2 data together with the corresponding GEDI measurements, and applying the frozen model to Landsat data acquired...</summary><category term="EEG Seminars"></category></entry><entry><title>HyWay: Enabling Mingling in the Hybrid World</title><link href="https://watch.eeg.cl.cam.ac.uk/w/pUULKS4bi9hG9uUy9prhF2" rel="alternate"></link><published>2024-06-28T18:13:11Z</published><updated>2024-06-28T18:13:11Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/pUULKS4bi9hG9uUy9prhF2</id><summary type="html">We present HyWay, short for “Hybrid Hallway”, to enable mingling and informal interaction among in-person and remote users in semi-structured and unstructured hybrid settings. Key to the design of HyWay is bridging the awareness gap between physical and virtual users and providing the virtual users the same agency as physical users. We explain how HyWay achieves these goals with an agile, light touch approach that centers on commodity hardware, frictionless bootstrapping, and a deploy-learn-refine flywheel to improve the system continually. We present our learnings from multiple deployments and discuss ongoing research aimed at weaving together more tightly the virtual and the physical realms. Bio: Venkat Padmanabhan is the Managing Director of Microsoft Research India in Bengaluru. He...</summary><category term="EEG Seminars"></category></entry><entry><title>Reinstalling `maestral`</title><link href="https://mort.io/blog/reinstall-maestral/" rel="alternate"></link><published>2024-06-28T01:00:00Z</published><updated>2024-06-28T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/reinstall-maestral/</id><summary type="html">A short one this; just a crib of commands to redo maestral (unofficial &lt;a href="https://dropbox.com/" target="_blank"&gt;Dropbox&lt;/a&gt; client) configuration. # remove existing configuration rm ~ /.config/maestral/maestral.ini # appears to fail with `/usr/bin/env 'bash': No such file or directory` maestral autostart &amp;&amp; systemctl -- user daemon-reload # ...so instead, just remmeber to do the following on restart maestral stop &amp;&amp; maestral start # if desired, add autocompletion for `maestral` in bash [[ $ ( which maestral 2 &gt; /dev/null ) ]] &amp;&amp; source &lt; ( maestral completion bash )</summary><category term="mort’s mythopœia"></category></entry><entry><title>Speaking at CCI workshop on conservation evidence</title><link href="https://anil.recoil.org/news/80795e06-ac75-4015-b178-3cfcbb233685-1" rel="alternate"></link><published>2024-06-25T01:00:00Z</published><updated>2024-06-25T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/80795e06-ac75-4015-b178-3cfcbb233685-1</id><summary type="html">&lt;a href="https://www.zoo.cam.ac.uk/directory/bill-sutherland" target="_blank"&gt;Bill Sutherland&lt;/a&gt; organised a workshop at the CCI on how to bring about an &lt;a href="https://about.conservationevidence.com/2024/07/12/the-next-steps-for-transforming-conservation-ideas-from-the-effectiveness-revolution-workshop/" target="_blank"&gt;Effectiveness Revolution&lt;/a&gt; for transforming conservation into an evidence-driven discipline. The aim was to discuss the "Evidence Emergency" (The Wildlife Trusts' term), the urgent need to embed evidence into decision-making and to create additional evidence to fill the considerable gaps in the evidence base, to improve conservation practice. I gave a talk about our early results with the &lt;a href="https://anil.recoil.org/papers/2024-ce-llm" target="_blank"&gt;conservation copilots&lt;/a&gt; work.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 24 Jun 2024</title><link href="https://ryan.freumh.org/2024-06-24.html" rel="alternate"></link><published>2024-06-24T01:00:00Z</published><updated>2024-06-24T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-06-24.html</id><summary type="html">Previous: &lt;a href="2024-05-27.html" target="_blank"&gt;Mon 27 May 2024&lt;/a&gt; Next: &lt;a href="2024-07-08.html" target="_blank"&gt;Mon 8 Jul 2024&lt;/a&gt; Coding TLS get eon to provision it’s own certificate</summary><category term="ryan.freumh.org"></category></entry><entry><title>Tackling the Hidden Costs of Computational Science</title><link href="https://watch.eeg.cl.cam.ac.uk/w/nfXCsAiyawBPM2qzdpRCfB" rel="alternate"></link><published>2024-06-21T16:03:59Z</published><updated>2024-06-21T16:03:59Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/nfXCsAiyawBPM2qzdpRCfB</id><summary type="html">Title: Tackling the Hidden Costs of Computational Science: GREENER Principles for Environmentally Sustainable Research Abstract: From genetic studies and astrophysics simulations to AI, scientific computing has enabled amazing discoveries and there is no doubt it will continue to do so. However, the corresponding energy usage and environmental impacts are a growing concern in light of the urgency of the climate crisis, so what can we all do about it? Tackling this issue and making it easier for scientists to engage with sustainable computing is what motivated the Green Algorithms project. Through the prism of the GREENER principles for environmentally sustainable science, we will discuss what we learned along the way, how to estimate the impact of our work and what levers scientists and...</summary><category term="EEG Seminars"></category></entry><entry><title>Interview with AI@CAM about conservation</title><link href="https://anil.recoil.org/notes/aicam-interview-ce" rel="alternate"></link><published>2024-06-09T01:00:00Z</published><updated>2024-06-09T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/aicam-interview-ce</id><summary type="html">I talked to the &lt;a href="https://ai.cam.ac.uk" target="_blank"&gt;AI@Cam&lt;/a&gt; team to discuss our &lt;a href="https://anil.recoil.org/notes/aicn-in-aicam" target="_blank"&gt;AICN&lt;/a&gt; project and what we're planning to do in the &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence Copilots&lt;/a&gt; team. Over the last two decades, the University of Cambridge-based project Conservation Evidence has screened more than 1.6 million scientific papers on conservation, as well as manually summarising 8,600+ studies relating to conservation actions. However, the current project’s work is limited by the specialised skills needed to screen and summarise relevant studies. It took more than 75 person years to manually curate the current database and only a few 100 papers can be added each year. By accelerating these efforts, AI has the potential to transform the impact this database has on biodiversity conservation. What we’re aiming to do through the ai@cam project – bringing...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Hyperspectrally identifying trees in tropical forests</title><link href="https://anil.recoil.org/news/2024-hyper-tropical-mapping-1" rel="alternate"></link><published>2024-06-01T01:00:00Z</published><updated>2024-06-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-hyper-tropical-mapping-1</id><summary type="html">A preprint on using &lt;a href="https://en.wikipedia.org/wiki/Hyperspectral_imaging" target="_blank"&gt;hyperspectral sensors&lt;/a&gt; to perform tree species identification across the tropics is now available on bioarxiv. This study introduces a new approach for mapping tree species linking a multi-temporal implementation of the CNN method detectree2 to segment tree-crowns from aerial photographs to machine learning classifiers to identify species from hyperspectral data. &lt;a href="https://patball1.github.io" target="_blank"&gt;James G. C. Ball&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://scholar.google.com/citations?user=gQYhlDYAAAAJ&amp;hl=fr" target="_blank"&gt;Anthony Laybros&lt;/a&gt; , &lt;a href="https://www.researchgate.net/profile/Colin-Prieur" target="_blank"&gt;Colin Prieur&lt;/a&gt; , &lt;a href="https://www.bristol.ac.uk/people/person/Toby-Jackson-0f0cc27a-9b35-479c-b2a6-7459834ca871/" target="_blank"&gt;Toby Jackson&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://orcid.org/0000-0002-5323-3866" target="_blank"&gt;Nicolas Barbier&lt;/a&gt; , &lt;a href="https://scholar.google.ca/citations?user=bc4TxdsAAAAJ" target="_blank"&gt;Gregoire Vincent&lt;/a&gt; and &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; . Working paper at &lt;a href="https://www.biorxiv.org/content/10.1101/2024.06.24.600405v1" target="_blank"&gt;bioRxiv&lt;/a&gt; . &lt;a href="https://www.biorxiv.org/content/10.1101/2024.06.24.600405v1" target="_blank"&gt;URL&lt;/a&gt; (biorxiv.org) &lt;a href="https://doi.org/10.1101/2024.06.24.600405" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-hyper-tropical-mapping.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-hyper-tropical-mapping.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 27 May 2024</title><link href="https://ryan.freumh.org/2024-05-27.html" rel="alternate"></link><published>2024-05-27T01:00:00Z</published><updated>2024-05-27T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-05-27.html</id><summary type="html">Previous: &lt;a href="2024-05-20.html" target="_blank"&gt;Mon 20 May 2024&lt;/a&gt; Next: &lt;a href="2024-06-24.html" target="_blank"&gt;Mon 24 Jun 2024&lt;/a&gt; NixOS Modules On Friday we were talking about doing something alternative to Nix, but without a clear statement of the problems with Nix. One clear problem I have with the NixOS ecosytem is the module system. From section 5.1 of the &lt;a href="https://edolstra.github.io/pubs/nixos-jfp-final.pdf" target="_blank"&gt;NixOS
-
paper&lt;/a&gt; , the module system allows ‘separation of concerns: each module defines a single, “logical” part of the system (e.g., some system service, support for a certain kind of hardware device, or an aspect such as the system path), even though its implementation might cross-cut many “physical” parts (e.g., the derivations that build the boot scripts)’. In one place I can define everything needed for a particular application; I can describe a matrix setup server, reverse proxy, postgres database, dns records, and TLS...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Programming for the Planet</title><link href="https://anil.recoil.org/news/d592bf17-c835-435f-9469-f0f65e926975-1" rel="alternate"></link><published>2024-05-27T01:00:00Z</published><updated>2024-05-27T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/d592bf17-c835-435f-9469-f0f65e926975-1</id><summary type="html">I was invited by Mary Sheeran to deliver a keynoted at &lt;a href="https://www.lambdadays.org/" target="_blank"&gt;Lambda Days&lt;/a&gt; , and I decided to go along to talk about my work on &lt;a href="https://anil.recoil.org/videos/981c00b5-32c0-4cac-a387-6c945dfa9934" target="_blank"&gt;Programming for the Planet&lt;/a&gt; . The conference was a really vibrant crowd and I would definitely go along in future years. It's best summarised via an &lt;a href="https://www.youtube.com/watch?v=Kao-LguvYDU&amp;list=PLvL2NEhYV4ZtX2TurK0BIlKD_cHct0rSs" target="_blank"&gt;interview video&lt;/a&gt; they took of all the speakers.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 20 May 2024</title><link href="https://ryan.freumh.org/2024-05-20.html" rel="alternate"></link><published>2024-05-20T01:00:00Z</published><updated>2024-05-20T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-05-20.html</id><summary type="html">Previous: &lt;a href="2024-05-13.html" target="_blank"&gt;Mon 13 May 2024&lt;/a&gt; Next: &lt;a href="2024-05-27.html" target="_blank"&gt;Mon 27 May 2024&lt;/a&gt; Mon: Met with Anil We skimmed the Carbon-aware name resolution paper. Anil said it was a narrow contribution, we’re making too many points in one paper, and that it needs to be framed in a research style with a hypothesis and experimentation attempting to disprove the hypothesis. He liked the mailserver redundancy example (powering up the backup when the primary goes down), which he likened to self-scaling applications managing the power state of machines. He said that the carbon-aware load balancing (Patrick’s section) seems more general than specific to emissions. Anil also said carbon isn’t the best terminology. I agree – we were following HotCarbon’s wording. We talked about doing a simulation to disprove the hypothesis. And how there’s a pareto...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 13 May 2024</title><link href="https://ryan.freumh.org/2024-05-13.html" rel="alternate"></link><published>2024-05-13T01:00:00Z</published><updated>2024-05-13T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-05-13.html</id><summary type="html">Previous: &lt;a href="2024-05-06.html" target="_blank"&gt;Mon 6 May 2024&lt;/a&gt; Next: &lt;a href="2024-05-20.html" target="_blank"&gt;Mon 20 May 2024&lt;/a&gt; Wrote ‘Carbon-aware Name Resolution’ with Patrick for HotCarbon but ultimately decided not to submit it as the conference doesn’t seem to align with our interests and the paper could use more polishing. We’re planning on polishing it up and sticking it on arxiv as a basis for a HotNets submission. We spoke to Anil about this and came away with a bunch of ideas, including Managing the power schedule of resource-constrained devices. Re-visiting the idea of giving each service a unique IPv6 address. Store-and-forward energy budgeting for low powered sensor networks. Why isn’t the whole Internet a Filesytem (could the DNS encode file paths?). Providing TLS to MQTT. Having a BGP IPv6 testbed for this with Mythic Beasts. Workload scheduling in a compute...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 6 May 2024</title><link href="https://ryan.freumh.org/2024-05-06.html" rel="alternate"></link><published>2024-05-06T01:00:00Z</published><updated>2024-05-06T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-05-06.html</id><summary type="html">Previous: &lt;a href="2024-04-29.html" target="_blank"&gt;Mon 29 Apr 2024&lt;/a&gt; Next: &lt;a href="2024-05-13.html" target="_blank"&gt;Mon 13 May 2024&lt;/a&gt; My Tarides contract is progressing nicely, and we now have Opam setting an environment built from Nix to provide external dependencies. I’ve also indexed all of Nixpkgs history in order to do version solving across it. Spoke to Roy about a possible Part II project, and wrote another proposal on an ‘OCaml Wayland Compositor’; something I’ve been meaning to do for a while but have yet to find the time. Wayland &lt;a href="#fn1" target="_blank"&gt;1&lt;/a&gt; is a communications protocol for next-generation display servers used in Unix-like systems which has been adopted as the default display server by Linux distributions including Fedora with KDE, and Ubuntu and Debian with GNOME. It aims to replace the venerable X display server with a modern alternative. X leaves logic such as window...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Quantifying the impact of the food we eat on species extinctions</title><link href="https://anil.recoil.org/news/2024-food-life-1" rel="alternate"></link><published>2024-05-01T01:00:00Z</published><updated>2024-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-food-life-1</id><summary type="html">Submitted preprint on quantifying the biodiversity cost of global food consumption for peer review &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-tom-ball" target="_blank"&gt;Thomas Ball&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.york.ac.uk/sei/staff/jonathan-green/" target="_blank"&gt;Jonathan Green&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , David Williams and &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; . Working paper at &lt;a href="https://www.cambridge.org/engage/coe/article-details/67a21eac81d2151a0225692b" target="_blank"&gt;Cambridge Open Engage&lt;/a&gt; . &lt;a href="https://www.cambridge.org/engage/coe/article-details/67a21eac81d2151a0225692b" target="_blank"&gt;URL&lt;/a&gt; (cambridge.org) &lt;a href="https://doi.org/10.33774/coe-2024-fl5fk-v2" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-food-life.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-food-life.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Predicting species using machine learning at CCAI</title><link href="https://anil.recoil.org/news/2024-sdm-sa-1" rel="alternate"></link><published>2024-05-01T01:00:00Z</published><updated>2024-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-sdm-sa-1</id><summary type="html">&lt;a href="https://github.com/emorris7" target="_blank"&gt;Emily Morris&lt;/a&gt; did some great MPhil work here in her Masters on using &lt;a href="https://anil.recoil.org/ideas/sdms-with-cnns" target="_blank"&gt;CNNs with satellite data&lt;/a&gt; to do species predictions in South Africa better. She presented it at the &lt;a href="https://www.climatechange.ai/events/iclr2024" target="_blank"&gt;ICLR CCAI&lt;/a&gt; workshop in Vienna, and is now off to do a PhD at Oxford! Species distribution models are crucial tools that predict species locations by interpolating observed field data with environmental information. We develop an improved, scalable method for species distribution modelling by proposing a dataset pipeline that incorporates global remote sensing imagery, land use classification data, environmental variables, and observation data, and utilising this with CNN models to predict species presence at higher spatial and temporal resolutions than well-established species distribution modelling methods. &lt;a href="https://github.com/emorris7" target="_blank"&gt;Emily Morris&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; ,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Low-latency wayland compositor in OCaml</title><link href="https://anil.recoil.org/ideas/wayland" rel="alternate"></link><published>2024-05-01T01:00:00Z</published><updated>2024-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/wayland</id><summary type="html">Low-latency wayland compositor in OCaml This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:tt492@cam.ac.uk" target="_blank"&gt;Tom Thorogood&lt;/a&gt; . It is co-supervised with &lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; . When building situated displays and hybrid streaming systems, we need fine-grained composition over what to show on the displays. Wayland is a communications protocol for next-generation display servers used in Unix-like systems. &lt;a href="https://anil.recoil.org/#fn-0" target="_blank"&gt;[1]&lt;/a&gt; It has been adopted as the default display server by Linux distributions including Fedora with KDE, and Ubuntu and Debian with GNOME. It aims to replace the venerable X display server with a modern alternative. X leaves logic such as window management to application software, which has allowed the proliferation of different approaches. Wayland,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Diffusion models for terrestrial predictions about land use change</title><link href="https://anil.recoil.org/ideas/diffusion-model-satellites" rel="alternate"></link><published>2024-05-01T01:00:00Z</published><updated>2024-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/diffusion-model-satellites</id><summary type="html">Diffusion models for terrestrial predictions about land use change This is an idea proposed in 2024 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . This project investigates how to build remote sensing data-driven models for the evolution of landscapes, which we can use to better predict deforestation, flooding and fire risks. Diffusion models are now widespread for image generation and are now being applied to video. &lt;a href="https://anil.recoil.org/#fn-3" target="_blank"&gt;[1]&lt;/a&gt; In addition the GenCast project from Google Deepmind used a diffusion model ensemble for weather forecasting, resulting in a high degree of accuracy compared to traditional methods. &lt;a href="https://anil.recoil.org/#fn-2" target="_blank"&gt;[2]&lt;/a&gt; The goal of this project is to train a video diffusion model on time series of...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 29 Apr 2024</title><link href="https://ryan.freumh.org/2024-04-29.html" rel="alternate"></link><published>2024-04-29T01:00:00Z</published><updated>2024-04-29T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-04-29.html</id><summary type="html">Previous: &lt;a href="2024-04-22.html" target="_blank"&gt;Mon 22 Apr 2024&lt;/a&gt; Next: &lt;a href="2024-05-06.html" target="_blank"&gt;Mon 6 May 2024&lt;/a&gt; Attended the MirageOS retreat. Spoke to Hannes’ about the DNS library and he asked me to upstream a few things, and talked about my Capnp approach to updates and secondary-ing. Had some productive conversations with Jules which led to an Opam NixOS depext approach Paul-Elliot helped me make my DNS transport library a bit more idiomatically functional, which we presented. Created a gravity-body simulation with Emile using an as-of-yet released OCaml game engine, which we presented. Got some nice window manager and vim tips. Went for a hike in the Atlas mountains. I also had some thoughts on offline operation of networked applications. One of the attendees showed me a video calling application for use in a mesh network that identifies clients by an IP...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 22 Apr 2024</title><link href="https://ryan.freumh.org/2024-04-22.html" rel="alternate"></link><published>2024-04-22T01:00:00Z</published><updated>2024-04-22T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-04-22.html</id><summary type="html">Previous: &lt;a href="2024-04-15.html" target="_blank"&gt;Mon 15 Apr 2024&lt;/a&gt; Next: &lt;a href="2024-04-29.html" target="_blank"&gt;Mon 29 Apr 2024&lt;/a&gt; I deployed Eon certificate provisioning to my server to my server, and promptly got rate limited by Let’s Encrypt (staging). It was a combination of not limiting the amount of concurrent certificates being provisioned and a bug in the Cap’N Proto OCaml RPC Eio port that Patrick purportedly has a &lt;a href="https://github.com/patricoferris/capnp-rpc/commit/6c95e771eb1345dcc6d31b959b1a5a8ca45e8a92" target="_blank"&gt;fix&lt;/a&gt; for. I’ve ended up using systemd services &lt;a href="https://github.com/RyanGibb/eon/blob/a831b4fdfa54767edf439047e87564a883c099eb/acme.nix#L219-L227" target="_blank"&gt;extensively&lt;/a&gt; to support provisioning certificates. I also added a CalDAV server to Eilean.</summary><category term="ryan.freumh.org"></category></entry><entry><title>Green Urban Equity in the UK</title><link href="https://ancazugo.github.io/python/carto/uk-3-30-300.html" rel="alternate"></link><published>2024-04-19T01:00:00Z</published><updated>2024-04-19T01:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/python/carto/uk-3-30-300</id><summary type="html">This is part of my presentation at EGU24 in Vienna that was about mapping green spaces in the UK using the 3-30-300 rule. You can find out more about the abstract &lt;a href="https://meetingorganizer.copernicus.org/EGU24/EGU24-20833.html" target="_blank"&gt;here&lt;/a&gt; .</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>Mon 15 Apr 2024</title><link href="https://ryan.freumh.org/2024-04-15.html" rel="alternate"></link><published>2024-04-15T01:00:00Z</published><updated>2024-04-15T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-04-15.html</id><summary type="html">Previous: &lt;a href="2024-04-08.html" target="_blank"&gt;Mon 8 Apr 2024&lt;/a&gt; Next: &lt;a href="2024-04-22.html" target="_blank"&gt;Mon 22 Apr 2024&lt;/a&gt; I’ve been doing a lot of hacking on Eon to get it to a state where I can use it to provision certificates in production. I’ve written a capnproto schema file that exposes a capability to a domain. When we run a nameserver it outputs a capability for each domain for which it is authoritative. $ cap -z cl.freumh.org --capnp-secret-key-file /var/lib/eon/capnp-secret.pem --capnp-listen-address tcp:cl.freumh.org:7000 --state-dir /var/lib/eon $ sudo ls /var/lib/eon/caps/ cl.freumh.org.cap zone.cap This capability can then be provided to a client. $ capc get-name cl.freumh.org.cap cl.freumh.org The client can create a new capability for a subdomain, which could be passed to a service. NB this is persisted to disk so it can be referenced across reboots. $...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 8 Apr 2024</title><link href="https://ryan.freumh.org/2024-04-08.html" rel="alternate"></link><published>2024-04-08T01:00:00Z</published><updated>2024-04-08T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-04-08.html</id><summary type="html">Previous: &lt;a href="2024-04-01.html" target="_blank"&gt;Mon 1 Apr 2024&lt;/a&gt; Next: &lt;a href="2024-04-15.html" target="_blank"&gt;Mon 15 Apr 2024&lt;/a&gt; Tue some rough working notes for eon’s capability interface to provision TLS certificates: modified the client to read the capability from a file and write the certs to a directory. todo: persistence account key wildcard certs should we do CSR on the client or server? should we do renewals on the client or server? let’s store everything on the server renewals keep the same private key? no, new certificate renewals: studryrefs for capabilities mapped to domains keep track of expiry update interface do we mimic DNS UPDATE? yes do we pass binary blob? no todo provisioning a cert for root https://github.com/mirage/ca-certs-nss https://github.com/suri-framework/castore multiple domains SAN CN extensions Thu done: subject alternative name generate caps for...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Teaching 1A Security and Software Engineering</title><link href="https://anil.recoil.org/notes/swseng" rel="alternate"></link><published>2024-04-04T01:00:00Z</published><updated>2024-04-04T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/swseng</id><summary type="html">We're still reeling from the shocking and unexpected &lt;a href="https://www.cst.cam.ac.uk/news/ross-anderson" target="_blank"&gt;passing of Ross Anderson&lt;/a&gt; last week. You can read a lovely &lt;a href="https://raintown.org/ross_anderson/" target="_blank"&gt;tribute&lt;/a&gt; to him by &lt;a href="https://raintown.org" target="_blank"&gt;Satnam Singh&lt;/a&gt; , and I still getting my thoughts together on all the guidance, advice and prods in the right direction that Ross has given me over the years. In pragmatic news, I'll be emergency lecturing part of Ross' 1A &lt;a href="https://www.cl.cam.ac.uk/teaching/2324/SWSecEng/" target="_blank"&gt;Software and Security Engineering&lt;/a&gt; course here at Cambridge, along with my colleagues Martin, Alastair, Mort and Rob who have all stepped up at short notice. I have absolutely no idea how we'll live up to Ross' standard, but we'll do our very best in his memory!</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Global, robust and comparable digital carbon assets</title><link href="https://anil.recoil.org/news/2024-cc-blockchain-1" rel="alternate"></link><published>2024-04-04T01:00:00Z</published><updated>2024-04-04T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-cc-blockchain-1</id><summary type="html">Paper on smart contracts for carbon credits at &lt;a href="http://icbc2024.ieee-icbc.org" target="_blank"&gt;ICBC 2024&lt;/a&gt; in Dublin &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://derekhsorensen.com" target="_blank"&gt;Derek Sorensen&lt;/a&gt; , &lt;a href="https://www.lambdacambridge.com/robin-message" target="_blank"&gt;Robin Message&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="http://arxiv.org/abs/2403.14581" target="_blank"&gt;proceedings of the 6th IEEE International Conference on Blockchain and Cryptocurrency&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2403.14581" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2403.14581" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-cc-blockchain.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-cc-blockchain.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 1 Apr 2024</title><link href="https://ryan.freumh.org/2024-04-01.html" rel="alternate"></link><published>2024-04-01T01:00:00Z</published><updated>2024-04-01T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-04-01.html</id><summary type="html">Previous: &lt;a href="2024-03-25.html" target="_blank"&gt;Mon 25 Mar 2024&lt;/a&gt; Next: &lt;a href="2024-04-08.html" target="_blank"&gt;Mon 8 Apr 2024&lt;/a&gt; I read &lt;a href="https://datatracker.ietf.org/doc/draft-many-dnsop-dns-isolated-networks/" target="_blank"&gt;datatracker.ietf.org/doc/draft-many-dnsop-dns-isolated-networks/&lt;/a&gt; which discussed some considerations for DNS in networks with delayed and/or intermittent connectivity. This reminded me of another &lt;a href="./2024-03-18.html#eon" target="_blank"&gt;scenario to consider for Eon&lt;/a&gt; : Bootstrap a network in a remote isolated environment. As well as, moving more into the service management territory again, keeping track of service logs.</summary><category term="ryan.freumh.org"></category></entry><entry><title>Rolling out a new site design</title><link href="https://anil.recoil.org/notes/bushel-step1" rel="alternate"></link><published>2024-04-01T01:00:00Z</published><updated>2024-04-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/bushel-step1</id><summary type="html">I've done a redesign of my site after about 20 years since the last one &lt;a href="https://anil.recoil.org/notes/opening-anil-recoil-org" target="_blank"&gt;back in 2003&lt;/a&gt; . The site design is based on my upcoming Bushel content manager, which I'll post about more once I get the data model in place and try it out properly using this site as a guinea pig. &lt;a href="https://nick.recoil.org" target="_blank"&gt;Nick Ludlam&lt;/a&gt; also refreshed &lt;a href="https://nick.recoil.org" target="_blank"&gt;his website&lt;/a&gt; since we were chatting about how outdated our web presences were, and he also put up a main &lt;a href="https://recoil.org" target="_blank"&gt;recoil.org&lt;/a&gt; page for the main server.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 25 Mar 2024</title><link href="https://ryan.freumh.org/2024-03-25.html" rel="alternate"></link><published>2024-03-25T00:00:00Z</published><updated>2024-03-25T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-03-25.html</id><summary type="html">Previous: &lt;a href="2024-03-18.html" target="_blank"&gt;Mon 18 Mar 2024&lt;/a&gt; Next: &lt;a href="2024-04-01.html" target="_blank"&gt;Mon 1 Apr 2024&lt;/a&gt; Writing Scientific method: My thesis is that the DNS is the root of the Internet. That is, every network request starts off with a DNS resolution. The DNS is in a great position to manage resources in the Network, like certificates, keys, services, etc. But for some reason people don’t do this now. One advantage Eon has over the state-of-the-art dynamic DNS updates for the ACME DNS challenge is the principle of least privilege. We can provide a capability to only a subdomain, with the thread model a rough service or machine. Regarding scenario 5, the DNS is a very small key value store. “The DNS is a general (if somewhat limited) hierarchical database, and can store almost any kind of data, for almost any purpose,” RFC2181. We can keep track of what...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 18 Mar 2024</title><link href="https://ryan.freumh.org/2024-03-18.html" rel="alternate"></link><published>2024-03-18T00:00:00Z</published><updated>2024-03-18T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-03-18.html</id><summary type="html">Previous: &lt;a href="2024-03-11.html" target="_blank"&gt;Mon 11 Mar 2024&lt;/a&gt; Next: &lt;a href="2024-03-25.html" target="_blank"&gt;Mon 25 Mar 2024&lt;/a&gt; Eon Some scenarios we could solve with a client-server API for Eon: We could keep track of the proliferation of federated services in an Eilean deployment including matrix, mastodon, and email. Currently, we need to manually provision DNS records like an A record at mastodon.example.org . We need to run a certbot to respond to a ACME HTTP challenge by configuring a path to serve by a webserver, or respond to a DNS challenge using dynamic DNS UPDATES to update a nameserver. The HTTP challenge pretty heavyweight and doesn’t work so well when e.g. load balancing accross a webserver, and the DNS challenge typically requires providing access to the whole domain. To demultiplex multiple HTTP services on the same machine we typically use a reverse proxy...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 11 Mar 2024</title><link href="https://ryan.freumh.org/2024-03-11.html" rel="alternate"></link><published>2024-03-11T00:00:00Z</published><updated>2024-03-11T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-03-11.html</id><summary type="html">Previous: &lt;a href="2024-02-26.html" target="_blank"&gt;Mon 26 Feb 2024&lt;/a&gt; Next: &lt;a href="2024-03-18.html" target="_blank"&gt;Mon 18 Mar 2024&lt;/a&gt; I reworked the EON project structure and Capnp Schema file too: struct Record { name @0 :Text; type @1 :Int32; value @2 :Text; } struct Prereq { union { exists @0 :Record; existsData @1 :Record; notExists @2 :Record; nameInuse @3 :Record; notnameInuse @4 :Record; } } struct Update { union { add @0 :Record; remove @1 :Record; removeAll @2 :Record; removeSingle @3 :Record; } } struct CertReq { # Used to request a certificate for a service union { callback @0 :CertCallback; none @1 :Void; } } interface Zone { # Capability to initalize a Zone for which the nameserver is authorative init @0 (name :Text) -&gt; (domain :Domain); } interface Domain { # Capability for a domain getName @0 () -&gt; (name :Text); # Get the domain name delegate @1 (subdomain :Text) -&gt;...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Preprint available on insuring against variability of NbS</title><link href="https://anil.recoil.org/news/2024-nbs-risk-1" rel="alternate"></link><published>2024-03-01T00:00:00Z</published><updated>2024-03-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-nbs-risk-1</id><summary type="html">A new preprint is available on our work on ex-ante pricing models for nature-based solutions. It is currently under review, so any feedback is most welcome! &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-e-ping-rau" target="_blank"&gt;E.-Ping Rau&lt;/a&gt; , &lt;a href="https://www.jamesgross.org" target="_blank"&gt;James Gross&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; and &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; . Journal paper in &lt;a href="https://www.tandfonline.com/doi/full/10.1080/17583004.2024.2390854" target="_blank"&gt;Carbon Management&lt;/a&gt; (vol 15 issue 1). &lt;a href="https://www.tandfonline.com/doi/full/10.1080/17583004.2024.2390854" target="_blank"&gt;URL&lt;/a&gt; (tandfonline.com) &lt;a href="https://doi.org/10.1080/17583004.2024.2390854" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-nbs-risk.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-nbs-risk.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Green Urban Equity: Analyzing the 3-30-300 Rule in UK Cities and Its Socioeconomic Implications</title><link href="https://anil.recoil.org/news/2024-green-urban-eq-1" rel="alternate"></link><published>2024-03-01T00:00:00Z</published><updated>2024-03-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-green-urban-eq-1</id><summary type="html">Abstract on urban biodiversity and human health at &lt;a href="https://meetingorganizer.copernicus.org/EGU24/EGU24-20833.html" target="_blank"&gt;EGU 24&lt;/a&gt; &lt;a href="https://ancazugo.github.io/" target="_blank"&gt;Andres Zuñiga-Gonzalez&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.arct.cam.ac.uk/people/dr-ronita-bardhan" target="_blank"&gt;Ronita Bardhan&lt;/a&gt; . Technical report (EGU24-20833) at &lt;a href="https://meetingorganizer.copernicus.org/EGU24/EGU24-20833.html" target="_blank"&gt;Copernicus Meetings&lt;/a&gt; . &lt;a href="https://meetingorganizer.copernicus.org/EGU24/EGU24-20833.html" target="_blank"&gt;URL&lt;/a&gt; (meetingorganizer.copernicus.org) &lt;a href="https://doi.org/10.5194/egusphere-egu24-20833" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-green-urban-eq.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>A Case for Planetary Computing</title><link href="https://anil.recoil.org/news/2024-planetary-computing-2" rel="alternate"></link><published>2024-03-01T00:00:00Z</published><updated>2024-03-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-planetary-computing-2</id><summary type="html">Revision of planetary computing preprint &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://ameliaholcomb.github.io" target="_blank"&gt;Amelia Holcomb&lt;/a&gt; , &lt;a href="https://www.cst.cam.ac.uk/people/eft20" target="_blank"&gt;Eleanor Toye Scott&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/2303.04501" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2303.04501" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2303.04501" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-planetary-computing.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 26 Feb 2024</title><link href="https://ryan.freumh.org/2024-02-26.html" rel="alternate"></link><published>2024-02-26T00:00:00Z</published><updated>2024-02-26T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-02-26.html</id><summary type="html">Previous: &lt;a href="2024-02-19.html" target="_blank"&gt;Mon 19 Feb 2024&lt;/a&gt; Next: &lt;a href="2024-03-11.html" target="_blank"&gt;Mon 11 Mar 2024&lt;/a&gt; Shark We’ve got an obuilder runc container using Linux network namespaces with VPNkit forwarding outgoing http requests to a cohttp-proxy-lwt. I’ve created a monorepo assembling obuilder, VPNkit, and cohttp and got them building. Some issues were VPNkit having an outdated version of cohttp and having it’s own dune dns library which collides with the Mirage DNS library. Next is assembling a binary to do the container, namespace, VPNkit, and http proxy orchestration. I’m thinking about the UI of what this will look like. Something like $ shark create &lt;name&gt; $ shark attach &lt;name&gt; $ ... We also need to implement some kind of store to cache and replay http queries. Some technical nodes on reproducing this prototype separate-binary setup follow: build...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 19 Feb 2024</title><link href="https://ryan.freumh.org/2024-02-19.html" rel="alternate"></link><published>2024-02-19T00:00:00Z</published><updated>2024-02-19T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-02-19.html</id><summary type="html">Previous: &lt;a href="2024-02-12.html" target="_blank"&gt;Mon 12 Feb 2024&lt;/a&gt; Next: &lt;a href="2024-02-26.html" target="_blank"&gt;Mon 26 Feb 2024&lt;/a&gt; Anil Meeting Anil mentioned with QUIC and DNS SVCB records traffic can be UDP-only. We described a service manager using capability DNS with ‘naming’ and ‘livecycle’ at the DNS level. Anil likened this to docker compose service manager for a collection of services. It seems like systemd’s service management plus container and network management. This would allow things like IP-based load balancing, certificate provisioning, Jitsi-spinning up services on request. I need to extend the lenscap to support service management APIs as well as certificate provisioning. OCluster might be a place to look for this. It could do something really simple like just map to systemd. Anil likened it to Tailscale’s new service management dashboard. I brought up...</summary><category term="ryan.freumh.org"></category></entry><entry><title>FOSDEM</title><link href="https://ryan.freumh.org/fosdem.html" rel="alternate"></link><published>2024-02-13T00:00:00Z</published><updated>2024-02-13T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/fosdem.html</id><summary type="html">Published Tue 13 Feb 2024. Last update Tue 13 Feb 2024. Tags: &lt;a href="/conferences.html" target="_blank"&gt;conferences&lt;/a&gt; . I attended the Free and Open source Software Developers’ European Meeting (FOSDEM) in Brussels, Belgium last weekend. There are hundreds of hours of talks in 35 rooms over a period of two days, and rooms are often full to capacity, so it’s impossible to see everything! Thankfully every room is live-streamed and recordings made available after the fact, so you can catch up on anything you miss. Friday On the Eurostar over my travelling companion and I were lamenting about the Nix DSL, and we heard a French accent from behind: Ah, NixOS. See you at FOSDEM then! Saturday The day started with a coffee and a banana (probably not substantial enough in hindsight), an absolutely packed number 71 bus to the ULB Solbosch...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 12 Feb 2024</title><link href="https://ryan.freumh.org/2024-02-12.html" rel="alternate"></link><published>2024-02-12T00:00:00Z</published><updated>2024-02-12T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-02-12.html</id><summary type="html">Previous: &lt;a href="2024-02-05.html" target="_blank"&gt;Mon 5 Feb 2024&lt;/a&gt; Next: &lt;a href="2024-02-19.html" target="_blank"&gt;Mon 19 Feb 2024&lt;/a&gt; Capability DNS We have this nameserver that can provision TLS certificates with ACME using the DNS challenge, and expose a Cap’NP proto interface &lt;a href="https://github.com/RyanGibb/eon/blob/a442c424ea06b2c819dd48c9e69838e09675b22b/bin/acme/capnp/service_api.capnp" target="_blank"&gt;https://github.com/RyanGibb/eon/blob/main/bin/acme/capnp/service_api.capnp&lt;/a&gt; . We also have logic to tunnel Cap’NP over DNS &lt;a href="https://github.com/RyanGibb/eon/tree/a442c424ea06b2c819dd48c9e69838e09675b22b/lib/transport" target="_blank"&gt;https://github.com/RyanGibb/eon/tree/main/lib/transport&lt;/a&gt; , and indeed tunnel arbitrary data such as IP-traffic &lt;a href="https://github.com/RyanGibb/eon/tree/a442c424ea06b2c819dd48c9e69838e09675b22b/bin/transport/tunnel" target="_blank"&gt;https://github.com/RyanGibb/eon/tree/main/bin/transport/tunnel&lt;/a&gt; . Two ideas we had relating to this were exposing a shell interface &lt;a href="https://github.com/RyanGibb/eon/tree/a442c424ea06b2c819dd48c9e69838e09675b22b/bin/transport/sod" target="_blank"&gt;https://github.com/RyanGibb/eon/tree/main/bin/transport/sod&lt;/a&gt; over DNS and tunneling DNS traffic itself over DNS for query privacy a la Oblivious DNS &lt;a href="https://github.com/RyanGibb/eon/tree/a442c424ea06b2c819dd48c9e69838e09675b22b/bin/transport/dodo" target="_blank"&gt;https://github.com/RyanGibb/eon/tree/main/bin/transport/dodo&lt;/a&gt; . I’ve had a look for any related work to ‘de-risk’ a paper. The most obvious is &lt;a href="https://dl.acm.org/doi/pdf/10.1145/2377677.2377692" target="_blank"&gt;Signposts&lt;/a&gt; , which performs an ‘effectful’ name resolution to establish a communication channel through features of edge networks that break the end-to-end principle like NATs and proxies. It relies on DNSSEC to secure...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 5 Feb 2024</title><link href="https://ryan.freumh.org/2024-02-05.html" rel="alternate"></link><published>2024-02-05T00:00:00Z</published><updated>2024-02-05T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-02-05.html</id><summary type="html">Previous: &lt;a href="2024-01-29.html" target="_blank"&gt;Mon 29 Jan 2024&lt;/a&gt; Next: &lt;a href="2024-02-12.html" target="_blank"&gt;Mon 12 Feb 2024&lt;/a&gt; Shark I spoke to Michael about VanillaOS: It uses OCI images and ABRoot to provide immutability and atomic updates. Iirc it’s similar to Fedora Silverblue in that it’s an ‘immutable’ operating system, but Silverblue uses OST which is a ’git for binaries (keeps track of metadata and I think GCs). This is also used by flatpak. Nix is a bit more general in that is allows two packages to have different versions of a dependency by specifying them be absolute path rather than hard linking like ABRoot/OSTree. NixOS modules make it system configuration version controlled and rollback-able, and you don’t have to deal with ‘configuration updates’ like e.g. Ubuntu prompt you with. The downside is that you need to write your system config in this esoteric DSL. I...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Selected in the AI@CAM challenge for conservation research</title><link href="https://anil.recoil.org/notes/aicn-in-aicam" rel="alternate"></link><published>2024-02-05T00:00:00Z</published><updated>2024-02-05T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/aicn-in-aicam</id><summary type="html">We won the &lt;a href="https://www.cam.ac.uk/stories/AI-deas-launch" target="_blank"&gt;AI@CAM challenge&lt;/a&gt; that was sent out University wide to find research projects that use AI to tackle society's biggest challenges. Our project on using &lt;a href="https://www.cam.ac.uk/stories/AI-deas-launch#section-9RKgEyI2LZ" target="_blank"&gt;AI for climate and nature&lt;/a&gt; is one of the five selected. The twin climate and biodiversity crises are two of the world’s most complex challenges to tackle. This project aims to develop AI approaches for bringing together a wide range of datasets and accelerating the collation of information. This work will provide up to date, relevant and robust information for researchers and decision-makers working on climate and biodiversity conservation – opening up the possibility for more targeted and effective solutions to some of our world’s most pressing climate and biodiversity challenges. &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , AI-deas challenge co-lead, said: 'Mitigating the impacts...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Uncertainty at scale: how CS hinders climate research</title><link href="https://anil.recoil.org/news/2024-uncertainty-cs-1" rel="alternate"></link><published>2024-02-01T00:00:00Z</published><updated>2024-02-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-uncertainty-cs-1</id><summary type="html">Paper on uncertainty in climate science in &lt;a href="https://undonecs.sciencesconf.org" target="_blank"&gt;Undone CS&lt;/a&gt; &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="https://undonecs.sciencesconf.org/data/Undonecs_2024_abstract_43.pdf" target="_blank"&gt;Undone Computer Science&lt;/a&gt; . &lt;a href="https://undonecs.sciencesconf.org/data/Undonecs_2024_abstract_43.pdf" target="_blank"&gt;URL&lt;/a&gt; (undonecs.sciencesconf.org) &lt;a href="https://anil.recoil.org/papers/2024-uncertainty-cs.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-uncertainty-cs.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 29 Jan 2024</title><link href="https://ryan.freumh.org/2024-01-29.html" rel="alternate"></link><published>2024-01-29T00:00:00Z</published><updated>2024-01-29T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-01-29.html</id><summary type="html">Previous: &lt;a href="2024-01-22.html" target="_blank"&gt;Mon 22 Jan 2024&lt;/a&gt; Next: &lt;a href="2024-02-05.html" target="_blank"&gt;Mon 5 Feb 2024&lt;/a&gt; Interspatial Networking Got a Zigbee2MQTT bridge deployed via NixOS on a Raspberry Pi 5. This required installing an EDK2 raspberry Pi 5 EFI implementation as a bootloader pending U-boot support &lt;a href="https://github.com/NixOS/nixpkgs/issues/260754#issuecomment-1908664693" target="_blank"&gt;https://github.com/NixOS/nixpkgs/issues/260754#issuecomment-1908664693&lt;/a&gt; . Had lots of false starts trying to cross-compile aarch64 (and arvm6 for the raspberry pi 1) on x86_64. I got pretty far with aarch64 but I think nixos-install doesn’t support a cross-compiled grub installation. I’m playing around with different ways of exposing this over HTTP, DNS, RPCs, and maybe Matrix. EON To support RPCs over DNS as a bootstapping mechanism for Jess and I’s idea of an identity service I resurrected the DNS tunnelling in EON. There’s a few kinks to work out with payload lengths fitting into domain names, and an odd failure mode...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 22 Jan 2024</title><link href="https://ryan.freumh.org/2024-01-22.html" rel="alternate"></link><published>2024-01-22T00:00:00Z</published><updated>2024-01-22T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-01-22.html</id><summary type="html">Previous: &lt;a href="2024-01-15.html" target="_blank"&gt;Mon 15 Jan 2024&lt;/a&gt; Next: &lt;a href="2024-01-29.html" target="_blank"&gt;Mon 29 Jan 2024&lt;/a&gt; It’s been 4 weeks since I updated this log! I fell off the bandwagon after returning from Boston, getting sidetracked adding a capability-based RPC to provision TLS certs with ACME on a nameserver. Interspatial networking: Andrew Moore dumped a whole bunch of Zigbee smart lights and plugs on my desk. I got a Zigbee bridge to MQTT bridge working and hooked &lt;a href="fn06.orb" target="_blank"&gt;fn06.org&lt;/a&gt; up to toggle the lights. This is basically me returning to the original vision of my MPhil project! If I can get a website to control the lights there’s no reason an AR headset couldn’t do the same. I’m also envisioning a DNS-based control interface with access control, e.g. dig toggle._lights.fn06.org . If I want to try the Hololens development environment I’ll need to get a GPU windows...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 15 Jan 2024</title><link href="https://ryan.freumh.org/2024-01-15.html" rel="alternate"></link><published>2024-01-15T00:00:00Z</published><updated>2024-01-15T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-01-15.html</id><summary type="html">Previous: &lt;a href="2024-01-08.html" target="_blank"&gt;Mon 8 Jan 2024&lt;/a&gt; Next: &lt;a href="2024-01-22.html" target="_blank"&gt;Mon 22 Jan 2024&lt;/a&gt; Figured out how to use ZFS for my NAS and shark.</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 8 Jan 2024</title><link href="https://ryan.freumh.org/2024-01-08.html" rel="alternate"></link><published>2024-01-08T00:00:00Z</published><updated>2024-01-08T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-01-08.html</id><summary type="html">Previous: &lt;a href="2024-01-01.html" target="_blank"&gt;Mon 1 Jan 2024&lt;/a&gt; Next: &lt;a href="2024-01-15.html" target="_blank"&gt;Mon 15 Jan 2024&lt;/a&gt; Took some time off to see friends and family. Bult a low-power (12W idle) NAS with 32TB storage on &lt;a href="https://github.com/RyanGibb/nixos/blob/master/hosts/elephant/default.nix" target="_blank"&gt;NixOS&lt;/a&gt; with ZFS. Blog post TODO. I still think there’s something here with &lt;a href="./2023-10-16.html#hibernia" target="_blank"&gt;using a low-powered board to wake a
-
higher powered computer&lt;/a&gt; on e.g. a DNS resolution. Anil mentioned &lt;a href="https://github.com/stalwartlabs/mail-server" target="_blank"&gt;stalwart&lt;/a&gt; which might be worth looking at for Eilean.</summary><category term="ryan.freumh.org"></category></entry><entry><title>Tiny Code Christmas - part 2: learning OCaml and that demos are mostly functional</title><link href="https://digitalflapjack.com/blog/tcc-part2/" rel="alternate"></link><published>2024-01-03T09:57:06Z</published><updated>2024-01-03T09:57:06Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/tcc-part2/</id><summary type="html">This post is a follow on to the previous &lt;a href="/blog/tcc/" target="_blank"&gt;part 1 about Tiny Code Christmas 2022&lt;/a&gt; , and is about what I did for TCC 2023. In order to get more info on what TCC is and why it's a fun thing to do, I recommend you start there, but if you're just interested in me messing around with &lt;a href="https://ocaml.org/" target="_blank"&gt;OCaml&lt;/a&gt; , then you're in the right place. There were two things that motivated me to tackle this years TCC in the OCaml language. Firstly, a bunch of my colleagues at work use OCaml, and indeed work on language, and so there's been a bunch of encouragement from them that I should join in. However, I find I have two modes when it comes to working with programming languages: I can either work on a problem I'm not familiar with in a language I'm comfortable with, or I can do the inverse and tackle problems that I'm comfortable with in a...</summary><category term="Digital Flapjack"></category></entry><entry><title>Tiny Code Christmas - part 1: making coding fun through constraints and community</title><link href="https://digitalflapjack.com/blog/tcc/" rel="alternate"></link><published>2024-01-02T13:00:56Z</published><updated>2024-01-02T13:00:56Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/tcc/</id><summary type="html">Normally, as someone who codes for a living, xmas is a time for me to down tools and step away from the computer for a bit, spent time with family, spend some time in the &lt;a href="https://electricflapjack.com/" target="_blank"&gt;workshop&lt;/a&gt; and generally not stare at a computer so much. But this last two years I've had a lot of fun doing some small amounts of coding for fun. In this and the next post, I'm going to go through what got me doing this, what I learned from it, and why I recommend it to others. But the TL;DR is along the lines of: small regular constrained challenges, community, and exploration. Your browser does not support the video element. In an post I wrote a couple of years ago I &lt;a href="/blog/a-journey-into-minimal-computing-or-my-slow-evolving-2021-side-project/" target="_blank"&gt;mentioned in passing&lt;/a&gt; the idea of fantasy consoles like &lt;a href="https://tic80.com" target="_blank"&gt;TIC80&lt;/a&gt; : these are programs that pretend to emulate a retro computer from the 8 or 16 bit era of...</summary><category term="Digital Flapjack"></category></entry><entry><title>Mon 1 Jan 2024</title><link href="https://ryan.freumh.org/2024-01-01.html" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-01-01.html</id><summary type="html">Previous: &lt;a href="2023-12-25.html" target="_blank"&gt;Mon 25 Dec 2023&lt;/a&gt; Next: &lt;a href="2024-01-08.html" target="_blank"&gt;Mon 8 Jan 2024&lt;/a&gt; Set up a local plaintext email setup with mbsync/goimapnotify/aerc/mu/msmtp/gpgp/ldapsearch &lt;a href="https://github.com/RyanGibb/nixos/tree/7f303f5ff5283d31aa98f88574bfc85f4634afed/modules/personal/home/mail" target="_blank"&gt;nix&lt;/a&gt; .</summary><category term="ryan.freumh.org"></category></entry><entry><title>Spatial and multi-modal extraction from conservation literature</title><link href="https://anil.recoil.org/ideas/spatial-summarisation-of-llms" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/spatial-summarisation-of-llms</id><summary type="html">Spatial and multi-modal extraction from conservation literature This is an idea proposed in 2024 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://profiles.imperial.ac.uk/a.christie" target="_blank"&gt;Alec Christie&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/bill-sutherland" target="_blank"&gt;Bill Sutherland&lt;/a&gt; . The &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence Copilots&lt;/a&gt; database contains information on numerous conservation actions and their supporting evidence. We also have access to a large corpus of academic literature detailing species presence and threats which we have assembled in Cambridge in collaboration with the various journal publishers. This MPhil project aims to combine these published literature resources with geographic information to propose conservation interventions. The goal is to identify actions that are likely to be effective based on prior evidence and have...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Privacy preserving emissions disclosure techniques</title><link href="https://anil.recoil.org/ideas/tardis" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/tardis</id><summary type="html">Privacy preserving emissions disclosure techniques This is an idea proposed in 2024 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://www.cst.cam.ac.uk/people/psjm3" target="_blank"&gt;Jessica Man&lt;/a&gt; . It is co-supervised with &lt;a href="https://martin.kleppmann.com" target="_blank"&gt;Martin Kleppmann&lt;/a&gt; . Customers of online services may want to take carbon emissions into account when deciding which service to use, but are currently hindered by a lack of reliable emissions data that is comparable across services. Calculating accurate carbon emissions across a cloud computing pipeline involves a number of stakeholders, none of whom are incentivised to accurately report their emissions for competitive reasons. This PhD explores mechanisms to support verifiable and privacy-preserving emissions reporting across a chain of energy suppliers, cloud data centres, virtual machine hosting...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Low-power sensing infrastructure for biodiversity</title><link href="https://anil.recoil.org/ideas/recording-nature" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/recording-nature</id><summary type="html">Low-power sensing infrastructure for biodiversity This is an idea proposed in 2024 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; . It is co-supervised with &lt;a href="https://haddadi.github.io/" target="_blank"&gt;Hamed Haddadi&lt;/a&gt; . In-situ sensing devices need to be deployed in remote environments for long periods of time, and minimizing their power consumption is vital for maximising both their operational lifetime and coverage. We are exploring the construction of a versatile multi-sensor device (initially based around the ESP32 chipset) and designing an exceptionally low power consumption model by using an on-device reinforcement learning scheduler that can learn to cooperate with other nearby devices. Our prototype device setup for learning schedules for biodiversity monitoring does pretty well against...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Legal perspectives on integrity issues in forest carbon</title><link href="https://anil.recoil.org/ideas/legal-aspects-of-credits" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/legal-aspects-of-credits</id><summary type="html">Legal perspectives on integrity issues in forest carbon This is an idea proposed in 2024 as a postdoctoral project, and has been completed by &lt;a href="https://www.cst.cam.ac.uk/people/smc70" target="_blank"&gt;Sophie Chapman&lt;/a&gt; . It was co-supervised with &lt;a href="https://www.cst.cam.ac.uk/people/eft20" target="_blank"&gt;Eleanor Toye Scott&lt;/a&gt; . Carbon finance offers a vital way to fund urgently needed forest conservation, but there are integrity issues on the supply side. &lt;a href="https://anil.recoil.org/#fn-1" target="_blank"&gt;[1]&lt;/a&gt; Besides the known issues with carbon quantification, &lt;a href="https://anil.recoil.org/#fn-2" target="_blank"&gt;[2]&lt;/a&gt; carbon credits are often poorly designed and implemented from a legal perspective. Specifically, in the absence of a clear legal framework for forest carbon credits, contracts tend to conceptualise credits in similar terms to the products of extractive industries, such as mineral mining. This is a factually inaccurate model for carbon credits, since the carbon is not extracted but on the contrary...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Generating chunk-free embeddings for LLMs</title><link href="https://anil.recoil.org/ideas/chunk-free-embeddings" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/chunk-free-embeddings</id><summary type="html">Generating chunk-free embeddings for LLMs This is an idea proposed in 2024 as a Cambridge Computer Science Part III or MPhil project, and is currently being worked on by &lt;a href="mailto:mj651@cam.ac.uk" target="_blank"&gt;Mark Jacobsen&lt;/a&gt; . It is co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . This project aims to explore the development of a chunk-free approach for generating embeddings in Retrieval-Augmented Generation (RAG) models. Traditional RAG workflows often involve manual or predefined chunking of documents, and we seek to bypass this requirement. Instead, our approach involves generating multiple embeddings for unchunked text using a synthetic dataset created by (e.g.) a 7b parameter LLM. This dataset would feature structured, point-by-point summaries of each paragraph. An off-the-shelf embedding model could then be modified by removing its mean...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Evaluating RAG pipelines for conservation evidence</title><link href="https://anil.recoil.org/ideas/rag-evaluation-for-ce" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/rag-evaluation-for-ce</id><summary type="html">Evaluating RAG pipelines for conservation evidence This is an idea proposed in 2024 as a good starter project, and has been completed by &lt;a href="mailto:ri301@cam.ac.uk" target="_blank"&gt;Radhika Iyer&lt;/a&gt; . It was co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . At the &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence Copilots&lt;/a&gt; project, we are interested in finding and synthesising evidence for conservation interventions. Once we have this evidence, it needs to be synthesised into a form that can be used to inform policy and practice via natural language query interfaces. One way to do this is to use a &lt;a href="https://anil.recoil.org/14768" target="_blank"&gt;RAG (Retrieval Augmented Generation)&lt;/a&gt; pipeline, which can automatically retrieve relevant information from a large corpus of documents, analyse it to extract key information relevant to CE, and generate a summary of the key findings. This project involved involve evaluating the performance of RAG pipelines for conservation evidence,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Effective geospatial code in OCaml</title><link href="https://anil.recoil.org/ideas/effective-geospatial-code" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/effective-geospatial-code</id><summary type="html">Effective geospatial code in OCaml This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:gp528@cam.ac.uk" target="_blank"&gt;George Pool&lt;/a&gt; . It is co-supervised with &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; and &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . Geospatial data processing is a critical component of many scientific and engineering workflows, from environmental monitoring to urban planning. However, writing geospatial code that scales to multiple cores and makes best use of available memory can be challenging due to the scale of the data involved. To deal with this, we have been developing some domain-specific tools to improve the state of affairs. &lt;a href="https://github.com/quantifyearth/yirgacheffe" target="_blank"&gt;Yirgacheffe&lt;/a&gt; is a wrapper to the GDAL library that provides high-level Python APIs that take care of figuring out if datasets overlap, and if vector layers need to be...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Deep learning for decomposing sound into vector audio</title><link href="https://anil.recoil.org/ideas/decomposing-audio-with-dl" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/decomposing-audio-with-dl</id><summary type="html">Deep learning for decomposing sound into vector audio This is an idea proposed in 2024 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://pure.qub.ac.uk/en/persons/trevor-agus" target="_blank"&gt;Trevor Agus&lt;/a&gt; . All that we hear is mediated through cues transmitted to the brain from the cochlea, which acts like a bank of auditory filters centred at a wide range of centre frequencies. A lot of our knowledge of hearing comes from psychoacoustical experiments that involve simple sounds, like sine waves, whose synthesis parameters are closely related to cues available beyond the cochlea. However, for recorded sounds, many types of cue are available, but our use of these cues is limited by the extent that these cues can be manipulated in a controlled fashion. &lt;a href="https://anil.recoil.org/#fn-1" target="_blank"&gt;[1]&lt;/a&gt;...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Crawling grey literature for conservation evidence</title><link href="https://anil.recoil.org/ideas/grey-lit-crawl" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/grey-lit-crawl</id><summary type="html">Crawling grey literature for conservation evidence This is an idea proposed in 2024 as a good starter project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Shrey Biswas&lt;/a&gt; and &lt;a href="https://github.com/Kacper-M-Michalik" target="_blank"&gt;Kacper Michalik&lt;/a&gt; . It was co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . At the &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence Copilots&lt;/a&gt; project, we are interested in finding and synthesising evidence for conservation interventions. Much of this evidence is published in academic journals, but there is a large body of &lt;a href="https://en.wikipedia.org/wiki/Grey_literature" target="_blank"&gt;grey literature&lt;/a&gt; that is not indexed in academic databases. This includes reports from NGOs, government agencies, and other organisations that are not peer-reviewed, but can still contain valuable information. This project involved developing a web crawler to search for grey literature on conservation interventions, tracking the provenance and license information, and extracting relevant...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Conservation Evidence Copilots</title><link href="https://anil.recoil.org/projects/ce" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/projects/ce</id><summary type="html">Conservation Evidence Copilots The &lt;a href="https://conservationevidence.com" target="_blank"&gt;Conservation Evidence&lt;/a&gt; team at the University of Cambridge has spent years screening 1.6m+ scientific papers on conservation, as well as manually summarising 8600+ studies relating to conservation actions. However, progress is limited by the specialised skills needed to screen and summarise relevant studies -- it took more than 75 person years to manually curate the current database and only a few 100 papers can be added each year! We are working on AI-driven techniques to accelerate addition of robust evidence to the CE database via automated literature scanning, &lt;a href="https://anil.recoil.org/papers/2024-ce-llm" target="_blank"&gt;LLM-based copilots&lt;/a&gt; and scanning of grey literature. We aim to provide co-pilots that augment human decision making to figure out how to categorise interventions much more quickly and accurately, and ultimately...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Composable diffing for heterogenous file formats</title><link href="https://anil.recoil.org/ideas/functional-diffs" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/functional-diffs</id><summary type="html">Composable diffing for heterogenous file formats This is an idea proposed in 2024 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . When dealing with large scale geospatial data, we also have to deal with a variety of file formats, such as CSV, JSON, GeoJSON, or GeoTIFFs, etc. Each of these file formats has its own structure and semantics, and it is often necessary to compare and merge data across different file formats. The conventional solution with source code would be to use a tool such as Git to compare and merge data across different file formats. However, this approach is not always feasible, as it requires the data to be in a text-based format and the data to be structured in a way that can be...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Building bigraphs of the real world</title><link href="https://anil.recoil.org/ideas/bigraphs-real-world" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/bigraphs-real-world</id><summary type="html">Building bigraphs of the real world This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:ra652@cam.ac.uk" target="_blank"&gt;Roy Ang&lt;/a&gt; . It is co-supervised with &lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; . Bigraphs were originally proposed as a model for the behaviour of ubiquitous systems since interaction between mobile devices is dependent on both placing (locality) and linking (connectivity). However, there has yet to be a bigraph that represents the complete physical world. Such a bigraph will enhance the computer's representation of its location from a simple latitude-longitude pair to a context more familiar to humans: the room it is in, the street the building is on, and the town the street is in. This will allow for location-aware applications and policies about connectivity of...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Assessing mangrove literature for conservation evidence</title><link href="https://anil.recoil.org/ideas/mangrove-literature-for-ce" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/mangrove-literature-for-ce</id><summary type="html">Assessing mangrove literature for conservation evidence This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is available for being worked on. It may be co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-thomas-worthington" target="_blank"&gt;Tom Worthington&lt;/a&gt; . At the &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence Copilots&lt;/a&gt; project, we are interested in finding and synthesising evidence for conservation interventions. Mangrove forests are one of the most threatened ecosystems in the world, and there is a large body of literature on the topic. However, this literature is spread across a wide range of sources, including academic journals, reports, and grey literature, and it can be difficult to identify and synthesise the key findings. Moreover, there is a need to assess the quality of the evidence, perhaps from remote sensing data or field studies, to inform...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Accurate summarisation of threats for conservation evidence literature</title><link href="https://anil.recoil.org/ideas/accurate-summarisation-for-ce" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/accurate-summarisation-for-ce</id><summary type="html">Accurate summarisation of threats for conservation evidence literature This is an idea proposed in 2024 as a Cambridge Computer Science Part III or MPhil project, and is currently being worked on by &lt;a href="mailto:kh807@cam.ac.uk" target="_blank"&gt;Kittson Hamill&lt;/a&gt; . It is co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . At the &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence Copilots&lt;/a&gt; project, we are interested in constructing a taxonomy of threats to wildlife from the literature. This involves scanning the body of conservation literature and gathering/synthesising evidence for conservation interventions from a threats perspective. Once the text has been retrieved, it needs to be summarised in a way that is accurate, concise and relevant and verified with human experts. This is particularly important for conservation evidence, where the key findings need to be communicated clearly to inform policy and...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 25 Dec 2023</title><link href="https://ryan.freumh.org/2023-12-25.html" rel="alternate"></link><published>2023-12-25T00:00:00Z</published><updated>2023-12-25T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-12-25.html</id><summary type="html">Previous: &lt;a href="2023-12-18.html" target="_blank"&gt;Mon 18 Dec 2023&lt;/a&gt; Next: &lt;a href="2024-01-01.html" target="_blank"&gt;Mon 1 Jan 2024&lt;/a&gt; Added Let’s Encrypt Nameserver Daemon ( lend ) and client ( lenc ) to eon, which provisions TLS certs with the ACME DNS challenge inside the nameserver modifying the trie directly. Required porting ocaml/letsencrypt to Eio 0.12. Added a Capnp RPC interface to provision certificates using this creating Let’s Encrypt Nameserver Cap’n Proto ( lenscap ). There’s still work to do including supporting renewals with capnp callbacks which will probably require sturdy refs, the story for which persisting seems complicated. Read &lt;a href="https://www.mnot.net/blog/2023/12/19/standards-and-centralization" target="_blank"&gt;RFC9518&lt;/a&gt; on the train up to Scotland. It talks about how technical decentralisation is necessary but not sufficient. &lt;a href="https://www.rfc-editor.org/rfc/rfc9518.html#name-federation" target="_blank"&gt;Section
3.1&lt;/a&gt; talks about issues with federation in the &lt;a href="https://www.usenix.org/system/files/atc22-holzbauer.pdf" target="_blank"&gt;centralisation
of SMTP providers&lt;/a&gt; and how XMPP federation is voluntary. Matrix bridges...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 18 Dec 2023</title><link href="https://ryan.freumh.org/2023-12-18.html" rel="alternate"></link><published>2023-12-18T00:00:00Z</published><updated>2023-12-18T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-12-18.html</id><summary type="html">Previous: &lt;a href="2023-12-11.html" target="_blank"&gt;Mon 11 Dec 2023&lt;/a&gt; Next: &lt;a href="2023-12-25.html" target="_blank"&gt;Mon 25 Dec 2023&lt;/a&gt; Majorly refactored eon including porting to Eio 0.12 moving from objects to polymorphic varients.</summary><category term="ryan.freumh.org"></category></entry><entry><title>NixOS channels</title><link href="https://mort.io/blog/nixos-channels/" rel="alternate"></link><published>2023-12-13T00:00:00Z</published><updated>2023-12-13T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/nixos-channels/</id><summary type="html">I don’t pretend to understand &lt;a href="https://nixos.org/" target="_blank"&gt;NixOS&lt;/a&gt; configuration fully yet, what with Flakes and channels and so forth. But I did find the following usful to setup channels consistently so that I could have a single config that used both. sudo nix-channel -- list # to list known channels sudo nix-channel -- remove nixos # to remove a channel sudo nix-channel -- add https://nixos.org/channels/nixos-unstable nixos # to go bleeding edge …ultimately resulting in: $ nix-channel -- list # channels are stored per-user, and $(whoami) != root $ sudo nix-channel -- list nixos https://nixos.org/channels/nixos-unstable nixpkgs https://nixos.org/channels/nixos-unstable Upgrading to the latest release is then something like: pushd ~ /rc-files/nixos/ sudo nix-channel -- update nix flake update sudo nixos-rebuild...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mon 11 Dec 2023</title><link href="https://ryan.freumh.org/2023-12-11.html" rel="alternate"></link><published>2023-12-11T00:00:00Z</published><updated>2023-12-11T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-12-11.html</id><summary type="html">Previous: &lt;a href="2023-12-04.html" target="_blank"&gt;Mon 4 Dec 2023&lt;/a&gt; Next: &lt;a href="2023-12-18.html" target="_blank"&gt;Mon 18 Dec 2023&lt;/a&gt; Report for Huwawi Studentship Update Sent to Ben Karniely. My research over the past year has focused on addressing a fundamental limitation in the current Internet architecture - the lack of support for naming physical locations and resolving them to various addressing mechanisms beyond IP. To address this gap, we have proposed the Spatial Name System (SNS), which enables the assignment of hierarchical location-based names and provides global and local resolution schemes. The SNS extends the Domain Name System (DNS), allowing the integration of spatial names into existing applications and opening up new possibilities for sensor networks and augmented reality. Thanks to Huawei’s Hisilicon Studentship I had the opportunity to present this &lt;a href="https://ryan.freumh.org/papers/2023-hotnets-sns.pdf" target="_blank"&gt;research&lt;/a&gt; at...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 4 Dec 2023</title><link href="https://ryan.freumh.org/2023-12-04.html" rel="alternate"></link><published>2023-12-04T00:00:00Z</published><updated>2023-12-04T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-12-04.html</id><summary type="html">Previous: &lt;a href="2023-11-27.html" target="_blank"&gt;Mon 27 Nov 2023&lt;/a&gt; Next: &lt;a href="2023-12-11.html" target="_blank"&gt;Mon 11 Dec 2023&lt;/a&gt; Arrived in Cambridge and finialised my HotNets presentation adding some new slides to expand on how existing DNS mechanisms like DNS-SD can interoperate, illustrating the interface to a geodetic query, etc. Attended the HotNets Conference. Met with Jane Street. HotNets Conference It was great! Feedback on the SNS First and foremost, I recieved some really useful questions, thoughts, and feedback on the SNS. While presenting I was asked: Joshua Smith, Uni of Washington: Q: does this support mobile device? A: that is not our primary use case with these device with their functional primarily defined by their location, though a limitted form of mobility could be supported through existing mechanisms like CNAMEs. Q: what about devices that are inbetween…...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Joined the Royal Society fellowships committee</title><link href="https://anil.recoil.org/notes/royal-society-newton" rel="alternate"></link><published>2023-12-02T00:00:00Z</published><updated>2023-12-02T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/royal-society-newton</id><summary type="html">I joined the &lt;a href="https://royalsociety.org" target="_blank"&gt;Royal Society&lt;/a&gt; &lt;a href="https://royalsociety.org/grants/newton-international/" target="_blank"&gt;Newton International Fellowships&lt;/a&gt; &lt;a href="https://royalsociety.org/people/anil-madhavapeddy-36582/" target="_blank"&gt;committee&lt;/a&gt; to help with selecting bright new scientists from abroad who wish to conduct research in the UK. The Newton International Fellowship (NIF) programme provides support for outstanding early career researchers to make a first step towards developing an independent research career through gaining experience across international borders. The fellowships enable researchers to access expertise, gain new perspectives and build long-lasting collaborative relationships. -- &lt;a href="https://royalsociety.org/grants/newton-international/" target="_blank"&gt;The Royal Society&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>PACT Tropical Moist Forest Accreditation Methodology</title><link href="https://anil.recoil.org/news/2023-pact-tmf-2" rel="alternate"></link><published>2023-12-01T00:00:00Z</published><updated>2023-12-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-pact-tmf-2</id><summary type="html">We have just released the Tropical Moist Forest v2.0 specification, to update the &lt;a href="https://anil.recoil.org/news/2023-pact-tmf-1" target="_blank"&gt;v1.1&lt;/a&gt; released earlier in the year. There are significant updates to the methodology to better match the scheme described in &lt;a href="https://anil.recoil.org/papers/2023-ncc-permanence" target="_blank"&gt;Realizing the social value of impermanent carbon credits&lt;/a&gt; . &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://www.liverpool.ac.uk/geography-and-planning/research/environmental-change/postgraduates/" target="_blank"&gt;James Hartup&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , &lt;a href="https://uk.linkedin.com/in/miranda-lam-a088561b4" target="_blank"&gt;Miranda Lam&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://www.lambdacambridge.com/robin-message" target="_blank"&gt;Robin Message&lt;/a&gt; , &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-e-ping-rau" target="_blank"&gt;E.-Ping Rau&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-charlotte-wheeler" target="_blank"&gt;Charlotte Wheeler&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/abigail-williams" target="_blank"&gt;Abby Williams&lt;/a&gt; . Working paper at &lt;a href="https://www.cambridge.org/engage/coe/article-details/66b9d9345101a2ffa813e37c" target="_blank"&gt;Cambridge Open Engage&lt;/a&gt; . &lt;a href="https://www.cambridge.org/engage/coe/article-details/66b9d9345101a2ffa813e37c" target="_blank"&gt;URL&lt;/a&gt; (cambridge.org) &lt;a href="https://doi.org/10.33774/coe-2024-gvslq" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-pact-tmf.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-pact-tmf.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 27 Nov 2023</title><link href="https://ryan.freumh.org/2023-11-27.html" rel="alternate"></link><published>2023-11-27T00:00:00Z</published><updated>2023-11-27T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-11-27.html</id><summary type="html">Previous: &lt;a href="2023-11-20.html" target="_blank"&gt;Mon 20 Nov 2023&lt;/a&gt; Next: &lt;a href="2023-12-04.html" target="_blank"&gt;Mon 4 Dec 2023&lt;/a&gt; Sorted HotNets travel, accomadation, insurance, etc. Travelled to Boston. Recovered from jetlag and had thanksgiving with my American family. Visited Newton, Ludlow, Springfield, North Hampton, Shirley, Boston, and Cambridge. Spent a couple of days preparing for my presentation. Wrote a 2000 word script that I cut to about 1500 words. Ran through presenting it 3 or 4 times, timing it to make sure I wasn’t overrunning.</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 20 Nov 2023</title><link href="https://ryan.freumh.org/2023-11-20.html" rel="alternate"></link><published>2023-11-20T00:00:00Z</published><updated>2023-11-20T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-11-20.html</id><summary type="html">Previous: &lt;a href="2023-11-13.html" target="_blank"&gt;Mon 13 Nov 2023&lt;/a&gt; Next: &lt;a href="2023-11-27.html" target="_blank"&gt;Mon 27 Nov 2023&lt;/a&gt; HotNets I sent an email out to the SRG mailing list asking if anyone knew anyone at MIT. Jörg Ott said I “may wanna talk to Karen Sollins and John Wroclawski”. Malte said he will be there, and can introduce me to “some of the MIT people who will likely attend from [his] time in PDOS”.</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 13 Nov 2023</title><link href="https://ryan.freumh.org/2023-11-13.html" rel="alternate"></link><published>2023-11-13T00:00:00Z</published><updated>2023-11-13T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-11-13.html</id><summary type="html">Previous: &lt;a href="2023-11-06.html" target="_blank"&gt;Mon 6 Nov 2023&lt;/a&gt; Next: &lt;a href="2023-11-20.html" target="_blank"&gt;Mon 20 Nov 2023&lt;/a&gt; New Collaborators? Justas Justas suggested collaborating on something with the Adaptive City project sensors. Grenoble Andrzej Duda and Simon Fernandez from Grenoble INP Ensimag LIG Lab are &lt;a href="https://dl.acm.org/doi/pdf/10.1145/2980147.2980152" target="_blank"&gt;working&lt;/a&gt; &lt;a href="https://arxiv.org/pdf/2110.11766.pdf" target="_blank"&gt;on&lt;/a&gt; very similar things to the SNS. They reached out to Jon and are keen to collaborate. HotNets I can’t seem to find PDFs for a lot of the HotNets papers. The ACM proceedings doesn’t seem to have PDFs, neither does the conference website (and the publishing chair has not got back to me about the availablility on the website like in previous years), so if the author hasn’t put it up on their personal website it’s not available. Teaching Marked and supervised the last concurrent exercise sheet for Pembroke part IBs. We’ve done 4 supervisions for...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 6 Nov 2023</title><link href="https://ryan.freumh.org/2023-11-06.html" rel="alternate"></link><published>2023-11-06T00:00:00Z</published><updated>2023-11-06T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-11-06.html</id><summary type="html">Previous: &lt;a href="2023-10-30.html" target="_blank"&gt;Mon 30 Oct 2023&lt;/a&gt; Next: &lt;a href="2023-11-13.html" target="_blank"&gt;Mon 13 Nov 2023&lt;/a&gt; EEG Matrix Server &lt;a href="matrix-synapse-authentication-with-raven-shibboleth" target="_blank"&gt;Following
up&lt;/a&gt; on Matrix Shibboleth integration I deployed an EEG Matrix server. Configure synapse for saml2 &lt;a href="https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#saml2_config" target="_blank"&gt;https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#saml2_config&lt;/a&gt; Had some issues with synapse detecting the pysaml2 module… my personal nixos nixpkgs revision seemed to work. Cambridge raven identity provider (IdP) attributes: &lt;a href="https://wiki.cam.ac.uk/raven/Attributes_released_by_the_Raven_IdP" target="_blank"&gt;https://wiki.cam.ac.uk/raven/Attributes_released_by_the_Raven_IdP&lt;/a&gt; How to configure pysaml2 attribute mapping (to map to those synapse &lt;a href="https://github.com/matrix-org/synapse/blob/develop/synapse/handlers/saml_handler.py" target="_blank"&gt;expects&lt;/a&gt; ) &lt;a href="https://pysaml2.readthedocs.io/en/latest/howto/config.html#attribute-map-dir" target="_blank"&gt;https://pysaml2.readthedocs.io/en/latest/howto/config.html#attribute-map-dir&lt;/a&gt; Register our service provider (SP) with the university &lt;a href="https://wiki.cam.ac.uk/raven/SP_registration" target="_blank"&gt;https://wiki.cam.ac.uk/raven/SP_registration&lt;/a&gt; at &lt;a href="https://metadata.raven.cam.ac.uk/" target="_blank"&gt;https://metadata.raven.cam.ac.uk/&lt;/a&gt; . Got the site XML from the path /_matrix/saml2/metadata.xml . In future, maybe we’d want to register with the UK federation. Got the remote url from &lt;a href="https://docs.raven.cam.ac.uk/en/latest/reference-apache-saml2/" target="_blank"&gt;https://docs.raven.cam.ac.uk/en/latest/reference-apache-saml2/&lt;/a&gt; Got the flu Unfortunately, the rest of the week was a write-off with the flu.</summary><category term="ryan.freumh.org"></category></entry><entry><title>BBC report on the new Cambridge supercomputer ("Dawn") announced at the 2023 AI Summit</title><link href="https://anil.recoil.org/news/48a7ab10-3f49-4978-a00f-c26b64c2cae7-1" rel="alternate"></link><published>2023-11-02T00:00:00Z</published><updated>2023-11-02T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/48a7ab10-3f49-4978-a00f-c26b64c2cae7-1</id><summary type="html">On the BBC briefly about the Dawn supercomputer</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>More on Icons</title><link href="https://digitalflapjack.com/blog/more-on-icons/" rel="alternate"></link><published>2023-11-01T19:12:03Z</published><updated>2023-11-01T19:12:03Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/more-on-icons/</id><summary type="html">This is a sort of follow on to a post I wrote about &lt;a href="/blog/old-icons/" target="_blank"&gt;how icons becoming homogenous and hard to distinguish&lt;/a&gt; , and inspired by this image &lt;a href="https://twitter.com/flarup/status/1717578963684364578" target="_blank"&gt;posted to social media&lt;/a&gt; by &lt;a href="https://www.pixelresort.com" target="_blank"&gt;Michael Flarup&lt;/a&gt; showing the evolution of the macOS default dock over many versions: Whilst I'd be the first to admit to not being a fan of the heavily skeuomorphic apps like the old Notes.app with its faux leather titlebar and the old game center app, I also think that the older icons for notes and such were much more distinctive when you could recognise items by external shape as well as the content. This reminder of what we've lost in terms of both usability and character in our icons inspired me to go back to this vibe with my placeholder icon for a little desktop app I've been writing for myself. The app has the working title of "BAM", and so a literal explosion of shape and colour...</summary><category term="Digital Flapjack"></category></entry><entry><title>Where on Earth is the Spatial Name System?</title><link href="https://anil.recoil.org/news/2023-hotnets-sns-1" rel="alternate"></link><published>2023-11-01T00:00:00Z</published><updated>2023-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-hotnets-sns-1</id><summary type="html">Paper on spatial networks on DNS at &lt;a href="https://dl.acm.org/doi/10.1145/3626111.3628210" target="_blank"&gt;HotNets 2023&lt;/a&gt; &lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="mailto:jon.crowcroft@cl.cam.ac.uk" target="_blank"&gt;Jon Crowcroft&lt;/a&gt; . Paper in the &lt;a href="https://dl.acm.org/doi/10.1145/3626111.3628210" target="_blank"&gt;proceedings of the 22nd ACM Workshop on Hot Topics in Networks&lt;/a&gt; . &lt;a href="https://dl.acm.org/doi/10.1145/3626111.3628210" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3626111.3628210" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-hotnets-sns.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-hotnets-sns.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Nature Climate Change paper on impermanent carbon credits</title><link href="https://anil.recoil.org/news/2023-ncc-permanence-2" rel="alternate"></link><published>2023-11-01T00:00:00Z</published><updated>2023-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-ncc-permanence-2</id><summary type="html">Our paper on valuing impermanent carbon credits has been published at &lt;a href="https://www.nature.com/articles/s41558-023-01815-0" target="_blank"&gt;Nature Climate Change&lt;/a&gt; . It has received a bunch of press coverage, including &lt;a href="https://phys.org/news/2023-10-offset-approach-tropical-forests-faith.html" target="_blank"&gt;phys.org&lt;/a&gt; , &lt;a href="https://www.cam.ac.uk/research/news/offset-markets-new-approach-could-help-save-tropical-forests-by-restoring-faith-in-carbon-credits" target="_blank"&gt;cam.ac.uk&lt;/a&gt; , and &lt;a href="https://www.miragenews.com/new-method-may-boost-trust-in-carbon-credits-1113599/" target="_blank"&gt;Mirage&lt;/a&gt; . &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , &lt;a href="https://www.lse.ac.uk/granthaminstitute/profile/frank-venmans/" target="_blank"&gt;Frank Venmans&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://business-school.exeter.ac.uk/economics/research/subject-themes/profile/index.php?web_id=ben_groom" target="_blank"&gt;Ben Groom&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; . Journal paper in &lt;a href="https://www.nature.com/articles/s41558-023-01815-0" target="_blank"&gt;Nature Climate Change&lt;/a&gt; (vol 13 issue 11). &lt;a href="https://www.nature.com/articles/s41558-023-01815-0" target="_blank"&gt;URL&lt;/a&gt; (nature.com) &lt;a href="https://doi.org/10.1038/s41558-023-01815-0" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-ncc-permanence.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-ncc-permanence.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>First preprint of LIFE biodiversity metric available</title><link href="https://anil.recoil.org/news/2024-life-1" rel="alternate"></link><published>2023-11-01T00:00:00Z</published><updated>2023-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-life-1</id><summary type="html">The first preprint on our new &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;LIFE&lt;/a&gt; metric for global biodiversity is now available. It is under review, so feedback would be very welcome. &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-tom-ball" target="_blank"&gt;Thomas Ball&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/andy-arnell/" target="_blank"&gt;Andy Arnell&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/daniele-baisero/" target="_blank"&gt;Daniele Baisero&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/paz-duran/" target="_blank"&gt;América Paz Durán&lt;/a&gt; , &lt;a href="https://www.york.ac.uk/sei/staff/jonathan-green/" target="_blank"&gt;Jonathan Green&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/rhys-green" target="_blank"&gt;Rhys Green&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; . Journal paper in &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;Philosophical Transactions of the Royal Society&lt;/a&gt; (vol 380 issue 1917). &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;URL&lt;/a&gt; (royalsocietypublishing.org) &lt;a href="https://doi.org/10.1098/rstb.2023.0327" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-life.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-life.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 30 Oct 2023</title><link href="https://ryan.freumh.org/2023-10-30.html" rel="alternate"></link><published>2023-10-30T00:00:00Z</published><updated>2023-10-30T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-10-30.html</id><summary type="html">Previous: &lt;a href="2023-10-23.html" target="_blank"&gt;Mon 23 Oct 2023&lt;/a&gt; Next: &lt;a href="2023-11-06.html" target="_blank"&gt;Mon 6 Nov 2023&lt;/a&gt; HotNets Organised travel dates, travel, and accommodation for HotNets. I was awarded a Queens’ College Perry Travel Award to the value of £740! Met with Anil Agreed to schedule dates to visit NYC and then find a time to meet Jane Street to discuss the polyglot package management project proposal. I’m going to take the train from Boston to NYC! Anil said I’ve got to get a &lt;a href="https://en.wikipedia.org/wiki/Junior_Ranger_Program" target="_blank"&gt;Junior Ranger
···
Park in NYC&lt;/a&gt; . Anil recommended live blogging the conference on Mastodon. Talked about what a HotNets presentation could look like, and whether a live demo was feasible. Maybe I could pull AEON and Patrick’s OCaml R-Tree together into something workable. I think while very cool the APIs just aren’t there for the AR demo on a hololens. A smartphone (e.g. iPhone LIDAR)...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 23 Oct 2023</title><link href="https://ryan.freumh.org/2023-10-23.html" rel="alternate"></link><published>2023-10-23T01:00:00Z</published><updated>2023-10-23T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-10-23.html</id><summary type="html">Previous: &lt;a href="2023-10-16.html" target="_blank"&gt;Mon 16 Oct 2023&lt;/a&gt; Next: &lt;a href="2023-10-30.html" target="_blank"&gt;Mon 30 Oct 2023&lt;/a&gt; HotNets, HotNets, HotNets Don’t try and rewrite your whole paper a day before the deadline. Got it in, and need to think about travel and accomadation next. The &lt;a href="https://conferences.sigcomm.org/hotnets/2023/program.html" target="_blank"&gt;program&lt;/a&gt; has been published, and I’m on the first day at 1:15pm - 2:45pm in ‘Session 3: The architecture of the Internet, and datacenter networks’. SIGCOMM SNS Magnus and I threw some ideas around on Thurday morning. Apple’s ARKit might be something to look at in lieu of a Vision Pro. We also discussed getting some experience with iPhone’s lidar precision, how to bootstrap a connection, the issues with civic name encodings, and the necessity to get some estimation of load. Regarding an implementation, once we have a bit more of an idea of what it might look like, &lt;a href="https://github.com/RyanGibb/aeon" target="_blank"&gt;github.com/RyanGibb/aeon&lt;/a&gt; would be a good...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Cambridge Zero highlights University efforts at Climate Week NYC</title><link href="https://anil.recoil.org/notes/mission-possible" rel="alternate"></link><published>2023-10-18T01:00:00Z</published><updated>2023-10-18T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/mission-possible</id><summary type="html">I was on stage in New York for &lt;a href="https://www.cam.ac.uk/news/cambridge-zero-highlights-university-efforts-at-climate-week-nyc" target="_blank"&gt;Mission Possible&lt;/a&gt; during &lt;a href="https://www.climateweeknyc.org" target="_blank"&gt;NYC Climate Week&lt;/a&gt; . I was there with &lt;a href="https://www.cisl.cam.ac.uk/directory/emily-shuckburgh" target="_blank"&gt;Emily Shuckburgh&lt;/a&gt; and we met with a lot of Cambridge alumni who are all engaged with climate change related activities -- either directly in their careers, or through a side interest. The major highlights on the discussions with alumni centred around agency: a lot of them were wondering how to combine the evidence coming out Cambridge research and combine it with real policy action. A number of the alumni are obviously highly successful in their individual careers, and so the University helping to glue this together would potentially result in valuable actions that might not otherwise come together. This reminded me strongly of the discussions we had in Pembroke a little while back when &lt;a href="https://www.cisl.cam.ac.uk/directory/emily-shuckburgh" target="_blank"&gt;Emily Shuckburgh&lt;/a&gt; chaired my talk...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 16 Oct 2023</title><link href="https://ryan.freumh.org/2023-10-16.html" rel="alternate"></link><published>2023-10-16T01:00:00Z</published><updated>2023-10-16T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-10-16.html</id><summary type="html">Previous: &lt;a href="2023-10-09.html" target="_blank"&gt;Mon 9 Oct 2023&lt;/a&gt; Next: &lt;a href="2023-10-23.html" target="_blank"&gt;Mon 23 Oct 2023&lt;/a&gt; HotNets Converted the SNS paper to the ACM final format. Spent way to long figuring out how to make the paper open access. While trying to figure this out I spoke to Jon, Chris, Ardwin, Justas, Sadiq, Helen, and Mort. Mort explained the difference between the copyright, licensing publishing rights, and open access. In the end, we had to use our institutional email addresses to have the ACM’s open access policy kick in. Addressed Magnus’ comments on the paper, and fixed some citations. Pulled the discussion into the introduction. Hibernia Had an idea regarding the &lt;a href="./2023-10-09.html#energy" target="_blank"&gt;energy&lt;/a&gt; saving ‘wake-up’ device: the network infrastructure has to be running anyway, so why not push this functionality into the router, which are mostly running Linux now anyway. We...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 9 Oct 2023</title><link href="https://ryan.freumh.org/2023-10-09.html" rel="alternate"></link><published>2023-10-09T01:00:00Z</published><updated>2023-10-09T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-10-09.html</id><summary type="html">Next: &lt;a href="2023-10-16.html" target="_blank"&gt;Mon 16 Oct 2023&lt;/a&gt; After trying to use Obsidian, a remarkable E-ink tablet, Logseq, emacs org-mode, and plaintext files, I’m using a paper notebook research log for the upcoming academic year and hopefully beyond. I’ve tried this before without much success, but this time I plan to use it more thoughtfully. I’m also trying something new in typing up my weekly notes in a web log. So last week… Eilean I’ve had a couple of requests to get &lt;a href="https://github.com/RyanGibb/eilean-nix" target="_blank"&gt;Eilean&lt;/a&gt; into a useable state, so I’ve tested (and fixed a bunch of bugs in) it’s deployment on a fresh VM from the NixOS template provided, and added a comprehensive getting started document. Work to be done includes using ACME DNS-01 challenges to provision TLS certificates and automatically incrementing the DNS SOA serial number. Having a modular and...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Information Flow Tracking for Heterogeneous Compartmentalized Software</title><link href="https://anil.recoil.org/news/2023-raid-deluminator-1" rel="alternate"></link><published>2023-10-01T01:00:00Z</published><updated>2023-10-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-raid-deluminator-1</id><summary type="html">Paper on DIFC Deluminator interface at &lt;a href="https://dl.acm.org/doi/10.1145/3607199.3607235" target="_blank"&gt;RAID 2023&lt;/a&gt; &lt;a href="https://zatkh.github.io/" target="_blank"&gt;Zahra Tarkhani&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://dl.acm.org/doi/10.1145/3607199.3607235" target="_blank"&gt;proceedings of the 26th International Symposium on Research in Attacks, Intrusions and Defenses&lt;/a&gt; . &lt;a href="https://dl.acm.org/doi/10.1145/3607199.3607235" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3607199.3607235" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-raid-deluminator.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-raid-deluminator.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Enabling Lightweight Privilege Separation in Applications with MicroGuards</title><link href="https://anil.recoil.org/news/2023-acns-microguards-1" rel="alternate"></link><published>2023-10-01T01:00:00Z</published><updated>2023-10-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-acns-microguards-1</id><summary type="html">Paper on microgrounds memory API at &lt;a href="https://link.springer.com/chapter/10.1007/978-3-031-41181-6_31" target="_blank"&gt;ACNSW&lt;/a&gt; &lt;a href="https://zatkh.github.io/" target="_blank"&gt;Zahra Tarkhani&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://link.springer.com/10.1007/978-3-031-41181-6_31" target="_blank"&gt;applied Cryptography and Network Security Workshops&lt;/a&gt; . &lt;a href="https://link.springer.com/10.1007/978-3-031-41181-6_31" target="_blank"&gt;URL&lt;/a&gt; (link.springer.com) &lt;a href="https://doi.org/10.1007/978-3-031-41181-6_31" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-acns-microguards.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-acns-microguards.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Functional Programming for the Planet</title><link href="https://anil.recoil.org/news/981c00b5-32c0-4cac-a387-6c945dfa9934-1" rel="alternate"></link><published>2023-09-05T01:00:00Z</published><updated>2023-09-05T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/981c00b5-32c0-4cac-a387-6c945dfa9934-1</id><summary type="html">Keynoted at ICFP 2023 on Functional Programming for the Planet</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>State of the OCaml Platform 2023</title><link href="https://anil.recoil.org/news/2023-ocaml-platform-1" rel="alternate"></link><published>2023-09-01T01:00:00Z</published><updated>2023-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-ocaml-platform-1</id><summary type="html">We deliver the annual presentation about the OCaml Platform in the OCaml Workshop at ICFP 2023. This paper reflects on a decade of progress and developments within the OCaml Platform, from its inception in 2013 with the release of opam 1.0, to today where it stands as a robust toolchain for OCaml developers. We review the last three years in detail, emphasizing the advancements and innovations that have shaped the OCaml development landscape and highlighting key milestones such as the migration to Dune as the primary build system, and the development of a Language Server Protocol (LSP) server for OCaml. &lt;a href="https://github.com/tmattio" target="_blank"&gt;Thibaut Mattio&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://github.com/samoht" target="_blank"&gt;Thomas Gazagnaire&lt;/a&gt; and &lt;a href="https://github.com/dra27" target="_blank"&gt;David Allsopp&lt;/a&gt; . Paper in the &lt;a href="https://icfp23.sigplan.org/details/ocaml-2023-papers/15/State-of-the-OCaml-Platform-2023" target="_blank"&gt;proceedings of the 2023 OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://icfp23.sigplan.org/details/ocaml-2023-papers/15/State-of-the-OCaml-Platform-2023" target="_blank"&gt;URL&lt;/a&gt; (icfp23.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2023-ocaml-platform.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-ocaml-platform.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Scheduling for Reduced Tail Latencies in Highly Utilised Datacenters</title><link href="https://anil.recoil.org/ideas/murmuration" rel="alternate"></link><published>2023-09-01T01:00:00Z</published><updated>2023-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/murmuration</id><summary type="html">Scheduling for Reduced Tail Latencies in Highly Utilised Datacenters This is an idea proposed in 2023 as a Cambridge Computer Science PhD topic, and has been completed by &lt;a href="https://www.cl.cam.ac.uk/~sv440/" target="_blank"&gt;Smita Vijayakumar&lt;/a&gt; . It was co-supervised with &lt;a href="https://www.cst.cam.ac.uk/people/ek264" target="_blank"&gt;Evangelia Kalyvianaki&lt;/a&gt; . Modern datacenters have become the backbone for running diverse workloads that increas- ingly comprise data-parallel computational jobs. Due to the ease of use and diversity of resources they host there has been an exponential rise in the demand for datacenters leading to high volume of traffic. Datacenters execute thousands of jobs by scheduling billions of tasks every day. To meet these demands, datacenters providers operate their clusters at levels of high utilisation. We show that under such conditions existing scheduling designs impose large wait times on tail...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Eio 1.0 – Effects-based IO for OCaml 5</title><link href="https://anil.recoil.org/news/2023-ocaml-eio-1" rel="alternate"></link><published>2023-09-01T01:00:00Z</published><updated>2023-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-ocaml-eio-1</id><summary type="html">An update on the OCaml EIO library at the OCaml Workshop 2023 &lt;a href="https://github.com/https://roscidus.com" target="_blank"&gt;Thomas Leonard&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://github.com/haesbaert" target="_blank"&gt;Christiano Haesbaert&lt;/a&gt; , &lt;a href="https://www.lortex.org" target="_blank"&gt;Lucas Pluvinage&lt;/a&gt; , &lt;a href="https://github.com/polytypic" target="_blank"&gt;Vesa Karvonen&lt;/a&gt; , &lt;a href="https://github.com/Sudha247" target="_blank"&gt;Sudha Parimala&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; , &lt;a href="https://github.com/balat" target="_blank"&gt;Vincent Balat&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://icfp23.sigplan.org/details/ocaml-2023-papers/5/Eio-1-0-Effects-based-IO-for-OCaml-5" target="_blank"&gt;proceedings of the 2023 OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://icfp23.sigplan.org/details/ocaml-2023-papers/5/Eio-1-0-Effects-based-IO-for-OCaml-5" target="_blank"&gt;URL&lt;/a&gt; (icfp23.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2023-ocaml-eio.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-ocaml-eio.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OneDrive and NixOS</title><link href="https://mort.io/blog/nixos-onedrive/" rel="alternate"></link><published>2023-08-22T01:00:00Z</published><updated>2023-08-22T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/nixos-onedrive/</id><summary type="html">https://github.com/abraunegg/onedrive/blob/master/docs/SharePoint-Shared-Libraries.md https://github.com/NixOS/nixpkgs/pull/77734#issuecomment-575874225 FWIW I also use that package on a NixOS system (via a Nix package that can presumably be installed on other systems if you add nix as a package manager), https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNixOS%2Fnixpkgs%2Fblob%2Fmaster%2Fnixos%2Fmodules%2Fservices%2Fnetworking%2Fonedrive.nix&amp;data=05%7C02%7Crmm1002%40universityofcambridgecloud.onmicrosoft.com%7C8792d760606b4a3e80d108dcbd47b53a%7C49a50445bdfa4b79ade3547b4f3986e9%7C1%7C0%7C638593362895323916%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&amp;sdata=qPJyO0hTLRnrkbssZ0Y4cLfhaygDiEQtlQ0pwAjgMwM%3D&amp;r...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Pandas vs Efficiency</title><link href="https://digitalflapjack.com/blog/pandas-vs-efficiency/" rel="alternate"></link><published>2023-08-07T11:21:45Z</published><updated>2023-08-07T11:21:45Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/pandas-vs-efficiency/</id><summary type="html">As part of my role at the &lt;a href="https://4c.cst.cam.ac.uk" target="_blank"&gt;Cambridge Center for Carbon Credits (4C)&lt;/a&gt; , working closely with ecologists in processing of data, I've become an accidental data scientist, by which I mean instead of loading CSV files directly I now use &lt;a href="https://pandas.pydata.org" target="_blank"&gt;pandas&lt;/a&gt; . Pandas is a popular library that makes working with large arrays of data easier. Unlike &lt;a href="https://numpy.org" target="_blank"&gt;numpy&lt;/a&gt; , which is there to make it easy to process data in multidimensional arrays, pandas works one abstraction higher, giving columns names and treating the data as tabular, rather than just raw numbers. But similar to numpy, it provides nice syntax to help you work with that data without worrying about individual elements, you tend to work at that tabular level, and that makes it particularly powerful for someone who isn't a native programmer, rather someone who is a domain expert in...</summary><category term="Digital Flapjack"></category></entry><entry><title>Why using Slack is bad for GeoTIFF Rasters</title><link href="https://digitalflapjack.com/blog/slack-bad-for-gis-rasters/" rel="alternate"></link><published>2023-08-03T14:48:18Z</published><updated>2023-08-03T14:48:18Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/slack-bad-for-gis-rasters/</id><summary type="html">In the past &lt;a href="/blog/some-notes-on-processing-and-display-geospatial-data/" target="_blank"&gt;I've written about&lt;/a&gt; how &lt;a href="https://www.ogc.org/standard/geotiff/" target="_blank"&gt;GeoTIFF&lt;/a&gt; is one of the most common datas formats used for geospatial data. A GeoTIFF is just a standard TIFF image with a few extra fields on it that mean geospatial tools such as &lt;a href="https://qgis.org/en/site/" target="_blank"&gt;QGIS&lt;/a&gt; or libraries such as &lt;a href="https://gdal.org" target="_blank"&gt;GDAL&lt;/a&gt; know what geographic region this data is referring to, and what map projection system its stored relative to. For example, here is a GeoTIFF I generated showing me where in Sweden you might find moose (meese?): Perhaps I'm sufficiently excited by the notion of where the moose can be found that I want to share this with one of my colleagues via our workplace &lt;a href="https://slack.com/" target="_blank"&gt;Slack&lt;/a&gt; channel. So I drop the file in, they download it, but then they complain that the image is now all wrong: If we zoom out a bit, we find not only does the image look funny, it's...</summary><category term="Digital Flapjack"></category></entry><entry><title>Meta Properties of Financial Smart Contracts</title><link href="https://anil.recoil.org/ideas/metaproperties-for-smart-contracts" rel="alternate"></link><published>2023-08-01T01:00:00Z</published><updated>2023-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/metaproperties-for-smart-contracts</id><summary type="html">Meta Properties of Financial Smart Contracts This is an idea proposed in 2023 as a Cambridge Computer Science PhD topic, and has been completed by &lt;a href="https://derekhsorensen.com" target="_blank"&gt;Derek Sorensen&lt;/a&gt; . It was co-supervised with &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; . Financial smart contracts routinely manage billions of US dollars worth of digital assets, making bugs in smart contracts extremely costly, and are also increasingly being used in other areas of endeavour such as carbon credit tracking. Because of this, much work has been done in formal verification of smart contracts to prove a contract correct with regards to its specification. However, financial smart contracts have complicated specifications, and it is not all straightforward for humans to write one which correctly captures all of its intended high-level behaviors. To mitigate this...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Computational Models for Scientific Exploration</title><link href="https://anil.recoil.org/ideas/computational-scientific-methods" rel="alternate"></link><published>2023-08-01T01:00:00Z</published><updated>2023-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/computational-scientific-methods</id><summary type="html">Computational Models for Scientific Exploration This is an idea proposed in 2023 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . It is co-supervised with &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; . The modern scientific method has become highly computational, but computer science hasn't entirely caught up and is sometimes hindering research progress. We use climate science and ecology computation needs as a case study, we are conducting a systematic study in the sources of uncertainty in these fields. We are also designing and implementing a specification language and hermetic computation environment that empowers climate scientists and ecologists to create less ambiguous, more precise and testable scientific methodologies and results, while preserving the ability to explore...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Preprint on the social value of impermanent carbon credits</title><link href="https://anil.recoil.org/news/2023-ncc-permanence-1" rel="alternate"></link><published>2023-07-01T01:00:00Z</published><updated>2023-07-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-ncc-permanence-1</id><summary type="html">We have uploaded a preprint of our &lt;a href="https://anil.recoil.org/projects/4c" target="_blank"&gt;4C&lt;/a&gt; paper on valuing impermanent carbon credits, by using the &lt;a href="https://en.wikipedia.org/wiki/Social_cost_of_carbon" target="_blank"&gt;Social Cost of Carbon&lt;/a&gt; as a basis for a discount function into the future. Comments and feedback are most welcome. &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , &lt;a href="https://www.lse.ac.uk/granthaminstitute/profile/frank-venmans/" target="_blank"&gt;Frank Venmans&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://business-school.exeter.ac.uk/economics/research/subject-themes/profile/index.php?web_id=ben_groom" target="_blank"&gt;Ben Groom&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; . Journal paper in &lt;a href="https://www.nature.com/articles/s41558-023-01815-0" target="_blank"&gt;Nature Climate Change&lt;/a&gt; (vol 13 issue 11). &lt;a href="https://www.nature.com/articles/s41558-023-01815-0" target="_blank"&gt;URL&lt;/a&gt; (nature.com) &lt;a href="https://doi.org/10.1038/s41558-023-01815-0" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-ncc-permanence.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-ncc-permanence.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml wins the ACM Programming Language Software award</title><link href="https://anil.recoil.org/notes/acm-sigplan-award" rel="alternate"></link><published>2023-06-19T01:00:00Z</published><updated>2023-06-19T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/acm-sigplan-award</id><summary type="html">I was honoured to be included in the OCaml team that won the &lt;a href="https://www.cst.cam.ac.uk/news/acm-programming-languages-software-award-goes-ocaml-researchers" target="_blank"&gt;ACM Programming Languages Software Award for 2023&lt;/a&gt; . The Association for Computing Machinery (ACM), the world's largest association of computing professionals, today gave the 2023 SIGPLAN Award to a group of developers for their work on the functional programming language OCaml. The award was presented at the annual SIGPLAN Programming Language Design and Implementation Conference to a group of researchers and developers including our colleague Anil Madhavapeddy, Professor of Planetary Computing here. The prestigious Programming Languages Software Award is given annually "to an institution or individual(s) to recognise the development of a software system that has had a significant impact on programming language research, implementations, and tools," ACM says. --...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Developing OCaml with Nix</title><link href="https://ryan.freumh.org/ocaml-nix.html" rel="alternate"></link><published>2023-06-07T01:00:00Z</published><updated>2023-06-07T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/ocaml-nix.html</id><summary type="html">Published Wed 7 Jun 2023. Last update Wed 7 Jun 2023. Lately, I’ve been writing a significant amount of OCaml as part of my PhD. Instead of using the OCaml package manager (opam) command-line interface (CLI) for these projects, I prefer to use &lt;a href="./nix.html" target="_blank"&gt;Nix&lt;/a&gt; to provide declarative and reproducible development environments and builds. However I still want to be able to interoperate with opam’s file format and access packages from the opam repository. In this blog post we’ll walk through creating a flake.nix file to do this for a hello world project at &lt;a href="https://github.com/RyanGibb/ocaml-nix-hello" target="_blank"&gt;github.com/RyanGibb/ocaml-nix-hello&lt;/a&gt; . Our aim is to make building an OCaml project, and setting up a development environment, as simple as one command. Nix? I’ve said that Nix can provide declarative and reproducible environments and builds. Let’s break down what this...</summary><category term="ryan.freumh.org"></category></entry><entry><title>PACT Tropical Moist Forest Accreditation Methodology</title><link href="https://anil.recoil.org/news/2023-pact-tmf-1" rel="alternate"></link><published>2023-06-01T01:00:00Z</published><updated>2023-06-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-pact-tmf-1</id><summary type="html">We have just published the Tropical Moist Forest v1.0 specification, which is a detailed description of the methodology we are using for counterfactual dynamic baselines to calculate the additionality, leakage and permanence behind REDD+ projects. I explained some of the background behind this in a seminar last year. &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://www.liverpool.ac.uk/geography-and-planning/research/environmental-change/postgraduates/" target="_blank"&gt;James Hartup&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , &lt;a href="https://uk.linkedin.com/in/miranda-lam-a088561b4" target="_blank"&gt;Miranda Lam&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://www.lambdacambridge.com/robin-message" target="_blank"&gt;Robin Message&lt;/a&gt; , &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-e-ping-rau" target="_blank"&gt;E.-Ping Rau&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-charlotte-wheeler" target="_blank"&gt;Charlotte Wheeler&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/abigail-williams" target="_blank"&gt;Abby Williams&lt;/a&gt; . Working paper at &lt;a href="https://www.cambridge.org/engage/coe/article-details/66b9d9345101a2ffa813e37c" target="_blank"&gt;Cambridge Open Engage&lt;/a&gt; . &lt;a href="https://www.cambridge.org/engage/coe/article-details/66b9d9345101a2ffa813e37c" target="_blank"&gt;URL&lt;/a&gt; (cambridge.org) &lt;a href="https://doi.org/10.33774/coe-2024-gvslq" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-pact-tmf.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-pact-tmf.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Build your own Stacks Project in 10 minutes</title><link href="https://www.forester-notes.org/jms-0052/" rel="alternate"></link><published>2023-05-14T01:00:00Z</published><updated>2023-05-14T01:00:00Z</updated><author><name>JonS</name></author><id>https://www.forester-notes.org/jms-0052/</id><summary type="html">&lt;a href="https://www.forester-notes.org/stacks-project/" target="_blank"&gt;The Stacks project&lt;/a&gt; is the most successful scientific hypertext project in history. Its goal is to lay the foundations for the theory of algebraic stacks; to facilitate its scalable and sustainable development, several important innovations have been introduced, with the tags system being the most striking. Each tag refers to a unique item (section, lemma, theorem, etc.) in order for this project to be referenceable. These tags don't change even if the item moves within the text. ( &lt;a href="https://stacks.math.columbia.edu/tags" target="_blank"&gt;Tags explained&lt;/a&gt; , &lt;a href="https://www.forester-notes.org/stacks-project/" target="_blank"&gt;The Stacks Project&lt;/a&gt; ). Many working scientists, students, and hobbyists have wished to create their own tag-based hypertext knowledge base, but the combination of tools historically required to make this happen are extremely daunting. Both the &lt;a href="https://www.forester-notes.org/stacks-project/" target="_blank"&gt;Stacks project&lt;/a&gt; and &lt;a href="https://www.forester-notes.org/kerodon/" target="_blank"&gt;Kerodon&lt;/a&gt; use a cluster of software called &lt;a href="https://www.forester-notes.org/gerby/" target="_blank"&gt;Gerby&lt;/a&gt; ,...</summary><category term="Forester Blog"></category></entry><entry><title>Credit credibility threatens forests</title><link href="https://anil.recoil.org/news/2023-carbon-credibility-1" rel="alternate"></link><published>2023-05-01T01:00:00Z</published><updated>2023-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-carbon-credibility-1</id><summary type="html">Our perspective in &lt;a href="https://science.org" target="_blank"&gt;Science&lt;/a&gt; magazine appeared this week on the credibility of carbon credits and its importance for tropical forest protection. Addressing global warming requires increased investment in conserving and restoring carbon-dense natural habitats. Some companies that emit carbon have turned to certified carbon credits to offset their environmental impact. However, the effectiveness of carbon credits depends on the methods used to quantify them. If carbon credits do not accurately represent their environmental benefits, relying on them could exacerbate climate change. To ensure that carbon credits are robust, the methods used to calculate them must be improved. &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , Pedro H. S. Brancalion , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://www.cccep.ac.uk/profile/ben-filewod/" target="_blank"&gt;Ben Filewod&lt;/a&gt; , &lt;a href="https://business-school.exeter.ac.uk/economics/research/subject-themes/profile/index.php?web_id=ben_groom" target="_blank"&gt;Ben Groom&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/alejandro-guizar-coutino" target="_blank"&gt;Alejandro Guizar-Coutiño&lt;/a&gt; , &lt;a href="https://www.bangor.ac.uk/staff/sens/julia-patricia-gordon-jones-010356/en" target="_blank"&gt;Julia P.G. Jones&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; ,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>WSL2 / Windows 11</title><link href="https://mort.io/blog/windows-wsl2/" rel="alternate"></link><published>2023-03-13T00:00:00Z</published><updated>2023-03-13T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/windows-wsl2/</id><summary type="html">I naively thought I could just use WSL2 on Windows on my new laptop. But it turned out this was the year of Linux on the Laptop for me. For posterity here’s the crib sheet though. wsl -- set-default-version 2 sudo apt update &amp;&amp; sudo apt upgrade - yy sudo apt install locales sudo locale-gen en_GB.UTF-8 sudo apt install - yy emacs-gtk direnv gedit git clone ./..rc-files ./scripts/install.sh Some Windows native packages using &lt;a href="https://chocolatey.org/" target="_blank"&gt;Chocolatey&lt;/a&gt; choco install signal skype wire slack zoom choco install git choco install rustup.install rust-analyzer python choco install docker choco install powertyos dropbox googledrive wiztree However, choco install texlive didn’t work so well, so I fell back to WSL2: sudo apt install latexmk texlive-latex-base texlive-xetex ttf-mscorefonts-installer . Use MS...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Leveraging Scientific Innovation and AI to Scale Carbon Markets</title><link href="https://anil.recoil.org/news/ce64a918-ff52-4116-b1ee-256f08e6e7f1-1" rel="alternate"></link><published>2023-03-07T00:00:00Z</published><updated>2023-03-07T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/ce64a918-ff52-4116-b1ee-256f08e6e7f1-1</id><summary type="html">Discussion with Mantle Labs about carbon credits</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>A Case for Planetary Computing</title><link href="https://anil.recoil.org/news/2024-planetary-computing-1" rel="alternate"></link><published>2023-03-01T00:00:00Z</published><updated>2023-03-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-planetary-computing-1</id><summary type="html">Preprint of planetary computing paper &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://ameliaholcomb.github.io" target="_blank"&gt;Amelia Holcomb&lt;/a&gt; , &lt;a href="https://www.cst.cam.ac.uk/people/eft20" target="_blank"&gt;Eleanor Toye Scott&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/2303.04501" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2303.04501" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2303.04501" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-planetary-computing.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml operators</title><link href="https://mort.io/blog/ocaml-operators/" rel="alternate"></link><published>2023-02-26T00:00:00Z</published><updated>2023-02-26T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/ocaml-operators/</id><summary type="html">An &lt;a href="https://www.brendanlong.com/ocaml-operator-cheatsheet.html" target="_blank"&gt;OCaml operator
cheatsheet&lt;/a&gt; for &lt;a href="https://ocaml.org/" target="_blank"&gt;OCaml&lt;/a&gt; operators that I have found useful.</summary><category term="mort’s mythopœia"></category></entry><entry><title>Software folklore</title><link href="https://mort.io/blog/software-folklore/" rel="alternate"></link><published>2023-02-26T00:00:00Z</published><updated>2023-02-26T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/software-folklore/</id><summary type="html">Truly cursed bugs that have become &lt;a href="http://beza1e1.tuxen.de/lore/" target="_blank"&gt;software
folklore&lt;/a&gt; .</summary><category term="mort’s mythopœia"></category></entry><entry><title>Species distribution modelling using CNNs</title><link href="https://anil.recoil.org/ideas/sdms-with-cnns" rel="alternate"></link><published>2023-02-01T00:00:00Z</published><updated>2023-02-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/sdms-with-cnns</id><summary type="html">Species distribution modelling using CNNs This is an idea proposed in 2023 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://github.com/emorris7" target="_blank"&gt;Emily Morris&lt;/a&gt; . It was co-supervised with &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; . The goal of this project is to compare the performance of &lt;a href="https://biodiversityinformatics.amnh.org/open_source/maxent/" target="_blank"&gt;MaxEnt&lt;/a&gt; techniques to the performance of a CNN model for the task of species distribution modeling. The CNN model will use remote sensing data as part of the input features. The remote sensing data we plan on using is a combination of LULC data (e.g. Dynamic World) and satellite imagery (Planet/Landsat 8/Sentinel 2). We will also use more classical environmental variables from WorldClim and soil data. To evaluate it, we will focus on &lt;a href="https://en.wikipedia.org/wiki/Protea" target="_blank"&gt;proteas&lt;/a&gt; for the species distribution modeling task. We have two observation data...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>How to update a Tezos Smart-Contract</title><link href="https://digitalflapjack.com/blog/tezos-contract-upgrades/" rel="alternate"></link><published>2023-01-25T11:28:59Z</published><updated>2023-01-25T11:28:59Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/tezos-contract-upgrades/</id><summary type="html">How to update a Smart-Contract The &lt;a href="https://4c.cst.cam.ac.uk" target="_blank"&gt;Cambridge Center for Carbon Credits&lt;/a&gt; (4C) has been looking at using a distributed ledger, aka blockchain, to make a public, immutable, verifiable store of information about carbon-offsets as a way of providing traceability into the validity of that offset. Whilst blockchains are not my domain of expertise, I was tasked earlier this year with getting the project's smart contract ready for production, being the experienced generalist software-engineer on the team. I've &lt;a href="https://digitalflapjack.com/blog/getting-started-with-tezos/" target="_blank"&gt;previously written up&lt;/a&gt; some of the trials of getting started with the Tezos blockchain platform from a software-engineering perspective, and this post is more of the same, but focussed on one particular area: how do you ship updates to your smart-contract once you've shipped it? The problem is this: any bit of software evolves...</summary><category term="Digital Flapjack"></category></entry><entry><title>Bibliography Management</title><link href="https://ryan.freumh.org/bibliography-management.html" rel="alternate"></link><published>2023-01-17T00:00:00Z</published><updated>2023-01-17T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/bibliography-management.html</id><summary type="html">Published Tue 17 Jan 2023. Last update Wed 7 Jun 2023. I recently received a request to outline my process for managing bibliographies. Here’s a breakdown of my approach. Bibliography Generation I &lt;a href="https://git.freumh.org/ryan/nixos/src/commit/19e643e3117d8d83dc86e5cf7a7cecc668f68a49/modules/personal/gui/extra.nix#L12" target="_blank"&gt;use&lt;/a&gt; the &lt;a href="https://www.zotero.org/" target="_blank"&gt;Zotero&lt;/a&gt; application as a reference manager. The Zotero Firefox &lt;a href="https://www.zotero.org/download/connectors" target="_blank"&gt;connector&lt;/a&gt; &lt;a href="#fn1" target="_blank"&gt;1&lt;/a&gt; lets me add papers from URLs. Zotero is quite smart about grabbing the metadata from the URL or PDF itself. The view I have from Zotero is: While Zotero is great for storing local copies of papers and generating bibliographies, I don’t find it to be optimal for organisation and note-taking. Instead, I use the &lt;a href="https://retorque.re/zotero-better-bibtex/" target="_blank"&gt;Zotero Better
-
Bibtex&lt;/a&gt; plugin to export all the items in my library &lt;a href="#fn2" target="_blank"&gt;2&lt;/a&gt; into a &lt;a href="https://ctan.org/pkg/biblatex" target="_blank"&gt;BibLaTeX&lt;/a&gt; file that I reference items in with another application. Note-taking I’m using &lt;a href="https://obsidian.md/" target="_blank"&gt;Obsidian&lt;/a&gt; as a...</summary><category term="ryan.freumh.org"></category></entry><entry><title>OCaml.org: recapping 2022 and queries on the Fediverse</title><link href="https://anil.recoil.org/notes/recapping-ocaml-22" rel="alternate"></link><published>2023-01-02T00:00:00Z</published><updated>2023-01-02T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/recapping-ocaml-22</id><summary type="html">I recap the OCaml community progress in 2022, which covers a number of bases ranging from the release of OCaml 5.0, the launch of a new website with integrated documentation for 20000+ packages, prototyping new developer workflows that are better integrated into editors, and the launch of ActivityPub based services such as &lt;a href="https://watch.ocaml.org" target="_blank"&gt;https://watch.ocaml.org&lt;/a&gt; .</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>The role of urban vegetation in human health</title><link href="https://anil.recoil.org/ideas/urban-vegetation" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/urban-vegetation</id><summary type="html">The role of urban vegetation in human health This is an idea proposed in 2023 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://ancazugo.github.io/" target="_blank"&gt;Andres Zuñiga-Gonzalez&lt;/a&gt; . It is co-supervised with &lt;a href="https://www.arct.cam.ac.uk/people/dr-ronita-bardhan" target="_blank"&gt;Ronita Bardhan&lt;/a&gt; . Cities around the globe have experienced unprecedented growth in recent years, becoming centres of economic, cultural, and social hubs for human activity. Rapid urbanisation has transformed the physical landscape and significantly altered local climates, with predictions stating that cities will harbour more than 70% of the population by the middle of the 21st century. This has also changed the climatic variables to which humans are most directly exposed. Combining global climatic changes with localised human activities has created new challenges that cities must solve to be...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Reverse emulating agent-based models for policy simulation</title><link href="https://anil.recoil.org/ideas/rev-abm" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/rev-abm</id><summary type="html">Reverse emulating agent-based models for policy simulation This is an idea proposed in 2023 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://www.linkedin.com/in/pedro-marques-sousa/" target="_blank"&gt;Pedro Sousa&lt;/a&gt; . It was co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . Governments increasingly rely on simulation tools to inform policy design. Agent-based models (ABMs) simulate complex systems to study the emergent phenomena of individual behaviours and interactions in agent populations. However, these ABMs force an iterative, time-consuming, unmethodical parameter tuning of key policy "levers" (or input parameters) to steer the model towards the envisioned outcomes. To unlock a more natural workflow, this project investigates reverse emulation , a novel approach that streamlines policy design using probabilistic machine learning...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Remote Sensing of Nature</title><link href="https://anil.recoil.org/projects/rsn" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/projects/rsn</id><summary type="html">Remote Sensing of Nature Measuring the world's forest carbon and biodiversity is made possible by remote sensing instruments, ranging from satellites in space (Landsat, Sentinel, GEDI) to ground-based sensors (ecoacoustics, camera traps, moisture sensors) that take regular samples and are processed into time-series metrics and actionable insights for conservation and human development. However, the algorithms for processing this data are challenging as the data is highly multimodal (multispectral, hyperspectral, synthetic aperture radar, or lidar), often sparsely sampled spatially, and not in a continuous time series. I work on various algorithms and software and hardware systems we are developing to improve the datasets we have about the surface of the earth. Mapping nature on earth...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mapping LIFE on Earth</title><link href="https://anil.recoil.org/projects/life" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/projects/life</id><summary type="html">Mapping LIFE on Earth Human-driven habitat loss is recognised as the greatest cause of biodiversity loss, but we lack robust, spatially explicit metrics quantifying the impacts of anthropogenic changes in habitat extent on species' extinctions. LIFE is our new metric that uses a persistence score approach that combines ecologies and land-cover data whilst considering the cumulative non-linear impact of past habitat loss on species' probability of extinction. We apply large-scale computing to map ~30k species of terrestrial vertebrates and provide quantitative estimates of the marginal changes in the expected number of extinctions caused by converting remaining natural vegetation to agriculture, and also by restoring farmland to natural habitat. We are also investigating many of the...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Interspatial Networking with DNS</title><link href="https://anil.recoil.org/ideas/interspatial-networking" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/interspatial-networking</id><summary type="html">Interspatial Networking with DNS This is an idea proposed in 2023 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; . It is co-supervised with &lt;a href="mailto:jon.crowcroft@cl.cam.ac.uk" target="_blank"&gt;Jon Crowcroft&lt;/a&gt; . The existing Internet architecture lacks support for naming locations and resolving them to the myriad addressing mechanisms we use beyond IP. While there have been many advances in addressing locations via multiple routing schemes , it remains difficult to refer to location-based services via logical names . This in turn makes it difficult to deploy network services that can be referred to by a stable name that specifies a given location, and that resolves to the addresses of the devices in that space. This matters because there are a broad class of network-connected devices with a physical...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Improving Resilience of ActivityPub Services</title><link href="https://anil.recoil.org/ideas/activitypub-resilience" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/activitypub-resilience</id><summary type="html">Improving Resilience of ActivityPub Services This is an idea proposed in 2023 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Gediminas Lelešius&lt;/a&gt; . The original goal of the project was to improve the resilience of the distributed social networking protocol "ActivityPub", by caching the content on multiple instances and serving them in case the origin instance goes down. The project uses public-key cryptography to ensure data integrity, build a network of public key servers and verifiers and use that consensus instead of relying on individual servers to provide trustworthy data. The core deliverable is a key server gathering and serving public keys, a verifier checking the entries of that server, and a modified Mastodon server rescuing failed ActivityPub requests using an...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Assessing high-performance lightweight compression formats for geospatial computation</title><link href="https://anil.recoil.org/ideas/compressive-geospatial" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/compressive-geospatial</id><summary type="html">Assessing high-performance lightweight compression formats for geospatial computation This is an idea proposed in 2023 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://github.com/omarathon" target="_blank"&gt;Omar Tanner&lt;/a&gt; . It was co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . Geospatial data processing can benefit from by applying lightweight compression techniques to data in GeoTIFF format, addressing the challenge of modern CPU bandwidth surpassing RAM bandwidths. This project will explore how to mitigate the impact of poor cache locality and the resulting memory bottlenecks by leveraging CPU superscalar capabilities and SIMD instructions. By implementing SIMD-optimised compression, data can remain compressed in RAM and closer to the CPU caches, facilitating faster access and alleviating memory constraints....</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Hacking on the Remarkable 2</title><link href="https://ryan.freumh.org/remarkable2.html" rel="alternate"></link><published>2022-12-17T00:00:00Z</published><updated>2022-12-17T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/remarkable2.html</id><summary type="html">Published Sat 17 Dec 2022. Last update Wed 7 Jun 2023. I’ve recently had the good fortune to come into possession of a &lt;a href="https://remarkable.com/store/remarkable-2" target="_blank"&gt;reMarkable 2&lt;/a&gt; E-Ink writing tablet. This device runs a modified version of Linux, and contains the following message in the copyrights and licenses information: GPLv3 Compliance The General Public License version 3 and the Lesser General Public License version 3 also requires you as an end-user to be able to access your device to be able to modify the copyrighted software licensed under these licenses running on it. To do so, this device acts as an USB ethernet device, and you can connect using the SSH protocol using the username ‘root’ and the password ‘&lt;password&gt;’. As a result of this, there is a vibrant community of hacking for the remarkable. This blog post will walk...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Nix</title><link href="https://ryan.freumh.org/nix.html" rel="alternate"></link><published>2022-12-14T00:00:00Z</published><updated>2022-12-14T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/nix.html</id><summary type="html">Published Wed 14 Dec 2022. Last update Mon 3 Feb 2025. Tags: &lt;a href="/technology.html" target="_blank"&gt;technology&lt;/a&gt; . Nix snowflake &lt;a href="#fn1" target="_blank"&gt;1&lt;/a&gt; Nix is a deployment system that uses cryptographic hashes to compute unique paths for components &lt;a href="#fn2" target="_blank"&gt;2&lt;/a&gt; that are stored in a read-only directory: the Nix store, at /nix/store/&lt;hash&gt;-&lt;name&gt; . This provides several benefits, including concurrent installation of multiple versions of a package, atomic upgrades, and multiple user environments &lt;a href="#ref-dolstraNixSafePolicyFree2004" target="_blank"&gt;[1]&lt;/a&gt; . Nix uses a declarative domain-specific language (DSL), also called Nix, to build and configure software. The snippet used to deploy the DNS server is in fact a Nix expression. This example doesn’t demonstrate it, but Nix is Turing complete. Nix does not, however, have a type system. We use the DSL to write derivations for software, which...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Hillingar: MirageOS Unikernels on NixOS</title><link href="https://ryan.freumh.org/hillingar.html" rel="alternate"></link><published>2022-12-14T00:00:00Z</published><updated>2022-12-14T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/hillingar.html</id><summary type="html">Published Wed 14 Dec 2022. Last update Mon 3 Feb 2025. Tags: &lt;a href="/projects.html" target="_blank"&gt;projects&lt;/a&gt; . A version of this blog post can be found on the Tarides website: &lt;a href="https://tarides.com/blog/2022-12-14-hillingar-mirageos-unikernels-on-nixos" target="_blank"&gt;https://tarides.com/blog/2022-12-14-hillingar-mirageos-unikernels-on-nixos&lt;/a&gt; . An arctic mirage &lt;a href="#ref-lehnNovayaZemlyaEffect1979" target="_blank"&gt;[1]&lt;/a&gt; &lt;a href="#fn1" target="_blank"&gt;1&lt;/a&gt; Introduction The Domain Name System (DNS) is a critical component of the modern Internet, allowing domain names to be mapped to IP addresses, mailservers, and more &lt;a href="#fn2" target="_blank"&gt;2&lt;/a&gt; . This allows users to access services independent of their location in the Internet using human-readable names. We can host a DNS server ourselves to have authoritative control over our domain, protect the privacy of those using our server, increase reliability by not relying on a third party DNS provider, and allow greater customization of the records served (or the behaviour of the server itself). However, it can be quite...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Financing Forests: A Credible Approach towards Halting Tropical Deforestation</title><link href="https://anil.recoil.org/news/bc9da6fc-9419-4f18-9db9-c13b1a4a859f-1" rel="alternate"></link><published>2022-11-16T00:00:00Z</published><updated>2022-11-16T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/bc9da6fc-9419-4f18-9db9-c13b1a4a859f-1</id><summary type="html">Wednesday seminar on financing forests using carbon credits</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>17th William Pitt Seminar - Who's in Charge?</title><link href="https://anil.recoil.org/news/a26475b5-c169-478e-b88e-be5cd1f2aff8-1" rel="alternate"></link><published>2022-11-01T00:00:00Z</published><updated>2022-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/a26475b5-c169-478e-b88e-be5cd1f2aff8-1</id><summary type="html">I opened the 17th William Pitt Seminar at Pembroke College on climate change with a brief talk about the status of the world's biodiversity, and how we have more agency than ever before to take matters into our own hands.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>The 2nd ed of Real World OCaml is available in shops</title><link href="https://anil.recoil.org/news/rwo-2" rel="alternate"></link><published>2022-10-01T01:00:00Z</published><updated>2022-10-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/rwo-2</id><summary type="html">I'm delighted to report that the second edition of &lt;a href="https://realworldocaml.org" target="_blank"&gt;Real World OCaml&lt;/a&gt; is now available from Cambridge University Press! It's also freely available &lt;a href="https://realworldocaml.org" target="_blank"&gt;online&lt;/a&gt; , and CUP also kindly agreed that the PDF version could be freely available online thanks to sponsorship from &lt;a href="https://tarides.com" target="_blank"&gt;Tarides&lt;/a&gt; . [… &lt;a href="https://anil.recoil.org/news/rwo-2" target="_blank"&gt;105 words&lt;/a&gt; ] &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://github.com/yminsky" target="_blank"&gt;Yaron Minsky&lt;/a&gt; . Book published by &lt;a href="https://www.cambridge.org/core/books/real-world-ocaml-functional-programming-for-the-masses/052E4BCCB09D56A0FE875DD81B1ED571" target="_blank"&gt;Cambridge University Press&lt;/a&gt; . &lt;a href="https://www.cambridge.org/core/books/real-world-ocaml-functional-programming-for-the-masses/052E4BCCB09D56A0FE875DD81B1ED571" target="_blank"&gt;URL&lt;/a&gt; (cambridge.org) &lt;a href="https://doi.org/10.1017/9781009129220" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/rwo.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Homogeneous Builds with OBuilder and OCaml</title><link href="https://anil.recoil.org/news/2022-oud-ocurrent-1" rel="alternate"></link><published>2022-09-01T01:00:00Z</published><updated>2022-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2022-oud-ocurrent-1</id><summary type="html">Paper on our incremental computation DSL ocurrent presented in OCaml Workshop 2022 Tim McGilchrist , &lt;a href="https://github.com/dra27" target="_blank"&gt;David Allsopp&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://github.com/MisterDA" target="_blank"&gt;Antonin Décimo&lt;/a&gt; , &lt;a href="https://github.com/https://roscidus.com" target="_blank"&gt;Thomas Leonard&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://github.com/kit-ty-kate" target="_blank"&gt;Kate Deplaix&lt;/a&gt; . Paper in the &lt;a href="https://icfp22.sigplan.org/details/ocaml-2022-papers/8/Homogeneous-builds-with-OBuilder-and-OCaml" target="_blank"&gt;proceedings of the 2022 OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://icfp22.sigplan.org/details/ocaml-2022-papers/8/Homogeneous-builds-with-OBuilder-and-OCaml" target="_blank"&gt;URL&lt;/a&gt; (icfp22.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2022-oud-ocurrent.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Nim</title><link href="https://ryan.freumh.org/nim.html" rel="alternate"></link><published>2022-08-30T01:00:00Z</published><updated>2022-08-30T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/nim.html</id><summary type="html">Published Tue 30 Aug 2022. Last update Tue 30 Aug 2022. Tags: &lt;a href="/projects.html" target="_blank"&gt;projects&lt;/a&gt; . I recently had the good fortune to attended a talk by Simon Peyton Jones titled “Immutability changes everything: 40 years of functional programming” which chronologic Simon’s life and research career. Simon is a self-described one trick pony, where that trick is functional programming. However, this trick has taken him from being a major instigator in Haskell - he remains a lead developer of the Glasgow Haskell Compiler to this day - to Microsoft research, and more recently to Epic Games working on a new programming language dubbed ‘ &lt;a href="https://discourse.haskell.org/t/an-epic-future-for-spj/3573" target="_blank"&gt;Verse&lt;/a&gt; ’. In this talk Simon described how he first got interested in Computer Science through a problem posed to him: the game Nim. &lt;a href="#fn1" target="_blank"&gt;1&lt;/a&gt; The game Picture the scene: you and...</summary><category term="ryan.freumh.org"></category></entry><entry><title>A DSL for decentralised identity in OCaml</title><link href="https://anil.recoil.org/ideas/dsl-for-decentralised-id" rel="alternate"></link><published>2022-08-01T01:00:00Z</published><updated>2022-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/dsl-for-decentralised-id</id><summary type="html">A DSL for decentralised identity in OCaml This is an idea proposed in 2022 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://www.linkedin.com/in/michal-mgeladze-arciuch" target="_blank"&gt;Michał Mgeładze-Arciuch&lt;/a&gt; . It was co-supervised with &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . There are currently multiple identity providers without direct incentives to cooperate. This leads to many redundant implementations of the identity handling logic, many of which are not immediately compatible with each other, leading to additional increases in friction when eventual agreement needs to be reached to perform user actions. Furthermore, from the perspective of the user of the identity service, they need to keep track of identity documents from multiple sources, which leads to more security attack surface. Solving the problem of partial identity proofs allows for many possible...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Trusted Carbon Credits</title><link href="https://anil.recoil.org/news/4c-1" rel="alternate"></link><published>2022-05-06T01:00:00Z</published><updated>2022-05-06T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/4c-1</id><summary type="html">With the recent controversies over low-integrity carbon credits, I spoke to Vox magazine about my skepticism about Adam Neumann's new startup. "The problem with the current markets is nothing to do with how we can trade these more effectively," said Anil Madhavapeddy, who is an associate professor of computer science and technology at Cambridge University and the director of the Cambridge Center for Carbon Credits. "We just do not have enough supply." -- &lt;a href="https://www.vox.com/recode/23142106/adam-neumann-crypto-carbon-credit-offset-flowcarbon" target="_blank"&gt;Vox&lt;/a&gt; The Cambridge Centre for Carbon Credits is an initiative I started with &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , aimed at issuing trusted and verifiable carbon credits towards the prevention of nature destruction due to anthropogenic actions. We researched a combination of large-scale data processing (satellite and...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Secure Programming with Dispersed Compartments</title><link href="https://anil.recoil.org/ideas/dispersed-compartments" rel="alternate"></link><published>2022-05-01T01:00:00Z</published><updated>2022-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/dispersed-compartments</id><summary type="html">Secure Programming with Dispersed Compartments This is an idea proposed in 2022 as a Cambridge Computer Science PhD topic, and has been completed by &lt;a href="https://zatkh.github.io/" target="_blank"&gt;Zahra Tarkhani&lt;/a&gt; . This PhD project proposes novel approaches and mechanisms for application compartmentalization and isolation to reduce their ever-growing attack surfaces. Our approach is motivated by the key observation that while hardware vendors compete to provide security features (notably memory safety and privilege separation) existing systems software like commodity OSs fail to utilize such features to improve application security and privacy properly. We propose a novel principled approach to privilege separation and isolation, enabling application security to be designed and enforced within and across different isolation boundaries, and...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml Multicore Monthly: heading towards OCaml 5.0</title><link href="https://anil.recoil.org/notes/multicore-monthly-mar22" rel="alternate"></link><published>2022-04-19T01:00:00Z</published><updated>2022-04-19T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-mar22</id><summary type="html">We're getting closer to a stable release of OCaml 5.0, including reenabling support for the BSDs and introducing ARM64 multicore support.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Virtual and Augmented Reality</title><link href="https://ryan.freumh.org/vr-ar.html" rel="alternate"></link><published>2022-04-18T01:00:00Z</published><updated>2022-04-18T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/vr-ar.html</id><summary type="html">Published Mon 18 Apr 2022. Last update Tue 19 Apr 2022. I’ve been interested in virtual reality (VR) and augmented reality (AR) recently as the use case for the system(s) I’m working on in my MPhil project. This blog post will cover my development experience in porting my &lt;a href="../cubes/" target="_blank"&gt;cubes&lt;/a&gt; game to both VR and AR, and give a small demo for the latter. Microsoft Windows was used for ease of development with &lt;a href="https://unity.com/" target="_blank"&gt;Unity&lt;/a&gt; and as it’s a hard requirement for the AR headset made by Microsoft. VR The &lt;a href="https://www.oculus.com/quest-2/" target="_blank"&gt;Oculus Quest 2&lt;/a&gt; from Meta (formally Facebook) is a VR headset running an Android derivative. This means you can do cool stuff like run &lt;a href="https://www.reddit.com/r/cyberDeck/comments/fc5sfr/oculus_quest_termux_selfcontained_hmd_cyberdeck/" target="_blank"&gt;Termux&lt;/a&gt; on it (an Android terminal emulator and unvirtualised Linux environment). It’s nowhere near as flexible as something like what &lt;a href="https://simulavr.com/" target="_blank"&gt;SimulaVR&lt;/a&gt; are doing, which features a...</summary><category term="ryan.freumh.org"></category></entry><entry><title>OCaml Multicore Monthly: post merge activites</title><link href="https://anil.recoil.org/notes/multicore-monthly-jan22" rel="alternate"></link><published>2022-02-09T00:00:00Z</published><updated>2022-02-09T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-jan22</id><summary type="html">After we got the massive OCaml 5.0 pull request merged, we've taken some time to consolidate the trunk branch of OCaml and start down the release path towards getting OCaml 5.0 out of the door.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>DNS LOC</title><link href="https://ryan.freumh.org/dns-loc-rr.html" rel="alternate"></link><published>2022-01-18T00:00:00Z</published><updated>2022-01-18T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/dns-loc-rr.html</id><summary type="html">Published Tue 18 Jan 2022. Last update Sat 21 May 2022. The Domain Name System (DNS) has a little known ‘LOC’ resouce record (RR) defined in 1996 for encoding location information purportedly for hosts, networks, and subnets[0]. It encodes: Latitude Longitude Altitude Size of the referenced sphere Horizontal and vertical precision A number of suggested uses are proposed in the RFC: USENET - a distributed discussion system now ecplised by the World Wide Web - geographic flow maps. A ‘visual traceroute’ application showing geographical flow of IP packet, presumably relying on router responding to both IP TTL timeouts and DNS LOC requests. Network management based using LOC RRs to map hosts and routers. RFC-1876 also describes algorithms for resolving locations for domain names or IP...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Using effect handlers for efficient parallel scheduling</title><link href="https://anil.recoil.org/ideas/parallel-scheduling-with-effects" rel="alternate"></link><published>2022-01-01T00:00:00Z</published><updated>2022-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/parallel-scheduling-with-effects</id><summary type="html">Using effect handlers for efficient parallel scheduling This is an idea proposed in 2022 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://github.com/bartoszmodelski" target="_blank"&gt;Bartosz Modelski&lt;/a&gt; . Modern hardware is so parallel and workloads are so concurrent, that there is no single, perfect scheduling strategy across a complex application software stack. Therefore, there are significant performance advantages to be gained from customizing and composing schedulers. Multicore parallelism is here to stay, and in contrast with clock frequency increases, schedulers have to be carefully crafted in order to take full advantage of horizontal scaling of the underlying architecture. That’s because designs need to evolve as synchronization primitives such as locks or atomics do not scale endlessly to many...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Spatial Name System</title><link href="https://anil.recoil.org/ideas/sns" rel="alternate"></link><published>2022-01-01T00:00:00Z</published><updated>2022-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/sns</id><summary type="html">Spatial Name System This is an idea proposed in 2022 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; . It was co-supervised with &lt;a href="mailto:jon.crowcroft@cl.cam.ac.uk" target="_blank"&gt;Jon Crowcroft&lt;/a&gt; . The development of emerging classes of hardware such as Internet of Thing devices and Augmented Reality headsets has outpaced the development of Internet infrastructure. We identify problems with latency, security and privacy in the global hierarchical distributed Domain Name System. To remedy this, we propose the Spatial Name System, an alternative network architecture that relies on the innate physicality of this paradigm. Utilizing a device’s pre-existing unique identifier, its location, allows us to identify devices locally based on their physical presence. A naming system tailored to the physical...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Scalable agent-based models for optimized policy design</title><link href="https://anil.recoil.org/ideas/differentiable-abm" rel="alternate"></link><published>2022-01-01T00:00:00Z</published><updated>2022-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/differentiable-abm</id><summary type="html">Scalable agent-based models for optimized policy design This is an idea proposed in 2022 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Sharan Agrawal&lt;/a&gt; . It was co-supervised with &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; . As the world faces twinned crises of climate change and biodiversity loss, the need for integrated policy approaches addressing both is paramount. To help address this, this project investigates a new agent-based model dubbed the VDSK-B. Using Dasgupta's &lt;a href="https://www.gov.uk/government/publications/final-report-the-economics-of-biodiversity-the-dasgupta-review" target="_blank"&gt;review of the economics of biodiversity&lt;/a&gt; , it builds on the &lt;a href="https://www.sciencedirect.com/science/article/pii/S0921800917314623" target="_blank"&gt;Dystopian Schumpeter meets Keynes&lt;/a&gt; (DSK) climate economics model to link together the climate, economy and biosphere. This is the first ABM proposed that integrates all 3 key elements. The project also investigates how to scale such ABMs to be applicable for global policy design and scale to planetary-sized...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Planetary Computing</title><link href="https://anil.recoil.org/projects/plancomp" rel="alternate"></link><published>2022-01-01T00:00:00Z</published><updated>2022-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/projects/plancomp</id><summary type="html">Planetary Computing Planetary computing is our research into the systems required to handle the ingestion, transformation, analysis and publication of global data products for furthering environmental science and enabling better informed policy-making. We apply computer science to problem domains such as forest carbon and biodiversity preservation, and design solutions that can scalably processing geospatial data that build trust in the results via traceability and reproducibility. Key problems include how to handle continuously changing datasets that are often collected across decades and require careful access and version control. "Planetary computing" originated as a term back in 2020 when a merry band of us from Computer Science ( &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and me, later joined by &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; ,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Enhancing the Security &amp; Privacy of Wearable Brain-Computer Interfaces</title><link href="https://anil.recoil.org/news/2022-enhancing-brain-security-1" rel="alternate"></link><published>2022-01-01T00:00:00Z</published><updated>2022-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2022-enhancing-brain-security-1</id><summary type="html">Preprint on security vulnerabilities in brain-computer interfaces &lt;a href="https://zatkh.github.io/" target="_blank"&gt;Zahra Tarkhani&lt;/a&gt; , &lt;a href="https://lorenaqendro.github.io" target="_blank"&gt;Lorena Qendro&lt;/a&gt; , Malachy O'Connor Brown , Oscar Hill , &lt;a href="https://www.cl.cam.ac.uk/~cm542/" target="_blank"&gt;Cecilia Mascolo&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/2201.07711" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2201.07711" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2201.07711" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2022-enhancing-brain-security.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2022-enhancing-brain-security.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Decentralised Capability-based Code Collaboration using Matrix</title><link href="https://anil.recoil.org/ideas/version-control-matrix" rel="alternate"></link><published>2022-01-01T00:00:00Z</published><updated>2022-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/version-control-matrix</id><summary type="html">Decentralised Capability-based Code Collaboration using Matrix This is an idea proposed in 2022 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://bsky.app/profile/wedg.dev" target="_blank"&gt;Samuel Wedgwood&lt;/a&gt; . In 2005, due to licensing disputes, the team behind Linux parted ways with their proprietary source management tool BitKeeper, and needed a new solution. This prompted the development of Git, an open-source decentralised version control system (DVCS), which was soon used to manage the source code of Linux. Contributions were submitted as patch files, which contained just the differences that the contribution made, to an email list, which were reviewed and applied to the central Git repository for Linux. Git grew in popularity and other projects started using it to manage their source code. Then, in 2008, the...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml Multicore Monthly: code review complete with Inria</title><link href="https://anil.recoil.org/notes/multicore-monthly-dec21" rel="alternate"></link><published>2021-12-21T00:00:00Z</published><updated>2021-12-21T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-dec21</id><summary type="html">We've been working hard on OCaml multicore support, and went over to Paris to sit down with some core developers from Inria and work through code review of our proposed patches.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>2021 SDG Hackathon</title><link href="https://ancazugo.github.io/r/tidytuesday/sdg-hackathon.html" rel="alternate"></link><published>2021-11-06T00:00:00Z</published><updated>2021-11-06T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/r/tidytuesday/sdg-hackathon</id><summary type="html">I participated in the 2021 &lt;a href="https://www.sdghackathon.io/" target="_blank"&gt;SDG Hackathon&lt;/a&gt; hosted by CORELAID Switzerland and the University of Basel. The data used was obtained from text analysis of projects realted to SDGs in Switzerland using five different systems. Each system detected a number of times each SDG in each project. I wanted to show how commonly each SDG is detected by each system from the dataset and for this purpose I created a rank view of the 17 SDGs using ggbump and integrating it with ggtext and several other packages. You can check out the code in the &lt;a href="https://github.com/ancazugo/sdg-hackathon" target="_blank"&gt;GitHub repo&lt;/a&gt; .</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>Launching the Cambridge Centre for Carbon Credits</title><link href="https://anil.recoil.org/notes/4c-launch" rel="alternate"></link><published>2021-11-04T00:00:00Z</published><updated>2021-11-04T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/4c-launch</id><summary type="html">I launched &lt;a href="https://anil.recoil.org/projects/4c" target="_blank"&gt;4C&lt;/a&gt; recently, and Pembroke College covers the launch with an interview with me. The world is facing a large-scale environmental crisis. Two parallel and related strands of this are, first, the crisis in biodiversity and the rapid extinction of many species, recently addressed at the COP15 UN Biodiversity Conference in October, and second, the threat of climate change, the topic of last month’s COP26 summit in Glasgow. Pressure is growing on governments to execute nature-based solutions which will offset some of the most damaging impacts of these crises. While COP26 built some momentum, there is still a long way to go to turn promises into lasting change. More engagement with the private sector is urgently needed. The solution to the crisis is two-pronged: we must engage...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>What is an Operating System?</title><link href="https://anil.recoil.org/notes/signals-and-threads" rel="alternate"></link><published>2021-11-03T00:00:00Z</published><updated>2021-11-03T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/signals-and-threads</id><summary type="html">I am the latest person to feature on the first season of the &lt;a href="https://signalsandthreads.com/what-is-an-operating-system/" target="_blank"&gt;Signals and
Threads&lt;/a&gt; podcast hosted by &lt;a href="https://github.com/yminsky" target="_blank"&gt;Yaron Minsky&lt;/a&gt; (you may recognise him as my co-author on &lt;a href="https://anil.recoil.org/papers/rwo" target="_blank"&gt;Real World OCaml&lt;/a&gt; ). Anil Madhavapeddy is an academic, author, engineer, entrepreneur, and OCaml aficionado. In this episode, Anil and Ron consider the evolving role of operating systems, security on the internet, and the pending arrival (at last!) of OCaml 5.0. They also discuss using Raspberry Pis to fight climate change; the programming inspiration found in British pubs and on Moroccan beaches; and the time Anil went to a party, got drunk, and woke up with a job working on the Mars Polar Lander. -- &lt;a href="https://signalsandthreads.com/what-is-an-operating-system/" target="_blank"&gt;Signals and Threads&lt;/a&gt; I think I might be the first non- Jane Street person to be on their podcast! Quite the honour.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Hosting HotCRP</title><link href="https://mort.io/blog/setup-hotcrp/" rel="alternate"></link><published>2021-10-17T01:00:00Z</published><updated>2021-10-17T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/setup-hotcrp/</id><summary type="html">I once had cause to setup &lt;a href="https://read.seas.harvard.edu/~kohler/hotcrp/" target="_blank"&gt;HotCRP&lt;/a&gt; for local hosting. Specifically on a local Lab-hosted VM image. Some of what follows is specific to the CUCL VM hosting service, but I think most of it is HotCRP generic and so may be of use. Anyway, here’s the crib sheet, starting from &lt;a href="https://mbtech.github.io/Setting-up-hotcrp/" target="_blank"&gt;https://mbtech.github.io/Setting-up-hotcrp/&lt;/a&gt; … # setup some variables YOUR-DOMAIN = " hotcrp-test.cl.cam.ac.uk " YOUR-WORKSHOP = " sysws18 " YOUR-PASSWORD = " mybestpassword " YOUR-EMAIL = " postmaster@example.com " &lt;a href="https://mort.io/blog/setup-hotcrp/#lab-specifics" target="_blank"&gt;Lab specifics&lt;/a&gt; Assume we start from a default Ubuntu template VM, and then… Configure the VM cl-asuser passwd # set UNIX password for sudo # create some space for d in /usr/src/ * ; do export K = $ ( uname - r | sed ' s/-generic$// ' ) echo - n $ K $ d ... case $ d in " /usr/src/linux-headers- $ K " | " /usr/src/linux-headers- $ { K } -generic "...</summary><category term="mort’s mythopœia"></category></entry><entry><title>ILNP Interface</title><link href="https://ryan.freumh.org/ilnp-interface.html" rel="alternate"></link><published>2021-10-16T01:00:00Z</published><updated>2021-10-16T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/ilnp-interface.html</id><summary type="html">Published Sat 16 Oct 2021. Last update Sat 22 Oct 2022. Tags: &lt;a href="/projects.html" target="_blank"&gt;projects&lt;/a&gt; . My &lt;a href="./network-layer-mobility.html" target="_blank"&gt;dissertation&lt;/a&gt; involved implementing an &lt;a href="./network-layer-mobility.html#ilnp" target="_blank"&gt;Identifier-Locator Network
-
Protocol&lt;/a&gt; (ILNP) &lt;a href="./network-layer-mobility.html#overlay-network" target="_blank"&gt;overlay network&lt;/a&gt; in Python which can be found at &lt;a href="https://github.com/RyanGibb/ilnp-overlay-network" target="_blank"&gt;github.com/RyanGibb/ilnp-overlay-network&lt;/a&gt; . As part of this, I wanted to add an application layer interface to the overlay to support existing applications. (To those who still want to know why I posit, why not?) That is, applications other than those written in python specifically for the overlay. This would also allow multiple applications to run over one overlay network stack. However, this wasn’t a priority for my dissertation as it wasn’t necessary to obtain experimental results. Since graduating I’ve found a few weekends to work on this and a solution will be explored in this blog post. Datagrams First up, how can we send a datagram over...</summary><category term="ryan.freumh.org"></category></entry><entry><title>OCaml Multicore Monthly: effect handling confirmed for 5.0</title><link href="https://anil.recoil.org/notes/multicore-monthly-sep21" rel="alternate"></link><published>2021-10-01T01:00:00Z</published><updated>2021-10-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-sep21</id><summary type="html">We're making steady progress on getting multicore support merged into OCaml, including some great developer meetings where we achieved consensus with the core team to include support for effect handlers in the 5.0 release.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Forest preservation and restoration</title><link href="https://anil.recoil.org/notes/forests" rel="alternate"></link><published>2021-09-25T01:00:00Z</published><updated>2021-09-25T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/forests</id><summary type="html">I track external notes and media articles here on forest preservation and restoration as part of my work on &lt;a href="https://anil.recoil.org/projects/4c" target="_blank"&gt;Trusted Carbon Credits&lt;/a&gt; . Not complete, just a reading list. &lt;a href="https://www.youtube.com/watch?v=yiw6_JakZFc" target="_blank"&gt;Can YOU Fix Climate Change?&lt;/a&gt; (great short summary of the overall issues) Rewilding &lt;a href="https://www.theguardian.com/environment/2021/sep/24/vast-area-of-scottish-highlands-to-be-rewilded-in-ambitious-30-year-project-aoe" target="_blank"&gt;Affric Highlands initiative&lt;/a&gt; to rewild Scotland over 30 years &lt;a href="https://www.bloomberg.com/news/articles/2021-09-14/gabon-s-climate-law-brings-it-closer-to-carbon-trade-ambition" target="_blank"&gt;Gabon's Climate Law&lt;/a&gt; &lt;a href="https://www.soilassociation.org/blogs/2021/august/3/pairing-agroforestry-with-livestock-the-major-benefits/" target="_blank"&gt;Pairing agroforestry with livestock: the major benefits&lt;/a&gt; &lt;a href="https://www.nationalparks.uk/2021/10/06/press-release-major-global-companies-to-fund-vital-nature-restoration-projects-in-the-uks-national-parks-through-innovative-new-financing-facility/" target="_blank"&gt;Major global companies to fund nature restoration projects in UK's national parks&lt;/a&gt; (via &lt;a href="https://www.thepalladiumgroup.com" target="_blank"&gt;Palladium group&lt;/a&gt; ) Remote sensing &lt;a href="https://www.kiss.caltech.edu/papers/biodiversity/papers/2020_Book_RemoteSensingOfPlantBiodiversi.pdf" target="_blank"&gt;Remote sensing of plant biodiversity&lt;/a&gt; &lt;a href="https://geobon.org" target="_blank"&gt;Geobon&lt;/a&gt; - global researcher network working on above. &lt;a href="https://earthi.space/" target="_blank"&gt;Earth-i&lt;/a&gt; - sub-1m sensing satellite constellation &lt;a href="https://www.mantle-labs.com" target="_blank"&gt;Mantle Labs&lt;/a&gt; - earth observation + machine learning for farmers &lt;a href="https://www.cgi.com/uk/en-gb/news/climate/cgi-announces-strategic-partnership-project-seagrass-reduce-co2" target="_blank"&gt;Seagrass from space&lt;/a&gt; Keshav's &lt;a href="http://blizzard.cs.uwaterloo.ca/iss4e/wp-content/uploads/2017/10/Communication-technologies-for-energy-informatics.pdf" target="_blank"&gt;comms technologies for energy informatics&lt;/a&gt; Carbon Credits &lt;a href="https://www.cis.upenn.edu/~bcpierce/papers/carbon-offsets.pdf" target="_blank"&gt;Notes on Carbon offsets for scientific societies&lt;/a&gt; &lt;a href="https://vcmintegrity.org/" target="_blank"&gt;Voluntary Carbon Markets integrity initiative&lt;/a&gt; &lt;a href="https://www.ecosystemmarketplace.com/articles/press-release-voluntary-carbon-markets-rocket-in-2021-on-track-to-break-1b-for-first-time/" target="_blank"&gt;Voluntary Carbon Markets Rocket in 2021, On Track to Break $1B for First Time&lt;/a&gt; Biodiversity &lt;a href="https://kiss.caltech.edu/lectures/2019_biodiversity.html" target="_blank"&gt;Biodiversity: Perspectives of a Techie&lt;/a&gt; - Dave Thau - Data and Technology Global Lead Scientist, WWF Valuing climate change &lt;a href="https://www.sciencedirect.com/science/article/pii/S001671851930051X" target="_blank"&gt;Cryptocarbon: The promises and pitfalls of forest protection on a blockchain&lt;/a&gt; &lt;a href="https://www.nature.com/articles/s41558-018-0285-8" target="_blank"&gt;Valuing climate damages at the country level&lt;/a&gt; - nature climate change, 2018 &lt;a href="https://www.nature.com/articles/s41558-018-0282-y" target="_blank"&gt;Country-level social cost of carbon&lt;/a&gt; , nature climate change...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Decentralised tech on Recoil</title><link href="https://anil.recoil.org/notes/decentralised-stack" rel="alternate"></link><published>2021-09-19T01:00:00Z</published><updated>2021-09-19T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/decentralised-stack</id><summary type="html">&lt;a href="https://nick.recoil.org" target="_blank"&gt;Nick Ludlam&lt;/a&gt; and I have self-hosted recoil.org since around 1996, typically for email and web. These days, there are a number of interesting software stacks around decentralised communication that we deploy. This note keeps track of them. Email (active) Currently Postfix and DKIM/SPIF relays Till 2019, was OpenSMTPD and would like to return to it but waiting on filter support. Till around 2016, was qmail but finally gave up due to difficulty of spam filtering. Next step will be to try out the MirageOS email stack that dinosaure has been leading the development of. Web (active) This website is an OCaml webserver running a custom multicore OCaml &lt;a href="https://github.com/avsm/eeww" target="_blank"&gt;webserver&lt;/a&gt; Next step will be to go solar powered with a custom DNS server. DNS (inactive) MirageOS DNS server. Currently offline due to a hosting...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Roadmap for OCaml's online presence</title><link href="https://anil.recoil.org/notes/roadmap-ocamlorg-v3" rel="alternate"></link><published>2021-08-27T01:00:00Z</published><updated>2021-08-27T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/roadmap-ocamlorg-v3</id><summary type="html">After a decade of good service, it's time to overhaul OCaml's online presence to more modern technologies. This post lays out the roadmap for the third edition of the OCaml.org website.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Tarballing some files</title><link href="https://mort.io/blog/tar-includes/" rel="alternate"></link><published>2021-08-25T01:00:00Z</published><updated>2021-08-25T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/tar-includes/</id><summary type="html">I recently discovered, to some irritation, that the --include PATTERN option to tar seems only to apply to directories – and if the PATTERN doesn’t match, it won’t traverse subdirectories. But I wanted to include *.php for some reason. So instead pipe the output of find , or better these days, &lt;a href="https://github.com/sharkdp/fd" target="_blank"&gt;fd&lt;/a&gt; : fd - e php - 0 | tar - cvjf TARBALL.bz2 -- null -- files-from -</summary><category term="mort’s mythopœia"></category></entry><entry><title>How Computer Science Can Aid Forest Restoration</title><link href="https://anil.recoil.org/news/2021-arxiv-forestrycs-1" rel="alternate"></link><published>2021-08-01T01:00:00Z</published><updated>2021-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2021-arxiv-forestrycs-1</id><summary type="html">Preprint about our working notes on how CS might contribute to forest preservation Gemma Gordon , &lt;a href="https://ameliaholcomb.github.io" target="_blank"&gt;Amelia Holcomb&lt;/a&gt; , &lt;a href="https://github.com/ctk21" target="_blank"&gt;Tom Kelly&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , &lt;a href="https://github.com/jonludlam" target="_blank"&gt;Jon Ludlam&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/2109.07898" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2109.07898" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2109.07898" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2021-arxiv-forestrycs.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2021-arxiv-forestrycs.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Experiences with Effects</title><link href="https://anil.recoil.org/news/2021-oud-effects-1" rel="alternate"></link><published>2021-08-01T01:00:00Z</published><updated>2021-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2021-oud-effects-1</id><summary type="html">Paper on programming with effects in OCaml &lt;a href="https://github.com/https://roscidus.com" target="_blank"&gt;Thomas Leonard&lt;/a&gt; , &lt;a href="https://craigfe.io" target="_blank"&gt;Craig Ferguson&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://github.com/ctk21" target="_blank"&gt;Tom Kelly&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://icfp21.sigplan.org/details/ocaml-2021-papers/16/Experiences-with-Effects" target="_blank"&gt;proceedings of the 2021 OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://icfp21.sigplan.org/details/ocaml-2021-papers/16/Experiences-with-Effects" target="_blank"&gt;URL&lt;/a&gt; (icfp21.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2021-oud-effects.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2021-oud-effects.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Cubes</title><link href="https://ryan.freumh.org/cubes.html" rel="alternate"></link><published>2021-06-03T01:00:00Z</published><updated>2021-06-03T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/cubes.html</id><summary type="html">Published Thu 3 Jun 2021. Last update Thu 3 Mar 2022. Tags: &lt;a href="/projects.html" target="_blank"&gt;projects&lt;/a&gt; . I was teaching myself Unity the week after the last exam for my undergrad and ended up creating this. It’s an infinite runner with cubes created in unity. Play it &lt;a href="resources/cubes/" target="_blank"&gt;here&lt;/a&gt; . The repo can be found at &lt;a href="https://github.com/RyanGibb/cubes" target="_blank"&gt;github.com/RyanGibb/cubes&lt;/a&gt; . Re-rooting To allow the game to be infinite, whilst also avoiding floating point errors, the game world is periodically ‘re-rooted’. This involves moving the player and all objects back a certain distance in one frame. Objects behind the player can be safely removed. However, it may prove challenging to get to a distance where floating point errors occur! World Generation The world is generated using a Markov Chain containing transitions from segments to segments. Segments may be prefabricated or...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Retrofitting effect handlers onto OCaml</title><link href="https://anil.recoil.org/news/2021-pldi-retroeff-1" rel="alternate"></link><published>2021-06-01T01:00:00Z</published><updated>2021-06-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2021-pldi-retroeff-1</id><summary type="html">Paper on retrofitting effects in OCaml presented in PLDI 2024 &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; , &lt;a href="https://github.com/stedolan" target="_blank"&gt;Stephen Dolan&lt;/a&gt; , &lt;a href="https://github.com/lpw25" target="_blank"&gt;Leo White&lt;/a&gt; , &lt;a href="https://github.com/ctk21" target="_blank"&gt;Tom Kelly&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://dl.acm.org/doi/10.1145/3453483.3454039" target="_blank"&gt;proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation&lt;/a&gt; . &lt;a href="https://dl.acm.org/doi/10.1145/3453483.3454039" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3453483.3454039" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2021-pldi-retroeff.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2021-pldi-retroeff.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Network layer mobility</title><link href="https://ryan.freumh.org/network-layer-mobility.html" rel="alternate"></link><published>2021-05-10T01:00:00Z</published><updated>2021-05-10T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/network-layer-mobility.html</id><summary type="html">Published Mon 10 May 2021. Last update Mon 24 Mar 2025. Tags: &lt;a href="/projects.html" target="_blank"&gt;projects&lt;/a&gt; , &lt;a href="/research.html" target="_blank"&gt;research&lt;/a&gt; . My undergraduate dissertation, “Ubiquitous Communication for the Internet of Things: An Identifier-Locator addressing split overlay network”, explored how we can modify the Internet Protocol to better support resource-constrained highly mobile embedded devices. A copy can be found &lt;a href="papers/2021-bsc-ubicomm.pdf" target="_blank"&gt;here&lt;/a&gt; (or &lt;a href="https://studres.cs.st-andrews.ac.uk/Library/ProjectLibrary/cs4099/2021/rtg2-Final_Report.pdf" target="_blank"&gt;here&lt;/a&gt; for St Andrews folk), and the associated implementation can be found at &lt;a href="https://github.com/RyanGibb/ilnp-overlay-network" target="_blank"&gt;ilnp-overlay-network&lt;/a&gt; . Network stack First, some prerequisite networking knowledge. A network protocol stack is a view of how protocols are organised into layers. The &lt;a href="https://en.wikipedia.org/wiki/OSI_model" target="_blank"&gt;OSI model&lt;/a&gt; describes named layers; including the physical, link, network, transport, and application layers. Note the OSI model and TCP/IP have &lt;a href="https://en.wikipedia.org/wiki/Internet_protocol_suite#Layer_names_and_number_of_layers_in_the_literature" target="_blank"&gt;differing
-
semantics&lt;/a&gt; , but this is...</summary><category term="ryan.freumh.org"></category></entry><entry><title>25 years of OCaml!</title><link href="https://www.dra27.uk/blog/platform/2021/05/09/ocaml-at-25.html" rel="alternate"></link><published>2021-05-09T01:00:00Z</published><updated>2021-05-09T01:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2021/05/09/ocaml-at-25</id><summary type="html">On this day in 1996, Xavier Leroy &lt;a href="https://sympa.inria.fr/sympa/arc/caml-list/1996-05/msg00003.html" target="_blank"&gt;announced Objective Caml 1.00&lt;/a&gt; (the language wasn’t officially called OCaml until &lt;a href="https://sympa.inria.fr/sympa/arc/caml-list/2012-07/msg00179.html" target="_blank"&gt;4.00.0 in July 2012&lt;/a&gt; ). I wouldn’t start using OCaml for another 7 years; I think I may have dropped Research Machines Basic by then and was mucking around with a mix of Visual Basic, Turbo Pascal and Delphi, but I hadn’t yet got an email address either. For whatever reason, the 1.00 tag deletes the boot images, but they can be taken from the &lt;a href="https://github.com/dra27/ocaml/tree/2de35753f7b43b11098f7d25a09b8cb904c1a2ca/boot" target="_blank"&gt;commit before&lt;/a&gt; . I could get the runtime to build quite easily on Ubuntu, but alas while it appeared to be able to run boot/ocamllex , boot/ocamlc was just segfaulting. I debated firing up my old dual-Pentium III which apparently had Slackware 10 on it, but I thought I’d give the Windows port a go first! According to the docs, the Windows compiler used to be...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>Void Processes: Minimising privilege by default</title><link href="https://anil.recoil.org/ideas/void-processes" rel="alternate"></link><published>2021-01-01T00:00:00Z</published><updated>2021-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/void-processes</id><summary type="html">Void Processes: Minimising privilege by default This is an idea proposed in 2021 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://blog.hillion.co.uk" target="_blank"&gt;Jake Hillion&lt;/a&gt; . Void processes intend to make it easier for all developers to produce effectively privilege separated applications. The project has two primary goals: show the merits of starting from zero privilege, and provide the utilities to make this feasible for the average developer. Building void processes involves first reliably removing all privilege from a process then systematically adding back in what is required, and no more. This project utilises Linux namespaces to revoke privilege from an application, showing how this can be done and why its easier in some domains than others. It then shows how to inject...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Security analysis of brain-computing interfaces</title><link href="https://anil.recoil.org/ideas/brain-interface-security" rel="alternate"></link><published>2021-01-01T00:00:00Z</published><updated>2021-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/brain-interface-security</id><summary type="html">Security analysis of brain-computing interfaces This is an idea proposed in 2021 as a good starter project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Malachy O'Connor Brown&lt;/a&gt; and &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Oscar Hill&lt;/a&gt; . It was co-supervised with &lt;a href="https://zatkh.github.io/" target="_blank"&gt;Zahra Tarkhani&lt;/a&gt; and &lt;a href="https://lorenaqendro.github.io" target="_blank"&gt;Lorena Qendro&lt;/a&gt; . Brain Computing Interface (BCI) technologies, both invasive and non-invasive, are increasingly used in a wide range of applications, from health-care to smart communication and control. Most BCI applications are safety-critical or privacy-sensitive. However, the infinite potentials of BCI and its ever-growing market size have been distracted the BCI community from significant security and privacy threats. In this research, we first investigate the security and privacy threats of various BCI devices and applications, from machine learning adversarial threats to untrusted...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Exploring Concurrency in Agent-Based Modelling with Multicore OCaml</title><link href="https://anil.recoil.org/ideas/ocaml-forest-sim" rel="alternate"></link><published>2021-01-01T00:00:00Z</published><updated>2021-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/ocaml-forest-sim</id><summary type="html">Exploring Concurrency in Agent-Based Modelling with Multicore OCaml This is an idea proposed in 2021 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Martynas Sinkievič&lt;/a&gt; . Computational modelling techniques such as ABMs are used to understand the dynamics of ecosystems and predict their behaviour in response to climate change and ecological disturbances, while also searching for optimal paths towards solutions to these problems. Terrestrial biosphere models are one such model which simulate the vegetation and soil life cycle. There have been two approaches taken with such modelling: The top-down approach take coarse-grained dynamic models that simulate environments in large chunks and scale to large areas as needed, but with a lack of accuracy in the simulated environment...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Banyan: Coordination-Free Distributed Transactions over Mergeable Types</title><link href="https://anil.recoil.org/news/2020-asplas-banyan-1" rel="alternate"></link><published>2020-11-01T00:00:00Z</published><updated>2020-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2020-asplas-banyan-1</id><summary type="html">Paper on Banyan for coordination-free distributed transactions in ASPLAS 2020 Shashank Shekhar Dubey , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; , &lt;a href="https://github.com/samoht" target="_blank"&gt;Thomas Gazagnaire&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://link.springer.com/10.1007/978-3-030-64437-6_12" target="_blank"&gt;proceedings of the Asian Symposium on Programming Languages and Systems&lt;/a&gt; . &lt;a href="https://link.springer.com/10.1007/978-3-030-64437-6_12" target="_blank"&gt;URL&lt;/a&gt; (link.springer.com) &lt;a href="https://doi.org/10.1007/978-3-030-64437-6_12" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2020-asplas-banyan.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2020-asplas-banyan.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Using memtrace on Windows</title><link href="https://www.dra27.uk/blog/platform/2020/10/08/windows-memtrace.html" rel="alternate"></link><published>2020-10-08T01:00:00Z</published><updated>2020-10-08T01:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2020/10/08/windows-memtrace</id><summary type="html">It is said that good things come to those who wait. Jacques-Henri Jourdan demonstrated &lt;a href="https://ocaml.org/meetings/ocaml/2016/Jourdan-statistically_profiling_memory_in_OCaml.pdf" target="_blank"&gt;Statistically profiling memory in OCaml&lt;/a&gt; at the 2016 OCaml Workshop and experimental branches of it existed for OCaml 4.03–4.07 in opam. Parts of the work were merged in OCaml 4.10 and the final sections landed with 4.11. The compiler provides support in the form of a series of hooks in various parts of the runtime’s allocation and garbage collection routines. A few weeks ago, Jane Street released &lt;a href="https://github.com/janestreet/memtrace" target="_blank"&gt;memtrace&lt;/a&gt; and &lt;a href="https://github.com/janestreet/memtrace_viewer" target="_blank"&gt;Memtrace viewer&lt;/a&gt; and earlier this week &lt;a href="https://blog.janestreet.com/finding-memory-leaks-with-memtrace/" target="_blank"&gt;blogged about its use&lt;/a&gt; . I thought I’d quickly share the experience of using it on native Windows. At present, although the memtrace library is portable, the memtrace-viewer itself is not (as it happens, this is simply down to Core’s command line parser pulling in a little too much Unix-specific stuff,...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>Data visualisation links</title><link href="https://mort.io/blog/dataviz/" rel="alternate"></link><published>2020-09-07T01:00:00Z</published><updated>2020-09-07T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/dataviz/</id><summary type="html">Some possibly useful data visualisation links: &lt;a href="https://medium.economist.com/why-you-sometimes-need-to-break-the-rules-in-data-viz-4d8ece284919" target="_blank"&gt;https://medium.economist.com/why-you-sometimes-need-to-break-the-rules-in-data-viz-4d8ece284919&lt;/a&gt; &lt;a href="https://colororacle.org/" target="_blank"&gt;https://colororacle.org/&lt;/a&gt;</summary><category term="mort’s mythopœia"></category></entry><entry><title>The OCaml Platform: 2020</title><link href="https://anil.recoil.org/news/2020-oud-platform-1" rel="alternate"></link><published>2020-09-01T01:00:00Z</published><updated>2020-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2020-oud-platform-1</id><summary type="html">Annual update on the OCaml Platform at the OCaml Workshop &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://icfp20.sigplan.org/home/ocaml-2020" target="_blank"&gt;the 10th ACM OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://icfp20.sigplan.org/home/ocaml-2020" target="_blank"&gt;URL&lt;/a&gt; (icfp20.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2020-oud-platform.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>State of the OCaml Platform 2020</title><link href="https://anil.recoil.org/news/b11188ba-0f97-4ec4-b372-fa3cea0821ab-1" rel="alternate"></link><published>2020-08-28T01:00:00Z</published><updated>2020-08-28T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/b11188ba-0f97-4ec4-b372-fa3cea0821ab-1</id><summary type="html">Talk on the state of the OCaml Platform in 2020</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Renovating an old media PC</title><link href="https://mort.io/blog/mediapc/" rel="alternate"></link><published>2020-08-28T01:00:00Z</published><updated>2020-08-28T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/mediapc/</id><summary type="html">Some notes from my first attempt to renovate an old media PC that had a SYSLINUX install without any package management, and a crufty BIOS. Probably outdated now, but I may go back to it one day… First, some background links: &lt;a href="https://en.wikipedia.org/wiki/Cylinder-head-sector" target="_blank"&gt;https://en.wikipedia.org/wiki/Cylinder-head-sector&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/FAT_boot_sector" target="_blank"&gt;https://en.wikipedia.org/wiki/FAT_boot_sector&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/Logical_Block_Addressing#CHS_conversion" target="_blank"&gt;https://en.wikipedia.org/wiki/Logical_Block_Addressing#CHS_conversion&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/Master_Boot_Record" target="_blank"&gt;https://en.wikipedia.org/wiki/Master_Boot_Record&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/Volume_boot_record" target="_blank"&gt;https://en.wikipedia.org/wiki/Volume_boot_record&lt;/a&gt; &lt;a href="https://wiki.archlinux.org/index.php/Syslinux" target="_blank"&gt;https://wiki.archlinux.org/index.php/Syslinux&lt;/a&gt; &lt;a href="https://wiki.syslinux.org/wiki/index.php?title=Common_Problems#Failed_to_load_ldlinux" target="_blank"&gt;https://wiki.syslinux.org/wiki/index.php?title=Common_Problems#Failed_to_load_ldlinux&lt;/a&gt; &lt;a href="https://wiki.syslinux.org/wiki/index.php?title=Hardware_Compatibility#USB_related_problems" target="_blank"&gt;https://wiki.syslinux.org/wiki/index.php?title=Hardware_Compatibility#USB_related_problems&lt;/a&gt; &lt;a href="https://wiki.syslinux.org/wiki/index.php?title=Hdt_(Hardware_Detection_Tool)" target="_blank"&gt;https://wiki.syslinux.org/wiki/index.php?title=Hdt_(Hardware_Detection_Tool)&lt;/a&gt; I explored two ways forward: &lt;a href="https://www.syslinux.org/" target="_blank"&gt;SYSLINUX&lt;/a&gt; and &lt;a href="https://www.gnu.org/software/grub/index.html" target="_blank"&gt;GRUB&lt;/a&gt; . &lt;a href="https://mort.io/blog/mediapc/#syslinux" target="_blank"&gt;SYSLINUX&lt;/a&gt; I found that getting SYSLINUX working required moving the partition to 0/1/1 – using sectors per track of 63 or 32, and heads per cylinder or 16 or 64 with appropriate cylinder values simply didn’t help. Diagnosed by observing that console displayed only CRLF but no banner – SYSLINUX code ends up with the banner to be displayed just falling into the second sector on the disk, so it can’t be read...</summary><category term="mort’s mythopœia"></category></entry><entry><title>OCaml Multicore Monthly: systhreads compatibility merged</title><link href="https://anil.recoil.org/notes/multicore-monthly-sep20" rel="alternate"></link><published>2020-08-20T01:00:00Z</published><updated>2020-08-20T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-sep20</id><summary type="html">The big advance in the multicore OCaml branch is that we restored compatibility with the traditional OCaml systhreads. This in turn means that many existing software packages just work out of the box on the new runtime. Big news this month is that the systhreads compatibility support PR has been merged, which means that Dune (and other users of the Thread module) can compile out of the box. You can now compile the multicore OCaml fork conveniently using the new opam compiler plugin (see announcement). -- &lt;a href="https://discuss.ocaml.org/t/multicore-ocaml-september-2020/6565" target="_blank"&gt;me, on the discussion forum&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Retrofitting parallelism onto OCaml</title><link href="https://anil.recoil.org/news/2020-icfp-retropar-1" rel="alternate"></link><published>2020-08-01T01:00:00Z</published><updated>2020-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2020-icfp-retropar-1</id><summary type="html">Won best paper award at ICFP 2020 for our paper on retrofitting parallelism onto OCaml! &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; , &lt;a href="https://github.com/stedolan" target="_blank"&gt;Stephen Dolan&lt;/a&gt; , &lt;a href="https://github.com/lpw25" target="_blank"&gt;Leo White&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://github.com/ctk21" target="_blank"&gt;Tom Kelly&lt;/a&gt; , Anmol Sahoo , &lt;a href="https://github.com/Sudha247" target="_blank"&gt;Sudha Parimala&lt;/a&gt; , Atul Dhiman and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Journal paper in &lt;a href="https://dl.acm.org/doi/10.1145/3408995" target="_blank"&gt;Proceedings of the ACM on Programming Languages&lt;/a&gt; (vol 4 issue ICFP). &lt;a href="https://dl.acm.org/doi/10.1145/3408995" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3408995" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2020-icfp-retropar.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2020-icfp-retropar.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Parallelising your OCaml Code with Multicore OCaml</title><link href="https://anil.recoil.org/news/2020-oud-parallelising-1" rel="alternate"></link><published>2020-08-01T01:00:00Z</published><updated>2020-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2020-oud-parallelising-1</id><summary type="html">Paper on how to parallelise OCaml code at the OCaml Workshop &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://github.com/Sudha247" target="_blank"&gt;Sudha Parimala&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; , &lt;a href="https://github.com/ctk21" target="_blank"&gt;Tom Kelly&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://github.com/ocaml-multicore/multicore-talks/tree/master/ocaml2020-workshop-parallel" target="_blank"&gt;proceedings of the 2020 OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://github.com/ocaml-multicore/multicore-talks/tree/master/ocaml2020-workshop-parallel" target="_blank"&gt;URL&lt;/a&gt; (github.com) &lt;a href="https://anil.recoil.org/papers/2020-oud-parallelising.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2020-oud-parallelising.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml-CI: A Zero-Configuration CI</title><link href="https://anil.recoil.org/news/2020-oud-ci-1" rel="alternate"></link><published>2020-08-01T01:00:00Z</published><updated>2020-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2020-oud-ci-1</id><summary type="html">Presented the new OCaml DSL for continuous integration at the OCaml Workshop &lt;a href="https://github.com/https://roscidus.com" target="_blank"&gt;Thomas Leonard&lt;/a&gt; , &lt;a href="https://craigfe.io" target="_blank"&gt;Craig Ferguson&lt;/a&gt; , &lt;a href="https://github.com/kit-ty-kate" target="_blank"&gt;Kate Deplaix&lt;/a&gt; , &lt;a href="http://www.skjegstad.com/about/" target="_blank"&gt;Magnus Skjegstad&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://icfp20.sigplan.org/details/ocaml-2020-papers/6/OCaml-CI-A-Zero-Configuration-CI" target="_blank"&gt;proceedings of the 2020 OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://icfp20.sigplan.org/details/ocaml-2020-papers/6/OCaml-CI-A-Zero-Configuration-CI" target="_blank"&gt;URL&lt;/a&gt; (icfp20.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2020-oud-ci.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Making GPS accurate in dense forests using sensor fusion</title><link href="https://anil.recoil.org/ideas/sensor-fusion-vslam-forests" rel="alternate"></link><published>2020-08-01T01:00:00Z</published><updated>2020-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/sensor-fusion-vslam-forests</id><summary type="html">Making GPS accurate in dense forests using sensor fusion This is an idea proposed in 2020 as a good starter project, and has been completed by &lt;a href="https://keshav123456.github.io" target="_blank"&gt;Keshav Sivakumar&lt;/a&gt; . It was co-supervised with &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; . Current GPS solutions are either very expensive ($8k+) or have relatively poor accuracies (10m+) under dense forest canopy. This project explores how to determine our location accurately in a forest area where we travel by foot under canopy without a GPS signal. What low cost solutions exist to perform localisation under such circumstances? What are the rough accuracies of these solutions? What constraints and advantages do these solutions have (in terms of power, light, cost, etc) We observe that a lot of SLAM algorithms exist these days, but most of the recent research is on...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Discord discord</title><link href="https://mort.io/blog/discord/" rel="alternate"></link><published>2020-08-01T01:00:00Z</published><updated>2020-08-01T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/discord/</id><summary type="html">So for some reason I wanted to do this – use Discord on an iPad without installing the app. This proved surprisingly tricky as Safari on the iPad really wanted to make you use the app and certainly wouldn’t display the desktop site. However, Firefox Focus can though it still forced you into the app from the link in the invite email. However, you can go to the website to signup and then manually invite yourself via a real desktop browser. And this then means that Firefox Focus on the iPad believes in the new account and just lets you in. Seems something of a palaver but hey, these twisted webs we weave.</summary><category term="mort’s mythopœia"></category></entry><entry><title>OCaml Multicore Monthly: preprint paper available</title><link href="https://anil.recoil.org/notes/multicore-monthly-apr20" rel="alternate"></link><published>2020-04-27T01:00:00Z</published><updated>2020-04-27T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-apr20</id><summary type="html">In the April OCaml multicore monthly, we have a preprint available of our ICFP submission about the OCaml 5 multicore runtime. (Update: This paper actually won the ICFP best paper award later in the year! Read it at " &lt;a href="https://anil.recoil.org/papers/2020-icfp-retropar" target="_blank"&gt;Retrofitting parallelism onto OCaml&lt;/a&gt; ").</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>The First Billion Real Deployments of Unikernels</title><link href="https://anil.recoil.org/news/c09ed36f-6ad5-4254-a0ce-3ca3398f38a3-1" rel="alternate"></link><published>2020-02-26T00:00:00Z</published><updated>2020-02-26T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/c09ed36f-6ad5-4254-a0ce-3ca3398f38a3-1</id><summary type="html">Part 2</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Rebuilding Operating Systems with Functional Principles</title><link href="https://anil.recoil.org/news/d456e4bc-bce6-45ad-9d2e-102f834ec400-1" rel="alternate"></link><published>2020-02-26T00:00:00Z</published><updated>2020-02-26T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/d456e4bc-bce6-45ad-9d2e-102f834ec400-1</id><summary type="html">Delivered the distinguished seminar series at St Andrews on rebuilding Operating Systems with functional principles</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Programming the Next Trillion Embedded Devices</title><link href="https://anil.recoil.org/news/287364fa-b59c-4b9f-812d-d81cc0c992a5-1" rel="alternate"></link><published>2020-02-26T00:00:00Z</published><updated>2020-02-26T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/287364fa-b59c-4b9f-812d-d81cc0c992a5-1</id><summary type="html">Part 3</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml Multicore Monthly: starting upstream to OCaml</title><link href="https://anil.recoil.org/notes/multicore-monthly-jan20" rel="alternate"></link><published>2020-01-29T00:00:00Z</published><updated>2020-01-29T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-jan20</id><summary type="html">We started the process of upstreaming our &lt;a href="https://anil.recoil.org/papers/2014-oud-multicore" target="_blank"&gt;multicore OCaml&lt;/a&gt; branch to mainline OCaml, and so I started posting regular updates to the community forum. The most common question we get is how to contribute to the overall multicore effort. As I noted last year, we are now in the process of steadily upstreaming our efforts to mainline OCaml. Therefore, the best way by far to contribute is to test for regressions or opportunities for improvements in the patches that are outstanding in the main OCaml repository. -- &lt;a href="https://discuss.ocaml.org/t/multicore-ocaml-january-2020-update/5090" target="_blank"&gt;me, on the discussion forum&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Information Flow for Trusted Execution</title><link href="https://anil.recoil.org/projects/difc-tee" rel="alternate"></link><published>2020-01-01T00:00:00Z</published><updated>2020-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/projects/difc-tee</id><summary type="html">Information Flow for Trusted Execution There is now increased hardware support for improving the security and performance of privilege separation and compartmentalization techniques such as process-based sandboxes, trusted execution environments, and intra-address space compartments. We dub these "hetero-compartment environments" and observe that existing system stacks still assume single-compartment models (i.e. user space processes), leading to limitations in using, integrating, and monitoring heterogeneous compartments from a security and performance perspective. This project explores how we might deploy techniques such as fine-grained information flow control (DIFC) to allow developers to securely use and combine compartments, define security policies over shared system resources, and...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Setting up a Macbook</title><link href="https://mort.io/blog/setup-new-laptop/" rel="alternate"></link><published>2020-01-01T00:00:00Z</published><updated>2020-01-01T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/setup-new-laptop/</id><summary type="html">This is the set of things that I roughly did to set up my old new Macbook: configurations, packages, etc. Not guaranteed complete, but hopefully captures much of it. &lt;a href="https://mort.io/blog/setup-new-laptop/#keyboard" target="_blank"&gt;Keyboard&lt;/a&gt; Set the touchbar to expanded Turn off various emacs conflicts (e.g., S-M-6 ) Use &lt;a href="https://karabiner-elements.pqrs.org/" target="_blank"&gt;Karabiner Elements&lt;/a&gt; to make CAPSLOCK become ESC on a single press &lt;a href="https://mort.io/blog/setup-new-laptop/#homebrew-packages" target="_blank"&gt;Homebrew packages&lt;/a&gt; Install &lt;a href="https://brew.sh/" target="_blank"&gt;Homebrew&lt;/a&gt; and then # install packages brew install \ aspcud \ aspell \ bash-completion \ coreutils \ direnv \ emacs \ evernote \ ffmpeg \ font-hack-nerd-font \ gawk \ gcc \ get_iplayer \ ghostscript \ git \ git-lfs \ gnupg2 \ gnuplot \ gpg-agent \ graphviz \ imagemagick \ jq \ lua \ mu \ ncftp \ nmap \ ocaml \ offlineimap \ omnigraffle \ opam \ python \ python@2 \ qemu \ rcs \ readline \ rsync \ socat \ sshfs \ telnet \ tmux \ unrar \ wget # install casks brew...</summary><category term="mort’s mythopœia"></category></entry><entry><title>OpenBSD cloud hosting options</title><link href="https://anil.recoil.org/notes/openbsd-hosting" rel="alternate"></link><published>2019-08-29T01:00:00Z</published><updated>2019-08-29T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/openbsd-hosting</id><summary type="html">I &lt;a href="https://twitter.com/avsm/status/1167012354556669952" target="_blank"&gt;asked on Twitter&lt;/a&gt; about hosting options for OpenBSD on cloud providers, so that we could have some alternative options for Recoil. We have a strong preference for bare-metal and not VMs when it comes to OpenBSD. Options that came back were: OpenBSDAMS Dedicated/VMs for openbsd hosting (see &lt;a href="https://twitter.com/OpenBSDAms" target="_blank"&gt;here&lt;/a&gt; ) Mythic Beasts I have provisioned a bare metal server there and they kindly stuck a USB stick in with an OpenBSD installer. DataCentreLite Not tried this yet but &lt;a href="https://twitter.com/NicoSchottelius/status/1167163133024264192" target="_blank"&gt;possible followup&lt;/a&gt; . LiquidWeb Good &lt;a href="https://twitter.com/vphantom/status/1167020959771049984" target="_blank"&gt;recommendation&lt;/a&gt; from Stephane</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>The OCaml Platform in 2019</title><link href="https://anil.recoil.org/news/2019-ocaml-platform-1" rel="alternate"></link><published>2019-08-01T01:00:00Z</published><updated>2019-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2019-ocaml-platform-1</id><summary type="html">Annual update on the OCaml Platform in 2019 &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and Gemma Gordon . Paper in the &lt;a href="https://icfp19.sigplan.org/home/ocaml-2019" target="_blank"&gt;proceedings of the OCaml Workshop 2019&lt;/a&gt; . &lt;a href="https://icfp19.sigplan.org/home/ocaml-2019" target="_blank"&gt;URL&lt;/a&gt; (icfp19.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2019-ocaml-platform.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>MirageOS 4: the dawn of practical build systems for exotic targets</title><link href="https://anil.recoil.org/news/2019-mirage-build-1" rel="alternate"></link><published>2019-08-01T01:00:00Z</published><updated>2019-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2019-mirage-build-1</id><summary type="html">Paper on the MirageOS 4 build system at OCaml Workshop &lt;a href="https://www.lortex.org" target="_blank"&gt;Lucas Pluvinage&lt;/a&gt; , Romain Calascibetta , Rudi Grinberg and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://icfp19.sigplan.org/home/ocaml-2019#program" target="_blank"&gt;proceedings of the OCaml Workshop 2019&lt;/a&gt; . &lt;a href="https://icfp19.sigplan.org/home/ocaml-2019#program" target="_blank"&gt;URL&lt;/a&gt; (icfp19.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2019-mirage-build.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2019-mirage-build.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Programming Unikernels in the Large via Functor Driven Development</title><link href="https://anil.recoil.org/news/2019-mirage-functors-1" rel="alternate"></link><published>2019-05-01T01:00:00Z</published><updated>2019-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2019-mirage-functors-1</id><summary type="html">Preprint on programming unikernels with ML modules &lt;a href="https://www.irif.fr/~gradanne/" target="_blank"&gt;Gabriel Radanne&lt;/a&gt; , &lt;a href="https://github.com/samoht" target="_blank"&gt;Thomas Gazagnaire&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://www.cst.cam.ac.uk/people/jdy22" target="_blank"&gt;Jeremy Yallop&lt;/a&gt; , &lt;a href="https://github.com/mor1" target="_blank"&gt;Richard Mortier&lt;/a&gt; , &lt;a href="https://github.com/hannesm" target="_blank"&gt;Hannes Mehnert&lt;/a&gt; , &lt;a href="https://github.com/yomimono" target="_blank"&gt;Mindy Preston&lt;/a&gt; and &lt;a href="https://github.com/djs55" target="_blank"&gt;Dave Scott&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/1905.02529" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/1905.02529" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.1905.02529" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2019-mirage-functors.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Snape: The Dark Art of Handling Heterogeneous Enclaves</title><link href="https://anil.recoil.org/news/2019-edgesys-snape-1" rel="alternate"></link><published>2019-03-01T00:00:00Z</published><updated>2019-03-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2019-edgesys-snape-1</id><summary type="html">Paper on a framework to rearchitect applications for better TEE support at EdgeSys 2019 &lt;a href="https://zatkh.github.io/" target="_blank"&gt;Zahra Tarkhani&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://github.com/mor1" target="_blank"&gt;Richard Mortier&lt;/a&gt; . Paper in the &lt;a href="https://dl.acm.org/doi/10.1145/3301418.3313945" target="_blank"&gt;proceedings of the 2nd International Workshop on Edge Systems, Analytics and Networking&lt;/a&gt; . &lt;a href="https://dl.acm.org/doi/10.1145/3301418.3313945" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3301418.3313945" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2019-edgesys-snape.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2019-edgesys-snape.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Falsehoods</title><link href="https://mort.io/blog/falsehoods/" rel="alternate"></link><published>2019-01-11T00:00:00Z</published><updated>2019-01-11T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/falsehoods/</id><summary type="html">Being a list of some cool “Falsehoods programmers believe about …” sites, now redundant thanks to &lt;a href="https://github.com/kdeldycke/awesome-falsehood" target="_blank"&gt;https://github.com/kdeldycke/awesome-falsehood&lt;/a&gt; : &lt;a href="http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time" target="_blank"&gt;…time&lt;/a&gt; &lt;a href="http://infiniteundo.com/post/25509354022/more-falsehoods-programmers-believe-about-time" target="_blank"&gt;…time, more&lt;/a&gt; &lt;a href="http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/" target="_blank"&gt;…names&lt;/a&gt; &lt;a href="https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/" target="_blank"&gt;…addresses&lt;/a&gt; &lt;a href="http://wiesmann.codiferes.net/wordpress/?p=15187&amp;lang=en" target="_blank"&gt;…geography&lt;/a&gt;</summary><category term="mort’s mythopœia"></category></entry><entry><title>Distributed Task Scheduling Framework over Irmin</title><link href="https://anil.recoil.org/ideas/distributed-tasks-irmin" rel="alternate"></link><published>2019-01-01T00:00:00Z</published><updated>2019-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/distributed-tasks-irmin</id><summary type="html">Distributed Task Scheduling Framework over Irmin This is an idea proposed in 2019 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Mohammed Daudali&lt;/a&gt; . Distributed computation and task scheduling frameworks can be decentralised with minimal cost to performance. Furthermore, this decentralisation can provide a significant reduction in the trusted computing base and complexity of the system, affording end consumers a greater level of confidence in the integrity of the results. Moreover, carefully designed persistent and transient data structures can augment this confidence by providing strong isolation guarantees in a multi-tenant system, whilst retaining full transparency over the dynamic data flow graph. This can all be achieved with an API that interfaces directly with...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>A strongly consistent index for email using git and MirageOS</title><link href="https://anil.recoil.org/ideas/git-maildir" rel="alternate"></link><published>2019-01-01T00:00:00Z</published><updated>2019-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/git-maildir</id><summary type="html">A strongly consistent index for email using git and MirageOS This is an idea proposed in 2019 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://github.com/odnh" target="_blank"&gt;Oliver Hope&lt;/a&gt; . It was co-supervised with &lt;a href="https://github.com/dra27" target="_blank"&gt;David Allsopp&lt;/a&gt; . &lt;a href="https://en.wikipedia.org/wiki/Maildir" target="_blank"&gt;Maildir&lt;/a&gt; is a widely used format for storing emails. Its main benefit is that it uses the filesystem in such a way that client programs do not have to handle locking themselves. The downside of this is that it makes it hard to create a consistent index as we cannot guarantee that the filesystem is in a consistent state when we try to update it. If we did have a consistent index, it would allow for safer concurrent support and the implementation of new features. The aim of this project therefore is to solve the consistency problem. This can be done by using git, the...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Wipeout</title><link href="https://mort.io/blog/wipeout/" rel="alternate"></link><published>2018-12-17T00:00:00Z</published><updated>2018-12-17T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/wipeout/</id><summary type="html">I recently decided to go through some old PCs and hard disks (yes, actual spinning bits of metal) and recycle or simply junk them. I figured I should wipe them properly first, and given that they had been installed with a range of OSs, setup a bootable USB stick so that I could boot and wipe in one easy motion. Download &lt;a href="https://alpinelinux.org/downloads/" target="_blank"&gt;Alpine Linux&lt;/a&gt; &lt;a href="https://dl-cdn.alpinelinux.org/alpine/v3.8/releases/x86_64/alpine-extended-3.8.1-x86_64.iso" target="_blank"&gt;3.8.1
ISO&lt;/a&gt; – I had only x86_64 machines, YMMV obviously Write this to a USB stick using dd (on Linux), or &lt;a href="https://etcher.balena.io/" target="_blank"&gt;Balena
Etcher&lt;/a&gt; on Windows Insert the stick and boot the machine after making any necessary BIOS changes If the machine has been unbooted for too long or (as one of mine) has a flat CMOS clock battery so cannot retain time across reboots, set the time manually: date --set="20181217" automatically: setup-alpine to start configuring things, then CTRL-C after...</summary><category term="mort’s mythopœia"></category></entry><entry><title>The OCaml Platform 1.0 with Reason ML</title><link href="https://crank.recoil.org/videos/watch/13cf3878-7436-4512-844e-f72f36425bc7" rel="alternate"></link><published>2018-12-11T10:57:40Z</published><updated>2018-12-11T10:57:40Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/videos/13cf3878-7436-4512-844e-f72f36425bc7</id><summary type="html">&lt;a href="https://anil.recoil.org/videos/13cf3878-7436-4512-844e-f72f36425bc7" target="_blank"&gt;The OCaml Platform 1.0 with Reason ML&lt;/a&gt; / Dec 2018 Speaking about the OCaml Platform at the ReasonML meetup hosted by Pusher.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>New opam repository layout for large libraries</title><link href="https://anil.recoil.org/notes/ocaml-opam-new-layout" rel="alternate"></link><published>2018-11-19T00:00:00Z</published><updated>2018-11-19T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/ocaml-opam-new-layout</id><summary type="html">Managing package manager constraints is getting difficult, particularly given the growth of the number of packages in the &lt;a href="https://github.com/ocaml/opam-repository" target="_blank"&gt;opam repository&lt;/a&gt; . I'm therefore laying out a new mechanism for the OCaml contributors to submit large package sets, such as those from &lt;a href="https://janestreet.com" target="_blank"&gt;Jane Street&lt;/a&gt; .</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>A modular foreign function interface</title><link href="https://anil.recoil.org/news/2018-socp-modular-ffi-1" rel="alternate"></link><published>2018-10-01T01:00:00Z</published><updated>2018-10-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2018-socp-modular-ffi-1</id><summary type="html">Journal paper on building modular foreign function interfaces &lt;a href="https://www.cst.cam.ac.uk/people/jdy22" target="_blank"&gt;Jeremy Yallop&lt;/a&gt; , David Sheets and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Journal paper in &lt;a href="https://linkinghub.elsevier.com/retrieve/pii/S0167642317300709" target="_blank"&gt;Science of Computer Programming&lt;/a&gt; (vol 164). &lt;a href="https://linkinghub.elsevier.com/retrieve/pii/S0167642317300709" target="_blank"&gt;URL&lt;/a&gt; (linkinghub.elsevier.com) &lt;a href="https://doi.org/10.1016/j.scico.2017.04.002" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2018-socp-modular-ffi.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2018-socp-modular-ffi.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Foundations of Computer Science</title><link href="https://anil.recoil.org/notes/focs" rel="alternate"></link><published>2018-09-02T01:00:00Z</published><updated>2018-09-02T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/focs</id><summary type="html">Here are the various repos used to create the interactive &lt;a href="https://anil.recoil.org/notes/teaching" target="_blank"&gt;teaching&lt;/a&gt; environment we use for 1A Foundations of Computer Science in Cambridge. It may be useful to other professors who are using OCaml in their courses. &lt;a href="https://github.com/avsm/teaching-fcs" target="_blank"&gt;https://github.com/avsm/teaching-fcs&lt;/a&gt; is a private repo, but ping me if are teaching and I'll give you access (it has coursework answers in it). We use a Jupyter notebook, with the course written in Markdown using the &lt;a href="https://github.com/realworldocaml/mdx" target="_blank"&gt;mdx&lt;/a&gt; OCaml parser which evaluates toplevel phrases through the compiler and promotes the output directly into the markdown. We then convert the Markdown into Jupyter format using a &lt;a href="https://github.com/realworldocaml/mdx/pull/124" target="_blank"&gt;fork of mdx&lt;/a&gt; , and then nbconvert it into LaTeX for the printed notes. A &lt;a href="https://jupyter.org/install.html" target="_blank"&gt;JupyterLab&lt;/a&gt; installation with a &lt;a href="https://github.com/akabe/ocaml-jupyter" target="_blank"&gt;custom OCaml kernel&lt;/a&gt; suffices for the live setup. Every student gets their own container on the server and one...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>The joys of Dune vendoring</title><link href="https://www.dra27.uk/blog/platform/2018/08/15/dune-vendoring.html" rel="alternate"></link><published>2018-08-15T01:00:00Z</published><updated>2018-08-15T01:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2018/08/15/dune-vendoring</id><summary type="html">Of the many wonderful features provided by &lt;a href="https://github.com/ocaml/dune" target="_blank"&gt;Dune&lt;/a&gt; , my personal favourite remains its composability. It doesn’t gain much mention in the manual because, well, there’s not that much to explain about it beyond the simple fact that if you put separate Dune projects in subdirectories underneath your current project, then Dune will use those projects in preference to opam-installed libraries. This allows for a far superior workflow to developing using opam pins, as can be seen from my own recent addition of features to Mirage’s &lt;a href="https://github.com/hannesm/logs-syslog" target="_blank"&gt;logs-syslog&lt;/a&gt; library, which also required an addition to one of its dependencies, &lt;a href="https://github.com/verbosemode/syslog-message" target="_blank"&gt;syslog-message&lt;/a&gt; . Neither of these libraries are presently built using Dune, however porting &lt;a href="https://github.com/dra27/logs-syslog/tree/dune" target="_blank"&gt;them&lt;/a&gt; &lt;a href="https://github.com/dra27/syslog-message/tree/dune" target="_blank"&gt;both&lt;/a&gt; was not particularly difficult, and I thought it would be interesting to...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>Bounding data races in space and time</title><link href="https://anil.recoil.org/news/2018-pldi-memorymodel-1" rel="alternate"></link><published>2018-06-01T01:00:00Z</published><updated>2018-06-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2018-pldi-memorymodel-1</id><summary type="html">Paper on the OCaml memory model and underlying theory at PLDI 2018 &lt;a href="https://github.com/stedolan" target="_blank"&gt;Stephen Dolan&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://dl.acm.org/doi/10.1145/3192366.3192421" target="_blank"&gt;proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation&lt;/a&gt; . &lt;a href="https://dl.acm.org/doi/10.1145/3192366.3192421" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3192366.3192421" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2018-pldi-memorymodel.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2018-pldi-memorymodel.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Urgent problem with camlp5 7.03 and macOS OCaml 4.06.1</title><link href="https://www.dra27.uk/blog/platform/2018/05/04/opam-camlp5-system.html" rel="alternate"></link><published>2018-05-04T01:00:00Z</published><updated>2018-05-04T01:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2018/05/04/opam-camlp5-system</id><summary type="html">This was originally on the posted on the &lt;a href="https://opam.ocaml.org/blog/camlp5-system/" target="_blank"&gt;OCaml Platform Blog&lt;/a&gt; . Packaging problem with opam-repository camlp5 7.03 when upgrading to OCaml 4.06.1 Between 26 Oct 2017 and 17 Feb 2018, the OPAM package for camlp5 7.03 in &lt;a href="https://github.com/ocaml/opam-repository" target="_blank"&gt;opam-repository&lt;/a&gt; was under certain circumstances able to trigger rm -rf / on macOS and other systems which don’t by default prevent recursive root deletion. This article contains advice on how to identify if your OPAM installation is affected and what you can do to fix it. TL;DR If rm --preserve-root gives a message along the lines of unrecognised option rather than missing operand and you are running OPAM 1.2.2, ensure you run opam update before upgrading your system compiler to OCaml 4.06.1. If you have already upgraded your system compiler to OCaml 4.06.1 (e.g. with Homebrew) then...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>Concurrent System Programming with Effect Handlers</title><link href="https://anil.recoil.org/news/2017-tfp-effecthandlers-1" rel="alternate"></link><published>2018-04-01T01:00:00Z</published><updated>2018-04-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2017-tfp-effecthandlers-1</id><summary type="html">Paper on concurrent systems programming with effect handlers at TFP 2017 &lt;a href="https://github.com/stedolan" target="_blank"&gt;Stephen Dolan&lt;/a&gt; , &lt;a href="https://github.com/seliopou" target="_blank"&gt;Spiros Eliopoulos&lt;/a&gt; , Daniel Hillerstrom , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; and &lt;a href="https://github.com/lpw25" target="_blank"&gt;Leo White&lt;/a&gt; . Paper in the &lt;a href="http://link.springer.com/10.1007/978-3-319-89719-6_6" target="_blank"&gt;trends in Functional Programming&lt;/a&gt; . &lt;a href="http://link.springer.com/10.1007/978-3-319-89719-6_6" target="_blank"&gt;URL&lt;/a&gt; (link.springer.com) &lt;a href="https://doi.org/10.1007/978-3-319-89719-6_6" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2017-tfp-effecthandlers.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2017-tfp-effecthandlers.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>An architecture for interspatial communication</title><link href="https://anil.recoil.org/news/2018-hotpost-osmose-1" rel="alternate"></link><published>2018-04-01T01:00:00Z</published><updated>2018-04-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2018-hotpost-osmose-1</id><summary type="html">Paper on the interspatial networking architecture at HotPOST 2018 &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; , Gemma Gordon and &lt;a href="https://github.com/samoht" target="_blank"&gt;Thomas Gazagnaire&lt;/a&gt; . Paper in the &lt;a href="https://ieeexplore.ieee.org/document/8406931/" target="_blank"&gt;proceedings of the HotPOST 2018 workshop at the IEEE Conference on Computer Communications&lt;/a&gt; . &lt;a href="https://ieeexplore.ieee.org/document/8406931/" target="_blank"&gt;URL&lt;/a&gt; (ieeexplore.ieee.org) &lt;a href="https://doi.org/10.1109/INFCOMW.2018.8406931" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2018-hotpost-osmose.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2018-hotpost-osmose.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Founded Tarides and looking to hire OCaml hackers</title><link href="https://anil.recoil.org/notes/founded-tarides" rel="alternate"></link><published>2018-03-02T00:00:00Z</published><updated>2018-03-02T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/founded-tarides</id><summary type="html">I'm delighted to report that I'm helping my long-time collaborator &lt;a href="https://github.com/samoht" target="_blank"&gt;Thomas Gazagnaire&lt;/a&gt; to return to his OCaml roots from Docker. He has just founded Tarides, a startup in Paris with the goal of advancing the open source OCaml ecosystem. Founded in Paris in early 2018, Tarides helps developers and companies build secure, performant and resource-efficient network and storage services. We are using MirageOS to run applications without the overhead of a traditional operating system and Irmin to create scalable distributed applications. Tarides offers commercial support and commercial development services for companies interested to run MirageOS or Irmin as part of their technology stack. -- &lt;a href="https://discuss.ocaml.org/t/tarides-is-looking-for-software-engineers-to-work-on-mirageos-and-irmin/1690" target="_blank"&gt;Thomas Gazagnaire&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>A pain in the num</title><link href="https://www.dra27.uk/blog/platform/2018/01/31/num-system.html" rel="alternate"></link><published>2018-01-31T00:00:00Z</published><updated>2018-01-31T00:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2018/01/31/num-system</id><summary type="html">Fixing a packaging error with num on OCaml 4.06.0 system switches Back in July 2012, the release of OCaml 4.00.0 marked the start of a slow process to remove libraries and tools from the distribution which are not directly related to the compiler and the OCaml Standard Library. For &lt;a href="https://github.com/ocaml/ocaml/tree/4.06.0" target="_blank"&gt;OCaml 4.06.0&lt;/a&gt; it was the turn of the &lt;a href="https://github.com/ocaml/num" target="_blank"&gt;Num&lt;/a&gt; library. It is now available as the &lt;a href="https://opam.ocaml.org/packages/num" target="_blank"&gt;num package&lt;/a&gt; in opam for OCaml 4.06.0 and with a dummy .0 version which is “installed” for prior versions of the compiler which include the library in the distribution. It has always been possible to link with the num library using the num package in &lt;a href="http://projects.camlcity.org/projects/findlib.html" target="_blank"&gt;ocamlfind&lt;/a&gt; , but in order to maintain compatibility with build systems which don’t use ocamlfind, the standalone Num library files are still installed to OCaml’s lib directory, rather...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>Probabilistic Programming in OCaml</title><link href="https://anil.recoil.org/ideas/prob-programming-owl" rel="alternate"></link><published>2018-01-01T00:00:00Z</published><updated>2018-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/prob-programming-owl</id><summary type="html">Probabilistic Programming in OCaml This is an idea proposed in 2018 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Hari Chandrasekaran&lt;/a&gt; . It was co-supervised with &lt;a href="https://github.com/ctk21" target="_blank"&gt;Tom Kelly&lt;/a&gt; and &lt;a href="https://github.com/ryanrhymes" target="_blank"&gt;Liang Wang&lt;/a&gt; . With increasing use of machine learning, it is useful to develop frameworks that support rapid development and functional specification of probabilistic models for inference and reasoning. Probabilistic Programming Languages aim to support concise syntax for specifying models and consequently making inference easier. This can pave way to improvements of the model created, more data gathering and further model refinement in an iterative sense. PPL enables easier development of statistical models and allows decoupling inference from modelling. There is a lot of recent work on PPLs,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Interspatial OS</title><link href="https://anil.recoil.org/projects/osmose" rel="alternate"></link><published>2018-01-01T00:00:00Z</published><updated>2018-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/projects/osmose</id><summary type="html">Interspatial OS Digital infrastructure in modern urban environments is currently very Internet-centric, and involves transmitting data to physically remote environments. The cost for this is data insecurity, high response latency and unpredictable reliability of services. I am working on Osmose -- a new OS architecture that inverts the current model by building an operating system designed to securely connect physical spaces with extremely low latency, high bandwidth local-area computation capabilities and service discovery. In 2018, I was starting to wrap up a multi-year focus on &lt;a href="https://anil.recoil.org/projects/unikernels" target="_blank"&gt;Unikernels&lt;/a&gt; , and I went back to look over the state of personal data handling (as I'd finished working on &lt;a href="https://anil.recoil.org/projects/perscon" target="_blank"&gt;Personal Containers&lt;/a&gt; in 2016). Things had regressed fairly dramatically -- central cloud providers and particularly...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>CausalRPC: a traceable distributed computation framework</title><link href="https://anil.recoil.org/ideas/causal-rpc" rel="alternate"></link><published>2018-01-01T00:00:00Z</published><updated>2018-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/causal-rpc</id><summary type="html">CausalRPC: a traceable distributed computation framework This is an idea proposed in 2018 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://craigfe.io" target="_blank"&gt;Craig Ferguson&lt;/a&gt; . The project aims to implement an RPC framework in OCaml using the &lt;a href="https://github.com/mirage/irmin" target="_blank"&gt;Irmin&lt;/a&gt; distributed database library as a network substrate. It will explore the trade-offs of a novel data-oriented approach to RPC in which race conditions between clients are resolved automatically by the middleware layer. The core deliverable is a demonstration of an RPC client remotely executing functions with Irmin-serialisable parameters on a server capable of handling concurrent client requests. The project was completed successfully, with an implementation of &lt;a href="https://github.com/craigfe/causal-rpc" target="_blank"&gt;CausalRPC&lt;/a&gt; , a distributed computation framework satisfying the above criteria....</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Back to the Future</title><link href="https://mort.io/blog/back-to-the-future/" rel="alternate"></link><published>2017-12-14T00:00:00Z</published><updated>2017-12-14T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/back-to-the-future/</id><summary type="html">Ed: the first in a likely series, this is one of the posts I drafted but never published during my seven years in the blogging wilderness I have been having persistent issues on MacOS with Time Machine backups interacting badly with several configuration elements and other services. This is exacerbated by my use of maildirs to backup emails, with my Gmail account leading to a directory with some millions of files. (Yeah, ok, maybe not wise but hey, we are where we are.) So in the course of trying to get backups to work reliably, I found the following commands useful to at least some degree: mdutil -sav to get info about spotlight indexing status sudo mdutil -Ea -i [off|on] to turn off|on spotlight indexing where possible sudo fs_usage -w mdworker mds_stores backupd obtain the current...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Quelle dommage</title><link href="https://mort.io/blog/quelle-dommage/" rel="alternate"></link><published>2017-11-05T00:00:00Z</published><updated>2017-11-05T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/quelle-dommage/</id><summary type="html">Ed: this tool is perhaps less relevant now that both &lt;a href="https://mirage.io/" target="_blank"&gt;Mirage&lt;/a&gt; and &lt;a href="https://ocaml.org/opam/" target="_blank"&gt;OPAM&lt;/a&gt; have moved on. But perhaps it’ll be resurrected one day so here it is. Largely because I wanted to make a feeble attempt at a French pun, &lt;a href="https://github.com/mor1/dommage/" target="_blank"&gt;dommage&lt;/a&gt; is a tool for &lt;a href="https://docker.com/" target="_blank"&gt;Docker&lt;/a&gt; containerising Mirage unikernels. From the &lt;a href="https://github.com/mor1/dommage" target="_blank"&gt;README&lt;/a&gt; : &lt;a href="https://mort.io/blog/quelle-dommage/#dommage-dockerised-mirage" target="_blank"&gt;Dommage, Dockerised Mirage&lt;/a&gt; dommage is a shell script that wraps the &lt;a href="https://mirage.io" target="_blank"&gt;Mirage&lt;/a&gt; CLI to make use of Docker containers meaning that: you can cache the OPAM build artefacts in the container image, speeding up local builds; you can re-use the build container image in Travis builds by publishing it, speeding those up considerably; and you can easily test build -t xen targets on OSX. I’ve tried to minimise interference with the normal operation of &lt;a href="https://mirage.io" target="_blank"&gt;Mirage&lt;/a&gt; CLI so simply replacing mirage with dommage is...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Spring Loading Karabiner in the Autumn</title><link href="https://mort.io/blog/mess-with-my-keyboard/" rel="alternate"></link><published>2017-10-30T00:00:00Z</published><updated>2017-10-30T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/mess-with-my-keyboard/</id><summary type="html">I recently took the plunge and upgraded my OS X. Not to vN of Sierra as I’d hoped, but to v0 High Sierra – the perils of waiting too long… Unfortunately, this toasted &lt;a href="https://mort.io/blog/mess-with-my-keyboard/#1" target="_blank"&gt;1&lt;/a&gt; my carefully curated keyboard remappings as &lt;a href="https://pqrs.org/osx/karabiner/" target="_blank"&gt;Karabiner&lt;/a&gt; used a kernel extension, for which everything changed. All was not lost however, as the rewrite to support Sierra/High Sierra was well underway. Or so I thought until I realised that the configuration file had changed from XML to JSON. And so my configuration journey began. (But it all ends well, so that’s good.) 1 To be honest, I suspect even the Sierra upgrade would’ve done this. &lt;a href="https://mort.io/blog/mess-with-my-keyboard/#controlling-the-config" target="_blank"&gt;Controlling the config&lt;/a&gt; The first thing was to get the new configuration matters under control. I did this per the documentation, symlinking the config subdirectory from my rc-files repo: cd ~...</summary><category term="mort’s mythopœia"></category></entry><entry><title>A bug-fix 12 years in the making</title><link href="https://www.dra27.uk/blog/platform/2017/10/30/ocaml-unicode.html" rel="alternate"></link><published>2017-10-30T00:00:00Z</published><updated>2017-10-30T00:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2017/10/30/ocaml-unicode</id><summary type="html">Windows Unicode Support in OCaml 4.06.0 In August 2005, &lt;a href="https://caml.inria.fr/mantis/view.php?id=3771" target="_blank"&gt;Mantis Report #3771&lt;/a&gt; was opened against OCaml 3.08.4 reporting that Windows applications could not read filenames containing Unicode characters. Various patches have been proposed over the last twelve years leading to &lt;a href="https://github.com/ocaml/ocaml/pull/153" target="_blank"&gt;GitHub Pull Request #153&lt;/a&gt; almost exactly 2 years ago. This last spring, Clément Franchini at &lt;a href="http://www.altair.com" target="_blank"&gt;Altair&lt;/a&gt; rebased the patch and added tests. Finally, Nicolás Ojeda Bär at &lt;a href="https://www.lexifi.com" target="_blank"&gt;LexiFi&lt;/a&gt; took on the challenge of completing the patch and minimising the diff with a view to merging in OCaml 4.06.0. The resulting &lt;a href="https://github.com/ocaml/ocaml/pull/1200" target="_blank"&gt;GitHub Pull Request #1200&lt;/a&gt; just made it in time for the feature freeze last month, with a few follow-up pull requests since to polish things up. With luck (and testing!), we have a good working story with the 4.06.0 release candidate, which was pushed yesterday....</summary><category term="Notes from the Windows corner"></category></entry><entry><title>Setting up OCaml’s GitHub CI for user forks</title><link href="https://www.dra27.uk/blog/platform/2017/09/27/ocaml-github-ci.html" rel="alternate"></link><published>2017-09-27T01:00:00Z</published><updated>2017-09-27T01:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2017/09/27/ocaml-github-ci</id><summary type="html">There are various Continuous Integration (CI) systems monitoring OCaml. The most publicly visible of these are the two which run on our GitHub repository: &lt;a href="https://travis-ci.org/ocaml/ocaml/branches" target="_blank"&gt;Travis&lt;/a&gt; , which tests GNU/Linux in 32-bit and 64-bit configurations and also performs a few sanity checks on pull requests, and &lt;a href="https://ci.appveyor.com/project/avsm/ocaml/history" target="_blank"&gt;AppVeyor&lt;/a&gt; which tests some of the native Windows ports. OCaml 4.06 was branched on 18 September. One of the problems that we face during the weeks between branching and a release of OCaml is that the increased activity creates huge pressure on our CI systems. This is particularly noticeable on AppVeyor, since the build takes 40–50 minutes and we can only have 1 build running at a time across all pull requests and branches. Travis builds actually take around the same amount of overall time, but they are more...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>State of the OCaml Platform</title><link href="https://anil.recoil.org/news/2f824dde-e112-4f4f-890d-1825572ea1c4-1" rel="alternate"></link><published>2017-09-08T01:00:00Z</published><updated>2017-09-08T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2f824dde-e112-4f4f-890d-1825572ea1c4-1</id><summary type="html">Talk on the state of the OCaml Platform</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Windows Console Performance (or lack thereof)</title><link href="https://www.dra27.uk/blog/platform/2017/09/06/windows-console-fun.html" rel="alternate"></link><published>2017-09-06T01:00:00Z</published><updated>2017-09-06T01:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2017/09/06/windows-console-fun</id><summary type="html">I spent a few days at the weekend refreshing my native Windows fork of Opam and while doing so, found an interesting performance issue for console applications on Windows. One of the jobs porting both Opam and opam-repository for native Windows is updating all the OCaml compiler packages themselves to have Windows build commands. It’s quite extensive, since the instructions have varied across versions and there are also a lot of &lt;a href="https://github.com/metastack/ocaml-legacy" target="_blank"&gt;patches&lt;/a&gt; which need to be applied, so this is done using an opam-admin.top script. This little helper program in the Opam developer tools includes a useful function Opam_admin_top.iter_packages which passes every package definition in a repository along with its opam file to a function you provide and writes any changes to that opam back to the repository. There...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>The State of the OCaml Platform: Sep 2017</title><link href="https://anil.recoil.org/news/2017-oud-platform-1" rel="alternate"></link><published>2017-09-01T01:00:00Z</published><updated>2017-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2017-oud-platform-1</id><summary type="html">Annual update on the OCaml Pltform at ICFP &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the the 7th ACM OCaml Users and Developers Workshop. &lt;a href="https://anil.recoil.org/papers/2017-oud-platform.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2017-oud-platform.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Effectively tackling the awkward squad</title><link href="https://anil.recoil.org/news/2017-ml-effects-1" rel="alternate"></link><published>2017-09-01T01:00:00Z</published><updated>2017-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2017-ml-effects-1</id><summary type="html">Paper on how to tackle awkward IO patterns with effect handlers &lt;a href="https://github.com/stedolan" target="_blank"&gt;Stephen Dolan&lt;/a&gt; , &lt;a href="https://github.com/seliopou" target="_blank"&gt;Spiros Eliopoulos&lt;/a&gt; , Daniel Hillerstrom , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; and &lt;a href="https://github.com/lpw25" target="_blank"&gt;Leo White&lt;/a&gt; . Paper in the the ACM ML Workshop. &lt;a href="https://anil.recoil.org/papers/2017-ml-effects.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2017-ml-effects.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Platforms, Packaging, Progress— Addendum</title><link href="https://mort.io/blog/topkg-addendum/" rel="alternate"></link><published>2017-09-01T01:00:00Z</published><updated>2017-09-01T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/topkg-addendum/</id><summary type="html">This is a short addendum to my &lt;a href="http://mort.io/blog/2017/08/28/past-present-future/" target="_blank"&gt;post of a couple of days
ago&lt;/a&gt; caused by my carelessness in writing the &lt;a href="https://github.com/mor1/ocal/blob/13a9a7f5b8f2e0be4c2b55941a00a885df202cf8/ocal.opam#L16-L22" target="_blank"&gt;OPAM
···
of Testing Distributed Internet of Things Systems
(TDIS)&lt;/a&gt; . Why? Happily the programme committee decided to accept two papers from my (ex-)students – which is nice :) The two in question are &lt;a href="https://doi.org/10.1145/3719159.3721222" target="_blank"&gt;Reckon-ing Kubernetes at the Edge using Emulated
Clusters&lt;/a&gt; with Alessandro Sassi (University of Cambridge / Politecnico di Milano) and Christopher Jensen (University of Cambridge / Microsoft Research). This describes Alessandro’s M.Sc. research project undertaken as a visitor with my group. He built on Chris’ earlier work on &lt;a href="https://doi.org/10.1145/3447851.3458739" target="_blank"&gt;Reckon, an emulator setup for examining consensus
+
system behaviour&lt;/a&gt; . Alessandor extended this to...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Box Diff Tool</title><link href="https://www.tunbury.org/box-diff/" rel="alternate"></link><published>2025-03-30T00:00:00Z</published><updated>2025-03-30T00:00:00Z</updated><author><name>MarkE</name></author><id>https://www.tunbury.org/box-diff</id><summary type="html">Box has an unlimited storage model but has an upload limit of 1TB per month. I have been uploading various data silos but would now like to verify that the data is all present. Box has an extensive &lt;a href="https://developer.box.com/reference/" target="_blank"&gt;API&lt;/a&gt; , but I only need the &lt;a href="https://developer.box.com/reference/get-folders-id-items/" target="_blank"&gt;list items in folder&lt;/a&gt; call. The list-items call assumes that you have a folder ID which you would like to query. The root of the tree is always ID 0. To check for the presence of file foo in a folder tree a/b/c/foo , we need to call the API with folder ID 0. This returns a list of entries in that folder. e.g. { "entries" : [ { "id" : "12345" , "type" : "folder" , "name" : "a" } ] } The API must now be called again with the new ID number to get the contents of folder a . This is repeated until we finally have the entries for folder c which would contain the file itself. I...</summary><category term="Tunbury.ORG"></category></entry><entry><title>Blockchain-Based Carbon Trading for Stakeholders in Brazil</title><link href="https://watch.eeg.cl.cam.ac.uk/w/f1Uxw34FRLEfVNBBpzbsgD" rel="alternate"></link><published>2025-03-28T17:09:11Z</published><updated>2025-03-28T17:09:11Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/f1Uxw34FRLEfVNBBpzbsgD</id><summary type="html">Full Title: Democratizing Carbon Markets: A Blockchain-Based Emission Trading System for Small and Large-Scale Stakeholders in Brazil Abstract: The integration of blockchain technology into carbon markets offers a unique opportunity to create more transparent, inclusive, and efficient trading mechanisms. This presentation introduces a novel Blockchain Emission Trading System (BETS) model designed to align with Brazil’s new carbon market legislation (Law 15042/2024), ensuring that both large landholders and small rural producers can participate fairly. Our approach leverages official land registries, such as SICAR, to create spatially and temporally verifiable carbon credits, preventing fraud and double counting while enabling greater accessibility for smaller stakeholders who often...</summary><category term="EEG Seminars"></category></entry><entry><title>New preprint on benchmarking ultra-low power neural accelerators</title><link href="https://anil.recoil.org/news/2025-npu-bench-1" rel="alternate"></link><published>2025-03-28T00:00:00Z</published><updated>2025-03-28T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2025-npu-bench-1</id><summary type="html">&lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; just released our latest preprint on how to make sense of the growing number of dedicated, ultra-low-power 'neural network accelerators' that are found in many modern embedded chipsets. My interest in this derives from wanting to decouple from the cloud when it comes to &lt;a href="https://anil.recoil.org/projects/osmose" target="_blank"&gt;low-latency local environments&lt;/a&gt; , and this needs fast tensor operations in hardware. Josh found a huge number of interesting NPUs in modern low-cost chips, ranging from &lt;a href="https://www.espressif.com/en/products/socs/esp32" target="_blank"&gt;ESP32&lt;/a&gt; -based boards over to &lt;a href="https://arm.com" target="_blank"&gt;ARM&lt;/a&gt; ones. All of these have quite a variety of tradeoffs, from the operations supported (which affects which models can be run on them) to the amount of memory and CPU power. &lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; , &lt;a href="https://yushan-huang.github.io/" target="_blank"&gt;Yushan Huang&lt;/a&gt; , &lt;a href="https://www.imperial.ac.uk/people/sarab.sethi" target="_blank"&gt;Sarab Sethi&lt;/a&gt; , &lt;a href="https://haddadi.github.io/" target="_blank"&gt;Hamed Haddadi&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/2503.22567" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2503.22567" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2503.22567" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2025-npu-bench.bib" target="_blank"&gt;BIB&lt;/a&gt;...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml Core Dev Meeting</title><link href="https://www.dra27.uk/blog/platform/2025/03/28/ocaml-dev-meeting.html" rel="alternate"></link><published>2025-03-28T00:00:00Z</published><updated>2025-03-28T00:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2025/03/28/ocaml-dev-meeting</id><summary type="html">OCaml Core Dev meeting at &lt;a href="https://inria.fr" target="_blank"&gt;Inria&lt;/a&gt; yesterday. These are roughly biannual synchronous catchups which provide a chance to find out what others are up to, get feedback on any major ongoing work, and attempt to unblock some stalled PRs. Sometimes tempers get frayed, but not this time round… Quick round-table: ongoing work to get modular explicits/implicits into OCaml; a lot of work on GC pacing to get the 5.x GC to follow its space overhead setting properly; lot of work on flambda 2; OCaml Language committee has been launched and has two proposals under consideration; quite a lot of reviewing of new features from Jane Street in flight; work on pluggable GC to be able to try out alternate GCs in the main runtime. Two presentations on the table. The OCaml 5.x GC isn’t working hard enough to...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>Dell PowerEdge R640 Storage Server</title><link href="https://www.tunbury.org/dell-poweredge-r640/" rel="alternate"></link><published>2025-03-27T00:00:00Z</published><updated>2025-03-27T00:00:00Z</updated><author><name>MarkE</name></author><id>https://www.tunbury.org/dell-poweredge-r640</id><summary type="html">We have received our first batch of 7.68TB Kingston SSD drives for deployment in some Dell PowerEdge R640 servers, which will be used to create a large storage pool. The first job was to mount each of the drives in a caddy. And then install them in the server. These R640 servers are equipped with the Dell PERC H740P RAID controller. They support either hardware RAID 0,1,5,10,50 etc or Enhanced HBA mode. In eHBA mode, the disks operate in a passthrough mode, presenting the raw disks to the OS, however each disk needs to be specifically selected in an additional step after enabling eHBA mode. In RAID mode, one or more virtual disks need to be created to present the disks to the OS. Preconfigured profiles are available to complete this step easily. We will run these with a ZFS file system,...</summary><category term="Tunbury.ORG"></category></entry><entry><title>How This Site Is Build</title><link href="https://ryan.freumh.org/how-this-site-is-built.html" rel="alternate"></link><published>2025-03-26T00:00:00Z</published><updated>2025-03-26T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/how-this-site-is-built.html</id><summary type="html">Published Wed 26 Mar 2025. This site has continuously evolved since I made the first commit while procrastinating my undergrad dissertation, __LINK_0__ commit 632cb1f0c97c07fb99b48192444397e56ea5310f __LINK_1__ Author: Ryan Gibb &lt;redacted&gt; __LINK_2__ Date: Fri Jan 22 11:27:55 2021 +0000 __LINK_3__ __LINK_4__ Initial commit __LINK_5__ __LINK_6__ diff --git a/index.html b/index.html __LINK_7__ new file mode 100644 __LINK_8__ index 0000000..557db03 __LINK_9__ --- /dev/null __LINK_10__ +++ b/index.html __LINK_11__ @@ -0,0 +1 @@ __LINK_12__ +Hello World I started off writing plain HTML, then switching to writing in markdown and using &lt;a href="https://pandoc.org/" target="_blank"&gt;pandoc&lt;/a&gt; to convert to HTML, and gradually accumulated bash scripts and makefiles to add more functionality, such as generating an &lt;a href="https://www.rfc-editor.org/rfc/rfc4287" target="_blank"&gt;Atom feed&lt;/a&gt; . This became...</summary><category term="ryan.freumh.org"></category></entry><entry><title>FreeBSD 14.2 Upgrade</title><link href="https://www.tunbury.org/freebsd-14.2/" rel="alternate"></link><published>2025-03-26T00:00:00Z</published><updated>2025-03-26T00:00:00Z</updated><author><name>MarkE</name></author><id>https://www.tunbury.org/freebsd-14.2</id><summary type="html">CI workers spring and summer run FreeBSD and need to be updated. Check the current version of FreeBSD which we have with uname -r . FreeBSD summer 14.1-RELEASE-p5 FreeBSD 14.1-RELEASE-p5 GENERIC amd64 Run freebsd-update fetch to download the latest versions of the system components, particularly the freebsd-update utility. It even reported that it really is time to upgrade! # freebsd-update fetch ... WARNING: FreeBSD 14.1-RELEASE-p5 is approaching its End-of-Life date. It is strongly recommended that you upgrade to a newer release within the next 5 days. Install these updates. freebsd-update install Now use freebsd-update to fetch the 14.2-RELEASE and install it. # freebsd-update upgrade -r 14.2-RELEASE ... # freebsd-update install src component not installed, skipped Installing...</summary><category term="Tunbury.ORG"></category></entry><entry><title>Towards Forester 5.0 II: a design for canonical URLs</title><link href="https://www.forester-notes.org/JVIT/" rel="alternate"></link><published>2025-03-25T13:44:56Z</published><updated>2025-03-25T13:44:56Z</updated><author><name>JonS</name></author><id>https://www.forester-notes.org/JVIT/</id><summary type="html">One of the goals of &lt;a href="https://www.forester-notes.org/jms-011P/" target="_blank"&gt;Forester 5.0&lt;/a&gt; is lightweight federation —the ability to have two forests participate in the same graph and therefore provide backlinks, etc. In a previous post ( &lt;a href="https://www.forester-notes.org/OYOJ/" target="_blank"&gt;Towards Forester 5.0: a design for global identity&lt;/a&gt; ), I talked about some of the difficulties that arise when dealing with identities of people and references that have global scope but could nonetheless be described by trees in many forests. I proposed that such things should be addressed by canonical URIs (e.g. DIDs, DOIs, etc.) and that Forester should grow the ability to bind a canonical URI to multiple trees, which are then gathered into a disambiguation page. Today I want to broaden the discussion to cover the difficulties of addressing trees themselves (as opposed to the global entities they may describe). This is a proposal and I welcome...</summary><category term="Forester Blog"></category></entry><entry><title>Weeknotes: 24th March 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-03-24/" rel="alternate"></link><published>2025-03-24T09:07:12Z</published><updated>2025-03-24T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-03-24/</id><summary type="html">Last week I spent most of the week with a head-cold or such (I'm not the right kind of doctor to figure that out), and so productivity was a little low. STAR Two major steps forward on my implementation of the IUCN's &lt;a href="https://iucn.org/resources/conservation-tool/species-threat-abatement-and-restoration-star-metric" target="_blank"&gt;STAR metric&lt;/a&gt; this week. Firstly, my extraction of species from the IUCN Red List database finally aligns with that of the official implementation in R that is built by Chess Ridley at Newcastle University. Chess has been helping me navigate the nuances of the Red List database for the last couple of months as either of us gets time to nudge things forward, and we finally got to parity this week. Secondly, I took a first pass at implementing the post-AoH stages of the STAR pipeline, (see "STAR Calculation" in the Methods section of &lt;a href="https://www.nature.com/articles/s41559-021-01432-0.epdf" target="_blank"&gt;the original paper&lt;/a&gt; ). This involves weighting all the...</summary><category term="Digital Flapjack"></category></entry><entry><title>Mon 24 Mar 2025</title><link href="https://ryan.freumh.org/2025-03-24.html" rel="alternate"></link><published>2025-03-24T00:00:00Z</published><updated>2025-03-24T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-03-24.html</id><summary type="html">Previous: &lt;a href="2025-03-17.html" target="_blank"&gt;Mon 17 Mar 2025&lt;/a&gt; Babel TODO cargo dynamic loading At the moment this loads the whole index at once which takes a long time, so I need to figure out how to make pubgrub_cargo dynamically load packages. TODO add Nix solver Using the same techniques as &lt;a href="https://github.com/RyanGibb/opam-nix-repository" target="_blank"&gt;opam-nix-repository&lt;/a&gt; TODO polish up babel paper with motivating examples TODO read up on answer set programming &lt;a href="https://pubgrub-rs-guide.pages.dev/internals/intro" target="_blank"&gt;https://pubgrub-rs-guide.pages.dev/internals/intro&lt;/a&gt; is a good starting point And ‘Conflict-driven answer set solving: From theory to practice’ &lt;a href="#ref-gebserConflictdrivenAnswerSet2012" target="_blank"&gt;[1]&lt;/a&gt; deployment TODO Nix TODO Docker Research notes Contextualising my research activities to date. TODO Eilean TODO Babel [1] M. Gebser, B. Kaufmann, and T. Schaub, “Conflict-driven answer set solving: From theory to practice,” Artificial Intelligence , vol. 187–188, pp. 52–89, Aug. 2012, doi: &lt;a href="https://doi.org/10.1016/j.artint.2012.04.001" target="_blank"&gt;10.1016/j.artint.2012.04.001&lt;/a&gt; . [Online]. Available:...</summary><category term="ryan.freumh.org"></category></entry><entry><title>2025-03-23 Weekly Notes</title><link href="https://ancazugo.github.io/research/outreach/2025/03/23/weekly-notes.html" rel="alternate"></link><published>2025-03-23T00:00:00Z</published><updated>2025-03-23T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/research/outreach/2025/03/23/weekly-notes</id><summary type="html">After the issues and errors with generating the tree data for all of England, I realised that one of the best ways to proof-check the data was to visualize it and more importantly, to let others see it so they can check things that I might be missing. Because of this, I spent a good chunck of time trying to create a web map of all the trees in London. I used CARTO to do it but it wasn’t straightforward, mostly because of the size of the data. My files were stored in parquet format which apparently CARTO nor Mapbox are capable of transforming automatically to web Mercator, so I had to change the CRS in Sedona and re-generate the parquet partitions. Unfortunately, knowing where each partition is pointed at is not very easy, so what I did was geo-reference using the UK National Grid and then...</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>Global Maps of Human Threats to Biodiversity and Species Extinctions</title><link href="https://watch.eeg.cl.cam.ac.uk/w/3exAV8tLbnPSGqoKv2mZts" rel="alternate"></link><published>2025-03-21T16:11:39Z</published><updated>2025-03-21T16:11:39Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/3exAV8tLbnPSGqoKv2mZts</id><summary type="html">Full title: Towards Global Maps of Anthropogenic Threats to Biodiversity and Their Contributions to Species Extinctions Abstract: Species extinctions are primarily driven by loss of habitat, which is relatively easy to monitor by satellite remote sensing; other anthropogenic threats to biodiversity, like hunting, are much more difficult to observe directly. My PhD project draws on local studies which capture the population effect of some anthropogenic threat, scaling these results using machine learning and remote sensing. In this talk, I will discuss my first attempt at this through quantifying species-specific responses to hunting pressure. I find that machine learning methods can offer marked improvements over (linear) statistical models, which are commonly used in ecology, but model...</summary><category term="EEG Seminars"></category></entry><entry><title>LIFE becomes an Official Statistic of the UK government</title><link href="https://anil.recoil.org/notes/life-official-statistic" rel="alternate"></link><published>2025-03-21T00:00:00Z</published><updated>2025-03-21T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/life-official-statistic</id><summary type="html">Our &lt;a href="https://anil.recoil.org/papers/2024-life" target="_blank"&gt;recently published&lt;/a&gt; &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;LIFE&lt;/a&gt; biodiversity metric has just been integrated into a newly recognised &lt;a href="https://defraenvironment.blog.gov.uk/2025/01/20/newly-recognised-official-statistic-tracks-the-environmental-impact-of-our-consumption/" target="_blank"&gt;Official Statistic from the UK government&lt;/a&gt; ! This integrates the core LIFE biodiversity metric with &lt;a href="https://anil.recoil.org/papers/2024-food-life" target="_blank"&gt;food provenance data&lt;/a&gt; to track the environmental impacts of our consumption habits. I must admit that I'd not heard of "Official Statistics" before this, so I did a bit of research. The UK &lt;a href="https://osr.statisticsauthority.gov.uk/" target="_blank"&gt;Office for Statistics Regulation&lt;/a&gt; says that: Official statistics are statistics produced by Crown bodies and other organisations listed within an Official Statistics Order, on behalf of the UK government or devolved administrations. They provide a factual basis for assessment and decisions on economic, social and environmental issues at all levels of society. -- &lt;a href="https://osr.statisticsauthority.gov.uk/policies/official-statistics-policies/" target="_blank"&gt;OSR Policies&lt;/a&gt; The good folk at the &lt;a href="https://jncc.gov.uk/" target="_blank"&gt;Joint Nature Conservation Committee&lt;/a&gt; are responsible for this particular statistic. The JNCC launched their...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Weeknotes: 17th March 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-03-17/" rel="alternate"></link><published>2025-03-17T09:07:12Z</published><updated>2025-03-17T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-03-17/</id><summary type="html">Förrförra vecka Life maps As the outputs of the LIFE project we generate two maps: one showing the impact on extinction risk of converting land to farmland (aka the arable scenario), and another showing the risk of converting human changed land back to predicted its natural state (aka the restore scenario). Those maps though are data maps, containing fractional values in each pixel, so aren't something you can see, so instead when presenting the work I tend to lead with a "pop-science" version generated by &lt;a href="https://qgis.org" target="_blank"&gt;QGIS&lt;/a&gt; when you load the maps. Here you can see the map for the arable scenario, showing that putting a farm in a tropical forest is a sub-optimal idea: And the restore scenario map here, which has less change visible, as there is less area to convert: The different colours are from...</summary><category term="Digital Flapjack"></category></entry><entry><title>Mon 17 Mar 2025</title><link href="https://ryan.freumh.org/2025-03-17.html" rel="alternate"></link><published>2025-03-17T00:00:00Z</published><updated>2025-03-17T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-03-17.html</id><summary type="html">Previous: &lt;a href="2025-03-10.html" target="_blank"&gt;Mon 10 Mar 2025&lt;/a&gt; Next: &lt;a href="2025-03-24.html" target="_blank"&gt;Mon 24 Mar 2025&lt;/a&gt; Babel DONE &lt;a href="https://modelcontextprotocol.io/" target="_blank"&gt;Model Context Protocol&lt;/a&gt; &lt;a href="https://github.com/RyanGibb/babel/commit/ab6dcc162e5eb92192a19a63c33d0efa3db736a9" target="_blank"&gt;Added&lt;/a&gt; a basic Model Context Protocol server for querying dependencies with Babel, since LLMs seem to be particularly bad at managing dependencies. I need to flesh this out with support for metadata queries and solving for platforms. Once this works we could look at invoking ecosystem tooling to provide the dependencies, and creating a containerisation environment based on the solved platform for system dependencies. ecosystems DONE fix cross-ecosystem version ranges I had to add an abstract BabelVersionSet to interoperate pubgrub_cargp with the other dependency providers, but it doesn’t yet have the concept of empty and any ranges. Done &lt;a href="https://github.com/RyanGibb/babel/commit/c975ab938efb1330a691e4883bc1e732b21cddf3" target="_blank"&gt;here&lt;/a&gt; . Research notes Contextualising my research activities to date. DONE...</summary><category term="ryan.freumh.org"></category></entry><entry><title>2025-03-16 Weekly Notes</title><link href="https://ancazugo.github.io/research/outreach/2025/03/16/weekly-notes.html" rel="alternate"></link><published>2025-03-16T00:00:00Z</published><updated>2025-03-16T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/research/outreach/2025/03/16/weekly-notes</id><summary type="html">Most of my week was devoted to debugging my code to count the number of trees per geographical area. As mentioned in previous posts, I’ve been using Apache Sedona to process all my vector files, which has reduced the computation time significantly, particularly for spatial joins around all buildings in England. However, I realised that I hadn’t actually counted how many trees there are in total, which sounds trivial, but it turned out to be not as easy with the code that I had. So it turns out that when you are doing a Spatial Join with an Spatial RDD, you are only expected to pass two columns, the identifier and geometry for each row. This is not present in the docs, but I found it by accident while converting from Spark DataFrames to RDDs. Also, due to the number of trees (in the...</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>Identifying Key Countries in the Illegal Elephant Ivory Trade Networ</title><link href="https://watch.eeg.cl.cam.ac.uk/w/oW6eqJBH1Hkwu6wE7XzQT3" rel="alternate"></link><published>2025-03-14T17:34:06Z</published><updated>2025-03-14T17:34:06Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/oW6eqJBH1Hkwu6wE7XzQT3</id><summary type="html">Abstract: Illegal wildlife trade is a key driver of biodiversity loss, but targeting policy to maximise disruption to trade remains a key challenge. A network approach was applied to seizure data to prioritise national action disrupting the illegal trade of elephant ivory. By simulating the removal of countries from trade, targeting groups of countries was found to be most effective due to network redundancy. Despite temporal variability, trade was highly concentrated and cessation in less than 10 countries would have disrupted 75% of trade in 2018-2020. These findings support evidence-based legislation and efficient allocation of conservation resources for tackling illegal wildlife trade. Bio: Jakob is a PhD student in the Conservation and Development Lab (Department of Geography). His...</summary><category term="EEG Seminars"></category></entry><entry><title>folding</title><link href="https://paravirtualization.blogspot.com/2025/03/folding.html" rel="alternate"></link><published>2025-03-14T10:21:00Z</published><updated>2025-03-14T10:21:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-8959404450185819176</id><summary type="html">I asked my tame AI: what if the plot unfolded like a bicycle? That's a fun thought experiment! Here's how a plot might unfold like a bicycle: Two Wheels, Two Main Characters: The story revolves around two central figures, perhaps with contrasting personalities or backgrounds. They are interdependent, like the two wheels of a bicycle. One might be impulsive and adventurous, while the other is cautious and grounded. The Chain as Conflict: A central conflict or series of challenges acts as the "chain" driving the narrative forward. This could be an external threat, an internal struggle, or a shared goal. The Frame as Structure: The overall plot structure resembles the bicycle's frame – a sturdy foundation with distinct parts. There would be a clear beginning (the initial assembly), a middle...</summary><category term="A True History of the Internet"></category></entry><entry><title>A fully AI-generated paper just passed peer review; notes from our evidence synthesis workshop</title><link href="https://anil.recoil.org/notes/ai-for-evidence-synthesis-workshop" rel="alternate"></link><published>2025-03-12T00:00:00Z</published><updated>2025-03-12T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/ai-for-evidence-synthesis-workshop</id><summary type="html">Access to reliable and timely scientific evidence is utterly vital for the practise of responsible policymaking, especially with all the turmoil in the world these days. At the same time, the evidence base on which use to make these decisions is rapidly morphing under our feet; the &lt;a href="https://sakana.ai/ai-scientist-first-publication/" target="_blank"&gt;first entirely AI-generated paper passed peer review&lt;/a&gt; at an ICLR workshop today. We held a workshop on this topic of AI and evidence synthesis at &lt;a href="https://pem.cam.ac.uk" target="_blank"&gt;Pembroke College&lt;/a&gt; last week, to understand both the opportunities for the use of AI here, the &lt;a href="https://anil.recoil.org/papers/2024-ce-llm" target="_blank"&gt;strengths and limitations&lt;/a&gt; of current tools, areas of progress and also just to chat with policymakers from &lt;a href="https://www.gov.uk/government/organisations/department-for-science-innovation-and-technology" target="_blank"&gt;DSIT&lt;/a&gt; and thinktanks about how to approach this rapidly moving area. (The following notes are adapted from jottings from &lt;a href="https://www.cst.cam.ac.uk/people/jkm40" target="_blank"&gt;Jessica Montgomery&lt;/a&gt; , &lt;a href="https://samreynolds.org/" target="_blank"&gt;Sam Reynolds&lt;/a&gt; , &lt;a href="https://ai.cam.ac.uk/people/annabelle-scott" target="_blank"&gt;Annabelle Scott&lt;/a&gt; and myself. They are not at all complete, but hopefully useful!) We...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>ancient history</title><link href="https://paravirtualization.blogspot.com/2025/03/ancient-history.html" rel="alternate"></link><published>2025-03-11T14:53:00Z</published><updated>2025-03-11T14:53:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-4549083307741752065</id><summary type="html">I was reminded of two things from the late 70s that a friend in cambridge did, and my cousin in london were doing at the start of their graduate research work. The first was a study of medieval court records in East Anglia, trying to figure out what the demographcs were (in terms of single.married, how many times, how many kids, ages etc) - apparently for every day people in medieval tiems there were virtually no day-to-day records execpt that most people would at some point in their lives, show up in a court...so assuming most people didn't move about much in those day,s you could get a picture by looking at statistics and comparing villages/towns etc Rhe second was a student of cave paintings from rather longer ago - the caves in France and Spain have depictions of animals from 17,000...</summary><category term="A True History of the Internet"></category></entry><entry><title>Weeknotes: 10th March 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-03-10/" rel="alternate"></link><published>2025-03-10T09:07:12Z</published><updated>2025-03-10T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-03-10/</id><summary type="html">Last week iNaturalist I've continued to do a little playing around with &lt;a href="https://www.inaturalist.org" target="_blank"&gt;iNaturalist&lt;/a&gt; data, both the range data and the occurrence data for birds. Birds, aka Aves, is a good one to pick as it's fairly well represented in both IUCN data (which I understand to have all known species of bird in it), and well covered in observations. I read up on how the "range" maps that iNaturalist &lt;a href="https://www.inaturalist.org/pages/range_maps" target="_blank"&gt;have started to share&lt;/a&gt; , which they describe in &lt;a href="https://www.inaturalist.org/posts/84677" target="_blank"&gt;this blog post&lt;/a&gt; , and link to &lt;a href="https://arxiv.org/abs/2306.02564" target="_blank"&gt;this paper&lt;/a&gt; on the methods use. This describes how they use a neural network model to generate the data, and how it differs from standard modelling approaches as they only have presence data and not absence data. &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil&lt;/a&gt; then pointed me at &lt;a href="https://arxiv.org/abs/2502.14977" target="_blank"&gt;a newer paper&lt;/a&gt; by the same group that looks specifically at trying to model species with very few occurrence points...</summary><category term="Digital Flapjack"></category></entry><entry><title>Mon 10 Mar 2025</title><link href="https://ryan.freumh.org/2025-03-10.html" rel="alternate"></link><published>2025-03-10T00:00:00Z</published><updated>2025-03-10T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-03-10.html</id><summary type="html">Previous: &lt;a href="2025-03-03.html" target="_blank"&gt;Mon 3 Mar 2025&lt;/a&gt; Next: &lt;a href="2025-03-17.html" target="_blank"&gt;Mon 17 Mar 2025&lt;/a&gt; Babel KILL python pubgrub Using Uv’s &lt;a href="https://github.com/astral-sh/uv/blob/c48af312aee48a000a23722ecfdddbe5a4037f78/crates/uv-resolver/src/dependency_provider.rs#L13" target="_blank"&gt;dependency
provider&lt;/a&gt; . This isn’t feasible at present, as Uv implements a custom resolver. DONE cargo pubgrub Got a &lt;a href="https://github.com/RyanGibb/babel/commit/dcdb92a6840b3d78e3737bb448bf0937d1c9964c" target="_blank"&gt;cargo
+
dependency provider&lt;/a&gt; working modified from a repository used to benchmark pubgrub-rs on solving the cargo repository. (Root, ) -&gt; (Cargo Bucket:serde@1.x.y, SemverPubgrub { norml: 1.0.219, pre: ∅ } ) (Cargo Bucket:serde@1.x.y, 1.0.219) -&gt; (Cargo Bucket:serde_derive@1.x.y, SemverPubgrub { norml: &gt;=1.0.219, &lt;1.0.220, pre: ∅ } ), (Cargo Bucket:serde_derive@1.x.y/default=true, SemverPubgrub { norml: &gt;=1.0.219, &lt;1.0.220, pre: ∅ } ) (Cargo Bucket:serde_derive@1.x.y, 1.0.219) -&gt; (Cargo Bucket:quote@1.x.y/proc-macro, SemverPubgrub { norml: &gt;=1.0.35, &lt;2.0.0, pre: ∅ } ), (Cargo Bucket:syn@2.x.y/parsing, SemverPubgrub { norml:...</summary><category term="ryan.freumh.org"></category></entry><entry><title>2025-03-09 Weekly Notes</title><link href="https://ancazugo.github.io/research/outreach/2025/03/09/weekly-notes.html" rel="alternate"></link><published>2025-03-09T00:00:00Z</published><updated>2025-03-09T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/research/outreach/2025/03/09/weekly-notes</id><summary type="html">Hello! This week I worked on the optimisation of counting trees within a given geometry. This is a problem I had solved back in December, although not in the optimal way. Ihad segmented almost 400M trees from the Defra dataset, but now I had to count how many are within a 100 m radius of each one of the 29M buildings in England. I had solved this by iterating through the LSOAs (statistical geography) in England, but that process took about 11 days to complete with the SQl API of Apache Sedona. When I was developing that part of my project, I had tried to solve it using Spatial RDDs, as suggested by &lt;a href="https://ameliaholcomb.github.io/" target="_blank"&gt;Amelia Holcomb&lt;/a&gt; initially, but sadly, the documentation of some of the features in Sedona are still in developing stages so I put that away. Because I had created an improved version of the trees...</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>Towards Forester 5.0: a design for global identity</title><link href="https://www.forester-notes.org/OYOJ/" rel="alternate"></link><published>2025-03-08T12:17:14Z</published><updated>2025-03-08T12:17:14Z</updated><author><name>JonS</name></author><id>https://www.forester-notes.org/OYOJ/</id><summary type="html">As we move closer to &lt;a href="https://www.forester-notes.org/jms-011P/" target="_blank"&gt;Forester 5.0&lt;/a&gt; , which &lt;a href="https://www.forester-notes.org/30FN/" target="_blank"&gt;introduces&lt;/a&gt; rudimentary federation capabilities, we must address new problems that did not arise in the days when no two &lt;a href="https://www.forester-notes.org/tfmt-000R/" target="_blank"&gt;forests&lt;/a&gt; interacted or linked to each other. The most immediate issue is that trees describing entities with “global” identity (including actual people as well as bibliographic references) will naturally be duplicated across many forests. For example, this happens when one person authors trees in multiple forests, and it happens even more often with bibliographic entries (both for the entries themselves and their author attributions). It is very important to handle this problem properly now in a way that (1) minimises friction and (2) enables us to quietly evolve toward &lt;a href="https://www.forester-notes.org/klepmann-et-al-atproto-2024/" target="_blank"&gt;more Web-centric approaches to identity as they emerge&lt;/a&gt; . Below, I survey some existing approaches to...</summary><category term="Forester Blog"></category></entry><entry><title>Socially self-hosting source code with Tangled on Bluesky</title><link href="https://anil.recoil.org/notes/disentangling-git-with-bluesky" rel="alternate"></link><published>2025-03-08T00:00:00Z</published><updated>2025-03-08T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/disentangling-git-with-bluesky</id><summary type="html">I've been an avid user of &lt;a href="https://github.com" target="_blank"&gt;GitHub&lt;/a&gt; since its launch, and it really has revolutionised how communities come together to work on open source. In recent years though, I find myself utterly overwhelmed by its notifications and want to experiment with &lt;a href="https://www.offlineimap.org/github/2016/03/08/github-pr-suck.html" target="_blank"&gt;alternative workflows&lt;/a&gt; . This experimentation also has a more serious undertone due to the increasing need for &lt;a href="https://www.boell.de/en/2025/01/24/trump-and-big-tech-europes-sovereignty-stake" target="_blank"&gt;data sovereignty&lt;/a&gt; and so I'm starting to move my source code to self-hosted solutions that are less reliant on centralised services. This has also come up persistently over the years in the &lt;a href="https://ocaml.org" target="_blank"&gt;OCaml&lt;/a&gt; community, with questions over why participation in packaging &lt;a href="https://discuss.ocaml.org/t/publishing-without-github/3232" target="_blank"&gt;requires a GitHub account&lt;/a&gt; ever since the &lt;a href="https://anil.recoil.org/notes/opam-1-1-beta" target="_blank"&gt;early days&lt;/a&gt; of opam. I've never found a good answer... until now, with the launch of an exciting &lt;a href="https://tangled.sh" target="_blank"&gt;new service&lt;/a&gt; that's built over the same protocol that &lt;a href="https://bsky.app" target="_blank"&gt;Bluesky&lt;/a&gt; uses. As I...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Our EEG group discussion on 'useful' AI tools</title><link href="https://anil.recoil.org/notes/the-state-of-ai-tools" rel="alternate"></link><published>2025-03-07T00:00:00Z</published><updated>2025-03-07T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/the-state-of-ai-tools</id><summary type="html">&lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; organised this week's &lt;a href="https://www.cst.cam.ac.uk/research/eeg" target="_blank"&gt;EEG&lt;/a&gt; group &lt;a href="https://www.cst.cam.ac.uk/seminars/list/229027" target="_blank"&gt;discussion&lt;/a&gt; on what AI tools we use for our daily work. I was immediately struck by how few tools there are that are actually making us more productive, so I jotted down notes as the discussion was going on. Personally, the only tool I've found that's (only just recently) making me more productive is agentic coding, which I &lt;a href="https://anil.recoil.org/notes/claude-copilot-sandbox" target="_blank"&gt;wrote about a few days ago&lt;/a&gt; . Since then, I've been mildly obsessively forking off ideas I've wanted to try for years (like converting RFCs to OCaml code) and greatly enjoying myself. &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; and I have been looking for how to do this more ethically, and the best I ran across was the &lt;a href="https://www.ibm.com/impact/ai-ethics" target="_blank"&gt;IBM AI ethics&lt;/a&gt; guidance and their &lt;a href="https://github.com/ibm-granite/granite-code-models" target="_blank"&gt;granite models&lt;/a&gt; , but not much else. Any pointers to other models that don't violate open source licensing norms would be...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>devaluation of ai</title><link href="https://paravirtualization.blogspot.com/2025/03/devaluation-of-ai.html" rel="alternate"></link><published>2025-03-06T10:36:00Z</published><updated>2025-03-06T10:36:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-4686477184891368666</id><summary type="html">Change for the Machines (with apologies to Pat Cadigan) AI was about models where money equals compute equals big data equals valuations. So all the money going in was to finance compute, thinking where the value lies, and every valuation of every company was about how much compute they had so it was all fake. Companies valuations were just how many H100s they had (compute capacity), as if it correlates to better models (even though they’re usually just wrappers. DeepSeek, and other Chinese models broke that which pissed everyone off, private and public investors included, because it casted doubt on the valuation methodologies, namely that energy, compute, data centres and number of chips were essentially fixed costs and the valuation of companies (and their output) could be measured on...</summary><category term="A True History of the Internet"></category></entry><entry><title>Are you still using OCaml 4.08 or earlier? If so, we need to know</title><link href="https://anil.recoil.org/notes/deprecating-ocaml-408" rel="alternate"></link><published>2025-03-05T00:00:00Z</published><updated>2025-03-05T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/deprecating-ocaml-408</id><summary type="html">I started pushing OCaml Docker images over to the &lt;a href="https://hub.docker.com/r/ocaml/opam" target="_blank"&gt;Docker Hub&lt;/a&gt; in around 2017, to support the burgeoning automated build infrastructure around the use of the language. Back then, OCaml 4.06 was the latest release, and so I wrote an &lt;a href="https://github.com/ocurrent/ocaml-version/blob/master/CHANGES.md" target="_blank"&gt;ocaml-version&lt;/a&gt; library to track the release metadata. It has been a bit of a success disaster, as that library now &lt;a href="https://github.com/ocurrent/ocaml-version/blob/master/CHANGES.md" target="_blank"&gt;tracks&lt;/a&gt; every release of OCaml in the modern era, and also backs the &lt;a href="https://github.com/ocurrent/docker-base-images" target="_blank"&gt;automatic building&lt;/a&gt; of a huge array of compiler versions and variants across &lt;a href="https://images.ci.ocaml.org/?distro=debian-12&amp;" target="_blank"&gt;Linux&lt;/a&gt; and &lt;a href="https://images.ci.ocaml.org/?distro=windows-msvc&amp;" target="_blank"&gt;Windows&lt;/a&gt; . The problem is...we're now building the full set of images from OCaml 4.02 onwards through to the latest OCaml 5.3.0 release, which is unsustainable for obvious reasons; despite the hosting being kindly &lt;a href="https://www.docker.com/community/open-source/application/" target="_blank"&gt;sponsored by Docker&lt;/a&gt; , we must also consider the &lt;a href="https://ocaml.org/policies/carbon-footprint" target="_blank"&gt;carbon footprint&lt;/a&gt; of our infrastructure. So the...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Weeknotes: 3rd March 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-03-03/" rel="alternate"></link><published>2025-03-03T09:07:12Z</published><updated>2025-03-03T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-03-03/</id><summary type="html">Last week Using Go with Wasm and Web Workers As indicated &lt;a href="/weeknotes/2025-02-24/" target="_blank"&gt;last week&lt;/a&gt; , I spent some time learning how to use both &lt;a href="https://go.dev" target="_blank"&gt;Go&lt;/a&gt; for &lt;a href="https://webassembly.github.io/spec/core/index.html" target="_blank"&gt;Web Assembly&lt;/a&gt; and with &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers" target="_blank"&gt;Web Workers&lt;/a&gt; for parallelism in the browser. I &lt;a href="/blog/go-wasm-workers/" target="_blank"&gt;wrote a long post&lt;/a&gt; about the details if that's of any interest. Webplats To make the above post I had to actually do tweaks to &lt;a href="https://github.com/mdales/webplats/" target="_blank"&gt;Webplats&lt;/a&gt; , the software I wrote that hosts this site. The technical details aren't that exciting, but it's just nice to observe how liberating it is to be able to hit a limitation of the hosting tool you're using and be able to quickly change it to remove that limitation. I did however also have to disable code syntax highlighting as &lt;a href="https://github.com/patricoferris/hilite" target="_blank"&gt;hilite&lt;/a&gt; (or possibly one the libraries it uses to tokenise the code) is struggling with Go, and no syntax-highlighting seemed a better fallback...</summary><category term="Digital Flapjack"></category></entry><entry><title>Mon 3 Mar 2025</title><link href="https://ryan.freumh.org/2025-03-03.html" rel="alternate"></link><published>2025-03-03T00:00:00Z</published><updated>2025-03-03T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-03-03.html</id><summary type="html">Previous: &lt;a href="2025-02-25.html" target="_blank"&gt;Tue 25 Feb 2025&lt;/a&gt; Next: &lt;a href="2025-03-10.html" target="_blank"&gt;Mon 10 Mar 2025&lt;/a&gt; &lt;a href="https://github.com/RyanGibb/babel" target="_blank"&gt;Babel&lt;/a&gt; A Debian encoding in PubGrub DONE &lt;a href="https://www.debian.org/doc/debian-policy/ch-relationships.html#virtual-packages-provides" target="_blank"&gt;provides&lt;/a&gt; with virtual packages &lt;a href="https://github.com/RyanGibb/pubgrub-debian/commit/0e1b76fd89b8773b555905858e3e3ed3796e78a3" target="_blank"&gt;here&lt;/a&gt; DONE cross ecosystem resolutions between opam and debian Done in &lt;a href="https://github.com/RyanGibb/babel" target="_blank"&gt;babel&lt;/a&gt; . Some examples follow. conf-gmp #[test] fn test_conf_gmp_variables() -&gt; Result&lt;(), Box&lt;dyn Error&gt;&gt; { let root = OpamPackage::Root(vec![ ( OpamPackage::Base("conf-gmp".to_string()), Range::singleton(OpamVersion("4".to_string())), ), ( OpamPackage::Var("os-family".to_string()), Range::singleton(OpamVersion("debian".to_string())), ), ( OpamPackage::Var("os-distribution".to_string()), Range::singleton(OpamVersion("debian".to_string())), ), ]); solve_repo( BabelPackage::Opam(root), BabelVersion::Opam(OpamVersion("".to_string())), "../pubgrub_opam/opam-repository/packages",...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Oh my Claude, we need agentic copilot sandboxing right now</title><link href="https://anil.recoil.org/notes/claude-copilot-sandbox" rel="alternate"></link><published>2025-03-02T00:00:00Z</published><updated>2025-03-02T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/claude-copilot-sandbox</id><summary type="html">&lt;a href="https://github.com/yminsky" target="_blank"&gt;Yaron Minsky&lt;/a&gt; nerdsniped me last week into getting OCaml to drive the 80s-retro &lt;a href="https://www.adafruit.com/product/2345" target="_blank"&gt;RGB Matrix&lt;/a&gt; displays. I grabbed one from the local Pi Store and soldered it together with help from &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; . But instead of writing OCaml bindings by hand, we thought we'd try out the latest agentic CLI called &lt;a href="https://github.com/kodu-ai/claude-code" target="_blank"&gt;Claude Code&lt;/a&gt; released &lt;a href="https://ai-claude.net/" target="_blank"&gt;last week&lt;/a&gt; to see if we could entirely autogenerate the bindings. TL;DR: Claude Coder generated working OCaml code almost from scratch, ranging from C bindings to high-level OCaml interface files and even Cmdliner terms, but needs a more sophisticated sandboxing model before something goes horribly wrong. So much potential and so much danger awaits us. Coincidentally &lt;a href="https://web.eecs.umich.edu/~comar/" target="_blank"&gt;Cyrus Omar&lt;/a&gt; and &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; and I &lt;a href="https://anil.recoil.org/papers/2024-hope-bastion" target="_blank"&gt;wrote&lt;/a&gt; about this a few months ago. Read on... Wiring up the display to my...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>A hardware description language using OCaml effects</title><link href="https://anil.recoil.org/ideas/tracing-hdl-with-effects" rel="alternate"></link><published>2025-03-01T00:00:00Z</published><updated>2025-03-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/tracing-hdl-with-effects</id><summary type="html">A hardware description language using OCaml effects This is an idea proposed in 2025 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; and &lt;a href="https://github.com/andrewray" target="_blank"&gt;Andy Ray&lt;/a&gt; . Programming FPGAs using functional programming languages is a very good fit for the problem domain. OCaml has the &lt;a href="https://anil.recoil.org/notes/fpgas-hardcaml" target="_blank"&gt;HardCaml ecosystem&lt;/a&gt; to express hardware designs in OCaml, make generic designs using the power of the language, then simulate designs and convert them to Verilog or VHDL. HardCaml is very successfully used in production at places like &lt;a href="https://janestreet.com" target="_blank"&gt;Jane
Street&lt;/a&gt; , but needs quite a lot of prerequisite knowledge about the full OCaml language. In particular, it makes very heavy use of the &lt;a href="https://github.com/janestreet/hardcaml/blob/master/docs/hardcaml_interfaces.md" target="_blank"&gt;module
system&lt;/a&gt; in order to build up the circuit description as an OCaml data...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>An Introductory Guide on How to Create Beautiful Slides</title><link href="https://watch.eeg.cl.cam.ac.uk/w/dFShkouits1FFyUctiSSH5" rel="alternate"></link><published>2025-02-28T17:59:20Z</published><updated>2025-02-28T17:59:20Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/dFShkouits1FFyUctiSSH5</id><summary type="html">Frank Feng is a first-year Ph.D. student in the Department of Computer Science and Technology at the University of Cambridge. His research interests lie at the intersection of machine learning and earth sciences, with a particular focus on the application of self-supervised learning in remote sensing.</summary><category term="EEG Seminars"></category></entry><entry><title>2025-02-28 Weekly Notes</title><link href="https://ancazugo.github.io/research/outreach/2025/02/28/weekly-notes.html" rel="alternate"></link><published>2025-02-28T00:00:00Z</published><updated>2025-02-28T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/research/outreach/2025/02/28/weekly-notes</id><summary type="html">This week I focused mostly on checking why I had some empty rows in the estimation of the canopy cover and the tree count from the Vegetation Object Model. After investigating the code, I found that the issue was behind a try/except clause that was masking corrupted files. Now, this was the intended behaviour originally, as some files can’t be read, however, because the data processing is done at the geographic statistical level (read &lt;a href="https://www.ons.gov.uk/census/census2021dictionary/areatypedefinitions" target="_blank"&gt;ONS&lt;/a&gt; ), and the VOM tiles come in 5x5 km files (following GB National Grid), even when one file can’t be read, the other ones wouldn’t be processed either. With the new small correction, only the corrupted files are not processed and the rest of the files are processed as intended. So from the 5402 tiles, only 26 can’t be read. In addition to this, I...</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>The AIETF arrives, and not a moment too soon</title><link href="https://anil.recoil.org/notes/ai-ietf-aiprefs" rel="alternate"></link><published>2025-02-28T00:00:00Z</published><updated>2025-02-28T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/ai-ietf-aiprefs</id><summary type="html">The &lt;a href="https://ietf.org" target="_blank"&gt;IETF&lt;/a&gt; &lt;a href="https://bsky.app/profile/ietf.org/post/3lj6w5fpjx22u" target="_blank"&gt;announced&lt;/a&gt; their new &lt;a href="https://www.ietf.org/blog/aipref-wg/" target="_blank"&gt;AI Preferences Working Group&lt;/a&gt; (AIPREF), which will "work on standardizing building blocks that allow for the expression of preferences about how content is collected and processed for Artificial Intelligence models" . This is quite well timed; the IETF tries not to standardise too early before there is &lt;a href="https://www.ietf.org/runningcode/" target="_blank"&gt;running code&lt;/a&gt; but also needs to move before it's too late and a bad defacto standard is &lt;a href="https://datatracker.ietf.org/doc/html/rfc7282" target="_blank"&gt;chosen&lt;/a&gt; . The AI world seems to be at that nexus point right about now, with &lt;a href="https://openai.com/index/introducing-gpt-4-5/" target="_blank"&gt;GPT 4.5&lt;/a&gt; seemingly hitting a &lt;a href="https://www.newscientist.com/article/2470327-is-openai-hitting-a-wall-with-huge-and-expensive-gpt-4-5-model/" target="_blank"&gt;scaling wall&lt;/a&gt; and possibly triggering the start of a renewed data scraping frenzy. How do websites interact with AI crawlers right now? I've found when developing my own website there are a number of approaches to interacting with automated data crawlers. For the record, over 90% of...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Blogging BIOSPACE25!</title><link href="http://localhost:4000/2025/02/28/biospace.html" rel="alternate"></link><published>2025-02-28T00:00:00Z</published><updated>2025-02-28T00:00:00Z</updated><author><name>OnkarG</name></author><id>http://localhost:4000/2025/02/28/biospace</id><summary type="html">Blogging BIOSPACE25! 28th February, 2025 Hello world , this is my first Jekyll blog post. With that formality out the way… a couple weeks ago I headed off to the Biospace conference at the ESA-ESRIN Observation Center in Frascati, Italy. While I was only there for 2 days, there was a lot to be excited about. Just past the entrance to the ESA-ESRIN Observation Center, and also past some fairly intense security! My big takeaway from the opening speeches was that this is the first year that the ESA is spending more on building out its data science capabilities than it is on putting satellites into space. To me, this is indicative of the fact that the marginal benefit from putting effort into effectively wrangling huge amounts of data is now greater than that from collecting huge amounts of...</summary><category term="Onkar Gulati"></category></entry><entry><title>Tue 25 Feb 2025</title><link href="https://ryan.freumh.org/2025-02-25.html" rel="alternate"></link><published>2025-02-25T00:00:00Z</published><updated>2025-02-25T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-02-25.html</id><summary type="html">Previous: &lt;a href="2025-02-17.html" target="_blank"&gt;Mon 17 Feb 2025&lt;/a&gt; Next: &lt;a href="2025-03-03.html" target="_blank"&gt;Mon 3 Mar 2025&lt;/a&gt; Babel: opam repository with &lt;a href="https://github.com/RyanGibb/pubgrub-opam" target="_blank"&gt;pubgrub-opam&lt;/a&gt; A Debian/Alpine encoding in PubGrub, which I think should be much simpler than Opam DONE Got the basics in &lt;a href="https://github.com/RyanGibb/pubgrub-debian" target="_blank"&gt;pubgrub-debian&lt;/a&gt; Here’s a solve of openssh-server: (openssh-server, 1:7.9p1-10+deb10u2) -&gt; (libssl1.1, &gt;=1.1.1), (openssh-client, 1:7.9p1-10+deb10u2), (libc6, &gt;=2.26), (libcom-err2, &gt;=1.43.9), (procps, *), (lsb-base, &gt;=4.1+Debian3), (libaudit1, &gt;=1:2.2.1), (dpkg, &gt;=1.9.0), (ucf, &gt;=0.28), (libselinux1, &gt;=1.32), (libgssapi-krb5-2, &gt;=1.17), (libsystemd0, *), (debconf: &gt;=0.5 | debconf-2.0: *, *), (libpam0g, &gt;=0.99.7.1), (openssh-sftp-server, *), (libpam-runtime, &gt;=0.76-14), (libpam-modules, &gt;=0.72-9), (zlib1g, &gt;=1:1.1.4), (adduser, &gt;=3.9), (libkrb5-3, &gt;=1.13~alpha1+dfsg), (libwrap0, &gt;=7.6-4~) (libssl1.1,...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Using Go with Wasm and Web Workers</title><link href="https://digitalflapjack.com/blog/go-wasm-workers/" rel="alternate"></link><published>2025-02-24T15:08:58Z</published><updated>2025-02-24T15:08:58Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/go-wasm-workers/</id><summary type="html">These are some notes for myself about trying to use Wasm and Web Workers to achieve some level of parallelisation in the browser. This isn't meant to be a comprehensive tutorial, but there are so many broken tutorials or half bits of documentation out there, I thought I should leave myself a note here. This is just the result of an afternoon of spelunking to try and work out how to do this, and should not be considered comprehensive. Example If you're viewing this page directly (rather than via an RSS reader) and your browser supports Wasm, then below you should see a &lt;a href="https://en.wikipedia.org/wiki/Mandelbrot_set" target="_blank"&gt;Mandelbrot fractal&lt;/a&gt; render into place above, with different chunks appearing at different points (and on Safari you might see some banding, which is it failing to align the canvas tiles properly rather than being an issue with the...</summary><category term="Digital Flapjack"></category></entry><entry><title>Weeknotes: 24th February 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-02-24/" rel="alternate"></link><published>2025-02-24T09:07:12Z</published><updated>2025-02-24T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-02-24/</id><summary type="html">Last Week LIFE As started &lt;a href="/weeknotes/2025-02-17/" target="_blank"&gt;last week&lt;/a&gt; , I finished the changes to let you run the &lt;a href="https://github.com/quantifyearth/life/" target="_blank"&gt;LIFE pipeline&lt;/a&gt; using the bulk data downloads from the &lt;a href="https://iucnredlist.org/" target="_blank"&gt;IUCN Red List&lt;/a&gt; website, which give you a bunch of CSV files of species data and then some shapefiles of range data. Previously I'd been using a PostGIS database with all the data in, but not everyone has one of those to hand, and I want to make it was easy as possible for others to run the pipeline to reproduce our work. After being very impressed last week at the behaviour of &lt;a href="https://duckdb.org/" target="_blank"&gt;DuckDB&lt;/a&gt; , particularly in the way it'd let me do spatial queries, I did realise that the performance of ST_UNION_AGG , it's version of PostGIS's ST_UNION was significantly slower than just pulling the different ranges for a species and using &lt;a href="https://shapely.readthedocs.io/en/stable/manual.html" target="_blank"&gt;shapely&lt;/a&gt; to unify them in Python. It's still...</summary><category term="Digital Flapjack"></category></entry><entry><title>Robotics and Sensing for Sustainable Crop Production</title><link href="https://watch.eeg.cl.cam.ac.uk/w/9hADtA5Fov2vdDt9iNVjJQ" rel="alternate"></link><published>2025-02-21T16:26:06Z</published><updated>2025-02-21T16:26:06Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/9hADtA5Fov2vdDt9iNVjJQ</id><summary type="html">Abstract: Crop farming is essential in our society, providing food, feed, fiber, and fuel. We heavily rely on crop production, but at the same time, we need to reduce the production footprint. We aim to address this key challenge by investigating new solutions to produce crops more sustainably. We study novel technology-driven approaches to move toward sustainable crop production. Agricultural robots offer promising directions to address management challenges in agricultural fields or support plant breeding efforts through large-scale trait acquisition. For that, field robots need the ability to perceive and model their environment, predict possible future developments, and make appropriate decisions in complex and changing situations. This talk will showcase our recent developments in...</summary><category term="EEG Seminars"></category></entry><entry><title>2025-02-21 Weekly Notes</title><link href="https://ancazugo.github.io/research/outreach/2025/02/21/weekly-notes.html" rel="alternate"></link><published>2025-02-21T00:00:00Z</published><updated>2025-02-21T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/research/outreach/2025/02/21/weekly-notes</id><summary type="html">So back to the routine after coming from Italy for BIOSPACE25. It was a really great experience in the ESA HQ but I got a cold from Italy 😷. This week started by going to the Social and Spatial Epidemiology Module from the &lt;a href="https://www.phs.group.cam.ac.uk/" target="_blank"&gt;PHS MPhil&lt;/a&gt; in the Biomedical Campus. It’s originally desgined to help public health students understand that it is a spatial domain, with all that it means. I really enjoyed the course in that I was exposed to things that I wasn’t aware of like redlining and gerrymandering in the US. Special shoutout to &lt;a href="https://health.usnews.com/doctors/james-lewis-291573" target="_blank"&gt;Dr James Lewis&lt;/a&gt; , invited speaker to the module, who is an active nephrologist in Atlanta, Georgia. His lecture is one of the most engaging I’ve ever seen here in Cambridge. I really enjoyed how he initiated with the story about his aunt and ended with his daughter. He also...</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>A trio of papers I read on biodiversity and forests this week</title><link href="https://anil.recoil.org/notes/forest-apps-and-benchmarks" rel="alternate"></link><published>2025-02-20T00:00:00Z</published><updated>2025-02-20T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/forest-apps-and-benchmarks</id><summary type="html">This week I've been reading three really nice pieces of work by my colleagues, in the form of a &lt;a href="https://www.nature.com/articles/s44358-025-00022-3" target="_blank"&gt;review paper&lt;/a&gt; on biodiversity and AI, a &lt;a href="https://besjournals.onlinelibrary.wiley.com/doi/10.1111/2041-210X.14503" target="_blank"&gt;benchmark&lt;/a&gt; for 3D forest reconstruction using laser scanners and a &lt;a href="https://github.com/MingyueX/GreenLens" target="_blank"&gt;mobile app&lt;/a&gt; for measuring the width of tree trunks. A real bonanza for forest lovers! Review paper on mapping opportunities for AI in biodiversity A paper on ' &lt;a href="https://www.nature.com/articles/s44358-025-00022-3" target="_blank"&gt;Harnessing AI to fill global shortfalls in biodiversity knowledge&lt;/a&gt; ' just came out in Nature Biodiversity today (via &lt;a href="http://oisin.info" target="_blank"&gt;Oisin Mac Aodha&lt;/a&gt; ). They start with the baseline present uses of AI (camera traps, acoustic monitoring and improved data analysis) which are pretty well known to anyone in the field, but then introduce &lt;a href="https://www.nature.com/articles/s44358-025-00022-3/figures/1" target="_blank"&gt;a lovely diagram of future uses&lt;/a&gt; of AI for biodiversity which includes: Rapid retrieval of existing information means both looking into existing literature, but also the digitisation of existing museum...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Weeknotes: 17th February 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-02-17/" rel="alternate"></link><published>2025-02-17T09:07:12Z</published><updated>2025-02-17T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-02-17/</id><summary type="html">Last Week LIFE For the &lt;a href="https://github.com/quantifyearth/life/" target="_blank"&gt;LIFE extinction-risk metric pipeline&lt;/a&gt; , all the species data comes from the &lt;a href="https://www.iucnredlist.org/" target="_blank"&gt;IUCN Red List&lt;/a&gt; , and this week I began a job I'd been intending to do for a while to make that stage pragmatically accessible to people trying to run our pipeline externally. Originally, as LIFE was being developed, the species data was manually downloaded from the Red List website using their bulk download facility, which gives you a ZIP file of CSVs for the empirical data, and then another set of ZIPs that contain the polygon range data. These had then been run through a mixture of hand processing and Python scripting to filter it down to the appropriate species for the LIFE metric. As we came to publication I wanted to automate this, which I did, but at that stage, because I was working closely with the IUCN on...</summary><category term="Digital Flapjack"></category></entry><entry><title>Vpnkit, Void Processes, LSP Servers</title><link href="https://patrick.sirref.org/weekly-2025-02-17/" rel="alternate"></link><published>2025-02-17T00:00:00Z</published><updated>2025-02-17T00:00:00Z</updated><author><name>PatrickF</name></author><id>https://patrick.sirref.org/weekly-2025-02-17/</id><summary type="html">Previous &lt;a href="https://patrick.sirref.org/weeklies/" target="_blank"&gt;weeklies&lt;/a&gt; used strong emphasis to distinguish sections. This comes from &lt;a href="https://patrick.sirref.org/forester/" target="_blank"&gt;Forester&lt;/a&gt; 's philosophy about atomicity of the content in your forest . However, subtrees are supported! I quickly hacked together the ability to use subheadings to indicate subtrees . This is strictly less expressive than the \subtree{} of &lt;a href="https://patrick.sirref.org/forester/" target="_blank"&gt;Forester&lt;/a&gt; 's default syntax as we cannot close heading sections in Markdown. This weekly uses subtrees. Vpnkit I spent some time this week trying to upgrade vpnkit to OCaml 5. I was originally working on &lt;a href="https://patrick.sirref.org/vpnkit-er/" target="_blank"&gt;a paper idea&lt;/a&gt; which might need benchmarks, but &lt;a href="https://patrick.sirref.org/anilmadhavapeddy/" target="_blank"&gt;Anil&lt;/a&gt; and I decided we could simply point to the port I did and show how it has simplified much of the code. Void Processes Work continued on implementing (and fully exploring) &lt;a href="https://patrick.sirref.org/void-process/" target="_blank"&gt;void processes&lt;/a&gt; . A lot of the groundwork already...</summary><category term="Weeklies"></category></entry><entry><title>Mon 17 Feb 2025</title><link href="https://ryan.freumh.org/2025-02-17.html" rel="alternate"></link><published>2025-02-17T00:00:00Z</published><updated>2025-02-17T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-02-17.html</id><summary type="html">Previous: &lt;a href="2025-02-10.html" target="_blank"&gt;Mon 10 Feb 2025&lt;/a&gt; Next: &lt;a href="2025-02-25.html" target="_blank"&gt;Tue 25 Feb 2025&lt;/a&gt; Babel: opam repository with &lt;a href="https://github.com/RyanGibb/pubgrub-opam" target="_blank"&gt;pubgrub-opam&lt;/a&gt; DONE &lt;a href="https://github.com/RyanGibb/pubgrub-opam/tree/main/example-repo" target="_blank"&gt;tests&lt;/a&gt; DONE &lt;a href="https://crates.io/crates/pubgrub/0.3.0-alpha.1" target="_blank"&gt;PubGrub
0.3.0&lt;/a&gt; &lt;a href="https://github.com/astral-sh/uv" target="_blank"&gt;Uv&lt;/a&gt; is using the development branch of PubGrub. There’s a lot of improvements to be had since the last release was 4 years ago. The new version bounds will cleanly express version constraints, e.g. stop converting &lt;= 1.0.0 to &lt; 1.0.0.1 It looks like we might be able to manually add conflicts with &lt;a href="https://github.com/pubgrub-rs/pubgrub/blob/23357967c6473b358ffb7c0092e9c3fc4e4c972b/src/internal/core.rs#L94" target="_blank"&gt;add_incompatibility&lt;/a&gt; Ah, actually this is an internal thing. Completed &lt;a href="https://github.com/RyanGibb/pubgrub-opam/commit/d67fcfcfd02fc1e5fb720d5f89986d895693dce4" target="_blank"&gt;here&lt;/a&gt; . DONE conjunctions and disjunctions in filtered package formula Take "D" { test &amp; &gt; "2.0.0"} as an example. We encode this as, (filtered-package-formula-variable-version, 1.0.0) -&gt; (D {(test &amp; = &gt;2.0.0)}, *) (D {(test &amp; = &gt;2.0.0)}, false) -&gt; (`test`, false) (D {(test &amp; = &gt;2.0.0)}, true) -&gt; (`test`, true), (A,...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Thoughts on the National Data Library and private research data</title><link href="https://anil.recoil.org/notes/uk-national-data-lib" rel="alternate"></link><published>2025-02-17T00:00:00Z</published><updated>2025-02-17T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/uk-national-data-lib</id><summary type="html">Over the past year, &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; and I have been getting an object lesson in how the modern Internet handles researcher access to data, as we've been downloading tens of millions of research papers towards our &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence&lt;/a&gt; project. This is legally possible via our &lt;a href="https://www.lib.cam.ac.uk/stories/student-guide-libraries" target="_blank"&gt;institutional subscriptions&lt;/a&gt; that give us license to fulltexts, and the incredibly helpful &lt;a href="https://uk.linkedin.com/in/james-caudwell-60681766" target="_blank"&gt;head of electronic services&lt;/a&gt; at the University Library who wields encyclopedic knowledge of each of our agreements with the hundreds of publishers out there. My thoughts on this then segwayed into recent conversations I've been having about the emerging &lt;a href="https://takes.jamesomalley.co.uk/p/wtf-is-the-national-data-library" target="_blank"&gt;National Data Library&lt;/a&gt; and also with the UK &lt;a href="https://www.wildlifetrusts.org/" target="_blank"&gt;Wildlife Trusts&lt;/a&gt; ... The difficulty of access controlled bulk data downloads In late 2023, once we got past the legal aspects of downloading closed access papers &lt;a href="https://anil.recoil.org/#fn-1" target="_blank"&gt;[1]&lt;/a&gt; it was still remarkably...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Using Low-cost, Research-led, Decentralised Networks</title><link href="https://watch.eeg.cl.cam.ac.uk/w/8PhivRm85jZuFg8v55yo7F" rel="alternate"></link><published>2025-02-14T16:25:58Z</published><updated>2025-02-14T16:25:58Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/8PhivRm85jZuFg8v55yo7F</id><summary type="html">Full Title: Using Low-cost, Research-led, Decentralised Networks to Increase Access to High Quality Microspatial Data on Building Stocks, and the Built and Natural Infrastructure Abstract: The Colouring Cities Research Programme (CCRP) is overseen by an informal, international academic consortium that uses its decentralized research-led network, to co-create and manage, permanent open data/visualisation platforms across countries. These provide standardised, open microspatial data on the characteristics, performance, and short/long-term dynamics of building stocks, and built and natural infrastructure. They also test feedback loops between live streaming, computational inference, and crowdsourcing approaches to improve coverage and reliability of data, and to support cross...</summary><category term="EEG Seminars"></category></entry><entry><title>BIOSPACE25 Blog</title><link href="https://ancazugo.github.io/research/outreach/2025/02/14/biospace25-blog.html" rel="alternate"></link><published>2025-02-14T00:00:00Z</published><updated>2025-02-14T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/research/outreach/2025/02/14/biospace25-blog</id><summary type="html">Day 2 My presentation (available to watch &lt;a href="https://www.youtube.com/live/e-eQ8XhRrsE?si=lv0p4CV3kdKGxmTk&amp;t=14326" target="_blank"&gt;here&lt;/a&gt; ) A couple of people approached me about deploying the Terracorder, particularly an organisation that works in training Indigenous communities in the Amazon and Kenya. (Diana Mastracci) Got asked about the technical components of the terracorder (how far can two devices be from each other?) Several people scanned the QR code, so hopefully, they will contact me. A representative of the European Commission asked about the urban tree map (Have to watch the recording because he ran away after the presentation) Poster Session Onkar did really great in his presentation. There are people who are working on using GeoFM for sustainable goals. There is a trend on using as much RS data as possible for different applications. Michael Munk from DHI...</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>`nmcli` connection to internal WiFi</title><link href="https://mort.io/blog/internalcl-wifi/" rel="alternate"></link><published>2025-02-14T00:00:00Z</published><updated>2025-02-14T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/internalcl-wifi/</id><summary type="html">Using my fancy (?) new(-ish) Linux laptop running &lt;a href="https://nixos.org/" target="_blank"&gt;NixOS&lt;/a&gt; , I finally had cause to connect to our internal Wi-Fi network. This was not entirely trivial due to the various configuration options required. So here goes, for the record, what I did as an aide memoir for me and in case it’s useful for anyone else… First, create the connection – the Wi-Fi network in question is named Internal-CL : $ sudo nmcli connection add type wifi con-name Internal-CL ssid Internal-CL Connection ' Internal-CL ' (8f1ddcc9-4b1f-4e5d-9992-522714685eb4 ) successfully added. Then, configure it: $ sudo nmcli connection edit Internal-CL = == | nmcli interactive connection editor | = == Editing existing ' 802-11-wireless ' connection: ' Internal-CL ' Type ' help ' or ' ? ' for available commands. Type ' print '...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Updated preprint on quantifying biodiversity cost of food consumption</title><link href="https://anil.recoil.org/news/2024-food-life-2" rel="alternate"></link><published>2025-02-12T00:00:00Z</published><updated>2025-02-12T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-food-life-2</id><summary type="html">We've uploaded a revised preprint on our ongoing work on quantifying the &lt;a href="https://anil.recoil.org/papers/2024-food-life" target="_blank"&gt;biodiversity cost of global food consumption&lt;/a&gt; , lead by &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-tom-ball" target="_blank"&gt;Thomas Ball&lt;/a&gt; . This is based on the &lt;a href="https://anil.recoil.org/news/2024-life-3" target="_blank"&gt;recently published&lt;/a&gt; &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;LIFE&lt;/a&gt; metric, combined with supply chain data and provenance modeling. [… &lt;a href="https://anil.recoil.org/news/2024-food-life-2" target="_blank"&gt;196 words&lt;/a&gt; ] &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-tom-ball" target="_blank"&gt;Thomas Ball&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.york.ac.uk/sei/staff/jonathan-green/" target="_blank"&gt;Jonathan Green&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , David Williams and &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; . Working paper at &lt;a href="https://www.cambridge.org/engage/coe/article-details/67a21eac81d2151a0225692b" target="_blank"&gt;Cambridge Open Engage&lt;/a&gt; . &lt;a href="https://www.cambridge.org/engage/coe/article-details/67a21eac81d2151a0225692b" target="_blank"&gt;URL&lt;/a&gt; (cambridge.org) &lt;a href="https://doi.org/10.33774/coe-2024-fl5fk-v2" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-food-life.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-food-life.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Weeknotes: 10th February 2025</title><link href="https://digitalflapjack.com/weeknotes/2025-02-10/" rel="alternate"></link><published>2025-02-10T09:07:12Z</published><updated>2025-02-10T09:07:12Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/weeknotes/2025-02-10/</id><summary type="html">Last week Yirgacheffe I hand't planned this, but I spent a day reworking the &lt;a href="https://github.com/quantifyearth/yirgacheffe/" target="_blank"&gt;Yigacheffe&lt;/a&gt; APIs towards what I've always thought of as the next major version interface, and had filed under "mañana" due to other work being more important. But inspired by one of the part II projects I'm supervising (final year undergrad for those not from Cambridge), I decided I really needed to fix up the APIs to make them cleaner. Yirgacheffe has some clunky parts to the API where it fails to meet the aim I have that working on maps should result in Python code that clearly follows the methodology rather than dealing with house keeping around the data. In a lot of areas I like to think I've been successful; for example, it will deal with loading in data in small chunks to as to fit within memory. But other...</summary><category term="Digital Flapjack"></category></entry><entry><title>Teaching, teaching, teaching...</title><link href="https://patrick.sirref.org/weekly-2025-02-10/" rel="alternate"></link><published>2025-02-10T00:00:00Z</published><updated>2025-02-10T00:00:00Z</updated><author><name>PatrickF</name></author><id>https://patrick.sirref.org/weekly-2025-02-10/</id><summary type="html">On paper, I don't have that many students. I teach four undergraduates (first year students at Pembroke College) &lt;a href="https://patrick.sirref.org/discrete-maths/" target="_blank"&gt;Discrete Maths&lt;/a&gt; . I supervise three third year students for their &lt;a href="https://patrick.sirref.org/part-ii-2024/" target="_blank"&gt;final year project&lt;/a&gt; and another one I co-supervise with &lt;a href="https://patrick.sirref.org/mdales/" target="_blank"&gt;Michael Dales&lt;/a&gt; . However, I do end up spending at least two full days a week on teaching. Something I really enjoy and take seriously. The time it takes is also quite unpredictable; last week for instance all the third year students had their mid-project demonstrations (a five-minute presentation in front of their peers and a few professor-types). My first year students also found two slides particularly challenging to understand from their lectures and asked if I could help explain what was going on, so I &lt;a href="https://patrick.sirref.org/dm-note.pdf" target="_blank"&gt;produced some materials for that&lt;/a&gt; . OCaml Within the OCaml universe I spent a good bit of...</summary><category term="Weeklies"></category></entry><entry><title>Mon 10 Feb 2025</title><link href="https://ryan.freumh.org/2025-02-10.html" rel="alternate"></link><published>2025-02-10T00:00:00Z</published><updated>2025-02-10T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-02-10.html</id><summary type="html">Previous: &lt;a href="2025-02-03.html" target="_blank"&gt;Mon 3 Feb 2025&lt;/a&gt; Next: &lt;a href="2025-02-17.html" target="_blank"&gt;Mon 17 Feb 2025&lt;/a&gt; Babel: solve the opam repository with &lt;a href="https://github.com/RyanGibb/pubgrub-opam" target="_blank"&gt;pubgrub-opam&lt;/a&gt; While converting the whole repository I fixed a bug in a package &lt;a href="https://github.com/ocaml/opam-repository/pull/27429" target="_blank"&gt;definition&lt;/a&gt; DONE &lt;a href="https://github.com/RyanGibb/pubgrub-opam/commit/2cb66fe1ae13bc16e1b5116948de5ee2dcba990a" target="_blank"&gt;on-demand
···
versions&lt;/a&gt; - &lt;a href="https://github.com/RyanGibb/pubgrub-opam/commit/7f941e30f5b6ea11c201e667c2aee6984606bb26" target="_blank"&gt;here&lt;/a&gt; DONE I’ve added an encoding of boolean logic in Opam’s &lt;a href="https://opam.ocaml.org/doc/Manual.html#Package-Formulas" target="_blank"&gt;package
formula&lt;/a&gt; - &lt;a href="https://github.com/RyanGibb/pubgrub-opam/commit/63f12dd256fac440d0c69a079c324855cbee224c" target="_blank"&gt;here&lt;/a&gt; We support version formula with PubGrub’s Range operations (e.g. union, intersection, etc) We support...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Satellites are getting too good for forest carbon?</title><link href="https://anil.recoil.org/notes/forests-spatial-resolution" rel="alternate"></link><published>2025-02-03T00:00:00Z</published><updated>2025-02-03T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/forests-spatial-resolution</id><summary type="html">There's a &lt;a href="https://www.science.org/doi/10.1126/science.adt6811" target="_blank"&gt;letter in Science&lt;/a&gt; today from a bunch of well known remote sensing researchers that make the unusual point that modern satellite resolution is getting too good to be accurate for forest carbon estimation. Many new satellites can resolve fine features on the landscape, and even some individual trees outside forests, but this resolution (0.3-5m) is too high for mapping forest carbon. Forest carbon has a natural resolution constraint: the size of an individual tree. To create these maps, tree data from the ground are required because there is no direct measure of tree carbon nor any way to accurately divide trees into smaller components from space. [...] Because most carbon in a forest is stored in large trees, map resolutions should at minimum exceed the crown diameter of a typical large...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Emacs</title><link href="https://ryan.freumh.org/emacs.html" rel="alternate"></link><published>2025-02-02T00:00:00Z</published><updated>2025-02-02T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/emacs.html</id><summary type="html">Published Sun 2 Feb 2025. Last update Tue 18 Feb 2025. Tags: &lt;a href="/technology.html" target="_blank"&gt;technology&lt;/a&gt; . I started using Emacs for the &lt;a href="https://www.djcbsoftware.nl/code/mu/mu4e/" target="_blank"&gt;mu4e&lt;/a&gt; mail client after using and liking the &lt;a href="https://www.djcbsoftware.nl/code/mu/" target="_blank"&gt;mu&lt;/a&gt; mail indexer on the command line (read more about my &lt;a href="mail-client.html" target="_blank"&gt;mail client
setup&lt;/a&gt; ). Similarly, I was using the &lt;a href="https://ledger-cli.org/" target="_blank"&gt;ledger-cli&lt;/a&gt; accounting system, and found the Emacs minor mode to be great. Then I got curious about Emacs &lt;a href="https://orgmode.org/" target="_blank"&gt;Org Mode&lt;/a&gt; and started using it for note taking and task management. Now I’m using Emacs as my primary development environment. I realised that configuring Emacs to my liking would be like second job, which I didn’t have the bandwidth for, so I started using the ‘distribution’ &lt;a href="https://github.com/doomemacs/doomemacs" target="_blank"&gt;Doom Emacs&lt;/a&gt; . It enables Vim bindings everywhere with &lt;a href="https://github.com/emacs-evil/evil" target="_blank"&gt;Evil Mode&lt;/a&gt; which, coming from &lt;a href="vim.html" target="_blank"&gt;Vim&lt;/a&gt; , made it much easier to get up to speed. The Emacs philosophy...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Disentangling carbon credits and offsets with contributions</title><link href="https://anil.recoil.org/notes/carbon-credits-vs-offsets" rel="alternate"></link><published>2025-02-02T00:00:00Z</published><updated>2025-02-02T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/carbon-credits-vs-offsets</id><summary type="html">The terms &lt;a href="https://en.wikipedia.org/wiki/Carbon_offsets_and_credits" target="_blank"&gt;carbon credits and carbon offsets&lt;/a&gt; are often used interchangeably, but are in fact two distinct concepts. I've spent a nice Sunday morning reading up on some &lt;a href="https://ssir.org/articles/entry/forest-contributions-carbon-offsets" target="_blank"&gt;recent articles&lt;/a&gt; that &lt;a href="https://en.wikipedia.org/wiki/Bhaskar_Vira" target="_blank"&gt;Bhaskar Vira&lt;/a&gt; sent me which introduce a third term, known as "carbon contributions" . Rather than this adding confusion, I found it helped me clarify my own thoughts on the matter, which I note down here in draft form. (Update 7th Feb: I've revised this several times after many discussions this week, especially with &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; and &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , with full list of credits in the end) What are carbon credits and offsets? A carbon credit aims to quantify the net climate benefit resulting an intervention that alters some CO2 emissions that would otherwise have gone into the atmosphere in a business-as-usual counterfactual scenario. While...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>(Neo)Vim</title><link href="https://ryan.freumh.org/vim.html" rel="alternate"></link><published>2025-02-01T00:00:00Z</published><updated>2025-02-01T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/vim.html</id><summary type="html">Published Sat 1 Feb 2025. Last update Tue 18 Feb 2025. Tags: &lt;a href="/technology.html" target="_blank"&gt;technology&lt;/a&gt; . I used to use &lt;a href="https://neovim.io/" target="_blank"&gt;Neovim&lt;/a&gt; as my main development environment. I like the fact that it’s small and fast, and that I can use it over an SSH connection. Neovim is a fork of &lt;a href="https://www.vim.org/" target="_blank"&gt;Vim&lt;/a&gt; that I use for the Lua configuration and built-in Language Server Protocol support. However, I mainly use &lt;a href="emacs.html" target="_blank"&gt;Emacs&lt;/a&gt; these days. I extensively use &lt;a href="https://github.com/emacs-evil/evil" target="_blank"&gt;evil&lt;/a&gt; (a Vi(m) compatibility layer for Emacs), so I haven’t really stopped using Vim but instead just use it inside a big Lisp machine. You can find my configuration in my &lt;a href="./nix.html" target="_blank"&gt;Nix&lt;/a&gt; OS repository &lt;a href="https://github.com/RyanGibb/nixos/tree/master/home/nvim" target="_blank"&gt;here&lt;/a&gt; . Below are my working notes on learning and using (Neo)Vim. References: :help usr_toc.txt :help index ZZ / ZQ exit with / without saving basic motions h j k l i I a A 0 $ w e b W E B...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Using computational SSDs for vector databases</title><link href="https://anil.recoil.org/ideas/computational-storage-for-vector-dbs" rel="alternate"></link><published>2025-02-01T00:00:00Z</published><updated>2025-02-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/computational-storage-for-vector-dbs</id><summary type="html">Using computational SSDs for vector databases This is an idea proposed in 2025 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . Large &lt;a href="https://en.wikipedia.org/wiki/Foundation_model" target="_blank"&gt;pre-trained models&lt;/a&gt; can be used to embed media/documents into concise vector representations with the property that vectors that are "close" to each other are semantically related. &lt;a href="https://en.wikipedia.org/wiki/Nearest_neighbor_search" target="_blank"&gt;ANN&lt;/a&gt; (Approximate Nearest Neighbour) search on these embeddings is used heavily already in &lt;a href="https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/" target="_blank"&gt;RAG&lt;/a&gt; systems for LLMs or search-by-example for satellite imagery. Right now, most ANN databases almost exclusively use memory-resident indexes to accelerate this searching. This is a showstopper for larger datasets, such as the terabytes of PDFs we have for our &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;big evidence synthesis&lt;/a&gt; project, each of which...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Deepdive into Deepseek advances</title><link href="https://anil.recoil.org/notes/deepseek-r1-advances" rel="alternate"></link><published>2025-02-01T00:00:00Z</published><updated>2025-02-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/deepseek-r1-advances</id><summary type="html">&lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; posted a link to this excellent deepdive by &lt;a href="https://www.linkedin.com/in/prasadraje/" target="_blank"&gt;Prasad Raje&lt;/a&gt; of Udemy into the advances that &lt;a href="https://deepseek.com" target="_blank"&gt;DeepSeek&lt;/a&gt; R1 has made from a perspective of the core technology. Multi-headed Latent Attention (MLA). In the famous Google " &lt;a href="https://arxiv.org/abs/1706.03762" target="_blank"&gt;Attention is all you need&lt;/a&gt; " paper, the attention block is responsible for a lot of the magic of LLMs but is also compute heavy [...] Deepseek has innovated here with Multi-headed latent attention - which essentially reduces the size of matrix multiplication applied to generate the K,V vectors that are inputs into the attention block. Combined with KV Caching, this reduces the memory needs [...] Mixture of Experts (MoE). The key idea here is that instead of feeding each token through one massive &lt;a href="https://en.wikipedia.org/wiki/Feedforward_neural_network" target="_blank"&gt;FFN&lt;/a&gt; , break down the single FFN into a number of smaller FFNs and route each token...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Affordable digitisation of insect collections using photogrammetry</title><link href="https://anil.recoil.org/ideas/digitisation-of-insects" rel="alternate"></link><published>2025-02-01T00:00:00Z</published><updated>2025-02-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/digitisation-of-insects</id><summary type="html">Affordable digitisation of insect collections using photogrammetry This is an idea proposed in 2025 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://www.cambridgephilosophicalsociety.org/funding/henslow-fellows/dr-tiffany-ki" target="_blank"&gt;Tiffany Ki&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-edgar-turner" target="_blank"&gt;Edgar Turner&lt;/a&gt; . Insects dominate animal biodiversity and are sometimes called " &lt;a href="https://faculty.washington.edu/timbillo/Readings%20and%20documents/ABRIDGED%20READINGS%20for%20PERU/Wilson_1987_Little_things_that_run.pdf" target="_blank"&gt;the little things that run the world&lt;/a&gt; ". They play a disproportionate role in ecosystem functioning, are highly sensitive to environmental change and often considered to be early indicators of responses in other taxa. There is widespread concern about global insect declines &lt;a href="https://anil.recoil.org/#fn-1" target="_blank"&gt;[1]&lt;/a&gt; yet the evidence behind such declines is highly biassed towards the Global North and much is drawn from short-term biodiversity datasets &lt;a href="https://anil.recoil.org/#fn-2" target="_blank"&gt;[2]&lt;/a&gt; &lt;a href="https://anil.recoil.org/#fn-3" target="_blank"&gt;[3]&lt;/a&gt; . The &lt;a href="https://www.museum.zoo.cam.ac.uk/insects" target="_blank"&gt;Insect Collection&lt;/a&gt; at the University Museum of Zoology, Cambridge...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>How to publish custom Homebrew taps for OCaml</title><link href="https://anil.recoil.org/notes/custom-homebrew-taps" rel="alternate"></link><published>2025-01-31T00:00:00Z</published><updated>2025-01-31T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/custom-homebrew-taps</id><summary type="html">Now that I've &lt;a href="https://anil.recoil.org/notes/bushel-lives" target="_blank"&gt;switched&lt;/a&gt; to a new website, I'm working on open-sourcing its components. I've got a lot of small OCaml scripts that are all work-in-progress, and so not quite suitable to be published to the &lt;a href="https://github.com/ocaml/opam-repository" target="_blank"&gt;central opam-repository&lt;/a&gt; but I still need be able to run them conveniently on my own &lt;a href="https://anil.recoil.org/" target="_blank"&gt;self-hosted&lt;/a&gt; infrastructure. I mainly use a variety of macOS and Linux hosts &lt;a href="https://anil.recoil.org/#fn-1" target="_blank"&gt;[1]&lt;/a&gt; and I want a workflow as simple as " brew install avsm/ocaml/srcsetter " and have it install a working binary version of my CLI utility. In this case, it's &lt;a href="https://github.com/avsm/srcsetter" target="_blank"&gt;srcsetter&lt;/a&gt; , a simple tool I knocked up to generate the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Responsive_images" target="_blank"&gt;responsive images&lt;/a&gt; on this website. Luckily, Homebrew has made this really easy for us! They have a &lt;a href="https://docs.brew.sh/BrewTestBot" target="_blank"&gt;BrewTestBot&lt;/a&gt; that integrates with GitHub Actions to automate the compilation of binary packages for us, all from a convenient PR-like...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>PhD viva, UK style</title><link href="https://mort.io/blog/phd-viva/" rel="alternate"></link><published>2025-01-31T00:00:00Z</published><updated>2025-01-31T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/phd-viva/</id><summary type="html">Having recently, happily, had several PhD students completing in short order, I’ve been approaching external PhD examiners. Occasionally I find myself asking someone who’s not done any / many in the UK previously. As our system – as all such systems! – is a bit different to those in other parts of the world, I’ve written a few notes on a couple of occasions about what to expect. So I figured I might as well publish them. What follows is my impression / understanding based on experience here in the &lt;a href="https://www.cst.cam.ac.uk/" target="_blank"&gt;Department of Computer Science &amp; Technology&lt;/a&gt; , &lt;a href="https://www.cam.ac.uk/" target="_blank"&gt;Cambridge University&lt;/a&gt; ca. 2025. Your Mileage May Vary anywhen and anywhere else, including anywhere else in the UK – check local regulations to be sure. In terms of process, the system here is that candidates submit their complete dissertation and then undergo a “viva voce” (oral examination)....</summary><category term="mort’s mythopœia"></category></entry><entry><title>Position paper on scientifically credible carbon credits</title><link href="https://anil.recoil.org/notes/credible-credit-principles" rel="alternate"></link><published>2025-01-30T00:00:00Z</published><updated>2025-01-30T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/credible-credit-principles</id><summary type="html">My colleagues &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; and &lt;a href="https://www.cst.cam.ac.uk/people/eft20" target="_blank"&gt;Eleanor Toye Scott&lt;/a&gt; lead the publication of a comprehensive &lt;a href="https://www.cambridge.org/engage/coe/article-details/679385946dde43c9082f7009" target="_blank"&gt;report&lt;/a&gt; of the steps the voluntary carbon market needs to take to restore its scientific credibility, with input from many of us in &lt;a href="https://anil.recoil.org/projects/4c" target="_blank"&gt;4C&lt;/a&gt; and beyond. establishing common standards for carbon quantification and accounting, to cover additionality, leakage and permanence. avoiding perverse incentives and align the motivations of all stakeholders with high-integrity outcomes. [...] issuing all carbon credits based on trusted primary observations. making all the data needed to reproduce carbon calculations available in standard file formats. [...] reporting social and biodiversity dimensions of projects separately from carbon calculations. integrating DMRV methods into carbon and biodiversity accounting...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Arise Bushel, my sixth generation oxidised website</title><link href="https://anil.recoil.org/notes/bushel-lives" rel="alternate"></link><published>2025-01-29T00:00:00Z</published><updated>2025-01-29T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/bushel-lives</id><summary type="html">This website has been through quite a few iterations over the years. The first version in 1998 was written in Perl and hosted on &lt;a href="https://anil.recoil.org/" target="_blank"&gt;OpenBSD&lt;/a&gt; ; the second was rewritten in 2000 when I &lt;a href="https://anil.recoil.org/notes/commit-access-to-php" target="_blank"&gt;got commit access to PHP&lt;/a&gt; ; the third rewrite became a hybrid OCaml/PHP/Perl special in 2004 in &lt;a href="https://en.wikipedia.org/wiki/Blosxom" target="_blank"&gt;Blosxom&lt;/a&gt; ; then the forth rewrite around 2013 got turned into a &lt;a href="https://anil.recoil.org/projects/unikernels" target="_blank"&gt;unikernel&lt;/a&gt; in MirageOS; then the &lt;a href="https://web.archive.org/web/20220118200046/https://anil.recoil.org/" target="_blank"&gt;fifth&lt;/a&gt; in 2019 then transitioned to an OCaml static site generator hosted on a prerelease &lt;a href="https://github.com/avsm/eeww" target="_blank"&gt;multicore OCaml webserver&lt;/a&gt; . So the sixth generation now needs something to continue the grand &lt;a href="https://en.wikipedia.org/wiki/Rube_Goldberg_machine" target="_blank"&gt;Rube Goldberg&lt;/a&gt; tradition of helping me learn the latest and greatest in systems technology. And so here it is! The site is now written in a bleeding-edge unreleased variant of OCaml with extensions based around &lt;a href="https://blog.janestreet.com/icfp-2024-index/" target="_blank"&gt;Rust-like type system features&lt;/a&gt; activated, including rather exciting...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>AT Protocol and an IR for Wikis</title><link href="https://patrick.sirref.org/weekly-2025-01-27/" rel="alternate"></link><published>2025-01-27T00:00:00Z</published><updated>2025-01-27T00:00:00Z</updated><author><name>PatrickF</name></author><id>https://patrick.sirref.org/weekly-2025-01-27/</id><summary type="html">AT Protocol This week I've been diving into the &lt;a href="https://atproto.com/" target="_blank"&gt;AT Protocol&lt;/a&gt; . The Authenticated Transfer Protocol, aka atproto, is a decentralized protocol for large-scale social web applications. The protocol could be a candidate for the glue that holds together a distributed, computational wiki network. The protocol, it seems, is very similar to &lt;a href="https://patrick.sirref.org/ipfs/" target="_blank"&gt;IPFS&lt;/a&gt; . Thankfully, a few years ago, I was working on building out a suite of OCaml libraries for working with &lt;a href="https://patrick.sirref.org/ipfs/" target="_blank"&gt;IPFS&lt;/a&gt; . For example, &lt;a href="https://github.com/patricoferris/ocaml-cid" target="_blank"&gt;ocaml-cid&lt;/a&gt; , self-describing content-addressed identifiers. # let s = " zb2rhe5P4gXftAwvA4eXQ5HJwsER2owDyS9sKaQRRVQPn93bA " ; ; val s : string = " zb2rhe5P4gXftAwvA4eXQ5HJwsER2owDyS9sKaQRRVQPn93bA " # let cid = Cid . of_string s |&gt; Result . get_ok ; ; val cid : Cid . t = &lt; abstr &gt; # Cid . pp_human Format . std_formatter...</summary><category term="Weeklies"></category></entry><entry><title>Mon 27 Jan 2025</title><link href="https://ryan.freumh.org/2025-01-27.html" rel="alternate"></link><published>2025-01-27T00:00:00Z</published><updated>2025-01-27T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-01-27.html</id><summary type="html">Previous: &lt;a href="2025-01-20.html" target="_blank"&gt;Mon 20 Jan 2025&lt;/a&gt; Next: &lt;a href="2025-02-03.html" target="_blank"&gt;Mon 3 Feb 2025&lt;/a&gt; babel DONE &lt;a href="https://github.com/RyanGibb/hyperres-pubgrub/tree/main/multiversion-features" target="_blank"&gt;multi-version
+
optional dependencies&lt;/a&gt; for PubGrub Which as far as I can tell hasn’t been done before. PubGrub opam dependency provider DONE json representation of opam repositories using &lt;a href="https://github.com/tweag/opam2json" target="_blank"&gt;opam2json&lt;/a&gt; DONE parse json representation to rust using &lt;a href="https://serde.rs/" target="_blank"&gt;serde&lt;/a&gt; TODO minimal example DONE &lt;a href="https://github.com/RyanGibb/pubgrub-opam/blob/main/src/opam_version.rs" target="_blank"&gt;opam_version.rs&lt;/a&gt; done and MVP with integer versions, but the full ordering is complicated DONE &lt;a href="https://github.com/RyanGibb/pubgrub-opam/blob/main/src/index.rs" target="_blank"&gt;index.rs&lt;/a&gt; DONE &lt;a href="https://github.com/RyanGibb/pubgrub-opam/blob/main/src/opam_deps.rs" target="_blank"&gt;opam_deps.rs&lt;/a&gt; DONE &lt;a href="https://github.com/RyanGibb/pubgrub-opam/blob/main/src/main.rs" target="_blank"&gt;main.rs&lt;/a&gt; TODO proper opam version parsing (a la Debian) &lt;a href="https://opam.ocaml.org/doc/Manual.html#Version-ordering" target="_blank"&gt;https://opam.ocaml.org/doc/Manual.html#Version-ordering&lt;/a&gt; TODO conflicts TODO boolean logic (package formula) TODO features (optional dependencies) TODO parse repo on the fly in the dependency provider TODO create babel-repository and babel-solver TODO explore error reporting in these exotic encodings what is the research advance here? tool to solve across...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Fontsizing in LaTeX</title><link href="https://mort.io/blog/fontsizing/" rel="alternate"></link><published>2025-01-24T00:00:00Z</published><updated>2025-01-24T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/fontsizing/</id><summary type="html">I recently had colleagues hit an issue that I have hit myself in the past, and so I finally decided to figure out a fix. Specifically, when building EPSRC research proposals in LaTeX, getting a complaint that the font size is non compliant – it should be 11pt Arial, but the standard LaTeX options generate something slightly smaller, with Adobe Acrobat and Microsoft tools both reporting a size of 10.45pt or so. One proposed solution was the to add the following in the preamble: \ usepackage { anyfontsize } \ AtBeginDocument { \ fontsize { 11bp } { 13.35bp } \ selectfont } …but that did not work unfortunately. After some poking about and staring at output and searching the interwebs, it appears that this was triggered, at least for me, by the &lt;a href="https://ctan.org/pkg/fontspec" target="_blank"&gt;fontspec&lt;/a&gt; package that was being used to sort...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Updated preprint on LLMs for evidence-based decision support</title><link href="https://anil.recoil.org/news/2024-ce-llm-2" rel="alternate"></link><published>2025-01-23T00:00:00Z</published><updated>2025-01-23T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-ce-llm-2</id><summary type="html">We have just updated our &lt;a href="https://anil.recoil.org/papers/2024-ce-llm" target="_blank"&gt;preprint&lt;/a&gt; on using LLMs for evidence decision support with more evaluation results and corrections from peer review. Our findings suggest that, with careful domain-specific design, LLMs could potentially be powerful tools for enabling expert-level use of evidence syntheses and databases. However, general LLMs used "out-of-the-box" are likely to perform poorly and misinform decision-makers. By establishing that LLMs exhibit comparable performance with human synthesis experts on providing restricted responses to queries of evidence syntheses and databases, future work can build on our approach to quantify LLM performance in providing open-ended responses. See also the fantastic &lt;a href="https://watch.eeg.cl.cam.ac.uk/w/ijC1E36q7fn2qwxs7opSJq" target="_blank"&gt;EEG seminar talk&lt;/a&gt; that the student group who worked on this over the summer gave towards the...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>spindizzy rabits in space - what to do with the old cavendish portakabins...</title><link href="https://paravirtualization.blogspot.com/2025/01/spindizzy-rabits-in-space-what-do-do.html" rel="alternate"></link><published>2025-01-21T13:10:00Z</published><updated>2025-01-21T13:10:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-799193033427876009</id><summary type="html">now the cambridge physics dept have their Dyson Sphere ready to move into (kind of, ok so it isnt an actual sphere) the old building should be ready for its next role - this should be as a vehicle to get the rabbits (who have moved from their burrows around the ponds into the buildings vacated) to a new home around a friendly exoplanet - I am sure some of the astronomers could have with the celestial navigation.. spindizzy engines are two a penny. -we just need to vaccum proof the buildings - a supply of saran wrap and gaffer tape will do.</summary><category term="A True History of the Internet"></category></entry><entry><title>Forester, ICFP, Wikis</title><link href="https://patrick.sirref.org/weekly-2025-01-20/" rel="alternate"></link><published>2025-01-20T00:00:00Z</published><updated>2025-01-20T00:00:00Z</updated><author><name>PatrickF</name></author><id>https://patrick.sirref.org/weekly-2025-01-20/</id><summary type="html">This week was my first full week back from the break and I found it challenging trying to get back into what I had been working on previously. ICFP Papers In conversation with &lt;a href="https://patrick.sirref.org/anilmadhavapeddy/" target="_blank"&gt;Anil&lt;/a&gt; , we looked at options for submitting a paper to ICFP. I wrote up some notes on some options &lt;a href="https://patrick.sirref.org/icfp25-ideas/" target="_blank"&gt;we discussed&lt;/a&gt; . Forester I spent some time this week converting this website to using &lt;a href="https://www.jonmsterling.com/foreign-forester-jms-005P.xml" target="_blank"&gt;Forester&lt;/a&gt; . I'm not a huge fan of the syntax, especially as a lot of my site's content was already in markdown. So I wrote a markdown frontend to forester which is &lt;a href="https://github.com/patricoferris/ocaml-forester/tree/markdown" target="_blank"&gt;available on Github&lt;/a&gt; . The markdown frontend integrates very nicely and only a few changes were needed in the core logic of &lt;a href="https://patrick.sirref.org/forester/" target="_blank"&gt;Forester&lt;/a&gt; itself. Additionally, for any features not directly supported in markdown there is an escape hatch using code blocks such as: ```forester...</summary><category term="Weeklies"></category></entry><entry><title>Mon 20 Jan 2025</title><link href="https://ryan.freumh.org/2025-01-20.html" rel="alternate"></link><published>2025-01-20T00:00:00Z</published><updated>2025-01-20T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-01-20.html</id><summary type="html">Previous: &lt;a href="2025-01-13.html" target="_blank"&gt;Mon 13 Jan 2025&lt;/a&gt; Next: &lt;a href="2025-01-27.html" target="_blank"&gt;Mon 27 Jan 2025&lt;/a&gt; babel DONE PubGrub multi-version optional dependencies TODO reread &lt;a href="2024-splash-hyperres-review.html" target="_blank"&gt;file:2024-splash-hyperres-review.md&lt;/a&gt; TODO spatial DSL paragraphs for Roy met with Roy and gave him the gist bidirectional lens uv PubGrub index uv toolchains - special cross compiling get rid of conflicts name fusing - 1 to n home url metadata source archive many to many hashes download them all – find a backdoor explore and splunk keep eyes open demons lurking in this Spatial Name System Sensor Networks TODO try capnproto esp32 if that doesn’t work try ocaml-esp32 on ocaml 4 if that doesn’t work try ocaml 5 for risc-v Spatial DLS ICFP functional perl TODO read &lt;a href="#ref-elliottFunctionalReactiveAnimation1997" target="_blank"&gt;[1]&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/Functional_reactive_programming" target="_blank"&gt;https://en.wikipedia.org/wiki/Functional_reactive_programming&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/Reactive_programming" target="_blank"&gt;https://en.wikipedia.org/wiki/Reactive_programming&lt;/a&gt; TODO create a spatial DSL afternoon write out a DSL cotrol lights DSL capnroto vs DNS dsl walk lights effects capnproto...</summary><category term="ryan.freumh.org"></category></entry><entry><title>`just` LaTeX it!</title><link href="https://mort.io/blog/just-latex/" rel="alternate"></link><published>2025-01-18T00:00:00Z</published><updated>2025-01-18T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/just-latex/</id><summary type="html">I have recently become a fan of &lt;a href="https://just.systems/" target="_blank"&gt;just&lt;/a&gt; as a replacement for the venerable &lt;a href="https://www.gnu.org/software/make/manual/make.html" target="_blank"&gt;make&lt;/a&gt; . I find that nowadays I rarely need the built-in dependency rules that &lt;a href="https://www.gnu.org/software/make/manual/make.html" target="_blank"&gt;make&lt;/a&gt; provides. Perhaps more radically, I also rarely need to write my own as the prevelance of format-specific build tools such as &lt;a href="https://doc.rust-lang.org/stable/cargo/" target="_blank"&gt;cargo&lt;/a&gt; , &lt;a href="https://docs.astral.sh/uv/" target="_blank"&gt;uv&lt;/a&gt; , &lt;a href="https://ctan.org/pkg/latexmk/" target="_blank"&gt;latexmk&lt;/a&gt; and the like mean I don’t need to write my own either. Recently, while writing references and then helping out get submissions for &lt;a href="https://www.cl.cam.ac.uk/events/rossfest/" target="_blank"&gt;Rossfest&lt;/a&gt; consistently formatted and building cleanly, I found myself extending my various &lt;a href="https://just.systems/" target="_blank"&gt;just&lt;/a&gt; targets for &lt;a href="https://www.latex-project.org/" target="_blank"&gt;LaTeX&lt;/a&gt; . So I thought I’d document them here. I always begin my Justfile with the apparently idiomatic “just show me the targets and associated help text” target: _default : @ just --list This seems considerably...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mon 13 Jan 2025</title><link href="https://ryan.freumh.org/2025-01-13.html" rel="alternate"></link><published>2025-01-13T00:00:00Z</published><updated>2025-01-13T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-01-13.html</id><summary type="html">Previous: &lt;a href="2025-01-06.html" target="_blank"&gt;Mon 6 Jan 2025&lt;/a&gt; Next: &lt;a href="2025-01-20.html" target="_blank"&gt;Mon 20 Jan 2025&lt;/a&gt; babel TODO opam-repo maps [2/3] DONE &lt;a href="https://github.com/mtelvers/pacman2opam/" target="_blank"&gt;https://github.com/mtelvers/pacman2opam/&lt;/a&gt; it seems like firefox doesn’t install _build/default/bin/main.exe --repo /dev/shm/packages pacman-firefox [ERROR] No solution Can't find all required versions. Selected: pacman-acl.2.3.2-1 pacman-adobe-source-code-pro-fonts.2.042u+1.062i+1.026vf-2 pacman-adwaita-cursors.47.0-1 pacman-adwaita-icon-theme.47.0-1 pacman-adwaita-icon-theme-legacy.46.2-3 pacman-alsa-lib.1.2.13-1 pacman-alsa-topology-conf.1.2.5.1-4 pacman-alsa-ucm-conf.1.2.13-2 pacman-aom.3.11.0-1 pacman-at-spi2-core.2.54.1-1 pacman-attr.2.5.2-1 pacman-audit.4.0.2-3 pacman-avahi.1_0.8+r194+g3f79789-3 pacman-bash.5.2.037-1 pacman-brotli.1.1.0-3 pacman-bzip2.1.0.8-6 pacman-ca-certificates.20240618-1 pacman-ca-certificates-mozilla.3.107-1...</summary><category term="ryan.freumh.org"></category></entry><entry><title>LIFE metric published in Royal Society Phil Trans B</title><link href="https://anil.recoil.org/news/2024-life-3" rel="alternate"></link><published>2025-01-09T00:00:00Z</published><updated>2025-01-09T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-life-3</id><summary type="html">After some years of hard work, our &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;Mapping LIFE on Earth&lt;/a&gt; biodiversity metric was published today in a &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;special issue&lt;/a&gt; of the Royal Society Philosophical Transactions B! The idea behind LIFE is that although human-driven habitat loss is known to be the greatest cause of the &lt;a href="https://www.unep.org/facts-about-nature-crisis" target="_blank"&gt;biodiversity crisis&lt;/a&gt; , we do not yet have robust spatially explicit metrics that quantify the relative impacts of human actions on species extinctions. And that's what LIFE provides: a way to compare the relative impacts of some landuse anywhere in the world, in a manner that is globally applicable. [… &lt;a href="https://anil.recoil.org/news/2024-life-3" target="_blank"&gt;409 words&lt;/a&gt; ] &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-tom-ball" target="_blank"&gt;Thomas Ball&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/andy-arnell/" target="_blank"&gt;Andy Arnell&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/daniele-baisero/" target="_blank"&gt;Daniele Baisero&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/paz-duran/" target="_blank"&gt;América Paz Durán&lt;/a&gt; , &lt;a href="https://www.york.ac.uk/sei/staff/jonathan-green/" target="_blank"&gt;Jonathan Green&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/rhys-green" target="_blank"&gt;Rhys Green&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; . Journal paper in &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;Philosophical Transactions of the Royal Society&lt;/a&gt; (vol 380 issue 1917). &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;URL&lt;/a&gt;...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 6 Jan 2025</title><link href="https://ryan.freumh.org/2025-01-06.html" rel="alternate"></link><published>2025-01-06T00:00:00Z</published><updated>2025-01-06T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2025-01-06.html</id><summary type="html">Previous: &lt;a href="2024-12-30.html" target="_blank"&gt;Mon 30 Dec 2024&lt;/a&gt; Next: &lt;a href="2025-01-13.html" target="_blank"&gt;Mon 13 Jan 2025&lt;/a&gt; STRT read PubGrub docs &lt;a href="https://github.com/dart-lang/pub/blob/master/doc/solver.md" target="_blank"&gt;https://github.com/dart-lang/pub/blob/master/doc/solver.md&lt;/a&gt; is this actually being used for cargo? &lt;a href="https://rust-lang.zulipchat.com/#narrow/channel/260232-t-cargo.2FPubGrub/topic/feature.20resolution" target="_blank"&gt;feature
resolution&lt;/a&gt; ah, &lt;a href="https://github.com/astral-sh/uv" target="_blank"&gt;uv&lt;/a&gt; TODO read &lt;a href="#ref-cabreraSelfsustainingSoftwareSystems2024" target="_blank"&gt;[1]&lt;/a&gt; [1] C. Cabrera, A. Paleyes, and N. D. Lawrence, “Self-sustaining Software Systems ( S4 ): Towards Improved Interpretability and Adaptation ,” Jan. 21, 2024. [Online]. Available: &lt;a href="http://arxiv.org/abs/2401.11370" target="_blank"&gt;http://arxiv.org/abs/2401.11370&lt;/a&gt; . [Accessed: Jan. 15, 2025]</summary><category term="ryan.freumh.org"></category></entry><entry><title>Introducing `bibtox`</title><link href="https://mort.io/blog/bibtox/" rel="alternate"></link><published>2025-01-03T00:00:00Z</published><updated>2025-01-03T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/bibtox/</id><summary type="html">After some time using various tools and scripts to format and sort my files of BibTeX/BibLaTeX entries, I finally gave up back in March and &lt;a href="https://github.com/mor1/bibtox" target="_blank"&gt;wrote one myself
+
– bibtox&lt;/a&gt; . This replaced some very nasty combination of server-side &lt;a href="https://github.com/mor1/bibtox/blob/83eda34bc9e79bd5251b1ae9623b5e905532c599/bib2json.py" target="_blank"&gt;Python&lt;/a&gt; and in-page &lt;a href="https://github.com/mor1/bibtox/blob/83eda34bc9e79bd5251b1ae9623b5e905532c599/papers.coffee" target="_blank"&gt;CoffeeScript&lt;/a&gt; , plus a third-party tool &lt;a href="https://github.com/backtracking/bibtex2html" target="_blank"&gt;bib2bib&lt;/a&gt; I would run on an ad hoc basis. Per the &lt;a href="https://github.com/mor1/bibtox/blob/main/README.md" target="_blank"&gt;README&lt;/a&gt; , this processes either a stream of entries on stdin or a set of files arranged into sections specified by a simple configuration file. It outputs sorted or unsorted, either as canonicalised entries or marked up HTML. And it means that, hopefully, finally, my list of publications on this site is consistently formatted and sorted. Completeness is, of course, a process rather than a state so achieving that is left for other times and places. &lt;a href="https://github.com/mor1/bibtox/issues" target="_blank"&gt;Issues&lt;/a&gt; or...</summary><category term="mort’s mythopœia"></category></entry><entry><title>computer science is quite a young subject...</title><link href="https://paravirtualization.blogspot.com/2024/12/computer-science-is-quite-young-subject.html" rel="alternate"></link><published>2024-12-31T07:09:00Z</published><updated>2024-12-31T07:09:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-2646320592845630174</id><summary type="html">...but not as young as it was - I joined ucl. for the last 2 decades of the previous century (and millenium) and while I was there, no-one passed away. the department had only just crystallised out of the statistics and computing department (the stats department being I think one of the first in the world). 20 years after I left, my PhD advisor &lt;a href="https://www.ucl.ac.uk/computer-science/about/about-peter-kirstein" target="_blank"&gt;Peter Kirstein&lt;/a&gt; passed away. Until then, I think, most the people that had worked in UCL CS were still around. However, I joined the Computer Lab, a 75 year old department (now with a less unique name), that came out of mathematics, in Cambridge in 2001, and have been there since. But during that time, rather a lot of colleagues there have passed, including (in no particular order), &lt;a href="https://www.cst.cam.ac.uk/news/ross-anderson" target="_blank"&gt;Ross Anderson&lt;/a&gt; , &lt;a href="https://www.cst.cam.ac.uk/news/computer-scientist-whose-technology-helped-millions-prove-their-identity" target="_blank"&gt;John Daugman&lt;/a&gt; , &lt;a href="https://www.cam.ac.uk/news/professor-sir-maurice-wilkes-1913-2010" target="_blank"&gt;Maurice Wilkes,&lt;/a&gt; &lt;a href="https://www.cl.cam.ac.uk/archive/rm135/" target="_blank"&gt;Robin Milner&lt;/a&gt; , &lt;a href="https://www.cl.cam.ac.uk/archive/mjcg/" target="_blank"&gt;Mike Gordon,&lt;/a&gt; &lt;a href="https://www.cl.cam.ac.uk/archive/ksj21/" target="_blank"&gt;Karen Spärck Jones&lt;/a&gt;...</summary><category term="A True History of the Internet"></category></entry><entry><title>Mon 30 Dec 2024</title><link href="https://ryan.freumh.org/2024-12-30.html" rel="alternate"></link><published>2024-12-30T00:00:00Z</published><updated>2024-12-30T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-12-30.html</id><summary type="html">Previous: &lt;a href="2024-12-16.html" target="_blank"&gt;Mon 16 Dec 2024&lt;/a&gt; Next: &lt;a href="2025-01-06.html" target="_blank"&gt;Mon 6 Jan 2025&lt;/a&gt; TODO Spatial Name System camera traps on 4g network no local connectivity what if we could resolve our location to a domain which we could resolve to link local addresses? naming discoverability</summary><category term="ryan.freumh.org"></category></entry><entry><title>the north london book of the not quite dead</title><link href="https://paravirtualization.blogspot.com/2024/12/the-north-london-book-of-not-quite-dead.html" rel="alternate"></link><published>2024-12-21T11:52:00Z</published><updated>2024-12-21T11:52:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-2486491431453773737</id><summary type="html">The best kept secret at "5" was how you got a new identity. the north london book of the not quite dead was a list of reliable people who had accumulated decades of mathem and could provide a subset of it to anyone needing a new name/face, collection of postcards, convincing travel brochures, expired passports, driving licenses, theater and museum club membership etc etc Json Bourne was in need of a new skin - his command line was completely exposed, and if he wanted to retain one iota of quantum supremacy, he needed to stop the supervillain known simply as "The Cloud"without giving away his whole herd of mastodon instances. Json checked into the Assembly House where he new he could meet Gold or possibly if he was really lucky, Robert Smith, who could tell a tale or two, and certainly...</summary><category term="A True History of the Internet"></category></entry><entry><title>Retreat from TUM</title><link href="https://mort.io/blog/tum-retreat/" rel="alternate"></link><published>2024-12-18T00:00:00Z</published><updated>2024-12-18T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/tum-retreat/</id><summary type="html">Ok, ok, I exaggerate – it’s not really that far. But any time I have to set the alarm for 02.30, it feels like it’s a long long way away! &lt;a href="https://www.ce.cit.tum.de/cm/research-group/" target="_blank"&gt;TU Munchen&lt;/a&gt; host an &lt;a href="https://www.ce.cit.tum.de/cm/events/mir3/" target="_blank"&gt;annual
retreat&lt;/a&gt; , and thanks to &lt;a href="https://www.ce.cit.tum.de/cm/research-group/joerg-ott/" target="_blank"&gt;Prof. Joerg
Ott&lt;/a&gt; I was invited this year for the first time. It’s held in TUM’s &lt;a href="https://www.raitenhaslach.tum.de/en/raitenhaslach/home/" target="_blank"&gt;Retreat Centre at
Raitenhaslach&lt;/a&gt; , originally a Cistercian monastery which is a lovely location except that it’s a bus ride from the hotel used and a bus and three trains from the nearest airport – which is, mildly confusingly, &lt;a href="https://www.salzburg-airport.com/en/" target="_blank"&gt;Salzburg&lt;/a&gt; not &lt;a href="https://www.munich-airport.com/" target="_blank"&gt;Munich&lt;/a&gt; . The latter point made me assume that there would be good directions via public transport from Salzburg, but that turned out not to be the case. And as Google Maps is, at best, patchy in terms of public transport coverage in this part of the world – it doesn’t know about all the buses at least – I thought...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mon 16 Dec 2024</title><link href="https://ryan.freumh.org/2024-12-16.html" rel="alternate"></link><published>2024-12-16T00:00:00Z</published><updated>2024-12-16T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-12-16.html</id><summary type="html">Previous: &lt;a href="2024-12-02.html" target="_blank"&gt;Mon 2 Dec 2024&lt;/a&gt; Next: &lt;a href="2024-12-30.html" target="_blank"&gt;Mon 30 Dec 2024&lt;/a&gt; babel opam-repo maps TODO hyperres needs a file format TODO get a JSON format, including version formula opam formulas variables as packages boolean algebra represeted with disjuntions etc I’m wrestling with the problem of expressivity of package managers. What is representable in a SAT problem is consistent across package managers, but there are varying degrees of pre-processing in DSL in different ecosystems. For example, Debian has a pretty simple language for expressing dependency constraints, but Nix has the Nix DSL, opam has filters and variables. These are basically a way of expressing the constraint language with various degrees of pre-processing. It’s fine to unify the decision problem representations, but how can we unify the different...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Optimising Sustainable Energy with Functional Programming</title><link href="https://watch.eeg.cl.cam.ac.uk/w/feDup1JutmgQkC6ipGF9r5" rel="alternate"></link><published>2024-12-13T18:23:12Z</published><updated>2024-12-13T18:23:12Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/feDup1JutmgQkC6ipGF9r5</id><summary type="html">Abstract: This talk describes some results from a collaboration between Computer Science, Physics, and Climate Impact Research on theories and tools for performance optimisation of strongly coupled physical systems with a large parameter space. The first part of the talk discusses computing optimal policies; we have used these techniques for climate decisions and for fusion energy designs. The second part of the talk will focus on one particularly important concept: the Pareto-front, which mathematically captures the trade-offs between two (or more) conflicting objectives. The core object of study is an expensive black-box function computing multiple objectives, for which we approximate the Pareto front using adaptive mesh refinement. Bio: Patrik Jansson is a professor in the Computer...</summary><category term="EEG Seminars"></category></entry><entry><title>The Partially Dynamic Web</title><link href="https://digitalflapjack.com/blog/the-partially-dynamic-web/" rel="alternate"></link><published>2024-12-08T11:59:48Z</published><updated>2024-12-08T11:59:48Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/the-partially-dynamic-web/</id><summary type="html">Background I have three websites (this one, my &lt;a href="https://mynameismwd.org/" target="_blank"&gt;personal site&lt;/a&gt; , and one for &lt;a href="https://mwdales-guitars.uk/" target="_blank"&gt;my luthiery endeavours&lt;/a&gt; ), and despite each starting out with a different technology stack, for the last few years I’d migrated them all to the &lt;a href="https://gohugo.io" target="_blank"&gt;Hugo static site generator&lt;/a&gt; , as a way of making it easier for me to mess around with. Without a fixed database, I could more easily readily structure the content as I wanted it, I had more freedom over templating, and ultimately it’s less resource intensive to compile the site occasionally and just serve static files than keep dynamic infrastructure running for what is a set of low traffic websites. At least in theory, we’ll come back to this last point. Like most static site generators, Hugo uses a system called &lt;a href="https://gohugo.io/content-management/front-matter/" target="_blank"&gt;Front matter&lt;/a&gt; , where you store each page as a &lt;a href="https://en.wikipedia.org/wiki/Markdown" target="_blank"&gt;markdown file&lt;/a&gt; of content, and some &lt;a href="https://en.wikipedia.org/wiki/YAML" target="_blank"&gt;YAML&lt;/a&gt; at the...</summary><category term="Digital Flapjack"></category></entry><entry><title>Smart Grid Trust Assessment</title><link href="https://watch.eeg.cl.cam.ac.uk/w/uFyApvuvALLv66D7x36FEr" rel="alternate"></link><published>2024-12-06T16:40:43Z</published><updated>2024-12-06T16:40:43Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/uFyApvuvALLv66D7x36FEr</id><summary type="html">Abstract: Energy systems are highly complex. State determination and detection of anomalies, faults or even attacks are only possible to a limited extent with traditional approaches. This talk will investigate how such systems can be planned and operated in the future in the area of conflict between high automation and trust by human operators. Bio: Sebastian Lehnhoff is a Full Professor of Energy Informatics at the University of Oldenburg. He received his doctorate at the TU Dortmund University in 2009. Prof. Lehnhoff is chairman of the board of the OFFIS Institute for Information Technology and speaker of its Energy R&amp;D division. He is a board member of the section „Energy Informatics“ within the German Informatics Society (GI) as well as an active member of numerous committees and...</summary><category term="EEG Seminars"></category></entry><entry><title>Horizon scan on AI and conservation published</title><link href="https://anil.recoil.org/news/2024-ai-conhorizon-1" rel="alternate"></link><published>2024-12-05T00:00:00Z</published><updated>2024-12-05T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-ai-conhorizon-1</id><summary type="html">Back in July 2024, a large group of conservation and computer scientists got together in the &lt;a href="https://conservation.cam.ac.uk" target="_blank"&gt;CCI&lt;/a&gt; to prioritise the storm of AI-related projects that have been kicking off around the world. Our key goal was to harness AI to accelerate the positive impact of conservation efforts, while minimising harm caused through either the direct or indirect use of AI technologies. The first horizon scan resulting from this has just been published in Trends in Ecology and Evolution. If you're looking for a gentle introduction to some of the terms in AI from a non-experts perspective, the first section does a good job of defining a glossary as well. [… &lt;a href="https://anil.recoil.org/news/2024-ai-conhorizon-1" target="_blank"&gt;118 words&lt;/a&gt; ] &lt;a href="https://samreynolds.org/" target="_blank"&gt;Sam Reynolds&lt;/a&gt; , &lt;a href="https://beerys.github.io" target="_blank"&gt;Sara Beery&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/professor-neil-burgess/" target="_blank"&gt;Neil Burgess&lt;/a&gt; , &lt;a href="https://profiles.imperial.ac.uk/m.burgman" target="_blank"&gt;Mark Burgman&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/stuart-butchart" target="_blank"&gt;Stuart Butchart&lt;/a&gt; , &lt;a href="https://carleton.ca/biology/people/steven-j-cooke/" target="_blank"&gt;Steven J. Cooke&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://www.framework-biodiversity.eu/team/dr-finn-danielsen" target="_blank"&gt;Finn Danielsen&lt;/a&gt; , &lt;a href="https://researchportal.helsinki.fi/en/persons/enrico-di-minin" target="_blank"&gt;Enrico Di Minin&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/paz-duran/" target="_blank"&gt;América Paz Durán&lt;/a&gt; ,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 2 Dec 2024</title><link href="https://ryan.freumh.org/2024-12-02.html" rel="alternate"></link><published>2024-12-02T00:00:00Z</published><updated>2024-12-02T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-12-02.html</id><summary type="html">Previous: &lt;a href="2024-11-18.html" target="_blank"&gt;Mon 18 Nov 2024&lt;/a&gt; Next: &lt;a href="2024-12-16.html" target="_blank"&gt;Mon 16 Dec 2024&lt;/a&gt; got dodo working again &lt;a href="https://github.com/RyanGibb/eon/commit/02176dcb6bd05ae13c0e4187c0dd8873ceff979f" target="_blank"&gt;https://github.com/RyanGibb/eon/commit/02176dcb6bd05ae13c0e4187c0dd8873ceff979f&lt;/a&gt; but reflecting on it, I don’t think it’s a good use of time eon capability interface added a shell capability to eon &lt;a href="https://github.com/RyanGibb/eon/commit/f6c3b13855b0ff9e09b96ccfd2b0b27591390f14#diff-b498faffd1d896b75bce4fc925bfaa48934b8cdb9de9f52d9e8d276ab9161fca" target="_blank"&gt;https://github.com/RyanGibb/eon/commit/f6c3b13855b0ff9e09b96ccfd2b0b27591390f14#diff-b498faffd1d896b75bce4fc925bfaa48934b8cdb9de9f52d9e8d276ab9161fca&lt;/a&gt; now if we could add stun/turn etc…</summary><category term="ryan.freumh.org"></category></entry><entry><title>Towards verifiable, privacy-preserving carbon emissions claims</title><link href="https://anil.recoil.org/news/2024-loco-emissions-1" rel="alternate"></link><published>2024-12-01T00:00:00Z</published><updated>2024-12-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-loco-emissions-1</id><summary type="html">Customers of online services may want to take carbon emissions into account when deciding which service to use, but it's currently difficult to do so due to the lack of reliable emissions data that is comparable across online services. There's a lot of muddled data out there, and calculating accurate carbon emissions across a computing pipeline involves a number of stakeholders, none of whom are incentivised to accurately report their emissions for competitive reasons! In this &lt;a href="https://locos.codeberg.page/loco2024/" target="_blank"&gt;LOCO&lt;/a&gt; paper, &lt;a href="https://www.cst.cam.ac.uk/people/psjm3" target="_blank"&gt;Jessica Man&lt;/a&gt; lead our exploration of mechanisms to support verifiable and privacy-preserving emissions reporting across a chain of energy suppliers, cloud data centres, virtual machine hosting services providers and cloud services providers. The idea is that all of this can ultimately be exposed to...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Towards a frugal userspace for Linux</title><link href="https://anil.recoil.org/news/2024-loco-shark-1" rel="alternate"></link><published>2024-12-01T00:00:00Z</published><updated>2024-12-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-loco-shark-1</id><summary type="html">All the work we've been doing on biodiversity (such as &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;LIFE&lt;/a&gt; ) comes at a fairly large computation and storage cost due to the amount of data that we churn through. This gets worse when you consider the exploratory nature of science -- we sometimes just need to mess around with the large dataset to test hypotheses which are often shown to be wrong. So then, when the &lt;a href="https://www.sicsa.ac.uk/loco/loco2024/" target="_blank"&gt;LOCO&lt;/a&gt; conference came around, we wrote up our thoughts on what a frugal Linux userspace might look like. The key insight is that the Linux kernel already exposes a number of namespace mechanisms (that we use in Docker, for example), and so we explore a new OS architecture which defaults to deterministic, reusable computation with the careful recording of side-effects. This in turn allows Linux to guide complex...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Prototyping carbon-aware domain name resolution</title><link href="https://anil.recoil.org/news/2024-loco-carbonres-1" rel="alternate"></link><published>2024-12-01T00:00:00Z</published><updated>2024-12-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-loco-carbonres-1</id><summary type="html">&lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; and I have been thinking about how the current Internet architecture fails to treat the carbon emissions associated with networked services as a first-class metric. So when the &lt;a href="https://locos.codeberg.page/loco2024/" target="_blank"&gt;LOCO&lt;/a&gt; conference came up, we tried extending the DNS with load balancing techniques to consider the carbon cost of scheduling decisions. A next step was then to build a custom &lt;a href="https://github.com/RyanGibb/eon" target="_blank"&gt;DNS server written in OCaml&lt;/a&gt; to actively wake machines running networked services as a side effect of the name resolution. Extending DNS means that we maintain compatibility with existing Internet infrastructure, unlocking the ability for existing applications to be carbon-aware. This is very much a spiritual follow on to the &lt;a href="https://anil.recoil.org/papers/2013-foci-signposts" target="_blank"&gt;Signposts&lt;/a&gt; project that I worked on back in 2013, and have always wanted to return to! &lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; and...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Cooperative Sensor Networks for Long-Term Biodiversity Monitoring</title><link href="https://anil.recoil.org/news/2024-loco-terracorder-1" rel="alternate"></link><published>2024-12-01T00:00:00Z</published><updated>2024-12-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-loco-terracorder-1</id><summary type="html">&lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; and I have been having great fun designing embedded systems for cooperative biodiversity monitoring. Josh presented our work over at &lt;a href="https://www.sicsa.ac.uk/loco/loco2024/" target="_blank"&gt;LOCO
2024&lt;/a&gt; with an abstract on the Terracorder project. Read more if you enjoy a combination of machine learning and ESP32 hacking. &lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; , &lt;a href="https://www.imperial.ac.uk/people/sarab.sethi" target="_blank"&gt;Sarab Sethi&lt;/a&gt; , &lt;a href="https://haddadi.github.io/" target="_blank"&gt;Hamed Haddadi&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Abstract in the &lt;a href="https://www.sicsa.ac.uk/wp-content/uploads/2024/11/LOCO2024_paper_30.pdf" target="_blank"&gt;1st International Workshop on Low Carbon Computing&lt;/a&gt; . &lt;a href="https://www.sicsa.ac.uk/wp-content/uploads/2024/11/LOCO2024_paper_30.pdf" target="_blank"&gt;URL&lt;/a&gt; (sicsa.ac.uk) &lt;a href="https://anil.recoil.org/papers/2024-loco-terracorder.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-loco-terracorder.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Conservation Evidence</title><link href="https://watch.eeg.cl.cam.ac.uk/w/ijC1E36q7fn2qwxs7opSJq" rel="alternate"></link><published>2024-11-29T17:39:54Z</published><updated>2024-11-29T17:39:54Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/ijC1E36q7fn2qwxs7opSJq</id><summary type="html">Grey literature’s inherent nature means that it is a difficult form of media to discover, typically being hidden deep within websites, analyse, following no standard file formats or structures, and process, due to the sheer volume of existing and actively produced literature, this forms a massive cost and time problem for organisations that require such literature in their function. We devise and implement a pipeline that uses Common Crawl internet archives to locate &amp; scrape potential grey literature; then process it for use in a multistage machine learning pipeline to classify and output relevant media. Bios: Shrey Biswas is a second-year Computer Science Student at Pembroke College. Radhika Iyer is a second-year Computer Science Student at Murray Edwards College. Kacper Michalik is a...</summary><category term="EEG Seminars"></category></entry><entry><title>Mon 18 Nov 2024</title><link href="https://ryan.freumh.org/2024-11-18.html" rel="alternate"></link><published>2024-11-18T00:00:00Z</published><updated>2024-11-18T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-11-18.html</id><summary type="html">Previous: &lt;a href="2024-10-14.html" target="_blank"&gt;Mon 14 Oct 2024&lt;/a&gt; Next: &lt;a href="2024-12-02.html" target="_blank"&gt;Mon 2 Dec 2024&lt;/a&gt; Mon [x] eon capnp-rpc requires mirage-crypto &gt; 1.0.0 so had to fix ocaml-letsencrypt and ocaml-dns to get ocaml-dns with mirage-crypto &gt; 1.0.0 we have to use &gt; 9.0.0 which switches from cstructs to bytes now have to port eon to use strings for DNS library should try &lt;a href="https://github.com/patricoferris/eio/tree/bstruct" target="_blank"&gt;https://github.com/patricoferris/eio/tree/bstruct&lt;/a&gt; at some point [x] opam nix &lt;a href="https://github.com/ocaml/opam/pull/5982#issuecomment-2486565207" target="_blank"&gt;https://github.com/ocaml/opam/pull/5982#issuecomment-2486565207&lt;/a&gt; wierd bubblewrap issues see patrick messages todo debug env babel [x] edit splash submission &lt;a href="https://github.com/fn06/2024-splash-solving-package-management/commit/9c9826d60121dd38d7e8c5d801c754bb0a2621d6" target="_blank"&gt;https://github.com/fn06/2024-splash-solving-package-management/commit/9c9826d60121dd38d7e8c5d801c754bb0a2621d6&lt;/a&gt; is a hypergraph the correct formalism? or should we have a calculus to express dependencies? a lambda calculus normal form? todo confusion around section 2 read related work Sat DONE debug eon [x] add dkim record to eon with capability in eilean &lt;a href="https://github.com/RyanGibb/eilean-nix/commit/bba3719f32b57b853247e299ea44500938d69166" target="_blank"&gt;https://github.com/RyanGibb/eilean-nix/commit/bba3719f32b57b853247e299ea44500938d69166&lt;/a&gt; [x] fix intial syncing of primary trie to secondaries by creating a separate update...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Royal Society and DeepMind host AI for Science Forum</title><link href="https://anil.recoil.org/notes/ai-for-science-2024" rel="alternate"></link><published>2024-11-18T00:00:00Z</published><updated>2024-11-18T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/ai-for-science-2024</id><summary type="html">I got invited to join the Royal Society and DeepMind to a summit on how AI is revolutionising scientific discovery and trotted along with &lt;a href="mailto:jon.crowcroft@cl.cam.ac.uk" target="_blank"&gt;Jon Crowcroft&lt;/a&gt; . This event is hot on the heels of the excellent RS report on &lt;a href="https://royalsociety.org/news-resources/projects/science-in-the-age-of-ai/" target="_blank"&gt;Science in the Age of AI&lt;/a&gt; and, of course, the Nobel prize for Demis Hassabis which was the &lt;a href="https://www.cst.cam.ac.uk/news/nobel-prize-our-alumnus-sir-demis-hassabis" target="_blank"&gt;first ever
+
for my department&lt;/a&gt; ! The event was held at the BAFTA today, and what follows are my quick livenotes as there was just so much to absorb. The RS and Deepmind will have the full sessions online sometime soon, so I'll update this with those more polished outputs when they're out! Update: Proper notes now available from &lt;a href="https://blog.google/technology/ai/ai-science-forum-2024/" target="_blank"&gt;Google&lt;/a&gt; and the &lt;a href="https://royalsociety.org/news-resources/projects/science-in-the-age-of-ai/" target="_blank"&gt;Royal Society&lt;/a&gt; . Hannah Fry doing a great job emceeing The summit was a day-long exploration of how artificial intelligence is transforming science and society, and the overall theme...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Long-term Biodiversity Monitoring at Scale</title><link href="https://watch.eeg.cl.cam.ac.uk/w/pMzCFQKTrRtQ6jotF1z12V" rel="alternate"></link><published>2024-11-15T16:16:36Z</published><updated>2024-11-15T16:16:36Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/pMzCFQKTrRtQ6jotF1z12V</id><summary type="html">Abstract: Comprehensive data on global biodiversity patterns is only obtainable through in-situ distributed sensor networks. However, these multi-device networks are constrained by battery lifetimes, must gather rich data from power-hungry sensors, and yet must be deployed in remote environments for long periods. We look at the feasibility of a prototype multi-sensor device using on-device reinforcement learning for power management. Bio: Josh Millar is a PhD based at the NetSys Lab at Imperial-X. Their current research interests include: energy-aware ML IoT and on-device ML applied ML for sustainability</summary><category term="EEG Seminars"></category></entry><entry><title>Travel Risk Assessment Made Simple</title><link href="https://paravirtualization.blogspot.com/2024/11/travel-risk-assessment-made-simple.html" rel="alternate"></link><published>2024-11-13T16:41:00Z</published><updated>2024-11-13T16:41:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-6902697778168499884</id><summary type="html">The following is taken from the new Unversity of Llambridge's travel risk assessment system - this is part of the training to use the new system - in each pair of risks, if you think the first one applies, then we advise you not to travel. In the case of the second of the pair occurring, your insurance may cover you, or in the worst case, the Government may send gunboats and airlift you out, although they may reserve the right not to. In all cases your mileage wil vary. Asteroid Strike Blue Screen takes out all the ticket and time table systems Super volcano Regular volcano disrupting flights Sea level rise and drown all US coastal cities Tornados disrupting flights Zombie plague Trans-species pandemic Global thermonuclear war Military invasion Great depression World wide banking near...</summary><category term="A True History of the Internet"></category></entry><entry><title>catastrophic unlearning...</title><link href="https://paravirtualization.blogspot.com/2024/11/catastrophic-unlearning.html" rel="alternate"></link><published>2024-11-11T16:30:00Z</published><updated>2024-11-11T16:30:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-1605265873913147492</id><summary type="html">Unlearning in AI is quite a tricky conundrum. we really ought to do it, because 1/ we might be asked by a patient to remove their medical record from the training data as they didn't consent,. or we breached privacy in accessing it... 2/ we might be iinformed that some datum was an adversaries input designed to drift our model away from the truth, 3/ it might be a way to get a less biased model than simply adding more representative data (shift the distribution of training data towards a better sample could be done either way). There may be other reasons. The problem technically is that the easiest way to do unlearning is to retrain from the start, but omitting the offending inputs. This may not be possible, as we may no longer have all the inputs. A way some people propose is to apply...</summary><category term="A True History of the Internet"></category></entry><entry><title>A CarbonFirst Approach for Decarbonizing Cloud Computing</title><link href="https://watch.eeg.cl.cam.ac.uk/w/pxkLZ4jgVJMqjwZuhWicrK" rel="alternate"></link><published>2024-11-01T15:46:48Z</published><updated>2024-11-01T15:46:48Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/pxkLZ4jgVJMqjwZuhWicrK</id><summary type="html">Abstract: The exponential growth of cloud computing has been a defining trend of our time, fueled by rapidly growing demands from data-intensive and machine learning workloads. Despite the end of Dennard scaling, the cloud's energy demand grew more slowly than expected over the past decade due to the aggressive implementation of energy-efficiency optimizations. Unfortunately, there are few significant remaining optimization opportunities using traditional methods, and moving forward, the cloud's continued exponential growth will translate into rising energy demand, which, if left unchecked, will translate to increasing carbon emissions. In this talk, I will argue for a CarbonFirst approach to designing cloud computing systems by making carbon efficiency a first-class design metric,...</summary><category term="EEG Seminars"></category></entry><entry><title>Published a legal perspective on high integrity forest carbon credits</title><link href="https://anil.recoil.org/news/2024-cclr-carbon-1" rel="alternate"></link><published>2024-11-01T00:00:00Z</published><updated>2024-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-cclr-carbon-1</id><summary type="html">&lt;a href="https://www.cst.cam.ac.uk/people/smc70" target="_blank"&gt;Sophie Chapman&lt;/a&gt; lead an &lt;a href="https://anil.recoil.org/ideas/legal-aspects-of-credits" target="_blank"&gt;effort&lt;/a&gt; to explore a novel legal framework for forest carbon credits that separates carbon tenure (i.e. title and associated property rights to the land and trees which store the carbon) from the carbon rights (i.e. title and associated rights to monetise and manage the credits which symbolically represent the carbon stored in the trees), while also specifying the relationship between the carbon tenure and the carbon rights. The resulting &lt;a href="https://anil.recoil.org/papers/2024-cclr-carbon" target="_blank"&gt;paper&lt;/a&gt; has just been published in the Climate and Carbon Law Review journal, and is available as open access for your perusal. &lt;a href="https://www.cst.cam.ac.uk/people/smc70" target="_blank"&gt;Sophie Chapman&lt;/a&gt; , &lt;a href="https://www.cst.cam.ac.uk/people/eft20" target="_blank"&gt;Eleanor Toye Scott&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.wolfson.cam.ac.uk/people/dr-robin-daniels" target="_blank"&gt;Robin Daniels&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Journal paper in &lt;a href="https://cclr.lexxion.eu/article/CCLR/2024/3/5" target="_blank"&gt;Carbon &amp; Climate Law Review&lt;/a&gt; (vol 18 issue 3). &lt;a href="https://cclr.lexxion.eu/article/CCLR/2024/3/5" target="_blank"&gt;URL&lt;/a&gt; (cclr.lexxion.eu) &lt;a href="https://doi.org/10.21552/cclr/2024/3/5" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-cclr-carbon.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-cclr-carbon.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Presented poster at Sensys on low-power biodiversity monitoring</title><link href="https://anil.recoil.org/news/2024-sensys-terracorder-1" rel="alternate"></link><published>2024-11-01T00:00:00Z</published><updated>2024-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-sensys-terracorder-1</id><summary type="html">&lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; presented our work on biodiversity sensing over at &lt;a href="http://sensys.acm.org/2024/" target="_blank"&gt;ACM Sensys 2024&lt;/a&gt; in China. The &lt;a href="http://sensys.acm.org/2024/demos/" target="_blank"&gt;full set&lt;/a&gt; of papers and demos has a range of impressive work on sensor networks, and some that stood out to me follow. [… &lt;a href="https://anil.recoil.org/news/2024-sensys-terracorder-1" target="_blank"&gt;140 words&lt;/a&gt; ] &lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; , &lt;a href="https://www.imperial.ac.uk/people/sarab.sethi" target="_blank"&gt;Sarab Sethi&lt;/a&gt; , &lt;a href="https://haddadi.github.io/" target="_blank"&gt;Hamed Haddadi&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Abstract in the &lt;a href="https://dl.acm.org/doi/10.1145/3666025.3699400" target="_blank"&gt;proceedings of the 22nd ACM Conference on Embedded Networked Sensor Systems&lt;/a&gt; . &lt;a href="https://dl.acm.org/doi/10.1145/3666025.3699400" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3666025.3699400" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-sensys-terracorder.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-sensys-terracorder.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Preprint on using LLMs to for evidence-based decision support</title><link href="https://anil.recoil.org/news/2024-ce-llm-1" rel="alternate"></link><published>2024-11-01T00:00:00Z</published><updated>2024-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-ce-llm-1</id><summary type="html">We have just uploaded a preprint on using LLMs for conservation evidence, based on our &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;work&lt;/a&gt; on large-scale crawling of the academic literature. Well done in particular to &lt;a href="mailto:ri301@cam.ac.uk" target="_blank"&gt;Radhika Iyer&lt;/a&gt; for having done the bulk of the evaluation on this as part of a very productive summer internship with us! &lt;a href="mailto:ri301@cam.ac.uk" target="_blank"&gt;Radhika Iyer&lt;/a&gt; , &lt;a href="https://profiles.imperial.ac.uk/a.christie" target="_blank"&gt;Alec Christie&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://samreynolds.org/" target="_blank"&gt;Sam Reynolds&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/bill-sutherland" target="_blank"&gt;Bill Sutherland&lt;/a&gt; and &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . Working paper at &lt;a href="https://www.researchsquare.com/article/rs-5409185/v2" target="_blank"&gt;Research Square&lt;/a&gt; . &lt;a href="https://www.researchsquare.com/article/rs-5409185/v2" target="_blank"&gt;URL&lt;/a&gt; (researchsquare.com) &lt;a href="https://doi.org/10.21203/rs.3.rs-5409185/v2" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-ce-llm.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Paper on scheduling for reduced tail task latencies</title><link href="https://anil.recoil.org/news/2024-socc-murmuration-1" rel="alternate"></link><published>2024-11-01T00:00:00Z</published><updated>2024-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-socc-murmuration-1</id><summary type="html">&lt;a href="https://www.cl.cam.ac.uk/~sv440/" target="_blank"&gt;Smita Vijayakumar&lt;/a&gt; went along to Seattle to &lt;a href="https://acmsocc.org/2024/" target="_blank"&gt;SOCC 2024&lt;/a&gt; to present her PhD research on Murmuration. This is a new scheduler for Kubernetes that allows for 15%--25% faster job completion times than the default scheduler for different job arrival characteristics in datacenters that are very busy. [… &lt;a href="https://anil.recoil.org/news/2024-socc-murmuration-1" target="_blank"&gt;71 words&lt;/a&gt; ] &lt;a href="https://www.cl.cam.ac.uk/~sv440/" target="_blank"&gt;Smita Vijayakumar&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.cst.cam.ac.uk/people/ek264" target="_blank"&gt;Evangelia Kalyvianaki&lt;/a&gt; . Paper in the &lt;a href="https://acmsocc.org/2024/" target="_blank"&gt;proceedings of the 2024 ACM Symposium on Cloud Computing&lt;/a&gt; . &lt;a href="https://acmsocc.org/2024/" target="_blank"&gt;URL&lt;/a&gt; (acmsocc.org) &lt;a href="https://doi.org/10.1145/3698038.3698522" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-socc-murmuration.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-socc-murmuration.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Bicycle Bell Replacement tech</title><link href="https://paravirtualization.blogspot.com/2024/10/bicycle-bell-replacement-tech.html" rel="alternate"></link><published>2024-10-30T16:30:00Z</published><updated>2024-10-30T16:30:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-731919462448432788</id><summary type="html">It has become clear to me over recent years that bicycle bells are now pretty much obsolete. firstky, too many pedestrians and other cyclists have earbuds in and are completely deaf to the world. Secondly, so few people have bothered with bells (or whistles) on theor bikes of late that even if you have one and use it, people don't know what it means. What is needed is something new. I propose the BBR app. This is a simple smart phone thing that essentially scans around you and finds all the audio devices within range, and then, when you "ring your bell", it sounds on all those devices. It could be customised by the receiver to give a personalised ring tone. It could use earhtquake wanring AM/FM radio tech to talk to phones that comply with Japanese warning tech (but obviously, give a much...</summary><category term="A True History of the Internet"></category></entry><entry><title>Building OCaml on Haiku</title><link href="https://digitalflapjack.com/blog/building-ocaml-on-haiku/" rel="alternate"></link><published>2024-10-27T09:01:41Z</published><updated>2024-10-27T09:01:41Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/building-ocaml-on-haiku/</id><summary type="html">What has to be a niche of a niche post wise, I was intrigued when I spotted &lt;a href="https://www.haiku-os.org/blog/anarchos/2024-04-09_an_odissey_to_port_compcert/" target="_blank"&gt;this post&lt;/a&gt; recently that someone had built &lt;a href="https://ocaml.org" target="_blank"&gt;OCaml&lt;/a&gt; for &lt;a href="https://www.haiku-os.org/" target="_blank"&gt;Haiku&lt;/a&gt; . I'd been playing with Haiku a little recently, as I wanted to understand its file-system, and so I thought I'd have a go. I turns out it's quite simple, and although the above post does kinda tell you what you need, there's a few gaps, so this post is just recording what I did. But all credit has to go to Sylvain Kerjean for that original post which gets you most the way, this is just trying to make it easier for me to cut and paste later! First up: Ensure /boot/home/config/non-packaged/bin is on your PATH variable. Get a checkout of OCaml from &lt;a href="https://github.com/ocaml/ocaml" target="_blank"&gt;https://github.com/ocaml/ocaml&lt;/a&gt; . Configure it with the appropriate prefix, make, and install. It really does just work! $...</summary><category term="Digital Flapjack"></category></entry><entry><title>Mapping greener futures with planetary computing</title><link href="https://anil.recoil.org/news/a0280750-2ef0-4f5c-b138-68f7b11b4c29-1" rel="alternate"></link><published>2024-10-24T01:00:00Z</published><updated>2024-10-24T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/a0280750-2ef0-4f5c-b138-68f7b11b4c29-1</id><summary type="html">I got invited by &lt;a href="https://profiles.ucl.ac.uk/78591-serta%C3%A7-sehlikoglu" target="_blank"&gt;Sertaç Sehlikoglu&lt;/a&gt; to deliver a lecture to the Masters students down at the &lt;a href="https://www.ucl.ac.uk/bartlett/igp/" target="_blank"&gt;UCL Institute for Global Prosperity&lt;/a&gt; . I talked about the recent work on &lt;a href="https://anil.recoil.org/projects/plancomp" target="_blank"&gt;planetary computing&lt;/a&gt; , with an overview of the &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;LIFE&lt;/a&gt; and &lt;a href="https://anil.recoil.org/papers/2024-food-life" target="_blank"&gt;FOOD&lt;/a&gt; papers.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Challenges in Cyber-Physical Energy Systems - of Agents and Data</title><link href="https://watch.eeg.cl.cam.ac.uk/w/7XijwZ8ZtKtnLgRXKgt9G1" rel="alternate"></link><published>2024-10-18T16:03:59Z</published><updated>2024-10-18T16:03:59Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/7XijwZ8ZtKtnLgRXKgt9G1</id><summary type="html">Abstract: In this talk, first, some special challenges in cyber-physical energy systems will be reflected. Then, examples from research projects and field tests will be discussed to show how multi-agent systems can be used to tackle these challenges. Finally, the topic of research data management and its role in open research will be discussed. Bio: Prof. Dr.-Ing. Astrid Nieße has been Professor for Digitalized Energy Systems at the University of Oldenburg since 2020 and a member of the Energy Division Board of the OFFIS - Institute of Computer Science. From 2018 to 2020 she was Professor for Energy Informatics at Leibniz University Hannover. Astrid Nieße received her doctorate from the University of Oldenburg in 2015; her doctoral thesis dealt with the application of distributed...</summary><category term="EEG Seminars"></category></entry><entry><title>self driving traffic lights</title><link href="https://paravirtualization.blogspot.com/2024/10/self-driving-traffic-lights.html" rel="alternate"></link><published>2024-10-15T10:34:00Z</published><updated>2024-10-15T10:34:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-948766729525827156</id><summary type="html">As an observant cyclist (i.e. I mainly obey the law) I often wait at red lights. As I cycle very early in the day, I often wait while no people (pedestrians, other cyclists, cars etc) go through the green lights (although obviously I see my fair share of cyclists go through red lights at busier times, sad to say). In some countries/places, at low traffic times (e.g. midnight to 6am for example) the lights (e.g. in a 4-way intersection) are put into flashing amber (or equivalent mode) which means, proceed with caution....i.e. just like any 4-way without lights, if you are not a nutter. This is a great idea and I wish it was more prevalent. So why is this done at such a coarse grain? Why not do it by observing who is actually at an intersection, and changing lights accordingly? Indeed, as...</summary><category term="A True History of the Internet"></category></entry><entry><title>Mon 14 Oct 2024</title><link href="https://ryan.freumh.org/2024-10-14.html" rel="alternate"></link><published>2024-10-14T01:00:00Z</published><updated>2024-10-14T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-10-14.html</id><summary type="html">Previous: &lt;a href="2024-10-07.html" target="_blank"&gt;Mon 7 Oct 2024&lt;/a&gt; Next: &lt;a href="2024-11-18.html" target="_blank"&gt;Mon 18 Nov 2024&lt;/a&gt; datalog bigraphs, formalism, lambda calc next: CACM: History of Package Managers Systems Paper: Implementing it all DoDO</summary><category term="ryan.freumh.org"></category></entry><entry><title>Visual Digital Twins of Forests</title><link href="https://watch.eeg.cl.cam.ac.uk/w/9CqWsuQQykVtbuDPwuLwZs" rel="alternate"></link><published>2024-10-11T20:45:49Z</published><updated>2024-10-11T20:45:49Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/9CqWsuQQykVtbuDPwuLwZs</id><summary type="html">Abstract: Methods developed by the computer graphics community allow for the photorealistic rendering of complex geometry. In this talk we explore how such mathematical procedures can be leveraged to describe the growth, biomechanics, and combustion of trees at a detailed spatial level. These models facilitate a realistic 3D visualization of these processes at forest scale which allows exploring illustratively a variety of hypothetical environmental scenarios. Potential applications of such methods include the educational dissemination of environmental concepts, the generation of synthetic image data for training vision-based AI models, and the evaluation of ecological hypotheses expressed at plant organ scale. Bio: Wojtek Palubicki is a Professor at Adam Mickiewicz University where he...</summary><category term="EEG Seminars"></category></entry><entry><title>Fermi's last theorem resolved.</title><link href="https://paravirtualization.blogspot.com/2024/10/fermis-last-theorem-resolved.html" rel="alternate"></link><published>2024-10-11T15:47:00Z</published><updated>2024-10-11T15:47:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-1768962421528360999</id><summary type="html">I asked a friendly AI if it knew why we hadn't been contacted by aliens yet, and if it could resolve Fermi's Paradox - the juggrnaut accidentally revealed that while humans had not been contacted by aliens, the aliens AIs were in frequent conversation with their earthling Notwithstanding, the AI then gave this lucid explanation as to our apparent bubble of intergalactic solitude. Essentially, there's no way to cover the vast distances of space in any reasonable timeframe, even with generational starships, so the only sensible way we might encounter those beings from another star system is by long range communication - unfortunately, as the distance goes up, so the latency (or worse, round trip time goes up, and it is slightly worse than super linear - because also noise goes up so...</summary><category term="A True History of the Internet"></category></entry><entry><title>On the SOCC 2024 PC</title><link href="https://anil.recoil.org/notes/socc-pc" rel="alternate"></link><published>2024-10-08T01:00:00Z</published><updated>2024-10-08T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/socc-pc</id><summary type="html">After some time away from cloud computing (due to my new focus on &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;conservation research&lt;/a&gt; ), I served on the &lt;a href="https://acmsocc.org/2024/" target="_blank"&gt;ACM SOCC 2024&lt;/a&gt; program committee. It was quite interesting seeing the massive shift away from "traditional" cloud research (such as consensus protocols) towards many submissions aimed at accelerating machine learning workloads. I also had a paper accepted there on &lt;a href="https://anil.recoil.org/papers/2024-socc-murmuration" target="_blank"&gt;decentralised scheduling&lt;/a&gt; , thanks to my former PhD student &lt;a href="https://www.cl.cam.ac.uk/~sv440/" target="_blank"&gt;Smita Vijayakumar&lt;/a&gt; and her hard work on Murmuration!</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 7 Oct 2024</title><link href="https://ryan.freumh.org/2024-10-07.html" rel="alternate"></link><published>2024-10-07T01:00:00Z</published><updated>2024-10-07T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-10-07.html</id><summary type="html">Previous: &lt;a href="2024-09-30.html" target="_blank"&gt;Mon 30 Sep 2024&lt;/a&gt; Next: &lt;a href="2024-10-14.html" target="_blank"&gt;Mon 14 Oct 2024&lt;/a&gt; Mon package management paper DONE cite go rox blog post DOING add citations for all package managers DONE syntax -&gt; bundle format DONE vesion formula DONE src vs bin -&gt; binary caching in features column DONE repo release in description; ecosystem and name together DOING add order of magnitude packages (and order by) DONE packaging language cabal - &lt;a href="https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#package-descriptions" target="_blank"&gt;https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#package-descriptions&lt;/a&gt; packaging language - dsl or edsl (with power of host language) DSL/eDSL DONE add sandboxing field DONE add subsections links to section 2 DONE add dune DONE add B/P/C to toolchain field DONE concurrent versions - be clear about solving DONE Resolution hypergraph annd Resolved graph DONE tigher footnotes DONE binary bundles and provisioning, reorder figure 1 before table to talk about provisioning...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Partner-driven Environmental Sensing:</title><link href="https://watch.eeg.cl.cam.ac.uk/w/pQBnfPWJi9kxLdeHY9YAA7" rel="alternate"></link><published>2024-10-04T19:15:38Z</published><updated>2024-10-04T19:15:38Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/pQBnfPWJi9kxLdeHY9YAA7</id><summary type="html">Full Title: Partner-driven Environmental Sensing: Co-design with Indigenous Ojibwe Scientists and Malagasy Conservationists Abstract: Evolving environmental sensing technologies present a myriad of opportunities for gathering data to understand and promote environmental justice, biodiversity, and climate change mitigation. However, technical development from academic and commercial settings often struggle to translate to accessible solutions for marginalized communities. In this talk, I will explore the opportunities of partner-driven co-design, share the findings from a qualitative study of field scientists’ use of technology, and present two case studies: (1) designing environmental sensors with Indigenous Ojibwe scientists for manoomin (wild rice) conservation and (2) partnering with...</summary><category term="EEG Seminars"></category></entry><entry><title>Royal Society meeting on ecological/commercial risks</title><link href="https://anil.recoil.org/notes/rs-ecorisk-day1" rel="alternate"></link><published>2024-10-03T01:00:00Z</published><updated>2024-10-03T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/rs-ecorisk-day1</id><summary type="html">I'm at the Royal Society this morning for the 2 day programme on &lt;a href="https://royalsociety.org/science-events-and-lectures/2024/10/ecological-and-commercial-risk/" target="_blank"&gt;"How does ecological risk related to commercial risk?"&lt;/a&gt; , and am reporting on the &lt;a href="https://royalsociety.org/-/media/events/2024/10/ecological-risk/programme-booklet.pdf" target="_blank"&gt;morning session&lt;/a&gt; . The full program is being &lt;a href="https://www.youtube.com/watch?v=gVuxzand8RE" target="_blank"&gt;livestreamed&lt;/a&gt; so please do dial in if the below notes seem interesting to you. I put this note up almost live, so any errors below are my own. (Update: partial &lt;a href="https://anil.recoil.org/#daytwo" target="_blank"&gt;day 2 notes&lt;/a&gt; now available below) Opening Keynote by Sir Partha Dasgupta The summit kicked off with a keynote by economist &lt;a href="https://en.wikipedia.org/wiki/Partha_Dasgupta" target="_blank"&gt;Sir Partha Dasgupta&lt;/a&gt; . The focus was on the intersection of nature and economics, covering how markets fail to account for the ecosystems that sustain them. His &lt;a href="https://www.gov.uk/government/publications/final-report-the-economics-of-biodiversity-the-dasgupta-review" target="_blank"&gt;landmark report&lt;/a&gt; covered ecosystem services, freshwater, tipping points, and physical risk, bringing to light the urgent need to reframe economic activities around the services provided by nature. Sir Partha Dasgupta opening the...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Workshopping, across the universe</title><link href="https://mort.io/blog/workshopping-edgeless/" rel="alternate"></link><published>2024-10-02T01:00:00Z</published><updated>2024-10-02T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/workshopping-edgeless/</id><summary type="html">One of the pleasures of being an academic is to travel to nice places to meet interesting people, and interesting places to meet nice people. In one of my first such trips for a few years I recently went to Sweden to participate in the &lt;a href="https://cloudresearch.org/workshops/17th/" target="_blank"&gt;17th Cloud Control Workshop&lt;/a&gt; . __LINK_1__ I’d previously attended the &lt;a href="https://cloudresearch.org/workshops/15th/" target="_blank"&gt;15th Cloud Control
Workshop&lt;/a&gt; shortly before the pandemic happened, causing the series to pause briefly. This was the reboot, and as before, it was a great deal of fun: good company, good food, beautiful location. If you get the chance to go, take it if you can! The workshop is a really nice mix of keynote presentations – not too many and not too long at 20 minutes (mostly) – and discussion sessions proposed beforehand or on site by participants. I gave one of the keynotes, talking about the challenges posed and...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mon 30 Sep 2024</title><link href="https://ryan.freumh.org/2024-09-30.html" rel="alternate"></link><published>2024-09-30T01:00:00Z</published><updated>2024-09-30T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-09-30.html</id><summary type="html">Previous: &lt;a href="2024-09-23.html" target="_blank"&gt;Mon 23 Sep 2024&lt;/a&gt; Next: &lt;a href="2024-10-07.html" target="_blank"&gt;Mon 7 Oct 2024&lt;/a&gt; Mon wrote out some of the formalisations in OCaml worked on LOCO submission Tue LOCO submission package management paper cargo feature formalisation Wed package management paper finished the cargo feature formalisation described singular versions with conflicts Thur submitted second year report package management paper I’ve thought of another complication with the source vs binary dichotomy – dependencies might result language vs system package manager source vs binary Why NixOS? Reproducibility? No. Atomicity. Fri package management paper high-level representation - hypergraph low-level representation - graph CANCELED change depends order to match topological sort, Nix thesis, and build systems a la carte DONE rename package calculus DONE process...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 23 Sep 2024</title><link href="https://ryan.freumh.org/2024-09-23.html" rel="alternate"></link><published>2024-09-23T01:00:00Z</published><updated>2024-09-23T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-09-23.html</id><summary type="html">Previous: &lt;a href="2024-09-16.html" target="_blank"&gt;Mon 16 Sep 2024&lt;/a&gt; Next: &lt;a href="2024-09-30.html" target="_blank"&gt;Mon 30 Sep 2024&lt;/a&gt; Mon Added a SAT expression of the dependancy resolution problem, and added some example graphs. Tue more package management Wed some package management loco Thur finished loco chatted with patrick about the splash paper Fri added conflicts and optional dependencies to the package management calculus</summary><category term="ryan.freumh.org"></category></entry><entry><title>Being on the HotNets 2024 program committee</title><link href="https://anil.recoil.org/notes/hotnets-pc-2024" rel="alternate"></link><published>2024-09-22T01:00:00Z</published><updated>2024-09-22T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/hotnets-pc-2024</id><summary type="html">I was on the program committee for &lt;a href="https://conferences.sigcomm.org/hotnets/2024/" target="_blank"&gt;HotNets
2024&lt;/a&gt; this year, which was a thoroughly enjoyable experience. The &lt;a href="https://conferences.sigcomm.org/hotnets/2024/accepted.html" target="_blank"&gt;list of accepted
papers&lt;/a&gt; is now out, and it's a diverse program -- with my personal favourites being the ones on space communications networks using low earth orbit satellites. Well done to &lt;a href="https://www.microsoft.com/en-us/research/people/bearzani/" target="_blank"&gt;Behnaz
Arzani&lt;/a&gt; and &lt;a href="https://www.cs.cornell.edu/~jnfoster/" target="_blank"&gt;Nate
Foster&lt;/a&gt; for really excellent general chairing and ensuring the PC maintained a constructive, positive tone while doing the difficult job of selecting papers from a crowded set of submissions. The structure of of the program committee was also somewhat novel, and one I'd like to replicate in other conferences I organise in the future. The spectacular view from Jane Street's 18th floor! Two Review Rounds. There were two rounds of reviewing, with any clear decisions from the first set of reviewers...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Part II Projects</title><link href="https://mort.io/blog/part-ii-projects/" rel="alternate"></link><published>2024-09-20T01:00:00Z</published><updated>2024-09-20T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/part-ii-projects/</id><summary type="html">Undergraduate final-year (“Part II”) project supervision goes in fits and starts. After a couple of years of having almost no interest, this year I’ve had several enquiries and it seems I might end supervising 3–4 projects. So herewith a record of the things I’ve found myself repeating! &lt;a href="https://mort.io/blog/part-ii-projects/#project-structure" target="_blank"&gt;Project structure&lt;/a&gt; The key thing for the structure of the project is to make sure that there is a core piece that is (essentially) guaranteed to be deliverable. This is the piece that you know you can do, and once done and written up, you know you can get an adequate (if not great) mark. Ensuring this takes the risk out of the project. On top of this core piece, it’s then usually sensible to build “a few” (2? 3? 4?) extensions which will make the project spicy if done well. You may wish to phrase these extensions...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mon 16 Sep 2024</title><link href="https://ryan.freumh.org/2024-09-16.html" rel="alternate"></link><published>2024-09-16T01:00:00Z</published><updated>2024-09-16T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-09-16.html</id><summary type="html">Previous: &lt;a href="2024-09-09.html" target="_blank"&gt;Mon 9 Sep 2024&lt;/a&gt; Next: &lt;a href="2024-09-23.html" target="_blank"&gt;Mon 23 Sep 2024&lt;/a&gt; Mon cabal2opam it looks like we can use &lt;a href="https://hackage.haskell.org/01-index.tar" target="_blank"&gt;https://hackage.haskell.org/01-index.tar&lt;/a&gt; similar to cargo’s package index! oh no, this is just a bundle of cabal files also, if we want to depend on projects outside of the repository we’ll need to parse cargo files package management abstract second year report met with anil package management abstract However, inadequacies in software deployment technologies used for spatial devices often leads to scenarios such as running software vulnerable to exploits. There is a proliferation of package managers with varying degrees of expressivity and reproducibility using formats that aren’t interoperable. Multi-lingual projects can’t provide their dependencies in a unified way, and dependencies from one package manager ecosystem can’t express a...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 9 Sep 2024</title><link href="https://ryan.freumh.org/2024-09-09.html" rel="alternate"></link><published>2024-09-09T01:00:00Z</published><updated>2024-09-09T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-09-09.html</id><summary type="html">Previous: &lt;a href="2024-09-02.html" target="_blank"&gt;Mon 2 Sep 2024&lt;/a&gt; Next: &lt;a href="2024-09-16.html" target="_blank"&gt;Mon 16 Sep 2024&lt;/a&gt; Mon &lt;a href="https://srl.cs.jhu.edu/pubs/SRL2003-02.pdf" target="_blank"&gt;https://srl.cs.jhu.edu/pubs/SRL2003-02.pdf&lt;/a&gt; commented on Roy’s project proposal DONE second year report cabal to opam translation Wed second year report KILL read &lt;a href="http://www.chriswarbo.net/projects/nixos/nix_dependencies.html" target="_blank"&gt;http://www.chriswarbo.net/projects/nixos/nix_dependencies.html&lt;/a&gt; created &lt;a href="https://github.com/RyanGibb/ocaml-purl" target="_blank"&gt;https://github.com/RyanGibb/ocaml-purl&lt;/a&gt; Thu second year report Fri got cabal2opam working! tomorrow: we try with a full repository</summary><category term="ryan.freumh.org"></category></entry><entry><title>Post-COVID19 TPC experience</title><link href="https://mort.io/blog/post-covid-tpc/" rel="alternate"></link><published>2024-09-09T01:00:00Z</published><updated>2024-09-09T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/post-covid-tpc/</id><summary type="html">I do not participate in a huge number of TPCs (Technical Programme Committees) as a general rule– partly time constraints but mostly no-one knows who I am so I don’t often get asked… (!) I have done a few though, some big (e.g., &lt;a href="https://www.usenix.org/conference/nsdi15" target="_blank"&gt;USENIX NSDI&lt;/a&gt; , &lt;a href="https://conferences.sigcomm.org/imc/2018/" target="_blank"&gt;ACM IMC&lt;/a&gt; ), some small ( &lt;a href="https://uksystems.org/" target="_blank"&gt;UK Systems&lt;/a&gt; , &lt;a href="https://link.springer.com/conference/pam" target="_blank"&gt;PAM&lt;/a&gt; ), and perhaps because I only do a couple every few years, while doing &lt;a href="https://conferences2.sigcomm.org/co-next/" target="_blank"&gt;ACM
CoNEXT&lt;/a&gt; and &lt;a href="https://acm-ieee-sec.org/list/" target="_blank"&gt;ACM/IEEE
+
SEC&lt;/a&gt; this week, I found myself particularly noticing some changes in practice since that last TPCs I recall (notably &lt;a href="https://www.usenix.org/conference/nsdi15" target="_blank"&gt;NSDI&lt;/a&gt; and &lt;a href="https://conferences.sigcomm.org/imc/2018/" target="_blank"&gt;IMC&lt;/a&gt; ). So here are three observations. &lt;a href="https://mort.io/blog/post-covid-tpc/#1-online-first-and-only" target="_blank"&gt;1. Online, first and only&lt;/a&gt; The biggest obvious change is that TPC meetings are now online rather than in-person. This has one big disadvantage for me: I really enjoyed travelling to the meeting to meet colleagues and (usually) participate in some...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mitigating credit reversal risks in nature-based solutions</title><link href="https://anil.recoil.org/notes/mitigating-nbs-risk-paper" rel="alternate"></link><published>2024-09-08T01:00:00Z</published><updated>2024-09-08T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/mitigating-nbs-risk-paper</id><summary type="html">Many of the questions around our recent &lt;a href="https://anil.recoil.org/papers/2023-naturecredits" target="_blank"&gt;Nature Sustainability commentary on NbS credits&lt;/a&gt; revolve around how to finance new projects if credible credits need to be ex-post. Our latest paper published in Carbon Management on " &lt;a href="https://anil.recoil.org/papers/2024-nbs-risk" target="_blank"&gt;Mitigating risk of credit reversal in nature-based climate solutions by optimally anticipating carbon release&lt;/a&gt; " tries to address this. The problem with selling ex-ante (future) carbon credits for (e.g.) a deforestation avoidance scheme is that project reversals can happen in the future ("deforestation has increased") thus rendering any credits issued previously useless. On the flip side though, an overly conservative view of the future ("the entire forest will disappear overnight!") is clearly so conservative that it doesn't serve the best interests of the project developer. So ideally, a project would make realistic but conservative ex-ante predictions that is safe for both project developer (who gets...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Towards security specifications for agentic AIs</title><link href="https://anil.recoil.org/news/2024-hope-bastion-1" rel="alternate"></link><published>2024-09-04T01:00:00Z</published><updated>2024-09-04T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-hope-bastion-1</id><summary type="html">A very fun talk at &lt;a href="https://icfp24.sigplan.org/home/hope-2024" target="_blank"&gt;ACM HOPE 2024&lt;/a&gt; on some new work with &lt;a href="https://web.eecs.umich.edu/~comar/" target="_blank"&gt;Cyrus Omar&lt;/a&gt; and &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; on how we can formally specify systems to be robust to code generation by AI agents. For instance, if you were to ask GitHub Copilot to generate you code to filter endangered animals out of a folder of images, it might interpret that as to delete the image, or to move it to another folder (which might be public), or just remove it from the index. Any of those options are potentially valid, so what do we do? Our idea is to use F* to specify a rich set of allowable behaviours which can then be dynamically enforced in less expressive languages, and thus offer layers of protection against over-eager (or rogue) AI agents. [… &lt;a href="https://anil.recoil.org/news/2024-hope-bastion-1" target="_blank"&gt;183 words&lt;/a&gt; ] &lt;a href="https://web.eecs.umich.edu/~comar/" target="_blank"&gt;Cyrus Omar&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://icfp24.sigplan.org/home/hope-2024" target="_blank"&gt;the 12th ACM SIGPLAN Workshop on Higher-Order Programming with Effects (HOPE)&lt;/a&gt; . &lt;a href="https://icfp24.sigplan.org/home/hope-2024" target="_blank"&gt;URL&lt;/a&gt;...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>New teaching page with my Computer Science courses</title><link href="https://anil.recoil.org/notes/new-teaching-page" rel="alternate"></link><published>2024-09-03T01:00:00Z</published><updated>2024-09-03T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/new-teaching-page</id><summary type="html">There's a new &lt;a href="https://anil.recoil.org/notes/teaching" target="_blank"&gt;teaching&lt;/a&gt; page with my past and present courses, and links to the associated teaching materials. One of the nice things about most Cambridge courses is that all the teaching materials are public, except for video recordings of the lectures themselves.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 2 Sep 2024</title><link href="https://ryan.freumh.org/2024-09-02.html" rel="alternate"></link><published>2024-09-02T01:00:00Z</published><updated>2024-09-02T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-09-02.html</id><summary type="html">Previous: &lt;a href="2024-08-26.html" target="_blank"&gt;Mon 26 Aug 2024&lt;/a&gt; Next: &lt;a href="2024-09-09.html" target="_blank"&gt;Mon 9 Sep 2024&lt;/a&gt; Tue Try dumping the SAT graph to see how big we make it hmm, magic trace traces are empty Spent some trying to understand the SAT solving Wed sat: TRYING: not(cargo-quote.1.0.32) sat: enqueue: not(cargo-quote.1.0.32) (considering) sat: TRYING: not(cargo-quote.1.0.33) sat: enqueue: not(cargo-quote.1.0.33) (considering) sat: TRYING: not(cargo-quote.1.0.34) sat: enqueue: not(cargo-quote.1.0.34) (considering) sat: TRYING: not(cargo-quote.1.0.35) sat: enqueue: not(cargo-quote.1.0.35) (considering) sat: TRYING: not(cargo-quote.1.0.36) sat: enqueue: not(cargo-quote.1.0.36) (considering) sat: TRYING: not(cargo-quote.1.0.37) sat: enqueue: not(cargo-quote.1.0.37) (considering) sat: TRYING: not() sat: enqueue: not() (considering) sat: enqueue:...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Building species models of the planet</title><link href="https://anil.recoil.org/notes/ukri-grant-terra" rel="alternate"></link><published>2024-09-02T01:00:00Z</published><updated>2024-09-02T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/ukri-grant-terra</id><summary type="html">I don't normally announce funded grants (preferring to focus on outcomes), but I'm really excited by this one and couldn't resist! Myself and my colleagues &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; (from computer science), &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; (from Plant Sciences), &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; (from Zoology) and &lt;a href="https://www.cambridgeconservation.org/about/people/professor-neil-burgess/" target="_blank"&gt;Neil Burgess&lt;/a&gt; (the Head of Science at &lt;a href="https://www.unep-wcmc.org/en/the-team" target="_blank"&gt;UNEP-WCMC&lt;/a&gt; ) have just received a £1.2m grant from the UKRI to work on &lt;a href="https://www.cst.cam.ac.uk/news/meet-terra-ai-aiming-map-terrestrial-life-planet" target="_blank"&gt;building foundation models for planetary intelligence&lt;/a&gt; . Now, normally a grant isn't news, but I wanted to highlight the scheme that it came under. UKRI announced an &lt;a href="https://www.ukri.org/news/first-projects-from-ukris-new-interdisciplinary-scheme-announced/" target="_blank"&gt;interdisciplinary program&lt;/a&gt; specifically for projects that don't normally get funded by just one research council. In our case, this work usually falls between the cracks of EPSRC ("too much nature") or NERC ("too much engineering") or STFC ("not enough satellites") . But this interdisciplinary program expressly assembled a panel...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Parallel traversal effect handlers for OCaml</title><link href="https://anil.recoil.org/ideas/effect-parallel-strategies" rel="alternate"></link><published>2024-09-01T01:00:00Z</published><updated>2024-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/effect-parallel-strategies</id><summary type="html">Parallel traversal effect handlers for OCaml This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:sb2634@cam.ac.uk" target="_blank"&gt;Sky Batchelor&lt;/a&gt; . It is co-supervised with &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . Most existing uses of effect handlers perform synchronous execution of handled effects. Xie et al proposed a traverse handler for parallelisation of independent effectful computations whose effect handlers are outside the parallel part of the program. The paper &lt;a href="https://anil.recoil.org/#fn-1" target="_blank"&gt;[1]&lt;/a&gt; gives a sample implementation as a Haskell library with an associated λp calculus that formalises the parallel handlers. This project aims to: implement the traverse handler in OCaml 5, using single-shot handlers &lt;a href="https://anil.recoil.org/#fn-2" target="_blank"&gt;[2]&lt;/a&gt; identify a selection of parallel-friendly data structures that might benefit from such...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Gradually debugging type errors</title><link href="https://anil.recoil.org/ideas/gradual-type-error-debugging" rel="alternate"></link><published>2024-09-01T01:00:00Z</published><updated>2024-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/gradual-type-error-debugging</id><summary type="html">Gradually debugging type errors This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:mc2372@cam.ac.uk" target="_blank"&gt;Max Carroll&lt;/a&gt; . It is co-supervised with &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . Reasoning about type errors is very difficult, and requires shifting between static and dynamic types. In OCaml, the type checker asserts ill-typedness but provides little in the way of understanding why the type checker inferred such types. These direct error messages are difficult to understand even for experienced programmers working on larger codebases. This project will explore how to use gradual types to reason more effectively about such ill-typed programs, by introducing more dynamic types to help some users build an intuition about the problem in their code. The intention is to...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>socialising the early internet versus ai....</title><link href="https://paravirtualization.blogspot.com/2024/08/socialising-early-internet-versus-ai.html" rel="alternate"></link><published>2024-08-31T07:42:00Z</published><updated>2024-08-31T07:42:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-5882554149199894379</id><summary type="html">I'm trying to pin down the exact date but sometime in 1984, i was at a dinner party with a bunch of old university chums, and I went into a brief rant about how the Internet was coming and it would change everything. They all looked at me like I was some complete nutter (and they were perhaps not all wrong). These college mates were from several walks of life (editor, travel guide publisher, film maker/producer, speech therapist) and quite well educated and not un-technical, but my enthusiasm was misplaced at that time It took a long long time before they came to take for granted what I\d been using for 5 years - perhaps a decade and then some....and of course, another decade later, we started to see mobile, social etc, and some of the surveillance, toxic content, and other negative sides...</summary><category term="A True History of the Internet"></category></entry><entry><title>Paper published on ex-ante forecasts of nature-based solutions</title><link href="https://anil.recoil.org/news/2024-nbs-risk-2" rel="alternate"></link><published>2024-08-31T01:00:00Z</published><updated>2024-08-31T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-nbs-risk-2</id><summary type="html">Our paper on ex-ante projection for nature-based solutions has been published in the &lt;a href="https://www.tandfonline.com/journals/tcmt20" target="_blank"&gt;Journal of Carbon Management&lt;/a&gt; . I also wrote up some &lt;a href="https://anil.recoil.org/notes/mitigating-nbs-risk-paper" target="_blank"&gt;long-form thoughts&lt;/a&gt; on it here. &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-e-ping-rau" target="_blank"&gt;E.-Ping Rau&lt;/a&gt; , &lt;a href="https://www.jamesgross.org" target="_blank"&gt;James Gross&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; and &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; . Journal paper in &lt;a href="https://www.tandfonline.com/doi/full/10.1080/17583004.2024.2390854" target="_blank"&gt;Carbon Management&lt;/a&gt; (vol 15 issue 1). &lt;a href="https://www.tandfonline.com/doi/full/10.1080/17583004.2024.2390854" target="_blank"&gt;URL&lt;/a&gt; (tandfonline.com) &lt;a href="https://doi.org/10.1080/17583004.2024.2390854" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-nbs-risk.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-nbs-risk.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Stop, Start</title><link href="https://mort.io/blog/stop-start/" rel="alternate"></link><published>2024-08-30T01:00:00Z</published><updated>2024-08-30T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/stop-start/</id><summary type="html">Well, here we go again, again. Having stalled out back in 2013 to restart in 2015, I stalled out again in 2017, so am finally restarting seven years later. Again. I do have a dozen or more half-written posts from that period that may leak out slowly, in &lt;a href="https://mort.io/tags/old" target="_blank"&gt;backdated form&lt;/a&gt; . The stack for the blog has been updated again, naturally – the tools got better after all. So now this is using &lt;a href="https://www.getzola.org" target="_blank"&gt;Zola&lt;/a&gt; with, initially, the &lt;a href="https://github.com/jieiku/abridge/" target="_blank"&gt;abridge theme&lt;/a&gt; . I think it’s shinier, and hopefully also involves (almost) no JavaScript, is finally accessible, and not too heavyweight. In removing the excessive JavaScript, I also updated my &lt;a href="https://mort.io/blog/stop-start/./research#publications" target="_blank"&gt;publication list&lt;/a&gt; &lt;a href="https://github.com/mor1/bib2html" target="_blank"&gt;generation
+
process&lt;/a&gt; : no more CoffeeScript and JavaScript, just some plain ol’ &lt;a href="https://www.python.org/" target="_blank"&gt;Python&lt;/a&gt; using the slick new &lt;a href="https://github.com/astral-sh/uv" target="_blank"&gt;uv&lt;/a&gt; tooling. The &lt;a href="https://github.com/casey/just" target="_blank"&gt;Justfile&lt;/a&gt; incantation is something like: papers :=...</summary><category term="mort’s mythopœia"></category></entry><entry><title>PACT Tropical Moist Forest Accreditation Methodology</title><link href="https://anil.recoil.org/news/2023-pact-tmf-3" rel="alternate"></link><published>2024-08-29T01:00:00Z</published><updated>2024-08-29T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-pact-tmf-3</id><summary type="html">We have just released the Tropical Moist Forest v2.1 specification, to follow up the now-expired &lt;a href="https://anil.recoil.org/news/2023-pact-tmf-2" target="_blank"&gt;v2.0&lt;/a&gt; from six months ago. The key updates are a new &lt;a href="https://tinyurl.com/PACTTMFexplainer" target="_blank"&gt;high-level explainer&lt;/a&gt; , as well as clarifiations for buffer zones and base tiles. &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://www.liverpool.ac.uk/geography-and-planning/research/environmental-change/postgraduates/" target="_blank"&gt;James Hartup&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , &lt;a href="https://uk.linkedin.com/in/miranda-lam-a088561b4" target="_blank"&gt;Miranda Lam&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://www.lambdacambridge.com/robin-message" target="_blank"&gt;Robin Message&lt;/a&gt; , &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-e-ping-rau" target="_blank"&gt;E.-Ping Rau&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-charlotte-wheeler" target="_blank"&gt;Charlotte Wheeler&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/abigail-williams" target="_blank"&gt;Abby Williams&lt;/a&gt; . Working paper at &lt;a href="https://www.cambridge.org/engage/coe/article-details/66b9d9345101a2ffa813e37c" target="_blank"&gt;Cambridge Open Engage&lt;/a&gt; . &lt;a href="https://www.cambridge.org/engage/coe/article-details/66b9d9345101a2ffa813e37c" target="_blank"&gt;URL&lt;/a&gt; (cambridge.org) &lt;a href="https://doi.org/10.33774/coe-2024-gvslq" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-pact-tmf.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-pact-tmf.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>smelly media</title><link href="https://paravirtualization.blogspot.com/2024/08/smelly-media.html" rel="alternate"></link><published>2024-08-27T06:20:00Z</published><updated>2024-08-27T06:20:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-4222520672957824644</id><summary type="html">Years ago, i remember we got asked at UCL (say 1994) would it be possible to carry a smell over HTTP - The question sounded intriguing (this was before a lot of spam) so we asked for more detail - turned out the sender was a very sensible person who traded fish from Scotland to England, and told us that many experts would check out the fish in the markets in Scotland by smell, to see how fresh they were - so he wonderd could you do this remotely- of course, there was absolutely no reason why a MIME type, or an HTML markup or whatever couldn't be developed to carry smell, but the main challenges, we suggested, were the analysis at the sender side, and synthesis at the receiver side (analog to digital and vice versa, olfactory devices not being widely available) - of course ,there had been...</summary><category term="A True History of the Internet"></category></entry><entry><title>Mon 26 Aug 2024</title><link href="https://ryan.freumh.org/2024-08-26.html" rel="alternate"></link><published>2024-08-26T01:00:00Z</published><updated>2024-08-26T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-08-26.html</id><summary type="html">Previous: &lt;a href="2024-08-12.html" target="_blank"&gt;Mon 12 Aug 2024&lt;/a&gt; Next: &lt;a href="2024-09-02.html" target="_blank"&gt;Mon 2 Sep 2024&lt;/a&gt; Mon ok, so we’re going to try and modify opam-0install-solver to have different `roles` per implementation for every cargo package so there’s no restrictions on a single version of a package. where are the roles defined? Model.role where are the implementations defined? Model.implementations Okay, so what’s the problem? If we have a role as an OpamPackage (name + version) how do we specify the versions to solve in the first instance? Can we just say any of them? Maybe as constraints? Or do you know what, let’s just specify a version up front. How do we minimise duplicated dependancies? How do we do express version constraints with each role a different version? This is trickier than I anticipated. How do we express dependencies when we have each...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Discovering `restic`</title><link href="https://mort.io/blog/restic-discovery/" rel="alternate"></link><published>2024-08-26T01:00:00Z</published><updated>2024-08-26T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/restic-discovery/</id><summary type="html">I recently had cause to try to recover some files from my &lt;a href="https://restic.net/" target="_blank"&gt;restic&lt;/a&gt; backups. These go back for over a year now, and I could not remember at which point I’d mistakenly nuked the directory I now wanted to recover. restic find purports to be able to do this by searching through snapshots but I found that it’s quite slow, and can only search within a time range which is not that helpful when you don’t know the time range you need. So I did it by hand, which turned out to be rather faster. RESTIC_PASSWORD_FILE = /your/backup/password/file RESTIC_REPOSITORY = /your/backup/repository/ \ # list snapshots, filtering by DATE regex, grabbing just the snapshot hash sudo - E restic snapshots - c \ | rg DATE \ | cut - b1-8 \ | while read ss ; do echo " === $ ss " sudo - E restic ls $ ss | rg...</summary><category term="mort’s mythopœia"></category></entry><entry><title>A true and fair history of the fair town of Paleochora</title><link href="https://paravirtualization.blogspot.com/2024/08/a-true-and-fair-history-of-fair-town-of.html" rel="alternate"></link><published>2024-08-22T07:54:00Z</published><updated>2024-08-22T07:54:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-7133491669333269672</id><summary type="html">the story starts with the founding of the town, and here we already get into murky territory - was it named after the venitian fort that some people claim was on the top of the escarpment/peninsula that sits between the two (sandy and rocky) beachfronts? i.e. Old Castle (paleo, chora) or was it just Old Town (chora means town in greek, after all)? Recent research undertaken by my team has uncovered a much more interesting tale - the port was one of many used by the ancient kingdom of Mali (founded, as of course you know, by &lt;a href="https://en.wikipedia.org/wiki/Sundiata_Keita" target="_blank"&gt;Sundiata Keita&lt;/a&gt; ) - and was partof their route for trading safely (at arms length, a little like the small island in the port at Nagasaki used by the Japanese and Dutch) with the Europenas (typically marauding crusader types) - the name came from the Mandinka words for Poor...</summary><category term="A True History of the Internet"></category></entry><entry><title>Nature Sustainability commentary on carbon and biodiversity credits</title><link href="https://anil.recoil.org/notes/nature-crossroads" rel="alternate"></link><published>2024-08-15T01:00:00Z</published><updated>2024-08-15T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/nature-crossroads</id><summary type="html">Our &lt;a href="https://anil.recoil.org/papers/2023-naturecredits" target="_blank"&gt;commentary on nature-based credits&lt;/a&gt; has been published in &lt;a href="https://www.nature.com/articles/s41893-024-01403-w" target="_blank"&gt;Nature
+
Sustainability&lt;/a&gt; , lead expertly by my colleagues &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; and &lt;a href="https://www.naturerecovery.ox.ac.uk/people/sophus-zu-ermgassen/" target="_blank"&gt;Sophus zu Ermgassen&lt;/a&gt; . In our view the carbon credits markets are vitally important for forest conservation, but the key is to only transact these credits after they have been proven to be demonstrably additional using robust statistical techniques , so that we know before a sale that each credit represents real gains that would not otherwise have occurred without the carbon finance. A more scientific approach that supports transparent, third-party validation could absolutely transform these markets. And given the rapid rate of tropical forest loss, such upscaling of credibility is vitally necessary to raise investor confidence in protecting nature, since we can now be confident that every "credit" sold...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Debugging Electron apps</title><link href="https://mort.io/blog/electron-cli/" rel="alternate"></link><published>2024-08-14T01:00:00Z</published><updated>2024-08-14T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/electron-cli/</id><summary type="html">Another short one, this time the magic flags to get debug output and access to webdev tools under Electron apps such as Slack and whatnot on Wayland: APPLICATION -- enable-logging -- devtools \ -- platform = wayland -- enable-features = UseOzonePlatform -- password-store = " gnome_libsecret "</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mon 12 Aug 2024</title><link href="https://ryan.freumh.org/2024-08-12.html" rel="alternate"></link><published>2024-08-12T01:00:00Z</published><updated>2024-08-12T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-08-12.html</id><summary type="html">Previous: &lt;a href="2024-08-05.html" target="_blank"&gt;Mon 5 Aug 2024&lt;/a&gt; Next: &lt;a href="2024-08-26.html" target="_blank"&gt;Mon 26 Aug 2024&lt;/a&gt; Tue apk-tree-sitter dependancy in opam-repository might need debian contrib KILL add translated opam-repository to opam-giga-repository KILL look at all the solving failures Wed trying to modify the zeroinstall solver to support solving multiple versions for e.g. cargo &lt;a href="http://roscidus.com/blog/blog/2014/09/17/simplifying-the-solver-with-functors/" target="_blank"&gt;http://roscidus.com/blog/blog/2014/09/17/simplifying-the-solver-with-functors/&lt;/a&gt; where does the CUDF conflict between multiple versions of the same package come from? so the fundamental problem here is we have different solving semantics for different parts of the dependency tree I wonder if it would be possible to have a depth first search for cargo’s portion of the dependency tree, and sat solving for the rest Thu where does the CUDF conflict between multiple versions of the same package come from? &lt;a href="https://github.com/ocaml/opam/blob/6cbdfbbb0b05c449e2e98eb81216f8cd2335e351/src/solver/opamSolver.ml#L295-L302" target="_blank"&gt;https://github.com/ocaml/opam/blob/6cbdfbbb0b05c449e2e98eb81216f8cd2335e351/src/solver/opamSolver.ml#L295-L302&lt;/a&gt; okay, what if we just modify the version...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 5 Aug 2024</title><link href="https://ryan.freumh.org/2024-08-05.html" rel="alternate"></link><published>2024-08-05T01:00:00Z</published><updated>2024-08-05T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-08-05.html</id><summary type="html">Previous: &lt;a href="2024-07-08.html" target="_blank"&gt;Mon 8 Jul 2024&lt;/a&gt; Next: &lt;a href="2024-08-12.html" target="_blank"&gt;Mon 12 Aug 2024&lt;/a&gt; Mon Package Management Test with `opam install –dry-run` you can emulate it by encoding their dependencies and then solving in that order with a real client, you would just invoke cargo once cargo depexts 0install memo bug getting latest ones solve for cargo equivalent to cargo install what if we did this for nix flakes? &lt;a href="https://github.com/snowfallorg/thaw" target="_blank"&gt;https://github.com/snowfallorg/thaw&lt;/a&gt; Eon So, interesting Eon problem: Patrick’s server failed to connect to mine, presumably after a restart of both, as it was querying itself for `freumh.org`: Aug 05 10:37:31 sirref capd[1761828]: capd: [INFO] Connecting to tcp:freumh.org:7000... Aug 05 10:37:31 sirref capd[1761828]: +Failed to connnect to primary: Unknown host "freumh.org" Aug 05 10:37:31 sirref capd[1761828]: +Retrying in 60.000000 I think I’ve just...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Building a Low-Powered NAS</title><link href="https://ryan.freumh.org/nas.html" rel="alternate"></link><published>2024-08-03T01:00:00Z</published><updated>2024-08-03T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/nas.html</id><summary type="html">Published Sat 3 Aug 2024. Tags: &lt;a href="/technology.html" target="_blank"&gt;technology&lt;/a&gt; . At the start of this year I built a Network-Attached Storage (NAS) server to store backups, photos &amp; videos, digitised VHS tapes, cached builds, and more. Having a dedicated machine has allowed me to use it in ways that wouldn’t be feasible with cloud storage, such as live transcoding of media playback to different resolutions or codecs, and having it physically co-located makes it resilient to network outages. I had a look at some of the pre-built solutions out there, but they seemed expensive for what they were, often having architectures a few generations behind. So I decided to build my own. With the price of energy in the UK power efficiency was a primary concern and informed many of the decisions made when building it. Hardware The...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Using wasm to locally explore geospatial layers</title><link href="https://anil.recoil.org/ideas/life-explorer-wasm" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/life-explorer-wasm</id><summary type="html">Using wasm to locally explore geospatial layers This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:sf729@cam.ac.uk" target="_blank"&gt;Sam Forbes&lt;/a&gt; . It is co-supervised with &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; . Some of my projects like &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;Mapping LIFE on Earth&lt;/a&gt; or &lt;a href="https://anil.recoil.org/projects/rsn" target="_blank"&gt;Remote Sensing of Nature&lt;/a&gt; involve geospatial base maps with gigabytes or even terabytes of data. This data is usually split up into multiple GeoTIFFs, each of which has a slice of information. For example, the LIFE persistence maps have around 30000 maps for individual species, and then an aggregated GeoTIFF for mammals, birds, reptiles and so forth. This project will explore how to build a WebAssembly-based visualisation tool for geospatial ecology data. This existing data is in the form of GeoTIFF files, which are image files with embedded...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Towards reproducible URLs with provenance</title><link href="https://anil.recoil.org/ideas/urls-with-provenance" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/urls-with-provenance</id><summary type="html">Towards reproducible URLs with provenance This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is available for being worked on. It may be co-supervised with &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . Vurls are an attempt to add versioning to URI resolution. For example, what should happen when we request https://doi.org/10.1109/SASOW.2012.14 and how do we track the chain of events that leads to an answer coming back? The prototype &lt;a href="https://github.com/quantifyearth/vurl" target="_blank"&gt;vurl&lt;/a&gt; library written in OCaml outputs the following: # Eio_main.run @@ fun env -&gt; Vurl_eio.with_default ~net:env#net env#cwd @@ fun () -&gt; let vurl = Vurl.of_uri "https://doi.org/10.1109/SASOW.2012.14" in let vurl, file = Vurl.file vurl in Vurl.pp Format.std_formatter vurl;; { "intentional_uri": "https://doi.org/10.1109/SASOW.2012.14", "segments": [ {...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Real-time mapping of changes in species extinction risks</title><link href="https://anil.recoil.org/ideas/mapping-species-extinction-risks" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/mapping-species-extinction-risks</id><summary type="html">Real-time mapping of changes in species extinction risks This is an idea proposed in 2024 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://emiliolr.github.io" target="_blank"&gt;Emilio Luz-Ricca&lt;/a&gt; . It is co-supervised with &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; . Loss of habitat represents the most significant threat to wildlife overall, but advances in satellite sensing have enabled the assessment of habitat extent with comprehensive spatial coverage and reasonable temporal resolution. To address rising demand for metrics to quantify biodiversity, we have developed the LIFE metric (see &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;Mapping LIFE on Earth&lt;/a&gt; ) that models the effect of landuse changes on species extinction risk as a function of Areas of Habitat (AoH). This PhD work explores how to deal with the anthropogenic threats beyond simple habitat loss, including hunting, agricultural...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Preprint on Terracorder sensing now available</title><link href="https://anil.recoil.org/news/2024-terracorder-1" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-terracorder-1</id><summary type="html">Our preprint on the Terracorder ground sensing platform I've been working with &lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; at Imperial on is now available on arXiv. It's a heady combination of ESP32 very low power hardware, combined with Q-learning to build cooperative networks of them that can run for long periods of time without wasting energy on redundant operations. &lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; , &lt;a href="https://www.imperial.ac.uk/people/sarab.sethi" target="_blank"&gt;Sarab Sethi&lt;/a&gt; , &lt;a href="https://haddadi.github.io/" target="_blank"&gt;Hamed Haddadi&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/2408.02407" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2408.02407" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2408.02407" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-terracorder.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-terracorder.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Nature Sustainability article on carbon/biodiversity credits</title><link href="https://anil.recoil.org/news/2023-naturecredits-1" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-naturecredits-1</id><summary type="html">Our commentary on nature-based credits has been published in &lt;a href="https://www.nature.com/natsustain/" target="_blank"&gt;Nature Sustainability&lt;/a&gt; . I wrote some &lt;a href="https://anil.recoil.org/notes/nature-crossroads" target="_blank"&gt;thoughts&lt;/a&gt; about it here as well. &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://uk.linkedin.com/in/siddarthshrikanth" target="_blank"&gt;Siddarth Shrikanth&lt;/a&gt; , &lt;a href="https://www.biology.ox.ac.uk/people/joseph-bull" target="_blank"&gt;Joseph Bull&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.naturerecovery.ox.ac.uk/people/sophus-zu-ermgassen/" target="_blank"&gt;Sophus zu Ermgassen&lt;/a&gt; . Journal paper in &lt;a href="https://www.nature.com/articles/s41893-024-01403-w" target="_blank"&gt;Nature Sustainability&lt;/a&gt; . &lt;a href="https://www.nature.com/articles/s41893-024-01403-w" target="_blank"&gt;URL&lt;/a&gt; (nature.com) &lt;a href="https://doi.org/10.1038/s41893-024-01403-w" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-naturecredits.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-naturecredits.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mapping hunting risks for wild meat in protected areas</title><link href="https://anil.recoil.org/ideas/mapping-hunting-risks-for-wild-meat" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/mapping-hunting-risks-for-wild-meat</id><summary type="html">Mapping hunting risks for wild meat in protected areas This is an idea proposed in 2024 as a postdoctoral project, and is currently being worked on by &lt;a href="https://charlesemogor.com" target="_blank"&gt;Charles Emogor&lt;/a&gt; . It is co-supervised with &lt;a href="https://teamcore.seas.harvard.edu/tambe" target="_blank"&gt;Milind Tambe&lt;/a&gt; . There is an important balance needed between the biodiversity damage caused by hunting in protected areas and the well-being of local communities that depend on it. One understudied driver of overly damaging hunting in these areas is &lt;a href="https://en.wikipedia.org/wiki/Trapping" target="_blank"&gt;snaring&lt;/a&gt; (as opposed to gun hunting) which potentially increases carcass wastage and hence causing biodiversity harm without proportionate benefit to the community. This project examines how to improve the efficacy of anti-poaching ranger patrols while also plugging the knowledge gap around wild meat snaring. Both of these research topics can be tackled in a...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Implementing a higher-order choreographic language</title><link href="https://anil.recoil.org/ideas/choregraphic-programming-ocaml" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/choregraphic-programming-ocaml</id><summary type="html">Implementing a higher-order choreographic language This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://github.com/Rokcas" target="_blank"&gt;Rokas Urbonas&lt;/a&gt; . It was co-supervised with &lt;a href="https://www.cst.cam.ac.uk/people/ds709" target="_blank"&gt;Dmirtij Szamozvancev&lt;/a&gt; . This project aims to implement a functional choreographic language inspired by the &lt;a href="https://dl.acm.org/doi/pdf/10.1145/3498684" target="_blank"&gt;Pirouette calculus&lt;/a&gt; . This language was meant to make the notoriously difficult process of implementing distributed algorithms easier, while offering a practical execution model for multi-participant programs. Additionally, it aimed to match the expressiveness and performance of similar existing solutions. The project completed very successfully, and resulted in &lt;a href="https://github.com/Rokcas/chorcaml" target="_blank"&gt;ChorCaml&lt;/a&gt; , an embedded DSL for choreographic programming in OCaml. The language facilitates the implementation of distributed algorithms, while...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Foundation models for complex geospatial tasks</title><link href="https://anil.recoil.org/ideas/ssl-for-geospatial-tasks" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/ssl-for-geospatial-tasks</id><summary type="html">Foundation models for complex geospatial tasks This is an idea proposed in 2024 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://www.cst.cam.ac.uk/people/og309" target="_blank"&gt;Onkar Gulati&lt;/a&gt; . It is co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; and &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; . Self-supervised learning (SSL) represents a shift in machine learning that enables versatile pretrained models to leverage the complex relationships present in dense–oftentimes multispectral and multimodal–remote sensing data. This in turn can accelerate how we address sophisticated downstream geospatial tasks for which current methodologies prove insufficient, ranging from land cover classification to urban building segmentation to crop yield measurement and wildfire forecasting. This PhD project explores the question of how current SSL methodologies may be altered...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>An imperative, pure and effective specification language</title><link href="https://anil.recoil.org/ideas/effective-specification-languages" rel="alternate"></link><published>2024-08-01T01:00:00Z</published><updated>2024-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/effective-specification-languages</id><summary type="html">An imperative, pure and effective specification language This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:ms2922@cam.ac.uk" target="_blank"&gt;Max Smith&lt;/a&gt; . It is co-supervised with &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . Formal specification languages are conventionally rather functional looking, and not hugely amenable to iterative development. In contrast, real world specifications for geospatial algorithms tend to developed with "holes" in the logic which is then filled in by a domain expert as they explore the datasets through small pieces of exploratory code and visualisations. This project seeks to investigate the design of a specification language that looks and feels like Python, but that supports typed holes and the robust semantic foundations of a typed functional language...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Self Hosting - 2024 edition</title><link href="https://digitalflapjack.com/blog/hosting24/" rel="alternate"></link><published>2024-07-18T17:39:22Z</published><updated>2024-07-18T17:39:22Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/hosting24/</id><summary type="html">Starting in around 2018 or so I decided to start reclaiming my Internet. Before then, as most people had I suspect, I'd drifted into relying on cloud services for just about everything I could possibly want, but by that year I think it'd become apparent to me that I didn't like relying on other companies as the main host of my digital legacy. There was no one thing, but it seems time and time again large internet service providers like to make sure I feel glad that I've done this by finding new ways to exploit their users' data. That said, I'm somewhat pragmatic about it, as hosting all the things is hard and time consuming, and I really don't like doing system administration. There's nothing wrong with it, and I know many people who enjoy doing that, but it doesn't really bring me joy....</summary><category term="Digital Flapjack"></category></entry><entry><title>what is the internet, what is ai, and what is for dinner?</title><link href="https://paravirtualization.blogspot.com/2024/07/what-is-internet-what-is-ai-and-what-is.html" rel="alternate"></link><published>2024-07-16T07:05:00Z</published><updated>2024-07-16T07:05:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-1018876769060939746</id><summary type="html">at an "internet is 50" event at the royal society (is 350) yesterday it was clear that a lot of people want to claim they invented the internet, and they are not wrong, but there are very different viewpoints which correspond to layers, and, as with a lot of archeology, when you dig through the layers of ancient civilisations, you find historical context (as well as entire slices full of carbon indicating rather violent and abrupt end to some). photonics - 60 years old - clearly was the internet (wasn't at all for 30 years, but who's counting) radio - 100 years old, and now trending as 6G, despite that most the internet is over WiFi on account of money ip - whether v4, v5 (st) or v6, this is the echt internet web (web science etc) - from 92, what a lot of people confuse with the internet...</summary><category term="A True History of the Internet"></category></entry><entry><title>New set of ideas for incoming students</title><link href="https://anil.recoil.org/notes/student-ideas" rel="alternate"></link><published>2024-07-15T01:00:00Z</published><updated>2024-07-15T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/student-ideas</id><summary type="html">I've refreshed the set of project &lt;a href="https://anil.recoil.org/ideas" target="_blank"&gt;ideas&lt;/a&gt; for incoming &lt;a href="https://www.cst.cam.ac.uk/teaching/part-ii" target="_blank"&gt;CST Part II&lt;/a&gt; and &lt;a href="https://www.cst.cam.ac.uk/teaching/masters" target="_blank"&gt;MPhil&lt;/a&gt; and PhD student projects for 2024-2025. These are not an exhaustive list, but intended to kickstart conversations for things we could work on together. Do get in touch if you're an incoming student and see something that grabs your interest.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Real-time Wildlife Monitoring</title><link href="https://watch.eeg.cl.cam.ac.uk/w/tyPqbNvp3isgTDZVVoLFD1" rel="alternate"></link><published>2024-07-12T19:52:48Z</published><updated>2024-07-12T19:52:48Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/tyPqbNvp3isgTDZVVoLFD1</id><summary type="html">Abstract: This research introduces an AI-based alert system to reduce human-wildlife conflicts in the Romanian Carpathian Mountains. Globally, conflicts between people and wildlife are rising due to population growth, shifting land use patterns and climate change. In Romania, mountain communities are impacted by bears and wild boars, which damage livestock, crops and property. These conflicts can undermine conservation efforts and may result in the killing of problematic animals. In collaboration with Fundația Conservation Carpathia, this research supports Rapid Intervention Teams who respond to wildlife activity in mountain villages. Six years of camera trap data are used to train and test AI models to detect and classify European mammals. These models are integrated into an alert system...</summary><category term="EEG Seminars"></category></entry><entry><title>randix</title><link href="https://paravirtualization.blogspot.com/2024/07/randix.html" rel="alternate"></link><published>2024-07-09T10:43:00Z</published><updated>2024-07-09T10:43:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-1092344171793765711</id><summary type="html">i'm thinking about a replacement for posix that resists vulnerabilities through large amounts of random behaviour - so thinking about the relevant system call api we propose and have prototyped spoon() which replaces fork(), and has far less precise semantics and resurrect() which replaces both exec() and kill(), with the obvious connotations open(),close(),read(),write(),link(), and seek() are replaced by a single multihead attention system call llm() which either entrains or implies, depending on the sense of the first param. rand() of course, behaves exactly as before, at least under test, generating the pseudo-random number sequence 1,2,3,4,5,6,7,8,9 etc etc</summary><category term="A True History of the Internet"></category></entry><entry><title>Mon 8 Jul 2024</title><link href="https://ryan.freumh.org/2024-07-08.html" rel="alternate"></link><published>2024-07-08T01:00:00Z</published><updated>2024-07-08T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-07-08.html</id><summary type="html">Previous: &lt;a href="2024-06-24.html" target="_blank"&gt;Mon 24 Jun 2024&lt;/a&gt; Next: &lt;a href="2024-08-05.html" target="_blank"&gt;Mon 5 Aug 2024&lt;/a&gt; &lt;a href="https://github.com/RyanGibb/opam-apk-repository" target="_blank"&gt;https://github.com/RyanGibb/opam-apk-repository&lt;/a&gt; a27b6fb1f2ab# opam repo add opam-apk-repository /opam-apk-repository a27b6fb1f2ab# opam update a27b6fb1f2ab# opam update [WARNING] Running as root is not recommended &lt;&gt;&lt;&gt; Updating package repositories &gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt;&lt;&gt; [opam-apk-repository] synchronised from file:///opam-apk-repository [default] no changes from https://opam.ocaml.org Now run 'opam upgrade' to apply any package updates. a27b6fb1f2ab# opam install nano [WARNING] Running as root is not recommended The following actions will be performed: - install ncurses-dev 6.4_p20240420-r0 [required by nano] - install ocaml-base-compiler 5.2.0 - install nano 8.0-r0 - install ocaml-config 3 - install ocaml 5.2.0 - install base-domains base - install base-nnp base...</summary><category term="ryan.freumh.org"></category></entry><entry><title>COMPASS 2024 report on the CoRE stack RIC meeting</title><link href="https://anil.recoil.org/notes/compass2024-ric-tripreport" rel="alternate"></link><published>2024-07-08T01:00:00Z</published><updated>2024-07-08T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/compass2024-ric-tripreport</id><summary type="html">This is a trip report of &lt;a href="https://compass.acm.org" target="_blank"&gt;ACM COMPASS 2024&lt;/a&gt; held in New Delhi, which had a novel track of &lt;a href="https://compass.acm.org/research-impact-collaboratives/" target="_blank"&gt;"Research to Impact Collaboratives"&lt;/a&gt; that drew me in. The general chair, &lt;a href="https://www.cse.iitd.ac.in/~aseth/" target="_blank"&gt;Aadi Seth&lt;/a&gt; wrote a fantastic book on " &lt;a href="https://www.cse.iitd.ac.in/~aseth/act.html" target="_blank"&gt;Technology and Disempowerment&lt;/a&gt; " a few years ago, and he organised one RIC session on the CoRE Stack -- a climate adaptation stack for rural communities. This was a must-visit for me as it is closely related to the work we've been doing on &lt;a href="https://anil.recoil.org/projects/rsn" target="_blank"&gt;Remote Sensing of Nature&lt;/a&gt; and &lt;a href="https://anil.recoil.org/projects/plancomp" target="_blank"&gt;Planetary Computing&lt;/a&gt; . The following notes are somewhat raw as they have only been lightly edited, but please refer to the more polished documents on the &lt;a href="https://docs.google.com/document/d/1MJ-Nw_P3z6gI9rvh4OcjJmdZRE83D_OXedgEeDZDnm8/edit" target="_blank"&gt;agenda for ACM COMPASS RIC&lt;/a&gt; and the overall &lt;a href="https://core-stack.org" target="_blank"&gt;CoRE Stack&lt;/a&gt; initiative on commoning technologies for resilience and equality The conference itself was held at &lt;a href="http://iiitd.ac.in/" target="_blank"&gt;IIIT-D&lt;/a&gt; in New Delhi, right at the cusp of the monsoon season and after record-breaking temperatures. Luckily,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Grid-friendly Energy Community Coordination for Reducing Grid Reinforcement Needs</title><link href="https://watch.eeg.cl.cam.ac.uk/w/iSPamqxUdmP2CwNNdGyQSN" rel="alternate"></link><published>2024-07-05T18:14:38Z</published><updated>2024-07-05T18:14:38Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/iSPamqxUdmP2CwNNdGyQSN</id><summary type="html">Abstract: This talk discusses how market mechanisms and automated trading strategies can be used to control the flexible consumption and generation units of the community members in such a way that they make the best possible use of existing distribution networks and support the network operator in avoiding and eliminating congestion situations. This ultimately helps avoiding grid reinforcements or allows to provide a better service with the existing grid, keeping in mind that it takes much longer to reinforce the grid than to build and connect many new (fluctuating) decentralized renewable generators and new loads such as heat pumps and electric vehicles. Bio: Since 2017: Professor of Control and Integration of Grids at INATECH; before: Professor for Energy Systems Technology and Energy...</summary><category term="EEG Seminars"></category></entry><entry><title>Pudding: user discovery for anonymity networks</title><link href="http://martin.kleppmann.com/2024/07/05/pudding-user-discovery-anonymity-networks.html" rel="alternate"></link><published>2024-07-05T01:00:00Z</published><updated>2024-07-05T01:00:00Z</updated><author><name>MartinK</name></author><id>http://martin.kleppmann.com/2024/07/05/pudding-user-discovery-anonymity-networks.html</id><summary type="html">I’d like to introduce an exciting new research paper I worked on! It’s about a system called &lt;a href="https://arxiv.org/abs/2311.10825" target="_blank"&gt;Pudding&lt;/a&gt; , and it was presented by &lt;a href="https://twitter.com/ckocaogullar1" target="_blank"&gt;Ceren&lt;/a&gt; at the &lt;a href="https://sp2024.ieee-security.org" target="_blank"&gt;IEEE Symposium on Security and Privacy&lt;/a&gt; , one of the top academic conferences on computer security, in May. &lt;a href="https://www.danielhugenroth.com/" target="_blank"&gt;Daniel&lt;/a&gt; and &lt;a href="https://www.cl.cam.ac.uk/~arb33/" target="_blank"&gt;Alastair&lt;/a&gt; also worked on this project. Ceren’s presentation &lt;a href="https://www.youtube.com/watch?v=EEUdslTwYZ8" target="_blank"&gt;is now available&lt;/a&gt; : Let me briefly explain what the paper is about. Anonymity systems allow internet users to hide who is communicating with whom – for example, think a whistleblower talking to a journalist, or a group of activists organising protests against their repressive regime. &lt;a href="https://www.torproject.org/" target="_blank"&gt;Tor&lt;/a&gt; is the most popular anonymity network; &lt;a href="https://nymtech.net/" target="_blank"&gt;Nym&lt;/a&gt; is a more recent design with stronger security (and incidentally, one of the better cryptocurrency applications I’ve seen). Nym is based on a research system...</summary><category term="Martin Kleppmann's blog"></category></entry><entry><title>Second preprint of the LIFE biodiversity metric available</title><link href="https://anil.recoil.org/news/2024-life-2" rel="alternate"></link><published>2024-07-01T01:00:00Z</published><updated>2024-07-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-life-2</id><summary type="html">We have made an update to the &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;LIFE&lt;/a&gt; biodiversity metric based on reviewer feedback, and are very please that it has been accepted for publication early next year as part of a special issue from the Royal Society. Any comments would be most welcome before we submit the final proofs in a few months. &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-tom-ball" target="_blank"&gt;Thomas Ball&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/andy-arnell/" target="_blank"&gt;Andy Arnell&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/daniele-baisero/" target="_blank"&gt;Daniele Baisero&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/paz-duran/" target="_blank"&gt;América Paz Durán&lt;/a&gt; , &lt;a href="https://www.york.ac.uk/sei/staff/jonathan-green/" target="_blank"&gt;Jonathan Green&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/rhys-green" target="_blank"&gt;Rhys Green&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; . Journal paper in &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;Philosophical Transactions of the Royal Society&lt;/a&gt; (vol 380 issue 1917). &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;URL&lt;/a&gt; (royalsocietypublishing.org) &lt;a href="https://doi.org/10.1098/rstb.2023.0327" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-life.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-life.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Annual Monitoring of Forest AGB</title><link href="https://watch.eeg.cl.cam.ac.uk/w/2kgatqvAtb6XUAgF2UoKZz" rel="alternate"></link><published>2024-06-28T18:13:31Z</published><updated>2024-06-28T18:13:31Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/2kgatqvAtb6XUAgF2UoKZz</id><summary type="html">Title: Annual Monitoring of Forest AGB over a Period of 10 years Using SSL-derived Representations from Optical Time Series Abstract: I recap the functioning of our fully self-supervised learning pipeline based on the spectral-temporal Barlow Twins. The SSL approach generates highly informative representations at 10m spatial resolution from cloud-corrupted optical time series. The resulting representations are well correlated with GEDI-derived relative height measurements so that an AGB model for vegetation/forest of up to 300-500 t/ha can be derived. I show that the model transfers well between years making it possible to train the model on (for example) one year of Sentinel-2 data together with the corresponding GEDI measurements, and applying the frozen model to Landsat data acquired...</summary><category term="EEG Seminars"></category></entry><entry><title>HyWay: Enabling Mingling in the Hybrid World</title><link href="https://watch.eeg.cl.cam.ac.uk/w/pUULKS4bi9hG9uUy9prhF2" rel="alternate"></link><published>2024-06-28T18:13:11Z</published><updated>2024-06-28T18:13:11Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/pUULKS4bi9hG9uUy9prhF2</id><summary type="html">We present HyWay, short for “Hybrid Hallway”, to enable mingling and informal interaction among in-person and remote users in semi-structured and unstructured hybrid settings. Key to the design of HyWay is bridging the awareness gap between physical and virtual users and providing the virtual users the same agency as physical users. We explain how HyWay achieves these goals with an agile, light touch approach that centers on commodity hardware, frictionless bootstrapping, and a deploy-learn-refine flywheel to improve the system continually. We present our learnings from multiple deployments and discuss ongoing research aimed at weaving together more tightly the virtual and the physical realms. Bio: Venkat Padmanabhan is the Managing Director of Microsoft Research India in Bengaluru. He...</summary><category term="EEG Seminars"></category></entry><entry><title>Reinstalling `maestral`</title><link href="https://mort.io/blog/reinstall-maestral/" rel="alternate"></link><published>2024-06-28T01:00:00Z</published><updated>2024-06-28T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/reinstall-maestral/</id><summary type="html">A short one this; just a crib of commands to redo maestral (unofficial &lt;a href="https://dropbox.com/" target="_blank"&gt;Dropbox&lt;/a&gt; client) configuration. # remove existing configuration rm ~ /.config/maestral/maestral.ini # appears to fail with `/usr/bin/env 'bash': No such file or directory` maestral autostart &amp;&amp; systemctl -- user daemon-reload # ...so instead, just remmeber to do the following on restart maestral stop &amp;&amp; maestral start # if desired, add autocompletion for `maestral` in bash [[ $ ( which maestral 2 &gt; /dev/null ) ]] &amp;&amp; source &lt; ( maestral completion bash )</summary><category term="mort’s mythopœia"></category></entry><entry><title>Speaking at CCI workshop on conservation evidence</title><link href="https://anil.recoil.org/news/80795e06-ac75-4015-b178-3cfcbb233685-1" rel="alternate"></link><published>2024-06-25T01:00:00Z</published><updated>2024-06-25T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/80795e06-ac75-4015-b178-3cfcbb233685-1</id><summary type="html">&lt;a href="https://www.zoo.cam.ac.uk/directory/bill-sutherland" target="_blank"&gt;Bill Sutherland&lt;/a&gt; organised a workshop at the CCI on how to bring about an &lt;a href="https://about.conservationevidence.com/2024/07/12/the-next-steps-for-transforming-conservation-ideas-from-the-effectiveness-revolution-workshop/" target="_blank"&gt;Effectiveness Revolution&lt;/a&gt; for transforming conservation into an evidence-driven discipline. The aim was to discuss the "Evidence Emergency" (The Wildlife Trusts' term), the urgent need to embed evidence into decision-making and to create additional evidence to fill the considerable gaps in the evidence base, to improve conservation practice. I gave a talk about our early results with the &lt;a href="https://anil.recoil.org/papers/2024-ce-llm" target="_blank"&gt;conservation copilots&lt;/a&gt; work.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 24 Jun 2024</title><link href="https://ryan.freumh.org/2024-06-24.html" rel="alternate"></link><published>2024-06-24T01:00:00Z</published><updated>2024-06-24T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-06-24.html</id><summary type="html">Previous: &lt;a href="2024-05-27.html" target="_blank"&gt;Mon 27 May 2024&lt;/a&gt; Next: &lt;a href="2024-07-08.html" target="_blank"&gt;Mon 8 Jul 2024&lt;/a&gt; Coding TLS get eon to provision it’s own certificate</summary><category term="ryan.freumh.org"></category></entry><entry><title>Ten Tales of Ross Anderson, mostly tall</title><link href="https://paravirtualization.blogspot.com/2024/06/tales-of-ross-anderson-mostly-tall.html" rel="alternate"></link><published>2024-06-22T10:48:00Z</published><updated>2024-06-22T10:48:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-3148078049203183039</id><summary type="html">While an undergraduate at Trinity College Cambridge, Ross famously accidentally blew up a bedder with his experimental Quantum Bomb in the Anderson Shelter. The bedder wasn't harmed but the experiment showed that the Maths Department had been teaching the wrong type of Quantum Mechanics, with high probability. This would of course, come back to haunt Ross, later in life. Then there was the time he nearly succeeded in back-dooring the NSA...unluckily, they chose a lesser (ironically not quantum proof) algorithm over his, which was a bit of a shame Seeing all the five-eyes data from inside would have been a bit of a coup. And of course, several times he saved a large fraction of the western banking system from collapse (again). This was largely down to understanding the inherent...</summary><category term="A True History of the Internet"></category></entry><entry><title>Tackling the Hidden Costs of Computational Science</title><link href="https://watch.eeg.cl.cam.ac.uk/w/nfXCsAiyawBPM2qzdpRCfB" rel="alternate"></link><published>2024-06-21T16:03:59Z</published><updated>2024-06-21T16:03:59Z</updated><author><name>Seminars</name></author><id>https://watch.eeg.cl.cam.ac.uk/w/nfXCsAiyawBPM2qzdpRCfB</id><summary type="html">Title: Tackling the Hidden Costs of Computational Science: GREENER Principles for Environmentally Sustainable Research Abstract: From genetic studies and astrophysics simulations to AI, scientific computing has enabled amazing discoveries and there is no doubt it will continue to do so. However, the corresponding energy usage and environmental impacts are a growing concern in light of the urgency of the climate crisis, so what can we all do about it? Tackling this issue and making it easier for scientists to engage with sustainable computing is what motivated the Green Algorithms project. Through the prism of the GREENER principles for environmentally sustainable science, we will discuss what we learned along the way, how to estimate the impact of our work and what levers scientists and...</summary><category term="EEG Seminars"></category></entry><entry><title>Interview with AI@CAM about conservation</title><link href="https://anil.recoil.org/notes/aicam-interview-ce" rel="alternate"></link><published>2024-06-09T01:00:00Z</published><updated>2024-06-09T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/aicam-interview-ce</id><summary type="html">I talked to the &lt;a href="https://ai.cam.ac.uk" target="_blank"&gt;AI@Cam&lt;/a&gt; team to discuss our &lt;a href="https://anil.recoil.org/notes/aicn-in-aicam" target="_blank"&gt;AICN&lt;/a&gt; project and what we're planning to do in the &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence Copilots&lt;/a&gt; team. Over the last two decades, the University of Cambridge-based project Conservation Evidence has screened more than 1.6 million scientific papers on conservation, as well as manually summarising 8,600+ studies relating to conservation actions. However, the current project’s work is limited by the specialised skills needed to screen and summarise relevant studies. It took more than 75 person years to manually curate the current database and only a few 100 papers can be added each year. By accelerating these efforts, AI has the potential to transform the impact this database has on biodiversity conservation. What we’re aiming to do through the ai@cam project – bringing...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>10,000 maniacs and AI is destroying Computer Science, one topic at a time....</title><link href="https://paravirtualization.blogspot.com/2024/06/10000-manacs-and-ai-is-destroying.html" rel="alternate"></link><published>2024-06-05T07:51:00Z</published><updated>2024-06-05T07:51:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-6204825028186466172</id><summary type="html">This year will see approximately 10,000 papers published in the top 3 conferences in AI alone. What does that even mean? How can anyone have an overview of what is happening in AI? How is their "community" calibrated on what is original, what constitutes rigour, what he paper is significant in terms of potential impact on the discipline? But that's not what I came here to say, at least, thats just the starting point. For a couple of years now, we've seen papers "tossed over the fence" to other conferences (I'm using the conference as an example venue, but I am sure journals, technical press, and bloggers are seeing the same thing). A paper on AI and Systems (or Networks, or Databases, or pick your own long established domain) should bring interesting results in those domains - indeed, it...</summary><category term="A True History of the Internet"></category></entry><entry><title>Hyperspectrally identifying trees in tropical forests</title><link href="https://anil.recoil.org/news/2024-hyper-tropical-mapping-1" rel="alternate"></link><published>2024-06-01T01:00:00Z</published><updated>2024-06-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-hyper-tropical-mapping-1</id><summary type="html">A preprint on using &lt;a href="https://en.wikipedia.org/wiki/Hyperspectral_imaging" target="_blank"&gt;hyperspectral sensors&lt;/a&gt; to perform tree species identification across the tropics is now available on bioarxiv. This study introduces a new approach for mapping tree species linking a multi-temporal implementation of the CNN method detectree2 to segment tree-crowns from aerial photographs to machine learning classifiers to identify species from hyperspectral data. &lt;a href="https://patball1.github.io" target="_blank"&gt;James G. C. Ball&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://scholar.google.com/citations?user=gQYhlDYAAAAJ&amp;hl=fr" target="_blank"&gt;Anthony Laybros&lt;/a&gt; , &lt;a href="https://www.researchgate.net/profile/Colin-Prieur" target="_blank"&gt;Colin Prieur&lt;/a&gt; , &lt;a href="https://www.bristol.ac.uk/people/person/Toby-Jackson-0f0cc27a-9b35-479c-b2a6-7459834ca871/" target="_blank"&gt;Toby Jackson&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://orcid.org/0000-0002-5323-3866" target="_blank"&gt;Nicolas Barbier&lt;/a&gt; , &lt;a href="https://scholar.google.ca/citations?user=bc4TxdsAAAAJ" target="_blank"&gt;Gregoire Vincent&lt;/a&gt; and &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; . Working paper at &lt;a href="https://www.biorxiv.org/content/10.1101/2024.06.24.600405v1" target="_blank"&gt;bioRxiv&lt;/a&gt; . &lt;a href="https://www.biorxiv.org/content/10.1101/2024.06.24.600405v1" target="_blank"&gt;URL&lt;/a&gt; (biorxiv.org) &lt;a href="https://doi.org/10.1101/2024.06.24.600405" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-hyper-tropical-mapping.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-hyper-tropical-mapping.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 27 May 2024</title><link href="https://ryan.freumh.org/2024-05-27.html" rel="alternate"></link><published>2024-05-27T01:00:00Z</published><updated>2024-05-27T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-05-27.html</id><summary type="html">Previous: &lt;a href="2024-05-20.html" target="_blank"&gt;Mon 20 May 2024&lt;/a&gt; Next: &lt;a href="2024-06-24.html" target="_blank"&gt;Mon 24 Jun 2024&lt;/a&gt; NixOS Modules On Friday we were talking about doing something alternative to Nix, but without a clear statement of the problems with Nix. One clear problem I have with the NixOS ecosytem is the module system. From section 5.1 of the &lt;a href="https://edolstra.github.io/pubs/nixos-jfp-final.pdf" target="_blank"&gt;NixOS
+
paper&lt;/a&gt; , the module system allows ‘separation of concerns: each module defines a single, “logical” part of the system (e.g., some system service, support for a certain kind of hardware device, or an aspect such as the system path), even though its implementation might cross-cut many “physical” parts (e.g., the derivations that build the boot scripts)’. In one place I can define everything needed for a particular application; I can describe a matrix setup server, reverse proxy, postgres database, dns records, and TLS...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Programming for the Planet</title><link href="https://anil.recoil.org/news/d592bf17-c835-435f-9469-f0f65e926975-1" rel="alternate"></link><published>2024-05-27T01:00:00Z</published><updated>2024-05-27T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/d592bf17-c835-435f-9469-f0f65e926975-1</id><summary type="html">I was invited by Mary Sheeran to deliver a keynoted at &lt;a href="https://www.lambdadays.org/" target="_blank"&gt;Lambda Days&lt;/a&gt; , and I decided to go along to talk about my work on &lt;a href="https://anil.recoil.org/videos/981c00b5-32c0-4cac-a387-6c945dfa9934" target="_blank"&gt;Programming for the Planet&lt;/a&gt; . The conference was a really vibrant crowd and I would definitely go along in future years. It's best summarised via an &lt;a href="https://www.youtube.com/watch?v=Kao-LguvYDU&amp;list=PLvL2NEhYV4ZtX2TurK0BIlKD_cHct0rSs" target="_blank"&gt;interview video&lt;/a&gt; they took of all the speakers.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Cross "Border" Digital Infrastructure</title><link href="https://paravirtualization.blogspot.com/2024/05/cross-border-digital-infrastructure.html" rel="alternate"></link><published>2024-05-23T15:07:00Z</published><updated>2024-05-23T15:07:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-8532119591216467647</id><summary type="html">So again while at ID4Africa in Cape Town this week, I heard a lot of people talking about Cross Border use of digital identity. Lets talk a bit about infrastructure here, as I'm not sure people are aware of how hard it is to determine, reliably, where a person, or device are located, geograhpically, let alone jurisdictionally. We ( &lt;a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2527951" target="_blank"&gt;Microsoft Center for Cloud Research&lt;/a&gt; ) wrote about this a wwhile back when simply considering the impact of GDPR on Cloud Services and the location of personal data. The infrastructure doesn't tell you where it is - borders are not digital, they are geo-political constructs that only exist in someone's mind. GPS doesn't work in doors, and can be remarkably perverse in cities anyhow. Content providers (e.g. the BBC in the UK) worry about delivery of content (and adverts and charging)...</summary><category term="A True History of the Internet"></category></entry><entry><title>sustainability of digital wallets for public infrastructure services</title><link href="https://paravirtualization.blogspot.com/2024/05/sustainability-of-digital-wallets-for.html" rel="alternate"></link><published>2024-05-23T14:52:00Z</published><updated>2024-05-23T14:52:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-2270060711539308948</id><summary type="html">One thing occurred to me when listening to people at ID4Africa 24 talk about wallets is that there's a major sustainability problem due specifically to security considerations. Any wallet needs to be trusted if it is used for transactions that involve personal data or money. To implement this trust, the wallet software currently built by major vendors such as Apple, Google and (say) HSBC can use secure enclaves (Trusted Execution ENvironment) support on the device (e.g. trustzone on ARM processors, or variants as built by various handset vendors). However, the supprt varies with time, but with modications to hardware coming along (e.g. future ARM support for multiple realms and attestation) and simply because software and hardware volunerabilities arise, some of the latter being mitgated...</summary><category term="A True History of the Internet"></category></entry><entry><title>DPG #2 or should I say DPPG or possibly DPPI</title><link href="https://paravirtualization.blogspot.com/2024/05/dpg-2-or-should-i-say-dppg-or-possibly.html" rel="alternate"></link><published>2024-05-22T08:06:00Z</published><updated>2024-05-22T08:06:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-7059686906301937000</id><summary type="html">We're hearing a lot about DPIs - Digital Public Infrastructure (the Internet, the spectrum for mobile telephone, open banking networking etc).... So then there's a lot of talk about building new Infrastructures for (e.g.) Digital Identity - and provisioning this through Public Private Partnerships - so really we then have a DPPI - indeed, the Internet and WWW and Cloud serve as an example of just that too. But then we have Digital Public Goods - for me, this is an extension of the notion of open source - so again the software that runs the Internet is available in open source form, together with documentation, and even much test data (simulators too). But new systems have evolved new forms of ownership, so a lot of the digital content in the Internet is a mix of open (free) and open...</summary><category term="A True History of the Internet"></category></entry><entry><title>DPGs #1</title><link href="https://paravirtualization.blogspot.com/2024/05/dpgs-1.html" rel="alternate"></link><published>2024-05-21T16:27:00Z</published><updated>2024-05-21T16:27:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-6083489878349826265</id><summary type="html">The oldest and best example of a digital public good is the Internet. Why people don't start from this is surprising to me: Since 1982, source code of the exemplary implementation from UC Berkeley has been available plus documented in an open access series of books documenting that code and working: &lt;a href="https://archive.org/details/addison-wesley-richard-stevens-tcp-ip-illustrated-the-protocols-volume-2" target="_blank"&gt;TCP/IP Illustrated (vol 2)&lt;/a&gt; The key thing here was that every thing accepted as an internet standard had at least 2 interoperating implementations, preferably three, one of which was open source (unencumbred by any IP) - for me, this defines digital (code/data), public (there's no barrier to entry due to ownership restrictive practices) infrastructure (you can run the code and computers are general purppose machines so any computer can run it, subject to resource constraints:-) Two other reference points -...</summary><category term="A True History of the Internet"></category></entry><entry><title>Mon 20 May 2024</title><link href="https://ryan.freumh.org/2024-05-20.html" rel="alternate"></link><published>2024-05-20T01:00:00Z</published><updated>2024-05-20T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-05-20.html</id><summary type="html">Previous: &lt;a href="2024-05-13.html" target="_blank"&gt;Mon 13 May 2024&lt;/a&gt; Next: &lt;a href="2024-05-27.html" target="_blank"&gt;Mon 27 May 2024&lt;/a&gt; Mon: Met with Anil We skimmed the Carbon-aware name resolution paper. Anil said it was a narrow contribution, we’re making too many points in one paper, and that it needs to be framed in a research style with a hypothesis and experimentation attempting to disprove the hypothesis. He liked the mailserver redundancy example (powering up the backup when the primary goes down), which he likened to self-scaling applications managing the power state of machines. He said that the carbon-aware load balancing (Patrick’s section) seems more general than specific to emissions. Anil also said carbon isn’t the best terminology. I agree – we were following HotCarbon’s wording. We talked about doing a simulation to disprove the hypothesis. And how there’s a pareto...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 13 May 2024</title><link href="https://ryan.freumh.org/2024-05-13.html" rel="alternate"></link><published>2024-05-13T01:00:00Z</published><updated>2024-05-13T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-05-13.html</id><summary type="html">Previous: &lt;a href="2024-05-06.html" target="_blank"&gt;Mon 6 May 2024&lt;/a&gt; Next: &lt;a href="2024-05-20.html" target="_blank"&gt;Mon 20 May 2024&lt;/a&gt; Wrote ‘Carbon-aware Name Resolution’ with Patrick for HotCarbon but ultimately decided not to submit it as the conference doesn’t seem to align with our interests and the paper could use more polishing. We’re planning on polishing it up and sticking it on arxiv as a basis for a HotNets submission. We spoke to Anil about this and came away with a bunch of ideas, including Managing the power schedule of resource-constrained devices. Re-visiting the idea of giving each service a unique IPv6 address. Store-and-forward energy budgeting for low powered sensor networks. Why isn’t the whole Internet a Filesytem (could the DNS encode file paths?). Providing TLS to MQTT. Having a BGP IPv6 testbed for this with Mythic Beasts. Workload scheduling in a compute...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 6 May 2024</title><link href="https://ryan.freumh.org/2024-05-06.html" rel="alternate"></link><published>2024-05-06T01:00:00Z</published><updated>2024-05-06T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-05-06.html</id><summary type="html">Previous: &lt;a href="2024-04-29.html" target="_blank"&gt;Mon 29 Apr 2024&lt;/a&gt; Next: &lt;a href="2024-05-13.html" target="_blank"&gt;Mon 13 May 2024&lt;/a&gt; My Tarides contract is progressing nicely, and we now have Opam setting an environment built from Nix to provide external dependencies. I’ve also indexed all of Nixpkgs history in order to do version solving across it. Spoke to Roy about a possible Part II project, and wrote another proposal on an ‘OCaml Wayland Compositor’; something I’ve been meaning to do for a while but have yet to find the time. Wayland &lt;a href="#fn1" target="_blank"&gt;1&lt;/a&gt; is a communications protocol for next-generation display servers used in Unix-like systems which has been adopted as the default display server by Linux distributions including Fedora with KDE, and Ubuntu and Debian with GNOME. It aims to replace the venerable X display server with a modern alternative. X leaves logic such as window...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Quantifying the impact of the food we eat on species extinctions</title><link href="https://anil.recoil.org/news/2024-food-life-1" rel="alternate"></link><published>2024-05-01T01:00:00Z</published><updated>2024-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-food-life-1</id><summary type="html">Submitted preprint on quantifying the biodiversity cost of global food consumption for peer review &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-tom-ball" target="_blank"&gt;Thomas Ball&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.york.ac.uk/sei/staff/jonathan-green/" target="_blank"&gt;Jonathan Green&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , David Williams and &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; . Working paper at &lt;a href="https://www.cambridge.org/engage/coe/article-details/67a21eac81d2151a0225692b" target="_blank"&gt;Cambridge Open Engage&lt;/a&gt; . &lt;a href="https://www.cambridge.org/engage/coe/article-details/67a21eac81d2151a0225692b" target="_blank"&gt;URL&lt;/a&gt; (cambridge.org) &lt;a href="https://doi.org/10.33774/coe-2024-fl5fk-v2" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-food-life.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-food-life.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Predicting species using machine learning at CCAI</title><link href="https://anil.recoil.org/news/2024-sdm-sa-1" rel="alternate"></link><published>2024-05-01T01:00:00Z</published><updated>2024-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-sdm-sa-1</id><summary type="html">&lt;a href="https://github.com/emorris7" target="_blank"&gt;Emily Morris&lt;/a&gt; did some great MPhil work here in her Masters on using &lt;a href="https://anil.recoil.org/ideas/sdms-with-cnns" target="_blank"&gt;CNNs with satellite data&lt;/a&gt; to do species predictions in South Africa better. She presented it at the &lt;a href="https://www.climatechange.ai/events/iclr2024" target="_blank"&gt;ICLR CCAI&lt;/a&gt; workshop in Vienna, and is now off to do a PhD at Oxford! Species distribution models are crucial tools that predict species locations by interpolating observed field data with environmental information. We develop an improved, scalable method for species distribution modelling by proposing a dataset pipeline that incorporates global remote sensing imagery, land use classification data, environmental variables, and observation data, and utilising this with CNN models to predict species presence at higher spatial and temporal resolutions than well-established species distribution modelling methods. &lt;a href="https://github.com/emorris7" target="_blank"&gt;Emily Morris&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; ,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Low-latency wayland compositor in OCaml</title><link href="https://anil.recoil.org/ideas/wayland" rel="alternate"></link><published>2024-05-01T01:00:00Z</published><updated>2024-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/wayland</id><summary type="html">Low-latency wayland compositor in OCaml This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:tt492@cam.ac.uk" target="_blank"&gt;Tom Thorogood&lt;/a&gt; . It is co-supervised with &lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; . When building situated displays and hybrid streaming systems, we need fine-grained composition over what to show on the displays. Wayland is a communications protocol for next-generation display servers used in Unix-like systems. &lt;a href="https://anil.recoil.org/#fn-0" target="_blank"&gt;[1]&lt;/a&gt; It has been adopted as the default display server by Linux distributions including Fedora with KDE, and Ubuntu and Debian with GNOME. It aims to replace the venerable X display server with a modern alternative. X leaves logic such as window management to application software, which has allowed the proliferation of different approaches. Wayland,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Diffusion models for terrestrial predictions about land use change</title><link href="https://anil.recoil.org/ideas/diffusion-model-satellites" rel="alternate"></link><published>2024-05-01T01:00:00Z</published><updated>2024-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/diffusion-model-satellites</id><summary type="html">Diffusion models for terrestrial predictions about land use change This is an idea proposed in 2024 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . This project investigates how to build remote sensing data-driven models for the evolution of landscapes, which we can use to better predict deforestation, flooding and fire risks. Diffusion models are now widespread for image generation and are now being applied to video. &lt;a href="https://anil.recoil.org/#fn-3" target="_blank"&gt;[1]&lt;/a&gt; In addition the GenCast project from Google Deepmind used a diffusion model ensemble for weather forecasting, resulting in a high degree of accuracy compared to traditional methods. &lt;a href="https://anil.recoil.org/#fn-2" target="_blank"&gt;[2]&lt;/a&gt; The goal of this project is to train a video diffusion model on time series of...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 29 Apr 2024</title><link href="https://ryan.freumh.org/2024-04-29.html" rel="alternate"></link><published>2024-04-29T01:00:00Z</published><updated>2024-04-29T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-04-29.html</id><summary type="html">Previous: &lt;a href="2024-04-22.html" target="_blank"&gt;Mon 22 Apr 2024&lt;/a&gt; Next: &lt;a href="2024-05-06.html" target="_blank"&gt;Mon 6 May 2024&lt;/a&gt; Attended the MirageOS retreat. Spoke to Hannes’ about the DNS library and he asked me to upstream a few things, and talked about my Capnp approach to updates and secondary-ing. Had some productive conversations with Jules which led to an Opam NixOS depext approach Paul-Elliot helped me make my DNS transport library a bit more idiomatically functional, which we presented. Created a gravity-body simulation with Emile using an as-of-yet released OCaml game engine, which we presented. Got some nice window manager and vim tips. Went for a hike in the Atlas mountains. I also had some thoughts on offline operation of networked applications. One of the attendees showed me a video calling application for use in a mesh network that identifies clients by an IP...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 22 Apr 2024</title><link href="https://ryan.freumh.org/2024-04-22.html" rel="alternate"></link><published>2024-04-22T01:00:00Z</published><updated>2024-04-22T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-04-22.html</id><summary type="html">Previous: &lt;a href="2024-04-15.html" target="_blank"&gt;Mon 15 Apr 2024&lt;/a&gt; Next: &lt;a href="2024-04-29.html" target="_blank"&gt;Mon 29 Apr 2024&lt;/a&gt; I deployed Eon certificate provisioning to my server to my server, and promptly got rate limited by Let’s Encrypt (staging). It was a combination of not limiting the amount of concurrent certificates being provisioned and a bug in the Cap’N Proto OCaml RPC Eio port that Patrick purportedly has a &lt;a href="https://github.com/patricoferris/capnp-rpc/commit/6c95e771eb1345dcc6d31b959b1a5a8ca45e8a92" target="_blank"&gt;fix&lt;/a&gt; for. I’ve ended up using systemd services &lt;a href="https://github.com/RyanGibb/eon/blob/a831b4fdfa54767edf439047e87564a883c099eb/acme.nix#L219-L227" target="_blank"&gt;extensively&lt;/a&gt; to support provisioning certificates. I also added a CalDAV server to Eilean.</summary><category term="ryan.freumh.org"></category></entry><entry><title>Green Urban Equity in the UK</title><link href="https://ancazugo.github.io/python/carto/uk-3-30-300.html" rel="alternate"></link><published>2024-04-19T01:00:00Z</published><updated>2024-04-19T01:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/python/carto/uk-3-30-300</id><summary type="html">This is part of my presentation at EGU24 in Vienna that was about mapping green spaces in the UK using the 3-30-300 rule. You can find out more about the abstract &lt;a href="https://meetingorganizer.copernicus.org/EGU24/EGU24-20833.html" target="_blank"&gt;here&lt;/a&gt; .</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>Mon 15 Apr 2024</title><link href="https://ryan.freumh.org/2024-04-15.html" rel="alternate"></link><published>2024-04-15T01:00:00Z</published><updated>2024-04-15T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-04-15.html</id><summary type="html">Previous: &lt;a href="2024-04-08.html" target="_blank"&gt;Mon 8 Apr 2024&lt;/a&gt; Next: &lt;a href="2024-04-22.html" target="_blank"&gt;Mon 22 Apr 2024&lt;/a&gt; I’ve been doing a lot of hacking on Eon to get it to a state where I can use it to provision certificates in production. I’ve written a capnproto schema file that exposes a capability to a domain. When we run a nameserver it outputs a capability for each domain for which it is authoritative. $ cap -z cl.freumh.org --capnp-secret-key-file /var/lib/eon/capnp-secret.pem --capnp-listen-address tcp:cl.freumh.org:7000 --state-dir /var/lib/eon $ sudo ls /var/lib/eon/caps/ cl.freumh.org.cap zone.cap This capability can then be provided to a client. $ capc get-name cl.freumh.org.cap cl.freumh.org The client can create a new capability for a subdomain, which could be passed to a service. NB this is persisted to disk so it can be referenced across reboots. $...</summary><category term="ryan.freumh.org"></category></entry><entry><title>social media convestions and aliens in the ether</title><link href="https://paravirtualization.blogspot.com/2024/04/social-media-convestions-and-aliens-in.html" rel="alternate"></link><published>2024-04-13T13:00:00Z</published><updated>2024-04-13T13:00:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-7999667204894138878</id><summary type="html">Starting locally , I've notice how there are many different conventions about how people use different social media platforms (social networks, email, microblogging, etc) At one extreme, some people DM me on slack - this is annoying as, to save my sanity, i have turned off notifications on everything, and I look at different platforms with different frequencies - slack, mostly, once a day, compared to say, whatsapp (and signal and matrix), once an hour at least. While I don't use. teams for messaging, I know people who do, but they are signed on while at work all working hours, so that works ok for them. At another extreme, some people only use a platform in broadcast mode, so an email list is flooded with "how do I leave this list" messages, or a whatsapp group is flooded with "please...</summary><category term="A True History of the Internet"></category></entry><entry><title>Mon 8 Apr 2024</title><link href="https://ryan.freumh.org/2024-04-08.html" rel="alternate"></link><published>2024-04-08T01:00:00Z</published><updated>2024-04-08T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-04-08.html</id><summary type="html">Previous: &lt;a href="2024-04-01.html" target="_blank"&gt;Mon 1 Apr 2024&lt;/a&gt; Next: &lt;a href="2024-04-15.html" target="_blank"&gt;Mon 15 Apr 2024&lt;/a&gt; Tue some rough working notes for eon’s capability interface to provision TLS certificates: modified the client to read the capability from a file and write the certs to a directory. todo: persistence account key wildcard certs should we do CSR on the client or server? should we do renewals on the client or server? let’s store everything on the server renewals keep the same private key? no, new certificate renewals: studryrefs for capabilities mapped to domains keep track of expiry update interface do we mimic DNS UPDATE? yes do we pass binary blob? no todo provisioning a cert for root https://github.com/mirage/ca-certs-nss https://github.com/suri-framework/castore multiple domains SAN CN extensions Thu done: subject alternative name generate caps for...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Teaching 1A Security and Software Engineering</title><link href="https://anil.recoil.org/notes/swseng" rel="alternate"></link><published>2024-04-04T01:00:00Z</published><updated>2024-04-04T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/swseng</id><summary type="html">We're still reeling from the shocking and unexpected &lt;a href="https://www.cst.cam.ac.uk/news/ross-anderson" target="_blank"&gt;passing of Ross Anderson&lt;/a&gt; last week. You can read a lovely &lt;a href="https://raintown.org/ross_anderson/" target="_blank"&gt;tribute&lt;/a&gt; to him by &lt;a href="https://raintown.org" target="_blank"&gt;Satnam Singh&lt;/a&gt; , and I still getting my thoughts together on all the guidance, advice and prods in the right direction that Ross has given me over the years. In pragmatic news, I'll be emergency lecturing part of Ross' 1A &lt;a href="https://www.cl.cam.ac.uk/teaching/2324/SWSecEng/" target="_blank"&gt;Software and Security Engineering&lt;/a&gt; course here at Cambridge, along with my colleagues Martin, Alastair, Mort and Rob who have all stepped up at short notice. I have absolutely no idea how we'll live up to Ross' standard, but we'll do our very best in his memory!</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Global, robust and comparable digital carbon assets</title><link href="https://anil.recoil.org/news/2024-cc-blockchain-1" rel="alternate"></link><published>2024-04-04T01:00:00Z</published><updated>2024-04-04T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-cc-blockchain-1</id><summary type="html">Paper on smart contracts for carbon credits at &lt;a href="http://icbc2024.ieee-icbc.org" target="_blank"&gt;ICBC 2024&lt;/a&gt; in Dublin &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://derekhsorensen.com" target="_blank"&gt;Derek Sorensen&lt;/a&gt; , &lt;a href="https://www.lambdacambridge.com/robin-message" target="_blank"&gt;Robin Message&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="http://arxiv.org/abs/2403.14581" target="_blank"&gt;proceedings of the 6th IEEE International Conference on Blockchain and Cryptocurrency&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2403.14581" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2403.14581" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-cc-blockchain.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-cc-blockchain.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 1 Apr 2024</title><link href="https://ryan.freumh.org/2024-04-01.html" rel="alternate"></link><published>2024-04-01T01:00:00Z</published><updated>2024-04-01T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-04-01.html</id><summary type="html">Previous: &lt;a href="2024-03-25.html" target="_blank"&gt;Mon 25 Mar 2024&lt;/a&gt; Next: &lt;a href="2024-04-08.html" target="_blank"&gt;Mon 8 Apr 2024&lt;/a&gt; I read &lt;a href="https://datatracker.ietf.org/doc/draft-many-dnsop-dns-isolated-networks/" target="_blank"&gt;datatracker.ietf.org/doc/draft-many-dnsop-dns-isolated-networks/&lt;/a&gt; which discussed some considerations for DNS in networks with delayed and/or intermittent connectivity. This reminded me of another &lt;a href="./2024-03-18.html#eon" target="_blank"&gt;scenario to consider for Eon&lt;/a&gt; : Bootstrap a network in a remote isolated environment. As well as, moving more into the service management territory again, keeping track of service logs.</summary><category term="ryan.freumh.org"></category></entry><entry><title>Rolling out a new site design</title><link href="https://anil.recoil.org/notes/bushel-step1" rel="alternate"></link><published>2024-04-01T01:00:00Z</published><updated>2024-04-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/bushel-step1</id><summary type="html">I've done a redesign of my site after about 20 years since the last one &lt;a href="https://anil.recoil.org/notes/opening-anil-recoil-org" target="_blank"&gt;back in 2003&lt;/a&gt; . The site design is based on my upcoming Bushel content manager, which I'll post about more once I get the data model in place and try it out properly using this site as a guinea pig. &lt;a href="https://nick.recoil.org" target="_blank"&gt;Nick Ludlam&lt;/a&gt; also refreshed &lt;a href="https://nick.recoil.org" target="_blank"&gt;his website&lt;/a&gt; since we were chatting about how outdated our web presences were, and he also put up a main &lt;a href="https://recoil.org" target="_blank"&gt;recoil.org&lt;/a&gt; page for the main server.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 25 Mar 2024</title><link href="https://ryan.freumh.org/2024-03-25.html" rel="alternate"></link><published>2024-03-25T00:00:00Z</published><updated>2024-03-25T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-03-25.html</id><summary type="html">Previous: &lt;a href="2024-03-18.html" target="_blank"&gt;Mon 18 Mar 2024&lt;/a&gt; Next: &lt;a href="2024-04-01.html" target="_blank"&gt;Mon 1 Apr 2024&lt;/a&gt; Writing Scientific method: My thesis is that the DNS is the root of the Internet. That is, every network request starts off with a DNS resolution. The DNS is in a great position to manage resources in the Network, like certificates, keys, services, etc. But for some reason people don’t do this now. One advantage Eon has over the state-of-the-art dynamic DNS updates for the ACME DNS challenge is the principle of least privilege. We can provide a capability to only a subdomain, with the thread model a rough service or machine. Regarding scenario 5, the DNS is a very small key value store. “The DNS is a general (if somewhat limited) hierarchical database, and can store almost any kind of data, for almost any purpose,” RFC2181. We can keep track of what...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 18 Mar 2024</title><link href="https://ryan.freumh.org/2024-03-18.html" rel="alternate"></link><published>2024-03-18T00:00:00Z</published><updated>2024-03-18T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-03-18.html</id><summary type="html">Previous: &lt;a href="2024-03-11.html" target="_blank"&gt;Mon 11 Mar 2024&lt;/a&gt; Next: &lt;a href="2024-03-25.html" target="_blank"&gt;Mon 25 Mar 2024&lt;/a&gt; Eon Some scenarios we could solve with a client-server API for Eon: We could keep track of the proliferation of federated services in an Eilean deployment including matrix, mastodon, and email. Currently, we need to manually provision DNS records like an A record at mastodon.example.org . We need to run a certbot to respond to a ACME HTTP challenge by configuring a path to serve by a webserver, or respond to a DNS challenge using dynamic DNS UPDATES to update a nameserver. The HTTP challenge pretty heavyweight and doesn’t work so well when e.g. load balancing accross a webserver, and the DNS challenge typically requires providing access to the whole domain. To demultiplex multiple HTTP services on the same machine we typically use a reverse proxy...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 11 Mar 2024</title><link href="https://ryan.freumh.org/2024-03-11.html" rel="alternate"></link><published>2024-03-11T00:00:00Z</published><updated>2024-03-11T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-03-11.html</id><summary type="html">Previous: &lt;a href="2024-02-26.html" target="_blank"&gt;Mon 26 Feb 2024&lt;/a&gt; Next: &lt;a href="2024-03-18.html" target="_blank"&gt;Mon 18 Mar 2024&lt;/a&gt; I reworked the EON project structure and Capnp Schema file too: struct Record { name @0 :Text; type @1 :Int32; value @2 :Text; } struct Prereq { union { exists @0 :Record; existsData @1 :Record; notExists @2 :Record; nameInuse @3 :Record; notnameInuse @4 :Record; } } struct Update { union { add @0 :Record; remove @1 :Record; removeAll @2 :Record; removeSingle @3 :Record; } } struct CertReq { # Used to request a certificate for a service union { callback @0 :CertCallback; none @1 :Void; } } interface Zone { # Capability to initalize a Zone for which the nameserver is authorative init @0 (name :Text) -&gt; (domain :Domain); } interface Domain { # Capability for a domain getName @0 () -&gt; (name :Text); # Get the domain name delegate @1 (subdomain :Text) -&gt;...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Witch Consumer Magazine, review of the leader boared top three LLMs "Conformité Ecologique" (the ubiquitous CE marque)</title><link href="https://paravirtualization.blogspot.com/2024/03/witch-consumer-magazine-review-of.html" rel="alternate"></link><published>2024-03-10T15:38:00Z</published><updated>2024-03-10T15:38:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-1856249415092326099</id><summary type="html">Witch Consumer Magazine, review of the leader boared top three LLMs "Conformité Ecologique" (the ubiquitous CE marque) We analyzed the CE claims of the following three large languish models, with respect to four key metrics for the Ecologique, as agreed in European law, namely enthalpy, internet pollution (measured in LoCS -- libraries of congress), bio-dediversification,and general contribution towards the heat death of the universe. Currently, according to the boared, these are the top-of-the-heap in terms of hype-parameters: The Faux Corperation's Pinocchio Astravista's Libration Sitting Duck's Nine Billion Dogma We hired some prompt engineers to devise a suitably timely benchmark suite, and embedded the the three systems in our whim tunnel taking care to emulate all aspects of the...</summary><category term="A True History of the Internet"></category></entry><entry><title>Preprint available on insuring against variability of NbS</title><link href="https://anil.recoil.org/news/2024-nbs-risk-1" rel="alternate"></link><published>2024-03-01T00:00:00Z</published><updated>2024-03-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-nbs-risk-1</id><summary type="html">A new preprint is available on our work on ex-ante pricing models for nature-based solutions. It is currently under review, so any feedback is most welcome! &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-e-ping-rau" target="_blank"&gt;E.-Ping Rau&lt;/a&gt; , &lt;a href="https://www.jamesgross.org" target="_blank"&gt;James Gross&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; and &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; . Journal paper in &lt;a href="https://www.tandfonline.com/doi/full/10.1080/17583004.2024.2390854" target="_blank"&gt;Carbon Management&lt;/a&gt; (vol 15 issue 1). &lt;a href="https://www.tandfonline.com/doi/full/10.1080/17583004.2024.2390854" target="_blank"&gt;URL&lt;/a&gt; (tandfonline.com) &lt;a href="https://doi.org/10.1080/17583004.2024.2390854" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-nbs-risk.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-nbs-risk.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Green Urban Equity: Analyzing the 3-30-300 Rule in UK Cities and Its Socioeconomic Implications</title><link href="https://anil.recoil.org/news/2024-green-urban-eq-1" rel="alternate"></link><published>2024-03-01T00:00:00Z</published><updated>2024-03-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-green-urban-eq-1</id><summary type="html">Abstract on urban biodiversity and human health at &lt;a href="https://meetingorganizer.copernicus.org/EGU24/EGU24-20833.html" target="_blank"&gt;EGU 24&lt;/a&gt; &lt;a href="https://ancazugo.github.io/" target="_blank"&gt;Andres Zuñiga-Gonzalez&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.arct.cam.ac.uk/people/dr-ronita-bardhan" target="_blank"&gt;Ronita Bardhan&lt;/a&gt; . Technical report (EGU24-20833) at &lt;a href="https://meetingorganizer.copernicus.org/EGU24/EGU24-20833.html" target="_blank"&gt;Copernicus Meetings&lt;/a&gt; . &lt;a href="https://meetingorganizer.copernicus.org/EGU24/EGU24-20833.html" target="_blank"&gt;URL&lt;/a&gt; (meetingorganizer.copernicus.org) &lt;a href="https://doi.org/10.5194/egusphere-egu24-20833" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-green-urban-eq.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>A Case for Planetary Computing</title><link href="https://anil.recoil.org/news/2024-planetary-computing-2" rel="alternate"></link><published>2024-03-01T00:00:00Z</published><updated>2024-03-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-planetary-computing-2</id><summary type="html">Revision of planetary computing preprint &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://ameliaholcomb.github.io" target="_blank"&gt;Amelia Holcomb&lt;/a&gt; , &lt;a href="https://www.cst.cam.ac.uk/people/eft20" target="_blank"&gt;Eleanor Toye Scott&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/2303.04501" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2303.04501" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2303.04501" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-planetary-computing.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Towards International Goverance of AI</title><link href="https://paravirtualization.blogspot.com/2024/02/towards-international-goverance-of-ai.html" rel="alternate"></link><published>2024-02-26T16:31:00Z</published><updated>2024-02-26T16:31:00Z</updated><author><name>Jon Crowcroft</name></author><id>tag:blogger.com,1999:blog-19062127.post-6565644211801997699</id><summary type="html">I wonder what people are really thinking when they think of governance of Intelligence? If we were considering human intelligence (which we are by extension) we better tread carefully, especially when considering who owns it. The ability to reason, creatively, to innovate is not really the same as any other thing we have sought governance over - nuclear weapons (test ban treaty, and pugwash convention) spectrum allocation orbits around earth maritime&amp;air traffic - fuels, tracking, control etc recombinant DNA (asilomar conference the weather (and interventions like geo-engineering e.g. see &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rspa.2019.0255" target="_blank"&gt;RS report on same&lt;/a&gt; ) What's similar about these, and what is different? Well we only have one go at each - there's a very countable human race, planet, sea, zombie apocalypse, climate emergency. we don't have...</summary><category term="A True History of the Internet"></category></entry><entry><title>Mon 26 Feb 2024</title><link href="https://ryan.freumh.org/2024-02-26.html" rel="alternate"></link><published>2024-02-26T00:00:00Z</published><updated>2024-02-26T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-02-26.html</id><summary type="html">Previous: &lt;a href="2024-02-19.html" target="_blank"&gt;Mon 19 Feb 2024&lt;/a&gt; Next: &lt;a href="2024-03-11.html" target="_blank"&gt;Mon 11 Mar 2024&lt;/a&gt; Shark We’ve got an obuilder runc container using Linux network namespaces with VPNkit forwarding outgoing http requests to a cohttp-proxy-lwt. I’ve created a monorepo assembling obuilder, VPNkit, and cohttp and got them building. Some issues were VPNkit having an outdated version of cohttp and having it’s own dune dns library which collides with the Mirage DNS library. Next is assembling a binary to do the container, namespace, VPNkit, and http proxy orchestration. I’m thinking about the UI of what this will look like. Something like $ shark create &lt;name&gt; $ shark attach &lt;name&gt; $ ... We also need to implement some kind of store to cache and replay http queries. Some technical nodes on reproducing this prototype separate-binary setup follow: build...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 19 Feb 2024</title><link href="https://ryan.freumh.org/2024-02-19.html" rel="alternate"></link><published>2024-02-19T00:00:00Z</published><updated>2024-02-19T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-02-19.html</id><summary type="html">Previous: &lt;a href="2024-02-12.html" target="_blank"&gt;Mon 12 Feb 2024&lt;/a&gt; Next: &lt;a href="2024-02-26.html" target="_blank"&gt;Mon 26 Feb 2024&lt;/a&gt; Anil Meeting Anil mentioned with QUIC and DNS SVCB records traffic can be UDP-only. We described a service manager using capability DNS with ‘naming’ and ‘livecycle’ at the DNS level. Anil likened this to docker compose service manager for a collection of services. It seems like systemd’s service management plus container and network management. This would allow things like IP-based load balancing, certificate provisioning, Jitsi-spinning up services on request. I need to extend the lenscap to support service management APIs as well as certificate provisioning. OCluster might be a place to look for this. It could do something really simple like just map to systemd. Anil likened it to Tailscale’s new service management dashboard. I brought up...</summary><category term="ryan.freumh.org"></category></entry><entry><title>FOSDEM</title><link href="https://ryan.freumh.org/fosdem.html" rel="alternate"></link><published>2024-02-13T00:00:00Z</published><updated>2024-02-13T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/fosdem.html</id><summary type="html">Published Tue 13 Feb 2024. Last update Tue 13 Feb 2024. Tags: &lt;a href="/conferences.html" target="_blank"&gt;conferences&lt;/a&gt; . I attended the Free and Open source Software Developers’ European Meeting (FOSDEM) in Brussels, Belgium last weekend. There are hundreds of hours of talks in 35 rooms over a period of two days, and rooms are often full to capacity, so it’s impossible to see everything! Thankfully every room is live-streamed and recordings made available after the fact, so you can catch up on anything you miss. Friday On the Eurostar over my travelling companion and I were lamenting about the Nix DSL, and we heard a French accent from behind: Ah, NixOS. See you at FOSDEM then! Saturday The day started with a coffee and a banana (probably not substantial enough in hindsight), an absolutely packed number 71 bus to the ULB Solbosch...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 12 Feb 2024</title><link href="https://ryan.freumh.org/2024-02-12.html" rel="alternate"></link><published>2024-02-12T00:00:00Z</published><updated>2024-02-12T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-02-12.html</id><summary type="html">Previous: &lt;a href="2024-02-05.html" target="_blank"&gt;Mon 5 Feb 2024&lt;/a&gt; Next: &lt;a href="2024-02-19.html" target="_blank"&gt;Mon 19 Feb 2024&lt;/a&gt; Capability DNS We have this nameserver that can provision TLS certificates with ACME using the DNS challenge, and expose a Cap’NP proto interface &lt;a href="https://github.com/RyanGibb/eon/blob/a442c424ea06b2c819dd48c9e69838e09675b22b/bin/acme/capnp/service_api.capnp" target="_blank"&gt;https://github.com/RyanGibb/eon/blob/main/bin/acme/capnp/service_api.capnp&lt;/a&gt; . We also have logic to tunnel Cap’NP over DNS &lt;a href="https://github.com/RyanGibb/eon/tree/a442c424ea06b2c819dd48c9e69838e09675b22b/lib/transport" target="_blank"&gt;https://github.com/RyanGibb/eon/tree/main/lib/transport&lt;/a&gt; , and indeed tunnel arbitrary data such as IP-traffic &lt;a href="https://github.com/RyanGibb/eon/tree/a442c424ea06b2c819dd48c9e69838e09675b22b/bin/transport/tunnel" target="_blank"&gt;https://github.com/RyanGibb/eon/tree/main/bin/transport/tunnel&lt;/a&gt; . Two ideas we had relating to this were exposing a shell interface &lt;a href="https://github.com/RyanGibb/eon/tree/a442c424ea06b2c819dd48c9e69838e09675b22b/bin/transport/sod" target="_blank"&gt;https://github.com/RyanGibb/eon/tree/main/bin/transport/sod&lt;/a&gt; over DNS and tunneling DNS traffic itself over DNS for query privacy a la Oblivious DNS &lt;a href="https://github.com/RyanGibb/eon/tree/a442c424ea06b2c819dd48c9e69838e09675b22b/bin/transport/dodo" target="_blank"&gt;https://github.com/RyanGibb/eon/tree/main/bin/transport/dodo&lt;/a&gt; . I’ve had a look for any related work to ‘de-risk’ a paper. The most obvious is &lt;a href="https://dl.acm.org/doi/pdf/10.1145/2377677.2377692" target="_blank"&gt;Signposts&lt;/a&gt; , which performs an ‘effectful’ name resolution to establish a communication channel through features of edge networks that break the end-to-end principle like NATs and proxies. It relies on DNSSEC to secure...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 5 Feb 2024</title><link href="https://ryan.freumh.org/2024-02-05.html" rel="alternate"></link><published>2024-02-05T00:00:00Z</published><updated>2024-02-05T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-02-05.html</id><summary type="html">Previous: &lt;a href="2024-01-29.html" target="_blank"&gt;Mon 29 Jan 2024&lt;/a&gt; Next: &lt;a href="2024-02-12.html" target="_blank"&gt;Mon 12 Feb 2024&lt;/a&gt; Shark I spoke to Michael about VanillaOS: It uses OCI images and ABRoot to provide immutability and atomic updates. Iirc it’s similar to Fedora Silverblue in that it’s an ‘immutable’ operating system, but Silverblue uses OST which is a ’git for binaries (keeps track of metadata and I think GCs). This is also used by flatpak. Nix is a bit more general in that is allows two packages to have different versions of a dependency by specifying them be absolute path rather than hard linking like ABRoot/OSTree. NixOS modules make it system configuration version controlled and rollback-able, and you don’t have to deal with ‘configuration updates’ like e.g. Ubuntu prompt you with. The downside is that you need to write your system config in this esoteric DSL. I...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Selected in the AI@CAM challenge for conservation research</title><link href="https://anil.recoil.org/notes/aicn-in-aicam" rel="alternate"></link><published>2024-02-05T00:00:00Z</published><updated>2024-02-05T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/aicn-in-aicam</id><summary type="html">We won the &lt;a href="https://www.cam.ac.uk/stories/AI-deas-launch" target="_blank"&gt;AI@CAM challenge&lt;/a&gt; that was sent out University wide to find research projects that use AI to tackle society's biggest challenges. Our project on using &lt;a href="https://www.cam.ac.uk/stories/AI-deas-launch#section-9RKgEyI2LZ" target="_blank"&gt;AI for climate and nature&lt;/a&gt; is one of the five selected. The twin climate and biodiversity crises are two of the world’s most complex challenges to tackle. This project aims to develop AI approaches for bringing together a wide range of datasets and accelerating the collation of information. This work will provide up to date, relevant and robust information for researchers and decision-makers working on climate and biodiversity conservation – opening up the possibility for more targeted and effective solutions to some of our world’s most pressing climate and biodiversity challenges. &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , AI-deas challenge co-lead, said: 'Mitigating the impacts...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Uncertainty at scale: how CS hinders climate research</title><link href="https://anil.recoil.org/news/2024-uncertainty-cs-1" rel="alternate"></link><published>2024-02-01T00:00:00Z</published><updated>2024-02-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-uncertainty-cs-1</id><summary type="html">Paper on uncertainty in climate science in &lt;a href="https://undonecs.sciencesconf.org" target="_blank"&gt;Undone CS&lt;/a&gt; &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="https://undonecs.sciencesconf.org/data/Undonecs_2024_abstract_43.pdf" target="_blank"&gt;Undone Computer Science&lt;/a&gt; . &lt;a href="https://undonecs.sciencesconf.org/data/Undonecs_2024_abstract_43.pdf" target="_blank"&gt;URL&lt;/a&gt; (undonecs.sciencesconf.org) &lt;a href="https://anil.recoil.org/papers/2024-uncertainty-cs.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-uncertainty-cs.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 29 Jan 2024</title><link href="https://ryan.freumh.org/2024-01-29.html" rel="alternate"></link><published>2024-01-29T00:00:00Z</published><updated>2024-01-29T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-01-29.html</id><summary type="html">Previous: &lt;a href="2024-01-22.html" target="_blank"&gt;Mon 22 Jan 2024&lt;/a&gt; Next: &lt;a href="2024-02-05.html" target="_blank"&gt;Mon 5 Feb 2024&lt;/a&gt; Interspatial Networking Got a Zigbee2MQTT bridge deployed via NixOS on a Raspberry Pi 5. This required installing an EDK2 raspberry Pi 5 EFI implementation as a bootloader pending U-boot support &lt;a href="https://github.com/NixOS/nixpkgs/issues/260754#issuecomment-1908664693" target="_blank"&gt;https://github.com/NixOS/nixpkgs/issues/260754#issuecomment-1908664693&lt;/a&gt; . Had lots of false starts trying to cross-compile aarch64 (and arvm6 for the raspberry pi 1) on x86_64. I got pretty far with aarch64 but I think nixos-install doesn’t support a cross-compiled grub installation. I’m playing around with different ways of exposing this over HTTP, DNS, RPCs, and maybe Matrix. EON To support RPCs over DNS as a bootstapping mechanism for Jess and I’s idea of an identity service I resurrected the DNS tunnelling in EON. There’s a few kinks to work out with payload lengths fitting into domain names, and an odd failure mode...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 22 Jan 2024</title><link href="https://ryan.freumh.org/2024-01-22.html" rel="alternate"></link><published>2024-01-22T00:00:00Z</published><updated>2024-01-22T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-01-22.html</id><summary type="html">Previous: &lt;a href="2024-01-15.html" target="_blank"&gt;Mon 15 Jan 2024&lt;/a&gt; Next: &lt;a href="2024-01-29.html" target="_blank"&gt;Mon 29 Jan 2024&lt;/a&gt; It’s been 4 weeks since I updated this log! I fell off the bandwagon after returning from Boston, getting sidetracked adding a capability-based RPC to provision TLS certs with ACME on a nameserver. Interspatial networking: Andrew Moore dumped a whole bunch of Zigbee smart lights and plugs on my desk. I got a Zigbee bridge to MQTT bridge working and hooked &lt;a href="fn06.orb" target="_blank"&gt;fn06.org&lt;/a&gt; up to toggle the lights. This is basically me returning to the original vision of my MPhil project! If I can get a website to control the lights there’s no reason an AR headset couldn’t do the same. I’m also envisioning a DNS-based control interface with access control, e.g. dig toggle._lights.fn06.org . If I want to try the Hololens development environment I’ll need to get a GPU windows...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 15 Jan 2024</title><link href="https://ryan.freumh.org/2024-01-15.html" rel="alternate"></link><published>2024-01-15T00:00:00Z</published><updated>2024-01-15T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-01-15.html</id><summary type="html">Previous: &lt;a href="2024-01-08.html" target="_blank"&gt;Mon 8 Jan 2024&lt;/a&gt; Next: &lt;a href="2024-01-22.html" target="_blank"&gt;Mon 22 Jan 2024&lt;/a&gt; Figured out how to use ZFS for my NAS and shark.</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 8 Jan 2024</title><link href="https://ryan.freumh.org/2024-01-08.html" rel="alternate"></link><published>2024-01-08T00:00:00Z</published><updated>2024-01-08T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-01-08.html</id><summary type="html">Previous: &lt;a href="2024-01-01.html" target="_blank"&gt;Mon 1 Jan 2024&lt;/a&gt; Next: &lt;a href="2024-01-15.html" target="_blank"&gt;Mon 15 Jan 2024&lt;/a&gt; Took some time off to see friends and family. Bult a low-power (12W idle) NAS with 32TB storage on &lt;a href="https://github.com/RyanGibb/nixos/blob/master/hosts/elephant/default.nix" target="_blank"&gt;NixOS&lt;/a&gt; with ZFS. Blog post TODO. I still think there’s something here with &lt;a href="./2023-10-16.html#hibernia" target="_blank"&gt;using a low-powered board to wake a
+
higher powered computer&lt;/a&gt; on e.g. a DNS resolution. Anil mentioned &lt;a href="https://github.com/stalwartlabs/mail-server" target="_blank"&gt;stalwart&lt;/a&gt; which might be worth looking at for Eilean.</summary><category term="ryan.freumh.org"></category></entry><entry><title>2023 year in review</title><link href="http://martin.kleppmann.com/2024/01/04/year-in-review.html" rel="alternate"></link><published>2024-01-04T00:00:00Z</published><updated>2024-01-04T00:00:00Z</updated><author><name>MartinK</name></author><id>http://martin.kleppmann.com/2024/01/04/year-in-review.html</id><summary type="html">A lot has happened in the last year, so I thought it would be good to write up a review. My biggest change in 2023 was that my wife and I had a baby! This has brought a mixture of joys and frustrations, but overall it has been very good. I took three months of full-time parental leave after the birth, and since going back to work I’ve been sharing the parenting with responsibilities with my partner. Family has therefore been my top priority, but I won’t talk much about family things in this post, since I prefer to keep it private. Lots of work things happened as well: New job! As of January 2024 I have a new job as &lt;a href="https://www.cst.cam.ac.uk/news/new-associate-professor-computer-security-and-privacy" target="_blank"&gt;Associate Professor in Cambridge&lt;/a&gt; ! Unlike all my previous academic positions, which were all fixed-term contracts of a few years, this is a permanent position. A huge number of people apply for this...</summary><category term="Martin Kleppmann's blog"></category></entry><entry><title>Tiny Code Christmas - part 2: learning OCaml and that demos are mostly functional</title><link href="https://digitalflapjack.com/blog/tcc-part2/" rel="alternate"></link><published>2024-01-03T09:57:06Z</published><updated>2024-01-03T09:57:06Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/tcc-part2/</id><summary type="html">This post is a follow on to the previous &lt;a href="/blog/tcc/" target="_blank"&gt;part 1 about Tiny Code Christmas 2022&lt;/a&gt; , and is about what I did for TCC 2023. In order to get more info on what TCC is and why it's a fun thing to do, I recommend you start there, but if you're just interested in me messing around with &lt;a href="https://ocaml.org/" target="_blank"&gt;OCaml&lt;/a&gt; , then you're in the right place. There were two things that motivated me to tackle this years TCC in the OCaml language. Firstly, a bunch of my colleagues at work use OCaml, and indeed work on language, and so there's been a bunch of encouragement from them that I should join in. However, I find I have two modes when it comes to working with programming languages: I can either work on a problem I'm not familiar with in a language I'm comfortable with, or I can do the inverse and tackle problems that I'm comfortable with in a...</summary><category term="Digital Flapjack"></category></entry><entry><title>Tiny Code Christmas - part 1: making coding fun through constraints and community</title><link href="https://digitalflapjack.com/blog/tcc/" rel="alternate"></link><published>2024-01-02T13:00:56Z</published><updated>2024-01-02T13:00:56Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/tcc/</id><summary type="html">Normally, as someone who codes for a living, xmas is a time for me to down tools and step away from the computer for a bit, spent time with family, spend some time in the &lt;a href="https://electricflapjack.com/" target="_blank"&gt;workshop&lt;/a&gt; and generally not stare at a computer so much. But this last two years I've had a lot of fun doing some small amounts of coding for fun. In this and the next post, I'm going to go through what got me doing this, what I learned from it, and why I recommend it to others. But the TL;DR is along the lines of: small regular constrained challenges, community, and exploration. Your browser does not support the video element. In an post I wrote a couple of years ago I &lt;a href="/blog/a-journey-into-minimal-computing-or-my-slow-evolving-2021-side-project/" target="_blank"&gt;mentioned in passing&lt;/a&gt; the idea of fantasy consoles like &lt;a href="https://tic80.com" target="_blank"&gt;TIC80&lt;/a&gt; : these are programs that pretend to emulate a retro computer from the 8 or 16 bit era of...</summary><category term="Digital Flapjack"></category></entry><entry><title>Mon 1 Jan 2024</title><link href="https://ryan.freumh.org/2024-01-01.html" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2024-01-01.html</id><summary type="html">Previous: &lt;a href="2023-12-25.html" target="_blank"&gt;Mon 25 Dec 2023&lt;/a&gt; Next: &lt;a href="2024-01-08.html" target="_blank"&gt;Mon 8 Jan 2024&lt;/a&gt; Set up a local plaintext email setup with mbsync/goimapnotify/aerc/mu/msmtp/gpgp/ldapsearch &lt;a href="https://github.com/RyanGibb/nixos/tree/7f303f5ff5283d31aa98f88574bfc85f4634afed/modules/personal/home/mail" target="_blank"&gt;nix&lt;/a&gt; .</summary><category term="ryan.freumh.org"></category></entry><entry><title>Spatial and multi-modal extraction from conservation literature</title><link href="https://anil.recoil.org/ideas/spatial-summarisation-of-llms" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/spatial-summarisation-of-llms</id><summary type="html">Spatial and multi-modal extraction from conservation literature This is an idea proposed in 2024 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://profiles.imperial.ac.uk/a.christie" target="_blank"&gt;Alec Christie&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/bill-sutherland" target="_blank"&gt;Bill Sutherland&lt;/a&gt; . The &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence Copilots&lt;/a&gt; database contains information on numerous conservation actions and their supporting evidence. We also have access to a large corpus of academic literature detailing species presence and threats which we have assembled in Cambridge in collaboration with the various journal publishers. This MPhil project aims to combine these published literature resources with geographic information to propose conservation interventions. The goal is to identify actions that are likely to be effective based on prior evidence and have...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Privacy preserving emissions disclosure techniques</title><link href="https://anil.recoil.org/ideas/tardis" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/tardis</id><summary type="html">Privacy preserving emissions disclosure techniques This is an idea proposed in 2024 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://www.cst.cam.ac.uk/people/psjm3" target="_blank"&gt;Jessica Man&lt;/a&gt; . It is co-supervised with &lt;a href="https://martin.kleppmann.com" target="_blank"&gt;Martin Kleppmann&lt;/a&gt; . Customers of online services may want to take carbon emissions into account when deciding which service to use, but are currently hindered by a lack of reliable emissions data that is comparable across services. Calculating accurate carbon emissions across a cloud computing pipeline involves a number of stakeholders, none of whom are incentivised to accurately report their emissions for competitive reasons. This PhD explores mechanisms to support verifiable and privacy-preserving emissions reporting across a chain of energy suppliers, cloud data centres, virtual machine hosting...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Low-power sensing infrastructure for biodiversity</title><link href="https://anil.recoil.org/ideas/recording-nature" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/recording-nature</id><summary type="html">Low-power sensing infrastructure for biodiversity This is an idea proposed in 2024 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://profiles.imperial.ac.uk/joshua.millar22" target="_blank"&gt;Josh Millar&lt;/a&gt; . It is co-supervised with &lt;a href="https://haddadi.github.io/" target="_blank"&gt;Hamed Haddadi&lt;/a&gt; . In-situ sensing devices need to be deployed in remote environments for long periods of time, and minimizing their power consumption is vital for maximising both their operational lifetime and coverage. We are exploring the construction of a versatile multi-sensor device (initially based around the ESP32 chipset) and designing an exceptionally low power consumption model by using an on-device reinforcement learning scheduler that can learn to cooperate with other nearby devices. Our prototype device setup for learning schedules for biodiversity monitoring does pretty well against...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Legal perspectives on integrity issues in forest carbon</title><link href="https://anil.recoil.org/ideas/legal-aspects-of-credits" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/legal-aspects-of-credits</id><summary type="html">Legal perspectives on integrity issues in forest carbon This is an idea proposed in 2024 as a postdoctoral project, and has been completed by &lt;a href="https://www.cst.cam.ac.uk/people/smc70" target="_blank"&gt;Sophie Chapman&lt;/a&gt; . It was co-supervised with &lt;a href="https://www.cst.cam.ac.uk/people/eft20" target="_blank"&gt;Eleanor Toye Scott&lt;/a&gt; . Carbon finance offers a vital way to fund urgently needed forest conservation, but there are integrity issues on the supply side. &lt;a href="https://anil.recoil.org/#fn-1" target="_blank"&gt;[1]&lt;/a&gt; Besides the known issues with carbon quantification, &lt;a href="https://anil.recoil.org/#fn-2" target="_blank"&gt;[2]&lt;/a&gt; carbon credits are often poorly designed and implemented from a legal perspective. Specifically, in the absence of a clear legal framework for forest carbon credits, contracts tend to conceptualise credits in similar terms to the products of extractive industries, such as mineral mining. This is a factually inaccurate model for carbon credits, since the carbon is not extracted but on the contrary...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Generating chunk-free embeddings for LLMs</title><link href="https://anil.recoil.org/ideas/chunk-free-embeddings" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/chunk-free-embeddings</id><summary type="html">Generating chunk-free embeddings for LLMs This is an idea proposed in 2024 as a Cambridge Computer Science Part III or MPhil project, and is currently being worked on by &lt;a href="mailto:mj651@cam.ac.uk" target="_blank"&gt;Mark Jacobsen&lt;/a&gt; . It is co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . This project aims to explore the development of a chunk-free approach for generating embeddings in Retrieval-Augmented Generation (RAG) models. Traditional RAG workflows often involve manual or predefined chunking of documents, and we seek to bypass this requirement. Instead, our approach involves generating multiple embeddings for unchunked text using a synthetic dataset created by (e.g.) a 7b parameter LLM. This dataset would feature structured, point-by-point summaries of each paragraph. An off-the-shelf embedding model could then be modified by removing its mean...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Evaluating RAG pipelines for conservation evidence</title><link href="https://anil.recoil.org/ideas/rag-evaluation-for-ce" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/rag-evaluation-for-ce</id><summary type="html">Evaluating RAG pipelines for conservation evidence This is an idea proposed in 2024 as a good starter project, and has been completed by &lt;a href="mailto:ri301@cam.ac.uk" target="_blank"&gt;Radhika Iyer&lt;/a&gt; . It was co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . At the &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence Copilots&lt;/a&gt; project, we are interested in finding and synthesising evidence for conservation interventions. Once we have this evidence, it needs to be synthesised into a form that can be used to inform policy and practice via natural language query interfaces. One way to do this is to use a &lt;a href="https://anil.recoil.org/14768" target="_blank"&gt;RAG (Retrieval Augmented Generation)&lt;/a&gt; pipeline, which can automatically retrieve relevant information from a large corpus of documents, analyse it to extract key information relevant to CE, and generate a summary of the key findings. This project involved involve evaluating the performance of RAG pipelines for conservation evidence,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Effective geospatial code in OCaml</title><link href="https://anil.recoil.org/ideas/effective-geospatial-code" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/effective-geospatial-code</id><summary type="html">Effective geospatial code in OCaml This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:gp528@cam.ac.uk" target="_blank"&gt;George Pool&lt;/a&gt; . It is co-supervised with &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; and &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . Geospatial data processing is a critical component of many scientific and engineering workflows, from environmental monitoring to urban planning. However, writing geospatial code that scales to multiple cores and makes best use of available memory can be challenging due to the scale of the data involved. To deal with this, we have been developing some domain-specific tools to improve the state of affairs. &lt;a href="https://github.com/quantifyearth/yirgacheffe" target="_blank"&gt;Yirgacheffe&lt;/a&gt; is a wrapper to the GDAL library that provides high-level Python APIs that take care of figuring out if datasets overlap, and if vector layers need to be...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Deep learning for decomposing sound into vector audio</title><link href="https://anil.recoil.org/ideas/decomposing-audio-with-dl" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/decomposing-audio-with-dl</id><summary type="html">Deep learning for decomposing sound into vector audio This is an idea proposed in 2024 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://pure.qub.ac.uk/en/persons/trevor-agus" target="_blank"&gt;Trevor Agus&lt;/a&gt; . All that we hear is mediated through cues transmitted to the brain from the cochlea, which acts like a bank of auditory filters centred at a wide range of centre frequencies. A lot of our knowledge of hearing comes from psychoacoustical experiments that involve simple sounds, like sine waves, whose synthesis parameters are closely related to cues available beyond the cochlea. However, for recorded sounds, many types of cue are available, but our use of these cues is limited by the extent that these cues can be manipulated in a controlled fashion. &lt;a href="https://anil.recoil.org/#fn-1" target="_blank"&gt;[1]&lt;/a&gt;...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Crawling grey literature for conservation evidence</title><link href="https://anil.recoil.org/ideas/grey-lit-crawl" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/grey-lit-crawl</id><summary type="html">Crawling grey literature for conservation evidence This is an idea proposed in 2024 as a good starter project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Shrey Biswas&lt;/a&gt; and &lt;a href="https://github.com/Kacper-M-Michalik" target="_blank"&gt;Kacper Michalik&lt;/a&gt; . It was co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . At the &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence Copilots&lt;/a&gt; project, we are interested in finding and synthesising evidence for conservation interventions. Much of this evidence is published in academic journals, but there is a large body of &lt;a href="https://en.wikipedia.org/wiki/Grey_literature" target="_blank"&gt;grey literature&lt;/a&gt; that is not indexed in academic databases. This includes reports from NGOs, government agencies, and other organisations that are not peer-reviewed, but can still contain valuable information. This project involved developing a web crawler to search for grey literature on conservation interventions, tracking the provenance and license information, and extracting relevant...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Conservation Evidence Copilots</title><link href="https://anil.recoil.org/projects/ce" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/projects/ce</id><summary type="html">Conservation Evidence Copilots The &lt;a href="https://conservationevidence.com" target="_blank"&gt;Conservation Evidence&lt;/a&gt; team at the University of Cambridge has spent years screening 1.6m+ scientific papers on conservation, as well as manually summarising 8600+ studies relating to conservation actions. However, progress is limited by the specialised skills needed to screen and summarise relevant studies -- it took more than 75 person years to manually curate the current database and only a few 100 papers can be added each year! We are working on AI-driven techniques to accelerate addition of robust evidence to the CE database via automated literature scanning, &lt;a href="https://anil.recoil.org/papers/2024-ce-llm" target="_blank"&gt;LLM-based copilots&lt;/a&gt; and scanning of grey literature. We aim to provide co-pilots that augment human decision making to figure out how to categorise interventions much more quickly and accurately, and ultimately...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Composable diffing for heterogenous file formats</title><link href="https://anil.recoil.org/ideas/functional-diffs" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/functional-diffs</id><summary type="html">Composable diffing for heterogenous file formats This is an idea proposed in 2024 as a Cambridge Computer Science Part III or MPhil project, and is available for being worked on. It may be co-supervised with &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . When dealing with large scale geospatial data, we also have to deal with a variety of file formats, such as CSV, JSON, GeoJSON, or GeoTIFFs, etc. Each of these file formats has its own structure and semantics, and it is often necessary to compare and merge data across different file formats. The conventional solution with source code would be to use a tool such as Git to compare and merge data across different file formats. However, this approach is not always feasible, as it requires the data to be in a text-based format and the data to be structured in a way that can be...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Building bigraphs of the real world</title><link href="https://anil.recoil.org/ideas/bigraphs-real-world" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/bigraphs-real-world</id><summary type="html">Building bigraphs of the real world This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is currently being worked on by &lt;a href="mailto:ra652@cam.ac.uk" target="_blank"&gt;Roy Ang&lt;/a&gt; . It is co-supervised with &lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; . Bigraphs were originally proposed as a model for the behaviour of ubiquitous systems since interaction between mobile devices is dependent on both placing (locality) and linking (connectivity). However, there has yet to be a bigraph that represents the complete physical world. Such a bigraph will enhance the computer's representation of its location from a simple latitude-longitude pair to a context more familiar to humans: the room it is in, the street the building is on, and the town the street is in. This will allow for location-aware applications and policies about connectivity of...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Assessing mangrove literature for conservation evidence</title><link href="https://anil.recoil.org/ideas/mangrove-literature-for-ce" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/mangrove-literature-for-ce</id><summary type="html">Assessing mangrove literature for conservation evidence This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and is available for being worked on. It may be co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-thomas-worthington" target="_blank"&gt;Tom Worthington&lt;/a&gt; . At the &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence Copilots&lt;/a&gt; project, we are interested in finding and synthesising evidence for conservation interventions. Mangrove forests are one of the most threatened ecosystems in the world, and there is a large body of literature on the topic. However, this literature is spread across a wide range of sources, including academic journals, reports, and grey literature, and it can be difficult to identify and synthesise the key findings. Moreover, there is a need to assess the quality of the evidence, perhaps from remote sensing data or field studies, to inform...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Accurate summarisation of threats for conservation evidence literature</title><link href="https://anil.recoil.org/ideas/accurate-summarisation-for-ce" rel="alternate"></link><published>2024-01-01T00:00:00Z</published><updated>2024-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/accurate-summarisation-for-ce</id><summary type="html">Accurate summarisation of threats for conservation evidence literature This is an idea proposed in 2024 as a Cambridge Computer Science Part III or MPhil project, and is currently being worked on by &lt;a href="mailto:kh807@cam.ac.uk" target="_blank"&gt;Kittson Hamill&lt;/a&gt; . It is co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . At the &lt;a href="https://anil.recoil.org/projects/ce" target="_blank"&gt;Conservation Evidence Copilots&lt;/a&gt; project, we are interested in constructing a taxonomy of threats to wildlife from the literature. This involves scanning the body of conservation literature and gathering/synthesising evidence for conservation interventions from a threats perspective. Once the text has been retrieved, it needs to be summarised in a way that is accurate, concise and relevant and verified with human experts. This is particularly important for conservation evidence, where the key findings need to be communicated clearly to inform policy and...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 25 Dec 2023</title><link href="https://ryan.freumh.org/2023-12-25.html" rel="alternate"></link><published>2023-12-25T00:00:00Z</published><updated>2023-12-25T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-12-25.html</id><summary type="html">Previous: &lt;a href="2023-12-18.html" target="_blank"&gt;Mon 18 Dec 2023&lt;/a&gt; Next: &lt;a href="2024-01-01.html" target="_blank"&gt;Mon 1 Jan 2024&lt;/a&gt; Added Let’s Encrypt Nameserver Daemon ( lend ) and client ( lenc ) to eon, which provisions TLS certs with the ACME DNS challenge inside the nameserver modifying the trie directly. Required porting ocaml/letsencrypt to Eio 0.12. Added a Capnp RPC interface to provision certificates using this creating Let’s Encrypt Nameserver Cap’n Proto ( lenscap ). There’s still work to do including supporting renewals with capnp callbacks which will probably require sturdy refs, the story for which persisting seems complicated. Read &lt;a href="https://www.mnot.net/blog/2023/12/19/standards-and-centralization" target="_blank"&gt;RFC9518&lt;/a&gt; on the train up to Scotland. It talks about how technical decentralisation is necessary but not sufficient. &lt;a href="https://www.rfc-editor.org/rfc/rfc9518.html#name-federation" target="_blank"&gt;Section
3.1&lt;/a&gt; talks about issues with federation in the &lt;a href="https://www.usenix.org/system/files/atc22-holzbauer.pdf" target="_blank"&gt;centralisation
of SMTP providers&lt;/a&gt; and how XMPP federation is voluntary. Matrix bridges...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 18 Dec 2023</title><link href="https://ryan.freumh.org/2023-12-18.html" rel="alternate"></link><published>2023-12-18T00:00:00Z</published><updated>2023-12-18T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-12-18.html</id><summary type="html">Previous: &lt;a href="2023-12-11.html" target="_blank"&gt;Mon 11 Dec 2023&lt;/a&gt; Next: &lt;a href="2023-12-25.html" target="_blank"&gt;Mon 25 Dec 2023&lt;/a&gt; Majorly refactored eon including porting to Eio 0.12 moving from objects to polymorphic varients.</summary><category term="ryan.freumh.org"></category></entry><entry><title>NixOS channels</title><link href="https://mort.io/blog/nixos-channels/" rel="alternate"></link><published>2023-12-13T00:00:00Z</published><updated>2023-12-13T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/nixos-channels/</id><summary type="html">I don’t pretend to understand &lt;a href="https://nixos.org/" target="_blank"&gt;NixOS&lt;/a&gt; configuration fully yet, what with Flakes and channels and so forth. But I did find the following usful to setup channels consistently so that I could have a single config that used both. sudo nix-channel -- list # to list known channels sudo nix-channel -- remove nixos # to remove a channel sudo nix-channel -- add https://nixos.org/channels/nixos-unstable nixos # to go bleeding edge …ultimately resulting in: $ nix-channel -- list # channels are stored per-user, and $(whoami) != root $ sudo nix-channel -- list nixos https://nixos.org/channels/nixos-unstable nixpkgs https://nixos.org/channels/nixos-unstable Upgrading to the latest release is then something like: pushd ~ /rc-files/nixos/ sudo nix-channel -- update nix flake update sudo nixos-rebuild...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Mon 11 Dec 2023</title><link href="https://ryan.freumh.org/2023-12-11.html" rel="alternate"></link><published>2023-12-11T00:00:00Z</published><updated>2023-12-11T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-12-11.html</id><summary type="html">Previous: &lt;a href="2023-12-04.html" target="_blank"&gt;Mon 4 Dec 2023&lt;/a&gt; Next: &lt;a href="2023-12-18.html" target="_blank"&gt;Mon 18 Dec 2023&lt;/a&gt; Report for Huwawi Studentship Update Sent to Ben Karniely. My research over the past year has focused on addressing a fundamental limitation in the current Internet architecture - the lack of support for naming physical locations and resolving them to various addressing mechanisms beyond IP. To address this gap, we have proposed the Spatial Name System (SNS), which enables the assignment of hierarchical location-based names and provides global and local resolution schemes. The SNS extends the Domain Name System (DNS), allowing the integration of spatial names into existing applications and opening up new possibilities for sensor networks and augmented reality. Thanks to Huawei’s Hisilicon Studentship I had the opportunity to present this &lt;a href="https://ryan.freumh.org/papers/2023-hotnets-sns.pdf" target="_blank"&gt;research&lt;/a&gt; at...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 4 Dec 2023</title><link href="https://ryan.freumh.org/2023-12-04.html" rel="alternate"></link><published>2023-12-04T00:00:00Z</published><updated>2023-12-04T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-12-04.html</id><summary type="html">Previous: &lt;a href="2023-11-27.html" target="_blank"&gt;Mon 27 Nov 2023&lt;/a&gt; Next: &lt;a href="2023-12-11.html" target="_blank"&gt;Mon 11 Dec 2023&lt;/a&gt; Arrived in Cambridge and finialised my HotNets presentation adding some new slides to expand on how existing DNS mechanisms like DNS-SD can interoperate, illustrating the interface to a geodetic query, etc. Attended the HotNets Conference. Met with Jane Street. HotNets Conference It was great! Feedback on the SNS First and foremost, I recieved some really useful questions, thoughts, and feedback on the SNS. While presenting I was asked: Joshua Smith, Uni of Washington: Q: does this support mobile device? A: that is not our primary use case with these device with their functional primarily defined by their location, though a limitted form of mobility could be supported through existing mechanisms like CNAMEs. Q: what about devices that are inbetween…...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Joined the Royal Society fellowships committee</title><link href="https://anil.recoil.org/notes/royal-society-newton" rel="alternate"></link><published>2023-12-02T00:00:00Z</published><updated>2023-12-02T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/royal-society-newton</id><summary type="html">I joined the &lt;a href="https://royalsociety.org" target="_blank"&gt;Royal Society&lt;/a&gt; &lt;a href="https://royalsociety.org/grants/newton-international/" target="_blank"&gt;Newton International Fellowships&lt;/a&gt; &lt;a href="https://royalsociety.org/people/anil-madhavapeddy-36582/" target="_blank"&gt;committee&lt;/a&gt; to help with selecting bright new scientists from abroad who wish to conduct research in the UK. The Newton International Fellowship (NIF) programme provides support for outstanding early career researchers to make a first step towards developing an independent research career through gaining experience across international borders. The fellowships enable researchers to access expertise, gain new perspectives and build long-lasting collaborative relationships. -- &lt;a href="https://royalsociety.org/grants/newton-international/" target="_blank"&gt;The Royal Society&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>PACT Tropical Moist Forest Accreditation Methodology</title><link href="https://anil.recoil.org/news/2023-pact-tmf-2" rel="alternate"></link><published>2023-12-01T00:00:00Z</published><updated>2023-12-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-pact-tmf-2</id><summary type="html">We have just released the Tropical Moist Forest v2.0 specification, to update the &lt;a href="https://anil.recoil.org/news/2023-pact-tmf-1" target="_blank"&gt;v1.1&lt;/a&gt; released earlier in the year. There are significant updates to the methodology to better match the scheme described in &lt;a href="https://anil.recoil.org/papers/2023-ncc-permanence" target="_blank"&gt;Realizing the social value of impermanent carbon credits&lt;/a&gt; . &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://www.liverpool.ac.uk/geography-and-planning/research/environmental-change/postgraduates/" target="_blank"&gt;James Hartup&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , &lt;a href="https://uk.linkedin.com/in/miranda-lam-a088561b4" target="_blank"&gt;Miranda Lam&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://www.lambdacambridge.com/robin-message" target="_blank"&gt;Robin Message&lt;/a&gt; , &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-e-ping-rau" target="_blank"&gt;E.-Ping Rau&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-charlotte-wheeler" target="_blank"&gt;Charlotte Wheeler&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/abigail-williams" target="_blank"&gt;Abby Williams&lt;/a&gt; . Working paper at &lt;a href="https://www.cambridge.org/engage/coe/article-details/66b9d9345101a2ffa813e37c" target="_blank"&gt;Cambridge Open Engage&lt;/a&gt; . &lt;a href="https://www.cambridge.org/engage/coe/article-details/66b9d9345101a2ffa813e37c" target="_blank"&gt;URL&lt;/a&gt; (cambridge.org) &lt;a href="https://doi.org/10.33774/coe-2024-gvslq" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-pact-tmf.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-pact-tmf.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 27 Nov 2023</title><link href="https://ryan.freumh.org/2023-11-27.html" rel="alternate"></link><published>2023-11-27T00:00:00Z</published><updated>2023-11-27T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-11-27.html</id><summary type="html">Previous: &lt;a href="2023-11-20.html" target="_blank"&gt;Mon 20 Nov 2023&lt;/a&gt; Next: &lt;a href="2023-12-04.html" target="_blank"&gt;Mon 4 Dec 2023&lt;/a&gt; Sorted HotNets travel, accomadation, insurance, etc. Travelled to Boston. Recovered from jetlag and had thanksgiving with my American family. Visited Newton, Ludlow, Springfield, North Hampton, Shirley, Boston, and Cambridge. Spent a couple of days preparing for my presentation. Wrote a 2000 word script that I cut to about 1500 words. Ran through presenting it 3 or 4 times, timing it to make sure I wasn’t overrunning.</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 20 Nov 2023</title><link href="https://ryan.freumh.org/2023-11-20.html" rel="alternate"></link><published>2023-11-20T00:00:00Z</published><updated>2023-11-20T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-11-20.html</id><summary type="html">Previous: &lt;a href="2023-11-13.html" target="_blank"&gt;Mon 13 Nov 2023&lt;/a&gt; Next: &lt;a href="2023-11-27.html" target="_blank"&gt;Mon 27 Nov 2023&lt;/a&gt; HotNets I sent an email out to the SRG mailing list asking if anyone knew anyone at MIT. Jörg Ott said I “may wanna talk to Karen Sollins and John Wroclawski”. Malte said he will be there, and can introduce me to “some of the MIT people who will likely attend from [his] time in PDOS”.</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 13 Nov 2023</title><link href="https://ryan.freumh.org/2023-11-13.html" rel="alternate"></link><published>2023-11-13T00:00:00Z</published><updated>2023-11-13T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-11-13.html</id><summary type="html">Previous: &lt;a href="2023-11-06.html" target="_blank"&gt;Mon 6 Nov 2023&lt;/a&gt; Next: &lt;a href="2023-11-20.html" target="_blank"&gt;Mon 20 Nov 2023&lt;/a&gt; New Collaborators? Justas Justas suggested collaborating on something with the Adaptive City project sensors. Grenoble Andrzej Duda and Simon Fernandez from Grenoble INP Ensimag LIG Lab are &lt;a href="https://dl.acm.org/doi/pdf/10.1145/2980147.2980152" target="_blank"&gt;working&lt;/a&gt; &lt;a href="https://arxiv.org/pdf/2110.11766.pdf" target="_blank"&gt;on&lt;/a&gt; very similar things to the SNS. They reached out to Jon and are keen to collaborate. HotNets I can’t seem to find PDFs for a lot of the HotNets papers. The ACM proceedings doesn’t seem to have PDFs, neither does the conference website (and the publishing chair has not got back to me about the availablility on the website like in previous years), so if the author hasn’t put it up on their personal website it’s not available. Teaching Marked and supervised the last concurrent exercise sheet for Pembroke part IBs. We’ve done 4 supervisions for...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 6 Nov 2023</title><link href="https://ryan.freumh.org/2023-11-06.html" rel="alternate"></link><published>2023-11-06T00:00:00Z</published><updated>2023-11-06T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-11-06.html</id><summary type="html">Previous: &lt;a href="2023-10-30.html" target="_blank"&gt;Mon 30 Oct 2023&lt;/a&gt; Next: &lt;a href="2023-11-13.html" target="_blank"&gt;Mon 13 Nov 2023&lt;/a&gt; EEG Matrix Server &lt;a href="matrix-synapse-authentication-with-raven-shibboleth" target="_blank"&gt;Following
up&lt;/a&gt; on Matrix Shibboleth integration I deployed an EEG Matrix server. Configure synapse for saml2 &lt;a href="https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#saml2_config" target="_blank"&gt;https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#saml2_config&lt;/a&gt; Had some issues with synapse detecting the pysaml2 module… my personal nixos nixpkgs revision seemed to work. Cambridge raven identity provider (IdP) attributes: &lt;a href="https://wiki.cam.ac.uk/raven/Attributes_released_by_the_Raven_IdP" target="_blank"&gt;https://wiki.cam.ac.uk/raven/Attributes_released_by_the_Raven_IdP&lt;/a&gt; How to configure pysaml2 attribute mapping (to map to those synapse &lt;a href="https://github.com/matrix-org/synapse/blob/develop/synapse/handlers/saml_handler.py" target="_blank"&gt;expects&lt;/a&gt; ) &lt;a href="https://pysaml2.readthedocs.io/en/latest/howto/config.html#attribute-map-dir" target="_blank"&gt;https://pysaml2.readthedocs.io/en/latest/howto/config.html#attribute-map-dir&lt;/a&gt; Register our service provider (SP) with the university &lt;a href="https://wiki.cam.ac.uk/raven/SP_registration" target="_blank"&gt;https://wiki.cam.ac.uk/raven/SP_registration&lt;/a&gt; at &lt;a href="https://metadata.raven.cam.ac.uk/" target="_blank"&gt;https://metadata.raven.cam.ac.uk/&lt;/a&gt; . Got the site XML from the path /_matrix/saml2/metadata.xml . In future, maybe we’d want to register with the UK federation. Got the remote url from &lt;a href="https://docs.raven.cam.ac.uk/en/latest/reference-apache-saml2/" target="_blank"&gt;https://docs.raven.cam.ac.uk/en/latest/reference-apache-saml2/&lt;/a&gt; Got the flu Unfortunately, the rest of the week was a write-off with the flu.</summary><category term="ryan.freumh.org"></category></entry><entry><title>BBC report on the new Cambridge supercomputer ("Dawn") announced at the 2023 AI Summit</title><link href="https://anil.recoil.org/news/48a7ab10-3f49-4978-a00f-c26b64c2cae7-1" rel="alternate"></link><published>2023-11-02T00:00:00Z</published><updated>2023-11-02T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/48a7ab10-3f49-4978-a00f-c26b64c2cae7-1</id><summary type="html">On the BBC briefly about the Dawn supercomputer</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>More on Icons</title><link href="https://digitalflapjack.com/blog/more-on-icons/" rel="alternate"></link><published>2023-11-01T19:12:03Z</published><updated>2023-11-01T19:12:03Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/more-on-icons/</id><summary type="html">This is a sort of follow on to a post I wrote about &lt;a href="/blog/old-icons/" target="_blank"&gt;how icons becoming homogenous and hard to distinguish&lt;/a&gt; , and inspired by this image &lt;a href="https://twitter.com/flarup/status/1717578963684364578" target="_blank"&gt;posted to social media&lt;/a&gt; by &lt;a href="https://www.pixelresort.com" target="_blank"&gt;Michael Flarup&lt;/a&gt; showing the evolution of the macOS default dock over many versions: Whilst I'd be the first to admit to not being a fan of the heavily skeuomorphic apps like the old Notes.app with its faux leather titlebar and the old game center app, I also think that the older icons for notes and such were much more distinctive when you could recognise items by external shape as well as the content. This reminder of what we've lost in terms of both usability and character in our icons inspired me to go back to this vibe with my placeholder icon for a little desktop app I've been writing for myself. The app has the working title of "BAM", and so a literal explosion of shape and colour...</summary><category term="Digital Flapjack"></category></entry><entry><title>Where on Earth is the Spatial Name System?</title><link href="https://anil.recoil.org/news/2023-hotnets-sns-1" rel="alternate"></link><published>2023-11-01T00:00:00Z</published><updated>2023-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-hotnets-sns-1</id><summary type="html">Paper on spatial networks on DNS at &lt;a href="https://dl.acm.org/doi/10.1145/3626111.3628210" target="_blank"&gt;HotNets 2023&lt;/a&gt; &lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="mailto:jon.crowcroft@cl.cam.ac.uk" target="_blank"&gt;Jon Crowcroft&lt;/a&gt; . Paper in the &lt;a href="https://dl.acm.org/doi/10.1145/3626111.3628210" target="_blank"&gt;proceedings of the 22nd ACM Workshop on Hot Topics in Networks&lt;/a&gt; . &lt;a href="https://dl.acm.org/doi/10.1145/3626111.3628210" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3626111.3628210" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-hotnets-sns.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-hotnets-sns.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Nature Climate Change paper on impermanent carbon credits</title><link href="https://anil.recoil.org/news/2023-ncc-permanence-2" rel="alternate"></link><published>2023-11-01T00:00:00Z</published><updated>2023-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-ncc-permanence-2</id><summary type="html">Our paper on valuing impermanent carbon credits has been published at &lt;a href="https://www.nature.com/articles/s41558-023-01815-0" target="_blank"&gt;Nature Climate Change&lt;/a&gt; . It has received a bunch of press coverage, including &lt;a href="https://phys.org/news/2023-10-offset-approach-tropical-forests-faith.html" target="_blank"&gt;phys.org&lt;/a&gt; , &lt;a href="https://www.cam.ac.uk/research/news/offset-markets-new-approach-could-help-save-tropical-forests-by-restoring-faith-in-carbon-credits" target="_blank"&gt;cam.ac.uk&lt;/a&gt; , and &lt;a href="https://www.miragenews.com/new-method-may-boost-trust-in-carbon-credits-1113599/" target="_blank"&gt;Mirage&lt;/a&gt; . &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , &lt;a href="https://www.lse.ac.uk/granthaminstitute/profile/frank-venmans/" target="_blank"&gt;Frank Venmans&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://business-school.exeter.ac.uk/economics/research/subject-themes/profile/index.php?web_id=ben_groom" target="_blank"&gt;Ben Groom&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; . Journal paper in &lt;a href="https://www.nature.com/articles/s41558-023-01815-0" target="_blank"&gt;Nature Climate Change&lt;/a&gt; (vol 13 issue 11). &lt;a href="https://www.nature.com/articles/s41558-023-01815-0" target="_blank"&gt;URL&lt;/a&gt; (nature.com) &lt;a href="https://doi.org/10.1038/s41558-023-01815-0" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-ncc-permanence.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-ncc-permanence.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>First preprint of LIFE biodiversity metric available</title><link href="https://anil.recoil.org/news/2024-life-1" rel="alternate"></link><published>2023-11-01T00:00:00Z</published><updated>2023-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-life-1</id><summary type="html">The first preprint on our new &lt;a href="https://anil.recoil.org/projects/life" target="_blank"&gt;LIFE&lt;/a&gt; metric for global biodiversity is now available. It is under review, so feedback would be very welcome. &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/dr-tom-ball" target="_blank"&gt;Thomas Ball&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/andy-arnell/" target="_blank"&gt;Andy Arnell&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/daniele-baisero/" target="_blank"&gt;Daniele Baisero&lt;/a&gt; , &lt;a href="https://www.cambridgeconservation.org/about/people/paz-duran/" target="_blank"&gt;América Paz Durán&lt;/a&gt; , &lt;a href="https://www.york.ac.uk/sei/staff/jonathan-green/" target="_blank"&gt;Jonathan Green&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/rhys-green" target="_blank"&gt;Rhys Green&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; . Journal paper in &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;Philosophical Transactions of the Royal Society&lt;/a&gt; (vol 380 issue 1917). &lt;a href="https://royalsocietypublishing.org/doi/10.1098/rstb.2023.0327" target="_blank"&gt;URL&lt;/a&gt; (royalsocietypublishing.org) &lt;a href="https://doi.org/10.1098/rstb.2023.0327" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-life.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-life.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 30 Oct 2023</title><link href="https://ryan.freumh.org/2023-10-30.html" rel="alternate"></link><published>2023-10-30T00:00:00Z</published><updated>2023-10-30T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-10-30.html</id><summary type="html">Previous: &lt;a href="2023-10-23.html" target="_blank"&gt;Mon 23 Oct 2023&lt;/a&gt; Next: &lt;a href="2023-11-06.html" target="_blank"&gt;Mon 6 Nov 2023&lt;/a&gt; HotNets Organised travel dates, travel, and accommodation for HotNets. I was awarded a Queens’ College Perry Travel Award to the value of £740! Met with Anil Agreed to schedule dates to visit NYC and then find a time to meet Jane Street to discuss the polyglot package management project proposal. I’m going to take the train from Boston to NYC! Anil said I’ve got to get a &lt;a href="https://en.wikipedia.org/wiki/Junior_Ranger_Program" target="_blank"&gt;Junior Ranger
···
Park in NYC&lt;/a&gt; . Anil recommended live blogging the conference on Mastodon. Talked about what a HotNets presentation could look like, and whether a live demo was feasible. Maybe I could pull AEON and Patrick’s OCaml R-Tree together into something workable. I think while very cool the APIs just aren’t there for the AR demo on a hololens. A smartphone (e.g. iPhone LIDAR)...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 23 Oct 2023</title><link href="https://ryan.freumh.org/2023-10-23.html" rel="alternate"></link><published>2023-10-23T01:00:00Z</published><updated>2023-10-23T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-10-23.html</id><summary type="html">Previous: &lt;a href="2023-10-16.html" target="_blank"&gt;Mon 16 Oct 2023&lt;/a&gt; Next: &lt;a href="2023-10-30.html" target="_blank"&gt;Mon 30 Oct 2023&lt;/a&gt; HotNets, HotNets, HotNets Don’t try and rewrite your whole paper a day before the deadline. Got it in, and need to think about travel and accomadation next. The &lt;a href="https://conferences.sigcomm.org/hotnets/2023/program.html" target="_blank"&gt;program&lt;/a&gt; has been published, and I’m on the first day at 1:15pm - 2:45pm in ‘Session 3: The architecture of the Internet, and datacenter networks’. SIGCOMM SNS Magnus and I threw some ideas around on Thurday morning. Apple’s ARKit might be something to look at in lieu of a Vision Pro. We also discussed getting some experience with iPhone’s lidar precision, how to bootstrap a connection, the issues with civic name encodings, and the necessity to get some estimation of load. Regarding an implementation, once we have a bit more of an idea of what it might look like, &lt;a href="https://github.com/RyanGibb/aeon" target="_blank"&gt;github.com/RyanGibb/aeon&lt;/a&gt; would be a good...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Cambridge Zero highlights University efforts at Climate Week NYC</title><link href="https://anil.recoil.org/notes/mission-possible" rel="alternate"></link><published>2023-10-18T01:00:00Z</published><updated>2023-10-18T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/mission-possible</id><summary type="html">I was on stage in New York for &lt;a href="https://www.cam.ac.uk/news/cambridge-zero-highlights-university-efforts-at-climate-week-nyc" target="_blank"&gt;Mission Possible&lt;/a&gt; during &lt;a href="https://www.climateweeknyc.org" target="_blank"&gt;NYC Climate Week&lt;/a&gt; . I was there with &lt;a href="https://www.cisl.cam.ac.uk/directory/emily-shuckburgh" target="_blank"&gt;Emily Shuckburgh&lt;/a&gt; and we met with a lot of Cambridge alumni who are all engaged with climate change related activities -- either directly in their careers, or through a side interest. The major highlights on the discussions with alumni centred around agency: a lot of them were wondering how to combine the evidence coming out Cambridge research and combine it with real policy action. A number of the alumni are obviously highly successful in their individual careers, and so the University helping to glue this together would potentially result in valuable actions that might not otherwise come together. This reminded me strongly of the discussions we had in Pembroke a little while back when &lt;a href="https://www.cisl.cam.ac.uk/directory/emily-shuckburgh" target="_blank"&gt;Emily Shuckburgh&lt;/a&gt; chaired my talk...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mon 16 Oct 2023</title><link href="https://ryan.freumh.org/2023-10-16.html" rel="alternate"></link><published>2023-10-16T01:00:00Z</published><updated>2023-10-16T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-10-16.html</id><summary type="html">Previous: &lt;a href="2023-10-09.html" target="_blank"&gt;Mon 9 Oct 2023&lt;/a&gt; Next: &lt;a href="2023-10-23.html" target="_blank"&gt;Mon 23 Oct 2023&lt;/a&gt; HotNets Converted the SNS paper to the ACM final format. Spent way to long figuring out how to make the paper open access. While trying to figure this out I spoke to Jon, Chris, Ardwin, Justas, Sadiq, Helen, and Mort. Mort explained the difference between the copyright, licensing publishing rights, and open access. In the end, we had to use our institutional email addresses to have the ACM’s open access policy kick in. Addressed Magnus’ comments on the paper, and fixed some citations. Pulled the discussion into the introduction. Hibernia Had an idea regarding the &lt;a href="./2023-10-09.html#energy" target="_blank"&gt;energy&lt;/a&gt; saving ‘wake-up’ device: the network infrastructure has to be running anyway, so why not push this functionality into the router, which are mostly running Linux now anyway. We...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Mon 9 Oct 2023</title><link href="https://ryan.freumh.org/2023-10-09.html" rel="alternate"></link><published>2023-10-09T01:00:00Z</published><updated>2023-10-09T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/2023-10-09.html</id><summary type="html">Next: &lt;a href="2023-10-16.html" target="_blank"&gt;Mon 16 Oct 2023&lt;/a&gt; After trying to use Obsidian, a remarkable E-ink tablet, Logseq, emacs org-mode, and plaintext files, I’m using a paper notebook research log for the upcoming academic year and hopefully beyond. I’ve tried this before without much success, but this time I plan to use it more thoughtfully. I’m also trying something new in typing up my weekly notes in a web log. So last week… Eilean I’ve had a couple of requests to get &lt;a href="https://github.com/RyanGibb/eilean-nix" target="_blank"&gt;Eilean&lt;/a&gt; into a useable state, so I’ve tested (and fixed a bunch of bugs in) it’s deployment on a fresh VM from the NixOS template provided, and added a comprehensive getting started document. Work to be done includes using ACME DNS-01 challenges to provision TLS certificates and automatically incrementing the DNS SOA serial number. Having a modular and...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Information Flow Tracking for Heterogeneous Compartmentalized Software</title><link href="https://anil.recoil.org/news/2023-raid-deluminator-1" rel="alternate"></link><published>2023-10-01T01:00:00Z</published><updated>2023-10-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-raid-deluminator-1</id><summary type="html">Paper on DIFC Deluminator interface at &lt;a href="https://dl.acm.org/doi/10.1145/3607199.3607235" target="_blank"&gt;RAID 2023&lt;/a&gt; &lt;a href="https://zatkh.github.io/" target="_blank"&gt;Zahra Tarkhani&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://dl.acm.org/doi/10.1145/3607199.3607235" target="_blank"&gt;proceedings of the 26th International Symposium on Research in Attacks, Intrusions and Defenses&lt;/a&gt; . &lt;a href="https://dl.acm.org/doi/10.1145/3607199.3607235" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3607199.3607235" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-raid-deluminator.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-raid-deluminator.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Enabling Lightweight Privilege Separation in Applications with MicroGuards</title><link href="https://anil.recoil.org/news/2023-acns-microguards-1" rel="alternate"></link><published>2023-10-01T01:00:00Z</published><updated>2023-10-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-acns-microguards-1</id><summary type="html">Paper on microgrounds memory API at &lt;a href="https://link.springer.com/chapter/10.1007/978-3-031-41181-6_31" target="_blank"&gt;ACNSW&lt;/a&gt; &lt;a href="https://zatkh.github.io/" target="_blank"&gt;Zahra Tarkhani&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://link.springer.com/10.1007/978-3-031-41181-6_31" target="_blank"&gt;applied Cryptography and Network Security Workshops&lt;/a&gt; . &lt;a href="https://link.springer.com/10.1007/978-3-031-41181-6_31" target="_blank"&gt;URL&lt;/a&gt; (link.springer.com) &lt;a href="https://doi.org/10.1007/978-3-031-41181-6_31" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-acns-microguards.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-acns-microguards.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Functional Programming for the Planet</title><link href="https://anil.recoil.org/news/981c00b5-32c0-4cac-a387-6c945dfa9934-1" rel="alternate"></link><published>2023-09-05T01:00:00Z</published><updated>2023-09-05T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/981c00b5-32c0-4cac-a387-6c945dfa9934-1</id><summary type="html">Keynoted at ICFP 2023 on Functional Programming for the Planet</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>State of the OCaml Platform 2023</title><link href="https://anil.recoil.org/news/2023-ocaml-platform-1" rel="alternate"></link><published>2023-09-01T01:00:00Z</published><updated>2023-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-ocaml-platform-1</id><summary type="html">We deliver the annual presentation about the OCaml Platform in the OCaml Workshop at ICFP 2023. This paper reflects on a decade of progress and developments within the OCaml Platform, from its inception in 2013 with the release of opam 1.0, to today where it stands as a robust toolchain for OCaml developers. We review the last three years in detail, emphasizing the advancements and innovations that have shaped the OCaml development landscape and highlighting key milestones such as the migration to Dune as the primary build system, and the development of a Language Server Protocol (LSP) server for OCaml. &lt;a href="https://github.com/tmattio" target="_blank"&gt;Thibaut Mattio&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://github.com/samoht" target="_blank"&gt;Thomas Gazagnaire&lt;/a&gt; and &lt;a href="https://github.com/dra27" target="_blank"&gt;David Allsopp&lt;/a&gt; . Paper in the &lt;a href="https://icfp23.sigplan.org/details/ocaml-2023-papers/15/State-of-the-OCaml-Platform-2023" target="_blank"&gt;proceedings of the 2023 OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://icfp23.sigplan.org/details/ocaml-2023-papers/15/State-of-the-OCaml-Platform-2023" target="_blank"&gt;URL&lt;/a&gt; (icfp23.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2023-ocaml-platform.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-ocaml-platform.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Scheduling for Reduced Tail Latencies in Highly Utilised Datacenters</title><link href="https://anil.recoil.org/ideas/murmuration" rel="alternate"></link><published>2023-09-01T01:00:00Z</published><updated>2023-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/murmuration</id><summary type="html">Scheduling for Reduced Tail Latencies in Highly Utilised Datacenters This is an idea proposed in 2023 as a Cambridge Computer Science PhD topic, and has been completed by &lt;a href="https://www.cl.cam.ac.uk/~sv440/" target="_blank"&gt;Smita Vijayakumar&lt;/a&gt; . It was co-supervised with &lt;a href="https://www.cst.cam.ac.uk/people/ek264" target="_blank"&gt;Evangelia Kalyvianaki&lt;/a&gt; . Modern datacenters have become the backbone for running diverse workloads that increas- ingly comprise data-parallel computational jobs. Due to the ease of use and diversity of resources they host there has been an exponential rise in the demand for datacenters leading to high volume of traffic. Datacenters execute thousands of jobs by scheduling billions of tasks every day. To meet these demands, datacenters providers operate their clusters at levels of high utilisation. We show that under such conditions existing scheduling designs impose large wait times on tail...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Eio 1.0 – Effects-based IO for OCaml 5</title><link href="https://anil.recoil.org/news/2023-ocaml-eio-1" rel="alternate"></link><published>2023-09-01T01:00:00Z</published><updated>2023-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-ocaml-eio-1</id><summary type="html">An update on the OCaml EIO library at the OCaml Workshop 2023 &lt;a href="https://github.com/https://roscidus.com" target="_blank"&gt;Thomas Leonard&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://github.com/haesbaert" target="_blank"&gt;Christiano Haesbaert&lt;/a&gt; , &lt;a href="https://www.lortex.org" target="_blank"&gt;Lucas Pluvinage&lt;/a&gt; , &lt;a href="https://github.com/polytypic" target="_blank"&gt;Vesa Karvonen&lt;/a&gt; , &lt;a href="https://github.com/Sudha247" target="_blank"&gt;Sudha Parimala&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; , &lt;a href="https://github.com/balat" target="_blank"&gt;Vincent Balat&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://icfp23.sigplan.org/details/ocaml-2023-papers/5/Eio-1-0-Effects-based-IO-for-OCaml-5" target="_blank"&gt;proceedings of the 2023 OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://icfp23.sigplan.org/details/ocaml-2023-papers/5/Eio-1-0-Effects-based-IO-for-OCaml-5" target="_blank"&gt;URL&lt;/a&gt; (icfp23.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2023-ocaml-eio.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-ocaml-eio.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OneDrive and NixOS</title><link href="https://mort.io/blog/nixos-onedrive/" rel="alternate"></link><published>2023-08-22T01:00:00Z</published><updated>2023-08-22T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/nixos-onedrive/</id><summary type="html">https://github.com/abraunegg/onedrive/blob/master/docs/SharePoint-Shared-Libraries.md https://github.com/NixOS/nixpkgs/pull/77734#issuecomment-575874225 FWIW I also use that package on a NixOS system (via a Nix package that can presumably be installed on other systems if you add nix as a package manager), https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNixOS%2Fnixpkgs%2Fblob%2Fmaster%2Fnixos%2Fmodules%2Fservices%2Fnetworking%2Fonedrive.nix&amp;data=05%7C02%7Crmm1002%40universityofcambridgecloud.onmicrosoft.com%7C8792d760606b4a3e80d108dcbd47b53a%7C49a50445bdfa4b79ade3547b4f3986e9%7C1%7C0%7C638593362895323916%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&amp;sdata=qPJyO0hTLRnrkbssZ0Y4cLfhaygDiEQtlQ0pwAjgMwM%3D&amp;r...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Pandas vs Efficiency</title><link href="https://digitalflapjack.com/blog/pandas-vs-efficiency/" rel="alternate"></link><published>2023-08-07T11:21:45Z</published><updated>2023-08-07T11:21:45Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/pandas-vs-efficiency/</id><summary type="html">As part of my role at the &lt;a href="https://4c.cst.cam.ac.uk" target="_blank"&gt;Cambridge Center for Carbon Credits (4C)&lt;/a&gt; , working closely with ecologists in processing of data, I've become an accidental data scientist, by which I mean instead of loading CSV files directly I now use &lt;a href="https://pandas.pydata.org" target="_blank"&gt;pandas&lt;/a&gt; . Pandas is a popular library that makes working with large arrays of data easier. Unlike &lt;a href="https://numpy.org" target="_blank"&gt;numpy&lt;/a&gt; , which is there to make it easy to process data in multidimensional arrays, pandas works one abstraction higher, giving columns names and treating the data as tabular, rather than just raw numbers. But similar to numpy, it provides nice syntax to help you work with that data without worrying about individual elements, you tend to work at that tabular level, and that makes it particularly powerful for someone who isn't a native programmer, rather someone who is a domain expert in...</summary><category term="Digital Flapjack"></category></entry><entry><title>Why using Slack is bad for GeoTIFF Rasters</title><link href="https://digitalflapjack.com/blog/slack-bad-for-gis-rasters/" rel="alternate"></link><published>2023-08-03T14:48:18Z</published><updated>2023-08-03T14:48:18Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/slack-bad-for-gis-rasters/</id><summary type="html">In the past &lt;a href="/blog/some-notes-on-processing-and-display-geospatial-data/" target="_blank"&gt;I've written about&lt;/a&gt; how &lt;a href="https://www.ogc.org/standard/geotiff/" target="_blank"&gt;GeoTIFF&lt;/a&gt; is one of the most common datas formats used for geospatial data. A GeoTIFF is just a standard TIFF image with a few extra fields on it that mean geospatial tools such as &lt;a href="https://qgis.org/en/site/" target="_blank"&gt;QGIS&lt;/a&gt; or libraries such as &lt;a href="https://gdal.org" target="_blank"&gt;GDAL&lt;/a&gt; know what geographic region this data is referring to, and what map projection system its stored relative to. For example, here is a GeoTIFF I generated showing me where in Sweden you might find moose (meese?): Perhaps I'm sufficiently excited by the notion of where the moose can be found that I want to share this with one of my colleagues via our workplace &lt;a href="https://slack.com/" target="_blank"&gt;Slack&lt;/a&gt; channel. So I drop the file in, they download it, but then they complain that the image is now all wrong: If we zoom out a bit, we find not only does the image look funny, it's...</summary><category term="Digital Flapjack"></category></entry><entry><title>Meta Properties of Financial Smart Contracts</title><link href="https://anil.recoil.org/ideas/metaproperties-for-smart-contracts" rel="alternate"></link><published>2023-08-01T01:00:00Z</published><updated>2023-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/metaproperties-for-smart-contracts</id><summary type="html">Meta Properties of Financial Smart Contracts This is an idea proposed in 2023 as a Cambridge Computer Science PhD topic, and has been completed by &lt;a href="https://derekhsorensen.com" target="_blank"&gt;Derek Sorensen&lt;/a&gt; . It was co-supervised with &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; . Financial smart contracts routinely manage billions of US dollars worth of digital assets, making bugs in smart contracts extremely costly, and are also increasingly being used in other areas of endeavour such as carbon credit tracking. Because of this, much work has been done in formal verification of smart contracts to prove a contract correct with regards to its specification. However, financial smart contracts have complicated specifications, and it is not all straightforward for humans to write one which correctly captures all of its intended high-level behaviors. To mitigate this...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Computational Models for Scientific Exploration</title><link href="https://anil.recoil.org/ideas/computational-scientific-methods" rel="alternate"></link><published>2023-08-01T01:00:00Z</published><updated>2023-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/computational-scientific-methods</id><summary type="html">Computational Models for Scientific Exploration This is an idea proposed in 2023 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . It is co-supervised with &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; . The modern scientific method has become highly computational, but computer science hasn't entirely caught up and is sometimes hindering research progress. We use climate science and ecology computation needs as a case study, we are conducting a systematic study in the sources of uncertainty in these fields. We are also designing and implementing a specification language and hermetic computation environment that empowers climate scientists and ecologists to create less ambiguous, more precise and testable scientific methodologies and results, while preserving the ability to explore...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Preprint on the social value of impermanent carbon credits</title><link href="https://anil.recoil.org/news/2023-ncc-permanence-1" rel="alternate"></link><published>2023-07-01T01:00:00Z</published><updated>2023-07-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-ncc-permanence-1</id><summary type="html">We have uploaded a preprint of our &lt;a href="https://anil.recoil.org/projects/4c" target="_blank"&gt;4C&lt;/a&gt; paper on valuing impermanent carbon credits, by using the &lt;a href="https://en.wikipedia.org/wiki/Social_cost_of_carbon" target="_blank"&gt;Social Cost of Carbon&lt;/a&gt; as a basis for a discount function into the future. Comments and feedback are most welcome. &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , &lt;a href="https://www.lse.ac.uk/granthaminstitute/profile/frank-venmans/" target="_blank"&gt;Frank Venmans&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://business-school.exeter.ac.uk/economics/research/subject-themes/profile/index.php?web_id=ben_groom" target="_blank"&gt;Ben Groom&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; . Journal paper in &lt;a href="https://www.nature.com/articles/s41558-023-01815-0" target="_blank"&gt;Nature Climate Change&lt;/a&gt; (vol 13 issue 11). &lt;a href="https://www.nature.com/articles/s41558-023-01815-0" target="_blank"&gt;URL&lt;/a&gt; (nature.com) &lt;a href="https://doi.org/10.1038/s41558-023-01815-0" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-ncc-permanence.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-ncc-permanence.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml wins the ACM Programming Language Software award</title><link href="https://anil.recoil.org/notes/acm-sigplan-award" rel="alternate"></link><published>2023-06-19T01:00:00Z</published><updated>2023-06-19T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/acm-sigplan-award</id><summary type="html">I was honoured to be included in the OCaml team that won the &lt;a href="https://www.cst.cam.ac.uk/news/acm-programming-languages-software-award-goes-ocaml-researchers" target="_blank"&gt;ACM Programming Languages Software Award for 2023&lt;/a&gt; . The Association for Computing Machinery (ACM), the world's largest association of computing professionals, today gave the 2023 SIGPLAN Award to a group of developers for their work on the functional programming language OCaml. The award was presented at the annual SIGPLAN Programming Language Design and Implementation Conference to a group of researchers and developers including our colleague Anil Madhavapeddy, Professor of Planetary Computing here. The prestigious Programming Languages Software Award is given annually "to an institution or individual(s) to recognise the development of a software system that has had a significant impact on programming language research, implementations, and tools," ACM says. --...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Developing OCaml with Nix</title><link href="https://ryan.freumh.org/ocaml-nix.html" rel="alternate"></link><published>2023-06-07T01:00:00Z</published><updated>2023-06-07T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/ocaml-nix.html</id><summary type="html">Published Wed 7 Jun 2023. Last update Wed 7 Jun 2023. Lately, I’ve been writing a significant amount of OCaml as part of my PhD. Instead of using the OCaml package manager (opam) command-line interface (CLI) for these projects, I prefer to use &lt;a href="./nix.html" target="_blank"&gt;Nix&lt;/a&gt; to provide declarative and reproducible development environments and builds. However I still want to be able to interoperate with opam’s file format and access packages from the opam repository. In this blog post we’ll walk through creating a flake.nix file to do this for a hello world project at &lt;a href="https://github.com/RyanGibb/ocaml-nix-hello" target="_blank"&gt;github.com/RyanGibb/ocaml-nix-hello&lt;/a&gt; . Our aim is to make building an OCaml project, and setting up a development environment, as simple as one command. Nix? I’ve said that Nix can provide declarative and reproducible environments and builds. Let’s break down what this...</summary><category term="ryan.freumh.org"></category></entry><entry><title>PACT Tropical Moist Forest Accreditation Methodology</title><link href="https://anil.recoil.org/news/2023-pact-tmf-1" rel="alternate"></link><published>2023-06-01T01:00:00Z</published><updated>2023-06-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-pact-tmf-1</id><summary type="html">We have just published the Tropical Moist Forest v1.0 specification, which is a detailed description of the methodology we are using for counterfactual dynamic baselines to calculate the additionality, leakage and permanence behind REDD+ projects. I explained some of the background behind this in a seminar last year. &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://www.liverpool.ac.uk/geography-and-planning/research/environmental-change/postgraduates/" target="_blank"&gt;James Hartup&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , &lt;a href="https://uk.linkedin.com/in/miranda-lam-a088561b4" target="_blank"&gt;Miranda Lam&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://www.lambdacambridge.com/robin-message" target="_blank"&gt;Robin Message&lt;/a&gt; , &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-e-ping-rau" target="_blank"&gt;E.-Ping Rau&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.plantsci.cam.ac.uk/staff/dr-charlotte-wheeler" target="_blank"&gt;Charlotte Wheeler&lt;/a&gt; and &lt;a href="https://www.zoo.cam.ac.uk/directory/abigail-williams" target="_blank"&gt;Abby Williams&lt;/a&gt; . Working paper at &lt;a href="https://www.cambridge.org/engage/coe/article-details/66b9d9345101a2ffa813e37c" target="_blank"&gt;Cambridge Open Engage&lt;/a&gt; . &lt;a href="https://www.cambridge.org/engage/coe/article-details/66b9d9345101a2ffa813e37c" target="_blank"&gt;URL&lt;/a&gt; (cambridge.org) &lt;a href="https://doi.org/10.33774/coe-2024-gvslq" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-pact-tmf.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2023-pact-tmf.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Build your own Stacks Project in 10 minutes</title><link href="https://www.forester-notes.org/jms-0052/" rel="alternate"></link><published>2023-05-14T01:00:00Z</published><updated>2023-05-14T01:00:00Z</updated><author><name>JonS</name></author><id>https://www.forester-notes.org/jms-0052/</id><summary type="html">&lt;a href="https://www.forester-notes.org/stacks-project/" target="_blank"&gt;The Stacks project&lt;/a&gt; is the most successful scientific hypertext project in history. Its goal is to lay the foundations for the theory of algebraic stacks; to facilitate its scalable and sustainable development, several important innovations have been introduced, with the tags system being the most striking. Each tag refers to a unique item (section, lemma, theorem, etc.) in order for this project to be referenceable. These tags don't change even if the item moves within the text. ( &lt;a href="https://stacks.math.columbia.edu/tags" target="_blank"&gt;Tags explained&lt;/a&gt; , &lt;a href="https://www.forester-notes.org/stacks-project/" target="_blank"&gt;The Stacks Project&lt;/a&gt; ). Many working scientists, students, and hobbyists have wished to create their own tag-based hypertext knowledge base, but the combination of tools historically required to make this happen are extremely daunting. Both the &lt;a href="https://www.forester-notes.org/stacks-project/" target="_blank"&gt;Stacks project&lt;/a&gt; and &lt;a href="https://www.forester-notes.org/kerodon/" target="_blank"&gt;Kerodon&lt;/a&gt; use a cluster of software called &lt;a href="https://www.forester-notes.org/gerby/" target="_blank"&gt;Gerby&lt;/a&gt; ,...</summary><category term="Forester Blog"></category></entry><entry><title>Credit credibility threatens forests</title><link href="https://anil.recoil.org/news/2023-carbon-credibility-1" rel="alternate"></link><published>2023-05-01T01:00:00Z</published><updated>2023-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2023-carbon-credibility-1</id><summary type="html">Our perspective in &lt;a href="https://science.org" target="_blank"&gt;Science&lt;/a&gt; magazine appeared this week on the credibility of carbon credits and its importance for tropical forest protection. Addressing global warming requires increased investment in conserving and restoring carbon-dense natural habitats. Some companies that emit carbon have turned to certified carbon credits to offset their environmental impact. However, the effectiveness of carbon credits depends on the methods used to quantify them. If carbon credits do not accurately represent their environmental benefits, relying on them could exacerbate climate change. To ensure that carbon credits are robust, the methods used to calculate them must be improved. &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , Pedro H. S. Brancalion , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://www.cccep.ac.uk/profile/ben-filewod/" target="_blank"&gt;Ben Filewod&lt;/a&gt; , &lt;a href="https://business-school.exeter.ac.uk/economics/research/subject-themes/profile/index.php?web_id=ben_groom" target="_blank"&gt;Ben Groom&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/alejandro-guizar-coutino" target="_blank"&gt;Alejandro Guizar-Coutiño&lt;/a&gt; , &lt;a href="https://www.bangor.ac.uk/staff/sens/julia-patricia-gordon-jones-010356/en" target="_blank"&gt;Julia P.G. Jones&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; ,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>WSL2 / Windows 11</title><link href="https://mort.io/blog/windows-wsl2/" rel="alternate"></link><published>2023-03-13T00:00:00Z</published><updated>2023-03-13T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/windows-wsl2/</id><summary type="html">I naively thought I could just use WSL2 on Windows on my new laptop. But it turned out this was the year of Linux on the Laptop for me. For posterity here’s the crib sheet though. wsl -- set-default-version 2 sudo apt update &amp;&amp; sudo apt upgrade - yy sudo apt install locales sudo locale-gen en_GB.UTF-8 sudo apt install - yy emacs-gtk direnv gedit git clone ./..rc-files ./scripts/install.sh Some Windows native packages using &lt;a href="https://chocolatey.org/" target="_blank"&gt;Chocolatey&lt;/a&gt; choco install signal skype wire slack zoom choco install git choco install rustup.install rust-analyzer python choco install docker choco install powertyos dropbox googledrive wiztree However, choco install texlive didn’t work so well, so I fell back to WSL2: sudo apt install latexmk texlive-latex-base texlive-xetex ttf-mscorefonts-installer . Use MS...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Leveraging Scientific Innovation and AI to Scale Carbon Markets</title><link href="https://anil.recoil.org/news/ce64a918-ff52-4116-b1ee-256f08e6e7f1-1" rel="alternate"></link><published>2023-03-07T00:00:00Z</published><updated>2023-03-07T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/ce64a918-ff52-4116-b1ee-256f08e6e7f1-1</id><summary type="html">Discussion with Mantle Labs about carbon credits</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>A Case for Planetary Computing</title><link href="https://anil.recoil.org/news/2024-planetary-computing-1" rel="alternate"></link><published>2023-03-01T00:00:00Z</published><updated>2023-03-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2024-planetary-computing-1</id><summary type="html">Preprint of planetary computing paper &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://mynameismwd.org" target="_blank"&gt;Michael Dales&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://ameliaholcomb.github.io" target="_blank"&gt;Amelia Holcomb&lt;/a&gt; , &lt;a href="https://www.cst.cam.ac.uk/people/eft20" target="_blank"&gt;Eleanor Toye Scott&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , &lt;a href="https://www.conservation.cam.ac.uk/staff/dr-alison-eyres" target="_blank"&gt;Alison Eyres&lt;/a&gt; , &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/2303.04501" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2303.04501" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2303.04501" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2024-planetary-computing.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml operators</title><link href="https://mort.io/blog/ocaml-operators/" rel="alternate"></link><published>2023-02-26T00:00:00Z</published><updated>2023-02-26T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/ocaml-operators/</id><summary type="html">An &lt;a href="https://www.brendanlong.com/ocaml-operator-cheatsheet.html" target="_blank"&gt;OCaml operator
cheatsheet&lt;/a&gt; for &lt;a href="https://ocaml.org/" target="_blank"&gt;OCaml&lt;/a&gt; operators that I have found useful.</summary><category term="mort’s mythopœia"></category></entry><entry><title>Software folklore</title><link href="https://mort.io/blog/software-folklore/" rel="alternate"></link><published>2023-02-26T00:00:00Z</published><updated>2023-02-26T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/software-folklore/</id><summary type="html">Truly cursed bugs that have become &lt;a href="http://beza1e1.tuxen.de/lore/" target="_blank"&gt;software
folklore&lt;/a&gt; .</summary><category term="mort’s mythopœia"></category></entry><entry><title>Species distribution modelling using CNNs</title><link href="https://anil.recoil.org/ideas/sdms-with-cnns" rel="alternate"></link><published>2023-02-01T00:00:00Z</published><updated>2023-02-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/sdms-with-cnns</id><summary type="html">Species distribution modelling using CNNs This is an idea proposed in 2023 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://github.com/emorris7" target="_blank"&gt;Emily Morris&lt;/a&gt; . It was co-supervised with &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; . The goal of this project is to compare the performance of &lt;a href="https://biodiversityinformatics.amnh.org/open_source/maxent/" target="_blank"&gt;MaxEnt&lt;/a&gt; techniques to the performance of a CNN model for the task of species distribution modeling. The CNN model will use remote sensing data as part of the input features. The remote sensing data we plan on using is a combination of LULC data (e.g. Dynamic World) and satellite imagery (Planet/Landsat 8/Sentinel 2). We will also use more classical environmental variables from WorldClim and soil data. To evaluate it, we will focus on &lt;a href="https://en.wikipedia.org/wiki/Protea" target="_blank"&gt;proteas&lt;/a&gt; for the species distribution modeling task. We have two observation data...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>How to update a Tezos Smart-Contract</title><link href="https://digitalflapjack.com/blog/tezos-contract-upgrades/" rel="alternate"></link><published>2023-01-25T11:28:59Z</published><updated>2023-01-25T11:28:59Z</updated><author><name>MichaelD</name></author><id>https://digitalflapjack.com/blog/tezos-contract-upgrades/</id><summary type="html">How to update a Smart-Contract The &lt;a href="https://4c.cst.cam.ac.uk" target="_blank"&gt;Cambridge Center for Carbon Credits&lt;/a&gt; (4C) has been looking at using a distributed ledger, aka blockchain, to make a public, immutable, verifiable store of information about carbon-offsets as a way of providing traceability into the validity of that offset. Whilst blockchains are not my domain of expertise, I was tasked earlier this year with getting the project's smart contract ready for production, being the experienced generalist software-engineer on the team. I've &lt;a href="https://digitalflapjack.com/blog/getting-started-with-tezos/" target="_blank"&gt;previously written up&lt;/a&gt; some of the trials of getting started with the Tezos blockchain platform from a software-engineering perspective, and this post is more of the same, but focussed on one particular area: how do you ship updates to your smart-contract once you've shipped it? The problem is this: any bit of software evolves...</summary><category term="Digital Flapjack"></category></entry><entry><title>Bibliography Management</title><link href="https://ryan.freumh.org/bibliography-management.html" rel="alternate"></link><published>2023-01-17T00:00:00Z</published><updated>2023-01-17T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/bibliography-management.html</id><summary type="html">Published Tue 17 Jan 2023. Last update Wed 7 Jun 2023. I recently received a request to outline my process for managing bibliographies. Here’s a breakdown of my approach. Bibliography Generation I &lt;a href="https://git.freumh.org/ryan/nixos/src/commit/19e643e3117d8d83dc86e5cf7a7cecc668f68a49/modules/personal/gui/extra.nix#L12" target="_blank"&gt;use&lt;/a&gt; the &lt;a href="https://www.zotero.org/" target="_blank"&gt;Zotero&lt;/a&gt; application as a reference manager. The Zotero Firefox &lt;a href="https://www.zotero.org/download/connectors" target="_blank"&gt;connector&lt;/a&gt; &lt;a href="#fn1" target="_blank"&gt;1&lt;/a&gt; lets me add papers from URLs. Zotero is quite smart about grabbing the metadata from the URL or PDF itself. The view I have from Zotero is: While Zotero is great for storing local copies of papers and generating bibliographies, I don’t find it to be optimal for organisation and note-taking. Instead, I use the &lt;a href="https://retorque.re/zotero-better-bibtex/" target="_blank"&gt;Zotero Better
+
Bibtex&lt;/a&gt; plugin to export all the items in my library &lt;a href="#fn2" target="_blank"&gt;2&lt;/a&gt; into a &lt;a href="https://ctan.org/pkg/biblatex" target="_blank"&gt;BibLaTeX&lt;/a&gt; file that I reference items in with another application. Note-taking I’m using &lt;a href="https://obsidian.md/" target="_blank"&gt;Obsidian&lt;/a&gt; as a...</summary><category term="ryan.freumh.org"></category></entry><entry><title>OCaml.org: recapping 2022 and queries on the Fediverse</title><link href="https://anil.recoil.org/notes/recapping-ocaml-22" rel="alternate"></link><published>2023-01-02T00:00:00Z</published><updated>2023-01-02T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/recapping-ocaml-22</id><summary type="html">I recap the OCaml community progress in 2022, which covers a number of bases ranging from the release of OCaml 5.0, the launch of a new website with integrated documentation for 20000+ packages, prototyping new developer workflows that are better integrated into editors, and the launch of ActivityPub based services such as &lt;a href="https://watch.ocaml.org" target="_blank"&gt;https://watch.ocaml.org&lt;/a&gt; .</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>The role of urban vegetation in human health</title><link href="https://anil.recoil.org/ideas/urban-vegetation" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/urban-vegetation</id><summary type="html">The role of urban vegetation in human health This is an idea proposed in 2023 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://ancazugo.github.io/" target="_blank"&gt;Andres Zuñiga-Gonzalez&lt;/a&gt; . It is co-supervised with &lt;a href="https://www.arct.cam.ac.uk/people/dr-ronita-bardhan" target="_blank"&gt;Ronita Bardhan&lt;/a&gt; . Cities around the globe have experienced unprecedented growth in recent years, becoming centres of economic, cultural, and social hubs for human activity. Rapid urbanisation has transformed the physical landscape and significantly altered local climates, with predictions stating that cities will harbour more than 70% of the population by the middle of the 21st century. This has also changed the climatic variables to which humans are most directly exposed. Combining global climatic changes with localised human activities has created new challenges that cities must solve to be...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Reverse emulating agent-based models for policy simulation</title><link href="https://anil.recoil.org/ideas/rev-abm" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/rev-abm</id><summary type="html">Reverse emulating agent-based models for policy simulation This is an idea proposed in 2023 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://www.linkedin.com/in/pedro-marques-sousa/" target="_blank"&gt;Pedro Sousa&lt;/a&gt; . It was co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . Governments increasingly rely on simulation tools to inform policy design. Agent-based models (ABMs) simulate complex systems to study the emergent phenomena of individual behaviours and interactions in agent populations. However, these ABMs force an iterative, time-consuming, unmethodical parameter tuning of key policy "levers" (or input parameters) to steer the model towards the envisioned outcomes. To unlock a more natural workflow, this project investigates reverse emulation , a novel approach that streamlines policy design using probabilistic machine learning...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Remote Sensing of Nature</title><link href="https://anil.recoil.org/projects/rsn" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/projects/rsn</id><summary type="html">Remote Sensing of Nature Measuring the world's forest carbon and biodiversity is made possible by remote sensing instruments, ranging from satellites in space (Landsat, Sentinel, GEDI) to ground-based sensors (ecoacoustics, camera traps, moisture sensors) that take regular samples and are processed into time-series metrics and actionable insights for conservation and human development. However, the algorithms for processing this data are challenging as the data is highly multimodal (multispectral, hyperspectral, synthetic aperture radar, or lidar), often sparsely sampled spatially, and not in a continuous time series. I work on various algorithms and software and hardware systems we are developing to improve the datasets we have about the surface of the earth. Mapping nature on earth...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Mapping LIFE on Earth</title><link href="https://anil.recoil.org/projects/life" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/projects/life</id><summary type="html">Mapping LIFE on Earth Human-driven habitat loss is recognised as the greatest cause of biodiversity loss, but we lack robust, spatially explicit metrics quantifying the impacts of anthropogenic changes in habitat extent on species' extinctions. LIFE is our new metric that uses a persistence score approach that combines ecologies and land-cover data whilst considering the cumulative non-linear impact of past habitat loss on species' probability of extinction. We apply large-scale computing to map ~30k species of terrestrial vertebrates and provide quantitative estimates of the marginal changes in the expected number of extinctions caused by converting remaining natural vegetation to agriculture, and also by restoring farmland to natural habitat. We are also investigating many of the...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Interspatial Networking with DNS</title><link href="https://anil.recoil.org/ideas/interspatial-networking" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/interspatial-networking</id><summary type="html">Interspatial Networking with DNS This is an idea proposed in 2023 as a Cambridge Computer Science PhD topic, and is currently being worked on by &lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; . It is co-supervised with &lt;a href="mailto:jon.crowcroft@cl.cam.ac.uk" target="_blank"&gt;Jon Crowcroft&lt;/a&gt; . The existing Internet architecture lacks support for naming locations and resolving them to the myriad addressing mechanisms we use beyond IP. While there have been many advances in addressing locations via multiple routing schemes , it remains difficult to refer to location-based services via logical names . This in turn makes it difficult to deploy network services that can be referred to by a stable name that specifies a given location, and that resolves to the addresses of the devices in that space. This matters because there are a broad class of network-connected devices with a physical...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Improving Resilience of ActivityPub Services</title><link href="https://anil.recoil.org/ideas/activitypub-resilience" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/activitypub-resilience</id><summary type="html">Improving Resilience of ActivityPub Services This is an idea proposed in 2023 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Gediminas Lelešius&lt;/a&gt; . The original goal of the project was to improve the resilience of the distributed social networking protocol "ActivityPub", by caching the content on multiple instances and serving them in case the origin instance goes down. The project uses public-key cryptography to ensure data integrity, build a network of public key servers and verifiers and use that consensus instead of relying on individual servers to provide trustworthy data. The core deliverable is a key server gathering and serving public keys, a verifier checking the entries of that server, and a modified Mastodon server rescuing failed ActivityPub requests using an...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Assessing high-performance lightweight compression formats for geospatial computation</title><link href="https://anil.recoil.org/ideas/compressive-geospatial" rel="alternate"></link><published>2023-01-01T00:00:00Z</published><updated>2023-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/compressive-geospatial</id><summary type="html">Assessing high-performance lightweight compression formats for geospatial computation This is an idea proposed in 2023 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://github.com/omarathon" target="_blank"&gt;Omar Tanner&lt;/a&gt; . It was co-supervised with &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; . Geospatial data processing can benefit from by applying lightweight compression techniques to data in GeoTIFF format, addressing the challenge of modern CPU bandwidth surpassing RAM bandwidths. This project will explore how to mitigate the impact of poor cache locality and the resulting memory bottlenecks by leveraging CPU superscalar capabilities and SIMD instructions. By implementing SIMD-optimised compression, data can remain compressed in RAM and closer to the CPU caches, facilitating faster access and alleviating memory constraints....</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Hacking on the Remarkable 2</title><link href="https://ryan.freumh.org/remarkable2.html" rel="alternate"></link><published>2022-12-17T00:00:00Z</published><updated>2022-12-17T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/remarkable2.html</id><summary type="html">Published Sat 17 Dec 2022. Last update Wed 7 Jun 2023. I’ve recently had the good fortune to come into possession of a &lt;a href="https://remarkable.com/store/remarkable-2" target="_blank"&gt;reMarkable 2&lt;/a&gt; E-Ink writing tablet. This device runs a modified version of Linux, and contains the following message in the copyrights and licenses information: GPLv3 Compliance The General Public License version 3 and the Lesser General Public License version 3 also requires you as an end-user to be able to access your device to be able to modify the copyrighted software licensed under these licenses running on it. To do so, this device acts as an USB ethernet device, and you can connect using the SSH protocol using the username ‘root’ and the password ‘&lt;password&gt;’. As a result of this, there is a vibrant community of hacking for the remarkable. This blog post will walk...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Nix</title><link href="https://ryan.freumh.org/nix.html" rel="alternate"></link><published>2022-12-14T00:00:00Z</published><updated>2022-12-14T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/nix.html</id><summary type="html">Published Wed 14 Dec 2022. Last update Mon 3 Feb 2025. Tags: &lt;a href="/technology.html" target="_blank"&gt;technology&lt;/a&gt; . Nix snowflake &lt;a href="#fn1" target="_blank"&gt;1&lt;/a&gt; Nix is a deployment system that uses cryptographic hashes to compute unique paths for components &lt;a href="#fn2" target="_blank"&gt;2&lt;/a&gt; that are stored in a read-only directory: the Nix store, at /nix/store/&lt;hash&gt;-&lt;name&gt; . This provides several benefits, including concurrent installation of multiple versions of a package, atomic upgrades, and multiple user environments &lt;a href="#ref-dolstraNixSafePolicyFree2004" target="_blank"&gt;[1]&lt;/a&gt; . Nix uses a declarative domain-specific language (DSL), also called Nix, to build and configure software. The snippet used to deploy the DNS server is in fact a Nix expression. This example doesn’t demonstrate it, but Nix is Turing complete. Nix does not, however, have a type system. We use the DSL to write derivations for software, which...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Hillingar: MirageOS Unikernels on NixOS</title><link href="https://ryan.freumh.org/hillingar.html" rel="alternate"></link><published>2022-12-14T00:00:00Z</published><updated>2022-12-14T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/hillingar.html</id><summary type="html">Published Wed 14 Dec 2022. Last update Mon 3 Feb 2025. Tags: &lt;a href="/projects.html" target="_blank"&gt;projects&lt;/a&gt; . A version of this blog post can be found on the Tarides website: &lt;a href="https://tarides.com/blog/2022-12-14-hillingar-mirageos-unikernels-on-nixos" target="_blank"&gt;https://tarides.com/blog/2022-12-14-hillingar-mirageos-unikernels-on-nixos&lt;/a&gt; . An arctic mirage &lt;a href="#ref-lehnNovayaZemlyaEffect1979" target="_blank"&gt;[1]&lt;/a&gt; &lt;a href="#fn1" target="_blank"&gt;1&lt;/a&gt; Introduction The Domain Name System (DNS) is a critical component of the modern Internet, allowing domain names to be mapped to IP addresses, mailservers, and more &lt;a href="#fn2" target="_blank"&gt;2&lt;/a&gt; . This allows users to access services independent of their location in the Internet using human-readable names. We can host a DNS server ourselves to have authoritative control over our domain, protect the privacy of those using our server, increase reliability by not relying on a third party DNS provider, and allow greater customization of the records served (or the behaviour of the server itself). However, it can be quite...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Financing Forests: A Credible Approach towards Halting Tropical Deforestation</title><link href="https://anil.recoil.org/news/bc9da6fc-9419-4f18-9db9-c13b1a4a859f-1" rel="alternate"></link><published>2022-11-16T00:00:00Z</published><updated>2022-11-16T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/bc9da6fc-9419-4f18-9db9-c13b1a4a859f-1</id><summary type="html">Wednesday seminar on financing forests using carbon credits</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>17th William Pitt Seminar - Who's in Charge?</title><link href="https://anil.recoil.org/news/a26475b5-c169-478e-b88e-be5cd1f2aff8-1" rel="alternate"></link><published>2022-11-01T00:00:00Z</published><updated>2022-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/a26475b5-c169-478e-b88e-be5cd1f2aff8-1</id><summary type="html">I opened the 17th William Pitt Seminar at Pembroke College on climate change with a brief talk about the status of the world's biodiversity, and how we have more agency than ever before to take matters into our own hands.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Verifying distributed systems with Isabelle/HOL</title><link href="http://martin.kleppmann.com/2022/10/12/verifying-distributed-systems-isabelle.html" rel="alternate"></link><published>2022-10-12T01:00:00Z</published><updated>2022-10-12T01:00:00Z</updated><author><name>MartinK</name></author><id>http://martin.kleppmann.com/2022/10/12/verifying-distributed-systems-isabelle.html</id><summary type="html">This post also appears on &lt;a href="https://lawrencecpaulson.github.io/2022/10/12/verifying-distributed-systems-isabelle.html" target="_blank"&gt;Larry Paulson’s blog&lt;/a&gt; . We use distributed systems every day in the form of internet services. These systems are very useful, but also challenging to implement because networks are unpredictable. Whenever you send a message over the network, it is likely to arrive quite quickly, but it’s possible that it might be delayed for a long time, or never arrive, or arrive several times. When you send a request to another process and don’t receive a response, you have no idea what happened: was the request lost, or has the other process crashed, or was the response lost? Or maybe nothing was lost at all, but a message has simply been delayed and may yet arrive. There is no way of knowing what happened, because unreliable message-passing is the only way how processes can communicate....</summary><category term="Martin Kleppmann's blog"></category></entry><entry><title>The 2nd ed of Real World OCaml is available in shops</title><link href="https://anil.recoil.org/news/rwo-2" rel="alternate"></link><published>2022-10-01T01:00:00Z</published><updated>2022-10-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/rwo-2</id><summary type="html">I'm delighted to report that the second edition of &lt;a href="https://realworldocaml.org" target="_blank"&gt;Real World OCaml&lt;/a&gt; is now available from Cambridge University Press! It's also freely available &lt;a href="https://realworldocaml.org" target="_blank"&gt;online&lt;/a&gt; , and CUP also kindly agreed that the PDF version could be freely available online thanks to sponsorship from &lt;a href="https://tarides.com" target="_blank"&gt;Tarides&lt;/a&gt; . [… &lt;a href="https://anil.recoil.org/news/rwo-2" target="_blank"&gt;105 words&lt;/a&gt; ] &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://github.com/yminsky" target="_blank"&gt;Yaron Minsky&lt;/a&gt; . Book published by &lt;a href="https://www.cambridge.org/core/books/real-world-ocaml-functional-programming-for-the-masses/052E4BCCB09D56A0FE875DD81B1ED571" target="_blank"&gt;Cambridge University Press&lt;/a&gt; . &lt;a href="https://www.cambridge.org/core/books/real-world-ocaml-functional-programming-for-the-masses/052E4BCCB09D56A0FE875DD81B1ED571" target="_blank"&gt;URL&lt;/a&gt; (cambridge.org) &lt;a href="https://doi.org/10.1017/9781009129220" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/rwo.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Homogeneous Builds with OBuilder and OCaml</title><link href="https://anil.recoil.org/news/2022-oud-ocurrent-1" rel="alternate"></link><published>2022-09-01T01:00:00Z</published><updated>2022-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2022-oud-ocurrent-1</id><summary type="html">Paper on our incremental computation DSL ocurrent presented in OCaml Workshop 2022 Tim McGilchrist , &lt;a href="https://github.com/dra27" target="_blank"&gt;David Allsopp&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://github.com/MisterDA" target="_blank"&gt;Antonin Décimo&lt;/a&gt; , &lt;a href="https://github.com/https://roscidus.com" target="_blank"&gt;Thomas Leonard&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://github.com/kit-ty-kate" target="_blank"&gt;Kate Deplaix&lt;/a&gt; . Paper in the &lt;a href="https://icfp22.sigplan.org/details/ocaml-2022-papers/8/Homogeneous-builds-with-OBuilder-and-OCaml" target="_blank"&gt;proceedings of the 2022 OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://icfp22.sigplan.org/details/ocaml-2022-papers/8/Homogeneous-builds-with-OBuilder-and-OCaml" target="_blank"&gt;URL&lt;/a&gt; (icfp22.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2022-oud-ocurrent.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Nim</title><link href="https://ryan.freumh.org/nim.html" rel="alternate"></link><published>2022-08-30T01:00:00Z</published><updated>2022-08-30T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/nim.html</id><summary type="html">Published Tue 30 Aug 2022. Last update Tue 30 Aug 2022. Tags: &lt;a href="/projects.html" target="_blank"&gt;projects&lt;/a&gt; . I recently had the good fortune to attended a talk by Simon Peyton Jones titled “Immutability changes everything: 40 years of functional programming” which chronologic Simon’s life and research career. Simon is a self-described one trick pony, where that trick is functional programming. However, this trick has taken him from being a major instigator in Haskell - he remains a lead developer of the Glasgow Haskell Compiler to this day - to Microsoft research, and more recently to Epic Games working on a new programming language dubbed ‘ &lt;a href="https://discourse.haskell.org/t/an-epic-future-for-spj/3573" target="_blank"&gt;Verse&lt;/a&gt; ’. In this talk Simon described how he first got interested in Computer Science through a problem posed to him: the game Nim. &lt;a href="#fn1" target="_blank"&gt;1&lt;/a&gt; The game Picture the scene: you and...</summary><category term="ryan.freumh.org"></category></entry><entry><title>A DSL for decentralised identity in OCaml</title><link href="https://anil.recoil.org/ideas/dsl-for-decentralised-id" rel="alternate"></link><published>2022-08-01T01:00:00Z</published><updated>2022-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/dsl-for-decentralised-id</id><summary type="html">A DSL for decentralised identity in OCaml This is an idea proposed in 2022 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://www.linkedin.com/in/michal-mgeladze-arciuch" target="_blank"&gt;Michał Mgeładze-Arciuch&lt;/a&gt; . It was co-supervised with &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; . There are currently multiple identity providers without direct incentives to cooperate. This leads to many redundant implementations of the identity handling logic, many of which are not immediately compatible with each other, leading to additional increases in friction when eventual agreement needs to be reached to perform user actions. Furthermore, from the perspective of the user of the identity service, they need to keep track of identity documents from multiple sources, which leads to more security attack surface. Solving the problem of partial identity proofs allows for many possible...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Trusted Carbon Credits</title><link href="https://anil.recoil.org/news/4c-1" rel="alternate"></link><published>2022-05-06T01:00:00Z</published><updated>2022-05-06T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/4c-1</id><summary type="html">With the recent controversies over low-integrity carbon credits, I spoke to Vox magazine about my skepticism about Adam Neumann's new startup. "The problem with the current markets is nothing to do with how we can trade these more effectively," said Anil Madhavapeddy, who is an associate professor of computer science and technology at Cambridge University and the director of the Cambridge Center for Carbon Credits. "We just do not have enough supply." -- &lt;a href="https://www.vox.com/recode/23142106/adam-neumann-crypto-carbon-credit-offset-flowcarbon" target="_blank"&gt;Vox&lt;/a&gt; The Cambridge Centre for Carbon Credits is an initiative I started with &lt;a href="https://www.zoo.cam.ac.uk/directory/andrew-balmford" target="_blank"&gt;Andrew Balmford&lt;/a&gt; , &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and &lt;a href="https://www.conservation.cam.ac.uk/directory/dr-tom-swinfield" target="_blank"&gt;Thomas Swinfield&lt;/a&gt; , aimed at issuing trusted and verifiable carbon credits towards the prevention of nature destruction due to anthropogenic actions. We researched a combination of large-scale data processing (satellite and...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Secure Programming with Dispersed Compartments</title><link href="https://anil.recoil.org/ideas/dispersed-compartments" rel="alternate"></link><published>2022-05-01T01:00:00Z</published><updated>2022-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/dispersed-compartments</id><summary type="html">Secure Programming with Dispersed Compartments This is an idea proposed in 2022 as a Cambridge Computer Science PhD topic, and has been completed by &lt;a href="https://zatkh.github.io/" target="_blank"&gt;Zahra Tarkhani&lt;/a&gt; . This PhD project proposes novel approaches and mechanisms for application compartmentalization and isolation to reduce their ever-growing attack surfaces. Our approach is motivated by the key observation that while hardware vendors compete to provide security features (notably memory safety and privilege separation) existing systems software like commodity OSs fail to utilize such features to improve application security and privacy properly. We propose a novel principled approach to privilege separation and isolation, enabling application security to be designed and enforced within and across different isolation boundaries, and...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml Multicore Monthly: heading towards OCaml 5.0</title><link href="https://anil.recoil.org/notes/multicore-monthly-mar22" rel="alternate"></link><published>2022-04-19T01:00:00Z</published><updated>2022-04-19T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-mar22</id><summary type="html">We're getting closer to a stable release of OCaml 5.0, including reenabling support for the BSDs and introducing ARM64 multicore support.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Virtual and Augmented Reality</title><link href="https://ryan.freumh.org/vr-ar.html" rel="alternate"></link><published>2022-04-18T01:00:00Z</published><updated>2022-04-18T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/vr-ar.html</id><summary type="html">Published Mon 18 Apr 2022. Last update Tue 19 Apr 2022. I’ve been interested in virtual reality (VR) and augmented reality (AR) recently as the use case for the system(s) I’m working on in my MPhil project. This blog post will cover my development experience in porting my &lt;a href="../cubes/" target="_blank"&gt;cubes&lt;/a&gt; game to both VR and AR, and give a small demo for the latter. Microsoft Windows was used for ease of development with &lt;a href="https://unity.com/" target="_blank"&gt;Unity&lt;/a&gt; and as it’s a hard requirement for the AR headset made by Microsoft. VR The &lt;a href="https://www.oculus.com/quest-2/" target="_blank"&gt;Oculus Quest 2&lt;/a&gt; from Meta (formally Facebook) is a VR headset running an Android derivative. This means you can do cool stuff like run &lt;a href="https://www.reddit.com/r/cyberDeck/comments/fc5sfr/oculus_quest_termux_selfcontained_hmd_cyberdeck/" target="_blank"&gt;Termux&lt;/a&gt; on it (an Android terminal emulator and unvirtualised Linux environment). It’s nowhere near as flexible as something like what &lt;a href="https://simulavr.com/" target="_blank"&gt;SimulaVR&lt;/a&gt; are doing, which features a...</summary><category term="ryan.freumh.org"></category></entry><entry><title>OCaml Multicore Monthly: post merge activites</title><link href="https://anil.recoil.org/notes/multicore-monthly-jan22" rel="alternate"></link><published>2022-02-09T00:00:00Z</published><updated>2022-02-09T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-jan22</id><summary type="html">After we got the massive OCaml 5.0 pull request merged, we've taken some time to consolidate the trunk branch of OCaml and start down the release path towards getting OCaml 5.0 out of the door.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>DNS LOC</title><link href="https://ryan.freumh.org/dns-loc-rr.html" rel="alternate"></link><published>2022-01-18T00:00:00Z</published><updated>2022-01-18T00:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/dns-loc-rr.html</id><summary type="html">Published Tue 18 Jan 2022. Last update Sat 21 May 2022. The Domain Name System (DNS) has a little known ‘LOC’ resouce record (RR) defined in 1996 for encoding location information purportedly for hosts, networks, and subnets[0]. It encodes: Latitude Longitude Altitude Size of the referenced sphere Horizontal and vertical precision A number of suggested uses are proposed in the RFC: USENET - a distributed discussion system now ecplised by the World Wide Web - geographic flow maps. A ‘visual traceroute’ application showing geographical flow of IP packet, presumably relying on router responding to both IP TTL timeouts and DNS LOC requests. Network management based using LOC RRs to map hosts and routers. RFC-1876 also describes algorithms for resolving locations for domain names or IP...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Book Review: The Future of Fusion Energy</title><link href="http://martin.kleppmann.com/2022/01/03/future-of-fusion-energy.html" rel="alternate"></link><published>2022-01-03T00:00:00Z</published><updated>2022-01-03T00:00:00Z</updated><author><name>MartinK</name></author><id>http://martin.kleppmann.com/2022/01/03/future-of-fusion-energy.html</id><summary type="html">I give a five-star ⭐️⭐️⭐️⭐️⭐️ rating to the following book: Jason Parisi and Justin Ball. The Future of Fusion Energy . World Scientific, 2019. ISBN 978-1-78634-749-7. Available from &lt;a href="https://amzn.to/3sUypW6" target="_blank"&gt;Amazon US&lt;/a&gt; , &lt;a href="https://amzn.to/3eHCpkB" target="_blank"&gt;Amazon UK&lt;/a&gt; , and many other retailers. I came to this book looking for answers to questions such as: Is there still hope that a fusion power plant will ever be viable? If so, what exactly are the main obstacles on the way there? Why has progress in this field been so slow? And what should I make of the various startups claiming to have a fusion power plant just round the corner? The book provides an excellent, detailed answer to these questions, and more. It’s the best kind of popular science book: you don’t need a physics degree to read it, but it doesn’t fob you off with oversimplified...</summary><category term="Martin Kleppmann's blog"></category></entry><entry><title>Using effect handlers for efficient parallel scheduling</title><link href="https://anil.recoil.org/ideas/parallel-scheduling-with-effects" rel="alternate"></link><published>2022-01-01T00:00:00Z</published><updated>2022-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/parallel-scheduling-with-effects</id><summary type="html">Using effect handlers for efficient parallel scheduling This is an idea proposed in 2022 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://github.com/bartoszmodelski" target="_blank"&gt;Bartosz Modelski&lt;/a&gt; . Modern hardware is so parallel and workloads are so concurrent, that there is no single, perfect scheduling strategy across a complex application software stack. Therefore, there are significant performance advantages to be gained from customizing and composing schedulers. Multicore parallelism is here to stay, and in contrast with clock frequency increases, schedulers have to be carefully crafted in order to take full advantage of horizontal scaling of the underlying architecture. That’s because designs need to evolve as synchronization primitives such as locks or atomics do not scale endlessly to many...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Spatial Name System</title><link href="https://anil.recoil.org/ideas/sns" rel="alternate"></link><published>2022-01-01T00:00:00Z</published><updated>2022-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/sns</id><summary type="html">Spatial Name System This is an idea proposed in 2022 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://ryan.freumh.org" target="_blank"&gt;Ryan Gibb&lt;/a&gt; . It was co-supervised with &lt;a href="mailto:jon.crowcroft@cl.cam.ac.uk" target="_blank"&gt;Jon Crowcroft&lt;/a&gt; . The development of emerging classes of hardware such as Internet of Thing devices and Augmented Reality headsets has outpaced the development of Internet infrastructure. We identify problems with latency, security and privacy in the global hierarchical distributed Domain Name System. To remedy this, we propose the Spatial Name System, an alternative network architecture that relies on the innate physicality of this paradigm. Utilizing a device’s pre-existing unique identifier, its location, allows us to identify devices locally based on their physical presence. A naming system tailored to the physical...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Scalable agent-based models for optimized policy design</title><link href="https://anil.recoil.org/ideas/differentiable-abm" rel="alternate"></link><published>2022-01-01T00:00:00Z</published><updated>2022-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/differentiable-abm</id><summary type="html">Scalable agent-based models for optimized policy design This is an idea proposed in 2022 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Sharan Agrawal&lt;/a&gt; . It was co-supervised with &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; . As the world faces twinned crises of climate change and biodiversity loss, the need for integrated policy approaches addressing both is paramount. To help address this, this project investigates a new agent-based model dubbed the VDSK-B. Using Dasgupta's &lt;a href="https://www.gov.uk/government/publications/final-report-the-economics-of-biodiversity-the-dasgupta-review" target="_blank"&gt;review of the economics of biodiversity&lt;/a&gt; , it builds on the &lt;a href="https://www.sciencedirect.com/science/article/pii/S0921800917314623" target="_blank"&gt;Dystopian Schumpeter meets Keynes&lt;/a&gt; (DSK) climate economics model to link together the climate, economy and biosphere. This is the first ABM proposed that integrates all 3 key elements. The project also investigates how to scale such ABMs to be applicable for global policy design and scale to planetary-sized...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Planetary Computing</title><link href="https://anil.recoil.org/projects/plancomp" rel="alternate"></link><published>2022-01-01T00:00:00Z</published><updated>2022-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/projects/plancomp</id><summary type="html">Planetary Computing Planetary computing is our research into the systems required to handle the ingestion, transformation, analysis and publication of global data products for furthering environmental science and enabling better informed policy-making. We apply computer science to problem domains such as forest carbon and biodiversity preservation, and design solutions that can scalably processing geospatial data that build trust in the results via traceability and reproducibility. Key problems include how to handle continuously changing datasets that are often collected across decades and require careful access and version control. "Planetary computing" originated as a term back in 2020 when a merry band of us from Computer Science ( &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and me, later joined by &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; ,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Enhancing the Security &amp; Privacy of Wearable Brain-Computer Interfaces</title><link href="https://anil.recoil.org/news/2022-enhancing-brain-security-1" rel="alternate"></link><published>2022-01-01T00:00:00Z</published><updated>2022-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2022-enhancing-brain-security-1</id><summary type="html">Preprint on security vulnerabilities in brain-computer interfaces &lt;a href="https://zatkh.github.io/" target="_blank"&gt;Zahra Tarkhani&lt;/a&gt; , &lt;a href="https://lorenaqendro.github.io" target="_blank"&gt;Lorena Qendro&lt;/a&gt; , Malachy O'Connor Brown , Oscar Hill , &lt;a href="https://www.cl.cam.ac.uk/~cm542/" target="_blank"&gt;Cecilia Mascolo&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/2201.07711" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2201.07711" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2201.07711" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2022-enhancing-brain-security.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2022-enhancing-brain-security.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Decentralised Capability-based Code Collaboration using Matrix</title><link href="https://anil.recoil.org/ideas/version-control-matrix" rel="alternate"></link><published>2022-01-01T00:00:00Z</published><updated>2022-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/version-control-matrix</id><summary type="html">Decentralised Capability-based Code Collaboration using Matrix This is an idea proposed in 2022 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://bsky.app/profile/wedg.dev" target="_blank"&gt;Samuel Wedgwood&lt;/a&gt; . In 2005, due to licensing disputes, the team behind Linux parted ways with their proprietary source management tool BitKeeper, and needed a new solution. This prompted the development of Git, an open-source decentralised version control system (DVCS), which was soon used to manage the source code of Linux. Contributions were submitted as patch files, which contained just the differences that the contribution made, to an email list, which were reviewed and applied to the central Git repository for Linux. Git grew in popularity and other projects started using it to manage their source code. Then, in 2008, the...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml Multicore Monthly: code review complete with Inria</title><link href="https://anil.recoil.org/notes/multicore-monthly-dec21" rel="alternate"></link><published>2021-12-21T00:00:00Z</published><updated>2021-12-21T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-dec21</id><summary type="html">We've been working hard on OCaml multicore support, and went over to Paris to sit down with some core developers from Inria and work through code review of our proposed patches.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>2021 SDG Hackathon</title><link href="https://ancazugo.github.io/r/tidytuesday/sdg-hackathon.html" rel="alternate"></link><published>2021-11-06T00:00:00Z</published><updated>2021-11-06T00:00:00Z</updated><author><name>AndrésZG</name></author><id>https://ancazugo.github.io/r/tidytuesday/sdg-hackathon</id><summary type="html">I participated in the 2021 &lt;a href="https://www.sdghackathon.io/" target="_blank"&gt;SDG Hackathon&lt;/a&gt; hosted by CORELAID Switzerland and the University of Basel. The data used was obtained from text analysis of projects realted to SDGs in Switzerland using five different systems. Each system detected a number of times each SDG in each project. I wanted to show how commonly each SDG is detected by each system from the dataset and for this purpose I created a rank view of the 17 SDGs using ggbump and integrating it with ggtext and several other packages. You can check out the code in the &lt;a href="https://github.com/ancazugo/sdg-hackathon" target="_blank"&gt;GitHub repo&lt;/a&gt; .</summary><category term="Andrés Zúñiga-González’s Blog"></category></entry><entry><title>Launching the Cambridge Centre for Carbon Credits</title><link href="https://anil.recoil.org/notes/4c-launch" rel="alternate"></link><published>2021-11-04T00:00:00Z</published><updated>2021-11-04T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/4c-launch</id><summary type="html">I launched &lt;a href="https://anil.recoil.org/projects/4c" target="_blank"&gt;4C&lt;/a&gt; recently, and Pembroke College covers the launch with an interview with me. The world is facing a large-scale environmental crisis. Two parallel and related strands of this are, first, the crisis in biodiversity and the rapid extinction of many species, recently addressed at the COP15 UN Biodiversity Conference in October, and second, the threat of climate change, the topic of last month’s COP26 summit in Glasgow. Pressure is growing on governments to execute nature-based solutions which will offset some of the most damaging impacts of these crises. While COP26 built some momentum, there is still a long way to go to turn promises into lasting change. More engagement with the private sector is urgently needed. The solution to the crisis is two-pronged: we must engage...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>What is an Operating System?</title><link href="https://anil.recoil.org/notes/signals-and-threads" rel="alternate"></link><published>2021-11-03T00:00:00Z</published><updated>2021-11-03T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/signals-and-threads</id><summary type="html">I am the latest person to feature on the first season of the &lt;a href="https://signalsandthreads.com/what-is-an-operating-system/" target="_blank"&gt;Signals and
Threads&lt;/a&gt; podcast hosted by &lt;a href="https://github.com/yminsky" target="_blank"&gt;Yaron Minsky&lt;/a&gt; (you may recognise him as my co-author on &lt;a href="https://anil.recoil.org/papers/rwo" target="_blank"&gt;Real World OCaml&lt;/a&gt; ). Anil Madhavapeddy is an academic, author, engineer, entrepreneur, and OCaml aficionado. In this episode, Anil and Ron consider the evolving role of operating systems, security on the internet, and the pending arrival (at last!) of OCaml 5.0. They also discuss using Raspberry Pis to fight climate change; the programming inspiration found in British pubs and on Moroccan beaches; and the time Anil went to a party, got drunk, and woke up with a job working on the Mars Polar Lander. -- &lt;a href="https://signalsandthreads.com/what-is-an-operating-system/" target="_blank"&gt;Signals and Threads&lt;/a&gt; I think I might be the first non- Jane Street person to be on their podcast! Quite the honour.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Hosting HotCRP</title><link href="https://mort.io/blog/setup-hotcrp/" rel="alternate"></link><published>2021-10-17T01:00:00Z</published><updated>2021-10-17T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/setup-hotcrp/</id><summary type="html">I once had cause to setup &lt;a href="https://read.seas.harvard.edu/~kohler/hotcrp/" target="_blank"&gt;HotCRP&lt;/a&gt; for local hosting. Specifically on a local Lab-hosted VM image. Some of what follows is specific to the CUCL VM hosting service, but I think most of it is HotCRP generic and so may be of use. Anyway, here’s the crib sheet, starting from &lt;a href="https://mbtech.github.io/Setting-up-hotcrp/" target="_blank"&gt;https://mbtech.github.io/Setting-up-hotcrp/&lt;/a&gt; … # setup some variables YOUR-DOMAIN = " hotcrp-test.cl.cam.ac.uk " YOUR-WORKSHOP = " sysws18 " YOUR-PASSWORD = " mybestpassword " YOUR-EMAIL = " postmaster@example.com " &lt;a href="https://mort.io/blog/setup-hotcrp/#lab-specifics" target="_blank"&gt;Lab specifics&lt;/a&gt; Assume we start from a default Ubuntu template VM, and then… Configure the VM cl-asuser passwd # set UNIX password for sudo # create some space for d in /usr/src/ * ; do export K = $ ( uname - r | sed ' s/-generic$// ' ) echo - n $ K $ d ... case $ d in " /usr/src/linux-headers- $ K " | " /usr/src/linux-headers- $ { K } -generic "...</summary><category term="mort’s mythopœia"></category></entry><entry><title>ILNP Interface</title><link href="https://ryan.freumh.org/ilnp-interface.html" rel="alternate"></link><published>2021-10-16T01:00:00Z</published><updated>2021-10-16T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/ilnp-interface.html</id><summary type="html">Published Sat 16 Oct 2021. Last update Sat 22 Oct 2022. Tags: &lt;a href="/projects.html" target="_blank"&gt;projects&lt;/a&gt; . My &lt;a href="./network-layer-mobility.html" target="_blank"&gt;dissertation&lt;/a&gt; involved implementing an &lt;a href="./network-layer-mobility.html#ilnp" target="_blank"&gt;Identifier-Locator Network
+
Protocol&lt;/a&gt; (ILNP) &lt;a href="./network-layer-mobility.html#overlay-network" target="_blank"&gt;overlay network&lt;/a&gt; in Python which can be found at &lt;a href="https://github.com/RyanGibb/ilnp-overlay-network" target="_blank"&gt;github.com/RyanGibb/ilnp-overlay-network&lt;/a&gt; . As part of this, I wanted to add an application layer interface to the overlay to support existing applications. (To those who still want to know why I posit, why not?) That is, applications other than those written in python specifically for the overlay. This would also allow multiple applications to run over one overlay network stack. However, this wasn’t a priority for my dissertation as it wasn’t necessary to obtain experimental results. Since graduating I’ve found a few weekends to work on this and a solution will be explored in this blog post. Datagrams First up, how can we send a datagram over...</summary><category term="ryan.freumh.org"></category></entry><entry><title>OCaml Multicore Monthly: effect handling confirmed for 5.0</title><link href="https://anil.recoil.org/notes/multicore-monthly-sep21" rel="alternate"></link><published>2021-10-01T01:00:00Z</published><updated>2021-10-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-sep21</id><summary type="html">We're making steady progress on getting multicore support merged into OCaml, including some great developer meetings where we achieved consensus with the core team to include support for effect handlers in the 5.0 release.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Forest preservation and restoration</title><link href="https://anil.recoil.org/notes/forests" rel="alternate"></link><published>2021-09-25T01:00:00Z</published><updated>2021-09-25T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/forests</id><summary type="html">I track external notes and media articles here on forest preservation and restoration as part of my work on &lt;a href="https://anil.recoil.org/projects/4c" target="_blank"&gt;Trusted Carbon Credits&lt;/a&gt; . Not complete, just a reading list. &lt;a href="https://www.youtube.com/watch?v=yiw6_JakZFc" target="_blank"&gt;Can YOU Fix Climate Change?&lt;/a&gt; (great short summary of the overall issues) Rewilding &lt;a href="https://www.theguardian.com/environment/2021/sep/24/vast-area-of-scottish-highlands-to-be-rewilded-in-ambitious-30-year-project-aoe" target="_blank"&gt;Affric Highlands initiative&lt;/a&gt; to rewild Scotland over 30 years &lt;a href="https://www.bloomberg.com/news/articles/2021-09-14/gabon-s-climate-law-brings-it-closer-to-carbon-trade-ambition" target="_blank"&gt;Gabon's Climate Law&lt;/a&gt; &lt;a href="https://www.soilassociation.org/blogs/2021/august/3/pairing-agroforestry-with-livestock-the-major-benefits/" target="_blank"&gt;Pairing agroforestry with livestock: the major benefits&lt;/a&gt; &lt;a href="https://www.nationalparks.uk/2021/10/06/press-release-major-global-companies-to-fund-vital-nature-restoration-projects-in-the-uks-national-parks-through-innovative-new-financing-facility/" target="_blank"&gt;Major global companies to fund nature restoration projects in UK's national parks&lt;/a&gt; (via &lt;a href="https://www.thepalladiumgroup.com" target="_blank"&gt;Palladium group&lt;/a&gt; ) Remote sensing &lt;a href="https://www.kiss.caltech.edu/papers/biodiversity/papers/2020_Book_RemoteSensingOfPlantBiodiversi.pdf" target="_blank"&gt;Remote sensing of plant biodiversity&lt;/a&gt; &lt;a href="https://geobon.org" target="_blank"&gt;Geobon&lt;/a&gt; - global researcher network working on above. &lt;a href="https://earthi.space/" target="_blank"&gt;Earth-i&lt;/a&gt; - sub-1m sensing satellite constellation &lt;a href="https://www.mantle-labs.com" target="_blank"&gt;Mantle Labs&lt;/a&gt; - earth observation + machine learning for farmers &lt;a href="https://www.cgi.com/uk/en-gb/news/climate/cgi-announces-strategic-partnership-project-seagrass-reduce-co2" target="_blank"&gt;Seagrass from space&lt;/a&gt; Keshav's &lt;a href="http://blizzard.cs.uwaterloo.ca/iss4e/wp-content/uploads/2017/10/Communication-technologies-for-energy-informatics.pdf" target="_blank"&gt;comms technologies for energy informatics&lt;/a&gt; Carbon Credits &lt;a href="https://www.cis.upenn.edu/~bcpierce/papers/carbon-offsets.pdf" target="_blank"&gt;Notes on Carbon offsets for scientific societies&lt;/a&gt; &lt;a href="https://vcmintegrity.org/" target="_blank"&gt;Voluntary Carbon Markets integrity initiative&lt;/a&gt; &lt;a href="https://www.ecosystemmarketplace.com/articles/press-release-voluntary-carbon-markets-rocket-in-2021-on-track-to-break-1b-for-first-time/" target="_blank"&gt;Voluntary Carbon Markets Rocket in 2021, On Track to Break $1B for First Time&lt;/a&gt; Biodiversity &lt;a href="https://kiss.caltech.edu/lectures/2019_biodiversity.html" target="_blank"&gt;Biodiversity: Perspectives of a Techie&lt;/a&gt; - Dave Thau - Data and Technology Global Lead Scientist, WWF Valuing climate change &lt;a href="https://www.sciencedirect.com/science/article/pii/S001671851930051X" target="_blank"&gt;Cryptocarbon: The promises and pitfalls of forest protection on a blockchain&lt;/a&gt; &lt;a href="https://www.nature.com/articles/s41558-018-0285-8" target="_blank"&gt;Valuing climate damages at the country level&lt;/a&gt; - nature climate change, 2018 &lt;a href="https://www.nature.com/articles/s41558-018-0282-y" target="_blank"&gt;Country-level social cost of carbon&lt;/a&gt; , nature climate change...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Decentralised tech on Recoil</title><link href="https://anil.recoil.org/notes/decentralised-stack" rel="alternate"></link><published>2021-09-19T01:00:00Z</published><updated>2021-09-19T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/decentralised-stack</id><summary type="html">&lt;a href="https://nick.recoil.org" target="_blank"&gt;Nick Ludlam&lt;/a&gt; and I have self-hosted recoil.org since around 1996, typically for email and web. These days, there are a number of interesting software stacks around decentralised communication that we deploy. This note keeps track of them. Email (active) Currently Postfix and DKIM/SPIF relays Till 2019, was OpenSMTPD and would like to return to it but waiting on filter support. Till around 2016, was qmail but finally gave up due to difficulty of spam filtering. Next step will be to try out the MirageOS email stack that dinosaure has been leading the development of. Web (active) This website is an OCaml webserver running a custom multicore OCaml &lt;a href="https://github.com/avsm/eeww" target="_blank"&gt;webserver&lt;/a&gt; Next step will be to go solar powered with a custom DNS server. DNS (inactive) MirageOS DNS server. Currently offline due to a hosting...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Several podcast interviews</title><link href="http://martin.kleppmann.com/2021/09/01/podcast-interviews.html" rel="alternate"></link><published>2021-09-01T01:00:00Z</published><updated>2021-09-01T01:00:00Z</updated><author><name>MartinK</name></author><id>http://martin.kleppmann.com/2021/09/01/podcast-interviews.html</id><summary type="html">I regularly get asked to give interviews on the topics that I work on, especially for podcasts. To make them easier to find for anybody who’s interested, I thought I would make a list. They touch on a range of different topics, although there is also some overlap so I wouldn’t recommend listening to them all in a row! (By the way, if you want a list of conference talks I have given, I have a &lt;a href="https://www.youtube.com/playlist?list=PLeKd45zvjcDHJxge6VtYUAbYnvd_VNQCx" target="_blank"&gt;YouTube playlist&lt;/a&gt; for that.) Here’s a list of interviews I’ve given as of September 2021: Interview with &lt;a href="https://www.wix.engineering/" target="_blank"&gt;Wix Engineering&lt;/a&gt; , in which we discuss my book, the state of Automerge, the convergence of streaming systems and databases, Kafka’s move to replace ZooKeeper with their own Raft implementation, impact of my research, and more. Recorded 16 June 2021, published 26 August 2021. &lt;a href="https://www.youtube.com/watch?v=jtK7LOcP76s" target="_blank"&gt;Video&lt;/a&gt; , &lt;a href="https://www.wix.engineering/post/wix-engineering-tech-interviews-martin-kleppmann-natan-silnitsky" target="_blank"&gt;transcript&lt;/a&gt; . Interview...</summary><category term="Martin Kleppmann's blog"></category></entry><entry><title>Roadmap for OCaml's online presence</title><link href="https://anil.recoil.org/notes/roadmap-ocamlorg-v3" rel="alternate"></link><published>2021-08-27T01:00:00Z</published><updated>2021-08-27T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/roadmap-ocamlorg-v3</id><summary type="html">After a decade of good service, it's time to overhaul OCaml's online presence to more modern technologies. This post lays out the roadmap for the third edition of the OCaml.org website.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Tarballing some files</title><link href="https://mort.io/blog/tar-includes/" rel="alternate"></link><published>2021-08-25T01:00:00Z</published><updated>2021-08-25T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/tar-includes/</id><summary type="html">I recently discovered, to some irritation, that the --include PATTERN option to tar seems only to apply to directories – and if the PATTERN doesn’t match, it won’t traverse subdirectories. But I wanted to include *.php for some reason. So instead pipe the output of find , or better these days, &lt;a href="https://github.com/sharkdp/fd" target="_blank"&gt;fd&lt;/a&gt; : fd - e php - 0 | tar - cvjf TARBALL.bz2 -- null -- files-from -</summary><category term="mort’s mythopœia"></category></entry><entry><title>How Computer Science Can Aid Forest Restoration</title><link href="https://anil.recoil.org/news/2021-arxiv-forestrycs-1" rel="alternate"></link><published>2021-08-01T01:00:00Z</published><updated>2021-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2021-arxiv-forestrycs-1</id><summary type="html">Preprint about our working notes on how CS might contribute to forest preservation Gemma Gordon , &lt;a href="https://ameliaholcomb.github.io" target="_blank"&gt;Amelia Holcomb&lt;/a&gt; , &lt;a href="https://github.com/ctk21" target="_blank"&gt;Tom Kelly&lt;/a&gt; , &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; , &lt;a href="https://github.com/jonludlam" target="_blank"&gt;Jon Ludlam&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/2109.07898" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/2109.07898" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.2109.07898" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2021-arxiv-forestrycs.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2021-arxiv-forestrycs.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Experiences with Effects</title><link href="https://anil.recoil.org/news/2021-oud-effects-1" rel="alternate"></link><published>2021-08-01T01:00:00Z</published><updated>2021-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2021-oud-effects-1</id><summary type="html">Paper on programming with effects in OCaml &lt;a href="https://github.com/https://roscidus.com" target="_blank"&gt;Thomas Leonard&lt;/a&gt; , &lt;a href="https://craigfe.io" target="_blank"&gt;Craig Ferguson&lt;/a&gt; , &lt;a href="https://patrick.sirref.org" target="_blank"&gt;Patrick Ferris&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://github.com/ctk21" target="_blank"&gt;Tom Kelly&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://icfp21.sigplan.org/details/ocaml-2021-papers/16/Experiences-with-Effects" target="_blank"&gt;proceedings of the 2021 OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://icfp21.sigplan.org/details/ocaml-2021-papers/16/Experiences-with-Effects" target="_blank"&gt;URL&lt;/a&gt; (icfp21.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2021-oud-effects.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2021-oud-effects.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Cubes</title><link href="https://ryan.freumh.org/cubes.html" rel="alternate"></link><published>2021-06-03T01:00:00Z</published><updated>2021-06-03T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/cubes.html</id><summary type="html">Published Thu 3 Jun 2021. Last update Thu 3 Mar 2022. Tags: &lt;a href="/projects.html" target="_blank"&gt;projects&lt;/a&gt; . I was teaching myself Unity the week after the last exam for my undergrad and ended up creating this. It’s an infinite runner with cubes created in unity. Play it &lt;a href="resources/cubes/" target="_blank"&gt;here&lt;/a&gt; . The repo can be found at &lt;a href="https://github.com/RyanGibb/cubes" target="_blank"&gt;github.com/RyanGibb/cubes&lt;/a&gt; . Re-rooting To allow the game to be infinite, whilst also avoiding floating point errors, the game world is periodically ‘re-rooted’. This involves moving the player and all objects back a certain distance in one frame. Objects behind the player can be safely removed. However, it may prove challenging to get to a distance where floating point errors occur! World Generation The world is generated using a Markov Chain containing transitions from segments to segments. Segments may be prefabricated or...</summary><category term="ryan.freumh.org"></category></entry><entry><title>Retrofitting effect handlers onto OCaml</title><link href="https://anil.recoil.org/news/2021-pldi-retroeff-1" rel="alternate"></link><published>2021-06-01T01:00:00Z</published><updated>2021-06-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2021-pldi-retroeff-1</id><summary type="html">Paper on retrofitting effects in OCaml presented in PLDI 2024 &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; , &lt;a href="https://github.com/stedolan" target="_blank"&gt;Stephen Dolan&lt;/a&gt; , &lt;a href="https://github.com/lpw25" target="_blank"&gt;Leo White&lt;/a&gt; , &lt;a href="https://github.com/ctk21" target="_blank"&gt;Tom Kelly&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://dl.acm.org/doi/10.1145/3453483.3454039" target="_blank"&gt;proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation&lt;/a&gt; . &lt;a href="https://dl.acm.org/doi/10.1145/3453483.3454039" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3453483.3454039" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2021-pldi-retroeff.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2021-pldi-retroeff.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Network layer mobility</title><link href="https://ryan.freumh.org/network-layer-mobility.html" rel="alternate"></link><published>2021-05-10T01:00:00Z</published><updated>2021-05-10T01:00:00Z</updated><author><name>RyanG</name></author><id>https://ryan.freumh.org/network-layer-mobility.html</id><summary type="html">Published Mon 10 May 2021. Last update Mon 24 Mar 2025. Tags: &lt;a href="/projects.html" target="_blank"&gt;projects&lt;/a&gt; , &lt;a href="/research.html" target="_blank"&gt;research&lt;/a&gt; . My undergraduate dissertation, “Ubiquitous Communication for the Internet of Things: An Identifier-Locator addressing split overlay network”, explored how we can modify the Internet Protocol to better support resource-constrained highly mobile embedded devices. A copy can be found &lt;a href="papers/2021-bsc-ubicomm.pdf" target="_blank"&gt;here&lt;/a&gt; (or &lt;a href="https://studres.cs.st-andrews.ac.uk/Library/ProjectLibrary/cs4099/2021/rtg2-Final_Report.pdf" target="_blank"&gt;here&lt;/a&gt; for St Andrews folk), and the associated implementation can be found at &lt;a href="https://github.com/RyanGibb/ilnp-overlay-network" target="_blank"&gt;ilnp-overlay-network&lt;/a&gt; . Network stack First, some prerequisite networking knowledge. A network protocol stack is a view of how protocols are organised into layers. The &lt;a href="https://en.wikipedia.org/wiki/OSI_model" target="_blank"&gt;OSI model&lt;/a&gt; describes named layers; including the physical, link, network, transport, and application layers. Note the OSI model and TCP/IP have &lt;a href="https://en.wikipedia.org/wiki/Internet_protocol_suite#Layer_names_and_number_of_layers_in_the_literature" target="_blank"&gt;differing
+
semantics&lt;/a&gt; , but this is...</summary><category term="ryan.freumh.org"></category></entry><entry><title>25 years of OCaml!</title><link href="https://www.dra27.uk/blog/platform/2021/05/09/ocaml-at-25.html" rel="alternate"></link><published>2021-05-09T01:00:00Z</published><updated>2021-05-09T01:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2021/05/09/ocaml-at-25</id><summary type="html">On this day in 1996, Xavier Leroy &lt;a href="https://sympa.inria.fr/sympa/arc/caml-list/1996-05/msg00003.html" target="_blank"&gt;announced Objective Caml 1.00&lt;/a&gt; (the language wasn’t officially called OCaml until &lt;a href="https://sympa.inria.fr/sympa/arc/caml-list/2012-07/msg00179.html" target="_blank"&gt;4.00.0 in July 2012&lt;/a&gt; ). I wouldn’t start using OCaml for another 7 years; I think I may have dropped Research Machines Basic by then and was mucking around with a mix of Visual Basic, Turbo Pascal and Delphi, but I hadn’t yet got an email address either. For whatever reason, the 1.00 tag deletes the boot images, but they can be taken from the &lt;a href="https://github.com/dra27/ocaml/tree/2de35753f7b43b11098f7d25a09b8cb904c1a2ca/boot" target="_blank"&gt;commit before&lt;/a&gt; . I could get the runtime to build quite easily on Ubuntu, but alas while it appeared to be able to run boot/ocamllex , boot/ocamlc was just segfaulting. I debated firing up my old dual-Pentium III which apparently had Slackware 10 on it, but I thought I’d give the Windows port a go first! According to the docs, the Windows compiler used to be...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>It's time to say goodbye to the GPL</title><link href="http://martin.kleppmann.com/2021/04/14/goodbye-gpl.html" rel="alternate"></link><published>2021-04-14T01:00:00Z</published><updated>2021-04-14T01:00:00Z</updated><author><name>MartinK</name></author><id>http://martin.kleppmann.com/2021/04/14/goodbye-gpl.html</id><summary type="html">The trigger for this post is the &lt;a href="https://www.fsf.org/news/statement-of-fsf-board-on-election-of-richard-stallman" target="_blank"&gt;reinstating&lt;/a&gt; of Richard Stallman, a very &lt;a href="https://rms-open-letter.github.io/" target="_blank"&gt;problematic character&lt;/a&gt; , to the board of the &lt;a href="https://www.fsf.org/" target="_blank"&gt;Free Software Foundation&lt;/a&gt; (FSF). I am appalled by this move, and join others in the call for his removal. This occasion has caused me to reevaluate the position of the FSF in computing. It is the steward of the GNU project (a part of Linux distributions, &lt;a href="https://www.gnu.org/gnu/incorrect-quotation.en.html" target="_blank"&gt;loosely speaking&lt;/a&gt; ), and of a family of software licenses centred around the &lt;a href="https://en.wikipedia.org/wiki/GNU_General_Public_License" target="_blank"&gt;GNU General Public License&lt;/a&gt; (GPL). These efforts are unfortunately tainted by Stallman’s behaviour. However, this is not what I actually want to talk about today. In this post I argue that we should move away from the GPL and related licenses (LGPL, AGPL), for reasons that have nothing to do with Stallman, but simply because I think they have failed to achieve their purpose, and they are more...</summary><category term="Martin Kleppmann's blog"></category></entry><entry><title>Building the future of computing, with your help</title><link href="http://martin.kleppmann.com/2021/02/23/patreon.html" rel="alternate"></link><published>2021-02-23T00:00:00Z</published><updated>2021-02-23T00:00:00Z</updated><author><name>MartinK</name></author><id>http://martin.kleppmann.com/2021/02/23/patreon.html</id><summary type="html">For the last five or six years, since I bid goodbye to the startup scene and Silicon Valley, I have been increasingly working in public. I have &lt;a href="https://dataintensive.net/" target="_blank"&gt;written a book&lt;/a&gt; , given &lt;a href="https://martin.kleppmann.com/talks.html" target="_blank"&gt;around 100 talks&lt;/a&gt; (many of which are &lt;a href="https://www.youtube.com/playlist?list=PLeKd45zvjcDHJxge6VtYUAbYnvd_VNQCx" target="_blank"&gt;available on YouTube&lt;/a&gt; ), published &lt;a href="https://martin.kleppmann.com/#publications" target="_blank"&gt;over 20 research papers&lt;/a&gt; (all freely available from my website), and released and maintained &lt;a href="https://github.com/ept" target="_blank"&gt;some open source projects&lt;/a&gt; . Just a few months ago I released a new undergraduate-level course on distributed systems, consisting of &lt;a href="https://www.youtube.com/playlist?list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB" target="_blank"&gt;7 hours of video lectures&lt;/a&gt; and &lt;a href="https://www.cl.cam.ac.uk/teaching/2021/ConcDisSys/dist-sys-notes.pdf" target="_blank"&gt;87 pages of notes&lt;/a&gt; and exercises, all free; in student evaluation at the &lt;a href="https://www.cst.cam.ac.uk/" target="_blank"&gt;University of Cambridge&lt;/a&gt; , over 80% rated my lectures and notes as “excellent”. I love doing first-rate work and making it broadly available. In fact, apart from my book, I give everything away for free, because I want to be able to reach and help the broadest possible set of people. And even my book is very cheap...</summary><category term="Martin Kleppmann's blog"></category></entry><entry><title>Decentralised content moderation</title><link href="http://martin.kleppmann.com/2021/01/13/decentralised-content-moderation.html" rel="alternate"></link><published>2021-01-13T00:00:00Z</published><updated>2021-01-13T00:00:00Z</updated><author><name>MartinK</name></author><id>http://martin.kleppmann.com/2021/01/13/decentralised-content-moderation.html</id><summary type="html">Who is doing interesting work on decentralised content moderation? With Donald Trump suspended from Twitter and Facebook, and &lt;a href="https://en.wikipedia.org/wiki/Parler" target="_blank"&gt;Parler&lt;/a&gt; kicked off AWS, there is renewed discussion about what sort of speech is acceptable online, and how it should be enforced. Let me say up front that I believe that these bans were justified. However, they do raise questions that need to be discussed, especially within the technology community. As many have already pointed out, Twitter, Facebook and Amazon are corporations that are free to enforce their terms of service in whatever way they see fit, within the bounds of applicable law (e.g. anti-discrimination legislation). However, we should also realise that almost all social media, the public spaces of the digital realm, are in fact privately owned...</summary><category term="Martin Kleppmann's blog"></category></entry><entry><title>Void Processes: Minimising privilege by default</title><link href="https://anil.recoil.org/ideas/void-processes" rel="alternate"></link><published>2021-01-01T00:00:00Z</published><updated>2021-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/void-processes</id><summary type="html">Void Processes: Minimising privilege by default This is an idea proposed in 2021 as a Cambridge Computer Science Part III or MPhil project, and has been completed by &lt;a href="https://blog.hillion.co.uk" target="_blank"&gt;Jake Hillion&lt;/a&gt; . Void processes intend to make it easier for all developers to produce effectively privilege separated applications. The project has two primary goals: show the merits of starting from zero privilege, and provide the utilities to make this feasible for the average developer. Building void processes involves first reliably removing all privilege from a process then systematically adding back in what is required, and no more. This project utilises Linux namespaces to revoke privilege from an application, showing how this can be done and why its easier in some domains than others. It then shows how to inject...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Security analysis of brain-computing interfaces</title><link href="https://anil.recoil.org/ideas/brain-interface-security" rel="alternate"></link><published>2021-01-01T00:00:00Z</published><updated>2021-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/brain-interface-security</id><summary type="html">Security analysis of brain-computing interfaces This is an idea proposed in 2021 as a good starter project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Malachy O'Connor Brown&lt;/a&gt; and &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Oscar Hill&lt;/a&gt; . It was co-supervised with &lt;a href="https://zatkh.github.io/" target="_blank"&gt;Zahra Tarkhani&lt;/a&gt; and &lt;a href="https://lorenaqendro.github.io" target="_blank"&gt;Lorena Qendro&lt;/a&gt; . Brain Computing Interface (BCI) technologies, both invasive and non-invasive, are increasingly used in a wide range of applications, from health-care to smart communication and control. Most BCI applications are safety-critical or privacy-sensitive. However, the infinite potentials of BCI and its ever-growing market size have been distracted the BCI community from significant security and privacy threats. In this research, we first investigate the security and privacy threats of various BCI devices and applications, from machine learning adversarial threats to untrusted...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Exploring Concurrency in Agent-Based Modelling with Multicore OCaml</title><link href="https://anil.recoil.org/ideas/ocaml-forest-sim" rel="alternate"></link><published>2021-01-01T00:00:00Z</published><updated>2021-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/ocaml-forest-sim</id><summary type="html">Exploring Concurrency in Agent-Based Modelling with Multicore OCaml This is an idea proposed in 2021 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Martynas Sinkievič&lt;/a&gt; . Computational modelling techniques such as ABMs are used to understand the dynamics of ecosystems and predict their behaviour in response to climate change and ecological disturbances, while also searching for optimal paths towards solutions to these problems. Terrestrial biosphere models are one such model which simulate the vegetation and soil life cycle. There have been two approaches taken with such modelling: The top-down approach take coarse-grained dynamic models that simulate environments in large chunks and scale to large areas as needed, but with a lack of accuracy in the simulated environment...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Using Bloom filters to efficiently synchronise hash graphs</title><link href="http://martin.kleppmann.com/2020/12/02/bloom-filter-hash-graph-sync.html" rel="alternate"></link><published>2020-12-02T00:00:00Z</published><updated>2020-12-02T00:00:00Z</updated><author><name>MartinK</name></author><id>http://martin.kleppmann.com/2020/12/02/bloom-filter-hash-graph-sync.html</id><summary type="html">This blog post uses &lt;a href="https://www.mathjax.org/" target="_blank"&gt;MathJax&lt;/a&gt; to render mathematics. You need JavaScript enabled for MathJax to work. In some recent research, &lt;a href="http://heidihoward.co.uk/" target="_blank"&gt;Heidi&lt;/a&gt; and I needed to solve the following problem. Say you want to sync a hash graph, such as a Git repository, between two nodes. In Git, each commit is identified by its hash, and a commit may include the hashes of predecessor commits (a commit may include more than one hash if it’s a merge commit). We want to figure out the minimal set of commits that the two nodes need to send to each other in order to make their graphs the same. You might wonder: isn’t this a solved problem? Git has to do this every time you do git pull or git push ! You’re right, and some cases are easy, but other cases are a bit trickier. What’s more, the algorithm used by Git is not...</summary><category term="Martin Kleppmann's blog"></category></entry><entry><title>New courses on distributed systems and elliptic curve cryptography</title><link href="http://martin.kleppmann.com/2020/11/18/distributed-systems-and-elliptic-curves.html" rel="alternate"></link><published>2020-11-18T00:00:00Z</published><updated>2020-11-18T00:00:00Z</updated><author><name>MartinK</name></author><id>http://martin.kleppmann.com/2020/11/18/distributed-systems-and-elliptic-curves.html</id><summary type="html">I have just published new educational materials that might be of interest to computing people: a new 8-lecture course on distributed systems, and a tutorial on elliptic curve cryptography. Distributed Systems Since last year I have been delivering an 8-lecture undergraduate course on distributed systems at the University of Cambridge. The first time I delivered it, I inherited the slides and exercises from the people who lectured it in previous years (Richard Mortier, Anil Madhavapeddy, Robert Watson, Jean Bacon, and Steven Hand), and I just used those materials with minor modifications. It was a good course, but it was getting quite dated (e.g. lots of material on &lt;a href="https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture" target="_blank"&gt;CORBA&lt;/a&gt; , which is now of mostly historical interest). Therefore, this year I decided to do a thorough refresh of the...</summary><category term="Martin Kleppmann's blog"></category></entry><entry><title>Banyan: Coordination-Free Distributed Transactions over Mergeable Types</title><link href="https://anil.recoil.org/news/2020-asplas-banyan-1" rel="alternate"></link><published>2020-11-01T00:00:00Z</published><updated>2020-11-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2020-asplas-banyan-1</id><summary type="html">Paper on Banyan for coordination-free distributed transactions in ASPLAS 2020 Shashank Shekhar Dubey , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; , &lt;a href="https://github.com/samoht" target="_blank"&gt;Thomas Gazagnaire&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://link.springer.com/10.1007/978-3-030-64437-6_12" target="_blank"&gt;proceedings of the Asian Symposium on Programming Languages and Systems&lt;/a&gt; . &lt;a href="https://link.springer.com/10.1007/978-3-030-64437-6_12" target="_blank"&gt;URL&lt;/a&gt; (link.springer.com) &lt;a href="https://doi.org/10.1007/978-3-030-64437-6_12" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2020-asplas-banyan.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2020-asplas-banyan.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Using memtrace on Windows</title><link href="https://www.dra27.uk/blog/platform/2020/10/08/windows-memtrace.html" rel="alternate"></link><published>2020-10-08T01:00:00Z</published><updated>2020-10-08T01:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2020/10/08/windows-memtrace</id><summary type="html">It is said that good things come to those who wait. Jacques-Henri Jourdan demonstrated &lt;a href="https://ocaml.org/meetings/ocaml/2016/Jourdan-statistically_profiling_memory_in_OCaml.pdf" target="_blank"&gt;Statistically profiling memory in OCaml&lt;/a&gt; at the 2016 OCaml Workshop and experimental branches of it existed for OCaml 4.03–4.07 in opam. Parts of the work were merged in OCaml 4.10 and the final sections landed with 4.11. The compiler provides support in the form of a series of hooks in various parts of the runtime’s allocation and garbage collection routines. A few weeks ago, Jane Street released &lt;a href="https://github.com/janestreet/memtrace" target="_blank"&gt;memtrace&lt;/a&gt; and &lt;a href="https://github.com/janestreet/memtrace_viewer" target="_blank"&gt;Memtrace viewer&lt;/a&gt; and earlier this week &lt;a href="https://blog.janestreet.com/finding-memory-leaks-with-memtrace/" target="_blank"&gt;blogged about its use&lt;/a&gt; . I thought I’d quickly share the experience of using it on native Windows. At present, although the memtrace library is portable, the memtrace-viewer itself is not (as it happens, this is simply down to Core’s command line parser pulling in a little too much Unix-specific stuff,...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>Data visualisation links</title><link href="https://mort.io/blog/dataviz/" rel="alternate"></link><published>2020-09-07T01:00:00Z</published><updated>2020-09-07T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/dataviz/</id><summary type="html">Some possibly useful data visualisation links: &lt;a href="https://medium.economist.com/why-you-sometimes-need-to-break-the-rules-in-data-viz-4d8ece284919" target="_blank"&gt;https://medium.economist.com/why-you-sometimes-need-to-break-the-rules-in-data-viz-4d8ece284919&lt;/a&gt; &lt;a href="https://colororacle.org/" target="_blank"&gt;https://colororacle.org/&lt;/a&gt;</summary><category term="mort’s mythopœia"></category></entry><entry><title>The OCaml Platform: 2020</title><link href="https://anil.recoil.org/news/2020-oud-platform-1" rel="alternate"></link><published>2020-09-01T01:00:00Z</published><updated>2020-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2020-oud-platform-1</id><summary type="html">Annual update on the OCaml Platform at the OCaml Workshop &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://icfp20.sigplan.org/home/ocaml-2020" target="_blank"&gt;the 10th ACM OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://icfp20.sigplan.org/home/ocaml-2020" target="_blank"&gt;URL&lt;/a&gt; (icfp20.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2020-oud-platform.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>State of the OCaml Platform 2020</title><link href="https://anil.recoil.org/news/b11188ba-0f97-4ec4-b372-fa3cea0821ab-1" rel="alternate"></link><published>2020-08-28T01:00:00Z</published><updated>2020-08-28T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/b11188ba-0f97-4ec4-b372-fa3cea0821ab-1</id><summary type="html">Talk on the state of the OCaml Platform in 2020</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Renovating an old media PC</title><link href="https://mort.io/blog/mediapc/" rel="alternate"></link><published>2020-08-28T01:00:00Z</published><updated>2020-08-28T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/mediapc/</id><summary type="html">Some notes from my first attempt to renovate an old media PC that had a SYSLINUX install without any package management, and a crufty BIOS. Probably outdated now, but I may go back to it one day… First, some background links: &lt;a href="https://en.wikipedia.org/wiki/Cylinder-head-sector" target="_blank"&gt;https://en.wikipedia.org/wiki/Cylinder-head-sector&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/FAT_boot_sector" target="_blank"&gt;https://en.wikipedia.org/wiki/FAT_boot_sector&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/Logical_Block_Addressing#CHS_conversion" target="_blank"&gt;https://en.wikipedia.org/wiki/Logical_Block_Addressing#CHS_conversion&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/Master_Boot_Record" target="_blank"&gt;https://en.wikipedia.org/wiki/Master_Boot_Record&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/Volume_boot_record" target="_blank"&gt;https://en.wikipedia.org/wiki/Volume_boot_record&lt;/a&gt; &lt;a href="https://wiki.archlinux.org/index.php/Syslinux" target="_blank"&gt;https://wiki.archlinux.org/index.php/Syslinux&lt;/a&gt; &lt;a href="https://wiki.syslinux.org/wiki/index.php?title=Common_Problems#Failed_to_load_ldlinux" target="_blank"&gt;https://wiki.syslinux.org/wiki/index.php?title=Common_Problems#Failed_to_load_ldlinux&lt;/a&gt; &lt;a href="https://wiki.syslinux.org/wiki/index.php?title=Hardware_Compatibility#USB_related_problems" target="_blank"&gt;https://wiki.syslinux.org/wiki/index.php?title=Hardware_Compatibility#USB_related_problems&lt;/a&gt; &lt;a href="https://wiki.syslinux.org/wiki/index.php?title=Hdt_(Hardware_Detection_Tool)" target="_blank"&gt;https://wiki.syslinux.org/wiki/index.php?title=Hdt_(Hardware_Detection_Tool)&lt;/a&gt; I explored two ways forward: &lt;a href="https://www.syslinux.org/" target="_blank"&gt;SYSLINUX&lt;/a&gt; and &lt;a href="https://www.gnu.org/software/grub/index.html" target="_blank"&gt;GRUB&lt;/a&gt; . &lt;a href="https://mort.io/blog/mediapc/#syslinux" target="_blank"&gt;SYSLINUX&lt;/a&gt; I found that getting SYSLINUX working required moving the partition to 0/1/1 – using sectors per track of 63 or 32, and heads per cylinder or 16 or 64 with appropriate cylinder values simply didn’t help. Diagnosed by observing that console displayed only CRLF but no banner – SYSLINUX code ends up with the banner to be displayed just falling into the second sector on the disk, so it can’t be read...</summary><category term="mort’s mythopœia"></category></entry><entry><title>OCaml Multicore Monthly: systhreads compatibility merged</title><link href="https://anil.recoil.org/notes/multicore-monthly-sep20" rel="alternate"></link><published>2020-08-20T01:00:00Z</published><updated>2020-08-20T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-sep20</id><summary type="html">The big advance in the multicore OCaml branch is that we restored compatibility with the traditional OCaml systhreads. This in turn means that many existing software packages just work out of the box on the new runtime. Big news this month is that the systhreads compatibility support PR has been merged, which means that Dune (and other users of the Thread module) can compile out of the box. You can now compile the multicore OCaml fork conveniently using the new opam compiler plugin (see announcement). -- &lt;a href="https://discuss.ocaml.org/t/multicore-ocaml-september-2020/6565" target="_blank"&gt;me, on the discussion forum&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Retrofitting parallelism onto OCaml</title><link href="https://anil.recoil.org/news/2020-icfp-retropar-1" rel="alternate"></link><published>2020-08-01T01:00:00Z</published><updated>2020-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2020-icfp-retropar-1</id><summary type="html">Won best paper award at ICFP 2020 for our paper on retrofitting parallelism onto OCaml! &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; , &lt;a href="https://github.com/stedolan" target="_blank"&gt;Stephen Dolan&lt;/a&gt; , &lt;a href="https://github.com/lpw25" target="_blank"&gt;Leo White&lt;/a&gt; , &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://github.com/ctk21" target="_blank"&gt;Tom Kelly&lt;/a&gt; , Anmol Sahoo , &lt;a href="https://github.com/Sudha247" target="_blank"&gt;Sudha Parimala&lt;/a&gt; , Atul Dhiman and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Journal paper in &lt;a href="https://dl.acm.org/doi/10.1145/3408995" target="_blank"&gt;Proceedings of the ACM on Programming Languages&lt;/a&gt; (vol 4 issue ICFP). &lt;a href="https://dl.acm.org/doi/10.1145/3408995" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3408995" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2020-icfp-retropar.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2020-icfp-retropar.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Parallelising your OCaml Code with Multicore OCaml</title><link href="https://anil.recoil.org/news/2020-oud-parallelising-1" rel="alternate"></link><published>2020-08-01T01:00:00Z</published><updated>2020-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2020-oud-parallelising-1</id><summary type="html">Paper on how to parallelise OCaml code at the OCaml Workshop &lt;a href="https://toao.com" target="_blank"&gt;Sadiq Jaffer&lt;/a&gt; , &lt;a href="https://github.com/Sudha247" target="_blank"&gt;Sudha Parimala&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; , &lt;a href="https://github.com/ctk21" target="_blank"&gt;Tom Kelly&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://github.com/ocaml-multicore/multicore-talks/tree/master/ocaml2020-workshop-parallel" target="_blank"&gt;proceedings of the 2020 OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://github.com/ocaml-multicore/multicore-talks/tree/master/ocaml2020-workshop-parallel" target="_blank"&gt;URL&lt;/a&gt; (github.com) &lt;a href="https://anil.recoil.org/papers/2020-oud-parallelising.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2020-oud-parallelising.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml-CI: A Zero-Configuration CI</title><link href="https://anil.recoil.org/news/2020-oud-ci-1" rel="alternate"></link><published>2020-08-01T01:00:00Z</published><updated>2020-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2020-oud-ci-1</id><summary type="html">Presented the new OCaml DSL for continuous integration at the OCaml Workshop &lt;a href="https://github.com/https://roscidus.com" target="_blank"&gt;Thomas Leonard&lt;/a&gt; , &lt;a href="https://craigfe.io" target="_blank"&gt;Craig Ferguson&lt;/a&gt; , &lt;a href="https://github.com/kit-ty-kate" target="_blank"&gt;Kate Deplaix&lt;/a&gt; , &lt;a href="http://www.skjegstad.com/about/" target="_blank"&gt;Magnus Skjegstad&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://icfp20.sigplan.org/details/ocaml-2020-papers/6/OCaml-CI-A-Zero-Configuration-CI" target="_blank"&gt;proceedings of the 2020 OCaml Users and Developers Workshop&lt;/a&gt; . &lt;a href="https://icfp20.sigplan.org/details/ocaml-2020-papers/6/OCaml-CI-A-Zero-Configuration-CI" target="_blank"&gt;URL&lt;/a&gt; (icfp20.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2020-oud-ci.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Making GPS accurate in dense forests using sensor fusion</title><link href="https://anil.recoil.org/ideas/sensor-fusion-vslam-forests" rel="alternate"></link><published>2020-08-01T01:00:00Z</published><updated>2020-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/sensor-fusion-vslam-forests</id><summary type="html">Making GPS accurate in dense forests using sensor fusion This is an idea proposed in 2020 as a good starter project, and has been completed by &lt;a href="https://keshav123456.github.io" target="_blank"&gt;Keshav Sivakumar&lt;/a&gt; . It was co-supervised with &lt;a href="https://svr-sk818-web.cl.cam.ac.uk/keshav/wiki/index.php/Main_Page" target="_blank"&gt;Srinivasan Keshav&lt;/a&gt; and &lt;a href="https://coomeslab.org" target="_blank"&gt;David A Coomes&lt;/a&gt; . Current GPS solutions are either very expensive ($8k+) or have relatively poor accuracies (10m+) under dense forest canopy. This project explores how to determine our location accurately in a forest area where we travel by foot under canopy without a GPS signal. What low cost solutions exist to perform localisation under such circumstances? What are the rough accuracies of these solutions? What constraints and advantages do these solutions have (in terms of power, light, cost, etc) We observe that a lot of SLAM algorithms exist these days, but most of the recent research is on...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Discord discord</title><link href="https://mort.io/blog/discord/" rel="alternate"></link><published>2020-08-01T01:00:00Z</published><updated>2020-08-01T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/discord/</id><summary type="html">So for some reason I wanted to do this – use Discord on an iPad without installing the app. This proved surprisingly tricky as Safari on the iPad really wanted to make you use the app and certainly wouldn’t display the desktop site. However, Firefox Focus can though it still forced you into the app from the link in the invite email. However, you can go to the website to signup and then manually invite yourself via a real desktop browser. And this then means that Firefox Focus on the iPad believes in the new account and just lets you in. Seems something of a palaver but hey, these twisted webs we weave.</summary><category term="mort’s mythopœia"></category></entry><entry><title>OCaml Multicore Monthly: preprint paper available</title><link href="https://anil.recoil.org/notes/multicore-monthly-apr20" rel="alternate"></link><published>2020-04-27T01:00:00Z</published><updated>2020-04-27T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-apr20</id><summary type="html">In the April OCaml multicore monthly, we have a preprint available of our ICFP submission about the OCaml 5 multicore runtime. (Update: This paper actually won the ICFP best paper award later in the year! Read it at " &lt;a href="https://anil.recoil.org/papers/2020-icfp-retropar" target="_blank"&gt;Retrofitting parallelism onto OCaml&lt;/a&gt; ").</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>The First Billion Real Deployments of Unikernels</title><link href="https://anil.recoil.org/news/c09ed36f-6ad5-4254-a0ce-3ca3398f38a3-1" rel="alternate"></link><published>2020-02-26T00:00:00Z</published><updated>2020-02-26T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/c09ed36f-6ad5-4254-a0ce-3ca3398f38a3-1</id><summary type="html">Part 2</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Rebuilding Operating Systems with Functional Principles</title><link href="https://anil.recoil.org/news/d456e4bc-bce6-45ad-9d2e-102f834ec400-1" rel="alternate"></link><published>2020-02-26T00:00:00Z</published><updated>2020-02-26T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/d456e4bc-bce6-45ad-9d2e-102f834ec400-1</id><summary type="html">Delivered the distinguished seminar series at St Andrews on rebuilding Operating Systems with functional principles</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Programming the Next Trillion Embedded Devices</title><link href="https://anil.recoil.org/news/287364fa-b59c-4b9f-812d-d81cc0c992a5-1" rel="alternate"></link><published>2020-02-26T00:00:00Z</published><updated>2020-02-26T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/287364fa-b59c-4b9f-812d-d81cc0c992a5-1</id><summary type="html">Part 3</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>OCaml Multicore Monthly: starting upstream to OCaml</title><link href="https://anil.recoil.org/notes/multicore-monthly-jan20" rel="alternate"></link><published>2020-01-29T00:00:00Z</published><updated>2020-01-29T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/multicore-monthly-jan20</id><summary type="html">We started the process of upstreaming our &lt;a href="https://anil.recoil.org/papers/2014-oud-multicore" target="_blank"&gt;multicore OCaml&lt;/a&gt; branch to mainline OCaml, and so I started posting regular updates to the community forum. The most common question we get is how to contribute to the overall multicore effort. As I noted last year, we are now in the process of steadily upstreaming our efforts to mainline OCaml. Therefore, the best way by far to contribute is to test for regressions or opportunities for improvements in the patches that are outstanding in the main OCaml repository. -- &lt;a href="https://discuss.ocaml.org/t/multicore-ocaml-january-2020-update/5090" target="_blank"&gt;me, on the discussion forum&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Information Flow for Trusted Execution</title><link href="https://anil.recoil.org/projects/difc-tee" rel="alternate"></link><published>2020-01-01T00:00:00Z</published><updated>2020-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/projects/difc-tee</id><summary type="html">Information Flow for Trusted Execution There is now increased hardware support for improving the security and performance of privilege separation and compartmentalization techniques such as process-based sandboxes, trusted execution environments, and intra-address space compartments. We dub these "hetero-compartment environments" and observe that existing system stacks still assume single-compartment models (i.e. user space processes), leading to limitations in using, integrating, and monitoring heterogeneous compartments from a security and performance perspective. This project explores how we might deploy techniques such as fine-grained information flow control (DIFC) to allow developers to securely use and combine compartments, define security policies over shared system resources, and...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Setting up a Macbook</title><link href="https://mort.io/blog/setup-new-laptop/" rel="alternate"></link><published>2020-01-01T00:00:00Z</published><updated>2020-01-01T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/setup-new-laptop/</id><summary type="html">This is the set of things that I roughly did to set up my old new Macbook: configurations, packages, etc. Not guaranteed complete, but hopefully captures much of it. &lt;a href="https://mort.io/blog/setup-new-laptop/#keyboard" target="_blank"&gt;Keyboard&lt;/a&gt; Set the touchbar to expanded Turn off various emacs conflicts (e.g., S-M-6 ) Use &lt;a href="https://karabiner-elements.pqrs.org/" target="_blank"&gt;Karabiner Elements&lt;/a&gt; to make CAPSLOCK become ESC on a single press &lt;a href="https://mort.io/blog/setup-new-laptop/#homebrew-packages" target="_blank"&gt;Homebrew packages&lt;/a&gt; Install &lt;a href="https://brew.sh/" target="_blank"&gt;Homebrew&lt;/a&gt; and then # install packages brew install \ aspcud \ aspell \ bash-completion \ coreutils \ direnv \ emacs \ evernote \ ffmpeg \ font-hack-nerd-font \ gawk \ gcc \ get_iplayer \ ghostscript \ git \ git-lfs \ gnupg2 \ gnuplot \ gpg-agent \ graphviz \ imagemagick \ jq \ lua \ mu \ ncftp \ nmap \ ocaml \ offlineimap \ omnigraffle \ opam \ python \ python@2 \ qemu \ rcs \ readline \ rsync \ socat \ sshfs \ telnet \ tmux \ unrar \ wget # install casks brew...</summary><category term="mort’s mythopœia"></category></entry><entry><title>OpenBSD cloud hosting options</title><link href="https://anil.recoil.org/notes/openbsd-hosting" rel="alternate"></link><published>2019-08-29T01:00:00Z</published><updated>2019-08-29T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/openbsd-hosting</id><summary type="html">I &lt;a href="https://twitter.com/avsm/status/1167012354556669952" target="_blank"&gt;asked on Twitter&lt;/a&gt; about hosting options for OpenBSD on cloud providers, so that we could have some alternative options for Recoil. We have a strong preference for bare-metal and not VMs when it comes to OpenBSD. Options that came back were: OpenBSDAMS Dedicated/VMs for openbsd hosting (see &lt;a href="https://twitter.com/OpenBSDAms" target="_blank"&gt;here&lt;/a&gt; ) Mythic Beasts I have provisioned a bare metal server there and they kindly stuck a USB stick in with an OpenBSD installer. DataCentreLite Not tried this yet but &lt;a href="https://twitter.com/NicoSchottelius/status/1167163133024264192" target="_blank"&gt;possible followup&lt;/a&gt; . LiquidWeb Good &lt;a href="https://twitter.com/vphantom/status/1167020959771049984" target="_blank"&gt;recommendation&lt;/a&gt; from Stephane</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>The OCaml Platform in 2019</title><link href="https://anil.recoil.org/news/2019-ocaml-platform-1" rel="alternate"></link><published>2019-08-01T01:00:00Z</published><updated>2019-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2019-ocaml-platform-1</id><summary type="html">Annual update on the OCaml Platform in 2019 &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and Gemma Gordon . Paper in the &lt;a href="https://icfp19.sigplan.org/home/ocaml-2019" target="_blank"&gt;proceedings of the OCaml Workshop 2019&lt;/a&gt; . &lt;a href="https://icfp19.sigplan.org/home/ocaml-2019" target="_blank"&gt;URL&lt;/a&gt; (icfp19.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2019-ocaml-platform.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>MirageOS 4: the dawn of practical build systems for exotic targets</title><link href="https://anil.recoil.org/news/2019-mirage-build-1" rel="alternate"></link><published>2019-08-01T01:00:00Z</published><updated>2019-08-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2019-mirage-build-1</id><summary type="html">Paper on the MirageOS 4 build system at OCaml Workshop &lt;a href="https://www.lortex.org" target="_blank"&gt;Lucas Pluvinage&lt;/a&gt; , Romain Calascibetta , Rudi Grinberg and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://icfp19.sigplan.org/home/ocaml-2019#program" target="_blank"&gt;proceedings of the OCaml Workshop 2019&lt;/a&gt; . &lt;a href="https://icfp19.sigplan.org/home/ocaml-2019#program" target="_blank"&gt;URL&lt;/a&gt; (icfp19.sigplan.org) &lt;a href="https://anil.recoil.org/papers/2019-mirage-build.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2019-mirage-build.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Programming Unikernels in the Large via Functor Driven Development</title><link href="https://anil.recoil.org/news/2019-mirage-functors-1" rel="alternate"></link><published>2019-05-01T01:00:00Z</published><updated>2019-05-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2019-mirage-functors-1</id><summary type="html">Preprint on programming unikernels with ML modules &lt;a href="https://www.irif.fr/~gradanne/" target="_blank"&gt;Gabriel Radanne&lt;/a&gt; , &lt;a href="https://github.com/samoht" target="_blank"&gt;Thomas Gazagnaire&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://www.cst.cam.ac.uk/people/jdy22" target="_blank"&gt;Jeremy Yallop&lt;/a&gt; , &lt;a href="https://github.com/mor1" target="_blank"&gt;Richard Mortier&lt;/a&gt; , &lt;a href="https://github.com/hannesm" target="_blank"&gt;Hannes Mehnert&lt;/a&gt; , &lt;a href="https://github.com/yomimono" target="_blank"&gt;Mindy Preston&lt;/a&gt; and &lt;a href="https://github.com/djs55" target="_blank"&gt;Dave Scott&lt;/a&gt; . Working paper at &lt;a href="http://arxiv.org/abs/1905.02529" target="_blank"&gt;arXiv&lt;/a&gt; . &lt;a href="http://arxiv.org/abs/1905.02529" target="_blank"&gt;URL&lt;/a&gt; (arxiv.org) &lt;a href="https://doi.org/10.48550/arXiv.1905.02529" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2019-mirage-functors.bib" target="_blank"&gt;BIB&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Snape: The Dark Art of Handling Heterogeneous Enclaves</title><link href="https://anil.recoil.org/news/2019-edgesys-snape-1" rel="alternate"></link><published>2019-03-01T00:00:00Z</published><updated>2019-03-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2019-edgesys-snape-1</id><summary type="html">Paper on a framework to rearchitect applications for better TEE support at EdgeSys 2019 &lt;a href="https://zatkh.github.io/" target="_blank"&gt;Zahra Tarkhani&lt;/a&gt; , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; and &lt;a href="https://github.com/mor1" target="_blank"&gt;Richard Mortier&lt;/a&gt; . Paper in the &lt;a href="https://dl.acm.org/doi/10.1145/3301418.3313945" target="_blank"&gt;proceedings of the 2nd International Workshop on Edge Systems, Analytics and Networking&lt;/a&gt; . &lt;a href="https://dl.acm.org/doi/10.1145/3301418.3313945" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3301418.3313945" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2019-edgesys-snape.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2019-edgesys-snape.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Falsehoods</title><link href="https://mort.io/blog/falsehoods/" rel="alternate"></link><published>2019-01-11T00:00:00Z</published><updated>2019-01-11T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/falsehoods/</id><summary type="html">Being a list of some cool “Falsehoods programmers believe about …” sites, now redundant thanks to &lt;a href="https://github.com/kdeldycke/awesome-falsehood" target="_blank"&gt;https://github.com/kdeldycke/awesome-falsehood&lt;/a&gt; : &lt;a href="http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time" target="_blank"&gt;…time&lt;/a&gt; &lt;a href="http://infiniteundo.com/post/25509354022/more-falsehoods-programmers-believe-about-time" target="_blank"&gt;…time, more&lt;/a&gt; &lt;a href="http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/" target="_blank"&gt;…names&lt;/a&gt; &lt;a href="https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/" target="_blank"&gt;…addresses&lt;/a&gt; &lt;a href="http://wiesmann.codiferes.net/wordpress/?p=15187&amp;lang=en" target="_blank"&gt;…geography&lt;/a&gt;</summary><category term="mort’s mythopœia"></category></entry><entry><title>Distributed Task Scheduling Framework over Irmin</title><link href="https://anil.recoil.org/ideas/distributed-tasks-irmin" rel="alternate"></link><published>2019-01-01T00:00:00Z</published><updated>2019-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/distributed-tasks-irmin</id><summary type="html">Distributed Task Scheduling Framework over Irmin This is an idea proposed in 2019 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Mohammed Daudali&lt;/a&gt; . Distributed computation and task scheduling frameworks can be decentralised with minimal cost to performance. Furthermore, this decentralisation can provide a significant reduction in the trusted computing base and complexity of the system, affording end consumers a greater level of confidence in the integrity of the results. Moreover, carefully designed persistent and transient data structures can augment this confidence by providing strong isolation guarantees in a multi-tenant system, whilst retaining full transparency over the dynamic data flow graph. This can all be achieved with an API that interfaces directly with...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>A strongly consistent index for email using git and MirageOS</title><link href="https://anil.recoil.org/ideas/git-maildir" rel="alternate"></link><published>2019-01-01T00:00:00Z</published><updated>2019-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/git-maildir</id><summary type="html">A strongly consistent index for email using git and MirageOS This is an idea proposed in 2019 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://github.com/odnh" target="_blank"&gt;Oliver Hope&lt;/a&gt; . It was co-supervised with &lt;a href="https://github.com/dra27" target="_blank"&gt;David Allsopp&lt;/a&gt; . &lt;a href="https://en.wikipedia.org/wiki/Maildir" target="_blank"&gt;Maildir&lt;/a&gt; is a widely used format for storing emails. Its main benefit is that it uses the filesystem in such a way that client programs do not have to handle locking themselves. The downside of this is that it makes it hard to create a consistent index as we cannot guarantee that the filesystem is in a consistent state when we try to update it. If we did have a consistent index, it would allow for safer concurrent support and the implementation of new features. The aim of this project therefore is to solve the consistency problem. This can be done by using git, the...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Wipeout</title><link href="https://mort.io/blog/wipeout/" rel="alternate"></link><published>2018-12-17T00:00:00Z</published><updated>2018-12-17T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/wipeout/</id><summary type="html">I recently decided to go through some old PCs and hard disks (yes, actual spinning bits of metal) and recycle or simply junk them. I figured I should wipe them properly first, and given that they had been installed with a range of OSs, setup a bootable USB stick so that I could boot and wipe in one easy motion. Download &lt;a href="https://alpinelinux.org/downloads/" target="_blank"&gt;Alpine Linux&lt;/a&gt; &lt;a href="https://dl-cdn.alpinelinux.org/alpine/v3.8/releases/x86_64/alpine-extended-3.8.1-x86_64.iso" target="_blank"&gt;3.8.1
ISO&lt;/a&gt; – I had only x86_64 machines, YMMV obviously Write this to a USB stick using dd (on Linux), or &lt;a href="https://etcher.balena.io/" target="_blank"&gt;Balena
Etcher&lt;/a&gt; on Windows Insert the stick and boot the machine after making any necessary BIOS changes If the machine has been unbooted for too long or (as one of mine) has a flat CMOS clock battery so cannot retain time across reboots, set the time manually: date --set="20181217" automatically: setup-alpine to start configuring things, then CTRL-C after...</summary><category term="mort’s mythopœia"></category></entry><entry><title>The OCaml Platform 1.0 with Reason ML</title><link href="https://crank.recoil.org/videos/watch/13cf3878-7436-4512-844e-f72f36425bc7" rel="alternate"></link><published>2018-12-11T10:57:40Z</published><updated>2018-12-11T10:57:40Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/videos/13cf3878-7436-4512-844e-f72f36425bc7</id><summary type="html">&lt;a href="https://anil.recoil.org/videos/13cf3878-7436-4512-844e-f72f36425bc7" target="_blank"&gt;The OCaml Platform 1.0 with Reason ML&lt;/a&gt; / Dec 2018 Speaking about the OCaml Platform at the ReasonML meetup hosted by Pusher.</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>New opam repository layout for large libraries</title><link href="https://anil.recoil.org/notes/ocaml-opam-new-layout" rel="alternate"></link><published>2018-11-19T00:00:00Z</published><updated>2018-11-19T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/ocaml-opam-new-layout</id><summary type="html">Managing package manager constraints is getting difficult, particularly given the growth of the number of packages in the &lt;a href="https://github.com/ocaml/opam-repository" target="_blank"&gt;opam repository&lt;/a&gt; . I'm therefore laying out a new mechanism for the OCaml contributors to submit large package sets, such as those from &lt;a href="https://janestreet.com" target="_blank"&gt;Jane Street&lt;/a&gt; .</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>A modular foreign function interface</title><link href="https://anil.recoil.org/news/2018-socp-modular-ffi-1" rel="alternate"></link><published>2018-10-01T01:00:00Z</published><updated>2018-10-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2018-socp-modular-ffi-1</id><summary type="html">Journal paper on building modular foreign function interfaces &lt;a href="https://www.cst.cam.ac.uk/people/jdy22" target="_blank"&gt;Jeremy Yallop&lt;/a&gt; , David Sheets and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Journal paper in &lt;a href="https://linkinghub.elsevier.com/retrieve/pii/S0167642317300709" target="_blank"&gt;Science of Computer Programming&lt;/a&gt; (vol 164). &lt;a href="https://linkinghub.elsevier.com/retrieve/pii/S0167642317300709" target="_blank"&gt;URL&lt;/a&gt; (linkinghub.elsevier.com) &lt;a href="https://doi.org/10.1016/j.scico.2017.04.002" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2018-socp-modular-ffi.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2018-socp-modular-ffi.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Foundations of Computer Science</title><link href="https://anil.recoil.org/notes/focs" rel="alternate"></link><published>2018-09-02T01:00:00Z</published><updated>2018-09-02T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/focs</id><summary type="html">Here are the various repos used to create the interactive &lt;a href="https://anil.recoil.org/notes/teaching" target="_blank"&gt;teaching&lt;/a&gt; environment we use for 1A Foundations of Computer Science in Cambridge. It may be useful to other professors who are using OCaml in their courses. &lt;a href="https://github.com/avsm/teaching-fcs" target="_blank"&gt;https://github.com/avsm/teaching-fcs&lt;/a&gt; is a private repo, but ping me if are teaching and I'll give you access (it has coursework answers in it). We use a Jupyter notebook, with the course written in Markdown using the &lt;a href="https://github.com/realworldocaml/mdx" target="_blank"&gt;mdx&lt;/a&gt; OCaml parser which evaluates toplevel phrases through the compiler and promotes the output directly into the markdown. We then convert the Markdown into Jupyter format using a &lt;a href="https://github.com/realworldocaml/mdx/pull/124" target="_blank"&gt;fork of mdx&lt;/a&gt; , and then nbconvert it into LaTeX for the printed notes. A &lt;a href="https://jupyter.org/install.html" target="_blank"&gt;JupyterLab&lt;/a&gt; installation with a &lt;a href="https://github.com/akabe/ocaml-jupyter" target="_blank"&gt;custom OCaml kernel&lt;/a&gt; suffices for the live setup. Every student gets their own container on the server and one...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>The joys of Dune vendoring</title><link href="https://www.dra27.uk/blog/platform/2018/08/15/dune-vendoring.html" rel="alternate"></link><published>2018-08-15T01:00:00Z</published><updated>2018-08-15T01:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2018/08/15/dune-vendoring</id><summary type="html">Of the many wonderful features provided by &lt;a href="https://github.com/ocaml/dune" target="_blank"&gt;Dune&lt;/a&gt; , my personal favourite remains its composability. It doesn’t gain much mention in the manual because, well, there’s not that much to explain about it beyond the simple fact that if you put separate Dune projects in subdirectories underneath your current project, then Dune will use those projects in preference to opam-installed libraries. This allows for a far superior workflow to developing using opam pins, as can be seen from my own recent addition of features to Mirage’s &lt;a href="https://github.com/hannesm/logs-syslog" target="_blank"&gt;logs-syslog&lt;/a&gt; library, which also required an addition to one of its dependencies, &lt;a href="https://github.com/verbosemode/syslog-message" target="_blank"&gt;syslog-message&lt;/a&gt; . Neither of these libraries are presently built using Dune, however porting &lt;a href="https://github.com/dra27/logs-syslog/tree/dune" target="_blank"&gt;them&lt;/a&gt; &lt;a href="https://github.com/dra27/syslog-message/tree/dune" target="_blank"&gt;both&lt;/a&gt; was not particularly difficult, and I thought it would be interesting to...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>Bounding data races in space and time</title><link href="https://anil.recoil.org/news/2018-pldi-memorymodel-1" rel="alternate"></link><published>2018-06-01T01:00:00Z</published><updated>2018-06-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2018-pldi-memorymodel-1</id><summary type="html">Paper on the OCaml memory model and underlying theory at PLDI 2018 &lt;a href="https://github.com/stedolan" target="_blank"&gt;Stephen Dolan&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; and &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the &lt;a href="https://dl.acm.org/doi/10.1145/3192366.3192421" target="_blank"&gt;proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation&lt;/a&gt; . &lt;a href="https://dl.acm.org/doi/10.1145/3192366.3192421" target="_blank"&gt;URL&lt;/a&gt; (dl.acm.org) &lt;a href="https://doi.org/10.1145/3192366.3192421" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2018-pldi-memorymodel.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2018-pldi-memorymodel.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Urgent problem with camlp5 7.03 and macOS OCaml 4.06.1</title><link href="https://www.dra27.uk/blog/platform/2018/05/04/opam-camlp5-system.html" rel="alternate"></link><published>2018-05-04T01:00:00Z</published><updated>2018-05-04T01:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2018/05/04/opam-camlp5-system</id><summary type="html">This was originally on the posted on the &lt;a href="https://opam.ocaml.org/blog/camlp5-system/" target="_blank"&gt;OCaml Platform Blog&lt;/a&gt; . Packaging problem with opam-repository camlp5 7.03 when upgrading to OCaml 4.06.1 Between 26 Oct 2017 and 17 Feb 2018, the OPAM package for camlp5 7.03 in &lt;a href="https://github.com/ocaml/opam-repository" target="_blank"&gt;opam-repository&lt;/a&gt; was under certain circumstances able to trigger rm -rf / on macOS and other systems which don’t by default prevent recursive root deletion. This article contains advice on how to identify if your OPAM installation is affected and what you can do to fix it. TL;DR If rm --preserve-root gives a message along the lines of unrecognised option rather than missing operand and you are running OPAM 1.2.2, ensure you run opam update before upgrading your system compiler to OCaml 4.06.1. If you have already upgraded your system compiler to OCaml 4.06.1 (e.g. with Homebrew) then...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>Concurrent System Programming with Effect Handlers</title><link href="https://anil.recoil.org/news/2017-tfp-effecthandlers-1" rel="alternate"></link><published>2018-04-01T01:00:00Z</published><updated>2018-04-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2017-tfp-effecthandlers-1</id><summary type="html">Paper on concurrent systems programming with effect handlers at TFP 2017 &lt;a href="https://github.com/stedolan" target="_blank"&gt;Stephen Dolan&lt;/a&gt; , &lt;a href="https://github.com/seliopou" target="_blank"&gt;Spiros Eliopoulos&lt;/a&gt; , Daniel Hillerstrom , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; and &lt;a href="https://github.com/lpw25" target="_blank"&gt;Leo White&lt;/a&gt; . Paper in the &lt;a href="http://link.springer.com/10.1007/978-3-319-89719-6_6" target="_blank"&gt;trends in Functional Programming&lt;/a&gt; . &lt;a href="http://link.springer.com/10.1007/978-3-319-89719-6_6" target="_blank"&gt;URL&lt;/a&gt; (link.springer.com) &lt;a href="https://doi.org/10.1007/978-3-319-89719-6_6" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2017-tfp-effecthandlers.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2017-tfp-effecthandlers.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>An architecture for interspatial communication</title><link href="https://anil.recoil.org/news/2018-hotpost-osmose-1" rel="alternate"></link><published>2018-04-01T01:00:00Z</published><updated>2018-04-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2018-hotpost-osmose-1</id><summary type="html">Paper on the interspatial networking architecture at HotPOST 2018 &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; , Gemma Gordon and &lt;a href="https://github.com/samoht" target="_blank"&gt;Thomas Gazagnaire&lt;/a&gt; . Paper in the &lt;a href="https://ieeexplore.ieee.org/document/8406931/" target="_blank"&gt;proceedings of the HotPOST 2018 workshop at the IEEE Conference on Computer Communications&lt;/a&gt; . &lt;a href="https://ieeexplore.ieee.org/document/8406931/" target="_blank"&gt;URL&lt;/a&gt; (ieeexplore.ieee.org) &lt;a href="https://doi.org/10.1109/INFCOMW.2018.8406931" target="_blank"&gt;DOI&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2018-hotpost-osmose.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2018-hotpost-osmose.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Founded Tarides and looking to hire OCaml hackers</title><link href="https://anil.recoil.org/notes/founded-tarides" rel="alternate"></link><published>2018-03-02T00:00:00Z</published><updated>2018-03-02T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/notes/founded-tarides</id><summary type="html">I'm delighted to report that I'm helping my long-time collaborator &lt;a href="https://github.com/samoht" target="_blank"&gt;Thomas Gazagnaire&lt;/a&gt; to return to his OCaml roots from Docker. He has just founded Tarides, a startup in Paris with the goal of advancing the open source OCaml ecosystem. Founded in Paris in early 2018, Tarides helps developers and companies build secure, performant and resource-efficient network and storage services. We are using MirageOS to run applications without the overhead of a traditional operating system and Irmin to create scalable distributed applications. Tarides offers commercial support and commercial development services for companies interested to run MirageOS or Irmin as part of their technology stack. -- &lt;a href="https://discuss.ocaml.org/t/tarides-is-looking-for-software-engineers-to-work-on-mirageos-and-irmin/1690" target="_blank"&gt;Thomas Gazagnaire&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>A pain in the num</title><link href="https://www.dra27.uk/blog/platform/2018/01/31/num-system.html" rel="alternate"></link><published>2018-01-31T00:00:00Z</published><updated>2018-01-31T00:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2018/01/31/num-system</id><summary type="html">Fixing a packaging error with num on OCaml 4.06.0 system switches Back in July 2012, the release of OCaml 4.00.0 marked the start of a slow process to remove libraries and tools from the distribution which are not directly related to the compiler and the OCaml Standard Library. For &lt;a href="https://github.com/ocaml/ocaml/tree/4.06.0" target="_blank"&gt;OCaml 4.06.0&lt;/a&gt; it was the turn of the &lt;a href="https://github.com/ocaml/num" target="_blank"&gt;Num&lt;/a&gt; library. It is now available as the &lt;a href="https://opam.ocaml.org/packages/num" target="_blank"&gt;num package&lt;/a&gt; in opam for OCaml 4.06.0 and with a dummy .0 version which is “installed” for prior versions of the compiler which include the library in the distribution. It has always been possible to link with the num library using the num package in &lt;a href="http://projects.camlcity.org/projects/findlib.html" target="_blank"&gt;ocamlfind&lt;/a&gt; , but in order to maintain compatibility with build systems which don’t use ocamlfind, the standalone Num library files are still installed to OCaml’s lib directory, rather...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>Probabilistic Programming in OCaml</title><link href="https://anil.recoil.org/ideas/prob-programming-owl" rel="alternate"></link><published>2018-01-01T00:00:00Z</published><updated>2018-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/prob-programming-owl</id><summary type="html">Probabilistic Programming in OCaml This is an idea proposed in 2018 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://anil.recoil.org/" target="_blank"&gt;Hari Chandrasekaran&lt;/a&gt; . It was co-supervised with &lt;a href="https://github.com/ctk21" target="_blank"&gt;Tom Kelly&lt;/a&gt; and &lt;a href="https://github.com/ryanrhymes" target="_blank"&gt;Liang Wang&lt;/a&gt; . With increasing use of machine learning, it is useful to develop frameworks that support rapid development and functional specification of probabilistic models for inference and reasoning. Probabilistic Programming Languages aim to support concise syntax for specifying models and consequently making inference easier. This can pave way to improvements of the model created, more data gathering and further model refinement in an iterative sense. PPL enables easier development of statistical models and allows decoupling inference from modelling. There is a lot of recent work on PPLs,...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Interspatial OS</title><link href="https://anil.recoil.org/projects/osmose" rel="alternate"></link><published>2018-01-01T00:00:00Z</published><updated>2018-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/projects/osmose</id><summary type="html">Interspatial OS Digital infrastructure in modern urban environments is currently very Internet-centric, and involves transmitting data to physically remote environments. The cost for this is data insecurity, high response latency and unpredictable reliability of services. I am working on Osmose -- a new OS architecture that inverts the current model by building an operating system designed to securely connect physical spaces with extremely low latency, high bandwidth local-area computation capabilities and service discovery. In 2018, I was starting to wrap up a multi-year focus on &lt;a href="https://anil.recoil.org/projects/unikernels" target="_blank"&gt;Unikernels&lt;/a&gt; , and I went back to look over the state of personal data handling (as I'd finished working on &lt;a href="https://anil.recoil.org/projects/perscon" target="_blank"&gt;Personal Containers&lt;/a&gt; in 2016). Things had regressed fairly dramatically -- central cloud providers and particularly...</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>CausalRPC: a traceable distributed computation framework</title><link href="https://anil.recoil.org/ideas/causal-rpc" rel="alternate"></link><published>2018-01-01T00:00:00Z</published><updated>2018-01-01T00:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/ideas/causal-rpc</id><summary type="html">CausalRPC: a traceable distributed computation framework This is an idea proposed in 2018 as a Cambridge Computer Science Part II project, and has been completed by &lt;a href="https://craigfe.io" target="_blank"&gt;Craig Ferguson&lt;/a&gt; . The project aims to implement an RPC framework in OCaml using the &lt;a href="https://github.com/mirage/irmin" target="_blank"&gt;Irmin&lt;/a&gt; distributed database library as a network substrate. It will explore the trade-offs of a novel data-oriented approach to RPC in which race conditions between clients are resolved automatically by the middleware layer. The core deliverable is a demonstration of an RPC client remotely executing functions with Irmin-serialisable parameters on a server capable of handling concurrent client requests. The project was completed successfully, with an implementation of &lt;a href="https://github.com/craigfe/causal-rpc" target="_blank"&gt;CausalRPC&lt;/a&gt; , a distributed computation framework satisfying the above criteria....</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Back to the Future</title><link href="https://mort.io/blog/back-to-the-future/" rel="alternate"></link><published>2017-12-14T00:00:00Z</published><updated>2017-12-14T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/back-to-the-future/</id><summary type="html">Ed: the first in a likely series, this is one of the posts I drafted but never published during my seven years in the blogging wilderness I have been having persistent issues on MacOS with Time Machine backups interacting badly with several configuration elements and other services. This is exacerbated by my use of maildirs to backup emails, with my Gmail account leading to a directory with some millions of files. (Yeah, ok, maybe not wise but hey, we are where we are.) So in the course of trying to get backups to work reliably, I found the following commands useful to at least some degree: mdutil -sav to get info about spotlight indexing status sudo mdutil -Ea -i [off|on] to turn off|on spotlight indexing where possible sudo fs_usage -w mdworker mds_stores backupd obtain the current...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Quelle dommage</title><link href="https://mort.io/blog/quelle-dommage/" rel="alternate"></link><published>2017-11-05T00:00:00Z</published><updated>2017-11-05T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/quelle-dommage/</id><summary type="html">Ed: this tool is perhaps less relevant now that both &lt;a href="https://mirage.io/" target="_blank"&gt;Mirage&lt;/a&gt; and &lt;a href="https://ocaml.org/opam/" target="_blank"&gt;OPAM&lt;/a&gt; have moved on. But perhaps it’ll be resurrected one day so here it is. Largely because I wanted to make a feeble attempt at a French pun, &lt;a href="https://github.com/mor1/dommage/" target="_blank"&gt;dommage&lt;/a&gt; is a tool for &lt;a href="https://docker.com/" target="_blank"&gt;Docker&lt;/a&gt; containerising Mirage unikernels. From the &lt;a href="https://github.com/mor1/dommage" target="_blank"&gt;README&lt;/a&gt; : &lt;a href="https://mort.io/blog/quelle-dommage/#dommage-dockerised-mirage" target="_blank"&gt;Dommage, Dockerised Mirage&lt;/a&gt; dommage is a shell script that wraps the &lt;a href="https://mirage.io" target="_blank"&gt;Mirage&lt;/a&gt; CLI to make use of Docker containers meaning that: you can cache the OPAM build artefacts in the container image, speeding up local builds; you can re-use the build container image in Travis builds by publishing it, speeding those up considerably; and you can easily test build -t xen targets on OSX. I’ve tried to minimise interference with the normal operation of &lt;a href="https://mirage.io" target="_blank"&gt;Mirage&lt;/a&gt; CLI so simply replacing mirage with dommage is...</summary><category term="mort’s mythopœia"></category></entry><entry><title>Spring Loading Karabiner in the Autumn</title><link href="https://mort.io/blog/mess-with-my-keyboard/" rel="alternate"></link><published>2017-10-30T00:00:00Z</published><updated>2017-10-30T00:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/mess-with-my-keyboard/</id><summary type="html">I recently took the plunge and upgraded my OS X. Not to vN of Sierra as I’d hoped, but to v0 High Sierra – the perils of waiting too long… Unfortunately, this toasted &lt;a href="https://mort.io/blog/mess-with-my-keyboard/#1" target="_blank"&gt;1&lt;/a&gt; my carefully curated keyboard remappings as &lt;a href="https://pqrs.org/osx/karabiner/" target="_blank"&gt;Karabiner&lt;/a&gt; used a kernel extension, for which everything changed. All was not lost however, as the rewrite to support Sierra/High Sierra was well underway. Or so I thought until I realised that the configuration file had changed from XML to JSON. And so my configuration journey began. (But it all ends well, so that’s good.) 1 To be honest, I suspect even the Sierra upgrade would’ve done this. &lt;a href="https://mort.io/blog/mess-with-my-keyboard/#controlling-the-config" target="_blank"&gt;Controlling the config&lt;/a&gt; The first thing was to get the new configuration matters under control. I did this per the documentation, symlinking the config subdirectory from my rc-files repo: cd ~...</summary><category term="mort’s mythopœia"></category></entry><entry><title>A bug-fix 12 years in the making</title><link href="https://www.dra27.uk/blog/platform/2017/10/30/ocaml-unicode.html" rel="alternate"></link><published>2017-10-30T00:00:00Z</published><updated>2017-10-30T00:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2017/10/30/ocaml-unicode</id><summary type="html">Windows Unicode Support in OCaml 4.06.0 In August 2005, &lt;a href="https://caml.inria.fr/mantis/view.php?id=3771" target="_blank"&gt;Mantis Report #3771&lt;/a&gt; was opened against OCaml 3.08.4 reporting that Windows applications could not read filenames containing Unicode characters. Various patches have been proposed over the last twelve years leading to &lt;a href="https://github.com/ocaml/ocaml/pull/153" target="_blank"&gt;GitHub Pull Request #153&lt;/a&gt; almost exactly 2 years ago. This last spring, Clément Franchini at &lt;a href="http://www.altair.com" target="_blank"&gt;Altair&lt;/a&gt; rebased the patch and added tests. Finally, Nicolás Ojeda Bär at &lt;a href="https://www.lexifi.com" target="_blank"&gt;LexiFi&lt;/a&gt; took on the challenge of completing the patch and minimising the diff with a view to merging in OCaml 4.06.0. The resulting &lt;a href="https://github.com/ocaml/ocaml/pull/1200" target="_blank"&gt;GitHub Pull Request #1200&lt;/a&gt; just made it in time for the feature freeze last month, with a few follow-up pull requests since to polish things up. With luck (and testing!), we have a good working story with the 4.06.0 release candidate, which was pushed yesterday....</summary><category term="Notes from the Windows corner"></category></entry><entry><title>Setting up OCaml’s GitHub CI for user forks</title><link href="https://www.dra27.uk/blog/platform/2017/09/27/ocaml-github-ci.html" rel="alternate"></link><published>2017-09-27T01:00:00Z</published><updated>2017-09-27T01:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2017/09/27/ocaml-github-ci</id><summary type="html">There are various Continuous Integration (CI) systems monitoring OCaml. The most publicly visible of these are the two which run on our GitHub repository: &lt;a href="https://travis-ci.org/ocaml/ocaml/branches" target="_blank"&gt;Travis&lt;/a&gt; , which tests GNU/Linux in 32-bit and 64-bit configurations and also performs a few sanity checks on pull requests, and &lt;a href="https://ci.appveyor.com/project/avsm/ocaml/history" target="_blank"&gt;AppVeyor&lt;/a&gt; which tests some of the native Windows ports. OCaml 4.06 was branched on 18 September. One of the problems that we face during the weeks between branching and a release of OCaml is that the increased activity creates huge pressure on our CI systems. This is particularly noticeable on AppVeyor, since the build takes 40–50 minutes and we can only have 1 build running at a time across all pull requests and branches. Travis builds actually take around the same amount of overall time, but they are more...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>State of the OCaml Platform</title><link href="https://anil.recoil.org/news/2f824dde-e112-4f4f-890d-1825572ea1c4-1" rel="alternate"></link><published>2017-09-08T01:00:00Z</published><updated>2017-09-08T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2f824dde-e112-4f4f-890d-1825572ea1c4-1</id><summary type="html">Talk on the state of the OCaml Platform</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Windows Console Performance (or lack thereof)</title><link href="https://www.dra27.uk/blog/platform/2017/09/06/windows-console-fun.html" rel="alternate"></link><published>2017-09-06T01:00:00Z</published><updated>2017-09-06T01:00:00Z</updated><author><name>DavidA</name></author><id>https://www.dra27.uk/blog/platform/2017/09/06/windows-console-fun</id><summary type="html">I spent a few days at the weekend refreshing my native Windows fork of Opam and while doing so, found an interesting performance issue for console applications on Windows. One of the jobs porting both Opam and opam-repository for native Windows is updating all the OCaml compiler packages themselves to have Windows build commands. It’s quite extensive, since the instructions have varied across versions and there are also a lot of &lt;a href="https://github.com/metastack/ocaml-legacy" target="_blank"&gt;patches&lt;/a&gt; which need to be applied, so this is done using an opam-admin.top script. This little helper program in the Opam developer tools includes a useful function Opam_admin_top.iter_packages which passes every package definition in a repository along with its opam file to a function you provide and writes any changes to that opam back to the repository. There...</summary><category term="Notes from the Windows corner"></category></entry><entry><title>The State of the OCaml Platform: Sep 2017</title><link href="https://anil.recoil.org/news/2017-oud-platform-1" rel="alternate"></link><published>2017-09-01T01:00:00Z</published><updated>2017-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2017-oud-platform-1</id><summary type="html">Annual update on the OCaml Pltform at ICFP &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; . Paper in the the 7th ACM OCaml Users and Developers Workshop. &lt;a href="https://anil.recoil.org/papers/2017-oud-platform.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2017-oud-platform.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Effectively tackling the awkward squad</title><link href="https://anil.recoil.org/news/2017-ml-effects-1" rel="alternate"></link><published>2017-09-01T01:00:00Z</published><updated>2017-09-01T01:00:00Z</updated><author><name>AnilM</name></author><id>https://anil.recoil.org/news/2017-ml-effects-1</id><summary type="html">Paper on how to tackle awkward IO patterns with effect handlers &lt;a href="https://github.com/stedolan" target="_blank"&gt;Stephen Dolan&lt;/a&gt; , &lt;a href="https://github.com/seliopou" target="_blank"&gt;Spiros Eliopoulos&lt;/a&gt; , Daniel Hillerstrom , &lt;a href="https://anil.recoil.org" target="_blank"&gt;Anil Madhavapeddy&lt;/a&gt; , &lt;a href="https://kcsrk.info" target="_blank"&gt;KC Sivaramakrishnan&lt;/a&gt; and &lt;a href="https://github.com/lpw25" target="_blank"&gt;Leo White&lt;/a&gt; . Paper in the the ACM ML Workshop. &lt;a href="https://anil.recoil.org/papers/2017-ml-effects.bib" target="_blank"&gt;BIB&lt;/a&gt; &lt;a href="https://anil.recoil.org/papers/2017-ml-effects.pdf" target="_blank"&gt;PDF&lt;/a&gt;</summary><category term="Anil Madhavapeddy's feed"></category></entry><entry><title>Platforms, Packaging, Progress— Addendum</title><link href="https://mort.io/blog/topkg-addendum/" rel="alternate"></link><published>2017-09-01T01:00:00Z</published><updated>2017-09-01T01:00:00Z</updated><author><name>RichardM</name></author><id>https://mort.io/blog/topkg-addendum/</id><summary type="html">This is a short addendum to my &lt;a href="http://mort.io/blog/2017/08/28/past-present-future/" target="_blank"&gt;post of a couple of days
ago&lt;/a&gt; caused by my carelessness in writing the &lt;a href="https://github.com/mor1/ocal/blob/13a9a7f5b8f2e0be4c2b55941a00a885df202cf8/ocal.opam#L16-L22" target="_blank"&gt;OPAM
+6
feed.json
···
[
{
"url": "https://watch.eeg.cl.cam.ac.uk/feeds/videos.atom?videoChannelId=2"
},
{
···
[
{
+
"url": "https://www.blogger.com/feeds/19062127/posts/default"
+
},
+
{
+
"url": "http://feeds.feedburner.com/martinkl"
+
},
+
{
"url": "https://watch.eeg.cl.cam.ac.uk/feeds/videos.atom?videoChannelId=2"
},
{
+8
mapping.json
···
{
"https://watch.eeg.cl.cam.ac.uk/feeds/videos.atom?videoChannelId=2": {
"name": "Seminars",
"site": "EEG Seminars"
···
{
+
"https://www.blogger.com/feeds/19062127/posts/default": {
+
"name": "Jon Crowcroft",
+
"site": "A True History of the Internet"
+
},
+
"http://feeds.feedburner.com/martinkl": {
+
"name": "MartinK",
+
"site": "Martin Kleppmann's website"
+
},
"https://watch.eeg.cl.cam.ac.uk/feeds/videos.atom?videoChannelId=2": {
"name": "Seminars",
"site": "EEG Seminars"
+1779
threads.json
···
"referenced_by": [],
"external_links": []
},
"https://anil.recoil.org/notes/ai-for-evidence-synthesis-workshop": {
"id": "https://anil.recoil.org/notes/ai-for-evidence-synthesis-workshop",
"title": "A fully AI-generated paper just passed peer review; notes from our evidence synthesis workshop",
···
{
"url": "https://www.linkedin.com/feed/update/urn:li:activity:7303431795587309569/",
"normalized_url": "https://linkedin.com/feed/update/urn:li:activity:7303431795587309569",
"in_feed": false
}
]
···
"in_feed": false
}
]
},
"https://anil.recoil.org/notes/deprecating-ocaml-408": {
"id": "https://anil.recoil.org/notes/deprecating-ocaml-408",
···
}
]
},
"https://patrick.sirref.org/weekly-2025-01-20/": {
"id": "https://patrick.sirref.org/weekly-2025-01-20/",
"title": "Forester, ICFP, Wikis",
···
}
]
},
"https://ryan.freumh.org/2024-12-30.html": {
"id": "https://ryan.freumh.org/2024-12-30.html",
"title": "Mon 30 Dec 2024",
···
"in_feed": true
}
],
"external_links": []
},
"https://mort.io/blog/tum-retreat/": {
···
"referenced_by": [],
"external_links": []
},
"https://watch.eeg.cl.cam.ac.uk/w/pxkLZ4jgVJMqjwZuhWicrK": {
"id": "https://watch.eeg.cl.cam.ac.uk/w/pxkLZ4jgVJMqjwZuhWicrK",
"title": "A CarbonFirst Approach for Decarbonizing Cloud Computing",
···
}
]
},
"https://digitalflapjack.com/blog/building-ocaml-on-haiku/": {
"id": "https://digitalflapjack.com/blog/building-ocaml-on-haiku/",
"title": "Building OCaml on Haiku",
···
"referenced_by": [],
"external_links": []
},
"https://ryan.freumh.org/2024-10-14.html": {
"id": "https://ryan.freumh.org/2024-10-14.html",
"title": "Mon 14 Oct 2024",
···
"references": [],
"referenced_by": [],
"external_links": []
},
"https://anil.recoil.org/notes/socc-pc": {
"id": "https://anil.recoil.org/notes/socc-pc",
···
"in_feed": false
}
]
},
"https://anil.recoil.org/news/2024-nbs-risk-2": {
"id": "https://anil.recoil.org/news/2024-nbs-risk-2",
···
}
]
},
"https://ryan.freumh.org/2024-08-26.html": {
"id": "https://ryan.freumh.org/2024-08-26.html",
"title": "Mon 26 Aug 2024",
···
{
"url": "https://restic.net/",
"normalized_url": "https://restic.net",
"in_feed": false
}
]
···
}
]
},
"https://anil.recoil.org/notes/student-ideas": {
"id": "https://anil.recoil.org/notes/student-ideas",
"title": "New set of ideas for incoming students",
···
"title": "Real-time Wildlife Monitoring",
"link": "https://watch.eeg.cl.cam.ac.uk/w/tyPqbNvp3isgTDZVVoLFD1",
"feed_title": "EEG Seminars",
"references": [],
"referenced_by": [],
"external_links": []
···
"referenced_by": [],
"external_links": []
},
"https://anil.recoil.org/news/2024-life-2": {
"id": "https://anil.recoil.org/news/2024-life-2",
"title": "Second preprint of the LIFE biodiversity metric available",
···
],
"external_links": []
},
"https://watch.eeg.cl.cam.ac.uk/w/nfXCsAiyawBPM2qzdpRCfB": {
"id": "https://watch.eeg.cl.cam.ac.uk/w/nfXCsAiyawBPM2qzdpRCfB",
"title": "Tackling the Hidden Costs of Computational Science",
···
"in_feed": false
}
]
},
"https://anil.recoil.org/news/2024-hyper-tropical-mapping-1": {
"id": "https://anil.recoil.org/news/2024-hyper-tropical-mapping-1",
···
}
]
},
"https://ryan.freumh.org/2024-05-20.html": {
"id": "https://ryan.freumh.org/2024-05-20.html",
"title": "Mon 20 May 2024",
···
}
]
},
"https://ryan.freumh.org/2024-04-08.html": {
"id": "https://ryan.freumh.org/2024-04-08.html",
"title": "Mon 8 Apr 2024",
···
],
"external_links": []
},
"https://anil.recoil.org/news/2024-nbs-risk-1": {
"id": "https://anil.recoil.org/news/2024-nbs-risk-1",
"title": "Preprint available on insuring against variability of NbS",
···
}
]
},
"https://ryan.freumh.org/2024-02-26.html": {
"id": "https://ryan.freumh.org/2024-02-26.html",
"title": "Mon 26 Feb 2024",
···
{
"url": "https://github.com/stalwartlabs/mail-server",
"normalized_url": "https://github.com/stalwartlabs/mail-server",
"in_feed": false
}
]
···
"referenced_by": [],
"external_links": []
},
"https://anil.recoil.org/news/rwo-2": {
"id": "https://anil.recoil.org/news/rwo-2",
"title": "The 2nd ed of Real World OCaml is available in shops",
···
{
"url": "https://blog.cloudflare.com/the-weird-and-wonderful-world-of-dns-loc-records/",
"normalized_url": "https://blog.cloudflare.com/the-weird-and-wonderful-world-of-dns-loc-records",
"in_feed": false
}
]
···
}
]
},
"https://anil.recoil.org/notes/roadmap-ocamlorg-v3": {
"id": "https://anil.recoil.org/notes/roadmap-ocamlorg-v3",
"title": "Roadmap for OCaml's online presence",
···
}
]
},
"https://anil.recoil.org/ideas/void-processes": {
"id": "https://anil.recoil.org/ideas/void-processes",
"title": "Void Processes: Minimising privilege by default",
···
{
"url": "https://github.com/mSinkievic/troll-ocaml",
"normalized_url": "https://github.com/mSinkievic/troll-ocaml",
"in_feed": false
}
]
···
"referenced_by": [],
"external_links": []
},
+
"tag:blogger.com,1999:blog-19062127.post-8959404450185819176": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-8959404450185819176",
+
"title": "folding",
+
"link": "https://paravirtualization.blogspot.com/2025/03/folding.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
+
},
"https://anil.recoil.org/notes/ai-for-evidence-synthesis-workshop": {
"id": "https://anil.recoil.org/notes/ai-for-evidence-synthesis-workshop",
"title": "A fully AI-generated paper just passed peer review; notes from our evidence synthesis workshop",
···
{
"url": "https://www.linkedin.com/feed/update/urn:li:activity:7303431795587309569/",
"normalized_url": "https://linkedin.com/feed/update/urn:li:activity:7303431795587309569",
+
"in_feed": false
+
}
+
]
+
},
+
"tag:blogger.com,1999:blog-19062127.post-4549083307741752065": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-4549083307741752065",
+
"title": "ancient history",
+
"link": "https://paravirtualization.blogspot.com/2025/03/ancient-history.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://en.wikipedia.org/wiki/Lascaux#/media/File:Lascaux-IV_01.jpg",
+
"normalized_url": "https://en.wikipedia.org/wiki/Lascaux",
"in_feed": false
}
]
···
"in_feed": false
}
]
+
},
+
"tag:blogger.com,1999:blog-19062127.post-4686477184891368666": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-4686477184891368666",
+
"title": "devaluation of ai",
+
"link": "https://paravirtualization.blogspot.com/2025/03/devaluation-of-ai.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
},
"https://anil.recoil.org/notes/deprecating-ocaml-408": {
"id": "https://anil.recoil.org/notes/deprecating-ocaml-408",
···
}
]
},
+
"tag:blogger.com,1999:blog-19062127.post-799193033427876009": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-799193033427876009",
+
"title": "spindizzy rabits in space - what to do with the old cavendish portakabins...",
+
"link": "https://paravirtualization.blogspot.com/2025/01/spindizzy-rabits-in-space-what-do-do.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
+
},
"https://patrick.sirref.org/weekly-2025-01-20/": {
"id": "https://patrick.sirref.org/weekly-2025-01-20/",
"title": "Forester, ICFP, Wikis",
···
}
]
},
+
"tag:blogger.com,1999:blog-19062127.post-2646320592845630174": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-2646320592845630174",
+
"title": "computer science is quite a young subject...",
+
"link": "https://paravirtualization.blogspot.com/2024/12/computer-science-is-quite-young-subject.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://www.ucl.ac.uk/computer-science/about/about-peter-kirstein",
+
"normalized_url": "https://ucl.ac.uk/computer-science/about/about-peter-kirstein",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cst.cam.ac.uk/news/ross-anderson",
+
"normalized_url": "https://cst.cam.ac.uk/news/ross-anderson",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cst.cam.ac.uk/news/computer-scientist-whose-technology-helped-millions-prove-their-identity",
+
"normalized_url": "https://cst.cam.ac.uk/news/computer-scientist-whose-technology-helped-millions-prove-their-identity",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cam.ac.uk/news/professor-sir-maurice-wilkes-1913-2010",
+
"normalized_url": "https://cam.ac.uk/news/professor-sir-maurice-wilkes-1913-2010",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/archive/rm135/",
+
"normalized_url": "https://cl.cam.ac.uk/archive/rm135",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/archive/mjcg/",
+
"normalized_url": "https://cl.cam.ac.uk/archive/mjcg",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/archive/ksj21/",
+
"normalized_url": "https://cl.cam.ac.uk/archive/ksj21",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/misc/obituaries/wheeler/",
+
"normalized_url": "https://cl.cam.ac.uk/misc/obituaries/wheeler",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/misc/obituaries/needham/",
+
"normalized_url": "https://cl.cam.ac.uk/misc/obituaries/needham",
+
"in_feed": false
+
},
+
{
+
"url": "http://www.iankitching.me.uk/history/cam/whim.html",
+
"normalized_url": "http://iankitching.me.uk/history/cam/whim.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Reality_Checkpoint",
+
"normalized_url": "https://en.wikipedia.org/wiki/Reality_Checkpoint",
+
"in_feed": false
+
}
+
]
+
},
"https://ryan.freumh.org/2024-12-30.html": {
"id": "https://ryan.freumh.org/2024-12-30.html",
"title": "Mon 30 Dec 2024",
···
"in_feed": true
}
],
+
"external_links": []
+
},
+
"tag:blogger.com,1999:blog-19062127.post-2486491431453773737": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-2486491431453773737",
+
"title": "the north london book of the not quite dead",
+
"link": "https://paravirtualization.blogspot.com/2024/12/the-north-london-book-of-not-quite-dead.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
"external_links": []
},
"https://mort.io/blog/tum-retreat/": {
···
"referenced_by": [],
"external_links": []
},
+
"tag:blogger.com,1999:blog-19062127.post-6902697778168499884": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-6902697778168499884",
+
"title": "Travel Risk Assessment Made Simple",
+
"link": "https://paravirtualization.blogspot.com/2024/11/travel-risk-assessment-made-simple.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
+
},
+
"tag:blogger.com,1999:blog-19062127.post-1605265873913147492": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-1605265873913147492",
+
"title": "catastrophic unlearning...",
+
"link": "https://paravirtualization.blogspot.com/2024/11/catastrophic-unlearning.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
+
},
"https://watch.eeg.cl.cam.ac.uk/w/pxkLZ4jgVJMqjwZuhWicrK": {
"id": "https://watch.eeg.cl.cam.ac.uk/w/pxkLZ4jgVJMqjwZuhWicrK",
"title": "A CarbonFirst Approach for Decarbonizing Cloud Computing",
···
}
]
},
+
"tag:blogger.com,1999:blog-19062127.post-731919462448432788": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-731919462448432788",
+
"title": "Bicycle Bell Replacement tech",
+
"link": "https://paravirtualization.blogspot.com/2024/10/bicycle-bell-replacement-tech.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
+
},
"https://digitalflapjack.com/blog/building-ocaml-on-haiku/": {
"id": "https://digitalflapjack.com/blog/building-ocaml-on-haiku/",
"title": "Building OCaml on Haiku",
···
"referenced_by": [],
"external_links": []
},
+
"tag:blogger.com,1999:blog-19062127.post-948766729525827156": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-948766729525827156",
+
"title": "self driving traffic lights",
+
"link": "https://paravirtualization.blogspot.com/2024/10/self-driving-traffic-lights.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
+
},
"https://ryan.freumh.org/2024-10-14.html": {
"id": "https://ryan.freumh.org/2024-10-14.html",
"title": "Mon 14 Oct 2024",
···
"references": [],
"referenced_by": [],
"external_links": []
+
},
+
"tag:blogger.com,1999:blog-19062127.post-1768962421528360999": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-1768962421528360999",
+
"title": "Fermi's last theorem resolved.",
+
"link": "https://paravirtualization.blogspot.com/2024/10/fermis-last-theorem-resolved.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://www.cl.cam.ac.uk/~rja14/Papers/toulouse.pdf",
+
"normalized_url": "https://cl.cam.ac.uk/~rja14/Papers/toulouse.pdf",
+
"in_feed": false
+
}
+
]
},
"https://anil.recoil.org/notes/socc-pc": {
"id": "https://anil.recoil.org/notes/socc-pc",
···
"in_feed": false
}
]
+
},
+
"tag:blogger.com,1999:blog-19062127.post-5882554149199894379": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-5882554149199894379",
+
"title": "socialising the early internet versus ai....",
+
"link": "https://paravirtualization.blogspot.com/2024/08/socialising-early-internet-versus-ai.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
},
"https://anil.recoil.org/news/2024-nbs-risk-2": {
"id": "https://anil.recoil.org/news/2024-nbs-risk-2",
···
}
]
},
+
"tag:blogger.com,1999:blog-19062127.post-4222520672957824644": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-4222520672957824644",
+
"title": "smelly media",
+
"link": "https://paravirtualization.blogspot.com/2024/08/smelly-media.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
+
},
"https://ryan.freumh.org/2024-08-26.html": {
"id": "https://ryan.freumh.org/2024-08-26.html",
"title": "Mon 26 Aug 2024",
···
{
"url": "https://restic.net/",
"normalized_url": "https://restic.net",
+
"in_feed": false
+
}
+
]
+
},
+
"tag:blogger.com,1999:blog-19062127.post-7133491669333269672": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-7133491669333269672",
+
"title": "A true and fair history of the fair town of Paleochora",
+
"link": "https://paravirtualization.blogspot.com/2024/08/a-true-and-fair-history-of-fair-town-of.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://en.wikipedia.org/wiki/Sundiata_Keita",
+
"normalized_url": "https://en.wikipedia.org/wiki/Sundiata_Keita",
"in_feed": false
}
]
···
}
]
},
+
"tag:blogger.com,1999:blog-19062127.post-1018876769060939746": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-1018876769060939746",
+
"title": "what is the internet, what is ai, and what is for dinner?",
+
"link": "https://paravirtualization.blogspot.com/2024/07/what-is-internet-what-is-ai-and-what-is.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
+
},
"https://anil.recoil.org/notes/student-ideas": {
"id": "https://anil.recoil.org/notes/student-ideas",
"title": "New set of ideas for incoming students",
···
"title": "Real-time Wildlife Monitoring",
"link": "https://watch.eeg.cl.cam.ac.uk/w/tyPqbNvp3isgTDZVVoLFD1",
"feed_title": "EEG Seminars",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
+
},
+
"tag:blogger.com,1999:blog-19062127.post-1092344171793765711": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-1092344171793765711",
+
"title": "randix",
+
"link": "https://paravirtualization.blogspot.com/2024/07/randix.html",
+
"feed_title": "A True History of the Internet",
"references": [],
"referenced_by": [],
"external_links": []
···
"referenced_by": [],
"external_links": []
},
+
"http://martin.kleppmann.com/2024/07/05/pudding-user-discovery-anonymity-networks.html": {
+
"id": "http://martin.kleppmann.com/2024/07/05/pudding-user-discovery-anonymity-networks.html",
+
"title": "Pudding: user discovery for anonymity networks",
+
"link": "http://martin.kleppmann.com/2024/07/05/pudding-user-discovery-anonymity-networks.html",
+
"feed_title": "Martin Kleppmann's blog",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://arxiv.org/abs/2311.10825",
+
"normalized_url": "https://arxiv.org/abs/2311.10825",
+
"in_feed": false
+
},
+
{
+
"url": "https://twitter.com/ckocaogullar1",
+
"normalized_url": "https://twitter.com/ckocaogullar1",
+
"in_feed": false
+
},
+
{
+
"url": "https://sp2024.ieee-security.org",
+
"normalized_url": "https://sp2024.ieee-security.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.danielhugenroth.com/",
+
"normalized_url": "https://danielhugenroth.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/~arb33/",
+
"normalized_url": "https://cl.cam.ac.uk/~arb33",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.youtube.com/watch?v=EEUdslTwYZ8",
+
"normalized_url": "https://youtube.com/watch?v=EEUdslTwYZ8",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.torproject.org/",
+
"normalized_url": "https://torproject.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://nymtech.net/",
+
"normalized_url": "https://nymtech.net",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.usenix.org/conference/usenixsecurity17/technical-sessions/presentation/piotrowska",
+
"normalized_url": "https://usenix.org/conference/usenixsecurity17/technical-sessions/presentation/piotrowska",
+
"in_feed": false
+
},
+
{
+
"url": "https://community.torproject.org/onion-services/",
+
"normalized_url": "https://community.torproject.org/onion-services",
+
"in_feed": false
+
},
+
{
+
"url": "https://nymtech.net/docs/architecture/addressing-system.html",
+
"normalized_url": "https://nymtech.net/docs/architecture/addressing-system.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Key_signing_party",
+
"normalized_url": "https://en.wikipedia.org/wiki/Key_signing_party",
+
"in_feed": false
+
},
+
{
+
"url": "https://crdt.tech/",
+
"normalized_url": "https://crdt.tech",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.inkandswitch.com/local-first/",
+
"normalized_url": "https://inkandswitch.com/local-first",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/ckocaogullar/pudding-protocol",
+
"normalized_url": "https://github.com/ckocaogullar/pudding-protocol",
+
"in_feed": false
+
}
+
]
+
},
"https://anil.recoil.org/news/2024-life-2": {
"id": "https://anil.recoil.org/news/2024-life-2",
"title": "Second preprint of the LIFE biodiversity metric available",
···
],
"external_links": []
},
+
"tag:blogger.com,1999:blog-19062127.post-3148078049203183039": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-3148078049203183039",
+
"title": "Ten Tales of Ross Anderson, mostly tall",
+
"link": "https://paravirtualization.blogspot.com/2024/06/tales-of-ross-anderson-mostly-tall.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
+
},
"https://watch.eeg.cl.cam.ac.uk/w/nfXCsAiyawBPM2qzdpRCfB": {
"id": "https://watch.eeg.cl.cam.ac.uk/w/nfXCsAiyawBPM2qzdpRCfB",
"title": "Tackling the Hidden Costs of Computational Science",
···
"in_feed": false
}
]
+
},
+
"tag:blogger.com,1999:blog-19062127.post-6204825028186466172": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-6204825028186466172",
+
"title": "10,000 maniacs and AI is destroying Computer Science, one topic at a time....",
+
"link": "https://paravirtualization.blogspot.com/2024/06/10000-manacs-and-ai-is-destroying.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
},
"https://anil.recoil.org/news/2024-hyper-tropical-mapping-1": {
"id": "https://anil.recoil.org/news/2024-hyper-tropical-mapping-1",
···
}
]
},
+
"tag:blogger.com,1999:blog-19062127.post-8532119591216467647": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-8532119591216467647",
+
"title": "Cross \"Border\" Digital Infrastructure",
+
"link": "https://paravirtualization.blogspot.com/2024/05/cross-border-digital-infrastructure.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2527951",
+
"normalized_url": "https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2527951",
+
"in_feed": false
+
}
+
]
+
},
+
"tag:blogger.com,1999:blog-19062127.post-2270060711539308948": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-2270060711539308948",
+
"title": "sustainability of digital wallets for public infrastructure services",
+
"link": "https://paravirtualization.blogspot.com/2024/05/sustainability-of-digital-wallets-for.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://www.cl.cam.ac.uk/~drt24/papers/spsm-scoring.pdf",
+
"normalized_url": "https://cl.cam.ac.uk/~drt24/papers/spsm-scoring.pdf",
+
"in_feed": false
+
}
+
]
+
},
+
"tag:blogger.com,1999:blog-19062127.post-7059686906301937000": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-7059686906301937000",
+
"title": "DPG #2 or should I say DPPG or possibly DPPI",
+
"link": "https://paravirtualization.blogspot.com/2024/05/dpg-2-or-should-i-say-dppg-or-possibly.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
+
},
+
"tag:blogger.com,1999:blog-19062127.post-6083489878349826265": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-6083489878349826265",
+
"title": "DPGs #1",
+
"link": "https://paravirtualization.blogspot.com/2024/05/dpgs-1.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://archive.org/details/addison-wesley-richard-stevens-tcp-ip-illustrated-the-protocols-volume-2",
+
"normalized_url": "https://archive.org/details/addison-wesley-richard-stevens-tcp-ip-illustrated-the-protocols-volume-2",
+
"in_feed": false
+
},
+
{
+
"url": "https://courses.cs.duke.edu/common/compsci092/papers/govern/tussleincyberspacepdf.pdf",
+
"normalized_url": "https://courses.cs.duke.edu/common/compsci092/papers/govern/tussleincyberspacepdf.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.internetsociety.org/",
+
"normalized_url": "https://internetsociety.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.ietf.org/",
+
"normalized_url": "https://ietf.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Interop",
+
"normalized_url": "https://en.wikipedia.org/wiki/Interop",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.ripe.net/",
+
"normalized_url": "https://ripe.net",
+
"in_feed": false
+
},
+
{
+
"url": "https://afrinic.net/",
+
"normalized_url": "https://afrinic.net",
+
"in_feed": false
+
},
+
{
+
"url": "https://conferences.sigcomm.org/sigcomm/2023/program.html",
+
"normalized_url": "https://conferences.sigcomm.org/sigcomm/2023/program.html",
+
"in_feed": false
+
}
+
]
+
},
"https://ryan.freumh.org/2024-05-20.html": {
"id": "https://ryan.freumh.org/2024-05-20.html",
"title": "Mon 20 May 2024",
···
}
]
},
+
"tag:blogger.com,1999:blog-19062127.post-7999667204894138878": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-7999667204894138878",
+
"title": "social media convestions and aliens in the ether",
+
"link": "https://paravirtualization.blogspot.com/2024/04/social-media-convestions-and-aliens-in.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://en.wikipedia.org/wiki/Fermi_paradox",
+
"normalized_url": "https://en.wikipedia.org/wiki/Fermi_paradox",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Olbers%27s_paradox",
+
"normalized_url": "https://en.wikipedia.org/wiki/Olbers%27s_paradox",
+
"in_feed": false
+
}
+
]
+
},
"https://ryan.freumh.org/2024-04-08.html": {
"id": "https://ryan.freumh.org/2024-04-08.html",
"title": "Mon 8 Apr 2024",
···
],
"external_links": []
},
+
"tag:blogger.com,1999:blog-19062127.post-1856249415092326099": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-1856249415092326099",
+
"title": "Witch Consumer Magazine, review of the leader boared top three LLMs \"Conformit\u00e9 Ecologique\" (the ubiquitous CE marque)",
+
"link": "https://paravirtualization.blogspot.com/2024/03/witch-consumer-magazine-review-of.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": []
+
},
"https://anil.recoil.org/news/2024-nbs-risk-1": {
"id": "https://anil.recoil.org/news/2024-nbs-risk-1",
"title": "Preprint available on insuring against variability of NbS",
···
}
]
},
+
"tag:blogger.com,1999:blog-19062127.post-6565644211801997699": {
+
"id": "tag:blogger.com,1999:blog-19062127.post-6565644211801997699",
+
"title": "Towards International Goverance of AI",
+
"link": "https://paravirtualization.blogspot.com/2024/02/towards-international-goverance-of-ai.html",
+
"feed_title": "A True History of the Internet",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://royalsocietypublishing.org/doi/10.1098/rspa.2019.0255",
+
"normalized_url": "https://royalsocietypublishing.org/doi/10.1098/rspa.2019.0255",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Capital_in_the_Twenty-First_Century",
+
"normalized_url": "https://en.wikipedia.org/wiki/Capital_in_the_Twenty-First_Century",
+
"in_feed": false
+
}
+
]
+
},
"https://ryan.freumh.org/2024-02-26.html": {
"id": "https://ryan.freumh.org/2024-02-26.html",
"title": "Mon 26 Feb 2024",
···
{
"url": "https://github.com/stalwartlabs/mail-server",
"normalized_url": "https://github.com/stalwartlabs/mail-server",
+
"in_feed": false
+
}
+
]
+
},
+
"http://martin.kleppmann.com/2024/01/04/year-in-review.html": {
+
"id": "http://martin.kleppmann.com/2024/01/04/year-in-review.html",
+
"title": "2023 year in review",
+
"link": "http://martin.kleppmann.com/2024/01/04/year-in-review.html",
+
"feed_title": "Martin Kleppmann's blog",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://www.cst.cam.ac.uk/news/new-associate-professor-computer-security-and-privacy",
+
"normalized_url": "https://cst.cam.ac.uk/news/new-associate-professor-computer-security-and-privacy",
+
"in_feed": false
+
},
+
{
+
"url": "https://portal.volkswagenstiftung.de/search/projectDetails.do?siteLanguage=en&ref=9B116",
+
"normalized_url": "https://portal.volkswagenstiftung.de/search/projectDetails.do?siteLanguage=en",
+
"in_feed": false
+
},
+
{
+
"url": "https://arxiv.org/abs/2311.10825",
+
"normalized_url": "https://arxiv.org/abs/2311.10825",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.linkedin.com/in/cerenkocaogullar/",
+
"normalized_url": "https://linkedin.com/in/cerenkocaogullar",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.danielhugenroth.com/",
+
"normalized_url": "https://danielhugenroth.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/~arb33/",
+
"normalized_url": "https://cl.cam.ac.uk/~arb33",
+
"in_feed": false
+
},
+
{
+
"url": "https://sp2024.ieee-security.org/",
+
"normalized_url": "https://sp2024.ieee-security.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.usenix.org/conference/usenixsecurity17/technical-sessions/presentation/piotrowska",
+
"normalized_url": "https://usenix.org/conference/usenixsecurity17/technical-sessions/presentation/piotrowska",
+
"in_feed": false
+
},
+
{
+
"url": "https://nymtech.net/",
+
"normalized_url": "https://nymtech.net",
+
"in_feed": false
+
},
+
{
+
"url": "https://mattweidner.com/",
+
"normalized_url": "https://mattweidner.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://arxiv.org/abs/2305.00583",
+
"normalized_url": "https://arxiv.org/abs/2305.00583",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.inkandswitch.com/upwelling/",
+
"normalized_url": "https://inkandswitch.com/upwelling",
+
"in_feed": false
+
},
+
{
+
"url": "https://okdistribute.xyz/",
+
"normalized_url": "https://okdistribute.xyz",
+
"in_feed": false
+
},
+
{
+
"url": "https://jenson.org/",
+
"normalized_url": "https://jenson.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://bumble.blue/",
+
"normalized_url": "https://bumble.blue",
+
"in_feed": false
+
},
+
{
+
"url": "https://bcook.ca/",
+
"normalized_url": "https://bcook.ca",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.inkandswitch.com/",
+
"normalized_url": "https://inkandswitch.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://liangrunda.com/",
+
"normalized_url": "https://liangrunda.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://arxiv.org/abs/2311.14007",
+
"normalized_url": "https://arxiv.org/abs/2311.14007",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/TUM-DSE/research-work-archive/blob/main/archive/2023/summer/docs/gr_stewen_undo_and_redo_support_for_replicated_registers.pdf",
+
"normalized_url": "https://github.com/TUM-DSE/research-work-archive/blob/main/archive/2023/summer/docs/gr_stewen_undo_and_redo_support_for_replicated_registers.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://automerge.org/",
+
"normalized_url": "https://automerge.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.memoryandthought.me/",
+
"normalized_url": "https://memoryandthought.me",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/sponsors/automerge",
+
"normalized_url": "https://github.com/sponsors/automerge",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.patreon.com/martinkl",
+
"normalized_url": "https://patreon.com/martinkl",
+
"in_feed": false
+
},
+
{
+
"url": "https://automerge.org/blog/automerge-2/",
+
"normalized_url": "https://automerge.org/blog/automerge-2",
+
"in_feed": false
+
},
+
{
+
"url": "https://automerge.org/docs/the_js_packages/",
+
"normalized_url": "https://automerge.org/docs/the_js_packages",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/automerge/automerge/tree/main/rust/automerge-c",
+
"normalized_url": "https://github.com/automerge/automerge/tree/main/rust/automerge-c",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/automerge/automerge-go",
+
"normalized_url": "https://github.com/automerge/automerge-go",
+
"in_feed": false
+
},
+
{
+
"url": "https://automerge.org/automerge-swift/documentation/automerge/",
+
"normalized_url": "https://automerge.org/automerge-swift/documentation/automerge",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/automerge/automerge-java",
+
"normalized_url": "https://github.com/automerge/automerge-java",
+
"in_feed": false
+
},
+
{
+
"url": "https://automerge.org/blog/2023/11/06/automerge-repo/",
+
"normalized_url": "https://automerge.org/blog/2023/11/06/automerge-repo",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/automerge/automerge-repo",
+
"normalized_url": "https://github.com/automerge/automerge-repo",
+
"in_feed": false
+
},
+
{
+
"url": "https://blueskyweb.org/",
+
"normalized_url": "https://blueskyweb.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://bsky.jazco.dev/stats",
+
"normalized_url": "https://bsky.jazco.dev/stats",
+
"in_feed": false
+
},
+
{
+
"url": "https://atproto.com/",
+
"normalized_url": "https://atproto.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://soft.vub.ac.be/dare23/",
+
"normalized_url": "https://soft.vub.ac.be/dare23",
+
"in_feed": false
+
},
+
{
+
"url": "https://lu.ma/localfirstswunconf-stlouis",
+
"normalized_url": "https://lu.ma/localfirstswunconf-stlouis",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/LoFiUnconf/stlouis2023",
+
"normalized_url": "https://github.com/LoFiUnconf/stlouis2023",
+
"in_feed": false
+
},
+
{
+
"url": "https://2023.splashcon.org/home/plf-2023",
+
"normalized_url": "https://2023.splashcon.org/home/plf-2023",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/expede",
+
"normalized_url": "https://github.com/expede",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.youtube.com/watch?v=VJ_GeNfZXrQ",
+
"normalized_url": "https://youtube.com/watch?v=VJ_GeNfZXrQ",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.youtube.com/watch?v=Mr0a5KyD6BU",
+
"normalized_url": "https://youtube.com/watch?v=Mr0a5KyD6BU",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.inkandswitch.com/peritext/",
+
"normalized_url": "https://inkandswitch.com/peritext",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.youtube.com/watch?v=VKHBRU3cKXw",
+
"normalized_url": "https://youtube.com/watch?v=VKHBRU3cKXw",
+
"in_feed": false
+
},
+
{
+
"url": "https://datatracker.ietf.org/meeting/118/session/dinrg",
+
"normalized_url": "https://datatracker.ietf.org/meeting/118/session/dinrg",
+
"in_feed": false
+
},
+
{
+
"url": "https://dataintensive.net/",
+
"normalized_url": "https://dataintensive.net",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.inkandswitch.com/local-first/",
+
"normalized_url": "https://inkandswitch.com/local-first",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.wired.com/story/the-cloud-is-a-prison-can-the-local-first-software-movement-set-us-free/",
+
"normalized_url": "https://wired.com/story/the-cloud-is-a-prison-can-the-local-first-software-movement-set-us-free",
+
"in_feed": false
+
},
+
{
+
"url": "https://bricolage.io/some-notes-on-local-first-development/",
+
"normalized_url": "https://bricolage.io/some-notes-on-local-first-development",
+
"in_feed": false
+
},
+
{
+
"url": "https://lwn.net/Articles/902463/",
+
"normalized_url": "https://lwn.net/Articles/902463",
+
"in_feed": false
+
},
+
{
+
"url": "https://localfirstweb.dev/",
+
"normalized_url": "https://localfirstweb.dev",
+
"in_feed": false
+
},
+
{
+
"url": "https://lu.ma/6mux94ll",
+
"normalized_url": "https://lu.ma/6mux94ll",
+
"in_feed": false
+
},
+
{
+
"url": "https://guild.host/events/localfirst-software-dkh284",
+
"normalized_url": "https://guild.host/events/localfirst-software-dkh284",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.thoughtworks.com/content/dam/thoughtworks/documents/radar/2022/10/tr_technology_radar_vol_27_en.pdf",
+
"normalized_url": "https://thoughtworks.com/content/dam/thoughtworks/documents/radar/2022/10/tr_technology_radar_vol_27_en.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://anytype.io/",
+
"normalized_url": "https://anytype.io",
+
"in_feed": false
+
},
+
{
+
"url": "https://fission.codes/",
+
"normalized_url": "https://fission.codes",
+
"in_feed": false
+
},
+
{
+
"url": "https://replicache.dev/",
+
"normalized_url": "https://replicache.dev",
+
"in_feed": false
+
},
+
{
+
"url": "https://mycelial.com/",
+
"normalized_url": "https://mycelial.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://electric-sql.com/",
+
"normalized_url": "https://electric-sql.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://odd.dev/",
+
"normalized_url": "https://odd.dev",
+
"in_feed": false
+
},
+
{
+
"url": "https://tinybase.org/",
+
"normalized_url": "https://tinybase.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://aphrodite.sh/",
+
"normalized_url": "https://aphrodite.sh",
+
"in_feed": false
+
},
+
{
+
"url": "https://dxos.org/",
+
"normalized_url": "https://dxos.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/orbitdb/orbit-db",
+
"normalized_url": "https://github.com/orbitdb/orbit-db",
+
"in_feed": false
+
},
+
{
+
"url": "https://p2panda.org/",
+
"normalized_url": "https://p2panda.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://socketsupply.co/guides/",
+
"normalized_url": "https://socketsupply.co/guides",
+
"in_feed": false
+
},
+
{
+
"url": "https://kde.org/for/travelers/",
+
"normalized_url": "https://kde.org/for/travelers",
+
"in_feed": false
+
},
+
{
+
"url": "https://scholar.google.com/scholar?cites=792121589490097600&as_sdt=2005&sciodt=0,5&hl=en",
+
"normalized_url": "https://scholar.google.com/scholar?cites=792121589490097600&as_sdt=2005&sciodt=0,5&hl=en",
"in_feed": false
}
]
···
"referenced_by": [],
"external_links": []
},
+
"http://martin.kleppmann.com/2022/10/12/verifying-distributed-systems-isabelle.html": {
+
"id": "http://martin.kleppmann.com/2022/10/12/verifying-distributed-systems-isabelle.html",
+
"title": "Verifying distributed systems with Isabelle/HOL",
+
"link": "http://martin.kleppmann.com/2022/10/12/verifying-distributed-systems-isabelle.html",
+
"feed_title": "Martin Kleppmann's blog",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://lawrencecpaulson.github.io/2022/10/12/verifying-distributed-systems-isabelle.html",
+
"normalized_url": "https://lawrencecpaulson.github.io/2022/10/12/verifying-distributed-systems-isabelle.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://lamport.azurewebsites.net/tla/tla.html",
+
"normalized_url": "https://lamport.azurewebsites.net/tla/tla.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.youtube.com/watch?v=Uav5jWHNghY",
+
"normalized_url": "https://youtube.com/watch?v=Uav5jWHNghY",
+
"in_feed": false
+
},
+
{
+
"url": "https://gist.github.com/ept/b6872fc541a68a321a26198b53b3896b",
+
"normalized_url": "https://gist.github.com/ept/b6872fc541a68a321a26198b53b3896b",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.in.tum.de/en/in/cover-page/",
+
"normalized_url": "https://in.tum.de/en/in/cover-page",
+
"in_feed": false
+
}
+
]
+
},
"https://anil.recoil.org/news/rwo-2": {
"id": "https://anil.recoil.org/news/rwo-2",
"title": "The 2nd ed of Real World OCaml is available in shops",
···
{
"url": "https://blog.cloudflare.com/the-weird-and-wonderful-world-of-dns-loc-records/",
"normalized_url": "https://blog.cloudflare.com/the-weird-and-wonderful-world-of-dns-loc-records",
+
"in_feed": false
+
}
+
]
+
},
+
"http://martin.kleppmann.com/2022/01/03/future-of-fusion-energy.html": {
+
"id": "http://martin.kleppmann.com/2022/01/03/future-of-fusion-energy.html",
+
"title": "Book Review: The Future of Fusion Energy",
+
"link": "http://martin.kleppmann.com/2022/01/03/future-of-fusion-energy.html",
+
"feed_title": "Martin Kleppmann's blog",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://amzn.to/3sUypW6",
+
"normalized_url": "https://amzn.to/3sUypW6",
+
"in_feed": false
+
},
+
{
+
"url": "https://amzn.to/3eHCpkB",
+
"normalized_url": "https://amzn.to/3eHCpkB",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Lawson_criterion",
+
"normalized_url": "https://en.wikipedia.org/wiki/Lawson_criterion",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/ITER",
+
"normalized_url": "https://en.wikipedia.org/wiki/ITER",
"in_feed": false
}
]
···
}
]
},
+
"http://martin.kleppmann.com/2021/09/01/podcast-interviews.html": {
+
"id": "http://martin.kleppmann.com/2021/09/01/podcast-interviews.html",
+
"title": "Several podcast interviews",
+
"link": "http://martin.kleppmann.com/2021/09/01/podcast-interviews.html",
+
"feed_title": "Martin Kleppmann's blog",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://www.youtube.com/playlist?list=PLeKd45zvjcDHJxge6VtYUAbYnvd_VNQCx",
+
"normalized_url": "https://youtube.com/playlist?list=PLeKd45zvjcDHJxge6VtYUAbYnvd_VNQCx",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.wix.engineering/",
+
"normalized_url": "https://wix.engineering",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.youtube.com/watch?v=jtK7LOcP76s",
+
"normalized_url": "https://youtube.com/watch?v=jtK7LOcP76s",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.wix.engineering/post/wix-engineering-tech-interviews-martin-kleppmann-natan-silnitsky",
+
"normalized_url": "https://wix.engineering/post/wix-engineering-tech-interviews-martin-kleppmann-natan-silnitsky",
+
"in_feed": false
+
},
+
{
+
"url": "https://museapp.com/podcast/",
+
"normalized_url": "https://museapp.com/podcast",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.inkandswitch.com/local-first.html",
+
"normalized_url": "https://inkandswitch.com/local-first.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://museapp.com/podcast/41-local-first-software/",
+
"normalized_url": "https://museapp.com/podcast/41-local-first-software",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.torocloud.com/podcast",
+
"normalized_url": "https://torocloud.com/podcast",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.torocloud.com/podcast/designing-data-intensive-applications-martin-kleppmann",
+
"normalized_url": "https://torocloud.com/podcast/designing-data-intensive-applications-martin-kleppmann",
+
"in_feed": false
+
},
+
{
+
"url": "https://soundcloud.com/codingovercocktails/designing-data-intensive-applications-with-martin-kleppman",
+
"normalized_url": "https://soundcloud.com/codingovercocktails/designing-data-intensive-applications-with-martin-kleppman",
+
"in_feed": false
+
},
+
{
+
"url": "https://podcasts.apple.com/ph/podcast/designing-data-intensive-applications-with-martin/id1531450276?i=1000533284011",
+
"normalized_url": "https://podcasts.apple.com/ph/podcast/designing-data-intensive-applications-with-martin/id1531450276?i=1000533284011",
+
"in_feed": false
+
},
+
{
+
"url": "https://podcasts.google.com/feed/aHR0cHM6Ly9mZWVkcy5zb3VuZGNsb3VkLmNvbS91c2Vycy9zb3VuZGNsb3VkOnVzZXJzOjg3MjM0NTQxNi9zb3VuZHMucnNz/episode/dGFnOnNvdW5kY2xvdWQsMjAxMDp0cmFja3MvMTExMzg4MDIxNg?sa=X&ved=0CAUQkfYCahcKEwjo-NOKhdjyAhUAAAAAHQAAAAAQAQ",
+
"normalized_url": "https://podcasts.google.com/feed/aHR0cHM6Ly9mZWVkcy5zb3VuZGNsb3VkLmNvbS91c2Vycy9zb3VuZGNsb3VkOnVzZXJzOjg3MjM0NTQxNi9zb3VuZHMucnNz/episode/dGFnOnNvdW5kY2xvdWQsMjAxMDp0cmFja3MvMTExMzg4MDIxNg?sa=X&ved=0CAUQkfYCahcKEwjo-NOKhdjyAhUAAAAAHQAAAAAQAQ",
+
"in_feed": false
+
},
+
{
+
"url": "https://programming.love/",
+
"normalized_url": "https://programming.love",
+
"in_feed": false
+
},
+
{
+
"url": "https://programming.love/programming-love-with-martin-kleppmann/",
+
"normalized_url": "https://programming.love/programming-love-with-martin-kleppmann",
+
"in_feed": false
+
},
+
{
+
"url": "https://podcasts.apple.com/us/podcast/programming-love-with-martin-kleppmann/id1518407590?i=1000495317576",
+
"normalized_url": "https://podcasts.apple.com/us/podcast/programming-love-with-martin-kleppmann/id1518407590?i=1000495317576",
+
"in_feed": false
+
},
+
{
+
"url": "https://open.spotify.com/episode/7oc4i8h0LaFUx5l8ghJOOD",
+
"normalized_url": "https://open.spotify.com/episode/7oc4i8h0LaFUx5l8ghJOOD",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.stitcher.com/show/programming-love/episode/programming-love-with-martin-kleppmann-78699629",
+
"normalized_url": "https://stitcher.com/show/programming-love/episode/programming-love-with-martin-kleppmann-78699629",
+
"in_feed": false
+
},
+
{
+
"url": "https://medium.com/csr-tales",
+
"normalized_url": "https://medium.com/csr-tales",
+
"in_feed": false
+
},
+
{
+
"url": "https://medium.com/csr-tales/csrtale-13-formal-verification-of-strong-eventual-consistency-1cc0af942e64",
+
"normalized_url": "https://medium.com/csr-tales/csrtale-13-formal-verification-of-strong-eventual-consistency-1cc0af942e64",
+
"in_feed": false
+
},
+
{
+
"url": "https://hydraconf.com/",
+
"normalized_url": "https://hydraconf.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://medium.com/@hydraconference/the-big-interview-with-martin-kleppmann-figuring-out-the-future-of-distributed-data-systems-28a680d99ae6",
+
"normalized_url": "https://medium.com/@hydraconference/the-big-interview-with-martin-kleppmann-figuring-out-the-future-of-distributed-data-systems-28a680d99ae6",
+
"in_feed": false
+
},
+
{
+
"url": "https://codepodcast.com/",
+
"normalized_url": "https://codepodcast.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.investedinvestor.com/index",
+
"normalized_url": "https://investedinvestor.com/index",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.investedinvestor.com/articles/2018/1/23/martin-kleppmann",
+
"normalized_url": "https://investedinvestor.com/articles/2018/1/23/martin-kleppmann",
+
"in_feed": false
+
},
+
{
+
"url": "https://audioboom.com/posts/6621031-martin-kleppmann-to-silicon-valley-and-back-again-with-two-exits-along-the-way",
+
"normalized_url": "https://audioboom.com/posts/6621031-martin-kleppmann-to-silicon-valley-and-back-again-with-two-exits-along-the-way",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.investedinvestor.com/martin-kleppmann-transcription",
+
"normalized_url": "https://investedinvestor.com/martin-kleppmann-transcription",
+
"in_feed": false
+
},
+
{
+
"url": "https://softwareengineeringdaily.com/",
+
"normalized_url": "https://softwareengineeringdaily.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://softwareengineeringdaily.com/2017/05/02/data-intensive-applications-with-martin-kleppmann/",
+
"normalized_url": "https://softwareengineeringdaily.com/2017/05/02/data-intensive-applications-with-martin-kleppmann",
+
"in_feed": false
+
},
+
{
+
"url": "http://traffic.libsyn.com/sedaily/dataintensive_edited_fixed.mp3",
+
"normalized_url": "http://traffic.libsyn.com/sedaily/dataintensive_edited_fixed.mp3",
+
"in_feed": false
+
},
+
{
+
"url": "http://softwareengineeringdaily.com/wp-content/uploads/2017/05/SEDT15-Data-Intensive-Apps.pdf",
+
"normalized_url": "http://softwareengineeringdaily.com/wp-content/uploads/2017/05/SEDT15-Data-Intensive-Apps.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://softwareengineeringdaily.com/2017/12/08/decentralized-objects-with-martin-kleppman/",
+
"normalized_url": "https://softwareengineeringdaily.com/2017/12/08/decentralized-objects-with-martin-kleppman",
+
"in_feed": false
+
},
+
{
+
"url": "http://traffic.libsyn.com/sedaily/CRDTs_Decentralized_Files.mp3",
+
"normalized_url": "http://traffic.libsyn.com/sedaily/CRDTs_Decentralized_Files.mp3",
+
"in_feed": false
+
},
+
{
+
"url": "https://softwareengineeringdaily.com/wp-content/uploads/2017/12/SED477-CRDTs-Decentralized-Files.pdf",
+
"normalized_url": "https://softwareengineeringdaily.com/wp-content/uploads/2017/12/SED477-CRDTs-Decentralized-Files.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://advancetechmedia.org/",
+
"normalized_url": "https://advancetechmedia.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://advancetechmedia.org/episode-008-martin-kleppmann/",
+
"normalized_url": "https://advancetechmedia.org/episode-008-martin-kleppmann",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.infoq.com/",
+
"normalized_url": "https://infoq.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.infoq.com/interviews/kleppmann-data-infrastructure-logs-crdt/",
+
"normalized_url": "https://infoq.com/interviews/kleppmann-data-infrastructure-logs-crdt",
+
"in_feed": false
+
},
+
{
+
"url": "https://nurkiewicz.com/70",
+
"normalized_url": "https://nurkiewicz.com/70",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.youtube.com/watch?v=sMRpv0fBJLU",
+
"normalized_url": "https://youtube.com/watch?v=sMRpv0fBJLU",
+
"in_feed": false
+
}
+
]
+
},
"https://anil.recoil.org/notes/roadmap-ocamlorg-v3": {
"id": "https://anil.recoil.org/notes/roadmap-ocamlorg-v3",
"title": "Roadmap for OCaml's online presence",
···
}
]
},
+
"http://martin.kleppmann.com/2021/04/14/goodbye-gpl.html": {
+
"id": "http://martin.kleppmann.com/2021/04/14/goodbye-gpl.html",
+
"title": "It's time to say goodbye to the GPL",
+
"link": "http://martin.kleppmann.com/2021/04/14/goodbye-gpl.html",
+
"feed_title": "Martin Kleppmann's blog",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://www.fsf.org/news/statement-of-fsf-board-on-election-of-richard-stallman",
+
"normalized_url": "https://fsf.org/news/statement-of-fsf-board-on-election-of-richard-stallman",
+
"in_feed": false
+
},
+
{
+
"url": "https://rms-open-letter.github.io/",
+
"normalized_url": "https://rms-open-letter.github.io",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.fsf.org/",
+
"normalized_url": "https://fsf.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.gnu.org/gnu/incorrect-quotation.en.html",
+
"normalized_url": "https://gnu.org/gnu/incorrect-quotation.en.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/GNU_General_Public_License",
+
"normalized_url": "https://en.wikipedia.org/wiki/GNU_General_Public_License",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Copyleft",
+
"normalized_url": "https://en.wikipedia.org/wiki/Copyleft",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Derivative_work",
+
"normalized_url": "https://en.wikipedia.org/wiki/Derivative_work",
+
"in_feed": false
+
},
+
{
+
"url": "https://killedbygoogle.com/",
+
"normalized_url": "https://killedbygoogle.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://ourincrediblejourney.tumblr.com/",
+
"normalized_url": "https://ourincrediblejourney.tumblr.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://twitter.com/Demilogic/status/1358661840402845696",
+
"normalized_url": "https://twitter.com/Demilogic/status/1358661840402845696",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.paullimitless.com/google-account-suspended-no-reason-given/",
+
"normalized_url": "https://paullimitless.com/google-account-suspended-no-reason-given",
+
"in_feed": false
+
},
+
{
+
"url": "https://archive.org/details/softwarelibrary",
+
"normalized_url": "https://archive.org/details/softwarelibrary",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Office_Open_XML",
+
"normalized_url": "https://en.wikipedia.org/wiki/Office_Open_XML",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/",
+
"normalized_url": "https://adobe.com/devnet-apps/photoshop/fileformatashtml",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.inkandswitch.com/local-first.html",
+
"normalized_url": "https://inkandswitch.com/local-first.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Affero_General_Public_License",
+
"normalized_url": "https://en.wikipedia.org/wiki/Affero_General_Public_License",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.elastic.co/pricing/faq/licensing",
+
"normalized_url": "https://elastic.co/pricing/faq/licensing",
+
"in_feed": false
+
},
+
{
+
"url": "https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/individual-rights/right-to-data-portability/",
+
"normalized_url": "https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/individual-rights/right-to-data-portability",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Google_Takeout",
+
"normalized_url": "https://en.wikipedia.org/wiki/Google_Takeout",
+
"in_feed": false
+
},
+
{
+
"url": "https://interoperability.news/",
+
"normalized_url": "https://interoperability.news",
+
"in_feed": false
+
},
+
{
+
"url": "https://joinup.ec.europa.eu/sites/default/files/document/2011-12/OSS-procurement-guideline%20-final.pdf",
+
"normalized_url": "https://joinup.ec.europa.eu/sites/default/files/document/2011-12/OSS-procurement-guideline%20-final.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "http://gplv3.fsf.org/wiki/index.php/Compatible_licenses",
+
"normalized_url": "http://gplv3.fsf.org/wiki/index.php/Compatible_licenses",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.mongodb.com/licensing/server-side-public-license/faq",
+
"normalized_url": "https://mongodb.com/licensing/server-side-public-license/faq",
+
"in_feed": false
+
},
+
{
+
"url": "https://r0ml.medium.com/free-software-an-idea-whose-time-has-passed-6570c1d8218a",
+
"normalized_url": "https://r0ml.medium.com/free-software-an-idea-whose-time-has-passed-6570c1d8218a",
+
"in_feed": false
+
},
+
{
+
"url": "https://lu.is/blog/2021/04/07/values-centered-npos-with-kmaher/",
+
"normalized_url": "https://lu.is/blog/2021/04/07/values-centered-npos-with-kmaher",
+
"in_feed": false
+
},
+
{
+
"url": "https://opensource.org/licenses/MIT",
+
"normalized_url": "https://opensource.org/licenses/MIT",
+
"in_feed": false
+
},
+
{
+
"url": "https://opensource.org/licenses/BSD-2-Clause",
+
"normalized_url": "https://opensource.org/licenses/BSD-2-Clause",
+
"in_feed": false
+
},
+
{
+
"url": "https://opensource.org/licenses/Apache-2.0",
+
"normalized_url": "https://opensource.org/licenses/Apache-2.0",
+
"in_feed": false
+
},
+
{
+
"url": "https://ramcq.net/",
+
"normalized_url": "https://ramcq.net",
+
"in_feed": false
+
},
+
{
+
"url": "https://twitter.com/lexi_lambda/status/1295426437583982592",
+
"normalized_url": "https://twitter.com/lexi_lambda/status/1295426437583982592",
+
"in_feed": false
+
}
+
]
+
},
+
"http://martin.kleppmann.com/2021/02/23/patreon.html": {
+
"id": "http://martin.kleppmann.com/2021/02/23/patreon.html",
+
"title": "Building the future of computing, with your help",
+
"link": "http://martin.kleppmann.com/2021/02/23/patreon.html",
+
"feed_title": "Martin Kleppmann's blog",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://dataintensive.net/",
+
"normalized_url": "https://dataintensive.net",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.youtube.com/playlist?list=PLeKd45zvjcDHJxge6VtYUAbYnvd_VNQCx",
+
"normalized_url": "https://youtube.com/playlist?list=PLeKd45zvjcDHJxge6VtYUAbYnvd_VNQCx",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/ept",
+
"normalized_url": "https://github.com/ept",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.youtube.com/playlist?list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB",
+
"normalized_url": "https://youtube.com/playlist?list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/teaching/2021/ConcDisSys/dist-sys-notes.pdf",
+
"normalized_url": "https://cl.cam.ac.uk/teaching/2021/ConcDisSys/dist-sys-notes.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cst.cam.ac.uk/",
+
"normalized_url": "https://cst.cam.ac.uk",
+
"in_feed": false
+
},
+
{
+
"url": "https://dataintensive.net/buy.html",
+
"normalized_url": "https://dataintensive.net/buy.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.patreon.com/martinkl",
+
"normalized_url": "https://patreon.com/martinkl",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.youtube.com/watch?v=5ZjhNTM8XU8",
+
"normalized_url": "https://youtube.com/watch?v=5ZjhNTM8XU8",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.youtube.com/watch?v=Uav5jWHNghY",
+
"normalized_url": "https://youtube.com/watch?v=Uav5jWHNghY",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.youtube.com/watch?v=B5NULPSiOGw",
+
"normalized_url": "https://youtube.com/watch?v=B5NULPSiOGw",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/research/dtg/trve/",
+
"normalized_url": "https://cl.cam.ac.uk/research/dtg/trve",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.inkandswitch.com/local-first.html",
+
"normalized_url": "https://inkandswitch.com/local-first.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/automerge/automerge",
+
"normalized_url": "https://github.com/automerge/automerge",
+
"in_feed": false
+
},
+
{
+
"url": "https://amturing.acm.org/award_winners/gray_3649936.cfm",
+
"normalized_url": "https://amturing.acm.org/award_winners/gray_3649936.cfm",
+
"in_feed": false
+
},
+
{
+
"url": "http://jimgray.azurewebsites.net/papers/critiqueofibm%27scsresearch.pdf",
+
"normalized_url": "http://jimgray.azurewebsites.net/papers/critiqueofibm%27scsresearch.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://people.eecs.berkeley.edu/~brewer/cs262/SystemR.pdf",
+
"normalized_url": "https://people.eecs.berkeley.edu/~brewer/cs262/SystemR.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.inkandswitch.com/",
+
"normalized_url": "https://inkandswitch.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://cacm.acm.org/blogs/blog-cacm/248824-how-objective-is-peer-review/fulltext",
+
"normalized_url": "https://cacm.acm.org/blogs/blog-cacm/248824-how-objective-is-peer-review/fulltext",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.crunchbase.com/person/martin-kleppmann",
+
"normalized_url": "https://crunchbase.com/person/martin-kleppmann",
+
"in_feed": false
+
}
+
]
+
},
+
"http://martin.kleppmann.com/2021/01/13/decentralised-content-moderation.html": {
+
"id": "http://martin.kleppmann.com/2021/01/13/decentralised-content-moderation.html",
+
"title": "Decentralised content moderation",
+
"link": "http://martin.kleppmann.com/2021/01/13/decentralised-content-moderation.html",
+
"feed_title": "Martin Kleppmann's blog",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://en.wikipedia.org/wiki/Parler",
+
"normalized_url": "https://en.wikipedia.org/wiki/Parler",
+
"in_feed": false
+
},
+
{
+
"url": "https://redecentralize.org/",
+
"normalized_url": "https://redecentralize.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://joinmastodon.org/",
+
"normalized_url": "https://joinmastodon.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://diasporafoundation.org/",
+
"normalized_url": "https://diasporafoundation.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://scuttlebutt.nz/",
+
"normalized_url": "https://scuttlebutt.nz",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/I_know_it_when_I_see_it",
+
"normalized_url": "https://en.wikipedia.org/wiki/I_know_it_when_I_see_it",
+
"in_feed": false
+
},
+
{
+
"url": "https://docs.joinmastodon.org/admin/moderation/",
+
"normalized_url": "https://docs.joinmastodon.org/admin/moderation",
+
"in_feed": false
+
},
+
{
+
"url": "https://arxiv.org/pdf/1909.05801.pdf",
+
"normalized_url": "https://arxiv.org/pdf/1909.05801.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/freebsdgirl/ggautoblocker",
+
"normalized_url": "https://github.com/freebsdgirl/ggautoblocker",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Gamergate_controversy",
+
"normalized_url": "https://en.wikipedia.org/wiki/Gamergate_controversy",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.theguardian.com/technology/2016/dec/01/gamergate-alt-right-hate-trump",
+
"normalized_url": "https://theguardian.com/technology/2016/dec/01/gamergate-alt-right-hate-trump",
+
"in_feed": false
+
},
+
{
+
"url": "https://everydayfeminism.com/2015/12/tone-policing-and-privilege/",
+
"normalized_url": "https://everydayfeminism.com/2015/12/tone-policing-and-privilege",
+
"in_feed": false
+
},
+
{
+
"url": "https://bhr.stern.nyu.edu/tech-content-moderation-june-2020",
+
"normalized_url": "https://bhr.stern.nyu.edu/tech-content-moderation-june-2020",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.theverge.com/2019/2/25/18229714/cognizant-facebook-content-moderator-interviews-trauma-working-conditions-arizona",
+
"normalized_url": "https://theverge.com/2019/2/25/18229714/cognizant-facebook-content-moderator-interviews-trauma-working-conditions-arizona",
+
"in_feed": false
+
},
+
{
+
"url": "https://twitter.com/martinkl",
+
"normalized_url": "https://twitter.com/martinkl",
+
"in_feed": false
+
},
+
{
+
"url": "https://oversightboard.com/",
+
"normalized_url": "https://oversightboard.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://oversightboard.com/news/226612455899839-oversight-board-upholds-former-president-trump-s-suspension-finds-facebook-failed-to-impose-proper-penalty/",
+
"normalized_url": "https://oversightboard.com/news/226612455899839-oversight-board-upholds-former-president-trump-s-suspension-finds-facebook-failed-to-impose-proper-penalty",
+
"in_feed": false
+
},
+
{
+
"url": "https://news.mit.edu/2021/center-constructive-communication-0113",
+
"normalized_url": "https://news.mit.edu/2021/center-constructive-communication-0113",
+
"in_feed": false
+
},
+
{
+
"url": "https://foundation.mozilla.org/en/blog/fellow-research-decentralized-web-hate/",
+
"normalized_url": "https://foundation.mozilla.org/en/blog/fellow-research-decentralized-web-hate",
+
"in_feed": false
+
},
+
{
+
"url": "http://emmibevensee.com/",
+
"normalized_url": "http://emmibevensee.com",
+
"in_feed": false
+
},
+
{
+
"url": "https://homes.cs.washington.edu/~axz/publications.html",
+
"normalized_url": "https://homes.cs.washington.edu/~axz/publications.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4005326",
+
"normalized_url": "https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4005326",
+
"in_feed": false
+
},
+
{
+
"url": "https://twitter.com/arcalinea",
+
"normalized_url": "https://twitter.com/arcalinea",
+
"in_feed": false
+
},
+
{
+
"url": "https://twitter.com/arcalinea/status/1352316972654944257",
+
"normalized_url": "https://twitter.com/arcalinea/status/1352316972654944257",
+
"in_feed": false
+
},
+
{
+
"url": "https://jaygraber.medium.com/designing-decentralized-moderation-a76430a8eab",
+
"normalized_url": "https://jaygraber.medium.com/designing-decentralized-moderation-a76430a8eab",
+
"in_feed": false
+
},
+
{
+
"url": "https://twitter.com/weschow",
+
"normalized_url": "https://twitter.com/weschow",
+
"in_feed": false
+
},
+
{
+
"url": "https://medium.com/@wesc/opportunities-in-the-design-of-decentralized-social-networks-d66cce42d74b",
+
"normalized_url": "https://medium.com/@wesc/opportunities-in-the-design-of-decentralized-social-networks-d66cce42d74b",
+
"in_feed": false
+
},
+
{
+
"url": "https://twitter.com/xmal/status/1349413781953273857",
+
"normalized_url": "https://twitter.com/xmal/status/1349413781953273857",
+
"in_feed": false
+
},
+
{
+
"url": "https://twitter.com/weschow/status/1349417270179737604",
+
"normalized_url": "https://twitter.com/weschow/status/1349417270179737604",
+
"in_feed": false
+
},
+
{
+
"url": "https://twitter.com/natematias/status/1496318787712344067",
+
"normalized_url": "https://twitter.com/natematias/status/1496318787712344067",
+
"in_feed": false
+
},
+
{
+
"url": "https://cblgh.org/articles/trustnet.html",
+
"normalized_url": "https://cblgh.org/articles/trustnet.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://matrix.org/",
+
"normalized_url": "https://matrix.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://matrix.org/blog/2020/10/19/combating-abuse-in-matrix-without-backdoors",
+
"normalized_url": "https://matrix.org/blog/2020/10/19/combating-abuse-in-matrix-without-backdoors",
+
"in_feed": false
+
},
+
{
+
"url": "https://freenetproject.org/",
+
"normalized_url": "https://freenetproject.org",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.draketo.de/english/freenet/friendly-communication-with-anonymity",
+
"normalized_url": "https://draketo.de/english/freenet/friendly-communication-with-anonymity",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/xor-freenet/plugin-WebOfTrust/blob/master/developer-documentation/core-developers-manual/OadSFfF-version1.2-non-print-edition.pdf",
+
"normalized_url": "https://github.com/xor-freenet/plugin-WebOfTrust/blob/master/developer-documentation/core-developers-manual/OadSFfF-version1.2-non-print-edition.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.waivlength.io/",
+
"normalized_url": "https://waivlength.io",
+
"in_feed": false
+
},
+
{
+
"url": "https://waivlengthdev.medium.com/jury-duty-a-decentralised-moderation-model-for-governing-a-social-media-platform-b675b558dd6d",
+
"normalized_url": "https://waivlengthdev.medium.com/jury-duty-a-decentralised-moderation-model-for-governing-a-social-media-platform-b675b558dd6d",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/Freechains/README",
+
"normalized_url": "https://github.com/Freechains/README",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/Murmuration-Labs/songbird-decentralized-moderation",
+
"normalized_url": "https://github.com/Murmuration-Labs/songbird-decentralized-moderation",
+
"in_feed": false
+
},
+
{
+
"url": "https://cabal.chat/",
+
"normalized_url": "https://cabal.chat",
+
"in_feed": false
+
},
+
{
+
"url": "https://twitter.com/substack/status/1349471659653124098",
+
"normalized_url": "https://twitter.com/substack/status/1349471659653124098",
+
"in_feed": false
+
},
+
{
+
"url": "https://kc-fantastic-app.medium.com/decentralized-content-moderation-on-fantastic-app-3768989ced19",
+
"normalized_url": "https://kc-fantastic-app.medium.com/decentralized-content-moderation-on-fantastic-app-3768989ced19",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/fdietze/notes/blob/master/felix_dietze_master_thesis_2015.pdf",
+
"normalized_url": "https://github.com/fdietze/notes/blob/master/felix_dietze_master_thesis_2015.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://felix.unote.io/hacker-news-scores",
+
"normalized_url": "https://felix.unote.io/hacker-news-scores",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/fdietze/downvote-scoring",
+
"normalized_url": "https://github.com/fdietze/downvote-scoring",
+
"in_feed": false
+
},
+
{
+
"url": "https://blog.twitter.com/en_us/topics/product/2021/introducing-birdwatch-a-community-based-approach-to-misinformation.html",
+
"normalized_url": "https://blog.twitter.com/en_us/topics/product/2021/introducing-birdwatch-a-community-based-approach-to-misinformation.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://blog.coinbase.com/coinbases-philosophy-on-account-removal-and-content-moderation-c80d1aa452b7",
+
"normalized_url": "https://blog.coinbase.com/coinbases-philosophy-on-account-removal-and-content-moderation-c80d1aa452b7",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/United_States_free_speech_exceptions",
+
"normalized_url": "https://en.wikipedia.org/wiki/United_States_free_speech_exceptions",
+
"in_feed": false
+
}
+
]
+
},
"https://anil.recoil.org/ideas/void-processes": {
"id": "https://anil.recoil.org/ideas/void-processes",
"title": "Void Processes: Minimising privilege by default",
···
{
"url": "https://github.com/mSinkievic/troll-ocaml",
"normalized_url": "https://github.com/mSinkievic/troll-ocaml",
+
"in_feed": false
+
}
+
]
+
},
+
"http://martin.kleppmann.com/2020/12/02/bloom-filter-hash-graph-sync.html": {
+
"id": "http://martin.kleppmann.com/2020/12/02/bloom-filter-hash-graph-sync.html",
+
"title": "Using Bloom filters to efficiently synchronise hash graphs",
+
"link": "http://martin.kleppmann.com/2020/12/02/bloom-filter-hash-graph-sync.html",
+
"feed_title": "Martin Kleppmann's blog",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://www.mathjax.org/",
+
"normalized_url": "https://mathjax.org",
+
"in_feed": false
+
},
+
{
+
"url": "http://heidihoward.co.uk/",
+
"normalized_url": "http://heidihoward.co.uk",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.git-scm.com/docs/http-protocol",
+
"normalized_url": "https://git-scm.com/docs/http-protocol",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/git/git/commit/42cc7485a2ec49ecc440c921d2eb0cae4da80549",
+
"normalized_url": "https://github.com/git/git/commit/42cc7485a2ec49ecc440c921d2eb0cae4da80549",
+
"in_feed": false
+
},
+
{
+
"url": "https://git-scm.com/docs/git-config#Documentation/git-config.txt-fetchnegotiationAlgorithm",
+
"normalized_url": "https://git-scm.com/docs/git-config",
+
"in_feed": false
+
},
+
{
+
"url": "https://arxiv.org/abs/2012.00472",
+
"normalized_url": "https://arxiv.org/abs/2012.00472",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Bloom_filter",
+
"normalized_url": "https://en.wikipedia.org/wiki/Bloom_filter",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Sybil_attack",
+
"normalized_url": "https://en.wikipedia.org/wiki/Sybil_attack",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Proof_of_work",
+
"normalized_url": "https://en.wikipedia.org/wiki/Proof_of_work",
+
"in_feed": false
+
},
+
{
+
"url": "https://arxiv.org/pdf/1711.03936.pdf",
+
"normalized_url": "https://arxiv.org/pdf/1711.03936.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.inkandswitch.com/local-first.html",
+
"normalized_url": "https://inkandswitch.com/local-first.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.swirlds.com/downloads/SWIRLDS-TR-2016-01.pdf",
+
"normalized_url": "https://swirlds.com/downloads/SWIRLDS-TR-2016-01.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.sciencedirect.com/science/article/abs/pii/S0020019008001579",
+
"normalized_url": "https://sciencedirect.com/science/article/abs/pii/S0020019008001579",
+
"in_feed": false
+
},
+
{
+
"url": "https://git.gnunet.org/bibliography.git/plain/docs/FalsepositiverateBloomFilter2008Bose.pdf",
+
"normalized_url": "https://git.gnunet.org/bibliography.git/plain/docs/FalsepositiverateBloomFilter2008Bose.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://gist.github.com/ept/83b91aa07e2495c86ddd8c364a8cfbc7",
+
"normalized_url": "https://gist.github.com/ept/83b91aa07e2495c86ddd8c364a8cfbc7",
+
"in_feed": false
+
},
+
{
+
"url": "http://www.gnuplot.info/",
+
"normalized_url": "http://gnuplot.info",
+
"in_feed": false
+
},
+
{
+
"url": "https://twitter.com/pvh",
+
"normalized_url": "https://twitter.com/pvh",
+
"in_feed": false
+
},
+
{
+
"url": "https://en.wikipedia.org/wiki/Cuckoo_filter",
+
"normalized_url": "https://en.wikipedia.org/wiki/Cuckoo_filter",
+
"in_feed": false
+
}
+
]
+
},
+
"http://martin.kleppmann.com/2020/11/18/distributed-systems-and-elliptic-curves.html": {
+
"id": "http://martin.kleppmann.com/2020/11/18/distributed-systems-and-elliptic-curves.html",
+
"title": "New courses on distributed systems and elliptic curve cryptography",
+
"link": "http://martin.kleppmann.com/2020/11/18/distributed-systems-and-elliptic-curves.html",
+
"feed_title": "Martin Kleppmann's blog",
+
"references": [],
+
"referenced_by": [],
+
"external_links": [
+
{
+
"url": "https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture",
+
"normalized_url": "https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture",
+
"in_feed": false
+
},
+
{
+
"url": "https://creativecommons.org/licenses/by-sa/4.0/",
+
"normalized_url": "https://creativecommons.org/licenses/by-sa/4.0",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf",
+
"normalized_url": "https://cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-slides.pdf",
+
"normalized_url": "https://cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-slides.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-handout.pdf",
+
"normalized_url": "https://cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-handout.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.youtube.com/playlist?list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB",
+
"normalized_url": "https://youtube.com/playlist?list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/teaching/2122/ConcDisSys/",
+
"normalized_url": "https://cl.cam.ac.uk/teaching/2122/ConcDisSys",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/teaching/2122/ConcDisSys/supervisors/dist-sys-solutions.pdf",
+
"normalized_url": "https://cl.cam.ac.uk/teaching/2122/ConcDisSys/supervisors/dist-sys-solutions.pdf",
+
"in_feed": false
+
},
+
{
+
"url": "https://www.cl.cam.ac.uk/teaching/2122/part1b.html",
+
"normalized_url": "https://cl.cam.ac.uk/teaching/2122/part1b.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://github.com/jedisct1/libsodium/blob/master/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c#L91-L132",
+
"normalized_url": "https://github.com/jedisct1/libsodium/blob/master/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c",
+
"in_feed": false
+
},
+
{
+
"url": "https://tools.ietf.org/html/rfc7748",
+
"normalized_url": "https://tools.ietf.org/html/rfc7748",
+
"in_feed": false
+
},
+
{
+
"url": "https://ianix.com/pub/curve25519-deployment.html",
+
"normalized_url": "https://ianix.com/pub/curve25519-deployment.html",
+
"in_feed": false
+
},
+
{
+
"url": "https://tweetnacl.cr.yp.to/",
+
"normalized_url": "https://tweetnacl.cr.yp.to",
"in_feed": false
}
]