No time for other people’s bullshit
Your perspective changes with age because you see less opportunity in front of you. Not because your experiences have made you cynical & jaded, but because you have less time on this earth to realise…
Compatibility packages in 2026
Posted on 2026-05-07 by Oleg Grenrus engineering Seven years ago I wrote a post about compatibility packages. It is now highly outdated, so let us revisit the matter. Recently there have been a small…
Academic Reviewing Is Not Fun Anymore
Academic reviewing used to be more fun. (As fun as it can be, of course.)
The $25 MacBook Pro
Buying a second-hand 2020 MacBook Pro for twenty-five dollars, upgrading from Catalina to Sequoia, and identifying the problems with the laptop's non-functional screen and Touch Bar. Diagnosing and…
Managing Tasks is a Hard Problem
To-do lists are often touted as the solution to task management. It makes sense on the surface—what better way to keep track of what needs to be done than by writing everything down in a list? This…
AI transcends the metaphor
We can't find a fitting metaphor for AI, which may be a sign of how transformative it will be.
Why I Won’t Be Watching the Federal Budget
Around the world, Central Banks are attempting to rescue weak governments. Fiscal Policy changes belong to the government, but in restrictive times those policies are generally unpopular (think…
Lousy Feather Condition
A Spotted Eagle-Owl with unusually heavy feather fraying and a lice infestation is recovering at African Raptor Centre until a full moult restores flight
small changes
a quick one. small adjustments to how i work with agents, none of them deep on their own. but i can feel them adding up, the workflow shifting in a way that feels worth pausing on before any of it…
Founder Archetypes
Eight founder types from three orthogonal axes. Pick the playbook that fits your psychology, not the one that worked for someone else.
Book Update: RC 2 Is Out
RC 2 of the book is out. When I asked for readers a few weeks ago, I half expected polite “looks great!” replies. I got that, but also the opposite, which honestly is more helpful. Almost…
The Human Border
My rule for AI use is a border of interaction. Before the border, in private, I am happy to use AI as much as it helps: search, planning, code, transcription, translation, summaries, drafts, and any…
TP-7 CLI
TP-7 CLI is a Rust command-line tool for humans and agents to manage files on a Teenage Engineering TP-7 field recorder from macOS. It can browse the recorder, download recordings from the device,…
Modelling language or controlling it?
Machines should bend to suit humans (centaurs), not humans bend to suit machines (reverse centaurs).
jama - DLSS 5: The Shape of Things to Come
Just because we can, doesn't mean we should.
Running Claude Code on NixOS
I run NixOS on my laptop. I use Claude Code daily. Recently the two stopped getting along, so I sat down and fixed it. The official Claude Code installer (curl -fsSL claude.ai/install.sh | bash)…
Don't forget about the Option Bytes
What's the reason for a watchdog taking 23 times as long to reset the device? It turns out the Flash Option Bytes are. And a mass erase doesn't reset those.
Reading Note: A Theory of Deep Learning
A reading note on A Theory of Deep Learning by Elon Litman (May 2026, preprint forthcoming).
Reading Note: The Neural Tangent Kernel
A reading note on Neural Tangent Kernel: Convergence and Generalization in Neural Networks by Arthur Jacot, Franck Gabriel, and Clément Hongler (NeurIPS 2018).
Zed is pretty nice
Recently, the Zed editor had its 1.0 release. While I can't say what it's going to be like in a few years, even now it has largely replaced Visual Studio Code as my editor for non-IDE tasks (though I…
Creating for a niche
The joys of a small, passionate audience
[Post] - Formula 1 - Round 6 2026 - summary and memes
Formula 1 Round 6 2026 recap: Kimi Antonelli wins in Miami; McLaren, Ferrari, and Red Bull bring upgrades and become more competitive, while Mercedes no longer has such a big advantage, and there is…
CC BY-NC-SA
TL;DR: you may no longer use the content of this website for commercial purposes. In particular, you may not use it as training data for commercial language models. I decided to change the licence…
NLnet Labs
Every time you load a website, send an email, or update an app, you’re quietly relying on a handful of unglamorous services that route your packets to the right place: DNS to translate names into…
No Free Ratings
Banning a digit doesn't kill the cowardice — it relocates it. I banned 7s on my bake ratings, and the middle 6 inherited it. The rule is a lens, not a fix.
The agent principal-agent problem
The agent principal-agent problem 2026-05-07 Code review is broken. The industry-established code review process, review-then-commit, was a straightforward mechanism that allowed a relatively…
Why Don’t Lowercase Letters Come Right After Uppercase Letters in ASCII?
Something finally clicked for me. When looking at an ASCII table, you will notice that after the uppercase Z, there are a few other characters before lowercase a: Decimal Binary Symbol 88 01011000 X…
Deconstructing these auto-generated OG images
Contents Introduction Specifying what I wanted The Satori plus sharp libraries What posts are eligible for a generated og image? The renderer Caching the generated PNGs The orchestrator Conclusion…
Library dependency version specifiers aren't for fixing vulnerabilities
Let's say you are the maintainer of a Python library that depends on another Python library like “ urllib3 ”. Because you want to make sure users receive a compatible version of urllib3 you add a…
Google Summer of Code 2026 Announcement
An announcement of the Google Summer of Code 2026. Four accepted candidates.
Source Code Is the New Assembly
In The Last Programming Language Might Not Be for Humans, I argued that if AI becomes the primary author of code, the source language has to bend around that author. In What Comes After the Last…
The Greater Boston Mesh Network.
Disclaimer: Mesh networks over LoRa as described here (MeshCore/Meshtastic) do not require a license in the US, since they operate on the unlicensed & public domain 915 MHz ISM band under FCC…
The Player-Coach BS
I’ve seen the term “player-coach” now come up enough times that I’m going to write about it while I enjoy my morning coffee.
30 Days of Vibe Coding - The Wrapup
30 projects in 30 days using AI-assisted coding. Here’s what was easy, what was hard, what was unexpected, and where this is all going.
finding common ground
could this be where ravinia ends up?
Projecting React
An AI-generated projection of React's public API, shaped around what a TanStack Start app needs. ~9KB client, 2–3× faster on our workloads. Powers this blog today; capable of running tanstack.com…
Configuring Mikrotik devices to be Access Points without NAT
This is a topic that I have been planning to dive into for a long time, but I kept procrastinating. Yet, finally I sat down to it and found out it is much, much simple than I anticipated. I am a fan…
Pivot is more than a shorter, fatter group by
In a previous post , I explained that the pivot operation on a table of data is equivalent to a groupby operation on that data, but with the output table rearranged into a squatter configuration. But…
Marc Andreessen Egg Game
Marc Andreessen Egg Game helps you make eggs that look like Marc Andreessen.
what i made during my third ceramics class
i said in my second ceramics class post that i'd be back in early may with a roundup of my third class pieces and, here we are, in early may. i brought my final pieces home on monday and i am so…
Git Repos Restored - Blogpost - Mortagarden
I have recently expanded the offerings on Mortagarden's git server by migrating some old repos from...
At Crossroads
It’s been some time since I updated this blog. I was on a family vacation to Singapore and Malaysia for close to two weeks. Now that I’m back to my regular routine, frankly speaking, I’m stuck in a…
Face is a logo
A logo is a tool that reminds people of who you are. Your personal brand already has that. Your face. It ticks all the boxes of great logo design: It’s unique It’s memorable It stands out…
Op Snap — Visualising West Midlands driving offence data
On the walk to nursery this morning my wife and kids were startled by a car that drove onto the pavement within a foot of them. After reporting the offence via Operation Snap I spotted all of the…
A Life in Rebellion
Preface to the Japanese translation of Ben Morea's "Full Circle: A Life in Rebellion"
More Writing From Yours Truly
I’ve written not one, but two new things for school publications! First, I’ve written about The Sound, one of my favorite bands, in Firebird. If you were wondering why I’d dug up an…
RubyLLM 1.15: Image Editing, Cost Tracking and Less Tool Boilerplate
RubyLLM 1.15 adds image editing, cost tracking, inferred tool parameters, additive callbacks, and Rails fixes.
Maybe you shouldn't install new software for a bit
Oh boy yet more linux kernel vulns
Mar & Apr '26
How far back in time can you understand English? The same passage written in 100 year intervals, here’s how English in the year 1000 reads: And þæt heo sægde wæs eall soþ. Ic ƿifode on hire, and heo…