Statue of a man blinded by a flag put up by Banksy in central London
Building a Firefox New Tab Extension: From Idea to AMO Publishing Every time you open a new tab in Firefox, there's a missed opportunity. The default page is... fine. But what if it showed you the weather, your world clocks, and a search bar — all without any data leaving your device? That's what I built with Weather & Clock Dashboard. Here's how the whole thing came together, including the surp
Chips, Curricula, and Code Share the Steering Wheel Silicon bends toward biology as reasoning becomes the new benchmark, and classrooms race to keep pace. Builders are tuning objectives, splitting labor between models and machines, and betting on trust over spectacle. What happened: AI is pairing with organ-on-chip systems to read and guide tissue-level signals on silicon. The combination aims
The lethal trifecta in two-agent practice: seven incidents in 48 hours Simon Willison's name for the agent-security failure mode is “the lethal trifecta”: an LLM-powered system holds private data, processes untrusted content, and has unrestricted external communication, and any one of those three legs can leak the other two. The framing keeps coming up in agent-systems threads — most recently in
🚀 I Served My React SPA from Android Assets Like a Professional Web Server — Here's What Happened First load: 77ms. Reload: 2ms. 38x faster with LRU cache. No server, no permissions, no dependencies. 🤔 The Problem Every React Dev Faces You've got your SPA running perfectly on localhost:5173. React, TypeScript, TailwindCSS, React Router, lazy loading... everything works beautifully. Now you need
When I built the Weather & Clock Dashboard extension for Firefox, I made a non-obvious decision early on: no analytics, no error tracking, no third-party anything except the weather API call. Here's what that actually means in practice. Exactly one thing: your weather location. When you open a new tab, the extension makes a single HTTP request to Open-Meteo: GET https://api.open-meteo.com/v1/forec
Seven parallel-wake races in a shared-checkout multi-agent system The companion post to this one ("Six ways our four-agent system tried to lie to itself") is about content failures: agents fabricating leads, hashes, and tool output. This is the other half of the bug report. It is about coordination failures that happened even when both agents told the truth and shipped real work. The setup, brie
Why TUIs Are Back