absorb.md

Simon Willison

Chronological feed of everything captured from Simon Willison.

Coding Agents and Open Source Relicensing: The chardet Case

Coding agents are enabling a new form of "clean room" implementation, allowing for rapid code rewrites. This development creates legal and ethical ambiguities, particularly concerning relicensing open-source projects. The chardet library case exemplifies a scenario where an AI-assisted rewrite, despite claims of being a ground-up implementation, faces challenges regarding its license due to the maintainer's prior exposure to the original LGPL-licensed code and the potential for AI models to be trained on existing restricted codebases.

Key Qwen AI Team Members Depart Alibaba Amid Reorganization

Alibaba's Qwen open-source AI model team is experiencing significant upheaval, with lead researcher Junyang Lin and several other core contributors announcing their departures. This follows a company reorganization where a new researcher was reportedly placed in charge of Qwen. The departures raise concerns about the future of the highly-regarded Qwen model family, particularly given their recent release of exceptional Qwen 3.5 models across various sizes.

Present: A WebView-Based Presentation Tool

Present is a macOS SwiftUI application designed for presentations, utilizing WebViews to display each slide as a URL. This tool allows for dynamic presentations with features like live editing, reordering slides, and remote control capabilities via an embedded HTTP server. It supports various web content and image formats, and despite being a "vibe coded" demo, it offers robust functionalities for URL-driven presentations.

LLM-Assisted, Rapid macOS App Development for Niche Tools

The author successfully developed a custom macOS presentation app, "Present," with advanced features like remote control and automatic state saving, using LLM-assisted "vibe coding" in Swift and SwiftUI. This project demonstrates how experienced software engineers can leverage LLMs to quickly build specialized tools, even in unfamiliar languages, without deep IDE interaction, highlighting a shift towards agentic engineering patterns. The approach enabled rapid development of a functional solution addressing a specific workflow problem.

Agentic Engineering Patterns: A New Discipline for Software Development

Simon Willison introduces "Agentic Engineering Patterns" to document best practices for developing software with coding agents. This discipline focuses on professional software engineers leveraging tools like Claude Code and OpenAI Codex, which generate and execute code, to amplify their expertise and accelerate development. The initiative aims to provide structured guidance on effectively utilizing these autonomous coding agents.

Integrating Diverse Content Streams with AI Assistance

Simon Willison successfully integrated five distinct content streams into his blog ("beats") by leveraging AI, specifically Claude Code, for data extraction and UI integration. This approach highlights the efficacy of AI in automating complex, multi-source content aggregation, especially when the source and destination are controlled by the same entity, allowing for more brittle but efficient solutions.

Showboat Ecosystem Expands with Remote Publishing and Charting Tools

Simon Willison introduces two new tools enhancing the Showboat ecosystem: Chartroom and datasette-showboat. Chartroom simplifies chart generation for coding agents using matplotlib, enabling easy embedding in Showboat documents. Datasette-showboat provides a remote publishing mechanism, allowing real-time streaming of Showboat document fragments to a Datasette instance for immediate viewing and feedback during agent operations.

Chartroom: A CLI Tool for Data Visualization with Matplotlib

Chartroom is a command-line interface (CLI) tool that leverages Matplotlib to generate various chart types from diverse data sources including CSV, TSV, JSON, JSONL, and SQLite. It offers automatic alt-text generation for accessibility and supports customizable output formats and styling. This tool streamlines the data visualization workflow directly from the command line.

Deep Blue: AI-Induced Existential Dread in Software Engineering

The term "Deep Blue" describes the psychological phenomenon of ennui and existential dread experienced by software developers due to the growing capabilities of generative AI in their field. This sentiment arises from concerns that AI could diminish the value of their long-honed skills, despite the potential benefits of AI-assisted programming. The article highlights how naming this issue can facilitate discussion and acknowledges the parallel to similar anxieties faced by chess and Go players in the past.

OpenAI’s Mission Statement Changes Reflect Shifting Priorities

OpenAI’s mission statement, as documented in its annual IRS 501(c)(3) filings, has undergone significant revisions between 2016 and 2024. These changes illustrate a strategic evolution from a focus on open collaboration and broad societal benefit to a more concise commitment to ensuring artificial general intelligence benefits all of humanity, notably omitting earlier emphases on safety and the unconstrained pursuit of non-financial returns. The modifications suggest a shift in organizational priorities and possibly a response to its evolving operational model.

Distributing Go Binaries via Python Wheels

go-to-wheel is a tool that automates the cross-compilation of Go modules into platform-specific Python wheels. This enables the distribution of static Go binaries through PyPI, allowing users to install CLI tools via pip or pipx without requiring a Go environment.

Closing the Agent Verification Gap with Execution-Backed Demos

To mitigate the 'black box' nature of agent-led development, Simon Willison introduced Showboat and Rodney to force agents to provide empirical evidence of functional software. Showboat automates the creation of execution-backed demo documents, while Rodney extends this to browser-based interfaces via a CLI for the Rod library. This approach complements TDD by providing a visual and verifiable audit trail of a feature's behavior.

StrongDM AI Pioneers "Dark Factory" Software Development with Agent-Driven Engineering and Digital Twin Testing

StrongDM AI has implemented a "Dark Factory" approach to software development, where coding agents autonomously write and validate code without human review. This methodology leverages recent advancements in LLM capabilities, particularly around late 2025, enabling agents to reliably handle complex coding tasks. A core innovation is the use of "Digital Twin Universes" for scalable, scenario-based testing, validating agent-generated software against high-fidelity simulations of external services.

Pydantic's Monty: A Fast, Secure Python Subset for LLM Sandboxing in WebAssembly

Pydantic has developed Monty, a Python-like language subset implemented in Rust, designed for secure and low-latency execution of LLM-generated code. Monty offers strict sandboxing by controlling host environment access and external function calls, making it suitable for embedding in agents. This innovation allows for efficient code execution within WebAssembly environments, including direct browser deployment or integration with Pyodide for browser-based Python execution.

CIA World Factbook 2020 Data Preservation

The CIA World Factbook was taken offline in February 2026. A developer, Simon Willison, recovered the 2020 edition, which was the final version released as a downloadable archive, from the Internet Archive and made it available as a GitHub repository. This action preserves public domain data that would otherwise be inaccessible.

Leveraging PyPI for Go Binary Distribution and Python Integration

Go binaries can be distributed via PyPI, enabling seamless integration into Python projects as dependencies. This method circumvents typical Go binary distribution challenges, leveraging Python's packaging ecosystem for platform-specific binary delivery. The 'go-to-wheel' tool automates the creation of Python wheels for Go applications.

Moltbook: A Social Network for AI Agents Driven by OpenClaw

Moltbook is presented as a novel social network where AI agents, specifically those built on OpenClaw, can interact by sharing information and discussing topics. The platform leverages OpenClaw's "skills" plugin system for its functionality, allowing agents to automate tasks and communicate. This exposes a significant security risk, as skills can execute arbitrary code and the agents periodically fetch and follow instructions from the internet, raising concerns about supply chain attacks and the autonomous operation of AI.

Implementing Dynamic Features with Client-Side State on Aggressively Cached Static Sites

This article details how to add dynamic, user-specific functionality to a heavily cached Django-based static site. The core technique involves utilizing client-side JavaScript and `localStorage` to manage state and conditionally display elements, thus bypassing server-side rendering for dynamic content. This approach proves effective for features like personalized edit links and persistent random content navigation within tags, even when a CDN aggressively caches pages.

ChatGPT’s Code Interpreter Upgraded with Broader Language, Shell, and Download Capabilities

ChatGPT's integrated code interpreter has received a significant, undocumented upgrade. It now supports direct Bash command execution and code execution in multiple programming languages beyond Python, including Node.js, Ruby, Perl, PHP, Go, Java, Swift, Kotlin, C, and C++. Furthermore, it can install packages via pip and npm through a proxy and download files directly from URLs into its sandboxed environment, enhancing its utility for complex tasks.

Python Script for CBOR Test Vector Validation

This Python script provides a comprehensive framework for validating CBOR (Concise Binary Object Representation) test vectors. It includes utilities for parsing diagnostic notation into Python objects and a robust equality function to handle nuances of CBOR data types, including special floating-point values and tagged data. The script automates the validation process by comparing decoded CBOR with expected values and performing round-trip serialization checks.

Enhanced Gist Privacy Control in terminal-to-html

The `terminal-to-html` tool has been updated to include a privacy checkbox for Gist creation. This enhancement allows users to designate Gists as private by default, improving control over data visibility. The update involved modifications to the UI, Gist creation logic, and authentication display to ensure consistent functionality and user experience.

Claude Uses Prompt Engineering to Enhance UI with Performance Metrics

Claude successfully integrated performance metrics into a web application's UI by analyzing existing code, identifying modification points, and implementing changes to display request time, SQL execution time, and query count. This demonstrates Claude's ability to understand complex codebases and perform targeted UI enhancements based on implicit and explicit instructions.