Simon Willison's Weblog
- Author
- Simon Willison
- Public lists
-
Featured
- Fetched
Quoting Kenton Varda
Mastodon 4.5
Quoting Josh Cohenzadeh
I have AiDHD
It has never been easier to build an MVP and in turn, it has never been harder to keep focus. When new features always feel like they're just a prompt away, feature creep feels like a never ending battle. Being disciplined is more important than ever.
AI still doesn't change one very important thing: you still need to make something people want. I think that getting users (even free ones) will become significantly harder as the bar for user's time will only get higher as their options increase.
Being quicker to get to the point of failure is actually incredibly valuable. Even just over a year ago, many of these projects would have taken months to build.
— Josh Cohenzadeh, AiDHD
Tags: vibe-coding, ai-assisted-programming, generative-ai, ai, llms
Could LLMs encourage new programming languages?
Using Codex CLI with gpt-oss:120b on an NVIDIA DGX Spark via Tailscale
Using Codex CLI with gpt-oss:120b on an NVIDIA DGX Spark via Tailscale
Inspired by a YouTube comment I wrote up how I run OpenAI's Codex CLI coding agent against the gpt-oss:120b model running in Ollama on my NVIDIA DGX Spark via a Tailscale network.It takes a little bit of work to configure but the result is I can now use Codex CLI on my laptop anywhere in the world against a self-hosted model.
I used it to build this space invaders clone.
Tags: ai, tailscale, til, generative-ai, local-llms, llms, nvidia, coding-agents, space-invaders, codex-cli
Game design is simple, actually
Game design is simple, actually
Game design legend Raph Koster (Ultima Online, Star Wars Galaxies and many more) provides a deeply informative and delightfully illustrated "twelve-step program for understanding game design."You know it's going to be good when the first section starts by defining "fun".
Via Hacker News
Tags: game-design
You should write an agent
Agents are the most surprising programming experience I’ve had in my career. Not because I’m awed by the magnitude of their powers — I like them, but I don’t like-like them. It’s because of how easy it was to get one up on its legs, and how much I learned doing that.
I think he's right: hooking up a simple agentic loop that prompts an LLM and runs a tool for it any time it request one really is the new "hello world" of AI engineering.
Via Hacker News
Tags: thomas-ptacek, ai, fly, generative-ai, llms, ai-agents
Quoting Ben Stolovitz
My trepidation extends to complex literature searches. I use LLMs as secondary librarians when I’m doing research. They reliably find primary sources (articles, papers, etc.) that I miss in my initial searches.
But these searches are dangerous. I distrust LLM librarians. There is so much data in the world: you can (in good faith!) find evidence to support almost any position or conclusion. ChatGPT is not a human, and, unlike teachers & librarians & scholars, ChatGPT does not have a consistent, legible worldview. In my experience, it readily agrees with any premise you hand it — and brings citations. It may have read every article that can be read, but it has no real opinion — so it is not a credible expert.
— Ben Stolovitz, How I use AI
Tags: ai-assisted-search, llms, ai, generative-ai
Kimi K2 Thinking
Quoting Nathan Lambert
Video + notes on upgrading a Datasette plugin for the latest 1.0 alpha, with help from uv and OpenAI Codex CLI
Code research projects with async coding agents like Claude Code and Codex
Open redirect endpoint in Datasette prior to 0.65.2 and 1.0a21
Removing XSLT for a more secure browser
Quoting @belligerentbarbies
Code execution with MCP: Building more efficient agents
A new SQL-powered permissions system in Datasette 1.0a20
MCP Colors: Systematically deal with prompt injection risk
Quoting Steve Francia
Every time an engineer evaluates a language that isn’t “theirs,” their brain is literally working against them. They’re not just analyzing technical trade offs, they’re contemplating a version of themselves that doesn’t exist yet, that feels threatening to the version that does. The Python developer reads case studies about Go’s performance and their amygdala quietly marks each one as a threat to be neutralized. The Rust advocate looks at identical problems and their Default Mode Network constructs narratives about why “only” Rust can solve them.
We’re not lying. We genuinely believe our reasoning is sound. That’s what makes identity based thinking so expensive, and so invisible.
— Steve Francia, Why Engineers Can't Be Rational About Programming Languages
The fetch()ening
Quoting Barry Warsaw
Dear PEP 810 authors. The Steering Council is happy to unanimously accept "PEP 810, Explicit lazy imports". Congratulations! We appreciate the way you were able to build on and improve the previously discussed (and rejected) attempt at lazy imports as proposed in PEP 690.
— Barry Warsaw, on behalf of the Python Steering Council
Tags: python, barry-warsaw
The case against pgvector
Quoting MiniMax
New prompt injection papers: Agents Rule of Two and The Attacker Moves Second
PyCon US 2026 call for proposals is now open
How I Use Every Claude Code Feature
October 2025 sponsors-only newsletter
I just hit send on the October edition of my sponsors-only monthly newsletter. If you are a sponsor (or if you start a sponsorship now) you can access a copy here. In the newsletter this month:
- Coding agents and "vibe engineering"
- Claude Code for web
- NVIDIA DGX Spark
- Claude Skills
- OpenAI DevDay and GitHub Universe
- Python 3.14
- October in Chinese Al model releases
- Miscellaneous extras
- Tools I'm using at the moment
Here's a copy of the September newsletter as a preview of what you'll get. Pay $10/month to stay a month ahead of the free copy!
Tags: newsletter
Claude Code Can Debug Low-level Cryptography
Quoting Julian Andres Klode
I plan to introduce hard Rust dependencies and Rust code into APT, no earlier than May 2026. This extends at first to the Rust compiler and standard library, and the Sequoia ecosystem.
In particular, our code to parse .deb, .ar, .tar, and the HTTP signature verification code would strongly benefit from memory safe languages and a stronger approach to unit testing.
If you maintain a port without a working Rust toolchain, please ensure it has one within the next 6 months, or sunset the port.
— Julian Andres Klode, debian-devel mailing list
Tags: open-source, debian, rust, linux