Fetching from the wire…
Public story · 2026-07-19 · high
Julia Evans said on July 17 she still can't read query plans, so Willison had Fable build a browser tool that translates them into plain English.
Why now: Willison published the tool on July 18, one day after Evans said publicly she still can't read query plans.
Willison shipped a SQLite query plan explainer that runs entirely in the browser, no server involved. That matters for anyone debugging slow queries without deep database-internals knowledge, since the tool runs client-side and never sends schema or data anywhere.
Feed it arbitrary SQL against a SQLite database. It shows both EXPLAIN QUERY PLAN and the lower-level EXPLAIN bytecode, with plain-English annotations attached to each line. SQLite compiled to WebAssembly runs the whole thing through Pyodide, executing in Python with no backend at all.
The tool exists because Julia Evans said on July 17 that she still can't read query plans. Willison had Fable build it in response.
Willison also says directly that he isn't expert enough to fully verify the annotations the tool produces. That's the disclosure most AI-built developer tools skip, letting polished output imply an expert already checked it. A query plan explainer is exactly where a confidently wrong annotation does damage. The whole point is helping someone who doesn't already know the answer.
Each link below shares sources, entities, or timing with this story.
Willison's June 13 post walks through publishing WebAssembly wheels to PyPI so Python packages run client-side under Pyodide, alongside Datasette 1.0a33 adding JSON "extras" to the API (Simon Willison). He built a throwaway extras-API explorer with Claude Fable 5 to understand...
Willison launched datasette-apps (0.1a2) on June 18, hosting self-contained HTML+JS apps in a sandboxed iframe that run SQL against your data, read-only by default. He frames it as "Claude Artifacts reimagined for Datasette," artifacts backed by a JSON API to a relational data...
His conclusion is DuckDB matches or beats SQLite's safety for untrusted queries, but only with enable_external_access=false, lock_configuration=true, and a watchdog thread, since DuckDB lacks SQLite's opcode-based query timeouts. He ships a safe_duckdb.py helper and a Datasett...
The Pragmatic Engineer published a deep read on August 25 of Inspect, the coding agent Ramp built instead of standardizing on Claude Code or Cursor. The numbers: Inspect authors 75% of Ramp's merged PRs, 90% of PRs in its own repository, passed 1 million total sessions in July...
On June 6, Willison released micropython-wasm, an alpha package that runs untrusted Python inside a WebAssembly binary with enforced memory, CPU, and file/network limits. He wired it into a Datasette Agent plugin, put GPT-5.5 xhigh inside, and challenged it to break out. So fa...
Simon Willison shipped the fix August 6 and back-ported to 0.65.3: instances serving both public and private tables from one database let public-table users inject SQL and gain read access to private tables, defeating the permission system even with execute-sql disabled. Willi...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.