Sign up

Jim Nielsen’s Blog Valid
Text

Prototyping with LLMs

Did you know that Jesus gave advice about prototyping with an LLM? Here’s Luke 14:28-30: Suppose one of you wants to build a tower. Won’t you first sit down and estimate the cost to see if you have enough money to complete it? For if you lay the foundation and are not able ...

Pluralistic: Daily links from Cory Doctorow
Text • Cory Doctorow

Pluralistic: Your boss wants to use surveillance data to cut your wages (06 Apr 2026)

Today's links Your boss wants to use surveillance data to cut your wages: Tech rights are labor rights (again). Hey look at this: Delights to delectate. Object permanence: Arthur C Clarke v Buddhist monks (x DST); Bomb squad v life-size Mario power-ups; Panama Papers; Chinese...

Simon Willison's Weblog Supports Webmention
Text

Google AI Edge Gallery

Google AI Edge Gallery Terrible name, really great app: this is Google's official app for running their Gemma 4 models (the E2B and E4B sizes, plus some members of the Gemma 3 family) directly on your iPhone. It works really well. The E2B model is a 2.54GB download and is bo...

Simon Willison's Weblog Supports Webmention
Text

datasette-ports 0.2

Release: datasette-ports 0.2

  • No longer requires Datasette - running uvx datasette-ports now works as well.
  • Installing it as a Datasette plugin continues to provide the datasette ports command.

Tags: datasette

Simon Willison's Weblog Supports Webmention
Text

scan-for-secrets 0.3

Release: scan-for-secrets 0.3

  • New -r/--redact option which shows the list of matches, asks for confirmation and then replaces every match with REDACTED, taking escaping rules into account.
  • New Python function redact_file(file_path: str | Path, secrets: list[str], replacement: str = "REDACTED") -> int.

Tags: projects

Simon Willison's Weblog Supports Webmention
Text

Cleanup Claude Code Paste

Tool: Cleanup Claude Code Paste

Super-niche tool this. I sometimes copy prompts out of the Claude Code terminal app and they come out with a bunch of weird additional whitespace. This tool cleans that up.

Screenshot of a web tool titled "Cleanup Claude Code Paste" with the subtitle "Paste terminal output to remove the ❯ prompt, fix wrapped-line whitespace, and join lines into clean text." An input textarea contains pasted terminal output starting with "❯ Add a -r/--redact option which asks for user approval (after telling it how many replacements will happen and in which files and which lines – standard output basically) and then rewrites the files in that folder to replace all matched secrets with REDACTED. Run tests with 'uv run pytest' and use red/green TDD". Below is a "Cleaned output:" section showing the same text with the ❯ prompt removed and whitespace cleaned up. A blue "Copy to clipboard" button appears at the bottom.

Tags: tools, claude-code

Simon Willison's Weblog Supports Webmention
Text

datasette-ports 0.1

Release: datasette-ports 0.1

Another example of README-driven development, this time solving a problem that might be unique to me.

I often find myself running a bunch of different Datasette instances with different databases and different in-development plugins, spreads across dozens of different terminal windows - enough that I frequently lose them!

Now I can run this:

datasette install datasette-ports
datasette ports

And get a list of every running instance that looks something like this:

http://127.0.0.1:8333/ - v1.0a26
  Databases: data
  Plugins: datasette-enrichments, datasette-enrichments-llm, datasette-llm, datasette-secrets
http://127.0.0.1:8001/ - v1.0a26
  Databases: creatures
  Plugins: datasette-extract, datasette-llm, datasette-secrets
http://127.0.0.1:8900/ - v0.65.2
  Databases: logs

Tags: datasette

Simon Willison's Weblog Supports Webmention
Text

Eight years of wanting, three months of building with AI

Eight years of wanting, three months of building with AI Lalit Maganti provides one of my favorite pieces of long-form writing on agentic engineering I've seen in ages. They spent eight years thinking about and then three months building syntaqlite, which they describe as "h...

Krebs on Security
Audio • BrianKrebs

Germany Doxes “UNKN,” Head of RU Ransomware Gangs REvil, GandCrab

An elusive hacker who went by the handle "UNKN" and ran the early Russian ransomware groups GandCrab and REvil now has a name and a face. Authorities in Germany say 31-year-old Russian Daniil Maksimovich Shchukin headed both cybercrime gangs and helped carry out at least 130 acts of computer sabotage and extortion against victims across the country between 2019 and 2021.

Martin Alderson
Text • Martin Alderson

What next for the compute crunch?

AI compute demand is growing exponentially while supply constraints bite hard. The next 18-24 months are going to be defined by shortages, rationing and price discovery.

Simon Willison's Weblog Supports Webmention
Text

Quoting Chengpeng Mou

From anonymized U.S. ChatGPT data, we are seeing:

  • ~2M weekly messages on health insurance
  • ~600K weekly messages [classified as healthcare] from people living in “hospital deserts” (30 min drive to nearest hospital)
  • 7 out of 10 msgs happen outside clinic hours

Chengpeng Mou, Head of Business Finance, OpenAI

Tags: ai-ethics, generative-ai, openai, chatgpt, ai, llms

Simon Willison's Weblog Supports Webmention
Text

Syntaqlite Playground

Tool: Syntaqlite Playground

Lalit Maganti's syntaqlite is currently being discussed on Hacker News thanks to Eight years of wanting, three months of building with AI, a deep dive into exactly how it was built.

This inspired me to revisit a research project I ran when Lalit first released it a couple of weeks ago, where I tried it out and then compiled it to a WebAssembly wheel so it could run in Pyodide in a browser (the library itself uses C and Rust).

This new playground loads up the Python library and provides a UI for trying out its different features: formating, parsing into an AST, validating, and tokenizing SQLite SQL queries.

Screenshot of a dark-themed SQL validation playground called SyntaqLite. The "Validate" tab is selected from options including Format, Parse, Validate, and Tokenize. The SQL input contains "SELECT id, name FROM usr WHERE active = 1" with a schema defining "users" and "posts" tables. Example buttons for "Table typo", "Column typo", and "Valid query" are shown above a red "Validate SQL" button. The Diagnostics panel shows an error for unknown table 'usr' with the suggestion "did you mean 'users'?", and the JSON panel displays the corresponding error object with severity, message, and offset fields.

Tags: sql, ai-assisted-programming, sqlite, tools, agentic-engineering

Jim Nielsen’s Blog Valid
Text

I Tried Vibing an RSS Reader and My Dreams Did Not Come True

Simon Willison wrote about how he vibe coded his dream presentation app for macOS. I also took a stab at vibe coding my dream app: an RSS reader. To clarify: Reeder is my dream RSS app and it already exists, so I guess you could say my dreams have already come true? But I’ve...

Michael Stapelbergs Website
Text

Stamp It! All Programs Must Report Their Version

Recently, during a production incident response, I guessed the root cause of an outage correctly within less than an hour (cool!) and submitted a fix just to rule it out, only to then spend many hours fumbling in the dark because we lacked visibility into version numbers and...

Simon Willison's Weblog Supports Webmention
Text

scan-for-secrets 0.2

Release: scan-for-secrets 0.2

  • CLI tool now streams results as they are found rather than waiting until the end, which is better for large directories.
  • -d/--directory option can now be used multiple times to scan multiple directories.
  • New -f/--file option for specifying one or more individual files to scan.
  • New scan_directory_iter(), scan_file() and scan_file_iter() Python API functions.
  • New -v/--verbose option which shows each directory that is being scanned.

Simon Willison's Weblog Supports Webmention
Text

scan-for-secrets 0.1.1

Release: scan-for-secrets 0.1.1

  • Added documentation of the escaping schemes that are also scanned.
  • Removed unnecessary repr escaping scheme, which was already covered by json.

Simon Willison's Weblog Supports Webmention
Text

scan-for-secrets 0.1

Release: scan-for-secrets 0.1 I like publishing transcripts of local Claude Code sessions using my claude-code-transcripts tool but I'm often paranoid that one of my API keys or similar secrets might inadvertently be revealed in the detailed log files. I built this new P...

Simon Willison's Weblog Supports Webmention
Text

research-llm-apis 2026-04-04

Release: research-llm-apis 2026-04-04

I'm working on a major change to my LLM Python library and CLI tool. LLM provides an abstraction layer over hundreds of different LLMs from dozens of different vendors thanks to its plugin system, and some of those vendors have grown new features over the past year which LLM's abstraction layer can't handle, such as server-side tool execution.

To help design that new abstraction layer I had Claude Code read through the Python client libraries for Anthropic, OpenAI, Gemini and Mistral and use those to help craft curl commands to access the raw JSON for both streaming and non-streaming modes across a range of different scenarios. Both the scripts and the captured outputs now live in this new repo.

Tags: llm, apis, json, llms

Dr Paris Buttfield-Addison
Text

Space News, April 2026

These are my notes and expanded thoughts from this month’s Space News segment on ABC Radio Hobart and ABC Northern Tasmania. Every month I join Lucie Cutting on Sunday mornings to chat about what’s happening above and beyond.

Here’s what we discussed, plus some of my notes, and expanded thoughts from this edition of the programme:

Artemis II: Four Humans At The Moon Right Now

Artemis II launched on 1 April. As I write this on Sunday morning, four astronauts are about 169,000 miles from Earth and closing on the Moon. They go behind it tomorrow. This is the first time humans have left low Earth orbit since Apollo 17 in December 1972, fifty-four years ago.

Pluralistic: Daily links from Cory Doctorow
Text • Cory Doctorow

Pluralistic: EU ready to cave to Trump on tech (04 Apr 2026)

Today's links EU ready to cave to Trump on tech: Surrendermonkeys ahoy. Hey look at this: Delights to delectate. Object permanence: "Among a Thousand Fireflies"; "fiscal" not "physical"; Ontario's pusher premiere can't distribute vaccines; You need your head examined (if you ...