Backend Engineering · Concurrency · Distributed Systems

Notes on backend engineering, concurrency, distributed systems, data systems, and software engineering practice.

Start Here

All Series →
  1. Starts from the boundaries of concurrency problems, then builds toward hardware memory models, language-level concurrency semantics, and the mechanisms behind common concurrency primitives.

    10 articles · Java · JUC

Latest Articles

All Articles →
  1. Concurrency Programming (1.5): The Operating System Layer — Threads, Schedulers, and Runtime Scheduling

    Following Java platform and virtual threads, Go G-M-P, and CPython threads from their runtime representations to OS threads and ultimately CPU execution.

  2. Concurrency Programming (1): Start with the Hardware — From count++ to Atomicity, Visibility, and Ordering

    Starting from the von Neumann architecture and instruction execution, this article follows count++ down to the hardware-level problems of atomicity, visibility, and ordering.

  3. Concurrency Programming (2): Language Memory Models — Rules Programmers Can Rely On

    Moves from hardware memory models back to the language layer: why languages need their own concurrency semantics, and what Java, Go, and CPython guarantee to concurrent programs.

  4. Concurrency Programming (0): The Problem Space and Scope

    Defines the scope as concurrency within a single process on a single machine, then connects shared variables, shared memory, message passing, language concurrency semantics, and hardware implementation.

  5. Concurrency Programming (4): How Mutexes Are Implemented — From Runtime to CPU

    Traces the actual implementation paths of Java synchronized, Go sync.Mutex, and CPython threading.Lock to show how mutexes rely on atomic operations, memory ordering, and waiting and wake-up mechanisms.

Engineering Knowledge

All Notes →
  1. DownKitBuilding

    A media downloader focused on video, with support for audio and other media resources.

    Video Downloads · Media Tools · Go
  2. A personal blog system built and evolved around long-term knowledge accumulation, technical writing, and content distribution.

    Blog · Astro · Knowledge Management

Beyond Engineering

All Notes →