tail -f

A river of the small web — quiet blogs, followed.

Quoting Sam Altman

Simon Willison · Jul 20, 2026

We have been having extensive discussions around open source strategy. We will discuss it more at our next board meeting, but one thing we’d like to do soon is to create a language model with the approximate capability of GPT-3 that can run locally on consumer hardware and…

AI Mania Is Eviscerating Global Decision-Making

Simon Willison · Jul 19, 2026

AI Mania Is Eviscerating Global Decision-Making Here's an entertaining perspective from Nik Suresh on the AI mania that is overwhelming the large companies that he consults with. It's crammed with spicy anecdotes from anonymous sources. In one extreme case, I have seen an…

Claude Code uses Bun written in Rust now

Simon Willison · Jul 19, 2026

In Rewriting Bun in Rust Jarred Sumner made the following claim: Claude Code v2.1.181 (released June 17th) and later use the Rust port of Bun. Startup got 10% faster on Linux but otherwise, barely anyone noticed. Boring is good. I decided to have a poke at my own Claude Code…

SQLite Query Explainer

Simon Willison · Jul 18, 2026

Tool: SQLite Query Explainer Julia Evan's, in Learning a few things about running SQLite: Maybe one day I’ll learn to read a query plan. Big same.... which inspired me to have Fable build this interactive explain tool, which runs SQLite in Python in Pyodide in Web Assembly in…

Claude make Fable 5 permanent

Simon Willison · Jul 18, 2026

Claude make Fable 5 permanent An update from the @claudeai account on Twitter: Beginning July 20, Claude Fable 5 will be included in all Max and Team Premium plans, at 50% of limits. Pro and Team Standard users will continue to have access to Fable via usage credits, and will…

nascheme/quixote

Simon Willison · Jul 18, 2026

nascheme/quixote A certain vintage if Python web nerd might be delighted to learn that the most recent commit to the Quixote web framework was six hours ago. The oldest commit in that repo is from 21 years ago, and that was the initial import of Quixote 2.4 from Subversion into…

Quoting Kimi K3

Simon Willison · Jul 17, 2026

Is there something I can actually help you with today? — Kimi K3, after refusing to leak its system prompt Tags: kimi, ai-personality, generative-ai, ai, llms

LLM cliché highlighter

Simon Willison · Jul 17, 2026

Tool: LLM cliché highlighter I got frustrated reading yet another article that was crammed with the clichés of LLM-generated writing - "no fluff, no filler, no jargon" type stuff - so I had Fable 5 vibe code up this app for highlighting ten common patterns that show up in that…

Spot birds not golf

Simon Willison · Jul 17, 2026

Suggestion for hyperscalers feeling pressure over data center water use: Buy up a few exclusive country clubs, convert the golf courses into public parks, pay for guides and binoculars to get the previous members into birdwatching - help them embrace a more sustainable hobby!…

Firefox in WebAssembly

Simon Willison · Jul 16, 2026

Firefox in WebAssembly This is absurdly cool: Puter compiled Firefox to WebAssembly such that the whole browser runs in another browser. Here's my blog, running in Firefox, running in WebAssembly, running in Chrome: They chose Firefox/Gecko because it has strong single-process…

Kimi K3, and what we can still learn from the pelican benchmark

Simon Willison · Jul 16, 2026

Chinese AI lab Moonshot AI announced Kimi K3 this morning, describing it as their "most capable model to date, with 2.8 trillion parameters". It's currently available via their website and API, but an open weight release is promised "by July 27, 2026". Moonshot are calling this…

Quoting Thibault Sottiaux

Simon Willison · Jul 16, 2026

On file deletions. We’ve investigated a handful of reports where GPT-5.6 unexpectedly deleted files. What we have found is that this most commonly occurs when: Full access mode is enabled and codex is run without sandboxing protections, including without auto review being…

Inkling: Our open-weights model

Simon Willison · Jul 16, 2026

Inkling: Our open-weights model Mira Murati's Thinking Machines Lab just released their first open-weights model. Inkling is "a Mixture-of-Experts transformer with 975B total parameters, 41B active" - an Apache-2.0 licensed multimodal model trained on 45 trillion tokens of text…

Mermaid to ASCII art (mermaid-ascii)

Simon Willison · Jul 16, 2026

Tool: Mermaid to ASCII art (mermaid-ascii) After building the Mermaid to ASCII tool based on Grok Build's Rust code I learned that there's an older, more fully-featured Go library called AlexanderGrooff/mermaid-ascii that implements a similar pattern, so I had Claude Fable 5…

Quoting Linus Torvalds

Simon Willison · Jul 16, 2026

I realize that some people really dislike AI, but this is an area where I'm willing to absolutely put my foot down as the top-level maintainer. Linux is not one of those anti-AI projects, and if somebody has issues with that, they can do the open-source thing and fork it. Or…

Mermaid to Unicode box art (grok-mermaid)

Simon Willison · Jul 16, 2026

Tool: Mermaid to Unicode box art (grok-mermaid) While exploring the codebase for the newly open-sourced Grok CLI coding agent I came across xai-grok-markdown/src/mermaid.rs, a "self-contained terminal renderer for Mermaid diagrams" written in Rust. I figured it would be fun to…

xai-org/grok-build, now open source

Simon Willison · Jul 15, 2026

xai-org/grok-build, now open source xAI's grok CLI tool faced severe community backlash yesterday when it became apparent that running the command in a directory could upload that entire directory to xAI's Google Cloud buckets. One user reported running it in their home…

How I tricked Claude into leaking your deepest, darkest secrets

Simon Willison · Jul 15, 2026

How I tricked Claude into leaking your deepest, darkest secrets I've been impressed by the way the Claude web_fetch tool is designed to avoid data exfiltration attacks. Ayush Paul found a hole in that design. To recap: regular Claude chat is at risk of lethal trifecta attacks…

Quoting GitHub Changelog

Simon Willison · Jul 14, 2026

Dependabot now waits until a new release has been available on its registry for at least three days before opening a version update pull request. This cooldown is now the default and requires no configuration. — GitHub Changelog, embracing dependency cooldowns Tags…

simonw/pedalican

Simon Willison · Jul 14, 2026

simonw/pedalican Clearly I wasn't paying attention when these were first announced back in May, but today I accidentally activated a "pet" in Codex Desktop - a little animated robot, reminiscent of Clippy - and then learned you can create your own. So I did, and now I have a…

lobste.rs is now running on SQLite

Simon Willison · Jul 14, 2026

lobste.rs is now running on SQLite Community site Lobsters has been planning a migration away from MariaDB since August 2018 - originally targeting PostgreSQL, but last year they decided to investigate SQLite instead. This weekend they completed the migration, and now consider…

Quoting Armin Ronacher

Simon Willison · Jul 14, 2026

The shared language of a software project is not English or Python but it is the common understanding of what its concepts mean, where the boundaries are, which invariants matter, who owns what, and why the system has the shape it does. This language is rarely written down in…

datasette 1.0a37

Simon Willison · Jul 14, 2026

Release: datasette 1.0a37 A minor release. Performance and documentation improvements to the permissions system, plus I reverted a cosmetic API change which caused almost every existing plugin test suite to break. Tags: datasette

Using uvx in GitHub Actions in a cache-friendly way

Simon Willison · Jul 14, 2026

TIL: Using uvx in GitHub Actions in a cache-friendly way I finally found a cache-friendly recipe for using uvx tool-name in GitHub Actions workflows that I like. The trick is setting a UV_EXCLUDE_NEWER: "2026-07-12" environment variable at the start of the workflow and then…

Presigned URLs are technically a security vuln

Xe Iaso · Jul 14, 2026

A presigned URL is a replay attack you did on purpose. Replayable auth tokens are the textbook way to create vulnerable systems, but Tigris ships them as a first-class feature with presigned URLs and so does every other object storage system on the planet. However this isn't an…

You should probably check on your smart appliances

Xe Iaso · Jul 14, 2026

TL;DR: is your refrigerator running malware? If so, you better catch it!

DOOMQL

Simon Willison · Jul 13, 2026

DOOMQL Peter Gostev built this using GPT-5.6 Sol. This is a lot of fun: DOOMQL started with a deliberately unreasonable question: what if SQLite were the game engine, not merely the place where a game stores data? The result is a small, original Doom-like game in which SQL owns…

The console wars have been lost

Xe Iaso · Jul 9, 2026

Valve wins by doing absolutely nothing

Agents are monads (but not that kind)

Xe Iaso · Jul 8, 2026

I managed to write this without using the word endofunctor once. Wait, shit, I just did. Uhhh, oops!

"No way to prevent this" say users of only language where this regularly happens

Xe Iaso · Jun 25, 2026

In the hours following the release of CVE-2026-8461 for the project FFmpeg, site reliability workers and systems administrators scrambled to desperately rebuild and patch all their systems to fix an out-of-bounds write in the MagicYUV decoder (libavcodec/magicyuv.c) caused by…

"No way to prevent this" say users of only language where this regularly happens

Xe Iaso · Jun 24, 2026

In the hours following the release of CVE-2026-55200 for the project libssh2, site reliability workers and systems administrators scrambled to desperately rebuild and patch all their systems to fix an out-of-bounds write in ssh2_transport_read() due to a missing upper bound…

I taught a bucket to speak git

Xe Iaso · Jun 23, 2026

What happens if I just point a git server at an object storage bucket? Back when I was porting agent sandboxes to Go, I built everything on top of billy, a filesystem abstraction for Go. The whole trick of the project was teaching a Tigris bucket to act enough like a filesystem…