Concepts

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

628 entries, all primary-sourced
concept

End-to-End Encryption

Encryption where only the communicating endpoints can read the messages, so the servers and providers relaying them in between cannot.

concept

Endianness

The order in which the bytes of a multi-byte value are stored or transmitted; big-endian puts the most significant byte first, little-endian puts the least significant byte first, a choice immortalized by Danny Cohen's 1980 essay.

concept

Entropy (Information)

Shannon entropy measures the average information, or uncertainty, in a source in bits, and sets the theoretical limit on how far data can be compressed without loss.

concept

Environment Variables

Named string values that a process inherits from its parent, such as PATH and HOME, forming a shared, inheritable configuration block carried through exec.

concept

ETL (Extract, Transform, Load)

The pipeline that pulls data from source systems, cleans and reshapes it, and loads it into a warehouse; modern ELT loads the raw data first and transforms it inside the warehouse.

concept

Event Sourcing

Persisting application state as an append-only sequence of events, so that current state can be rebuilt at any time by replaying the log from the beginning.

concept

Event Streaming

Treating data as an unbounded, ordered stream of events on an append-only log that many systems can publish to and replay from - the model behind Kafka and modern real-time architectures.

concept

Event-Driven Architecture

A style in which components communicate by emitting and reacting to events rather than calling each other directly, yielding loose coupling between producers and consumers.

concept

Eventual Consistency

A consistency model in which, if no new updates are made, all replicas eventually converge to the same value, trading immediate consistency for availability.

concept

Exit Status

The small integer a process returns when it finishes, where 0 means success and any non-zero value means failure, exposed in the shell as $? and the basis for error handling.

concept

Extreme Programming

An agile software development methodology, created by Kent Beck in the late 1990s, that pushes good engineering practices to the extreme and relies on tight, continuous feedback from the customer.

concept

Failure Detector

A component that suspects which nodes in a distributed system have crashed, usually via heartbeats and timeouts, and is inherently imperfect because a slow node cannot be told apart from a dead one.

concept

Fault Tolerance

A system's ability to keep operating correctly even when some of its components fail, achieved through redundancy, replication, and failover.

concept

Finite-State Machine

The simplest model of computation: a machine with a fixed, finite set of states that moves from one to the next as it reads input, and the exact device that recognizes regular languages.

concept

First-Class Function

Treating functions as ordinary values that can be named, passed as arguments, returned from functions, and stored in data structures.

concept

FLP Impossibility Result

A fundamental limit proving that in an asynchronous system where even one process may crash, no deterministic algorithm can guarantee it will always reach consensus.

concept

Fly-by-Wire

A flight-control method that replaces mechanical and hydraulic linkages between the pilot's controls and the aircraft's surfaces with computers and electrical signals, enabling envelope protection and redundancy but making flight software safety-critical.

concept

Foo, Bar, and Foobar

The canonical metasyntactic variables of programming, the placeholder names used in code examples to stand for anything; their etymology runs through WWII Army slang FUBAR, the Jargon File, and the deliberately whimsical RFC 3092.

concept

Foreign Key

A column that references a primary key in another table, enforcing referential integrity so a row cannot point at data that does not exist.

concept

Fork

Copying a project's full codebase to develop it independently, ranging from a permanent split off a project to the routine copy that precedes a pull request.

concept

Formal Grammar

A precise set of production rules that generate exactly the strings of a language, used to define the syntax of programming languages so that compilers can parse them mechanically.

concept

FOSDEM

The Free and Open Source Software Developers' European Meeting, a large free-admission gathering held in Brussels each year since 2001, organized by and for the open-source community.

concept

Free Software

Software that respects users' four essential freedoms to run, study, share, and modify it; defined by the Free Software Foundation as a matter of liberty, not price.

concept

Frontend State Management

The problem of keeping shared, synchronized UI state predictable as applications grow, and the libraries (Flux, Redux, MobX, Zustand, signals) built to address it.

concept

Full-Text Search

Searching the actual text content of documents using an inverted index, with tokenization, stemming, and relevance ranking.

concept

Function Composition

Combining functions so the output of one becomes the input of the next, written (f . g)(x) = f(g(x)); a core way functional programs are built from small pieces.

concept

Function-as-a-Service (FaaS)

The compute model behind serverless: developers deploy individual functions that the platform runs on demand and scales independently, as with AWS Lambda, Azure Functions, Google Cloud Functions, and Cloudflare Workers.

concept

Functional Programming

A programming paradigm that builds programs by composing functions and avoiding shared mutable state and side effects.

concept

Functor

In functional programming, a type you can map a function over, such as a list or an optional value, transforming its contents while preserving its structure.

concept

Garbage Collection

Automatic reclaiming of memory a program no longer needs, first put into practice for LISP around 1959 and 1960.

concept

Glue Language

A high-level scripting language used to wire existing programs and components together rather than build systems from scratch, the central idea of Ousterhout's scripting thesis.

concept

Godel's Incompleteness Theorems

Godel's two 1931 theorems: any consistent formal system rich enough for arithmetic contains true statements it cannot prove, and cannot prove its own consistency.

concept

Good First Issue

A labeling convention, with the related help wanted label, that flags repository tasks as approachable for newcomers so that first-time contributors can find somewhere to start; on GitHub the good first issue label feeds discovery features that surface beginner-friendly work.

concept

Gossip Protocol

An epidemic communication style where each node periodically exchanges state with a few random peers, so information spreads exponentially across a large cluster without central coordination.

concept

Graph (Data Structure)

A set of nodes connected by edges, used to model networks, dependencies, maps, and relationships, and the substrate for a large family of algorithms.

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

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.