Complete archive
Archive
3,240 articles, newest first · page 22 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
Oct 29, 2025 Universal Hashing and Guarantees That Hold for Every Input How choosing a hash function at random from a pairwise-independent family removes the adversary s advantage, and what a family costs to evaluate and to build. algorithms · intermediate - Oct 28, 2025 External Sorting: Run Generation, k-Way Merge, and the Fan-In Limit How replacement selection builds long runs from a bounded buffer, how a loser tree merges k runs, and why the merge width is capped by seeks rather than memory. algorithms · advanced
- Oct 28, 2025 Scan Chains and Automatic Test Pattern Generation Why a flip-flop becomes a two-mode scan cell, how a stuck-at fault model turns testing into a search for input patterns, and what the ATPG tool trades away when it cannot fill the vector. hardware engineering · intermediate
- Oct 28, 2025 Sessions and Ephemeral Nodes: Tying State to a Live Connection How a coordination service tracks client liveness, why ephemeral nodes vanish with the session, and what a client must do when it cannot tell whether its session survived. distributed systems · foundational
- Oct 28, 2025 Why a Cross Toolchain Bootstraps in a Fixed Order The compiler needs a C library to link, and the C library needs a compiler to build. How a three-stage bootstrap breaks that cycle and which artefacts appear at each stage. systems programming · intermediate
- Oct 26, 2025 Fixed-Width SIMD Lanes Versus Scalable Vector Registers Why one design bakes the vector length into the instruction encoding and the other reports it at run time, and how each choice propagates into code generation, binary compatibility, and register pressure. computer architecture · foundational
- Oct 26, 2025 Vector Chaining and What It Costs in the Register File How forwarding a vector result element by element to a dependent operation cuts latency from the sum of stage latencies to the last stage alone, and why chain slots rather than arithmetic units bind performance. computer architecture · intermediate
- Oct 25, 2025 Incremental Document Synchronization Between Client and Server How the editor keeps a server copy of the buffer in step with its own: full versus incremental sync, the sequential semantics of change ranges, version numbers, and the divergence that follows an off-by-one. developer tools · intermediate
- Oct 25, 2025 Storage Tiers Are a Bet on Access Frequency: Minimum Durations and Retrieval Cost Cheaper storage classes trade per-byte price for retrieval fees, minimum storage durations, and latency. The break-even arithmetic decides which tier a dataset belongs in. cloud infrastructure · intermediate
- Oct 25, 2025 Tensor Fields and the Ambiguity of Eigenvector Glyphs How a symmetric rank-two field is decomposed into three directions, why those directions have no sign, and what happens to the picture at isotropic and planar degeneracies. scientific computing · advanced
- Oct 24, 2025 Opcode Space Allocation and How Extensions Claim Encodings How an instruction set divides its opcode map among base operations, extensions and vendor additions, and what happens when the map runs out of room. computer architecture · foundational
- Oct 24, 2025 Sizing and Adapting the Jitter Buffer How a playout buffer trades latency for concealment, the difference between a fixed and an adaptive delay target, and why the delay estimate must not follow every spike. internet protocols · intermediate
- Oct 24, 2025 Timestamp Oracles and Global Transaction Order How distributed systems assign a total order to transactions without a shared clock, what happens when the oracle is unreachable, and why the ordering guarantee is not the same as real-time order. distributed systems · advanced
- Oct 23, 2025 Metastability: What a Two-Flop Synchronizer Buys and What It Cannot Why a flip-flop that samples a changing asynchronous input can hover between logic levels, how the resolution failure rate falls exponentially with the time allowed, and why buses cannot be crossed one bit at a time. hardware engineering · intermediate
- Oct 22, 2025 How a Browser Computes an Origin, and Why Ports and Schemes Count The tuple comparison behind the same-origin policy, the opaque origins that never match anything, and the document.domain exceptions that weaken the rule. security · foundational
- Oct 22, 2025 Invalidation by Deletion and by Versioned Key Why deleting a cache entry after a write is a race rather than a guarantee, how versioned keys turn invalidation into a change of address, and what each approach costs when the cache and the source disagree. backend systems · intermediate
- Oct 22, 2025 Ordered BVH Traversal and the Per-Ray Stack How front-to-back descent keeps the ray interval shrinking, why the stack depth is bounded by tree height rather than scene size, and what happens when it is not. computer graphics · intermediate
- Oct 22, 2025 Page-Level Encryption: Nonces, MACs, and the Cost of Decrypting Every Read How an embedded database encrypts individual pages with a per-page nonce and a per-page MAC, what that costs in usable page space, and why the key cache is the real attack surface. mobile computing · advanced
- Oct 22, 2025 Ray Parameter Intervals and the Origin Offset Problem Why a secondary ray that starts exactly on a surface hits it again, what a scaled epsilon actually moves, and how an interval filter differs from a shadow-ray flag. computer graphics · foundational
- Oct 22, 2025 Why Exactly-Once Delivery Stops at the Workflow Boundary How end-to-end exactly-once requires three coordinated commits, which participant in a scheduled workflow cannot supply one, and what the achievable guarantee actually is. data engineering · advanced
- Oct 21, 2025 Acquire and Release Ordering: What a Lock Actually Guarantees About Memory How store buffers and compiler reordering let a consumer observe a published value before the data it points to, and how release and acquire operations restore the ordering without a full fence. operating systems · foundational
- Oct 21, 2025 Atomic Contention and the L2 as a Serialization Point Why a global atomic executes at the cache slice that owns its address, how a hot counter turns a parallel machine into a queue, and which reductions avoid the queue entirely. gpu computing · advanced
- Oct 21, 2025 Leader Failover: Detection Windows, Fencing, and Split-Brain Avoidance How a failed leader is detected, why a timeout cannot distinguish a dead leader from a slow one, and how fencing tokens stop two leaders from accepting writes. databases · intermediate
- Oct 21, 2025 List Scheduling and the Critical Path How a basic-block scheduler orders instructions to hide latency, why the critical path bounds the result, and how register pressure forces it to give that bound up. compilers · intermediate
- Oct 21, 2025 Mutation Testing and What Coverage Cannot Tell You Seeding small syntactic faults to measure whether a suite would notice them, the equivalent-mutant problem, and how coverage-directed runs keep the cost bounded. developer tools · advanced
- Oct 21, 2025 Queueing Delay as a Congestion Signal and the Base RTT Problem A queue that is filling raises round-trip time before it drops anything, so delay can warn earlier than loss. Turning that warning into a control signal requires a stable estimate of the delay without queues. networking · intermediate
- Oct 21, 2025 Service Worker Lifecycle and the Registration Scope How a service worker moves from registration through installation and activation, why a new version may wait indefinitely, and what the scope URL decides about the requests it can intercept. web platform · foundational
- Oct 20, 2025 DWARF Line Tables: Turning an Address into a File and Line The line table is a bytecode program that expands into address ranges, not a list of instructions. How debuggers run it, and why a breakpoint on line 12 lands where it does. developer tools · foundational
- Oct 20, 2025 Procedural Macros and the Token Stream Contract What a procedural macro receives from the compiler, why the interface is a flat token sequence rather than a syntax tree, and what that costs in error reporting and incremental compilation. programming languages · intermediate
- Oct 20, 2025 Serverless Execution and the Per-Event Invocation Model When the unit of deployment is a single event handler, lifecycle, concurrency, and retries stop being operational details and become the architecture. What the invocation model gives and what it takes away. software architecture · advanced
- Oct 18, 2025 Throttling I/O with cgroup Controllers and What the Limits Share How the I/O controller accounts and limits bandwidth and IOPS per group, why a throttle applies to a queue rather than to a process, and how the limits interact with the page cache and with each other. performance engineering · advanced
- Oct 17, 2025 Active Queue Management and Explicit Congestion Notification Random early detection marks or drops before the buffer fills, and ECN lets the receiver echo the mark instead of losing a packet. What the queue can signal and what the sender must do with it. networking · intermediate
- Oct 17, 2025 DNS TTL, Resolver Caches, and the Real Duration of a Cutover How negative caching, recursive resolvers, and connection reuse stretch a five-minute TTL into hours of split traffic, and what actually bounds the redirect window. cloud infrastructure · intermediate
- Oct 17, 2025 Image Headers and Integrity Validation Before Execution How a bootloader decides an image is complete and well-formed, which fields belong in the header, and why a checksum over the wrong range is worse than none. embedded systems · foundational
- Oct 17, 2025 mmap and the Page-Fault Path: What a Mapping Really Does A memory mapping installs page-table entries lazily, so the first touch of each page faults into the page cache. The fault path, the shared and private cases, and the failure modes that follow from the split between mapping and page tables. systems programming · advanced
- Oct 17, 2025 Non-Blocking Sends, Eager Limits, and the Progress Problem Why separating initiation from completion does not automatically overlap communication with computation, and what the library must do while the application is not inside it. scientific computing · intermediate
- Oct 17, 2025 Retiming and Balancing the Stages of a Datapath How logic is moved across pipeline registers to shorten the longest stage, which moves are legal, and why a balanced pipeline is a fixed-point problem rather than a partition. computer architecture · advanced
- Oct 16, 2025 LSM Compaction: Size-Tiered and Leveled Strategies Compared How an LSM tree turns random writes into sequential ones, what each compaction strategy costs in read amplification and space amplification, and when the write stalls arrive. databases · intermediate
- Oct 16, 2025 Priority Inversion and Inheritance How a low-priority lock holder can stall a high-priority thread, why inheritance repairs the ordering, and what it costs in unlock complexity and chained blocking. operating systems · intermediate
- Oct 16, 2025 Reading a BGP Session Failure From Its State and Its Last Error How the session states narrow a failure to transport, capability negotiation, or policy, and why a session that reaches Established can still exchange no routes. networking · advanced
- Oct 15, 2025 Dual Writes and the Divergence They Inevitably Produce Why writing to two stores from application code cannot be made atomic, how partial failure and reordering corrupt one side, and which log-based alternative removes the window. software architecture · intermediate
- Oct 15, 2025 Free Lists: Threading Reuse Through the Blocks an Allocator Has Released How an allocator stores its free list inside the freed memory itself, why coalescing needs boundary tags, and what size-class segregation does to fragmentation. data structures · intermediate
- Oct 15, 2025 Headroom Arithmetic: Turning a Load Forecast into a Replica Count How arrival rate, service time, and utilization combine into a replica count, why the nonlinearity of queueing makes the last few percent of utilization decisive, and how safety margins compound. performance engineering · foundational
- Oct 15, 2025 Intrinsic Sizing and Aspect Ratio What min-content, max-content and fit-content mean numerically, how replaced elements report their natural size, and how aspect-ratio transfers a definite dimension across axes. web platform · intermediate
- Oct 15, 2025 Local and Global Secondary Indexes Under Partitioning An index can be partitioned with the data or by the indexed value. The first makes writes cheap and reads expensive; the second inverts it, and neither is free. distributed systems · advanced
- Oct 14, 2025 Comparator Contracts and Why a Bad One Crashes the Sort Strict weak ordering is the precondition every library sort relies on; violating it turns a sort into an out-of-bounds read, and the failure is silent until it is not. algorithms · intermediate
- Oct 14, 2025 GraphQL Execution: Resolvers, Fan-Out, and Query Cost How a GraphQL document becomes a tree of resolver calls, why list fields produce N+1 queries, and which limits keep a single endpoint from being a denial-of-service vector. backend systems · intermediate
- Oct 14, 2025 Thread Hierarchy and Global Index Arithmetic in a Kernel Launch How a grid of blocks and threads is flattened into buffer indices, where the arithmetic overflows, and what the launch dimensions deliberately do not guarantee. gpu computing · foundational
- Oct 13, 2025 Hybrid Encryption and the Cost of Encrypting Long Messages Why a public-key operation wraps a symmetric key instead of the message, how RSA-KEM and ECIES derive that key, and what the encapsulation interface changes. cryptography · advanced
- Oct 13, 2025 Salt, Hash, and MGF1: What RSA-PSS Adds to the Verification Step Probabilistic signature padding turns a textbook RSA signature into one that resists chosen-message forgery, and moves work from the signer to the verifier. cryptography · intermediate
- Oct 13, 2025 Source Code Control Before Merging: RCS, CVS and the Locking Model How the first source control systems represented revisions as deltas against a single file, why CVS made concurrent editing possible without solving it, and what the checkout-edit-commit cycle could never guarantee. computing history · intermediate
- Oct 13, 2025 Transformer State and the Fold Boundary Why every fitted preprocessing object must live inside the cross-validation loop, which statistics actually matter, and how refitting at the end reintroduces the leak. machine learning · intermediate
- Oct 11, 2025 Anti-Rollback Counters and Version Monotonicity Why a validly signed older image is still a downgrade attack, how a monotonic counter is kept without a battery, and what the counter costs in flash endurance. embedded systems · advanced
- Oct 11, 2025 Microfacet Distributions and the Shadowing Term That Balances Them Why a half-vector distribution alone gives the wrong energy, how Smith masking accounts for one microsurface occluding another, and what correlated visibility changes. computer graphics · intermediate
- Oct 10, 2025 Array Layout and the Sift Invariant in Binary Heaps How a complete binary tree maps onto a flat array with no pointers, why the heap property is a partial order, and what sift-up and sift-down actually cost. data structures · foundational
- Oct 10, 2025 Fragmentation Without Leaks: Diagnosing a Growing Heap Why a process whose live set is flat can still grow, how internal and external fragmentation differ in cause and cure, and which counters distinguish the two. memory systems · intermediate
- Oct 10, 2025 Static IR Drop and Dynamic Droop Inside the Die Power Grid Why the last hundred millivolts of a processor's supply budget is spent in on-die metal, how current transients turn grid inductance into voltage droop, and where electromigration sets the hard limit. hardware engineering · intermediate
- Oct 10, 2025 Why Decoding a Random Linear Code Is Hard Enough to Sign With How the syndrome decoding problem underpins code-based cryptography, what the Prange and Stern algorithms reveal about its cost, and how the Niederreiter form turns it into signatures. cryptography · foundational
- Oct 9, 2025 Connection State Transitions and the TIME_WAIT Hold Why closing a TCP connection takes four segments rather than two, what TIME_WAIT protects against, and why the state exists on the side that closed first. networking · intermediate
- Oct 9, 2025 Decision Rules for Aborting or Promoting a Rollout Why repeatedly checking a canary against a fixed significance threshold inflates false aborts, how sequential methods and error-budget burn rates avoid that, and what sample sizes the arithmetic demands. devops · advanced