Weeknotes 2026 week 11
What did I do?
TESSERA
I Started looking at fixing my TESSERA notebook to make it actually correct:
- Removing the OCaml native PCA to replace with a tensorflow.js one. This should be much faster and probably more accurate.
- Investigating the slightly-off-seeming embeddings - you can see features like roads on the embeddings and they don't quite match up with the map. The problem is to do with WGS84 vs UTM, which I need sort out.
- Looking at UNets as part of replicating Sadiq's Solar Panel detection example.
Not much to show yet though.
Odoc release
We need an Odoc release soon, partly to support markdown output in dune, and partly to fix some bugs that were discovered when doing the odoc v3 dune rules. I merged a lot of stuff this week, but we've still got Arthur's OxCaml patches to merge, which are waiting on a test fix. I also looked into OCaml 5.5 compatibility. The big item looks to be the merge of Modular Explicits, which will require a bit of work to support. I'm considering a mechanical fix to at least get odoc compiling with 5.5 for the odoc release, and a larger release later to properly support the 5.5 features.
OxCaml docs builds
Anil has merged my PR to his oxmono repo to do docs, and that works nicely if you're generating all of the docs for your monorepo, including dependencies, which is what you get when you run dune build @doc-full. Running dune build @doc doesn't quite work as there's no external place like ocaml.org where you can expect your dependency libraries docs to be. Mark's day10 project is already building all of the oxcaml packages, so I had a look to see what it would be like to extend that to build the docs too. This is more-or-less working, but not yet as a reliable place that you can expect to be up to date. I had a thought that keeping the docs build running nicely is something that an AI agent should be able to do really well, so I'm investigating this. A neat thing it's already been able to do is to sort the build problems by number of other packages that they block, and numbers one and two were PPX issues (ppx_deriving_yojson and lwt_ppx). It was then able to come up with some patches that enabled both of these to build, unblocking all of those downstream packages. This, of course, is of wider interest than just the docs, so I need to figure out what to do with those patches.
Bugfixing my monorepo
I've been polishing the monorepo that's powering my website with a view to publishing a retrospective of the work that I've been doing over the past few months. Most importantly, adding '--warn-error' to all my odoc invocations to actually notice all the warnings it's been diligently reporting, and I've been ignoring. Looking further than my own failings though, this has really helped solidify in my mind the areas where Claude excels and the things we should be much more wary of letting it do. More on this in the retrospective!