MessageFormat: Unicode standard for localizable message strings

messageformat:-unicode-standard-for-localizable-message-strings

Welcome to the home page for the MessageFormat Working Group, a subgroup of the Unicode CLDR-TC. The MessageFormat Working Group (MFWG) is tasked with developing and supporting an industry standard for the representation of localizable message strings. MessageFormat is designed to support software developers, translators, and end users with fluent messages and locally-adapted presentation for […]

picol: A Tcl interpreter in 500 lines of code

picol:-a-tcl-interpreter-in-500-lines-of-code

Picol is a Tcl-alike interpreter in 500 lines of code that I released 15th of March 2007. Recentely I looked at the source code and realized this was a better C programming example compared to what I recalled, so I’m putting this on GitHub to archive it, together with the main points of the original […]

Building SQLite with a small swarm

building-sqlite-with-a-small-swarm

February 12, 2026 tl;dr I tasked Claude, Codex, and Gemini to build a SQLite-like engine in Rust. ~19k~ lines of code. Parser, planner, volcano executor, pager, b+trees, wal, recovery, joins, aggregates, indexing, transaction semantics, grouped aggregates, and stats-aware planning all implemented. 282 unit tests, all passing. background Treat software engineering like distributed systems, and force […]

Defer available in gcc and clang

defer-available-in-gcc-and-clang

About a year ago I posted about defer and that it would be available for everyone using gcc and/or clang soon. So it is probably time for an update. Two things have happened in the mean time: A technical specification (TS 25755) edited by JeanHeyd Meneide is now complete and moves through ISO’s complicated publication […]

JavaScript-heavy approaches are not compatible with long-term performance goals

javascript-heavy-approaches-are-not-compatible-with-long-term-performance-goals

This post is a (very long) opinion piece, albeit one that I hope is somewhat substantiated by the accompanying anecdotes. The TL;DR is that in my experience the title is a correct statement the vast majority of the time, and we should favour more server-centric approaches instead, when possible. What I mean by “JS-heavy approaches“ […]

Visualizing the ARM64 Instruction Set (2024)

visualizing-the-arm64-instruction-set-(2024)

Lately I’ve been doing a lot of work with the ARM64 instruction set, and I thought it would be fun to try to visualize it. ARM64 encodes every instruction as a 32-bit integer, so one way to visualize the instruction set is by plotting the instructions along a space-filling curve, such as a Hilbert curve, […]

Error payloads in Zig

Feb 13, 2026 I do error payloads in Zig by making a union(enum)-based Diagnostics type for each function. These types have special methods which remove code bloat at call sites. A Diagnostics type can be defined inline, and the errorset can be generated inline from the Diagnostic’s enum tag. pub fn scan( db: *c.sqlite, diag: […]

Magnus Carlsen Wins the Freestyle (Chess960) World Championship

magnus-carlsen-wins-the-freestyle-(chess960)-world-championship

Magnus Carlsen (Norway) is the 2026 FIDE Freestyle Chess World Champion. A draw in the fourth and final game against Fabiano Caruana (USA) was enough to seal a 2.5–1.5 match victory in Weissenhaus, Germany.  The decisive moment came in game three. Carlsen won from a dead lost position, turning the match in his favor. Entering […]

I’m joining OpenAI

i’m-joining-openai

tl;dr: I’m joining OpenAI to work on bringing agents to everyone. OpenClaw will move to a foundation and stay open and independent. The last month was a whirlwind, never would I have expected that my playground project would create such waves. The internet got weird again, and it’s been incredibly fun to see how my […]

GNU Pies – Program Invocation and Execution Supervisor

The name Pies (pronounced ”p-yes”) stands for Program Invocation and Execution Supervisor. This utility starts and controls execution of external programs, called components. Each component is a stand-alone program, which is executed in the foreground. Upon startup, pies reads the list of components from its configuration file, starts them, and remains in the background, controlling […]