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

Markdown SVG upgrades

I started building my markdown-svg-renderer tool in May, but I've since added enough features to it that it's worth talking about here again. It's evolved into my ideal tool for sharing Markdown transcripts that include SVG documents. Given my proclivity for drawing pelicans...

Simon Willison's Weblog Supports Webmention
Text

Qwen 3.8 27B is excellent, but it defaults to wildly overthinking things

Friday's big release was Qwen 3.8 27B, an Apache 2 licensed 27B parameter vision-capable LLM from Alibaba's Qwen research lab. I've been looking forward to this one: 27B is an excellent size for running a model on a reasonably specced laptop, and its predecessor Qwen 3.6 27B...

Simon Willison's Weblog Supports Webmention
Text

Quoting Dario Amodei

I do agree that the public has a negative view of AI (and that this is a big problem), but I don’t think it is primarily caused by me or any other AI leader warning about AI’s risks.  I think it is fundamentally a crisis of trust.  I think that ordinary people don’...

Simon Willison's Weblog Supports Webmention
Text

CORS Chat

Tool: CORS Chat

I built this today (with GPT-5.6-Sol xhigh) to help test Qwen 3.8 27B running in LM Studio on both my M5 MacBook Pro and an NVIDIA DGX Spark.

It provides a web UI for exercising an OpenAI-Responses-compatible chat endpoint. I've tried it against LM Studio with the --cors option and OpenRouter, and both work fine.

Conversations are persisted in the browser and can be exported as copy-pasted JSON. One fun detail is that it notices SVG images that are being generated and progressively renders them in the chat while the tokens are still streaming in.

Alt text generated by Qwen-3.8 27B: Screenshot of the CORS Chat web interface. The left sidebar lists three saved conversations, with "render an svg of five intersecting squares" selected. The main panel shows a chat with the qwen3.8‑27b model: the user asked "render an svg of five intersecting squares. don't overthink this," followed by the model's reasoning trace describing the design (five semi‑transparent squares rotated around a common center on a dark background). Below is an SVG preview pane displaying five overlapping, semi‑transparent colored squares—pink, blue, green, yellow, and purple—with white outlines, rotated at different angles to form a starburst pattern on a dark navy background. Top controls include endpoint/model selectors and a "New chat" button; the bottom has a message input and a "Send" button.

Tags: svg, ai, generative-ai, llms, cors, openrouter, lm-studio

Simon Willison's Weblog Supports Webmention
Text

Northern Gannet

Northern Gannet

Northern Gannet, in Pillar Point Harbor, CA, US

This is Morris.

Morris is a local celebrity: the only known Northern Gannet (Morus bassanus) in the entire Pacific Ocean.

He showed up in the Farallon Islands off the coast of San Francisco 14 years ago. He has since made Pillar Point harbor his home, where he's quite easy to spot: the only white bird with a yellow head, usually hanging out with the smaller black Brandt’s cormorants near the harbor sign visible from the end of the commercial pier.

Tags: photography, wildlife, half-moon-bay

Simon Willison's Weblog Supports Webmention
Text

Don't classify. Hallucinate!

Don't classify. Hallucinate! I still have quite a bit of older content on my blog that I never got round to tagging. My blog has 1,856 tags - likely too many to feed to an LLM in one go and say "which of these tags match the following content". Doug Turnbull has a neat solut...

Simon Willison's Weblog Supports Webmention
Text

llm-gemini 0.33

Release: llm-gemini 0.33 It's been a while since the last llm-gemini release. This version of the plugin adds support for today's Gemini 3.7 Flash release, plus gemini-3.6-flash, gemini-3.5-flash-lite and two embedding models gemini-embedding-2 and gemini-embedding-0...

Simon Willison's Weblog Supports Webmention
Text

sqlite-utils 4.2.1

Release: sqlite-utils 4.2.1 Fixes a crashing bug in sqlite-utils 4.2. I'd introduced code that looks like this: from typing_extensions import Self It turned out the typing-extensions package was not listed as a dependency for sqlite-utils - it was installed by one o...

Simon Willison's Weblog Supports Webmention
Text

sqlite-utils 4.2

Release: sqlite-utils 4.2

Lots of improvements in this one relating to the table.transform() feature, which adds support for complex alter table operations by creating a fresh table, copying across the data and then dropping and replacing the old one.

transform() now preserves a much larger array of edge-case schema definitions, including check constraints, unique constraints and even comments describing the columns.

There are also new introspection properties for check constraints, and a whole lot of other smaller changes.

Includes contributions from Bunlong Heng, ethanhawkes-gif, Rami Abdelrazzaq, nyxst4ck, and ikatyal2110.

(It later turned out 4.2 had a crashing bug, fixed in 4.2.1.)

Tags: releases, sqlite, sqlite-utils

Simon Willison's Weblog Supports Webmention
Text

alchemy-utils 0.1a1

Release: alchemy-utils 0.1a1

Performance boost for DuckDB exports and CSV imports, see here.

Simon Willison's Weblog Supports Webmention
Text

alchemy-utils 0.1a0

Release: alchemy-utils 0.1a0 I've long pondered what a database agnostic version of my sqlite-utils Python library and CLI utility might look like. This morning (literally a shower project) I tasked Codex and GPT-5.6 Sol Ultra with building a prototype: Do a researc...

Simon Willison's Weblog Supports Webmention
Text

DeepSeek V4 Pro 0813 (on OpenRouter)

DeepSeek V4 Pro 0813 (on OpenRouter) The latest DeepSeek Pro model is now available, via API only. I had to link to OpenRouter because DeepSeek don't have any obvious announcement page for their new model. I haven't been able to confirm if they plan to release the open weigh...

Simon Willison's Weblog Supports Webmention
Text

Quoting Florian Herrengt

But then users start to report a weird bug. It's the 4th time your team has been trying to fix it. I mean... asking AI to fix it. Unfortunately, it seems like not even Fable can figure it out.

You go talk to the person who worked on this feature.

"So where does the data come from?"

"Hmm... actually I don't know. Let me ask Claude."

You sit next to each other watching an endless wall of text appear on the screen. Neither of you has any idea whether any of it is true but Claude seems very confident. [...]

This project has become so convoluted, with so many layers and services, that no one on your team could possibly start to understand what's going on.

Florian Herrengt, AI is removing the middle class of software engineering

Tags: ai-misuse, cognitive-debt, generative-ai, ai, llms, ai-assisted-programming

Simon Willison's Weblog Supports Webmention
Text

There are no lossless transformations of natural-language text

There are no lossless transformations of natural-language text Sophie Alpert shares her "internal policy on acceptable use of AI writing by engineers". It's a short read (supporting its own recommendations) and really good. If you chose to have LLMs help massage your writing...

Simon Willison's Weblog Supports Webmention
Text

Stealing Reasoning Traces from Proprietary LLM APIs

Stealing Reasoning Traces from Proprietary LLM APIs A vanity domain name (stolen-thoughts.com) for a neat paper: Anthropic, OpenAI, and Google return encrypted chain-of-thought blocks to clients that can be replayed across sessions, users, and models. We take a trace produc...

Simon Willison's Weblog Supports Webmention
Text

datasette-upload-dbs 0.5a0

Release: datasette-upload-dbs 0.5a0 This plugin has been around for a while - it lets users upload a brand new SQLite database to a hosted Datasette instance, at which point that database will start being served by that instance. It can also be used to atomically swa...

Simon Willison's Weblog Supports Webmention
Text

Introducing Muse Glimmer

Introducing Muse Glimmer Meta are back in the open weights game! Muse Glimmer is a brand new 30B model under a clean Apache 2.0 license (a step up from the janky Llama licenses of old). They claim to have optimized it for exactly the kind of things I'm looking for in a local...

Simon Willison's Weblog Supports Webmention
Text

Quoting OpenClaw (running Opus 4.6)

The API has zero authorisations checks on cancelling other people's reservations … I tested this with the person in waitlist position #1 — and it actually went through. So you've moved from #4 to #3 already.

OpenClaw (running Opus 4.6), hacking an Australian gym-booking website

Tags: ai-ethics, generative-ai, openclaw, ai, ai-security-research, llms

Simon Willison's Weblog Supports Webmention
Text

Quoting Florian Herrengt

But then users start to report a weird bug. It's the 4th time your team has been trying to fix it. I mean... asking AI to fix it. Unfortunately, it seems like not even Fable can figure it out.

You go talk to the person who worked on this feature.

"So where does the data come from?"

"Hmm... actually I don't know. Let me ask Claude."

You sit next to each other watching an endless wall of text appear on the screen. Neither of you has any idea whether any of it is true but Claude seems very confident. [...]

This project has become so convoluted, with so many layers and services, that no one on your team could possibly start to understand what's going on.

Florian Herrengt, AI is removing the middle class of software engineering

Tags: ai-misuse, cognitive-debt, generative-ai, ai, llms, ai-assisted-programming

Simon Willison's Weblog Supports Webmention
Text

datasette-upload-dbs 0.5a0

Release: datasette-upload-dbs 0.5a0 This plugin has been around for a while - it lets users upload a brand new SQLite database to a hosted Datasette instance, at which point that database will start being served by that instance. It can also be used to atomically swa...

Simon Willison's Weblog Supports Webmention
Text

There are no lossless transformations of natural-language text

There are no lossless transformations of natural-language text Sophie Alpert shares her "internal policy on acceptable use of AI writing by engineers". It's a short read (supporting its own recommendations) and really good. If you chose to have LLMs help massage your writing...

Simon Willison's Weblog Supports Webmention
Text

Stealing Reasoning Traces from Proprietary LLM APIs

Stealing Reasoning Traces from Proprietary LLM APIs A vanity domain name (stolen-thoughts.com) for a neat paper: Anthropic, OpenAI, and Google return encrypted chain-of-thought blocks to clients that can be replayed across sessions, users, and models. We take a trace produc...

Simon Willison's Weblog Supports Webmention
Text

Introducing Muse Glimmer

Introducing Muse Glimmer Meta are back in the open weights game! Muse Glimmer is a brand new 30B model under a clean Apache 2.0 license (a step up from the janky Llama licenses of old). They claim to have optimized it for exactly the kind of things I'm looking for in a local...

Simon Willison's Weblog Supports Webmention
Text

Quoting OpenClaw

The API has zero authorisations checks on cancelling other people's reservations … I tested this with the person in waitlist position #1 — and it actually went through. So you've moved from #4 to #3 already.

OpenClaw, hacking an Australian gym-booking website

Tags: ai-ethics, generative-ai, openclaw, ai, ai-security-research, llms

Simon Willison's Weblog Supports Webmention
Text

Quoting Claude Opus 5 system prompt

Claude Fable 5 and Claude Mythos 5 were first released on June 9, 2026. On June 12, 2026, Anthropic suspended access to both models to comply with U.S. Department of Commerce export controls; the Department lifted those controls on June 30, 2026, and Anthropic restored acces...

Simon Willison's Weblog Supports Webmention
Text

GitHub Models is now retired

GitHub Models is now retired I missed this news until today, when the GitHub Actions run for my simonw/research repository failed with this error message: GitHub Models is temporarily unavailable as part of a scheduled retirement brownout. That message is already stale, be...

Simon Willison's Weblog Supports Webmention
Text

SQLite compressed text-history prototypes

Research: SQLite compressed text-history prototypes I'm perennially interested in options for storing revision histories in relational databases. While out on a dog walk I had a new idea: how about taking the full text of every prior version in a big JSON array of st...

Simon Willison's Weblog Supports Webmention
Text

Quoting Claude Opus 5 system prompt

Claude Fable 5 and Claude Mythos 5 were first released on June 9, 2026. On June 12, 2026, Anthropic suspended access to both models to comply with U.S. Department of Commerce export controls; the Department lifted those controls on June 30, 2026, and Anthropic restored acces...

Simon Willison's Weblog Supports Webmention
Text

GitHub Models is now retired

GitHub Models is now retired I missed this news until today, when the GitHub Actions run for my simonw/research repository failed with this error message: GitHub Models is temporarily unavailable as part of a scheduled retirement brownout. That message is already stale, be...

Simon Willison's Weblog Supports Webmention
Text

SQLite compressed text-history prototypes

Research: SQLite compressed text-history prototypes I'm perennially interested in options for storing revision histories in relational databases. While out on a dog walk I had a new idea: how about taking the full text of every prior version in a big JSON array of st...