Exploring the c4... compiler?

This week I found myself digging through the code of c4, an implementation of C “in four functions”, by Robert Swierczek. I remember coming across c4 when it was released ten years ago. It got me excited: hey, C in four functions, that means it’s easy to understand right? | Continue reading


@registerspill.thorstenball.com | 2 days ago

My favorite teacher

My favorite teacher wasn’t a very popular guy. He was confident, had strong opinions, and didn’t exactly teach like the other teachers. He was our history & sociology teacher in 12th and 13th grade and he made us summarize. He made us summarize everything. Through summaries, he t … | Continue reading


@registerspill.thorstenball.com | 8 days ago

My Setup, April 2024

Last week I got a new monitor, after my old one has shown worse and worse signs of what looked like burn-ins. The new monitor allowed me to get rid of two (!) cables in my setup, which pleased me quite a bit. And since there are people reading this whose eyebrows went up at the “ … | Continue reading


@registerspill.thorstenball.com | 14 days ago

Glitching on the Sea

This week, we’re back the original idea behind this newsletter – a newsletter that’s informal and “what I’d send you if you were to ask me what’s on my mind this week.” On my mind this week: the sea. It started last weekend when I read William Langewiesche | Continue reading


@registerspill.thorstenball.com | 22 days ago

A Feat of Engineering

Whenever I talk with programmer friends about Apple I try to sneak the following story in. Usually I start with “did you that Apple…?” and end by leaning back in the chair, my index finger pointing at the table, and me saying “… now that’s engineering.” | Continue reading


@registerspill.thorstenball.com | 28 days ago

From Vim to Zed

After around 20 years of using Vim, in December last year I switched to Zed as my main editor. Since some friends have asked me about the switch — “Now that you work at Zed, are you using Zed instead of Vim?” — I thought I’d write about it. You now know that I did switch, yes, so … | Continue reading


@registerspill.thorstenball.com | 1 month ago

Noticing & Writing

In my neighbor’s garden stand two birches, tall and elegant, making pleasant sounds in the wind. Right next to them is an apple tree on which sometimes a green woodpecker tock-tocks. To its left: a cherry tree that’s still impressively large even though they cut it down a few wee … | Continue reading


@registerspill.thorstenball.com | 1 month ago

The Basics

Here’s what I consider to be the basics. I call them that not because they’re easy, but because they’re fundamental. The foundation on which your advanced skills and expertise rest. Multipliers and nullifiers, makers and breakers, of everything you do. | Continue reading


@registerspill.thorstenball.com | 1 month ago

A Few Words on Testing

Or: Losing Faith | Continue reading


@registerspill.thorstenball.com | 1 month ago

How to Lose Control of your Shell

An investigation. | Continue reading


@registerspill.thorstenball.com | 2 months ago

How I Use AI

Protocol of a little over two days of AI | Continue reading


@registerspill.thorstenball.com | 2 months ago

Oh, to turn off your mind!

In admiration of some of the best programmers I've worked with | Continue reading


@registerspill.thorstenball.com | 2 months ago

From 1s to 4ms

So zero-cost abstractions exist? | Continue reading


@registerspill.thorstenball.com | 2 months ago

The Lightness of Unscheduled Calls

In my first week at Zed it took until the third day for someone to hop on a video call with me. The second video call happened in the week after that. Since then — I’ve just completed four weeks — I’ve only had two other video calls, both of which were | Continue reading


@registerspill.thorstenball.com | 3 months ago

Education of a Typing Man

When we were 16 years old my friend and I spray-painted our keyboards in camouflage colors. We had just seen Hackers, wanted to copy what we saw, and – yes, 16 years old – didn’t think much further than (1) get spray paint (2) spray-paint the keyboard. Only afte … | Continue reading


@registerspill.thorstenball.com | 3 months ago

63 Unpopular Opinions

On pineapple, tests, opinions & taste, and other things | Continue reading


@registerspill.thorstenball.com | 3 months ago

Which command did you run 1731 days ago?

Let's talk about shell history. | Continue reading


@registerspill.thorstenball.com | 3 months ago

How fast is your shell?

Does it start in less than a second? | Continue reading


@registerspill.thorstenball.com | 3 months ago

New year, new job, new machine

Setting up a new MacBook Pro M3 Max | Continue reading


@registerspill.thorstenball.com | 4 months ago

The Hum of the Machine

Have you noticed that the newest versions of Chrome on macOS show how much memory a tab is using? I don’t mean something in the developer tools, or an internal process manager. No, you now only have to hover your cursor over a tab and Chrome tells you: this one uses 60MB, t … | Continue reading


@registerspill.thorstenball.com | 4 months ago

Leaving Sourcegraph

This is my last week at Sourcegraph. Today’s my last day. At 6pm my computer will be wiped cleaned and 4.5 years come to end. 4.5 years so dense that at other companies the clock would probably show 8, or 10 years. Why am I leaving? Over the past few months I realised that … | Continue reading


@registerspill.thorstenball.com | 4 months ago

It's a Negotiation

When Product & Engineering Meet | Continue reading


@registerspill.thorstenball.com | 5 months ago

Polishing Forks

I told you before that I could write more about The Bear’s S2E7. Here we are. I came across this clip from that episode this week and decided now’s the time. The scene is a dialogue between Ritchie, who works in a high-class restaurant for the first time, and Garrett, … | Continue reading


@registerspill.thorstenball.com | 5 months ago

Watching A Pathological System

The first time I came across the term pathological system I had to look up what it means. The definition I found was similar to this: pathological system: exhibits extreme, abnormal, or self-destructive behaviors Second time I came across it was in Bryan Cantrill’s | Continue reading


@registerspill.thorstenball.com | 5 months ago

It's not up to you

There’s a bit in Louis CK’s Live at the Comedy Store that I’ve been thinking about ever since I first saw it in 2015. It’s about someone saying they’re “not an asshole” (yes, it gained another layer of meaning after the misconduct revelat … | Continue reading


@registerspill.thorstenball.com | 5 months ago

Playful Programming

Last weekend I watched this video of Andreas Kling prototyping a JIT compiler for his Ladybird browser: It’s a very interesting video, for two reasons. One: if you’re interested in how bytecode VMs and JIT compilers work, it’s all in there, explained step by ste … | Continue reading


@registerspill.thorstenball.com | 6 months ago

Zig Zaggin'

Here’s a very interesting bit of Zig that I came across again this week: @fieldParentPtr. It’s a prism through which you can see a lot of Zig’s character. That’s not what the official docs say, of course. They say that @fieldParentPtr: Given a pointer to a field, returns the base … | Continue reading


@registerspill.thorstenball.com | 6 months ago

Laying Siege to a Bug

I love debugging – clear goal, possibly interesting technical surprises, total freedom in approach, and coloring-in-the-lines creativity required. Sometimes when I get assigned a bug I even feel something that could be described as glee. But of course it’s not all lov … | Continue reading


@registerspill.thorstenball.com | 6 months ago

Notes From the Field: Learning Zig

This was my week off and I wanted to learn some more Zig. What I did: dug into the Zig compiler, wrote toy programs to replicate parts of it, tried to understand the Zig way of doing things. I’ve also spent two days hacking a GTK feature into Ghostty | Continue reading


@registerspill.thorstenball.com | 6 months ago

One Week of Nothing to Do

All the things I could do | Continue reading


@registerspill.thorstenball.com | 7 months ago

Who removes rules?

Rules are an endless source of fascination and dread to me. How rules are created and why, how rules accumulate, how a set of rules shapes a system – it’s very, very interesting. Let me give you an example. A couple years ago my wife and I were chatting with our tax a … | Continue reading


@registerspill.thorstenball.com | 7 months ago

Someone on the Other End

Every time I’m in the gym I use the same app on my phone: KeyLifts. For 3 years now, four to five times a week, the same app. I love it. I pay for the yearly subscription and the app is a huge if not the only reason why I’ve been running the same workout program (5/3/ … | Continue reading


@registerspill.thorstenball.com | 7 months ago

Learning from Bellard

What if software was like science in the early 20th century? | Continue reading


@registerspill.thorstenball.com | 7 months ago

You don't need an opinion

This week I was talking with a teammate about a programming language he’s exploring. He said: “I’m just not sure whether I like it or not” Huh, I thought. Right, you think you have to like something or not. Easy mistake to make. The internet’s opinio … | Continue reading


@registerspill.thorstenball.com | 7 months ago

Has Software Development Become Slower?

Or: Catching Up With Carmack | Continue reading


@registerspill.thorstenball.com | 8 months ago

Momentum

Or: the goal is to be a monkey swinging through the trees | Continue reading


@registerspill.thorstenball.com | 8 months ago

Every Line a Chance for Greatness

Or: Why I'm So Into Code | Continue reading


@registerspill.thorstenball.com | 8 months ago

Is looking cool underrated in education?

You’re reading Register Spill, my weekly newsletter in which I share thoughts I can’t keep in my head. A couple weeks ago, on social media, a dad was talking about the best materials to teach his kid how to program. It’s a very interesting thread and I recommend … | Continue reading


@registerspill.thorstenball.com | 8 months ago

Programming in a Well-Tested System

Over the last few weeks, I’ve been listening to the Software Engineering at Google book. I’ve read one or two chapters over the past few years, but never the whole thing. While listening to the chapters on testing, I’ve had something of a personal lightbulb moment. Or: smile-to-m … | Continue reading


@registerspill.thorstenball.com | 9 months ago