Low-Level Atlas III Index
Eight branches across seven phases, building one real-time chat from raw TCP up to a compliant WebSocket, with two clients speaking the same wire format. This atlas assumes Low-Level Atlas I (the machine model, C, pointers, assembly, the toolchain, an OS) and Low-Level Atlas II (real systems in C — a shell, a malloc, an HTTP server, a database engine) are already done. Nothing here re-explains sockets as file descriptors or how an event loop works at the syscall level; everything here builds on that.
01 · TCP from Scratch
- TCP Fundamentals — the three-way handshake, Nagle, socket buffers, backpressure, half-close.
02 · Design Your Own Protocol
- Custom Binary Protocol — framing, binary serialization, versioning, heartbeats — before WebSocket.
03 · WebSocket, for Real
- WebSocket Protocol from Scratch — RFC 6455 by hand: handshake, frame format, control frames, fragmentation.
04 · Concurrency at Scale
- Connection Concurrency at Scale — epoll/kqueue vs thread-per-connection, C10K→C10M, lock vs lock-free registries.
05 · Messaging Architecture
- Presence, Rooms & Fanout — rooms, presence, delivery guarantees, ordering, the pub/sub backplane concept.
06 · Two Clients, One Protocol
- Client in C — a terminal client, non-blocking I/O, reconnection with backoff.
- Client in TypeScript — the same protocol, high-level runtime, direct ergonomics comparison.
★ · Always Active
- Network Craftsmanship — mock sockets, frame fuzzing, Wireshark/tcpdump, connection observability, TDD for async code.
Reference
- Reference Registry — sources, tools, and the RFCs and guides this atlas draws from.