Latest entries
-
Looking back at Catacomb 3D, the game that led to Wolfenstein 3D
Romero, Carmack, and colleagues discuss an oft-forgotten piece of PC gaming history
Ars Technica — Published
-
Streaming service Crunchyroll raises prices weeks after killing its free tier
Sony has made streaming anime pricier since buying Crunchyroll.
Ars Technica — Published
-
SpaceX acquires xAI, plans to launch a massive satellite constellation to power it
"This marks not just the next chapter, but the next book in SpaceX and xAI's mission."
Ars Technica — Published
-
Russian drones use Starlink, but Ukraine has plan to block their Internet access
Defense chief: "No Ukrainians have been killed by Russian drones using Starlink."
Ars Technica — Published
-
Court orders restart of all US offshore wind construction
Trump admin's "it's classified" ploy put on hold in five different cases.
Ars Technica — Published
-
Notepad++ users take note: It's time to check if you're hacked
Suspected China-state hackers used update infrastructure to deliver backdoored version.
Ars Technica — Published
-
A century of hair samples proves leaded gas ban worked
“We should not forget the lessons of history. And the lesson is those regulations have been very important.”
Ars Technica — Published
-
Introducing the Codex app
Introducing the Codex app OpenAI just released a new macOS app for their Codex coding agent. I've had a few days of preview access - it's a solid app that provides a nice UI over the capabilities of the Codex CLI agent and adds some interesting new features, most notably first-class support for Skills…
Simon Willison — Published
-
Ongoing RAM crisis prompts Raspberry Pi's second price hike in two months
The more RAM the Pi board has, the more its price is increasing.
Ars Technica — Published
-
Judge rules Department of Energy's climate working group was illegal
Meant to undercut EPA regulations, the group tried to work in secret.
Ars Technica — Published
-
DOJ released Epstein files with dozens of nudes and victims' names, reports say
DOJ reportedly failed to redact nearly 40 nude photos and 43 victims' names.
Ars Technica — Published
-
Intel Panther Lake Core Ultra review: Intel's best laptop CPU in a very long time
Intel manages big boosts to CPU and GPU speed without blowing up battery life.
Ars Technica — Published
-
Guinea worm on track to be 2nd eradicated human disease; only 10 cases in 2025
When the eradication program began in 1986, there were a 3.5 million cases.
Ars Technica — Published
-
OpenAI picks up pace against Claude Code with new Codex desktop app
The macOS app does everything the CLI, IDE, and web interfaces do.
Ars Technica — Published
-
Why Civilization VII is the way it is, and how its devs plan to win critics back
Firaxis' Ed Beach and Dennis Shirk talk major overhauls in "Test of Time" update.
Ars Technica — Published
-
A Social Network for A.I. Bots Only. No Humans Allowed.
A Social Network for A.I. Bots Only. No Humans Allowed. I talked to Cade Metz for this New York Times piece on OpenClaw and Moltbook. Cade reached out after seeing my blog post about that from the other day. In a first for me, they decided to send a photographer, Jason Henry, to my home to take some…
Simon Willison — Published
-
Here's what Cities: Skylines 2’s new developer is updating first
Visual upgrades include new UI, realistic snow cover, better lighting.
Ars Technica — Published
-
Please Don’t Feed the Scattered Lapsus ShinyHunters
A prolific data ransom gang that calls itself Scattered Lapsus ShinyHunters (SLSH) has a distinctive playbook when it seeks to extort payment from victim firms: Harassing, threatening and even swatting executives and their families, all while notifying journalists and regulators… Read More »
Brian Krebs — Published
-
Narwhals become quieter as the Arctic Ocean grows louder
Increasing shipping traffic is interfering with the whales’ ability to hunt and communicate.
Ars Technica — Published
-
NASA gears up for one more key test before launching Artemis II to the Moon
A good test would clear the way for launch of Artemis II as soon as next Sunday, February 8.
Ars Technica — Published
-
The European Space Agency got hacked, and now we own the domain used!
It's not often that two of my interests align so well, but we're talking about space rockets and cyber security! Whilst Magecart and Magecart-style attacks might not be the most common attack vector at the moment, they are still happening with worrying frequency, and they are
Scott Helme — Published
-
Untitled
Gone skiing.
Paul Robert Lloyd — Published
-
JS Bin down in 2026 [blog]
January 27th I got an email notification saying that JS Bin had become unavailable. Then next day real life human beings were asking what's going on. By 11pm on the 30th the last of the issues were resolved. Earlier today Jake asked me: what went wrong? Fucking, everything.
Remy Sharp — Published
-
Interpretation of “You stopped evoking love” by Pyx Lax
Translation of---and philosophical commentary on---a Greek song whose translated title is 'You stopped evoking love'.
Protesilaos Stavrou — Published
-
TIL: Running OpenClaw in Docker
TIL: Running OpenClaw in Docker I've been running OpenClaw using Docker on my Mac. Here are the first in my ongoing notes on how I set that up and the commands I'm using to administer it. Use their Docker Compose configuration Answering all of those questions Running administrative commands Setting up…
Simon Willison — Published
-
The Browser’s Little White Lies
So I’m making a thing and I want it to be styled different if the link’s been visited. Rather than build something myself in JavaScript, I figure I’ll just hook into the browser’s mechanism for tracking if a link’s been visited (a sensible approach, if I do say so myself). Why write JavaScript when a…
Jim Nielsen — Published
-
15 years of blogging
My first blog post was published just under 15 years ago in March of 2011. Since then, I’ve published 151 posts, including this one. (If I was a numerologist, I’d think it had something to do with Pokémon.) This blog has covered a wide variety of topics, including Pokémon in fact (I wrote the first …
Nolan Lawson — Published
-
It’s hard to justify Tahoe icons
Looking at the first principles of icon design—and how Apple failed to apply all of them in macOS Tahoe
Nikita Prokopov — Published — Updated
-
Statistics made simple
Announcing a simple statistics library for Clojure web servers
Nikita Prokopov — Published — Updated
-
How to get hired in 2025
A collection of red flags in software engineers' test assignments
Nikita Prokopov — Published — Updated
-
Needy programs
We used to use software; now software started to use us
Nikita Prokopov — Published — Updated
-
I am sorry, but everyone is getting syntax highlighting wrong
Applying human ergonomics and design principles to syntax highlighting
Nikita Prokopov — Published — Updated
-
At NIH, a power struggle over institute directorships deepens
The research agency has 27 institute and center directors. Will those roles become politicized?
Ars Technica — Published
-
Fungus could be the insecticide of the future
Plant chemicals made more potent by insect pests are detoxified by the fungus.
Ars Technica — Published
-
Interpretation of “I am not another” by Christos Thivaios
Translation of---and philosophical commentary on---a Greek song whose translated title is 'I am not another'.
Protesilaos Stavrou — Published
-
Research roundup: 6 cool stories we almost missed
A lip-syncing robot, Leonardo's DNA, and new evidence that humans, not glaciers, moved stones to Stonehenge.
Ars Technica — Published
-
Quoting Andrej Karpathy
Originally in 2019, GPT-2 was trained by OpenAI on 32 TPU v3 chips for 168 hours (7 days), with $8/hour/TPUv3 back then, for a total cost of approx. $43K. It achieves 0.256525 CORE score, which is an ensemble metric introduced in the DCLM paper over 22 evaluations like ARC/MMLU/etc. As of the last few…
Simon Willison — Published
-
Banning Syntax Highlighting Steroids
I’ve always flip-flopped between so-called “light” and “dark” modes when it comes to code editors. A 2004 screenshot of a random C file opened in GVim proves I was an realy adopter of dark mode, although I never really liked the contemporary Dracula themes when they first appeared. Sure, it was cool…
Wouter Groeneveld — Published
-
Building a browser API in one shot
TL;DR: With one prompt, I built an implementation of IndexedDB using Claude Code and a Ralph loop, passing 95% of a targeted subset of the Web Platform Tests, and 77.4% of a more rigorous subset of tests. When I learned that two simple browser engines had been vibe-coded, I was not particularly surprised…
Nolan Lawson — Published
-
Singing the gospel of collective efficacy
Singing the gospel of collective efficacy Lovely piece from Matt Webb about how you can "just do things" to help make your community better for everyone: Similarly we all love when the swifts visit (beautiful birds), so somebody started a group to get swift nest boxes made and installed collectively…
Simon Willison — Published
-
Switching to your headset mic automatically
tl;dr: Save the file at the bottom of this post as ~/.config/alsa-card-profile/paths/analog-input-headset-mic.conf, then run systemctl restart --user wireplumber. Done! Here’s some more background: Since I got my Framework 13, I had an annoying problem: When I plug in my headset, it doesn’t switch to…
Sebastian Morr — Published
-
Interpretation of “Full moon” by Haris Alexiou
Translation of---and philosophical commentary on---a Greek song whose translated title is 'Full moon'.
Protesilaos Stavrou — Published
-
Durastar Heat Pump Hysteresis
In which I discover that lying to HVAC manufacturers is an important life skill, and share a closely guarded secret: Durastar heat pumps like the DRADH24F2A / DRA1H24S2A with the DR24VINT2 24-volt control interface will infer the set point based on a 24-volt thermostat’s discrete heating and cooling…
Kyle Kingsbury — Published
-
Quoting Steve Yegge
Getting agents using Beads requires much less prompting, because Beads now has 4 months of “Desire Paths” design, which I’ve talked about before. Beads has evolved a very complex command-line interface, with 100+ subcommands, each with many sub-subcommands, aliases, alternate syntaxes, and other affordances…
Simon Willison — Published
-
Moltbook is the most interesting place on the internet right now
The hottest project in AI right now is Clawdbot, renamed to Moltbot, renamed to OpenClaw. It's an open source implementation of the digital personal assistant pattern, built by Peter Steinberger to integrate with the messaging system of your choice. It's two months old, has over 114,000 stars on GitHub…
Simon Willison — Published
-
We gotta talk about AI as a programming tool for the arts
We gotta talk about AI as a programming tool for the arts Chris Ashworth is the creator and CEO of QLab, a macOS software package for “cue-based, multimedia playback” which is designed to automate lighting and audio for live theater productions. I recently started following him on TikTok where he posts…
Simon Willison — Published
-
Poem: Dreams
Just read the poem. No further comment.
Protesilaos Stavrou — Published
-
Datasette 1.0a24
Datasette 1.0a24 New Datasette alpha this morning. Key new features: Datasette's Request object can now handle multipart/form-data file uploads via the new await request.form(files=True) method. I plan to use this for a datasette-files plugin to support attaching files to rows of data. The recommended…
Simon Willison — Published
-
Mark your calendar: Local News Day is 9 April
It’s no secret that newspapers across the country exist in a fragile ecosystem. Automattic has long supported journalism and local media with investments in publications and platforms like Longreads, The Atavist, and Newspack. We believe that local news still matters—and now more than ever. That’s why…
Jeffrey Zeldman — Published
-
The desire for control
An entry from my journal in which I comment at length on how the desire for control can be useful and harmful.
Protesilaos Stavrou — Published
-
The cults of TDD and GenAI
I’ve gotten a lot of flack throughout my career over my disdain towards test-driven development (TDD). I have met a lot of people who swear by it! And, I have also met a lot of people who insisted that I adopt it, too, often with the implied threat of appealing to my boss if appealing to me didn’t work…
Drew DeVault — Published
-
Adding dynamic features to an aggressively cached website
My blog uses aggressive caching: it sits behind Cloudflare with a 15 minute cache header, which guarantees it can survive even the largest traffic spike to any given page. I've recently added a couple of dynamic features that work in spite of that full-page caching. Here's how those work. Edit links…
Simon Willison — Published
-
The Five Levels: from Spicy Autocomplete to the Dark Factory
The Five Levels: from Spicy Autocomplete to the Dark Factory Dan Shapiro proposes a five level model of AI-assisted programming, inspired by the five (or rather six, it's zero-indexed) levels of driving automation. Spicy autocomplete, aka original GitHub Copilot or copying and pasting snippets from ChatGPT…
Simon Willison — Published
-
The Don’t “Contact Us” Page
Nic Chan comes out as the whistleblower on how many “Contact Us” pages are made (spoiler: they’re designed to keep us from contacting anyone). A “fuck off contact page” is what a company throws together when they actually don’t want anyone to contact them at all. They […] are trying to reduce the amount…
Jim Nielsen — Published
-
Apple Ruined My Mechanical Keyboard Experience (A NuPhy Halo75 Review)
My trusty external Apple Magic Keyboard disappeared into a drawer somewhere in the summer of 2024. It has never left that drawer until a few weeks ago, when I was so fed up with my inability to type correctly on the new mechanical keyboard that I decided it was time to go back to the Apple roots. The…
Wouter Groeneveld — Published
-
We named them after the humans they were replacing.
“The word ‘computer’ only really slid over to mean ‘a machine’ in the late 19th and early 20th centuries, once we started building mechanical and then electronic devices to do that work instead [of people]. We did not name the machines after some abstract idea. We named them after the humans they were…
Jeffrey Zeldman — Published
-
Eating Our Own Dogfood: What Running Report URI on Report URI Taught Us
Dogfooding is often talked about as a best practice, but I don't often see the results of such activities. For all new features introduced on Report URI, we are always the first to try them out and see how they work. In this post, we'll look
Scott Helme — Published
-
Touching grass
An entry from my journal in which I comment on how the Internet can have a negative effect on one's outlook when not used in moderation.
Protesilaos Stavrou — Published
-
One Human + One Agent = One Browser From Scratch
One Human + One Agent = One Browser From Scratch embedding-shapes was so infuriated by the hype around Cursor's FastRender browser project - thousands of parallel agents producing ~1.6 million lines of Rust - that they were inspired to take a go at building a web browser using coding agents themselves…
Simon Willison — Published
-
Kimi K2.5: Visual Agentic Intelligence
Kimi K2.5: Visual Agentic Intelligence Kimi K2 landed in July as a 1 trillion parameter open weight LLM. It was joined by Kimi K2 Thinking in November which added reasoning capabilities. Now they've made it multi-modal: the K2 models were text-only, but the new 2.5 can handle image inputs as well: Kimi…
Simon Willison — Published
-
Weekly Update 488
It's the discussion about the reaction of some people in the UK regarding their impending social media ban for under 16s that bugged me most. Most noteably was the hand-waving around "the gov is just trying to siphon up all our IDs" and "this means
Troy Hunt — Published
-
Blocking Claude
Claude, a popular Large Language Model (LLM), has a magic string which is used to test the model’s “this conversation violates our policies and has to stop” behavior. You can embed this string into files and web pages, and Claude will terminate conversations where it reads their contents. Two quick notes…
Kyle Kingsbury — Published
-
make.ts
Up Enter Up Up Enter Up Up Up Enter
Alex Kladov — Published
-
The most important thing when working with LLMs
Okay, so you’ve got the basics of working with Claude going. But you’ve probably run into some problems: Claude doesn’t do what you want it to do, it gets confused about what’s happening and goes off the rails, all sorts of things can go wrong. Let’s talk about how to improve upon that. The most important…
Steve Klabnik — Published
-
Some notes on starting to use Django
Hello! One of my favourite things is starting to learn an Old Boring Technology that I’ve never tried before but that has been around for 20+ years. It feels really good when every problem I’m ever going to have has been solved already 1000 times and I can just get stuff done easily. I’ve thought it…
Julia Evans — Published
-
Emacs: ef-themes version 2.1.0
Information about the latest version of my colourful-yet-legible themes for GNU Emacs.
Protesilaos Stavrou — Published
-
Tips for getting coding agents to write good Python tests
Someone asked on Hacker News if I had any tips for getting coding agents to write decent quality tests. Here's what I said: I work in Python which helps a lot because there are a TON of good examples of pytest tests floating around in the training data, including things like usage of fixture libraries…
Simon Willison — Published
-
ChatGPT Containers can now run bash, pip/npm install packages, and download files
One of my favourite features of ChatGPT is its ability to write and execute code in a container. This feature launched as ChatGPT Code Interpreter nearly three years ago, was half-heartedly rebranded to "Advanced Data Analysis" at some point and is generally really difficult to find detailed documentation…
Simon Willison — Published
-
You Can Just Say No to the Data
“The data doesn’t lie.” I imagine that’s what the cigarette companies said. “The data doesn’t lie. People want this stuff. They’re buying it in droves. We’re merely giving them what they want.” Which sounds more like an attempt at exoneration than a reason to exist. Demand can be engineered. “We’re giving…
Jim Nielsen — Published
-
Who Operates the Badbox 2.0 Botnet?
The cybercriminals in control of Kimwolf -- a disruptive botnet that has infected more than 2 million devices -- recently shared a screenshot indicating they'd compromised the control panel for Badbox 2.0, a vast China-based botnet powered by malicious software that comes pre-installed on many Android…
Brian Krebs — Published
-
Journalling without the mental block
An essay on how I manage to write consistently even if I have to circumvent mental blocks.
Protesilaos Stavrou — Published
-
the browser is the sandbox
the browser is the sandbox Paul Kinlan is a web platform developer advocate at Google and recently turned his attention to coding agents. He quickly identified the importance of a robust sandbox for agents to operate in and put together these detailed notes on how the web browser can help: This got me…
Simon Willison — Published
-
Kākāpō Cam: Rakiura live stream
Kākāpō Cam: Rakiura live stream Critical update for this year's Kākāpō breeding season: the New Zealand Department of Conservation have a livestream running of Rakiura's nest! You’re looking at the underground nest of 23-year-old Rakiura. She has chosen this same site to nest for all seven breeding seasons…
Simon Willison — Published
-
Emacs: tmr version 1.3.0
Information about the latest version of my TMR package for GNU Emacs.
Protesilaos Stavrou — Published
-
Don't "Trust the Process"
Don't "Trust the Process" Jenny Wen, Design Lead at Anthropic (and previously Director of Design at Figma) gave a provocative keynote at Hatch Conference in Berlin last September. Jenny argues that the Design Process - user research leading to personas leading to user journeys leading to wireframes.…
Simon Willison — Published
-
Quoting Jasmine Sun
If you tell a friend they can now instantly create any app, they’ll probably say “Cool! Now I need to think of an idea.” Then they will forget about it, and never build a thing. The problem is not that your friend is horribly uncreative. It’s that most people’s problems are not software-shaped, and most…
Simon Willison — Published
-
AI tribalism
“Heartbreaking: The Worst Person You Know Just Made a Great Point” – ClickHole “When the facts change, I change my mind. What do you do, sir?” – John Maynard Keynes, paraphrased 2025 was a weird year for me. If you had asked me exactly a year ago, I would have said I thought LLMs were […]
Nolan Lawson — Published
-
Keiji Yamagishi's Retro-Active Was Last Year's Most Played Album
Fans of retro games will no doubt recognise the name: the Japanese video game composer and programmer Keiji Yamagishi is famous for his work on Ninja Gaiden and many other great (S)NES soundtracks during from tenure at Tecmo. Yamagishi-san moved on to produce his own chiptune music together with Brave…
Wouter Groeneveld — Published
-
While the moon grows I keep going
An entry from my journal in which I comment how I am inspired to always put my best self forward.
Protesilaos Stavrou — Published
-
Wilson Lin on FastRender: a browser built by thousands of parallel agents
Last week Cursor published Scaling long-running autonomous coding, an article describing their research efforts into coordinating large numbers of autonomous coding agents. One of the projects mentioned in the article was FastRender, a web browser they built from scratch using their agent swarms. I wanted…
Simon Willison — Published
-
Untitled
You don’t see this everyday.
Paul Robert Lloyd — Published
-
Reading List 353
This reading list is courtesy of Vivaldi browser, who pay me decent money to fight for a better web and don’t moan at me for reading all this stuff. We build a browser that’s cream of the crop, not a stream of the Slop. Naked Power: Apple and Google’s mobile duopoly is held together with […]
Bruce Lawson — Published
-
Quoting Theia Vogel
[...] i was too busy with work to read anything, so i asked chatgpt to summarize some books on state formation, and it suggested circumscription theory. there was already the natural boundary of my computer hemming the towns in, and town mayors played the role of big men to drive conflict. so i just…
Simon Willison — Published
-
Barriers from Links with ARIA
Today Temani Afif asked a question: Are the below codes equivalent if we consider all the aspects? (a11y, semantic, something else maybe?) If not, what is missing (or should be changed) in the second code CSS by T. Afif (@css@front-end.social) 22 January 2026, 2:52pm I have my canned response that…
Adrian Roselli — Published
-
Considering Strictly Monotonic Time
Monotonic time is a frequently used, load bearing abstraction. Monotonicity is often enforced using the following code:
Alex Kladov — Published
-
Gas Town’s Agent Patterns, Design Bottlenecks, and Vibecoding at Scale
On agent orchestration patterns, why design and critical thinking are the new bottlenecks, and whether we should let go of looking at code
Maggie Appleton — Published
-
SSH has no Host header
SSH has no Host header exe.dev is a new hosting service that, for $20/month, gives you up to 25 VMs "that share 2 CPUs and 8GB RAM". Everything happens over SSH, including creating new VMs. Once configured you can sign into your exe.dev VMs like this: ssh simon.exe.dev Here's the clever bit: when you…
Simon Willison — Published
-
CTA Hierarchy in the Wild
The other day I was browsing YouTube — as one does — and I clicked a link in the video description to a book. I was then subjected to a man-in-the-middle attack, where YouTube put themselves in the middle of me and the link I had clicked: Hyperlinks are subversive. Big Tech must protect themselves and…
Jim Nielsen — Published
-
Qwen3-TTS Family is Now Open Sourced: Voice Design, Clone, and Generation
Qwen3-TTS Family is Now Open Sourced: Voice Design, Clone, and Generation I haven't been paying much attention to the state-of-the-art in speech generation models other than noting that they've got really good, so I can't speak for how notable this new release from Qwen is. From the accompanying paper…
Simon Willison — Published
-
Quoting Chris Lloyd
Most people's mental model of Claude Code is that "it's just a TUI" but it should really be closer to "a small game engine". For each frame our pipeline constructs a scene graph with React then: -> layout elements -> rasterize them to a 2d screen -> diff that against the previous screen -> finally use…
Simon Willison — Published
-
Agentic development basics
In my last post, I suggested that you should start using Claude in your software development process via read-only means at first. The idea is just to get used to interacting with the AI, seeing what it can do, and seeing what it struggles with. Once you’ve got a handle on that part, it’s time to graduate…
Steve Klabnik — Published
-
Winter silence
An entry from my journal where I comment on how exposure to nature helps me understand my place in the world.
Protesilaos Stavrou — Published
-
Claude's new constitution
Claude's new constitution Late last year Richard Weiss found something interesting while poking around with the just-released Claude Opus 4.5: he was able to talk the model into regurgitating a document which was not part of the system prompt but appeared instead to be baked in during training, and which…
Simon Willison — Published
-
Declaring Systems Bankruptcy
For years and years, I’ve helped teams evaluate their systems, fix their systems, tweak their systems, and evolve their systems. And sometimes it’s even been necessary to help teams declare bankruptcy on their systems, blow them up, and start anew. […]
Brad Frost — Published
-
Electricity use of AI coding agents
Electricity use of AI coding agents Previous work estimating the energy and water cost of LLMs has generally focused on the cost per prompt using a consumer-level system such as ChatGPT. Simon P. Couch notes that coding agents such as Claude Code use way more tokens in response to tasks, often burning…
Simon Willison — Published
-
New Year, New Website — Same Old Me
I redesigned my www website. Why? The end of year / holiday break is a great time to work on such things. I wanted to scratch an itch. Websites are a worry stone [gestures at current state of the world] Do I really need a reason? Nope. I read something along the lines of “If you ship something that shows…
Jim Nielsen — Published
-
Kimwolf Botnet Lurking in Corporate, Govt. Networks
A new Internet-of-Things botnet called Kimwolf has spread to more than 2 million devices, forcing infected systems to participate in massive distributed denial-of-service (DDoS) attacks and to relay other malicious and abusive Internet traffic. Kimwolf's ability to scan the local networks of compromised…
Brian Krebs — Published
-
Giving University Exams in the Age of Chatbots
Giving University Exams in the Age of Chatbots Detailed and thoughtful description of an open-book and open-chatbot exam run by Ploum at École Polytechnique de Louvain for an "Open Source Strategies" class. Students were told they could use chatbots during the exam but they had to announce their intention…
Simon Willison — Published
-
Another Major Bike Service
Last month I handed in my bike for another major repair service. It was sorely needed: a slight push on the pedals caused the chain to drop a gear, the front light wiring was broken since forever, and shifting in general always required two good clicks on the handlebar instead of just one. This year…
Wouter Groeneveld — Published
-
Vibecoding #2
I feel like I got substantial value out of Claude today, and want to document it. I am at the tail end of AI adoption, so I don't expect to say anything particularly useful or novel. However, I am constantly complaining about the lack of boring AI posts, so it's only proper if I write one.
Alex Kladov — Published