Sign up

Simon Willison's Weblog

Not verified No WebSub updates Supports Webmention Not yet validated

Author
Simon Willison
Public lists
Featured
Fetched

Simon Willison's Weblog Supports Webmention

Production query plans without production data

Production query plans without production data Radim Marek describes the new pg_restore_relation_stats() and pg_restore_attribute_stats() functions that were introduced in PostgreSQL 18 in September 2025. The PostgreSQL query planner makes use of internal statistics to help ...

Simon Willison's Weblog Supports Webmention

Perhaps not Boring Technology after all

A recurring concern I've seen regarding LLMs for programming is that they will push our technology choices towards the tools that are best represented in their training data, making it harder for new, better tools to break through the noise. This was certainly the case a cou...

Simon Willison's Weblog Supports Webmention

Quoting Joseph Weizenbaum

What I had not realized is that extremely short exposures to a relatively simple computer program could induce powerful delusional thinking in quite normal people.

Joseph Weizenbaum, creator of ELIZA, in 1976 (via)

Tags: ai-ethics, ai, computer-history, internet-archive

Simon Willison's Weblog Supports Webmention

Codex for Open Source

Codex for Open Source

Anthropic announced six months of free Claude Max for maintainers of popular open source projects (5,000+ stars or 1M+ NPM downloads) on 27th February.

Now OpenAI have launched their comparable offer: six months of ChatGPT Pro (same $200/month price as Claude Max) with Codex and "conditional access to Codex Security" for core maintainers.

Unlike Anthropic they don't hint at the exact metrics they care about, but the application form does ask for "information such as GitHub stars, monthly downloads, or why the project is important to the ecosystem."

Via @openaidevs

Tags: open-source, ai, openai, generative-ai, llms, codex-cli

Simon Willison's Weblog Supports Webmention

Quoting Ally Piechowski

Questions for developers:

  • “What’s the one area you’re afraid to touch?”
  • “When’s the last time you deployed on a Friday?”
  • “What broke in production in the last 90 days that wasn’t caught by tests?”

Questions for the CTO/EM:

  • “What feature has been blocked for over a year?”
  • “Do you have real-time error visibility right now?”
  • “What was the last feature that took significantly longer than estimated?”

Questions for business stakeholders:

  • “Are there features that got quietly turned off and never came back?”
  • “Are there things you’ve stopped promising customers?”

Ally Piechowski, How to Audit a Rails Codebase

Tags: technical-debt, software-engineering, rails

Simon Willison's Weblog Supports Webmention

Anthropic and the Pentagon

Anthropic and the Pentagon

This piece by Bruce Schneier and Nathan E. Sanders is the most thoughtful and grounded coverage I've seen of the recent and ongoing Pentagon/OpenAI/Anthropic contract situation.

AI models are increasingly commodified. The top-tier offerings have about the same performance, and there is little to differentiate one from the other. The latest models from Anthropic, OpenAI and Google, in particular, tend to leapfrog each other with minor hops forward in quality every few months. [...]

In this sort of market, branding matters a lot. Anthropic and its CEO, Dario Amodei, are positioning themselves as the moral and trustworthy AI provider. That has market value for both consumers and enterprise clients.

Tags: bruce-schneier, ai, openai, generative-ai, llms, anthropic, ai-ethics

Simon Willison's Weblog Supports Webmention

Agentic manual testing

Agentic Engineering Patterns > The defining characteristic of a coding agent is that it can execute the code that it writes. This is what makes coding agents so much more useful than LLMs that simply spit out code without any way to verify it. Never assume that code g...

Simon Willison's Weblog Supports Webmention

Clinejection — Compromising Cline's Production Releases just by Prompting an Issue Triager

Clinejection — Compromising Cline's Production Releases just by Prompting an Issue Triager Adnan Khan describes a devious attack chain against the Cline GitHub repository, which started with a prompt injection attack in the title of an issue opened against the repo. Cline we...

Simon Willison's Weblog Supports Webmention

Introducing GPT‑5.4

Introducing GPT‑5.4 Two new API models: gpt-5.4 and gpt-5.4-pro, also available in ChatGPT and Codex CLI. August 31st 2025 knowledge cutoff, 1 million token context window. Priced slightly higher than the GPT-5.2 family with a bump in price for both models if you go above 27...

Simon Willison's Weblog Supports Webmention

Can coding agents relicense open source through a “clean room” implementation of code?

Over the past few months it's become clear that coding agents are extraordinarily good at building a weird version of a "clean room" implementation of code. The most famous version of this pattern is when Compaq created a clean-room clone of the IBM BIOS back in 1982. They h...

Simon Willison's Weblog Supports Webmention

Anti-patterns: things to avoid

Agentic Engineering Patterns > There are some behaviors that are anti-patterns in our weird new world of agentic engineering. Inflicting unreviewed code on collaborators This anti-pattern is common and deeply frustrating. Don't file pull requests with code you haven't...

Simon Willison's Weblog Supports Webmention

Something is afoot in the land of Qwen

I'm behind on writing about Qwen 3.5, a truly remarkable family of open weight models released by Alibaba's Qwen team over the past few weeks. I'm hoping that the 3.5 family doesn't turn out to be Qwen's swan song, seeing as that team has had some very high profile departure...

Simon Willison's Weblog Supports Webmention

Quoting Donald Knuth

Shock! Shock! I learned yesterday that an open problem I'd been working on for several weeks had just been solved by Claude Opus 4.6 - Anthropic's hybrid reasoning model that had been released three weeks earlier! It seems that I'll have to revise my opinions about "generative AI" one of these days. What a joy it is to learn not only that my conjecture has a nice solution but also to celebrate this dramatic advance in automatic deduction and creative problem solving.

Donald Knuth, Claude's Cycles

Tags: november-2025-inflection, claude, generative-ai, ai, llms

Simon Willison's Weblog Supports Webmention

Gemini 3.1 Flash-Lite

Gemini 3.1 Flash-Lite Google's latest model is an update to their inexpensive Flash-Lite family. At $0.25/million tokens of input and $1.5/million output this is 1/8th the price of Gemini 3.1 Pro. It supports four different thinking levels, so I had it output four different pelicans: minimal low medium high Tags: google, ai, generative-ai, llms, llm, gemini, llm-pricing, pelican-riding-a-bicycle, llm-release

Simon Willison's Weblog Supports Webmention

GIF optimization tool using WebAssembly and Gifsicle

Agentic Engineering Patterns > I like to include animated GIF demos in my online writing, often recorded using LICEcap. There's an example in the Interactive explanations chapter. These GIFs can be pretty big. I've tried a few tools for optimizing GIF file size and my...

Simon Willison's Weblog Supports Webmention

February sponsors-only newsletter

I just sent the February edition of my sponsors-only monthly newsletter. If you are a sponsor (or if you start a sponsorship now) you can access it here. In this month's newsletter:

  • More OpenClaw, and Claws in general
  • I started a not-quite-a-book about Agentic Engineering
  • StrongDM, Showboat and Rodney
  • Kākāpō breeding season
  • Model releases
  • What I'm using, February 2026 edition

Here's a copy of the January newsletter as a preview of what you'll get. Pay $10/month to stay a month ahead of the free copy!

I use Claude as a proofreader for spelling and grammar via this prompt which also asks it to "Spot any logical errors or factual mistakes". I'm delighted to report that Claude Opus 4.6 called me out on this one:

5. "No new chicks for four years (due to a lack of fruiting rimu trees)"
The phrasing "lack of fruiting rimu trees" is slightly imprecise. The issue isn't that rimu trees failed to fruit at all, but that there was no mass fruiting (masting) event, which is the specific trigger for kākāpō breeding. Consider "due to a lack of rimu masting" or "due to a lack of mass rimu fruiting."

Tags: newsletter, kakapo, claude

Simon Willison's Weblog Supports Webmention

My current policy on AI writing for my blog

Because I write about LLMs (and maybe because of my em dash text replacement code) a lot of people assume that the writing on my blog is partially or fully created by those LLMs.

My current policy on this is that if text expresses opinions or has "I" pronouns attached to it then it's written by me. I don't let LLMs speak for me in this way.

I'll let an LLM update code documentation or even write a README for my project but I'll edit that to ensure it doesn't express opinions or say things like "This is designed to help make code easier to maintain" - because that's an expression of a rationale that the LLM just made up.

I use LLMs to proofread text I publish on my blog. I just shared my current prompt for that here.

Tags: ai-ethics, writing, generative-ai, blogging, ai, llms

Simon Willison's Weblog Supports Webmention

Quoting claude.com/import-memory

I'm moving to another service and need to export my data. List every memory you have stored about me, as well as any context you've learned about me from past conversations. Output everything in a single code block so I can easily copy it. Format each entry as: [date saved, ...

Simon Willison's Weblog Supports Webmention

Interactive explanations

Agentic Engineering Patterns > When we lose track of how code written by our agents works we take on cognitive debt. For a lot of things this doesn't matter: if the code fetches some data from a database and outputs it as JSON the implementation details are likely sim...

Simon Willison's Weblog Supports Webmention

Please, please, please stop using passkeys for encrypting user data

Please, please, please stop using passkeys for encrypting user data

Because users lose their passkeys all the time, and may not understand that their data has been irreversibly encrypted using them and can no longer be recovered.

Tim Cappalli:

To the wider identity industry: please stop promoting and using passkeys to encrypt user data. I’m begging you. Let them be great, phishing-resistant authentication credentials.

Via lobste.rs

Tags: security, usability, passkeys

Simon Willison's Weblog Supports Webmention

An AI agent coding skeptic tries AI agent coding, in excessive detail

An AI agent coding skeptic tries AI agent coding, in excessive detail Another in the genre of "OK, coding agents got good in November" posts, this one is by Max Woolf and is very much worth your time. He describes a sequence of coding agent projects, each more ambitious than...

Simon Willison's Weblog Supports Webmention

Free Claude Max for (large project) open source maintainers

Free Claude Max for (large project) open source maintainers

Anthropic are now offering their $200/month Claude Max 20x plan for free to open source maintainers... for six months... and you have to meet the following criteria:
  • Maintainers: You're a primary maintainer or core team member of a public repo with 5,000+ GitHub stars or 1M+ monthly NPM downloads. You've made commits, releases, or PR reviews within the last 3 months.
  • Don't quite fit the criteria If you maintain something the ecosystem quietly depends on, apply anyway and tell us about it.

Also in the small print: "Applications are reviewed on a rolling basis. We accept up to 10,000 contributors".

Via Hacker News

Tags: open-source, ai, generative-ai, llms, anthropic, claude

Simon Willison's Weblog Supports Webmention

Unicode Explorer using binary search over fetch() HTTP range requests

Unicode Explorer using binary search over fetch() HTTP range requests Here's a little prototype I built this morning from my phone as an experiment in HTTP range requests, and a general example of using LLMs to satisfy curiosity. I've been collecting HTTP range tricks for a ...

Simon Willison's Weblog Supports Webmention

Hoard things you know how to do

Agentic Engineering Patterns > Many of my tips for working productively with coding agents are extensions of advice I've found useful in my career without them. Here's a great example of that: hoard things you know how to do. A big part of the skill in building softwa...

Simon Willison's Weblog Supports Webmention

Quoting Andrej Karpathy

It is hard to communicate how much programming has changed due to AI in the last 2 months: not gradually and over time in the "progress as usual" way, but specifically this last December. There are a number of asterisks but imo coding agents basically didn’t work before December and basically work since - the models have significantly higher quality, long-term coherence and tenacity and they can power through large and long tasks, well past enough that it is extremely disruptive to the default programming workflow. [...]

Andrej Karpathy

Tags: andrej-karpathy, coding-agents, ai-assisted-programming, generative-ai, agentic-engineering, ai, llms

Simon Willison's Weblog Supports Webmention

Google API Keys Weren't Secrets. But then Gemini Changed the Rules.

Google API Keys Weren't Secrets. But then Gemini Changed the Rules. Yikes! It turns out Gemini and Google Maps (and other services) share the same API keys... but Google Maps API keys are designed to be public, since they are embedded directly in web pages. Gemini API keys c...

Simon Willison's Weblog Supports Webmention

Quoting Benedict Evans

If people are only using this a couple of times a week at most, and can’t think of anything to do with it on the average day, it hasn’t changed their life. OpenAI itself admits the problem, talking about a ‘capability gap’ between what the models can do and what people do with them, which seems to me like a way to avoid saying that you don’t have clear product-market fit.

Hence, OpenAI’s ad project is partly just about covering the cost of serving the 90% or more of users who don’t pay (and capturing an early lead with advertisers and early learning in how this might work), but more strategically, it’s also about making it possible to give those users the latest and most powerful (i.e. expensive) models, in the hope that this will deepen their engagement.

Benedict Evans, How will OpenAI compete?

Tags: openai, chatgpt, benedict-evans, ai

Simon Willison's Weblog Supports Webmention

tldraw issue: Move tests to closed source repo

tldraw issue: Move tests to closed source repo It's become very apparent over the past few months that a comprehensive test suite is enough to build a completely fresh implementation of any open source library from scratch, potentially in a different language. This has worry...

Simon Willison's Weblog Supports Webmention

Claude Code Remote Control

Claude Code Remote Control New Claude Code feature dropped yesterday: you can now run a "remote control" session on your computer and then use the Claude Code for web interfaces (on web, iOS and native desktop app) to send prompts to that session. It's a little bit janky rig...

Simon Willison's Weblog Supports Webmention

I vibe coded my dream macOS presentation app

I gave a talk this weekend at Social Science FOO Camp in Mountain View. The event was a classic unconference format where anyone could present a talk without needing to propose it in advance. I grabbed a slot for a talk I titled "The State of LLMs, February 2026 edition", su...