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...
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...
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’...
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.
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.
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...
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...
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...
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.
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...
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...
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
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...
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...
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...
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...
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.
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
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...
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...
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...
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...
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
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...
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...
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...
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...
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...
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...