Pluralistic: Daily links from Cory Doctorow
• Cory Doctorow
Pluralistic: Your boss wants to use surveillance data to cut your wages (06 Apr 2026)
Google AI Edge Gallery
datasette-ports 0.2
Release: datasette-ports 0.2
- No longer requires Datasette - running
uvx datasette-portsnow works as well.- Installing it as a Datasette plugin continues to provide the
datasette portscommand.
Tags: datasette
scan-for-secrets 0.3
Release: scan-for-secrets 0.3
- New
-r/--redactoption which shows the list of matches, asks for confirmation and then replaces every match withREDACTED, taking escaping rules into account.- New Python function
redact_file(file_path: str | Path, secrets: list[str], replacement: str = "REDACTED") -> int.
Tags: projects
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.

Tags: tools, claude-code
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
Eight years of wanting, three months of building with AI
Krebs on Security
• 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
• 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.
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
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.

Tags: sql, ai-assisted-programming, sqlite, tools, agentic-engineering
I Tried Vibing an RSS Reader and My Dreams Did Not Come True
Stamp It! All Programs Must Report Their Version
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/--directoryoption can now be used multiple times to scan multiple directories. - New
-f/--fileoption for specifying one or more individual files to scan. - New
scan_directory_iter(),scan_file()andscan_file_iter()Python API functions. - New
-v/--verboseoption which shows each directory that is being scanned.
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
represcaping scheme, which was already covered byjson.
scan-for-secrets 0.1
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.
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
• Cory Doctorow