Simon Willison

There's No Limit to How Bad Code Can Get

Simon Willison discusses the pitfalls of attempting to replace a legacy system with a new one when technical debt is overwhelming. He explains that while the old system continues to evolve, developers lack incentive to improve it, and the new team, initially fast, eventually struggles to understand and deliver the required functionality. The result is often two partially functional systems in production, with the new one abandoned and the old one still running, increasing risk and complexity.

Simon Willison
Sep 11

Feeling sad about AI

Simon Willison reflects on the emotional impact of AI tools that can produce code quickly, noting that many developers experience an initial sense of disheartenment. He argues that recognizing the shift from coding to higher‑level problem solving allows experienced engineers to leverage new tools and add greater value. Willison emphasizes that software engineering has always faced rapid change, so adapting to AI is part of the profession’s ongoing evolution.

Simon Willison
Sep 14

What blog posts influenced your thinking the most?

Simon Willison reflects on three blog posts that shaped his professional outlook: Joel Spolsky’s *The Law of Leaky Abstractions*, Will Larson’s 2018 article *Migrations: the sole scalable fix to tech debt*, and Charity Majors’ *The Engineer/Manager Pendulum*. Each piece offered a distinct lesson—recognizing hidden complexities in abstractions, embracing migrations as a core engineering skill, and validating the fluid movement between engineering and management roles. These insights collectively encouraged Willison to deepen his technical understanding, prioritize migration work, and feel empowered to shift career tracks without fear.

arXiv AI
Sep 24

Bounded Loops: Pre-Run Spend Bounds, Proved Termination, and Verified Completion for Agent Harnesses

The paper introduces a formal framework for agent harnesses that guarantees termination, prevents drift, and enforces spend limits through bounded loops, gates, and repair relations. It proves that these guarantees hold even with repair budgets and demonstrates the effectiveness of the system by identifying vacuous gates and achieving low false‑accept rates in a 69‑loop catalogue. The authors provide an instrumented implementation and a held‑out mutant corpus to validate gate correctness.

By Varun Pratap Bhardwaj, Garima Singh, Arun Pratap Bhardwaj
Simon Willison
Oct 11

Dwarf Fortress uses version control now

The article recounts that Dwarf Fortress, once famously not using version control, has now adopted it. It cites quotes from Tarn Adams spanning 2013 to 2023, showing a shift from resistance to acceptance of version control as the project evolved. The change is noted in the context of the game's Steam release and subsequent success.

Simon Willison
Aug 9

GitHub Models is now retired

GitHub Models is now retired I missed this news until today, when the GitHub Actions run for my simonw/research repository failed with this error message: GitHub Models is temporarily unavailable as part of a scheduled retirement brownout. That message is already stale, because the retirement has been completed.

Simon Willison
Aug 28

Just a rumour of a bug is enough to find a security exploit these days

The article reports that rumors of bugs in open‑source projects now trigger rapid security exploits, with automated agents probing for vulnerabilities within minutes of a patch being discussed. Anil Madhavapeddy demonstrates how modern coding agents can exploit even minimal hints, and rclone maintainer Nick Craig‑Wood notes a dramatic spike in security disclosures and delayed CVE assignments. The post highlights the need for new processes to protect open‑source communities from swift exploitation.

arXiv AI
Oct 28

kw-bench: Breaking Frontier Harnesses on Real-World Tasks

The paper introduces kw-bench, a benchmark that evaluates coding-agent harnesses on investigative knowledge work, specifically a five‑year VAT reconstruction task across multiple SAP systems. It contrasts generative benchmarks with this real‑world, evidence‑heavy task, showing that model‑agnostic harnesses performed well while lab harnesses failed. The study demonstrates how frontier models can dramatically reduce time and cost for complex audit‑style engagements.

By George Juraj Salapa
arXiv AI
4d ago

Superintelligent Software Engineering: Governance That Scales with Capability

The paper defines superintelligent software engineering as building and evolving software with agents whose capability exceeds that of human engineers, emphasizing that governance must scale with capability. It argues that correctness depends on decisions and contracts beyond code, that knowledge decays, and that when agents outpace reviewers, stale knowledge grows. The authors introduce OSTEON, a governance framework that tracks decisions, contracts, and knowledge decay, and report no measured effect of the system while outlining questions that could falsify their thesis.

By Mohammad Mehdi Gholinejad
Simon Willison
Oct 7

Anti-Patterns in Software Blogging

The article "Anti-Patterns in Software Blogging" highlights common pitfalls in technical writing, such as meandering introductions, overestimating readers’ prior knowledge, and overusing links to avoid explanations. It emphasizes the importance of a clear, conversational voice and warns against the blandness that can arise when developers rely too heavily on AI-generated content. The piece urges bloggers to write in a natural, engaging style to better connect with their audience.