Course
Rust
From your first borrow check to a self-hosted cloud you wrote yourself. Data structures, algorithms, kernels, file systems, containers, distributed systems, and the AWS services they imitate — all built by hand in Rust.
95 of 231 lessons across 31 sections.
Philosophy
- Coding by HandTyping grows the brain. Build: none. Output: gym/brain diagram.
- The Rust PhilosophyZero-cost abstractions, fearless concurrency. Build: port a C buffer-overflow to Rust. Output: annotated compiler errors.
- Why Systems Programming Still MattersWhere Python ends. Build: sum a 10M vector in both. Output: ns-per-op chart.
Foundations
- What Is ProgrammingSteps and state. Build: pseudocode a coffee order. Output: flowchart.
- How Computers WorkCPU, cache, memory, bus. Build: sum a vector strided 1 vs 64 bytes. Output: cache-line cliff plot.
- Layers of AbstractionSilicon → machine code → Rust. Build: compile a one-liner, dump asm. Output: source/asm side-by-side.
- Installing the Toolchainrustup, cargo, rust-analyzer. Build: `cargo new hello_world`. Output: terminal capture.
- Reading Rust CodeModules, `use`, the prelude. Build: navigate serde. Output: module-graph diagram.
Rust Primitives
- Variables and ShadowingBindings, mutability. Build: a typed-shadowing chain. Output: memory-cell diagram.
- Integer Types and OverflowDebug-trap vs release-wrap. Build: trigger wrapping/saturating/checked. Output: number line.
- Floats and PrecisionIEEE 754, NaN. Build: naive vs Kahan summation. Output: float bit-layout.
- Strings vs &strUTF-8, slices. Build: iterate by char, byte, grapheme. Output: byte tape with code-point marks.
- Control Flow`if`, `loop`, `while`, `for`. Build: FizzBuzz four ways. Output: terminal animation.
- Pattern MatchingExhaustiveness, guards. Build: shape classifier. Output: match decision tree.
- Functions and Closures`Fn`/`FnMut`/`FnOnce`. Build: counter closure. Output: captured-env stack frame.
- IteratorsThe `Iterator` trait, lazy chains. Build: a custom stepped-range iterator. Output: per-step execution timeline.
Ownership and Borrowing
- Stack and Heap, Made ExplicitBuild: `Box::new` and print addresses. Output: stack/heap diagram.
- Move SemanticsWhy `let b = a` invalidates `a`. Build: the move error, three fixes. Output: before/after ownership arrows.
- References and BorrowsAliasing rules. Build: iterate-while-modifying, fix. Output: overlapping-borrow timeline.
- LifetimesWhat `'a` proves. Build: `fn longer<'a>(…)`. Output: annotated region diagram.
- Smart Pointers from ScratchBuild: 200-line `MyRc` with strong/weak. Output: live count display.
- `unsafe` and Raw PointersBuild: `MyVec` from raw alloc. Output: memory tape (alloc/used/free).
Errors and I/O
- Result and the `?` OperatorBuild: parse a config with typed errors. Output: error-flow diagram.
- `panic` vs RecoverableBuild: panic + `catch_unwind`. Output: annotated stack trace.
- Custom Errors with thiserrorBuild: `ParseError` across three layers. Output: variant conversion graph.
- File I/O with Read/Write`BufReader`, paths. Build: a `wc` clone. Output: matches real `wc -lwc`.
Data Structures
- Arrays and VecBuild: `MyVec<T>` with reallocation. Output: capacity-doubling animation.
- Linked Lists (the Rite of Passage)Build: singly-linked with `Box`, then `Rc<RefCell>`. Output: two ownership diagrams.
- Stacks and QueuesBuild: both with `Vec`, then `VecDeque`. Output: terminal push/pop animation.
- Hash Maps from ScratchRobin-hood probing. Build: 250-line `MyHashMap`. Output: bucket-array visualization.
- Trees with ArenasBuild: BST in a `Vec<Node>` arena. Output: tree with arena-index edges.
- Graphs by Hand and with petgraphBuild: friendship graph from CSV. Output: rendered graph via dot.
- B-treesBuild: in-memory B-tree, order 4. Output: tree drawing with animated splits.
Algorithms
- Big O, in MicrosecondsBuild: time merge vs insertion across sizes. Output: log-log crossover plot.
- SortingBuild: generic `sort<T: Ord>` for four algorithms. Output: bar animation per algorithm.
- SearchingBuild: the classic off-by-one binary search. Output: search-window-shrinking viz.
- Recursion and the Call StackBuild: tail-recursive vs naive factorial. Output: growing-stack diagram.
- Dynamic ProgrammingBuild: fib three ways. Output: memo-table heatmap.
- Graph AlgorithmsBFS, DFS, Dijkstra. Build: shortest path on the friendship graph. Output: visit-coloring animation.
- LeetCode Warm-UpsA dozen classics. Build: the dozen, brute then better. Output: your-time vs optimal table.
Traits, Generics, Paradigms
- Structs and MethodsBuild: `Rectangle::area`/`scale`. Output: struct memory layout.
- Enums and Sum TypesBuild: `Color` enum with variant data. Output: discriminant layout.
- TraitsDefaults, blanket impls. Build: `Drawable` + three shapes. Output: terminal scene calling `draw()`.
- Generics and BoundsMonomorphization. Build: `Container<T: Clone + Debug>`. Output: asm before/after monomorphization.
- Trait Objects`Box<dyn Trait>`, the vtable. Build: `Vec<Box<dyn Drawable>>` scene. Output: vtable diagram.
- Rust Gotchas`RefCell` panics, async lifetime traps, `Cow`. Build: trigger each. Output: error-message hall of fame.
Under the Hood
- Rust Toolingrustup, cargo, clippy, rustfmt, feature flags. Build: a workspace with all four wired up. Output: the `cargo check` → `clippy` → `fmt` pipeline rendered.
- How Rust CompilesLex → parse → HIR → MIR → LLVM → machine code, plus borrow checker. Build: dump each stage. Output: annotated pipeline with file sizes.
- Memory and StorageAllocator, `Drop`, struct layout, `#[repr(C)]`, why SSDs beat HDDs. Build: `LoudDrop`, a `#[repr(C)]` interop struct. Output: drop trace + layout diagram.
Project: Poker
Low-Level Design
- Design Tic Tac ToeBoard state, players, win detection. Build: CLI two-player. Output: ASCII board.
- Design LRU CacheDoubly-linked list + hashmap. Build: `LRU<K, V>` with O(1) get/put. Output: eviction animation over a trace.
- Design ATMCard, Account, Transaction, Bank. Build: state machine (Idle, CardInserted, PinEntered, MenuShown). Output: state-transition diagram + terminal session.
- Design Elevator SystemMulti-car scheduling. Build: SCAN/LOOK + a hall-call dispatcher. Output: time-vs-floor chart per elevator.
- Design Car Rental SystemVehicles, reservations, returns. Build: state machine + availability search. Output: terminal rental flow + fleet calendar grid.
- Design Hotel ManagementRooms, reservations, billing. Build: CLI booking flow. Output: occupancy heatmap by room and date.
- Design Restaurant ManagementTables, orders, kitchen tickets. Build: event-driven sim. Output: live table-state grid.
- Design Library ManagementBooks, members, loans, holds. Build: CLI library system with overdue rules. Output: book-flow diagram.
- Design Airline ManagementFlights, seats, bookings. Build: booking with seat selection. Output: rendered seat map.
- Design Concert Ticket BookingEvents, holds, expiry. Build: booking with seat-hold TTL. Output: venue map with sold/held/free.
- Design Online AuctionItems, bids, deadlines, notifications. Build: async auction with timed close + bid history. Output: bid timeline chart.
- Design Digital WalletAccounts, balances, transfers. Build: transactional wallet with double-entry bookkeeping. Output: ledger trace.
- Design Pub Sub SystemTopics, subscribers, fanout. Build: in-memory broker with backpressure. Output: publish/deliver sequence diagram.
- Design Social Network (Facebook)Users, friends, posts, feed. Build: friend graph + chronological feed generator. Output: rendered news feed + connection graph.
- Design LinkedInUsers, second-degree connections, posts, search. Build: graph + BFS-degree-limited search. Output: connection-graph viz with degree shading.
Crates and Libraries
- What Is a Crate`Cargo.toml`, `lib.rs`. Build: a library, `cargo package`. Output: docs.rs-style surface.
- serdeSoonDerive macros. Build: round-trip a struct through JSON, CBOR, postcard. Output: byte-size comparison.
- ndarraySoonN-dim arrays, broadcasting, strides. Build: a small matmul + a broadcast op. Output: memory-layout diagram.
- polarsSoonDataFrames, lazy frames, joins. Build: re-analyze the Python ETL dataset. Output: the same plot, in Rust.
- plottersSoonStatic charts. Build: render every chart this course has produced so far. Output: PNG gallery.
- tch-rs / burnSoonTensors, autograd, two-layer MLP. Build: a 2-layer MLP trained end-to-end on MNIST. Output: loss curve + a few correct/incorrect predictions.
Data and Stats
- Build an ETL PipelineBuild: fetch + clean + load to SQLite via sqlx. Output: a real correlation as a plotters chart.
- Statistics You Actually NeedBuild: simulate distributions, z-scores, CLT, CIs. Output: histogram + bell-curve overlay.
- Time-Series BasicsBuild: moving-average forecaster. Output: time series with smoothed overlay.
Services
- What Is an APIBuild: hand-write an HTTP request with `nc`. Output: raw request/response.
- Build an API with axumBuild: `/todos` service, 150 lines. Output: request sequence diagram.
- Consume APIs with reqwestBuild: CLI aggregating three public APIs. Output: ratatui dashboard.
- What Is a DatabaseBuild: "database" as a JSON file, break it under concurrency. Output: race-trace.
- SQL with sqlxCompile-time-checked queries. Build: `/todos` on SQLite. Output: `EXPLAIN` query plans.
- Embedded KV with sledBuild: `/todos` on sled. Output: sled storage dump.
AI
Cloud, Consumer Edition
- What Is the CloudMetal → VMs → containers → serverless. Build: layered-cake diagram. Output: the diagram.
- EC2 — VMs as a ServiceBuild: launch + SSH into a Linux instance. Output: annotated console screenshot.
- ECS, EKS, FargateThree flavors of managed containers. Build: deploy one container to each. Output: comparison table (startup time, cost, complexity).
- AWS Lambda in RustCargo Lambda. Build: image-resize Lambda. Output: cold/warm latency histogram.
- Elastic Beanstalk and LightSailPaaS and simplified VPS. Build: same app on both. Output: setup-time comparison.
- S3 with aws-sdk-rustBuild: CLI mirroring a folder up. Output: upload-progress bar.
- EBS, EFS, FSx — the Storage TrioBuild: one EC2 with EBS, EFS, and FSx mounted. Output: throughput-vs-latency chart per volume.
- RDS and AuroraManaged relational. Build: deploy a Multi-AZ Postgres + an Aurora cluster. Output: failover-time comparison.
- DynamoDBSoonPartition keys, single-table. Build: a contacts app. Output: item + GSI diagram.
- ElastiCacheSoonManaged Redis. Build: cache layer in front of RDS. Output: hit-rate + p99 latency chart.
- SQS and SNS — Queues and Pub/SubSoonBuild: fanout pipeline (SNS → multiple SQS). Output: message-flow diagram.
- VPC — Cloud NetworkingSoonSubnets, route tables, NAT, IGW. Build: multi-AZ VPC by hand. Output: network topology diagram.
- ELB — Load BalancingSoonALB vs NLB vs GWLB. Build: ALB across two EC2s. Output: round-robin traffic chart.
- Route 53SoonDNS at scale. Build: latency-based routing across regions. Output: per-region latency map.
- CloudFrontSoonCDN, edge caching. Build: sign URLs, cache static + dynamic. Output: origin-vs-edge latency chart.
- IAM and Cognito — IdentitySoonBuild: role-based IAM + a Cognito federated login. Output: policy graph + signed-request walkthrough.
- WAF and ShieldSoonWeb firewall and DDoS. Build: WAF rule blocking SQLi. Output: before/after attack-success rate chart.
- CloudWatch and CloudTrailSoonMetrics and audit. Build: dashboard + alarm + audit query. Output: dashboard screenshot + audit-log table.
- X-Ray and ConfigSoonTracing and compliance. Build: trace a request, run a config rule. Output: trace flame graph + compliance status.
- SageMaker and Cloud EconomicsSoonManaged ML + Cost Explorer/Trusted Advisor. Build: train an MLP on SageMaker; render a Cost Explorer breakdown for it. Output: training curve + cost pie chart.
Concurrency
- Threads, Send, SyncSoonBuild: a parallel sum the compiler accepts and one it rejects. Output: what-compiles matrix.
- ChannelsSoonmpsc, crossbeam. Build: worker pool. Output: job-flow timeline.
- Mutexes and RwLocksSoonBuild: shared counter, race-then-fix. Output: contention plot.
- Condition VariablesSoonwait/notify. Build: a bounded buffer with cv signaling. Output: producer/consumer timeline.
- SemaphoresSoonCounting permits, the often-wrong-primitive lesson. Build: a connection-pool limiter. Output: permit-count timeline.
- Atomics and the Memory ModelSoonOrdering made concrete. Build: lock-free counter, SPSC queue. Output: before/after reordering diagrams.
- Locked Data StructuresSoonBuild: coarse vs fine-grained locked HashMap. Output: throughput-vs-threads chart.
- Concurrency BugsSoonData race vs deadlock vs atomicity violation. Build: one reproducible example of each. Output: taxonomy table + trace per bug.
- Print FooBar AlternatelySoonTwo-thread alternation. Build: condvar version and channel version. Output: interleaving trace.
- Print Zero Even OddSoonThree-way coordination. Build: three threads + two semaphores. Output: per-thread Gantt.
- Fizz Buzz MultithreadedSoonFour-way work distribution. Build: one thread per output type. Output: output trace + per-thread tick count.
- Building H₂O MoleculeSoonBarrier for grouped threads. Build: a 2H+1O barrier. Output: molecule-assembly timeline.
- Thread-Safe Blocking QueueSoonBuild: `BlockingQueue<T>` with bounded capacity. Output: blocking-then-unblocking timeline.
- Thread-Safe Cache with TTLSoonBuild: `TTLCache<K, V>` with `RwLock` + background expirer thread. Output: hit/miss/evict timeline.
- Concurrent HashMapSoonLock striping, dashmap-style. Build: a 16-stripe HashMap. Output: contention heatmap by stripe.
- Concurrent Bloom FilterSoonBuild: atomic-bitset Bloom filter. Output: false-positive rate vs load chart.
Async
- Multi-threaded Merge SortSoonDivide-and-conquer parallelism. Build: parallel merge sort with `rayon::join`. Output: speedup-vs-cores chart.
- Build a Toy Async ExecutorSoonFutures, wakers. Build: 300-line executor running ten tasks. Output: runtime trace.
- Async with tokioSoonTasks, `select!`, cancellation. Build: port scanner with timeouts. Output: live port-state grid.
Networking
- IP — the Network LayerSoonAddresses, fragmentation, TTL. Build: parse and pretty-print an IP packet from hex. Output: annotated packet diagram.
- UDPSoonConnectionless datagrams. Build: a UDP echo server + a packet-loss simulator. Output: loss-vs-throughput chart.
- TCP from the BottomSoonSockets, three-way handshake. Build: `TcpListener` echo server. Output: Wireshark-style capture.
- ICMPSoonping, traceroute. Build: both, by hand. Output: hop-by-hop latency table.
- ARPSoonIP → MAC on the LAN. Build: raw-socket ARP query. Output: ARP cache view, before/after.
- DHCPSoonAuto-config. Build: a tiny DHCP client. Output: DORA sequence diagram.
- BGP — Inter-AS RoutingSoonPath vectors at internet scale. Build: a toy BGP speaker between two ASes. Output: AS-path graph.
- HTTP/1.1 by HandSoonBuild: 300-line HTTP server. Output: one-request sequence diagram.
- TLS from ScratchSoonHandshake, cert chain, AEAD. Build: a TLS 1.3 client speaking to a real server (using ring for primitives, not building crypto from scratch). Output: handshake state machine + key-derivation trace.
- HTTPSSoonHTTP over TLS, HSTS, cert pinning. Build: an axum server with rustls. Output: browser padlock + cert chain rendered.
- WebSocketsSoonUpgrade, frames, pings. Build: chat server. Output: live multi-client terminal chat.
- DNS Resolver and mio Event LoopsSoonUDP packets, raw event-loop. Build: a dig clone + a mio echo server. Output: parsed DNS answer + event-loop tick diagram.
Persistence
- I/O DevicesSoonDMA, MMIO, polling vs interrupts. Build: simulate each model in userspace. Output: throughput chart per model.
- Hard Disk DrivesSoonGeometry, rotational latency. Build: model an HDD with seek + rotation. Output: access-pattern latency chart.
- Flash SSDsSoonFTL, wear leveling, GC. Build: a tiny FTL with garbage collection. Output: erase-block heatmap.
- RAIDSoon0/1/5/6. Build: a software RAID-5 striper with parity. Output: read/write/rebuild speed chart.
- Block Devices and the Page CacheSoonDisks pretend to be byte streams. Build: read/write a raw block device file. Output: IO-size vs latency chart.
- Build a Write-Ahead LogSoonBuild: 300-line WAL. Output: crash-then-recover animation.
- A KV Store on the WALSoonBuild: put/get/delete crash-safe. Output: throughput vs sled.
- B-trees on DiskSoonPages, splits, merges. Build: single-file B-tree. Output: page-layout viewer.
- LSM-treesSoonMemtable, SSTables, compaction. Build: tiny LSM. Output: compaction animation.
- Snapshots and MVCCSoonBuild: MVCC on the KV store. Output: two transactions seeing different snapshots.
- Data IntegritySoonChecksums, end-to-end verification, scrubbing. Build: CRC32 + a ZFS-style scrubber. Output: corruption-detection trace.
- WAL+B-tree vs LSMSoonBuild: same workload, both engines. Output: read/write/space three-way chart.
Filesystems
- What a Filesystem IsSoonInodes, directories. Build: parse an ext2 image from hex. Output: annotated hex viewer.
- FUSE in RustSoonBuild: mount a filesystem on your KV store. Output: live tree of the mounted FS.
- JournalingSoonCrash safety, atomic renames. Build: a journal on top of FUSE. Output: before/after crash mid-write.
- FFS — Fast File SystemSoonCylinder groups, the historical leap. Build: a cylinder-group-aware allocator on top of FUSE. Output: allocation-locality heatmap.
- LFS — Log-structured File SystemSoonAppend-only segments. Build: an LFS-style allocator. Output: segment-utilization chart over time.
- OCI-shaped Overlay FilesystemSoonLayered images. Build: lower + upper, render merged. Output: three-pane diff viewer.
- NFS and AFSSoonNetwork and whole-file caching. Build: tiny NFS-shaped server + an AFS-shaped client. Output: cache-state diagram per model.
Distributed Systems
- Replication and ConsistencySoonSingle leader, multi-leader, leaderless. Build: a replicated KV with chosen consistency. Output: replication-lag chart + consistency-anomaly trace.
- Consensus — RaftSoonLeader election, log replication. Build: a 3-node Raft. Output: election timeline + log convergence.
- CAP, PACELC, and Vector ClocksSoonBuild: a vector clock + a partition simulator. Output: concurrent-event graph.
- Two-Phase Commit and SagasSoonDistributed transactions. Build: a 2PC coordinator + a saga compensator. Output: sequence diagram per protocol.
- Distributed TracingSoonSpans, baggage, sampling. Build: propagate a trace-id across three services. Output: flame graph.
Security
- Intro to SecuritySoonThreat models, trust boundaries, defense in depth. Build: a STRIDE threat-model doc for one of your earlier projects. Output: the threat-model table + a trust-boundary diagram.
- AuthenticationSoonPasswords, salts, MFA, password-less. Build: Argon2 + TOTP MFA. Output: hash-derivation trace + QR code for TOTP setup.
- Access ControlSoonCapabilities vs ACLs vs RBAC vs ABAC. Build: a policy engine evaluating all four models. Output: per-model permission matrix.
- Cryptography by HandSoonSymmetric, asymmetric, hashes, signatures, AEAD. Build: each primitive once from a textbook recipe (slow, educational; never ship). Output: round-trip animation per primitive.
- Distributed SecuritySoonKerberos, OAuth 2, signed requests. Build: an OAuth 2 client and resource server. Output: token-flow sequence diagram.
- Practical Security BugsSoonSQLi, XSS, CSRF, buffer overflow. Build: break and fix one of each in your axum/sqlx code. Output: before/after request-flow diagrams.
Bare Metal
- `no_std` and the AllocatorSoonBuild: `no_std` Linux binary via libc. Output: binary-size comparison.
- Linker Scripts and the Boot PathSoonBuild: a linker script + `_start`. Output: annotated `readelf`.
- QEMU as a Dev LoopSoonBuild: cargo runner → QEMU → serial. Output: serial console screenshot.
- Hello, FramebufferSoonBuild: draw a red square. Output: the red square in QEMU.
- Reading Keyboard via PS/2SoonBuild: IRQ handler that echoes. Output: live framebuffer echo.
Silicon and Instruction Sets
- The Integrated CircuitKilby and Noyce put a whole circuit on one slab in 1958 and reset the rate of progress. Build: none. Output: photo of a discrete transistor next to a first-generation IC.
- From Transistors to MicroprocessorsHow the Intel 4004 packed a CPU onto one chip and made personal computing possible. Build: none. Output: Moore's Law transistor-count plot through 2026.
- The Instruction SetSoonWhat a CPU actually understands, and why an ISA is a contract that outlasts every chip that implements it. Build: emit a Rust function as ARM assembly with cargo --emit=asm. Output: Rust source next to its disassembly.
- x86 and the Weight of CompatibilityWhy every modern Intel chip still runs an 8086 instruction from 1978. Build: none. Output: timeline of x86 instruction additions, 1978 to 2026.
- CISC vs RISCPatterson and Hennessy's argument that simpler instruction sets win the long game. Build: none. Output: side-by-side instruction-encoding diagram for x86 vs ARM.
- ARM and the Mobile PivotHow a British team's low-power RISC chip ended up in every phone, then every Mac, then every AWS server. Build: none. Output: ARM Cortex die photo with block-diagram overlay.
- Cross-Compiling in RustSoonSame Rust source, two architectures, two outputs the compiler decides. Build: rustup target add x86_64-apple-darwin, write one function, compile for both. Output: ARM assembly next to x86 assembly for the same code.
- Memory Ordering and AtomicsSoonWhy Relaxed vs SeqCst matters more on ARM than on x86, and how Rust's atomics let you choose. Build: a microbench that races two threads with different Ordering values. Output: timing diff between Relaxed and SeqCst on Apple Silicon.
- Apple Silicon and Unified MemoryWhat the M-series did that Intel could not: one pool of memory for CPU, GPU, and Neural Engine. Build: none. Output: M-series die shot with block-diagram overlay of unified memory.
- RISC-VAn instruction set you can implement without paying anyone, and why that matters for the next 50 years. Build: none. Output: RISC-V base instruction-set encoding chart.
- GPUs and Parallel CoresSoonWhy one big core lost to thousands of small ones for the right kind of problem. Build: a wgpu Rust example that multiplies matrices on your Mac's Metal GPU. Output: CPU vs GPU timing chart for a matrix multiply.
- TPUs and Neural EnginesGoogle's matrix-multiply ASIC and Apple's on-die Neural Engine — what specialized AI silicon does, and why Rust talks to them only through high-level frameworks. Build: none. Output: TPU board photo next to Apple Neural Engine die shot.
Virtualization — Kernel
- Three Easy Pieces, MappedSoonThe plan. Build: none. Output: kernel architecture diagram.
- Direct ExecutionSoonHow the kernel hands the CPU to user code and gets it back. Build: a trap on a software interrupt. Output: trap entry/exit register diagram.
- Processes and the Kernel StackSoonBuild: a `Process` struct, fork two. Output: process table.
- Context SwitchingSoonBuild: switch routine in inline asm. Output: register-save animation.
- Memory API (Userspace)Soonbrk, sbrk, mmap. Build: a userspace malloc/free on top of sbrk. Output: heap layout over time.
- SegmentationSoonBase + bounds, the pre-paging world. Build: a segmented address space simulator. Output: segment-table walk.
- Paging and the MMUSoonBuild: identity-map first 4 MB by hand. Output: address-translation visualizer.
- Page Tables in RustSoonMulti-level. Build: page-table builder. Output: live page-table tree.
- TLB — Translation Lookaside BuffersSoonHit/miss cost. Build: a TLB simulator over a memory-access trace. Output: hit-rate vs working-set chart.
- Swapping: MechanismsSoonPage in, page out. Build: a swap-backed page fault handler. Output: page-fault rate over a working-set trace.
- Swapping: PoliciesSoonFIFO, LRU, clock, working set. Build: all four. Output: miss-rate-vs-policy chart on the same trace.
- Heap and Kernel AllocatorsSoonBump, linked-list, slab. Build: a kernel `Box`. Output: fragmentation map.
- Interrupts and the IDTSoonBuild: timer interrupt that prints. Output: tick-frequency timing chart.
- The Syscall BoundarySoonBuild: a `write` syscall. Output: register-flow diagram across the boundary.
Scheduling
- Round-RobinSoonBuild: it. Output: Gantt chart of CPU per process.
- MLFQSoonBuild: it. Output: Gantt vs RR on mixed CPU/IO workload.
- Lottery SchedulingSoonTickets, fairness, currency. Build: it. Output: CPU-share-vs-tickets chart.
- CFS-LiteSoonvruntime, red-black tree. Build: it. Output: vruntime growth per process.
- Multi-CPU SchedulingSoonPer-CPU runqueues, work stealing, affinity. Build: a 4-CPU scheduler with stealing. Output: per-CPU utilization + migration count chart.
- Benchmark All SchedulersSoonBuild: the harness. Output: Gantts side-by-side + summary table.
- GenAI as a SchedulerSoonThe contrast. Build: feed the process table to an LLM. Output: latency-vs-determinism chart + discussion.
Kernel Capstone
- Inter-Process CommunicationSoonPipes, shared memory, message passing. Build: a pipe between two processes. Output: message-flow diagram.
- Loading an ELF BinarySoonBuild: the ELF loader. Output: loaded address space visualized.
- The User-Mode JumpSoonBuild: drop privilege, set stack, jump. Output: userspace "hello" running on your kernel.
- A Userspace Shell on Your KernelSoonBuild: read, parse, exec. Output: ls/echo running on your OS.
Containers
- chroot — The OriginalSoonBuild: a chrooted shell. Output: truncated FS view.
- NamespacesSoonmount, PID, net, user, IPC, UTS. Build: clone with each flag. Output: six side-by-side terminals showing isolation.
- cgroupsSoonCPU, memory, IO. Build: limit a CPU-burner to one core. Output: CPU-percent chart before/after.
- Overlay Filesystem in RustSoonBuild: mount lower + upper. Output: three-pane diff viewer.
- The OCI Image FormatSoonBuild: construct a valid image. Output: layer-tree with sha256 hashes.
- A Container RuntimeSoonBuild: runc-shaped, ~800 lines. Output: lifecycle state diagram.
- A Container RegistrySoonBuild: axum + your KV. Output: push/pull sequence diagram.
- Networking Between ContainersSoonBridges, veth, NAT. Build: two containers over a bridge. Output: topology + packet flow.
Cloud, Builder Edition
- S3-Lite — Object StoreSoonBuild: on your KV, with presigned URLs. Output: browser uploading via your URL.
- DynamoDB-Lite — Sharded KVSoonPartition keys, GSIs. Build: it. Output: request distribution heatmap.
- SQS-Lite — Durable QueueSoonVisibility timeouts, DLQ. Build: on your WAL. Output: message lifecycle with retry + DLQ.
- SNS-Lite — Pub/SubSoonFanout to multiple queues. Build: on top of SQS-lite. Output: fanout diagram.
- ElastiCache-Lite — In-Memory CacheSoonBuild: a Redis-shaped server speaking RESP. Output: hit-rate + p99 chart.
- VPC-Lite — Cloud NetworkingSoonSoftware bridges + routing tables. Build: multi-subnet virtual network. Output: topology diagram.
- ELB-Lite — Load BalancerSoonL7 round-robin + health checks. Build: it, on top of axum. Output: per-backend traffic chart.
- CloudFront-Lite — Edge CDNSoonEdge nodes + signed URLs. Build: a 3-edge CDN. Output: origin-vs-edge latency chart.
- Lambda-Lite — Functions as a ServiceSoonBuild: on your container runtime. Output: invocation timeline.
- ECS-Lite — OrchestrationSoonBin-packing placement. Build: it. Output: live placement diagram.
- GenAI as a Pod SchedulerSoonWhere the slow oracle finally helps. Build: LLM picks placement, compare to bin-packing. Output: placement-quality chart.
- CloudWatch-Lite + X-Ray-Lite — Metrics and TracesSoonBuild: a Prometheus-shaped scraper + a Jaeger-shaped trace collector. Output: live dashboard + flame graph.
- CloudFormation-Lite + IAM-LiteSoonDeclarative resource trees + signed requests. Build: a YAML applier driving your S3/Dynamo/SQS/Lambda/ECS + sigv4-style signing. Output: dependency graph of a stack being applied + signed-request walkthrough.
Final Capstone — Your Cloud
- Deploy a Real App on Your CloudSoonA Rust photo-blog: web service in your Lambda, photos in your S3, posts in your DynamoDB, image-resize jobs through your SQS, scheduled by your ECS, in containers on your kernel, on your filesystem, behind your ELB, cached at your CDN edges, observed by your CloudWatch and X-Ray. Build: every glue piece. Output: browser screenshot of the running app.
- Trace One Request Through the Whole StackSoonBuild: a tracing-id propagated end-to-end. Output: flame graph from HTTP request through kernel syscall.
- Where to Go NextSoonThe map of adjacent territory. Build: none — a curated reading list. Output: graph of next stops (compilers, distributed databases, formal methods, GPU programming, embedded).