Simon Willison’s Weblog

Subscribe
Atom feed

Elsewhere

Filters: Sorted by date

Tool Text Indentation Tool — Adjust indentation levels in your text with this tool that offers multiple formatting options. Add or remove spaces from the beginning of each line, strip all leading whitespace, eliminate trailing spaces, and apply or remove quote markers (>) for formatted text. Copy the processed result directly to your clipboard with a single click.
Release llm-gemini 0.26.1 — LLM plugin to access Google's Gemini family of models
Tool DOT File Renderer — Render DOT graph files into visual diagrams directly in your browser. Paste your DOT syntax into the textarea and the graph will automatically render as an SVG visualization, with live updates as you edit. Share your graphs by copying the URL, which encodes your DOT content in the fragment identifier.
Release asyncinject 0.6.1 — Run async workflows using pytest-fixtures-style dependency injection
TIL Testing different Python versions with uv with-editable and uv-test — A quick `uv` recipe I figured out today, for running the tests for a project against multiple Python versions.
TIL Testing different Python versions with uv with-editable and uv-test — A quick `uv` recipe I figured out today, for running the tests for a project against multiple Python versions.
Release datasette-os-info 0.1 — Provide information about the current OS at /-/os
Release llm-openai-plugin 0.7 — OpenAI plugin for LLM
Tool JSON String Extractor — Extract all strings from JSON data that exceed 20 characters in length or contain line breaks. This tool is useful for identifying longer text content within complex JSON structures for review, localization, or documentation purposes. Simply paste JSON into the textarea to automatically display matching strings along with their object paths, and use the copy button to quickly transfer any string to your clipboard.
TIL Error 153 Video player configuration error on YouTube embeds — I recently noticed that almost every YouTube video on [my blog](https://simonwillison.net/) was displaying the same mysterious error message:
Release llm-anthropic 0.19 — LLM access to models by Anthropic, including the Claude series
Tool Keyboard Debugger — Monitor keyboard input in real-time with this interactive keyboard debugger that displays pressed keys and their corresponding key codes. Press any keys on your keyboard to see them appear with visual feedback, including support for simultaneous multi-key presses and special key representations. This tool is useful for testing keyboard functionality, debugging input handling, and understanding key event properties like key name, code, and keyCode values.
Release llm-gemini 0.26 — LLM plugin to access Google's Gemini family of models
Tool MicroPython Code Executor — Execute Python code in a sandboxed MicroPython WebAssembly environment with output displayed in real-time. Code is automatically saved to the URL for convenient sharing and persistence, and the environment supports JavaScript interoperability including the `fetch()` API for making HTTP requests. Built-in examples demonstrate common programming patterns from basic operations to working with APIs.
Tool NumPy Vectors & Matrices — Pyodide Lab — Execute NumPy vector and matrix operations directly in your browser using an interactive lab powered by Pyodide. Work through five hands-on exercises covering elementwise operations, dot products, matrix multiplication, broadcasting, and indexing, then experiment freely in the playground sandbox with instant Python output.
Release llm-openai-plugin 0.6 — OpenAI plugin for LLM
Museum The Musical Museum — 399 High St, Brentford TW8 0DU, United Kingdom
Release llm-openrouter 0.5 — LLM plugin for models hosted by OpenRouter
Tool Badge Drawer — Device-Scale Canvas — # Badge Drawer — Device-Scale Canvas
Tool GitHub Account Info Lookup — Look up GitHub user account information by entering a username to retrieve the numeric Account ID and account creation date through the public GitHub API. The tool displays the user's profile link, avatar, and formatted timestamps, along with request latency information. Unauthenticated requests are subject to GitHub's rate limits, which may block further lookups after a certain number of queries.
Museum Coutellerie Nontronnaise — Place Paul Bert, 24300 Nontron
Tool AI Adoption Rolling Avg — Pyodide — View AI adoption trends across different firm sizes by analyzing survey data on artificial intelligence usage in the workplace. This page runs a Python analysis using Pyodide to fetch employment survey data, calculate six-survey rolling averages, and generate an interactive visualization showing adoption rates by company size from November 2023 through August 2025. Download the resulting chart as PNG or SVG for further use or presentation.
Tool Pyodide Bar Chart Demo (pandas + matplotlib) — Execute Python code directly in your browser with Pyodide, a WebAssembly-based Python runtime. This demo loads pandas, numpy, and matplotlib in the client to generate a bar chart from sample data and display it as a rendered image—no server required. The first run may take a few seconds as the necessary libraries are downloaded from CDN, but subsequent executions run instantly from your browser's cache.
Tool Devon Lane Driving Simulator — Navigate the treacherous single-track lanes of rural Devon in this interactive driving simulator, where you must manage your sanity while encountering cyclists, tractors, caravans, and other obstacles. Each encounter presents a unique challenge requiring a dice roll to succeed, with your choices affecting both your progress and mental state as you attempt to travel increasingly longer distances.
Museum V&A East Storehouse — Parkes Street, Queen Elizabeth Olympic Park, Hackney Wick, London, E20 3AX
Tool Rich Text to Markdown — Convert rich text from your clipboard into properly formatted Markdown by pasting content into the input area. The tool automatically detects formatting such as bold text and converts it to Markdown syntax while removing unnecessary leading spaces from each line. Supports rich text format (RTF) from terminal output, HTML from web pages, and plain text input.
Tool Hacker News comments for a user — View Hacker News comments for any user by entering their handle and fetching up to 1,000 recent comments in a single request. The tool displays each comment with its date, story title, direct links to both the comment and discussion thread, and the full comment text, which can be easily copied to your clipboard. This makes it convenient to archive, analyze, or review a user's comment history on Hacker News.
Release llm-gemini 0.25 — LLM plugin to access Google's Gemini family of models
TIL Running a gpt-oss eval suite against LM Studio on a Mac — OpenAI's [gpt-oss models](https://github.com/openai/gpt-oss/) come with an eval suite, which is described in their [Verifying gpt-oss implementations](https://cookbook.openai.com/articles/gpt-oss/verifying-implementations) cookbook. I figured out how to run it on my Mac against their `gpt-oss-20b` model hosted locally using LM Studio, using [uv](https://github.com/astral-sh/uv).
Release datasette-demo-dbs 0.1.1 — Load demo DBs when Datasette starts

Beats

Years

Tags