AI and the ironies of automation – Part 2
In the previous post, we discussed several observations, Lisanne Bainbridge made in her much-noticed paper “The ironies of automation”, she published in 1983 and what they mean for the current “white-collar” work automation attempts leveraging LLMs and AI agents based on LLMs, still requiring humans in the loop. We stopped at the end of the […]
The Gorman Paradox: Where Are All the AI-Generated Apps?

In 1950, while discussing the recent wave of flying saucer reports over lunch with colleagues at Los Alamos National Laboratory in New Mexico, physicist Enrico Fermi asked a simple question. There are hundreds of billions of stars in our Milky Way galaxy, and – presumed at the time – a significant percentage have Earth-like habitable […]
Shai-Hulud compromised a dev machine and raided GitHub org access: a post-mortem

On November 25th, 2025, we were on a routine Slack huddle debugging a production issue when we noticed something strange: a PR in one of our internal repos was suddenly closed, showed zero changes, and had a single commit from… Linus Torvalds? The commit message was just “init.” Within seconds, our #git Slack channel exploded […]
Surface Tension of Software
How systems hold their shape through constraint, and why integrity emerges from what you make impossible If you press your finger against water, it pushes back. That invisible resistance, surface tension, keeps the liquid whole even when disturbed. Good software has something like it. Some systems hold together when you change them; others leak at […]
Compiler Engineering in Practice
“Compiler Engineering in Practice” is a blog series intended to pass on wisdom that seemingly every seasoned compiler developer knows, but is not systematically written down in any textbook or online resource. Some (but not much) prior experience with compilers is needed. What is a compiler? The first and most important question is “what is […]
Lean Theorem Prover Mathlib

Mathlib is a user maintained library for the Lean theorem prover. It contains both programming infrastructure and mathematics, as well as tactics that use the former and allow to develop the latter. Installation You can find detailed instructions to install Lean, mathlib, and supporting tools on our website. Alternatively, click on one of the buttons […]
If a Meta AI model can read a brain-wide signal, why wouldn’t the brain?

Did you know migratory birds and sea turtles are able to navigate using the Earth’s magnetic field? It’s called magnetoreception. Basically, being able to navigate was evolutionarily advantageous, so life evolved ways to feel the Earth’s magnetic field. A LOT of ways. Like a shocking amount of ways. Here’s a few examples: Magnetotactic bacteria – […]
An Implementation of J
An Implementation of J ‘ An Implementation of JRoger K.W. Hui Copyright © 1990-2011, Jsoftware Inc. last updated: 2000-06-23 Preface J is a dialect of APL freely available on a wide variety of machines. It is the latest in the line of development known as “dictionary APL”. The spelling scheme uses the ASCII alphabet. The […]
Closures as Win32 Window Procedures
December 12, 2025 nullprogram.com/blog/2025/12/12/ Back in 2017 I wrote about a technique for creating closures in C using JIT-compiled wrapper. It’s neat, though rarely necessary in real programs, so I don’t think about it often. I applied it to qsort, which sadly accepts no context pointer. More practical would be working around insufficient custom allocator […]
RemoveWindowsAI

The current 25H2 build of Windows 11 and future builds will include increasingly more AI features and components. This script aims to remove ALL of these features to improve user experience, privacy and security. Script Features Disable Registry Keys Disable Copilot Disable Recall Disable Input Insights and typing data harvesting Copilot in Edge Image Creator […]