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:
- Why it matters - the one paragraph framing across paths.
- The lens, per path - one short section per relevant curriculum, with links into the source weeks.
- The contrasts that teach - what changes when you move between languages/runtimes.
- 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.