Caffeinated Coder
Book an appointment
Your learning notebook

Glossary

Working definitions from the lessons, collected in one place.

2216 terms

#

The element that holds a whole table, from to .

Defined in: Tables

The table's title. It must be the first thing inside ; browsers draw it centred above the grid.

Defined in: Tables

Table row: holds the cells of one row, from left to right.

Defined in: Tables

Table header: a header cell that labels other cells. Drawn bold and centred by default.

Defined in: Tables

Table data: an ordinary data cell holding one value.

Defined in: Tables

The part of an HTML document that holds metadata. Nothing in it is drawn in the page area; the visible content goes in .

An element that wraps an img and one or more source elements, to swap in a different picture (art direction) or format.

Defined in: Responsive images
__add__

The special method behind +. a + b calls a.__add__(b); it should return the result, usually a new object.

__all__

A list of a module's public names. from module import * imports exactly these.

__annotations__

The dictionary where Python keeps a function's hints, for example {'n': int, 'return': int}.

Defined in: Type hints
__enter__

The set-up method. The with statement calls it before the block; its return value is what as binds.

Defined in: Context managers
__eq__

The special method behind ==. A dataclass's version compares the fields in order.

Defined in: Dataclasses
__exit__

The clean-up method, called with three arguments: the error's type, the error and its traceback, or three Nones when the block ended normally.

Defined in: Context managers
__init__

The method Python runs on every new object right after making it, to give it its starting attributes.

The method Python calls automatically on each new instance to set up its attributes.

Defined in: Classes

The special method that sets up a new object. Coins(3) makes the object, then calls __init__ with it as self and 3 as n.

__init__.py

The file that marks a folder as a regular package. It runs when the package is first imported and may be empty.

__name__

A module's name: the module's own name when it is imported, and '__main__' for the file you run.

__repr__

The special method that returns an object's text form for programmers. print() and str() fall back to it when there is no __str__.

The special method that gives an object's text form for developers; print() uses it when there is no __str__.

Defined in: Dataclasses
__str__

The special method for a friendly text form. print(x) and str(x) use it when a class defines it.

--declaration

The tsc option that writes a .d.ts file next to each .js file it outputs.

::before

A new box made as the first child of the element, before its own content. It exists only when the content property is set.

:first-child

Matches an element that is the first child of its parent. Same as :nth-child(1).

:hover

Matches an element while a pointer, such as a mouse, is over it (or over one of its children).

:root

A selector that matches the top element of the document. In an HTML page that is the html element.

A pseudo-class that matches the document's root element, the element in a web page.

?. ?? ??=

Null-conditional access (stops and gives null if the left side is null), null-coalescing (use the right side if the left is null), and null-coalescing assignment (assign only if null).

.. (dot dot)

The parent folder, one level up. A single . means this folder.

Defined in: Working with files
.gitignore

A file listing names and patterns that Git should not track, such as .env or __pycache__/.

.NET

The free, open-source platform C# runs on, for Windows, macOS and Linux. It includes the dotnet tool, the CLR and a large library.

[[Environment]]

A hidden part of every function: a link to the scope the function was created in. A call of the function uses it as the new scope's outer link.

Defined in: Scope and closures
[[Prototype]]

The hidden internal link from an object to its prototype (or to null). Read it with Object.getPrototypeOf(obj).

[Fact]

The xUnit attribute that marks a method as a test with no inputs.

Defined in: Unit testing
[Theory] / [InlineData]

A test that runs once for each row of data; each [InlineData] attribute gives one row of arguments.

Defined in: Unit testing
@ syntax

@shout above def greet means greet = shout(greet), done once when the def runs.

Defined in: Decorators
@contextmanager

A decorator in contextlib that turns a generator function into a context manager: code before yield is the set-up, code after it the clean-up.

Defined in: Context managers
@keyframes

An at-rule that names an animation and lists its waypoints, such as 50% { scale: 1.4; }.

@layer statement

A line such as @layer base, components; that creates layers and fixes their order before any styles are put in them.

@property

A rule that registers a custom property with a type, an initial value and whether it inherits, so the browser can check and animate it.

@types package

An npm package from the DefinitelyTyped project that holds .d.ts files for a JavaScript library that ships none.

* (indirection, or dereference)

Placed before a pointer, as in *p, it follows the address to the object there, to read it or write it.

Defined in: Pointers
**kwargs

A parameter with two stars. It collects every extra keyword argument into a dict of name: value pairs.

*args

A parameter with one star. It collects every extra positional argument into a tuple.

*args, **kwargs

Parameters that collect any positional and keyword arguments, so a wrapper can pass them all on to the original function.

Defined in: Decorators
*this

Inside a member function, the object the function was called on. Returning *this by reference gives that object back.

/etc/fstab

The file that lists the filesystems to mount at boot: one line each, with six fields (what, where, type, options, dump, check order).

/etc/group

The file that lists groups, one per line: name, password placeholder, GID, and the members.

/etc/passwd

The file that lists users, one per line: name, password placeholder, UID, GID, comment, home folder, shell.

& (address-of)

Placed before a variable, as in &x, it gives that variable's address.

Defined in: Pointers
=> (lambda operator)

Separates a lambda's parameters (left) from its body (right). Read it as "goes to".

>>> prompt (REPL)

Python's interactive mode: it reads a line, runs it, prints the answer and loops back for the next one.

1T1C cell

One transistor plus one capacitor: the DRAM cell. The transistor is the door between the capacitor and the bit line.

2-to-1 mux

The smallest mux: two inputs, one select bit. Y = (NOT S AND A) OR (S AND B).

304 Not Modified

An HTTP answer meaning the stored copy is still current, sent with no file attached.

Defined in: CDNs and anycast
4-to-1 mux

A mux with four inputs and two select bits: 00, 01, 10 and 11 pick D0, D1, D2 and D3.

4-way handshake

Four key messages between the access point and a device on a WPA2 or WPA3 network that prove both hold the same secret and create fresh encryption keys.

Defined in: How Wi-Fi works

Four EAPOL-Key frames that turn the shared master key (PMK) into fresh session keys. In WPA2-Personal, a recording of it is enough to test password guesses offline.

5-tuple

Protocol, source IP, source port, destination IP and destination port. Together they name one connection.

Defined in: Ports and sockets
6LoWPAN

The adaptation layer that squeezes IPv6 headers (40 bytes) down to as little as 2 bytes and splits big packets so they fit 802.15.4 frames.

7-segment display

A digit made of seven bars, named a to g, that light in different patterns to show 0 to 9.

802.1Q tag

4 bytes inserted after the source MAC: TPID 0x8100, then 3 priority bits, 1 drop-eligible bit and a 12-bit VLAN ID.

Defined in: VLANs and trunks

Four bytes added after the source MAC address: 0x8100, then a priority and a 12-bit VLAN ID (1 to 4094).

802.1X

Port-based network access control: a device gets in only after an authentication server approves its own credentials.

A

a element

The anchor element, … . Its content is the clickable text; its href says where to go.

Defined in: Links and URLs
AAAA record

The DNS record that holds an IPv6 address. The A record holds an IPv4 address.

about:blank

The empty document every new frame holds until its src page arrives.

Defined in: Iframes and embeds
Absolute path

A path that starts with /. It is read from the root, so it means the same thing from any folder.

Defined in: The file system

A path that starts at / and names every folder on the way, such as /home/sam/notes/todo.txt. It works from anywhere.

Defined in: Working with files
Absolute URL

A full URL with a scheme and a host. It means the same thing on any page.

Defined in: Links and URLs
Absorption

The rule A + A·B = A: if A alone already makes the result 1, the term A·B adds nothing.

Abstract

A class marked abstract cannot be created with new; an abstract method has no body and every non-abstract derived class must override it.

Abstract syntax tree (AST)

A tree of the program's operators and values. Spacing and brackets are gone; the tree's shape shows what is worked out first.

Defined in: Inside a compiler
Access control

Deciding on the server, for every request, whether this user may do this action on this record. Also called authorization.

Access layer

The switches people and devices plug into: one port per desk, VLAN membership, Power over Ethernet.

Access point (AP)

The box that links Wi-Fi (radio) devices into the home network.

Defined in: Your home network

The box that joins Wi-Fi devices to the wired network. It has a radio on one side and an Ethernet cable on the other, and passes frames between them.

Defined in: How Wi-Fi works
Access port

A switch port that belongs to exactly one VLAN. Frames leave it without a tag, so the device needs no VLAN support.

Defined in: VLANs and trunks

A switch port in a single VLAN. Frames on it carry no VLAN tag, so the device plugged in does not need to know VLANs exist.

Access transistor

One of the two transistors that act as doors between an SRAM cell's storage nodes and its bit lines.

Defined in: SRAM
Accessibility

Making a page usable by everyone, including people who use a screen reader, only a keyboard, or other assistive technology.

Accessibility tree

A version of the page the browser builds for assistive technology: each part with its role, name and state.

Defined in: Semantic elements

The browser's summary of the page for assistive technology: one node per meaningful element, each with a role, a name and sometimes a state.

Accessible name

What a node is called: a button's text, an image's alt, a field's label, or an aria-label.

Accessor

One of the methods behind a property: get runs when the property is read, set runs when it is written.

Defined in: Properties
ACID

Atomicity (all or nothing), Consistency (valid state to valid state), Isolation (no one sees half-done work) and Durability (committed changes survive crashes).

Atomicity, Consistency, Isolation, Durability: the four promises of a transaction (Haerder and Reuter, 1983).

ACK

Acknowledgement: a tiny frame the receiver sends 10 µs (in 2.4 GHz) after a data frame to say it arrived. No ACK means send again.

Defined in: How Wi-Fi works
ACK (acknowledgment)

The next byte number the receiver expects, which also means it has every byte before it (a cumulative ACK).

Acknowledgement (ack)

The consumer's signal that it has finished a message; only then does the queue delete it.

Defined in: Message queues
Acknowledgment

A reply saying "I got it". TCP uses them to resend lost data; UDP sends none.

ACL

Access control list: an ordered list of permit and deny rules a router or layer 3 switch checks for each packet; first match wins.

Access control list: an ordered list of allow and deny rules. A plain ACL is stateless: it judges each packet on its own.

Action

A ready-made .NET delegate type for methods that take no parameters and return nothing (void).

Defined in: Events
Activate / deactivate

Shell commands that put a venv's bin folder first in PATH (and add (.venv) to the prompt), and undo that again.

Active filter

An op-amp with resistors and capacitors around it that passes some frequencies and blocks others.

Active-low

An input that does its job when it is 0 rather than 1, marked with a bar over its name (S̄, R̄).

Defined in: The SR latch
AD flag

Authenticated data: a bit the resolver sets in its reply when the answer passed DNSSEC validation.

Adapter

A small wrapper that gives an object the interface its caller expects, like a travel plug.

Defined in: Design patterns
Adaptive bitrate (ABR)

Choosing each next segment's quality from the measured throughput and the buffer level.

ADC

Analog-to-digital converter: turns a voltage into a number, for example 0 to 1023 for 10 bits.

Address

The number of a box in memory. The CPU asks for box 0, box 1, and so on.

The number of a place in memory. Every byte has one; an object's address is the address of its first byte.

Defined in: Pointers
Address pool

The range of addresses a DHCP server may lend out, here 192.168.1.100 to 192.168.1.199.

AddressSanitizer (ASan)

A GCC and Clang feature (-fsanitize=address) that checks memory accesses while the program runs and reports bad ones.

Adjacency

Two neighbours that have synchronised their maps and now exchange updates (state Full).

Adjacency list

For each vertex, a list of its neighbours. Its size grows with the number of edges.

Defined in: Graphs
Adjacency matrix

A grid with a row and a column per vertex; a cell says whether (or how strongly) two vertices are joined. It always has V × V cells.

Defined in: Graphs
Administrative distance

A trust score for where a route came from (Cisco defaults: connected 0, static 1, OSPF 110). Lower wins, for the same prefix only.

A trust score for routes to the same destination (0 to 255). Lower wins; connected 0 and static 1 on Cisco routers.

Defined in: Static routes
Advertising

Short broadcast packets on channels 37, 38 and 39 that say a device is there and can be connected to.

Aggregate function

A function that turns many values into one, such as COUNT, SUM, AVG, MIN or MAX.

Aging time

How long a row stays in the table without a new frame from that MAC; 300 seconds by default.

AIMD

Additive increase, multiplicative decrease: add a little each round trip, halve on loss. It produces the sawtooth and shares a link fairly.

Algorithm

A standard function such as std::find, std::sort or std::count that works on a range of iterators, not on a particular container.

Alias

One of two or more names that refer to the same object. A change made through one shows through the others.

Another name for the same thing. A reference is an alias for the object it is bound to.

Defined in: References
Allocation

Making a new object on the managed heap. The garbage collector must later clean up every allocation.

Allowed IPs

The tunnel addresses a peer may send from, and the addresses that get sent to it.

Defined in: Defence: WireGuard
alt

The text alternative of an image: read aloud by screen readers and shown if the picture cannot load.

Alternation

The bar |, meaning or: cat|dog matches either word, trying the left one first.

ALU

The arithmetic logic unit: the part of a CPU that adds, subtracts and does logic on its two inputs.

Arithmetic logic unit: the part of a CPU that does arithmetic, such as adding and subtracting, and logic, such as AND and OR, on binary numbers.

Arithmetic logic unit: the circuit that adds, subtracts and does logic on two inputs.

always @(posedge clk)

A block that runs at every rising edge of clk, the moment the clock goes from 0 to 1. Values saved in it become flip-flops.

Amdahl's law

Speed-up on n cores = 1 / ((1 − p) + p / n), where p is the part of the work that can run in parallel; the serial part sets the limit.

AMF

Access and Mobility Management Function: handles registration and keeps track of where each phone is.

Amortised constant time

Constant on average over many calls, even though a few calls (here the ones that grow the vector) take longer.

Amplification

Sending a small request that triggers a much bigger reply, so each attacking packet turns into more traffic at the victim.

Amplitude

The signed number in front of |0⟩ or |1⟩. Square it to get a probability; amplitudes can cancel or add up.

Anchor

A pattern part that matches a position, not a character: ^ for the start of the string, $ for the end.

AND / OR / NOT

AND gives 1 only if all inputs are 1; OR gives 1 if any input is 1; NOT gives the opposite of its one input.

Defined in: Logic gates
and, or, not

Combine bools: and is True only if both sides are True, or if at least one is, and not flips True and False.

Animation (CSS)

The animation property plays a named @keyframes over a duration, without waiting for a change.

Anode

The negative electrode of a cell while it discharges. In a lithium-ion cell it is graphite that holds the lithium when the cell is charged.

Defined in: How batteries work
Anode and cathode

The two ends of a diode. Current flows from anode (p side) to cathode (n side); the cathode is marked with a band.

Anomaly detection

Flagging behaviour that is far from a normal baseline, such as one source touching many ports in seconds.

Antenna

A conductor sized to the wave that turns a radio-frequency current into a radio wave, and back.

any

A special type that switches the check off for a variable. An escape hatch to avoid while learning.

Defined in: Basic types

A type that turns checking off for a value. A parameter with no annotation becomes any.

Defined in: Type inference

A type that turns type checking off for a value. Anything is allowed, so mistakes are not caught.

Defined in: Generics

A type that means could be anything: TypeScript stops checking a value whose type is any.

A type that switches checking off: any value fits, and any use of it is allowed.

Anycast

Announcing the same address from many sites, so each packet goes to the nearest one and a flood is split between them.

Announcing the same address from many sites, so routing delivers each packet to the nearest one (RFC 4786).

Defined in: CDNs and anycast
API

Application programming interface: the requests a program accepts from other programs, and the answers it gives.

Defined in: REST APIs

Application programming interface: the list of requests a service accepts and what each returns, such as POST /urls and GET / .

Defined in: System design

The set of requests a server agrees to answer, such as GET /messages, usually replying with JSON.

App life cycle

The states an app moves through: foreground (on screen), background, suspended (in memory, not running) and not running.

App server

A program that runs the back-end code for each request, such as a Python function, and builds the answer.

Defined in: How web apps work
append

A method that adds nodes after the last child of an element.

append()

A list method that adds one item to the end of the list.

Defined in: Lists and tuples

A list method that adds one item to the end of a list; a comprehension does this for every kept item.

Defined in: Comprehensions
Approve

A review decision that says the change is ready to merge.

Defined in: Code review
apt

Debian's high-level package tool: it reads the package lists, works out dependencies, downloads .deb files and calls dpkg.

Argument

A value passed in a call, such as 3 and 4 in area(3, 4).

A value passed in a call, such as 3 in total(3, 4).

Defined in: Functions

The actual value passed in a call, like 3 in area(3, 4). Arguments fill parameters in order.

Defined in: Typing functions

The actual value handed to a function in a call, such as [8, 6, 10].

Defined in: Functions

A value passed in a call, such as "tea" in order("tea").

The value you pass in a call, such as 3 in area(3, 4). For an int parameter it is copied into the parameter.

Defined in: Functions

The value you pass in a call, such as 2 and 3 in Add(2, 3). By default it is copied into the parameter.

Defined in: Methods

A word after the command name that gives the command extra information, such as which files to use.

Defined in: The shell
ARIA

Accessible Rich Internet Applications: attributes such as role, aria-label and aria-expanded that edit the accessibility tree. They do not change looks or behaviour.

Arithmetic expansion

$(( expression )): Bash works out the sum (whole numbers only) and puts the answer in its place.

Defined in: Bash scripting
ARP

Address Resolution Protocol (RFC 826): finds the MAC address that belongs to an IP address on the local network.

Address Resolution Protocol: asks the LAN “who has this IP?” and the owner replies with its MAC address.

ARP cache

A computer's short-lived table of IP-to-MAC pairs it has learned recently.

ARP spoofing

On a local network, falsely claiming another device's IP address (such as the router's) so its traffic is sent to you. It puts an attacker on the path, where it can read queries instead of guessing.

Arrange, Act, Assert

The three parts of a test: set up the inputs, call the code under test, check the result.

Defined in: Unit testing
Array

A block of memory split into equal-sized slots that sit side by side. A Python list is built on one, and can grow.

Defined in: Arrays and lists

One value that holds a list of values, in order. Written with square brackets: ["apple", "pear"].

Defined in: Arrays

A list of values kept in order, written with square brackets, such as [10, 20, 30].

A fixed number of values of one type, stored side by side in one block of memory, such as int a[4].

A fixed number of elements of one type stored side by side in memory, such as int a[3].

Array type

A list type such as number[] (also written Array ): every item must be a number.

Defined in: Basic types
Arrival rate (λ)

How many items enter the system per unit of time, averaged over a long time. λ is the Greek letter lambda.

The average number of arrivals per unit of time, such as 4 requests per second. λ is the Greek letter lambda.

Arrival rate λ (lambda)

How many customers arrive per second on average. The mean gap between arrivals is 1 ÷ λ.

The average number of packets that arrive per second.

Arrival time

When the new value reaches the end of a path: the sum of the clock-to-Q delay and every gate and wire delay on the way.

Arrow function

A short function written () => ... . It has no this of its own and uses the this of the code around it.

Defined in: How this works
Artificial intelligence (AI)

The broad goal of getting machines to do tasks that seem to need intelligence, such as understanding speech or sorting email.

as

In except ZeroDivisionError as err , gives the caught exception object a name so the handler can use it.

Defined in: Exceptions
AS number

A number that identifies a routing domain to BGP. In RFC 7938 fabrics all spines share one and every leaf has its own, from the private range.

AS number (ASN)

The number that identifies an AS in BGP. Numbers 64496 to 64511 are reserved for examples like this lesson.

AS_PATH

The list of AS numbers an announcement has passed through, newest first. Used to spot loops and to compare routes.

ASCII

An old table that gives 128 characters (English letters, digits, signs and control codes) the numbers 0 to 127. A is 65.

ASIC

Application-specific integrated circuit: a chip designed for one job and made in a factory, unlike an FPGA, which is rewired after it is made.

ASP.NET Core

The .NET framework for building web apps and web APIs; minimal APIs are its shortest way to write endpoints.

Assembler

A program that turns assembly into machine code, filling in the address of every label.

Defined in: Instruction sets
Assembly

The file the compiler writes, such as Hello.dll: IL plus metadata that describes its types and methods.

Assembly language

A program written one instruction per line with short names (mnemonics) such as LDI and ADD, meant for people to read.

Defined in: Instruction sets
assert

A statement that does nothing when its condition is True and raises AssertionError when it is False.

Assertion

A check that must be true. In Python, assert raises an AssertionError when its expression is false.

Defined in: Unit testing

A statement that must be true at a given moment; the simulator reports an error when it is false.

A check such as assert.equal(actual, expected). It does nothing when the check holds and throws an AssertionError when it does not.

Defined in: Testing JavaScript

A check such as Assert.Equal(expected, actual). If it does not hold, it throws and the test fails.

Defined in: Unit testing
AssertionError

The Error object an assertion throws when it fails. It carries the actual value, the expected value and the operator.

Defined in: Testing JavaScript

The exception a false assert raises. pytest catches it and marks the test as failed.

assign

A continuous assignment: the wire on the left always equals the expression on the right. It describes combinational logic.

Assignable

Type A is assignable to type B when every value of A is also allowed as a B.

Assignment

A line like age = 30: Python works out the right side, then stores the result under the name on the left.

Storing a new value in an existing variable with =, as in age = age + 1;. The old value is replaced.

Assignment (=)

Stores the value on the right into the variable on the left. It does not mean "is equal to".

Stores the value on the right in the variable on the left. It does not compare.

The statement name = value. Python works out the right side first, then ties the name on the left to the result.

Association

The step where a device asks to join an access point and is given an association ID (AID). After it, the AP forwards the device's frames.

Defined in: How Wi-Fi works
async

A script attribute: download in parallel and run as soon as the file is available, in whatever order the files arrive.

A modifier that lets a method use await. An async method usually returns Task or Task ; without any await it runs synchronously (warning CS1998).

Defined in: async and await
async function

A function declared with async. Calling it returns a promise, which its return value fulfils (or an error it throws rejects).

Defined in: async and await
Asynchronous (async) code

Code that can start a slow operation, such as a download, and do other work while it waits instead of standing still.

asyncio.run()

Creates a new event loop, runs the given coroutine as a task until it finishes, then closes the loop. The usual entry point of an asyncio program.

Defined in: asyncio
At-least-once delivery

A promise that every message is delivered, possibly more than once (for example after a crash before the ack).

Defined in: Message queues
Atomic

Indivisible: an atomic operation happens all at once, so no other thread can see it half done. std::atomic makes ++ atomic.

Attribute

Extra information inside an opening tag, written name="value", such as href="about.html" on a link.

Defined in: What HTML is

A name stored on an object, read and written with a dot: c.count.

Defined in: Classes

A name stored inside an object, such as n in self.n = n. Each object keeps its own attributes.

One fact about an entity, such as a book's title. It becomes a column.

Authentication

Proving who you are (a password, a security key, a certificate). Authorisation then decides what you may do.

Checking who someone is, for example by a password, and on later requests by a session cookie.

Authoritative server

Holds a domain's zone and gives the final answer, marked AA.

Authorization

Deciding what an authenticated user may do, such as reading only their own messages. Always checked on the server.

authorized_keys

A file on the server, ~/.ssh/authorized_keys, listing the public keys allowed to log in as that user, one per line.

Defined in: SSH and keys
Auto-implemented property

A property written { get; set; } with no bodies; the compiler writes the backing field and both accessors.

Defined in: Properties
Auto-placement

How the browser puts items with no position of their own into the next free cells, in source order.

Defined in: CSS Grid
Autocomplete

An editor suggesting names, parameters and types as you type, using what the types say.

Defined in: What TypeScript is
Automatic storage

How local variables are stored, usually on the stack: memory is set aside when the block is entered and given back when it ends.

Automatic storage duration

The C++ standard's name for how local variables live: created when their block starts, destroyed automatically when it ends.

Autonomous system (AS)

A network run by one organisation with one routing policy, such as an ISP, a cloud provider or a university.

Availability

The service works when it is needed: not crashed, switched off or flooded.

Average case

The typical step count over many inputs. A Python dict lookup is O(1) on average but O(n) in the rare worst case.

await

Marks where a coroutine may pause until something it needs, such as data from the network, is ready.

Pauses the async function it is in until a promise settles, then gives back the fulfilled value (or throws the rejection reason).

Defined in: async and await

Inside an async function, pauses that function until a promise settles, then gives back its value (or throws its error).

Waits for an awaitable (a coroutine, Task or future). While it waits, the current task is suspended and the event loop can run other tasks.

Defined in: asyncio

Waits for a task without blocking the thread: if the task is unfinished, the method saves its place and returns; when the task completes, the method resumes and await gives back the result.

Defined in: async and await

The C# keyword that pauses an async method until a task finishes. The method's state may move to the heap while it waits, so a span cannot be held across it.

awk

A small language for working with fields: it splits each line into $1, $2, ... and runs your program once per line.

B

B-tree

A shallow tree of sorted nodes used by most databases for indexes. Each level narrows the search, so a lookup takes about log n steps.

PostgreSQL's default index type: sorted leaf pages of entries, linked to their neighbours, under inner and root pages of separator keys.

Defined in: Indexes in depth

A balanced tree of pages that keeps keys sorted; PostgreSQL's default index type. Database B-trees are usually B+-trees: all keys live in the leaves.

Defined in: B-trees
Back end

The part that runs on servers: the code that handles requests and the database that keeps the data.

Defined in: How web apps work
Back-of-the-envelope estimate

A quick calculation with rounded assumptions (requests per second, storage per year) to see how big a system must be.

Defined in: System design
Backhaul

The link, usually fibre, that connects a base station to the operator's core network.

Backing field

The private field a property stores its data in. For an auto-property the compiler creates a hidden one.

Defined in: Properties
Backlog

The server's limited queue of half-open connections. When it is full, new SYNs are dropped.

An ordered list of the work still to do. The most valuable item sits on top.

Defined in: Working in a team
Backtracking

When a guess fails, the engine goes back to its last choice (for example, giving back a character a quantifier took) and tries another way.

Backup

A copy of the data from the past that you can go back to.

Bandwidth

How many bits per second a link can carry, for example 1 Gb/s.

Defined in: Bits on the wire

The width of the range of frequencies a signal uses, such as a 20 MHz Wi-Fi channel.

Bank

An independent grid of cells inside a DRAM chip, with its own rows and sense amplifiers. DDR4 chips have 8 or 16.

Base (radix)

How many digits a number system has, and how much each place grows: 10 for decimal, 2 for binary, 16 for hex.

Base 62

Writing a number with 62 symbols (0-9, a-z, A-Z). Seven base 62 characters can name about 3.5 trillion different values.

Defined in: System design
Base backup

A copy of all of a server's data files, taken while it runs, for example with pg_basebackup. Recovery starts from it.

Base case

The input small enough to answer directly, without another call. It is what stops the recursion.

Defined in: Recursion

An answer known without any work, such as fib(0) = 0 and fib(1) = 1, or 0 coins to make 0.

Base class

The class another class is built on. Animal is the base class of Dog.

The class another class inherits from, such as Shape. It holds the members its derived classes share. Every class ultimately derives from object.

Base class (parent)

The class named in brackets, as Animal in class Dog(Animal). Also called superclass.

Defined in: Inheritance
Base station

The radio equipment at a cell tower: an eNodeB in 4G (LTE), a gNodeB in 5G (NR).

Baud rate

How many symbols a line sends per second. For UART each symbol is one bit, so 115200 baud is 115200 bits per second, even when several bits in a row are the same and the line does not change.

BCD

Binary-coded decimal: one decimal digit, 0 to 9, written as a 4-bit binary number.

BCP 38

Best Current Practice 38 (RFC 2827): networks drop outgoing packets whose source address does not belong to them.

Beacon

A short broadcast frame an access point sends about ten times a second to announce its network name, channel and security.

Defined in: How Wi-Fi works
begin() / end()

Member functions that return iterators to the first element and to the position just past the last one.

BEM

Block, Element, Modifier: a naming method for classes, such as card, card__title and card--sale, so each part is styled with one class.

Bent pipe

A satellite that simply repeats the signal from one side to the other, without routing packets itself.

BGP

Border Gateway Protocol, version 4: how ASes tell each other which address blocks they can reach.

Border Gateway Protocol: how networks tell each other which address blocks they can reach, and withdraw them.

Defined in: CDNs and anycast
BGP hijack

Announcing addresses you do not hold, by mistake or on purpose, so that other networks send that traffic to you.

Big O

A way to describe how the number of steps grows as n grows, keeping only the fastest-growing part and ignoring constant factors.

Binary

Counting with only the digits 0 and 1. Each place is worth twice the one to its right: 1, 2, 4, 8, 16, 32, 64, 128.

Counting in base 2. Each place is worth double the one to its right: 1, 2, 4, 8, 16 and so on.

Binary search

Searching a sorted list by comparing with the middle item and throwing away the half that cannot contain the target. O(log n).

Binary search tree

A binary tree where, at every node, the left subtree holds only smaller values and the right subtree only larger ones.

Defined in: Trees
bind

A method every function has: fn.bind(x) returns a new function whose this is locked to x for good. It does not run fn.

Defined in: How this works

To attach a reference to its object. It happens once, when the reference is made, and never changes.

Defined in: References
Binding

A name joined to a value, such as count holding 0. let bindings can change; an import binding cannot be assigned by the importer.

Defined in: Modules
Binding table

DHCP snooping's list of leases: MAC address, IP address, port, VLAN and lease time.

bisect

Python's built-in module for binary search on sorted lists; bisect_left(a, x) returns where x is or would go.

Bit

The smallest piece of data: a single 1 or 0.

Defined in: Bits on the wire

The smallest piece of data: a single 0 or 1.

Defined in: IPv4 addresses

A binary digit: 0 or 1. An IPv4 address is 32 bits long.

Defined in: Subnets and masks

The smallest piece of data a computer stores: a 0 or a 1.

Short for binary digit: a single 0 or 1. In a chip it is a wire near 0 V (0) or near the supply voltage (1).

One binary digit: 0 or 1. In a circuit it is a low or high voltage, off or on.

Defined in: Logic gates

One binary digit: 0 or 1. In a circuit, a low or a high voltage; here a dark or a glowing lamp.

A binary digit, 0 or 1. In hardware it is one of two states, such as a low or high voltage.

Bit lines

A pair of wires, BL and BL̄, down a column. Data is read from and written to the cells through them.

Defined in: SRAM
Bitrate

How many bits per second a video uses. Higher bitrate means more detail and bigger segments.

Bitstream

The file that holds every configuration bit for one design; loading it sets up the FPGA.

Defined in: FPGAs
Bitwise AND

Combining two bit patterns so a bit is 1 only where both are 1. Address AND mask gives the network address.

Defined in: Subnets and masks
Blameless postmortem

A write-up after an incident that records what happened, its impact, why the system allowed it, and fixes, without blaming people.

BLE

Bluetooth Low Energy: 40 channels of 2 MHz, short bursts, very low power. Used by watches, keyboards and sensors.

Block

The group of lines that belong together under a line ending in a colon, marked by being indented the same amount.

The unit flash erases at once, made of many pages (for example 64). After an erase every bit is 1.

The lines between curly braces { and }. An if runs its block only when its condition is true.

Defined in: Conditionals

The indented lines after a line that ends with a colon. They run, or are skipped, together.

Block box

A box that starts on a new line and, with width: auto, fills the full width of its container. h1 and p are block by default.

Block device

Storage the kernel reads and writes in fixed-size blocks, such as a disk (/dev/sda) or one of its partitions (/dev/sda1).

Block element

An element that starts on a new line and takes the full width available, such as a heading, a paragraph or a list.

Block RAM

A fixed memory block built into the FPGA fabric; on AMD 7 series chips each holds 36 Kb.

Defined in: FPGAs
Blocking

Holding the thread so nothing else can run, as a long calculation or time.sleep() does.

Making a thread stop and wait, doing nothing, for example by reading .Result before a task is done. await waits without blocking.

Defined in: Tasks and threads
Blocking (loss)

A call that arrives when every line is busy and is turned away. Its probability is the grade of service, such as 1%.

body

The part of the page that holds everything you see: headings, paragraphs, links, images.

The lines between the loop's curly braces { }: what runs in every round.

Defined in: Loops

The indented lines under the for or while line: the part that repeats.

Defined in: Loops
Bogus

The verdict for data whose signatures do not check out. A validating resolver throws it away and never caches it.

Boilerplate

Repetitive code that must be written but says little, such as an __init__ that only copies its arguments.

Defined in: Dataclasses
bool

A value that is either True or False.

Python's type for yes-or-no answers. It has only two values, True and False. A condition such as age < 13 works out to a bool.

The type with exactly two values, True and False. Every comparison gives a bool.

The C++ type with exactly two values, true and false. Comparisons such as > and == give a bool.

The C# type with exactly two values, true and false. Comparisons such as > and == give a bool, and every if or while condition must be one.

Boolean

A type with only two values, true and false, used for yes-or-no questions and decisions.

Defined in: Values and types

A value that is either true or false. Every comparison gives one.

Defined in: Conditionals

The type with only two values: true and false.

Defined in: Basic types
Boolean algebra

Algebra on 0 and 1 with AND (written · or nothing), OR (+) and NOT (written ', so D' is NOT D).

Boolean attribute

An attribute with no value, such as controls: being present switches it on, leaving it out switches it off.

Boolean value

A value that is only true or false, named after George Boole. Computers store it as 1 (true) or 0 (false).

Boot loader (GRUB)

A small program that loads the kernel and the initramfs into memory, gives the kernel its command line, and jumps to it.

Defined in: How Linux boots
Border

A line drawn around the padding. It has a width, a style (such as solid) and a colour.

Defined in: The box model
Border router

A router at the edge of a Thread mesh that forwards IPv6 packets to and from the home Wi-Fi or Ethernet network.

Botnet

Many hacked devices, often computers, cameras and home routers, controlled remotely by one attacker.

Bottleneck

The slowest link on a path. It decides how fast the whole path can go, and its queue is where packets wait or are dropped.

Boundary clock

A PTP switch that syncs to the grandmaster on one port and acts as master for the devices on its other ports.

Boundary scan

A JTAG feature (it needs TDI and TDO, so SWD cannot do it) that puts a test cell at every signal pin so a tester can drive and read the pins without running code, finding opens and shorts.

Defined in: Test and debug
Bounds check

A test that an index is valid before it is used. Built-in arrays have none; std::array::at and std::vector::at do.

Box

The rectangle the browser makes for an element. Layout is deciding where the boxes go.

Box model

The way CSS lays out every element: a rectangle made of content, padding, border and margin.

Defined in: The box model
box-sizing

Decides what width and height measure: the content only (content-box, the default) or everything up to the outside of the border (border-box).

Defined in: The box model
Boxing

Wrapping a value type such as int inside an object on the heap. Generic code with a value type argument avoids it.

Defined in: Generics

Copying a value (such as a struct) into a new object on the heap so it can be treated as an object. A ref struct is never allowed to be boxed.

BPDU

Bridge Protocol Data Unit: the small message switches use to share bridge IDs and path costs, every 2 seconds by default.

Defined in: Spanning Tree
Bracket notation

Reading or writing a property whose name is the result of an expression, as in cat[key] or cat["fur colour"].

Defined in: Objects
Branch

A movable name that points at one commit. Committing on a branch moves it forward to the new commit.

One of the separate paths in a parallel circuit.

Branch prediction

Guessing whether a jump will be taken so fetch can carry on; a wrong guess is flushed.

Defined in: Pipeline hazards
Branch protection

A repository rule, for example: main only accepts pull requests with an approval and passing checks.

Defined in: Code review
Breadth-first search (BFS)

Explores level by level with a queue; finds the fewest edges from the start in an unweighted graph.

break

A statement that ends the loop it is in at once.

Breakpoint

A marked line where a debugger pauses the program so you can inspect the variables.

A width at which the layout changes, because a media query starts or stops applying.

Bridge ID

A switch's spanning tree ID: a priority (32768 by default) followed by its MAC address. Lowest wins.

Defined in: Spanning Tree
Bring-up

Switching on a newly built board for the first time and getting it working, stage by stage: power, clocks, code.

Defined in: Test and debug
Broadcast

The address ff:ff:ff:ff:ff:ff (all 48 bits set). Every card on the segment keeps a broadcast frame.

A frame sent to ff:ff:ff:ff:ff:ff, meant for every device on the local network. ARP questions use it.

A frame sent to ff:ff:ff:ff:ff:ff, which every device on the local network receives.

A message to every device on the local network. In IPv4 the address 255.255.255.255 means 'everyone here'.

Broadcast address

The address with every host bit set to 1. A message sent to it reaches every device on the subnet.

Defined in: Subnets and masks
Broadcast domain

The set of devices a broadcast frame (to ff:ff:ff:ff:ff:ff) reaches. Each VLAN is one broadcast domain.

Defined in: VLANs and trunks
Broadcast storm

Broadcasts circling a loop and multiplying until they fill the links and swamp every device.

Defined in: Spanning Tree
Browser

The program that reads HTML files and draws the pages they describe, such as Chrome, Firefox, Safari or Edge.

Defined in: What HTML is
Bubble

An empty slot (a no-op) that travels through the pipeline during a stall or after a flush and changes nothing.

Defined in: Pipeline hazards
Bubbling

The last part of the trip, from the target back up through its ancestors. Most events, including click, bubble.

Defined in: Events
Buck converter

A switching regulator that steps a voltage down by switching it fully on and off and smoothing the pulses with an inductor and a capacitor.

Bucket

One slot in a hash table. Keys whose hash codes give the same remainder share a bucket.

Defined in: Collections
Buffer

Video the player has already downloaded but not yet shown. It lets playback continue while the network wobbles.

Memory where a file object collects written text before sending it to the disk in one go, when the buffer fills, on flush() or on close.

Defined in: Working with files

The editor's working copy of a file, kept in memory. You change the buffer; saving copies it to the disk.

Bufferbloat

Too much buffering for a link's speed: under load the queue grows long and adds large delay before any packet is dropped, so TCP's signal to slow down comes late.

Too much buffering for a link's speed: when the link is overloaded the queue grows long and adds large delay before any packet is dropped.

Bug

A mistake in a program that makes it fail or give a wrong result.

Build graph

Every output file and the files it is made from. The build tool uses it to choose the order and to skip files that are up to date.

Build system

The files CMake writes (Makefiles or build.ninja) that a build tool such as make or Ninja follows to run the compiler.

Build type

A CMake setting (Debug, Release, RelWithDebInfo, MinSizeRel) that picks the compiler's optimisation and debug flags.

Built-in errors

Error types the engine throws itself, such as TypeError, ReferenceError, SyntaxError and RangeError.

Builtin

A command the shell runs itself, without starting a program from the disk. cd, echo and type are builtins in bash.

Defined in: The shell
Bus

Every device taps into one shared cable. Simple, but one break stops everything and only one device can send at a time.

Shared wires that connect the caches; what one cache sends, all the others can see.

Byte

A group of 8 bits. The letter A is one byte: 01000001.

Defined in: Bits on the wire

Eight bits in a row. One byte has 256 patterns, so it can hold a whole number from 0 to 255.

A small unit of memory: 8 bits. Memory addresses count bytes, so a slot of 8 bytes moves the address on by 8.

Defined in: Arrays and lists

A group of eight bits. It has 256 patterns, enough for the numbers 0 to 255.

The unit of memory size: 8 bits, each a 0 or a 1. sizeof tells you how many bytes a type uses.

A group of 8 bits. It can hold 256 patterns, the numbers 0 to 255.

Bytecode

Simple instructions made by CPython from your file, run by the Python virtual machine rather than by the CPU.

Simple instructions for a virtual machine instead of a real chip. CPython's bytecode is shown by the dis module and cached in .pyc files.

The small, simple instructions CPython compiles your source into. It is an implementation detail and changes between Python versions.

C

C-rate

Current compared with capacity. 1C would empty a full cell in about an hour; 2C in about half an hour.

Defined in: How batteries work
C#

A modern, type-safe programming language from Microsoft, standardised as ECMA-334. Say "see sharp".

Cable category

A rating such as Cat5e, Cat6 or Cat6a that says how fast a cable can carry data, and how far.

Cache

A small, fast store that keeps copies of answers that are slow or costly to get again.

Defined in: Caching

A small, fast store kept in memory (RAM) that holds copies of popular data. A hit finds the data there; a miss does not.

Defined in: System design

A small, fast memory that keeps copies of data used recently, so the next use does not have to wait for slower memory.

A small, fast memory (SRAM) beside the CPU that keeps copies of recently used parts of main memory.

A small, fast memory next to the CPU that keeps copies of recently used memory.

Defined in: Writing fast C++
Cache coherence

Keeping every cached copy of the same memory address in agreement, so no core reads a stale value.

Cache hit / miss

A hit is answered from a stored copy; a miss has to fetch the file from the origin first.

Defined in: CDNs and anycast

A hit finds the copy in the cache; a miss does not, so the answer must come from the slower source.

Defined in: Caching
Cache line

The block of data a cache moves at a time, usually 64 bytes, so the neighbours of a value come along with it.

The block of neighbouring bytes a cache copies as one unit: 64 bytes on most Intel and AMD chips, 16 in the figure.

The unit the cache moves to and from main memory: 64 bytes on current Intel and AMD chips.

Defined in: Writing fast C++
Cache miss

A read whose data is not in the cache, so it must be fetched from a slower level or from main memory.

Defined in: Writing fast C++
Cache poisoning

Getting a resolver to store a false record, so it then hands the wrong answer to everyone who asks until the record's TTL expires.

Cache-aside

A pattern where the app checks the cache first and, on a miss, loads from the database and puts a copy in the cache itself.

Defined in: Caching
Call

Running a function by writing its name with brackets, such as area(3, 4). Python jumps into the function, then comes back.

Running a function by writing its name followed by brackets and arguments, as in total(3, 4).

Defined in: Functions

A method every function has: fn.call(x, ...args) runs fn once with this set to x. apply does the same with the arguments in an array.

Defined in: How this works

Running a function: its name followed by brackets holding the arguments, such as average([8, 6, 10]).

Defined in: Functions

Running a function by writing its name and arguments, area(3, 4). The caller pauses until the function returns.

Defined in: Functions
Call frame

The working space Python makes for one call, holding its local variables. It is cleared when the call ends.

The scratch space Python makes for one call of a function, holding that call's own variables, like n.

Defined in: Recursion

The scratch space a call gets for its local variables; the ECMAScript specification calls it an execution context. It is removed when the call returns.

Defined in: Functions
Call stack

The stack Python keeps of the functions currently running: a call pushes a frame, a return pops it.

Defined in: Stacks and queues

The pile of frames for calls still running. The newest is on top, and it is the first to finish.

Defined in: Recursion

The pile of frames for the calls that are running now. The newest call is on top; frames are popped in last-in, first-out order.

The pile of calls that have not finished yet, one frame per call. A call pushes a frame; a return or a throw pops it.

The pile of function calls that are running right now. A call pushes a frame on top; when it returns, the frame comes off.

Defined in: The event loop

The engine's list of functions that are running now. The one on top runs; a paused async function is not on it.

Defined in: async and await

The pile of frames for the calls that are running right now, newest on top.

Defined in: Exceptions

The memory a running program uses for the functions that are currently running: one frame per call, newest on top.

Memory for running methods. Each call gets a frame on top, holding its parameters and locals; it is removed when the call returns.

Defined in: Methods

The list of method calls that have not finished yet. Each call has a frame holding its parameters and locals; the newest is on top.

Defined in: Exceptions
Callback

A function you pass to other code so it can be called later, for example when a download finishes.

A function you hand to something else to run later, such as the arrow function given to setTimeout or .then.

Defined in: The event loop

A function you pass to other code, which calls it later, such as the arrow function given to setTimeout or .then.

camelCase

The usual way to write JavaScript names with several words: first word lower case, then a capital for each new word, as in maxLives.

CAN

Campus area network: the LANs of several buildings, such as a school or company site, joined by the organisation's own fibre.

Capacitor

Two metal plates with a thin insulator between them. It stores electric charge.

A tiny store of electric charge. In a DRAM cell, full stands for 1 and empty for 0.

Capacity

How many slots a list has room for. It can be more than its length, so appends can use the spare room.

Defined in: Arrays and lists

How many elements a vector's current block can hold before it must grow (v.capacity()).

Capacity (mAh)

How much charge a cell holds. 3000 mAh means 3000 milliamps for one hour, or 300 milliamps for ten hours.

Defined in: How batteries work
Capture by copy

[x]: the closure stores its own copy of x, made when the lambda expression is evaluated.

Capture by reference

[&x]: the closure refers to the original x, so it sees later changes, and must not be used after x is gone.

Capture list

The square brackets at the start of a lambda. They name the variables from around the lambda that it may use.

Capture phase

The first part of an event's trip, from the top of the DOM tree down to the target.

Defined in: Events
Captured variable

A local variable from outside a lambda that the lambda uses. The lambda shares the variable itself, not a copy of its value.

Cardinality

How many things on each side of a relationship: one-to-one (1:1), one-to-many (1:N) or many-to-many (M:N).

Caret range

A range such as ^2.1.3 that allows newer minor and patch versions (from 2.1.3 up to, not including, 3.0.0).

Defined in: npm and packages
Carried load

The traffic actually served: A × (1 − B). Divided by c it gives each line's utilisation.

Carrier

A large telecom company that owns long-distance links and rents capacity on them to others.

Carry

The bit that moves one column to the left when a column's sum is too big for one digit, as in 1 + 1 = 10.

The extra 1 a column passes to the next column on its left when its total is 2 or 3.

Carry in (Cin)

The carry arriving from the column to the right, added in along with A and B.

Carry out (Cout)

The carry a full adder sends on to the column to its left.

Carry-in / carry-out

The carry bit going into a full adder from the column on its right, and the one it sends to the column on its left.

Carry-lookahead

A faster adder design that works out all the carries together from the input bits instead of passing them along one stage at a time.

Cascade

The browser's method for choosing one value when several declarations set the same property on the same element.

The browser's way of picking one value when several declarations set the same property on the same element.

Cascade layer

A named group of styles made with @layer. Layers are ordered by first mention, and a later layer beats an earlier one before specificity is compared.

Case-sensitive

Capital and small letters count as different, so score, Score and SCORE are three different names.

Cast

Code that converts a value to another type, such as (int)box.Value. A wrong cast throws an InvalidCastException at run time.

Defined in: Generics
Catastrophic backtracking

A pattern, usually with a repeat inside a repeat, that has so many ways to fail that the engine runs for a very long time. On untrusted input it is an attack called ReDoS.

Cathode

The positive electrode while the cell discharges. In a lithium-ion cell it is a lithium metal oxide that takes the lithium back in.

Defined in: How batteries work
CDN

Content delivery network: cache servers near viewers that keep copies of popular files, such as video segments.

Content delivery network: many edge servers in different places that keep copies of websites' files close to visitors.

Defined in: CDNs and anycast

Content delivery network: servers spread around the world that keep copies of a site's files near its users.

Defined in: Caching

Content delivery network: servers in many places, close to users, that answer with cached copies of responses.

Defined in: System design
Cell

The area one tower's antennas cover. A mobile network is a patchwork of cells.

Central

The device that starts a connection and sets its timing, usually the phone or computer.

Certificate chain

The server's certificate plus the intermediate that signed it, leading up to a root CA the browser already trusts.

Defined in: How HTTPS works
cgroup

Control group: a set of processes whose CPU, memory and I/O use the kernel counts and can limit. Version 2 is a tree of folders at /sys/fs/cgroup.

Channel

A slice of a band that one network uses. In 2.4 GHz, channels 1, 6 and 11 do not overlap.

A slice of a radio band that one network uses. In 2.4 GHz the channels are 5 MHz apart but about 20 MHz wide, so neighbours overlap.

Defined in: How Wi-Fi works

A thin conducting layer that forms under the gate when the gate voltage is high enough, joining source and drain.

char / bool

char holds one character in single quotes, such as 'A' (always 1 byte); bool holds true or false (usually 1 byte).

Character

One letter, digit, space or symbol in a string. In Python each character is one Unicode code point.

One letter, digit, space or symbol in a string. Reading one, as in name[0], gives a string of length 1.

Character class

A set of characters that one position may match: [a-z], [0-9], or shorthands such as \d (digit), \w (letter, digit or underscore) and \s (whitespace).

Character encoding

The rule for turning a file's bytes into letters. Web pages use UTF-8, set with .

The rule that turns bytes into characters. Web pages should use UTF-8, where each ASCII character is one byte.

The code that turns bytes into letters. UTF-8 is the one HTML uses; declares it.

Characteristic impedance (Z0)

The ratio of voltage to current in a wave travelling along a line, set by trace width, height and board material; often 50 ohms.

CHECK

A rule with a test, such as year > 0, that every row must pass (true or NULL).

CHECK constraint

A rule on a column or table, such as CHECK (bal >= 0), that every row must satisfy; a statement that would break it fails.

Checkpoint

A point where every dirty page has been written to disk and a checkpoint record is logged. Crash recovery replays from here.

Checksum

A 16-bit check value over the header, data and IP addresses that lets the receiver spot damaged bits.

chmod

The command that changes a file's mode, by letters (g+w) or by number (660). Only the owner or root may use it on a file.

chmod +x

A command that gives a file execute permission, so you can run it as ./name.

Defined in: Bash scripting
CI (continuous integration)

A server that runs the tests on every push and blocks changes when the exit code is not 0.

Defined in: Testing JavaScript
CI checks

Automated checks, such as tests, that run on every push to the pull request.

Defined in: Code review
CIA triad

The three goals for data and systems: confidentiality (only the right people read it), integrity (only allowed changes) and availability (it works when needed).

Cipher suite

The encryption and hash pair used after the handshake, here TLS_AES_128_GCM_SHA256.

Defined in: How HTTPS works
Circuit

A closed loop that charge can flow all the way round. A gap anywhere stops the current everywhere.

Circuit breaker

Code that stops calling a failing service for a while (open), then lets a test call through (half-open) before closing again.

Cladding

The glass around the core, 125 µm across, with a slightly lower refractive index so light stays in the core.

Class

A blueprint, written with class Name:, that describes what its objects hold and what they can do.

A neat syntax for a constructor function plus a prototype object that holds its methods. typeof a class is "function".

A blueprint that describes the fields and methods every object made from it will have.

A blueprint for objects. Running a class statement builds a class object that holds the methods defined inside it.

Defined in: Classes

A type you define: data members plus the member functions that work on them. class Tally { ... }; is one.

A blueprint and a type: it declares the fields every object of that type has and the methods (and constructors) that work on them.

class attribute

An HTML label you can put on any number of elements: class="new". One element can have several classes, separated by spaces.

Defined in: Selectors
Class selector

A dot and a class name, such as .new. It matches every element whose class attribute contains that word.

Defined in: Selectors

A selector that starts with a dot, such as .note. It matches every element whose class attribute includes note.

Class template

A template that makes classes, such as std::vector or std::unique_ptr .

Classic Bluetooth (BR/EDR)

The original Bluetooth: 79 channels of 1 MHz and a steady stream. Often used for audio.

Classic script

A without type="module". With src and no async or defer, it stops the parser until it has downloaded and run.

Classification and marking

Sorting packets into classes by their headers (addresses, ports, protocol), then writing the class into the packet so later routers can read it.

classList

An element's list of classes. classList.add puts a class on it, so CSS rules for that class apply.

Clause

A part of a statement that starts with a keyword, such as FROM drinks or WHERE price < 4.

Clean code

Code that is easy for a person to read, understand and change: clear names, small functions, no surprises.

Defined in: Clean code
Clock

A signal that switches between 0 and 1 at a steady rate, so that many parts of a circuit can act in step.

Defined in: The D flip-flop

A signal that flips between 0 and 1 at a steady rate; every flip-flop in a synchronous circuit updates in step with it.

Defined in: Clocks and timing
Clock cycle (tick)

One period of the clock. In a pipeline every instruction moves one stage on at each rising edge.

Defined in: Pipelining
Clock edge

The instant a clock signal changes; on a rising edge it goes from 0 to 1, and flip-flops copy their input then.

Defined in: Counters

The moment the clock signal changes. On a rising edge it goes from 0 to 1, and every flip-flop updates together.

Defined in: State machines
Clock offset

How far one clock is ahead of or behind another; NTP's θ = ((t2 − t1) + (t3 − t4)) / 2.

Clock skew

The difference in arrival time of the same clock edge at different flip-flops.

Defined in: Clocks and timing

The difference in arrival time of the same clock edge at different flip-flops. A clock tree keeps it small.

Clock speed

How many times a second the CPU's clock ticks, in hertz. 2.4 GHz is 2.4 billion ticks a second.

How many steps a processor takes per second, in gigahertz (GHz): billions of ticks per second.

Clos network

A network of switches in stages where every switch in one stage connects to every switch in the next, described by Charles Clos in 1953. Leaf-spine is a folded Clos network.

Closure

A function together with the scope it remembers. It can keep reading and changing that scope's variables after the outer call has ended.

Defined in: Scope and closures

A function that keeps names from the function it was defined in, such as func inside wrapper, even after that function has returned.

Defined in: Decorators

The hidden object the compiler makes to hold captured variables, so they live as long as the delegate that uses them.

Closure object

The object a lambda expression produces. You can copy it, store it in a variable and call it like a function.

Closure type

The unnamed class the compiler invents for each lambda expression. Its operator() holds the lambda's body.

CLR (common language runtime)

The part of .NET that loads assemblies, JIT-compiles IL to machine code, runs it and manages memory.

CMake

A tool that reads a project description (CMakeLists.txt) and writes a build system for your platform and compiler.

CMakeLists.txt

The recipe file for CMake: which targets to build, from which source files, and how they depend on each other.

CMOS

Complementary MOS: circuits that pair n-channel and p-channel MOSFETs, so one is on while the other is off.

Complementary metal-oxide-semiconductor: circuits built from pairs of p-channel and n-channel MOSFETs, so one is off whenever the other is on.

Defined in: The CMOS inverter

Complementary MOS: the way most chips build gates, using pairs of two kinds of transistor (nMOS and pMOS).

Defined in: Logic gates

Complementary MOS: the way most chips build gates, from pairs of nMOS transistors (on at 1) and pMOS transistors (on at 0).

CoAP

Constrained Application Protocol (RFC 7252): web-style GET/PUT/POST/DELETE requests over UDP port 5683, with a 4-byte header and no broker.

Coaxial cable

A round cable with a centre wire, an insulator, a metal shield and a jacket, used for cable TV and internet.

Code object

What the compiler produces for a module or function body: the bytecode plus the local names, constants and the stack size it needs.

Code point

The number Unicode gives a character, such as 99 for c or 233 for é. ord() shows it.

Code review

Another engineer reads a change before it merges, to catch bugs, share knowledge and keep the code consistent.

Defined in: Code review
Codec

The method that turns sound into bytes and back; G.711 sends 64 kb/s of sound.

Defined in: Voice over IP
CoDel and FQ-CoDel

Active queue management (AQM): the router drops or marks packets early to keep delay short. CoDel acts when waits stay above 5 ms for 100 ms; FQ-CoDel also gives each flow its own queue.

Cohesion

How closely the parts inside one module belong together. High cohesion means one module, one job.

Collapsed core

A two-tier design for smaller sites, where one redundant pair of switches does both the distribution and the core jobs.

Collection

An object that holds many values under one name, such as List or Dictionary from System.Collections.Generic.

Defined in: Collections
Collection (test discovery)

pytest's first phase: finding test_*.py and *_test.py files and the test functions inside them.

Collision

When two different keys pick the same slot.

Collision check

A test, run during update, for whether two things touch, such as a ball reaching a wall.

Colour code

Coloured bands on a resistor that give its value: two digits, a multiplier and a tolerance.

colspan

An attribute on th or td that makes the cell span that many columns, such as colspan="2".

Defined in: Tables
Column

One named fact that every row has, such as year. Every value in a column has the same type.

Defined in: What a database is

One named fact that every row has, with a fixed data type, such as name text. Textbooks call it an attribute.

Command tag

The short reply a database such as PostgreSQL sends after a statement, such as INSERT 0 1, UPDATE 1 or DELETE 2: the command and how many rows it affected.

Comment

Text after a #. It is a note for people; Python skips it.

Text after // (to the end of the line) that the compiler ignores: a note for people reading the code.

Commit

A saved snapshot of the whole project, with an author, a time, a message and a pointer to its parent commit (every commit has one except the first).

A saved snapshot of the project, with a message and a link back to its parent commit (two parents for a merge commit).

A saved snapshot of your changes to the code, with a message saying what changed.

The command that ends a transaction and makes its changes permanent and visible to everyone.

Ends a transaction and makes all its changes permanent and visible to other sessions at once.

Commit log

PostgreSQL's record of each transaction's status (in progress, committed or aborted), kept in pg_xact.

Defined in: MVCC
Comparator

A circuit that answers 'is this voltage above that one?' with an output at one rail or the other.

Comparison

An operator that compares two values and gives a bool: == (equal), != (not equal), , =.

An operator that compares two values: == (equal), != (not equal), and >=.

Compile time

When tsc checks and converts the code, before the program runs. Run time is while it is running.

Defined in: What TypeScript is

While the compiler is building your program from source code. Nothing has run yet.

Compiled language

A language whose programs are translated into machine code before they run. C++ is one.

Compiler

A program that translates a whole program ahead of time, usually into a machine-code file you can run later.

A program that translates source code into another form, such as machine code (gcc, clang) or bytecode (CPython's compiler).

The tool that checks code against the rules of the language and translates it into machine code.

Compiler (Roslyn)

The program that checks your C# and turns it into IL. Roslyn is the name of the C# compiler.

Compiler option

One setting tsc reads, such as target, strict or outDir. They live under compilerOptions in tsconfig.json.

Component

A part of a system with one job, such as a web app, a service or a database.

Composite

The stage that stacks the painted layers in order, applies transform and opacity, and hands the finished frame to the screen.

Compositing

The browser's last rendering step: stacking the painted layers, with their transforms, into the final picture.

Defined in: Transforms
Composition

Building an object out of other objects held in its attributes (has-a), such as a Bank holding a list of accounts.

Computed style

The final value of every property for one element, after matching the rules, the cascade and the defaults.

Concatenation

Joining strings end to end with +. The result is a new string.

Joining strings end to end. In JavaScript, + concatenates when either side is a string.

Joining strings end to end with +. If one side is a string, the other side is turned into text first.

Concept

A C++20 named requirement on a template parameter, such as std::totally_ordered , checked where the template is used.

Concurrency

Several tasks making progress by taking turns, for example two threads sharing one CPU core.

Making progress on several jobs by switching between them. asyncio is concurrent on one thread, not parallel: it switches only at await.

Defined in: asyncio
Condition

The test in round brackets after if, such as temp > 25. JavaScript turns its value into true or false.

Defined in: Conditionals

A yes-or-no question in code, such as temp >= 25. Python works it out to True or False.

An expression whose answer is true or false, such as n > 0 or n == 1. if and while use one to decide what runs next.

Condition (check)

An expression such as i <= 3 that is worked out to true or false before every round.

Defined in: Loops
Conditional

Code that runs only when a condition is true, written with if, else if and else.

Defined in: Conditionals
Conditional type

A extends B ? X : Y: the type X if A is assignable to B, otherwise the type Y.

Conductor

A material whose electrons move freely, so current flows easily. Copper has about one free electron per atom.

Confidentiality

Only the people who should read the data can read it. Usually kept with encryption.

Config drift

Devices that should match slowly becoming different, usually through manual changes and typos.

Defined in: Network automation
Configuration memory

The memory cells inside the FPGA that hold the loaded bitstream; on most FPGAs it is SRAM.

Defined in: FPGAs
Configure

The first CMake step (cmake -S . -B build): check the compiler and write the build system into the build folder.

Conflict

Two or more matching rules that set the same property on the same element to different values.

Congestion

More traffic heading for a link than it can carry, so packets queue up and, once the queue is full, are dropped.

Congestion window (cwnd)

The sender's limit on segments in flight (sent but not yet acknowledged). TCP raises it while things go well and cuts it on loss.

Connected component

A group of vertices that can all reach one another along edges, and nothing else.

Defined in: Graphs
Connected route

A route a router adds automatically for each network plugged into one of its working ports.

Defined in: Static routes
Console

A panel in the browser's developer tools where console.log writes messages for the developer.

Defined in: What JavaScript is
Console.Write / WriteLine

Write prints text and leaves the cursor on the same line; WriteLine prints text and then a line break.

const

Makes a variable that must get its value at once and can never be given a new one.

A promise that an object is read-only after it is initialized. Its value may be worked out at run time.

const reference

A reference you can only read through (const T&). It avoids a copy and cannot change the object.

Defined in: References
Constant

A name for a value that does not change, written in capitals in Python, such as TAX_RATE = 0.20.

Defined in: Clean code
Constant expression

An expression the compiler can evaluate while building, needed for array sizes, static_assert and template arguments.

Constant folding

Working out expressions made only of constants, such as 2 * 3, at compile time instead of every time the program runs.

Defined in: Inside a compiler
Constant time, O(1)

The step count stays the same however big n gets, as in items[5].

consteval

C++20: marks a function that must run at compile time; calling it with a run-time value is an error.

constexpr function

A function the compiler may run at compile time when its arguments are constant; otherwise it runs normally at run time.

constexpr variable

A variable whose value the compiler must work out while building. It is also const.

Constraint

A fixed limit on the solution that you do not get to choose, such as a deadline, a budget or a required language.

A rule on a form field, written as an attribute such as required, type="email" or min="13".

Defined in: Form validation

A limit on what a type parameter can be, written with extends, as in .

Defined in: Generics

A rule on a type argument, written with extends: in Pick , K must be keys of T.

Defined in: Utility types

A rule after where that limits which types may replace T, such as where T : struct or where T : IComparable .

Defined in: Generics

A rule written into a table's definition that every row must obey. The DBMS refuses any change that would break it.

Constructed type

A generic type with its type arguments filled in, such as Box or Box .

Defined in: Generics
Constructor

The function new calls to set up a new object; in a class it is the method named constructor.

The special method new runs to set up a fresh object.

A member function with the class's name and no return type. It runs when an object is made and sets it up.

A member function with the class's name and no return type. It runs automatically when an object is created and gives it a valid starting state.

A special method with the class's name and no return type. It runs once when new creates an object and gives the object a valid start.

Consumer (worker)

A program that takes messages off a queue and does the job each one describes.

Defined in: Message queues
Container

A running copy of an image: the app's process, kept apart from others, with a thin writable layer on top of the image.

A standard library object that holds a group of elements and owns their memory, such as std::vector, std::list or std::map.

One or more ordinary processes that the kernel isolates with namespaces and limits with cgroups. They share the host's kernel.

Container image

A packaged app plus everything it needs to run, stored as a stack of read-only layers. Built from a Dockerfile.

Container query

@container (...) { ... }: rules that apply when a test about the element's nearest query container is true.

Defined in: Container queries
container-type

The property that makes an element a query container. inline-size lets queries ask its width; size lets them ask its width and height.

Defined in: Container queries
Containing block

The box an element is laid out inside, here the body's content area. A block's width: auto fills it.

The rectangle an absolute box is placed against: the padding box of its nearest positioned ancestor, or else the initial containing block.

Defined in: Positioning
content

The property that fills a ::before or ::after box, for example content: "✓ ".

Content area

The innermost part of a box, where text and images go.

Defined in: The box model
Content-Security-Policy (CSP)

A response header that tells the browser which scripts it may run, a second line of defence against XSS.

Context manager

An object with __enter__ and __exit__ methods that sets something up before a with block and cleans it up afterwards.

Defined in: Context managers
Context switch

Saving exactly where one process stopped and loading where the next one stopped, so the CPU can switch between them.

Contiguous

Stored side by side in one block of memory, as a std::vector stores its elements.

Defined in: Writing fast C++
Continuation

The rest of a method after an await. It runs when the awaited task completes.

Defined in: async and await
Continuous delivery

Keeping every green build ready to release, so a person can release it at any time with one action.

Continuous delivery (CD)

Keeping every tested change ready to release at any moment. Continuous deployment goes further and releases every passing change automatically.

Defined in: What DevOps is
Continuous deployment

Releasing every change that passes the pipeline to users automatically, with no button press.

Continuous integration (CI)

Everyone merges small changes into the shared main branch often, and an automated pipeline checks every push.

Automatically building and testing every change as soon as it is committed.

Defined in: What DevOps is
Control

A part of a form a visitor can use, such as a text box ( ), a number box ( ) or a button.

Defined in: Forms
Control flow

The order in which a program's statements run. By default top to bottom; if, else and loops change it.

Control flow analysis

How tsc follows ifs, returns and other branches to know which types can reach each line.

Control hazard

The pipeline does not yet know which instruction comes next because a jump has not been decided.

Defined in: Pipeline hazards
Control plane

The part of a network that decides where traffic should go: learning the map and building the tables.

Control plane / user plane

The control plane (AMF, SMF, UDM) decides and signals; the user plane (UPF, gNB) carries your actual data.

Control signal

A wire from the control unit to one part of the datapath, such as RegWrite (may a register change?) or ALUOp (which operation should the ALU do?).

Defined in: The control unit

A wire from the control unit that steers the datapath, such as RegWrite (a register may change), ALUSrc (the ALU's second input), ALUOp (what the ALU does) or PCSrc (take the jump).

Control unit

The logic that reads the opcode and sets the mux selects and write enables of the datapath.

The part of a processor that reads each instruction's opcode and sets the control signals that tell the datapath what to do.

Defined in: The control unit
Control, patching, defence in depth

A control is a safeguard that lowers risk, from people (training), process (routines such as patching: installing the maker's updates that fix known software flaws, and making backups) or technology (filters, MFA). Defence in depth stacks several different controls, so one failure is caught by the next layer.

Conventional current

The direction current is drawn in: from the + end to the − end, the way positive charge would move. Electrons drift the opposite way.

Conversion

Making a value of one type from another: str(5) is '5', int("42") is 42, float("1.5") is 1.5.

Cookie

A small piece of text a server sets with Set-Cookie and the browser sends back with Cookie, so the site can recognise you.

A small name=value pair a server asks the browser to keep and send back with later requests to the same site.

Coordinator / router / end device

Zigbee's three jobs: the coordinator starts the network, routers (mains-powered) relay, end devices never relay, and battery-powered ones sleep most of the time.

Copy constructor

The constructor that makes a new object from an existing one of the same type, written T(const T&). For an owning type it makes a deep copy.

Defined in: Copy and move
Core

The centre of the fibre, where the light travels: about 9 µm in single-mode, 50 or 62.5 µm in multimode.

A complete processor inside a chip: it fetches and runs its own stream of instructions. A multicore chip has several.

The part of a processor that runs instructions. A CPU has a few big cores; a GPU has thousands of small ones.

One independent processor inside a CPU. Each core runs one thread at a time, so more cores means more threads at the same instant.

Defined in: Tasks and threads
Core layer

The fast centre of the network that carries traffic between distribution blocks, the server room and the internet, with no filtering.

Core network

The operator's central systems: they check SIMs, track where each phone is, give out addresses and connect to the internet.

Coroutine

A function defined with async def that can pause at await and carry on later from the same spot.

Coroutine function

A function defined with async def. Calling it returns a coroutine object instead of running the body.

Defined in: asyncio
Coroutine object

A paused computation made by calling a coroutine function. It runs only when awaited, passed to asyncio.run(), or wrapped in a Task.

Defined in: asyncio
Cost

A number on each link; lower is better. A path's cost is the sum of its links. By default 100 Mb/s ÷ link speed.

The planner's estimate of work, in arbitrary units where reading one page in order costs 1.0. It is not a time.

Defined in: Query plans
Coulomb (C)

The unit of charge: the charge of about 6.24 billion billion (6.24 × 10¹⁸) electrons.

Count and Capacity

Count is how many values a list holds; Capacity is how many fit in its current array before it must grow.

Defined in: Collections
COUNT(*)

Counts rows. COUNT(column) counts only the rows where that column is not NULL.

Counter

A number that only goes up, like total bytes sent; a rate comes from the difference between two readings.

A circuit that steps through numbers in order, usually adding 1 on every clock edge.

Defined in: Counters

A variable, often called i, that counts the rounds and is changed by the update.

Defined in: Loops
Coupling

How much one module depends on the details of another. Low coupling makes changes stay local.

Covalent bond

A bond in which two atoms share a pair of electrons, one from each atom.

Coverage

A measure of how much of the design's behaviour the tests actually exercised, for example how many input cases were tried.

CPU

Central processing unit, or processor: the chip that carries out instructions, one after another.

Defined in: What software is
CPython

The standard Python implementation, from python.org, written in C. It compiles code to bytecode and runs it in a virtual machine.

createElement

A method that makes a new element. It is not in the tree, and not on the page, until you add it.

Critical path

The slowest path from one flip-flop to the next; it sets the shortest possible clock period and so the highest clock speed.

Defined in: Clocks and timing

The slowest path through the logic between two clock edges; it sets the shortest possible clock period.

Crontab

Your table of cron jobs: one line per job, five time fields and a command. Edit it with crontab -e.

Cross axis

The direction across the main axis. In a row it runs top to bottom.

Defined in: Flexbox
Cross-coupled

Two gates wired so that each one's output feeds an input of the other.

Defined in: The SR latch
Cross-coupled inverters

Two inverters each feeding the other's input. The loop holds itself in one of two steady states: a stored bit.

Defined in: SRAM
Cross-platform

One code base that builds apps for several systems, as Flutter (Dart) and React Native (JavaScript) do.

Cross-site scripting (XSS)

A mistake where user text is put into a web page as HTML, so the browser may run it as code. Fixed by escaping output.

Crosstalk

Unwanted noise pushed onto one trace by fast edges on a neighbouring trace, through electric and magnetic coupling.

Cryptokey routing

WireGuard's rule that ties each peer's public key to its allowed IPs, both for sending and for checking what arrives.

Defined in: Defence: WireGuard
Crystal oscillator

A circuit built around a small slice of quartz that vibrates at a very stable rate, used as the source of a clock.

Defined in: Clocks and timing
CSMA/CA

Carrier Sense Multiple Access with Collision Avoidance: listen before talking, wait a random number of slots, and expect an ACK for every frame.

Defined in: How Wi-Fi works
CSS

Cascading Style Sheets: the language that sets how HTML looks, such as colours, fonts and layout.

Defined in: What HTML is

Cascading Style Sheets: the language that says how HTML content looks, such as colours, sizes and spacing.

Defined in: What CSS is
CSS pixel

The unit page layout and media queries are measured in. It is not the same as one dot on the screen.

Defined in: Responsive images

The unit CSS widths are measured in. One CSS pixel can be several of the screen's device pixels.

CSS pixel (px)

CSS's basic length unit, 1/96 of a CSS inch. On a sharp screen one CSS pixel covers several device pixels.

Defined in: Colours and units
CSSOM

The CSS Object Model: the browser's tree of the rules in a page's stylesheets, built by parsing the CSS.

ctid

The physical address of a stored row version (a tuple): (page number, line pointer number), such as (0,3).

Defined in: Storage and pages
CUDA core

NVIDIA's name for one small arithmetic lane in its GPUs. It is much simpler than a CPU core.

Current

How much charge flows past a point each second. Measured in amperes: 1 A = 1 C/s.

Current-limiting resistor

A resistor in series with a part such as an LED, chosen with Ohm's law to set a safe current.

Defined in: Ohm's law
Custom property

A property whose name starts with two dashes, such as --brand. It holds a value for other declarations to read and styles nothing by itself.

A property whose name starts with --, such as --brand. It is inherited and read with var(--brand).

Cybersecurity and assets

Cybersecurity is protecting an organisation's systems, data and people from harm, such as theft, damage or disruption. Assets are the things worth protecting: data, the computers and services that hold it, and the people who use them.

D

D flip-flop

A one-bit memory: at the rising edge of the clock it copies its input D to its output Q, and holds Q the rest of the time.

Defined in: Registers
Daemon

A program that keeps running in the background with no terminal, waiting for work, such as the cron daemon.

Dangling pointer

A pointer that still holds the address of memory that has been freed. Using it is undefined behaviour.

Dangling reference

A reference to an object that no longer exists; using one is undefined behaviour.

Defined in: References
Data hazard

An instruction needs a value that an earlier instruction still in the pipeline has not written yet, such as OUT r0 right after ADD r0, r1.

Defined in: Pipeline hazards
Data member

A variable inside a class; every object has its own. Tally's data member is int n.

Data model

The things a system stores (here Book, Member and Loan) and how they link to each other.

Data plane

The part that forwards each packet out of the right port, very fast, by looking it up in a table. Also called the forwarding plane.

Data race

Two threads access the same memory location, at least one writes, and nothing orders the accesses. In C++ this is undefined behaviour.

Data type

The kind of value a column accepts, such as integer (whole numbers) or text. PostgreSQL refuses a value of the wrong type; SQLite stores it anyway unless the table is declared STRICT.

Database

A program that keeps data safely on disk and finds exactly the rows you ask for, usually with SQL.

Defined in: How web apps work

An organised store of data, kept so that many programs and people can find it, change it and trust it.

Defined in: What a database is
Dataclass

A class made with the @dataclass decorator, which writes __init__, __repr__ and __eq__ from its fields.

Defined in: Dataclasses
Datagram

One self-contained UDP message: the 8-byte header plus the data. Each one travels on its own.

Datapath

The part of a processor that holds and moves data: program counter, memories, register file, ALU and the multiplexers between them.

The parts that hold and change data: registers, the ALU, memory and the multiplexers between them.

Defined in: The control unit
dBm

Power on a decibel scale counted from 1 milliwatt: 0 dBm = 1 mW, 20 dBm = 100 mW, -30 dBm = 1 µW.

DBMS

Database management system: the program (PostgreSQL, MySQL, SQLite) that stores the tables, checks every change against the schema and answers queries.

Defined in: Databases and SQL

Database management system: the program that runs a database, such as PostgreSQL, MySQL or SQLite.

Defined in: What a database is
DDoS

Distributed denial of service: the attack comes from many machines at once, so blocking one address does not help.

De Morgan's law

NOT (A AND B) = NOT A OR NOT B, and NOT (A OR B) = NOT A AND NOT B.

Dead interval

How long a router waits without hearing a neighbour's Hello before declaring it down: 40 seconds by default.

Dead tuple

A row version that no running or future snapshot can see; it still takes space until VACUUM removes it.

Defined in: MVCC
Dead-letter queue

A side queue for messages that failed too many times or cannot be handled, kept for a person to inspect.

Defined in: Message queues
Deadlock

Threads that each hold a lock and wait for a lock another one holds, so none of them can ever continue.

Debugger

A tool that runs a program step by step and shows its variables. Python's built-in one is pdb; breakpoint() starts it.

Decay

The automatic conversion of a plain array into a pointer to its first element, for example when it is passed to a function. The size is lost.

Declaration

One property and its value, ending with a semicolon: color: tomato;.

Defined in: What CSS is

The line that makes a variable, such as let score = 0 or const maxLives = 3.

The line that creates a variable: the type, then the name, often with a starting value, as in int age = 30;.

A statement that introduces a name and its type, such as int square(int x); without a body. It may appear many times.

Declaration file (.d.ts)

A file that holds only types: what exists and its shape, with no code to run.

Declaration merging

When an interface is declared more than once, tsc joins the declarations into one shape.

declare

A keyword that says something exists and its code lives elsewhere, so only its type is written.

Decoder

A circuit that turns an N-bit binary number into exactly one active output line out of 2^N.

A circuit that turns a binary number into one active output line, for example 10 turns on line 2 of 4.

Defined in: Registers
Decoherence

The loss of a qubit's quantum state as it interacts with its surroundings (heat, stray fields). Error correction fights it.

Decorator

A function that takes a function or class and returns it changed. @name above a definition applies it: C = name(C).

Defined in: Dataclasses

A function that takes a function and returns a new one, usually applied with @name on the line above a def.

Defined in: Decorators
Decoupling capacitor

A small capacitor placed right next to a chip's power pins, as a local reserve of charge.

A small capacitor, often 0.1 µF, placed right next to a chip's power pin to supply quick bursts of current.

Deep copy

A copy that duplicates the owned memory too, so the two objects share nothing and can change independently.

Defined in: Copy and move
def

The Python keyword that defines a function: def area(w, h): followed by an indented body.

The keyword that defines a function: def, the name, parameters in brackets, a colon, then an indented body.

Defined in: Functions
Default deny

The policy that anything not explicitly allowed is dropped, usually as an implicit last rule, deny all.

Anything no rule allows is dropped.

Default gateway

The router a host sends traffic to when the destination is not on its own subnet.

Defined in: Subnets and masks

The router a device sends packets to when the destination is outside the local network.

The router a device sends packets to when the destination is not on its own LAN. Here 192.0.2.1.

The router a device sends every packet to that is not for its own local network.

Default route

The row 0.0.0.0/0. It matches every address, so it catches packets that no more specific row fits.

0.0.0.0/0: matches every address and is used only when no more specific route fits. Often points to the ISP.

Defined in: Static routes
Default route / gateway

The route used when no other matches: hand the packet to the gateway, usually your router, which leads to the internet.

Default value

A value a parameter takes when the call leaves it out, like h = w. It makes the parameter optional.

Defined in: Typing functions

A value written in the def, such as size="S". Python works it out once, when def runs, and uses it when a call leaves that parameter out.

The value a field has before anything sets it: 0 for numbers, false for bool, null for reference types such as string.

default_factory

An argument to field(): a function called to make a fresh default, such as list, for each new object.

Defined in: Dataclasses
Defaulted comparison

A C++20 feature: bool operator==(const T&) const = default; makes the compiler compare the members one by one.

Defence in depth

Several independent layers of protection, so one failure is not the end.

defer

A script attribute: download in parallel, then run after the document is parsed, in file order, before DOMContentLoaded.

Deferred execution

A query does nothing when it is built; it runs only when it is enumerated, for example by foreach. It runs again each time.

Defined in: LINQ
Definition

The declaration that also provides the entity itself, such as a function's body. A non-inline function has exactly one in a program.

Delegate object

An object (a reference type, on the heap) that knows which method to call (Delegate.Method) and on which object (Delegate.Target).

Delegate type

A type whose values are references to methods with a given shape (parameter types and return type), such as Func .

delete

An operator that removes a property, key and value, from an object: delete cat.age.

Defined in: Objects

The SQL command that removes whole rows from a table: DELETE FROM table WHERE condition.

delete / delete[]

Gives heap memory back. Use delete for memory from new, and delete[] for memory from new[].

Delta time (dt)

How long the last frame took. Moving by speed × dt keeps motion the same speed at any frame rate.

Demultiplexer (demux)

The reverse of a mux: one input, several outputs. The select bits choose which output receives the input; the others stay 0.

Demultiplexing

Sorting arriving data to the right program by its port and 5-tuple.

Defined in: Ports and sockets
Denial of service (DoS)

An attack that uses up a service's resources so real users are turned away. Nothing is stolen; the service just stops.

Dependency

A package your code needs. A transitive dependency is one that your dependencies need.

Something your code needs in order to run, such as a library (flask) or a particular version of Python.

A module that another module imports. Dependencies run before the modules that import them.

Defined in: Modules

Another package a package needs in order to work, written in its Depends field, for example libc6 (>= 2.34).

Depletion region

A thin zone at the p-n junction with no free carriers. Its leftover charges block current until it is pushed thin.

Depth and height

A node's depth is the number of links from the root down to it. A tree's height is its largest depth.

Defined in: Trees
Depth-first search (DFS)

Follows one path as far as it can, then backtracks; uses a stack or recursion.

deque

Python's double-ended queue, from the collections module. Adding or removing at either end is fast.

Defined in: Stacks and queues
Dereference

Reading the element an iterator marks, written *it. Dereferencing end() is undefined behaviour.

Derived class

A class built on a base class with struct Dog : Animal (or class Dog : public Animal). It inherits the base's members and can add or override its own.

A class that inherits from a base class with a colon, such as Square : Shape. It gets the base members and can add and override its own.

Design pattern

A named, reusable solution to a design problem that comes up again and again. A shared idea, not a piece of code to copy.

Defined in: Design patterns
Design rules (DRC)

The factory's limits, such as minimum trace width, gap and hole size; the design rule check tests the layout against them.

Design token

A named design choice, such as a brand colour or a spacing step, kept in one place (often a custom property on :root) and reused everywhere.

A named design value, such as the brand colour, kept in one place and reused everywhere. In CSS it is often a custom property.

Designated port

On each link, the one end nearest the root. It forwards frames onto that link.

Defined in: Spanning Tree
Desired state

A written description of how every device should be configured. Tools make the devices match it.

Defined in: Network automation
Destructor

A member function named ~ plus the class name. It runs by itself when an object's lifetime ends, for a local object at the end of its scope.

The member function named ~ plus the class name, such as ~Cup(). It takes no arguments and runs automatically when an object's lifetime ends.

A special member function, written ~ClassName(), that C++ calls automatically when an object's life ends.

Destructuring

A short way to unpack values from an object or an array into separate variables, such as const { name } = user or const [first] = nums.

Device driver

Code in the OS that knows how to control one kind of device, such as a disk or a speaker.

devicePixelRatio

How many device pixels (dots of light) fit across one CSS pixel on this screen, such as 1, 2 or 3.

Defined in: Responsive images
DevOps

A way of working that joins building software (development) with running it (operations), so one team owns the whole loop and ships small changes often.

Defined in: What DevOps is
DHCP

Dynamic Host Configuration Protocol: the router lends each device an address and tells it where to send things.

Defined in: Your home network

Dynamic Host Configuration Protocol: the way a device borrows an IP address and its network settings from a server.

DHCP snooping

A switch feature that lets DHCP server messages in only through trusted ports and records each lease it sees as a binding.

DHCP starvation

Asking a DHCP server for address after address under made-up client MACs until its pool is empty, so real devices get none.

Dict and set comprehensions

The same idea in curly braces: {n: n * 10 for n in nums} builds a dict, {n % 2 for n in nums} a set.

Defined in: Comprehensions
Dictionary

A collection of key and value pairs. Each key is unique and maps to one value; lookups by key are close to O(1).

Defined in: Collections
Dictionary (dict)

Python's built-in hash map: a collection that maps keys to values, written like {"ann": 31}.

A collection of key: value pairs, written in curly braces, such as {"Ana": 31}. You look values up by key.

Diff

The difference between two versions of the code: the lines added (+) and removed (-).

Defined in: Code review
Differential pair

Two traces carrying opposite copies of a signal; the receiver reads the difference, so noise common to both cancels.

Diode

A part that lets current flow one way only: in at the anode, out at the cathode.

Directory

Another word for a folder: a place in the file system that holds files and other folders.

Defined in: The file system

Linux's word for a folder: a list of names, each pointing to a file or to another directory.

Defined in: Working with files
Dirty page

A page in memory that has been changed but not yet written back to the file on disk.

Defined in: Storage and pages
Dirty read

Reading another transaction's change before it commits. PostgreSQL never allows it.

Defined in: Isolation levels
dis

The standard-library disassembler: dis.dis(f) prints the bytecode of f.

Disk (SSD)

Storage that keeps files even when the power is off. An SSD (solid-state drive) is a fast kind of disk, but still much slower than memory.

display

The CSS property that sets a box's type, such as block, inline, inline-block or none. Its starting value is inline.

Distribution

A ready-made operating system: the Linux kernel plus a shell, commands and apps. Ubuntu, Debian and Fedora are examples.

Defined in: What Linux is
Distribution layer

The switches that join the access switches together, route between VLANs and apply policy such as access lists.

div

A generic box with no meaning of its own. Fine for grouping or styling when no semantic element fits.

Defined in: Semantic elements
DKIM

A signature a sending server adds to a message, checked with a public key the domain publishes in DNS.

DMA

Direct memory access: a controller that copies data between a device and memory without the CPU, then raises one interrupt.

DMZ

Demilitarised zone: a zone for public-facing servers, between the internet and the internal network.

DNS64

A resolver feature (RFC 6147) that builds an AAAA record from an A record by putting the IPv4 address inside a NAT64 prefix.

DNSKEY

A record holding a zone's public key. Resolvers use it to check the zone's signatures.

DNSSEC

DNS Security Extensions: signatures added to DNS so a resolver can check that an answer really came from the zone owner and was not changed.

Dockerfile

A short text recipe for building an image: start from a base image, install things, copy in the code, name the start command.

DOCSIS

The cable data standard. A cable modem talks DOCSIS over the shared TV coax to a CMTS at the ISP.

Doctype

The first line, . Not an element: it tells the browser to use today's rules (standards mode).

Document store

A store that keeps each record as one document, such as a JSON object, under a key, and can look inside it.

Defined in: NoSQL databases
DOM

Document Object Model: the page as a tree of objects in the browser's memory, which scripts can read and change.

Document Object Model: the tree of nodes the browser builds from the HTML. JavaScript reads and changes the page through it.

The Document Object Model: the browser's tree of elements, built from the HTML tags.

Document Object Model: the tree of objects the browser builds from the HTML. Changing it changes the page.

DOMContentLoaded

An event fired when the HTML is fully parsed and all deferred scripts have run. It does not wait for async scripts, images or stylesheets.

Doping

Adding a tiny, controlled amount of another element to a semiconductor to change how well it conducts.

DORA

Discover, Offer, Request, Ack: the four messages that get a device its first address.

DORA metrics

Four measures of software delivery from the DORA research programme: deployment frequency, lead time for changes, change failure rate and time to restore.

Defined in: What DevOps is
DoT and DoH

DNS over TLS (port 853) and DNS over HTTPS: two ways to encrypt DNS between your device and the resolver.

Dot notation

Reading or writing a property with a fixed name after a dot, as in cat.name.

Defined in: Objects
dotnet test

The .NET CLI command that builds a test project, runs its tests and prints the results.

Defined in: Unit testing
Dotted decimal

The usual way to write an IPv4 address: four numbers from 0 to 255 with dots between them.

Defined in: IPv4 addresses
Double buffering

Drawing the next frame into a hidden back buffer, then swapping it with the front buffer the screen shows.

dpkg

Debian's lower-level package tool: it unpacks a .deb onto the disk and keeps the list of installed packages in /var/lib/dpkg/status.

DRAM

Dynamic random-access memory: memory that stores each bit as charge on a capacitor and must be refreshed because the charge leaks.

Drawn box

Where the element is actually painted after its transform. getBoundingClientRect() measures its axis-aligned bounds.

Defined in: Transforms
DRC and LVS

Design rule check (every shape obeys the factory's width and spacing rules) and layout versus schematic (the layout is the same circuit as the netlist).

DRY

Don't repeat yourself: each rule or piece of knowledge should be written in exactly one place.

Defined in: Clean code
DS record

Delegation signer: a hash of a child zone's key, published and signed in the parent zone. It is how a parent vouches for its child.

DSCP

Differentiated Services Code Point: 6 bits in the IPv4 or IPv6 header (RFC 2474) that carry a packet's class, such as EF 46, DF 0 or LE 1.

DSL / VDSL2

Digital subscriber line: data sent as high-pitched tones on the copper phone pair (ITU-T G.993.2). Ends at a DSLAM.

DSP slice

A fixed block for fast arithmetic such as multiply and add (DSP: digital signal processing).

Defined in: FPGAs
Dual stack

Running IPv4 and IPv6 side by side on the same device or network, each with its own addresses and routes.

Dunder

Short for "double underscore": the two underscores on each side of a special method's name, as in __init__ (said "dunder init").

Duplicate Address Detection (DAD)

The check a computer makes before using an address: a Neighbor Solicitation about it, sent from ::, that nobody should answer.

Defined in: Neighbor Discovery
Duration

How long a transition or animation takes, written in seconds (0.3s) or milliseconds (300ms).

DUT (design under test)

The block being tested, placed inside the testbench.

Duty cycle

The fraction of each switching period that the switch is on. In an ideal buck converter it equals Vout / Vin.

Dynamic ARP Inspection (DAI)

A switch feature that checks ARP messages on untrusted ports against the binding table and drops any that do not match.

Dynamic programming

Solving a problem by breaking it into smaller questions, solving each one only once and storing the answers to build bigger ones.

Dynamic routing

Protocols such as OSPF and BGP that let routers tell each other about networks and failures, so routes adapt on their own.

Defined in: Static routes
Dynamic typing

A language feature where variables have no fixed type; only values do, so one variable can hold a number, then a string.

Defined in: Values and types

E

East-west traffic

Traffic between servers inside a data center. North-south traffic goes in and out, to and from the internet.

eBGP / iBGP

External BGP runs between two different ASes; internal BGP shares those routes between routers inside one AS.

ECDHE

Ephemeral elliptic-curve Diffie–Hellman: each side mixes its private key with the other's public key to reach the same secret.

Defined in: How HTTPS works
ECMP

Equal-cost multipath: when several paths are equally good, use them all, picking one per flow with a hash of header fields.

ECN

Explicit Congestion Notification: routers mark packets instead of dropping them, and the sender slows down when the mark is echoed back.

Edge

A connection between two vertices, such as a road. Undirected edges work both ways; directed edges go one way.

Defined in: Graphs
Edge case

Input at the limits of normal use, such as zero, negative numbers, empty lists or very big values.

Defined in: Unit testing
Edge server

A CDN server near visitors that answers requests from its cached copies.

Defined in: CDNs and anycast
Edge-triggered D flip-flop

Two D latches in a row on opposite clocks. Q copies D only at the clock's rising edge and holds it for the rest of the cycle.

Defined in: The D flip-flop
EF

Expedited Forwarding, DSCP value 46: a mark that asks routers to send these packets first.

Defined in: Voice over IP
EFI system partition

A small FAT-formatted partition on the disk where UEFI firmware looks for boot loaders, such as \EFI\ubuntu\grubx64.efi.

Defined in: How Linux boots
Electric charge

A property of particles such as electrons (negative) and protons (positive). It is measured in coulombs (C).

Electrolyte

The material between the electrodes that lets ions pass but blocks electrons, so the electrons must flow through the outside circuit.

Defined in: How batteries work
Electron

A tiny particle with a negative charge of 1.602176634 × 10⁻¹⁹ C. In a metal wire, some electrons are free to move.

Element

An opening tag, its content and its closing tag together, such as Hello! : one part of the page.

Defined in: What HTML is

One part of a page the browser makes from an HTML tag, such as the heading made from .

Defined in: What CSS is

One value inside an array. a[2] is the element with index 2.

elif

Short for "else if": a further test, checked only when every test above it was False.

Short for else if: a further question, asked only when every question above it was False.

else

The block that runs when every test above it was False. It has no condition.

The block with no condition that runs when every test above it was false.

Defined in: Conditionals

The catch-all at the end of a chain: its block runs only when every question above it was False.

else if

Another test, checked only when every test above it was false. It is simply else followed by another if.

Defined in: Conditionals
em

A multiple of the element's own font size (or, inside font-size itself, the parent's font size).

Defined in: Colours and units

A length relative to a font size. In font-size, 1em is the parent's font size, so 2em is twice it.

Defined in: Typography
Encapsulation

Wrapping data in a header (and sometimes a trailer) as it goes down the layers. The receiver removes them in reverse order.

Defined in: Packets and layers

Keeping an object's data behind its methods, which check the rules. In Python a leading underscore, as in _balance, marks data as internal.

Encoder

The reverse of a decoder: it turns one active input line into the binary number of that line.

Endpoint

An HTTP method plus a route pattern, linked to a handler, such as GET /todos → () => todos.

Enqueue and dequeue

Enqueue adds an item at the back of a queue; dequeue removes the item at the front. With a deque: append() and popleft().

Defined in: Stacks and queues
Entanglement

A link between qubits: measured, their results are correlated (here they always agree) even though neither qubit had a set value beforehand. Measured in other ways, the correlations are stronger than any pair of separate bits can produce.

Entity

A kind of thing you keep facts about, such as book or member. It becomes a table.

Entry point

The module the program starts from, here main.js (node main.js or ).

Defined in: Modules
Enum

A named set of constants, written with enum. Numeric members are numbered from 0 unless you give values.

Envelope

The SMTP addresses MAIL FROM and RCPT TO that servers use for delivery, separate from the message's headers.

Environment variable

A named setting that programs the shell starts receive, such as HOME (your home folder) or PATH (where to look for commands).

Defined in: The command line

A named setting given to a program from outside when it starts, such as DB_HOST=db.internal.

Ephemeral port

A short-lived port the operating system lends a program for one connection, usually from the dynamic range 49152–65535.

Defined in: Ports and sockets
ER diagram

A drawing of entities, attributes and relationships, made before writing any CREATE TABLE.

Erlang

The unit of traffic intensity in telephony (ITU-T E.600): arrival rate × mean holding time, the average number of busy lines.

The unit of traffic intensity: one erlang keeps one server busy all the time. A = arrival rate × mean service time (ITU-T E.600).

The unit of traffic: one line (or server) busy all the time. Offered load in erlangs = arrival rate × average holding time.

Erlang B

The probability that an arrival finds all servers busy when there is no waiting room, so it is lost (blocked).

Erlang B formula

B(c, A) = (A^c/c!) / Σ A^k/k! for k = 0 to c: the share of calls lost when A erlangs are offered to c lines. Computed in practice with the recursion B(k) = A·B(k−1) / (k + A·B(k−1)).

Erlang C

The probability that an arrival finds all c servers busy and has to wait, for a system with unlimited waiting room.

Error budget

How much failure the SLO allows (100% minus the SLO). Teams ship changes while it lasts and fix reliability when it runs out.

Error object

An object made by new Error(...) or a subtype such as RangeError. It has a name, a message, and in every major engine a stack trace.

ESP

Encapsulating Security Payload (RFC 4303, IP protocol 50): the wrapper that encrypts a packet and adds an integrity tag and sequence number.

Ethernet frame

One unit of data on an Ethernet network: destination and source MAC, EtherType, payload and FCS, led by a preamble and SFD.

The envelope a packet travels in across one link. It carries a destination MAC, a source MAC and a type.

EtherType

Two bytes that say what the payload is, such as 0x0800 for IPv4 or 0x0806 for ARP.

The two-byte type field in an Ethernet frame that says what is inside: 0x0806 for ARP, 0x0800 for IPv4.

Event

Something that happens on the page, such as a click. A script can listen for it and run a function when it happens.

Defined in: What JavaScript is

A signal that something happened on the page, such as a click, a key press or a form being sent.

Defined in: Events

A member that lets an object (or class) tell other code that something happened. Declared with the event keyword and a delegate type.

Defined in: Events
Event delegation

Handling events for many child elements with one listener on their parent, using bubbling and event.target.

Defined in: Events
Event loop

A loop on one thread that runs ready tasks one at a time and resumes waiting tasks when what they wait for is done.

The host's loop that, whenever the call stack is empty, runs every waiting microtask, then takes the next task, and repeats.

Defined in: The event loop

The part of the runtime that, whenever the call stack is empty, picks the next job or task and runs it.

Defined in: async and await

The scheduler at the heart of asyncio: on one thread it runs ready tasks one at a time and wakes parked ones when their timers or sockets are ready.

Defined in: asyncio
Event object

The object the browser passes to a listener, describing the event: its type, target, currentTarget and more.

Defined in: Events
event.currentTarget

The element whose listener is running right now. It is null outside a listener.

Defined in: Events
event.target

The element the event happened on. It stays the same for the whole trip.

Defined in: Events
Evil twin

A rogue access point that copies a real network's name (SSID) to lure devices into joining it.

Exception

Python's way of signalling an error, such as ValueError. Raising one stops the function and reports the problem.

Defined in: Clean code

A value thrown by throw (or by the engine) that stops normal flow until some code catches it.

An object Python raises when something goes wrong while a line runs. Its type (such as ZeroDivisionError) says what kind of problem it is, and it carries a message.

Defined in: Exceptions

An object of a class derived from System.Exception that reports an error. It carries a Message and a StackTrace.

Defined in: Exceptions
Exception (runtime error)

An error that happens while the program runs, such as NameError or ZeroDivisionError. Unless it is handled, it stops the program.

Executable

A file of machine code the operating system can load and run, such as hello (hello.exe on Windows).

Execute and write back

The ALU produces the result (for LDI it passes the value through unchanged), and the result is stored in the destination register at the clock edge.

Exhaustive, random and directed tests

Exhaustive tries every input case; random picks cases at random; directed tests are chosen by hand to hit specific cases.

Exit code

A number a program reports when it ends. 0 means success.

Defined in: Node.js

The number a program returns when it ends. 0 means success; node --test returns 1 if any test failed.

Defined in: Testing JavaScript

The number a program returns when it ends. pytest returns 0 when all tests passed and 1 when some failed.

Exit status

A number a program hands back when it ends: 0 means success; an uncaught exception gives 1.

Defined in: Exceptions

The number a program hands back to the system when it ends. 0 means success; main's return value sets it.

Defined in: Your first program

The number a program hands back to the shell when it ends: 0 means success, anything else means a failure.

Defined in: The shell

A number a process leaves behind when it ends. 0 means success; anything else usually means an error.

A number a command returns when it ends: 0 for success, 1 to 255 for failure. $? holds the last one.

Defined in: Bash scripting
EXPLAIN

A command that prints the plan PostgreSQL chose for a query, with its cost and row estimates, without running it.

Defined in: Query plans
EXPLAIN ANALYZE

EXPLAIN that also runs the query and prints the real row counts (and times) next to each estimate.

Defined in: Query plans
Exponential backoff and jitter

Retrying after waits whose limit doubles each time, with a random wait below that limit so clients do not retry together.

Exponential distribution

The distribution of the gap between Poisson arrivals: P(gap > t) = e^(−λt), mean 1/λ. Short gaps are the most common.

export

A keyword that makes a name from this module available to other modules, as in export let count = 0.

Defined in: Modules

Makes a name in a module available to other modules.

Exposed service

A program on a machine that strangers can reach over the network, such as SSH on port 22 or HTTPS on 443.

Expression

The part written first, such as n * 10: what each kept item becomes in the new list.

Defined in: Comprehensions
extends

Builds an interface on top of another: interface Dog extends Pet { id: ID } has all of Pet's properties plus id.

Eye diagram

Many bits of a signal overlaid on a scope; the size of the open 'eye' shows how much margin the link has.

F

F-connector

The screw-on connector used for coax; the coax centre wire itself is its pin.

f-string

A string with an f before the quotes; code inside {braces} is worked out and its value put into the text.

Defined in: Input and output
Factory

Code whose job is to create objects, so the caller asks for a kind of thing instead of naming a class. The book's versions are Factory Method and Abstract Factory.

Defined in: Design patterns
Failover

Making a standby the new primary when the old primary fails; in PostgreSQL with pg_promote() or pg_ctl promote.

Defined in: Replication
Fallback

The value after the comma in var(--name, fallback). It is used when the custom property has no value.

False positive / false negative

A false positive flags harmless traffic; a false negative misses a real attack.

Falsy

A value that counts as false in a condition: false, 0, -0, 0n, "", null, undefined and NaN.

Defined in: Conditionals
Fanout

How many child pointers one page holds. With hundreds per page, a few levels reach millions of keys.

Defined in: B-trees
Farad (F)

The unit of capacitance: how much charge a capacitor stores per volt (Q = C × V). Real parts are measured in µF (millionths) and nF (billionths).

Fast retransmit

Resending a segment as soon as three duplicate ACKs arrive, instead of waiting for the retransmission timer.

Fast-forward

A merge where the current branch is simply behind, so Git just moves its pointer forward. No new commit is made.

FCS

Frame check sequence: a 4-byte CRC-32 code at the end of an Ethernet frame. The receiver recomputes it to spot damaged frames.

Defined in: Packets and layers

Frame check sequence: a 4-byte CRC-32 the receiver recomputes to detect damaged frames.

Feature and label

A feature is an input the model sees (cups bought). A label is the right answer for that example (the bill).

Feedback

Wiring an output back into an input of the same circuit, so the circuit's past affects its present.

Defined in: The SR latch
Fetch and decode

Fetch reads the instruction at PC from memory; decode splits it into opcode, registers and immediate, and the control unit turns the opcode into control signals.

fetch()

The built-in function that sends an HTTP request and returns a promise for the Response. Defined by the WHATWG Fetch Standard.

Fibre-optic cable

A cable that carries bits as light inside thin strands of glass.

Defined in: Bits on the wire
Field

A named value stored inside each object, such as balance. In TypeScript it has a type.

A class variable with a type annotation, such as x: int, inside a dataclass. Fields are kept in the order they are written.

Defined in: Dataclasses

A variable that belongs to an object, such as N in class Box { public int N; }.

A variable that belongs to each object, such as Owner or Balance.

A variable that belongs to an object, such as int _target. Usually private.

Defined in: Properties

One word of a line as awk sees it: by default, fields are separated by spaces or tabs.

File

Named data saved on disk. Unlike a variable, it is still there after the program ends.

Defined in: Working with files
File and extension

A file is a named sequence of bytes kept on a disk. The extension, the end of its name such as .txt or .png, tells programs how to read the bytes.

File format

The way a file's data is stored, usually named by the file's ending: .jpg, .png, .mp3, .mp4.

File object

What open() returns: it remembers which file is open, in which mode, and where you are in it. Here it is named f.

Defined in: Working with files
FileNotFoundError

The error open() raises when you ask to read a file that does not exist.

Defined in: Working with files
Filesystem

The structures written into a partition (for ext4: a superblock, inode tables and bitmaps) that keep track of files, folders and free space.

FIN

The flag that says "I have no more data to send". Each direction is closed with its own FIN and ACK.

finally

A block after try (and catch) that always runs last, whatever happened.

A block after try (and any catch) that runs when the try statement ends, normally or after a caught exception: the place for clean-up.

Defined in: Exceptions
Fingerprint

A short hash of a public key (for example SHA256:…) that people can compare by eye. ssh-keygen -l prints it.

Defined in: SSH and keys
Finished

A MAC over the whole handshake that proves neither side's view of it was tampered with.

Defined in: How HTTPS works
Finite state machine (FSM)

A circuit that is always in one of a fixed, small number of states and moves between them by fixed rules.

Defined in: State machines
Firewall

A device or program that checks every packet against rules and lets through only what the rules allow.

Firewall rule

One line saying which traffic may cross, by source, destination and port. The first matching rule wins.

Firmware (UEFI)

The first program the CPU runs, kept in a flash chip on the main board. It wakes the hardware and starts a boot loader. Older PCs use BIOS instead.

Defined in: How Linux boots
First normal form (1NF)

Every cell holds one value: no lists or repeating groups.

Defined in: Normalisation
First-class function

A function treated like any other value: stored in a name, passed as an argument, returned from another function.

Defined in: Decorators
Fixed time step

Updating the world in exact, equal slices of time (such as 1/60 s), as many as the time owed, instead of once per frame.

Fixed wireless

Home internet over 4G or 5G radio from a nearby mast instead of a cable.

Flag (Z)

A 1-bit note the ALU leaves after an operation. The Z (zero) flag is 1 when the last result was 0; JZ and JNZ read it to decide whether to jump.

Defined in: The control unit
Flash memory

Non-volatile memory that keeps the program when the power is off.

Flex container

A box with display: flex. It lays out its children with the flex layout rules.

Defined in: Flexbox
Flex item

A child of a flex container. Flex items line up along the main axis.

Defined in: Flexbox
Flex line

One row of items. With flex-wrap: wrap a container can have several flex lines.

Defined in: Flexbox
flex-grow / flex-shrink

How much of the free space an item takes (default 0), and how much it gives up when space runs short (default 1).

Defined in: Flexbox
Flip-flop

A one-bit memory. A D flip-flop copies its input to its output on the rising edge of the clock and holds it otherwise.

Defined in: State machines

A one-bit memory that copies its input when the clock ticks and holds it until the next tick.

Defined in: FPGAs
float

A number with a decimal point, such as 1.5 or 3.0. Stored in binary, so it can be very slightly off (0.1 + 0.2).

Floating gate

A conductor sealed in insulating oxide between a flash cell's control gate and its channel. Electrons placed on it stay trapped.

Floating static route

A backup static route with a higher administrative distance, used only when the main route disappears.

Defined in: Static routes
Flooding

Sending a copy of a frame out of every port except the one it came in on.

Floor division //

Python's division that rounds down to a whole number: 23 // 2 is 11.

Floor division and remainder

// divides and rounds down (7 // 2 is 3); % gives what is left over (7 % 2 is 1).

Flow

One conversation between two programs, such as your video call or the photo upload. Routers tell flows apart by addresses, ports and protocol.

One conversation between two programs, such as one file copy; its frames share the same addresses and ports.

Defined in: Link aggregation

One conversation between two programs, such as one database query; its packets share the same addresses and ports.

Flow record

A summary of one conversation (addresses, ports, protocol, packets, bytes) exported by NetFlow or IPFIX.

Flow table

A switch's list of rows. Each row has match fields, a priority and actions; the matching row with the highest priority is used.

Focus

Which element receives the keyboard. Tab moves focus to the next control in the order of the HTML.

Font stack

The comma-separated list of fonts in font-family. The browser uses the first one it has.

Defined in: Typography
Footprint

The copper pads and outline for one real part package, placed on the board layout.

for clause

for n in nums: takes the items of a list one at a time, left to right, and gives each the name n.

Defined in: Comprehensions
for loop

A loop that takes the items of a sequence, such as a list or range(1, 5), one at a time.

A loop that runs its body once for each item of a sequence, such as a list, in order.

Defined in: Loops

for name in list; do ... done runs the lines between do and done once for each item, with name set to that item.

Defined in: Bash scripting
for...of

A loop that visits every item of an array in order, putting each one in a variable in turn.

Defined in: Arrays
Foreign key

A column whose values must match the key of a row in another table, linking the two tables.

Defined in: Databases and SQL

A column whose values must match the primary key of a row in another table, so a row can point at another row.

A column whose values must match a row of another table, such as books.author_id pointing at authors.id.

Defined in: JOINs

A column whose values must match a key in another table, such as books.author_id REFERENCES authors (id).

A column whose values must match a key in another table, such as orders.cust matching customers.cust.

Defined in: Normalisation

A column whose values must match the key of a row in another table, such as book.author_id → author.id.

fork and execve

The two system calls a shell uses to start a program: fork makes a copy of the shell, execve loads the new program into that copy.

Form

The element: a group of controls whose values the browser sends together to the address in its action attribute.

Defined in: Forms
Forward bias

Connecting a diode with its p side more positive than its n side, so current can flow.

Forward secrecy

Recorded traffic stays safe even if a long-term key is stolen later, because session keys came from throwaway key pairs.

Defined in: How HTTPS works

Traffic recorded today stays safe even if the long-term secret (here the password) leaks later, because each session key came from throwaway random secrets.

Forwarding

Sending a frame out of the single port the table says leads to its destination.

Also called bypassing: a wire that carries a fresh result straight back to the execute stage, so the next instruction need not wait for write back.

Defined in: Pipeline hazards
FPGA

Field-programmable gate array: a chip of configurable logic blocks and wiring that you set up after it is made.

Defined in: FPGAs
fr unit

A fraction of the free space: what is left after fixed tracks and gutters. 2fr gets twice as much as 1fr.

Defined in: CSS Grid
Fragment

The part of a URL after #. It names an element on the page by its id; the browser scrolls to it.

Defined in: Links and URLs
Frame

A packet plus an Ethernet header and FCS trailer: the link layer's unit.

Defined in: Packets and layers

One message on a local network (Ethernet). Its header starts with the destination MAC, then the source MAC.

One still picture made by one trip round the loop. Shown quickly one after another, frames look like motion.

One still picture of a video. Shown quickly one after another, frames look like movement.

One picture the screen draws. A 60 Hz screen draws a new frame about every 16.7 ms.

The fresh set of parameter and local values a function gets each time it is called.

The workspace Python makes for one function call, holding its variables. Calls stack frames on top of each other; an escaping exception drops them.

Defined in: Exceptions

The workspace for one running call: its local variable slots, its value stack and which instruction runs next.

Frame budget

The time the browser has for each frame: about 16.7 ms on a 60 Hz screen.

frame-ancestors

A Content-Security-Policy directive a site sends to say which pages, if any, may frame it.

Defined in: Iframes and embeds
Frames per second (fps)

How many frames the game makes each second. 60 fps leaves about 16.7 ms per frame.

Free function

A function declared outside any class (also called a non-member function). Both operands arrive as ordinary parameters.

Free space

What is left of the container's main size after the items' sizes and the gaps. justify-content and flex-grow share it out.

Defined in: Flexbox
Free-threaded build

An optional build of CPython (3.13+) that can run without the GIL (PEP 703).

Frequency

How many times a wave repeats each second, measured in hertz (Hz). 1 GHz is a billion waves per second.

How many times a wave repeats each second, measured in hertz (Hz). 1 GHz is a billion times a second.

Frequency and period

Frequency is how many clock cycles happen per second (hertz); the period is the time of one cycle. Period = 1 ÷ frequency.

Defined in: Clocks and timing
Frequency hopping

Switching radio channels many times a second in an order both sides know.

FROM

The clause that names the table to read. It supplies the rows every other clause works on.

Front end

The part of a web app that runs in the browser: HTML for structure, CSS for looks and JavaScript for behaviour.

Defined in: How web apps work
Front end / back end

The front end reads one language and writes IR; the back end turns IR into code for one kind of machine.

Defined in: Inside a compiler
FTTH

Fibre to the home: a glass fibre runs all the way into the house.

Fulfilled

The state of a promise that succeeded; it holds its value, which never changes again.

Full adder

A circuit that adds three bits (A, B and a carry in) and gives a sum and a carry out; two half adders and an OR gate.

A small circuit that adds three bits (A, B and a carry-in) and gives a sum bit and a carry-out bit.

Full table scan

Reading every row of a table to find the matching ones. The work grows with the number of rows, O(n).

Full-page write

A copy of a whole page stored in the WAL with the first change to that page after a checkpoint, so a half-written (torn) page can be restored.

Func

A delegate type for a function. Where takes a Func (an int in, true or false out); Select takes a Func here.

Defined in: LINQ
Func and Action

Built-in generic delegate types. Func returns a TResult; Action returns nothing.

Function

A named set of steps you can run whenever you need them, such as area.

A block of code saved to run later, here the arrow function () => { ... } that runs on every click.

Defined in: What JavaScript is

A named list of steps, written once, that runs each time it is called.

Defined in: Functions

A named piece of code that takes values in, does some work and gives one value back.

Defined in: Typing functions

A named group of steps. You define it once with def and run it by calling it, as many times as you like.

Defined in: Functions

A named block of code that can take inputs and give back a value. You write it once and run it by calling its name.

Defined in: Functions
Function as a value

Using a function's name without round brackets () to store it or pass it to another function, as in map(double, xs).

Defined in: Functional style
Function declaration

A statement such as function total(price, count) { ... } that creates a function and binds it to a name. It is hoisted: the name works from the top of the script.

Defined in: Functions
Function template

A template that makes functions, such as larger or std::max.

Functional dependency

X → Y: rows that agree on X always agree on Y. For example, ord → cust: one order has one customer.

Defined in: Normalisation
Functional requirement

What the system must do, such as "members can borrow and return books".

Functionally complete

A set of gates is functionally complete if it can build every possible truth table. NAND alone is; so is NOR alone.

functools.wraps

A decorator for wrappers: it copies the original function's name, docstring and other details onto the wrapper and sets __wrapped__.

Defined in: Decorators

G

Game loop

The loop at the heart of a game: read input, update the world, draw a frame, and repeat until the game ends.

Gang of Four

Gamma, Helm, Johnson and Vlissides, the four authors of the 1994 book Design Patterns, which catalogued 23 patterns.

Defined in: Design patterns
gap

Space between neighbouring items (and between lines), never at the outer edges.

Defined in: Flexbox

The gutter between neighbouring tracks, set with gap (or row-gap and column-gap). It is never added at the outside edges.

Defined in: CSS Grid
Garbage collection

The engine's automatic removal of values that can no longer be reached, such as a finished call's scope that nothing refers to.

Defined in: Scope and closures
Garbage collector (GC)

The part of the CLR that finds objects no root can reach and reclaims their memory.

Gate

The control terminal of a MOSFET: a plate on a thin insulator whose voltage opens or closes the channel.

Gate count

How many gates a circuit needs; fewer gates means less area, less power and usually less delay.

Gated D latch

A one-bit memory with a data input D and an enable E. While E is 1, Q copies D; while E is 0, Q holds its value.

Defined in: The D flip-flop
Gateway

A box that speaks two kinds of network and translates between them, here a Zigbee radio on one side and MQTT over IP on the other.

Generation

An age group of objects: gen 0 for new objects, gen 1 for survivors of one collection, gen 2 for long-lived objects. Young generations are collected far more often.

Generative model

A model that produces new content, such as text or images. A language model writes by predicting a likely next word (token), again and again.

Generator

The iterator a generator function returns. Each next() runs its body up to the next yield, then pauses, keeping its local variables.

Generator function

A def whose body contains yield. Calling it does not run the body; it returns a generator.

generic

The role of a div (and of a span): a container with no meaning. Screen readers do not announce it as anything.

Defined in: Semantic elements

A function (or type, or class) written with a type parameter, so it works for many types while keeping each one exact.

Defined in: Generics
Generic family

A built-in fallback such as serif, sans-serif or monospace. It always matches a font the computer has.

Defined in: Typography
Generic lambda

A lambda with an auto parameter (C++14 and later). Its operator() is a template, so one lambda works for many types.

Generic type

A type that takes other types as arguments in angle brackets, like Partial .

Defined in: Utility types

A type with a parameter, such as AsText ; you fill it in with a real type, as in AsText .

A type with a type parameter in angle brackets, such as List . List fills T with int, so the list holds only ints and the compiler checks every use.

Defined in: Collections

A class, struct, interface or delegate written with one or more type parameters, such as Box or List .

Defined in: Generics
Geostationary orbit (GEO)

A circular orbit 35,786 km above the equator whose lap equals one turn of Earth, so the satellite seems fixed in the sky.

Gerber file

The standard image file for one PCB layer, sent to the factory with a drill file.

GET and POST

The two methods a form can use. GET puts the name=value pairs in the address after a ?; POST sends them in the body of the request.

Defined in: Forms
get()

A dict method, d.get(key, default), that returns the key's value or the default when the key is missing.

GID

Group ID: the number of a group. A process carries its user's groups, and a file records one group.

GIL

CPython's global interpreter lock: it lets only one thread run Python code at a time.

GIL (global interpreter lock)

CPython's lock that lets only one thread run Python bytecode at a time. Each process has its own.

Glob

A pattern with wildcards, such as *.txt. Bash replaces it with the sorted list of file names that match.

Defined in: Bash scripting
Global name

A name assigned at the top level of a file, outside any function. Every function in the file can read it.

Defined in: Scope
Global scope

The outermost scope: names declared at the top level of a script.

Defined in: Scope and closures
global statement

global x inside a function makes x refer to the module's x, so assigning it changes the global name.

Defined in: Scope
Glue

Address records sent with a referral so the resolver can reach a name server whose name is inside the zone it serves.

gNB

The 5G base station (gNodeB). It handles the radio and connects to the core over fibre.

GPIO

General-purpose input/output: pins the program can drive high or low, or read.

GPON

Gigabit passive optical network (ITU-T G.984): one fibre from the OLT, split passively to up to 64 homes.

GPU

Graphics processing unit: a processor with thousands of simple cores built to do the same sum on lots of data at once.

Gradient descent

Repeatedly changing each weight a little in the direction that lowers the loss: w = w − learning rate × gradient.

Grandmaster

The best clock on a PTP network, chosen automatically; every other PTP clock syncs to it, directly or through boundary clocks.

Graph

A set of vertices together with edges that join pairs of them.

Defined in: Graphs

A set of nodes (also called vertices) joined by edges, such as places joined by roads.

Gratuitous ARP

An ARP message a host sends about its own address without being asked, to announce it (and others may spot a conflict).

Gray code

An order of binary numbers, such as 00, 01, 11, 10, in which each step changes exactly one bit.

Greedy

Always taking the choice that looks best right now, such as the biggest coin. Fast, but not always correct.

grep

A program that prints only the lines that match a pattern.

Grid container

An element with display: grid. It lays out its children in rows and columns.

Defined in: CSS Grid
Grid item

A direct child of a grid container. Each item is placed in one or more grid cells.

Defined in: CSS Grid
Grid line

A dividing line between tracks, numbered from 1. Three column tracks sit between lines 1 to 4.

Defined in: CSS Grid
Ground

The 0 V reference point in a circuit, where currents return and from which voltages are measured.

Ground bounce

A brief jump in a chip's ground voltage when many outputs switch at once, caused by the inductance of the ground path.

Ground plane

A large area of copper, often a whole layer, connected to ground (0 V).

Ground rail (GND)

A wire held at 0 V, standing for logic 0, where currents return.

Defined in: The CMOS inverter
Ground station (gateway)

A site with big dishes that talks to the satellites and connects them to the internet over fibre.

Group

One of the eight 16-bit parts of an IPv6 address, written as up to four hex digits between colons.

A part of a pattern in round brackets. It can be repeated as one unit, and the text it matched can be read with group(n).

All the rows that share the same value in the GROUP BY columns, such as every latte order.

GROUP BY

Sorts the rows into groups, one per distinct value of the listed columns; each group becomes one output row.

GTP-U tunnel

The wrapper that carries a session's packets between gNB and UPF; a tunnel number (TEID) marks which session they belong to.

Guaranteed-invalid value

The value an undeclared custom property holds. var() with no fallback then makes its declaration act as unset.

H

Hadamard gate (H)

A quantum gate that turns |0⟩ into (|0⟩ + |1⟩)/√2 and |1⟩ into (|0⟩ - |1⟩)/√2. Applying it twice undoes it.

Half adder

An XOR gate and an AND gate that add two bits, giving a sum S = A XOR B and a carry C = A AND B.

Half-open connection

A TCP connection in the SYN-RECEIVED state: the server has sent its SYN-ACK and is waiting for the ACK.

A TCP connection that has received a SYN and sent a SYN-ACK but is still waiting for the final ACK.

Handover

Moving a phone's connection from one cell to the next while it is in use.

Switching a connection from one satellite to the next as they move across the sky.

Handshake

Opening messages that set up a connection before any data, like TCP's SYN, SYN-ACK, ACK. UDP has none.

The opening messages in which both sides agree on a version, cipher suite and keys, and the server proves its identity.

Defined in: How HTTPS works

The two messages in which the peers prove who they are and make fresh session keys.

Defined in: Defence: WireGuard
Happy Eyeballs

A rule (RFC 8305) for connecting to a dual-stack site: try IPv6 first, start IPv4 shortly after if IPv6 is slow, keep whichever connects first.

Hardware

The physical parts of a computer you can touch: the CPU, memory, screen, keyboard and so on.

Defined in: What software is
Hardware description language (HDL)

A language for describing circuits as text, such as Verilog (IEEE 1364, now part of SystemVerilog, IEEE 1800) or VHDL (IEEE 1076).

Hash

A number a switch computes by mixing header fields (MAC addresses, IP addresses, ports). The same fields always give the same hash, which picks the cable.

Defined in: Link aggregation

The 40-character name Git computes from a commit's contents (SHA-1 by default), such as 6ad1b38...; any change gives a different hash.

A one-way function: easy to compute from the input, practically impossible to turn back. The same input always gives the same hash.

A whole number that hash() works out from a value. Dicts and sets use it to decide where a key belongs, so they can find it without searching.

Hash code

A number computed from a value. A dictionary uses the key's hash code to pick the bucket where the pair is stored.

Defined in: Collections
Hash function

A function that turns a key into a whole number. The same key always gives the same number while the program runs.

Hash partitioning

Placing each record on a node chosen by a hash of its key, so the same key always lands on the same node.

Defined in: NoSQL databases
Hashable

A value whose hash never changes, so it can be a key. Strings, numbers and tuples of them are hashable; lists and dicts are not.

HAVING

Keeps or drops whole groups, after the aggregates are worked out, such as HAVING SUM(price) > 5.

Hazard

A situation where the next instruction cannot safely go on in the next tick, for example because it needs a result that is not ready yet.

Defined in: Pipelining

A situation where the next instruction cannot safely go on in the next clock cycle. The three kinds are data, control and structural hazards.

Defined in: Pipeline hazards
HEAD

Git's marker for where you are: normally it points at the branch you have switched to.

The part of the page that holds information about it (metadata), such as the title and character set. Not drawn on the page.

Header

Extra bytes a layer puts in front of the data, with the information that layer needs, such as addresses or port numbers.

Defined in: Packets and layers

A Name: value line after the first line, such as Host or Content-Type. An empty line ends the headers.

A file (often .h or .hpp) of declarations that other files #include, so they can use what it declares.

Headers

Lines at the top of the message such as From:, To:, Subject: and Date:, shown to people.

Heading

A title for the page or a section of it, written with h1 to h6. h1 is the page title; each lower level is a part of the one above.

Headroom

Spare capacity kept on purpose so utilisation stays well below 1, which keeps queues and delay short.

Heap

A large area of memory for objects that are made on request and may outlive the call that made them.

The area of memory that holds objects a program creates while it runs, such as lists and dictionaries.

Defined in: Garbage collection

The memory you take with new and give back with delete; its objects live until you delete them (dynamic storage).

Memory for objects, managed by .NET. The garbage collector frees objects that nothing refers to any more.

Heap (free store)

Memory you ask for while the program runs with new, and give back with delete. It lasts until you free it.

Hello

A small OSPF packet each router sends on every link, by default every 10 seconds, to find and keep its neighbours.

Hex colour

A colour written as # and three pairs of hexadecimal (base 16) digits, one pair per light, such as #ff6347.

Defined in: Colours and units
Hex digit

A digit in base 16: 0–9 then a–f. Each one stands for 4 bits.

Hexadecimal

Counting in base 16 with the digits 0-9 and A-F. Programmers write each byte as two hex digits: 65 is 41, 255 is FF.

Hexadecimal (hex)

Base 16, with digits 0 to 9 and A to F. Written with the prefix 0x in Python, as in 0xFF.

Hit and miss

A hit: the level asked has the data. A miss: it does not, so the request goes to the next, slower level.

A hit finds the line already in the cache; a miss has to fetch it from the next, slower level of memory.

Hold

Leaving both inputs inactive, so the latch keeps its last value.

Defined in: The SR latch
Hold time

How long D must stay steady after the clock edge.

Defined in: The D flip-flop

How long after a clock edge a flip-flop's input must stay steady, so a new value must not arrive too early.

Holding time

How long one call (or job, or session) keeps its line or server busy.

Hole

A bond that is one electron short. Electrons hopping into it make the hole move like a positive charge; p-type silicon carries current this way.

A place in the silicon where an electron is missing. It acts like a moving + charge.

Home folder

Your own folder on the disk, for example /home/alex. The shell writes it as ~ for short.

Defined in: The shell

Your own folder, usually /home/ . The shell writes it as ~ for short.

Defined in: The file system

Your own directory, usually /home/yourname. cd with nothing after it takes you there; ~ is short for it.

Defined in: Working with files
Hop

One link a packet crosses, from one device to the next.

Host

Any device that sends and receives data on a network: a phone, a laptop, a TV, a server.

Defined in: Your home network

The program JavaScript runs inside, such as a web browser or Node.js. It provides timers, queues and the event loop.

Defined in: The event loop
Host firewall

A firewall running on one machine itself, guarding it even from devices on the same network.

Host key

The server's own key pair. It signs the key exchange so you can tell you are talking to the real server.

Defined in: SSH and keys
Hot loop

A loop where the program spends a large share of its time; the place where speed-ups pay off.

Defined in: Writing fast C++
Hot spot

A shard that gets far more work than the others, for example because one key is very busy.

Defined in: Sharding
Hover

Resting the mouse on a name in an editor such as VS Code; it shows the type tsc inferred.

Defined in: Type inference
href

The attribute on an a element that holds the URL the link points to.

Defined in: Links and URLs
HTML

HyperText Markup Language: plain text with tags that describes the structure of a web page.

Defined in: What HTML is
HTTP

Hypertext Transfer Protocol: the request-and-response language browsers and web servers speak.

HTTP method

The verb of a request: GET reads, POST creates, PUT replaces, PATCH changes a part, DELETE removes.

Defined in: REST APIs
HTTP request

A message a browser sends to a server, such as GET /api/users/7, asking for a resource.

HTTP response

The server's reply: a status line (such as 200 OK), headers, and a body.

HTTP status 200

The web server's answer meaning OK: the page you asked for is there.

I

I/O

Input and output: how a computer swaps data with devices such as keyboards, screens, disks and network cards.

I/O-bound / CPU-bound

I/O-bound work mostly waits (network, disk); CPU-bound work mostly computes. Threads suit the first, processes the second.

i++

The increment operator: adds 1 to i.

Defined in: Loops
I2C

Inter-Integrated Circuit: two shared wires, SDA (data) and SCL (clock); each chip has a 7-bit address and answers with an ACK bit.

A two-wire bus (clock SCL, data SDA) where a controller addresses chips by a 7-bit address and every byte is acknowledged.

Defined in: Test and debug
ICMP

Internet Control Message Protocol: the small control and error messages of IP, such as Echo, Time Exceeded and Destination Unreachable.

ICMP echo

A tiny test message (echo request) that a host answers with an echo reply. ping sends it and times the reply.

id attribute

An HTML name for one element: id="top". It must be unique in the page.

Defined in: Selectors
ID selector

A hash and an id, such as #top. It matches the element whose id attribute is top.

Defined in: Selectors

A selector that starts with #, such as #intro. It matches the element whose id attribute is intro.

Idempotence

Doing an action twice has the same effect as doing it once, so a push can be safely repeated.

Defined in: Network automation
Idempotent

Sending a request twice has the same effect on the server as sending it once. GET, PUT and DELETE are; POST is not.

Defined in: REST APIs

Safe to repeat: doing it twice has the same effect as doing it once.

Defined in: Message queues
Identifier

The name of a variable. It may use letters, digits, _ and $, but cannot start with a digit or be a reserved word.

The technical word for a name: letters, digits and underscores, not starting with a digit.

Identity, id(), is

Which object something is. id() gives a number unique to the object while it lives; is checks whether two references are the same object.

IDS

Intrusion detection system: a sensor that inspects traffic, usually copies of it, and raises alerts. It cannot stop traffic.

IEEE 802.15.4

A low-power, short-range radio standard: at 2.4 GHz it sends 250 kb/s in frames of at most 127 bytes. Zigbee and Thread both use it.

IEnumerable

The interface for a sequence that hands out its items one at a time. Arrays and List implement it, so LINQ works on them.

Defined in: LINQ
if

Runs the indented block under it only when its condition is True.

Runs its indented block only when its condition is True.

if / else

A choice: if the condition is true, the first statement runs; otherwise the else statement runs. Exactly one of them runs.

if clause

An optional filter, such as if n > 2: only items whose test is True reach the expression.

Defined in: Comprehensions
iframe

Inline frame: an element that embeds a second, separate web page inside the current one.

Defined in: Iframes and embeds
IKEv2

Internet Key Exchange version 2 (RFC 7296): the handshake on UDP port 500 that agrees keys, checks identities and creates SAs.

IL (intermediate language)

Simple, CPU-independent instructions such as ldstr and call, stored in an assembly. Also called CIL.

IMAP

The protocol a mail app uses to read mail that stays on the server (port 993 with TLS).

Immediate

A number written right inside an instruction, such as the 2 in LDI r0, 2. In TINY-8 it is the 8-bit imm8 byte.

Defined in: Instruction sets

A number written right inside the instruction itself. In TINY-8 it is the second byte, such as the 1 in LDI r3, 1 or the address 32 in ST r2, [32].

Defined in: The control unit
Immutability

Never changing data once it is made; new values are built instead. A tuple is immutable in Python; a list is not, but you can choose not to change it.

Defined in: Functional style
Immutable

Cannot be changed after it is made. Python strings are immutable, so changes always build a new string.

Cannot be changed. Strings are immutable: methods and + always make new strings.

Implicit grid

Rows or columns the browser creates by itself when items do not fit the tracks you declared.

Defined in: CSS Grid
Implied tag

A start or end tag the file left out, which the parser adds by itself, such as html, head, body or a missing .

import

The statement that finds a module, runs it the first time, and makes its names usable as module.name.

A statement that links names exported by another module into this one, as in import { count, add } from "./counter.js".

Defined in: Modules

Brings an exported name from another module into this one.

A statement that finds a module, runs it the first time, and binds a name to it in your file.

include

The list of files or folders that belong to the project, such as ["src"].

Incremental build

A build that skips every step whose outputs are already newer than its inputs.

Indentation

The spaces at the start of a line. Python uses it to decide which lines are inside a block; four spaces per level is the usual style.

Spaces at the start of a line. Python uses them to group lines into blocks; a stray one is an IndentationError.

Index

The position number of an item. Counting starts at 0; negative indexes count back from the end (-1 is the last).

Defined in: Arrays and lists

The numbered place of a character, counting from 0. Negative indexes count from the end (-1 is the last).

A second, sorted structure over one or more columns, with a pointer from each entry to its row, so lookups do not need a full scan.

The number of an item's place in the array. The first item is at index 0, the next at 1, and so on.

Defined in: Arrays

The position of a character in a string, counting from 0. The last index is length minus 1.

The position of an item in an array, counted from 0. In [10, 20, 30], 10 is at index 0.

An item's position, counted from 0. fruits[0] is the first item; fruits[-1] is the last.

Defined in: Lists and tuples

An item's position in a list, counting from 0: nums[0] is the first item.

Defined in: Comprehensions

An element's position, counted from 0. Valid indexes run from 0 to size - 1.

The position of an element in an array, counted from 0. For N elements the valid indexes are 0 to N-1.

A separate structure that a DBMS keeps next to a table so it can find rows by a column's value without reading every row.

Defined in: Indexes in depth

A separate structure beside a table that lets the DBMS find rows by a column's value without reading every page.

Defined in: B-trees
Index scan

A plan that walks an index to the matching entries, then fetches only those rows from the table.

Defined in: Query plans
Indexed access type

T[K]: the type of property K inside type T, such as User["id"], which is number.

Inductor

A coil of wire that stores energy in a magnetic field and resists sudden changes in current.

Infinite loop

A loop whose condition never becomes false, so it never ends.

Defined in: Loops

A loop whose condition never becomes false, so it never stops. Usually a bug, often a forgotten update like n = n - 1.

Infrastructure as code

Describing servers, networks and other infrastructure in code files, so tools can create identical copies every time.

Defined in: What DevOps is
Inheritance

When an element has no value of its own for an inherited property, it copies its parent's value.

Defined in: Typography

An element taking a property's value from its parent when no rule sets its own. Custom properties are inherited.

Building a new class on an existing one: the new class can use everything the existing class defines and add or replace parts.

Defined in: Inheritance

Making a new class from an existing one: a Dog is an Animal plus more, so a Dog can be used wherever an Animal is expected.

Inheritance and overriding

A subclass, class Savings(BankAccount):, reuses its parent's methods; defining a method with the same name overrides the parent's version.

Init-only property

A property with an init accessor: it can be set in an object initializer or constructor, and never after the object is made.

Initial containing block

A rectangle the size of the viewport, anchored at the top of the page. It scrolls with the page.

Defined in: Positioning
initramfs

A compressed cpio archive the kernel unpacks into memory as a temporary root file system. Its /init program finds and mounts the real disk.

Defined in: How Linux boots
Injection

A mistake where user text is glued into a command (such as SQL) so the text can change what the command does.

Inline

In the path: every packet must pass through the device to reach its destination.

Inline box

A box that sits on a line next to its neighbours and is as wide as its content. width does not apply to it. span is inline by default.

Inline size

An element's size along the direction text runs. In horizontal text, such as English or Arabic, it is the width.

Defined in: Container queries
inline-block

A display value for a box that sits in a line like an inline box but takes a width and height like a block.

INNER JOIN

A join that keeps only the pairs of rows that match. Rows with no partner are left out.

Defined in: JOINs
Input

What you give a program while it runs. input() reads one line you type (from the standard input stream, sys.stdin).

Defined in: Input and output
Input validation

Checking that input has the shape you expect (a whole number, a short name) and rejecting the rest, ideally with an allow-list.

input()

A built-in function that writes a question, waits for you to type a line and press Enter, and returns that line as a string.

A built-in function that writes an optional prompt, waits for a line and returns it as a string, without the newline.

Defined in: Input and output
INSERT

The SQL command that adds new rows to a table: INSERT INTO table (columns) VALUES (values).

Insert mode

vim's typing mode, entered with i and left with Esc; vim shows -- INSERT -- while you are in it.

Insertion sort

A sort that grows a sorted part on the left, inserting each next item into its place by shifting bigger items right.

Defined in: Sorting
Instance (object)

One object made from a class, by calling the class like a function, such as Counter(5).

Defined in: Classes
Instance attribute

A value stored on one object, usually through self, as self.name = name. Each object has its own.

Defined in: Inheritance
Instantiation

The compiler writing a real function or class from a template, with the parameters filled in, such as larger from larger .

Instruction set

The fixed list of instructions one kind of CPU understands, each with its own number code. x86-64 and Arm are two real ones.

Instruction set (ISA)

The list of commands a CPU understands and the exact bit pattern that encodes each one. Programs for that CPU can only use those commands.

Defined in: Instruction sets
Insulator

A material whose electrons are all held tight, so almost no current flows. Glass is an example.

int

A whole number such as 5 or -12. Python ints can be as big as you like.

int / double

int holds whole numbers (usually 4 bytes); double holds numbers with a decimal point (usually 8 bytes, about 15 significant digits).

int and float

Whole numbers (30, -2) are int; numbers with a decimal point (2.5) are float.

int() and float()

Built-in functions that turn text such as '15' or '1.5' into a whole number or a decimal number.

Defined in: Input and output
Integrity

Data is not changed without anyone noticing. Usually kept with keyed check values (MACs) or signatures.

Inter-VLAN routing

Moving packets between VLANs through a router, because a switch keeps each VLAN's frames apart.

Defined in: VLANs and trunks
Interface

The set of methods code can call on an object, such as read(). Two objects with the same interface can be used the same way.

Defined in: Design patterns

The agreed calls one component offers to others, such as borrow(member, book). Callers rely on it, not on what is inside.

A named description of an object's shape: which properties it has and the type of each.

A named object shape, written with interface, as in interface Pet { name: string }.

A contract: a named list of members (methods, properties) a type promises to have, with no instance fields. A class can implement many.

One network connection of a machine, such as eth0 (a cable) or wlan0 (Wi-Fi). lo, the loopback, is the machine talking to itself.

Interface (contract)

A promise about what an object can do, such as having save(text) and load() methods. Any object that keeps it can be used.

Interface ID

The last 64 bits of an address. It names one device's connection on that network.

Interference

Amplitudes adding up or cancelling, which makes some results more likely and others impossible. Quantum algorithms are built on it.

Intermediate representation (IR)

The compiler's own simple in-between form of the program, such as three-address code: t1 = 2 * 3.

Defined in: Inside a compiler
Internal (private) name

A name that starts with an underscore, such as _clean. By convention, only the module itself uses it.

Internet gateway

The VPC's door to the internet; it maps public addresses to private ones for things in a public subnet.

Interpolated string

A string starting with $, in which each {name} is replaced by that variable's value.

A string starting with $ in which each {expression} is replaced by its value, such as $"{a} {b}".

Interpreter

A program that reads code and carries it out as it goes, without saving a machine-code file first.

A program that runs code directly, one instruction or statement at a time, instead of producing a machine-code file first.

The program, python, that reads your Python code and carries it out.

Interrupt

A signal from a device, on its own interrupt line, that makes the CPU pause its program between instructions and run a handler.

Interrupt handler

A short routine that serves one device; also called an interrupt service routine (ISR).

Intersection type

A type written with & that needs everything from both sides, as in Pet & { id: ID }.

Invalidation

Removing or updating a cached copy when the data behind it changes.

Defined in: Caching

When a container changes in a way that leaves old iterators pointing at nothing valid, for example a vector moving to a bigger block.

Inverter

A NOT gate: its output is the opposite of its input. In CMOS it takes one PMOS and one NMOS.

Defined in: The CMOS inverter

A gate whose output is the opposite of its input. A CMOS inverter uses two transistors.

Defined in: SRAM
Invocation list

The ordered list of methods a (multicast) delegate calls when it is invoked.

Defined in: Events
Ion

An atom with an electric charge because it has lost or gained electrons. A lithium ion (Li+) has lost one electron.

Defined in: How batteries work
IoT device

An Internet of Things device: a constrained computer with very little memory, power and processing, often on a battery. RFC 7228 groups them into classes; a Class 1 device has about 10 KiB of RAM.

IP address

A number that names a device's connection to a network, so messages can be sent to it.

Defined in: IPv4 addresses

The address a computer uses at the network layer, like 192.168.1.30. It says where a packet should end up.

IPS

Intrusion prevention system: a sensor placed inline, in the traffic's path, that can drop packets and block sources.

IPsec

A family of standards (RFC 4301) that protects IP packets themselves: IKE for keys and ESP for encryption and integrity.

An older family of VPN standards that negotiates its algorithms with IKEv2 and protects packets with ESP.

Defined in: Defence: WireGuard
IPv4

Version 4 of the Internet Protocol. Its addresses are 32 bits long.

Defined in: IPv4 addresses
IPv6

Version 6 of the Internet Protocol. Its addresses are 128 bits long.

Internet Protocol version 6: 128-bit addresses written in hex groups, like 2001:db8:1::10. It exists because IPv4's 32-bit addresses ran out.

IPv6-only network

A network that gives devices only IPv6 addresses. Many mobile networks work this way.

isinstance() / issubclass()

Built-ins that check relationships: isinstance(rex, Animal) is True for a Dog; issubclass(Dog, Animal) is True.

Defined in: Inheritance
Isolation level

A setting that decides how much a transaction can see of other transactions running at the same time. Chosen per transaction, for example BEGIN ISOLATION LEVEL REPEATABLE READ.

Defined in: Isolation levels
ISP

Internet service provider: the company that connects your home to the rest of the internet.

Defined in: Your home network
Item

One value inside a list or tuple.

Defined in: Lists and tuples
Item (element)

One value stored in an array.

Defined in: Arrays
Iterable

Anything you can loop over with for, such as a list, a string, a dict or a file. iter() turns it into an iterator.

Iteration

One run through a loop's body, also called a pass.

Defined in: Loops

One pass through a loop's body. The countdown's loop makes three iterations.

Iterator

An object that hands out values one at a time: next() returns the next one, and raises StopIteration when there are none left.

An object that marks one position in a container. *it reads the element there; ++it moves to the next one.

Iterator category

What an iterator can do: step forward only, step both ways, or jump (random access). Each algorithm says which it needs.

Iterator invalidation

After a container changes, some pointers, references and iterators to its elements stop being valid. A vector's reallocation invalidates all of them.

J

Jackson network

A network of exponential-service queues with Poisson outside arrivals and random routing; each node then behaves like its own M/M/1 queue (Jackson, 1957).

JavaScript

A programming language the browser runs to make a page interactive.

Defined in: What HTML is

The programming language of the web. Browsers run it to make pages interactive; Node.js runs it outside the browser.

Defined in: What JavaScript is

The programming language that web browsers run. Node.js runs it outside the browser too.

Defined in: What TypeScript is
JavaScript engine

The part of a browser (or of Node.js) that runs JavaScript code, such as V8, SpiderMonkey or JavaScriptCore.

Defined in: What JavaScript is
JIT and garbage collector

The JIT (just-in-time compiler) turns a method's IL into machine code the first time it runs; the garbage collector frees heap objects that nothing uses any more.

JIT compiler

A just-in-time compiler: it compiles the often-run (hot) parts of a program to machine code while the program runs.

Jitter

Variation in delay from one packet to the next. Voice and video need it small, or sound and pictures stutter.

Uneven gaps between packet arrivals, although they were sent evenly.

Defined in: Voice over IP
JOIN

Part of a query that pairs rows of two tables wherever a condition holds, such as orders.user_id = users.id.

Defined in: Databases and SQL

A part of a query that combines rows of two tables into one row whenever they meet the ON rule. Short for INNER JOIN.

Defined in: JOINs
join()

A std::thread member function that waits until that thread has finished.

Joined inputs

Connecting one signal to every input of a gate; for NAND or NOR this turns the gate into a NOT.

Joule (J) and watt (W)

The joule is the unit of energy. The watt is the unit of power, energy used each second: 1 W = 1 J/s. In a simple circuit, power = voltage × current.

Journal

The system log kept by systemd-journald. Services' output goes there; journalctl reads it.

journald's binary log files, in /var/log/journal (kept across reboots) or /run/log/journal (in memory).

Defined in: Logs

systemd's log. A service's output is stored there; read it with journalctl -u .

journalctl

The command that reads and filters the journal, for example journalctl -u hello or journalctl -p err.

Defined in: Logs
JSON

JavaScript Object Notation: data written as plain text, such as {"orders":[["tea",2]]}, that any language can read.

Defined in: How web apps work

A plain-text format for data: objects in { }, lists in [ ], text in double quotes, plus numbers, true, false and null.

Defined in: REST APIs

JavaScript Object Notation: a text format for data, with strict rules, that almost every programming language can read and write.

Defined in: JSON

JavaScript Object Notation: a text format for data, such as {"id":7,"name":"Ada"}. res.json() parses it into an object.

A text format for data. JSON.stringify turns an object into text you can store; JSON.parse turns the text back into an object.

A text format for data, such as {"name":"Ada","age":36}. JSON.parse turns the text into a JavaScript value.

A text format for data, such as {"id":1,"title":"Buy milk"}; System.Text.Json converts it to and from C# objects.

JavaScript Object Notation: text made of {objects}, [lists], strings, numbers, true, false and null.

Defined in: NoSQL databases
JSON Web Token (JWT)

A signed token that carries claims such as the user and an expiry time; the server checks the signature instead of a table.

JSON.parse()

Reads a JSON string and builds a new value from it. It throws a SyntaxError if the text breaks JSON's rules.

Defined in: JSON
JSON.stringify()

Turns a value, such as an object, into a JSON string.

Defined in: JSON
jsonb

PostgreSQL's binary JSON column type; it supports containment (@>) and GIN indexes.

Defined in: NoSQL databases
JTAG / SWD

Debug ports: JTAG (IEEE 1149.1) uses TCK, TMS, TDI and TDO; Arm's SWD uses two wires, SWDIO and SWCLK, which often share pins with TMS and TCK.

Defined in: Test and debug
Junction

A point where three or more wires meet, so the current can split or join.

Junction table

A table made from a many-to-many relationship. Each row pairs one key from each side, such as loan(member_id, book_id, loaned_on).

K

Kaminsky technique

A 2008 method (CVE-2008-1447) of forcing fresh races with made-up names; it led to source-port randomisation across DNS software.

Kanban board

A board with one column per stage of work (for example To do, Doing, Review, Done) and one card per task.

Defined in: Working in a team
Karnaugh map (K-map)

A truth table drawn as a grid whose neighbouring cells differ in one input, so mergeable 1s sit next to each other.

Keep-alive and last will

The client promises to send something (a ping if needed) within the keep-alive time; if it goes silent for 1.5 times that, the broker publishes its last will message.

Kendall notation

A short name A/S/c for a queue: arrival pattern / service pattern / number of servers, for example M/M/1 or M/D/2.

Kernel

The core of the OS. It runs in kernel mode, with full control of the hardware, and sits between the apps and the hardware.

The core of an operating system, which manages the hardware and runs processes. Containers on one machine share it.

The core program of an operating system. It starts programs and is the only one allowed to drive the hardware: CPU, memory and disks.

Defined in: What Linux is
Kernel command line

A line of settings the boot loader hands the kernel, for example root=/dev/sda2 ro. On a running system it is in /proc/cmdline.

Defined in: How Linux boots
Kestrel

The web server built into ASP.NET Core. It listens on a port and turns bytes into HTTP requests.

Key

The name of a property. Keys are strings (or Symbols); quotes are optional when the key is a simple name.

Defined in: Objects

The name you look a value up by. Each key appears once in a dict and must be hashable (for example a str, int or tuple).

A column, or set of columns, whose values pick out exactly one row, such as (ord, item) in the 1NF table.

Defined in: Normalisation

An attribute (or set of attributes) that picks out exactly one thing. It becomes the table's PRIMARY KEY.

Key and value

In ages["ann"] = 31, "ann" is the key you look things up by and 31 is the value stored with it.

Key exchange

The start of every SSH connection: both sides build the same secret from one-time public halves, and derive the keys that encrypt the session.

Defined in: SSH and keys
Key pair

Two matching keys made together: a private key you keep secret, and a public key you may share. A signature made with the private key can be checked with the public key.

Defined in: SSH and keys
Key-value pair

A name (the key, such as "visits") and the value saved under it (such as "1"). In web storage both are strings.

Key-value store

A store that keeps a value under a key and offers get and put by key; it treats the value as opaque bytes.

Defined in: NoSQL databases
KeyError

The error Python raises when you ask a dict for a key it does not have, such as ages["Zed"].

Keyframe

One waypoint in an animation: a point in time, as a percentage, and the styles at that point.

keyof

An operator that gives the union of a type's key names: keyof User is "id" | "name" | "email".

Defined in: Utility types

A type operator that gives the key names of an object type as a union, such as "id" | "name".

Keyword

A word Python reserves for its own grammar, such as if, for and while. It cannot be used as a name.

Keyword argument

An argument given with a name, such as size="L". It goes to the parameter with that name.

Kirchhoff's current law

The current flowing into a junction equals the current flowing out of it.

Kirchhoff's voltage law

Round any closed loop, the voltage gained (from the battery) equals the voltage used (by the parts).

known_hosts

A file on your laptop, ~/.ssh/known_hosts, that remembers the host key of every server you have accepted.

Defined in: SSH and keys

L

L and W

L is the average number of packets in the system (waiting plus being sent); W is the average time each spends there. For M/M/1, L = ρ/(1−ρ) and W = 1/(μ−λ).

Label

The element: the visible name of a control. Its for attribute matches the control's id, so clicking it focuses the control and screen readers read it out.

Defined in: Forms

The right answer attached to an example, such as spam or not spam. People usually add labels by hand.

LACP

Link Aggregation Control Protocol. Switches send LACP messages on every member link to agree which links belong in the bundle and to notice when one fails.

Defined in: Link aggregation
LAG

Link aggregation group: the bundle of member links that acts as one link. Also called a port channel, EtherChannel, bond or team.

Defined in: Link aggregation
lambda

A small function written inline with one expression and no name, such as lambda y: y > 4.

Defined in: Functional style

A short unnamed function written with =>, such as s => s >= 60: the input on the left, the result on the right.

Defined in: LINQ
Lambda expression

An expression such as [limit](int x) { return x > limit; } that writes an unnamed function object in place.

A method written in place with no name, such as x => x > limit. It converts to a delegate type.

LAN

Local area network: devices close together, such as in one home or office.

Defined in: What a network is

Local area network: the devices in one home, office or building, on equipment the owner runs, joined by Ethernet or Wi-Fi.

Landmark

A role that marks a large region of the page (banner, navigation, main, complementary, contentinfo and a few others). Screen readers can list them and jump between them.

Defined in: Semantic elements
Large object heap (LOH)

Where objects of 85,000 bytes or more are allocated. It is collected together with generation 2.

Last mile

The access link between a home and its ISP: a phone line, coax, fibre or radio.

Latch

A small circuit that stores one bit and keeps it until it is told to change.

Defined in: The SR latch
Latency

How long it takes data to get from one end to the other. Mostly set by distance.

Defined in: Bits on the wire

How long data takes to get from one place to another; here mostly the time radio waves need to cover the distance.

How long one instruction takes from start to finish. Pipelining does not shorten it.

Defined in: Pipelining
Layer

One part of the networking job, done by its own piece of software or hardware. Each layer serves the one above and uses the one below.

Defined in: Packets and layers

A painted picture of part of the page, kept off screen so the compositor can move or fade it without painting again.

Layout

The stage that works out each box's size and position on the page. Running it again is often called reflow.

Layout box

The box layout gives an element in the flow. offsetWidth and offsetHeight report its size, and a transform does not change it.

Defined in: Transforms
Lazy evaluation

Making each value only when it is asked for, instead of building all of them up front.

Lead time for changes

How long a change takes to go from committed to version control to running in production.

Defined in: What DevOps is
Leaf

The switch at the top of a rack that its servers plug into, also called a top-of-rack (ToR) switch. In a leaf-spine fabric every leaf connects to every spine.

A node with no children.

Defined in: Trees
Leaf page

A bottom page of a B-tree. Each entry holds a key and a pointer to a table row.

Defined in: Indexes in depth

A bottom page of a B-tree: every key with the TID of its row, linked to the leaf pages beside it.

Defined in: B-trees
Leakage current

The tiny current a transistor still lets through when it is off.

Defined in: The CMOS inverter
Learning rate

How big each gradient-descent step is. Too small is slow; too big can overshoot the lowest point.

Lease

The time a device may keep a DHCP address before it must renew it, for example 24 hours.

Least privilege

Giving each program, account or person only the access their job needs, so mistakes and breaches do less harm.

LED

Light-emitting diode: a small lamp that conducts in one direction and needs a resistor to limit its current.

Defined in: Ohm's law
LEFT JOIN

A join that keeps every row of the left table; when a row has no partner, the right table's columns are NULL.

Defined in: JOINs
LEGB

The order Python searches for a name: Local, Enclosing functions, Global (the module), Built-in.

Defined in: Scope
len()

A built-in function that gives the number of items, such as len(["a", "b"]) == 2.

Defined in: Lists and tuples
length

How many items an array holds. It is always one more than the last index.

Defined in: Arrays

How many characters (strictly, UTF-16 code units) a string has. "Ada".length is 3.

let

Makes a variable whose value can be replaced later.

let and const

Two ways to make a variable. A let can be given a new value later; a const cannot.

Defined in: Type inference
Level-sensitive

Reacting for the whole time a signal is at a level (for example, while enable is 1), not at one instant.

Defined in: The D flip-flop
Lexer

The first stage of a compiler: it reads characters and groups them into tokens, such as names, numbers and operators.

Defined in: Inside a compiler
Lexical scope

A function's outer scope is decided by where it is written in the code, not by where it is called.

Defined in: Scope and closures
Licensed band

A band rented to one owner, such as a mobile operator. Nobody else may transmit there.

Lifetime

The time from when an object is fully created (its constructor has finished) until its destruction starts.

LIMIT

The clause that keeps only the first n rows of the result. It runs last, after ORDER BY.

Line pointer

A 4-byte entry after the header that gives one row's offset and length in the page. Line pointers are numbered from 1.

Defined in: Storage and pages
line-height

How tall each line of text is. A plain number such as 1.5 means 1.5 × the element's own font size.

Defined in: Typography
Linear regulator (LDO)

A regulator that drops the extra voltage across a transistor and turns it into heat. Simple and quiet, but wasteful for big drops. LDO means low-dropout.

Linear search

Checking the items of a list one at a time, from the front, until the target is found or the list ends. O(n).

Linear, O(n)

The steps grow at the same rate as n, as in checking every item once.

Link

A path between two nodes: a cable, or radio waves such as Wi-Fi.

Defined in: What a network is
Link (hyperlink)

Something you click to go to another page or place. In HTML it is an a element with an href.

Defined in: Links and URLs
Link aggregation

Combining several physical links between two devices into one logical link, for more total bandwidth and for redundancy. Standardised in IEEE 802.1AX.

Defined in: Link aggregation
Link-local address

An fe80:: address every IPv6 interface gives itself. It only works on the local link.

An IPv6 address starting with fe80:: that only works on the local link. Routers send Neighbor Discovery messages from theirs.

Defined in: Neighbor Discovery
Linker

The tool that joins object files and library code into one executable file.

The tool that joins object files and libraries, matching every needed name with its definition, and writes the executable.

LINQ

Language-Integrated Query: a set of methods in System.Linq, such as Where, Select and ToList, that query any sequence.

Defined in: LINQ
Linter

A tool that reads code without running it and flags likely mistakes, such as a name that is never defined.

Linux

A kernel, written from scratch by Linus Torvalds with help from people across the internet, and published as open source.

Defined in: What Linux is
List

Python's built-in way to keep several values in order, written with square brackets: [7, 3, 9, 5].

Defined in: Arrays and lists

Several values in order, inside square brackets, such as [1, 2, 3].

Defined in: Loops

An ordered collection of values in square brackets, such as ["apple", "fig"]. It can change after it is made.

Defined in: Lists and tuples

An ordered collection you read by index (0, 1, 2 ...). It stores its values in an array and grows by itself.

Defined in: Collections
List comprehension

Python's short form for building a list from another, such as [x * 2 for x in xs if x > 1].

Defined in: Functional style

A short way to build a new list from another: [expression for name in list if test], inside square brackets.

Defined in: Comprehensions
List item (li)

One item inside a ul or ol. The lists may hold only li elements.

Listener

A function registered with addEventListener that the browser calls when a matching event reaches the element.

Defined in: Events
Listening

A program waiting for new connections on one port, like the web server on 443.

Defined in: Ports and sockets
Literal type

A type that is exactly one value, such as "kg". A const with a simple value gets one.

Defined in: Type inference

A type that is one exact value, such as "left" or 42. Only that value fits it.

A type with exactly one value, such as "id" (only that exact text) or 42.

Little's law

L = λW: the average number in a system equals the arrival rate times the average time spent there. It holds for almost any stable queue.

Average number waiting = arrival rate × average wait (L = λW). It holds for any stable queue.

Average number in a system = arrival rate × average time each spends there (L = λT). It holds for almost any queue.

Live binding

An import that always shows the exporting module's current value, because it is a link to that module's binding, not a copy.

Defined in: Modules
Live collection

A list such as element.children that always reflects the tree as it is right now.

Load (enable)

A control signal: 1 means the register takes new data at the next clock edge, 0 means it keeps its value.

Defined in: Registers
Load balancer

A service that spreads incoming requests over several servers and uses health checks to skip ones that fail.

A single public address that passes each incoming request to one of several servers, and skips servers that fail their health check.

Defined in: Scaling out

A server that spreads incoming requests over several identical app servers.

Defined in: System design
Local name

A name assigned inside a function, including its parameters. It exists only while that call runs.

Defined in: Scope
Local preference

A number a network gives its own routes to rank them by policy. Higher wins, and it is checked before path length.

Local variable

A name that exists only inside one call of a function, such as w and h. It is gone when the call returns.

A variable that exists only inside one call of a function, such as price, count or cost.

Defined in: Functions

A name made inside a function, such as total. It lives in the call's frame and is gone when the call returns.

Defined in: Functions

A variable declared inside a function or block. Its name works only inside that block, and it lives until the block ends.

localStorage

The web store that is kept after reloads and browser restarts, until it is cleared. One store per origin.

Lock (mutex)

Short for mutual exclusion: only the thread holding it may go on; others that ask for it wait until it is released.

threading.Lock: only one thread at a time may run the code inside with lock:, so shared data stays consistent.

Lock file

A file listing the exact version of every installed package, so an install can be repeated exactly.

Log

A record a program keeps while it runs: one line per event, each with a time.

Defined in: Logs
Logarithmic, O(log n)

The steps grow by one each time n doubles, as in binary search: about 20 steps for a million items.

Logic analyser

An instrument that records many digital lines at once as 0s and 1s and can decode bus protocols such as I2C and SPI.

Defined in: Test and debug
Logic error

The program runs without an error but does the wrong thing, such as giving 3.0 instead of 4.0.

Logic gate

A small circuit that takes one or more input bits and gives one output bit by a fixed rule.

Defined in: Logic gates
Logical AND (&&)

Gives true only when both sides are true (strictly, it returns one of its operands).

Logical topology

The path data really takes, which can differ from the cabling: a hub wired as a star behaves like a bus.

Logs, metrics, traces

The three signals of observability: timestamped event records, numbers measured over time, and the path of one request through every service.

Longest prefix match

When several rows match a destination, the router uses the one with the longest prefix, because it is the most specific.

Longest-prefix match

The rule every router uses: of all routes that contain the destination, use the one with the longest prefix.

Lookup table (LUT)

A small memory whose inputs pick one stored bit; with the right bits it can be any logic function of its inputs.

Defined in: FPGAs
Loop

A circle of links between switches. It gives a spare path, but frames can travel round it again and again.

Defined in: Spanning Tree

A part of a program that runs the same lines again and again.

Code that runs the same lines again and again, as long as a condition is true.

Defined in: Loops

Code that runs the same lines again and again, so a job is written once and repeated.

Defined in: Loops
Loop body

The indented lines under the loop's header line. They run once per pass.

The statements inside a loop's { }, run once on every pass.

Loop variable

The name after for (n in for n in ...). It takes the next item on every pass.

The name after for (n in for n in ...). Before each pass it is given the next item.

Defined in: Loops
Loopback

127.0.0.0/8, usually 127.0.0.1 (localhost): an address that always means this device.

Defined in: IPv4 addresses
Loose equality (==)

Compares two values after converting them to the same type when their types differ.

LoRa / LoRaWAN

A long-range, very-low-rate radio on sub-GHz bands (868 MHz in Europe, 915 MHz in the US); LoRaWAN is the network built on it, with devices talking straight to gateways. Its signal is a chirp, a tone sliding up in pitch; the spreading factor (SF7 to SF12) sets how stretched each chirp is: higher is slower but reaches further.

Loss

One number for how wrong the model is. Mean squared error squares every error and averages them.

Loss system (M/M/c/c)

Random arrivals, random holding times, c servers and room for only c customers: nobody ever waits, extra arrivals are lost.

Low Earth orbit (LEO)

Orbits a few hundred to about 2,000 km up. Starlink's satellites fly at about 550 km and lap Earth in about an hour and a half.

LRU

Least recently used: when a set is full, evict the line that has gone unused the longest.

LRU (least recently used)

An eviction rule: when the cache is full, drop the copy that was used longest ago.

Defined in: Caching
LSA

Link-state advertisement: one router's description of its own links and their costs, one piece of the shared map.

LSDB

Link-state database: all the LSAs a router holds. After flooding it is identical on every router in the area.

LSN and page LSN

Log sequence number: the position of a record in the WAL (a byte offset that only grows). Each page's header stores the LSN of the last record that changed it; the page may not reach disk before the WAL does.

M

M, D and G

Letters used in Kendall notation: M = memoryless (random, Poisson arrivals or exponential service), D = deterministic (fixed), G = general (any pattern).

M/M/1

Kendall notation for a queue with Poisson (memoryless) arrivals, exponentially distributed service times and one server, with one first-in, first-out line of unlimited length.

M/M/1 queue

A queue with Poisson arrivals, exponential service times and one server. Mean time in the system is 1 / (μ − λ).

M/M/c

Kendall's notation for a queue with random (Poisson) arrivals, random (exponential) service times and c servers sharing one first-in, first-out line.

MAC address

A 48-bit hardware address, written as six hex pairs like 00:00:5e:00:53:01, used to deliver frames on a local network.

A 6-byte hardware address of a network interface, written like 00:00:5e:00:53:01. Switches use it to find devices on the local network.

The hardware address of a network card, six bytes written like 00:00:5e:00:53:30. Ethernet delivers frames by MAC address.

The hardware address of a network card, like 00:00:5e:00:53:0a. Ethernet frames are addressed by MAC, one link at a time.

MAC address table

The switch's list of which MAC address was last seen on which port. Also called the filtering database or CAM table.

MAC flapping

A switch's table entry for one MAC address jumping between ports, because copies of its frames arrive from both directions.

Defined in: Spanning Tree
MAC table (CAM table)

The switch's list of which MAC address was last seen on which port. It has fixed room; frames for MACs not in it are flooded out of every other port.

mac1

A check field in each handshake message, computed with the receiver's public key, so strangers' packets can be dropped at once.

Defined in: Defence: WireGuard
Machine code

A program written as the numbers a CPU understands directly. Every program ends up as machine code before it runs.

Instructions stored as numbers (bytes) for one family of CPUs. It is the only thing a CPU can run.

Numbered instructions a CPU runs directly. Each chip family (arm64, x86-64) has its own.

The bytes a CPU fetches from memory and decodes: the only form of a program the CPU can run.

Defined in: Instruction sets
Machine learning

Building programs that improve at a task by learning from examples, instead of following rules a person wrote.

Machine learning (ML)

One way to do AI: a program finds patterns in examples instead of following rules a person wrote.

Magic number

A bare value in code, like 1.2 or 100, with no name to say what it means.

Defined in: Clean code
main

The function where every C++ program starts. Its return value tells the system how the program ended; 0 means success.

Main axis

The direction flex items are laid out in. With flex-direction: row (the default) it runs left to right.

Defined in: Flexbox
Main thread

The single worker where the browser parses HTML and runs a page's JavaScript, one job at a time.

The thread every Python process starts with; threading.Thread adds more.

The thread every program starts with. It runs main().

malloc and free

C's functions to take a block of heap memory and to hand it back. The programmer must call free; forgetting it leaks memory.

Malware

Software that works for an attacker, for example to spread to other computers or steal data.

MAN

Metropolitan area network: a network across a city, such as a provider's fibre ring, tens of kilometres wide.

Managed heap

The memory the CLR owns for objects created with new. You never free it yourself; the garbage collector does.

Manager / agent

The manager is the monitoring software that asks; the agent is the small program on each device that answers.

Manifest

A small text file listing the rungs and where their segments are: an HLS playlist (.m3u8) or a DASH MPD.

map, filter, reduce

map applies a function to every value; filter keeps the values that pass a test; reduce combines all the values into one.

Defined in: Functional style
Mapped type

A type built by going over keys, { [P in keyof T]: ... }, to make one field per key.

Defined in: Utility types

A type like { [K in keyof T]: ... } that makes one property for each key of another type.

Margin

Transparent space outside the border that keeps other boxes away.

Defined in: The box model
Mark-and-sweep

A tracing collector: mark every object reachable from the roots, then free every object left unmarked.

Defined in: Garbage collection
Mark, compact, promote

A collection marks every reachable object, reclaims the rest, may slide survivors together (updating references), and moves survivors up one generation.

Mask ROM

Read-only memory whose bits are fixed when the chip is made, by building or leaving out a transistor at each spot.

Match

An element matches a selector when it fits the pattern; only matching elements get the rule's declarations.

Defined in: Selectors
Math.Clamp

A .NET method that returns a value kept between a minimum and a maximum.

Defined in: Properties
matrix(a, b, c, d, e, f)

One 2D transform written as six numbers: x' = a·x + c·y + e and y' = b·x + d·y + f. Every 2D transform list reduces to one.

Defined in: Transforms
Matter

A shared smart-home application standard that runs over IPv6 on Thread, Wi-Fi and Ethernet.

max-age

A Cache-Control value: how many seconds a stored copy stays fresh (RFC 9111).

Defined in: CDNs and anycast
Mb/s, Gb/s

Megabits and gigabits per second: how many million or billion bits a link moves each second.

Measurement

Reading a qubit. It gives one plain 0 or 1 at random and leaves the qubit in that state.

Media

Pictures, sounds and videos on a page. Each is its own file, separate from the HTML.

Media query

A condition about the device, such as (min-width: 700px). The rules inside @media apply only while it is true.

@media (...) { ... }: rules that apply when a test about the viewport or device is true.

Defined in: Container queries
Member

One of the types inside a union. string and number are the members of string | number.

Member function

A function declared inside a class that works on one object's data, called as object.function(), for example t.add(3).

A function declared inside a class. It is called on an object, which it can reach as *this.

Member initializer list

The part of a constructor after the colon, such as : id(c). It initializes the members before the constructor's body runs.

Member link

One of the physical cables inside a LAG. Usually all members run at the same speed in full duplex.

Defined in: Link aggregation
Membership test (in)

x in s gives True or False. On a dict it checks the keys; on a set, the members.

Memoization

Top-down: keep the recursive code, but store each result the first time and return the stored one on repeat calls. In Python, functools.cache does this.

Memory

Where the computer keeps the program it is running and the values it is working on, such as a = 2.

Defined in: What software is

A span's heap-friendly cousin: it can be stored in fields and kept across await, and gives a Span when you need one.

Memory (RAM)

A long row of numbered boxes that holds the programs and values the computer is using right now. It forgets everything when the power goes off.

Memory bandwidth

How many bytes a chip can move to or from its memory each second, for example 1,008 GB/s on an RTX 4090.

Memory hierarchy

The stack of memories in a computer, from small, fast and costly (registers, caches) to big, slow and cheap (RAM, SSD, hard disk).

Memory leak

Memory that a program no longer needs but never gives back, so it stays used until the program ends.

Defined in: Garbage collection

Heap memory that was never freed and can no longer be reached, because no pointer to it remains.

Memory that was taken and never given back, usually because nothing points at it any more.

Memory-mapped I/O

Giving a device's registers memory addresses, so ordinary load and store instructions reach the device.

memory.max

A cgroup file holding the hard memory limit in bytes; max means no limit.

Memoryless

The time still to wait does not depend on how long you have already waited. Among continuous distributions only the exponential has this property.

Merge

Combining two sorted runs into one by repeatedly taking the smaller of their two front items.

Defined in: Sorting
Merge commit

A commit with two parents that joins two lines of work that had split.

Merge conflict

When both sides changed the same lines, Git stops and marks the clash in the file for you to resolve.

Merge sort

A divide-and-conquer sort: split the list in halves until each piece has one item, then merge sorted pieces back together.

Defined in: Sorting
Mesh

Devices link to many others (full mesh: every pair), so data can route around a broken link.

Mesh network

A network where devices pass messages on for each other, so many short hops can cover a whole building and there is more than one path.

MESI

Four states a cached line can be in: Modified (only copy, changed), Exclusive (only copy, unchanged), Shared (several unchanged copies) and Invalid (do not use).

Message queue

A store that holds messages in order until a consumer takes them, so producers and consumers never call each other directly.

Defined in: Message queues
Meta description

: a short summary that search engines may show under a result's headline.

Metadata

Information about the page rather than content on it, such as its title or character encoding.

Data about the page rather than content on it, such as its title, its character encoding or a summary. It lives in the .

Method

The verb of a request. GET asks for something; POST sends data, such as a form.

An action a value can do, written value.name(), such as word.upper() or text.split(",").

A function that belongs to a value, called with a dot, such as fruits.push("plum").

Defined in: Arrays

A function that belongs to a value, called with a dot, such as name.toUpperCase().

A function defined in a class, called on an object, like ada.deposit(50).

A function defined inside a class. Called on an object, it receives that object as its first argument.

Defined in: Classes

A named action you can call, such as Console.WriteLine. You call it with brackets and pass it values inside them.

A named block of code that does one job. You define it once and run it by calling its name.

Defined in: Methods
Method and self

A function defined in a class. Calling a.deposit(50) runs it with self set to the object a.

Method call

Calling a function through an object, as in cat.hi(). The object before the dot becomes this.

Defined in: How this works
Method resolution order (MRO)

The order in which Python searches classes for an attribute; Dog.__mro__ lists it, ending with object.

Defined in: Inheritance
Microcode

Control words kept in a small memory, the control store, looked up by the opcode (and flags such as Z); each machine instruction runs as one or more of these words, stepped by a micro-PC.

Defined in: The control unit
Microcontroller

A small computer on one chip: a CPU core, program memory, working memory and peripherals such as timers, pins and an ADC.

A small computer on one chip: processor, memory and input/output pins, used to control devices.

Microtask

A smaller job, such as a promise callback, that runs as soon as the stack is empty and before the next task.

Defined in: The event loop
Microtask queue

The queue where promise callbacks wait. The event loop empties it after every task, before the next task runs.

Where promise jobs wait, such as resuming an await or running a .then callback. They run as soon as the call stack is empty.

Defined in: async and await
Milliamp (mA)

A thousandth of an amp: 20 mA = 0.02 A.

Defined in: Ohm's law
min-width

A media feature meaning at least this wide: (min-width: 700px) is true at 700px and above.

MMU

Memory management unit: the part of the processor that translates every virtual address into a physical address.

Defined in: Virtual memory
mmWave

5G radio bands above 24 GHz: very wide, fast channels with a short range.

Mobile first

Writing the small-screen layout as the base rules, then adding wider layouts with min-width media queries.

Mock

A stand-in object that replaces a slow or outside part, such as a web service, and gives a fixed answer in a test.

Defined in: Unit testing
Mode

The second argument to open(): "r" read (the default), "w" write (create or empty first), "a" append, "x" create new only; add "b" for bytes.

Defined in: Working with files

A file's type and its nine permission bits, shown by ls -l as ten characters such as -rw-r-----.

Model

What training produces and keeps: the learned patterns (here, one score per word), not the examples themselves.

Model and weight

A model turns features into a prediction. Its weights are the numbers it can adjust while learning, such as w in bill = w × cups.

Modem / ONT

The box that turns the router's Ethernet into the provider's line signal; on fibre it is called an optical network terminal.

Defined in: Your home network
Modulation

Changing a wave's amplitude (height) or phase (timing) so that it carries bits.

Changing a steady carrier wave (its height, frequency or phase) so that it carries information.

Module

One Python file (.py) of definitions with one clear job. Its name is the file name without .py.

Verilog's building block: a named box with ports; bigger designs plug modules together.

One JavaScript file with its own top-level scope. It shares names only through export.

Defined in: Modules

A file of JavaScript that can import code from other modules and export its own. A .mjs file is a module; node:fs is a module built into Node.js.

Defined in: Node.js

A file with a top-level import or export. Its names are private unless it exports them.

A file of Python code, such as greet.py. Its name is the file name without .py.

Module resolution

How tsc finds the file an import path refers to, for example math.d.ts behind "./math.js".

Module script

A script with type="module". It can use import and export, and is deferred by default.

ModuleNotFoundError

The ImportError that import raises when no module with that name is found on sys.path.

Modulo (%)

The remainder after a division: 7 % 3 = 1. A simple rule to turn a key into a shard number.

Defined in: Sharding
Monitoring

Watching a live service with graphs and alerts. Google's SRE book names four golden signals: latency, traffic, errors and saturation.

Defined in: What DevOps is
Moore and Mealy

Moore machine: outputs depend only on the state. Mealy machine: outputs depend on the state and the inputs.

Defined in: State machines
More specific prefix

A smaller block inside a bigger one, with a longer length: 203.0.113.0/25 is more specific than 203.0.113.0/24.

MOSFET

Metal-oxide-semiconductor field-effect transistor: the kind of transistor that modern chips are built from.

Mount

Attaching a filesystem to a folder of the directory tree, so the files on it appear under that folder.

Mount point

The folder a filesystem is mounted on, such as /mnt/data. Its own contents are hidden while something is mounted there.

Move constructor

The constructor that makes a new object by taking over another object's resources, written T(T&&). It leaves the source valid but usually empty.

Defined in: Copy and move
Moved-from object

An object whose resources were taken by a move. It must still be safe to destroy or assign to; standard library objects are left valid but unspecified.

Defined in: Copy and move
MQTT and broker

MQTT (OASIS MQTT 5.0) is a lightweight publish/subscribe protocol over TCP, on port 1883, or 8883 with TLS. Every client talks only to the broker, the server in the middle that forwards a copy of each message to every matching subscription.

MSBuild

The .NET build engine. dotnet build, dotnet restore and dotnet pack all run MSBuild targets.

Multi-factor authentication

Logging in with two kinds of proof, such as a password (something you know) and a phone or security key (something you have).

Multi-factor authentication (MFA)

Signing in with a second proof as well as the password, such as a code, an app tap or a security key. A stolen password alone is then not enough to sign in.

Multicast

Sending to a group of listeners, such as ff02::1 (all nodes) or ff02::2 (all routers). IPv6 uses it instead of broadcast.

Sending one message to a group address that only devices that joined the group accept, unlike a broadcast that everyone receives.

Defined in: Neighbor Discovery
Multicast delegate

One delegate object whose invocation list holds more than one method; += combines delegates into one.

Defined in: Events
Multimeter

A meter that measures voltage, current or resistance between its two probes.

Defined in: Test and debug
Multimode fibre

Fibre with a wider core that lets light take many paths; cheaper 850 nm optics, but runs of a few hundred metres.

Multiplexer (mux)

A circuit that passes one of several inputs to its single output; select bits choose which input.

A switch made of gates that passes exactly one of its inputs to its output, chosen by select bits.

A switch circuit with several inputs and one output; select lines choose which input is passed through.

Defined in: Registers

A switch made of gates: its select bits decide which one of its inputs reaches its output.

A switch for data: it has two or more inputs and one output, and a select signal decides which input goes through.

Defined in: The control unit

A switch that passes one of its inputs to its output, chosen by a control signal. The ALUSrc mux picks a register or the immediate; the write-back mux picks what is written to the register.

Multiplexing

Sending many requests and responses at once on one connection as separate streams (HTTP/2 and HTTP/3).

Mutable

Able to change in place, like a list or a dict. Ints, strings and tuples are immutable: an operation makes a new object instead.

Mutable / immutable

Mutable values (lists) can be changed in place; immutable values (tuples, strings, numbers) cannot.

Defined in: Lists and tuples
MVCC

Multiversion concurrency control: an UPDATE adds a new version of a row instead of overwriting it, so readers and writers do not block each other.

Defined in: Isolation levels

Multiversion concurrency control: the database keeps several versions of a row so that each transaction can read a consistent snapshot without waiting for writers.

Defined in: MVCC
MX record

A DNS record that names a domain's mail servers, each with a preference number (lower is tried first).

mypy

A widely used Python type checker, installed with pip and run as mypy file.py.

Defined in: Type hints

N

n

The size of the input: how many items the code works on.

n-type

Silicon doped with atoms that have 5 valence electrons, such as phosphorus. Its current is carried by free electrons (negative).

Name

A label in a namespace that refers to one object. Assignment binds a name; it never copies the object.

name attribute

The key a control's value is sent under, as in drink=Flat+white. A control without a name is not sent.

Defined in: Forms
Named colour

A colour word CSS defines, such as tomato or lavender. Each name stands for one exact RGB value.

Defined in: Colours and units
NameError

The error Python raises when code uses a name that has not been assigned.

The error Python raises when it cannot find a name in any scope it searches.

Defined in: Scope
Namespace

A mapping from names to values. Python keeps one per module (global), one per function call (local) and one for the built-ins.

Defined in: Scope

A table that maps names to objects. A module's global names live in a dict you can see with globals().

A kernel feature that gives processes their own copy of one global resource, such as process IDs, the hostname or mount points. Linux has 8 kinds.

NaN

"Not a Number": what JavaScript gives for maths that has no number answer, such as 3 * undefined.

Defined in: Typing functions
NAND

NOT AND: a gate that gives 0 only when all of its inputs are 1, and 1 otherwise.

NAND / NOR

NOT AND and NOT OR: the same gates with every output flipped, shown by a small circle on the symbol.

Defined in: Logic gates
NAND and NOR flash

Two ways to wire flash cells: NOR gives fast random reads for code; NAND chains cells in strings for dense storage.

nano

A simple terminal editor that lists its main shortcuts at the bottom of the screen.

Nanosecond (ns)

A billionth of a second. A microsecond (µs) is 1,000 ns; a millisecond (ms) is 1,000,000 ns.

NAPT / PAT

NAT that rewrites the port number as well as the address, so one public address can carry many conversations at once.

Narrowing

When tsc works out a more exact type than the declared one, for example string instead of string | number, from the checks around the code.

NAT

Network address translation: the router swaps private addresses for the home's one public address, and back.

Defined in: Your home network

Network address translation: a router rewrites addresses in packets as they pass, so many private devices can share one public address.

NAT gateway

NAT is network address translation. A NAT gateway is a gateway in the public subnet that lets private servers open connections out, under its own public address, but lets nobody start one in.

NAT64

A gateway (RFC 6146) that translates IPv6 packets into IPv4 packets and back, so IPv6-only devices can reach IPv4-only sites.

Native app

An app written in a system's own language and tools: Swift for iOS, Kotlin for Android.

Native VLAN

The one VLAN a trunk sends without a tag (VLAN 1 by default). IEEE 802.1Q calls it the port VLAN ID, or PVID.

Defined in: VLANs and trunks
Negative feedback

Sending part of the output back to the - input, so the op-amp settles where its two inputs are almost equal.

Neighbor cache

A computer's table of IPv6 neighbors and their MAC addresses, with a state for each row: INCOMPLETE, REACHABLE, STALE, DELAY or PROBE.

Defined in: Neighbor Discovery
Neighbor Discovery (ND)

IPv6's set of ICMPv6 messages (RFC 4861) for finding neighbors' MAC addresses, finding routers, checking for duplicate addresses and redirecting traffic. It replaces ARP.

Defined in: Neighbor Discovery
Neighbor Solicitation / Advertisement

The question "who has this IPv6 address?" (ICMPv6 type 135) and its answer "it is at this MAC" (type 136).

Defined in: Neighbor Discovery
Neighbour

A node one edge away. A graph is often stored as a list of neighbours for each node (an adjacency list).

Nested browsing context

The window an iframe creates: it has its own document, DOM and history, inside the outer page.

Defined in: Iframes and embeds
Nesting

Putting elements inside other elements. The inner one must close before the outer one.

Defined in: What HTML is
NETCONF / RESTCONF

Protocols for reading and changing a device's config as structured data: NETCONF over SSH (RFC 6241), RESTCONF over HTTPS (RFC 8040).

Defined in: Network automation
Netlink

A kind of socket that programs such as ip use to read and change the kernel's interfaces, addresses and routes.

Netlist

A list of a circuit's parts and the wires that connect them.

The output of synthesis: a list of standard cells and the wires (nets) that join them.

Network

Nodes joined by links so they can share data.

Defined in: What a network is
Network ACL

A stateless filter at a subnet's edge with numbered allow and deny rules, read lowest number first.

Network address

The address with every host bit set to 0. It names the subnet itself and is not given to a device.

Defined in: Subnets and masks
Network automation

Configuring and checking network devices with software from a description of what you want, instead of typing commands on each one.

Defined in: Network automation
new

The operator that makes an empty object, links it to the constructor's prototype, runs the constructor with this set to it, and returns it.

An expression that reserves memory on the heap for an object (or an array with new[]), initialises it and returns its address.

The operator that creates an object: it gets memory on the heap, sets every field to its default value, then runs a constructor.

Newline (\n)

The character that ends a line of text. write() does not add it for you; reading a file line by line keeps it.

Defined in: Working with files
Next hop

The neighbouring router a packet is handed to. A connected row has none: the destination is on that port's own network.

The neighbouring router a packet is handed to on its way to a destination network.

Defined in: Static routes
Next-state logic

Gates that work out the next state from the current state and the inputs.

Defined in: State machines
next()

A built-in function that asks an iterator for its next value.

Nibble

A group of 4 bits, written as one hex digit.

NIC

Network interface card: the part of a device that connects it to the network. Each one has its own MAC address.

NIST CSF 2.0

The NIST Cybersecurity Framework 2.0 (2024): a common way to organise security work into six functions: Govern, Identify, Protect, Detect, Respond and Recover.

Node

Any device on a network that can send or receive data: a laptop, a phone, a printer, a server.

Defined in: What a network is

One item in a tree. It holds a value and links to its children.

Defined in: Trees

One object in the DOM tree, such as the Document, an element or a piece of text. Every node except the Document has one parent.

One object in the DOM tree, such as an element (ul, li) or a piece of text. document is the root node.

One machine in a database that is spread over many machines.

Defined in: NoSQL databases
node_modules

The folder in your project where npm puts installed packages. Node's require looks here for a package by name.

Defined in: npm and packages
node:test

Node.js's built-in testing module. Its test(name, fn) function registers a test with the runner.

Defined in: Testing JavaScript
Node.js

A program that runs JavaScript outside the browser, for example on a server or your laptop.

Defined in: What JavaScript is

A program that runs JavaScript outside the browser: the V8 engine plus built-in modules and globals such as process.

Defined in: Node.js
noImplicitAny

A strict check: it is an error when TypeScript would silently give something the type any.

Defined in: Strict mode
Noise margin

The spare room between what an output really gives and what an input needs, so small voltage wobbles never flip a bit.

Non-functional requirement

How well the system must work: its speed, cost, security, reliability and so on.

Non-volatile memory

Memory that keeps its data when the power is off, such as ROM and flash. DRAM and SRAM are volatile.

Nonblocking assignment (<=)

The assignment used in clocked blocks: every right-hand side is read first, then all the flip-flops update together.

None

Python's value for "nothing". A function that ends without return gives back None.

Defined in: Functions
Nonrepeatable read

Reading the same row twice in one transaction and getting two different values, because another transaction committed in between.

Defined in: Isolation levels
NOR

NOT OR: a gate that gives 1 only when all of its inputs are 0, and 0 otherwise.

Normal flow

How the browser places boxes when you add no layout rules: in source order, by each box's display type.

How boxes are laid out when nothing moves them: block boxes stack one below the other, in the order of the HTML.

Defined in: Positioning
Normal mode

vim's starting mode, where keys are commands (i, :wq) rather than text.

Northbound API

The interface apps use to tell the controller what they want, often a REST API. Southbound is controller to switches.

NoSQL

Databases that store data in shapes other than tables, such as documents (MongoDB), key-value pairs (Redis) or graphs (Neo4j).

Defined in: Databases and SQL

A loose name, often read as “not only SQL”, for databases that are not built on relational tables and SQL.

Defined in: NoSQL databases
NOT / AND / OR

NOT flips a value; AND is true only if both inputs are true; OR is true if at least one input is true.

NOT NULL

A rule that a column must always hold a value.

npm

The package manager installed with Node.js. It installs, updates and publishes packages and runs project scripts.

Defined in: npm and packages
npm registry

The public online database of packages at registry.npmjs.org that npm downloads from.

Defined in: npm and packages
NTP

Network Time Protocol (RFC 5905): a client and server swap four timestamps over UDP port 123 to set the client's clock.

NuGet package (.nupkg)

A zip file with compiled DLLs (one folder per target framework) and a description: id, version and dependencies.

null

A JavaScript value meaning "no value". getItem returns it when the key does not exist.

The reference to no object at all. It is the default value of every reference type, such as string.

The marker for a missing value. NOT NULL forbids it in a column.

A marker that means no value. Python's sqlite3 module gives it to you as None.

Defined in: JOINs

SQL's marker for a missing or unknown value.

SQL's marker for "no value here". It is not zero and not an empty string.

Null-state analysis

The compiler, Roslyn, follows each variable through the code to know where it may be null, and warns (such as CS8602) when you use it unchecked.

Nullable reference type (string?)

With enable (the default in new projects), string? says the variable may be null and string says it never should. Only the compiler's warnings change.

Nullable value type (int?)

Nullable : a value type plus a HasValue flag. When HasValue is false, the value is null; read it with .Value or a default.

Nullish coalescing (??)

a ?? b gives b when a is null or undefined, and a otherwise.

Defined in: Strict mode
nullptr

The null pointer literal (C++11 and later): a pointer value that points at no object.

Defined in: Pointers
NullReferenceException

The exception thrown at run time when code uses a member, such as .Length, on a null reference.

number

The type for every number, whole or decimal: 12, -3, 12.5. TypeScript has no separate int or float.

Defined in: Basic types
Number in system (L)

How many items are inside on average over time. Little's law: L = λ × W.

Number()

Turns a value into a number: Number("1") is 1 and Number(null) is 0.

O

O(1)

"Constant time": the work does not grow as the collection grows. A dict lookup is O(1) on average.

O(1) and O(n)

Ways to describe cost. O(1): the same time at any size. O(n): time grows with the number of items n.

Defined in: Arrays and lists

Ways to describe cost: O(1) takes the same time whatever the size; O(n) grows with the number of items n.

Defined in: Collections
O(log n)

Work that grows with the number of times you can halve n. Doubling the list adds only one more step.

O(log n) and O(n)

Ways to say how the work grows with n values: with the number of levels (about log2 of n) or in step with n itself.

Defined in: Trees
O(n log n)

About n times log n steps, as in sorted(): a little more than linear, far less than quadratic.

O(n) and O(1)

Ways of saying how work grows: O(n) grows with the number of items n; O(1) stays about the same however many items there are.

Defined in: Stacks and queues
O(n²) and O(n log n)

Ways to say how work grows with the number of items n: n² grows much faster than n × log₂ n.

Defined in: Sorting
O(V + E)

Work that grows with the number of nodes (V) plus the number of edges (E).

Object

A value that groups related values under names, written with curly braces: { name: "Mochi", age: 3 }.

Defined in: Objects

A group of named values called properties, written with curly braces, such as { name: "Tom", age: 3 }.

Defined in: JSON

A set of named values, written with curly braces, such as { name: "Ada", age: 36 }.

A value that groups other values under names, written with braces: { name: "Ana", age: 30 }.

Python's word for one value in memory, such as the whole number 10. Every object has a type, such as int.

A piece of data in memory with an identity, a type and a value. Every value in Python is an object.

One thing made from a class, with its own copy of the data members. t and u are two Tally objects.

One instance of a class, made with new. Several variables can refer to the same object.

Object (instance)

One thing built from a class, with its own attributes (data), such as a.owner and a._balance.

One thing built from a class with new. Each has its own copy of the fields.

One concrete thing made from a class with new. Each object has its own copy of the class's fields.

Object file

The compiler's output for one source file (hello.o, or hello.obj on Windows): machine code that is not yet a whole program.

The compiler's output for one translation unit (main.o): machine code plus a symbol table, not yet a whole program.

Object literal

Code that makes a new object by listing its properties inside curly braces.

Defined in: Objects
Object.prototype

The built-in object at the top of most chains. It holds shared methods such as toString; its own prototype is null.

Observer

A pattern where listeners subscribe to an object and are all notified when it changes. Also called publish-subscribe in many systems.

Defined in: Design patterns
Octal

Base 8, with digits 0 to 7; each octal digit stands for 3 bits. Written with the prefix 0o in Python.

Octet

A group of 8 bits (a byte). An IPv4 address is four octets.

Defined in: IPv4 addresses

A group of 8 bits, written as a number from 0 to 255. Dotted decimal shows four octets, like 192.168.1.10.

Defined in: Subnets and masks
Off-by-one error

A bug where a loop or index is one too many or one too few, such as using < where <= was needed.

Offset (inset) properties

top, right, bottom and left: how far a positioned box sits from a reference edge.

Defined in: Positioning
Ohm (Ω)

The unit of resistance. One ohm lets one amp flow when one volt is applied: 1 Ω = 1 V/A.

Defined in: Ohm's law

The unit of resistance. 1 kΩ (kilo-ohm) is 1,000 ohms.

Ohm's law

Voltage equals current times resistance, V = I × R. It holds for ohmic parts such as resistors.

Defined in: Ohm's law
OID and MIB

An OID is the dotted address of one value, like 1.3.6.1.2.1.31.1.1.1.10.2; a MIB is the catalogue that defines a set of them.

ON

The rule a JOIN uses to decide which rows belong together, such as books.author_id = authors.id.

Defined in: JOINs
On call

Taking a turn to answer alerts from live software, usually helped by a runbook: written steps for known problems.

Defined in: Working in a team
OnCalendar=

The timer setting that names a calendar time, such as *-*-* 02:30:00 for 02:30 every day.

One-definition rule (ODR)

The C++ rule that a program may contain only one definition of each non-inline function or variable, however many declarations it has.

One-hot

A pattern of bits where exactly one is 1 and all the others are 0.

ONT / OLT

Optical network terminal (the box in your home) and optical line terminal (the ISP's end of the fibre).

OOM killer

The kernel's out-of-memory killer: when memory cannot be freed, it stops a process to recover memory, inside the cgroup that hit its limit.

Op-amp

Operational amplifier: a chip with two inputs (+ and -) and one output that amplifies the difference between the inputs.

Opcode

Operation code: the bits of an instruction that say which command it is. TINY-8 uses 4 bits, so it has 16 opcodes.

Defined in: Instruction sets

The bits of an instruction that say which operation it is. In TINY-8, the top four bits of the first byte.

The bits of an instruction that say which instruction it is. In TINY-8 it is the top 4 bits of the first byte, so there are 16 instructions.

Defined in: The control unit
Open addressing

Handling a collision by searching for another free slot in the same table. Python's dict works this way.

Open drain and pull-up

An output that can only pull a wire to 0 or let go; a pull-up resistor makes the wire 1 when nobody pulls it.

Open Graph

A protocol started by Facebook: tags that apps read to build link previews.

Open resolver

A DNS resolver that answers queries from anyone on the internet, which lets attackers use it as a reflector.

Open source

Software whose code anyone may read, change and share. Linux uses the GNU General Public License, version 2 (GPL).

Defined in: What Linux is
Open-loop gain

How much an op-amp multiplies the input difference with nothing fed back: about 200,000 for a 741.

open()

A built-in function that opens a file by name and returns a file object to read or write it.

Defined in: Working with files
OpenFlow

A southbound protocol (ONF) a controller uses to read and write switches' flow tables, over TCP port 6653.

Operand

A value an operator works on. In 7 + 6, the operands are 7 and 6.

A value an operator works on. In a + b, a is the left operand and b is the right operand.

Operating system

The software that starts the computer and runs the other programs, such as Windows, macOS, Linux, Android or iOS.

Defined in: What software is
Operating system (OS)

The program that manages the hardware for every other program, such as Windows, macOS, Linux, Android or iOS.

Operation code

The bits that tell the ALU which operation to do. Here two bits: 00 ADD, 01 SUB, 10 AND, 11 OR.

Operator

A symbol such as +, *, === or && that takes one or more values and makes a new value.

A symbol that works on values: + - * / // % ** for numbers, + and * for strings.

Operator function

A function whose name is operator plus a symbol, such as operator+. The compiler calls it when the operator is used on your type.

Operator overloading

Giving an operator such as +, == or << a meaning for your own type by writing a function named operator followed by the symbol.

Optical fibre

A thin strand of very pure glass that carries data as flashes of light.

Optimal substructure

When the best answer to a problem is built from the best answers to its subproblems.

Optimisation level

A compiler option such as -O0 (none, GCC's default) or -O2 (most optimisations) that sets how hard the compiler works to make the program fast.

Defined in: Writing fast C++
Optimiser

The part of the compiler that rewrites code to run faster, assuming the program has no undefined behaviour.

Option (flag)

A word starting with a dash that changes what a command does, such as -a in ls -a.

Defined in: The command line
Optional parameter

A parameter a call may leave out, shown with a question mark, like h?: number.

Defined in: Typing functions
Optional property

A property marked with ? (email?: string) that an object may leave out.

A field marked with ? that a value may leave out, as in id?: number.

Defined in: Utility types
Orchestrator

Software such as Kubernetes that runs containers across many servers, keeping the requested number running, scaling and rolling out new versions.

ORDER BY

The clause that sorts the result rows. ASC (the default) sorts lowest first and DESC sorts highest first.

Order of appearance

The tie-breaker: when two declarations tie on everything else, the one that comes later wins.

Ordered list (ol)

A list whose order matters, such as steps. Browsers number the items themselves.

Origin

The scheme, host and port of a URL together, such as https, cafe.example and 443.

Defined in: Iframes and embeds

The scheme, host and port of a URL together, such as http://localhost:8000. Each origin has its own storage that other sites cannot read.

Origin AS

The AS where a route starts: the last (rightmost) number in its AS_PATH.

Origin server

The website's own server, which holds the real files; edges fetch from it when they miss.

Defined in: CDNs and anycast
Oscilloscope

An instrument that draws voltage against time; its trigger holds a repeating signal still on the screen.

Defined in: Test and debug
OSI model

A seven-layer reference model (ISO/IEC 7498-1) used to talk about networks. Its layer numbers, like layer 2 and layer 3, are everyday jargon.

Defined in: Packets and layers
OSPF

Open Shortest Path First, a routing protocol routers use to teach each other routes inside one organisation.

Open Shortest Path First: a link-state routing protocol used inside one organisation's network. OSPFv2 (RFC 2328) carries IPv4 routes.

OUI

Organizationally Unique Identifier: the first three bytes of a MAC address, assigned by the IEEE to a maker or organisation.

Out of bounds

An index outside 0 to N-1. Reading or writing there is undefined behaviour for a built-in array.

Out of flow

Taken out of normal flow: the box takes up no space, so the boxes around it close up as if it were not there.

Defined in: Positioning
outDir and rootDir

outDir is the folder tsc writes its .js output to, such as dist. rootDir is the folder where the source starts, such as src; its layout is copied into outDir.

Outer link

Each scope's link to the scope around it. A lookup checks the current scope, then follows these links outward. The specification calls it [[OuterEnv]].

Defined in: Scope and closures
Outline

The shape of a page given by its headings alone: the h1, its h2 sections, their h3 parts, and so on.

Output

What a program shows you. print() writes output to the terminal (the standard output stream, sys.stdout).

Defined in: Input and output
Output logic

Gates that turn the state (and in a Mealy machine the inputs) into the machine's outputs.

Defined in: State machines
Over-engineering

Adding structure for problems you do not have yet. It makes code longer and harder to change.

Defined in: Design patterns
Overfitting

Fitting the training data so closely that the model does badly on new data. Checked with held-back test data.

Overflow

When the true result needs more bits than the circuit has, so the top carry is lost and the bits that remain are wrong.

When the true signed result does not fit in the available bits, so the stored bits have the wrong sign.

Overlapping subproblems

When the same subproblems come up many times, so storing their answers saves repeated work.

Override

A method in a subclass with the same name as one in its base class. Python finds the subclass's version first, so it wins.

Defined in: Inheritance

Written after a member function to say it replaces a virtual function of the base. The compiler reports an error if it does not.

Own property

A property stored on the object itself, such as rex.name. Object.hasOwn(obj, key) tells you whether a property is own.

Ownership

Being responsible for deleting an object. Exactly one unique_ptr owns its object; several shared_ptrs can share ownership of one.

P

P-N junction

The join between p-type silicon (full of holes) and n-type silicon (full of spare electrons).

Package

Code someone wrote and published so others can install and reuse it, such as requests.

A folder of reusable code described by its own package.json, which gives at least its name and version.

Defined in: npm and packages

A folder of modules. A regular package holds an __init__.py file, and its modules have dotted names such as shapes.square.

One file holding a program ready to install: its files plus a label with its name, version and what it needs. Debian and Ubuntu use .deb files.

Package (distribution)

Code someone published for others to install, such as requests. It can contain one or more importable modules.

Package manager

The tool that finds, downloads and installs packages: pip for Python, npm for JavaScript.

The tool that finds, downloads, installs, upgrades and removes packages for you. apt on Debian and Ubuntu, dnf on Fedora.

package-lock.json

The file npm writes with the exact version, source and integrity hash of every installed package.

Defined in: npm and packages
package.json

Your project's description: name, version, scripts and the dependencies it needs, with allowed version ranges.

Defined in: npm and packages
PackageReference

A reference to a NuGet package by id and version; restore downloads it from a feed such as nuget.org.

Packet

A small piece of a message with a label saying who sent it and who it is for.

Defined in: What a network is

A chunk of data sent across a network in one go, often up to 1500 bytes.

Defined in: Bits on the wire

A segment plus an IP header: the internet layer's unit, also called a datagram.

Defined in: Packets and layers
Packet capture

Recording the frames a network card sends and receives, so every field can be read, as tools like Wireshark do.

Padding

Space inside the box, between the content and the border. The box's background fills it.

Defined in: The box model
Page

The unit flash reads and writes at once, for example 2,048 data bytes.

Page (block)

A fixed-size chunk of a table file, 8192 bytes by default in PostgreSQL. The database always reads and writes whole pages.

Defined in: Storage and pages
Page and frame

Memory is managed in fixed-size blocks, usually 4 KiB (4,096 bytes): a page is a block of virtual memory, a frame is a block of RAM of the same size.

Defined in: Virtual memory
Page fault

The alarm the MMU raises when a page is not in RAM (or an access is not allowed); the operating system then handles it.

Defined in: Virtual memory
Page header (pd_lower / pd_upper)

The first 24 bytes of a page. Among other things it holds pd_lower, just past the last line pointer, and pd_upper, the start of the rows at the back. The free space lies between them.

Defined in: Storage and pages
Page split

What happens when a new entry does not fit in a full page: half the entries move to a new page and the parent gains a separator.

Defined in: Indexes in depth

What happens when a key must go into a full page: the page divides in two and a separator key is added to the parent.

Defined in: B-trees
Page table

A list kept in RAM by the operating system, one per program, that says which frame each of the program's pages is in (or that it is on disk), plus its protection bits.

Defined in: Virtual memory
Paint

The stage that draws each box's pixels (backgrounds, borders, text) into layers, in a fixed order.

Pairing / bonding

Making a shared secret key (pairing) and storing it to reconnect later (bonding).

PAN

Personal area network: a few devices around one person, joined by Bluetooth or USB. About 10 m across.

Personal area network: a few devices around one person, linked over a short distance, for example by Bluetooth.

Paragraph

A block of running text, written with p. It starts on a new line, with a little space above and below.

Parallel

Really running at the same moment, on different cores.

Defined in: Tasks and threads
Parallel circuit

Parts connected side by side on separate branches, so every branch has the same voltage across it.

Parallelism

Several tasks running at literally the same moment, on different CPU cores.

Parameter

A name in the def line, such as w or h, that receives a value when the function is called.

A name in a function's brackets, such as price, that each call fills in with a value.

Defined in: Functions

A name in a function's definition for a value it takes, like w in function area(w: number).

Defined in: Typing functions

A name in the def line, such as nums, that stands for whatever value a caller hands in.

Defined in: Functions

A name listed in a def's brackets, such as drink. It receives a value each time the function is called.

A typed name in a function's first line, such as int w. It is a local variable of the function, set from an argument at each call.

Defined in: Functions

A named, typed input in the signature (a and b). It works like a local variable that exists only during a call.

Defined in: Methods
Parameter binding

Filling a handler's parameters from the request: here, reading the JSON body into a Todo.

Parameter property

A constructor parameter with a modifier such as public or private; it declares and fills a field of the same name.

Parameter type

The type written after a parameter, like : number in w: number. tsc checks each argument against it.

Defined in: Typing functions
Parameterised query

A query sent with placeholders (such as ?) and the values passed separately, so values are always treated as data.

Parent

The commit just before this one. Each commit stores its parent's hash, which links the history into a chain.

Parent / child

A node directly above another in the tree is its parent; the nodes directly below it are its children.

Parent and child

A node links down to its children; each child has exactly one parent.

Defined in: Trees
Parent folder

The folder one level up. Every folder has the special name .. for it, and . for itself.

Defined in: The file system
Parent, child, sibling

Words for the page's tree: an element is the parent of the elements directly inside it, those are its children, and children of the same parent are siblings.

Parser

The part of the browser that reads HTML text from top to bottom and turns each tag into a node in the DOM.

Partition

A slice of a disk, recorded in the disk's partition table. Linux names them by adding a number: sdb1 is the first partition of sdb.

Partition table

A small table at the start of a disk listing its partitions. GPT is the modern kind; it keeps a backup copy at the end of the disk.

Pass (iteration)

One run through the loop body.

Pass / fail

A test passes when it finishes without raising an error, and fails when it raises one, such as AssertionError.

Pass by reference

The parameter is a reference bound to the argument; no copy is made and changes reach the caller's variable.

Defined in: References
Pass by value

Giving a function a copy of each argument. Changing the parameter inside the function does not change the caller's variable.

Defined in: Functions

Calling a function with a copy of the argument: the parameter is a new variable, so changing it never changes the caller's variable.

The parameter is a copy of the argument; changing it does not change the caller's variable.

Defined in: References
Patch cord

A short cable with a plug on each end, for example from a laptop to a wall socket.

Path

Where a file is in the folder tree, as folder names joined by /. An absolute path starts at the root, /; a relative path starts from the working directory.

Defined in: The command line

A setting that lists the folders the shell searches, in order, to find a program by its name.

Defined in: The shell

The name of a file or folder spelled out folder by folder, with / between the names, such as /home/sam/notes.txt.

Defined in: The file system
Path and cycle

A path is a route along edges; a cycle is a path that ends where it started without reusing an edge.

Defined in: Graphs
PCB

Printed circuit board: a stiff board with copper tracks that connect and hold electronic parts.

PDU session

A data connection between the phone and one data network, such as the internet.

Peer

Another WireGuard device you trust, identified by its public key and the allowed IPs it may use.

Defined in: Defence: WireGuard
Pending

The state of a promise that has not settled yet.

PEP 8

Python's official style guide: spacing, names, line length and more, so all Python code looks alike.

Defined in: Clean code
Percentage

A part of some other value; for width, a part of the parent's (containing block's) width.

Defined in: Colours and units
Peripheral

A device that a central connects to, such as earbuds, a watch or a keyboard.

Permission

The user's yes or no, asked by the system, before an app may use the camera, location, contacts or other private things.

Permission bits

r (read), w (write) and x (execute), once for the owner, once for the group and once for others.

Persistent=true

A timer setting that saves the last run time on disk, so a run missed while the machine was off happens after boot.

pg_dump

A tool that writes a database out as SQL (or an archive file): a consistent snapshot of one moment, portable but not usable for point-in-time recovery.

Phantom read

Running the same search twice and getting a different set of rows. PostgreSQL's Repeatable Read prevents it.

Defined in: Isolation levels
Phased array

An antenna made of many small antennas; shifting the timing (phase) of each one steers the beam without moving parts.

Phishing and account takeover

Phishing is a fake message that tricks someone into clicking a link, opening a file or typing a password. With a stolen password an attacker may try an account takeover: signing in and acting as that person.

Physical address

A real location in RAM.

Defined in: Virtual memory
Physical topology

How the cables (or radio links) actually run between devices.

PID

Process ID: the number the kernel gives each process, for example 4242. Commands like ps and kill use it.

Process ID: the number the kernel gives each running process. systemd is PID 1; a restarted service gets a new PID.

PID 1 (init)

Process ID 1, the first user-space process. It starts every other service; on most distributions it is systemd.

Defined in: How Linux boots
PID namespace

A separate set of process IDs. Its first process is PID 1 inside it, and also has a different PID on the host.

Ping

A tool that sends ICMP Echo Requests and reports each Echo Reply and its round-trip time.

Ping sweep

Host discovery: a ping (ICMP echo request) sent to every address in a range; each echo reply marks a live machine.

pip

Python's package installer. It downloads packages, usually from PyPI, and installs them into a site-packages folder.

Pipe

The | symbol: it sends one command's output into the next command's input.

Defined in: The command line

The | symbol: it joins one program's stdout to the next program's stdin. The kernel keeps a small buffer between them (64 KiB by default on Linux).

Pipeline

A list of automated stages, such as install, lint, test and build, that runs in order on a server for every push.

A processor design that splits each instruction into stages, so several instructions are worked on at once, each in a different stage.

Defined in: Pipeline hazards
Pipeline diagram

A chart with instructions down the side and clock cycles along the top, showing which stage each instruction is in at each tick.

Defined in: Pipelining
Pipeline register

A register between two stages that catches one stage's result at the clock edge and holds it for the next stage.

Defined in: Pipelining
Pipelining

Splitting each instruction into stages so that several instructions can be in different stages at the same time, like an assembly line.

Defined in: Pipelining
Pixel

One tiny coloured square of a picture, usually stored as three bytes: red, green and blue, each 0 to 255.

Place value

What a digit is worth because of where it sits. In binary the places are powers of two.

What a digit is worth because of where it sits: in 173 the 1 is worth 100, because it is in the hundreds place.

Planner (optimizer)

The part of the database that builds the possible plans for a query, estimates their cost and picks the cheapest.

Defined in: Query plans
PMF

Protected Management Frames (from IEEE 802.11w): integrity checks on management frames such as deauthentication, so forged ones are ignored.

PoE

Power over Ethernet: sending electrical power along the same cable as the data.

Power over Ethernet (IEEE 802.3): the switch sends power down the same cable as the data, for access points, phones and cameras.

Point-in-time recovery (PITR)

Restoring a base backup and replaying the archived WAL up to a chosen moment, such as just before a mistake.

Pointer

A variable whose value is an address. int* p is a pointer to an int.

Defined in: Pointers

A variable that holds an address, such as int* p. *p means the object at that address.

Pointer (low, high, mid)

A variable that holds a position in the list. low and high mark the part still in play; mid is the middle of it.

Poisson arrivals

Arrivals at random moments, independent of each other, at a steady average rate; the gaps between them follow an exponential distribution.

Poisson distribution

The chances of seeing 0, 1, 2, … arrivals in a window: P(N = k) = e^(−λt)(λt)^k / k!. Its mean and its variance are both λt.

Poisson process

Arrivals that happen independently at random moments at a steady average rate λ. The count in a window of length t is Poisson with mean λt, and the gaps are exponential.

Policing and shaping

Two ways to hold traffic to a rate: a policer drops or re-marks the excess straight away, a shaper delays it in a queue and sends it out evenly.

Polling

Checking a device again and again to see whether it is ready. Simple, but it wastes CPU time while the answer is no.

Polymorphism

The same method call working on objects of different classes, each running its own version.

One piece of code working with objects of many types, each behaving its own way; in C++ usually through virtual functions.

One call, different behaviour: the same line s.Info() runs Square's or Rect's Area() depending on the object s refers to.

Pooling

Letting several servers share one queue, so no server idles while work waits. At the same load it cuts waiting sharply.

Port

A socket on the switch where one cable plugs in.

A 16-bit number that names which app on a computer a datagram is for, like 53 for DNS.

A 16-bit number, 0 to 65535, in every TCP and UDP header. It tells the machine which program a message is for.

Defined in: Ports and sockets

A number from 0 to 65535 that names one app's endpoint on a device, so many apps can share one address. An address plus a port on each end names one conversation.

One set of address and data wires into or out of a memory or register file. Two read ports means two independent reads at once.

A numbered doorway to a device. TINY-8's IN reads input port 0 and OUT writes output port 0.

A named wire crossing a module's edge, declared as input or output.

Port (interface)

A socket on the router where a network cable plugs in. Each row says which port a packet leaves by.

Port forwarding

A fixed row you add by hand, so packets arriving at a chosen public port reach a device inside the home.

Port mirroring (SPAN)

A switch feature that copies the frames of one or more ports to a spare port, where a sensor can read them.

Port scan

Probes (usually SYNs) sent to many ports; the replies show each port as open (SYN-ACK), closed (RST) or filtered (silence).

Port security

A switch feature that limits how many source MAC addresses one port may use, and drops frames or disables the port when the limit is broken.

position

The CSS property that picks a positioning scheme: static (the default), relative, absolute, fixed or sticky.

Defined in: Positioning
Positional argument

An argument given without a name. Positional arguments fill parameters from left to right.

Positioned box

A box whose position is anything but static. Only positioned boxes use top, right, bottom and left.

Defined in: Positioning
postMessage

A JavaScript method that sends a message from one window to another, even across origins.

Defined in: Iframes and embeds
Power

How fast energy is used or turned into heat, in watts (W): P = V × I.

Defined in: Ohm's law
Power sequencing

Bringing a board's rails up (and down) in a set order, often using a power-good signal from one regulator to enable the next.

Power wall

The limit, reached around 2004, where a faster clock would make a chip use more power and heat than it can get rid of.

PPID

Parent process ID: the PID of the process that started this one. A program you start from bash has bash's PID as its PPID.

Preamble and SFD

Seven bytes of 10101010 followed by 10101011. They let the receiver lock on and mark where the frame starts.

Precedence

The order operators are worked out in when there are several, for example * before +. Brackets change it.

Predicate

A callable that takes a value and answers true or false, such as the test std::count_if uses to decide what to count.

A method that answers true or false about one value, like the Func that LINQ's Count takes.

Prediction

The model's answer for a new example it has never seen, such as spam for a new email.

Prefix

A network written as an address and a length, like 10.1.0.0/16: the first 16 bits are fixed, the rest are free.

A block of IP addresses written with its length, like 203.0.113.0/24. BGP announces prefixes, not single addresses.

Prefix (/64)

The first 64 bits of an address on a LAN. It names the network, like the street in a postal address.

Prefix length

The /n after an address. It says how many leading bits are the network part, e.g. /24.

Defined in: IPv4 addresses

The number of 1 bits in the mask, written after a slash: /24 is the same as 255.255.255.0.

Defined in: Subnets and masks
Prefix length (/24)

How many leading bits of an address name the network. In 192.168.1.20/24 the network is 192.168.1 and the host is .20.

Preprocessor

The first tool in a C++ build. It follows the lines that start with #, for example pasting in a header with #include.

Primary

The server that takes every write and produces the write-ahead log.

Defined in: Replication
Primary key

A column (or set of columns) whose value is unique and never empty, so it names exactly one row.

Defined in: Databases and SQL

A column (or set of columns) whose value picks out exactly one row: unique and never NULL.

The column (or columns) that names each row uniquely, such as authors.id.

Defined in: JOINs

The column (or columns) that names each row: values must be unique and never NULL. A table has at most one.

Primitive

A simple single value. JavaScript has seven primitive types: number, string, boolean, undefined, null, bigint and symbol.

Defined in: Values and types
print()

A built-in function that shows values in the terminal, separated by spaces.

A built-in function that writes its items separated by sep (a space) and followed by end (a newline).

Defined in: Input and output
Priority

How serious an entry is, from 0 (emerg) to 7 (debug); 3 is err, 6 is info.

Defined in: Logs
Priority encoder

An encoder that, when several inputs are on, outputs the number of the highest one.

private

A TypeScript modifier: only code inside the class may use the member. tsc checks it; the running JavaScript does not.

private / public

Access labels. Private members can be used only by the class's own members; public ones by anyone. A class starts private, a struct public.

Private address

An address from 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16. Reused in many homes and offices, never routed on the internet.

Defined in: IPv4 addresses

An address from the ranges set aside by RFC 1918 (10/8, 172.16/12, 192.168/16). They work inside a network but are never routed on the internet.

Process

A running program: its code and data loaded into memory, plus where it has got to.

A running program, with its own memory. All of its threads can read and change that memory.

A running program with its own private memory. python count.py starts one; multiprocessing starts more.

A program that is running: its code, its memory and its open files. Run the same program twice and you get two processes.

process.argv

An array of the command's words: the path to node, the path to the script, then any arguments you typed.

Defined in: Node.js
Producer

The part of a system that creates work and puts messages on a queue.

Defined in: Message queues
Profiler

A tool, such as perf on Linux, that measures where a running program spends its time.

Defined in: Writing fast C++
Program

One list of instructions that does a job, like a recipe. Running it means following the steps in order.

Defined in: What software is
Program counter (PC)

The register that holds the address of the next instruction to run.

The register in a CPU that holds the address of the next instruction to run.

Defined in: Counters

The register that holds the memory address of the next instruction to fetch.

Defined in: Instruction sets

A register that holds the address of the next instruction to fetch.

A register holding the memory address of the next instruction. It normally steps on by the instruction's size; a jump writes a new address into it.

Programming language

A way of writing instructions with exact rules, so every line has one meaning. Python is one.

Defined in: What software is
Project file (.csproj)

The file dotnet new makes next to your code; it holds the settings the build uses, such as the .NET version.

An XML file that MSBuild reads: which SDK to use, the target framework, the output type and the references.

ProjectReference

A reference to another project; MSBuild builds that project first and uses its DLL.

Promise

A JavaScript object standing for a result that arrives later; await or .then() gets the value when it does.

An object for a value that may arrive later. Its .then callbacks run as microtasks once it is fulfilled.

Defined in: The event loop

An object that stands for a value that is not ready yet. It is pending, then settles once: fulfilled with a value or rejected with a reason.

An object that stands for a value that is not ready yet. It is pending, then fulfilled with a value or rejected with an error.

Defined in: async and await

An object for a result that arrives later. It is pending, then fulfilled with a value or rejected with an error.

Promise and await

A promise stands for a result that is not ready yet. It settles when the result arrives (fulfilled) or fails (rejected). await pauses the code until the promise settles.

Defined in: Node.js
Prompt

The question input() writes before it waits, such as "Name? ". It is written exactly as given, with no newline.

Defined in: Input and output

The text the shell prints when it is ready for a command, for example alex@lab:~$ (user, computer, folder, then $).

Defined in: The shell
Propagation delay

The time the signal takes to travel the distance, about 5 µs per km in optical fibre, and about 120 ms just to climb to a geostationary satellite 35,786 km up.

The time a circuit takes to settle on its answer after its inputs change. In a ripple-carry adder it grows with the number of bits.

The time a gate or circuit takes for its output to change after its input changes.

Defined in: Clocks and timing
Property

What a declaration changes, such as color, font-size or letter-spacing.

Defined in: What CSS is

One entry of an object: a key and the value stored under it.

Defined in: Objects

One named value inside an object, such as age with the value 3.

Defined in: JSON

One named value in an object, such as age: 36. Read it with user.age.

One named value inside an object, such as age: 30. Read it with a dot: ana.age.

A member that looks like a field from outside but is backed by accessor methods, such as Target.

Defined in: Properties
Protection bits

Bits in each page-table entry that say whether the page may be read, written or run as code.

Defined in: Virtual memory
Prototype

The object another object is linked to. When a property is missing on an object, JavaScript looks on its prototype next.

Prototype chain

The series of prototype links from an object up to null, for example rex → Dog.prototype → Object.prototype → null.

Pseudo-class

A keyword after one colon, such as :hover or :first-child. It picks whole elements by a fact the tags do not spell out, like their place or the user's action.

Pseudo-element

A keyword after two colons, such as ::before or ::marker. It names a part of an element, or a new box CSS adds to it.

PTP

Precision Time Protocol (IEEE 1588): like NTP's four timestamps, but stamped in hardware for sub-microsecond accuracy.

Public address

An address that is unique on the internet and can be reached from anywhere, like the router's 203.0.113.7 here.

Public interface

The names a module offers to others (in notes.py: Storage, add and show), and what they promise to do.

Public key / private key

A matched pair of numbers. The private key never leaves its device; the public key can be shared freely.

Defined in: Defence: WireGuard
Publish/subscribe (topic)

A pattern where every subscriber to a topic receives its own copy of each message.

Defined in: Message queues
Publisher

The object that declares and raises the event; here, the oven.

Defined in: Events
Pull request (PR)

A request to merge a branch into the shared code. It shows the diff and holds the review discussion.

Defined in: Code review
Pull-up / pull-down

The transistor that joins the output to the supply (pull-up, the PMOS) or to ground (pull-down, the NMOS).

Defined in: The CMOS inverter
Pull-up resistor

A resistor from a pin to the supply that holds an unconnected input at 1.

Pure function

A function whose result depends only on its inputs and which has no side effects: the same input always gives the same output.

Defined in: Functional style
Push

Sending your commits from your computer to the shared repository.

An array method that adds one or more items to the end and returns the new length.

Defined in: Arrays
Push / pop

Adding a frame on top of the stack when a function is called, and removing it when the function returns.

Push and pop

Push adds an item to the top of a stack; pop removes the top item and hands it back. In Python: list.append() and list.pop().

Defined in: Stacks and queues
Push notification

A short message the server sends through Apple's or Google's push service, which the phone shows even if the app is not running.

push_back

Adds an element at the end of a vector. Amortised constant time: usually instant, now and then a reallocation.

PyPI

The Python Package Index, pypi.org: the public collection of packages that pip installs from.

pytest

A popular Python test runner. It finds test_*.py files, runs every test function and prints how many passed and failed.

Defined in: Unit testing

A widely used third-party test runner for Python: it finds tests, runs them and reports the results. Install it with pip.

Python

A readable, general-purpose programming language, used for scripts, websites, data and much more.

Q

Q and Q̄

The latch's two outputs. Q is the stored bit; Q̄ (Q-bar) is its opposite.

Defined in: The SR latch
QAM

Quadrature amplitude modulation: each symbol has one of many height-and-phase shapes; 16 shapes carry 4 bits.

QoS

Quality of service: 0 = at most once, 1 = at least once (PUBACK), 2 = exactly once (four packets).

Quadratic, O(n²)

The steps grow with n times n, as in a loop inside a loop over the same items.

Quality ladder

The set of qualities a video is encoded at, from low bitrate (360p) to high (1080p). Each quality is a rung.

Quality of service (QoS)

Rules a router uses, when a link is busy, to decide which packets go first, which wait and which may be dropped.

Quantifier

Says how many times the part before it repeats: * (zero or more), + (one or more), ? (zero or one), {n,m} (n to m times). By default they are greedy and take as much as they can.

Quarter-wave monopole

An antenna made of one rod a quarter of a wavelength long, standing on a metal ground plane.

Qubit

A quantum bit. Its state is a|0⟩ + b|1⟩; measuring it gives 0 with probability |a|² and 1 with probability |b|².

Query

A question sent to the database, such as SELECT name FROM books WHERE year > 2000.

Defined in: What a database is
Query container

An element whose size container queries can ask about. You make one with container-type.

Defined in: Container queries
Query plan

The step-by-step way the database will answer a query, such as "scan the whole table" or "walk this index, then fetch the rows".

Defined in: Query plans
Query planner

The part of the DBMS that chooses how to run a query, for example a Seq Scan or an Index Scan, by estimated cost. EXPLAIN shows its choice.

Defined in: Indexes in depth
querySelector

A method that returns the first element matching a CSS selector, searching the tree in document order, or null.

Queue

A collection where items join at the back and leave from the front: first in, first out (FIFO).

Defined in: Stacks and queues

A line where the first item in is the first out (FIFO). Python's collections.deque is a fast queue.

Queue and buffer

A queue is a line of packets waiting to be sent on a link, first in, first out. The buffer is the router memory that holds it; queueing delay is the time a packet spends waiting there.

Queueing system

Customers that arrive, a line where they wait, and one or more servers that serve them. Packets at a router port, shoppers at tills and requests at a web server all fit.

QUIC

A newer transport protocol (RFC 9000) that runs inside UDP datagrams and adds its own reliability and encryption; HTTP/3 uses it.

R

Race condition

A bug where the result depends on the timing of threads, such as two threads both writing 1 when count should be 2.

A bug where the result depends on how threads happen to interleave, such as a lost update to a shared counter.

Radio wave

A ripple of electric and magnetic fields that travels at the speed of light. Wireless networks carry bits on it.

RADIUS

Remote Authentication Dial-In User Service: the server protocol (UDP port 1812) that checks each user's login and hands the access point their key.

RAII

Resource Acquisition Is Initialization: the constructor gets a resource and the destructor releases it, so the object's lifetime manages the resource.

Resource Acquisition Is Initialization: a class acquires a resource in its constructor and releases it in its destructor, so cleanup happens on its own.

Resource Acquisition Is Initialization: an object takes a resource when it is made and releases it in its destructor.

Rail

A long wire that carries one signal past many gates, so each gate can tap it.

A wire or copper area held at one steady voltage that feeds many parts, such as the 3.3 V rail.

A supply line that feeds many chips at one voltage, such as the 3.3 V rail.

Defined in: Test and debug
Rain fade

Loss of signal strength when heavy rain absorbs and scatters high-frequency radio waves.

Raise

To signal an exception. Python raises them itself (12 / 0), and your code can too, with the raise statement.

Defined in: Exceptions

Call the event's handlers, from inside the declaring class, usually with Done?.Invoke().

Defined in: Events
Range [b, e)

The elements from b up to, but not including, e. An empty range has b == e.

range()

A built-in that produces a run of whole numbers: range(1, 4) gives 1, 2, 3 (the stop number is left out).

Defined in: Loops
range(start, stop)

Gives the whole numbers from start up to, but not including, stop: range(1, 4) gives 1, 2, 3.

rangeUnderflow

The flag that is true when a number is smaller than the field's min.

Defined in: Form validation
Ransomware

Harmful software that locks up (encrypts) an organisation's files and demands payment to unlock them. Tested, offline backups let the files be restored without paying.

Rate limiting

Counting requests or new connections from each source and dropping those above a set limit.

Read replica

A read-only copy of a database that receives every change from the primary and answers reads.

Defined in: Scaling out

A copy of the primary database that serves reads. It applies the primary's changes a little later (replication lag).

Defined in: System design
Read-modify-write

An operation that reads a value, changes it and writes it back, such as ++. On an atomic it is one indivisible step.

Read-only property

A property with a get but no set. Code outside the class cannot assign to it (error CS0200); a get-only auto-property can still be set in the constructor.

Defined in: Properties
readonly

A modifier that lets code read a field but makes assigning to it a compile error.

Defined in: Utility types
ReadOnlySpan

A span you can read but not write through. A string converts to ReadOnlySpan without copying.

Reallocation

A vector moving its elements into a new, bigger block and freeing the old one, because the old one was full.

Reassignment

Assigning to a name that already exists. The name now refers to the new value; a variable holds one value at a time.

Assigning to a name that already exists, which moves the name on to a new value. Other names are not affected.

Rebalancing

Moving data between shards when shards are added or removed, so each holds a fair share again.

Defined in: Sharding
Rebase

Replaying your commits on top of another branch as new commits, giving a straight history. Do not rebase commits others already have.

Receive window

How many bytes the receiver can still take. The sender keeps its unacknowledged data within it (flow control).

Record

A class (or, with record struct, a struct) for which the compiler writes value equality, ToString, with support and, from positional parameters, a constructor and properties.

Recovery target

Where replay stops, for example recovery_target_time = '2026-03-02 14:04:59+00'. It is compared with each transaction's commit time.

Rectifier

A circuit, often just diodes, that turns AC (which swings both ways) into one-way current.

Recursion

When a function calls itself to solve a smaller copy of the same problem.

Defined in: Recursion
RecursionError

The error Python raises when calls go deeper than the recursion limit (1000 by default).

Defined in: Recursion
Recursive case

The part of the function that calls itself on a smaller input, such as n * fact(n - 1).

Defined in: Recursion
Recursive resolver

A server that chases the answer for you by asking root, TLD and authoritative servers in turn, and caches what it learns.

Recursive-descent parser

A parser with one function per grammar rule; the functions call each other, following the grammar, to build the syntax tree.

Defined in: Inside a compiler
Redirect

The > symbol: it sends a command's output into a file instead of the screen, replacing what the file held.

Defined in: The command line
Redo (roll-forward)

Replaying WAL records after a crash to bring the data pages up to date.

Redundancy

Running spare copies of a part, so that when one fails another carries on.

Storing the same fact more than once, such as Ana's city in every row of her orders.

Defined in: Normalisation
ref struct

A struct the compiler keeps on the stack: it cannot be boxed, be a field of a class, or be held across an await.

Refactor

Tidying the shape of code. Strictly it should not change what the code does; passing tests show the cases they check still work, but only those cases.

Defined in: Unit testing
Refactoring

Changing the structure of code without changing what it does. Every input still gives the same output.

Defined in: Clean code
Reference

What a list slot really holds in Python: the address of the item, which lives elsewhere in memory.

Defined in: Arrays and lists

What a Python name holds: a pointer to an object on the heap, drawn as an arrow. Two names can refer to the same object.

A way to reach an object: a name bound to it, or a slot inside another object, such as an item in a list.

Defined in: Garbage collection

A pointer from a name (or a list slot, or an argument) to an object. Many references can point to one object.

A second name for an object that already exists, written with & after the type: int& r = x;

Defined in: References

What a reference-type variable holds: the runtime's way to find one object on the heap. Drawn as an arrow. It can also be null: no object.

What a variable of a class type holds: a way to find the object on the heap. Copying the variable copies the reference, not the object.

What a class-type variable holds: a way to reach an object on the heap. Assigning it to a Shape or IShape variable copies the reference, not the object.

A value that holds an object's address on the heap. A local such as a holds a reference, not the object itself.

Reference (&)

Another name for an existing object. Passing by reference avoids a copy; const T& also forbids changes.

Reference clock

A source of true time such as a GPS receiver or an atomic clock, called stratum 0.

Reference count

The number of references that point at an object. CPython frees the object when the count reaches 0.

Defined in: Garbage collection

CPython's count of the references to an object. When it falls to 0 the object is freed at once.

Reference counting

How CPython knows when to free an object: it counts the references to it and frees it when the count drops to zero.

Reference cycle

A group of objects that refer to one another, such as two lists that each hold the other.

Defined in: Garbage collection
Reference type

A type whose variables hold a reference to an object, such as any class, string or an array. Assigning one copies only the reference.

A type whose variables hold a reference to an object on the heap, such as a class or a record class. Assigning one copies the reference, not the object.

A type, such as string or a class, whose variables hold a reference (an address) to an object on the heap.

ReferenceError

The error thrown when a name cannot be found in any scope along the chain.

Defined in: Scope and closures
Referential integrity

The guarantee a foreign key gives: no row points at a row that does not exist.

Referral

An answer that says 'not me, ask these servers', carried in the authority section.

Reflection coefficient

Γ = (ZL − Z0)/(ZL + Z0): the share of a wave that bounces back where the line meets a load. 0 means no echo.

Refractive index

How much a material slows and bends light; the core's is a little higher than the cladding's.

Refresh

Reading and rewriting every row on a schedule so leaking charge never fades too far. DDR4 requires every row within 64 ms at normal temperatures.

Register

A tiny, very fast box inside the CPU that holds one number it is working with.

A small, very fast storage slot inside the CPU, picked by its number.

A small, fast store inside the CPU that holds one number, a row of bits.

A row of D flip-flops sharing one clock, storing a multi-bit value: an 8-bit register is 8 flip-flops.

Defined in: Registers

A group of flip-flops that share one clock and together hold a binary number.

Defined in: Counters

A small, fast store inside the CPU that holds one number. TINY-8 has four 8-bit registers, r0 to r3.

Defined in: Instruction sets

A tiny memory cell wired straight to hardware; in a GPIO register, each bit belongs to one pin.

A tiny storage slot inside a CPU core. Arithmetic such as adding 1 happens in registers, not directly in memory.

Register file

A small, fast group of registers inside a processor, with a decoder to choose the one to write and muxes to choose the ones to read.

Defined in: Registers

A small block of registers (here r0 to r3) with read ports that give register values and a write port that stores a new one.

Registry

The online store packages are published to: PyPI for Python, the npm registry for JavaScript.

A shared store of images, each named and tagged with a version, such as web:v1. Docker Hub is one.

Regular expression (regex)

A pattern that describes text, such as \d+ for one or more digits. Python's re module matches regexes against strings.

Regulator

A circuit that holds its output voltage steady even when its input voltage or its load changes.

Rejected

The state of a promise that failed; it holds the reason (usually an Error), which .catch receives.

Relational database

A database that keeps data in tables of rows and columns and is queried with SQL, such as PostgreSQL, MySQL or SQLite.

Defined in: Databases and SQL

A database that keeps data in tables (called relations) and links them through key values.

Relationship

A link between entities, named with a verb: an author writes a book. Drawn as a diamond in Chen's notation.

Relative path

A path that does not start with /. It is read from the folder you are in.

Defined in: The file system

A path that starts from the working directory, such as todo.txt or ../plan.txt.

Defined in: Working with files
Relative unit

A unit worked out from a base, such as rem, em or %. Change the base and the result changes.

Defined in: Colours and units
Relative URL

A shortened URL such as about.html. The browser fills in the missing parts from the current page's URL.

Defined in: Links and URLs
rem

A multiple of the root element's (html's) font size, usually 16px. 3rem = 48px.

Defined in: Colours and units
Remote and pull request

A remote (usually origin) is a shared copy of the repository on a server. A pull request is a page on a hosting site where others review a branch before it is merged.

Rendering pipeline

The stages the browser runs to turn the DOM and the CSSOM into pixels on the screen: style, layout, paint and composite.

Repeated division

A way to convert a number to another base: divide by the base, keep the remainder, repeat until the quotient is 0, then read the remainders backwards.

Replication

Keeping a live copy of a database on another server by sending it every change.

Defined in: Replication
Replication lag

How far the standby is behind the primary: records written but not yet received or replayed.

Defined in: Replication
Repository

A project folder Git is tracking, plus its history. Git keeps the history in a hidden .git folder.

A server holding thousands of packages and a signed index that lists them. Files under /etc/apt say which repositories your computer uses.

Request changes

A review decision that flags feedback the author should address before merging.

Defined in: Code review
Request line

The first line of a request: a method, a path and a version, such as GET /index.html HTTP/1.1.

required

A boolean attribute: the browser will not send the form while this control is empty.

Defined in: Forms

An attribute that makes an empty field invalid (valueMissing).

Defined in: Form validation
Required check

A pipeline result that must pass before a change may merge into a protected branch.

Required time

The latest the value may arrive and still be captured: for setup, the clock period minus the setup time.

Requirement

Something the system must do or a quality it must have, written so you can check whether it is met.

requirements.txt

A plain-text list of the packages a project needs, one per line; pip install -r reads it.

Reset

An input that forces every flip-flop of a counter to 0.

Defined in: Counters
Resistance

How strongly a part holds back the flow of charge. Measured in ohms (Ω).

Defined in: Ohm's law
Resistance (Ω)

How hard a part resists the flow of current, measured in ohms.

Resistor

A part that makes it harder for current to flow. Its resistance is measured in ohms (Ω).

Resolver

A recursive DNS server that looks names up for you by asking other servers, and caches the answers to reuse them.

Resource

A thing the server keeps that has its own URL, such as one to-do (/todos/3) or the list of them (/todos).

Defined in: REST APIs

Something a program borrows and must give back exactly once, such as heap memory, an open file or a lock.

Response

The object fetch's promise fulfils with. It has status, ok, headers and methods such as json() and text() to read the body.

Responsive design

Building one page whose layout adapts to the size of the screen or window showing it.

Responsive image

An image that serves a suitable file to each screen, so small screens do not download pixels they cannot show.

Defined in: Responsive images
REST

A style for web APIs: every resource has a URL, HTTP methods act on it, and each request stands alone.

Defined in: REST APIs
Rest element

...name at the end of a destructuring pattern. It collects the items (or properties) that are left into a new array (or object).

Restore

The step that resolves package versions, downloads packages into the global packages folder (~/.nuget/packages) and writes obj/project.assets.json.

Retained message

The last message on a topic that the broker keeps and sends straight away to anyone who subscribes later.

Retrospective

A meeting at the end of a sprint to look back at how the team worked and pick something to improve.

Defined in: Working in a team
return

The statement that ends a call and sends a value back to the line that made the call.

A statement that ends a call and sends a value back to the place the call was made.

Defined in: Functions

Ends the call and sends a value back to the line that made the call; the call is replaced by that value.

Defined in: Functions

The statement that ends a function call and sends a value back to the place of the call.

Defined in: Functions
Return route

The route back toward the sender's network. Without it, replies are dropped.

Defined in: Static routes
Return type

The type written after the parameter list, like ): number. It says what kind of value the function gives back.

Defined in: Typing functions

The type written before a function's name (int in int area(...)): the kind of value the function gives back. void means it gives back nothing.

Defined in: Functions
Return value

The one value a method hands back to its caller with return. Its type is the method's return type.

Defined in: Methods
Reverse bias

Connecting a diode the other way round, so it blocks current, except a tiny leak (until breakdown).

Reverse mapping

In a numeric enum's object, the entry that goes from the number back to the name, so Dir[2] is "Left".

Reviewer

The engineer who reads the change and comments, requests changes or approves.

Defined in: Code review
RGB

Red, green and blue: the three lights a screen mixes. A CSS colour gives each one a level from 0 (off) to 255 (full).

Defined in: Colours and units
Ring

Each device links to two neighbours and data travels round in one direction. A second ring the other way survives a cut.

Ring buffer

The kernel's own log in memory; dmesg prints it and journald reads it through /dev/kmsg.

Defined in: Logs
Ripple counter

A chain of toggle flip-flops where each one is clocked by the one before; changes pass along the chain one stage at a time.

Defined in: Counters
Ripple-carry adder

N full adders in a chain, each carry-out wired to the next carry-in, that add two N-bit numbers.

Rising clock edge

The moment the clock signal goes from 0 to 1. Edge-triggered flip-flops only change then.

Defined in: Registers
Rising edge

The instant a clock (or any signal) goes from 0 to 1.

Defined in: The D flip-flop

The moment the clock jumps from 0 to 1. Flip-flops copy their input on this edge.

Defined in: Clocks and timing
Risk

How likely the harm is, combined with how bad it would be.

RJ45 (8P8C)

The clear 8-pin plug on an Ethernet cable. 8P8C means 8 positions, 8 contacts.

ROA

Route Origin Authorization: a signed statement that one AS may originate a prefix, up to a maximum length.

Rogue DHCP server

A device that answers DHCP requests without permission, often to hand out itself as the gateway.

Role

What a part of the page is for, as reported in the accessibility tree: banner, navigation, main, article, generic and so on.

Defined in: Semantic elements

What a node is, such as button, image or search box. Native HTML elements have one built in.

ROLLBACK

The command that ends a transaction by undoing all of its changes. The database also rolls back a transaction cut off by a crash.

Ends a transaction and undoes every change it made.

Root

The top node of a tree: the only node with no parent.

Defined in: Trees

A starting point for marking: a local on a thread's stack, a static field, a CPU register, a GC handle or the finalization queue.

The folder at the top of the tree, written /. Every other file and folder is somewhere inside it.

Defined in: The file system

The administrator account, UID 0. Its processes skip the read and write checks; sudo runs one command as root.

The superuser account, which may change any file on the system.

Root ( / )

The top of the one folder tree. Every absolute path starts here.

Defined in: Working with files
Root and internal pages

The pages above the leaves. They hold separator keys and pointers that steer a search down one level at a time.

Defined in: B-trees
Root bridge

The switch with the lowest bridge ID. It is the centre of the tree; all its ports forward.

Defined in: Spanning Tree
Root element

The element that holds all the others. In an HTML page it is html.

Root file system

The file system mounted at /, the top of the folder tree. root= on the kernel command line says which partition holds it.

Defined in: How Linux boots
Root port

On every other switch, the one port with the cheapest path cost to the root bridge.

Defined in: Spanning Tree
Root server

One of 13 named identities (a to m.root-servers.net), each served by many anycast copies. Knows only who runs each TLD.

Roots

The references a program can use directly, such as its variables. A tracing collector starts from them.

Defined in: Garbage collection
Round (iteration)

One pass through the body of a loop.

Defined in: Loops
Round robin

Handing requests to servers in turn: 1, 2, 3, then 1 again.

Defined in: Scaling out
Round trip time (RTT)

The time from sending a segment to hearing its ACK. TCP's window changes are counted per round trip.

Round-trip delay

Time on the network for the request and reply together, without the server's own work: (t4 − t1) − (t3 − t2).

Round-trip time (RTT)

The time from sending a packet to getting its answer back, usually shown in milliseconds.

Route Origin Validation (ROV)

Checking each BGP route against validated ROAs and labelling it Valid, Invalid or NotFound.

Route table

The list each subnet follows: for each destination range, where packets go next. The most specific range wins.

Router

A box that joins one network to another and chooses which way to send each packet.

Defined in: What a network is

The box that joins your home network to the internet and passes messages between them.

Defined in: Your home network

The part that knows the rule and where every shard is, and sends each query to the right shard or shards. It can be a proxy or a library in the app.

Defined in: Sharding
Router on a stick

A router joined to a switch by one trunk port, with one subinterface per VLAN, each acting as that VLAN's default gateway.

Router Solicitation / Advertisement

A host asking "any routers here?" (type 133, to ff02::2) and a router announcing itself and the link's prefix (type 134, to ff02::1).

Defined in: Neighbor Discovery
Routing

The wire tracks between tiles, joined by programmable switches that each hold one configuration bit.

Defined in: FPGAs

Matching each request's method and path to an endpoint. A path with no endpoint gets 404; a wrong method gets 405.

Routing table

A router's list of networks and where to send packets for each, matched by the longest prefix.

A router's list of destinations (prefixes), each with where to send matching packets: a port and, if needed, a next-hop router.

The kernel's list of rules saying where each packet should go and through which interface.

Row

One entry in a table: one thing, such as one book.

Defined in: What a database is

One entry in a table, such as one book. Textbooks call it a tuple. Rows have no built-in order.

Row and column

A row is one thing (one user, one order); a column is one fact about every thing (its name, its city).

Defined in: Databases and SQL
Row decoder

A circuit that turns an n-bit row address into exactly one raised word line out of 2^n.

Defined in: SRAM
Row lock

A lock an UPDATE takes on the rows it changes, so that other writers of those rows wait until the transaction ends. Readers are not blocked.

Row pointer (TID)

Where a row lives in the table: in PostgreSQL, the page number and the row's position on that page.

Defined in: Indexes in depth
Row version (MVCC)

PostgreSQL's multiversion concurrency control: an UPDATE writes a new version of the row, so readers can keep using the old, committed one.

Multiversion concurrency control: an UPDATE adds a new version of the row instead of overwriting it, and each reader sees only the versions its snapshot allows, so uncommitted or aborted versions stay hidden.

Row-major order

Storing a grid row by row, so cells of the same row are neighbours in memory.

Defined in: Writing fast C++
RPKI

Resource Public Key Infrastructure: certificates from the regional internet registries that prove who holds which addresses.

RRSIG

A record holding a signature over a set of records, made with the zone's private key.

RTL

Register-transfer level: code, in a hardware language such as Verilog, that describes what each register stores on every clock tick.

RTP

Real-time Transport Protocol: carries the sound in small UDP packets with a sequence number and a timestamp.

Defined in: Voice over IP
Rubber duck debugging

Explaining your code line by line, out loud, to someone or something. Saying what each line does often reveals the bug.

Rule

A selector followed by declarations in curly braces: h1 { color: tomato; }.

Defined in: What CSS is
Rule of five

If a class needs a custom destructor, copy constructor, copy assignment, move constructor or move assignment, it almost always needs all five.

Defined in: Copy and move
Rule of zero

Design classes so they need none of the five: let members such as std::vector or std::unique_ptr manage the resources.

Defined in: Copy and move
Run

A stretch of items that is already in order.

Defined in: Sorting
Run time

While the program is running, as opposed to compile time, when tsc checks it before it runs.

While the program is running. Python does not check hints at run time.

Defined in: Type hints

While the built program is running on the CPU. Values such as argc or user input only exist now.

Rvalue reference

A reference written T&& that binds to temporaries and to objects passed through std::move: a signal that their resources may be taken.

Defined in: Copy and move

S

SAE

Simultaneous Authentication of Equals (Dragonfly): a password login where both sides prove they know the password without giving anything that can be guessed offline.

Salt

Random bytes stored next to a password hash and mixed into it, so equal passwords get different hashes.

Same-origin policy

The browser rule that stops a page reading or changing another origin's document.

Defined in: Iframes and embeds
Sandbox

The walled-off space the operating system gives each app, with its own private files and no access to other apps' data.

An iframe attribute that takes powers away from the framed page; each allow- token gives one back.

Defined in: Iframes and embeds
Saturation

When the output is stuck at (just inside) a supply rail because the circuit asks for more than the supply allows.

Save (write)

Copying the buffer back into the file on the disk: Ctrl+O in nano, :w or :wq in vim.

Saved PC

Where the CPU keeps the address to come back to while a handler runs; a return instruction puts it back in the PC.

Scale out (horizontal scaling)

Adding more machines that run the same program and share the work.

Defined in: Scaling out
Scale up (vertical scaling)

Making one machine bigger: more CPUs, memory or disk. Simple, but limited by the largest machine, and still one point of failure.

Defined in: Scaling out
Scatter-gather

Sending a query to every shard and combining their partial answers, used when the query does not name the shard key.

Defined in: Sharding
Scheduler

The part of the kernel that decides which process runs on the CPU next, and for how long.

A program that runs commands for you at set times, such as cron or systemd timers.

Schema

The fixed design of a table: its name, its columns, each column's type and its rules (such as NOT NULL).

Defined in: Databases and SQL
Schematic

A wiring diagram: each part is a symbol and each net is a set of pins joined together.

Scheme, host, path

The main parts of a URL: how to fetch it (https), which computer (example.com) and which file there (/menu.html).

Defined in: Links and URLs
scope

An attribute on th that says which cells it heads: col for its column, row for its row (also colgroup and rowgroup).

Defined in: Tables

The part of a program where a name can be used. JavaScript has global, function (one per call) and block scopes.

Defined in: Scope and closures

The part of a program where a name can be used directly. A local name's scope is the function it is made in.

Defined in: Scope

The part of a program where a name can be used. A pair of braces { } makes a block, which is a new scope.

The part of the code, usually between { and }, where a local object exists. When the scope ends, its objects are destroyed.

Screen reader

A program that reads a page aloud (or to a braille display) for people who cannot see the screen.

Software that reads a page aloud or on a braille display, for people who cannot see the screen. NVDA, JAWS and VoiceOver are examples.

Defined in: Semantic elements

Software that reads the screen aloud (or to a braille display) for people who cannot see it; it uses labels to name each control.

Defined in: Forms

A program that reads a page aloud (or to a braille display), such as NVDA, JAWS or VoiceOver.

Script

A text file of commands that a program such as Bash runs from top to bottom.

Defined in: Bash scripting
Script (.py file)

A plain-text file of Python code, such as hello.py, run with python hello.py from top to bottom.

Scrubbing centre

A network with very large links that receives a site's traffic during an attack, drops the attack and forwards the rest.

SD-WAN

Software-defined WAN: a central controller sets, per app, which link each site uses between offices (MEF 70).

SDN controller

A program, on an ordinary server, that runs the control plane for many switches and writes their forwarding rules.

SDP

Session Description Protocol: the text inside SIP messages that lists codecs, the address and the port for the sound.

Defined in: Voice over IP
Second normal form (2NF)

1NF, and every non-key column depends on the whole key, not just part of it.

Defined in: Normalisation
Secondary index

An index on a field other than the key, so a search on that field does not have to open every record.

Defined in: NoSQL databases
Security association (SA)

One direction's set of keys, algorithms and counters. A tunnel needs a pair, one each way.

Security group

A stateful firewall attached to each server: it lists what may come in, and replies go out automatically.

sed

The stream editor: it changes text as it flows past, for example s/old/new/ to substitute.

Seen set

The record of nodes already found, so none is added twice and loops cannot trap the search.

Segment

The data plus a TCP header: the transport layer's unit.

Defined in: Packets and layers

One TCP message: a header of at least 20 bytes plus any data. It travels inside an IP packet.

A short file holding a few seconds of video (here 6 s). Players fetch video one segment at a time over HTTP.

Segmentation

Splitting one network into zones so a problem in one zone cannot spread freely to the others.

Select

A LINQ operator that turns each item into a new value with its lambda (also called a projection).

Defined in: LINQ
Select bits

The control inputs of a mux or demux. Read as a binary number, they name the input (or output) to use.

Select list

The columns after the word SELECT. They decide which columns come back; * means every column.

SELECT statement

A SQL command that asks one or more tables a question and returns the answer as a small table of rows.

Selector

The part of a rule that picks which elements to style. h1 picks every h1 element.

Defined in: What CSS is

The pattern at the start of a CSS rule that picks which elements the rule styles.

Defined in: Selectors
self

The usual name for a method's first parameter: the object the method was called on.

Defined in: Classes
Self-similar traffic

Traffic whose bursts look alike at every time scale, so it stays bursty when counted over longer windows. Measured Ethernet and wide-area packet traffic behave this way.

Semantic element

An HTML element whose name says what its content is, such as for navigation links or for closing details.

Defined in: Semantic elements
Semantic version

A MAJOR.MINOR.PATCH version such as 2.1.3. A new major version may break code that used the old one.

Defined in: npm and packages
Semantic versioning

Version numbers written MAJOR.MINOR.PATCH: breaking changes, new features, bug fixes.

Semiconductor

A material in between a conductor and an insulator, such as silicon, whose conductivity can be tuned by doping.

Sense amplifier

A circuit that detects which of two bit lines has dropped a little and turns that into a clean 0 or 1.

Defined in: SRAM

A circuit at the end of each bit line that turns a tiny voltage nudge into a clear 0 or 1 and writes it back. Together they form the row buffer.

Separator key

A key in a root or inner page that says which page below to visit: smaller keys go left, equal or larger go right.

Defined in: Indexes in depth
Sequence number

The number of the first byte in a segment. TCP numbers every byte it sends.

Sequential circuit

A circuit whose output depends on past inputs as well as present ones, because it stores state.

Defined in: The SR latch
Sequential scan

Reading every row of a table and testing each one. EXPLAIN in PostgreSQL shows it as Seq Scan.

Defined in: Indexes in depth

A plan that reads every page of a table in order and tests every row.

Defined in: Query plans

Reading every page of a table and testing every row. PostgreSQL's EXPLAIN calls it a Seq Scan.

Defined in: B-trees
Serial bus

A set of shared wires plus rules for sending bits one after another, instead of many bits at once on many wires.

Serialization delay

The time it takes to push all the bits of a packet onto the wire: size ÷ rate.

Defined in: Bits on the wire
Serialization failure (40001)

The error PostgreSQL raises when it cancels a transaction to keep the result equal to some one-at-a-time order. The fix is to retry.

Defined in: Isolation levels
Series and parallel

Series: parts one after the other on a single path. Parallel: parts side by side, each on its own path.

Defined in: Logic gates
Series circuit

Parts connected one after the other on a single path, so the same current flows through every part.

Serif / sans-serif

Serif letters have small feet at the ends of their strokes (Times New Roman); sans-serif letters do not (Arial).

Defined in: Typography
Server

Whatever does the work: a CPU core, a worker thread, a link, or an agent in a call centre.

Server-side validation

The server checking every value again, because the browser's checks can be skipped.

Defined in: Form validation
Service

A program that runs in the background, with no window, often for as long as the computer is on: a web server, a database, a log collector.

Service rate μ (mu)

How many customers one server can finish per second when it is never idle: 1 ÷ the service time.

The average number of packets the server can send per second when it is busy. The mean service time is 1/μ.

Service time (S)

How long the server spends on one item; for a link, packet size ÷ link speed.

Session

The server's memory that a browser has logged in: a row with a random session ID, the user and an expiry.

sessionStorage

Works like localStorage, but its data is cleared when the tab (the page session) ends.

Set

An unordered collection of unique values, such as {"cat", "dog"}. An empty set is written set(), because {} is an empty dict.

Set and reset

Set makes the stored bit Q equal 1; reset makes it 0.

Defined in: The SR latch
SET clause

The part of an UPDATE that says which columns get which new values. A new value may use the old one, as in copies = copies + 1.

Set-associative

A cache where each line can go in any of a few ways of one set (2 in the figure); direct-mapped is the 1-way case.

setTimeout

Asks the browser or Node.js to call a function after at least a given number of milliseconds.

Defined in: async and await
Setup time

How long D must be steady before the clock edge for the flip-flop to capture it correctly.

Defined in: The D flip-flop

How long before a clock edge a flip-flop's input must already be steady for it to be stored reliably.

Defined in: Clocks and timing

How long before a clock edge a flip-flop's input must already be steady.

Shallow copy

A copy of the top-level values only. Inner objects and arrays are shared with the original, not copied.

Shape

The properties an object must have and their types. TypeScript compares shapes, not names.

Shard

One of those servers (or the slice of rows it holds). Every shard has the same columns but different rows.

Defined in: Sharding
Shard key

The column the rule reads to pick a row's shard, such as customer_id. A good one spreads rows evenly and appears in most queries.

Defined in: Sharding
Sharding

Splitting one database's data across several databases (shards) by a key, so each takes only part of the writes.

Defined in: Scaling out

Splitting one table across several databases, each holding part of the rows (for example by code).

Defined in: System design

Splitting one table's rows across several database servers, so each server holds and serves only some of them.

Defined in: Sharding
Shared buffers

PostgreSQL's pool of page slots in memory (128 MB by default). Pages are read into it, changed there, and written back later.

Defined in: Storage and pages

PostgreSQL's pool of 8 kB page slots in memory, where pages are read and changed. A changed page not yet written back is called dirty.

Shebang

The first line of a script, #! followed by a path such as /bin/bash. It tells the kernel which program runs the file.

Defined in: Bash scripting
Shell

The program inside the terminal that reads each command line, runs it and prints the result. bash and zsh are shells.

Defined in: The command line

The program that reads your commands and starts other programs. bash is the default on Ubuntu, Debian and Fedora.

Defined in: What Linux is

The program that reads the commands you type and runs them. bash is the default on Ubuntu, Debian and Fedora.

Defined in: The shell
Shift register

Flip-flops wired output to next input, so at every clock edge each bit moves one place along.

Defined in: Registers
Shorthand

One property that sets several others at once, such as padding: 20px; for all four sides.

Defined in: The box model
Side effect

Anything a function does besides returning a value, such as printing, changing a global variable or editing a list it was given.

Defined in: Functional style
SIEM

Security information and event management: a system that collects logs and alerts from many sources and links them on one timeline.

Signal

Something physical that changes to carry bits: a voltage, a light, or a radio wave.

Defined in: Bits on the wire

A small numbered message the kernel delivers to a process, such as SIGINT (2), SIGTERM (15) or SIGKILL (9).

A short message the kernel delivers to a process. SIGTERM (15) asks it to end; SIGKILL (9) ends it at once.

Signal handler

A function a program asks the kernel to run when a given signal arrives, instead of the default action.

Signal integrity

How faithfully a signal arrives: whether the receiver still sees clean, correct 1s and 0s after the trip.

Signature

A known attack pattern, such as specific bytes or flags, that a rule matches exactly.

The first line of a method: its return type, its name and its parameter list, such as int Add(int a, int b).

Defined in: Methods
SIM

A small chip that holds your subscriber identity and a secret key, so the network knows who you are.

SIMD

Single instruction, multiple data: one instruction applied to many pieces of data at the same time.

SIMT

Single instruction, multiple threads: NVIDIA's version of SIMD, where each lane runs its own thread but a whole warp shares one instruction at a time.

Simulation

Running a hardware design as a program on an ordinary computer, to see what every signal would do before the chip is built.

Simultaneous multithreading (SMT)

One core running two threads at once on the same execution units; Intel calls it Hyper-Threading.

Single point of failure

One part whose failure stops the whole network, like the switch at the centre of a star.

Single-cycle CPU

A processor that runs every instruction in exactly one clock cycle, so the cycle must be as long as the slowest instruction.

Single-mode fibre

Fibre with a tiny core that lets light follow one path, for links of many kilometres, using 1310 or 1550 nm lasers.

Single-page app

A web app whose JavaScript fetches data and updates the page in place instead of loading new pages.

Defined in: How web apps work
SIP

Session Initiation Protocol: the messages that set a call up and end it (REGISTER, INVITE, 180, 200 OK, ACK, BYE).

Defined in: Voice over IP
SIP server

A registrar that remembers where each phone is, and a proxy that forwards call requests to it.

Defined in: Voice over IP
site-packages

The folder where a Python installation keeps the third-party packages installed into it. It is on sys.path, so import finds them.

size

How many elements a container really holds (v.size()).

Size containment

A rule that the element's size does not depend on its contents. container-type turns it on, so a query cannot loop.

Defined in: Container queries
sizeof

An operator that gives the size of a type or object in bytes, such as sizeof(int*).

Defined in: Pointers

An operator that gives the number of bytes a type or object takes, e.g. sizeof(int) is 4 on mainstream platforms.

sizes

An img attribute that says how wide the image will be drawn, with optional media conditions. The first true condition wins.

Defined in: Responsive images
SLAAC

Stateless address autoconfiguration: a device builds its own address from the prefix a router advertises.

Slack

Required time minus arrival time. Zero or more means the path meets timing; negative means it fails.

How much time a signal has to spare: the clock period minus the path delay. Negative slack means a timing failure.

Sleep mode

A low-power state in which the chip stops its clocks until something, such as an interrupt, wakes it.

Slew

Correcting a clock gradually by running it slightly fast or slow, so time never jumps or runs backwards.

SLI and SLO

A service level indicator measures what users get, such as the share of successful requests; a service level objective is its target, such as 99.9% over 30 days.

Slice

A copy of part of a list, such as nums[1:3]: from the first index up to, but not including, the second.

Defined in: Arrays and lists

A run of characters, written s[start:stop]. It includes start and stops just before stop, and is a new string.

A smaller view of the same memory, written with a range: s[..i] is the first i elements, s[3..] everything from index 3. Nothing is copied.

Slot

How wide the image is drawn, in CSS pixels, worked out from sizes. The browser multiplies it by devicePixelRatio to know how many pixels it needs.

Defined in: Responsive images
Slot (bucket)

One place in the hash table's row. The remainder after dividing the key's hash by the number of slots picks the slot.

Slow start

The start-up phase in which cwnd doubles every round trip, until a loss or until it reaches ssthresh.

Smart pointer

An object that holds a pointer to heap memory and owns it: its destructor frees the memory. std::unique_ptr and std::shared_ptr are the standard ones, from .

SMF

Session Management Function: sets up PDU sessions, gives the phone an IP address and controls the UPF.

SMTP

Simple Mail Transfer Protocol: how mail is handed from an app to a server and from server to server.

Snapshot

The set of committed work a statement or transaction can see. Read Committed takes one per statement; Repeatable Read and Serializable take one per transaction.

Defined in: Isolation levels

A note of which transactions count as finished for a reader, written xmin:xmax:running-list (for example 101:101:).

Defined in: MVCC
SNI

Server Name Indication: the host name the browser puts in the ClientHello so one IP can serve many sites.

Defined in: How HTTPS works
Snippet

The short text under the headline of a search result. It may come from the meta description or from the page.

SNMP

Simple Network Management Protocol: a manager asks agents on network devices for numbers, and agents can send traps.

Socket

A program's end of a connection: an IP address plus a port, which the program reads from and writes to.

Defined in: Ports and sockets
Software

Instructions that tell hardware what to do. Apps, operating systems and websites are all software.

Defined in: What software is
Solicited-node multicast address

A group like ff02::1:ff00:20 made from the last 24 bits of an IPv6 address, so a Neighbor Solicitation reaches (almost) only the owner.

Defined in: Neighbor Discovery
Sorted

In order, smallest first (or largest first). Binary search needs a sorted list.

Sorting

Putting items in order, such as numbers from smallest to largest.

Defined in: Sorting
Source and drain

The two terminals the switched current flows between. In an n-channel MOSFET, current enters at the drain and leaves at the source.

Source code

The text of a program, written in a programming language so people can read and change it.

The program as text you write and can read, saved in a file such as hello.cpp.

Source port

The number the resolver sends its query from. Before 2008 many resolvers reused one fixed port; RFC 5452 says to pick it at random so a forged reply must also guess it.

Space complexity

How the extra memory a piece of code needs grows with n. sorted() builds a new list, so it uses O(n) extra space.

Span

A ref struct that views a contiguous region of memory (an array, stackalloc or native memory; ReadOnlySpan for a string) as a reference to its first element plus a length.

Spanning tree (STP)

A protocol switches run to stop loops: when there are several paths, it blocks all but one.

Defined in: Link aggregation
Spatial locality

Data next to recently used data is likely to be used soon (the items of an array, read in order).

Special method

A method with a reserved name such as __init__ or __add__ that Python calls for you when you use ordinary syntax: Coins(3), a + b, len(x), print(x).

Specializing adaptive interpreter

Since Python 3.11, the VM's habit of swapping instructions in hot code for faster versions made for the types it sees (PEP 659).

Specificity

A score for a selector, written IDs-classes-tags, such as 0-1-0. A higher score usually wins a conflict (a few earlier checks, such as !important, come first).

A score (ids, classes and pseudo-classes, types and pseudo-elements) the browser uses to pick a winner when rules disagree.

A score for a selector, written ids,classes,tags. The browser compares ids first, then classes, then tags: #shop h2 is 1,0,1 and .card__title is 0,1,0.

Spectrum

All the radio frequencies together. Governments divide it into bands and decide who may use each.

The range of radio frequencies. Operators license slices of it and reuse them across cells.

SPF

A DNS TXT record listing which servers may send mail for a domain.

Shortest path first: Dijkstra's algorithm, run by each router on the LSDB to find the cheapest path to every destination.

SPI

Security Parameter Index: the 32-bit number in each ESP packet that tells the receiver which SA, and so which keys, to use.

Serial Peripheral Interface: SCLK (clock), MOSI (out), MISO (in) and one chip-select (CS) wire per chip; full duplex and fast.

Spine

A switch in the middle layer of a fabric. Spines connect only to leaves, never to each other.

Spoofing

Putting a false source address on a packet. DNS uses UDP, a quick one-shot message with no handshake, so a reply can claim to come from a server it did not.

Forging the source address of a packet. IP does not check who really sent it.

Putting a false source address in a packet so it seems to come from someone else.

Spread syntax

... in front of an array or object inside a new [ ] or { }. It copies every item or property into the new one.

Sprint

A short, fixed stretch of work (one month or less, often two weeks) with a goal the team aims to finish.

Defined in: Working in a team
SQL

Structured Query Language: the language for asking (SELECT) and changing (INSERT, UPDATE, DELETE) data in a relational database.

Defined in: Databases and SQL

Structured Query Language: the language apps use to ask a table-based (relational) database questions and to change its data.

Defined in: What a database is
SRAM

Static RAM: six transistors per bit, fast and needs no refresh, but bulky. Used for caches.

Static RAM: fast working memory for variables while the program runs; it forgets everything without power.

SRAM (static RAM)

Memory that keeps each bit in a loop of two inverters. It holds the bit while powered and needs no refresh.

Defined in: SRAM
SRAM and DRAM

SRAM (static RAM) keeps each bit in about six transistors: fast, used for caches. DRAM keeps each bit as charge on a tiny capacitor: dense and cheap, used for main memory.

src

Short for source: the attribute that names the file an img, audio or video element shows or plays.

srcset

An img attribute listing the same picture in several files, each with a descriptor such as 800w.

Defined in: Responsive images
SSH

Secure Shell: a protocol and a set of programs for logging in to and running commands on another computer over an encrypted connection.

Defined in: SSH and keys
sshd

The SSH server program. It listens for connections, by default on TCP port 22.

Defined in: SSH and keys
SSID

Service Set Identifier: the network name, such as "HomeNet", that the access point announces in its beacons.

Defined in: How Wi-Fi works
ssthresh

The slow-start threshold: below it cwnd doubles, above it cwnd grows by about one segment per round trip. A loss sets it to half the window.

Stable queue

A queue whose line stays finite on average. If arrivals reach or pass the servers' capacity, the line grows without limit.

Stable sort

A sort that keeps items that compare equal in their original order.

Defined in: Sorting
Stable system

A system where, in the long run, items leave as fast as they arrive, so the averages settle down.

Stack

A collection where you add and remove items only at one end, the top: last in, first out (LIFO).

Defined in: Stacks and queues

A pile where the last item in is the first out (LIFO). Recursive calls form a stack.

The memory for a running function's local variables. They are made when the function starts and removed automatically when it returns.

Stack frame

The block of memory for one call: its parameters, its local names, and a link back to where the caller continues.

The memory for one running call: its parameters and local variables. Frames pile up on the call stack and are removed when the call returns.

Defined in: Functions

The block of stack memory for one function call: its parameters and local variables (plus bookkeeping such as where to return to).

The memory a function call gets for its local variables and parameters; it is removed when the function returns.

Defined in: References

The memory a method uses for its local variables while it runs. Here it holds a, b, p and q.

The memory a method gets for its locals while it runs. It disappears when the method returns.

Stack machine

A machine that keeps its working values on a stack: instructions push values on top and take them off the top.

Defined in: Inside a compiler
Stack of open elements

The parser's list of elements that are still open. A start tag pushes an element; its end tag pops it; new nodes go inside the top one.

Stack overflow

Running out of stack because too many calls are waiting, usually from recursion with no base case. Python raises RecursionError.

A crash caused by using more stack memory than the system allows, for example through very deep recursion or huge local arrays.

Stack pointer

A CPU register that marks the top of the stack. Moving it up or down is how frames are pushed and popped.

Stack unwinding

What C++ does as an exception travels to its catch: it leaves each scope and runs the destructors of the objects in it.

Stacking context

A group of elements stacked together as one unit in the z-order. Any transform other than none creates one.

Defined in: Transforms
Stage

One step of an instruction's work, done by its own part of the hardware in one clock tick: fetch, decode, execute, memory or write-back.

Defined in: Pipelining
Staging area

Where you collect the changes for your next commit (git add puts them there). Git's own name for it is the index.

Stale data

A cached copy that no longer matches the source of truth, because the source changed.

Defined in: Caching
Stall

Holding an instruction in its stage for one or more cycles until what it needs is ready.

Defined in: Pipeline hazards
Stand-up

A short daily meeting (15 minutes in Scrum) to check progress and raise anything that is stuck.

Defined in: Working in a team
Standard cell

A ready-made gate or flip-flop from the factory's library, drawn to one fixed height so cells line up in rows.

Standard error (stderr)

Stream number 2, for error messages. It goes to the terminal even in the middle of a pipeline.

Standard input (stdin)

The stream a program reads its input from: stream number 0. Normally the keyboard; in a pipeline, the previous program's output.

Standard output (stdout)

Where a program's normal output goes; in a terminal, it is the terminal itself.

Defined in: Node.js

The stream a program writes its results to: stream number 1. Normally the terminal; in a pipeline, the next program's input.

Standards mode

The rendering mode a browser uses when the page starts with ; without it, browsers fall back to quirks mode.

Standby (replica)

A server that receives the primary's WAL and replays it into its own copy. A hot standby also answers read-only queries.

Defined in: Replication
Star

Every device has its own cable to a central switch or access point. Easy to grow; the centre is a single point of failure.

Start and stop bits

In a UART frame, a 0 that marks the start of a byte and a 1 that marks its end, so the receiver can find each byte.

State

Data that must outlast one request, such as accounts, orders, sessions and uploaded files.

Defined in: Scaling out

Which situation the machine is in right now, such as GREEN. It is stored as bits.

Defined in: State machines

How a node is right now, such as expanded or collapsed, checked or not.

The values an object holds at a moment. Each instance keeps its own.

Defined in: Classes
State diagram

A drawing of a state machine: one circle per state and one arrow per possible move, labelled with the input that causes it.

Defined in: State machines
State machine

The object the compiler turns an async method into. It stores the method's local variables and which await it is paused at.

Defined in: async and await
Stateful firewall

A firewall that remembers allowed connections in a state table, so their replies pass without a rule of their own.

Stateless

Each request stands on its own; the server keeps no memory of earlier ones by itself.

The server keeps no memory of the client between requests, so each request carries everything it needs.

Defined in: REST APIs

A server that keeps nothing between requests, so any copy of it can answer any request.

Defined in: Scaling out
Statement

One instruction in a program, such as std::cin >> name;. Most C++ statements end with a semicolon.

Defined in: Your first program

One instruction in a program, such as Console.WriteLine("Hi");. Most statements end with a semicolon, and they run in order.

Static and dynamic power

Static power is used while nothing changes (tiny in CMOS, just leakage); dynamic power is used each time the gate switches.

Defined in: The CMOS inverter
Static library

An archive of object files (libgreet.a; greet.lib on Windows) that the linker copies into the programs that use it.

Static route

A route an administrator writes by hand: a destination network plus a next hop. It never changes by itself.

Defined in: Static routes
Static timing analysis (STA)

A tool that computes the slack of every path from the cell and wire delays, without test inputs.

Static vs dynamic

Static: a stored file, the same for everyone. Dynamic: an answer built by code for this request.

Defined in: How web apps work
static_assert

A check the compiler makes at compile time. If its condition is false, the build stops.

Statically typed

Every variable's type is known before the program runs, and the compiler checks every line against those types.

Statistics

What the database knows about a table without reading it all: rows, pages, and how values are spread. ANALYZE collects them.

Defined in: Query plans
Status code

The three-digit result in a response. The first digit is the family: 2xx success, 3xx redirect, 4xx request problem, 5xx server problem.

The three-digit number on the first line of a response, after HTTP/1.1: 2xx worked, 4xx the request was wrong, 5xx the server failed.

Defined in: REST APIs

The number in a response that says how it went: 200 success, 404 not found, 500 server error.

The three-digit result of a response: 200 OK, 201 Created, 400 Bad Request, 404 Not Found, 405 Method Not Allowed.

Status flags

Single bits the ALU sets about its result: N (negative), Z (zero), C (carry) and V (overflow).

std::array

A standard library class template, std::array from , holding N values of type T side by side. It knows its size and offers at() and size().

std::cin

The standard input stream: >> reads from it what you type at the keyboard.

Defined in: Your first program
std::cout

The standard output stream: text sent into it with << appears on the screen (in the terminal).

Defined in: Your first program
std::getline

A function that reads a whole line of input, spaces included, into a std::string.

Defined in: Your first program
std::make_unique / std::make_shared

Functions that create an object on the heap and return a smart pointer that owns it, so you never write new.

std::move

A standard function from that casts its argument to an rvalue reference. It moves nothing by itself.

Defined in: Copy and move

A cast that marks an object as one that may be moved from. Moving a unique_ptr hands its ownership to another and leaves it holding nullptr.

std::out_of_range

The exception that at() throws when the index is not below the size.

std::shared_ptr

A smart pointer that can be copied. All copies share one object and one control block; the object is deleted when the last copy is destroyed.

std::string

The standard library's type for text of any length. A new std::string is empty ("").

Defined in: Your first program
std::unique_ptr

A standard smart pointer that owns one heap object or array and deletes it in its destructor. It can be moved but not copied.

A smart pointer with exactly one owner. It cannot be copied, only moved; it is usually the same size as a raw pointer.

std::vector

The standard dynamic array: elements side by side in one heap block that grows as you add to it.

std::weak_ptr

A pointer to an object owned by shared_ptrs that does not own it and does not raise the use count. It breaks reference cycles.

stdout / stderr

A program's two output streams: standard output and standard error. A service's are both sent to journald.

Defined in: Logs
Steady state

The long-run behaviour of a queue once averages stop changing. An M/M/1 queue has one only when ρ < 1.

Step

One simple action a program does, such as reading one item or comparing two numbers. Big O counts steps instead of seconds.

StopIteration

The exception an iterator raises when it has no more values. A for loop catches it and simply ends.

Story points

A relative size estimate for a task: a 2 is about twice a 1. Not hours.

Defined in: Working in a team
str

A string: text written in quotes, such as "Sam" or "2". + joins two strings.

str (string)

Text in single or double quotes, such as "tea". + joins strings and * repeats them.

Strategy

A pattern where an algorithm is passed in, so it can be swapped without changing the code that uses it.

Defined in: Design patterns
Stratum

How many hops a clock is from a reference clock: stratum 1 is wired to it, stratum 2 syncs from stratum 1, and so on; 16 means unsynchronised.

Streaming replication

The WAL sender process on the primary sends WAL records to the WAL receiver on the standby as they are written.

Defined in: Replication
strict

One switch that turns on a family of stricter checks, including noImplicitAny and strictNullChecks. On by default since TypeScript 6.0.

Strict equality (===)

Compares two values without converting them: values of different types are never equal. !== is its opposite.

Compares two values without converting their types; !== is its opposite.

Defined in: Conditionals

Equal only if the two values have the same type and value, with no type conversion. assert.equal in strict mode works like it (it uses Object.is, which is === apart from NaN and -0).

Defined in: Testing JavaScript
Strict mode

A stricter version of JavaScript, turned on by "use strict" and always on in classes and modules. A plain call there gets this = undefined.

Defined in: How this works

The "strict": true setting in tsconfig.json. It turns on a family of stricter type checks at once.

Defined in: Strict mode
Strict priority queue

A queue that is always served first when it has packets waiting. Used for voice, and rate-limited so it cannot starve the others.

strictNullChecks

A strict check: null and undefined get their own types, so code must handle them before using a value.

Defined in: Strict mode
String

A value that holds text: a sequence of characters kept in order. In Python its type is str.

A piece of text, written between quotes: "42" is the characters 4 and 2, not the number 42.

Defined in: Values and types

A piece of text: a row of characters in order. Written between "double quotes", 'single quotes' or `backticks`.

A piece of text: a sequence of characters. JSON text is stored in a string.

Defined in: JSON

The type for text, written in quotes: "Mia", "" or "Hello, world!".

Defined in: Basic types
String constant

A text value written in single quotes, such as 'coffee'.

String literal

Fixed text written in double quotes in the code, such as "Name? ".

Defined in: Your first program

Fixed text written in the code inside double quotes, such as "Hello, World!".

Struct

A value type you declare with the struct keyword, usually to bundle a few small values, such as a point.

Structural typing

TypeScript's rule that only the shape matters: any object with the right properties fits the interface.

Stub resolver

The small DNS client in your operating system. It asks one recursive resolver and waits for the final answer.

Stylesheet

A file of CSS rules, such as style.css. One stylesheet can style many pages.

Defined in: What CSS is
Subclass (child)

A class that inherits from another, such as Dog. Also called derived class.

Defined in: Inheritance
Subinterface

A virtual slice of one physical router port, tied to one VLAN tag and given its own IP address.

Submission

SMTP on port 587, with a login, used by a mail app to give new mail to its own provider.

Submit

Sending a form. A inside a form submits it unless it has type="button".

Defined in: Forms

Sending the form's data to the address in its action attribute, here when the Join button is pressed.

Defined in: Form validation
Subnet

A smaller address range cut out of the VPC, for one group of machines, such as the public or private subnet.

Subnet mask

32 bits that mark which part of an address names the network (1 bits) and which part names the device (0 bits).

Defined in: Subnets and masks

A number like 255.255.255.0 that marks which part of an IP address is the network. AND it with an address to get the network.

Subproblem

A smaller version of the same question, such as fib(5) inside fib(7), or making 3 when you need to make 6.

Subscribe (+=) and unsubscribe (-=)

Add a handler to an event's invocation list, or remove it. The only things code outside the class can do with an event.

Defined in: Events
Subscriber / event handler

A method that is added to an event and runs when the event is raised; here, Beep and Flash.

Defined in: Events
sudo

Runs one command as root, the superuser, if your account is allowed to. Needed for anything that changes system files.

SUM

Adds up the values of a column. It skips NULLs, and gives NULL when there are no rows at all.

Sum of products

Terms joined by OR, such as DN + O. Writing one term per 1-row of a truth table always gives a correct one.

super()

A built-in that continues the attribute search after the current class in the MRO, so an override can call its parent's version.

Defined in: Inheritance
Superposition

A qubit state that is a weighted blend of |0⟩ and |1⟩. The weights (amplitudes) set the odds of each measurement result.

Supervised, unsupervised, reinforcement

Learning from labelled examples; finding groups in unlabelled data; learning from rewards and penalties by trying actions.

Supply rail (VDD)

A wire held at the circuit's supply voltage, standing for logic 1. In this lesson it is +1.0 V.

Defined in: The CMOS inverter
Suppress (an exception)

Stop an error from going any further. A context manager does it by returning a true value from __exit__.

Defined in: Context managers
SVI

Switch virtual interface: a layer 3 switch's routed interface for one VLAN, holding that VLAN's gateway address.

Switch

A box that joins the wired devices of a LAN and passes packets between them.

Defined in: What a network is

A box that joins wired devices and sends each message only out of the port it belongs to.

Defined in: Your home network
Symbol table

The list inside an object file of the names it defines and the names it still needs from elsewhere.

SYN cookie

A server's starting sequence number made from a hash of the connection details and a secret, so it needs to store nothing until the final ACK arrives.

SYN cookies

A defence where the server folds its record into the SYN-ACK instead of keeping it, so forged SYNs fill nothing.

Synchronous commit

A commit that also waits until a named standby confirms it has the commit record, so a failover does not lose it.

Defined in: Replication
Syntax

The exact rules for how code in a language must be written, such as matching brackets and quotes.

Syntax error

A mistake in those rules. Python finds it before running anything and reports where it is.

Code that breaks the grammar of the language, such as a missing colon. Python reports it before running anything.

Syntax tree

A tree the parser builds from the tokens. It records what the code means, such as 'return the result of calling len with alist'.

SyntaxError

The error JavaScript throws when text is not written in the form it expects, for example JSON with single quotes.

Defined in: JSON

The error Python reports when code breaks the language's rules, such as = in place of == in an if. Nothing in the file runs.

Synthesis

Turning HDL text into a netlist of gates and flip-flops.

sys.modules

A dictionary of every module loaded so far. Python checks it first, so each module runs only once.

sys.path

The list of folders Python searches for modules. It starts with the folder of the script you ran.

Syslog

A standard way for devices to send text log lines, each with a time, host name and severity from 0 to 7.

System

Any box with a way in and a way out that you choose to count: a router's queue, one link, a whole network, a café.

System call

A request from an app to the kernel for a service, such as opening a file or playing sound.

A request a program makes to the kernel, for example to read a folder (getdents64) or to print text (write).

Defined in: What Linux is
systemctl

The command for talking to systemd: daemon-reload, start, stop, status, enable and more.

systemd

The service manager on most Linux distributions. It runs as process 1 and starts, watches, restarts and stops services.

systemd timer

A .timer unit file that tells systemd when to start another unit, usually the .service with the same name.

systemd-journald

The service that collects log lines from services, the kernel and syslog, stamps them and stores them in the journal.

Defined in: Logs

T

T[]

An array (list) whose items all have type T. number[] is a list of numbers.

Defined in: Generics
T1 / T2

Renewal time (50% of the lease, ask the same server) and rebinding time (87.5%, ask any server).

T568A / T568B

The two standard orders for which wire colour goes on which pin of an RJ45 plug.

Table

A named set of rows that all have the same columns, such as books(id, name, year).

Defined in: What a database is

A named set of rows that all have the same named, typed columns. Textbooks call it a relation.

Table miss

When a packet matches no normal row. The table-miss row (priority 0, matches anything) usually sends it to the controller.

Tabular data

Information set out in rows and columns, where each value is understood by its row and its column.

Defined in: Tables
Tabulation

Bottom-up: fill a table of answers in an order where every cell's inputs are already filled, usually with a loop.

Tag

A label in angle brackets. An opening tag like starts an element; a closing tag like , with a slash, ends it.

Defined in: What HTML is
Tag, index, offset

The three parts of an address: the offset picks a byte inside a line, the index picks a row (or set), and the tag says which line is stored there.

Tail drop

Throwing away new arrivals when the buffer is full.

Tail latency (p99)

The delay that 99% of packets or requests beat. It shows the slow cases that averages hide.

Tandem queues

Queues in a row, where everything that leaves one goes into the next, like the router hops along a path.

Tape-out

The moment the finished layout is sent to the factory, usually as a GDSII file, so the masks can be made.

target

Which version of JavaScript tsc writes. Newer syntax is rewritten into older JavaScript when the target is older.

One thing CMake builds, such as a library (add_library) or a program (add_executable).

A group of units reached together. multi-user.target is the normal running system; WantedBy=multi-user.target means: start me at boot.

Target framework (TFM)

The .NET version a project builds for, written as a short name such as net8.0 or netstandard2.0.

Task

A coroutine that has been handed to the event loop to run, for example by asyncio.gather().

A piece of work the event loop runs one at a time, such as a script or a timer's callback. Tasks wait in a task queue.

Defined in: The event loop

A unit of work the event loop runs, such as running a script or a timer's callback.

A coroutine scheduled to run on the event loop. It keeps the coroutine's return value, read with task.result() once task.done() is True.

Defined in: asyncio
Task / Task

An object that stands for work that finishes later. Task also carries a result of type T once IsCompleted is true.

Defined in: async and await

An object that stands for a piece of work in progress and, when it finishes, its result of type T (read with await or .Result).

Defined in: Tasks and threads
Task.Run

Queues a job (usually a lambda) on the thread pool and returns a Task for it straight away.

Defined in: Tasks and threads
Task.WhenAll

Makes one task that completes when all the given tasks have; for Task its result is an array of their results, in order.

Defined in: Tasks and threads
TaskGroup

asyncio.TaskGroup (Python 3.11+): an async with block whose create_task() starts tasks; leaving the block waits for all of them, and cancels the rest if one fails.

Defined in: asyncio
TCP

Transmission Control Protocol: turns IP's best-effort packets into a reliable, ordered stream of bytes between two programs.

TCP congestion control

The rules a TCP sender uses to pick its speed: it speeds up step by step and slows down when a packet is lost (or marked), which tells it the path is full.

Template

A config with blanks, such as {{hostname}}, that a tool fills in from variables, once per device.

Defined in: Network automation

A recipe for functions or classes with one or more blanks (template parameters) that the compiler fills in when the template is used.

Template argument deduction

The compiler working out a template's parameters from the types of the call's arguments, so you rarely write them yourself.

Template literal

A string written in backticks. Each ${...} slot is filled with the text of the value inside, and it may span several lines.

Template parameter

A stand-in in a template, written template ; T names a type that is chosen later.

Temporal locality

Data used recently is likely to be used again soon (a loop counter, a running total).

Term (product)

Inputs or their opposites joined by AND, such as DN or D'N'O.

Terminal

A window for typing text commands and reading what comes back.

Defined in: The command line

A text window where you type commands, such as node count.mjs notes.txt, and see their output.

Defined in: Node.js

A window for text: you type commands into it and it shows what the programs print back.

Defined in: What Linux is
Termination

A resistor that matches the line's impedance so the wave is absorbed instead of reflected.

Test

A small program that calls your code with known inputs and checks it gives the expected answers.

Defined in: Clean code

A small function that calls your code and checks the result, usually with assert. In pytest its name starts with test.

Test project

A separate project (for example Shop.Tests) that references the code under test and the test framework's NuGet packages.

Defined in: Unit testing
Test runner

A tool that finds test files, runs every test, and reports how many passed and failed. Node.js has one built in: node --test.

Defined in: Testing JavaScript

A tool that collects your tests, runs each one and reports which passed and which failed.

Test vector

One test case: the inputs to apply and the outputs they should give.

Test-driven development (TDD)

Writing the test before the code, in a cycle: red (failing test), green (just enough code), refactor (tidy up).

Defined in: Unit testing
Testbench

Code written only for simulation that drives the inputs of a design and checks its outputs. It is never built into the chip.

Text editor

A program for changing the text in a file. In a terminal you steer it with keys, not a mouse.

then

A promise method that saves a callback to run when the promise is fulfilled, and returns a new promise for the callback's result.

Thermal runaway

A loop in which heat speeds up the cell's reactions, which make more heat. It can end in fire, which is why packs carry protection circuits.

Defined in: How batteries work
Third normal form (3NF)

2NF, and no non-key column depends on another non-key column.

Defined in: Normalisation
this

A hidden value every normal function receives each time it is called. The way the function is called decides what it is.

Defined in: How this works

Inside a method, the object the method was called on: the one before the dot.

Inside a method or constructor, the object the code is running on. Balance there means this.Balance.

Thread

A mesh protocol on 802.15.4 that gives every device an IPv6 address, with no single coordinator.

One path of work through a program. A process can run several threads, which share its memory.

A worker inside a process that follows the code one line at a time. Threads of one process share its memory.

One path of execution through a program: it runs one statement after another, with its own stack. A program can run several at once.

A worker that runs code one statement at a time. A program starts with one main thread and can use more.

Defined in: async and await

One path through your code that the operating system runs on a CPU core, one instruction after another. Every program starts with one: the main thread.

Defined in: Tasks and threads
Thread pool

A set of worker threads that .NET keeps ready for short jobs; in a console app, continuations run on them.

Defined in: async and await

.NET's set of ready worker threads plus a queue of jobs. Workers are reused, so jobs avoid the cost of new threads.

Defined in: Tasks and threads
Threat

Someone or something that could cause harm, such as a criminal or a power cut.

Threat, vulnerability, risk

A threat is anything that could cause harm; a vulnerability is a weakness it could use; risk is how likely the harm is and how bad it would be.

Three-way handshake

SYN, SYN-ACK, ACK: how two sides open a connection and learn each other's starting sequence numbers.

Threshold

A rule that raises an alert when a value crosses a limit, often only after several readings in a row.

Threshold voltage (Vth)

The gate voltage at which the channel forms and the transistor starts to turn on; about 0.4 V in a typical chip process.

The gate-to-source voltage at which a MOSFET starts to turn on: 0.43 V for the NMOS and -0.4 V for the PMOS in the cited textbook process.

Defined in: The CMOS inverter

The gate voltage at which a transistor's channel opens. Trapped electrons raise a flash cell's threshold.

Throughput

The download speed the player actually sees: bits received divided by the time they took.

How many bits per second actually get through. Downloads and backups care about it most.

How many instructions finish per unit of time. Pipelining raises it.

Defined in: Pipelining
throw

A statement that stops the running function at once and hands a value, usually an Error object, down the call stack.

The statement that raises an exception. The current method stops at once and the runtime looks for a handler.

Defined in: Exceptions
TID

Tuple identifier: a row's address in the table as (page, slot). PostgreSQL shows it as the hidden column ctid.

Defined in: B-trees
Time constant (τ)

τ = R × C. After one τ a charging capacitor reaches about 63 % of the supply voltage; after five, over 99 %.

Time Exceeded

The ICMP message (type 11) a router sends back when it drops a packet because its TTL reached 0.

Time field

One of the five numbers in a crontab line: minute, hour, day of month, month, day of week. * means any value.

Time in system (W)

How long one item stays inside on average, from arriving to leaving: waiting time plus service time.

Timeline

A numbered branch of WAL history. Ending a recovery starts a new timeline so new changes never mix with the old ones.

Timeout

A limit on how long to wait for an answer. When it runs out, the caller gives up and handles the failure.

Timing closure

The work of changing a design until every path has zero or positive slack, for both setup and hold.

Timing function

A curve that turns progress (time passed ÷ duration) into how far along the value is. The default is ease.

Timing path

The route a value takes from one flip-flop's output, through gates and wires, to the next flip-flop's input.

Timsort

The sort CPython uses for sorted() and list.sort(): it finds runs, extends short ones with binary insertion sort and merges them.

Defined in: Sorting
TLB

Translation lookaside buffer: a small, fast cache inside the MMU that keeps recent page-to-frame translations.

Defined in: Virtual memory
TLD server

Runs a top-level domain such as .com, and knows which name servers each domain under it delegated to.

TLS

Transport Layer Security: the protocol that encrypts and authenticates the connection. HTTPS is HTTP sent inside TLS.

Defined in: How HTTPS works
Toggle (T) flip-flop

A flip-flop that flips its output on every clock edge, so its output has half the clock's frequency.

Defined in: Counters
Token

One word of a program, such as a name, a number or a bracket. The lexer (tokenizer) cuts the source text into tokens.

A piece of text a language model works with: a word or part of a word.

One unit the tokenizer produces from the characters: a DOCTYPE, a start tag, an end tag, a comment, a character (text is a run of character tokens), or end-of-file.

Tokenizer

The part of the parser that reads characters one at a time and groups them into tokens.

Tolerance

How far the real value may be from the printed one. A gold band means within ±5 %.

ToList

Runs a query at once and stores its results in a new List , so you can use them without running the query again.

Defined in: LINQ
Topic

The name a message is published under, with levels split by slashes (home/kitchen/temp). Subscriptions can use + for one level and # for every level below.

Topology

The shape of the links in a network: which devices are connected to which.

Total internal reflection

Light that meets the edge of a lower-index material at a shallow angle bounces back completely instead of escaping.

Trace

A flat strip of copper on a board layer that connects pads, like a wire.

Traceback

The report Python prints for an exception: the chain of calls that led to it, with the error type and message on the last line.

What Python prints for an uncaught exception: the calls that led to it, oldest first, then the exception's type and message.

Defined in: Exceptions

The report Python prints when an error stops a program: where it happened and what the error was.

Defined in: Context managers
Traceroute

A tool that sends probes with TTL 1, 2, 3 and so on, and lists the router that answers each one: the path.

Track

One column or one row of the grid. grid-template-columns lists the column tracks.

Defined in: CSS Grid
Training data

The examples a model learns from. In supervised learning each example comes with its label.

Transaction

A group of changes that the database treats as one unit: all of them happen, or none of them do.

A group of statements that is kept or cancelled as one. BEGIN starts it, COMMIT keeps its changes and ROLLBACK cancels them.

A group of SQL statements that the database treats as one unit of work, from BEGIN to COMMIT or ROLLBACK: all of it takes effect, or none of it.

Transaction ID

A 16-bit number in every DNS message; a reply must copy the query's ID, so it acts like a ticket number the answer has to quote.

Transceiver (SFP/SFP+)

A plug-in module that turns electrical signals into light and back. SFP+ is the 10 Gb/s version.

Transform

A change to how an element is drawn, such as scale or rotate, that does not move the boxes around it.

A CSS property that changes how an element is drawn (moved, turned, scaled, skewed) without changing its layout. Its initial value is none.

Defined in: Transforms
Transform function

One step in a transform list, such as translate(60px, 20px), rotate(30deg) or scale(1.5).

Defined in: Transforms
transform-origin

The fixed point a transform works around. Its initial value is 50% 50%, the centre of the box.

Defined in: Transforms
Transistor

A switch with no moving parts. A small voltage on one terminal controls a bigger current through the other two.

Transition

A rule that makes a change to a property happen gradually over a set time, instead of in one jump.

Translation table

The router's list of rows, each pairing an inside address and port with the public port it was given.

Translation unit

One source file plus everything it #includes, after preprocessing: what the compiler turns into one object file.

Transmission delay

The time to push a packet's bits onto the link: packet size divided by link speed. Also called serialization delay.

Transmission line

A pair of conductors (here a trace and the ground plane under it) along which a fast signal travels as a wave.

Transparent

Said of a latch whose enable is on: the output follows the input, as if looking through a window.

Defined in: The D flip-flop
Transport mode

ESP protects only what follows the original IP header, which stays visible; used between two hosts.

Trap

A message a device's agent sends without being asked, such as 'port 7 is down', to UDP port 162.

Traversal

Visiting every node of a tree once. In-order visits the left subtree, then the node, then the right subtree.

Defined in: Trees
Trunk

A link that carries frames for several VLANs, each marked with an 802.1Q tag saying which VLAN it belongs to.

A group of lines between two exchanges that callers share; each call uses one line while it lasts.

Trunk port

A switch port that carries several VLANs over one cable, telling them apart with 802.1Q tags.

Defined in: VLANs and trunks
Trust anchor

The one key a validating resolver trusts in advance: the root zone's key, built into the resolver.

Trusted port

A port the switch believes may carry DHCP server messages, usually the uplink toward the real DHCP server. All others are untrusted.

Truth table

A list of every possible input and the result an operation gives for each one.

A list of every possible input combination and the output a gate gives for each one.

Defined in: Logic gates

A list of every combination of input bits and the output wanted for each one.

A list of every combination of input bits and the outputs each one gives.

try / catch

try marks code that may throw; if it does, control jumps to catch, which receives the thrown value.

try marks code that might fail; a catch clause after it handles exceptions of its type or any derived type.

Defined in: Exceptions
try / except

A guarded block and its handlers. If a line inside try raises, Python jumps to the first except clause whose type matches, instead of stopping.

Defined in: Exceptions
TS2322

tsc's error code for putting a value of one type into a place that needs another, such as a string into a number variable.

Defined in: Basic types
tsc

The TypeScript compiler. It checks the types, reports errors, and writes .js files with the types removed.

Defined in: What TypeScript is

The TypeScript compiler. It infers and checks types, reports errors, and writes plain JavaScript.

Defined in: Type inference

The TypeScript compiler. It checks the types before the program runs and writes plain JavaScript.

The TypeScript compiler. It checks your code against its types and writes plain JavaScript.

tsconfig.json

A JSON file at the root of a TypeScript project that holds the compiler settings. Running tsc with no file names uses it.

The settings file for a TypeScript project. tsc reads it to know which files to check and how.

Defined in: Strict mode
TTL

Time To Live: a hop counter in the IP header. Each router lowers it by one; at zero the packet is dropped.

Time to live: how many seconds a record may be cached before it must be asked for again.

Time to live: how many seconds a record may be cached. An attacker picks a long TTL so a poisoned record lingers.

Time to live: a hop counter in every IPv4 packet. Each router takes 1 off; at 0 the packet is dropped.

Time to live: a hop counter in every IP packet. Each router lowers it by one and drops the packet at zero. Packets Linux sends start at 64; Windows starts at 128.

TTL (time to live)

How long a cached copy may be kept. When it runs out the copy is deleted.

Defined in: Caching
Tunnel

Carrying a packet of one protocol inside another, for example IPv6 inside IPv4 (6in4), to cross a network that only speaks the outer one.

Tunnel mode

ESP wraps the whole original packet and adds a new outer IP header between the two gateways.

Tuple

An ordered collection of values, usually in round brackets, such as (3, 4). It cannot change after it is made.

Defined in: Lists and tuples

One version of a row as stored on a page, with a header that holds xmin, xmax and ctid.

Defined in: MVCC
Twisted pair

Two insulated copper wires twisted around each other. An Ethernet cable has four of them.

Two's complement

The usual way computers store negative numbers: to negate, invert every bit and add 1. Four bits then hold −8 to 7.

Type

The kind of value, which decides what you can do with it. type(x) tells you a value's type.

The kind of data a value is (number, string, boolean and so on). It decides what operators like + do with it.

Defined in: Values and types

What kind of value something is, such as number (2, 3.5) or string (text in quotes, like "2").

Defined in: What TypeScript is

What kind of value something is, such as number (3, 2.5) or string (text in quotes, like "apples").

Defined in: Type inference

The kind of a value, such as int, float or str. It decides what you can do with the value; type() tells you a value's type.

The kind of a value, such as int (whole number), str (text) or list. It decides what you can do with the value.

Defined in: Type hints

What kind of value a variable holds, such as int or double. It decides the variable's size, which values fit and what operators do.

Type alias

A name for a type, written with type, as in type ID = number | string. It can name any type.

A name for a type, written with type, like type Align = "left" | "right" | "center".

Type annotation

A type written next to a name, like : number in a: number.

Defined in: What TypeScript is

A type written after a name and a colon, like : string in let user: string, saying what the box may hold.

Defined in: Basic types

A type you write yourself next to a name, like : number in let count: number = 3.

Defined in: Type inference

A type written after a name, like : User in const ana: User.

A hint after a colon, as in x: int, saying what type a value should be. Python does not check it at run time.

Defined in: Dataclasses
Type argument

The actual type that fills a type parameter, such as number in first ([10, 20]).

Defined in: Generics

The actual type supplied when a generic type is used, such as int in Box .

Defined in: Generics
Type assertion (as)

value as User tells tsc to treat a value as a type. It changes nothing and checks nothing at run time.

Type checker

A separate tool, such as mypy, that reads code without running it and reports values that do not match their hints.

Defined in: Type hints
Type checking

Making sure every operation gets values of the right type, for example that + gets two numbers, before any code runs.

Defined in: Inside a compiler
Type erasure

Removing the types when writing JavaScript. The running program never sees them.

Defined in: What TypeScript is

Removing the types when tsc writes JavaScript. The running program never sees them.

Removing all types, including type parameters, when tsc writes JavaScript.

Defined in: Generics

Removing all types, aliases and interfaces when tsc writes JavaScript.

tsc removing types when it writes JavaScript. Enums are an exception: they become real objects.

tsc removes all types when it writes JavaScript, so no type exists while the program runs.

Type guard

A check, such as typeof id === "string", that tsc uses to work out a more exact type inside a branch.

A run-time check that tsc understands and uses to narrow a type: a test such as typeof x === "number", or a function like isUser whose return type is a type predicate.

Type hint (annotation)

A note in the code that says which type a parameter, return value or variable should have, written n: int or -> int.

Defined in: Type hints
Type inference

TypeScript working out a type from the code, usually from a variable's starting value, so you do not have to write it.

Defined in: Type inference

tsc working out a type on its own, here T from the type of the argument passed in.

Defined in: Generics
Type parameter

A placeholder for a type, written in angle brackets, like the T in first . Each use fills it in.

Defined in: Generics

A placeholder for a type, such as T in class Box . Inside the definition it is used like a real type.

Defined in: Generics
Type predicate

A return type such as x is User. It says that when the function returns true, x has that type.

Type selector

A selector that is just a tag name, such as p. It matches every element with that tag.

Defined in: Selectors

A selector that is a tag name, such as p. It matches every element with that tag.

Type-safe

Every value has a type (such as string or int), and the compiler stops code that uses a value as the wrong type.

TypeError

The error Python raises when an operation gets a type it cannot work with, such as "2" + 2.

An error JavaScript throws when an operation is not allowed, such as giving a const a new value.

The error JavaScript throws when a value is used in a way its type does not allow, such as reading a property of undefined.

Defined in: How this works

The error JavaScript throws when a value is used in a way it does not allow, such as assigning to an import.

Defined in: Modules

The JavaScript error raised when a value is used in a way its type does not allow, such as calling a method on undefined.

Defined in: Strict mode

The error Python raises when an operation gets a value of the wrong type, such as joining a str and an int with +.

The error Python raises when an operation gets a value of the wrong type, such as adding a number to a string.

Defined in: Input and output

The error Python raises when a value does not support an operation, such as assigning to an item of a tuple.

Defined in: Lists and tuples

The error Python raises when an operation does not support a type, such as + between two objects with no __add__.

Typeface (font)

A design for the letters, such as Arial or Times New Roman.

Defined in: Typography
typeMismatch

The flag that is true when a non-empty value does not have the shape its type asks for, such as an email address without @.

Defined in: Form validation
typeof

An operator that gives the name of a value's type as a string, such as "number" or "string".

Defined in: Values and types

A JavaScript operator that gives a value's kind as text while the program runs, such as "string" or "number".

TypeScript

JavaScript plus types. It is checked by the TypeScript compiler and turned into plain JavaScript to run.

Defined in: What TypeScript is
Typography

How text looks on the page: its font, size, spacing between lines and alignment.

Defined in: Typography
Typosquatting

Publishing a harmful package under a name one typo away from a popular one, hoping people mistype.

U

UART

Universal asynchronous receiver-transmitter: two data wires (TX and RX), no clock wire; both ends agree on a baud rate.

UDM

Unified Data Management: stores subscriber identities, plans and the data used to check SIMs.

UDP

User Datagram Protocol (RFC 768): sends single messages between apps over IP with only ports, a length and a checksum added.

UID

User ID: the number Linux uses for a user. root is 0; regular users start at 1000 on Debian, Ubuntu and Fedora.

UnboundLocalError

The error Python raises when a function uses a local name before assigning it, for example count = count + 1 without global count.

Defined in: Scope
Uncaught error

An exception that no try catches. The script stops and the console reports it.

undefined

The value a variable holds before anything is put in it; also the name of its type.

Defined in: Values and types

JavaScript's value for "nothing here", for example what you get when you read an index that has no item.

Defined in: Arrays

The value you get when you read a property that does not exist, among other things: JavaScript's "nothing here".

Defined in: Objects
Undefined behaviour

Code the C++ standard sets no rules for, such as following a null pointer. Anything may happen; often a crash.

Defined in: Pointers

Code the C++ standard sets no rules for, such as reading or writing past the end of an array. Anything may happen.

Code the C++ standard places no requirements on: it may seem to work, give wrong results or crash.

The language makes no promise about what happens: the program may crash, print garbage or seem to work.

A program the C++ standard sets no rules for. It may seem to work, give wrong answers or crash.

Undefined behaviour (UB)

What a program does after it breaks certain rules of C++, such as reading past the end of an array. The standard places no requirements on it.

Undo journal

A note of the old values the database keeps while a transaction runs, so it can put them back. SQLite calls it the rollback journal.

Unhandled exception

An exception that no catch on the stack matches. .NET ends the process and prints its type, message and stack trace.

Defined in: Exceptions
Unicast

A frame addressed to exactly one MAC address.

A message to exactly one device, sent to its own address.

Unicode and UTF-8

Unicode gives every character in every writing system, and every emoji, a number called a code point. UTF-8 is the most common way to store those numbers as 1 to 4 bytes.

Union (int | None)

A hint that allows any one of several types; int | None means an int or None.

Defined in: Type hints
Union type

A type made of several types joined with |, such as string | number. A value of it can be any one of them.

A type that allows one of several types, written with |. number | string means a number or a string.

Several types joined with |, read as "or". A value fits if it fits any one of them.

A type that is one of several, written with |, such as "id" | "name".

Defined in: Utility types

A type made of several options joined with |; a value of the type can be any one of them.

A type that is one of several, written with |. string | undefined is a string or undefined.

Defined in: Strict mode
UNIQUE

A rule that no two rows share the same value in a column. Unlike a primary key, it allows NULLs.

Unit

The smallest piece of code you can test on its own, usually one function.

Defined in: Unit testing

Something systemd manages, such as the service hello.service.

Defined in: Logs
Unit / target

systemd's names for things it manages: a service is a unit, and a target such as multi-user.target is a goal made of many units.

Defined in: How Linux boots
Unit file

A small text file that describes something systemd manages. A .service unit says what command to run (ExecStart) and when to restart it.

Unit test

A small function that calls a unit with known input and checks the output with an assertion.

Defined in: Unit testing

A small program that calls one piece of code (a unit, such as a function) with known inputs and checks the result.

Defined in: Testing JavaScript

A small method that calls one unit of code (a method or class) with known inputs and checks the result automatically.

Defined in: Unit testing
Universal gate

A gate that is functionally complete on its own, such as NAND or NOR.

unknown

A type that holds any value but cannot be used until you check what it is.

Unlicensed band

A band anyone may use within power rules, such as Wi-Fi's 2.4, 5 and 6 GHz bands.

Unordered list (ul)

A list whose order does not matter. Browsers draw a bullet before each item.

unshare

A command (and system call) that moves the calling process into new namespaces. A new PID namespace only applies to the caller's children, so -f forks a child that becomes the first process inside.

Untrusted input

Anything that arrives from outside your program: form fields, the address, cookies, headers, files. Treat it as possibly wrong or hostile until checked.

Unwinding

The calls finishing one by one, each handing its return value to the call below it.

Defined in: Recursion

Leaving methods, and popping their frames, while the runtime searches up the call stack for a matching catch.

Defined in: Exceptions
UPDATE

The SQL command that changes values in rows already in a table: UPDATE table SET column = value WHERE condition.

Update anomaly

When changing one copy of a repeated fact leaves the other copies wrong, so the data disagrees with itself.

Defined in: Normalisation
UPF

User Plane Function: forwards your packets between the tunnels and the internet; the fixed anchor when you move.

Uplink

The cable from an access switch up to the next layer. Campus designs give every access switch two, one to each distribution switch.

URL

Uniform Resource Locator: the address of a page or file, such as https://example.com/menu.html.

Defined in: Links and URLs
Use count

The number of shared_ptrs that currently own an object, kept in the control block. use_count() reads it.

Use-after-free

A bug in languages with manual memory, such as C: using memory after it has been returned with free().

Defined in: Garbage collection
User mode / kernel mode

Two levels the CPU enforces: apps run in user mode with limits; the kernel runs in kernel mode with full control.

User space

Where all ordinary programs run, the shell included. Code here cannot touch the hardware directly.

Defined in: What Linux is
User story

A short need written from a user's view: As a [who], I want [what], so that [why].

Utilisation (ρ)

The fraction of time a server is busy: ρ = λ × S. It must stay below 1, or the queue grows without limit.

The fraction of time a server is busy: arrival rate ÷ service rate, ρ = λ / μ. ρ is the Greek letter rho.

The share of time each server is busy: ρ = A ÷ c. It must stay below 1, or the line grows without limit.

The fraction of time a link is busy: arrival rate divided by the rate it can send, ρ = λ / μ. It must stay below 1 or the queue grows without limit.

Utilisation ρ (rho)

The fraction of time the servers are busy: λ ÷ (c × μ) for c servers. A queue is stable only when ρ is below 1.

The load: ρ = λ/μ, the fraction of time the server is busy. The queue is stable only while ρ < 1.

Utility type

A generic type that ships with TypeScript, such as Partial or Pick, that builds a new type from an existing one.

Defined in: Utility types
UTS namespace

A namespace for the hostname (and NIS domain name), so a container can have its own name.

UUID

A unique id stored in a filesystem. blkid prints it; fstab uses it because it does not change when disk names do.

V

V8

The JavaScript engine from Google, used by Chrome and by Node.js.

Defined in: Node.js
VACUUM

PostgreSQL's clean-up command. It removes old row versions that no transaction can still see, so their space in the page can be reused.

Defined in: Storage and pages

The command (also run automatically by autovacuum) that removes dead tuples and marks their space free for reuse.

Defined in: MVCC

PostgreSQL's clean-up command. It removes row versions that no transaction can see any more, such as those left behind by an aborted transaction.

Valence electrons

The electrons in an atom's outer shell, which take part in bonding. Silicon has 4, phosphorus 5, boron 3.

Valid bit

A bit on each cache row that says whether the row holds real data yet.

Validation

Checking that input follows the rules before it is used or sent.

Defined in: Form validation
Validator

Software (a relying party) that downloads ROAs, checks their signatures and gives routers the list of what is allowed.

Validity record

The field's ValidityState: true/false flags, one per kind of problem, plus valid, which is true only when no problem flag is.

Defined in: Form validation
Value

What the property is set to, such as tomato or 48px.

Defined in: What CSS is

A single piece of data a program works with, such as 42, "hi" or true.

Defined in: Values and types

What a key points to. Any object can be a value, and values may repeat.

The keyword inside a set accessor that holds the new value being assigned.

Defined in: Properties
Value equality

Two values are equal when their contents are equal, even if they are separate objects. Records use it; plain classes compare references.

Value stack

A pile of values inside a frame. Instructions push values on top and pop them off; the newest value is always on top.

Value type

A type whose variables hold the value itself, such as int, double, bool, char or any struct. Assigning one copies the whole value.

A type whose variables hold the data itself, such as int or any struct. Assigning one copies the value.

A type, such as int or bool, whose variables hold the value itself. A plain value type can never be null.

var()

A function that reads a custom property: var(--brand). The browser replaces it with the value the element holds.

Variable

A name that refers to a value stored in memory, such as age referring to 31.

A named place to keep a value, such as count. let makes one that can change; const makes one that cannot be reassigned.

Defined in: What JavaScript is

A name for a value, like a labelled box in memory. Code can read the value by using the name.

A named box that holds a value, made with let. Its value can change; in TypeScript its type cannot.

Defined in: Basic types

A name that refers to a value. In Python the name points at an object; it does not hold the value inside itself.

A named box in memory that holds a value, such as name. Its type says what kind of value fits.

Defined in: Your first program

A named box in memory that holds one value at a time. In C++ every variable has a fixed type.

A named box in memory that holds a value, such as name. var lets the compiler work out its type.

A name that holds a value inside the running bash, made with name=value and read with $name.

Defined in: Bash scripting
Version control

A system such as Git that saves every change as a commit (who, what, when, why) so any old version can be brought back.

Defined in: Network automation

A system that records changes to files over time, so you can see who changed what and go back to any earlier version.

A shared history of every change to the code, such as Git. A commit is one saved change.

Defined in: What DevOps is
Version pin (==)

A requirement such as requests==2.32.3 that asks for exactly one version, so every install gets the same code.

Vertex (node)

One of the things in a graph, such as a town, a person, a web page or a router.

Defined in: Graphs
Via

A small hole drilled through the board and plated with copper, joining copper on different layers.

Viewport

The area a browser lays a page out in. On phones the viewport meta tag sets its width, usually to the device's own width.

The part of the page you can see in the browser window. A fixed box is placed against it.

Defined in: Positioning

The area a page is laid out in: the browser window, or the screen on a phone.

The visible area of the browser window. A media query's width is the viewport's width.

Defined in: Container queries
Viewport meta tag

in the head: tells a phone to make the viewport as wide as its screen in CSS pixels.

vim

A powerful terminal editor, based on the older vi, in which keys mean different things in different modes.

Virtual address

An address as a program sees it, in its own private address space. The MMU translates it to a physical address in RAM.

Defined in: Virtual memory
Virtual and override

A virtual (or abstract) method can be replaced in a derived class with override. The object's real type decides which version runs.

Virtual destructor

A destructor marked virtual, so deleting a derived object through a base pointer runs the derived destructor first, then the base's.

Virtual environment

A folder of installed packages for one project, made with python -m venv, so projects don't clash.

Virtual environment (venv)

A folder with its own python and its own site-packages, isolated from the system Python's packages.

Virtual function

A member function marked virtual. A call through a base pointer or reference runs the version of the object's real type, decided while the program runs.

Virtual ground

In an inverting amplifier, the - input held at almost 0 V by feedback, even though it is not wired to ground.

Virtual machine

A pretend computer made of software. CPython's virtual machine reads bytecode and does each instruction.

Virtual machine (VM)

A program that runs bytecode in a loop: fetch an instruction, do it, move to the next.

The part of CPython that runs bytecode, one instruction at a time. A machine made of software, not hardware.

VLAN

Virtual LAN: a group of switch ports that behaves like its own separate network, even though it shares the hardware with other VLANs.

Defined in: VLANs and trunks

Virtual LAN: a group of switch ports that act as their own separate LAN, with their own subnet, even though they share one switch.

Virtual LAN: one switch split into separate LANs; a frame never crosses from one VLAN to another without being routed.

VLAN ID (VID)

The 12-bit number that names a VLAN. Values 1 to 4094 are usable; 0 and 4095 are reserved.

Defined in: VLANs and trunks
void

A return type meaning the method hands nothing back, as with Console.WriteLine.

Defined in: Methods
Void element

An element with no content and no closing tag, such as meta.

An element with no content and no closing tag, such as . You write only the opening tag.

VoIP

Voice over IP: phone calls carried as IP packets instead of over a dedicated phone line.

Defined in: Voice over IP
Voltage

The push that drives current: the energy, in joules, that each coulomb of charge gets, measured between two points. 1 V = 1 J/C.

Voltage divider

Two or more resistances in series that share a voltage in proportion to their size.

Voltage follower

An op-amp with its output wired straight to its - input: gain 1. Used as a buffer between a weak source and a load.

VPC

Virtual private cloud: your own private network inside a cloud provider, with an address range you choose (Azure calls it a virtual network).

VPN

Virtual private network: a private network built from encrypted tunnels through a shared network such as the internet.

Virtual private network: an encrypted tunnel across an untrusted network that makes distant networks or devices behave as if they were connected directly.

Virtual private network: an encrypted tunnel that carries your packets across an untrusted network as if you were on the private one.

Defined in: Defence: WireGuard
VRRP

Virtual Router Redundancy Protocol (RFC 9568): two routers share one virtual gateway address; the Active one answers, the Backup takes over if it fails.

Vsync

Waiting for the screen's next refresh before showing a new frame, so a frame is never swapped in halfway through.

vtable and vptr

How compilers implement virtual calls: each class with virtual functions has a table of them (the vtable), and each object holds a hidden pointer to its class's table (the vptr).

Vulnerability

A weakness a threat could use, such as unpatched software or a weak password.

VXLAN

Virtual Extensible LAN (RFC 7348): carries Ethernet frames inside UDP packets between leaves, so a virtual network can stretch across many racks.

W

WAL and checkpoint

The write-ahead log (WAL) is a file of change records, written to disk before the changed pages. A checkpoint is a moment when every dirty page is written back to the table files, so older WAL is no longer needed for recovery.

Defined in: Storage and pages
WAL archive

Somewhere safe, usually another machine, where archive_command copies each finished WAL file (16 MB by default).

WAL record

One entry in the write-ahead log describing a change, such as a row insert or a commit. Its position is its log sequence number (LSN).

Defined in: Replication
WAN

Wide area network: a network spanning towns, countries or continents, such as an internet provider's.

Defined in: What a network is

Wide area network: links between cities and countries, usually leased from carriers. The internet is the biggest one.

Warp

A group of 32 threads on an NVIDIA GPU that run the same instruction together. AMD calls the group a wavefront (32 or 64 threads).

Warp divergence

When threads in one warp take different branches, so the paths run one after the other and some lanes sit idle.

Watt (W)

The unit of power: one joule of energy every second.

Defined in: Ohm's law
Watt-hour (Wh)

A unit of energy: volts times amp-hours. A 3.7 V, 3 Ah cell stores about 11.1 Wh.

Defined in: How batteries work
Waveform

A drawing of a signal against time: a high line for 1, a low line for 0.

Wavelength (λ)

The distance from one wave crest to the next: the speed of light divided by the frequency.

The distance from one crest of a wave to the next: the speed of light divided by the frequency.

Wear levelling

Spreading writes and erases evenly over all blocks, so no block wears out early.

Web API

A program that answers HTTP requests from other programs with data, usually JSON, instead of web pages.

Web app

A website that behaves like an app and runs in the phone's browser; nothing goes through an app store.

Web server

A program that answers HTTP requests. It sends static files as stored and passes other requests on to the app.

Defined in: How web apps work
Web storage

A browser feature that lets a page keep small pieces of text, as key-value pairs, in the browser itself. It has two stores: localStorage and sessionStorage.

Weighted edge

An edge that carries a number, such as a road's length in km.

Defined in: Graphs
Weighted fair queueing

Serving several queues in turn, each getting a share of the link in proportion to its weight; a share nobody uses goes to the others.

Well-known port

A port from 0 to 1023, kept by IANA for standard services: 53 DNS, 80 HTTP, 443 HTTPS, 22 SSH, 25 SMTP.

Defined in: Ports and sockets
Where

A LINQ operator that keeps only the items for which its lambda returns true.

Defined in: LINQ

The clause that tests every row and keeps only the rows where the test is true.

Keeps or drops single rows before any grouping. It cannot use an aggregate.

WHERE clause

The condition that picks which rows a statement reads or changes. It is tested on every row; without it, UPDATE and DELETE affect all rows.

while loop

A loop that runs its body again as long as its condition is True.

A loop with only a check: while (condition) { body }. It repeats while the condition is true.

Defined in: Loops

A loop that runs its body again and again as long as a condition is True, checked before each pass.

Defined in: Loops

A loop that tests its condition before every pass and runs its body again and again while the condition is true.

Whitespace collapsing

What the browser does with spaces, tabs and line breaks in normal text: any run of them shows as a single space.

Widening

TypeScript giving a let variable a general type (string) instead of the literal it starts with, because it may change later.

Width descriptor

The w after a file in srcset: 800w means the file is 800 pixels wide.

Defined in: Responsive images
Wildcard

A character that stands for other characters in file names. * matches any run of characters, so *.txt means every name ending in .txt.

Defined in: The shell
WIP limit

The most work-in-progress items a column may hold at once. It keeps the team finishing before starting.

Defined in: Working in a team
Wireless LAN controller

A central box that manages many Wi-Fi access points over CAPWAP tunnels: their network names, channels and security settings.

with expression

Makes a copy of a record (or struct) with some properties changed, leaving the original as it was.

with statement

Runs an indented block with the file open and closes the file when the block ends, even if an error happens.

Defined in: Working with files

Runs a block of code inside a context manager: calls __enter__ first and __exit__ when the block ends, for any reason.

Defined in: Context managers
Withdrawal

The part of an UPDATE message that says a prefix can no longer be reached through the sender.

WLAN

Wireless LAN: a LAN whose links are radio, such as Wi-Fi.

Word line

The wire, driven by a decoder output, that selects one row of a memory array.

The wire along a row that opens the access transistors of every cell in that row.

Defined in: SRAM
Word line / bit line

A word line runs along a row and opens the doors of all its cells; a bit line runs along a column and carries charge in and out of its cells.

Working directory

The folder the shell is in right now. Relative paths start from here; pwd prints it and cd changes it.

Defined in: The command line

The files you can see and edit right now.

The folder your shell is standing in right now. pwd prints it; cd changes it.

Defined in: The file system

The folder the shell is standing in right now. pwd prints it, cd changes it, and relative paths start from it.

Defined in: Working with files
Worst case

The input that makes the code take the most steps. Big O usually describes this case.

WPA3

The current Wi-Fi security standard from the Wi-Fi Alliance. WPA3-Personal uses SAE; both Personal and Enterprise require Protected Management Frames.

Wrap around

Going back to 0 after the largest value: a 4-bit counter goes from 15 (1111) to 0 (0000).

Defined in: Counters
Wrapper

The new function a decorator returns. It usually calls the original and adds something before or after.

Defined in: Decorators
Write skew

Two transactions read the same data, then each changes a different row, together breaking a rule that each one checked. A serialization anomaly.

Defined in: Isolation levels
Write-ahead log (WAL)

A log on disk where the DBMS records each change before it reports the change as saved, so it can recover after a crash.

Defined in: What a database is

A log on disk where every change is recorded before the data files are changed; COMMIT waits for it to be flushed, and crash recovery replays it.

An append-only file of records, each describing one change. A change is logged here before the changed page may be written to the data files.

The log where PostgreSQL records every change before it changes the table files. Replaying it repeats the changes in order.

Write-back and dirty bit

A write policy that updates only the cache and marks the line dirty; the line is written to memory when it is evicted. Write-through updates memory on every store instead.

X

xmax

The id of the transaction that deleted or replaced a row version; 0 while nobody has.

Defined in: MVCC
xmin

The id of the transaction that created a row version.

Defined in: MVCC
XOR

Exclusive OR: gives 1 when its two inputs are different and 0 when they match.

Defined in: Logic gates
XOR (exclusive OR)

A gate whose output is 1 when its two inputs are different and 0 when they are the same.

xUnit

A popular open-source test framework for .NET. NUnit and MSTest are the other two main ones.

Defined in: Unit testing

Y

YANG

A language for data models (RFC 7950) that names each setting and its rules, so tools and devices agree on a config's shape.

Defined in: Network automation
yield

Hands a value out of a generator to whoever called next(), and pauses the generator on that line until it is asked again.

Z

Z flag

A one-bit register the ALU sets to 1 when its result is zero; conditional jumps such as JNZ read it.

Zero trust

A security model with no trust from network location: every request is authenticated and authorised (NIST SP 800-207).

Zombie

A process that has ended but whose parent has not yet collected its exit status with wait. Only its row is left (state Z).

Zone

A group of devices with the same job and the same rules, here one VLAN and one subnet each.