Complete archive
Archive
3,240 articles, newest first · page 43 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.
-
2024
Apr 15, 2024 Static Text Objects and the Text Interface Why paragraphs become single text objects, how character offsets and range queries work, and what happens when a text run is split by inline structure. accessibility · intermediate - Apr 13, 2024 Type 2 Slowly Changing Dimensions: Versions, Validity and Lookups How a dimension row is versioned with surrogate keys and effective dates, why the load-time lookup is the hard part, and how facts join to the version that was current when they occurred. data engineering · intermediate
- Apr 12, 2024 Shard Routing and Replica Consistency in Distributed Search How a search index is split across many machines, how a query fans out to shards and merges their results, and how replicas stay consistent with their primary shards. information retrieval · advanced
- Apr 11, 2024 Bits per Dimension and Likelihood on Discretised Data Why a continuous density model of quantised images has a likelihood that depends on the quantisation step, how the change of variables works, and what the number does and does not compare. deep learning · advanced
- Apr 10, 2024 Macro, Micro, and Weighted Averaging in Multiclass Metrics How the three averaging modes weight each class, why micro-averaged F1 equals accuracy in single-label problems, and which one answers which question. machine learning · intermediate
- Apr 10, 2024 Prefix-Cache-Aware Routing and Cache Locality A shared system prompt makes the same prefill work repeat on every replica. Routing by longest cached prefix trades load balance for a large reduction in prefill cost. inference systems · intermediate
- Apr 9, 2024 Generational Collection and the Write Barrier That Enables It How the weak generational hypothesis justifies splitting the heap by age, why a young-only collection must be told about old-to-young pointers, and what each barrier flavour costs. language runtimes · intermediate
- Apr 8, 2024 Caching Absence with Negative Entries and Bloom Filters How a cache represents the answer "this does not exist", why missed negative lookups are more dangerous than missed positive ones, and what a Bloom filter costs in bits per key and false positives. backend systems · intermediate
- Apr 8, 2024 IEEE 754 Binary Formats: Sign, Exponent, and Fraction Layouts How binary16, binary32, binary64, and binary128 divide a fixed-width word into three fields, why the exponent is biased, and what the implicit leading bit buys. scientific computing · foundational
- Apr 8, 2024 Modulo Scheduling and Software Pipelining How a loop is transformed so that successive iterations overlap in the pipeline, what the initiation interval bounds are, and why prologue and epilogue code appears at the edges. compilers · intermediate
- Apr 8, 2024 Position-Independent Executables and the Cost of PC-relative Addressing Why a PIE carries relocation tables that a fixed-address executable does not, how RIP-relative instructions encode the same reference, and what the GOT still has to mediate. systems programming · advanced
- Apr 8, 2024 Why Breadth-First Search Cannot Discover Vertices Out of Distance Order The queue invariant behind BFS distances, why vertices must be marked on enqueue rather than on dequeue, and where the layer argument stops holding. algorithms · foundational
- Apr 5, 2024 Backfilling a New Store While the Old One Still Takes Writes How to copy historical rows into a replacement without a consistent cut, how keyset pagination and version guards handle concurrent updates, and what a reconciliation pass can and cannot prove. software architecture · intermediate
- Apr 5, 2024 De Jure Standard Versus De Facto Implementation What actually makes a specification binding, how a vendor artefact becomes the reference behaviour, and why the two kinds of standard diverge in court and in practice. computing history · foundational
- Apr 3, 2024 Detecting Slow Growth in a Long-Running Process How to separate a genuine slow leak from allocator sawtooth and from legitimate growth, using slope estimation, idle baselines, and live-set accounting rather than a single threshold. memory systems · advanced
- Apr 2, 2024 Incremental Parsing and Tree Reuse in Editor Syntax Engines How a syntax engine avoids reparsing a whole file on every keystroke: immutable syntax trees, edit-based invalidation, hash-based subtree reuse, and error recovery that has to work on broken text. developer tools · foundational
- Apr 2, 2024 The Universal Scalability Law: Why Throughput Peaks and Then Falls How contention and coherency terms extend Amdahl's bound into a curve that predicts a maximum, what retrograde scaling looks like, and how to fit the two parameters from measurements. performance engineering · advanced
- Apr 1, 2024 Computational Graphs as an Intermediate Representation Why a model compiles to a list of pure value-producing nodes, how topological order doubles as the schedule, and which properties of a program a graph cannot express. inference systems · foundational
- Apr 1, 2024 External Validity and the Limits of What a Benchmark Shows Which conditions a benchmark result actually holds under, how data scale and load level change the regime being measured, and why optimising against a fixed workload stops predicting its own future. performance engineering · advanced
- Apr 1, 2024 Running Schema Migrations Inside the App Update Window Why a migration that is safe on a server is risky on a phone, how to make each step resumable, and what to do when the migration needs more space than the device has. mobile computing · intermediate
-
March
Mar 31, 2024 Type Classes as Dictionary Passing and the Coherence Problem How ad-hoc polymorphism compiles to a record of functions, why instance resolution must be deterministic, and where orphan instances break the guarantee. programming languages · intermediate - Mar 30, 2024 Retry Storms When a Network Comes Back Recovery is harder than outage: every queued client retries at once, and the mechanisms that keep a system stable are jitter, admission control, and a drain rate the server can sustain. mobile computing · advanced
- Mar 30, 2024 The Document Add Path into an Inverted Index How an incoming document is tokenized, assigned a document id, and appended to the postings lists it matches, and what the ordering invariants on those lists cost. information retrieval · foundational
- Mar 28, 2024 Detecting Crawler Traps by Budget per Host How infinite URL spaces, calendar generators, and session identifiers make a crawl diverge, and the per-host accounting that stops it without losing real pages. information retrieval · intermediate
- Mar 28, 2024 The Probabilistic Method: Proving That a Good Object Exists How a random construction with nonzero success probability establishes existence without producing an example, and how the Lovász local lemma weakens the independence the argument needs. algorithms · intermediate
- Mar 27, 2024 Layered Materials and the Fresnel Coupling Between Coats and Substrates How a clear coat sits on a base material, why the transmitted share at each interface is not simply one minus the reflected share, and how internal reflection traps light inside a layer. computer graphics · advanced
- Mar 26, 2024 All-or-Nothing Transforms and the Extra Tightness in ML-KEM Why the Fujisaki-Okamoto transform alone leaves a small gap in decapsulation security, and how an all-or-nothing transform closes it for lattice schemes. cryptography · intermediate
- Mar 26, 2024 Ring Buffers and the Cost of Telling Full From Empty Why a fixed-size queue needs one extra slot, how the monotonic counter variant trades a mask for a free bit, and where each breaks under concurrency. data structures · intermediate
- Mar 26, 2024 Specifying Behaviour as a State Machine with Guards Why a transition table beats prose for event-driven behaviour, how guards resolve overlapping transitions, and what unreachable states reveal about a specification. software engineering · foundational
- Mar 25, 2024 Activation Checkpointing: Trading Recomputation for Stored Tensors How discarding activations at segment boundaries and recomputing them in backward reduces memory, what the extra forward pass costs, and where the optimal segment count falls. deep learning · intermediate
- Mar 25, 2024 Average Precision and the Mean Over Topics How average precision sums precision at every relevant rank, why the mean over topics is a questionable estimator, and what significance testing reveals about it. information retrieval · foundational
- Mar 25, 2024 Column-Level Lineage and the Cost of Tracking It Deriving which upstream column feeds which downstream column requires parsing every query; the alternative is coarse and the fine-grained version has an unbounded cost. data engineering · intermediate
- Mar 24, 2024 SIMD Encoding: Vector Register Fields, Predication and Length How vector instructions spend their encoding bits on register numbers, masks and element widths, and why vector length is sometimes in the instruction and sometimes in a control register. computer architecture · advanced
- Mar 24, 2024 Writeback Scheduling and Merging at the Block Layer How adjacent and overlapping requests become larger ones, what an elevator does with a mixed read and write stream, and why device queue depth changes the picture more than the scheduler name. performance engineering · intermediate
- Mar 23, 2024 The Stored-Program Idea and the Disputed First Execution How one writable memory holding both numbers and orders changes machine design, and why Manchester, Cambridge, and the ENIAC teams each claimed the first run. computing history · advanced
- Mar 21, 2024 Encrypt-and-MAC, MAC-then-Encrypt, Encrypt-then-MAC Three orderings of a cipher and a MAC, only one of which authenticates the ciphertext itself, and the attacks that distinguish them under chosen-ciphertext access. cryptography · advanced
- Mar 20, 2024 Doubly Linked Lists and the Sentinel Header That Removes the Null Checks Why two pointers buy constant-time removal from a node alone, how a circular sentinel collapses the special cases, and what the extra word per node costs. data structures · foundational
- Mar 20, 2024 How Copyleft Travels Through Derivative Works The GPL binds works based on the original, not software on the same disk: how the license text draws the boundary, what conveying a binary obliges a distributor to supply, and where library and file-scope licenses shift the line. computing history · foundational
- Mar 20, 2024 Squash, Fixup, and How a Commit Series Is Composed The difference between squashing and fixing up, how autosquash matches commits to targets, and what information survives when intermediate commits are collapsed. software engineering · intermediate
- Mar 19, 2024 Elias-Fano Encoding for Monotone Integer Sequences How splitting each value into a high and a low part turns a sorted sequence into one bitvector plus a packed array, and why this beats a plain array for prefix queries. data structures · advanced
- Mar 19, 2024 Resource Identity and URI Design in REST How REST separates the name of a thing from the bytes that represent it, and which URI choices survive changes to the underlying data model. backend systems · foundational
- Mar 14, 2024 Cleaner Interference and Foreground Latency in Append-Only Storage How a background collector steals device queue slots from the write path, why the resulting latency spikes are bursty rather than average, and the throttling and scheduling measures that bound them. filesystems · advanced
- Mar 14, 2024 Write Amplification Across the Storage Stack How one logical row change becomes many device writes, how to attribute the multiplier to each layer, and which layer dominates for B-trees and LSM trees. databases · advanced
- Mar 12, 2024 Expand and Contract: Changing a Column While Both Versions Run The four-step sequence that lets old and new application code share one schema, which intermediate states must be safe, and where the sequence breaks down. databases · intermediate
- Mar 12, 2024 How strace Sees Every System Call Without Linking Into the Program The ptrace stop protocol behind syscall tracing, how entry and exit are paired from register state, and why tracing multiplies the cost of a syscall-heavy workload. systems programming · foundational
- Mar 12, 2024 Visibility Timeouts and Lease Heartbeats in Job Claims Why a claimed job stays hidden from other workers only until a deadline, how heartbeats extend that deadline safely, and what happens when the worker is alive but cannot renew. backend systems · foundational
- Mar 11, 2024 Proper Scoring Rules and Why They Cannot Be Gamed Why some losses reward honest probability forecasts while others reward sharpness alone, what decompositions reveal about calibration, and why the logarithmic score is the only local strictly proper rule. machine learning · advanced
- Mar 8, 2024 Live Regions Under Re-Rendering: Why Framework Updates Announce Nothing A live region depends on text mutations inside a stable node. Diffing renderers replace nodes, batch writes, and mount regions on demand, which silences announcements in ways that look random. accessibility · advanced
- Mar 7, 2024 Measuring Contrast When Text Sits on a Photograph A single foreground color over an image has a contrast ratio for every backdrop pixel; how to find the worst case, and what scrims, blur, and backdrop filters do to that distribution. accessibility · intermediate
- Mar 6, 2024 How the HTML Tokenizer and Tree Builder Recover from Malformed Markup HTML error recovery is specified rather than improvised, which is why every engine builds the same tree from broken markup. The tokenizer states, the insertion modes, and the repair rules behind that guarantee. web platform · foundational
- Mar 6, 2024 Shannon Entropy as the Expected Cost of an Outcome Why information is measured as the logarithm of reciprocal probability, how entropy averages that quantity over a source, and where the number stops describing anything real. computation theory · foundational
- Mar 5, 2024 DNS Delegation, Glue Records, and the Referral Loop How authority for a name is handed down a zone tree, why a child in the same zone as its parent forces address records into the parent, and what breaks when glue is wrong. computing history · intermediate
- Mar 5, 2024 Offline Evaluation Leakage and the Metrics That Hide It How random splits, duplicated entities, and temporal leakage inflate offline metrics, and which split design gives an estimate that predicts deployment. machine learning · intermediate
- Mar 5, 2024 Segment-Based Indexing and the Merge Operation Why search indexes are built as many small immutable segments rather than one mutable structure, and how the merge step reclaims dead postings and bounds segment count. information retrieval · foundational
- Mar 5, 2024 Tenant Isolation in an Internal Platform: Which Boundary Does the Work Namespaces, service accounts, resource quotas, and network policy each stop a different class of interference. Choosing the wrong one leaves a gap that looks like isolation but is only naming. virtualization · foundational
- Mar 4, 2024 Reed-Solomon Codes: The k-of-n Arithmetic and Its Repair Cost How a Reed-Solomon code turns k data fragments into n, why any k reconstruct the whole object, and what the encoding matrix demands of the arithmetic. filesystems · foundational
- Mar 3, 2024 Divergent Duplicates and the Cost of Two Truths How two copies of one business rule drift apart without any build failing, why the drift is expensive to resolve, and how to detect divergence before deciding which copy is right. software architecture · foundational
- Mar 1, 2024 DNSSEC Validation and the Chain of Trust How DNSKEY, DS, and RRSIG records form a verifiable chain from the root to a leaf answer, and what a validator does when a link is missing or a signature has expired. internet protocols · intermediate
- Mar 1, 2024 Nagle's Algorithm and the Delayed Acknowledgement Deadlock Why coalescing small writes and batching acknowledgements interact badly, how the 40 ms delay arises, and which socket options disable each mechanism. networking · intermediate
- Mar 1, 2024 Steady-State Hypotheses and the Abort Condition in Fault Injection How a fault-injection exercise defines normal behaviour as a falsifiable claim about metrics, how tolerance windows set its resolution, and why the abort condition is a separate signal. devops · foundational