Complete archive
Archive
3,240 articles, newest first · page 20 of 54. For subject-based browsing use topics; for keyword lookup try search. Dates shown are assigned archive dates that order the library; they are not historical publication records.
-
2025
Dec 8, 2025 Power of Two Choices and the Cost of a Random Probe Why sampling two backends and picking the less loaded one beats both random assignment and global state, and how stale or misleading load signals degrade the guarantee. backend systems · intermediate - Dec 8, 2025 Ring-Counter Accumulators and the Cost of Rewiring ENIAC How ten flip-flops per digit hold a decimal number and count incoming pulses, how cables and switch banks define a program, and what function-table coding changed in 1948. computing history · advanced
- Dec 8, 2025 Sizing Energy Storage for an Intermittently Powered Device How a harvesting source, a buffer capacitor, and a load with a fixed energy per operation determine whether a device can run at all, and what happens at the boundary. embedded systems · advanced
- Dec 6, 2025 XDP and eBPF in the Receive Path Where an XDP program runs relative to the socket layer, what the three attach modes give up, and which packet-processing decisions can be made before a socket buffer exists. networking · advanced
- Dec 5, 2025 Bounding Blast Radius: How a Fault Injection Chooses Its Targets The three axes that bound an injected fault, how deterministic partitioning selects a stable subset of targets, and why aggregates that span treated and untreated hosts hide the result. devops · foundational
- Dec 5, 2025 Copying Data Across the User-Kernel Boundary Why the kernel cannot simply dereference a pointer supplied by a program, how the copy routines validate and fault, and where the bytes actually go. operating systems · intermediate
- Dec 5, 2025 How Dependency Resolvers Turn Version Ranges into a Fixed Graph A manifest states constraints, not versions. Resolution is a search over the version space, and the lockfile is the memoized answer that makes a build repeatable. security · foundational
- Dec 5, 2025 Marching Cubes and the Case Table That Cannot Be Interpolated How a 256-entry table turns a cube of eight samples into triangles, why edge interpolation places the vertices, and where the classic ambiguity creates holes or spurious connections. scientific computing · foundational
- Dec 5, 2025 One-Way Delay and the Clock Offset Problem Why a one-way delay measurement needs synchronised clocks, how a constant offset biases the result, and how two-way exchanges bound the error. networking · intermediate
- Dec 5, 2025 Paged Key-Value Residency and Block Tables How fixed-size cache blocks and per-sequence block tables remove the allocation and fragmentation penalties of contiguous cache extents. inference systems · intermediate
- Dec 5, 2025 Quickselect and the Cost of Finding One Element in Place How the selection recursion differs from quicksort, why the expected cost is linear, and which inputs make the linear promise fail. algorithms · intermediate
- Dec 5, 2025 The Degraded Window: Rebuild Rate, Exposure, and the Second Failure How the time between a device loss and the completion of its rebuild becomes a durability multiplier, and why the repair rate cannot be set independently of it. filesystems · advanced
- Dec 5, 2025 Work, Span, and the Bound on Parallel Execution Time How a computation DAG yields two numbers, work and span, and why their ratio rather than the processor count sets the achievable speedup. algorithms · foundational
- Dec 4, 2025 Class Loading and Verification Cost on the Startup Path How the runtime turns a class reference into executable code at first use, why verification walks bytecode the program may never run, and how ahead-of-time compilation changes the split. mobile computing · intermediate
- Dec 4, 2025 Duplicate Acknowledgements and How a Sender Distinguishes Loss from Reordering Three duplicate ACKs are a heuristic for one lost segment, not a proof. Fast retransmit and fast recovery act on it, and the ambiguity with packet reordering shapes the whole design. networking · intermediate
- Dec 4, 2025 Keyframe Reduction and the Error Metric That Decides It How a dense sampled curve becomes a sparse key list, why the error must be measured against the reconstructed curve and not the original samples, and where per-channel reduction breaks a skeleton. computer graphics · intermediate
- Dec 4, 2025 Packed and Zoned Decimal: Sign Nibbles and Decimal Arithmetic How decimal numbers are laid out two digits to a byte with the sign folded into the last nibble, and why the format permits decimal addition without a binary round trip. computing history · foundational
- Dec 4, 2025 Use-After-Free and the Reuse That Conceals It What a dangling pointer actually refers to after the object dies, why an immediate reuse so often makes the bug invisible, and how quarantine and poisoning change the diagnosis. memory systems · foundational
- Dec 3, 2025 AEAD Usage Limits and the KeyUpdate Handshake Why a TLS 1.3 key has a byte budget as well as a record budget, where the numbers come from, and what happens when a connection outlives its key. internet protocols · intermediate
- Dec 3, 2025 Resident Programs and the Reentrancy Problem in DOS Terminate-and-stay-resident code hooks the timer or keyboard interrupt, but DOS itself is not reentrant, so a resident handler must either defer work or re-enter through a documented flag. computing history · advanced
- Dec 2, 2025 Interrupt Delivery Inside a Virtual Machine Why injecting an interrupt into a guest can cost a world switch, how posted interrupts and APIC virtualization remove that cost, and what remains expensive. operating systems · advanced
- Dec 2, 2025 Subtree Deduplication and the DAWG Two trie nodes with identical subtrees are indistinguishable, so one of them is redundant. Bottom-up merging turns a trie into a DAG whose size depends on the number of distinct suffixes, not prefixes. data structures · advanced
- Dec 2, 2025 Union by Rank and Path Compression: Two Heuristics That Fix the Chain How attaching the smaller tree under the larger bounds forest height, how rewriting parent links during a find flattens future traversals, and why the two heuristics must be analysed together. data structures · foundational
- Dec 1, 2025 Asymptotic Notation as Sets of Functions, Not Growth Rates Big-O names a set of functions fixed by a constant and a threshold. What those witnesses promise for two-input bounds, for logarithms, and for small n. algorithms · foundational
- Dec 1, 2025 DCTCP and the Proportional Response to Congestion Marks A single ECN mark carries one bit, but the fraction of marked packets carries the severity of congestion. DCTCP converts that fraction into a window reduction sized to match. networking · advanced
-
November
Nov 30, 2025 Large Pages: What 2 MiB Granularity Buys and What It Breaks How huge pages collapse page-table levels and extend translation reach, why physical contiguity is the binding constraint, and where the memory waste becomes unacceptable. memory systems · intermediate - Nov 29, 2025 Replication Lag as the Real Recovery Point Bound Why asynchronous cross-region replication sets an RPO that varies with write rate and network conditions, and how to measure the lag that actually matters for data loss. cloud infrastructure · intermediate
- Nov 29, 2025 The De Bruijn Criterion and What a Proof Kernel May Assume Why a proof assistant separates a small trusted checker from large automation, what the kernel must implement, and which shortcuts quietly enlarge what must be trusted. computation theory · advanced
- Nov 28, 2025 External Merge Sort: Runs, Fan-in, and the Sort-Merge Join How a sort spills to disk, why replacement selection builds longer runs than naive chunking, and how the merge phase feeds a sort-merge join without a second pass. databases · intermediate
- Nov 28, 2025 Matroid Structure and the Exact Boundary of Greedy Optimality The independence axioms that make greedy weight-ordering optimal, how spanning trees and interval scheduling fit them, and the obstruction that knapsack exhibits. algorithms · intermediate
- Nov 28, 2025 Stack Unwinding on a Target With No Frame Pointer How a debugger reconstructs call frames from compiler-generated unwind tables, and why an interrupt frame on a bare-metal target breaks the unwinder entirely. embedded systems · intermediate
- Nov 27, 2025 Skip Links and the Sequential Navigation Starting Point Why a bypass link works even though it usually points at a non-focusable heading, how the browser positions the tab sequence at the fragment target, and what single-page routing breaks. accessibility · intermediate
- Nov 26, 2025 Computed Goto and Direct Threading in Bytecode Interpreters How the dispatch loop dominates interpreter cost, and why a table of label addresses beats a switch statement on the same instruction stream. language runtimes · foundational
- Nov 25, 2025 Queue Management and Retry Scheduling in MTAs How a mail server decides when to retry a failed delivery, why the four-hour and five-day thresholds exist, and how a permanent failure becomes a bounce. internet protocols · intermediate
- Nov 25, 2025 Raft Elections: Terms, Votes, and the Pre-Vote Correction How terms impose a total order on leadership attempts, why the voted-for rule plus the log-suffix check prevents two leaders in one term, and what pre-vote and check-quorum add. distributed systems · foundational
- Nov 25, 2025 Registry Allocation Policy and the Cost of a Code Point How IANA registries decide who gets a number, why allocation policy is a protocol design decision, and how scarce identifier spaces shape what can be built. internet protocols · intermediate
- Nov 25, 2025 Replication Topologies and What Each One Tolerates How single-leader, multi-leader, and leaderless replication differ in where writes are accepted, which node losses they survive, and what conflict handling each one forces. distributed systems · foundational
- Nov 24, 2025 Bridging One Semantics Tree to Two Accessibility APIs A shared widget description must be projected into two different accessibility object models. The projection is lossy in both directions, and the losses are what make a screen unusable rather than merely imperfect. mobile computing · intermediate
- Nov 24, 2025 Fan-Out Topologies and Duplicate Export What happens when one agent serves several backends, why a collector behind a load balancer exports each span twice, and how to keep retries from multiplying records. observability · intermediate
- Nov 24, 2025 Fixed-Width Instruction Encoding and Where the Fields Go How a 32-bit instruction divides into opcode, register and immediate fields, why the register fields keep the same bit offsets across formats, and what that costs in reachable constants. computer architecture · foundational
- Nov 24, 2025 How Relevance Judgments Are Encoded in a qrels File The four-field judgment record, the legacy iteration column, and why the choice of a binary or graded scale bounds what any later metric can express. information retrieval · foundational
- Nov 24, 2025 Measuring Latency Under Load Without Fooling Yourself How to design a delay measurement that separates fixed path delay from queueing, which load patterns expose bufferbloat, and why idle-path numbers mislead. networking · advanced
- Nov 24, 2025 Random Oracle Model Arguments and Their Limits What a proof in the random oracle model actually establishes, why a hash can be instantiated by a construction with an obvious weakness, and how to read a ROM proof without overclaiming. cryptography · advanced
- Nov 23, 2025 Heavy Hitters with Misra-Gries Counters and Space-Saving Buckets Two deterministic summaries that find every item exceeding a fraction of the stream, why decrementing all counters preserves the guarantee, and how their error differs in direction. algorithms · intermediate
- Nov 22, 2025 Monotonic and Civil Clocks in Running Programs Why interval measurement needs a clock that never goes backwards, how leap seconds and suspend break civil time, and which timeout a kernel or runtime actually uses. distributed systems · intermediate
- Nov 22, 2025 Sessions, Process Groups, and the Controlling Terminal How the kernel groups processes for signal delivery and job control, why the controlling terminal is a session property, and what happens to a process left in the background. computing history · advanced
- Nov 21, 2025 Batching and the Amortization of Per-Request Cost How grouping work into larger units trades latency for throughput, which fixed costs actually amortize, and where a batch becomes slower than the sum of its parts. backend systems · intermediate
- Nov 21, 2025 Connascence: Coupling Measured by Strength and Distance A finer taxonomy than fan-in and fan-out: nine kinds of change-propagating relationship, why strength only matters relative to locality, and how to trade one kind for another. software architecture · advanced
- Nov 21, 2025 Cross-Region Replication and the Window Between Two Copies Replication is asynchronous by default, so the second region lags the first. What the lag does to failover, to deletes, and to any read that crosses the boundary. cloud infrastructure · advanced
- Nov 21, 2025 PCIe Lanes and the Three Layers That Carry a Transaction How a PCIe transaction is assembled from transaction layer packets, sequence-numbered data link packets, and physical layer symbols across one or more lanes. hardware engineering · foundational
- Nov 20, 2025 Bytecode Verification and Stack Map Frames How a verifier proves that operand stack depths and types are consistent at every branch target, and why stack map frames replaced full dataflow analysis. language runtimes · intermediate
- Nov 20, 2025 HTTP/3 Framing: Request Streams, Control Streams, and the Settings Exchange How HTTP semantics are carried over QUIC streams, which unidirectional streams the connection requires, and why the control channel is a stream rather than a frame type. internet protocols · advanced
- Nov 20, 2025 Inode Maps and Block Indirection: Finding Data That Never Stays in Place How a log-structured filesystem locates an inode whose address changes on every write, what the map costs per lookup, and why its cache is the deciding factor in read latency. filesystems · foundational
- Nov 20, 2025 Logical Block Size, Read-Modify-Write, and Misaligned I/O Why a device with 4 KiB pages can still accept 512-byte sectors, what that emulation costs internally, and how alignment and atomicity guarantees interact. filesystems · advanced
- Nov 20, 2025 Release, Acquire, and the Synchronizes-With Edge What an acquire load is forbidden to move above, what a release store is forbidden to move below, and why the edge is directional rather than a barrier. memory systems · intermediate
- Nov 20, 2025 Severity Levels as a Filtering Contract Why syslog orders severities from 7 downward, how numeric thresholds let a producer discard records before they are built, and what a level change does to a stream. observability · foundational
- Nov 19, 2025 Allocating Shared Cost to a Unit of Work Why dividing a cluster bill by resource requests overcharges some tenants, how idle capacity hides in an allocation model, and where the normalization factor comes from. cloud infrastructure · foundational
- Nov 19, 2025 Edit-Distance Candidate Generation for Query Spelling Correction How a corrector enumerates candidate terms within a bounded edit distance, why the noisy-channel ranking decides the winner, and when a correction should be suppressed entirely. information retrieval · intermediate
- Nov 19, 2025 Error-Compensated Rounding at Two and Three Bits How sequential rounding with a residual update turns a coarse grid into a usable one, why the column order matters, and when the compensation stops converging. inference systems · advanced
- Nov 19, 2025 Reciprocal Rank and Rank-Biased Precision Two measures built from a model of the user rather than from a fixed cutoff, and the patience parameter that decides where they place their weight. information retrieval · intermediate