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

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

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

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

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

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

    See the 3-part reading order →
  4. 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

22 entries
№35 22 Jul 3 Lessons from The Code of the Extraordinary Mind Notes on practice · 5 min №34 21 Jul DDD Aggregate Boundaries and Persistence in TypeScript Software design & testing · 1 min · Series · TDD & Software Design №33 18 Jul OpenTelemetry Go Compile-Time with otelc Go & concurrency · 1 min №32 16 Jul Repository Updates in TypeScript: Locks and Optimistic Concurrency Software design & testing · 1 min · Series · TDD & Software Design №31 10 Jul Beyond Unicorn: Why I Code-Gen Instead of Emulating Projects · 1 min · Series · Projects №30 8 Jul Go Concurrency Patterns: A Practical Reading Order Go & concurrency · 1 min · Series · Go Patterns №28 7 Jul TypeScript DDD Aggregates & Repositories Software design & testing · 1 min · Series · TDD & Software Design №29 7 Jul Building a Native x64-to-C# Transpiler: Why I Built Alicorn Projects · 1 min · Series · Projects №26 4 Jul Context and Cancellation in Go: Stopping Work That Shouldn't Have Started Go & concurrency · 1 min · Series · Go Patterns №27 4 Jul Go Goroutines vs C# async/await: Who Carries the Cognitive Load? Go & concurrency · 1 min · Series · Go Patterns №25 30 Jun Value Objects & Entities in TypeScript: Building Blocks That Can't Break Software design & testing · 1 min · Series · TDD & Software Design №24 24 Jun Beyond PGN: Designing an Ultra-Efficient Chess Storage Format Chess & study · 1 min №23 19 Jun Beyond Minimalism: A Japanese-Inspired UX for the Web Design & culture · 1 min · Series · UX Japan №21 5 Jun How to Merge PGN Files in F#: Streaming, Performance, and Discriminated Unions Projects · 1 min · Series · Projects №22 5 Jun What Western UX Can Learn from Japanese Web Design Design & culture · 1 min · Series · UX Japan №20 31 May Why Japanese Websites Look Overloaded: Density, Tokyo, and Trust Design & culture · 1 min · Series · UX Japan №19 24 May TDD Isn't About Bugs — It's Your Permission to Refactor Software design & testing · 1 min · Series · TDD & Software Design №18 4 May Docker 29 Broke Traefik — Here's the Fix (and Why It Happened) Systems & tooling · 1 min №17 30 Apr Why I Built ZaString Projects · 1 min · Series · Projects №16 27 Apr Generic Methods Coming to Go Go & concurrency · 1 min №15 26 Apr I Write, I Code, I Explore — Why Verbs, Not Nouns Notes on practice · 1 min №14 24 Apr Go Pipeline Pattern: Turning Streams into Useful Data Go & concurrency · 1 min · Series · Go Patterns