JA EN

#systems

35 articles

01 ·Engineering Process·FREE·8 min read Upstream Engineering from Scratch — Why Projects Are Won or Lost at Requirements Requirements, then high-level design, then detailed design — why that order? The reason is a branching factor that multiplies at every stage, making the cost of a late fix grow exponentially. Explained from zero with an analogy, a formula, an interactive plot, and code. 02 ·Engineering Process·★ MEMBER·12 min read The Craft of Requirements — Why "We Built Exactly What They Asked For" Fails Why shipping precisely what a stakeholder asked for produces software that works and nobody uses. Stated versus latent needs, use cases, turning "fast" and "secure" into numbers, and a set of question templates that expose ambiguity on the spot. 03 ·Engineering Process·★ MEMBER·10 min read Estimation and Scope — The Cone of Uncertainty and How to Negotiate Estimates miss because a question about a range gets answered with a point. The cone of uncertainty, three-point estimates, why buffers don't add up the way you think, reference class forecasting, and how to turn a deadline conversation into a scope conversation. 04 ·Engineering Process·★ MEMBER·9 min read Architecture Decisions — Telling Apart What You Can Undo From What You Cannot How to separate the design decisions you can cheaply reverse from the ones you can never take back. Measuring reversibility, writing ADRs that record what you gave up, and a template for putting trade-offs into words — from first principles. 05 ·Engineering Process·★ MEMBER·9 min read Upstream Work in the AI Era — When Code Gets Cheap, What Gets Valuable? When implementation gets cheap, which parts of the cost remain, and what becomes expensive by comparison? We put the relationship between deciding and reworking into an equation, then design specs for AI as lossy compression of intent — starting from zero assumed knowledge. 06 ·Agents·★ MEMBER·PAPER·13 min read Paper Explained: FreeToken — Treating Your Own PC as a Single Elastic Inference Platform FreeToken is an edge-native serving system for frontier-scale MoE models on personal hardware. Its centerpiece is a q* policy that decides how many missed experts to ship over PCIe versus execute in place on the CPU — using nothing but two measured bandwidths. 07 ·OS & Runtime·★ MEMBER·9 min read File Systems from Scratch — What Does "Saved" Actually Guarantee? If the power dies half a second after your editor says "Saved," is the file still there? Starting from a library card catalogue, this builds up blocks, inodes, directories, journaling and fsync from zero — and ends with why databases refuse to trust the file system, and which knobs turn a quiet setting into a production incident. 08 ·OS & Runtime·★ MEMBER·9 min read File Systems from Scratch — What Does "Saved" Actually Guarantee? If the power dies half a second after your editor says "Saved," is the file still there? Starting from a library card catalogue, this builds up blocks, inodes, directories, journaling and fsync from zero — and ends with why databases refuse to trust the file system, and which knobs turn a quiet setting into a production incident. 09 ·Databases·★ MEMBER·PAPER·10 min read Distributed Databases — CAP, Replication and Consensus The moment you add a second copy of your database, a brand-new question appears: which copy is right? Replication, quorums, CAP, two-phase commit, Raft and eventual consistency — from zero assumed knowledge down to the parameters you actually set in PostgreSQL and Cassandra. 10 ·Databases·★ MEMBER·PAPER·10 min read Distributed Databases — CAP, Replication and Consensus The moment you add a second copy of your database, a brand-new question appears: which copy is right? Replication, quorums, CAP, two-phase commit, Raft and eventual consistency — from zero assumed knowledge down to the parameters you actually set in PostgreSQL and Cassandra. 11 ·Parallel & Distributed·★ MEMBER·9 min read Concurrency from Scratch — Locks, Atomics, and Memory Models Why data races happen and why they refuse to reproduce in your tests, starting from zero. Locks, atomic operations, CAS, and memory models, built up through metaphor, math, and code. 12 ·Databases·★ MEMBER·9 min read Transactions and ACID — Concurrency Hell and the Isolation Levels Why a balance never evaporates when the power dies mid-transfer, and why the bug that only shows up in production is almost always a concurrency bug. Atomicity, isolation levels, MVCC and deadlocks — from zero assumed knowledge down to the actual PostgreSQL and MySQL parameter names. 13 ·Databases·★ MEMBER·9 min read Transactions and ACID — Concurrency Hell and the Isolation Levels Why a balance never evaporates when the power dies mid-transfer, and why the bug that only shows up in production is almost always a concurrency bug. Atomicity, isolation levels, MVCC and deadlocks — from zero assumed knowledge down to the actual PostgreSQL and MySQL parameter names. 14 ·Security·★ MEMBER·10 min read TLS from Scratch — Key Exchange and Certificates Behind the padlock icon, your browser pulls off something strange: it agrees on a secret with a stranger, over a wire everyone can read. This walks through key exchange, certificates, and the TLS 1.3 handshake from zero, ending with why a man in the middle cannot win. 15 ·Networking·FREE·11 min read From TCP to QUIC — Reinventing Reliable Communication The internet is built on a foundation that makes no promise of delivery. This piece starts from zero: how TCP manufactures reliability out of sequencing, retransmission and congestion control, why HTTP/2 hit a wall, and why QUIC deliberately rebuilt all of it on top of UDP. 16 ·Cloud & Ops·FREE·10 min read Serverless and Cost Design — Cloud That Won't Bankrupt You "Pay for what you use" also means "pay for what someone else uses of you." Starting from zero, this piece builds up scale-to-zero, the GB-second billing unit, and the accident patterns that make a bill grow exponentially — ending with a kill switch you can actually design into your own project. 17 ·Cloud & Ops·FREE·10 min read Serverless and Cost Design — Cloud That Won't Bankrupt You "Pay for what you use" also means "pay for what someone else uses of you." Starting from zero, this piece builds up scale-to-zero, the GB-second billing unit, and the accident patterns that make a bill grow exponentially — ending with a kill switch you can actually design into your own project. 18 ·Compilers & Runtimes·★ MEMBER·11 min read Why Python Is Slow — Said Precisely Saying Python is slow bundles three unrelated complaints: the cost of a single operation, the way data is laid out in memory, and the fact that CPU work does not spread across threads. Objects and the eval loop, the real reason NumPy is fast, what the GIL actually protects, and how far free-threaded builds since PEP 703 get you — from zero assumed knowledge. 19 ·Compilers & Runtimes·★ MEMBER·11 min read Why Python Is Slow — Said Precisely Saying Python is slow bundles three unrelated complaints: the cost of a single operation, the way data is laid out in memory, and the fact that CPU work does not spread across threads. Objects and the eval loop, the real reason NumPy is fast, what the GIL actually protects, and how far free-threaded builds since PEP 703 get you — from zero assumed knowledge. 20 ·OS & Runtime·FREE·13 min read Processes and Memory from Scratch — What Is the OS Actually Protecting? One app can crash without taking the machine down with it. Process isolation and virtual memory are what make that ordinary. Starting from a post-office-box analogy, this builds up paging, address translation, TLBs, page faults, swap and the OOM killer from zero — and ends with you able to read free and dmesg yourself. 21 ·OS & Runtime·FREE·13 min read Processes and Memory from Scratch — What Is the OS Actually Protecting? One app can crash without taking the machine down with it. Process isolation and virtual memory are what make that ordinary. Starting from a post-office-box analogy, this builds up paging, address translation, TLBs, page faults, swap and the OOM killer from zero — and ends with you able to read free and dmesg yourself. 22 ·Cloud & Ops·★ MEMBER·10 min read Observability — Logs, Metrics, and Traces in Practice When the phone rings at 3 a.m., can you answer without logging into production and looking around? Starting from zero, this piece builds up structured logging, metric cardinality, trace context propagation, and SLOs with error budgets — then lines them all up as a single motion: notice, narrow, confirm. 23 ·Cloud & Ops·★ MEMBER·10 min read Observability — Logs, Metrics, and Traces in Practice When the phone rings at 3 a.m., can you answer without logging into production and looking around? Starting from zero, this piece builds up structured logging, metric cardinality, trace context propagation, and SLOs with error budgets — then lines them all up as a single motion: notice, narrow, confirm. 24 ·Compilers & Runtimes·★ MEMBER·10 min read JIT and GC — Getting Faster While Running, Cleaning Up While Running A just-in-time compiler and a garbage collector are both services that have to work without stopping the application. Hot spot detection, tiered compilation, inlining, speculation and deoptimization, generational GC, tri-color marking and write barriers — built up from zero, ending where you can read a GC log and a JIT log yourself. 25 ·Compilers & Runtimes·★ MEMBER·10 min read JIT and GC — Getting Faster While Running, Cleaning Up While Running A just-in-time compiler and a garbage collector are both services that have to work without stopping the application. Hot spot detection, tiered compilation, inlining, speculation and deoptimization, generational GC, tri-color marking and write barriers — built up from zero, ending where you can read a GC log and a JIT log yourself. 26 ·Networking·★ MEMBER·8 min read HTTP/1.1 → 2 → 3 — The Road to Multiplexing Thirty years of HTTP is really one argument: how many conversations can share a single connection? Why 1.1's one-at-a-time rule created traffic jams, what HTTP/2 solved with frames and streams, why the jam simply moved one floor down, what HTTP/3 separated by swapping the foundation — and how to measure your own network before picking one. 27 ·Networking·★ MEMBER·11 min read DNS and CDNs — What Happens Between Enter and Pixels In the second or so between pressing Enter and seeing a page, a name gets resolved down a tree, four layers of cache get consulted, and an edge server somewhere near you answers instead of the origin. Here is how DNS walks that tree, what a TTL does not promise, and how a CDN talks its way around the speed of light — from zero background. 28 ·Databases·FREE·10 min read Database Internals — What Happens Behind a Single Line of SQL Between hitting Enter on a SELECT and getting rows back, five stages run inside the database: parser, rewriter, planner, executor, storage. Here is why two plans returning identical rows can differ by orders of magnitude, and why stale statistics make a fast query go slow overnight — from zero background to the knobs you actually turn. 29 ·Databases·FREE·10 min read Database Internals — What Happens Behind a Single Line of SQL Between hitting Enter on a SELECT and getting rows back, five stages run inside the database: parser, rewriter, planner, executor, storage. Here is why two plans returning identical rows can differ by orders of magnitude, and why stale statistics make a fast query go slow overnight — from zero background to the knobs you actually turn. 30 ·Security·FREE·13 min read Cryptography from Scratch — Symmetric Keys, Public Keys, and Hashes Cryptography isn't about producing unreadable text — it's about engineering an extreme gap in effort between people who hold the key and people who don't. We build up the three tools (symmetric, public-key, hashing) from zero, explain why factoring shows up at all, what a signature actually promises, and how every widely deployed cipher has eventually broken. 31 ·OS & Runtime·★ MEMBER·12 min read Containers from Scratch — What namespaces and cgroups Actually Are A container is not a lightweight virtual machine — it is an ordinary process with its view restricted. We take it apart into namespaces (what you can see), cgroups (how much you may use), and images (stacked read-only layers), from the first analogy through overlayfs, cpu.max, and how to read exit code 137. 32 ·OS & Runtime·★ MEMBER·12 min read Containers from Scratch — What namespaces and cgroups Actually Are A container is not a lightweight virtual machine — it is an ordinary process with its view restricted. We take it apart into namespaces (what you can see), cgroups (how much you may use), and images (stacked read-only layers), from the first analogy through overlayfs, cpu.max, and how to read exit code 137. 33 ·Compilers & Runtimes·FREE·11 min read Compilers From Scratch — How Source Becomes Machine Code One line of source code, followed all the way down through lexing, parsing, semantic analysis, intermediate representation, optimization, and code generation, until it comes out as a single machine instruction. Along the way: why bugs surface at -O2, and why your benchmark loop disappears. 34 ·Compilers & Runtimes·FREE·11 min read Compilers From Scratch — How Source Becomes Machine Code One line of source code, followed all the way down through lexing, parsing, semantic analysis, intermediate representation, optimization, and code generation, until it comes out as a single machine instruction. Along the way: why bugs surface at -O2, and why your benchmark loop disappears. 35 ·Security·★ MEMBER·14 min read Authentication and Authorization — From Passwords to OAuth and Passkeys "Who are you?" and "what are you allowed to do?" are two different questions. This piece builds up password storage, sessions and tokens, the four actors in OAuth, and why passkeys resist phishing — assuming nothing to start with.