Notebook · Aug 2025 to now

An engineering notebook. Whatever's on the workbench.

Fifteen years across production engineering, written down as it happens.

In the notebook

All posts → /blog
  • Series · 1 part

    Tail Latency & System Behavior

    Runnable Java experiments on the failure patterns that show up under real load: tail latency, queueing, hedged requests, coordinated omission, backpressure, and SLO engineering. Deterministic outputs, checked-in CSVs, reproducible on any machine.

    • 01
      Part
      Why Average Latency Lies

      A deterministic Java simulation where baseline p99=34ms becomes fan-out p99=597ms without changing the downstream latency sampler. Average latency is structurally incapable of catching that tail pain.

      31 May 2026
      9 min
  • Series · 9 parts

    Structured Concurrency

    Nine posts written through a fan-out service rollout. Cancellation, timeouts, and what to do when a subtask outlives the request.

    • 09
      Part
      Migrating our fan-out service from Java 21 to Java 25

      Most of the migration was mechanical. ShutdownOnFailure became a Joiner, throwIfFailed disappeared, and StructuredTaskScope.open replaced the constructor. Two things were not mechanical, and those are the ones worth reading.

      17 May 2026
      12 min
    • 08
      Part
      Four operational checks we run on every StructuredTaskScope

      Before a fan-out service can be trusted under load, four things need to be true: outcomes counted per scope, deadlines propagated, bulkheads in place, and pinning watched in JFR. What each one looks like in code.

      10 May 2026
      10 min
    • 07
      Part
      Three structured-concurrency patterns we run in a fan-out service

      Structured concurrency patterns are worth the complexity only when the cancellation policy is decided before the first fork, not after the first timeout. The three we run: aggregation on quorum, bulkheading per tenant, and a deadline shape that protects against one slow upstream.

      04 May 2026
      8 min

Read alongside

Ask the post.

Built with one rule: it won’t answer unless it can show you the paragraph.

Open on a post