Writing about programming

  • Setting up a writable file system on top of a DwarFS image
    Setting up a writable file system on top of a highly compressed DwarFS image for NATS dumps
    Apr 12, 2024
  • Exploring the ubiquitous B+Tree
    A standard for file organization and efficient data management. B+Trees provide an efficient and ordered structure for index-based searches.
    Dec 1, 2023
  • Notes on databases
    References, articles, and information on various database systems and database internals. It serves as a reference and bookmarks for systems, architectures, and implementation details.
    Nov 19, 2023
  • Stepping stones, not milestones
    I recently re-watched James Cowlings excellent talk ["Stepping Stones, not Milestones"](https://www.youtube.com/watch?v=-fb112a2uYE).
    Nov 10, 2023
  • Patterns of Distributed Systems
    Unmesh Joshi's "Patterns of Distributed Systems" on the Thoughtworks website is an overview of the complexities and recurring solutions in distributed systems.
    Nov 9, 2023
  • Limit pods on Kubernetes
    Today I learned that CPU limits on Kubernetes are often considered an antipattern and can be more harmful than beneficial.
    Nov 8, 2023
  • Find the container with the largest volume mount
    I had an issue with a server running out of disk-space and wanted to figure out which container has mounted the volume using the most space.
    Oct 23, 2023
  • August is Go release month
    > PGO builds can now devirtualize some interface method calls, adding a concrete call to the most common callee. This enables further optimization, such as inlining the callee.
    Aug 8, 2023
  • Strategy for debugging performance regressions in Go
    You want to reason about the problem and test your hypothesis and trade-offs.
    May 19, 2023
  • A walkthrough of type constraints in Go
    Generics let you write data structures and functions with types that are specified later. Functions and types can have type parameters, and instantiated with type arguments, at compile time. Because this occurs at compile time, type parameters — have type constraints. Type constraints restrict the set of allowed type arguments.
    Apr 23, 2022