Skip to content
Corentin GS

Writing

Notes on software, chess, design, and the things that connect them. Begin with an ordered path, then browse by subject or time.

Guided paths

Ordered series for questions that need more than one entry to answer.

  1. Go Patterns

    Go Patterns

    A practical reading order for concurrency in Go: how work starts, moves, stops, and stays bounded.

    See the 11-part reading order →
  2. TDD & Software Design

    TDD & Software Design

    A path through tests, boundaries, and the design decisions that make code safer to change.

    See the 8-part reading order →
  3. UX Japan

    UX Japan

    Japanese interfaces as a lens for attention, density, context, and cultural design choices.

    See the 3-part reading order →
  4. Projects

    Projects

    Notes from building production tools: the trade-offs, constraints, and questions each project exposed.

    See the 4-part reading order →

The archive

All published writing, in time order.

2026

32 entries
№44 13 Aug PostgreSQL Was Down Again: Rebuilding LLM Trace Ingestion Devlog · Series · Rebuilding an Ingestion Pipeline №43 10 Aug The Discipline of Returning Notes on practice · Series · The Next Move №42 6 Aug GitHub Stacked Pull Requests: What Changed in Preview Systems & tooling · Series · Stacked Pull Requests №41 3 Aug You Are Only as Good as Your Next Pass Notes on practice · Series · The Next Move №40 1 Aug TDD in the Age of AI: Who Tests the Tests? Software design & testing · Series · TDD & Software Design №39 31 Jul Building a Custom OpenTelemetry Collector in Go Go & concurrency · Series · Production Go Service Patterns №38 29 Jul The Result Pattern: Why I Stopped Throwing Exceptions Software design & testing · Series · TDD & Software Design №37 27 Jul How I Use Three Questions to Unstick Hard Decisions Notes on practice №36 26 Jul I Stopped Mocking Everything in TDD Software design & testing · Series · TDD & Software Design №35 24 Jul Three Ways to Instrument Go with OpenTelemetry Go & concurrency · Series · Production Go Service Patterns №34 22 Jul 3 Lessons from The Code of the Extraordinary Mind Notes on practice №33 21 Jul DDD Aggregate Boundaries and Persistence in TypeScript Software design & testing · Series · TDD & Software Design №32 18 Jul OpenTelemetry Go Compile-Time with otelc Go & concurrency · Series · Production Go Service Patterns №31 16 Jul Repository Updates in TypeScript: Locks and Optimistic Concurrency Software design & testing · Series · TDD & Software Design №30 10 Jul Beyond Unicorn: Why I Code-Gen Instead of Emulating Projects · Series · Projects №29 8 Jul Go Concurrency Patterns: A Practical Reading Order Go & concurrency · Series · Go Patterns №27 7 Jul TypeScript DDD Aggregates & Repositories Software design & testing · Series · TDD & Software Design №28 7 Jul Building a Native x64-to-C# Transpiler: Why I Built Alicorn Projects · Series · Projects №25 4 Jul Context and Cancellation in Go: Stopping Work That Shouldn't Have Started Go & concurrency · Series · Go Patterns №26 4 Jul Go Goroutines vs C# async/await: Who Carries the Cognitive Load? Go & concurrency · Series · Go Patterns №24 30 Jun Value Objects & Entities in TypeScript: Building Blocks That Can't Break Software design & testing · Series · TDD & Software Design №23 24 Jun Beyond PGN: Designing an Ultra-Efficient Chess Storage Format Chess & study №22 19 Jun Beyond Minimalism: A Japanese-Inspired UX for the Web Design & culture · Series · UX Japan №20 5 Jun How to Merge PGN Files in F#: Streaming, Performance, and Discriminated Unions Projects · Series · Projects №21 5 Jun What Western UX Can Learn from Japanese Web Design Design & culture · Series · UX Japan №19 31 May Why Japanese Websites Look Overloaded: Density, Tokyo, and Trust Design & culture · Series · UX Japan №18 24 May TDD Isn't About Bugs — It's Your Permission to Refactor Software design & testing · Series · TDD & Software Design №17 4 May Docker 29 Broke Traefik — Here's the Fix (and Why It Happened) Systems & tooling №16 30 Apr Why I Built ZaString Projects · Series · Projects №15 27 Apr Generic Methods Coming to Go Go & concurrency №14 26 Apr I Write, I Code, I Explore — Why Verbs, Not Nouns Notes on practice №13 24 Apr Go Pipeline Pattern: Turning Streams into Useful Data Go & concurrency · Series · Go Patterns