Concepts

Plain-language explanations of the ideas behind software - compilers, garbage collection, objects, types.

673 entries, all primary-sourced
story

The Konami Code

Up up down down left right left right B A: a cheat sequence left in the 1986 NES port of Gradius that escaped into the released game and became a decades-long pop-culture meme and recurring web easter egg.

concept

The Logic Gate

The physical circuit element that implements a Boolean operation such as AND, OR, NOT, or NAND, turning the algebra of true and false into switching hardware.

concept

The Magic Number

Two senses share a name: an unexplained literal constant in code, treated as a code smell, and a fixed byte signature at the start of a file that identifies its format, used by the file command.

concept

The Mead-Conway Revolution

The late-1970s shift to structured, scalable chip design rules and the multi-project chip, which split chip design from fabrication and let many more people design integrated circuits.

concept

The Model Hub

A registry and repository for sharing pretrained machine learning models with versioning, model cards, and metadata -- the GitHub for models pattern exemplified by the Hugging Face Hub and TensorFlow Hub.

concept

The Multi-Core Processor

Multiple independent CPU cores on a single die, the industry's structural answer to the end of frequency scaling, trading higher clock speeds for more parallel hardware.

concept

The Ninety-Ninety Rule

Tom Cargill's rule, popularized by Jon Bentley, that the first 90 percent of the code takes 90 percent of the time and the remaining 10 percent takes the other 90 percent.

concept

The Null-Pointer Dereference

Accessing memory through a reference that points at nothing, a routine crash and security bug; option types make the absence of a value visible to the type system.

concept

The Off-by-One Error

A fencepost mistake at a loop or array boundary, off by exactly one; Dijkstra argued zero-based half-open ranges make these errors less likely.

concept

The Quine

A program that takes no input and produces an exact copy of its own source code as output, a hands-on demonstration of self-reference whose existence is guaranteed by Kleene's recursion theorem and which Ken Thompson built at the heart of his Trusting Trust attack.

concept

The Race Condition

A bug where correctness depends on the uncontrolled timing or interleaving of concurrent operations; data races are undefined behavior in the C and C++ memory models.

concept

The README File

The front-door documentation of a software project: a file, conventionally named in all capitals so it sorts to the top of a directory listing, that tells a visitor what the project is, why it is useful, and how to get started; on platforms like GitHub the README is rendered automatically as a repository's landing page.

concept

The Real-Time Scheduler

The part of an RTOS that decides which task runs at each instant so that deadlines are met; usually a fixed-priority preemptive scheme, sometimes earliest-deadline-first, and the source of a system's determinism.

concept

The Regression

A bug where a feature that used to work breaks after a later change; the reason test suites and tools like git bisect exist.

concept

The Robustness Principle

Jon Postel's rule from the early TCP/IP RFCs to be conservative in what you send and liberal in what you accept, along with the later criticism of that advice.

concept

The Shebang (#!)

The two-byte magic at the start of a script, #!, that tells the kernel which interpreter should run the file.

concept

The Shell Script

A plain text file of shell commands run as a program, giving Unix systems automation, control flow, and the glue that ties small tools together.

concept

The Software Bug

An error in code that makes a program behave incorrectly; the term predates computers, and its most famous artifact is a 1947 moth taped into a Harvard logbook.

concept

The Tensor (Data Structure)

The n-dimensional array at the center of every machine-learning framework - a block of same-typed numbers described by a dtype, a shape, strides, and a device, descended from the NumPy ndarray.

concept

The TODO Comment

In-code markers such as TODO, FIXME, HACK, and XXX that flag deferred or suspect work; cheap to write, easy to forget, and a common way technical debt accretes inside source files.

milestone

The Transistor

The solid-state switching and amplifying device invented at Bell Labs in 1947 by Bardeen, Brattain, and Shockley, which replaced the vacuum tube and became the building block of all digital electronics.

concept

The Unix Philosophy

The design attitude set out in the 1978 Bell System Technical Journal foreword by McIlroy, Pinson, and Tague: make each program do one thing well, and have programs cooperate by passing text streams through pipes, because text is a universal interface.

concept

The Vector Processor

A processor whose instructions operate on whole arrays of data at once, pioneered by the Cray supercomputers and the conceptual ancestor of modern SIMD and GPU computing.

concept

The Watchdog Timer

A hardware timer that resets a system if software fails to periodically refresh it, recovering unattended embedded devices from hangs and crashes.

concept

The Y2K Remediation

The effort to fix the Year 2000 bug was arguably the largest coordinated software-maintenance project in history: a multi-year, worldwide campaign of code inventory, COBOL date audits, field expansion or windowing, and testing, organized in industry and government through staged programs and costing on the order of hundreds of billions of dollars.

concept

Three-Way Merge

A way of combining two changed versions of a file by comparing each against their common ancestor, so non-conflicting edits merge automatically and only true overlaps need human attention.

concept

Time Zone Handling

Local time is a moving political target: offsets and daylight saving rules change by jurisdiction and over history. The IANA Time Zone Database records these rules so software can convert correctly, and the hard-won lesson is to store instants in UTC and apply zone rules only at the edges.

concept

Time-Series Database

A database optimized for timestamped data such as metrics and sensor readings, with fast appends, time-window queries, downsampling, and retention policies.

concept

Time-Sharing

Letting many users share one computer interactively at the same time, instead of submitting jobs one after another in batches.

concept

Top-Level Domain (TLD)

The highest level in the DNS hierarchy -- the rightmost label of a domain name, such as .com, .org, or a two-letter country code. The original set and the rules for it were defined by Jon Postel and Joyce Reynolds in RFC 920 (1984).

concept

Topological Sort

Ordering the nodes of a directed acyclic graph so that every edge points forward, which is how build systems, package managers, and schedulers order dependent tasks.

concept

Total Order Broadcast

A communication primitive, also called atomic broadcast, that delivers messages to all nodes in the same total order; it is equivalent in power to consensus and underlies state-machine replication.

concept

Tractability

The practical dividing line in complexity: problems solvable in polynomial time are 'tractable,' while those needing exponential time are 'intractable' for large inputs.

concept

Transaction

A unit of database work that is all-or-nothing: a group of operations that either all commit or all roll back, keeping data consistent despite failures and concurrent users.

concept

Transitive Dependencies

The dependencies of your dependencies, recursively, which is why a project with a few direct packages can pull in hundreds and why deep trees are fragile.

concept

Translation Lookaside Buffer

A small, fast cache of recently used virtual-to-physical address translations that lets virtual memory work at speed, sparing the processor a slow walk through page tables on most memory accesses.

concept

Trie

A prefix tree that stores strings along paths of characters, so lookups and prefix queries take time proportional to the key length.

concept

TrueTime

Google's clock API that reports time as an interval with bounded uncertainty, letting Spanner assign globally meaningful commit timestamps.

concept

Trunk-Based Development

A branching strategy where developers integrate small changes into a single main branch very frequently, avoiding long-lived feature branches; closely tied to continuous integration.

concept

Turing Completeness

A system is Turing-complete if it can simulate a Turing machine, meaning it can compute anything that is computable in principle.

concept

Turing Machine

Turing's abstract model of computation - an infinite tape, a read-write head, and a finite set of rules - that defines what it means for a function to be computable.

concept

Two Generals' Problem

A thought experiment showing that two parties communicating only over an unreliable channel can never become certain they have agreed, because no finite exchange of acknowledgments is ever enough.

concept

Two-Phase Commit

A protocol for committing a transaction atomically across multiple databases or nodes: a coordinator asks every participant to prepare, then tells them all to commit or all to abort.

concept

Two-Way Data Binding

Automatic synchronization between the data model and the view in both directions, so a change in either is reflected in the other, popularized by AngularJS.

concept

Type 1 vs Type 2 Hypervisor

The distinction between bare-metal hypervisors that run directly on hardware and hosted hypervisors that run as an application on top of an operating system.

concept

Type Inference

A compiler's ability to deduce the types of expressions without explicit annotations, giving the safety of static typing with the brevity of dynamically-typed code; the type system of ML is the classic example.

concept

Type Theory

The branch of logic and computer science that studies type systems, formal rules classifying terms so that well-typed programs cannot go wrong.