2026-05-15

Engineering Reads — 2026-05-15#

The Big Idea#

The maturation of native web standards is eroding the necessity of heavyweight utility frameworks, allowing engineers to reclaim simplicity by lifting framework concepts directly into native implementations. Concurrently, open-source communities are being forced to enact strict moderation boundaries to protect engineering velocity from sprawling ideological debates.

Deep Reads#

Moving away from Tailwind, and learning to structure my CSS · jvns.ca Transitioning away from a framework like Tailwind doesn’t require abandoning its structural lessons; rather, engineers can extract its underlying systems—such as preflight resets, utility classes, and typographic scales—and implement them directly in semantic CSS. The author restructures their plain CSS into conceptual components with unique classes, effectively treating stylesheets like isolated Vue or React components to prevent global cascading failures and keep cognitive overhead low. Instead of relying on Tailwind’s predefined media query utilities (e.g., md:text-xl), the native architecture heavily leverages modern CSS Grid features like auto-fit and minmax() to construct fluid, responsive layouts without arbitrary breakpoints. The primary tradeoff of dropping the framework is losing its built-in guardrails and relying entirely on personal discipline, though combining native CSS @import and nesting capabilities with a minimal esbuild pipeline helps maintain project sanity. Full-stack developers and frontend engineers should read this to understand how modern CSS standards have caught up to utility frameworks, offering the flexibility to write complex layouts that strict utilities fundamentally restrict.

2026-05-15

Simon Willison — 2026-05-15#

Highlight#

Simon’s latest AI-assisted project is a lightweight QR code generator built entirely with the help of Claude. It perfectly highlights his ongoing exploration of “vibe-coding” to quickly spin up practical, small-scoped utilities for everyday tasks.

Posts#

[QR code generator] · Source Simon used Claude to write a custom tool for instantly generating QR codes. The utility gracefully handles standard text and URL inputs, and also features a dedicated mode for generating QR codes that connect mobile devices to WiFi networks. It serves as another practical demonstration of using generative AI to rapidly build, iterate, and ship helpful little tools.

2026-05-16

Engineering Reads — 2026-05-16#

The Big Idea#

The defining challenge of modern engineering is resource management at the extremes—whether that means reclaiming CI/CD compute cycles from vendor lock-in via lower-level orchestration, or driving down the inference costs of long-context LLMs through architectural optimization.

Deep Reads#

Slowly going mad with power using Tekton · xeiaso.net · Source The author outlines a strategic migration away from GitHub Actions to mitigate platform lock-in, replacing it with Tekton, a Kubernetes-native CI/CD operator. Instead of relying on a managed platform’s implicit state and runner lifecycles, Tekton forces you to model CI as a series of lower-level Kubernetes primitives: Tasks, TaskRuns, Pipelines, and PipelineRuns. This requires explicitly managing the grimy details of distributed builds, such as configuring Persistent Volume Claims (PVCs) for repository clones and shared Go module caches. The explicit tradeoff here is operational overhead—like debugging vague VCS errors or manually configuring Kaniko forks for Docker builds—in exchange for leveraging idle homelab compute and achieving absolute vendor neutrality. Engineers looking to future-proof their deployment pipelines against platform decay should read this to understand the true operational cost of infrastructure independence.

2026-05-16

Simon Willison — 2026-05-16#

Highlight#

The standout update today is the release of datasette-llm-limits 0.1a0, which introduces a practical way to manage LLM API costs directly within Datasette. It’s a highly useful piece of infrastructure for anyone building and exposing AI tools, solving the very real problem of managing usage limits for local or hosted LLM integrations.

Posts#

[datasette-llm-limits 0.1a0](https://simonwillison.net/2026/May/15/datasette-llm-limits/#atom-everything) Simon released an alpha version of datasette-llm-limits, a new plugin that works alongside the datasette-llm and datasette-llm-accountant packages. It allows administrators to configure per-user or global spending limits for LLM usage inside of Datasette. This is a crucial addition for safely scaling AI-assisted database workflows by keeping API usage costs strictly under control.

2026-05-17

Simon Willison — 2026-05-17#

Highlight#

The NHS recently decided to close its open-source repositories in response to AI-discovered vulnerabilities, but the UK Government Digital Service (GDS) is publicly pushing back. Simon highlights this rare public clash between UK civil service branches over the critical issue of AI security and open-source by-default policies.

Posts#

GDS weighs in on the NHS’s decision to retreat from Open Source · Source Simon points to Terence Eden’s continued coverage of the NHS’s poorly considered decision to lock down access to open-source repositories following vulnerabilities flagged by Project Glasswing. The UK Government Digital Service (GDS) has stepped in with a new publication on AI and open code, strongly recommending that public sector code remain “open by default” because closing everything adds delivery costs and reduces both code reuse and scrutiny. Terence Eden observes that this public disagreement—described as a frosty “meeting without biscuits”—represents a major escalation within the civil service over how to handle open-source security in the age of AI.

2026-05-18

Engineering Reads — 2026-05-18#

The Big Idea#

The limits of engineering capability—whether writing new software with AI or comprehending legacy systems—are ultimately dictated by the quality and tightness of our feedback loops. The tools we build to verify correctness or surface the context of past decisions will become far more critical than the raw generation of code or text.

Deep Reads#

[What’s Easy Now? What’s Hard Now?] · Marc Brooker · Source Coding agents will eventually excel at deeply technical systems programming while struggling with UI/UX, directly inverting current conventional wisdom. Brooker argues that AI agents are fundamentally feedback loops wrapped around open-loop LLMs. Tasks with rigorous automated feedback—like writing a database storage engine verified by Rust, TLA+, or property-based tests—can be solved entirely by an agent iterating without human intervention. Conversely, front-end development relies on slow, inconsistent human feedback, making it a inherently difficult problem for autonomous agents. Engineering leaders and systems programmers should read this to understand why mastering formal specification tools will be their highest-leverage skill in an AI-assisted future.

2026-05-18

Simon Willison — 2026-05-18#

Highlight#

Today’s update takes a brief step away from developer tooling as Simon shares some bird sightings from a morning walk along the Los Angeles River as he wraps up his time at PyCon US.

Posts#

[Glaucous-winged Gull, Brown Pelican, Snowy Egret, Canada Goose] · Source In a brief personal update, Simon recounts his final morning walk before traveling home from PyCon US. He explored the Los Angeles River specifically hoping to spot a pelican, which he successfully found, alongside other birds including a Glaucous-winged Gull, a Snowy Egret, and some Canada Goose goslings near the swan boat lake.

2026-05-19

Engineering Reads — 2026-05-19#

The Big Idea#

As AI coding agents transition from novelties to practical tools, engineering effort is shifting toward building reliable harnesses around them—whether through static analysis “sensors” to catch bad code early, or token-efficient, collision-resistant edit tools for constrained local models.

Deep Reads#

Maintainability sensors for coding agents · Birgitta Böckeler · Source Birgitta Böckeler introduces a mental model for “harness engineering” around coding agents, designed to intercept issues before they ever reach human reviewers. The core mechanism relies on a system of “guides and sensors” that increase the probability of correct agent behavior and enable automatic self-correction. In this installment, she explores using basic static analysis and code linting as the primary sensors to protect codebase maintainability. The approach shifts the burden of verifying agent output from manual human oversight to automated programmatic checks. Engineers building wrappers around LLM coding assistants should read this to understand how to design robust, automated feedback loops for AI systems.

2026-05-19

Simon Willison — 2026-05-19#

Highlight#

Simon’s annotated PyCon US 2026 lightning talk provides a sharp, insightful retrospective on the “November 2025 inflection point,” identifying exactly when coding agents became reliable daily drivers and laptop-grade local models started wildly overperforming. It is a quintessential Willison post that perfectly frames the recent tectonic shifts in AI developer tooling.

Posts#

[The last six months in LLMs in five minutes] · Source Simon shares his annotated slides from a PyCon US 2026 lightning talk summarizing the past six months of LLM developments. He zeroes in on two main themes: coding agents crossing the threshold from “often-work” to “mostly-work” driven by Reinforcement Learning from Verifiable Rewards, and the astonishing capability of local models like the 20.9GB Qwen3.6-35B-A3B and Gemma 4. The post also tracks the recent surge of “Claws” (personal AI assistants running locally on Mac Minis) and features his ongoing “pelican riding a bicycle” SVG visual benchmark to compare models.

2026-05-20

Engineering Reads — 2026-05-20#

The Big Idea#

The boundaries of software engineering are being tested by the limits of strict specification: agentic coding tools fail when we cannot mathematically define our intent, while memory-unsafe languages continue to fail because we expect human discipline to substitute for structural guarantees.

Deep Reads#

Three more static code analysis sensors · Birgitta Böckeler · Source Birgitta Böckeler explores the effectiveness of using computational versus inferential sensors to evaluate software modularity. She observes that while traditional computational sensors are adequate for enforcing strict, rule-based dependency checks, they fall short when analyzing complex coupling data. Instead, utilizing an inferential sensor—essentially prompting an LLM to evaluate architectural boundaries—proves much more effective for nuanced reviews of system modularity. This highlights a compelling tradeoff: strict deterministic checks are brittle for high-level architectural constraints, whereas probabilistic inference can better grasp design intent. Engineers building or integrating AI coding agents should read this to understand where deterministic rules end and inferential checks must begin.