<feed xmlns="http://www.w3.org/2005/Atom"><id>https://ocaml.org/planet.xml</id><title type="text">OCaml Planet</title><updated>2026-08-08T00:00:00-00:00</updated><entry><link href="https://blog.robur.coop/articles/pim.html" rel="alternate"/><content type="text"></content><id>https://blog.robur.coop/articles/pim.html</id><title type="text">
        Privacy-respecting PIM tool: host your own contacts and calendars in a secure way
      </title><updated>2026-08-08T00:00:00-00:00</updated><author><name>Robur Cooperative</name></author></entry><entry><link href="https://alan.petitepomme.net/cwn/2026.08.04.html" rel="alternate"/><content type="text"></content><id>https://alan.petitepomme.net/cwn/2026.08.04.html</id><title type="text">OCaml Weekly News, 04 Aug 2026</title><updated>2026-08-04T12:00:00-00:00</updated><author><name>Caml Weekly News</name></author></entry><entry><link href="https://www.tunbury.org/2026/08/03/week-31-2025/" rel="alternate"/><content type="text">A big week, with a couple of long-running efforts finally wrapping up: the Source Cooperative mirror is essentially complete now that we have direct write access, and the three-week Ceph resize has converged. Elsewhere, a slow-down in the genesis job server that looked like a garbage-collector problem turned out to be an HTTP handling bug.</content><id>https://www.tunbury.org/2026/08/03/week-31-2025/</id><title type="text">Notes from week 31</title><updated>2026-08-03T09:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://anil.recoil.org/notes/2026w31" rel="alternate"/><content type="text">A petabyte of TESSERA embeddings moves to Source Cooperative, and Taposaur's GROBID metadata index and capability-based downloader take shape for Evidence TAP, while Eio gets some native Windows support.</content><id>https://anil.recoil.org/notes/2026w31</id><title type="text">.plan-26-31: Sorting out Tessera and Evidence TAP infrastructure</title><updated>2026-08-02T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://blog.robur.coop/articles/utcp.html" rel="alternate"/><content type="text"></content><id>https://blog.robur.coop/articles/utcp.html</id><title type="text">µTCP: a TCP/IP implementation derived from a formal specification</title><updated>2026-08-01T00:00:00-00:00</updated><author><name>Robur Cooperative</name></author></entry><entry><link href="https://www.tunbury.org/2026/07/29/io-uring-enomem/" rel="alternate"/><content type="text">Thomas reported that ocaml-multicore/eio PRs randomly fail on ocurrent/ocaml-ci with a strange error in the documentation tests.</content><id>https://www.tunbury.org/2026/07/29/io-uring-enomem/</id><title type="text">io_uring is not available (ENOMEM)</title><updated>2026-07-29T06:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://alan.petitepomme.net/cwn/2026.07.28.html" rel="alternate"/><content type="text"></content><id>https://alan.petitepomme.net/cwn/2026.07.28.html</id><title type="text">OCaml Weekly News, 28 Jul 2026</title><updated>2026-07-28T12:00:00-00:00</updated><author><name>Caml Weekly News</name></author></entry><entry><link href="https://blog.robur.coop/articles/2026-07-08-Autoscaling-MirageOS-unikernels-in-Mollymawk.html" rel="alternate"/><content type="text"></content><id>https://blog.robur.coop/articles/2026-07-08-Autoscaling-MirageOS-unikernels-in-Mollymawk.html</id><title type="text">Autoscaling MirageOS unikernels in Mollymawk</title><updated>2026-07-28T00:00:00-00:00</updated><author><name>Robur Cooperative</name></author></entry><entry><link href="https://www.tunbury.org/2026/07/27/week-30-2025/" rel="alternate"/><content type="text">The main threads: making day10 a native OCluster job type, porting opam-health-check to use day10, keeping the CI dashboards ahead of both a scraper farm and the opam 2.6 alpha, and a lot of Tessera. New v2 “student” models, the v1.1 mirror to Source Cooperative continues, and diagonal banding in the Amazon mosaic.</content><id>https://www.tunbury.org/2026/07/27/week-30-2025/</id><title type="text">Notes from week 30</title><updated>2026-07-27T09:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://anil.recoil.org/notes/2026w30" rel="alternate"/><content type="text">An OpenUK openness interview, prototyping the Evidence TAP site with exe.dev, Windows eio support finds a user in Forester, and a new grant for optimising ranger patrols.</content><id>https://anil.recoil.org/notes/2026w30</id><title type="text">.plan-26-30: Bananas ripen, models open, and OxCaml releases</title><updated>2026-07-26T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://gazagnaire.org/blog/2026-07-24-domain-safe-codecs.html" rel="alternate"/><content type="text">OCaml is a pragmatic functional language: type-level tricks for safe code, careful buffer allocation for fast code. A scratch buffer in ocaml-wire raced under OCaml 5 domains; memtrace and ThreadSanitizer show both sides.</content><id>https://gazagnaire.org/blog/2026-07-24-domain-safe-codecs.html</id><title type="text">Reusing Buffers in Multicore OCaml</title><updated>2026-07-24T00:00:00-00:00</updated><author><name>Thomas Gazagnaire</name></author></entry><entry><link href="https://gazagnaire.org/blog/2026-07-22-cascade-minify.html" rel="alternate"/><content type="text">Porting Tailwind to OCaml needed a CSS parser. The parser grew a typed AST, and a structural diff and a minifier fell out of it. Cascade 1.0.0 is that toolkit, and it turns out to be competitive with the minifiers people actually use.</content><id>https://gazagnaire.org/blog/2026-07-22-cascade-minify.html</id><title type="text">Cascade: A Typed CSS Toolkit in OCaml</title><updated>2026-07-22T00:00:00-00:00</updated><author><name>Thomas Gazagnaire</name></author></entry><entry><link href="https://alan.petitepomme.net/cwn/2026.07.21.html" rel="alternate"/><content type="text"></content><id>https://alan.petitepomme.net/cwn/2026.07.21.html</id><title type="text">OCaml Weekly News, 21 Jul 2026</title><updated>2026-07-21T12:00:00-00:00</updated><author><name>Caml Weekly News</name></author></entry><entry><link href="https://vouillon.github.io/blog/posts/theo/" rel="alternate"/><content type="text">A tour of Theo, an OCaml BDD library with complement edges for O(1) negation, ephemeron-based caching, and theory support for reasoning about version constraints and equality, turning logical equivalence into a pointer comparison.</content><id>https://vouillon.github.io/blog/posts/theo/</id><title type="text">Teaching Booleans About Versions: A Theory-Augmented BDD Library in OCaml</title><updated>2026-07-21T12:00:00-00:00</updated><author><name>Jérôme Vouillon</name></author></entry><entry><link href="https://tech.ahrefs.com/the-little-type-that-could-too-much-3f21c2e80430?source=rss----303662d88bae--ocaml" rel="alternate"/><content type="text">originally published at https://raphael-proust.github.io/code/the-little-type-that-could-too-much.html</content><id>https://tech.ahrefs.com/the-little-type-that-could-too-much-3f21c2e80430?source=rss----303662d88bae--ocaml</id><title type="text">The little type that could too much</title><updated>2026-07-20T17:51:16-00:00</updated><author><name>Ahrefs</name></author></entry><entry><link href="https://www.tunbury.org/2026/07/20/week-29-2025/" rel="alternate"/><content type="text">I was on holiday for most of week 29, so just a few high-priority issues to report on.</content><id>https://www.tunbury.org/2026/07/20/week-29-2025/</id><title type="text">Notes from week 29</title><updated>2026-07-20T09:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://anil.recoil.org/notes/2026w29" rel="alternate"/><content type="text">My first viva in Law, a TESSERA stall at the House of Lords, downscaling the weather with embeddings, moving terabytes onto Source Cooperative, the Pembroke garden party, and a from-scratch shell makes progress.</content><id>https://anil.recoil.org/notes/2026w29</id><title type="text">.plan-26-29: Perfect weather, imperfectly measured, precisely predicted</title><updated>2026-07-19T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://www.youtube.com/watch/DohRI4IV__k?version=3" rel="alternate"/><content type="html">&lt;p&gt;styled-ppx is a ppx and a library that brings styled components to Melange and OCaml/Reason with type-safe CSS and static extraction.

Previously styled-ppx relied on emotion.sh, and from now on, it does not.

styled-ppx documentation: https://styled-ppx.vercel.app
github repo: https://github.com/davesnx/styled-ppx

Remote conf talk releasing styled-ppx (6 years ago!): https://www.youtube.com/watch?v=ekHCBZiCviM

GambiConf: How to mimic a JavaScript feature and over-engineering CSS https://www.youtube.com/watch?v=uc5K7Yx0GvQ&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch/DohRI4IV__k?version=3&quot;&gt;Watch video&lt;/a&gt;&lt;/p&gt;</content><id>https://www.youtube.com/watch/DohRI4IV__k?version=3</id><title type="text">Presenting styled-ppx 1.0 with CSS static extraction for OCaml</title><updated>2026-07-15T17:04:51-00:00</updated><author><name>David Sancho</name></author></entry><entry><link href="https://tarides.com/blog/2026-07-15-exploring-static-data-race-freedom-in-oxcaml" rel="alternate"/><content type="text">Discover the data-race-freedom modes of OxCaml, and how we tested them on a multicore branch of OCaml's editor service Merlin!</content><id>https://tarides.com/blog/2026-07-15-exploring-static-data-race-freedom-in-oxcaml</id><title type="text">Exploring Static Data Race Freedom in OxCaml</title><updated>2026-07-15T00:00:00-00:00</updated><author><name>Tarides</name></author></entry><entry><link href="https://alan.petitepomme.net/cwn/2026.07.14.html" rel="alternate"/><content type="text"></content><id>https://alan.petitepomme.net/cwn/2026.07.14.html</id><title type="text">OCaml Weekly News, 14 Jul 2026</title><updated>2026-07-14T12:00:00-00:00</updated><author><name>Caml Weekly News</name></author></entry><entry><link href="https://www.tunbury.org/2026/07/13/week-28-2025/" rel="alternate"/><content type="text">Headline activities have included resolving the scraping attacks, fixing obuilder bugs, and Tessera AMX optimisations.</content><id>https://www.tunbury.org/2026/07/13/week-28-2025/</id><title type="text">Notes from week 28</title><updated>2026-07-13T12:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://anil.recoil.org/notes/2026w28" rel="alternate"/><content type="text">Back from the Arctic into a heatwave, hacking on Eio for the TESSERA sync engine, the Conservation Evidence team demoing at Parliament, and TESSERA on stage at the RAISE Summit in Paris.</content><id>https://anil.recoil.org/notes/2026w28</id><title type="text">.plan-26-28: What fun papers piled up while I was out at sea</title><updated>2026-07-12T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://alan.petitepomme.net/cwn/2026.07.07.html" rel="alternate"/><content type="text"></content><id>https://alan.petitepomme.net/cwn/2026.07.07.html</id><title type="text">OCaml Weekly News, 07 Jul 2026</title><updated>2026-07-07T12:00:00-00:00</updated><author><name>Caml Weekly News</name></author></entry><entry><link href="https://www.tunbury.org/2026/07/05/week-27-2025/" rel="alternate"/><content type="text">The week 26 summary worked well, so I’m doing it again. This is really a nine-day week as the last weekly post was on 26 June.</content><id>https://www.tunbury.org/2026/07/05/week-27-2025/</id><title type="text">Notes from week 27</title><updated>2026-07-05T18:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://blog.robur.coop/articles/wireguard.html" rel="alternate"/><content type="text"></content><id>https://blog.robur.coop/articles/wireguard.html</id><title type="text">Zostera: WireGuard as a MirageOS unikernel</title><updated>2026-07-01T00:00:00-00:00</updated><author><name>Robur Cooperative</name></author></entry><entry><link href="https://ocsigen.org/blog/posts/why-ocsigen-stays-on-lwt-for-now.html" rel="alternate"/><content type="text"></content><id>https://ocsigen.org/blog/posts/why-ocsigen-stays-on-lwt-for-now.html</id><title type="text">Why Ocsigen decided not to switch from Lwt to Eio (for now)</title><updated>2026-07-01T00:00:00-00:00</updated><author><name>Vincent Balat</name></author></entry><entry><link href="https://www.tunbury.org/2026/06/30/openbsd-copy-corruption/" rel="alternate"/><content type="text">Last week I updated the OpenBSD workers to OCaml 5.5.0 and took that opportunity to deploy OpenBSD 7.8. Shortly after, issue#1061 was opened as jobs randomly failed with an opam parse error.</content><id>https://www.tunbury.org/2026/06/30/openbsd-copy-corruption/</id><title type="text">Corrupt copies on the OpenBSD CI worker</title><updated>2026-06-30T21:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://alan.petitepomme.net/cwn/2026.06.30.html" rel="alternate"/><content type="text"></content><id>https://alan.petitepomme.net/cwn/2026.06.30.html</id><title type="text">OCaml Weekly News, 30 Jun 2026</title><updated>2026-06-30T12:00:00-00:00</updated><author><name>Caml Weekly News</name></author></entry><entry><link href="https://anil.recoil.org/notes/2026w26" rel="alternate"/><content type="text">Spoke at CHIA's annual conference on AI for a changing world, as well as the first Cloud-Native Geospatial Forum outside the US, and started moving TESSERA's embeddings onto Source Cooperative.</content><id>https://anil.recoil.org/notes/2026w26</id><title type="text">.plan-26-26: Gelato, geospatial, and players of games</title><updated>2026-06-28T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://www.tunbury.org/2026/06/26/week-26-2025/" rel="alternate"/><content type="text">While I typically write posts as I go, I’ve only managed one this week because there’s been a lot going on. To catch up, I’m going to try to write a summary of the week instead.</content><id>https://www.tunbury.org/2026/06/26/week-26-2025/</id><title type="text">Notes from week 26</title><updated>2026-06-26T18:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://www.tunbury.org/2026/06/24/leaking-jails/" rel="alternate"/><content type="text">The FreeBSD CI workers get slower over time. Is this a build-up on ZFS snapshots or something else?</content><id>https://www.tunbury.org/2026/06/24/leaking-jails/</id><title type="text">FreeBSD git-daemon leak</title><updated>2026-06-24T13:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://batsov.com/articles/2026/06/24/neocaml-0-9-repl-completion-and-robustness/" rel="alternate"/><content type="text">It’s been a couple of months since the last neocaml release, and the reason is simple — for a while there I was genuinely out of ideas. Back when I shipped 0.6 I declared (again!) that I was done with new features, and this time I almost meant it. But ideas have a way of creeping back in, and 0.9 turned out to be a meaty release. Here are the highlights.</content><id>https://batsov.com/articles/2026/06/24/neocaml-0-9-repl-completion-and-robustness/</id><title type="text">Neocaml 0.9: A Better REPL, Dune/Opam Completion, and More Robustness</title><updated>2026-06-24T07:00:00-00:00</updated><author><name>Bozhidar Batsov</name></author></entry><entry><link href="https://alan.petitepomme.net/cwn/2026.06.23.html" rel="alternate"/><content type="text"></content><id>https://alan.petitepomme.net/cwn/2026.06.23.html</id><title type="text">OCaml Weekly News, 23 Jun 2026</title><updated>2026-06-23T12:00:00-00:00</updated><author><name>Caml Weekly News</name></author></entry><entry><link href="https://tarides.com/blog/2026-06-23-ocaml-5-5-summary-what-s-new-in-the-latest-ocaml-update" rel="alternate"/><content type="text">What's new in OCaml's latest 5.5 update? New features, performance improvements, and bug fixes.</content><id>https://tarides.com/blog/2026-06-23-ocaml-5-5-summary-what-s-new-in-the-latest-ocaml-update</id><title type="text">OCaml 5.5 Summary: What's New in the Latest OCaml Update</title><updated>2026-06-23T00:00:00-00:00</updated><author><name>Tarides</name></author></entry><entry><link href="https://ocsigen.org/blog/posts/ocsipersist-2.1.0.html" rel="alternate"/><content type="text"></content><id>https://ocsigen.org/blog/posts/ocsipersist-2.1.0.html</id><title type="text">Ocsipersist 2.1.0: type-safe persistence with Deriving</title><updated>2026-06-23T00:00:00-00:00</updated><author><name>The Ocsigen team</name></author></entry><entry><link href="https://jon.recoil.org/blog/2026/06/weeknotes-25.html" rel="alternate"/><content type="text"></content><id>https://jon.recoil.org/blog/2026/06/weeknotes-25.html</id><title type="text">Weeknotes 2026 week 24-25</title><updated>2026-06-22T00:00:00-00:00</updated><author><name>Jon Ludlam</name></author></entry><entry><link href="https://anil.recoil.org/notes/2026w25" rel="alternate"/><content type="text">Ten years of the CCI with Sir David Attenborough, Andrew's Royal Society Environment Medal lecture, and the third PROPL at PLDI, while wrapping a local DeepSeek agent in OCaml and a first stab at getting Eio fleshed out on Windows.</content><id>https://anil.recoil.org/notes/2026w25</id><title type="text">.plan-26-25: Planetary scale plans, Windows file-descriptor scale problems</title><updated>2026-06-21T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://ocsigen.org/blog/posts/status-of-the-ocsigen-project.html" rel="alternate"/><content type="text"></content><id>https://ocsigen.org/blog/posts/status-of-the-ocsigen-project.html</id><title type="text">Ocsigen in 2026: what we're working on</title><updated>2026-06-19T00:00:00-00:00</updated><author><name>The Ocsigen team</name></author></entry><entry><link href="https://www.tunbury.org/2026/06/18/proof-of-work/" rel="alternate"/><content type="text">This post explores two more sustainable solutions to the crawler bots issue affecting opam-repo-ci</content><id>https://www.tunbury.org/2026/06/18/proof-of-work/</id><title type="text">A proof-of-work puzzle</title><updated>2026-06-18T21:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://blog.robur.coop/articles/mollymawk-grafana.html" rel="alternate"/><content type="text"></content><id>https://blog.robur.coop/articles/mollymawk-grafana.html</id><title type="text">Grafana for MirageOS unikernels and other VMs</title><updated>2026-06-18T00:00:00-00:00</updated><author><name>Robur Cooperative</name></author></entry><entry><link href="https://www.tunbury.org/2026/06/16/opam-repo-ci-scraper-crawl/" rel="alternate"/><content type="text">Jan reported that opam-repo-ci, opam.ci.ocaml.org, had become unresponsive.</content><id>https://www.tunbury.org/2026/06/16/opam-repo-ci-scraper-crawl/</id><title type="text">Scraping opam-repo-ci to a standstill</title><updated>2026-06-16T21:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://www.tunbury.org/2026/06/16/docker-29-manifest-lists/" rel="alternate"/><content type="text">On the base image builder, we have recently seen a significant increase in the number of times we hit the Docker rate limits on manifest pushes. Most of these work on the second attempt, but this week, a new class of permanent manifest push failures has emerged.</content><id>https://www.tunbury.org/2026/06/16/docker-29-manifest-lists/</id><title type="text">Docker 29 manifest list</title><updated>2026-06-16T18:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://alan.petitepomme.net/cwn/2026.06.16.html" rel="alternate"/><content type="text"></content><id>https://alan.petitepomme.net/cwn/2026.06.16.html</id><title type="text">OCaml Weekly News, 16 Jun 2026</title><updated>2026-06-16T12:00:00-00:00</updated><author><name>Caml Weekly News</name></author></entry><entry><link href="https://blog.janestreet.com/oxcaml-typesafe-reference-counting-python/" rel="alternate"/><content type="text">Jane Street is known for being an OCaml shop, but for years now Python has been our second major programming language, acting as the primary tool for data an...</content><id>https://blog.janestreet.com/oxcaml-typesafe-reference-counting-python/</id><title type="text">Using OxCaml to implement type-safe reference counting between OCaml and Python</title><updated>2026-06-15T00:00:00-00:00</updated><author><name>Jane Street Tech Blog</name></author></entry><entry><link href="https://anil.recoil.org/notes/language-integrated-llms" rel="alternate"/><content type="text">Using a local DeepSeek model as an ordinary OCaml library and building sandboxed agents from simple primitives</content><id>https://anil.recoil.org/notes/language-integrated-llms</id><title type="text">Language integrated LLMs as an OCaml function</title><updated>2026-06-14T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://anil.recoil.org/notes/2026w24" rel="alternate"/><content type="text">Made professor at Cambridge, shipped TESSERA v1.1, bound a local DeepSeek into OCaml after Fable cut out, and filled the gaps in io_uring and Eio.</content><id>https://anil.recoil.org/notes/2026w24</id><title type="text">.plan-26-24: Apparently a professor now; still debugging io_uring at midnight</title><updated>2026-06-14T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://ocsigen.org/blog/posts/welcome-to-the-ocsigen-blog.html" rel="alternate"/><content type="text"></content><id>https://ocsigen.org/blog/posts/welcome-to-the-ocsigen-blog.html</id><title type="text">A new home for the Ocsigen blog</title><updated>2026-06-14T00:00:00-00:00</updated><author><name>The Ocsigen team</name></author></entry><entry><link href="https://anil.recoil.org/notes/tessera-v11-out" rel="alternate"/><content type="text">TESSERA v1.1 is a drop-in retrained model that fixes the tiling artefacts of v1.0, with embeddings now being served from AWS S3 and model weights up on Hugging Face.</content><id>https://anil.recoil.org/notes/tessera-v11-out</id><title type="text">Tessera v1.1 released, with smoother and temporally stable embeddings</title><updated>2026-06-12T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://www.tunbury.org/2026/06/10/ctr-run-rm/" rel="alternate"/><content type="text">The Windows workers in the windows-x86_64 pool have a habit of quietly falling off the cluster. The ocluster-worker service is still RUNNING, but the scheduler lists the worker as disconnected.</content><id>https://www.tunbury.org/2026/06/10/ctr-run-rm/</id><title type="text">Removing HCS containers</title><updated>2026-06-10T20:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://www.chrisarmstrong.dev/posts/ocgtk-development-update-2026-06-10" rel="alternate"/><content type="text">Development update for ocgtk (a set of GTK4 bindings for OCaml), including upcoming support for signals and interfaces, expanded GLib type coverage, and packaging improvements to support other operating systems.</content><id>https://www.chrisarmstrong.dev/posts/ocgtk-development-update-2026-06-10</id><title type="text">ocgtk development update: June 2026</title><updated>2026-06-10T00:00:00-00:00</updated><author><name>Chris Armstrong</name></author></entry><entry><link href="https://alan.petitepomme.net/cwn/2026.06.09.html" rel="alternate"/><content type="text"></content><id>https://alan.petitepomme.net/cwn/2026.06.09.html</id><title type="text">OCaml Weekly News, 09 Jun 2026</title><updated>2026-06-09T12:00:00-00:00</updated><author><name>Caml Weekly News</name></author></entry><entry><link href="https://jon.recoil.org/blog/2026/06/weeknotes-23.html" rel="alternate"/><content type="text"></content><id>https://jon.recoil.org/blog/2026/06/weeknotes-23.html</id><title type="text">Week 23, June 2026</title><updated>2026-06-08T00:00:00-00:00</updated><author><name>Jon Ludlam</name></author></entry><entry><link href="https://anil.recoil.org/notes/2026w23" rel="alternate"/><content type="text">TESSERA on the ESA homepage and at CVPR, GeoTessera 0.9 stabilising onto S3/Zarr, io-uring in OCaml, carbon credits in New Scientist and WSJ, and musings on internet malware again.</content><id>https://anil.recoil.org/notes/2026w23</id><title type="text">.plan-26-23: Earth Embeddings, Emails Everywhere, and ERRNOOOs</title><updated>2026-06-07T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://ocsigen.org/blog/posts/documenting-ocaml-projects-with-wodoc.html" rel="alternate"/><content type="text"></content><id>https://ocsigen.org/blog/posts/documenting-ocaml-projects-with-wodoc.html</id><title type="text">Documenting OCaml projects with wodoc</title><updated>2026-06-07T00:00:00-00:00</updated><author><name>The Ocsigen team</name></author></entry><entry><link href="https://www.tunbury.org/2026/06/06/docker-29/" rel="alternate"/><content type="text">After deploying the QEMU RISC-V machines, the base image builder ran into issues on the first Docker build.</content><id>https://www.tunbury.org/2026/06/06/docker-29/</id><title type="text">Docker 29 and COPY –link –chown</title><updated>2026-06-06T22:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://anil.recoil.org/notes/recoil-self-hosting-2026" rel="alternate"/><content type="text">How we refreshed self-hosted Recoil email with our own RIPE-allocated IPv4 block, and deployed Postfix/rspamd/Dovecot to get full SPF/DKIM/DMARC deliverability.</content><id>https://anil.recoil.org/notes/recoil-self-hosting-2026</id><title type="text">Self-hosting email the hard way from your own routable IPv4 block up</title><updated>2026-06-06T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://www.tunbury.org/2026/06/03/emulated-riscv-workers/" rel="alternate"/><content type="text">Scaleway provide the RISC-V workers for OCaml CI, and they have been down for about a week with no real evidence that they’ll be back anytime soon. I can’t provision any new ones as they are “temporarily out of stock”.</content><id>https://www.tunbury.org/2026/06/03/emulated-riscv-workers/</id><title type="text">Emulating RISC-V workers when the hardware goes away</title><updated>2026-06-03T18:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://www.tunbury.org/2026/06/02/ocaml-ci-solves/" rel="alternate"/><content type="text">By now, you’ll know that I’ve been looking at OCaml CI more than I ever had before and was confused by the solver jobs, which seemed to hang around in the job queue.</content><id>https://www.tunbury.org/2026/06/02/ocaml-ci-solves/</id><title type="text">OCaml CI lingering solves</title><updated>2026-06-02T20:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://www.tunbury.org/2026/06/02/ocaml-ci-rate-limit/" rel="alternate"/><content type="text">While looking at OCaml CI for the FD leak, I noticed some odd pending events in the OCaml CI build graph.</content><id>https://www.tunbury.org/2026/06/02/ocaml-ci-rate-limit/</id><title type="text">OCaml CI GitHub Rate Limit</title><updated>2026-06-02T14:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://alan.petitepomme.net/cwn/2026.06.02.html" rel="alternate"/><content type="text"></content><id>https://alan.petitepomme.net/cwn/2026.06.02.html</id><title type="text">OCaml Weekly News, 02 Jun 2026</title><updated>2026-06-02T12:00:00-00:00</updated><author><name>Caml Weekly News</name></author></entry><entry><link href="https://blog.robur.coop/articles/mollymawk-monitoring-configuration.html" rel="alternate"/><content type="text"></content><id>https://blog.robur.coop/articles/mollymawk-monitoring-configuration.html</id><title type="text">Dynamic Logging and Metrics with Mollymawk</title><updated>2026-05-31T00:00:00-00:00</updated><author><name>Robur Cooperative</name></author></entry><entry><link href="https://anil.recoil.org/notes/2026w22" rel="alternate"/><content type="text">Rewilding the Web workshop in Edinburgh, an OCaml io_uring binding refresh, and GeoTessera 0.9 moves the embeddings to AWS alongside a fresh HuggingFace org.</content><id>https://anil.recoil.org/notes/2026w22</id><title type="text">.plan-26-22: From digital rewilding in Edinburgh to uring and Tessera hackery</title><updated>2026-05-31T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://anil.recoil.org/notes/rewilding-the-web-report" rel="alternate"/><content type="text">Notes from a wonderfully interdisciplinary Edinburgh workshop on 'Rewilding the Web', ranging coopetition and biological variety through the philosophy of self-organisation, polycrisis governance, protopian science fiction, and moderation seen through the lens of artisanal cheese.</content><id>https://anil.recoil.org/notes/rewilding-the-web-report</id><title type="text">Rewilding the Web: my workshop report from Edinburgh</title><updated>2026-05-30T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://www.tunbury.org/2026/05/28/ocaml-ci-close-wait/" rel="alternate"/><content type="text">Over the last few weeks, I have restarted the OCaml-CI web container every 3 or 4 days because users are encountering HTTP 502 errors.</content><id>https://www.tunbury.org/2026/05/28/ocaml-ci-close-wait/</id><title type="text">OCaml-CI HTTP 502 errors</title><updated>2026-05-28T14:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://alan.petitepomme.net/cwn/2026.05.26.html" rel="alternate"/><content type="text"></content><id>https://alan.petitepomme.net/cwn/2026.05.26.html</id><title type="text">OCaml Weekly News, 26 May 2026</title><updated>2026-05-26T12:00:00-00:00</updated><author><name>Caml Weekly News</name></author></entry><entry><link href="https://anil.recoil.org/notes/2026w21" rel="alternate"/><content type="text">After the BBC/ITV media run we had a talk at Pint of Science, two cracking Part II dissertations on CE/TESSERA and OxCaml vector RAG, and put TESSERA v1.1 weights on HuggingFace.</content><id>https://anil.recoil.org/notes/2026w21</id><title type="text">.plan-26-21: Pint of Science, OxCaml dissertations, and TESSERA 1.1 stirring</title><updated>2026-05-24T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://blog.robur.coop/articles/mollymawk-ux-improvements.html" rel="alternate"/><content type="text"></content><id>https://blog.robur.coop/articles/mollymawk-ux-improvements.html</id><title type="text">UI/UX improvements in Mollymawk</title><updated>2026-05-20T00:00:00-00:00</updated><author><name>Robur Cooperative</name></author></entry><entry><link href="https://alan.petitepomme.net/cwn/2026.05.19.html" rel="alternate"/><content type="text"></content><id>https://alan.petitepomme.net/cwn/2026.05.19.html</id><title type="text">OCaml Weekly News, 19 May 2026</title><updated>2026-05-19T12:00:00-00:00</updated><author><name>Caml Weekly News</name></author></entry><entry><link href="https://anil.recoil.org/notes/2026w20" rel="alternate"/><content type="text">Consolidating my OCaml trees for easier OxCaml deployment, shipping native system packages for OxCaml which then got into space, and remembering Peter Neumann</content><id>https://anil.recoil.org/notes/2026w20</id><title type="text">.plan-26-20: Putting OxCaml in a box and OCaml in orbit (again)</title><updated>2026-05-17T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://anil.recoil.org/notes/oxcaml-packages" rel="alternate"/><content type="text">Native OxCaml system packages for Debian/Ubuntu, Fedora, Arch and Homebrew — plus reviving a 2013 GPG key that modern tooling rejects for SHA-1, and using agentic coding to collapse the opam build into one tarball.</content><id>https://anil.recoil.org/notes/oxcaml-packages</id><title type="text">Building OxCaml packages for Debian, Fedora, Homebrew and Arch</title><updated>2026-05-17T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://anil.recoil.org/notes/opam-ai-disclosure-update" rel="alternate"/><content type="text">An update on the voluntary AI disclosure proposal, digesting the security, quality and legal feedback, and some concrete next steps around maintenance intent, multi-repository tooling, and reputation.</content><id>https://anil.recoil.org/notes/opam-ai-disclosure-update</id><title type="text">Voluntary AI disclosure proposal for OCaml: update 1</title><updated>2026-05-14T00:00:00-00:00</updated><author><name>Anil Madhavapeddy</name></author></entry><entry><link href="https://gazagnaire.org/blog/2026-05-14-borealis.html" rel="alternate"/><content type="text">On 23 April, Borealis booted in orbit on DPhi Space's ClusterGate-2: a pure-OCaml CCSDS protocol stack with end-to-end-encrypted command and control and post-quantum key rotation. OxCaml is what comes next.</content><id>https://gazagnaire.org/blog/2026-05-14-borealis.html</id><title type="text">O(x)Caml in Space</title><updated>2026-05-14T00:00:00-00:00</updated><author><name>Thomas Gazagnaire</name></author></entry><entry><link href="https://www.chrisarmstrong.dev/posts/emulating-inheritance-without-classes-2026-05-11" rel="alternate"/><content type="text">The O in OCaml is for its object-oriented extension, but I needed a way to emulate the constraints of inheritance without it. This raised some interesting design questions about how to do it using only the core ML language.</content><id>https://www.chrisarmstrong.dev/posts/emulating-inheritance-without-classes-2026-05-11</id><title type="text">Emulating inheritance without classes</title><updated>2026-05-13T00:00:00-00:00</updated><author><name>Chris Armstrong</name></author></entry><entry><link href="https://www.tunbury.org/2026/05/12/odd-opam-update/" rel="alternate"/><content type="text">A few days after retiring opam 2.0 from the build pipeline, ocaml-ci Jon noticed that some jobs were failing. I immediately concluded that the removal was to blame, but it wasn’t.</content><id>https://www.tunbury.org/2026/05/12/odd-opam-update/</id><title type="text">Odd opam update behaviour</title><updated>2026-05-12T18:00:00-00:00</updated><author><name>Mark Elvers</name></author></entry><entry><link href="https://alan.petitepomme.net/cwn/2026.05.12.html" rel="alternate"/><content type="text"></content><id>https://alan.petitepomme.net/cwn/2026.05.12.html</id><title type="text">OCaml Weekly News, 12 May 2026</title><updated>2026-05-12T12:00:00-00:00</updated><author><name>Caml Weekly News</name></author></entry><entry><link href="https://tarides.com/blog/2026-05-12-what-is-functional-programming-a-look-at-the-programming-style-from-an-ocaml-perspective" rel="alternate"/><content type="text">Get a comprehensive overview of the definitions, benefits, trade-offs, and use cases of functional programming.</content><id>https://tarides.com/blog/2026-05-12-what-is-functional-programming-a-look-at-the-programming-style-from-an-ocaml-perspective</id><title type="text">What is Functional Programming? A Look at the Programming Style from an OCaml Perspective</title><updated>2026-05-12T00:00:00-00:00</updated><author><name>Tarides</name></author></entry></feed>
