Staff, Not Author
How I use AI for my books
Helpful Hieroglyphics
How I use AI for my books
One source pipeline that produces both PDF and ebook.
In 1987 English made me faster and stupider in the same week. Last month a reader caught it happening to my novel.
The hacking was never the unrealistic part
Visibility domains and architectural drift on the BEAM
Why Systems Collapse Under Load (and How to Fix It)
From code change to intent, there and back again
The Late-Night Feeling of Wonder In 1980 my ten years older sister started university and brought home a TI-58 programmable calculator. I was ten years old. I found out you could give it instructions and it would follow them. That was enough. I was done for. Within a year I had convinced my parents to buy a VIC-20. I learned BASIC, then 6502 assembler, because BASIC was too slow for what I wanted…
Understanding the runtime changes how you build on it.
Processes that watch, restart, and enforce lifetimes
Processes that protect the system from the outside world, and from itself
The Gnome Village Mailmen
The boring, reliable center of most good systems
Short-lived processes, polite pools, and where people overcomplicate things
Every process has a job. Problems start when it has two.
From checklist to a running payments path
Design data, message, process, and call paths on purpose
Keep modules, OTP apps, and state in the same lane
Why boundaries decide whether the village holds
Build a village of gnomes, not a park of machines.
Threads fight. Gnomes cooperate.
If it looks too good to be true, it is
Exactly once
Revisiting the animatronic spy drama of Haparanda Stadshotell, three decades later
Post-mortems, coffee, and a decade of stubborn curiosity
Accidental Complexity in Fintech
Debugging with an AI duck that asks questions back
Reflections on scope, clarity, and the joys of letting go.
Most fintech backends break under pressure. Yours doesn't have to.
When Your AI Coach is Named Orrin
This one's a feature, definitely not a bug
Set Your Own Fees, Scale Without Limits
Messaging, APIs, RPC, and Other Buzzwords Explained
Reliability depends on topology, guarantees, and operations.
A distributed system, without the distributed headaches.
Because 'It Works' Is Not the Same as 'It Works Well'
Still no opinions. Mostly.
How Overcomplicating Your Architecture Can Destroy Scalability Instead of Enabling It
Rebar3 is the standard build tool and package manager for the Erlang programming language. While the official documentation is pretty good, it can be hard for a beginner to grasp what Rebar3 is really doing at times, and why; in particular how profiles and releases and dependencies work, where the build results end up, and so on. This guide assumes you already have installed Erlang and Rebar and…
And How to Fix It
A course note for newer developers
A course note for senior developers
Notes on attention, workflow, and engineering habits
This is the third entry in a series of posts on devcontainers; the first entry is here . In the previous post , we showed how to configure devcontainers for a small project and how to access the environment from within Emacs. The project directory mount A running container is an isolated bubble, a separate operating system instance, and by default it does not have access to the host's file system.…
Build Scalable and Reliable Fintech Systems with Erlang
Build Scalable and Reliable Fintech Systems with Erlang
Opportunities and Challenges for Fintech Companies
Addressing the Elephant in the Room
A Reflection One and a Half Decades Later
Principles and Strategies for Robust System Design