.plan-26-09: Browser TESSERA, package management and Docker in the CACM

1 Decade of Docker containers

A busy week on the socials as the paper Dave Scott, Justin Cormack and I wrote looking back at the Docker adventure made the cover of the Communications of the CACM. Lots of really positive coverage about it online, and the print issue should be with you all this coming week!

2 TESSERA and Zarr

In TESSERA land I spent most of my week heads down on getting full Zarr streaming support. This has been extraordinarily successful; I now not only have a significant chunk of embeddings streaming over HTTP using Zarr, it also meant that I could build an entire classification and segmentation pipeline that runs entirely in my browser! I prototyped a user interface that can run Sadiq's solar farm CNN entirely in my browser using wasm and WebGPU. There's a nice roundup for Zarr visualisation options that greatly helped me put this together.

A full browser based streaming interface for TESSERA using Zarr, to be released soon!
A full browser based streaming interface for TESSERA using Zarr, to be released soon!

Here's a screenshot to whet your appetite; I'll write a full blog about this shortly and post a hosted URL. The reason it's taking a bit longer is that Mark Elvers and I have been busy rearranging storage in our cluster; exposing all the embeddings as Zarr means transcoding 100s of terabytes of data, which is killing our poor internal network.

While working on this, I also found this overview of hierarchical JEPA to be very good.

The OxCaml TESSERA pipeline continues to come online and Jon Ludlam also got odoc OxCaml docs building from my monorepo which is a HUGE help to developing all the code.

While preparing my wg2.8 I also needed an HTTP caching proxy that would permanently persist Zarr tiles on my laptop for demos, so I wrote a HTTP perma proxy over httpz/OxCaml as well which is working for me. Also spent a bit of time reviewing OCaml relocatability in opam as that would be extremely useful for rapid development setup of oxmono.

I also researched Huggingface support for Zarr which is still not quite there but it seems to be of interest to HF.

3 Package management a la carte

Ryan Gibb followed up on his FOSDEM talks extravaganza with a preprint on the package management calculus we've been working on for a while. Lots of discussions and online interest in places like HN and Lobsters. I thought one of the most telling things about how subtle this area is was from HN. Someone confidently pointed out that Rust has semver:

The rust ecosystem standardised on semver. This means it is perfectly allowed to use 1.2 in place of 1.1. While you can specify upper bounds for the dependency ranges, that is extremely uncommon in practice. Instead the bounds are just "1.1 or newer semver compatible" etc.

...but the reality that Ryan points out when you look at the crates registry is:

In https://github.com/rust-lang/crates.io-index I count just under 7000 upper bounds on dependency ranges that aren't just semver in disguise (e.g. not ">=1.0.0, <2.0.0"): $ rg --no-filename -o '"req":"[^"]<[^"]"' . | grep -Ev '< ?=? ?([0-9]+(.0){0,2}|0.[0-9]+(.0)?)"' | wc -l 6727 So it's definitely used. One person's non-breaking change is another's breaking change https://xkcd.com/1172/

This repeats itself all over the place. Table 1 of the paper covers a lot of the edge cases that we had to categorise when working through all the package ecosystems.

There was also a brief discussion on Lobsters about narrow waist effect in technology.

My paper of the week is "Building Bridges: Safe Interactions with Foreign Languages through Omniglot" from OSDI25, which builds out a generic FFI with zero-copy. Seems very useful for OxCaml as well; I'm going to see Mae Milano at next week's WG2.8 and hopefully learn more!

Next week I'm in Portugal at WG2.8, so less hacking than usual!

References

[1]Gibb et al (2026). Package Managers à la Carte: A Formal Model of Dependency Resolution. arXiv. 10.48550/arXiv.2602.18602