Writing

Long-form notes on Go, infrastructure and the CNCF projects I work in, with the real code and the tradeoffs. Sometimes a career lesson too.

~/Writing

2026

  1. How Prometheus finds the series matching your query in milliseconds: inverted indexes, posting lists, Seek-based set intersection, and why negative matchers and regex are the expensive part.

    techprometheus
  2. Wiring OpenTelemetry traces, metrics, and logs into Prometheus and Grafana across microservices. The one move that matters (trace IDs in every log line), and the cardinality, sampling, and clock-skew traps that waste your time.

    infraobservability
  3. How internal microservices actually prove who they are to each other: OAuth2 client-credentials with Keycloak and OIDC, JWT validation via JWKS, and the clock-skew, key-rotation, and audience traps nobody warns you about.

    infrasecurity
  4. Building a cloud cost-reporting pipeline over Oracle CUR data: from a managed warehouse, to DuckDB in a serverless function that hit a ~200MB memory wall, to a long-lived VM query service. A lesson about separating the tool from where you run it.

    infratech

2025

  1. Building a content-addressed file system on libp2p where every blob is verified by its own hash, so a peer can never lie about what it sent.

    techgolangweb3
  2. A scanner tells you which CVEs you have. We built a service that predicts the ones you probably also have but haven't found: ExploitDB co-occurrence mapping, Gemini for analysis, shipped as a Kubernetes microservice.

    securitytech
  3. A tiny Go package that blocks disposable and fake signups with four cheap checks cheapest-first, an auto-syncing blocklist, and the honest false-positive traps nobody warns you about.

    techgolang
  4. Most CVEs in your container image aren't in your code. Hardening 12+ OSS images (including IronBank/DoD) taught me the real move: cut CVEs ~80% by removing packages you never used, not by patching.

    infrasecurity
  5. Going from scared of a big repo to mentoring people into open source in two years, told through the real merged PRs that built the path.

    opensourceideology

2024

  1. Fail Forward

    2024-11-01 · 1 min

    Two kinds of failure: the kind that leaves you where you started, and the kind that leaves you a foundation. How to make each failure the second kind.

    ideology
  2. Beginner's Guide to Programming

    2024-09-26 · 3 min

    A roadmap for first-year students: pick one language, practice by building, choose a domain, learn from free resources and from people who have done it.

    tech
  3. How to Contribute to Open Source

    2024-09-19 · 2 min

    Eight steps to a first open source contribution: pick an organization, use the project, read CONTRIBUTING.md, set it up locally and land a first PR.

    tech
  4. Building a round-robin HTTP load balancer in ~200 lines of Go, and the five quiet bugs (one of which go vet screams about) that reveal what real load balancing actually is.

    techgolang
  5. My first merged PR into Kubernetes was 25 lines of tests. Why a small, test-only change is the smartest way into a five-million-line repo.

    opensourcegolang

2023

  1. Writing a tiny rootless container runtime in Go to see what a container really is: namespaces, pivot_root, and why Docker needs the reexec trick.

    techgolang
  2. Rebuilding the tooling behind jenkins.io, read by 11M+ people, on Antora and Gatsby during GSoC, without breaking a single URL.

    techopensource
  3. How I got into Google Summer of Code with Jenkins by showing up early at the edges, and why you contribute to get good, not after.

    opensourceideology