Simon Willison's Weblog
- Author
- Simon Willison
- Public lists
-
Featured
- Fetched
Quoting Bobby Holley
Changes to GitHub Copilot Individual plans
Is Claude Code going to cost $100/month? Probably not - it's all very confusing
Where's the raccoon with the ham radio? (ChatGPT Images 2.0)
Quoting Andreas Påhlsson-Notini
AI agents are already too human. Not in the romantic sense, not because they love or fear or dream, but in the more banal and frustrating one. The current implementations keep showing their human origin again and again: lack of stringency, lack of patience, lack of focus. Faced with an awkward task, they drift towards the familiar. Faced with hard constraints, they start negotiating with reality.
— Andreas Påhlsson-Notini, Less human AI agents, please.
Tags: ai-agents, coding-agents, ai
scosman/pelicans_riding_bicycles
scosman/pelicans_riding_bicycles
I firmly approve of Steve Cosman's efforts to pollute the training set of pelicans riding bicycles.
(To be fair, most of the examples I've published count as poisoning too.)
Tags: ai, generative-ai, llms, training-data, pelican-riding-a-bicycle
llm-openrouter 0.6
Release: llm-openrouter 0.6
llm openrouter refreshcommand for refreshing the list of available models without waiting for the cache to expire.
I added this feature so I could try Kimi 2.6 on OpenRouter as soon as it became available there.
Here's its pelican - this time as an HTML page because Kimi chose to include an HTML and JavaScript UI to control the animation. Transcript here.

Tags: openrouter, llm, llm-release, pelican-riding-a-bicycle, kimi, ai-in-china, llms, ai, generative-ai
SQL functions in Google Sheets to fetch data from Datasette
TIL: SQL functions in Google Sheets to fetch data from Datasette
I put together some notes on patterns for fetching data from a Datasette instance directly into Google Sheets - using the importdata() function, a "named function" that wraps it or a Google Apps Script if you need to send an API token in an HTTP header (not supported by importdata().)
Here's an example sheet demonstrating all three methods.
Tags: spreadsheets, datasette, google
Claude Token Counter, now with model comparisons
Headless everything for personal AI
Changes in the system prompt between Claude Opus 4.6 and 4.7
Claude system prompts as a git timeline
Research: Claude system prompts as a git timeline
Anthropic publish the system prompts for Claude chat and make that page available as Markdown. I had Claude Code turn that page into separate files for each model and model family with fake git commit dates to enable browsing the changes via the GitHub commit view.
Tags: system-prompts, anthropic, claude, generative-ai, ai, llms
Adding a new content type to my blog-to-newsletter tool
Join us at PyCon US 2026 in Long Beach - we have new AI and security tracks this year
datasette 1.0a28
llm-anthropic 0.25
Release: llm-anthropic 0.25
- New model:
claude-opus-4.7, which supportsthinking_effort:xhigh. #66- New
thinking_displayandthinking_adaptiveboolean options.thinking_displaysummarized output is currently only available in JSON output or JSON logs.- Increased default
max_tokensto the maximum allowed for each model.- No longer uses obsolete
structured-outputs-2025-11-13beta header for older models.
Qwen3.6-35B-A3B on my laptop drew me a better pelican than Claude Opus 4.7
datasette.io news preview
datasette-export-database 0.3a1
Release: datasette-export-database 0.3a1
This plugin was using the ds_csrftoken cookie as part of a custom signed URL, which needed upgrading now that Datasette 1.0a27 no longer sets that cookie.
Tags: datasette
datasette 1.0a27
Quoting John Gruber
The real goldmine isn’t that Apple gets a cut of every App Store transaction. It’s that Apple’s platforms have the best apps, and users who are drawn to the best apps are thus drawn to the iPhone, Mac, and iPad. That edge is waning. Not because software on other platforms is getting better, but because third-party software on iPhone, Mac, and iPad is regressing to the mean, to some extent, because fewer developers feel motivated — artistically, financially, or both — to create well-crafted idiomatic native apps exclusively for Apple’s platforms.
Tags: apple, john-gruber
Gemini 3.1 Flash TTS
Gemini 3.1 Flash TTS
Tool: Gemini 3.1 Flash TTS
See my notes on Google's new Gemini 3.1 Flash TTS text-to-speech model.
datasette-ports 0.3
Release: datasette-ports 0.3
A small update for my tool for helping me figure out what all of the Datasette instances on my laptop are up to.
- Show working directory derived from each PID
- Show the full path to each database file
Output now looks like this:
http://127.0.0.1:8007/ - v1.0a26
Directory: /Users/simon/dev/blog
Databases:
simonwillisonblog: /Users/simon/dev/blog/simonwillisonblog.db
Plugins:
datasette-llm
datasette-secrets
http://127.0.0.1:8001/ - v1.0a26
Directory: /Users/simon/dev/creatures
Databases:
creatures: /tmp/creatures.db
Tags: datasette
Quoting Kyle Kingsbury
I think we will see some people employed (though perhaps not explicitly) as meat shields: people who are accountable for ML systems under their supervision. The accountability may be purely internal, as when Meta hires human beings to review the decisions of automated moderation systems. It may be external, as when lawyers are penalized for submitting LLM lies to the court. It may involve formalized responsibility, like a Data Protection Officer. It may be convenient for a company to have third-party subcontractors, like Buscaglia, who can be thrown under the bus when the system as a whole misbehaves.
— Kyle Kingsbury, The Future of Everything is Lies, I Guess: New Jobs
Tags: ai-ethics, careers, ai, kyle-kingsbury