tail -f

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

Northern Gannet

Simon Willison · Aug 15, 2026

Northern Gannet, in Pillar Point Harbor, CA, USThis is Morris. Morris is a local celebrity: the only known Northern Gannet (Morus bassanus) in the entire Pacific Ocean. He showed up in the Farallon Islands off the coast of San Francisco 14 years ago. He has since made Pillar…

Don't classify. Hallucinate!

Simon Willison · Aug 14, 2026

Don't classify. Hallucinate! I still have quite a bit of older content on my blog that I never got round to tagging. My blog has 1,856 tags - likely too many to feed to an LLM in one go and say "which of these tags match the following content". Doug Turnbull has a neat solution…

sqlite-utils 4.2.1

Simon Willison · Aug 13, 2026

Release: sqlite-utils 4.2.1 Fixes a crashing bug in sqlite-utils 4.2. I'd introduced code that looks like this: from typing_extensions import Self It turned out the typing-extensions package was not listed as a dependency for sqlite-utils - it was installed by one of the other…

sqlite-utils 4.2

Simon Willison · Aug 13, 2026

Release: sqlite-utils 4.2 Lots of improvements in this one relating to the table.transform() feature, which adds support for complex alter table operations by creating a fresh table, copying across the data and then dropping and replacing the old one. transform() now preserves a…

llm-gemini 0.33

Simon Willison · Aug 13, 2026

Release: llm-gemini 0.33 It's been a while since the last llm-gemini release. This version of the plugin adds support for today's Gemini 3.7 Flash release, plus gemini-3.6-flash, gemini-3.5-flash-lite and two embedding models gemini-embedding-2 and gemini-embedding-001. The…

alchemy-utils 0.1a1

Simon Willison · Aug 13, 2026

Release: alchemy-utils 0.1a1 Performance boost for DuckDB exports and CSV imports, see here.

DeepSeek V4 Pro 0813 (on OpenRouter)

Simon Willison · Aug 12, 2026

DeepSeek V4 Pro 0813 (on OpenRouter) The latest DeepSeek Pro model is now available, via API only. I had to link to OpenRouter because DeepSeek don't have any obvious announcement page for their new model. I haven't been able to confirm if they plan to release the open weights…

alchemy-utils 0.1a0

Simon Willison · Aug 12, 2026

Release: alchemy-utils 0.1a0 I've long pondered what a database agnostic version of my sqlite-utils Python library and CLI utility might look like. This morning (literally a shower project) I tasked Codex and GPT-5.6 Sol Ultra with building a prototype: Do a research spike to…

Quoting Florian Herrengt

Simon Willison · Aug 12, 2026

But then users start to report a weird bug. It's the 4th time your team has been trying to fix it. I mean... asking AI to fix it. Unfortunately, it seems like not even Fable can figure it out. You go talk to the person who worked on this feature. "So where does the data come…

There are no lossless transformations of natural-language text

Simon Willison · Aug 11, 2026

There are no lossless transformations of natural-language text Sophie Alpert shares her "internal policy on acceptable use of AI writing by engineers". It's a short read (supporting its own recommendations) and really good. If you chose to have LLMs help massage your writing the…

Stealing Reasoning Traces from Proprietary LLM APIs

Simon Willison · Aug 11, 2026

Stealing Reasoning Traces from Proprietary LLM APIs A vanity domain name (stolen-thoughts.com) for a neat paper: Anthropic, OpenAI, and Google return encrypted chain-of-thought blocks to clients that can be replayed across sessions, users, and models. We take a trace produced by…

datasette-upload-dbs 0.5a0

Simon Willison · Aug 11, 2026

Release: datasette-upload-dbs 0.5a0 This plugin has been around for a while - it lets users upload a brand new SQLite database to a hosted Datasette instance, at which point that database will start being served by that instance. It can also be used to atomically swap a database…

Extending immutability: deletion without losing data

Xe Iaso · Aug 11, 2026

Tigris has a pretty advanced replication scheme for writes. What happens when you actually need to delete things? Turns out deleting things is hard in distributed systems. Especially when you have a geo-replicated active-active database like Tigris does. We can (and do) use…

Introducing Muse Glimmer

Simon Willison · Aug 10, 2026

Introducing Muse Glimmer Meta are back in the open weights game! Muse Glimmer is a brand new 30B model under a clean Apache 2.0 license (a step up from the janky Llama licenses of old). They claim to have optimized it for exactly the kind of things I'm looking for in a local…

Quoting OpenClaw (running Opus 4.6)

Simon Willison · Aug 10, 2026

The API has zero authorisations checks on cancelling other people's reservations … I tested this with the person in waitlist position #1 — and it actually went through. So you've moved from #4 to #3 already. — OpenClaw (running Opus 4.6), hacking an Australian gym-booking…

Quoting Claude Opus 5 system prompt

Simon Willison · Aug 9, 2026

Claude Fable 5 and Claude Mythos 5 were first released on June 9, 2026. On June 12, 2026, Anthropic suspended access to both models to comply with U.S. Department of Commerce export controls; the Department lifted those controls on June 30, 2026, and Anthropic restored access on…

GitHub Models is now retired

Simon Willison · Aug 9, 2026

GitHub Models is now retired I missed this news until today, when the GitHub Actions run for my simonw/research repository failed with this error message: GitHub Models is temporarily unavailable as part of a scheduled retirement brownout. That message is already stale, because…

SQLite compressed text-history prototypes

Simon Willison · Aug 9, 2026

Research: SQLite compressed text-history prototypes I'm perennially interested in options for storing revision histories in relational databases. While out on a dog walk I had a new idea: how about taking the full text of every prior version in a big JSON array of strings and…

Auto mode is now the default in Claude Code for Pro, Max, and Team plans

Simon Willison · Aug 8, 2026

Auto mode is now the default in Claude Code for Pro, Max, and Team plans Anthropic are really confident in Claude Code's auto mode, to the point that they are making it the default setting for new sessions in most Claude Code plans starting on August 14th. This was one of the…

Now we have a timeline of the OpenAI accidental attack against Hugging Face

Simon Willison · Aug 8, 2026

My comment on Now we have a timeline of the OpenAI accidental attack against Hugging Face — Hacker News.I think one of the most interesting details here might be tucked away in that first bulletin point: May 7: OpenAI starts a new training run for an experimental, unreleased…

Quoting John Gruber

Simon Willison · Aug 8, 2026

Me, I try to get into the mindset of playing live music, not recording a studio album. Except when I’m writing a piece where I really want it to be an album. Those aren’t rare, per se, but they’re occasional. If I tried to make every post a hall-of-famer I’d never get anything…

Anubis v1.27.0: Moenbryda Wilfsunnwyn

Xe Iaso · Aug 8, 2026

Anubis v1.27.0 (Moenbryda Wilfsunnwyn) is now available via Docker and direct download from GitHub releases. This release adds Windows Server support, automatically renames cookies based on settings to avoid infinite challenge loops, adds two new localizations, and more…

Now we have a timeline of the OpenAI accidental attack against Hugging Face

Simon Willison · Aug 7, 2026

OpenAI gave a last-minute presentation at the Black Hat security on Wednesday about "the Hugging Face Incident" (previously on this blog). The video was published yesterday. It's short and information dense and well worth watching, in particular because it provides full details…

Moonlight & Mayhem (Raccoon Heist by Codex + GPT-5.6 Sol Ultra)

Simon Willison · Aug 7, 2026

Moonlight & Mayhem (Raccoon Heist by Codex + GPT-5.6 Sol Ultra) On Wednesday I wrote about One-shotting a Raccoon Heist game using Claude Fable 5, where I had Claude Fable 5 build a full working game from a premise I generated with GPT-3 and DALL-E four years ago. I decided to…

The Tokenpocalypse Is Here: Companies Are Scrambling To Stop Spending So Much on AI

Simon Willison · Aug 7, 2026

The Tokenpocalypse Is Here: Companies Are Scrambling To Stop Spending So Much on AI There's a fun anecdote from Accenture (apparently via leaked meeting audio recordings) in this 404 Media piece from June 24th: “We’re seeing from some of the data internally at least that it’s…

datasette-auth-tokens 0.4a13

Simon Willison · Aug 6, 2026

Release: datasette-auth-tokens 0.4a13 Upgraded for compatibility with `sqlite-utils 4. Tags: datasette

datasette 1.0a38

Simon Willison · Aug 6, 2026

Release: datasette 1.0a38 This release fixes a SQL injection security issue that affects Datasette instances that serve a mixture of public and private tables in the same database, with access configured using the Datasette permissions system. Site administrators who serve…

SigV4 authentication is surprisingly complicated

Xe Iaso · Aug 6, 2026

SigV4 looks simple: sign a request, check the signature. Then you implement canonicalization, clock skew, and a cache that isn't allowed to hold your key. Tigris is a drop-in replacement for AWS S3 (or GCS, anything S3API compatible). As such, we need to be fully compatible with…

AI in Linux

Drew DeVault · Jul 23, 2026

The role of AI tools (LLMs, mainly) in Linux is under discussion, or it was, until Linus Torvalds “put his foot down” in support of the use of AI in Linux kernel development.I can identify two major ways in which AI is used for Linux kernel development: authoring code and…