Complete archive
Archive
3,240 articles, newest first · page 50 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.
-
2023
Apr 21, 2023 Code Signing and Entitlement Enforcement at Load Time What a signature actually covers on a mobile binary, how the kernel or loader checks it before the first instruction, and what an entitlement grants that a file mode cannot. mobile computing · intermediate - Apr 19, 2023 Precise Exceptions and Restarting a Pipeline Mid-Stream Why a pipeline must be able to name one instruction as the faulting one, and how the commit point, the in-flight register file, and the restart PC are made consistent. computer architecture · advanced
- Apr 18, 2023 Attribution, Turnover, and the Latent Measurement Error in Objectives Why an indicator drifts away from the state it claims to measure as schemas, traffic mixes, and instrumentation change, and how to detect the drift. observability · advanced
- Apr 18, 2023 k-d Trees for Range Search and Nearest Neighbours How median splits over alternating axes turn a point set into a pruning structure, what the O(√n + k) range bound really assumes, and why high dimensions break it. algorithms · advanced
- Apr 17, 2023 AddressSanitizer Shadow Memory and the Cost of Byte-Granular Checks How one byte of shadow per eight bytes of address space turns every load and store into a checked access, and what redzones, quarantine, and poisoning can and cannot detect. systems programming · intermediate
- Apr 17, 2023 Threshold Roles and Rollback Protection in the Update Framework TUF treats a repository as four roles with separate keys and quorum thresholds. The design turns a compromised signing key into a bounded, detectable incident. security · intermediate
- Apr 13, 2023 Presburger Arithmetic and the Decidable Side of Number Theory Why the first-order theory of addition alone admits quantifier elimination and always terminates, and how the single operation of multiplication moves the same language across the undecidability line. computation theory · intermediate
- Apr 13, 2023 Resumable Frames for Generators and Coroutines Why a generator cannot keep its state on the machine stack, how its frame is moved to the heap, and what suspension costs in copying and in bookkeeping. language runtimes · advanced
- Apr 11, 2023 DKIM Canonicalization and What It Actually Signs How a DKIM signature survives transport rewriting, why two canonicalization algorithms exist, and which header fields the signature deliberately excludes. internet protocols · advanced
- Apr 11, 2023 How Metadata Locks Block a DDL Statement Behind Ordinary Queries The lock queue that a schema change must pass through, why a short query in front of it can stall every new reader of the table, and the timeout that bounds the damage. databases · intermediate
- Apr 10, 2023 Compatibility Promises as Borrowed Time Publishing a contract converts a one-time edit into an open-ended obligation. Which changes are actually breaking, and how client tolerance determines what a server may do. software architecture · intermediate
- Apr 10, 2023 Ridge Shrinkage in Ill-Conditioned Design Matrices How adding a multiple of the identity to the Gram matrix reweights singular directions, what the bias-variance trade actually buys, and why the penalty must not include the intercept. machine learning · foundational
- Apr 10, 2023 The sRGB Transfer Function: Piecewise Curve, Constants, and Decode Cost How the sRGB encoding is defined, why it bends into a straight line near black, and what the exact thresholds cost in a shader or a texture lookup table. computer graphics · foundational
- Apr 7, 2023 Instruction Selection as Tree Tiling How a back end maps an intermediate representation onto machine instructions by covering expression trees with patterns, and why legality and cost are separate questions. compilers · foundational
- Apr 6, 2023 Clock Stretching and Recovering a Bus Held Low by a Stuck Slave Why a slave is allowed to hold the clock line down, how that interacts with arbitration and timeouts, and the pulse sequence that frees a device stuck mid-byte. embedded systems · intermediate
- Apr 6, 2023 Stiffness: When Explicit Steps Collapse What makes an initial value problem stiff, why an explicit method is forced to steps far below what accuracy requires, and how the Jacobian eigenvalues set the forced step. scientific computing · foundational
- Apr 5, 2023 Sort, Hash, and Materialize: Memory Limits and Spill to Disk How a hash join decides it must partition, what a sort does when the work memory runs out, and why an underestimated row count becomes a disk-bound plan. databases · intermediate
- Apr 3, 2023 Cherry-Pick, Patch Identity, and Duplicate Commits Why applying one commit to another branch creates a new id for the same change, how patch-id recognises duplicates, and where that recognition fails. software engineering · intermediate
- Apr 1, 2023 Event Sourcing and the Append-Only Log as System of Record Storing the sequence of facts instead of the current state changes what a write has to prove, how a snapshot is defined, and why an event schema cannot be changed once it has been written. software architecture · intermediate
-
March
Mar 31, 2023 Binomial Queues and the Carry Chain of Merges Why storing trees of size 2^k makes merge look like binary addition, how extract-min decomposes the forest, and what the lazy structure costs in pointers. data structures · intermediate - Mar 31, 2023 Diagnostic Spans and the Encoding Problem How analyzers represent the location of a finding, why byte offsets and UTF-16 columns disagree, and what suppression comments and SARIF records add to the picture. developer tools · foundational
- Mar 30, 2023 Cold Start After a Full Outage: Recovery Order and the Thundering Herd Why restarting a whole system at once produces failures that no individual component has, how dependency order and admission shape recovery, and where warmup ends. distributed systems · advanced
- Mar 30, 2023 Return Current Paths and Why Loop Area Sets Trace Inductance Why the return current of a high-speed signal crowds beneath its trace, what a broken reference plane does to that path, and how loop area translates into ground bounce. hardware engineering · foundational
- Mar 28, 2023 Paravirtual GPUs and the Mediated Device Lifecycle How a host-side scheduler multiplexes one physical GPU across guests without giving any of them direct access, and what the create-configure-assign-teardown sequence has to guarantee. gpu computing · intermediate
- Mar 28, 2023 Polynomial Rolling Hashes and the Rabin-Karp Trade How a rolling hash compares substrings in constant time, why collision probability depends on the modulus, and which arithmetic choices fail under adversarial input. algorithms · foundational
- Mar 24, 2023 Supersteps and Message Bounds: Why Distributed Parallelism Costs More How the BSP model charges for latency and bandwidth per round, what the h-relation says about all-to-all traffic, and why matrix multiplication needs more memory per processor to avoid moving data. algorithms · advanced
- Mar 22, 2023 How a Branch Target Buffer Delivers the Target in the Fetch Cycle The BTB supplies a taken branch target before decode, which requires predicting the address as well as the direction and creates its own tagging, aliasing, and coherence problems. computer architecture · intermediate
- Mar 22, 2023 How a Warp Turns Thirty-Two Loads into Memory Transactions The request the memory system actually receives from a warp-wide load, why the unit of transfer is a 32-byte sector rather than a cache line, and how a partial write forces a read first. gpu computing · foundational
- Mar 21, 2023 Working Set Size and the Miss-Rate Cliff Why memory performance degrades in a knee rather than a slope, how capacity and associativity produce the knee, and how to find its location empirically. performance engineering · foundational
- Mar 16, 2023 Idempotency Keys and the Retry Window for Writes How a client-supplied key turns a retried POST into a single effect, what the server has to store to honour it, and where the guarantee quietly expires. software architecture · foundational
- Mar 14, 2023 Directory Hash Trees: Indexing Names Without Breaking Enumeration How a hashed b-tree stores directory entries in blocks while preserving the linear order readdir requires, and how a fake dirent hides the interior nodes from a reader that does not know about them. filesystems · intermediate
- Mar 14, 2023 Mark-Compact: Sliding Objects Without a Second Semispace How a compacting collector relocates live objects into one end of the same heap, the two passes needed to compute and then apply new addresses, and why the ordering of objects matters. language runtimes · intermediate
- Mar 13, 2023 Quota Accounting Lags Admission, and What That Permits Quota is enforced against a recomputed usage figure rather than a reservation. How the check-then-act window opens, what falls into it, and where a second guardrail is needed. devops · intermediate
- Mar 12, 2023 Projected and Proximal Gradient Methods for Composite Objectives How constraint sets and non-differentiable penalties are handled by composing a gradient step with a projection or a proximal operator, and what the convergence rates assume. machine learning · intermediate
- Mar 10, 2023 Product Constructions: Intersection, Union, and Complement Without Rebuilding How pairing states from two machines computes a boolean operation on their languages, why complement needs a total transition function, and what the product costs in states. computation theory · intermediate
- Mar 10, 2023 Via Transitions, Stubs, and Backdrilling Why a plated through-hole behaves as a lumped discontinuity, how the unused barrel becomes a resonant stub, and what backdrilling and antipad sizing actually remove. hardware engineering · intermediate
- Mar 7, 2023 Rate Adaptation and How a Station Chooses Its MCS How a transmitter infers channel quality it cannot measure, why the retry count is a noisy signal, and what the probe-then-fallback strategies cost. networking · intermediate
- Mar 7, 2023 The Job Record State Machine: Enqueue, Claim, and Acknowledge How a durable job queue represents work as a record with an explicit state machine, why claiming must be a single conditional update, and which guarantees the record cannot provide. backend systems · foundational
- Mar 5, 2023 Arena Allocation and Ownership by Convention Replacing per-object ownership with region ownership: the bump-pointer fast path, the constraints it imposes on destructors, and where the pattern appears in real allocators. programming languages · intermediate
- Mar 3, 2023 Deletion via Tombstones and the Delete Bitvector Why a search index does not remove a document immediately, how a tombstone marks a document dead, and what a query does when it encounters one. information retrieval · foundational
- Mar 3, 2023 Retry Policy Design: Error Classification, Backoff, and Jitter Which failures deserve another attempt, how exponential backoff and jitter change the arrival distribution, and why a retry can make an outage worse. data engineering · intermediate
- Mar 2, 2023 Fresnel Reflectance for Dielectrics and Conductors Why reflectance rises to one at grazing angles, how the index of refraction and extinction coefficient determine the normal-incidence value, and how Schlick approximation departs from the exact curves. computer graphics · foundational
- Mar 2, 2023 Range Partition Boundaries and the Split Key Contract How ordered partitions are divided, why a split key is a durable fact rather than a hint, and what happens when boundaries are chosen badly. distributed systems · foundational
- Mar 1, 2023 Building a Flame Graph from a Set of Stack Samples Flame graphs are a sorted trie of stack prefixes; the merge, the sort, and the width computation each decide what the picture can and cannot show. performance engineering · intermediate
- Mar 1, 2023 Multiwindow Burn-Rate Alerts and the Short Window as a Reset Why one burn-rate rule cannot be both fast and quiet, how pairing a long window with a short one separates depth from duration, and what the AND condition changes about resolution. observability · intermediate
-
February
Feb 28, 2023 Snapshot Install and the Cost of Compacting a Consensus Log How snapshots bound log growth, why installing a snapshot is a different operation from sending entries, and where the boundary index and chunking interact with elections. distributed systems · intermediate - Feb 28, 2023 Variance Reduction by Pairing, Interleaving, and Blocking How separating between-session drift from within-session noise reduces the number of runs a comparison needs, why alternation cancels slow drift but not carryover state, and how to schedule the two versions. performance engineering · advanced
- Feb 27, 2023 Accessibility Tree Invalidation and Event Coalescing How engines detect that the tree is stale, what work happens before platform events fire, and why a burst of mutations can produce a single announcement. accessibility · advanced
- Feb 27, 2023 The Chomsky Hierarchy as a Ladder of Memory Each level of the hierarchy corresponds to a kind of store a machine may use: none, a stack, a bounded tape, an unbounded tape. What the grammar restrictions encode about that store. computation theory · intermediate
- Feb 26, 2023 Conditional Breakpoints: Where the Test Runs and What It Costs A condition does not reduce the number of stops, only the number of visible ones. Evaluating it in the debugger, in the stub, or in compiled code changes the cost by orders of magnitude. developer tools · intermediate
- Feb 26, 2023 Tree-Walking Interpretation and the Cost of Re-Deciding at Every Node Why an interpreter that evaluates syntax nodes spends most of its time on type dispatch and environment lookup, and which of those costs a bytecode compiler removes. programming languages · foundational
- Feb 25, 2023 Conditional Requests: Entity Tags, Dates, and Preconditions How If-None-Match and If-Modified-Since turn a full response into 304, how strong and weak validators differ, and why the precondition order is fixed. internet protocols · intermediate
- Feb 24, 2023 Line Tables, Breakpoints, and Single Stepping in an Interpreter How a debugger maps a bytecode offset back to a source line, how breakpoints are placed without corrupting the code, and what stepping costs per instruction. language runtimes · advanced
- Feb 23, 2023 Suffix-Stripping Stemmers and the Conflations They Force How the Porter and Snowball algorithms decide that a suffix may be removed, why the result is not a word, and which pairs of distinct concepts collapse together. information retrieval · intermediate
- Feb 22, 2023 Sequencing Work by Cost of Delay Under Precedence Constraints Why the weight-over-duration ratio is the exact ordering rule for one machine, what changes when dependencies and deadlines enter the model, and where the ratio becomes numerically fragile. software engineering · advanced
- Feb 22, 2023 Why Columns Need Identifiers Rather Than Names How field identifiers let a renamed or reordered column keep its meaning across old files, which type promotions the format permits, and why a name-based schema cannot express either. data engineering · intermediate
- Feb 20, 2023 Radio Tail Energy and the Cost of the Second Request Energy per byte is not a constant on a cellular radio; it depends on how long the radio stays powered, which makes request spacing a first-order energy decision. mobile computing · advanced
- Feb 17, 2023 Merge Scheduling and Latency-Bounded Throttling How a search engine decides which segments to merge and when, and how it keeps merge I/O from spiking query latency while still reclaiming space fast enough. information retrieval · intermediate
- Feb 17, 2023 Poly1305 and the Arithmetic of a One-Time Key A 130-bit prime, a clamped scalar, and a carry structure that make a fast MAC provably secure only when each key is used exactly once. cryptography · intermediate
- Feb 15, 2023 Scheduling a Parallel Build from a Dependency Graph A build is a DAG of commands with known costs and unknown costs alike. Choosing what to run next determines both wall-clock time and how badly a late-discovered dependency hurts. compilers · intermediate