Some topics are simply too big, or too deep to fit into a single log. Instead of putting everything into one huge read, I break them down into focused parts, each one exploring a different piece of the bigger picture. Together, these parts form a series.

One story, many chapters, digestible reads.

  1. Designing a Rate Limiter

    Picking the algorithm, surviving distributed state, and deciding where the limiter belongs. An interesting interview conversation.

    System Design rate-limiting 3 parts complete

  2. gRPC from Scratch

    Protocol Buffers, services, clients, a real database and interceptors. Building a gRPC application end to end.

    Backend grpc 7 parts complete

  3. Cassandra Internals

    Why Cassandra writes so fast, how its storage engine works, and what SQL habits to unlearn before writing CQL.

    Backend cassandra 5 parts complete

  4. Learning Go

    Slices, maps, structs, interfaces and composition, much more. The fundamentals of Go, one idea at a time.

    Programming go 5 parts ongoing

  5. Design Patterns

    Why patterns are worth learning, and their implementations in TypeScript, Java and JavaScript.

    Design Patterns clean-code 5 parts ongoing

  6. Low Level Design

    Designing the data structures behind everyday systems.

    System Design cache 2 parts ongoing

  7. Modern C++

    Smart pointers, copy and move semantics, lambdas and threads. The C++11 features worth knowing.

    Programming cpp 6 parts complete