Complete archive
Archive
3,240 articles, newest first · page 32 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
Mar 27, 2025 Data Movement as the Real Bottleneck in Offload Design How to account for the bytes an offload costs, which boundary dominates at each scale, and why the offload with the best local speedup is often the wrong one. computer architecture · advanced - Mar 27, 2025 Encrypted DNS Transports and Their Trust Boundaries How DoT, DoH, and DoQ change the transport without changing the protocol, what each hides, and why the resolver becomes the party that sees every name. internet protocols · advanced
- Mar 27, 2025 Speculative Inlining and Guard Placement How an optimizing JIT inlines a callee it cannot prove is the right target, what the guard costs, and why the number of guards rather than the amount of inlining sets the limit. language runtimes · intermediate
- Mar 26, 2025 Bottom-Up Expression Typing with Inference Variables How a checker types an expression from its children, when it must defer a decision to a metavariable, and how unification and the occurs check close those holes. compilers · intermediate
- Mar 26, 2025 Section Headers, String Tables, and the Bookkeeping a Linker Needs What the section table adds that segments do not carry, how names are resolved through a string table by offset, and why a stripped binary can still run without it. systems programming · foundational
- Mar 26, 2025 The URL Frontier: Priority Queues Behind Per-Host Politeness How a crawler satisfies two conflicting orderings at once, using a randomized priority front end and a back end of per-host queues keyed by ready time. information retrieval · foundational
- Mar 26, 2025 What Three-Phase Commit Adds and What It Still Cannot Do The pre-commit phase that removes blocking under node crashes, the assumption about network partitions that it silently depends on, and why real systems rarely deploy it. distributed systems · intermediate
- Mar 26, 2025 Why Byzantine Fault Tolerance Costs a Third of the Cluster The 3f+1 bound, where it comes from, and how quorum sizes must change when a faulty node can lie rather than merely stop. distributed systems · advanced
- Mar 25, 2025 Bitmap and Roaring Indexes for Combining Predicates How one bit per document per value makes conjunctions word-parallel, why the space cost forces chunked container formats, and where the crossover thresholds sit. algorithms · advanced
- Mar 25, 2025 PRAM Variants and the Cost of Ignoring Memory What the EREW, CREW, and CRCW models permit, how work and depth carry over from the DAG, and why a model with free memory access mispredicts real parallel time. algorithms · advanced
- Mar 25, 2025 Quorum Intersection and Why R + W Must Exceed N The arithmetic that guarantees a read sees the latest write, how sloppy quorums break it, and what read repair has to do to restore the guarantee. filesystems · intermediate
- Mar 23, 2025 Deterministic Time and Randomness in Test Suites Why a test that reads the system clock or the global random generator is not reproducible, how injected clocks differ from frozen ones, and how seeding makes a failure replayable. developer tools · intermediate
- Mar 22, 2025 Debug Information for Optimized Code: Line Tables, Location Lists, and Lost Variables At -O2 the compiler moves, merges, and deletes variables. DWARF describes the result with location lists and inline scopes, and the debugger reconstructs values that no longer live anywhere. compilers · advanced
- Mar 22, 2025 Why a Feistel Round Function Need Not Be Invertible The two-branch construction that turns any function into a permutation, why decryption reuses the encryption circuit, and what the halved diffusion rate costs. cryptography · foundational
- Mar 21, 2025 Householder QR and Orthogonality Loss in Gram-Schmidt Why the reflector-based factorization keeps its computed factors orthogonal when classical Gram-Schmidt does not, and what that costs in flops. scientific computing · foundational
- Mar 21, 2025 Move Semantics and the State Left Behind in the Source What transferring ownership actually changes in memory, why a moved-from object must still be destructible, and how unique ownership differs from a shallow copy. systems programming · foundational
- Mar 21, 2025 Yanking, Deprecation, and Retraction: Withdrawing a Version After Publication The three distinct ways a publisher can withdraw a release, what each does to existing lockfiles and fresh resolutions, and why immutability is the property they all trade against. software engineering · advanced
- Mar 20, 2025 Amortized Analysis of Dynamic Arrays Why appending to a growable array is O(1) on average despite occasional O(n) reallocations, and how the accounting argument is constructed. algorithms · foundational
- Mar 20, 2025 Constant Pools and Operand Encoding in Bytecode Why bytecode instructions reference large constants indirectly through a pool, how the pool is laid out, and what the fixed-width index fields cost. language runtimes · intermediate
- Mar 20, 2025 Erase Granularity, Write Ordering, and Power Loss During a Flash Write Why a firmware update cannot be made atomic at the byte level, how sector granularity dictates the update algorithm, and what a partially erased sector actually contains. embedded systems · intermediate
- Mar 20, 2025 Register Allocation and the Occupancy Ceiling How per-thread register counts are rounded into per-warp reservations, why a few extra registers can cost half the resident warps, and what forcing a lower count actually costs. gpu computing · intermediate
- Mar 20, 2025 Zero Page Addressing and the Economics of Eight-Bit Instructions Placing the first 256 bytes of memory at the centre of the instruction set traded address range for instruction length, and shaped how eight-bit code was written. computing history · foundational
- Mar 19, 2025 Green Threads and the Cost of a User-Space Context Switch What a green thread actually saves compared with a kernel thread, which registers a switch must preserve, and why a scheduler that lives in user space changes the blocking rules of the whole runtime. language runtimes · foundational
- Mar 19, 2025 Resumable Backfills: Watermarks, Chunk Boundaries, and Gap-Free Progress How a long-running backfill records where it stopped, why the watermark must advance over a total order rather than a clock, and what idempotent chunks cost. distributed systems · intermediate
- Mar 19, 2025 What a Bootloader Must Establish Before Jumping to an Application The register values, memory layout, and validation a bootloader owes an application image, and why the transfer has to be a tail branch rather than an ordinary call. embedded systems · foundational
- Mar 18, 2025 Differentiating a Regular Expression: Residual Languages as Automaton States How the Brzozowski derivative turns matching into repeated symbolic differentiation, why the residual languages are already DFA states, and where the construction blows up. computation theory · advanced
- Mar 18, 2025 The Power Delivery Chain from Wall Adapter to Core Rail How a processor's sub-volt, hundred-ampere supply is produced from a 12 V input, why every conversion stage loses a share, and where the losses accumulate. hardware engineering · foundational
- Mar 17, 2025 Device Memory Oversubscription and Page Migration Selling more device memory than exists requires evicting pages to host memory, and the cost of that depends entirely on how the device detects and services a miss. gpu computing · intermediate
- Mar 17, 2025 Install Sessions: Atomicity Across Multiple Split APKs How the installer stages a set of APKs as one transaction, what commit guarantees about visibility, and what happens to a half-written session when the device reboots. mobile computing · advanced
- Mar 17, 2025 Resource Graphs and Dependency Ordering How references between resources become directed edges, why a cycle is rejected before anything is created, and how ordering decisions change apply time and blast radius. cloud infrastructure · foundational
- Mar 17, 2025 TCP Keepalive as a Failure Detector, and Why It Cannot Be One What keepalive probes actually prove about a peer, why the kernel default of two hours makes them useless for failover, and which failures they detect that an application heartbeat cannot. distributed systems · intermediate
- Mar 16, 2025 Changelogs as a Curated Projection of Commit History A changelog is not a formatted log. It selects changes by who observes them, classifies them against a version bump, and states consequences that no commit message contains. software engineering · foundational
- Mar 16, 2025 What a Recurrent Cell Computes at Each Time Step The exact arithmetic of an RNN cell, the tensor shapes and cost per step, why the recurrence is unrolled for training, and how hidden states behave when the sequence continues across batches. deep learning · foundational
- Mar 15, 2025 Host-Mapped Memory over PCIe: Zero-Copy Access and Its Latency Wall What happens when a kernel dereferences host memory directly across the bus, why write-combining changes the cost, and the access patterns that make it worth doing. gpu computing · intermediate
- Mar 15, 2025 Randomized Recurrences and the Indicator Variable Method How expected cost is derived from indicator variables and conditional expectations, and why a recurrence over the random split point needs a different treatment from a deterministic one. algorithms · intermediate
- Mar 14, 2025 How an OCI Manifest and Index Name Their Layers The descriptor graph behind a single image reference, how platform selection picks one manifest out of an index, and the failure cases in the matching rules. virtualization · foundational
- Mar 14, 2025 Label Association and the Accessible Name of a Form Control How the for attribute and implicit nesting bind a label to a control, how that binding becomes an accessible name, and what an unassociated label leaves behind. accessibility · foundational
- Mar 13, 2025 Block Compression and the Endpoints It Stores How a fixed-rate block codec reconstructs four colours from two endpoints, why the block grid forces independent decoding, and what that costs at mip level boundaries. computer graphics · intermediate
- Mar 13, 2025 Constraint Validation and the Form Validity State Machine Required, pattern, min, max, and step produce a set of independent validity flags, not one error. How the browser decides whether a form may submit, and where the API diverges from the interactive path. web platform · intermediate
- Mar 13, 2025 io_uring Submission and Completion Ring Mechanics The shared-memory rings that carry requests into the kernel and results back out, how batching and polling remove syscalls, and where the cost model replaces transition overhead with memory ordering. performance engineering · advanced
- Mar 13, 2025 Mandatory Access Control Above the UID Boundary Why a per-app user ID is not sufficient authorisation, how type enforcement composes with discretionary permissions, and what the policy costs to maintain. mobile computing · advanced
- Mar 12, 2025 Finalizers and the Gap Between Reclaimable and Released Why a finalizer runs at an unpredictable time, how resurrection and finalizer ordering break cleanup, and what a disposal protocol adds that collection cannot. systems programming · advanced
- Mar 12, 2025 Lockdep: Proving Lock Order Without Running the Deadlock How the kernel records which lock classes are taken while holding which others, why a cycle in that graph is a proof, and what the validator cannot see through. operating systems · intermediate
- Mar 11, 2025 Allocation Rate, Heap Growth, and Garbage Collection Pauses on a Frame Budget Why per-frame allocation, not heap size, determines pause frequency, how a generational collector turns short-lived objects into a recurring cost, and what makes a collection visible in a frame. mobile computing · intermediate
- Mar 11, 2025 Data Temperature and the Cost of Cleaning Mixed Segments Why placing hot and cold data in the same segment forces the collector to copy live cold bytes to reclaim dead hot bytes, and how write segregation by expected lifetime bounds that cost. filesystems · advanced
- Mar 9, 2025 Tone Mapping Operators: Reinhard, Filmic, and Why a Clamp Loses the Image What happens when scene luminance outruns a display, why a hard clip wastes the highlight, and how the three families of operators compress the range. computer graphics · intermediate
- Mar 8, 2025 Separate Namespaces and Overload Sets in a Symbol Table How languages keep types, values, tags, and labels in distinct tables, and what changes when one spelling must resolve to a set of candidate declarations instead of a single one. compilers · foundational
- Mar 7, 2025 Clock Skew, Jitter, and the Synchronous Timing Budget The two inequalities that decide whether a synchronous design works, how skew helps setup and hurts hold, and why clock distribution is a first-class design problem. hardware engineering · advanced
- Mar 7, 2025 Command Queues, Events, and Cross-Stream Ordering What an in-order queue actually guarantees, how events turn streams into a dependency graph, and why the same code is correct under CUDA streams and wrong under Vulkan barriers. gpu computing · intermediate
- Mar 7, 2025 Core Dumps: Notes, Mappings, and Unwinding a Dead Process A core file is an ELF object whose segments are memory rather than code. How registers, mappings, and file identities are recorded so a backtrace can be rebuilt later. developer tools · advanced
- Mar 7, 2025 Why Blending in Gamma-Encoded Space Produces Wrong Colours What the display transfer function does to a weighted average of two colours, why source-over compositing belongs in linear light, and where the correction sits in a renderer. computer graphics · foundational
- Mar 5, 2025 Autoscaling Control Loops: Why the Metric Lags the Demand The feedback loop behind replica count: measurement windows, stabilization, and the delay stack that makes a fast scaler overshoot and an accurate one react too late. cloud infrastructure · intermediate
- Mar 5, 2025 Draining a Router for Maintenance Without Dropping In-Flight Traffic How to withdraw a router from the forwarding path by changing what the control plane advertises, how long convergence takes, and why the drain interval must exceed it. networking · advanced
- Mar 5, 2025 The Master Theorem and the Recursion Tree Behind Its Three Cases Divide-and-conquer recurrences are solved by comparing the work at the root with the work at the leaves. Where the three cases come from, and which recurrences slip past them. algorithms · foundational
- Mar 4, 2025 Coupling and Cohesion as Independent Structural Axes Why dependency strength between modules and relatedness inside a module are separate measurements, and how the classic coupling and cohesion scales describe them. software architecture · foundational
- Mar 4, 2025 Instance Shape Selection and the vCPU-to-Memory Ratio Why a workload that fits one instance family strands half of another, how joint utilization percentiles differ from per-dimension ones, and what burstable credits hide. cloud infrastructure · intermediate
- Mar 4, 2025 Symbol Table Layouts and the Cost of Leaving a Scope Why a compiler symbol table is not just a hash map, how scope exit is made cheap, and what the per-scope-frame and shadow-stack designs each cost in lookup and memory. compilers · foundational
- Mar 3, 2025 The Anatomy of a Context Switch Which registers are saved, where they go, why the switch costs more than the save, and how address-space tags avoid flushing the translation cache. operating systems · intermediate
- Mar 2, 2025 Gate Basis, Fan-In, and What Circuit Size Actually Counts Why the de Morgan basis, NAND alone, and unbounded fan-in bases give different gate counts, and how the conversions between them are constructed. computation theory · foundational
-
February
Feb 28, 2025 Break-Glass Changes: Overrides That Are Auditable and Expire How to let an operator change a host during an incident without permanently losing the declaration, why an override needs an owner and a deadline, and how the loop treats it. devops · advanced