Fake chips, I got stung
Unfortunately, in the tech sector, just like many other sectors, there are scammers around. When you are dealing with electronics this is typically in the form of chips that have had their markings…
LLM Powered Autonomous Agents
Building agents with LLM (large language model) as its core controller is a cool concept. Several proof-of-concepts demos, such as AutoGPT, GPT-Engineer and BabyAGI, serve as inspiring examples. The potentiality of LLM extends beyond generating well-written copies, stories, essays and programs; it can be framed as a…
The presumption that computers are working correctly
The first in a series of posts on the Post Office Horizon prosecutions scandal
“Make” as a static site generator (2022)
Static site generators are in fashion for good reasons. The resulting pages are easy to host, fast and extremely low on maintenance while being sufficient for many use cases. As I learned when setting up my blog , writing a simple script myself is faster and more satisfying than learning one of the other site builders…
The curl-wget Venn diagram
In my view, wget is not a curl competitor. It is a companion tool that has a feature overlap with curl. Use the tool that does the job. Getting the job done is the key. If that means using wget instead of curl, then that is good and I don't mind. Why would I? To … Continue reading The curl-wget Venn diagram →
First clean water, now clean air
Fin Moorhouse's website
Flattening ASTs and other compiler data structures
This is an introduction to data structure flattening, a special case of arena allocation that is a good fit for programming language implementations. We build a simple interpreter twice, the normal way and the flat way, and show that some fairly mechanical code changes can give you a 2.4× speedup.
Environmental Discs of Tron Roadside Pickup
We’ve spoken about arcade Tron a few times here on the blog over the years. Specifically, I shared some development documents a few months back here. For those of you that don’t know, T…
How RocksDB Works
Over the past years, the adoption of RocksDB increased dramatically. It became a standard for embeddable key-value stores.
My Left Kidney
...
Farewell EC2-Classic, it’s been swell
It is time to celebrate EC2-Classic, which defined early cloud computing, and which is finally retiring.
Writing a Compiler is Surprisingly Easy (part 1)
Part 1: expressions, arithmetic Part 2: statements, control flow Ever since I was a teenager I wanted to create my own systems pr...
Why some GitHub labels are illegible
Mathematician and software engineer. Formalisation and AI
916 Days of Emacs
Freedom is a state of mind
Meta Quest Pro – Bad AR Passthrough
Introduction I have been taking pictures and making short video clips to demonstrate different aspects of the displays and optics of the Meta Quest Pro (MQP) for over a month. It was a bit of an on…
Hyundai Head Unit Hacking
Standard-class Gen5 navigation
Intel 80386, a Revolutionary CPU
The 80386 is the most important CPU Intel ever produced. It confirmed the importance of the x86 line and sparked a computing revolution. And yet it almost never saw the light of day. This is the history of the 386 and why it was such a landmark.
Eliminating radio interference from Apple charger
Apple's product design teams should do a better job eliminating unwanted radio frequency emissions from their product!
Deming Paradox: Operationally rigorous companies aren't nice places to work
Is it possible to be data driven and operationally rigorous and still be human centric at the same time? Deming — who came up with these data techniques — believe that it is possible. I'm not so sure.
WebP is so great except it's not (2021)
I’m a responsible web designer, and as such, since WordPress (finally) accepts media uploads of image/webp MIME type and since all web browsers newer than …
Not Using Zoom
Dear client, Setting aside the challenges of using Zoom under ChromeOS and Linux, I have mostly been declining invitations to Zoom calls...
Artificial General Intelligence – A gentle introduction
[On-line document since 2007, last updated in September 2026] [Translations: 中文 , Español , lietuvių kalba ]
Low Code Software Development Is a Lie
I’ve been writing custom software for a long time and one of the things that annoys me most is when a client adopts the position that there is a silver bullet which will reduce or remove the inherent complexity of this task. This happens more often than you’d think and guess what? They are almost always wrong. Perhaps…
Text showdown: Gap Buffers vs. Ropes
I have been working on a hobby project to reimagine the C core of Emacs in Rust. On this journey, I reached the point where I needed some way to represent the text of a buffer. The simplest approach is to just use a large string or array of lines. However these each suffer from poor performance as either the size or…
I wrote a GameBoy emulator for my hobby OS (2022)
The Nintendo GameBoy is an exceptionally well-documented system, perfect for anybody who’d like to take a crack at emulation. Publicly-maintained resources like the Pan Docs make it both approachable and convenient to get an overview of the GameBoy’s address space layout, to understand the mechanics of hardware…
We need more of Richard Stallman's ideas, not less
We need more of Richard Stallman, not less par Ploum - Lionel Dricot.