Complete archive
Archive
3,240 articles, newest first · page 28 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
Jun 26, 2025 Hybrid Lexical and Dense Retrieval: Fusing Two Ranked Lists Why BM25 and embeddings fail on different queries, how reciprocal rank fusion combines their lists without comparable scores, and where the fusion still loses. inference systems · intermediate - Jun 26, 2025 OFDM Subcarrier Spacing, Guard Intervals, and Channel Width Why a wide Wi-Fi channel is divided into many narrow subcarriers, what the cyclic prefix protects against, and how spacing changed in later amendments. networking · intermediate
- Jun 26, 2025 The Slab Test for Boxes and the Inverse-Direction Shortcut How the ray-box test becomes three interval intersections, why precomputed reciprocals turn axis-parallel rays into NaN, and what the IEEE comparison rules do with it. computer graphics · intermediate
- Jun 25, 2025 Canary Promotion as a Repeated Statistical Test A canary compares a small exposed fraction against the incumbent, which means the promotion rule is a hypothesis test run many times, and its false-positive rate depends on how often it is evaluated. inference systems · foundational
- Jun 25, 2025 Common-Cause Failure and What Design Diversity Actually Buys Why two identical channels fail together more often than independence predicts, how beta factors enter the reliability calculation, and which kinds of diversity reduce the shared term. embedded systems · intermediate
- Jun 25, 2025 Dependency Discovery from Observed Traffic and Configuration Graphs Why declared configuration undercounts a system's real dependencies, what a flow record can prove, and how sampling and timeouts corrupt an inferred call graph. cloud infrastructure · foundational
- Jun 25, 2025 Generating Search Result Snippets with Query-Biased Summaries How a result list turns a matched document into a two-line fragment that shows the query terms in context, and what the summarizer has to give up to do it in milliseconds. information retrieval · foundational
- Jun 24, 2025 Cookie Scope, Attributes, and Transport Rules The exact matching rules that decide whether a browser attaches a session cookie to a request, and how Domain, Path, Secure, HttpOnly, and SameSite narrow that decision. backend systems · foundational
- Jun 24, 2025 Dictionary Encoding and the Cardinality Cliff How replacing repeated values with ordinals shrinks a column, why the win collapses as distinct values grow, and what happens to a column chunk when the dictionary outgrows its budget. data engineering · intermediate
- Jun 24, 2025 Measuring Remote Access with Hardware Counters Which performance events distinguish a local from a remote memory access, why per-node counters answer a different question than per-process ones, and how the two are combined to find misplaced data. memory systems · advanced
- Jun 24, 2025 Position-Based Dynamics and the Projection It Iterates How a cloth or rope is simulated by moving points to satisfy constraints directly, why the solver iterates rather than solving, and how stiffness becomes an iteration count. computer graphics · advanced
- Jun 23, 2025 Arena Allocation and the Cost of Releasing Everything at Once Bump allocation, region lifetimes, and why destroying a whole arena is cheaper than freeing its objects, together with the reuse patterns that keep it from growing. systems programming · intermediate
- Jun 23, 2025 Declaration Instantiation, Hoisting, and the Temporal Dead Zone How a scope is populated before its body runs, why var and function declarations are visible early while let and const are not, and what the dead zone prevents. programming languages · advanced
- Jun 23, 2025 Deferred Interrupt Work: Splitting Handlers from Processing Why the top half of a handler should only acknowledge and wake, how the bottom half runs at a chosen priority, and what the split costs in latency. embedded systems · intermediate
- Jun 23, 2025 ESMTP Extension Negotiation and Its Failure Modes How EHLO replaced HELO, what the keyword list in the reply actually guarantees, and why PIPELINING and CHUNKING change the shape of a session. internet protocols · intermediate
- Jun 23, 2025 Prefill and Decode Disaggregation Prefill saturates arithmetic and decode saturates bandwidth. Putting them on separate machines lets each be sized for its own bottleneck, at the cost of moving the KV cache over a network. inference systems · intermediate
- Jun 21, 2025 Interrupt Latency, Tick Overhead, and the Kernel Cost Budget How to decompose the delay from an external event to a task running into measurable pieces, and which kernel configuration choices move each piece. embedded systems · advanced
- Jun 20, 2025 Little's Law as a Consistency Check on Load Measurements How the identity connecting concurrency, arrival rate, and residence time exposes inconsistent measurement sets, plus the sampling errors and boundary conventions that make a correct system appear to violate it. performance engineering · foundational
- Jun 20, 2025 Unicode Word Boundary Rules in Query Tokenizers Why splitting a query on whitespace mis-tokenizes apostrophes, hyphens, and scripts that do not use spaces, and how the Unicode segmentation rules decide each case. information retrieval · foundational
- Jun 19, 2025 Rolling Back a Change That Already Mutated State Why reverting a binary does not revert its writes, which mutations admit a compensating action, and how to decide before deployment whether a rollback path exists at all. distributed systems · intermediate
- Jun 19, 2025 Web App Manifest and the Installability Contract How the manifest establishes an installed application identity through id, start_url, and scope, what display modes change at launch, and why installability is a browser policy rather than a specification rule. web platform · intermediate
- Jun 18, 2025 Characterization Tests: Pinning Behaviour Nobody Designed How to write tests that describe what untested code currently does, why the oracle problem makes this different from normal testing, and where golden-master comparisons break down. software architecture · foundational
- Jun 18, 2025 Decomposing Generated Text into Atomic Claims for Factuality Scoring Sentence-level factual accuracy conflates several errors into one label. Splitting output into self-contained claims changes both the denominator and the failure modes. inference systems · advanced
- Jun 17, 2025 Cache-Aside and Read-Through: Who Owns the Miss How responsibility for a cache miss is divided between application code and the cache itself, what each arrangement costs in round trips, and how they fail differently when a write races a read. backend systems · foundational
- Jun 17, 2025 Constant Propagation over a Flat Lattice Propagating constants requires a lattice with an explicit top element for "not constant", a meet that never guesses, and an SSA-based solver that avoids the quadratic worklist. compilers · intermediate
- Jun 17, 2025 Specifying Partial Failure, Atomicity, and Retry Semantics How a contract states what survives a crash mid-operation, why idempotency keys must be chosen by the caller, and where at-least-once delivery forces deduplication. software engineering · intermediate
- Jun 17, 2025 Tail Handling and Bounds Checks in Partial Tiles Why the last block of a launch is the one that returns early, how predicated access differs from an early return, and what goes wrong when barriers and zero-length buffers meet an oversized grid. gpu computing · foundational
- Jun 17, 2025 Unified Virtual Addressing and How a Pointer Becomes Usable on a Device Why a single address space spanning host and device memory lets an API infer a pointer location from its value, what that inference depends on, and where it fails. gpu computing · foundational
- Jun 16, 2025 Gadget Chains as a Programming Language, and What CFI Restricts A chain of short instruction sequences ending in ret is computationally complete, and control-flow integrity is an attempt to bound where those sequences may begin and end. security · advanced
- Jun 16, 2025 Memory-Mapped Persistence: What msync and DAX Actually Guarantee How a shared mapping becomes durable, why msync is not fsync, what direct access bypasses the page cache, and where the mapping and the filesystem metadata disagree after a crash. memory systems · advanced
- Jun 16, 2025 Process Launch: From Launcher Tap to First Instruction How a tap on an icon becomes a running process, why mobile systems fork from a preloaded template instead of spawning fresh, and where a cold start spends its time. mobile computing · foundational
- Jun 15, 2025 How a Router Decides a Destination Is On-Link The difference between a route that names a neighbour and one that names a gateway, how the link-layer address is resolved, and what happens when resolution fails. networking · intermediate
- Jun 15, 2025 Speculative Execution and the Architectural Side Effects of a Wrong Guess Squashing removes speculative state from the architecture but not from caches, predictors, and timing; how that residual state becomes an observable channel and what mitigation costs. computer architecture · advanced
- Jun 14, 2025 Attack Nets, Concurrency, and the State-Space Explosion How Petri-net attack models represent parallel attacker actions and partial progress, why the reachability graph grows faster than exponentially, and which reductions keep analysis tractable. security · advanced
- Jun 14, 2025 Pipes and Filters and the Contract Between Stages A filter knows its input and its output and nothing else. Record framing, bounded buffering, end-of-stream propagation, and error policy are what make that independence real or nominal. software architecture · intermediate
- Jun 13, 2025 Cutover Between Two Systems: Dual Writes, Shadow Reads, and the Switchover Point How a migration moves authority from one store to another without a window of divergent writes, and why the cutover must be a single atomic epoch change. distributed systems · advanced
- Jun 13, 2025 Labelling Connected Components Once Versus Maintaining Them Under Insertions How a single traversal assigns component identifiers in linear time, why the same problem becomes hard when edges arrive online, and what the two approaches cost on either side of that line. algorithms · intermediate
- Jun 13, 2025 Permission Boundaries and Service Control Policies as Independent Ceilings How two documents that grant nothing restrict what other documents grant, what each one cannot cap, and how their scopes differ by blast radius. cloud infrastructure · intermediate
- Jun 13, 2025 Strict Aliasing and the Effective Type of an Object Why two pointers of different types cannot in general name the same memory, which union and character-type accesses are permitted, and what an optimiser does with the rule. systems programming · intermediate
- Jun 13, 2025 Testing Policy Before It Gates the Cluster Unit tests over policy rules, fixtures captured from the position where the policy runs, and the differential check that makes enforcement a measurable step. devops · advanced
- Jun 12, 2025 Forced Synchronous Layout and the Cost of Interleaving Reads with Writes Why calling getBoundingClientRect after a style write can trigger a full layout pass, how to recognise the pattern, and the restructuring that collapses N passes into one. web platform · intermediate
- Jun 12, 2025 Fused Multiply-Add, Single Rounding, and the Cost of Contraction What a fused multiply-add computes internally, why one rounding instead of two halves the error bound, and how compiler contraction makes identical source produce different bits. scientific computing · intermediate
- Jun 12, 2025 Sectioning Content and the Heading Outline Browsers Never Implemented Nesting sections was meant to derive heading levels automatically. No engine shipped that, the algorithm left the standard, and headings now depend entirely on the level the author writes. web platform · intermediate
- Jun 12, 2025 Speculative Decoding Cost Accounting: The Acceptance Rate Threshold How draft tokens turn a bandwidth-bound decode step into several tokens, the acceptance rate at which the extra compute pays for itself, and why batch size moves that threshold. inference systems · intermediate
- Jun 11, 2025 Deriving a Change Feed from Immutable Snapshots How a table format turns the difference between two snapshots into a stream of inserted and deleted rows, which changes it cannot recover, and why ordering must come from sequence numbers. data engineering · advanced
- Jun 11, 2025 Grouped-Query Attention and What Sharing Key Heads Costs How mapping several query heads onto one key head shrinks the cache by an exact factor, what the shared head cannot represent, and why the loss falls harder on keys than on values. deep learning · advanced
- Jun 11, 2025 Shuffle Fault Tolerance: Recomputing Lost Map Output Why map output is an unreplicated cache on local disk, what a lost segment costs downstream, and how lineage and shuffle services change the recovery path. data engineering · advanced
- Jun 11, 2025 The Lease as a Time-Bounded Grant: Why Expiry Needs No Message How a lease replaces an explicit release with a deadline, why the holder must stop before the server reassigns, and what the gap between the two clocks costs. distributed systems · foundational
- Jun 10, 2025 Path Compression and the Patricia Trie Single-child chains inflate a trie by one node per byte. Patricia compression stores only branching nodes plus a skip value, changing lookup, insertion, and deletion in specific ways. data structures · intermediate
- Jun 9, 2025 Checkpointing and Recovery from Misprediction How a speculative machine restores an exact rename mapping after a wrong branch, why per-branch checkpoints beat a walk-back repair, and what recovery latency costs. computer architecture · intermediate
- Jun 9, 2025 Collapse and Redundancy Reduction in Self-Supervised Training Why self-supervised objectives tend toward constant or low-rank outputs, how whitening and decorrelation terms restore full rank, and what each approach costs in compute and stability. deep learning · advanced
- Jun 9, 2025 Durable Deferred Work and the Persistence Boundary How a work item survives process death, what must be written before an acknowledgement is sent, and why the durable record is the only scheduler that cannot be lost. mobile computing · foundational
- Jun 9, 2025 Piece Tables, Gap Buffers, and Ropes in Editor Buffers How editors store document text so that typing stays cheap: the gap buffer, the piece table, and the rope, plus the line index that answers offset-to-line queries over each of them. developer tools · foundational
- Jun 9, 2025 Simulcast and Scalable Video: Choosing Which Layer to Send The difference between sending several independent encodings and sending one layered encoding, how receivers request a layer, and what switching costs in decoder state and bandwidth. internet protocols · advanced
- Jun 8, 2025 Bitfield Allocation and Packed Structures How bit-fields are packed into storage units on the two major ABIs, why the standard leaves the bit order open, and what packed structs cost at every member access. systems programming · intermediate
- Jun 7, 2025 Bounded Queues and Load Shedding at the Admission Boundary An unbounded queue converts an overload into a latency problem and then into a memory problem, while a bounded one forces the choice of which requests to drop and when. backend systems · intermediate
- Jun 7, 2025 Key Rotation, Key Versions, and Why Re-Encryption Is Optional How versioned keys and wrapped data keys let a system rotate without rewriting ciphertext, and when that shortcut stops being safe. cryptography · intermediate
- Jun 7, 2025 Session Types and the Shape of a Channel Protocol How a channel type can encode the order and direction of every message, what duality means for the two ends, and where linear typing stops matching how processes actually behave. programming languages · advanced
- Jun 6, 2025 Path Vectors, Policy, and Why BGP Does Not Minimize Anything How an exterior gateway protocol carries a whole path to detect loops, why the decision process ranks policy above distance, and what that costs at convergence time. computing history · advanced
- Jun 6, 2025 Where a read() Syscall Spends Time Before It Reaches the Data The fixed work the kernel performs on every read, why cost per byte collapses as buffers shrink, and which interfaces amortise the transition. performance engineering · foundational