console: Making OCaml Command-Line Tools Look Good

An OCaml library for command-line tools that draw live tables and progress rows like full-screen apps but keep their output in the scrollback, shown with imitations of docker and cargo.

02 Nov 2026

Thomas Gazagnaire

Read Article
k7: Keeping CLI Animations in Sync with Your Code

k7 records any program as an SVG image animated with CSS alone, and draws dune's cram tests, so the tests fail when an animation in a README no longer matches the program.

26 Oct 2026

Thomas Gazagnaire

Read Article
An Overview of OCaml Release Readiness: How Does the OCaml Ecosystem Stay Up-to-Date with the Compiler?

A behind-the-scenes look at how maintainers get ppxlib, Merlin, Dune, OCamlFormat and odoc ready for each new OCaml compiler release.

07 Oct 2026

Tarides

Read Article
Rewriting Tailwind CSS in OCaml: Is It (Pixel-)Correct?

How do you know a second Tailwind compiler is right? Byte comparisons, then a CSS-aware diff, and finally Chrome comparing pixels, with mutation tests to check the checker. The oracles behind tw 1.1.0 and cascade 1.2.1.

23 Sep 2026

Thomas Gazagnaire

Read Article
.plan-26-36: Ground control to major MODIS

Tessera v2 beta2 smooths space at the cost of time, new Pembroke Associate Scholars, Scrutineer's git remediation workflow, paying the Windows tax, and retiring AI disclosure metadata.

06 Sep 2026

Anil Madhavapeddy's Blog

Read Article
Security scanning my own code with Scrutineer and local coding models

Deploying Alpha-Omega's Scrutineer on a VM, driving its scans with a local GLM 5.3 on my Mac Studio, and thinking through practical workflows

31 Aug 2026

Anil Madhavapeddy's Blog

Read Article
.plan-26-34: Am I human or am I antibotty

TESSERA v2 beta embeddings are in the TZE explorer, security embargoes being outrun by agents, opam packages now need humans behind them, prometheus and eio releases

23 Aug 2026

Anil Madhavapeddy's Blog

Read Article
Updating to the OxCaml 5.2.0-minus39 opam packaging

How the OxCaml overlay's guard packages keep incompatible releases out, and how to contribute to it with your own packages.

08 Aug 2026

Anil Madhavapeddy's Blog

Read Article
Reusing Buffers in Multicore OCaml

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.

24 Jul 2026

Thomas Gazagnaire

Read Article