Complete archive
Archive
3,240 articles, newest first · page 25 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
Aug 29, 2025 Relaxation and the Optimality Condition Behind Shortest-Path Algorithms How one comparison operation encodes the shortest-path optimality condition, why the schedule of relaxations determines which algorithm results, and what happens when the answer is unbounded below. algorithms · foundational - Aug 28, 2025 Bagging: Bootstrap Resampling and the Variance It Removes Averaging models trained on bootstrap resamples reduces variance only as far as the models are uncorrelated, which explains both the gains and the cases where there are none. machine learning · intermediate
- Aug 28, 2025 Deque Layouts and the Cost of Push at Both Ends Why a double-ended queue cannot be a plain growable array, how an array of fixed blocks gives O(1) at both ends, and what the extra indirection costs an index. data structures · intermediate
- Aug 28, 2025 The IBM PC BIOS Standard and the Cost of Freezing a Firmware Interface What a ROM-resident interrupt interface guaranteed to software, how its fixed data structures blocked hardware progress, and why the replacement took the form of an emulated decades-old machine rather than a new specification. computing history · intermediate
- Aug 28, 2025 The Runtime as Reference Monitor: Mediation and the Trusted Base How an interpreter or managed runtime becomes the enforcement point for security policy, which operations escape its mediation, and what the resulting trusted computing base contains. language runtimes · foundational
- Aug 28, 2025 Tree Reductions and Floating-Point Summation Order Why a pairwise tree sum is not the same number as a linear sum, how much error the tree removes, and how shuffle-based and shared-memory reduction stages compose. gpu computing · intermediate
- Aug 28, 2025 What CPU Quotas Cannot Bound: Cache, Bandwidth, and SMT Contention Between Tenants Fair-share scheduling accounts for time, not for shared microarchitectural state; the resources that leak between co-tenants and the placement choices that limit the leak. cloud infrastructure · advanced
- Aug 27, 2025 Batching a Backfill Without Holding Locks or Losing Restarts Key-range batching, batch sizing, commit frequency, and the idempotence rules that let a long data update be interrupted and resumed safely. databases · intermediate
- Aug 27, 2025 NUMA First-Touch and the Memory Bandwidth Ceiling per Node Why a multi-socket node delivers less than its nominal bandwidth to an unaware program, and how page placement, binding, and the roofline interact. scientific computing · advanced
- Aug 26, 2025 Building the Interference Graph from Live Sets The exact rules that turn per-instruction liveness into graph edges, why move instructions are treated differently, and how the graph representation affects the cost of coloring. compilers · foundational
- Aug 26, 2025 Clock, Second Chance, and the Cost of Approximating LRU How a reference bit turns a circular scan into a cheap replacement policy, what the scan rate reveals about memory pressure, and where the approximation breaks down. memory systems · intermediate
- Aug 26, 2025 Conditional Writes: Building a Lock Out of Single-Key Compare-and-Set A precondition on an object write gives one writer a win and the rest a 412. How to use that primitive for leases, exactly-once publication, and safe fan-out. cloud infrastructure · intermediate
- Aug 26, 2025 Folding Address Computation into Memory Operands How base, index, scale, and displacement get absorbed into load and store encodings, which arithmetic survives the fold, and why the selector must sometimes refuse. compilers · foundational
- Aug 25, 2025 Backpropagation Through Time and the Product of Jacobians How gradients travel backwards through an unrolled recurrence, why the product of per-step Jacobians decays or explodes, and what truncation and clipping change about the estimate. deep learning · foundational
- Aug 25, 2025 How a Bloom Filter Trades Bits for a False-Positive Rate The bit-array layout behind Bloom filters, the derivation of the false-positive probability, and how the bits-per-key budget fixes the achievable error. data structures · foundational
- Aug 25, 2025 Route Preference, Metric, and the Split Between RIB and FIB How competing routes to one prefix are ranked, why administrative distance is not a metric, and what the control plane must do before the forwarding plane can use a table. networking · advanced
- Aug 25, 2025 Symbol Visibility, Linkage, and the One Definition Rule How exported, hidden, and local symbols differ, why an inline function in a header can violate the one definition rule across shared libraries, and what the linker can detect. programming languages · intermediate
- Aug 24, 2025 Lloyd's Algorithm and the Local Minima of k-Means The assignment and update steps are two exact minimizations of the same objective, which is why the loop always terminates, why it stops at a local minimum, and what seeding changes about the answer. machine learning · foundational
- Aug 23, 2025 Domain Events: Publishing State Transitions Without Losing Them Why the database commit and the event publish are two writes that can disagree, how an outbox closes the gap, and what ordering and duplication guarantees consumers actually get. software architecture · intermediate
- Aug 23, 2025 Refinement: When an Implementation Satisfies a Specification How refinement relates an abstract specification to concrete behaviour, why stuttering steps and history variables make the relation provable, and where refinement forbids implementation freedom. software engineering · intermediate
- Aug 22, 2025 Least Squares as Orthogonal Projection onto a Design Matrix Why the normal equations are a geometric condition rather than an algebraic trick, what rank deficiency does to the answer, and why forming the Gram matrix costs half the digits. machine learning · foundational
- Aug 22, 2025 Negative Caching: NXDOMAIN, NODATA, and the SOA Minimum How a resolver distinguishes a name that does not exist from a name with no records of the requested type, and how the SOA fields set the lifetime of both. internet protocols · intermediate
- Aug 22, 2025 Push Notification as a Store-and-Forward Channel Why mobile push cannot be a socket the server writes to, how the vendor service buffers and delivers, and what the delivery guarantees do and do not include. mobile computing · intermediate
- Aug 22, 2025 Rebalance Storms and the Backpressure That Prevents Them When a node fails, every partition it held becomes a migration at once. Why the recovery traffic can exceed the cluster bandwidth, and how admission control keeps the two from feeding each other. distributed systems · advanced
- Aug 21, 2025 May-Alias Analysis and the Shape of a Points-To Set Why a write through one reference can change what another observes, how inclusion and unification constraints differ, and what field sensitivity costs. developer tools · advanced
- Aug 21, 2025 Wafer Probe and the Economics of Test Coverage How a probe card makes contact with pads a few tens of micrometres wide, why test time is a fab cost, and how the choice of coverage trades probe cost against escape rate and package cost. hardware engineering · intermediate
- Aug 21, 2025 What the Hardware Does Between an Interrupt and Its Handler The stacked frame, the link register value that redirects the return, and the chaining shortcuts that make back-to-back interrupts cheap. embedded systems · intermediate
- Aug 20, 2025 Circuit Families and the Non-Uniform Model of Computation How a Boolean circuit encodes one fixed input length, why decision problems need whole families of them, and what the missing uniformity assumption costs. computation theory · foundational
- Aug 20, 2025 Loop Dependences and What Blocks Vectorisation Why a loop that looks parallel to a reader is often sequential to a compiler, which dependences forbid combining iterations, and how runtime checks and reductions recover part of what static analysis loses. computer architecture · advanced
- Aug 19, 2025 Flow Records and Traffic Baselining How routers summarise traffic into flow records, what the cache timeouts decide about those records, and which questions the resulting telemetry can and cannot answer. security · intermediate
- Aug 19, 2025 Preventing Irreversible Errors in Consequential Submissions How confirmation, review, and reversal mechanisms trade friction against irreversibility, and where each mechanism fails for users who cannot see the mistake. accessibility · advanced
- Aug 18, 2025 Breaking Change Detection in API Descriptions Which schema-diff findings are genuinely breaking, which are noise, and why the baseline has to be the released description rather than the previous commit. software architecture · advanced
- Aug 18, 2025 Counter Resets and the Extrapolation Inside rate() Why a monotonic counter loses its meaning when a process restarts, how reset detection reconstructs the increment, and what the edge extrapolation in a rate query assumes. observability · foundational
- Aug 18, 2025 Statistical Multiplexing and the Case Against Reserved Circuits Why bursty traffic made end-to-end circuit reservation wasteful, how store-and-forward queueing turns silence into capacity, and where the packet argument stops being a win. computing history · foundational
- Aug 18, 2025 The Switching Lemma and Why Parity Needs Depth to Compute How random restrictions collapse constant-depth circuits, why the lemma proves AC0 cannot compute parity, and where the argument runs out of room. computation theory · intermediate
- Aug 17, 2025 Consumer Groups and Partition Assignment How a group coordinator keeps one owner per partition, what a generation change does to in-flight work, and why the assignor choice changes rebalance cost. backend systems · intermediate
- Aug 17, 2025 Inclusive, Exclusive, and Non-Inclusive Last-Level Caches What the inclusion property buys the coherence protocol, why a back-invalidation hurts an inclusive L2, and how a non-inclusive design changes where the snoop filter lives. memory systems · intermediate
- Aug 17, 2025 Splitting a Virtual Address into Page Number and Offset Why translation happens at page granularity, how the address bits divide between frame number and offset, and what that division costs in fragmentation and alignment. memory systems · foundational
- Aug 17, 2025 Two-Level Minimization with Prime Implicants and the Quine-McCluskey Method How adjacent minterms merge into prime implicants, how don't-care rows change the cover, and why exact minimization becomes intractable past a handful of inputs. hardware engineering · foundational
- Aug 16, 2025 CIDR Aggregation and the Reasons It Cannot Fully Summarize How prefix length replaced address classes, which blocks can be merged into one announcement, and why holes and multi-homing leave the table larger than the address plan suggests. networking · foundational
- Aug 15, 2025 First-Touch Costs in Demand-Paged Memory What a program actually pays when it writes to freshly allocated memory, and how page faults, zeroing, and transparent huge pages decide the bill. performance engineering · intermediate
- Aug 15, 2025 Layer Cache Invalidation in Container Image Builds Why an instruction invalidates every layer after it, how the builder decides an instruction changed, and the ordering tricks that keep the expensive steps cached. devops · intermediate
- Aug 15, 2025 Reading NUMA Topology from the SRAT and SLIT What the two ACPI tables describe, how a proximity domain is enumerated from the static resource affinity table, and why the locality distance table is only an ordering. memory systems · foundational
- Aug 15, 2025 Step Sizes and the Descent Lemma in Gradient Descent How the Lipschitz constant of the gradient bounds a usable step size, why 1/L is the natural choice for quadratic objectives, and which constants the convergence rates hide. machine learning · foundational
- Aug 14, 2025 Longest-Prefix Match and the Structures That Implement It Why a routing table cannot be a hash map, how a binary trie answers the longest-prefix query, and what multibit tries and TCAM buy in exchange for memory. networking · foundational
- Aug 14, 2025 Multivalued Dependencies and the Redundancy BCNF Cannot See How an MVD asserts independence between two attribute groups, why the four-way combination of independent lists forces redundancy, and how 4NF decomposes on it. databases · intermediate
- Aug 14, 2025 Variance Preservation in Weight Initialization How the Xavier and He scaling factors are derived from the fan-in of a layer, what breaks when the constant is wrong, and why depth turns a small gain error into a vanished signal. deep learning · foundational
- Aug 13, 2025 Fitness Functions as Build-Time Architectural Constraints How an architectural decision becomes a check that runs on every commit: dependency rules, thresholds with baselines, and the ratchet that stops drift instead of freezing it. software architecture · intermediate
- Aug 13, 2025 Lazy Binding and the Procedure Linkage Table How the first call to an external function lands in the dynamic linker, what the resolver writes into the GOT, and why eager binding and full RELRO remove the writable page. compilers · intermediate
- Aug 13, 2025 Microkernel Architecture and the Stability of Plugin Extension Points A plugin system is a contract that outlives the code on both sides of it. Extension-point shape, discovery, lifecycle ordering, and isolation determine what can change without breaking installed extensions. software architecture · intermediate
- Aug 13, 2025 Row-Major Layout and the Address Arithmetic Behind Indexing How a pair of subscripts becomes one byte offset, why the last subscript varies fastest, and what traversal order does to cache-line consumption. data structures · foundational
- Aug 12, 2025 Serving Several Documentation Versions From One URL Space Versioned documentation is a URL design problem before it is a content problem. Path layout, redirect policy, relative links, and canonical hints decide whether a reader stays on the release they are running. software engineering · advanced
- Aug 12, 2025 User Namespaces and the Mapping of UIDs How a process can hold full privilege over a subtree of the process hierarchy while holding none outside it, and what the uid_map translation table does at each syscall boundary. operating systems · intermediate
- Aug 12, 2025 Warp Specialization and Producer-Consumer Warps How assigning different code to different warps of a block removes divergence at the source, what the handoff between producer and consumer warps costs, and when it loses. gpu computing · advanced
- Aug 12, 2025 What a Block Cipher Mode Adds to a Block Cipher How chaining turns a single-block permutation into a construction for arbitrary-length data, why the initialization vector must be unpredictable rather than merely unique, and what error propagation costs. cryptography · foundational
- Aug 11, 2025 Interface Contracts and the Limits of Substitutability What a module boundary promises beyond its signature, why behavioural subtyping is stricter than type compatibility, and which contract clauses callers silently depend on. software architecture · foundational
- Aug 11, 2025 Partitioning Work Across Devices and the Cost of Every Dependency How to split a computation across several devices without drowning it in synchronization, and why the cost of a dependency is set by the slowest participant. gpu computing · advanced
- Aug 10, 2025 Stream Identifiers and the State Machine That Makes Closing Cheap How the low two bits of a QUIC stream ID encode direction and initiator, why IDs are never reused, and how reset and stop-sending terminate a stream without waiting for a FIN. internet protocols · foundational
- Aug 9, 2025 Extract Function and the Preconditions the Compiler Checks Extraction is presented as a mechanical edit, but it is only safe when the extracted body captures no free variables, no control flow, and no implicit receiver. software engineering · foundational
- Aug 9, 2025 NFS File Handles and the Server That Keeps No Open Files A short opaque byte string replaces the path on the wire, and because it is the only identifier the server retains, every request must be self-describing. That choice explains reboot survival, silly renames, and ESTALE. filesystems · foundational