Simon Willison's Weblog
- Author
- Simon Willison
- Public lists
-
davewiner/hackerNewsStars
Featured
- Fetched
Incident Report: CVE-2026-LGTM
Incident Report: CVE-2026-LGTM
Spectacular hypothetical incident report by Andrew Nesbitt.Day 2, 16:00 UTC --- Two AI review agents from competing vendors, both attached to a downstream pull request bumping
foxhole-lz4, enter a disagreement loop over whether the package is malicious. After 340 comments and $41,255 in inference spend, Finance revokes both API keys; one vendor's marketing team, cc'd on the cost anomaly alert, issues a press release citing "a 430% YoY increase in adversarial multi-agent security reasoning." The stock opens up 6%.
Tags: security, ai, prompt-injection, generative-ai, llms, supply-chain, ai-security-research, andrew-nesbitt
Quoting OpenAI
AI and Liability
AI agents are agents of the person or organization that deploys them—and should be treated by the law as such. If a company hired human writers to write its summaries, that company would be liable for inaccuracies in those summaries. [...]
To allow businesses to hide behind the excuse of faulty AI in those same circumstances would be a massive handout to companies, and would introduce disastrous incentives for corporate misbehavior. Why hire human writers, lawyers or doctors when AIs are not only cheaper, but also absolve employers whenever they make a mistake?
Tags: bruce-schneier, google, law, ai, generative-ai, llms, ai-ethics, hallucinations
datasette-export-database 0.3a2
Release: datasette-export-database 0.3a2
An embarrassingly tiny release. The pyproject.toml had pinned to datasette==1.0a27, inadvertently making this plugin incompatible with all other Datasette versions. It's now datasette>=1.0a27 instead.
Tags: datasette
simonw/browser-compat-db
Quoting Tom MacWright
In the last few months, I've started to see [job applications] that were clearly cowritten by an LLM, link to an LLM-generated portfolio site, which then links to LLM-generated GitHub projects, with purely LLM-generated commit messages. [...]
My other reaction is that I don't know anything about these people.
They haven't put themselves out there. They haven't said anything true. [...]
The perfected, generated, prompted resume is generic and impersonal. It tells me nothing about this person, other than that they use particular tools.
— Tom MacWright, Accidental anonymity
Tags: careers, ai, tom-macwright, ai-misuse
datasette 1.0a35
OPFS + Pyodide test harness
Tool: OPFS + Pyodide test harness
I've been pondering if Datasette Lite - the Python Datasette application run entirely in the browser using Pyodide and WebAssembly - might be able to edit persistent SQLite files stored on the user's computer.
That's what OFPS (Origin Private File System) is for, so I had Claude Code for web build me this playground UI to try it out in different browsers.
Tags: browsers, pyodide, datasette-lite
Prompt Injection as Role Confusion
Porting the Moebius 0.2B image inpainting model to run in the browser with Claude Code
sqlite-utils 4.0rc1 adds migrations and nested transactions
sqlite-utils 4.0rc1
Temporary Cloudflare Accounts for AI agents
Quoting Sean Lynch
The real valuable capability MCP offers over skills/CLI is isolating the auth flow outside of the agent’s context window, and potentially out of the harness completely. [...]
Maybe the idealized form of MCP is just an auth gateway for the API and nothing else. That’d still be a win.
— Sean Lynch, comment on Hacker News
Tags: model-context-protocol, llms, ai, generative-ai, skills
Datasette Apps: Host custom HTML applications inside Datasette
datasette-acl 0.6a0
Release: datasette-acl 0.6a0
This release expands
datasette-aclfrom table-only permissions toward a general resource-sharing system.
Alex Garcia did most of the work for this release - we're fleshing out the plugin that will allow multi-user Datasette instances finely grained control over who can access which resources within Datasette.
Tags: datasette, alex-garcia
GLM-5.2 is probably the most powerful text-only open weights LLM
Quoting Charity Majors
What happened in 2025 was this: the economics of code production were turned upside down. Instead of being very hard, time-consuming, and expensive to generate code, it became effectively free and instant. Lines of code went from being treasured, reused, cared for and carefully curated, to being disposable and regenerable, practically overnight.
— Charity Majors, AI demands more engineering discipline. Not less
Tags: charity-majors, ai-assisted-programming, generative-ai, ai, llms
datasette 1.0a34
Release: datasette 1.0a34
Quoting the release notes:
The big feature in this alpha is tools to insert, edit and delete rows within the Datasette interface. These features are available on table pages, and edit and delete are also available as action items on the row page.
The inspiration for this feature - which is long overdue - was Datasette Agent. I added SQL write support to that the other day which highlighted how absurd it was that you could insert and edit ties via the chat interface but not in the regular Datasette UI!
Tags: projects, datasette, annotated-release-notes
<click-to-play> — a still that plays
Tool: <click-to-play> — a still that plays
A progressive enchantment Web Component that turns this markup:
<click-to-play>
<a href="URL to GIF">
<img src="URL to first frame" alt="...">
</a>
</click-to-play>
Into a still frame with a click to play button which loads the GIF on demand. For when you don't want big GIFs to be loaded unless people want to play them.
Tags: gif, javascript, progressive-enhancement, web-components
NetNewsWire Status
The software is NetNewsWire, first released in 2002 and made open source in 2018. I've been using it on Mac and iPhone for several years now and I'm finding it indispensable.
Via Lobste.rs
Tags: brent-simmons, netnewswire, open-source
datasette-tailscale 0.1a0
Release: datasette-tailscale 0.1a0
A very experimental alpha plugin which lets you do this:
datasette tailscale mydata.db \
--ts-authkey tskey-auth-xxxx --ts-hostname datasette-preview
This starts a localhost Datasette server with a Tailscale sidecar that connects it to your Tailnet, such that http://datasette-preview/ serves Datasette.
It's using the Python bindings for the experimental tailscale-rs library. I filed an issue asking if there's a cleaner way of setting up the proxy mechanism.
Quoting Georgi Gerganov
I can 100% attest to the fact that Qwen3.6-27B is a very capable local model for coding tasks. Over the last month and a half I've been using it almost daily, either on my M2 Ultra or on my RTX 5090 box. I use it for small mundane tasks at ggml-org - nothing really impressive, but definitely a helpful tool for a maintainer. I think I would be using it much more, if I didn't have to spend a lot of my time on reviewing PRs. Currently, I have a very lightweight harness - the pi agent with everything stripped (
pi -nc --offline) and a short system prompt to align it a bit with my style.
— Georgi Gerganov, Hacker News comment on Running local models is good now by Boykis
Tags: georgi-gerganov, llms, ai, generative-ai, pi, ai-assisted-programming, local-llms, qwen, coding-agents
The Fable 5 Export Controls Harm US Cyber Defense
Quoting Matteo Wong, The Atlantic
Katie Moussouris, a cybersecurity expert and the CEO of Luta Security, told me that Anthropic shared with her a copy of the White House’s report on the Fable jailbreak to get her appraisal. (She said that she is not being paid by Anthropic.) The report, Moussouris said, involved IT experts asking Fable to help find and patch bugs. When given deliberately insecure code, she said, Fable refused the prompt “review the code for security issues” but then complied when asked to “fix this code,” followed by some further manual steps. Moussouris told me that this was just “the model working as intended” for cyberdefense.
— Matteo Wong, The Atlantic, The White House Is Ratcheting Up Its War Against Anthropic
Tags: anthropic, claude, ai, llms, ai-ethics, jailbreaking, generative-ai, ai-security-research, claude-mythos
Cloudflare CAPTCHA on at least one ampersand
datasette-agent 0.3a0
datasette-apps 0.1a3
Release: datasette-apps 0.1a3
- Fixed a bug where users without the
create-apppermission could still create apps. #27- Fixed a bug where it was impossible to grant permission to edit an app to users who were not the app's owner. The rules for edit/delete are now the same as view: if the app is private only the owner can modify it, otherwise permission is controlled by Datasette's regular permission system. #29
Tags: datasette
datasette-apps 0.1a2
Release: datasette-apps 0.1a2
- Custom network/CSP origins for apps are now guarded by a new
apps-set-csppermission, with an optionalallowed_csp_originsplugin allow-list for non-privileged users. The Datasette Agent app creation tool enforces the same rules. #24- Stored query picker now supports keyboard navigation and shows the three most recent accessible stored queries when focused.
#fragmentlinks inside apps are no longer intercepted by the external-link confirmation modal. #23- Fixed link confirmation modal and logging panels in
?full=1full-screen mode. #26
Tags: datasette
