Hello World.

Why I'm starting a blog, and what I plan to write about.

Blueprint illustration of a scanner

Have you ever wondered why a database is fast? Or how a TCP packet actually finds its way across the world? Or what really happens when you type a URL and press enter? I have. A lot. And for years I'd answer those questions in scratchpad notes, half-finished gists, and Slack messages to myself — places where they go to die.

This is the place where I'll try to write them down properly.

I'm a backend engineer by trade. Most of my day is spent somewhere between the application layer and the database — designing APIs, tuning queries, debugging the occasional production fire. But the parts I find myself drawn to are always one layer deeper than where I'm currently working. When I'm writing a service, I want to understand the runtime. When I'm tuning a query, I want to understand the storage engine. When I'm debugging a network issue, I want to understand the protocol. The thing under the thing.

So this blog is a place to chase that curiosity in public.

A few things I expect to write about:

  • Storage engines, indexes, and the surprisingly clever data structures behind them.
  • What actually happens when a system "scales" — and why most of the answers are unsexy.
  • Small experiments with low-level languages: C, Go, the occasional bit of assembly.
  • Post-mortems of bugs I've shipped and the mental models I had to fix in order to fix them.

Posts here will be shorter than they should be and longer than I want them to be. They won't always be technically deep, but they'll always try to be honest about what I understood, what I didn't, and what I had to look up.

If any of that sounds interesting, stick around. If you find a mistake, please tell me — I'd rather be corrected than confidently wrong.

Onwards.