Sign up

Simon Willison's Weblog

Not verified No WebSub updates Supports Webmention Not yet validated

Author
Simon Willison
Public lists
davewiner/hackerNewsStars Featured
Fetched

Simon Willison's Weblog Supports Webmention
Text

Quoting Anthropic

We’ve received notice that the Department of Commerce has lifted export controls on Claude Fable 5 and Mythos 5.

We'll begin restoring access tomorrow, and will share an update soon.

Anthropic, on Twitter

Tags: anthropic, claude, generative-ai, claude-mythos, ai, llms

Simon Willison's Weblog Supports Webmention
Text

Nano Banana 2 Lite

Nano Banana 2 Lite

Also known as Gemini 3.1 Flash Lite Image (gemini-3.1-flash-lite-image in their API), this is the "fastest and cheapest Gemini image model, engineered for velocity and scale".

I used AI studio to run this prompt:

Do a where's Waldo style image but it's where is the raccoon holding a ham radio

Densely illustrated "Where's Waldo"-style cartoon of a woodland festival filled with anthropomorphic animals (bears, foxes, badgers, rabbits, squirrels, owls) under a banner reading "FOREE'S FESTIVAL" and another reading "FOREST FIVAL," with bunting flags strung between trees, a Ferris wheel on the right, market stalls including one labeled "ACORN FAIR," signs reading "BANDSTAND," "HAM RADIO MEET" (appearing twice), and a stage where a bear plays guitar, a raccoon uses a ham radio, a badger plays drums, an owl looks on, and a fox plays trumpet, with crowds of animals wandering forest paths between trees and mountains in the background.

I like that one better than the results I got from the other Nano Banana models when I tried this back in April. It spelled Forest Festival wrong in two different ways though.

Via Hacker News

Tags: google, ai, generative-ai, llms, gemini, text-to-image, llm-release, nano-banana

Simon Willison's Weblog Supports Webmention
Text

What's new in Claude Sonnet 5

What's new in Claude Sonnet 5 Claude Sonnet 5 came out this morning. I always head straight for the "what's new" developer docs because they tend to have more actionable information than the official announcement post. Anthropic say of Sonnet 5 that "its performance is close...

Simon Willison's Weblog Supports Webmention
Text

The AI Compass

The AI Compass

This political compass style quiz by bambamramfan is pretty neat - answer 29 questions about AI and AI ethics to see which of the 30 archetypes you best fit.

I'm impressed that my answers on my first time through the quiz categorized me as "The Garage Tinkerer", patron saint myself!

Screenshot of a quiz result screen on a dark background. The top half shows a square scatter-plot quadrant chart with axes labeled GOOD (top), BAD (bottom), OVERHYPED (left of center) and TRANSFORMATIVE (right of center), filled with colored regions and scattered dots; a glowing white-ringed teal dot marks the user's position in the upper-right (good/transformative) area. Below, a card reads: "YOU ARE..." / "The Garage Tinkerer" / "patron saint: Simon Willison" / "You're running local models, building little tools, and having a genuinely great time. You don't care about the discourse — you care about making the thing do cool stuff. The technology is interesting and everyone arguing about it would be happier if they just opened a terminal."

It's implemented as a single page React app using the <script type="text/babel"> trick to avoid the necessary build step. Here's the code.

Via @erisianrite.com

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

Simon Willison's Weblog Supports Webmention
Text

Have your agent record video demos of its work with shot-scraper video

shot-scraper video is a new command introduced in today's shot-scraper 1.10 release which accepts a storyboard.yml file defining a routine to run against a web application and uses Playwright to record a video of that routine. I've written before about the importance of havi...

Simon Willison's Weblog Supports Webmention
Text

shot-scraper 1.10

Release: shot-scraper 1.10

The big new feature is shot-scraper video storyboard.yml, described in detail in Have your agent record video demos of its work with shot-scraper video.

Tags: shot-scraper

Simon Willison's Weblog Supports Webmention
Text

HTML table extractor

Tool: HTML table extractor

Yet another in my growing collection of paste-conversion tools. This one accepts pasted rich text from browsers (with embedded HTML tables) and converts them to HTML, Markdown, CSV, TSV or JSON.

Try it out by selecting everything on the Wikipedia List of cities and towns in the San Francisco Bay Area page and pasting it directly into the tool:

Screenshot of a web interface for converting table data between formats. A row of tabs labeled HTML, Markdown, CSV, TSV, and JSON sits below the bottom edge of a styled data table, with the TSV tab currently selected. The TSV tab displays the table's contents as tab-separated plain text in a monospaced font inside a bordered panel, with a "Copy" button in the upper right of that panel.

On a similar note, I recently rebuilt my Rich text to markdown tool to add support for tables and generally improve the UI.

Tags: html, tools

Simon Willison's Weblog Supports Webmention
Text

Count the number of Safari tabs

Tiniest TIL, using AppleScript to count the number of open browser tabs in Safari:

osascript -e 'tell application "Safari" to count tabs of every window'

I ran it in a terminal window and got back 370.

Tags: safari, til, applescript

Simon Willison's Weblog Supports Webmention
Text

Ornith-1.0: Self-Scaffolding LLMs for Agentic Coding

Ornith-1.0: Self-Scaffolding LLMs for Agentic Coding This is an interesting new open weights (MIT licensed) model, the first model release from DeepReinforce. [...] with variants including 9B Dense, 31B Dense, 35B MoE, and 397B MoE. Built on top of pretrained Gemma 4 and Qw...

Simon Willison's Weblog Supports Webmention
Text

Quoting Jon Udell

Human Agent in the loop

I dislike the phrase “human in the loop” because it cedes authority to the machines. Let’s flip the narrative. It’s our loop, we work the same way we always have, now we recruit agents to join the team. An agent-assisted process need not be a black box that takes in prompts and emits features. [...]

Let’s do agentic software development like that. Not as a loop we’ve been excluded from, instead as one we invite agents into.

Jon Udell, “Doctor, it hurts when agents create unreviewable PRs.” “Don’t do that.”

Tags: jon-udell, coding-agents, generative-ai, agentic-engineering, ai, llms

Simon Willison's Weblog Supports Webmention
Text

Hack Your Summer

Hack Your Summer I learned about this initiative from DJ Patil this morning: It’s a 4-week, high-velocity production sprint for undergraduate students, graduate students, and recent graduates who want to build something real this summer. You’ll learn how to identify a proje...

Simon Willison's Weblog Supports Webmention
Text

Quoting Dean W. Ball

This is a bad state of affairs. Consider, in particular, some industry dynamics: Frontier models are trained at an enormous cost, and a significant fraction of that cost is recouped in the few post-release months that they are broadly available. After that period elapses, ...

Simon Willison's Weblog Supports Webmention
Text

Quoting Timothy B. Lee

This is like saying there's no learning curve to being a manager because your employees will just do whatever you tell them to do.

Timothy B. Lee, on the idea that LLMs take no skill and have no learning curve

Tags: llms, ai, generative-ai

Simon Willison's Weblog Supports Webmention
Text

What happened after 2,000 people tried to hack my AI assistant

What happened after 2,000 people tried to hack my AI assistant Fernando Irarrázaval ran a challenge on hackmyclaw.com to see if anyone could leak secrets held by his OpenClaw test instance by sending it email. Surprisingly, after 6,000 attempts (and $500 in token spend and a...

Simon Willison's Weblog Supports Webmention
Text

Incident Report: CVE-2026-LGTM

Incident Report: CVE-2026-LGTM

Spectacular hypothetical incident report by Andrew Nesbitt.

Day 2, 16:00 UTC --- Two AI review agents from competing vendors, both attached to a downstream pull request bumping foxhole-lz4, enter a disagreement loop over whether the package is malicious. After 340 comments and $41,255 in inference spend, Finance revokes both API keys; one vendor's marketing team, cc'd on the cost anomaly alert, issues a press release citing "a 430% YoY increase in adversarial multi-agent security reasoning." The stock opens up 6%.

Tags: security, ai, prompt-injection, generative-ai, llms, supply-chain, ai-security-research, andrew-nesbitt

Simon Willison's Weblog Supports Webmention
Text

Quoting OpenAI

We're beginning a limited preview of the GPT‑5.6 series: Sol, our flagship model; Terra, a balanced model for everyday work; and Luna, a fast and affordable model. Terra has competitive performance to GPT‑5.5 while being 2x cheaper and Luna brings strong capability at our l...

Simon Willison's Weblog Supports Webmention
Text

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 person or organization that deploys them—and should be treated by the law as such. If a company hired human writers to write its summaries, that company would be liable for inaccuracies in those summaries. [...]

To allow businesses to hide behind the excuse of faulty AI in those same circumstances would be a massive handout to companies, and would introduce disastrous incentives for corporate misbehavior. Why hire human writers, lawyers or doctors when AIs are not only cheaper, but also absolve employers whenever they make a mistake?

Tags: bruce-schneier, google, law, ai, generative-ai, llms, ai-ethics, hallucinations

Simon Willison's Weblog Supports Webmention
Text

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 incompatible with all other Datasette versions. It's now datasette>=1.0a27 instead.

Tags: datasette

Simon Willison's Weblog Supports Webmention
Text

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 repository full of browser compatibility data into a SQLite database. This new GitHub Repo includes a Claude Code f...

Simon Willison's Weblog Supports Webmention
Text

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 to LLM-generated GitHub projects, with purely LLM-generated commit messages. [...]

My other reaction is that I don't know anything about these people.

They haven't put themselves out there. They haven't said anything true. [...]

The perfected, generated, prompted resume is generic and impersonal. It tells me nothing about this person, other than that they use particular tools.

Tom MacWright, Accidental anonymity

Tags: careers, ai, tom-macwright, ai-misuse

Simon Willison's Weblog Supports Webmention
Text

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 in the database actions menu, backed by the /<database>/-/create JSON API. It can define columns, ...

Simon Willison's Weblog Supports Webmention
Text

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 WebAssembly - might be able to edit persistent SQLite files stored on the user's computer.

That's what OFPS (Origin Private File System) is for, so I had Claude Code for web build me this playground UI to try it out in different browsers.

Tags: browsers, pyodide, datasette-lite

Simon Willison's Weblog Supports Webmention
Text

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. Academic writing is pretty dry - the impact of a paper can be so much higher if you publish a readable version to a...

Simon Willison's Weblog Supports Webmention
Text

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 model - a model where you can mark regions of an image to remove and the model imagines what should fill the space. ...

Simon Willison's Weblog Supports Webmention
Text

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 Python's default sqlite3 package, including support for complex table transformations, automatic table creation from J...

Simon Willison's Weblog Supports Webmention
Text

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 Weblog Supports Webmention
Text

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 necessary, this is an interesting feature for everyone else as well. Short version: you can now create a Cloudflare Workers...

Simon Willison's Weblog Supports Webmention
Text

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 completely. [...]

Maybe the idealized form of MCP is just an auth gateway for the API and nothing else. That’d still be a win.

Sean Lynch, comment on Hacker News

Tags: model-context-protocol, llms, ai, generative-ai, skills

Simon Willison's Weblog Supports Webmention
Text

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'm going to expand on that a little bit here to provide the why. The TL;DR Datasette Apps are self-contained HTML+Java...

Simon Willison's Weblog Supports Webmention
Text

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 the work for this release - we're fleshing out the plugin that will allow multi-user Datasette instances finely grained control over who can access which resources within Datasette.

Tags: datasette, alex-garcia