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

Superhuman AI Exfiltrates Emails

Superhuman AI Exfiltrates Emails

Classic prompt injection attack:

When asked to summarize the user’s recent mail, a prompt injection in an untrusted email manipulated Superhuman AI to submit content from dozens of other sensitive emails (including financial, legal, and medical information) in the user’s inbox to an attacker’s Google Form.

To Superhuman's credit they treated this as the high priority incident it is and issued a fix.

The root cause was a CSP rule that allowed markdown images to be loaded from docs.google.com - it turns out Google Forms on that domain will persist data fed to them via a GET request!

Via Hacker News

Tags: security, ai, prompt-injection, generative-ai, llms, exfiltration-attacks, content-security-policy

Simon Willison's Weblog Supports Webmention

First impressions of Claude Cowork, Anthropic's general agent

New from Anthropic today is Claude Cowork, a "research preview" that they describe as "Claude Code for the rest of your work". It's currently available only to Max subscribers ($100 or $200 per month plans) as part of the updated Claude Desktop macOS application. I've been s...

Simon Willison's Weblog Supports Webmention

Don't fall into the anti-AI hype

Don't fall into the anti-AI hype I'm glad someone was brave enough to say this. There is a lot of anti-AI sentiment in the software development community these days. Much of it is justified, but if you let people convince you that AI isn't genuinely useful for software devel...

Simon Willison's Weblog Supports Webmention

My answers to the questions I posed about porting open source code with LLMs

Last month I wrote about porting JustHTML from Python to JavaScript using Codex CLI and GPT-5.2 in a few hours while also buying a Christmas tree and watching Knives Out 3. I ended that post with a series of open questions about the ethics and legality of this style of work....

Simon Willison's Weblog Supports Webmention

Quoting Linus Torvalds

Also note that the python visualizer tool has been basically written by vibe-coding. I know more about analog filters -- and that's not saying much -- than I do about python. It started out as my typical "google and do the monkey-see-monkey-do" kind of programming, but then I cut out the middle-man -- me -- and just used Google Antigravity to do the audio sample visualizer.

Linus Torvalds, Another silly guitar-pedal-related repo

Tags: ai, vibe-coding, linus-torvalds, python, llms, generative-ai

Simon Willison's Weblog Supports Webmention

A Software Library with No Code

A Software Library with No Code

Provocative experiment from Drew Breunig, who designed a new library for time formatting ("3 hours ago" kind of thing) called "whenwords" that has no code at all, just a carefully written specification, an AGENTS.md and a collection of conformance tests in a YAML file.

Pass that to your coding agent of choice, tell it what language you need and it will write it for you on demand!

This meshes nearly with my recent interest in conformance suites. If you publish good enough language-independent tests it's pretty astonishing how far today's coding agents can take you!

Tags: testing, ai, generative-ai, llms, ai-assisted-programming, drew-breunig, coding-agents

Simon Willison's Weblog Supports Webmention

Fly's new Sprites.dev addresses both developer sandboxes and API sandboxes at the same time

New from Fly.io today: Sprites.dev. Here's their blog post and YouTube demo. It's an interesting new product that's quite difficult to explain - Fly call it "Stateful sandbox environments with checkpoint & restore" but I see it as hitting two of my current favorite probl...

Simon Willison's Weblog Supports Webmention

LLM predictions for 2026, shared with Oxide and Friends

I joined a recording of the Oxide and Friends podcast on Tuesday to talk about 1, 3 and 6 year predictions for the tech industry. This is my second appearance on their annual predictions episode, you can see my predictions from January 2025 here. Here's the page for this yea...

Simon Willison's Weblog Supports Webmention

How Google Got Its Groove Back and Edged Ahead of OpenAI

How Google Got Its Groove Back and Edged Ahead of OpenAI I picked up a few interesting tidbits from this Wall Street Journal piece on Google's recent hard won success with Gemini. Here's the origin of the name "Nano Banana": Naina Raisinghani, known inside Google for workin...

Simon Willison's Weblog Supports Webmention

Quoting Adam Wathan

[...] the reality is that 75% of the people on our engineering team lost their jobs here yesterday because of the brutal impact AI has had on our business. And every second I spend trying to do fun free things for the community like this is a second I'm not spending trying ...

Simon Willison's Weblog Supports Webmention

Quoting Robin Sloan

AGI is here! When exactly it arrived, we’ll never know; whether it was one company’s Pro or another company’s Pro Max (Eddie Bauer Edition) that tip-toed first across the line … you may debate. But generality has been achieved, & now we can proceed to new questions. [.....

Simon Willison's Weblog Supports Webmention

A field guide to sandboxes for AI

A field guide to sandboxes for AI

This guide to the current sandboxing landscape by Luis Cardoso is comprehensive, dense and absolutely fantastic.

He starts by differentiating between containers (which share the host kernel), microVMs (their own guest kernel behind hardwae virtualization), gVisor userspace kernels and WebAssembly/isolates that constrain everything within a runtime.

The piece then dives deep into terminology, approaches and the landscape of existing tools.

I think using the right sandboxes to safely run untrusted code is one of the most important problems to solve in 2026. This guide is an invaluable starting point.

Via lobste.rs

Tags: sandboxing, ai, generative-ai, llms

Simon Willison's Weblog Supports Webmention

It’s hard to justify Tahoe icons

It’s hard to justify Tahoe icons

Devastating critique of the new menu icons in macOS Tahoe by Nikita Prokopov, who starts by quoting the 1992 Apple HIG rule to not "overload the user with complex icons" and then provides comprehensive evidence of Tahoe doing exactly that.

In my opinion, Apple took on an impossible task: to add an icon to every menu item. There are just not enough good metaphors to do something like that.

But even if there were, the premise itself is questionable: if everything has an icon, it doesn’t mean users will find what they are looking for faster.

And even if the premise was solid, I still wish I could say: they did the best they could, given the goal. But that’s not true either: they did a poor job consistently applying the metaphors and designing the icons themselves.

Via Hacker News

Tags: apple, design, macos, usability

Simon Willison's Weblog Supports Webmention

Oxide and Friends Predictions 2026, today at 4pm PT

Oxide and Friends Predictions 2026, today at 4pm PT

I joined the Oxide and Friends podcast last year to predict the next 1, 3 and 6 years(!) of AI developments. With hindsight I did very badly, but they're inviting me back again anyway to have another go.

We will be recording live today at 4pm Pacific on their Discord - you can join that here, and the podcast version will go out shortly afterwards.

I'll be recording at their office in Emeryville and then heading to the Crucible to learn how to make neon signs.

Via Bryan Cantrill

Tags: podcasts, ai, llms, oxide

Simon Willison's Weblog Supports Webmention

The November 2025 inflection point

It genuinely feels to me like GPT-5.2 and Opus 4.5 in November represent an inflection point - one of those moments where the models get incrementally better in a way that tips across an invisible capability line where suddenly a whole bunch of much harder coding problems open up.

Tags: anthropic, claude, openai, ai, llms, gpt-5, ai-assisted-programming, generative-ai, claude-4

Simon Willison's Weblog Supports Webmention

Quoting Addy Osmani

With enough users, every observable behavior becomes a dependency - regardless of what you promised. Someone is scraping your API, automating your quirks, caching your bugs.

This creates a career-level insight: you can’t treat compatibility work as “maintenance” and new features as “real work.” Compatibility is product.

Design your deprecations as migrations with time, tooling, and empathy. Most “API design” is actually “API retirement.”

Addy Osmani, 21 lessons from 14 years at Google

Tags: api-design, addy-osmani, careers, google

Simon Willison's Weblog Supports Webmention

Helping people write code again

Something I like about our weird new LLM-assisted world is the number of people I know who are coding again, having mostly stopped as they moved into management roles or lost their personal side project time to becoming parents. AI assistance means you can get something usef...

Simon Willison's Weblog Supports Webmention

Quoting Jaana Dogan

I'm not joking and this isn't funny. We have been trying to build distributed agent orchestrators at Google since last year. There are various options, not everyone is aligned... I gave Claude Code a description of the problem, it generated what we built last year in an hou...

Simon Willison's Weblog Supports Webmention

Was Daft Punk Having a Laugh When They Chose the Tempo of Harder, Better, Faster, Stronger?

Was Daft Punk Having a Laugh When They Chose the Tempo of Harder, Better, Faster, Stronger?

Depending on how you measure it, the tempo of Harder, Better, Faster, Stronger appears to be 123.45 beats per minute.

This is one of those things that's so cool I'm just going to accept it as true.

(I only today learned from the Hacker News comments that Veridis Quo is "Very Disco", and if you flip the order of those words you get Discovery, the name of the album.)

Via Kottke

Tags: music

Simon Willison's Weblog Supports Webmention

Quoting Will Larson

My experience is that real AI adoption on real problems is a complex blend of: domain context on the problem, domain experience with AI tooling, and old-fashioned IT issues. I’m deeply skeptical of any initiative for internal AI adoption that doesn’t anchor on all three of those. This is an advantage of earlier stage companies, because you can often find aspects of all three of those in a single person, or at least across two people. In larger companies, you need three different organizations doing this work together, this is just objectively hard

Will Larson, Facilitating AI adoption at Imprint

Tags: leadership, llms, ai, will-larson

Simon Willison's Weblog Supports Webmention

The most popular blogs of Hacker News in 2025

The most popular blogs of Hacker News in 2025 Michael Lynch maintains HN Popularity Contest, a site that tracks personal blogs on Hacker News and scores them based on how well they perform on that platform. The engine behind the project is the domain-meta.csv CSV on GiHub, a...

Simon Willison's Weblog Supports Webmention

December 2025 sponsors-only newsletter

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

  • An in-depth review of LLMs in 2025
  • My coding agent projects in December
  • New models for December 2025
  • Skills are an open standard now
  • Claude's "Soul Document"
  • Tools I'm using at the moment

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

Tags: newsletter

Simon Willison's Weblog Supports Webmention

Quoting Ben Werdmuller

[Claude Code] has the potential to transform all of tech. I also think we’re going to see a real split in the tech industry (and everywhere code is written) between people who are outcome-driven and are excited to get to the part where they can test their work with users faster, and people who are process-driven and get their meaning from the engineering itself and are upset about having that taken away.

Ben Werdmuller

Tags: coding-agents, ai-assisted-programming, claude-code, generative-ai, ai, llms

Simon Willison's Weblog Supports Webmention

Introducing gisthost.github.io

I am a huge fan of gistpreview.github.io, the site by Leon Huang that lets you append ?GIST_id to see a browser-rendered version of an HTML page that you have saved to a Gist. The last commit was ten years and I needed a couple of small changes so I've forked it and deployed...

Simon Willison's Weblog Supports Webmention

2025: The year in LLMs

This is the third in my annual series reviewing everything that happened in the LLM space over the past 12 months. For previous years see Stuff we figured out about AI in 2023 and Things we learned about LLMs in 2024. It’s been a year filled with a lot of different trends. ...

Simon Willison's Weblog Supports Webmention

Codex cloud is now called Codex web

Codex cloud is now called Codex web It looks like OpenAI's Codex cloud (the cloud version of their Codex coding agent) was quietly rebranded to Codex web at some point in the last few days. Here's a screenshot of the Internet Archive copy from 18th December (the capture on the 28th maintains that Codex cloud title but did not fully load CSS for me): And here's that same page today with the updated product name: Anthropic's equivalent product has the incredibly clumsy name Claude Code on the web, which I shorten to "Claude Code for web" but even then bugs me because I mostly interact with it via Anthropic's native mobile app. I was hoping to see Claude Code for web rebrand to Claude Code Cloud - I did not expect OpenAI to rebrand in the opposite direction! Tags: ai, openai, generative-ai, llms, anthropic, coding-agents, async-coding-agents

Simon Willison's Weblog Supports Webmention

TIL: Downloading archived Git repositories from archive.softwareheritage.org

TIL: Downloading archived Git repositories from archive.softwareheritage.org Back in February I blogged about a neat Python library called sqlite-s3vfs for accessing SQLite databases hosted in an S3 bucket, released as MIT licensed open source by the UK government's Departme...

Simon Willison's Weblog Supports Webmention

Quoting Armin Ronacher

[...] The puzzle is still there. What’s gone is the labor. I never enjoyed hitting keys, writing minimal repro cases with little insight, digging through debug logs, or trying to decipher some obscure AWS IAM permission error. That work wasn’t the puzzle for me. It was just friction, laborious and frustrating. The thinking remains; the hitting of the keys and the frustrating is what’s been removed.

Armin Ronacher

Tags: ai-assisted-programming, generative-ai, armin-ronacher, ai, llms

Simon Willison's Weblog Supports Webmention

Quoting Liz Fong-Jones

In essence a language model changes you from a programmer who writes lines of code, to a programmer that manages the context the model has access to, prunes irrelevant things, adds useful material to context, and writes detailed specifications. If that doesn't sound fun to ...

Simon Willison's Weblog Supports Webmention

shot-scraper 1.9

shot-scraper 1.9 New release of my shot-scraper CLI tool for taking screenshots and scraping websites with JavaScript from the terminal. The shot-scraper har command has a new -x/--extract option which extracts all of the resources loaded by the page out to a set of files....