Flux
Couleur d'accent
CORS Chat

CORS Chat

Tool: CORS Chat I built this today (with GPT-5.6-Sol xhigh) to help test Qwen 3.8 27B running in LM Studio on both my M5 MacBook Pro and an NVIDIA DGX Spark. It provides a web UI for exercising an OpenAI-Responses-compatible chat endpoint. I've tried it against LM Studio with the --cors option and OpenRouter, and both work fine. Conversations are persisted in the browser and can be exported as copy-pasted JSON. One fun detail is that it notices SVG images that are being generated and…

Simon Willison's Weblog
I Made My AI Agent Fix Its Own Copy-Paste (jscpd + Mago)

I Made My AI Agent Fix Its Own Copy-Paste (jscpd + Mago)

Video version: https://youtu.be/ubhVleOpLQ0 It’s so easy to ask an AI agent to build a feature, and have it hand you 5,000 lines of code. It might even feel like a win until you start reading it so see the same validation block in four controllers, the same database-fetch boilerplate in six models, and that efvery […] The post I Made My AI Agent Fix Its Own Copy-Paste (jscpd + Mago) appeared first on PHP Architect.

PHP Architect
Northern Gannet

Northern Gannet

Northern Gannet, in Pillar Point Harbor, CA, USThis is Morris. Morris is a local celebrity: the only known Northern Gannet (Morus bassanus) in the entire Pacific Ocean. He showed up in the Farallon Islands off the coast of San Francisco 14 years ago. He has since made Pillar Point harbor his home, where he's quite easy to spot: the only white bird with a yellow head, usually hanging out with the smaller black Brandt’s cormorants near the harbor sign visible from the end of the commercial pier.…

Simon Willison's Weblog
Don't classify. Hallucinate!

Don't classify. Hallucinate!

Don't classify. Hallucinate! I still have quite a bit of older content on my blog that I never got round to tagging. My blog has 1,856 tags - likely too many to feed to an LLM in one go and say "which of these tags match the following content". Doug Turnbull has a neat solution. Tell the model to output tags without any details of the existing vocabulary, then use vector embeddings against the existing corpus to find the concrete tags that are closest to the ones the model imagined might…

Simon Willison's Weblog
The Intent Debt

The Intent Debt

The following article originally appeared on Addy Osmani’s blog site and is being republished here with the author’s permission. Technical debt lives in your code. Cognitive debt lives in your head. Intent debt lives in the artifacts you may never have written: the goals, constraints, and rationale for why the system is the way it […]

O'Reilly Radar — AI/ML
sqlite-utils 4.2.1

sqlite-utils 4.2.1

Release: sqlite-utils 4.2.1 Fixes a crashing bug in sqlite-utils 4.2. I'd introduced code that looks like this: from typing_extensions import Self It turned out the typing-extensions package was not listed as a dependency for sqlite-utils - it was installed by one of the other dependencies in the dev dependency group, but when you uvx sqlite-utils directly you don't get those dependencies. As part of fixing this I figured out how to run a smoke test to ensure the CLI tool still works even…

Simon Willison's Weblog
The PHP Podcast 2026.08.13

The PHP Podcast 2026.08.13

🎙️ PHP Podcast – August 13, 2026 Hosts: Eric Van Johnson & John Congdon Eric and John reunite after weeks apart to talk Laracon in Boston, more diverse voices coming to this time slot, CPX finally giving PHP an npx, a stripped-down PHPStorm Light, and PHP Tek’s extended CFP. 🔀 Stepping Back to Make Room […] The post The PHP Podcast 2026.08.13 appeared first on PHP Architect.

PHP Architect
sqlite-utils 4.2

sqlite-utils 4.2

Release: sqlite-utils 4.2 Lots of improvements in this one relating to the table.transform() feature, which adds support for complex alter table operations by creating a fresh table, copying across the data and then dropping and replacing the old one. transform() now preserves a much larger array of edge-case schema definitions, including check constraints, unique constraints and even comments describing the columns. There are also new introspection properties for check constraints, and a whole…

Simon Willison's Weblog
llm-gemini 0.33

llm-gemini 0.33

Release: llm-gemini 0.33 It's been a while since the last llm-gemini release. This version of the plugin adds support for today's Gemini 3.7 Flash release, plus gemini-3.6-flash, gemini-3.5-flash-lite and two embedding models gemini-embedding-2 and gemini-embedding-001. The plugin is also upgraded for compatibility with LLM 0.32, which means you can now see reasoning traces and you can also enable server-side tools using this pattern: llm -m gemini-3.7-flash -T CodeExecution \ 'use python to…

Simon Willison's Weblog
White House Authorizes Private Companies to Conduct Offensive Cyber Operations

White House Authorizes Private Companies to Conduct Offensive Cyber Operations

The White House is creating a program that will allow vetted U.S. companies to conduct offensive cyber operations against foreign cybercrime groups under federal direction. The presidential memorandum creates a formal path for private companies to perform work usually associated with government cyber operators. Participating firms could covertly access criminal systems, collect intelligence, disrupt networks, manipulate infrastructure, or destroy data after receiving approval from the…

Socket
Esc