Complete archive
Archive
3,240 articles, newest first · page 14 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.
-
2026
Apr 1, 2026 ARC and Authentication Across Forwarding Hops How a chain of seals lets a receiving domain trust authentication results recorded before a message was forwarded, and where that trust stops being safe. internet protocols · advanced - Apr 1, 2026 Block Barriers and Divergent Synchronization What __syncthreads() actually orders within a block, why a barrier reached by only some threads is undefined, and how warp-level primitives replace it where blocks are too coarse. gpu computing · intermediate
- Apr 1, 2026 Mask Registers, Tail Handling, and the Cost of the Last Iteration How per-lane execution masks replace the scalar remainder loop, what inactive lanes still consume, and why vector length control and tail policy decide whether the last iteration is cheap. computer architecture · intermediate
- Apr 1, 2026 Symbolic Protocol Verification and the Perfect Encryption Assumption How Dolev-Yao models reduce cryptography to term algebra, what tools such as ProVerif and Tamarin can and cannot find, and why a symbolic attack is always worth taking seriously. cryptography · advanced
-
March
Mar 31, 2026 Forecasting Completion Dates from Historical Throughput Resampling the observed rate of finished work to produce a distribution of completion dates, and the assumptions about scope, unit, and independence that decide whether the answer means anything. software engineering · intermediate - Mar 31, 2026 How a Hardware Interrupt Reaches a Handler on x86-64 The gate descriptor lookup, the privilege transition, and the stack switch that carry a device signal into kernel code, and what each step costs. operating systems · foundational
- Mar 30, 2026 Adjoining Margins and the Block Formatting Context How block-level boxes stack in normal flow, when adjacent vertical margins merge into a single offset, and why establishing a formatting context stops the merging. web platform · foundational
- Mar 30, 2026 Domain Separation in Merkle Tree Hashing How a leaf node and an internal node can hash to the same value, why the standard repair costs one bit of digest, and which schemes still get the distinction wrong. cryptography · intermediate
- Mar 30, 2026 Duty-Cycled Radios and Preamble Sampling Why a receiver that listens continuously dominates a radio budget, how preamble sampling trades latency for a short listen window, and where the trade breaks. embedded systems · intermediate
- Mar 30, 2026 Measurement Overhead and the Code the Compiler Deletes How dead-code elimination, loop unrolling, and constant folding silently remove the work a benchmark claims to time, and which structural defences keep the timed region intact. performance engineering · foundational
- Mar 30, 2026 Natural Deduction: Why Implication Is Defined by Two Rules How introduction and elimination rules fix the meaning of implication, why the pair must be in harmony, and what a local reduction step removes from a derivation. computation theory · foundational
- Mar 30, 2026 Peripheral Clock Gating and Autonomous Transfer How gating a peripheral clock saves dynamic power, why a gated peripheral still costs leakage, and how DMA lets a conversion happen with the core asleep. embedded systems · intermediate
- Mar 30, 2026 Perspective-Correct Interpolation and the Reciprocal-W Trick Why screen-space linear interpolation of a clip-space attribute is wrong, how dividing by w before the rasterizer and dividing back after the vector unit restores correctness, and what it costs. gpu computing · foundational
- Mar 28, 2026 Linearization: Why Visual Reordering Breaks Reading and Focus Order How DOM order determines both the reading order for assistive technology and the focus sequence, why CSS ordering properties desynchronize them from the visual layout, and how to keep the four orders aligned. accessibility · intermediate
- Mar 27, 2026 Recording Rules, Pre-Aggregation, and the Cost of Evaluating at Read Time Why the same query evaluated per-panel at render time multiplies work by viewers, how a pre-aggregated rule trades flexibility for a bounded cost, and what staleness the rule introduces. observability · advanced
- Mar 26, 2026 Blocking Records on Magnetic Tape and the Cost of the Interblock Gap Why tape stores records in blocks separated by blank gaps, how block size trades tape capacity against buffer memory, and what tape marks and labels do that a gap cannot. computing history · intermediate
- Mar 26, 2026 Rollback Boundaries: Which Layers a Reversal Can Restore Code, configuration, schema, data, messages, and external effects each reverse differently; how to place the irreversible step last and keep a rollback window that is real. devops · advanced
- Mar 25, 2026 Clipped N-Gram Precision and the Brevity Penalty How BLEU converts n-gram overlap into a single number, why counts are clipped against the reference, and where the brevity penalty stops correcting for short output. inference systems · foundational
- Mar 25, 2026 Control Groups v2: How Memory and CPU Limits Are Enforced Where the kernel charges a page to a cgroup, what happens when the charge exceeds the limit, and why CPU bandwidth control throttles rather than blocks. operating systems · intermediate
- Mar 25, 2026 From Suffix Trie to Suffix Array: Implicit Nodes and Intervals A suffix trie over a text is quadratic in nodes; a suffix tree keeps only branching positions; a suffix array replaces the nodes with sorted offsets plus an LCP array. What is gained and lost at each step. data structures · advanced
- Mar 25, 2026 Host-Device Transfers and the Cost of Crossing the Bus Pinned versus pageable host memory, why a blocking copy costs more than its bandwidth suggests, and where the staging copy inside the runtime comes from. gpu computing · intermediate
- Mar 25, 2026 Path Resolution Component by Component The walk behind every open: how a pathname is split, when symlinks are expanded, how mount points and dot-dot interrupt the tree, and where the interface allows a race. filesystems · intermediate
- Mar 24, 2026 Discovery Metadata and the Key Set Rotation Problem How a well-known document bootstraps trust in endpoints and signing keys, and what an implementation must do when the published key set changes underneath it. internet protocols · advanced
- Mar 24, 2026 Distance Concentration and Why Tree Indexes Collapse in High Dimensions Why bounding-box and ball-tree pruning stops helping as dimensionality grows, what the concentration effect does to nearest-neighbor contrast, and which index families survive it. information retrieval · foundational
- Mar 24, 2026 HTTP Message Framing: Start Lines, Field Lines, and CRLF How an HTTP/1.1 message is divided into a start line, a field section, and a body, and which parts of that grammar still decide whether a parser succeeds. internet protocols · foundational
- Mar 24, 2026 Marching Cubes and the Ambiguity at a Cell Face How a 256-entry lookup table turns a scalar grid into triangles, why the case count is not 256, and how a saddle on a cell face can be triangulated two incompatible ways. computer graphics · intermediate
- Mar 24, 2026 Propagating Context Across Queues, Threads, and Proxies Why an implicit current-span variable fails the moment work moves to another thread or another process, and how context has to be carried explicitly through each boundary type. observability · foundational
- Mar 23, 2026 Consistent Hashing Rings and Virtual Node Counts Why a ring moves only 1/(n+1) of the keys when a node joins, how virtual nodes fix the variance, and what the load spread looks like at realistic counts. distributed systems · foundational
- Mar 23, 2026 Near-Real-Time Refresh and the Commit Boundary How an index makes newly added documents searchable within seconds, and the distinction between committing to the filesystem cache and committing to durable storage. information retrieval · intermediate
- Mar 22, 2026 Cache Freshness, Age, and the Directive Precedence Rules How a cache computes whether a stored response is fresh, how Age accumulates across hops, and which directive wins when several apply. internet protocols · intermediate
- Mar 22, 2026 Remote Debugging Through gdbserver and a Target Sysroot The debugger runs on one machine and the process on another, with only a byte stream between them. Which memory reads the host performs, why the target libraries must exist locally, and what breaks once addresses stop matching. systems programming · advanced
- Mar 21, 2026 Building the Interference Graph from SSA Live Ranges Why SSA live ranges interfere only at phi-connected join points, how that makes the graph chordal, and what the colouring and spilling decisions cost once the graph is built. compilers · advanced
- Mar 21, 2026 Fencing and Quorum in Automated Failover Why a new primary must be able to prove the old one cannot write, how leases fail when a machine is paused rather than dead, and where quorum buys safety more cheaply. devops · advanced
- Mar 21, 2026 Interface Configuration Order: Link State, Address Assignment, and Route Installation Why an interface can hold a valid address and still be unreachable, how duplicate address detection suspends usability, and which piece of state to inspect first. networking · foundational
- Mar 21, 2026 Shadow Paging and Copy-on-Write Trees How writing a modified page to a new location instead of in place makes every update atomic, what the pointer-update protocol must flush, and how the space cost accumulates until a collection pass reclaims it. memory systems · intermediate
- Mar 20, 2026 Condition Variables and the Lost Wakeup Problem Why checking a predicate and then sleeping is not atomic, how a condition variable closes the window with the mutex it is paired with, and why the wait must be a loop. operating systems · foundational
- Mar 20, 2026 Inverse Kinematics and the Jacobian It Iterates How an end-effector target becomes joint angles, why the Jacobian transpose and pseudoinverse solve the same problem differently, and where singularities make both of them fail. computer graphics · intermediate
- Mar 20, 2026 Operator Fusion and the Conditions That Block It Why merging adjacent operators into one kernel removes memory traffic, how producers and consumers are classified, and which graph shapes make the merge illegal or unprofitable. inference systems · foundational
- Mar 20, 2026 PTX, SASS, and What a Fat Binary Contains The two-stage compilation path from CUDA C to machine code, why PTX survives an architecture change and SASS does not, and how the loader picks a cubin from an embedded archive. gpu computing · intermediate
- Mar 20, 2026 Reproduction Fidelity and the Sources of Nondeterminism A failure that reproduces locally is not necessarily the failure that was observed, and the difference is a set of interleavings, clock readings, hash seeds, and externally timed events. observability · intermediate
- Mar 19, 2026 Delayed Allocation and the Reservation Window Why holding back the block-allocation decision until writeback makes layout better and failure later, and how a per-file reservation prevents the space from being promised twice. filesystems · advanced
- Mar 19, 2026 Interrupt Vectors as the First Hardware Abstraction Layer The real-mode vector table turned firmware entry points into a stable calling convention, letting programs reach disks, video, and keyboards without knowing which adapter was installed. computing history · intermediate
- Mar 19, 2026 Precise Exceptions from an Imprecise Machine Why an out-of-order core must present exceptions at exact instruction boundaries, the ordering rules for synchronous faults versus interrupts, and what the operating system can rely on. computer architecture · intermediate
- Mar 19, 2026 Routing Alerts by Required Response: Page, Ticket, and Log Line How the required human response determines an alert channel, why a channel that interrupts must carry an action, and how ownership and escalation decide where a notification lands. observability · foundational
- Mar 19, 2026 Where a Memory Policy Attaches and How It Inherits Policies belong to address ranges and to tasks, not to allocations, and the two interact at every fault; how splitting, forking, and exec change which policy is in force. memory systems · intermediate
- Mar 18, 2026 Loop Unrolling, Trip Counts, and the Cost of Code Growth Unrolling by a known factor removes loop overhead and enables scheduling across iterations, but it needs trip-count knowledge, a remainder loop, and a register-pressure check to pay off. compilers · advanced
- Mar 18, 2026 Session Resumption in TLS 1.3: Tickets, Binders, and 0-RTT Replay How a ticket becomes a pre-shared key, what the binder actually signs over, why early data cannot be made replay-proof, and what servers do about it. internet protocols · intermediate
- Mar 17, 2026 Array Element Kinds and Representation Transitions How a homogeneous array of small integers becomes an array of doubles and then an array of boxed values, why the transitions are one-way, and what the kind check costs on each read. language runtimes · advanced
- Mar 17, 2026 Attributing Allocations to Call Sites by Unwinding the Stack How a tracing allocator recovers the calling stack for each allocation, why frame-pointer chains fail in optimised code, and what a table-driven unwind costs per event. memory systems · foundational
- Mar 17, 2026 Clock Domains and the Ordering of Events Across Hosts Why timestamps from two machines cannot be subtracted to get a latency, what NTP slewing and stepping do to a span duration, and how causal order survives without a shared clock. observability · foundational
- Mar 17, 2026 Kolmogorov Complexity and the Two-Part MDL Code Why the shortest program describing an object is uncomputable yet still useful, how the two-part minimum description length principle turns that idea into a model selection criterion, and where the criterion misleads. computation theory · advanced
- Mar 17, 2026 Readiness Notification and the Single-Threaded Event Loop How one thread watches thousands of file descriptors through epoll or kqueue, why edge-triggered notification forces handlers to drain until EAGAIN, and where the dispatch loop stalls. language runtimes · foundational
- Mar 17, 2026 Timestamps, RTTM, and Protection Against Wrapped Sequences How an echoed timestamp lets a sender time a retransmitted segment, why PAWS rejects segments by timestamp rather than sequence number, and what the option costs per segment. networking · advanced
- Mar 16, 2026 Coherence and the Modification Order of a Single Location The four coherence axioms, why per-location agreement is much weaker than a global order, and how IRIW separates the two. memory systems · intermediate
- Mar 16, 2026 How Sampling Profilers Turn Timer Interrupts into Execution Profiles Why a profiler interrupts rather than instruments, what each sample records, and how timer frequency and signal delivery bias the result. performance engineering · foundational
- Mar 16, 2026 Where the Reset Vector and Initial Stack Pointer Come From Why the first two words of a firmware image are read by hardware before any instruction executes, how the vector table is indexed, and what breaks when the table moves. embedded systems · foundational
- Mar 16, 2026 Why Every Conversion Should Pass Through XYZ, and When It Should Not Chaining RGB-to-RGB transforms as a single matrix multiplies the errors of both, discards gamut information, and breaks the ability to apply chromatic adaptation. computer graphics · intermediate
- Mar 15, 2026 Additive Animation Layers and the Weights That Normalize Them How a delta pose composes onto a base without double-counting, why blend weights need a normalized space, and how the same arithmetic mixes clips, layers, and states. computer graphics · intermediate
- Mar 15, 2026 CSS Containment and content-visibility: Skipping Rendering Work What contain: size, layout, style, and paint each guarantee, how content-visibility skips work for offscreen subtrees, and the scroll and accessibility edge cases. web platform · advanced
- Mar 15, 2026 Which Elements Can Actually Take Focus The closed list of natively focusable elements, the three independent exclusions that remove an element from that list, and why a call to focus() can return without moving focus at all. accessibility · foundational