Skip to content

Archive · Blog

Notes on engineering, applied AI and the boring decisions nobody covers in tutorials.

Every article comes out of something I built or watched break: payments, distributed systems, AI in production. Start with whatever is biting you right now, or work down the list from the top.

24 articles

Featured

Engineering
7 min

Data and analytics: from OLTP to lakehouse

Two questions come up in every company: why did the report take down production, and why is the number on my dashboard different from yours. Both have the same root cause.

oltpolap
Read article
Applied AI
5 min

What changes when the AI agent leaves the laptop

The demo works in five minutes. What nobody shows is the evaluation, cost and failure layer that separates a prototype from something a real user can survive.

llmagents
Read article

The whole archive

Engineering
7 min

Legacy: characterise, seam and strangle

Three techniques that let you safely change a system you did not write, do not understand, and cannot stop.

legacy-codecharacterisation-tests
Read article
Engineering
6 min

Tests worth what they cost

Tests do not exist to prove the code is right. They exist so you can change it tomorrow without fear. That change of goal reorganises everything.

testingtest-pyramid
Read article
Engineering
6 min

OAuth2, OIDC and JWT demystified

The three most confused acronyms in authentication, what each one solves, and the mistakes that show up in almost every codebase.

oauth2oidc
Read article
Engineering
7 min

The vulnerabilities that actually show up

Most breaches that make the news do not use sophisticated technique. They use one of these six flaws, and all six have a known, cheap fix.

securityowasp
Read article
Engineering
6 min

Why your service degrades over time

The service starts fine and gets worse over days. Three causes explain almost every case, and all three have distinct signatures.

memory-leakcontention
Read article
Engineering
5 min

Event loop or thread per request: how to choose

The choice between the two models is not taste and not fashion. It is determined by the profile of your load, and there is a calculation that settles it.

event-loopthread-per-request
Read article
Engineering
6 min

Which data structure for which problem

A decision guide organised by problem, not by structure. You have a need; which structure answers it, and at what cost.

data-structureshash
Read article
Engineering
5 min

B-tree vs LSM-tree: inside your database's index

Why Postgres is good at ranges and Cassandra is good at writes. It is not marketing: it is the tree each one picked, and the bill each choice comes with.

b-treelsm-tree
Read article
Engineering
5 min

Schema migration without downtime

Why renaming a column breaks production, and the four step pattern that turns a migration into a Tuesday afternoon task.

migrationexpand-contract
Read article
Engineering
5 min

CAP, PACELC and the consistency models

CAP is the most quoted and most badly stated theorem in distributed computing. This article fixes the statement and shows the vocabulary you actually use day to day.

distributed-systemscap
Read article
Engineering
6 min

Sharding: a decision guide

Sharding is the most irreversible decision in a data system. This is the guide to deciding whether you need it and, if you do, how to pick the key.

shardingdatabases
Read article
Engineering
6 min

Indexes, EXPLAIN and the slow query

How an index works on the inside, why column order decides everything, and how to read an execution plan to know what to do.

postgresdatabases
Read article

Talk to me

Questions about the article? Message me on WhatsApp

No form and no mailing list. If you disagree with something I wrote, or want to tell me how you solved it, the conversation goes straight to me.

Open the chat