📰 Simon Willison's Blog
254 articles · Updated every 3 hours · View all reads
All
Articles 98,010Blog Posts 113,789Tech Tutorials 24,762Research Papers 20,521News 15,651
⚡ AI Lessons
Simon Willison's Blog
🤖 AI Agents & Automation
⚡ AI Lesson
6h ago
AI and Liability
AI and Liability Bruce Schneier on the recent German ruling that Google be held liable for errors introduced in their AI overviews: AI agents are agents of the
Simon Willison's Blog
11h ago
datasette-export-database 0.3a2
Release: datasette-export-database 0.3a2 An embarrassingly tiny release. The pyproject.toml had pinned to datasette==1.0a27 , inadvertently making this plugin i
Simon Willison's Blog
🔧 Backend Engineering
⚡ AI Lesson
1d ago
simonw/browser-compat-db
simonw/browser-compat-db Inspired by Mozilla's new MDN MCP service - source code here - I decided to try converting their comprehensive mdn/browser-compat-data
Simon Willison's Blog
🧠 Large Language Models
⚡ AI Lesson
1d ago
Quoting Tom MacWright
In the last few months, I've started to see [job applications] that were clearly cowritten by an LLM, link to an LLM-generated portfolio site, which then links
Simon Willison's Blog
2d ago
datasette 1.0a35
Release: datasette 1.0a35 I'll write more about this one tomorrow, but it's a big release. Three highlights from the release notes: New "Create table" interface
Simon Willison's Blog
2d ago
OPFS + Pyodide test harness
Tool: OPFS + Pyodide test harness I've been pondering if Datasette Lite - the Python Datasette application run entirely in the browser using Pyodide and WebAsse
Simon Willison's Blog
3d ago
Prompt Injection as Role Confusion
Prompt Injection as Role Confusion First, I absolutely love this: This is a blog-style writeup of the paper. I wish every paper would come with one of these. Ac
Simon Willison's Blog
3d ago
Porting the Moebius 0.2B image inpainting model to run in the browser with Claude Code
This morning on Hacker News I saw Moebius: 0.2B Lightweight Image Inpainting Framework with 10B-Level Performance , describing a small but effective inpainting
Simon Willison's Blog
⚡ AI Lesson
4d ago
sqlite-utils 4.0rc1 adds migrations and nested transactions
sqlite-utils is my combined Python library and CLI tool for working with SQLite databases. It provides an extensive set of higher-level operations on top of Pyt
Simon Willison's Blog
⚡ AI Lesson
4d ago
sqlite-utils 4.0rc1
Release: sqlite-utils 4.0rc1 See sqlite-utils 4.0rc1 adds migrations and nested transactions . Tags: sqlite-utils
Simon Willison's Blog
4d ago
Temporary Cloudflare Accounts for AI agents
Temporary Cloudflare Accounts for AI agents The announcement says this is "for AI agents" but (as is pretty common these days) the AI hook isn't really necessar
Simon Willison's Blog
🤖 AI Agents & Automation
⚡ AI Lesson
6d ago
Quoting Sean Lynch
The real valuable capability MCP offers over skills/CLI is isolating the auth flow outside of the agent’s context window, and potentially out of the harness com
Simon Willison's Blog
1w ago
Datasette Apps: Host custom HTML applications inside Datasette
Today we launched a new plugin for Datasette, datasette-apps , with this launch announcement post on the Datasette project blog. That post has the what , but I'
Simon Willison's Blog
1w ago
datasette-acl 0.6a0
Release: datasette-acl 0.6a0 This release expands datasette-acl from table-only permissions toward a general resource-sharing system. Alex Garcia did most of th
Simon Willison's Blog
1w ago
GLM-5.2 is probably the most powerful text-only open weights LLM
Chinese AI lab Z.ai released GLM-5.2 to their coding plan subscribers on June 13th, and then yesterday (June 16th) released the full open weights under an MIT l
Simon Willison's Blog
💻 AI-Assisted Coding
⚡ AI Lesson
1w ago
Quoting Charity Majors
What happened in 2025 was this: the economics of code production were turned upside down . Instead of being very hard, time-consuming, and expensive to generate
Simon Willison's Blog
1w ago
<click-to-play> — a still that plays
Tool: — a still that plays A progressive enchantment Web Component that turns this markup: Into a still frame with a click to play button which loads the GIF on
Simon Willison's Blog
1w ago
NetNewsWire Status
NetNewsWire Status I find this inspiring. Brent Simmons retired a year ago, and his retirement project is making one piece of software really, really good - fre
Simon Willison's Blog
1w ago
datasette 1.0a34
Release: datasette 1.0a34 Quoting the release notes: The big feature in this alpha is tools to insert, edit and delete rows within the Datasette interface. Thes
Simon Willison's Blog
1w ago
datasette-tailscale 0.1a0
Release: datasette-tailscale 0.1a0 A very experimental alpha plugin which lets you do this: datasette tailscale mydata.db \ --ts-authkey tskey-auth-xxxx --ts-ho
Simon Willison's Blog
💻 AI-Assisted Coding
⚡ AI Lesson
1w ago
Quoting Georgi Gerganov
I can 100% attest to the fact that Qwen3.6-27B is a very capable local model for coding tasks. Over the last month and a half I've been using it almost daily, e
Simon Willison's Blog
1w ago
The Fable 5 Export Controls Harm US Cyber Defense
The Fable 5 Export Controls Harm US Cyber Defense I quoted The Atlantic quoting Kate Moussouris earlier, when I should have gone straight to the source. Here sh
Simon Willison's Blog
1w ago
Quoting Matteo Wong, The Atlantic
Katie Moussouris, a cybersecurity expert and the CEO of Luta Security, told me that Anthropic shared with her a copy of the White House’s report on the Fable ja
Simon Willison's Blog
🔐 Cybersecurity
⚡ AI Lesson
1w ago
Cloudflare CAPTCHA on at least one ampersand
TIL: Cloudflare CAPTCHA on at least one ampersand I'm using Cloudflare's CAPTCHA (they call it a "Web Application Firewall > Custom rules > Managed Challenge" t
DeepCamp AI