Concepts

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

673 entries, all primary-sourced
concept

Graph Database

A NoSQL model that stores entities as nodes and their connections as first-class edges, making relationship-heavy queries fast and natural without costly joins.

concept

Greedy Algorithm

An algorithm that builds a solution step by step, always taking the choice that looks best at the moment in the hope that these local choices add up to a globally optimal answer.

concept

Greenspun's Tenth Rule

Philip Greenspun's quip that any sufficiently complicated C or Fortran program contains an ad-hoc, bug-ridden, slow reimplementation of half of Common Lisp.

concept

Hacker Culture

The playful, exploratory, meritocratic culture of programmers in which a hacker is a clever and enthusiastic builder, not a criminal; a tradition running from the MIT and Stanford AI labs through Unix, the Homebrew clubs, and the free software movement.

concept

Hacktoberfest

An annual month-long event run by DigitalOcean since 2014 that encourages people to contribute to open source by rewarding a small number of accepted pull requests; in 2020 it triggered a flood of spam pull requests that forced the organizers to rewrite the rules around maintainer opt-in and quality.

concept

Happens-Before Relation

Leslie Lamport's partial ordering of events in a distributed system: A happens before B if A could causally influence B; otherwise the two events are concurrent.

concept

Hard vs Soft Real-Time

The distinction between deadlines whose violation is a system failure and deadlines whose violation merely degrades quality of service.

concept

Hardware Errata

Documented defects in shipped CPUs and chips, collected in vendor errata sheets and specification updates, and worked around in microcode, firmware, or operating-system software rather than by replacing the silicon.

concept

Hash Collision

When two different keys produce the same hash value; unavoidable by the pigeonhole principle and handled by chaining or open addressing.

concept

Hash Function

A function that maps data of arbitrary size to a fixed-size value, used for hash tables, checksums, and cryptographic security.

concept

Hash Table

A data structure that maps keys to values through a hash function and an array of buckets, giving average O(1) lookup, insert, and delete.

concept

Heap

A tree-based structure, usually an array-backed binary heap, that keeps the smallest or largest element at the root for fast access.

concept

Heapsort

A comparison sort that builds a binary heap from the data and repeatedly extracts the maximum, giving guaranteed O(n log n) time in place.

concept

Hello, World

The traditional first program a learner writes in a new language, printing the words hello world; born in Kernighan's 1972 B tutorial and canonized by K&R in 1978 as the universal smoke test.

concept

Here Document

A shell redirection that feeds an inline block of multi-line text to a command as its standard input, written between <<EOF and a matching closing word.

concept

High Availability

Designing a system to minimize downtime, often measured in 'nines' of uptime, by eliminating single points of failure through redundancy and fast failover.

concept

Higher-Order Function

A function that takes other functions as arguments or returns a function, enabling general patterns like map, filter, and reduce.

concept

Hindley-Milner Type System

A type system and inference algorithm that deduces the most general type of a program with let-polymorphism, without type annotations; it underlies ML, Haskell, and much of modern typed functional programming.

concept

Hofstadter's Law

Douglas Hofstadter's self-referential rule from Godel, Escher, Bach that a task always takes longer than you expect, even when you account for Hofstadter's Law.

concept

Homoiconicity

The property that a language's code is represented using its own ordinary data structures, so programs can easily generate and transform code.

concept

HOSTS.TXT

The single centralized host table that mapped names to addresses on the early ARPANET, maintained by hand at SRI-NIC and distributed to every host. Its inability to scale is what motivated the invention of DNS.

concept

Hydration

The process of attaching client-side JavaScript interactivity to server-rendered HTML, turning a static HTML snapshot into a fully interactive application in the browser.

concept

Hypertext

Text linked to other text by clickable references, a term coined by Ted Nelson in 1965 and realized at global scale by the World Wide Web.

concept

Hypervisor

The software layer, also called a virtual machine monitor, that creates and runs virtual machines by sharing one computer's physical hardware among them.

concept

IaaS, PaaS, and SaaS

The three classic cloud service models defined by NIST - Infrastructure as a Service (rent raw VMs and storage), Platform as a Service (deploy code without managing servers), and Software as a Service (use finished applications).

concept

Idempotency

A property of an operation that produces the same result no matter how many times it is applied, which lets clients safely retry requests in a distributed system.

concept

Immutability

The property that a value cannot be changed after it is created; instead of mutating data, you build new values from old ones.

concept

Immutable Infrastructure

The practice of never modifying running servers in place; instead you build a new image and replace the old one wholesale, eliminating configuration drift.

concept

In-Memory Database

A database that keeps its working data in RAM rather than on disk for very low latency, trading durability and cost for speed.

concept

In-Place Algorithm

An algorithm that transforms its input using only a small, constant amount of extra memory, modifying the data directly instead of copying it elsewhere.

concept

Incremental Build

Rebuilding only the parts of a project whose inputs changed, instead of rebuilding everything - the trick that keeps large builds fast.

concept

Information Theory

Claude Shannon's mathematical theory of communication, which shows how to quantify information and sets the limits of data compression and reliable transmission over noisy channels.

concept

Instruction Pipelining

Overlapping the fetch, decode, and execute stages of successive instructions like an assembly line, so a new instruction starts before the previous one finishes; managing the hazards and stalls this creates.

concept

Instruction Set Architecture

The contract between hardware and software: the instructions, registers, and memory model a processor exposes, and the boundary that lets the same binary run on many different chip implementations.

concept

Integer Overflow

When an arithmetic result exceeds the range of its integer type and wraps around to a wrong, often small or negative, value; a subtle bug that can cause buffer overflows, security holes, and famous failures.

milestone

Integrated Circuit

The chip that places many electronic components on a single piece of semiconductor, conceived by Jack Kilby at Texas Instruments in 1958 and made practical by Robert Noyce's planar silicon process at Fairchild.

concept

Internet of Things

Networking everyday physical objects with sensors, processors, and connectivity so that computers can gather and act on data about the physical world without human input.

concept

Islands Architecture

A frontend pattern named by Jason Miller in 2020 (crediting Katie Sylor-Miller): render pages as static server HTML and hydrate only small, independent interactive 'islands', leaving the rest as inert markup.

concept

Isolation Levels

The SQL-standard levels - read uncommitted, read committed, repeatable read, serializable - that trade transaction isolation against concurrency by choosing which anomalies they permit.

concept

Issue Tracker

A system for recording, prioritizing, and tracking bugs and feature requests through their lifecycle - the shared to-do list and memory of a software project.

concept

Jamstack

A web architecture (JavaScript, APIs, Markup) coined by Netlify's Mathias Biilmann around 2015: pre-rendered static markup served from a CDN, made dynamic with client-side JavaScript and reusable APIs.

concept

JIT Compilation in Machine Learning

Tracing Python array code and compiling it just in time into fused, optimized GPU/TPU kernels - the technique (XLA, torch.compile, Numba) that closes the speed gap between high-level Python and hand-written C.

concept

JSX

An XML-like syntax extension to ECMAScript, popularized by React, that lets developers write HTML-like markup directly inside JavaScript to describe user interfaces.

concept

JTAG

The IEEE 1149.1 standard hardware interface, with its boundary-scan architecture and the related SWD protocol, for testing, debugging, and flashing chips at the pin level.

concept

Kanban

A lean, flow-based method that visualizes work and limits work-in-progress to expose bottlenecks, adapted to software from Toyota's manufacturing system.

concept

Kerckhoffs's Principle

The principle, stated by Auguste Kerckhoffs in 1883, that a cryptosystem should remain secure even if everything about it except the key is public knowledge.

concept

Kernel

The innermost part of an operating system, running in a privileged mode with full control of the hardware; designs range from large monolithic kernels to small microkernels.