Skip to content

Cross-cutting topics

Every path covers the big systems concepts from its own angle. These indexes let you read the same concept across paths - three takes on garbage collection, four on concurrency, five on observability - without hunting through nine syllabi.

Topic What you'll find
Bit operations From beginner to advanced. The six operators, the four canonical mask operations, packing fields, powers of two and alignment, real-world uses (file permissions, IPv4 headers, RGBA, Bloom filters), and the classic tricks.
Two's complement How negative integers actually work. Why -1 is 0xFFFFFFFF, why ordinary add handles both signs, why -INT_MIN == INT_MIN, signed vs unsigned right shift, the production gotchas at FFI boundaries.
Endianness Why the same bytes mean different numbers on different machines. Big- vs little-endian, network byte order, htonl/htons, where each side wins, production bites (binary files, network protocols, cross-arch serialization, PostgreSQL vs SQLite).
Character encodings and UTF-8 What a "character" actually is (code point vs code unit vs grapheme), the UTF-8 byte layout decoded with worked examples, UTF-16 surrogate pairs, where each encoding lives, the production bugs (mojibake, normalization, MySQL utf8mb4, slicing mid-character).
Floating-point Why 0.1 + 0.2 != 0.3, the IEEE 754 layout, precision limits, NaN and infinity, subnormals, the patterns engineers use (epsilon comparison, Kahan summation, integer money, catastrophic cancellation), and the surprises (lost associativity, GPU fast-math, cross-platform reproducibility).
Pointer arithmetic and arrays Why a[i] is *(a + i), what an array actually is in memory, stride and row-vs-column iteration (and the 20× cache slowdown), fat pointers (slices and spans), and why SIMD vectorization depends on access patterns. Advanced: alignment, prefetching, false sharing, pointer tagging, GC tracing.
Virtual memory Why every address your program sees is a lie. Pages, page tables, MMU, TLB, huge pages, page faults, mmap and demand paging, copy-on-write and fork, swap, page cache, ASLR, NUMA. The mental model that makes top, pmap, strace, and crash dumps legible.
Garbage collection Tracing, generational, concurrent, regional. Go's tricolor, Java's G1/ZGC, Python's refcount+gen, the kernel's slab+buddy.
Concurrency Channels, locks, atomics, async, virtual threads, GIL, futex. Five languages, one set of hard problems.
Memory models Happens-before across JMM, Go MM, Rust orderings, and the Linux kernel. Why volatile is not enough - anywhere.
Observability pprof, JFR, py-spy, perf, eBPF. Always-on profiling as a discipline.
FFI Calling C from everything. cgo, Panama, ctypes/cffi, Rust extern. When to reach for each.
Build systems & toolchains Cargo, Maven/Gradle, go build, pip/uv, kbuild, BuildKit. Six builds, six bets.
Error handling Values vs exceptions. Go errors, Rust Result, Java checked/unchecked, Python EAFP, kernel errno.
Testing Unit, integration, property-based, fuzz, benchmark. JMH, jcstress, hypothesis, loom, syzkaller.
Networking Sockets, HTTP, gRPC across Go, Java, Rust, Python, kernel. The IO-multiplexing story (epoll, io_uring).
Async models Goroutines, Loom virtual threads, Tokio futures, asyncio coroutines, kernel I/O. Preemptive vs cooperative.
Type systems Nominal vs structural, generics-via-monomorphization vs erasure, sum types, null vs Option.
Distributed consensus Raft across the three capstones that implement it. Reading the paper, picking an implementation.
Performance methodology Beyond tools - USE/RED, latency vs throughput, percentiles, Amdahl, when to stop.
Containerization & deployment The build → image → registry → cluster pipeline. Bridges language paths to Containers + Kubernetes.

How to read these pages

Each cross-topic page follows the same shape:

  1. Why it matters - the one paragraph framing across paths.
  2. The lens, per path - one short section per relevant curriculum, with links into the source weeks.
  3. The contrasts that teach - what changes when you move between languages/runtimes.
  4. What to read first - a single recommended starting point.

The goal is not to summarize each path's chapter - it's to give you the map between them so you can decide which lens to learn first and which to come back to.