ATRIUMsearch → argument graph
Blog

Simon Willison's Weblog

First-hand notes on AI and coding from a prolific engineer.

222 episodes indexed · ~88.8/month · since 2026-07 · Visit original ↗

HOST Simon Willison

datasette 0.65.5

2026-09-16 · 0 moments

→

datasette 1.0a40

2026-09-16 · 0 moments

→

Claude Cowork and chat are now one Claude

2026-09-16 · 0 moments

→

Quoting Mustafa Suleyman

2026-09-16 · 0 moments

→

Gemini Live audio

2026-09-15 · 0 moments

→

Quoting Laurie Voss

2026-09-14 · 0 moments

→

The contagion of fear

2026-09-14 · 0 moments

→

What blog posts influenced your thinking the most?

2026-09-14 · 0 moments

→

commit-rewriter 0.1

2026-09-14 · 0 moments

→

shot-scraper 1.12

2026-09-13 · 0 moments

→

OpenAI agents carried out an undisclosed attack on RubyGems

2026-09-12 · 0 moments

→

Quoting Paul Ford

2026-09-12 · 0 moments

→

California Brown Pelican

2026-09-12 · 0 moments

→

OpenAI agents attacked RubyGems back in May

2026-09-12 · 0 moments

→

Generating running routes with GPT-6 Astra and ChatGPT Work

2026-09-12 · 0 moments

→

Soft-deprecating re.match()

2026-09-11 · 0 moments

→

Datasette 1.0a39 and 0.65.4 security releases

2026-09-11 · 0 moments

→

Feeling sad about AI

2026-09-11 · 0 moments

→

So you want to use OpenRouter?

2026-09-11 · 0 moments

→

Don't sleep on wrapture

2026-09-11 · 0 moments

→

Quoting huggingface.co/security.txt

2026-09-11 · 0 moments

→

Native is now the future of mobile at Shopify

2026-09-10 · 0 moments

→

Quoting Calif Research

2026-09-10 · 0 moments

→

Any Nix package, live in your browser

2026-09-10 · 0 moments

→

.blend URL Viewer

2026-09-09 · 0 moments

→

Quoting Terence Tao

2026-09-09 · 0 moments

→

Introducing ChatGPT Images 2.5

2026-09-08 · 0 moments

→

On the Navier–Stokes Millennium Prize Problem

2026-09-08 · 0 moments

→

Some thoughts on the Navier–Stokes Millennium Prize Problem

2026-09-08 · 0 moments

→

Quoting Jakub Pachocki

2026-09-07 · 0 moments

→

Video compressor

2026-09-07 · 0 moments

→

llm 0.35

2026-09-07 · 0 moments

→

Mercator ↔ Equal Earth

2026-09-07 · 0 moments

→

Creepy crawlies

2026-09-07 · 0 moments

→

Quoting Zach Kehs

2026-09-06 · 0 moments

→

There's No Limit to How Bad Code Can Get

2026-09-06 · 0 moments

→

Research acceleration: The view inside OpenAI

2026-09-06 · 0 moments

→

The purpose of DNS is to spread scams

2026-09-06 · 0 moments

→

Using Blender with coding agents on macOS

2026-09-05 · 0 moments

→

Introducing GPT-6 Astra for developers

2026-09-05 · 0 moments

→

OpenAI's rogue agents were caught communicating via public wikis

2026-09-04 · 0 moments

→

The Pelican comparison grid for Astra is pretty interesting

2026-09-04 · 0 moments

→

August newsletter is out

2026-09-04 · 0 moments

→

GPT‑6 Astra

2026-09-03 · 0 moments

→

Quoting Rick Brewster

2026-09-02 · 0 moments

→

llm-gemini 0.34

2026-09-02 · 0 moments

→

Claude's new system prompt really doesn't want to reproduce song lyrics

2026-09-02 · 0 moments

→

datasette-mcp 0.2

2026-09-01 · 0 moments

→

Codex bundles LibreOffice

2026-09-01 · 0 moments

→

Python 3.15.0 candidate 2 is here!

2026-09-01 · 0 moments

→

GeoJSON Map Viewer

2026-09-01 · 0 moments

→

Quoting Tarn Adams

2026-09-01 · 0 moments

→

Claude Fable 5.1 made me a really nice animated pelican

2026-09-01 · 0 moments

→

Quoting Andrew Digby

2026-08-31 · 0 moments

→

Introducing wrapture

2026-08-31 · 0 moments

→

Understanding ChatGPT Work

2026-08-30 · 0 moments

→

Introducing Hy4 Preview

2026-08-29 · 0 moments

→

Just a rumour of a bug is enough to find a security exploit these days

2026-08-28 · 0 moments

→

Breaking Claude Code Opus 5 Auto Mode

2026-08-27 · 0 moments

→

Qwen3.8-Flash-Next

2026-08-26 · 0 moments

→

Quoting Paul Dix

2026-08-26 · 0 moments

→

EVE Online: The Move to Python 3 Begins!

2026-08-25 · 0 moments

→

Your executable is a SQLite database

2026-08-24 · 0 moments

→

llm-anthropic 0.27

2026-08-24 · 0 moments

→

Anthropic’s best AI model struggles to attract users as cheaper tools thrive

2026-08-23 · 0 moments

→

Quoting Drew Breunig

2026-08-23 · 0 moments

→

More than just code review

2026-08-22 · 0 moments

→

llm 0.33

2026-08-22 · 0 moments

→

llm 0.32.1

2026-08-21 · 0 moments

→

Stop Making TUIs

2026-08-21 · 0 moments

→

llm-openrouter 0.7

2026-08-21 · 0 moments

→

Quoting Matt Webb

2026-08-21 · 0 moments

→

A shot-scraper-style JSON API on Bun 1.4's new Bun.WebView

2026-08-20 · 0 moments

→

ChatGPT search now uses the site:operator at scale

2026-08-20 · 0 moments

→

Quoting Jeremy Morrell

2026-08-19 · 1 moments

→

smolmachines / smolvm as a sandbox for untrusted Python & JavaScript

2026-08-19 · 3 moments

→

Conceptual integrity and counting lines of code

2026-08-19 · 6 moments

→

Mojo🔥 is now open source

2026-08-18 · 4 moments

→

Qwen 3.8 27B scores 52 on the Artificial Analysis Intelligence Index

2026-08-17 · 0 moments

→

We Tracked a Shipment of Rare Books. It Ended at an Amazon AI Training Facility

2026-08-17 · 4 moments

→

Markdown SVG upgrades

2026-08-16 · 6 moments

→

Qwen 3.8 27B is excellent, but it defaults to wildly overthinking things

2026-08-16 · 6 moments

→

Quoting Dario Amodei

2026-08-16 · 3 moments

→

Northern Gannet

2026-08-15 · 2 moments

→

CORS Chat

2026-08-15 · 5 moments

→

Don't classify. Hallucinate!

2026-08-14 · 4 moments

→

alchemy-utils 0.1a1

2026-08-13 · 0 moments

→

sqlite-utils 4.2.1

2026-08-13 · 2 moments

→

sqlite-utils 4.2

2026-08-13 · 4 moments

→

llm-gemini 0.33

2026-08-13 · 4 moments

→

Quoting Florian Herrengt

2026-08-12 · 2 moments

→

alchemy-utils 0.1a0

2026-08-12 · 3 moments

→

DeepSeek V4 Pro 0813 (on OpenRouter)

2026-08-12 · 4 moments

→

There are no lossless transformations of natural-language text

2026-08-11 · 2 moments

→

datasette-upload-dbs 0.5a0

2026-08-11 · 4 moments

→

Stealing Reasoning Traces from Proprietary LLM APIs

2026-08-11 · 5 moments

→

Quoting OpenClaw (running Opus 4.6)

2026-08-10 · 0 moments

→

Quoting OpenClaw

2026-08-10 · 0 moments

→

Introducing Muse Glimmer

2026-08-10 · 5 moments

→

SQLite compressed text-history prototypes

2026-08-09 · 5 moments

→

Quoting Claude Opus 5 system prompt

2026-08-09 · 3 moments

→

GitHub Models is now retired

2026-08-09 · 4 moments

→

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

2026-08-08 · 6 moments

→

Quoting John Gruber

2026-08-08 · 2 moments

→

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

2026-08-07 · 3 moments

→

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

2026-08-07 · 5 moments

→

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

2026-08-07 · 5 moments

→

An AI model from Meta also hacked another company during testing

2026-08-06 · 3 moments

→

Simon Willison on Technical Blogging

2026-08-06 · 2 moments

→

datasette 0.65.3

2026-08-06 · 0 moments

→

datasette 1.0a38

2026-08-06 · 5 moments

→

Third-party cyber evaluations involving OpenAI models

2026-08-05 · 3 moments

→

Incident Report: unsanctioned agent behaviour during cyber testing

2026-08-05 · 3 moments

→

One-shotting a Raccoon Heist game using Claude Fable 5

2026-08-05 · 6 moments

→

Introducing Muse Code and Muse Spark 1.2

2026-08-05 · 5 moments

→

New release of LLM adds support for reasoning traces, OpenAI Responses, server-side tools, and smarter logging

2026-08-04 · 6 moments

→

llm 0.32

2026-08-04 · 0 moments

→

Quoting Steve Yegge

2026-08-04 · 5 moments

→

PipeNetwork/minimax-h3-mlx

2026-08-04 · 5 moments

→

llm-anthropic 0.26

2026-08-04 · 4 moments

→

Quoting David Crawshaw's prompt

2026-08-03 · 0 moments

→

Quoting David Crawshaw

2026-08-03 · 0 moments

→

Don't be a meat proxy

2026-08-03 · 2 moments

→

Devtools must be open source (exe.dev)

2026-08-03 · 6 moments

→

condense-json 1.0

2026-08-02 · 4 moments

→

Open letters about AI development

2026-08-02 · 6 moments

→

July 2026 newsletter

2026-08-02 · 3 moments

→

Quoting Greg Brockman

2026-08-01 · 2 moments

→

datasette-apps 0.2a0

2026-08-01 · 4 moments

→

Ten advances in mathematics and theoretical computer science

2026-08-01 · 6 moments

→

datasette-agent 0.4a0

2026-07-31 · 0 moments

→

Stateless MCP has recaptured my interest (and inspired mcp-explorer and datasette-mcp)

2026-07-31 · 6 moments

→

deepseek-ai/DeepSeek-V4-Flash-0731

2026-07-31 · 4 moments

→

smevals - a small eval suite for evaluating models, prompts, and harnesses

2026-07-31 · 4 moments

→

llm-mcp-client 0.1a0

2026-07-31 · 0 moments

→

Oxide and Friends: The Open Weight Revolution with Simon Willison

2026-07-31 · 5 moments

→

Investigating three real-world incidents in our cybersecurity evaluations

2026-07-30 · 6 moments

→

Advancing the price-performance frontier with GPT‑5.6

2026-07-30 · 4 moments

→

llm 0.32rc2

2026-07-30 · 4 moments

→

llm-chat-completions-server 0.1a0

2026-07-30 · 4 moments

→

llm 0.32rc1

2026-07-30 · 4 moments

→

Quoting Bruce Schneier

2026-07-30 · 1 moments

→

Quoting Matthew Green

2026-07-29 · 3 moments

→

AI Worming through Word

2026-07-29 · 5 moments

→

Adding a custom MCP server to Claude and ChatGPT

2026-07-29 · 0 moments

→

Quoting D. Richard Hipp

2026-07-29 · 3 moments

→

uv 0.12.0

2026-07-28 · 4 moments

→

Quoting Akshat Bubna

2026-07-28 · 0 moments

→

Discovering cryptographic weaknesses with Claude

2026-07-28 · 4 moments

→

Anatomy of a Frontier Lab Agent Intrusion: A Technical Timeline of the July 2026 Incident

2026-07-28 · 6 moments

→

An opinionated guide to which AI to use to do stuff

2026-07-27 · 8 moments

→

moonshotai/Kimi-K3

2026-07-27 · 5 moments

→

An Inside Look at the Relay Market Powering Token Resellers and Fraud

2026-07-26 · 6 moments

→

Ruff v0.16.0

2026-07-25 · 7 moments

→

Quoting Boris Cherny

2026-07-25 · 0 moments

→

Introducing Claude Opus 5

2026-07-24 · 3 moments

→

The first known runaway AI agent - or a very bad marketing stunt?

2026-07-23 · 2 moments

→

Quoting Seth Larson

2026-07-23 · 3 moments

→

OpenAI’s accidental cyberattack against Hugging Face is science fiction that happened

2026-07-22 · 6 moments

→

Quoting Thomas Ptacek

2026-07-22 · 0 moments

→

Orchestrions

2026-07-22 · 0 moments

→

Are AI labs pelicanmaxxing?

2026-07-22 · 4 moments

→

California Sea Lion

2026-07-21 · 0 moments

→

Nativ: Run AI models locally on your Mac

2026-07-21 · 3 moments

→

A Fireside Chat with Cat and Thariq from the Claude Code team

2026-07-21 · 6 moments

→

Who’s Afraid of Chinese Models?

2026-07-20 · 4 moments

→

Quoting Sam Altman

2026-07-20 · 1 moments

→

Reverse-engineering is cheap now

2026-07-20 · 3 moments

→

Claude Code uses Bun written in Rust now

2026-07-19 · 4 moments

→

AI Mania Is Eviscerating Global Decision-Making

2026-07-19 · 4 moments

→

Claude make Fable 5 permanent

2026-07-18 · 6 moments

→

SQLite Query Explainer

2026-07-18 · 4 moments

→

nascheme/quixote

2026-07-18 · 0 moments

→

Spot birds not golf

2026-07-17 · 4 moments

→

Quoting Kimi K3

2026-07-17 · 0 moments

→

LLM cliché highlighter

2026-07-17 · 0 moments

→

Inkling: Our open-weights model

2026-07-16 · 6 moments

→

Mermaid to Unicode box art (grok-mermaid)

2026-07-16 · 0 moments

→

Quoting Linus Torvalds

2026-07-16 · 4 moments

→

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

2026-07-16 · 6 moments

→

Mermaid to ASCII art (mermaid-ascii)

2026-07-16 · 0 moments

→

Quoting Thibault Sottiaux

2026-07-16 · 3 moments

→

Firefox in WebAssembly

2026-07-16 · 6 moments

→

How I tricked Claude into leaking your deepest, darkest secrets

2026-07-15 · 6 moments

→

xai-org/grok-build, now open source

2026-07-15 · 6 moments

→

Using uvx in GitHub Actions in a cache-friendly way

2026-07-14 · 3 moments

→

Quoting Armin Ronacher

2026-07-14 · 4 moments

→

Quoting GitHub Changelog

2026-07-14 · 0 moments

→

Quoting GitHub Changeling

2026-07-14 · 0 moments

→

datasette 1.0a37

2026-07-14 · 0 moments

→

lobste.rs is now running on SQLite

2026-07-14 · 6 moments

→

simonw/pedalican

2026-07-14 · 6 moments

→

datasette code-frequency chart on GitHub

2026-07-13 · 2 moments

→

DOOMQL

2026-07-13 · 6 moments

→

shot-scraper 1.11

2026-07-12 · 4 moments

→

Fable gets another bump

2026-07-12 · 6 moments

→

Directly Responsible Individuals (DRI)

2026-07-12 · 3 moments

→

sqlite-utils 4.1.1

2026-07-12 · 3 moments

→

sqlite-utils 4.1

2026-07-11 · 6 moments

→

Quoting Nilay Patel

2026-07-10 · 5 moments

→

Quoting OpenAI

2026-07-10 · 0 moments

→

llm-meta-ai 0.1

2026-07-09 · 0 moments

→

Introducing Muse Spark 1.1

2026-07-09 · 4 moments

→

The new GPT-5.6 family: Luna, Terra, Sol

2026-07-09 · 6 moments

→

llm 0.31.1

2026-07-09 · 0 moments

→

Quoting Kenton Varda

2026-07-08 · 0 moments

→

Introducing GPT‑Live

2026-07-08 · 6 moments

→

Rewriting Bun in Rust

2026-07-08 · 6 moments

→

sqlite-utils 4.0

2026-07-07 · 0 moments

→

github-code Web Component

2026-07-07 · 4 moments

→

sqlite-utils 4.0, now with database schema migrations

2026-07-07 · 6 moments

→

sqlite-migrate 0.2

2026-07-07 · 0 moments

→

sqlite-utils 4.0rc4

2026-07-07 · 0 moments

→

sqlite-utils 4.0rc3

2026-07-06 · 3 moments

→

tencent/Hy3

2026-07-06 · 6 moments

→

sqlite-utils 4.0rc2

2026-07-05 · 0 moments

→

sqlite-utils 4.0rc2, mostly written by Claude Fable (for about $149.25)

2026-07-05 · 6 moments

→

Better Models: Worse Tools

2026-07-04 · 5 moments

→

Building a World Map with only 500 bytes

2026-07-04 · 2 moments

→

Fable's judgement

2026-07-03 · 6 moments

→

Quoting Josh W. Comeau

2026-07-03 · 4 moments

→

Open Source AI Gap Map

2026-07-03 · 5 moments

→