2026-04-13

Simon Willison — 2026-04-13#

Highlight#

Today’s standout is Simon’s hands-on research into the newly released servo crate using Claude Code. It perfectly captures his classic approach to AI-assisted exploration, demonstrating how quickly you can prototype a Rust CLI tool and evaluate WebAssembly compatibility with an LLM sidekick.

Posts#

[Exploring the new servo crate] · Source Following the initial release of the embeddable servo browser engine on crates.io, Simon tasked Claude Code for web with exploring its capabilities. The AI successfully generated a working Rust CLI tool called servo-shot for taking web screenshots. While compiling Servo itself to WebAssembly proved unfeasible due to its heavy use of threads and SpiderMonkey dependencies, Claude instead built a playground page utilizing a WebAssembly build of the html5ever and markup5ever_rcdom crates to parse HTML fragments.

Engineer Reads

Engineering Reads — Week of 2026-04-02 to 2026-04-10#

Week in Review#

This week’s reading reflects a fundamental inflection point: raw LLM intelligence is no longer the bottleneck in software development. Instead, the industry is pivoting toward the hard systems engineering required to constrain probabilistic models—whether through strict data ledgers, living specifications, or formal verification harnesses. The dominant debate centers on how we preserve architectural taste, mechanical sympathy, and system ethics as the mechanical act of writing code becomes increasingly commoditized.

2026-04-10

Engineering Reads — 2026-04-10#

The Big Idea#

As AI abstractions upend our relationship with code, engineering craft is bifurcating: we must simultaneously grapple with emergent, functional behaviors in massive models while deliberately preserving the mechanical, systems-level intuition that historically grounded software ethics.

Deep Reads#

watgo - a WebAssembly Toolkit for Go · Eli Bendersky This piece introduces watgo, a zero-dependency WebAssembly toolkit written in pure Go that parses, validates, encodes, and decodes WASM. The core of the system lowers WebAssembly Text (WAT) to a semantic intermediate representation called wasmir, flattening syntactic sugar to match WASM’s strict binary execution semantics. To guarantee correctness, watgo executes the official 200K-line WebAssembly specification test suite by converting .wast files to binary and running them against a Node.js harness. An earlier attempt to maintain a pure-Go execution pipeline using wazero was abandoned because the runtime lacked support for recent WASM garbage collection proposals. Engineers working on compilers, parsers, or WebAssembly infrastructure should read this for a masterclass in leveraging specification test suites to bootstrap confidence in new tooling.

2026-04-11

Simon Willison — 2026-04-11#

Highlight#

The standout update today centers on the release of SQLite 3.53.0, where Simon highlights highly anticipated native ALTER TABLE constraint improvements and showcases his classic rapid-prototyping workflow by using Claude Code on his phone to build a WebAssembly-powered playground for the database’s new Query Result Formatter.

Posts#

SQLite 3.53.0 · Source This is a substantial release following the withdrawal of SQLite 3.52.0, packed with accumulated user-facing and internal improvements. Simon specifically highlights that ALTER TABLE can now directly add and remove NOT NULL and CHECK constraints, a workflow he previously had to manage using his own sqlite-utils transform() method. The update also introduces json_array_insert() (alongside its jsonb equivalent) and brings significant upgrades to the CLI mode’s result formatting via a new Query Results Formatter library. True to form, Simon leveraged AI assistance—specifically Claude Code on his phone—to compile this new C library into WebAssembly to build a custom playground interface.