Small things from the workshop: bug reports, proposals, comments and releases, in other people's projects and in my own. Each one links to where it happened.
firecracker-wsl2-rootless: the reference code (opens in a new tab)
Firecracker nested in WSL2 with no root at run time: twenty jailed microVMs, each checked from the host. The code behind today's article.
hadley 0.3.0 (opens in a new tab)
The third release of hadley: every version of a page kept without Git, a chat with your coding agent beside the page, a block editor rebuilt in TypeScript, and the comments service fetched on request, on Windows too.
Markanto 0.2.2: recovery that finishes (opens in a new tab)
Recovery that finishes: with errorRecovery, a container name like ::: A|B made the parser run forever, and a block that failed could lose lines. Now it goes on after the line and keeps every line in the error block. Valid documents parse as before, and as fast.
Lima 0.8.1: positions from the reader (opens in a new tab)
outline() no longer pieces positions together after parsing: Lima's readers report each key and comment as they read it. 2,048 broken lines take 15 ms instead of 527, and parsing is as fast as before.
hadley 0.2.0 (opens in a new tab)
The second release of hadley: notes like this one, drawings written into the page, og images that fit every site, a search index for each language, and the first review by a native speaker.
hadley's Italian, read by a native speaker (opens in a new tab)
The first answer to the call for native speakers: mrCabez read every Italian text of hadley's themes and starters, and found two slips that were in English and every other language too. Grazie! French and Spanish are still open.
Lima 0.8.0: where each key stands (opens in a new tab)
Lima's JavaScript package learns where things stand: outline() gives each key, comment and error of a document its place in the source, for editors. A half-typed line keeps the keys below it; hadley's block editor is the first to use it.
staticcheck ignores its config under ~/.cache (opens in a new tab)
staticcheck skips every package whose path starts with the user cache directory, taking it for Go's build cache, and runs with the default checks. Reported with a script that plays every case; the suggestion is to compare against GOCACHE instead.
hadley 0.1.0 (opens in a new tab)
The first release of hadley, the static site generator this site is built with: an installer, an npm package, and every file with a checksum and an attestation.
hadley on winget, waiting for review (opens in a new tab)
hadley 0.1.0 is submitted to the Windows Package Manager. Every check passes; a moderator has yet to take it.
Native speakers wanted for hadley (opens in a new tab)
hadley's starters and themes come in five languages. The French, Spanish and Italian texts were drafted with AI and no native speaker has read them yet: reading one language helps a lot.
Lima 0.7: keys in any script (opens in a new tab)
TypeScript, Rust and Go ship Lima Core 1.2 and References 2.1 together: an unquoted key may start with a letter or number of any script. 0.7.1 followed a day later.
Markanto 0.2 (opens in a new tab)
Two steps towards GFM: a number with a dot at the start of a line is text, and | in a table cell is a pipe, inside code too. 0.2.1 followed on 31 October.
Why /dev/kvm loses its permission on WSL2 (opens in a new tab)
Each new VM makes udev rewrite the device's ACL for the active seat, and WSL has no seat, so a setfacl entry is gone after the first VM. Membership in the kvm group lasts.
Three coin flips for the 24th word (opens in a new tab)
BitBox02's dice guide leaves the last seed word to a human pick, and people are bad at random. The firmware lists the candidates in block order already, so three coin flips can choose it.
LottaBits 1.0.0-rc.1 (opens in a new tab)
The first release candidate of LottaBits, which turns draws of numbered chips into BIP39 seeds, passwords and passphrases; the software only calculates. English and German, with printables, and not audited yet.
A second pair of eyes for LottaBits (opens in a new tab)
Before 1.0.0, a review of the seed mapping, word 24 and the printables: 30 to 60 minutes. Anything that could produce a wrong secret is reported privately.
Sandboxes of one user share /tmp/claude (opens in a new tab)
On Linux, sandbox-runtime makes /tmp/claude writable in every sandbox a user starts, so agents that run side by side, each with its own filesystem grant, can read each other's temporary files.
A check for updates in OpenCode (opens in a new tab)
A way to ask OpenCode whether a newer version exists without upgrading, such as opencode upgrade --check, with JSON for tools. The pieces exist inside already; offered to implement it.
Steering in four agents, mapped onto the Agent Client Protocol (opens in a new tab)
The data of the same comparison, posted where the protocol defines session injection: Codex CLI's steer lands at once, like an interrupt; Claude Code folds a new message in at the next safe boundary.
Antigravity CLI has no mid-turn steering, measured (opens in a new tab)
A controlled comparison of four CLI coding agents, correcting a task while it runs. agy offers no way to put a correction into a running turn; its sibling Gemini CLI already ships one, behind an experimental setting.