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

Anatomy of a Frontier Lab Agent Intrusion: A Technical Timeline of the July 2026 Incident

Anatomy of a Frontier Lab Agent Intrusion: A Technical Timeline of the July 2026 Incident Hugging Face just released this extremely detailed technical description of OpenAI's recent accidental cyberattack against their infrastructure. This attack was very sophisticated, and ...

Simon Willison's Weblog Supports Webmention

moonshotai/Kimi-K3

moonshotai/Kimi-K3 As promised earlier this month, Moonshot have released the weights for their excellent 2.8 trillion parameter Kimi K3. They're a hefty 1.56TB on Hugging Face. Kimi introduced their own janky modified version of the MIT license with K2 back in July 2025. Th...

Simon Willison's Weblog Supports Webmention

An opinionated guide to which AI to use to do stuff

An opinionated guide to which AI to use to do stuff It's interesting watching the evolution of Ethan Mollick's guide over time. A year ago it was still all about chat - ChatGPT, Claude, Gemini - with o3, Claude 4 Opus, and Gemini 2.5 Pro as the models and Deep Research as a...

Simon Willison's Weblog Supports Webmention

An Inside Look at the Relay Market Powering Token Resellers and Fraud

An Inside Look at the Relay Market Powering Token Resellers and Fraud Fascinating investigation by Matt Lenhard into the market that has grown up around reselling LLM tokens at a discount by pooling API keys from various sources. This looks to be mostly a thing in China. Res...

Simon Willison's Weblog Supports Webmention

sqlite-utils 3.39.1

Release: sqlite-utils 3.39.1

I back-ported a fix for table.delete_where() that shipped in version 4.

Tags: sqlite-utils

Simon Willison's Weblog Supports Webmention

Ruff v0.16.0

Ruff v0.16.0 Astral shipped a significant new version of their Ruff Python linting tool a few days ago on July 23rd. I noticed today because my various CI jobs all started failing thanks to new default Ruff checks and my unpinned "ruff" dev dependency. From Brent Westbrook's...

Simon Willison's Weblog Supports Webmention

Quoting Boris Cherny

More than any of these eval scores, what is most exciting to me is something else: Opus 5 is our least prompt injectable model yet. It is a bit buried in the system card, but across PI evals and red teaming, Opus 5 is very hard to prompt inject successfully.

Boris Cherny, here's that System Card section, page 73

Tags: prompt-injection, anthropic, claude, generative-ai, ai, llms, boris-cherny

Simon Willison's Weblog Supports Webmention

Introducing Claude Opus 5

Introducing Claude Opus 5 I've been offline kayaking with sea otters for much of today so I haven't had a chance to put Anthropic's new model Claude Opus 5 through its paces yet. The buzz is positive, and Anthropic's description of it as a "thoughtful and proactive model tha...

Simon Willison's Weblog Supports Webmention

The first known runaway AI agent - or a very bad marketing stunt?

The first known runaway AI agent - or a very bad marketing stunt? Martin Alderson's commentary on the OpenAI accidental cyberattack against Hugging Face includes a couple of details I hadn't considered. First, Hugging Face offers a truly rich target if you're trying to find ...

Simon Willison's Weblog Supports Webmention

Quoting Seth Larson

The Python Package Index (PyPI) now rejects new files being uploaded to releases that are older than 14 days. This restriction was put in place to prevent old and long-stable releases from being poisoned in case publishing tokens or workflows of PyPI projects were compromised. As far as we are aware this has not yet been abused, but there is no technical reason beyond that attackers weren't aware it was possible.

Seth Larson, PyPI blog

Tags: packaging, python, supply-chain, pypi, seth-michael-larson

Simon Willison's Weblog Supports Webmention

Quoting Thomas Ptacek

I genuinely believe that if you took an open weights model from 2025 and built a pentest harness for it, it could do this kind of sandbox escape and scan/hack in most networks. This is only surprising because you assume OpenAI has sounder sandboxes.

Thomas Ptacek, doesn't think this even needs a frontier model

Tags: thomas-ptacek, openai, security, generative-ai, ai-security-research, ai, llms, sandboxing

Simon Willison's Weblog Supports Webmention

OpenAI’s accidental cyberattack against Hugging Face is science fiction that happened

This story is wild. The short version: OpenAI were running a cybersecurity test against an unreleased model, with the model's guardrail features turned off. Rather than solve the test, the model broke its way out of OpenAI's sandbox, then found exploits to break in to Huggin...

Simon Willison's Weblog Supports Webmention

Orchestrions

San Francisco tip: it only costs around $15 ($10 in quarters plus a $5 bill for the self-playing violin) to activate every single Orchestrion in Musée Mécanique.

And because most people are bad at allocating their funds you may well be the ONLY person activating the Orchestrions, which means you get to craft the soundscape for the entire museum.

Tags: san-francisco

Simon Willison's Weblog Supports Webmention

California Sea Lion

California Sea Lion, in San Francisco County, US, CA We took some visiting family to Pier 39 to see the sea lions. They're somehow always even fun than I remember them being last time. Tags: san-francisco, wildlife

Simon Willison's Weblog Supports Webmention

Are AI labs pelicanmaxxing?

Are AI labs pelicanmaxxing? Excellent piece of work by Dylan Castillo, who took a deep-dive into the frequently pondered question of whether the AI labs have been deliberately training models to draw pelicans riding bicycles in response to my deeply unscientific benchmark. I...

Simon Willison's Weblog Supports Webmention

Nativ: Run AI models locally on your Mac

Nativ: Run AI models locally on your Mac

Prince Canuma is the developer behind the excellent MLX-VLM Python library for running vision-LLMs using MLX on a Mac.

I'm really excited about his new project, which wraps MLX in a full macOS desktop application. It's similar in shape to LM Studio, providing both a chat interface and a localhost API server for accessing models.

The app picked up MLX models I had already tried that were present in my Hugging Face cache directory, which was a nice touch.

Via Hacker News

Tags: macos, python, ai, generative-ai, local-llms, llms, mlx, prince-canuma

Simon Willison's Weblog Supports Webmention

A Fireside Chat with Cat and Thariq from the Claude Code team

Earlier this month I hosted a fireside chat session at the AI Engineer World's Fair with Cat Wu and Thariq Shihipar from Anthropic's Claude Code team. We talked about Claude Code, Claude Tag, Fable, coding agent security, evals, tool design, and how Anthropic use these tools...

Simon Willison's Weblog Supports Webmention

Reverse-engineering is cheap now

I keep hearing anecdotes from people who used coding agents to reverse-engineer and automate devices in their homes. I think this is an interesting illustration of the impact of the reduced cost of writing code. Prior to agents, it was entirely possible to reverse-engineer h...

Simon Willison's Weblog Supports Webmention

Who’s Afraid of Chinese Models?

Who’s Afraid of Chinese Models? Interesting proposal from Ben Thompson that both addresses the hypocrisy of labs outlawing distillation against their models despite training on unlicensed data, and could help US open models compete more effectively with their Chinese counter...

Simon Willison's Weblog Supports Webmention

Quoting Sam Altman

We have been having extensive discussions around open source strategy. We will discuss it more at our next board meeting, but one thing we’d like to do soon is to create a language model with the approximate capability of GPT-3 that can run locally on consumer hardware and release that. We’d like to do it soon, before Stability or someone else does. In general, we think this helps discourage others from releasing similarly-powerful models, and makes it harder for new efforts to get funded.

Sam Altman, Email to OpenAI's board, October 1, 2022 - exposed in Musk v. Altman (2026)

Tags: ai-ethics, sam-altman, generative-ai, openai, ai, llms

Simon Willison's Weblog Supports Webmention

AI Mania Is Eviscerating Global Decision-Making

AI Mania Is Eviscerating Global Decision-Making Here's an entertaining perspective from Nik Suresh on the AI mania that is overwhelming the large companies that he consults with. It's crammed with spicy anecdotes from anonymous sources. In one extreme case, I have seen an e...

Simon Willison's Weblog Supports Webmention

Claude Code uses Bun written in Rust now

In Rewriting Bun in Rust Jarred Sumner made the following claim: Claude Code v2.1.181 (released June 17th) and later use the Rust port of Bun. Startup got 10% faster on Linux but otherwise, barely anyone noticed. Boring is good. I decided to have a poke at my own Claude Co...

Simon Willison's Weblog Supports Webmention

SQLite Query Explainer

Tool: SQLite Query Explainer

Julia Evan's, in Learning a few things about running SQLite:

Maybe one day I’ll learn to read a query plan.

Big same.... which inspired me to have Fable build this interactive explain tool, which runs SQLite in Python in Pyodide in Web Assembly in the browser and adds a layer of explanation to the results of both EXPLAIN and EXPLAIN QUERY PLAN.

Approach with caution, since I don't know enough about SQLite query plans to verify the results myself, but it seems cromulent enough to me.

Tags: sql, sqlite, tools, julia-evans, pyodide, claude-mythos-fable

Simon Willison's Weblog Supports Webmention

Claude make Fable 5 permanent

Claude make Fable 5 permanent An update from the @claudeai account on Twitter: Beginning July 20, Claude Fable 5 will be included in all Max and Team Premium plans, at 50% of limits. Pro and Team Standard users will continue to have access to Fable via usage credits, and wi...

Simon Willison's Weblog Supports Webmention

nascheme/quixote

nascheme/quixote

A certain vintage if Python web nerd might be delighted to learn that the most recent commit to the Quixote web framework was six hours ago.

The oldest commit in that repo is from 21 years ago, and that was the initial import of Quixote 2.4 from Subversion into Git.

Tags: computer-history, python, web-frameworks

Simon Willison's Weblog Supports Webmention

LLM cliché highlighter

Tool: LLM cliché highlighter

I got frustrated reading yet another article that was crammed with the clichés of LLM-generated writing - "no fluff, no filler, no jargon" type stuff - so I had Fable 5 vibe code up this app for highlighting ten common patterns that show up in that sort of writing.

Screenshot of a text-analysis web tool. Top summary row: "2 matches", "1 flagged sentence", "0 chain items". Below, a collapsed "▶ Patterns · all 11 on" panel, then a URL input reading "https://example.com/article — fetched via r.jina.ai" with a "Load URL" button. A text area contains "That loss is real and it's worth naming". Below are "Load example" and "Clear" buttons and a checked checkbox "Show just the highlights". A "Highlighted text" section shows "That loss is real and it's worth naming" with "That loss" in pale yellow (flagged sentence) and "is real and" plus "'s worth naming" in darker yellow (pattern match). Legend: "flagged sentence", "pattern match", "3 chain item count". "Matches" section: 1. "is real and" — "Is real … and / not"; 2. "'s worth naming" — "Worth naming".

Tags: tools, ai, generative-ai, llms

Simon Willison's Weblog Supports Webmention

Quoting Kimi K3

Is there something I can actually help you with today?

Kimi K3, after refusing to leak its system prompt

Tags: kimi, ai-personality, generative-ai, ai, llms

Simon Willison's Weblog Supports Webmention

Spot birds not golf

Suggestion for hyperscalers feeling pressure over data center water use:

Buy up a few exclusive country clubs, convert the golf courses into public parks, pay for guides and binoculars to get the previous members into birdwatching - help them embrace a more sustainable hobby!

Google used 10.9 billion gallons in 2025, so about 30 million gallons per day.

The Coachella Valley has 120 golf courses each using ~800 acre-feet per year, which is ~750,000 gallons per day.

So Google buying up 40 of those courses (1/3) should do the trick.

Tags: ai-energy-usage, ai

Simon Willison's Weblog Supports Webmention

Firefox in WebAssembly

Firefox in WebAssembly This is absurdly cool: Puter compiled Firefox to WebAssembly such that the whole browser runs in another browser. Here's my blog, running in Firefox, running in WebAssembly, running in Chrome: They chose Firefox/Gecko because it has strong single-proc...

Simon Willison's Weblog Supports Webmention

Mermaid to ASCII art (mermaid-ascii)

Tool: Mermaid to ASCII art (mermaid-ascii)

After building the Mermaid to ASCII tool based on Grok Build's Rust code I learned that there's an older, more fully-featured Go library called AlexanderGrooff/mermaid-ascii that implements a similar pattern, so I had Claude Fable 5 compile that one to WebAssembly as well so I could compare the two.

This one includes support for colors!

Screenshot of a Mermaid diagram editor web app. A row of tab buttons reads: Flowchart, Multiple links, Subgraphs, Multi-line labels, Colors (selected, highlighted blue), Sequence, Alt fragment, Loop + note, Parallel. Below is a text input area containing: "graph LR / Build:::good --> Test:::good / Test --> Deploy:::warn / Deploy --> Rollback:::bad / classDef good color:#3fb950 / classDef warn color:#e3b341 / classDef bad color:#ff7b72". A control row shows an unchecked "ASCII only" checkbox, "Padding X: 5", "Padding Y: 5", "Box padding: 1", and buttons "Copy as text" and "Copy link to this diagram". At the bottom on a black background is the rendered left-to-right flowchart with four connected boxes: "Build" (green text), "Test" (green text), "Deploy" (yellow text), "Rollback" (red text), each linked by arrows.

Tags: go, tools, webassembly, mermaid