2026-05-08

Simon Willison — 2026-05-08#

Highlight#

Simon re-evaluates his long-standing habit of asking LLMs for Markdown output, sparked by Anthropic’s Thariq Shihipar advocating for the rich capabilities of HTML. He tests this out practically by using his llm CLI to generate an interactive HTML explanation of a newly discovered Linux security exploit.

Posts#

[Using Claude Code: The Unreasonable Effectiveness of HTML] · Source Simon reflects on a piece by Thariq Shihipar (from Anthropic’s Claude Code team) that argues for requesting HTML instead of Markdown from Claude. While Markdown’s token-efficiency was a strict necessity during the 8,192-token GPT-4 days, modern LLMs can leverage HTML to output SVG diagrams, interactive widgets, and rich in-page navigation. Simon tests this technique by piping an obfuscated Python exploit from copy.fail into gpt-5.5 via his llm CLI tool, successfully prompting the model to generate a fully styled, interactive HTML explanation of the code.

2026-05-10

Simon Willison — 2026-05-10#

Highlight#

Simon highlights a stark example of AI hallucination making its way into mainstream journalism, serving as a critical warning for anyone relying on LLMs for factual summarization.

Posts#

Quoting New York Times Editors’ Note · Source Simon shares a sobering editors’ note from the New York Times illustrating the dangers of unchecked generative AI in the newsroom. A reporter mistakenly attributed an AI-generated summary of Canadian Conservative leader Pierre Poilievre’s views as a direct, verbatim quote. The hallucinated text falsely claimed he called politicians who changed allegiances “turncoats,” underscoring exactly why LLM outputs must be rigorously verified against primary sources rather than trusted blindly.

2026-05-11

Engineering Reads — 2026-05-11#

The Big Idea#

The most critical insight today is a warning about the tension between chasing investor-driven AI narratives and focusing on core engineering fundamentals like platform stability. Sacrificing reliable infrastructure and clear technical migration paths in favor of buzzword-driven initiatives risks turning solid engineering platforms into fragile feature factories.

Deep Reads#

I’m really frustrated that GitLab is doing layoffs · Xe Iaso · xeiaso.net Xe Iaso offers a sharp critique of GitLab’s recent layoffs, arguing that the company missed a massive strategic window to capitalize on GitHub’s ongoing reliability issues. The author points out a highly pragmatic technical alternative: instead of pivoting to AI to appease investors, GitLab could have focused on system stability and built direct migration tooling to port existing GitHub Actions over to their ecosystem. Iaso also challenges GitLab’s newly stated mandate of achieving “Speed with Quality,” correctly identifying this as a classic engineering tradeoff where a system must usually optimize for one over the other. The specific fear here is that ignoring this tradeoff will degrade the product, turning the organization into a “feature factory” rather than a reliable platform. Engineering leaders and infrastructure engineers should read this as a stark reminder that solid fundamentals, operational stability, and solving immediate user friction often present better strategic opportunities than chasing the current hype cycle.

2026-05-11

Simon Willison — 2026-05-11#

Highlight#

Today’s dispatches heavily focus on the macro consequences of the “agentic era” on the software industry, exploring everything from how coding agents are forcing massive corporate restructurings at GitLab to the stark mathematical reality of AI-generated codebase maintenance debt.

Posts#

GitLab Act 2 · Source Simon unpacks GitLab’s recent workforce reduction and structural flattening, which reorganizes their R&D into roughly 60 independent, empowered teams tailored for the agentic era. He highlights GitLab’s Jevons-paradox-inspired outlook: as AI agents collapse the cost and time of producing software, the overall market demand for software—and the builders who make it—will radically multiply. However, Simon pragmatically notes that GitLab has a strong financial incentive to project this optimism, given a recent 50% drop in their stock price and a business model heavily reliant on growing seat-based licenses.

2026-05-12

Engineering Reads — 2026-05-12#

The Big Idea#

The defining characteristic of successful software isn’t just the syntax—it’s how the code rigorously models the human domain and how the architecture maps to the social incentives of its contributors. As we automate the mechanical aspects of programming, our primary engineering constraints shift toward capturing precise conceptual models and aligning system boundaries with organizational psychology.

Deep Reads#

What is Code · Unmesh Joshi · Source With LLMs increasingly generating our boilerplate, we are forced to re-evaluate what source code actually does. Joshi argues that code serves an intertwined dual purpose: it is both an execution instruction for a machine and a rigorous conceptual model of the problem domain. Programming languages act as vital thinking tools that shape how we reason about systems, not just as syntax to be emitted. As agentic coding tools become mainstream, building a precise domain vocabulary remains the critical bottleneck for communicating intent. Practitioners relying heavily on LLMs should read this to understand why deep domain modeling will outlive manual syntax generation.

2026-05-12

Simon Willison — 2026-05-12#

Highlight#

The standout update today is the alpha release of llm 0.32a2, which adapts to OpenAI’s new endpoints to expose interleaved reasoning across tool calls for GPT-5 class models. It’s a great example of Simon quickly evolving his CLI tools to make the latest LLM reasoning capabilities highly visible and practical for developers.

Posts#

llm 0.32a2 · Source Simon dropped a crucial update to his llm CLI to support the latest reasoning-capable OpenAI models (like the GPT-5 class), which now use a different endpoint rather than /v1/chat/completions. This shift enables interleaved reasoning across tool calls, and the CLI now natively displays these summarized reasoning tokens in a distinct color directly in the terminal. For those who prefer a cleaner output, you can easily suppress the reasoning steps using the new -R or --hide-reasoning flags.

2026-05-13

Engineering Reads — 2026-05-13#

The Big Idea#

Developer productivity relies heavily on frictionless workspace utilities, but the lifecycle of these tools often includes rocky transitions through corporate acquisition and telemetry integration. The core lesson is that developers will forgive missteps—such as aggressive analytics tracking—if the maintainers rapidly reverse course, increase transparency, and deliver tangible workflow improvements.

Deep Reads#

A Bartender Pro Review · Brett Terpstra · Source Terpstra evaluates the macOS menu bar utility Bartender following its controversial acquisition and subsequent telemetry missteps. The core takeaway is that the utility has recovered user trust by transparently stripping out the Amplitude analytics software that initially triggered certificate permission alarms. Mechanically, the latest major version addresses the physical screen real estate constraints of modern MacBook hardware notches by introducing categorical “groups” to manage hidden background daemons and utilities. For developers, the software has expanded beyond simple visual management; a new “Top Shelf” popover overlay acts as a workspace hub integrating a clipboard manager, file staging for Airdrop, and specific notification hooks for AI coding tools like Claude Code and Codex. Terpstra also highlights a pragmatic software business tradeoff: maintaining a one-time purchase tier for foundational menu management while reserving the “Pro” widgets for a subscription model to fund ongoing development. Mac-based engineers wrestling with tool sprawl and constrained display space should evaluate whether these workflow additions justify adding another privileged background daemon to their systems.

2026-05-13

Simon Willison — 2026-05-13#

Highlight#

Simon’s standout experiment today demonstrates a clever UX workaround for sandboxed iframes, intercepting Content Security Policy (CSP) errors and passing them to the parent window for user approval. It is a great example of his hands-on AI-assisted programming, notably built using GPT-5.5 xhigh in the Codex desktop app.

Posts#

[CSP Allow-list Experiment] · Source This technical experiment explores how to load an app within a CSP-protected sandboxed iframe while maintaining a smooth user experience. Simon implemented a custom fetch() that catches CSP errors and passes them up to the parent window. The parent window can then prompt the user to add the blocked domain to an allow-list before refreshing the page. He built the tool using GPT-5.5 xhigh via the Codex desktop app.

2026-05-14

Engineering Reads — 2026-05-14#

The Big Idea#

The integration of AI into software engineering requires a deliberate architecture of boundaries—treating LLMs as predictable functions rather than autonomous agents, preserving human review for skill growth, and aggressively isolating non-determinism across our systems.

Deep Reads#

Bliki: Interrogatory LLM · Martin Fowler Fowler proposes using LLMs to reverse the standard prompting dynamic: instead of feeding the model context, prompt the LLM to interview a human expert one question at a time to build context. This approach can generate comprehensive design documents or verify existing complex specifications by extracting information from stakeholders who find writing difficult. The resulting text may bear the distinct cadence of AI generation, but capturing the raw domain knowledge outweighs stylistic drawbacks. This is a pragmatic read for technical leads and product managers struggling to pull coherent specifications out of stakeholders’ heads.

2026-05-14

Simon Willison — 2026-05-14#

Highlight#

The single most interesting theme today is the changing paradigm of programming languages from being a permanent “lock-in” to fungible, replaceable assets, driven by AI coding agents. Simon highlights this shift through Mitchell Hashimoto’s commentary on Bun’s recent language rewrite and a real-world anecdote of agent-assisted mobile app migration.

Posts#

[Not so locked in any more] · Source Expanding on thoughts about modern software architecture, Simon shares an anecdote from a recent conference about a tech company that used coding agents to rewrite their legacy iPhone and Android apps into React Native. The development team wasn’t overly concerned about committing to React Native, reasoning that if it turned out to be the wrong choice, the lowered cost of agent-driven development means they could just port it back to native code later. This underscores a major industry shift where programming language choices are increasingly no longer the permanent lock-in they once were.