Glossary
Working definitions from the lessons, collected in one place.
2216 terms
#
The element that holds a whole table, from to .
Defined in: TablesThe table's title. It must be the first thing inside ; browsers draw it centred above the grid.
Defined in: TablesTable row: holds the cells of one row, from left to right.
Defined in: TablesTable header: a header cell that labels other cells. Drawn bold and centred by default.
Defined in: TablesTable data: an ordinary data cell holding one value.
Defined in: TablesThe part of an HTML document that holds metadata. Nothing in it is drawn in the page area; the visible content goes in .
Defined in: The head: metadata, SEO and sharingAn 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.
Defined in: Special (dunder) methods- __all__
A list of a module's public names. from module import * imports exactly these.
Defined in: Modules and interfaces- __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.
Defined in: Objects and classesThe method Python calls automatically on each new instance to set up its attributes.
Defined in: ClassesThe special method that sets up a new object. Coins(3) makes the object, then calls __init__ with it as self and 3 as n.
Defined in: Special (dunder) methods- __init__.py
The file that marks a folder as a regular package. It runs when the package is first imported and may be empty.
Defined in: Modules and packages- __name__
A module's name: the module's own name when it is imported, and '__main__' for the file you run.
Defined in: Modules and packages- __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__.
Defined in: Special (dunder) methodsThe 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.
Defined in: Special (dunder) methods- --declaration
The tsc option that writes a .d.ts file next to each .js file it outputs.
Defined in: Modules and declaration files- ::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.
Defined in: Pseudo-classes and pseudo-elements- :first-child
Matches an element that is the first child of its parent. Same as :nth-child(1).
Defined in: Pseudo-classes and pseudo-elements- :hover
Matches an element while a pointer, such as a mouse, is over it (or over one of its children).
Defined in: Pseudo-classes and pseudo-elements- :root
A selector that matches the top element of the document. In an HTML page that is the html element.
Defined in: Custom properties (CSS variables)A pseudo-class that matches the document's root element, the element in a web page.
Defined in: Organising CSS at scale- ?. ?? ??=
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).
Defined in: Null and nullable types- .. (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__/.
Defined in: Git: saving history- .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.
Defined in: What C# and .NET are- [[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).
Defined in: Prototypes and classes- [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; }.
Defined in: Transitions and animations- @layer statement
A line such as @layer base, components; that creates layers and fixes their order before any styles are put in them.
Defined in: Organising CSS at scale- @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.
Defined in: Custom properties (CSS variables)- @types package
An npm package from the DefinitelyTyped project that holds .d.ts files for a JavaScript library that ships none.
Defined in: Modules and declaration files- * (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.
Defined in: Arguments: defaults, *args and **kwargs- *args
A parameter with one star. It collects every extra positional argument into a tuple.
Defined in: Arguments: defaults, *args and **kwargs- *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.
Defined in: Operator overloading- /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).
Defined in: Disks, partitions and mounts- /etc/group
The file that lists groups, one per line: name, password placeholder, GID, and the members.
Defined in: Users and permissions- /etc/passwd
The file that lists users, one per line: name, password placeholder, UID, GID, comment, home folder, shell.
Defined in: Users and permissions- & (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".
Defined in: Delegates and lambdas- >>> prompt (REPL)
Python's interactive mode: it reads a line, runs it, prints the answer and loops back for the next one.
Defined in: Getting started with Python- 1T1C cell
One transistor plus one capacitor: the DRAM cell. The transistor is the door between the capacitor and the bit line.
Defined in: DRAM: memory made of leaky buckets- 2-to-1 mux
The smallest mux: two inputs, one select bit. Y = (NOT S AND A) OR (S AND B).
Defined in: Multiplexers: choosing one input- 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.
Defined in: Multiplexers: choosing one input- 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 worksFour 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.
Defined in: Defence: WPA3 and enterprise Wi-Fi (802.1X)- 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.
Defined in: Zigbee, Thread and LoRa: low-power radios- 7-segment display
A digit made of seven bars, named a to g, that light in different patterns to show 0 to 9.
Defined in: Decoders and encoders- 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 trunksFour bytes added after the source MAC address: 0x8100, then a priority and a 12-bit VLAN ID (1 to 4094).
Defined in: Routing between VLANs- 802.1X
Port-based network access control: a device gets in only after an authentication server approves its own credentials.
Defined in: Defence: WPA3 and enterprise Wi-Fi (802.1X)
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.
Defined in: Dual stack and transition- 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 systemA 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.
Defined in: Simplifying logic: truth tables and K-maps- 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.
Defined in: Inheritance and interfaces- 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.
Defined in: Campus network design- Access point (AP)
The box that links Wi-Fi (radio) devices into the home network.
Defined in: Your home networkThe 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 trunksA 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.
Defined in: Routing between VLANs- 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.
Defined in: Accessibility and ARIA- Accessibility tree
A version of the page the browser builds for assistive technology: each part with its role, name and state.
Defined in: Semantic elementsThe browser's summary of the page for assistive technology: one node per meaningful element, each with a role, a name and sometimes a state.
Defined in: Accessibility and ARIA- Accessible name
What a node is called: a button's text, an image's alt, a field's label, or an aria-label.
Defined in: Accessibility and ARIA- 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).
Defined in: Indexes and transactionsAtomicity, Consistency, Isolation, Durability: the four promises of a transaction (Haerder and Reuter, 1983).
Defined in: Transactions and ACID- 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).
Defined in: TCP: connections and reliability- 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.
Defined in: UDP: fire and forget- 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.
Defined in: Routing between VLANsAccess control list: an ordered list of allow and deny rules. A plain ACL is stateless: it judges each packet on its own.
Defined in: Defence: firewalls and ACLs- 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.
Defined in: Virtual environments and pip- Active filter
An op-amp with resistors and capacitors around it that passes some frequencies and blocks others.
Defined in: Op-amps and analog circuits- 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.
Defined in: Defence: DNSSEC and encrypted DNS- 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.
Defined in: Streaming video: buffering and adaptive bitrate- ADC
Analog-to-digital converter: turns a voltage into a number, for example 0 to 1023 for 10 bits.
Defined in: Microcontrollers: a whole computer on one chip- Address
The number of a box in memory. The CPU asks for box 0, box 1, and so on.
Defined in: How a computer runs a programThe 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.
Defined in: DHCP: getting an address- AddressSanitizer (ASan)
A GCC and Clang feature (-fsanitize=address) that checks memory accesses while the program runs and reports bad ones.
Defined in: Undefined behaviour: one read past the end- Adjacency
Two neighbours that have synchronised their maps and now exchange updates (state Full).
Defined in: OSPF: link-state routing- 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.
Defined in: Routing tables and longest prefix matchA 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.
Defined in: Bluetooth and personal area networks- Aggregate function
A function that turns many values into one, such as COUNT, SUM, AVG, MIN or MAX.
Defined in: Grouping and aggregates- Aging time
How long a row stays in the table without a new frame from that MAC; 300 seconds by default.
Defined in: How a switch learns- AIMD
Additive increase, multiplicative decrease: add a little each round trip, halve on loss. It produces the sawtooth and shares a link fairly.
Defined in: Congestion control: sharing the pipe- 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.
Defined in: Iterators and algorithms- Alias
One of two or more names that refer to the same object. A change made through one shows through the others.
Defined in: Names, objects and referencesAnother 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.
Defined in: Span<T> and performance- 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.
Defined in: Images, audio and video- Alternation
The bar |, meaning or: cat|dog matches either word, trying the left one first.
Defined in: Regular expressions- ALU
The arithmetic logic unit: the part of a CPU that adds, subtracts and does logic on its two inputs.
Defined in: Multiplexers: choosing one inputArithmetic 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.
Defined in: The ALU: the CPU's calculatorArithmetic logic unit: the circuit that adds, subtracts and does logic on two inputs.
Defined in: The datapath: where the data flows- 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.
Defined in: Describing hardware: Verilog- 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.
Defined in: Multicore processors- 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.
Defined in: STL containers: how std::vector grows- 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.
Defined in: Quantum computing basics- Anchor
A pattern part that matches a position, not a character: ^ for the start of the string, $ for the end.
Defined in: Regular expressions- 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.
Defined in: Making decisions: if and else- Animation (CSS)
The animation property plays a named @keyframes over a duration, without waiting for a change.
Defined in: Transitions and animations- 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.
Defined in: Diodes: one-way streets- Anomaly detection
Flagging behaviour that is far from a normal baseline, such as one source touching many ports in seconds.
Defined in: Defence: intrusion detection and prevention- Antenna
A conductor sized to the wave that turns a radio-frequency current into a radio wave, and back.
Defined in: Radio-frequency basics- any
A special type that switches the check off for a variable. An escape hatch to avoid while learning.
Defined in: Basic typesA type that turns checking off for a value. A parameter with no annotation becomes any.
Defined in: Type inferenceA type that turns type checking off for a value. Anything is allowed, so mistakes are not caught.
Defined in: GenericsA type that means could be anything: TypeScript stops checking a value whose type is any.
Defined in: The compiler and tsconfigA type that switches checking off: any value fits, and any use of it is allowed.
Defined in: Strict mode TypeScript in real projects- 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 APIsApplication programming interface: the list of requests a service accepts and what each returns, such as POST /urls and GET / .
Defined in: System designThe set of requests a server agrees to answer, such as GET /messages, usually replying with JSON.
Defined in: How mobile apps work- App life cycle
The states an app moves through: foreground (on screen), background, suspended (in memory, not running) and not running.
Defined in: How mobile apps work- 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.
Defined in: The DOM from JavaScript- append()
A list method that adds one item to the end of the list.
Defined in: Lists and tuplesA 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.
Defined in: Installing software- Argument
A value passed in a call, such as 3 and 4 in area(3, 4).
Defined in: Functions: reusable stepsA value passed in a call, such as 3 in total(3, 4).
Defined in: FunctionsThe actual value passed in a call, like 3 in area(3, 4). Arguments fill parameters in order.
Defined in: Typing functionsThe actual value handed to a function in a call, such as [8, 6, 10].
Defined in: FunctionsA value passed in a call, such as "tea" in order("tea").
Defined in: Arguments: defaults, *args and **kwargsThe 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: FunctionsThe 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: MethodsA 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.
Defined in: Accessibility and ARIA- 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.
Defined in: ARP: from IP to MACAddress Resolution Protocol: asks the LAN “who has this IP?” and the owner replies with its MAC address.
Defined in: Leaving the LAN: the default gateway- ARP cache
A computer's short-lived table of IP-to-MAC pairs it has learned recently.
Defined in: ARP: from IP to MAC- 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.
Defined in: Attack: DNS spoofing and cache poisoning- 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 listsOne value that holds a list of values, in order. Written with square brackets: ["apple", "pear"].
Defined in: ArraysA list of values kept in order, written with square brackets, such as [10, 20, 30].
Defined in: Destructuring and spreadA fixed number of values of one type, stored side by side in one block of memory, such as int a[4].
Defined in: Arrays and std::arrayA fixed number of elements of one type stored side by side in memory, such as int a[3].
Defined in: Undefined behaviour: one read past the end- 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.
Defined in: Little's law: L = λ × WThe average number of arrivals per unit of time, such as 4 requests per second. λ is the Greek letter lambda.
Defined in: Random arrivals: the Poisson process- Arrival rate λ (lambda)
How many customers arrive per second on average. The mean gap between arrivals is 1 ÷ λ.
Defined in: Queues everywhere: arrivals, service and waitingThe 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.
Defined in: Timing closure: making every path fast enough- 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.
Defined in: What AI and machine learning are- 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.
Defined in: Data center: leaf-spine- AS number (ASN)
The number that identifies an AS in BGP. Numbers 64496 to 64511 are reserved for examples like this lesson.
Defined in: BGP: the internet's map- AS_PATH
The list of AS numbers an announcement has passed through, newest first. Used to spot loops and to compare routes.
Defined in: BGP: the internet's map- ASCII
An old table that gives 128 characters (English letters, digits, signs and control codes) the numbers 0 to 127. A is 65.
Defined in: Files and data: everything is bits- 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.
Defined in: From design to silicon: the ASIC flow- ASP.NET Core
The .NET framework for building web apps and web APIs; minimal APIs are its shortest way to write endpoints.
Defined in: Building a web API with ASP.NET Core- 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.
Defined in: What C# and .NET are- 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.
Defined in: Testing with pytest- Assertion
A check that must be true. In Python, assert raises an AssertionError when its expression is false.
Defined in: Unit testingA statement that must be true at a given moment; the simulator reports an error when it is false.
Defined in: Simulation and testbenchesA 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 JavaScriptA 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 JavaScriptThe exception a false assert raises. pytest catches it and marks the test as failed.
Defined in: Testing with pytest- assign
A continuous assignment: the wire on the left always equals the expression on the right. It describes combinational logic.
Defined in: Describing hardware: Verilog- Assignable
Type A is assignable to type B when every value of A is also allowed as a B.
Defined in: Mapped and conditional types- Assignment
A line like age = 30: Python works out the right side, then stores the result under the name on the left.
Defined in: Variables and typesStoring a new value in an existing variable with =, as in age = age + 1;. The old value is replaced.
Defined in: Variables and types- Assignment (=)
Stores the value on the right into the variable on the left. It does not mean "is equal to".
Defined in: Variables: let and constStores the value on the right in the variable on the left. It does not compare.
Defined in: Operators and equalityThe statement name = value. Python works out the right side first, then ties the name on the left to the result.
Defined in: Variables and names- 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.
Defined in: Loading scripts: defer and asyncA 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.
Defined in: Async code and the event loop- 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.
Defined in: Threads and atomics- Attribute
Extra information inside an opening tag, written name="value", such as href="about.html" on a link.
Defined in: What HTML isA name stored on an object, read and written with a dot: c.count.
Defined in: ClassesA name stored inside an object, such as n in self.n = n. Each object keeps its own attributes.
Defined in: Special (dunder) methodsOne fact about an entity, such as a book's title. It becomes a column.
Defined in: Entity-relationship modelling- Authentication
Proving who you are (a password, a security key, a certificate). Authorisation then decides what you may do.
Defined in: Security basics: what we protect and from whomChecking who someone is, for example by a password, and on later requests by a session cookie.
Defined in: Logins: authentication and sessions- Authoritative server
Holds a domain's zone and gives the final answer, marked AA.
Defined in: How a DNS lookup works- Authorization
Deciding what an authenticated user may do, such as reading only their own messages. Always checked on the server.
Defined in: Logins: authentication and sessions- 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.
Defined in: Constructors and destructors- Automatic storage duration
The C++ standard's name for how local variables live: created when their block starts, destroyed automatically when it ends.
Defined in: Variables on the stack- Autonomous system (AS)
A network run by one organisation with one routing policy, such as an ISP, a cloud provider or a university.
Defined in: BGP: the internet's map- Availability
The service works when it is needed: not crashed, switched off or flooded.
Defined in: Security basics: what we protect and from whom- 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.
Defined in: How fast is fast? Big O- await
Marks where a coroutine may pause until something it needs, such as data from the network, is ready.
Defined in: Async code and the event loopPauses 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 awaitInside an async function, pauses that function until a promise settles, then gives back its value (or throws its error).
Defined in: fetch: talking to serversWaits 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: asyncioWaits 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 awaitThe 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.
Defined in: Span<T> and performance- awk
A small language for working with fields: it splits each line into $1, $2, ... and runs your program once per line.
Defined in: Pipes and text tools: grep, sed, awk
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.
Defined in: Indexes and transactionsPostgreSQL'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 depthA 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.
Defined in: Mobile networks: 4G and 5G- 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.
Defined in: Regular expressions- Backup
A copy of the data from the past that you can go back to.
Defined in: Backups and point-in-time recovery- Bandwidth
How many bits per second a link can carry, for example 1 Gb/s.
Defined in: Bits on the wireThe width of the range of frequencies a signal uses, such as a 20 MHz Wi-Fi channel.
Defined in: Radio-frequency basics- Bank
An independent grid of cells inside a DRAM chip, with its own rows and sense amplifiers. DDR4 chips have 8 or 16.
Defined in: DRAM: memory made of leaky buckets- Base (radix)
How many digits a number system has, and how much each place grows: 10 for decimal, 2 for binary, 16 for hex.
Defined in: Number systems: decimal, binary and 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.
Defined in: Backups and point-in-time recovery- Base case
The input small enough to answer directly, without another call. It is what stops the recursion.
Defined in: RecursionAn answer known without any work, such as fib(0) = 0 and fib(1) = 1, or 0 coins to make 0.
Defined in: Dynamic programming- Base class
The class another class is built on. Animal is the base class of Dog.
Defined in: Inheritance and virtual functionsThe class another class inherits from, such as Shape. It holds the members its derived classes share. Every class ultimately derives from object.
Defined in: Inheritance and interfaces- 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).
Defined in: Mobile networks: 4G and 5G- 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.
Defined in: Serial buses: UART, I2C and SPI- BCD
Binary-coded decimal: one decimal digit, 0 to 9, written as a 4-bit binary number.
Defined in: Decoders and encoders- 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.
Defined in: Iterators and algorithms- 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.
Defined in: Organising CSS at scale- Bent pipe
A satellite that simply repeats the signal from one side to the other, without routing packets itself.
Defined in: Satellite internet: GEO and LEO- BGP
Border Gateway Protocol, version 4: how ASes tell each other which address blocks they can reach.
Defined in: BGP: the internet's mapBorder 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.
Defined in: Attack and defence: BGP hijacking and RPKI- 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.
Defined in: How fast is fast? Big O- 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.
Defined in: Files and data: everything is bitsCounting in base 2. Each place is worth double the one to its right: 1, 2, 4, 8, 16 and so on.
Defined in: Binary and Boolean logic- 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).
Defined in: Searching: linear and binary- 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 worksTo 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.
Defined in: Searching: linear and binary- Bit
The smallest piece of data: a single 1 or 0.
Defined in: Bits on the wireThe smallest piece of data: a single 0 or 1.
Defined in: IPv4 addressesA binary digit: 0 or 1. An IPv4 address is 32 bits long.
Defined in: Subnets and masksThe smallest piece of data a computer stores: a 0 or a 1.
Defined in: Files and data: everything is bitsShort 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).
Defined in: Binary and Boolean logicOne binary digit: 0 or 1. In a circuit it is a low or high voltage, off or on.
Defined in: Logic gatesOne binary digit: 0 or 1. In a circuit, a low or a high voltage; here a dark or a glowing lamp.
Defined in: Half and full addersA binary digit, 0 or 1. In hardware it is one of two states, such as a low or high voltage.
Defined in: Number systems: decimal, binary and hex- 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.
Defined in: Streaming video: buffering and adaptive bitrate- 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.
Defined in: Reliability and observability- BLE
Bluetooth Low Energy: 40 channels of 2 MHz, short bursts, very low power. Used by watches, keyboards and sensors.
Defined in: Bluetooth and personal area networks- Block
The group of lines that belong together under a line ending in a colon, marked by being indented the same amount.
Defined in: Making decisions: if and elseThe unit flash erases at once, made of many pages (for example 64). After an erase every bit is 1.
Defined in: ROM and flash: memory that remembersThe lines between curly braces { and }. An if runs its block only when its condition is true.
Defined in: ConditionalsThe indented lines after a line that ends with a colon. They run, or are skipped, together.
Defined in: Conditionals: if, elif and else- 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.
Defined in: Display and normal flow- 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).
Defined in: Disks, partitions and mounts- 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.
Defined in: Headings, paragraphs and lists- 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.
Defined in: Async code and the event loopMaking 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%.
Defined in: Blocking and loss: Erlang B- body
The part of the page that holds everything you see: headings, paragraphs, links, images.
Defined in: The shape of an HTML documentThe lines between the loop's curly braces { }: what runs in every round.
Defined in: LoopsThe 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.
Defined in: Defence: DNSSEC and encrypted DNS- 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.
Defined in: Variables and typesPython'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.
Defined in: Making decisions: if and elseThe type with exactly two values, True and False. Every comparison gives a bool.
Defined in: Conditionals: if, elif and elseThe C++ type with exactly two values, true and false. Comparisons such as > and == give a bool.
Defined in: Control flow: if, else and whileThe 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.
Defined in: Control flow: if, else and while- Boolean
A type with only two values, true and false, used for yes-or-no questions and decisions.
Defined in: Values and typesA value that is either true or false. Every comparison gives one.
Defined in: ConditionalsThe 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).
Defined in: Simplifying logic: truth tables and K-maps- Boolean attribute
An attribute with no value, such as controls: being present switches it on, leaving it out switches it off.
Defined in: Images, audio and video- Boolean value
A value that is only true or false, named after George Boole. Computers store it as 1 (true) or 0 (false).
Defined in: Binary and Boolean logic- 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.
Defined in: Zigbee, Thread and LoRa: low-power radios- 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.
Defined in: Congestion control: sharing the pipe- Boundary clock
A PTP switch that syncs to the grandmaster on one port and acts as master for the devices on its other ports.
Defined in: Network time: NTP and PTP- 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.
Defined in: Undefined behaviour: one read past the end- Box
The rectangle the browser makes for an element. Layout is deciding where the boxes go.
Defined in: Display and normal flow- 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: GenericsCopying 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.
Defined in: Span<T> and performance- 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.
Defined in: Branching and mergingOne of the separate paths in a parallel circuit.
Defined in: Series and parallel circuits- 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.
Defined in: Graph search: BFS and DFS- break
A statement that ends the loop it is in at once.
Defined in: Loops: doing things again- Breakpoint
A marked line where a debugger pauses the program so you can inspect the variables.
Defined in: Debugging: finding what went wrongA width at which the layout changes, because a media query starts or stops applying.
Defined in: Responsive design and media queries- 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.
Defined in: Ethernet frames and MAC addressesA frame sent to ff:ff:ff:ff:ff:ff, meant for every device on the local network. ARP questions use it.
Defined in: How a switch learnsA frame sent to ff:ff:ff:ff:ff:ff, which every device on the local network receives.
Defined in: ARP: from IP to MACA message to every device on the local network. In IPv4 the address 255.255.255.255 means 'everyone here'.
Defined in: DHCP: getting an address- 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.
Defined in: Power supplies: steady rails for every chip- 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.
Defined in: Streaming video: buffering and adaptive bitrateMemory 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 filesThe editor's working copy of a file, kept in memory. You change the buffer; saving copies it to the disk.
Defined in: Editing files in the terminal- 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.
Defined in: Queues and buffering: where delay comes fromToo 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.
Defined in: Debugging: finding what went wrong- 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.
Defined in: Building with CMake- Build system
The files CMake writes (Makefiles or build.ninja) that a build tool such as make or Ninja follows to run the compiler.
Defined in: Building with CMake- Build type
A CMake setting (Debug, Release, RelWithDebInfo, MinSizeRel) that picks the compiler's optimisation and debug flags.
Defined in: Building with CMake- Built-in errors
Error types the engine throws itself, such as TypeError, ReferenceError, SyntaxError and RangeError.
Defined in: Errors and exceptions- 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.
Defined in: Network topologies: bus, star, ring and meshShared wires that connect the caches; what one cache sends, all the others can see.
Defined in: Multicore processors- Byte
A group of 8 bits. The letter A is one byte: 01000001.
Defined in: Bits on the wireEight bits in a row. One byte has 256 patterns, so it can hold a whole number from 0 to 255.
Defined in: Files and data: everything is bitsA 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 listsA group of eight bits. It has 256 patterns, enough for the numbers 0 to 255.
Defined in: Binary and Boolean logicThe unit of memory size: 8 bits, each a 0 or a 1. sizeof tells you how many bytes a type uses.
Defined in: Variables and typesA group of 8 bits. It can hold 256 patterns, the numbers 0 to 255.
Defined in: Number systems: decimal, binary and hex- Bytecode
Simple instructions made by CPython from your file, run by the Python virtual machine rather than by the CPU.
Defined in: What code is: source, interpreters and compilersSimple instructions for a virtual machine instead of a real chip. CPython's bytecode is shown by the dis module and cached in .pyc files.
Defined in: Compilers and interpreters up closeThe small, simple instructions CPython compiles your source into. It is an implementation detail and changes between Python versions.
Defined in: Bytecode and the CPython VM
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".
Defined in: What C# and .NET are- Cable category
A rating such as Cat5e, Cat6 or Cat6a that says how fast a cable can carry data, and how far.
Defined in: Cables and connectors: copper, RJ45 and coax- Cache
A small, fast store that keeps copies of answers that are slow or costly to get again.
Defined in: CachingA 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 designA small, fast memory that keeps copies of data used recently, so the next use does not have to wait for slower memory.
Defined in: The memory hierarchyA small, fast memory (SRAM) beside the CPU that keeps copies of recently used parts of main memory.
Defined in: Caches: keeping memory close to the CPUA 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.
Defined in: Multicore processors- 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 anycastA 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.
Defined in: The memory hierarchyThe block of neighbouring bytes a cache copies as one unit: 64 bytes on most Intel and AMD chips, 16 in the figure.
Defined in: Caches: keeping memory close to the CPUThe 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.
Defined in: Attack: DNS spoofing and cache poisoning- 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.
Defined in: Functions: reusable stepsRunning a function by writing its name followed by brackets and arguments, as in total(3, 4).
Defined in: FunctionsA 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 worksRunning a function: its name followed by brackets holding the arguments, such as average([8, 6, 10]).
Defined in: FunctionsRunning 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.
Defined in: Functions: reusable stepsThe scratch space Python makes for one call of a function, holding that call's own variables, like n.
Defined in: RecursionThe 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 queuesThe pile of frames for calls still running. The newest is on top, and it is the first to finish.
Defined in: RecursionThe 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.
Defined in: The stack and the heapThe pile of calls that have not finished yet, one frame per call. A call pushes a frame; a return or a throw pops it.
Defined in: Errors and exceptionsThe 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 loopThe 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 awaitThe pile of frames for the calls that are running right now, newest on top.
Defined in: ExceptionsThe memory a running program uses for the functions that are currently running: one frame per call, newest on top.
Defined in: Variables on the stackMemory for running methods. Each call gets a frame on top, holding its parameters and locals; it is removed when the call returns.
Defined in: MethodsThe 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.
Defined in: Async code and the event loopA function you hand to something else to run later, such as the arrow function given to setTimeout or .then.
Defined in: The event loopA function you pass to other code, which calls it later, such as the arrow function given to setTimeout or .then.
Defined in: Callbacks and promises- 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.
Defined in: Variables: let and const- CAN
Campus area network: the LANs of several buildings, such as a school or company site, joined by the organisation's own fibre.
Defined in: Types of networks: PAN, LAN, MAN and WAN- Capacitor
Two metal plates with a thin insulator between them. It stores electric charge.
Defined in: Resistors and capacitorsA tiny store of electric charge. In a DRAM cell, full stands for 1 and empty for 0.
Defined in: DRAM: memory made of leaky buckets- 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 listsHow many elements a vector's current block can hold before it must grow (v.capacity()).
Defined in: STL containers: how std::vector grows- 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.
Defined in: Lambdas: functions made on the spot- 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.
Defined in: Lambdas: functions made on the spot- Capture list
The square brackets at the start of a lambda. They name the variables from around the lambda that it may use.
Defined in: Lambdas: functions made on the spot- 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.
Defined in: Delegates and lambdas- 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).
Defined in: Entity-relationship modelling- 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.
Defined in: Blocking and loss: Erlang B- Carrier
A large telecom company that owns long-distance links and rents capacity on them to others.
Defined in: Types of networks: PAN, LAN, MAN and WAN- 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.
Defined in: Half and full addersThe extra 1 a column passes to the next column on its left when its total is 2 or 3.
Defined in: Adding big numbers: the ripple-carry adder- Carry in (Cin)
The carry arriving from the column to the right, added in along with A and B.
Defined in: Half and full adders- Carry out (Cout)
The carry a full adder sends on to the column to its left.
Defined in: Half and full adders- 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.
Defined in: Adding big numbers: the ripple-carry adder- 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.
Defined in: Adding big numbers: the ripple-carry adder- Cascade
The browser's method for choosing one value when several declarations set the same property on the same element.
Defined in: The cascade and specificityThe browser's way of picking one value when several declarations set the same property on the same element.
Defined in: Organising CSS at scale- 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.
Defined in: Organising CSS at scale- Case-sensitive
Capital and small letters count as different, so score, Score and SCORE are three different names.
Defined in: Variables and 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.
Defined in: Regular expressions- 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.
Defined in: Streaming video: buffering and adaptive bitrateContent delivery network: many edge servers in different places that keep copies of websites' files close to visitors.
Defined in: CDNs and anycastContent delivery network: servers spread around the world that keep copies of a site's files near its users.
Defined in: CachingContent 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.
Defined in: Mobile networks: 4G and 5G- Central
The device that starts a connection and sets its timing, usually the phone or computer.
Defined in: Bluetooth and personal area networks- 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.
Defined in: Namespaces and cgroups: how containers work- Channel
A slice of a band that one network uses. In 2.4 GHz, channels 1, 6 and 11 do not overlap.
Defined in: Wireless basics: radio waves and spectrumA 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 worksA thin conducting layer that forms under the gate when the gate voltage is high enough, joining source and drain.
Defined in: Transistors: the switch that changed everything- char / bool
char holds one character in single quotes, such as 'A' (always 1 byte); bool holds true or false (usually 1 byte).
Defined in: Variables and types- Character
One letter, digit, space or symbol in a string. In Python each character is one Unicode code point.
Defined in: Strings: text in memoryOne letter, digit, space or symbol in a string. Reading one, as in name[0], gives a string of length 1.
Defined in: Strings and template literals- 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).
Defined in: Regular expressions- Character encoding
The rule for turning a file's bytes into letters. Web pages use UTF-8, set with .
Defined in: The shape of an HTML documentThe rule that turns bytes into characters. Web pages should use UTF-8, where each ASCII character is one byte.
Defined in: From HTML to the DOM treeThe code that turns bytes into letters. UTF-8 is the one HTML uses; declares it.
Defined in: The head: metadata, SEO and sharing- 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).
Defined in: Keys and constraints- 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.
Defined in: Transactions and ACID- Checkpoint
A point where every dirty page has been written to disk and a checkpoint record is logged. Crash recovery replays from here.
Defined in: Write-ahead logging and recovery- Checksum
A 16-bit check value over the header, data and IP addresses that lets the receiver spot damaged bits.
Defined in: UDP: fire and forget- 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.
Defined in: Users and permissions- 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).
Defined in: What cybersecurity is- 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.
Defined in: Charge, current and voltage- Circuit breaker
Code that stops calling a failing service for a while (open), then lets a test call through (half-open) before closing again.
Defined in: Reliability and observability- Cladding
The glass around the core, 125 µm across, with a slightly lower refractive index so light stays in the core.
Defined in: Fibre optics: light in glass- Class
A blueprint, written with class Name:, that describes what its objects hold and what they can do.
Defined in: Objects and classesA neat syntax for a constructor function plus a prototype object that holds its methods. typeof a class is "function".
Defined in: Prototypes and classesA blueprint that describes the fields and methods every object made from it will have.
Defined in: Classes in TypeScriptA blueprint for objects. Running a class statement builds a class object that holds the methods defined inside it.
Defined in: ClassesA type you define: data members plus the member functions that work on them. class Tally { ... }; is one.
Defined in: Classes: objects and their lifetimeA blueprint and a type: it declares the fields every object of that type has and the methods (and constructors) that work on them.
Defined in: Classes and objects- 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: SelectorsA selector that starts with a dot, such as .note. It matches every element whose class attribute includes note.
Defined in: The cascade and specificity- Class template
A template that makes classes, such as std::vector or std::unique_ptr .
Defined in: Templates: write it once, for any type- Classic Bluetooth (BR/EDR)
The original Bluetooth: 79 channels of 1 MHz and a steady stream. Often used for audio.
Defined in: Bluetooth and personal area networks- Classic script
A without type="module". With src and no async or defer, it stops the parser until it has downloaded and run.
Defined in: Loading scripts: defer and async- 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.
Defined in: Quality of service: who goes first- classList
An element's list of classes. classList.add puts a class on it, so CSS rules for that class apply.
Defined in: The DOM from JavaScript- Clause
A part of a statement that starts with a keyword, such as FROM drinks or WHERE price < 4.
Defined in: SELECT: asking questions- 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-flopA 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: CountersThe 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.
Defined in: Network time: NTP and PTP- Clock skew
The difference in arrival time of the same clock edge at different flip-flops.
Defined in: Clocks and timingThe difference in arrival time of the same clock edge at different flip-flops. A clock tree keeps it small.
Defined in: From design to silicon: the ASIC flow- Clock speed
How many times a second the CPU's clock ticks, in hertz. 2.4 GHz is 2.4 billion ticks a second.
Defined in: How a computer runs a programHow many steps a processor takes per second, in gigahertz (GHz): billions of ticks per second.
Defined in: Multicore processors- 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.
Defined in: Data center: leaf-spine- 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 closuresA function that keeps names from the function it was defined in, such as func inside wrapper, even after that function has returned.
Defined in: DecoratorsThe hidden object the compiler makes to hold captured variables, so they live as long as the delegate that uses them.
Defined in: Delegates and lambdas- Closure object
The object a lambda expression produces. You can copy it, store it in a variable and call it like a function.
Defined in: Lambdas: functions made on the spot- Closure type
The unnamed class the compiler invents for each lambda expression. Its operator() holds the lambda's body.
Defined in: Lambdas: functions made on the spot- CLR (common language runtime)
The part of .NET that loads assemblies, JIT-compiles IL to machine code, runs it and manages memory.
Defined in: What C# and .NET are- CMake
A tool that reads a project description (CMakeLists.txt) and writes a build system for your platform and compiler.
Defined in: Building with CMake- CMakeLists.txt
The recipe file for CMake: which targets to build, from which source files, and how they depend on each other.
Defined in: Building with CMake- CMOS
Complementary MOS: circuits that pair n-channel and p-channel MOSFETs, so one is on while the other is off.
Defined in: Transistors: the switch that changed everythingComplementary 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 inverterComplementary MOS: the way most chips build gates, using pairs of two kinds of transistor (nMOS and pMOS).
Defined in: Logic gatesComplementary MOS: the way most chips build gates, from pairs of nMOS transistors (on at 1) and pMOS transistors (on at 0).
Defined in: NAND: one gate to build them all- 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.
Defined in: IoT: MQTT and constrained devices- Coaxial cable
A round cable with a centre wire, an insulator, a metal shield and a jacket, used for cable TV and internet.
Defined in: Cables and connectors: copper, RJ45 and coax- 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.
Defined in: Bytecode and the CPython VM- Code point
The number Unicode gives a character, such as 99 for c or 233 for é. ord() shows it.
Defined in: Strings: text in memory- 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.
Defined in: Queues and buffering: where delay comes from- Cohesion
How closely the parts inside one module belong together. High cohesion means one module, one job.
Defined in: Modules and interfaces- Collapsed core
A two-tier design for smaller sites, where one redundant pair of switches does both the distribution and the core jobs.
Defined in: Campus network design- 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.
Defined in: Testing with pytest- Collision
When two different keys pick the same slot.
Defined in: Hash maps: finding things by key- Collision check
A test, run during update, for whether two things touch, such as a ball reaching a wall.
Defined in: Game loops and frames- Colour code
Coloured bands on a resistor that give its value: two digits, a multiplier and a tolerance.
Defined in: Resistors and capacitors- 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 isOne named fact that every row has, with a fixed data type, such as name text. Textbooks call it an attribute.
Defined in: Tables, rows and keys- 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.
Defined in: INSERT, UPDATE and DELETE- Comment
Text after a #. It is a note for people; Python skips it.
Defined in: Getting started with PythonText after // (to the end of the line) that the compiler ignores: a note for people reading the code.
Defined in: Your first C# program- 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).
Defined in: Git: saving historyA saved snapshot of the project, with a message and a link back to its parent commit (two parents for a merge commit).
Defined in: Branching and mergingA saved snapshot of your changes to the code, with a message saying what changed.
Defined in: Continuous integrationThe command that ends a transaction and makes its changes permanent and visible to everyone.
Defined in: Indexes and transactionsEnds a transaction and makes all its changes permanent and visible to other sessions at once.
Defined in: Transactions and ACID- 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.
Defined in: Op-amps and analog circuits- Comparison
An operator that compares two values and gives a bool: == (equal), != (not equal), , =.
Defined in: Making decisions: if and elseAn operator that compares two values: == (equal), != (not equal), and >=.
Defined in: Conditionals: if, elif and else- Compile time
When tsc checks and converts the code, before the program runs. Run time is while it is running.
Defined in: What TypeScript isWhile the compiler is building your program from source code. Nothing has run yet.
Defined in: const and constexpr- Compiled language
A language whose programs are translated into machine code before they run. C++ is one.
Defined in: What C++ is: compile and run- Compiler
A program that translates a whole program ahead of time, usually into a machine-code file you can run later.
Defined in: What code is: source, interpreters and compilersA program that translates source code into another form, such as machine code (gcc, clang) or bytecode (CPython's compiler).
Defined in: Compilers and interpreters up closeThe tool that checks code against the rules of the language and translates it into machine code.
Defined in: What C++ is: compile and run- Compiler (Roslyn)
The program that checks your C# and turns it into IL. Roslyn is the name of the C# compiler.
Defined in: What C# and .NET are- Compiler option
One setting tsc reads, such as target, strict or outDir. They live under compilerOptions in tsconfig.json.
Defined in: The compiler and tsconfig- Component
A part of a system with one job, such as a web app, a service or a database.
Defined in: From requirements to design- Composite
The stage that stacks the painted layers in order, applies transform and opacity, and hands the finished frame to the screen.
Defined in: How the browser renders: style, layout, paint- 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.
Defined in: Objects and classes- Computed style
The final value of every property for one element, after matching the rules, the cascade and the defaults.
Defined in: How the browser renders: style, layout, paint- Concatenation
Joining strings end to end with +. The result is a new string.
Defined in: Strings: text in memoryJoining strings end to end. In JavaScript, + concatenates when either side is a string.
Defined in: Operators and equalityJoining strings end to end with +. If one side is a string, the other side is turned into text first.
Defined in: Strings and template literals- Concept
A C++20 named requirement on a template parameter, such as std::totally_ordered , checked where the template is used.
Defined in: Templates: write it once, for any type- Concurrency
Several tasks making progress by taking turns, for example two threads sharing one CPU core.
Defined in: Threads and concurrencyMaking 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: ConditionalsA yes-or-no question in code, such as temp >= 25. Python works it out to True or False.
Defined in: Conditionals: if, elif and elseAn 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.
Defined in: Mapped and conditional types- Conductor
A material whose electrons move freely, so current flows easily. Copper has about one free electron per atom.
Defined in: Semiconductors and doping- Confidentiality
Only the people who should read the data can read it. Usually kept with encryption.
Defined in: Security basics: what we protect and from whom- 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.
Defined in: Building with CMake- Conflict
Two or more matching rules that set the same property on the same element to different values.
Defined in: The cascade and specificity- Congestion
More traffic heading for a link than it can carry, so packets queue up and, once the queue is full, are dropped.
Defined in: Congestion control: sharing the pipe- 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.
Defined in: Congestion control: sharing the pipe- 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.
Defined in: Your first C# program- const
Makes a variable that must get its value at once and can never be given a new one.
Defined in: Variables: let and constA promise that an object is read-only after it is initialized. Its value may be worked out at run time.
Defined in: const and constexpr- 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.
Defined in: const and constexpr- 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].
Defined in: How fast is fast? Big O- consteval
C++20: marks a function that must run at compile time; calling it with a run-time value is an error.
Defined in: const and constexpr- constexpr function
A function the compiler may run at compile time when its arguments are constant; otherwise it runs normally at run time.
Defined in: const and constexpr- constexpr variable
A variable whose value the compiler must work out while building. It is also const.
Defined in: const and constexpr- Constraint
A fixed limit on the solution that you do not get to choose, such as a deadline, a budget or a required language.
Defined in: From requirements to designA rule on a form field, written as an attribute such as required, type="email" or min="13".
Defined in: Form validationA limit on what a type parameter can be, written with extends, as in .
Defined in: GenericsA rule on a type argument, written with extends: in Pick , K must be keys of T.
Defined in: Utility typesA rule after where that limits which types may replace T, such as where T : struct or where T : IComparable .
Defined in: GenericsA rule written into a table's definition that every row must obey. The DBMS refuses any change that would break it.
Defined in: Keys and constraints- 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.
Defined in: Prototypes and classesThe special method new runs to set up a fresh object.
Defined in: Classes in TypeScriptA member function with the class's name and no return type. It runs when an object is made and sets it up.
Defined in: Classes: objects and their lifetimeA 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.
Defined in: Constructors and destructorsA 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.
Defined in: Classes and objects- 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.
Defined in: Containers and deploymentA standard library object that holds a group of elements and owns their memory, such as std::vector, std::list or std::map.
Defined in: STL containers: how std::vector growsOne or more ordinary processes that the kernel isolates with namespaces and limits with cgroups. They share the host's kernel.
Defined in: Namespaces and cgroups: how containers work- Container image
A packaged app plus everything it needs to run, stored as a stack of read-only layers. Built from a Dockerfile.
Defined in: Containers and deployment- 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.
Defined in: Display and normal flowThe 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: "✓ ".
Defined in: Pseudo-classes and pseudo-elements- 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.
Defined in: What an operating system does- 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.
Defined in: Continuous integration- 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.
Defined in: Continuous integration- Continuous integration (CI)
Everyone merges small changes into the shared main branch often, and an automated pipeline checks every push.
Defined in: Continuous integrationAutomatically 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.
Defined in: Unions and narrowing- 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.
Defined in: Software-defined networking- 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 unitA 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).
Defined in: A complete CPU: fetch, decode, execute- Control unit
The logic that reads the opcode and sets the mux selects and write enables of the datapath.
Defined in: The datapath: where the data flowsThe 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.
Defined in: What cybersecurity is- 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.
Defined in: Charge, current and voltage- Conversion
Making a value of one type from another: str(5) is '5', int("42") is 42, float("1.5") is 1.5.
Defined in: Numbers and strings- 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.
Defined in: HTTP requests and responsesA small name=value pair a server asks the browser to keep and send back with later requests to the same site.
Defined in: Logins: authentication and sessions- 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.
Defined in: Zigbee, Thread and LoRa: low-power radios- 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.
Defined in: Fibre optics: light in glassA complete processor inside a chip: it fetches and runs its own stream of instructions. A multicore chip has several.
Defined in: Multicore processorsThe part of a processor that runs instructions. A CPU has a few big cores; a GPU has thousands of small ones.
Defined in: GPUs: thousands of small coresOne 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.
Defined in: Campus network design- Core network
The operator's central systems: they check SIMs, track where each phone is, give out addresses and connect to the internet.
Defined in: Mobile networks: 4G and 5G- Coroutine
A function defined with async def that can pause at await and carry on later from the same spot.
Defined in: Async code and the event loop- 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.
Defined in: OSPF: link-state routingThe 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.
Defined in: Charge, current and voltage- 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.
Defined in: Grouping and aggregates- Counter
A number that only goes up, like total bytes sent; a rate comes from the difference between two readings.
Defined in: Monitoring: SNMP and flowsA circuit that steps through numbers in order, usually adding 1 on every clock edge.
Defined in: CountersA 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.
Defined in: Modules and interfaces- Covalent bond
A bond in which two atoms share a pair of electrons, one from each atom.
Defined in: Semiconductors and doping- Coverage
A measure of how much of the design's behaviour the tests actually exercised, for example how many input cases were tried.
Defined in: Simulation and testbenches- 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.
Defined in: Bytecode and the CPython VM- createElement
A method that makes a new element. It is not in the tree, and not on the page, until you add it.
Defined in: The DOM from JavaScript- 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 timingThe slowest path through the logic between two clock edges; it sets the shortest possible clock period.
Defined in: A complete CPU: fetch, decode, execute- Crontab
Your table of cron jobs: one line per job, five time fields and a command. Edit it with crontab -e.
Defined in: Scheduling jobs: cron and timers- 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.
Defined in: How mobile apps work- 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 isCascading 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 imagesThe unit CSS widths are measured in. One CSS pixel can be several of the screen's device pixels.
Defined in: Responsive design and media queries- 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.
Defined in: How the browser renders: style, layout, paint- 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.
Defined in: GPUs: thousands of small cores- Current
How much charge flows past a point each second. Measured in amperes: 1 A = 1 C/s.
Defined in: Charge, current and voltage- 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.
Defined in: Custom properties (CSS variables)A property whose name starts with --, such as --brand. It is inherited and read with var(--brand).
Defined in: Organising CSS at scale- 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.
Defined in: What cybersecurity is
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.
Defined in: Scheduling jobs: cron and timers- Dangling pointer
A pointer that still holds the address of memory that has been freed. Using it is undefined behaviour.
Defined in: The heap: new and delete- 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.
Defined in: Classes: objects and their lifetime- Data model
The things a system stores (here Book, Member and Loan) and how they link to each other.
Defined in: From requirements to design- 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.
Defined in: Software-defined networking- Data race
Two threads access the same memory location, at least one writes, and nothing orders the accesses. In C++ this is undefined behaviour.
Defined in: Threads and atomics- 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.
Defined in: Tables, rows and keys- 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 workAn 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.
Defined in: UDP: fire and forget- Datapath
The part of a processor that holds and moves data: program counter, memories, register file, ALU and the multiplexers between them.
Defined in: The datapath: where the data flowsThe 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.
Defined in: Radio-frequency basics- 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 SQLDatabase 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.
Defined in: NAND: one gate to build them all- Dead interval
How long a router waits without hearing a neighbour's Hello before declaring it down: 40 seconds by default.
Defined in: OSPF: link-state routing- 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.
Defined in: Threads and concurrency- Debugger
A tool that runs a program step by step and shows its variables. Python's built-in one is pdb; breakpoint() starts it.
Defined in: Debugging: finding what went wrong- 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.
Defined in: Arrays and std::array- Declaration
One property and its value, ending with a semicolon: color: tomato;.
Defined in: What CSS isThe line that makes a variable, such as let score = 0 or const maxLives = 3.
Defined in: Variables: let and constThe line that creates a variable: the type, then the name, often with a starting value, as in int age = 30;.
Defined in: Variables and typesA statement that introduces a name and its type, such as int square(int x); without a body. It may appear many times.
Defined in: Headers, translation units and linking- Declaration file (.d.ts)
A file that holds only types: what exists and its shape, with no code to run.
Defined in: Modules and declaration files- Declaration merging
When an interface is declared more than once, tsc joins the declarations into one shape.
Defined in: Type aliases vs interfaces- declare
A keyword that says something exists and its code lives elsewhere, so only its type is written.
Defined in: Modules and declaration files- Decoder
A circuit that turns an N-bit binary number into exactly one active output line out of 2^N.
Defined in: Decoders and encodersA 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.
Defined in: Quantum computing basics- Decorator
A function that takes a function or class and returns it changed. @name above a definition applies it: C = name(C).
Defined in: DataclassesA 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.
Defined in: Resistors and capacitorsA small capacitor, often 0.1 µF, placed right next to a chip's power pin to supply quick bursts of current.
Defined in: Power supplies: steady rails for every chip- 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.
Defined in: Functions: reusable stepsThe 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.
Defined in: Defence: firewalls and ACLsAnything no rule allows is dropped.
Defined in: Defence: segmentation, DMZs and zero trust- Default gateway
The router a host sends traffic to when the destination is not on its own subnet.
Defined in: Subnets and masksThe router a device sends packets to when the destination is outside the local network.
Defined in: DHCP: getting an addressThe router a device sends packets to when the destination is not on its own LAN. Here 192.0.2.1.
Defined in: Leaving the LAN: the default gatewayThe 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.
Defined in: Routing tables and longest prefix match0.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.
Defined in: Network tools on Linux- Default value
A value a parameter takes when the call leaves it out, like h = w. It makes the parameter optional.
Defined in: Typing functionsA 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.
Defined in: Arguments: defaults, *args and **kwargsThe value a field has before anything sets it: 0 for numbers, false for bool, null for reference types such as string.
Defined in: Classes and objects- 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.
Defined in: Operator overloading- Defence in depth
Several independent layers of protection, so one failure is not the end.
Defined in: Security basics: what we protect and from whom- defer
A script attribute: download in parallel, then run after the document is parsed, in file order, before DOMContentLoaded.
Defined in: Loading scripts: defer and async- 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.
Defined in: Headers, translation units and linking- Delegate object
An object (a reference type, on the heap) that knows which method to call (Delegate.Method) and on which object (Delegate.Target).
Defined in: Delegates and lambdas- Delegate type
A type whose values are references to methods with a given shape (parameter types and return type), such as Func .
Defined in: Delegates and lambdas- delete
An operator that removes a property, key and value, from an object: delete cat.age.
Defined in: ObjectsThe SQL command that removes whole rows from a table: DELETE FROM table WHERE condition.
Defined in: INSERT, UPDATE and DELETE- delete / delete[]
Gives heap memory back. Use delete for memory from new, and delete[] for memory from new[].
Defined in: The heap: new and delete- Delta time (dt)
How long the last frame took. Moving by speed × dt keeps motion the same speed at any frame rate.
Defined in: Game loops and frames- Demultiplexer (demux)
The reverse of a mux: one input, several outputs. The select bits choose which output receives the input; the others stay 0.
Defined in: Multiplexers: choosing one input- 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.
Defined in: Package managers and dependenciesSomething your code needs in order to run, such as a library (flask) or a particular version of Python.
Defined in: Containers and deploymentA module that another module imports. Dependencies run before the modules that import them.
Defined in: ModulesAnother package a package needs in order to work, written in its Depends field, for example libc6 (>= 2.34).
Defined in: Installing software- Depletion region
A thin zone at the p-n junction with no free carriers. Its leftover charges block current until it is pushed thin.
Defined in: Diodes: one-way streets- 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.
Defined in: Graph search: BFS and DFS- 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.
Defined in: Iterators and algorithms- 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.
Defined in: Inheritance and virtual functionsA 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.
Defined in: Inheritance and interfaces- 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.
Defined in: Printed circuit board design- 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.
Defined in: Custom properties (CSS variables)A named design value, such as the brand colour, kept in one place and reused everywhere. In CSS it is often a custom property.
Defined in: Organising CSS at scale- 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.
Defined in: Classes: objects and their lifetimeThe member function named ~ plus the class name, such as ~Cup(). It takes no arguments and runs automatically when an object's lifetime ends.
Defined in: Constructors and destructorsA special member function, written ~ClassName(), that C++ calls automatically when an object's life ends.
Defined in: RAII: let objects clean up- 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.
Defined in: Destructuring and spread- Device driver
Code in the OS that knows how to control one kind of device, such as a disk or a speaker.
Defined in: What an operating system does- 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 networkDynamic Host Configuration Protocol: the way a device borrows an IP address and its network settings from a server.
Defined in: DHCP: getting an address- 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}.
Defined in: Hash maps: finding things by keyA collection of key: value pairs, written in curly braces, such as {"Ana": 31}. You look values up by key.
Defined in: Dictionaries and sets- 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.
Defined in: Diodes: one-way streets- Directory
Another word for a folder: a place in the file system that holds files and other folders.
Defined in: The file systemLinux'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.
Defined in: Bytecode and the CPython VM- 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.
Defined in: How a computer runs a program- display
The CSS property that sets a box's type, such as block, inline, inline-block or none. Its starting value is inline.
Defined in: Display and normal flow- 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.
Defined in: Campus network design- 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.
Defined in: How email is delivered- 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.
Defined in: Defence: segmentation, DMZs and zero trust- DNS64
A resolver feature (RFC 6147) that builds an AAAA record from an A record by putting the IPv4 address inside a NAT64 prefix.
Defined in: Dual stack and transition- DNSKEY
A record holding a zone's public key. Resolvers use it to check the zone's signatures.
Defined in: Defence: DNSSEC and encrypted DNS- 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.
Defined in: Defence: DNSSEC and encrypted DNS- Dockerfile
A short text recipe for building an image: start from a base image, install things, copy in the code, name the start command.
Defined in: Containers and deployment- DOCSIS
The cable data standard. A cable modem talks DOCSIS over the shared TV coax to a CMTS at the ISP.
Defined in: Getting online: DSL, cable and fibre to the home- Doctype
The first line, . Not an element: it tells the browser to use today's rules (standards mode).
Defined in: The shape of an HTML document- 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.
Defined in: From HTML to the DOM treeDocument Object Model: the tree of nodes the browser builds from the HTML. JavaScript reads and changes the page through it.
Defined in: Loading scripts: defer and asyncThe Document Object Model: the browser's tree of elements, built from the HTML tags.
Defined in: Pseudo-classes and pseudo-elementsDocument Object Model: the tree of objects the browser builds from the HTML. Changing it changes the page.
Defined in: What JavaScript is The DOM from JavaScript- 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.
Defined in: Loading scripts: defer and async- Doping
Adding a tiny, controlled amount of another element to a semiconductor to change how well it conducts.
Defined in: Semiconductors and doping- DORA
Discover, Offer, Request, Ack: the four messages that get a device its first address.
Defined in: DHCP: getting an 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.
Defined in: Defence: DNSSEC and encrypted DNS- 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.
Defined in: Game loops and frames- 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.
Defined in: Installing software- DRAM
Dynamic random-access memory: memory that stores each bit as charge on a capacitor and must be refreshed because the charge leaks.
Defined in: DRAM: memory made of leaky buckets- 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).
Defined in: From design to silicon: the ASIC flow- 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.
Defined in: Defence: DNSSEC and encrypted DNS- 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.
Defined in: Quality of service: who goes first- 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.
Defined in: Getting online: DSL, cable and fibre to the home- 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.
Defined in: Dual stack and transition- Dunder
Short for "double underscore": the two underscores on each side of a special method's name, as in __init__ (said "dunder init").
Defined in: Special (dunder) methods- 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).
Defined in: Transitions and animations- DUT (design under test)
The block being tested, placed inside the testbench.
Defined in: Simulation and testbenches- Duty cycle
The fraction of each switching period that the switch is on. In an ideal buck converter it equals Vout / Vin.
Defined in: Power supplies: steady rails for every chip- 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.
Defined in: Dynamic programming- 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.
Defined in: Data center: leaf-spine- eBGP / iBGP
External BGP runs between two different ASes; internal BGP shares those routes between routers inside one AS.
Defined in: BGP: the internet's map- 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.
Defined in: Data center: leaf-spine- ECN
Explicit Congestion Notification: routers mark packets instead of dropping them, and the sender slows down when the mark is echoed back.
Defined in: Congestion control: sharing the pipe- 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).
Defined in: Charge, current and voltage- 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.
Defined in: Charge, current and voltage- Element
An opening tag, its content and its closing tag together, such as Hello! : one part of the page.
Defined in: What HTML isOne part of a page the browser makes from an HTML tag, such as the heading made from .
Defined in: What CSS isOne value inside an array. a[2] is the element with index 2.
Defined in: Arrays and std::array- elif
Short for "else if": a further test, checked only when every test above it was False.
Defined in: Making decisions: if and elseShort for else if: a further question, asked only when every question above it was False.
Defined in: Conditionals: if, elif and else- else
The block that runs when every test above it was False. It has no condition.
Defined in: Making decisions: if and elseThe block with no condition that runs when every test above it was false.
Defined in: ConditionalsThe catch-all at the end of a chain: its block runs only when every question above it was False.
Defined in: Conditionals: if, elif and else- 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 unitsA 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 layersKeeping an object's data behind its methods, which check the rules. In Python a leading underscore, as in _balance, marks data as internal.
Defined in: Objects and classes- Encoder
The reverse of a decoder: it turns one active input line into the binary number of that line.
Defined in: Decoders and encoders- Endpoint
An HTTP method plus a route pattern, linked to a handler, such as GET /todos → () => todos.
Defined in: Building a web API with ASP.NET Core- 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.
Defined in: Quantum computing basics- Entity
A kind of thing you keep facts about, such as book or member. It becomes a table.
Defined in: Entity-relationship modelling- 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.
Defined in: Literal types and enums- Envelope
The SMTP addresses MAIL FROM and RCPT TO that servers use for delivery, separate from the message's headers.
Defined in: How email is delivered- 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 lineA named setting given to a program from outside when it starts, such as DB_HOST=db.internal.
Defined in: Containers and deployment- 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.
Defined in: Entity-relationship modelling- Erlang
The unit of traffic intensity in telephony (ITU-T E.600): arrival rate × mean holding time, the average number of busy lines.
Defined in: Little's law: L = λ × WThe unit of traffic intensity: one erlang keeps one server busy all the time. A = arrival rate × mean service time (ITU-T E.600).
Defined in: Many servers: M/M/c and Erlang CThe unit of traffic: one line (or server) busy all the time. Offered load in erlangs = arrival rate × average holding time.
Defined in: Blocking and loss: Erlang B- Erlang B
The probability that an arrival finds all servers busy when there is no waiting room, so it is lost (blocked).
Defined in: Many servers: M/M/c and Erlang C- 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)).
Defined in: Blocking and loss: Erlang B- Erlang C
The probability that an arrival finds all c servers busy and has to wait, for a system with unlimited waiting room.
Defined in: Many servers: M/M/c and Erlang C- 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.
Defined in: Reliability and observability- 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.
Defined in: Errors and exceptions- ESP
Encapsulating Security Payload (RFC 4303, IP protocol 50): the wrapper that encrypts a packet and adds an integrity tag and sequence number.
Defined in: Defence: VPNs and IPsec- Ethernet frame
One unit of data on an Ethernet network: destination and source MAC, EtherType, payload and FCS, led by a preamble and SFD.
Defined in: Ethernet frames and MAC addressesThe envelope a packet travels in across one link. It carries a destination MAC, a source MAC and a type.
Defined in: Leaving the LAN: the default gateway- EtherType
Two bytes that say what the payload is, such as 0x0800 for IPv4 or 0x0806 for ARP.
Defined in: Ethernet frames and MAC addressesThe two-byte type field in an Ethernet frame that says what is inside: 0x0806 for ARP, 0x0800 for IPv4.
Defined in: ARP: from IP to MAC- 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 isA signal that something happened on the page, such as a click, a key press or a form being sent.
Defined in: EventsA 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.
Defined in: Async code and the event loopThe 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 loopThe part of the runtime that, whenever the call stack is empty, picks the next job or task and runs it.
Defined in: async and awaitThe 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.
Defined in: Defence: WPA3 and enterprise Wi-Fi (802.1X)- Exception
Python's way of signalling an error, such as ValueError. Raising one stops the function and reports the problem.
Defined in: Clean codeA value thrown by throw (or by the engine) that stops normal flow until some code catches it.
Defined in: Errors and exceptionsAn 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: ExceptionsAn 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.
Defined in: Debugging: finding what went wrong- Executable
A file of machine code the operating system can load and run, such as hello (hello.exe on Windows).
Defined in: What C++ is: compile and run- 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.
Defined in: A complete CPU: fetch, decode, execute- 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.
Defined in: Simulation and testbenches- Exit code
A number a program reports when it ends. 0 means success.
Defined in: Node.jsThe number a program returns when it ends. 0 means success; node --test returns 1 if any test failed.
Defined in: Testing JavaScriptThe number a program returns when it ends. pytest returns 0 when all tests passed and 1 when some failed.
Defined in: Testing with pytest- Exit status
A number a program hands back when it ends: 0 means success; an uncaught exception gives 1.
Defined in: ExceptionsThe number a program hands back to the system when it ends. 0 means success; main's return value sets it.
Defined in: Your first programThe number a program hands back to the shell when it ends: 0 means success, anything else means a failure.
Defined in: The shellA number a process leaves behind when it ends. 0 means success; anything else usually means an error.
Defined in: Processes and signalsA 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.
Defined in: Reliability and observability- Exponential distribution
The distribution of the gap between Poisson arrivals: P(gap > t) = e^(−λt), mean 1/λ. Short gaps are the most common.
Defined in: Random arrivals: the Poisson process- export
A keyword that makes a name from this module available to other modules, as in export let count = 0.
Defined in: ModulesMakes a name in a module available to other modules.
Defined in: Modules and declaration files- Exposed service
A program on a machine that strangers can reach over the network, such as SSH on port 22 or HTTPS on 443.
Defined in: Defence: firewalls and ACLs- 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.
Defined in: Type aliases vs interfaces- 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.
Defined in: Cables and connectors: copper, RJ45 and coax- 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.
Defined in: Custom properties (CSS variables)- False positive / false negative
A false positive flags harmless traffic; a false negative misses a real attack.
Defined in: Defence: intrusion detection and prevention- 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).
Defined in: Resistors and capacitors- Fast retransmit
Resending a segment as soon as three duplicate ACKs arrive, instead of waiting for the retransmission timer.
Defined in: TCP: connections and reliability- Fast-forward
A merge where the current branch is simply behind, so Git just moves its pointer forward. No new commit is made.
Defined in: Branching and merging- 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 layersFrame check sequence: a 4-byte CRC-32 the receiver recomputes to detect damaged frames.
Defined in: Ethernet frames and MAC addresses- Feature and label
A feature is an input the model sees (cups bought). A label is the right answer for that example (the bill).
Defined in: How machine learning works- 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.
Defined in: A complete CPU: fetch, decode, execute- fetch()
The built-in function that sends an HTTP request and returns a promise for the Response. Defined by the WHATWG Fetch Standard.
Defined in: fetch: talking to servers- 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.
Defined in: Classes in TypeScriptA class variable with a type annotation, such as x: int, inside a dataclass. Fields are kept in the order they are written.
Defined in: DataclassesA variable that belongs to an object, such as N in class Box { public int N; }.
Defined in: Value types and reference typesA variable that belongs to each object, such as Owner or Balance.
Defined in: Classes and objectsA variable that belongs to an object, such as int _target. Usually private.
Defined in: PropertiesOne word of a line as awk sees it: by default, fields are separated by spaces or tabs.
Defined in: Pipes and text tools: grep, sed, awk- 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.
Defined in: Files and data: everything is bits- File format
The way a file's data is stored, usually named by the file's ending: .jpg, .png, .mp3, .mp4.
Defined in: Images, audio and video- 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.
Defined in: Disks, partitions and mounts- FIN
The flag that says "I have no more data to send". Each direction is closed with its own FIN and ACK.
Defined in: TCP: connections and reliability- finally
A block after try (and catch) that always runs last, whatever happened.
Defined in: Errors and exceptionsA 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.
Defined in: Defence: firewalls and ACLs- Firewall rule
One line saying which traffic may cross, by source, destination and port. The first matching rule wins.
Defined in: Defence: segmentation, DMZs and zero trust- 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.
Defined in: Game loops and frames- Fixed wireless
Home internet over 4G or 5G radio from a nearby mast instead of a cable.
Defined in: Getting online: DSL, cable and fibre to the home- 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.
Defined in: Microcontrollers: a whole computer on one chip- 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 machinesA 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).
Defined in: Numbers and strings- Floating gate
A conductor sealed in insulating oxide between a flash cell's control gate and its channel. Electrons placed on it stay trapped.
Defined in: ROM and flash: memory that remembers- 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.
Defined in: How a switch learns- Floor division //
Python's division that rounds down to a whole number: 23 // 2 is 11.
Defined in: Searching: linear and binary- Floor division and remainder
// divides and rounds down (7 // 2 is 3); % gives what is left over (7 % 2 is 1).
Defined in: Numbers and strings- Flow
One conversation between two programs, such as your video call or the photo upload. Routers tell flows apart by addresses, ports and protocol.
Defined in: Queues and buffering: where delay comes fromOne conversation between two programs, such as one file copy; its frames share the same addresses and ports.
Defined in: Link aggregationOne conversation between two programs, such as one database query; its packets share the same addresses and ports.
Defined in: Data center: leaf-spine- Flow record
A summary of one conversation (addresses, ports, protocol, packets, bytes) exported by NetFlow or IPFIX.
Defined in: Monitoring: SNMP and flows- 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.
Defined in: Software-defined networking- Focus
Which element receives the keyboard. Tab moves focus to the next control in the order of the HTML.
Defined in: Accessibility and ARIA- 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.
Defined in: Printed circuit board design- 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.
Defined in: Loops: doing things againA loop that runs its body once for each item of a sequence, such as a list, in order.
Defined in: Loopsfor 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 SQLA column whose values must match the primary key of a row in another table, so a row can point at another row.
Defined in: Tables, rows and keysA column whose values must match a row of another table, such as books.author_id pointing at authors.id.
Defined in: JOINsA column whose values must match a key in another table, such as books.author_id REFERENCES authors (id).
Defined in: Keys and constraintsA column whose values must match a key in another table, such as orders.cust matching customers.cust.
Defined in: NormalisationA column whose values must match the key of a row in another table, such as book.author_id → author.id.
Defined in: Entity-relationship modelling- 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.
Defined in: Processes and signals- 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.
Defined in: Diodes: one-way streets- 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 worksTraffic recorded today stays safe even if the long-term secret (here the password) leaks later, because each session key came from throwaway random secrets.
Defined in: Defence: WPA3 and enterprise Wi-Fi (802.1X)- Forwarding
Sending a frame out of the single port the table says leads to its destination.
Defined in: How a switch learnsAlso 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 layersOne message on a local network (Ethernet). Its header starts with the destination MAC, then the source MAC.
Defined in: How a switch learnsOne still picture made by one trip round the loop. Shown quickly one after another, frames look like motion.
Defined in: Game loops and framesOne still picture of a video. Shown quickly one after another, frames look like movement.
Defined in: Images, audio and videoOne picture the screen draws. A 60 Hz screen draws a new frame about every 16.7 ms.
Defined in: Transitions and animationsThe fresh set of parameter and local values a function gets each time it is called.
Defined in: Arguments: defaults, *args and **kwargsThe 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: ExceptionsThe workspace for one running call: its local variable slots, its value stack and which instruction runs next.
Defined in: Bytecode and the CPython VM- Frame budget
The time the browser has for each frame: about 16.7 ms on a 60 Hz screen.
Defined in: How the browser renders: style, layout, paint- 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.
Defined in: Game loops and frames- Free function
A function declared outside any class (also called a non-member function). Both operands arrive as ordinary parameters.
Defined in: Operator overloading- 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).
Defined in: Threads, processes and the GIL- Frequency
How many times a wave repeats each second, measured in hertz (Hz). 1 GHz is a billion waves per second.
Defined in: Wireless basics: radio waves and spectrumHow many times a wave repeats each second, measured in hertz (Hz). 1 GHz is a billion times a second.
Defined in: Radio-frequency basics- 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.
Defined in: Bluetooth and personal area networks- FROM
The clause that names the table to read. It supplies the rows every other clause works on.
Defined in: SELECT: asking questions- 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.
Defined in: Getting online: DSL, cable and fibre to the home- Fulfilled
The state of a promise that succeeded; it holds its value, which never changes again.
Defined in: Callbacks and promises- 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.
Defined in: Half and full addersA small circuit that adds three bits (A, B and a carry-in) and gives a sum bit and a carry-out bit.
Defined in: Adding big numbers: the ripple-carry adder- Full table scan
Reading every row of a table to find the matching ones. The work grows with the number of rows, O(n).
Defined in: Indexes and transactions- 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.
Defined in: Write-ahead logging and recovery- 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.
Defined in: Delegates and lambdas- Function
A named set of steps you can run whenever you need them, such as area.
Defined in: Functions: reusable stepsA block of code saved to run later, here the arrow function () => { ... } that runs on every click.
Defined in: What JavaScript isA named list of steps, written once, that runs each time it is called.
Defined in: FunctionsA named piece of code that takes values in, does some work and gives one value back.
Defined in: Typing functionsA named group of steps. You define it once with def and run it by calling it, as many times as you like.
Defined in: FunctionsA 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.
Defined in: Templates: write it once, for any type- 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".
Defined in: From requirements to design- Functionally complete
A set of gates is functionally complete if it can build every possible truth table. NAND alone is; so is NOR alone.
Defined in: NAND: one gate to build them all- 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.
Defined in: Game loops and frames- 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: FlexboxThe 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.
Defined in: Memory and the garbage collector- Gate
The control terminal of a MOSFET: a plate on a thin insulator whose voltage opens or closes the channel.
Defined in: Transistors: the switch that changed everything- Gate count
How many gates a circuit needs; fewer gates means less area, less power and usually less delay.
Defined in: Simplifying logic: truth tables and K-maps- 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.
Defined in: IoT: MQTT and constrained devices- 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.
Defined in: Memory and the garbage collector- 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.
Defined in: What AI and machine learning are- Generator
The iterator a generator function returns. Each next() runs its body up to the next yield, then pauses, keeping its local variables.
Defined in: Iterators and generators- Generator function
A def whose body contains yield. Calling it does not run the body; it returns a generator.
Defined in: Iterators and generators- 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 elementsA 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.
Defined in: Lambdas: functions made on the spot- Generic type
A type that takes other types as arguments in angle brackets, like Partial .
Defined in: Utility typesA type with a parameter, such as AsText ; you fill it in with a real type, as in AsText .
Defined in: Mapped and conditional typesA 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: CollectionsA 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.
Defined in: Satellite internet: GEO and LEO- Gerber file
The standard image file for one PCB layer, sent to the factory with a drill file.
Defined in: Printed circuit board design- 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.
Defined in: Dictionaries and sets- GID
Group ID: the number of a group. A process carries its user's groups, and a file records one group.
Defined in: Users and permissions- GIL
CPython's global interpreter lock: it lets only one thread run Python code at a time.
Defined in: Threads and concurrency- GIL (global interpreter lock)
CPython's lock that lets only one thread run Python bytecode at a time. Each process has its own.
Defined in: Threads, processes and the GIL- 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.
Defined in: How a DNS lookup works- 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.
Defined in: Microcontrollers: a whole computer on one chip- GPON
Gigabit passive optical network (ITU-T G.984): one fibre from the OLT, split passively to up to 64 homes.
Defined in: Getting online: DSL, cable and fibre to the home- GPU
Graphics processing unit: a processor with thousands of simple cores built to do the same sum on lots of data at once.
Defined in: GPUs: thousands of small cores- Gradient descent
Repeatedly changing each weight a little in the direction that lowers the loss: w = w − learning rate × gradient.
Defined in: How machine learning works- Grandmaster
The best clock on a PTP network, chosen automatically; every other PTP clock syncs to it, directly or through boundary clocks.
Defined in: Network time: NTP and PTP- Graph
A set of vertices together with edges that join pairs of them.
Defined in: GraphsA set of nodes (also called vertices) joined by edges, such as places joined by roads.
Defined in: Graph search: BFS and DFS- Gratuitous ARP
An ARP message a host sends about its own address without being asked, to announce it (and others may spot a conflict).
Defined in: ARP: from IP to MAC- Gray code
An order of binary numbers, such as 00, 01, 11, 10, in which each step changes exactly one bit.
Defined in: Simplifying logic: truth tables and K-maps- Greedy
Always taking the choice that looks best right now, such as the biggest coin. Fast, but not always correct.
Defined in: Dynamic programming- grep
A program that prints only the lines that match a pattern.
Defined in: Pipes and text tools: grep, sed, awk- 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.
Defined in: Transistors: the switch that changed everything- 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).
Defined in: Printed circuit board design- 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.
Defined in: Satellite internet: GEO and LEO- Group
One of the eight 16-bit parts of an IPv6 address, written as up to four hex digits between colons.
Defined in: IPv6 addresses and SLAACA 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).
Defined in: Regular expressionsAll the rows that share the same value in the GROUP BY columns, such as every latte order.
Defined in: Grouping and aggregates- GROUP BY
Sorts the rows into groups, one per distinct value of the listed columns; each group becomes one output row.
Defined in: Grouping and aggregates- 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.
Defined in: Custom properties (CSS variables)
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.
Defined in: Quantum computing basics- 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.
Defined in: Half and full adders- 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.
Defined in: Mobile networks: 4G and 5GSwitching a connection from one satellite to the next as they move across the sky.
Defined in: Satellite internet: GEO and LEO- Handshake
Opening messages that set up a connection before any data, like TCP's SYN, SYN-ACK, ACK. UDP has none.
Defined in: UDP: fire and forgetThe opening messages in which both sides agree on a version, cipher suite and keys, and the server proves its identity.
Defined in: How HTTPS worksThe 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.
Defined in: Dual stack and transition- 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).
Defined in: Describing hardware: Verilog- 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 aggregationThe 40-character name Git computes from a commit's contents (SHA-1 by default), such as 6ad1b38...; any change gives a different hash.
Defined in: Git: saving historyA one-way function: easy to compute from the input, practically impossible to turn back. The same input always gives the same hash.
Defined in: Logins: authentication and sessionsA 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.
Defined in: Dictionaries and sets- 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.
Defined in: Hash maps: finding things by key- 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.
Defined in: Hash maps: finding things by key- HAVING
Keeps or drops whole groups, after the aggregates are worked out, such as HAVING SUM(price) > 5.
Defined in: Grouping and aggregates- 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: PipeliningA 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.
Defined in: Branching and mergingThe part of the page that holds information about it (metadata), such as the title and character set. Not drawn on the page.
Defined in: The shape of an HTML document- 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 layersA Name: value line after the first line, such as Host or Content-Type. An empty line ends the headers.
Defined in: HTTP requests and responsesA file (often .h or .hpp) of declarations that other files #include, so they can use what it declares.
Defined in: Headers, translation units and linking- Headers
Lines at the top of the message such as From:, To:, Subject: and Date:, shown to people.
Defined in: How email is delivered- 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.
Defined in: Headings, paragraphs and lists- Headroom
Spare capacity kept on purpose so utilisation stays well below 1, which keeps queues and delay short.
Defined in: Networks of queues and real traffic- Heap
A large area of memory for objects that are made on request and may outlive the call that made them.
Defined in: The stack and the heapThe area of memory that holds objects a program creates while it runs, such as lists and dictionaries.
Defined in: Garbage collectionThe memory you take with new and give back with delete; its objects live until you delete them (dynamic storage).
Defined in: RAII: let objects clean upMemory for objects, managed by .NET. The garbage collector frees objects that nothing refers to any more.
Defined in: Value types and reference types- Heap (free store)
Memory you ask for while the program runs with new, and give back with delete. It lasts until you free it.
Defined in: The heap: new and delete- Hello
A small OSPF packet each router sends on every link, by default every 10 seconds, to find and keep its neighbours.
Defined in: OSPF: link-state routing- 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.
Defined in: IPv6 addresses and SLAAC- 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.
Defined in: Files and data: everything is bits- Hexadecimal (hex)
Base 16, with digits 0 to 9 and A to F. Written with the prefix 0x in Python, as in 0xFF.
Defined in: Number systems: decimal, binary and hex- 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.
Defined in: The memory hierarchyA hit finds the line already in the cache; a miss has to fetch it from the next, slower level of memory.
Defined in: Caches: keeping memory close to the CPU- 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-flopHow long after a clock edge a flip-flop's input must stay steady, so a new value must not arrive too early.
Defined in: Timing closure: making every path fast enough- Holding time
How long one call (or job, or session) keeps its line or server busy.
Defined in: Blocking and loss: Erlang B- 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.
Defined in: Semiconductors and dopingA place in the silicon where an electron is missing. It acts like a moving + charge.
Defined in: Diodes: one-way streets- Home folder
Your own folder on the disk, for example /home/alex. The shell writes it as ~ for short.
Defined in: The shellYour own folder, usually /home/ . The shell writes it as ~ for short.
Defined in: The file systemYour 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.
Defined in: Leaving the LAN: the default gateway- Host
Any device that sends and receives data on a network: a phone, a laptop, a TV, a server.
Defined in: Your home networkThe 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.
Defined in: Defence: firewalls and ACLs- 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.
Defined in: HTTP requests and responses- 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.
Defined in: fetch: talking to servers- HTTP response
The server's reply: a status line (such as 200 OK), headers, and a body.
Defined in: fetch: talking to servers- HTTP status 200
The web server's answer meaning OK: the page you asked for is there.
Defined in: Network tools on Linux
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.
Defined in: Threads, processes and the GIL- 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.
Defined in: Serial buses: UART, I2C and SPIA 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.
Defined in: Network tools on Linux- 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: SelectorsA selector that starts with #, such as #intro. It matches the element whose id attribute is intro.
Defined in: The cascade and specificity- 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 APIsSafe 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.
Defined in: Variables: let and constThe technical word for a name: letters, digits and underscores, not starting with a digit.
Defined in: Variables and names- 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.
Defined in: Names, objects and references- IDS
Intrusion detection system: a sensor that inspects traffic, usually copies of it, and raises alerts. It cannot stop traffic.
Defined in: Defence: intrusion detection and prevention- 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.
Defined in: Zigbee, Thread and LoRa: low-power radios- 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.
Defined in: Making decisions: if and elseRuns its indented block only when its condition is True.
Defined in: Conditionals: if, elif and else- 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.
Defined in: Defence: VPNs and IPsec- IL (intermediate language)
Simple, CPU-independent instructions such as ldstr and call, stored in an assembly. Also called CIL.
Defined in: What C# and .NET are- IMAP
The protocol a mail app uses to read mail that stays on the server (port 993 with TLS).
Defined in: How email is delivered- 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 setsA 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.
Defined in: Strings: text in memoryCannot be changed. Strings are immutable: methods and + always make new strings.
Defined in: Strings and template literals- 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 .
Defined in: From HTML to the DOM tree- import
The statement that finds a module, runs it the first time, and makes its names usable as module.name.
Defined in: Modules and interfacesA statement that links names exported by another module into this one, as in import { count, add } from "./counter.js".
Defined in: ModulesBrings an exported name from another module into this one.
Defined in: Modules and declaration filesA statement that finds a module, runs it the first time, and binds a name to it in your file.
Defined in: Modules and packages- include
The list of files or folders that belong to the project, such as ["src"].
Defined in: The compiler and tsconfig- Incremental build
A build that skips every step whose outputs are already newer than its inputs.
Defined in: Projects, builds and NuGet- 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.
Defined in: Making decisions: if and elseSpaces at the start of a line. Python uses them to group lines into blocks; a stray one is an IndentationError.
Defined in: Getting started with Python- 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 listsThe numbered place of a character, counting from 0. Negative indexes count from the end (-1 is the last).
Defined in: Strings: text in memoryA 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.
Defined in: Indexes and transactionsThe 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: ArraysThe position of a character in a string, counting from 0. The last index is length minus 1.
Defined in: Strings and template literalsThe position of an item in an array, counted from 0. In [10, 20, 30], 10 is at index 0.
Defined in: Destructuring and spreadAn item's position, counted from 0. fruits[0] is the first item; fruits[-1] is the last.
Defined in: Lists and tuplesAn item's position in a list, counting from 0: nums[0] is the first item.
Defined in: ComprehensionsAn element's position, counted from 0. Valid indexes run from 0 to size - 1.
Defined in: Arrays and std::arrayThe position of an element in an array, counted from 0. For N elements the valid indexes are 0 to N-1.
Defined in: Undefined behaviour: one read past the endA 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 depthA 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.
Defined in: Mapped and conditional types- Inductor
A coil of wire that stores energy in a magnetic field and resists sudden changes in current.
Defined in: Power supplies: steady rails for every chip- Infinite loop
A loop whose condition never becomes false, so it never ends.
Defined in: LoopsA 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: TypographyAn element taking a property's value from its parent when no rule sets its own. Custom properties are inherited.
Defined in: Custom properties (CSS variables)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: InheritanceMaking 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.
Defined in: Inheritance and virtual functions- 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.
Defined in: Objects and classes- 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.
Defined in: Structs and records- 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.
Defined in: Defence: intrusion detection and prevention- 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.
Defined in: Display and normal flow- 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.
Defined in: Display and normal flow- 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.
Defined in: Getting started with PythonA 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).
Defined in: INSERT, UPDATE and DELETE- Insert mode
vim's typing mode, entered with i and left with Esc; vim shows -- INSERT -- while you are in it.
Defined in: Editing files in the terminal- 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 .
Defined in: Templates: write it once, for any type- 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.
Defined in: How a computer runs a program- 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.
Defined in: Semiconductors and doping- int
A whole number such as 5 or -12. Python ints can be as big as you like.
Defined in: Numbers and strings- int / double
int holds whole numbers (usually 4 bytes); double holds numbers with a decimal point (usually 8 bytes, about 15 significant digits).
Defined in: Variables and types- int and float
Whole numbers (30, -2) are int; numbers with a decimal point (2.5) are float.
Defined in: Variables and types- 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.
Defined in: Security basics: what we protect and from whom- 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 patternsThe agreed calls one component offers to others, such as borrow(member, book). Callers rely on it, not on what is inside.
Defined in: From requirements to designA named description of an object's shape: which properties it has and the type of each.
Defined in: Objects and interfacesA named object shape, written with interface, as in interface Pet { name: string }.
Defined in: Type aliases vs interfacesA contract: a named list of members (methods, properties) a type promises to have, with no instance fields. A class can implement many.
Defined in: Inheritance and interfacesOne network connection of a machine, such as eth0 (a cable) or wlan0 (Wi-Fi). lo, the loopback, is the machine talking to itself.
Defined in: Network tools on Linux- 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.
Defined in: Modules and interfaces- Interface ID
The last 64 bits of an address. It names one device's connection on that network.
Defined in: IPv6 addresses and SLAAC- Interference
Amplitudes adding up or cancelling, which makes some results more likely and others impossible. Quantum algorithms are built on it.
Defined in: Quantum computing basics- 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.
Defined in: Modules and interfaces- Internet gateway
The VPC's door to the internet; it maps public addresses to private ones for things in a public subnet.
Defined in: Cloud networking: VPCs and load balancers- Interpolated string
A string starting with $, in which each {name} is replaced by that variable's value.
Defined in: Your first C# programA string starting with $ in which each {expression} is replaced by its value, such as $"{a} {b}".
Defined in: Value types and reference types- Interpreter
A program that reads code and carries it out as it goes, without saving a machine-code file first.
Defined in: What code is: source, interpreters and compilersA program that runs code directly, one instruction or statement at a time, instead of producing a machine-code file first.
Defined in: Compilers and interpreters up closeThe program, python, that reads your Python code and carries it out.
Defined in: Getting started with Python- 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 }.
Defined in: Type aliases vs interfaces- Invalidation
Removing or updating a cached copy when the data behind it changes.
Defined in: CachingWhen a container changes in a way that leaves old iterators pointing at nothing valid, for example a vector moving to a bigger block.
Defined in: Iterators and algorithms- 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 inverterA 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.
Defined in: IoT: MQTT and constrained devices- IP address
A number that names a device's connection to a network, so messages can be sent to it.
Defined in: IPv4 addressesThe address a computer uses at the network layer, like 192.168.1.30. It says where a packet should end up.
Defined in: ARP: from IP to MAC- IPS
Intrusion prevention system: a sensor placed inline, in the traffic's path, that can drop packets and block sources.
Defined in: Defence: intrusion detection and prevention- IPsec
A family of standards (RFC 4301) that protects IP packets themselves: IKE for keys and ESP for encryption and integrity.
Defined in: Defence: VPNs and IPsecAn 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.
Defined in: IPv6 addresses and SLAACInternet 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.
Defined in: Dual stack and transition- IPv6-only network
A network that gives devices only IPv6 addresses. Many mobile networks work this way.
Defined in: Dual stack and transition- 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.
Defined in: Iterators and generators- Iteration
One run through a loop's body, also called a pass.
Defined in: LoopsOne 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.
Defined in: Iterators and generatorsAn object that marks one position in a container. *it reads the element there; ++it moves to the next one.
Defined in: Iterators and algorithms- Iterator category
What an iterator can do: step forward only, step both ways, or jump (random access). Each algorithm says which it needs.
Defined in: Iterators and algorithms- 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.
Defined in: STL containers: how std::vector grows
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).
Defined in: Networks of queues and real traffic- JavaScript
A programming language the browser runs to make a page interactive.
Defined in: What HTML isThe programming language of the web. Browsers run it to make pages interactive; Node.js runs it outside the browser.
Defined in: What JavaScript isThe 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.
Defined in: What C# and .NET are- JIT compiler
A just-in-time compiler: it compiles the often-run (hot) parts of a program to machine code while the program runs.
Defined in: Compilers and interpreters up close- Jitter
Variation in delay from one packet to the next. Voice and video need it small, or sound and pictures stutter.
Defined in: Quality of service: who goes firstUneven 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 SQLA 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.
Defined in: Threads and atomics- Joined inputs
Connecting one signal to every input of a gate; for NAND or NOR this turns the gate into a NOT.
Defined in: NAND: one gate to build them all- 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.
Defined in: Charge, current and voltage- Journal
The system log kept by systemd-journald. Services' output goes there; journalctl reads it.
Defined in: Services with systemdjournald's binary log files, in /var/log/journal (kept across reboots) or /run/log/journal (in memory).
Defined in: Logssystemd's log. A service's output is stored there; read it with journalctl -u .
Defined in: Scheduling jobs: cron and timers- 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 workA plain-text format for data: objects in { }, lists in [ ], text in double quotes, plus numbers, true, false and null.
Defined in: REST APIsJavaScript Object Notation: a text format for data, with strict rules, that almost every programming language can read and write.
Defined in: JSONJavaScript Object Notation: a text format for data, such as {"id":7,"name":"Ada"}. res.json() parses it into an object.
Defined in: fetch: talking to serversA text format for data. JSON.stringify turns an object into text you can store; JSON.parse turns the text back into an object.
Defined in: Storage in the browserA text format for data, such as {"name":"Ada","age":36}. JSON.parse turns the text into a JavaScript value.
Defined in: TypeScript in real projectsA text format for data, such as {"id":1,"title":"Buy milk"}; System.Text.Json converts it to and from C# objects.
Defined in: Building a web API with ASP.NET CoreJavaScript 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.
Defined in: Logins: authentication and sessions- 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.
Defined in: Series and parallel circuits- 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).
Defined in: Entity-relationship modelling
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.
Defined in: Attack: DNS spoofing and cache poisoning- 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.
Defined in: Simplifying logic: truth tables and K-maps- 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.
Defined in: IoT: MQTT and constrained devices- 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.
Defined in: Queues everywhere: arrivals, service and waiting- 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.
Defined in: What an operating system doesThe core of an operating system, which manages the hardware and runs processes. Containers on one machine share it.
Defined in: Containers and deploymentThe 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.
Defined in: Building a web API with ASP.NET Core- Key
The name of a property. Keys are strings (or Symbols); quotes are optional when the key is a simple name.
Defined in: ObjectsThe 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).
Defined in: Dictionaries and setsA column, or set of columns, whose values pick out exactly one row, such as (ord, item) in the 1NF table.
Defined in: NormalisationAn attribute (or set of attributes) that picks out exactly one thing. It becomes the table's PRIMARY KEY.
Defined in: Entity-relationship modelling- Key and value
In ages["ann"] = 31, "ann" is the key you look things up by and 31 is the value stored with it.
Defined in: Hash maps: finding things by key- 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.
Defined in: Storage in the browser- 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"].
Defined in: Dictionaries and sets- Keyframe
One waypoint in an animation: a point in time, as a percentage, and the styles at that point.
Defined in: Transitions and animations- keyof
An operator that gives the union of a type's key names: keyof User is "id" | "name" | "email".
Defined in: Utility typesA type operator that gives the key names of an object type as a union, such as "id" | "name".
Defined in: Mapped and conditional types- Keyword
A word Python reserves for its own grammar, such as if, for and while. It cannot be used as a name.
Defined in: Variables and names- Keyword argument
An argument given with a name, such as size="L". It goes to the parameter with that name.
Defined in: Arguments: defaults, *args and **kwargs- Kirchhoff's current law
The current flowing into a junction equals the current flowing out of it.
Defined in: Series and parallel circuits- Kirchhoff's voltage law
Round any closed loop, the voltage gained (from the battery) equals the voltage used (by the parts).
Defined in: Series and parallel circuits- 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: FormsThe right answer attached to an example, such as spam or not spam. People usually add labels by hand.
Defined in: What AI and machine learning are- 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 styleA 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.
Defined in: Lambdas: functions made on the spotA method written in place with no name, such as x => x > limit. It converts to a delegate type.
Defined in: Delegates and lambdas- LAN
Local area network: devices close together, such as in one home or office.
Defined in: What a network isLocal area network: the devices in one home, office or building, on equipment the owner runs, joined by Ethernet or Wi-Fi.
Defined in: Types of networks: PAN, LAN, MAN and WAN- 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.
Defined in: Memory and the garbage collector- Last mile
The access link between a home and its ISP: a phone line, coax, fibre or radio.
Defined in: Getting online: DSL, cable and fibre to the home- 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 wireHow long data takes to get from one place to another; here mostly the time radio waves need to cover the distance.
Defined in: Satellite internet: GEO and LEOHow 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 layersA painted picture of part of the page, kept off screen so the compositor can move or fade it without painting again.
Defined in: How the browser renders: style, layout, paint- Layout
The stage that works out each box's size and position on the page. Running it again is often called reflow.
Defined in: How the browser renders: style, layout, paint- 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.
Defined in: Iterators and generators- 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.
Defined in: Data center: leaf-spineA 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 depthA 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.
Defined in: How machine learning works- Lease
The time a device may keep a DHCP address before it must renew it, for example 24 hours.
Defined in: DHCP: getting an address- 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: ArraysHow many characters (strictly, UTF-16 code units) a string has. "Ada".length is 3.
Defined in: Strings and template literals- let
Makes a variable whose value can be replaced later.
Defined in: Variables: let and const- 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.
Defined in: Wireless basics: radio waves and spectrum- Lifetime
The time from when an object is fully created (its constructor has finished) until its destruction starts.
Defined in: Constructors and destructors- LIMIT
The clause that keeps only the first n rows of the result. It runs last, after ORDER BY.
Defined in: SELECT: asking questions- 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.
Defined in: Power supplies: steady rails for every chip- 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).
Defined in: Searching: linear and binary- Linear, O(n)
The steps grow at the same rate as n, as in checking every item once.
Defined in: How fast is fast? Big O- 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.
Defined in: IPv6 addresses and SLAACAn 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.
Defined in: What C++ is: compile and runThe tool that joins object files and libraries, matching every needed name with its definition, and writes the executable.
Defined in: Headers, translation units and linking- 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.
Defined in: Continuous integration- 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 listsSeveral values in order, inside square brackets, such as [1, 2, 3].
Defined in: LoopsAn ordered collection of values in square brackets, such as ["apple", "fig"]. It can change after it is made.
Defined in: Lists and tuplesAn 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 styleA 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.
Defined in: Headings, paragraphs and lists- 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 inferenceA type that is one exact value, such as "left" or 42. Only that value fits it.
Defined in: Literal types and enumsA type with exactly one value, such as "id" (only that exact text) or 42.
Defined in: Mapped and conditional types- 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.
Defined in: Many servers: M/M/c and Erlang CAverage number in a system = arrival rate × average time each spends there (L = λT). It holds for almost any queue.
Defined in: Networks of queues and real traffic- 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.
Defined in: The DOM from JavaScript- 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.
Defined in: Cloud networking: VPCs and load balancersA single public address that passes each incoming request to one of several servers, and skips servers that fail their health check.
Defined in: Scaling outA 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.
Defined in: BGP: the internet's map- 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.
Defined in: Functions: reusable stepsA variable that exists only inside one call of a function, such as price, count or cost.
Defined in: FunctionsA name made inside a function, such as total. It lives in the call's frame and is gone when the call returns.
Defined in: FunctionsA variable declared inside a function or block. Its name works only inside that block, and it lives until the block ends.
Defined in: Variables on the stack- localStorage
The web store that is kept after reloads and browser restarts, until it is cleared. One store per origin.
Defined in: Storage in the browser- Lock (mutex)
Short for mutual exclusion: only the thread holding it may go on; others that ask for it wait until it is released.
Defined in: Threads and concurrencythreading.Lock: only one thread at a time may run the code inside with lock:, so shared data stays consistent.
Defined in: Threads, processes and the GIL- Lock file
A file listing the exact version of every installed package, so an install can be repeated exactly.
Defined in: Package managers and dependencies- 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.
Defined in: How fast is fast? Big O- 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.
Defined in: Debugging: finding what went wrong- 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).
Defined in: Operators and equality- Logical topology
The path data really takes, which can differ from the cabling: a hub wired as a star behaves like a bus.
Defined in: Network topologies: bus, star, ring and mesh- Logs, metrics, traces
The three signals of observability: timestamped event records, numbers measured over time, and the path of one request through every service.
Defined in: Reliability and observability- Longest prefix match
When several rows match a destination, the router uses the one with the longest prefix, because it is the most specific.
Defined in: Routing tables and longest prefix match- Longest-prefix match
The rule every router uses: of all routes that contain the destination, use the one with the longest prefix.
Defined in: Attack and defence: BGP hijacking and RPKI- 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 TreeA part of a program that runs the same lines again and again.
Defined in: Loops: doing things againCode that runs the same lines again and again, as long as a condition is true.
Defined in: LoopsCode 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.
Defined in: Loops: doing things againThe 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.
Defined in: Loops: doing things againThe 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.
Defined in: Operators and equality- 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.
Defined in: Zigbee, Thread and LoRa: low-power radios- Loss
One number for how wrong the model is. Mean squared error squares every error and averages them.
Defined in: How machine learning works- 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.
Defined in: Blocking and loss: Erlang B- 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.
Defined in: Satellite internet: GEO and LEO- LRU
Least recently used: when a set is full, evict the line that has gone unused the longest.
Defined in: Caches: keeping memory close to the CPU- 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.
Defined in: OSPF: link-state routing- LSDB
Link-state database: all the LSAs a router holds. After flooding it is identical on every router in the area.
Defined in: OSPF: link-state routing- 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.
Defined in: Write-ahead logging and recovery
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).
Defined in: Queues everywhere: arrivals, service and waiting- 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 / (μ − λ).
Defined in: Networks of queues and real traffic- 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.
Defined in: Many servers: M/M/c and Erlang C- 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.
Defined in: Ethernet frames and MAC addressesA 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.
Defined in: How a switch learnsThe hardware address of a network card, six bytes written like 00:00:5e:00:53:30. Ethernet delivers frames by MAC address.
Defined in: ARP: from IP to MACThe hardware address of a network card, like 00:00:5e:00:53:0a. Ethernet frames are addressed by MAC, one link at a time.
Defined in: Leaving the LAN: the default gateway- 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.
Defined in: How a switch learns- 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.
Defined in: How a computer runs a programInstructions stored as numbers (bytes) for one family of CPUs. It is the only thing a CPU can run.
Defined in: What code is: source, interpreters and compilersNumbered instructions a CPU runs directly. Each chip family (arm64, x86-64) has its own.
Defined in: Compilers and interpreters up closeThe 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.
Defined in: How machine learning works- Machine learning (ML)
One way to do AI: a program finds patterns in examples instead of following rules a person wrote.
Defined in: What AI and machine learning are- 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.
Defined in: What C++ is: compile and run- 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.
Defined in: Loading scripts: defer and asyncThe thread every Python process starts with; threading.Thread adds more.
Defined in: Threads, processes and the GILThe thread every program starts with. It runs main().
Defined in: Threads and atomics- 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.
Defined in: The stack and the heap- Malware
Software that works for an attacker, for example to spread to other computers or steal data.
Defined in: Defence: segmentation, DMZs and zero trust- MAN
Metropolitan area network: a network across a city, such as a provider's fibre ring, tens of kilometres wide.
Defined in: Types of networks: PAN, LAN, MAN and WAN- Managed heap
The memory the CLR owns for objects created with new. You never free it yourself; the garbage collector does.
Defined in: Memory and the garbage collector- Manager / agent
The manager is the monitoring software that asks; the agent is the small program on each device that answers.
Defined in: Monitoring: SNMP and flows- Manifest
A small text file listing the rungs and where their segments are: an HLS playlist (.m3u8) or a DASH MPD.
Defined in: Streaming video: buffering and adaptive bitrate- 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 typesA type like { [K in keyof T]: ... } that makes one property for each key of another type.
Defined in: Mapped and conditional types- 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.
Defined in: Memory and the garbage collector- Mask ROM
Read-only memory whose bits are fixed when the chip is made, by building or leaving out a transistor at each spot.
Defined in: ROM and flash: memory that remembers- 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.
Defined in: Zigbee, Thread and LoRa: low-power radios- 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.
Defined in: Getting online: DSL, cable and fibre to the home- Measurement
Reading a qubit. It gives one plain 0 or 1 at random and leaves the qubit in that state.
Defined in: Quantum computing basics- Media
Pictures, sounds and videos on a page. Each is its own file, separate from the HTML.
Defined in: Images, audio and video- Media query
A condition about the device, such as (min-width: 700px). The rules inside @media apply only while it is true.
Defined in: Responsive design and media queries@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.
Defined in: Unions and narrowing- Member function
A function declared inside a class that works on one object's data, called as object.function(), for example t.add(3).
Defined in: Classes: objects and their lifetimeA function declared inside a class. It is called on an object, which it can reach as *this.
Defined in: Operator overloading- 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.
Defined in: Constructors and destructors- 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.
Defined in: Dictionaries and sets- 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.
Defined in: Dynamic programming- 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 isA span's heap-friendly cousin: it can be stored in fields and kept across await, and gives a Span when you need one.
Defined in: Span<T> and performance- 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.
Defined in: How a computer runs a program- 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.
Defined in: GPUs: thousands of small cores- 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).
Defined in: The memory hierarchy- Memory leak
Memory that a program no longer needs but never gives back, so it stays used until the program ends.
Defined in: Garbage collectionHeap memory that was never freed and can no longer be reached, because no pointer to it remains.
Defined in: The heap: new and deleteMemory that was taken and never given back, usually because nothing points at it any more.
Defined in: RAII: let objects clean up- 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.
Defined in: Namespaces and cgroups: how containers work- 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.
Defined in: Random arrivals: the Poisson process- 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.
Defined in: Branching and merging- Merge conflict
When both sides changed the same lines, Git stops and marks the clash in the file for you to resolve.
Defined in: Branching and merging- 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.
Defined in: Network topologies: bus, star, ring and mesh- 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.
Defined in: Zigbee, Thread and LoRa: low-power radios- 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).
Defined in: Multicore processors- 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.
Defined in: The head: metadata, SEO and sharing- Metadata
Information about the page rather than content on it, such as its title or character encoding.
Defined in: The shape of an HTML documentData about the page rather than content on it, such as its title, its character encoding or a summary. It lives in the .
Defined in: The head: metadata, SEO and sharing- Method
The verb of a request. GET asks for something; POST sends data, such as a form.
Defined in: HTTP requests and responsesAn action a value can do, written value.name(), such as word.upper() or text.split(",").
Defined in: Strings: text in memoryA function that belongs to a value, called with a dot, such as fruits.push("plum").
Defined in: ArraysA function that belongs to a value, called with a dot, such as name.toUpperCase().
Defined in: Strings and template literalsA function defined in a class, called on an object, like ada.deposit(50).
Defined in: Classes in TypeScriptA function defined inside a class. Called on an object, it receives that object as its first argument.
Defined in: ClassesA named action you can call, such as Console.WriteLine. You call it with brackets and pass it values inside them.
Defined in: Your first C# programA 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.
Defined in: Objects and classes- 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.
Defined in: Microcontrollers: a whole computer on one chipA small computer on one chip: processor, memory and input/output pins, used to control devices.
Defined in: Serial buses: UART, I2C and SPI- 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.
Defined in: Callbacks and promisesWhere 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.
Defined in: Responsive design and media queries- 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.
Defined in: Mobile networks: 4G and 5G- Mobile first
Writing the small-screen layout as the base rules, then adding wider layouts with min-width media queries.
Defined in: Responsive design and 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 filesA file's type and its nine permission bits, shown by ls -l as ten characters such as -rw-r-----.
Defined in: Users and permissions- Model
What training produces and keeps: the learned patterns (here, one score per word), not the examples themselves.
Defined in: What AI and machine learning are- 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.
Defined in: How machine learning works- 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.
Defined in: Wireless basics: radio waves and spectrumChanging a steady carrier wave (its height, frequency or phase) so that it carries information.
Defined in: Radio-frequency basics- Module
One Python file (.py) of definitions with one clear job. Its name is the file name without .py.
Defined in: Modules and interfacesVerilog's building block: a named box with ports; bigger designs plug modules together.
Defined in: Describing hardware: VerilogOne JavaScript file with its own top-level scope. It shares names only through export.
Defined in: ModulesA 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.jsA file with a top-level import or export. Its names are private unless it exports them.
Defined in: Modules and declaration filesA file of Python code, such as greet.py. Its name is the file name without .py.
Defined in: Modules and packages- Module resolution
How tsc finds the file an import path refers to, for example math.d.ts behind "./math.js".
Defined in: Modules and declaration files- Module script
A script with type="module". It can use import and export, and is deferred by default.
Defined in: Loading scripts: defer and async- ModuleNotFoundError
The ImportError that import raises when no module with that name is found on sys.path.
Defined in: Modules and packages- 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.
Defined in: Attack and defence: BGP hijacking and RPKI- MOSFET
Metal-oxide-semiconductor field-effect transistor: the kind of transistor that modern chips are built from.
Defined in: Transistors: the switch that changed everything- Mount
Attaching a filesystem to a folder of the directory tree, so the files on it appear under that folder.
Defined in: Disks, partitions and mounts- Mount point
The folder a filesystem is mounted on, such as /mnt/data. Its own contents are hidden while something is mounted there.
Defined in: Disks, partitions and mounts- 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.
Defined in: IoT: MQTT and constrained devices- MSBuild
The .NET build engine. dotnet build, dotnet restore and dotnet pack all run MSBuild targets.
Defined in: Projects, builds and NuGet- 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).
Defined in: Logins: authentication and sessions- 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.
Defined in: What cybersecurity is- Multicast
Sending to a group of listeners, such as ff02::1 (all nodes) or ff02::2 (all routers). IPv6 uses it instead of broadcast.
Defined in: IPv6 addresses and SLAACSending 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.
Defined in: Fibre optics: light in glass- Multiplexer (mux)
A circuit that passes one of several inputs to its single output; select bits choose which input.
Defined in: Multiplexers: choosing one inputA switch made of gates that passes exactly one of its inputs to its output, chosen by select bits.
Defined in: The ALU: the CPU's calculatorA switch circuit with several inputs and one output; select lines choose which input is passed through.
Defined in: RegistersA switch made of gates: its select bits decide which one of its inputs reaches its output.
Defined in: The datapath: where the data flowsA 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 unitA 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.
Defined in: A complete CPU: fetch, decode, execute- Multiplexing
Sending many requests and responses at once on one connection as separate streams (HTTP/2 and HTTP/3).
Defined in: HTTP requests and responses- 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.
Defined in: Names, objects and references- 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 levelsMultiversion 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).
Defined in: How email is delivered- 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.
Defined in: How fast is fast? Big O- n-type
Silicon doped with atoms that have 5 valence electrons, such as phosphorus. Its current is carried by free electrons (negative).
Defined in: Semiconductors and doping- Name
A label in a namespace that refers to one object. Assignment binds a name; it never copies the object.
Defined in: Names, objects and references- 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.
Defined in: Variables and namesThe 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: ScopeA table that maps names to objects. A module's global names live in a dict you can see with globals().
Defined in: Names, objects and referencesA 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.
Defined in: Namespaces and cgroups: how containers work- 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.
Defined in: NAND: one gate to build them all- 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.
Defined in: ROM and flash: memory that remembers- nano
A simple terminal editor that lists its main shortcuts at the bottom of the screen.
Defined in: Editing files in the terminal- Nanosecond (ns)
A billionth of a second. A microsecond (µs) is 1,000 ns; a millisecond (ms) is 1,000,000 ns.
Defined in: The memory hierarchy- NAPT / PAT
NAT that rewrites the port number as well as the address, so one public address can carry many conversations at once.
Defined in: NAT and port translation- 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.
Defined in: Unions and narrowing- NAT
Network address translation: the router swaps private addresses for the home's one public address, and back.
Defined in: Your home networkNetwork address translation: a router rewrites addresses in packets as they pass, so many private devices can share one public address.
Defined in: NAT and port translation- 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.
Defined in: Cloud networking: VPCs and load balancers- NAT64
A gateway (RFC 6146) that translates IPv6 packets into IPv4 packets and back, so IPv6-only devices can reach IPv4-only sites.
Defined in: Dual stack and transition- Native app
An app written in a system's own language and tools: Swift for iOS, Kotlin for Android.
Defined in: How mobile apps work- 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.
Defined in: Op-amps and analog circuits- 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).
Defined in: Graph search: BFS and DFS- 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.
Defined in: Network tools on Linux- Netlist
A list of a circuit's parts and the wires that connect them.
Defined in: Describing hardware: VerilogThe output of synthesis: a list of standard cells and the wires (nets) that join them.
Defined in: From design to silicon: the ASIC flow- 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.
Defined in: Cloud networking: VPCs and load balancers- 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.
Defined in: Prototypes and classesAn expression that reserves memory on the heap for an object (or an array with new[]), initialises it and returns its address.
Defined in: The heap: new and deleteThe operator that creates an object: it gets memory on the heap, sets every field to its default value, then runs a constructor.
Defined in: Classes and objects- 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.
Defined in: Routing tables and longest prefix matchThe 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.
Defined in: Iterators and generators- Nibble
A group of 4 bits, written as one hex digit.
Defined in: Number systems: decimal, binary and hex- NIC
Network interface card: the part of a device that connects it to the network. Each one has its own MAC address.
Defined in: Ethernet frames and MAC addresses- 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.
Defined in: What cybersecurity is- 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 isOne item in a tree. It holds a value and links to its children.
Defined in: TreesOne object in the DOM tree, such as the Document, an element or a piece of text. Every node except the Document has one parent.
Defined in: From HTML to the DOM treeOne object in the DOM tree, such as an element (ul, li) or a piece of text. document is the root node.
Defined in: The DOM from JavaScriptOne 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 isA 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.
Defined in: Binary and Boolean logic- Non-functional requirement
How well the system must work: its speed, cost, security, reliability and so on.
Defined in: From requirements to design- Non-volatile memory
Memory that keeps its data when the power is off, such as ROM and flash. DRAM and SRAM are volatile.
Defined in: ROM and flash: memory that remembers- Nonblocking assignment (<=)
The assignment used in clocked blocks: every right-hand side is read first, then all the flip-flops update together.
Defined in: Describing hardware: Verilog- 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.
Defined in: NAND: one gate to build them all- Normal flow
How the browser places boxes when you add no layout rules: in source order, by each box's display type.
Defined in: Display and normal flowHow 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.
Defined in: Editing files in the terminal- Northbound API
The interface apps use to tell the controller what they want, often a REST API. Southbound is controller to switches.
Defined in: Software-defined networking- 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 SQLA 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.
Defined in: Binary and Boolean logic- NOT NULL
A rule that a column must always hold a value.
Defined in: Keys and constraints- 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.
Defined in: Network time: NTP and PTP- NuGet package (.nupkg)
A zip file with compiled DLLs (one folder per target framework) and a description: id, version and dependencies.
Defined in: Projects, builds and NuGet- null
A JavaScript value meaning "no value". getItem returns it when the key does not exist.
Defined in: Storage in the browserThe reference to no object at all. It is the default value of every reference type, such as string.
Defined in: Null and nullable typesThe marker for a missing value. NOT NULL forbids it in a column.
Defined in: Tables, rows and keysA marker that means no value. Python's sqlite3 module gives it to you as None.
Defined in: JOINsSQL's marker for a missing or unknown value.
Defined in: Grouping and aggregatesSQL's marker for "no value here". It is not zero and not an empty string.
Defined in: Keys and constraints- 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.
Defined in: Null and nullable types- 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.
Defined in: Null and nullable types- 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.
Defined in: Null and nullable types- 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.
Defined in: Null and nullable types- 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.
Defined in: Little's law: L = λ × W- Number()
Turns a value into a number: Number("1") is 1 and Number(null) is 0.
Defined in: Storage in the browser
O
- O(1)
"Constant time": the work does not grow as the collection grows. A dict lookup is O(1) on average.
Defined in: Hash maps: finding things by key- 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 listsWays 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.
Defined in: Searching: linear and binary- 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.
Defined in: How fast is fast? Big O- 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).
Defined in: Graph search: BFS and DFS- Object
A value that groups related values under names, written with curly braces: { name: "Mochi", age: 3 }.
Defined in: ObjectsA group of named values called properties, written with curly braces, such as { name: "Tom", age: 3 }.
Defined in: JSONA set of named values, written with curly braces, such as { name: "Ada", age: 36 }.
Defined in: Destructuring and spreadA value that groups other values under names, written with braces: { name: "Ana", age: 30 }.
Defined in: Objects and interfacesPython's word for one value in memory, such as the whole number 10. Every object has a type, such as int.
Defined in: Variables and namesA piece of data in memory with an identity, a type and a value. Every value in Python is an object.
Defined in: Names, objects and referencesOne thing made from a class, with its own copy of the data members. t and u are two Tally objects.
Defined in: Classes: objects and their lifetimeOne instance of a class, made with new. Several variables can refer to the same object.
Defined in: Value types and reference types- Object (instance)
One thing built from a class, with its own attributes (data), such as a.owner and a._balance.
Defined in: Objects and classesOne thing built from a class with new. Each has its own copy of the fields.
Defined in: Classes in TypeScriptOne concrete thing made from a class with new. Each object has its own copy of the class's fields.
Defined in: Classes and objects- 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.
Defined in: What C++ is: compile and runThe compiler's output for one translation unit (main.o): machine code plus a symbol table, not yet a whole program.
Defined in: Headers, translation units and linking- 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.
Defined in: Prototypes and classes- 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.
Defined in: Number systems: decimal, binary and hex- Octet
A group of 8 bits (a byte). An IPv4 address is four octets.
Defined in: IPv4 addressesA 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.
Defined in: Searching: linear and binary- 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 lawThe unit of resistance. 1 kΩ (kilo-ohm) is 1,000 ohms.
Defined in: Resistors and capacitors- 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.
Defined in: Monitoring: SNMP and flows- 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.
Defined in: Scheduling jobs: cron and timers- 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.
Defined in: Headers, translation units and linking- One-hot
A pattern of bits where exactly one is 1 and all the others are 0.
Defined in: Decoders and encoders- ONT / OLT
Optical network terminal (the box in your home) and optical line terminal (the ISP's end of the fibre).
Defined in: Getting online: DSL, cable and fibre to the home- 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.
Defined in: Namespaces and cgroups: how containers work- Op-amp
Operational amplifier: a chip with two inputs (+ and -) and one output that amplifies the difference between the inputs.
Defined in: Op-amps and analog circuits- 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 setsThe bits of an instruction that say which operation it is. In TINY-8, the top four bits of the first byte.
Defined in: The datapath: where the data flowsThe 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.
Defined in: Hash maps: finding things by key- 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.
Defined in: Serial buses: UART, I2C and SPI- Open Graph
A protocol started by Facebook: tags that apps read to build link previews.
Defined in: The head: metadata, SEO and sharing- 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.
Defined in: Op-amps and analog circuits- 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.
Defined in: Software-defined networking- Operand
A value an operator works on. In 7 + 6, the operands are 7 and 6.
Defined in: Operators and equalityA value an operator works on. In a + b, a is the left operand and b is the right operand.
Defined in: Operator overloading- 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.
Defined in: What an operating system does- Operation code
The bits that tell the ALU which operation to do. Here two bits: 00 ADD, 01 SUB, 10 AND, 11 OR.
Defined in: The ALU: the CPU's calculator- Operator
A symbol such as +, *, === or && that takes one or more values and makes a new value.
Defined in: Operators and equalityA symbol that works on values: + - * / // % ** for numbers, + and * for strings.
Defined in: Numbers and 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.
Defined in: Operator overloading- Operator overloading
Giving an operator such as +, == or << a meaning for your own type by writing a function named operator followed by the symbol.
Defined in: Operator overloading- Optical fibre
A thin strand of very pure glass that carries data as flashes of light.
Defined in: Fibre optics: light in glass- Optimal substructure
When the best answer to a problem is built from the best answers to its subproblems.
Defined in: Dynamic programming- 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.
Defined in: Undefined behaviour: one read past the end- 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.
Defined in: Objects and interfacesA 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.
Defined in: Containers and deployment- ORDER BY
The clause that sorts the result rows. ASC (the default) sorts lowest first and DESC sorts highest first.
Defined in: SELECT: asking questions- Order of appearance
The tie-breaker: when two declarations tie on everything else, the one that comes later wins.
Defined in: The cascade and specificity- Ordered list (ol)
A list whose order matters, such as steps. Browsers number the items themselves.
Defined in: Headings, paragraphs and lists- Origin
The scheme, host and port of a URL together, such as https, cafe.example and 443.
Defined in: Iframes and embedsThe scheme, host and port of a URL together, such as http://localhost:8000. Each origin has its own storage that other sites cannot read.
Defined in: Storage in the browser- Origin AS
The AS where a route starts: the last (rightmost) number in its AS_PATH.
Defined in: Attack and defence: BGP hijacking and RPKI- 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.
Defined in: Routing tables and longest prefix matchOpen Shortest Path First: a link-state routing protocol used inside one organisation's network. OSPFv2 (RFC 2328) carries IPv4 routes.
Defined in: OSPF: link-state routing- OUI
Organizationally Unique Identifier: the first three bytes of a MAC address, assigned by the IEEE to a maker or organisation.
Defined in: Ethernet frames and MAC addresses- Out of bounds
An index outside 0 to N-1. Reading or writing there is undefined behaviour for a built-in array.
Defined in: Undefined behaviour: one read past the end- 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.
Defined in: The compiler and tsconfig- 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.
Defined in: Headings, paragraphs and lists- 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.
Defined in: How machine learning works- 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.
Defined in: Adding big numbers: the ripple-carry adderWhen the true signed result does not fit in the available bits, so the stored bits have the wrong sign.
Defined in: The ALU: the CPU's calculator- Overlapping subproblems
When the same subproblems come up many times, so storing their answers saves repeated work.
Defined in: Dynamic programming- 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: InheritanceWritten after a member function to say it replaces a virtual function of the base. The compiler reports an error if it does not.
Defined in: Inheritance and virtual functions- Own property
A property stored on the object itself, such as rex.name. Object.hasOwn(obj, key) tells you whether a property is own.
Defined in: Prototypes and classes- Ownership
Being responsible for deleting an object. Exactly one unique_ptr owns its object; several shared_ptrs can share ownership of one.
Defined in: Smart pointers: unique_ptr and shared_ptr
P
- P-N junction
The join between p-type silicon (full of holes) and n-type silicon (full of spare electrons).
Defined in: Diodes: one-way streets- Package
Code someone wrote and published so others can install and reuse it, such as requests.
Defined in: Package managers and dependenciesA folder of reusable code described by its own package.json, which gives at least its name and version.
Defined in: npm and packagesA folder of modules. A regular package holds an __init__.py file, and its modules have dotted names such as shapes.square.
Defined in: Modules and packagesOne 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.
Defined in: Installing software- Package (distribution)
Code someone published for others to install, such as requests. It can contain one or more importable modules.
Defined in: Virtual environments and pip- Package manager
The tool that finds, downloads and installs packages: pip for Python, npm for JavaScript.
Defined in: Package managers and dependenciesThe tool that finds, downloads, installs, upgrades and removes packages for you. apt on Debian and Ubuntu, dnf on Fedora.
Defined in: Installing software- 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.
Defined in: Projects, builds and NuGet- Packet
A small piece of a message with a label saying who sent it and who it is for.
Defined in: What a network isA chunk of data sent across a network in one go, often up to 1500 bytes.
Defined in: Bits on the wireA 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.
Defined in: ROM and flash: memory that remembers- 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 depthWhat 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.
Defined in: How the browser renders: style, layout, paint- Pairing / bonding
Making a shared secret key (pairing) and storing it to reconnect later (bonding).
Defined in: Bluetooth and personal area networks- PAN
Personal area network: a few devices around one person, joined by Bluetooth or USB. About 10 m across.
Defined in: Types of networks: PAN, LAN, MAN and WANPersonal area network: a few devices around one person, linked over a short distance, for example by Bluetooth.
Defined in: Bluetooth and personal area networks- Paragraph
A block of running text, written with p. It starts on a new line, with a little space above and below.
Defined in: Headings, paragraphs and lists- 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.
Defined in: Series and parallel circuits- Parallelism
Several tasks running at literally the same moment, on different CPU cores.
Defined in: Threads and concurrency- Parameter
A name in the def line, such as w or h, that receives a value when the function is called.
Defined in: Functions: reusable stepsA name in a function's brackets, such as price, that each call fills in with a value.
Defined in: FunctionsA name in a function's definition for a value it takes, like w in function area(w: number).
Defined in: Typing functionsA name in the def line, such as nums, that stands for whatever value a caller hands in.
Defined in: FunctionsA name listed in a def's brackets, such as drink. It receives a value each time the function is called.
Defined in: Arguments: defaults, *args and **kwargsA 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: FunctionsA 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.
Defined in: Building a web API with ASP.NET Core- Parameter property
A constructor parameter with a modifier such as public or private; it declares and fills a field of the same name.
Defined in: Classes in TypeScript- 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.
Defined in: Git: saving history- Parent / child
A node directly above another in the tree is its parent; the nodes directly below it are its children.
Defined in: The DOM from JavaScript- 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.
Defined in: The shape of an HTML document- Parser
The part of the browser that reads HTML text from top to bottom and turns each tag into a node in the DOM.
Defined in: Loading scripts: defer and async- 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.
Defined in: Disks, partitions and mounts- 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.
Defined in: Disks, partitions and mounts- Pass (iteration)
One run through the loop body.
Defined in: Loops: doing things again- Pass / fail
A test passes when it finishes without raising an error, and fails when it raises one, such as AssertionError.
Defined in: Testing with pytest- 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: FunctionsCalling a function with a copy of the argument: the parameter is a new variable, so changing it never changes the caller's variable.
Defined in: Variables on the stackThe 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.
Defined in: Cables and connectors: copper, RJ45 and coax- 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 lineA setting that lists the folders the shell searches, in order, to find a program by its name.
Defined in: The shellThe 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.
Defined in: Printed circuit board design- 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.
Defined in: Callbacks and promises- 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.
Defined in: Bluetooth and personal area networks- Permission
The user's yes or no, asked by the system, before an app may use the camera, location, contacts or other private things.
Defined in: How mobile apps work- Permission bits
r (read), w (write) and x (execute), once for the owner, once for the group and once for others.
Defined in: Users and permissions- 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.
Defined in: Scheduling jobs: cron and timers- 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.
Defined in: Backups and 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.
Defined in: Satellite internet: GEO and LEO- 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.
Defined in: What cybersecurity is- Physical address
A real location in RAM.
Defined in: Virtual memory- Physical topology
How the cables (or radio links) actually run between devices.
Defined in: Network topologies: bus, star, ring and mesh- PID
Process ID: the number the kernel gives each process, for example 4242. Commands like ps and kill use it.
Defined in: Processes and signalsProcess ID: the number the kernel gives each running process. systemd is PID 1; a restarted service gets a new PID.
Defined in: Services with systemd- 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.
Defined in: Namespaces and cgroups: how containers work- 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.
Defined in: Defence: firewalls and ACLs- pip
Python's package installer. It downloads packages, usually from PyPI, and installs them into a site-packages folder.
Defined in: Virtual environments and pip- Pipe
The | symbol: it sends one command's output into the next command's input.
Defined in: The command lineThe | 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).
Defined in: Pipes and text tools: grep, sed, awk- Pipeline
A list of automated stages, such as install, lint, test and build, that runs in order on a server for every push.
Defined in: Continuous integrationA 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.
Defined in: Files and data: everything is bits- Place value
What a digit is worth because of where it sits. In binary the places are powers of two.
Defined in: Binary and Boolean logicWhat a digit is worth because of where it sits: in 173 the 1 is worth 100, because it is in the hundreds place.
Defined in: Number systems: decimal, binary and hex- 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.
Defined in: Defence: WPA3 and enterprise Wi-Fi (802.1X)- PoE
Power over Ethernet: sending electrical power along the same cable as the data.
Defined in: Cables and connectors: copper, RJ45 and coaxPower over Ethernet (IEEE 802.3): the switch sends power down the same cable as the data, for access points, phones and cameras.
Defined in: Campus network design- 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.
Defined in: Backups and point-in-time recovery- Pointer
A variable whose value is an address. int* p is a pointer to an int.
Defined in: PointersA variable that holds an address, such as int* p. *p means the object at that address.
Defined in: The heap: new and delete- 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.
Defined in: Searching: linear and binary- Poisson arrivals
Arrivals at random moments, independent of each other, at a steady average rate; the gaps between them follow an exponential distribution.
Defined in: Networks of queues and real traffic- 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.
Defined in: Random arrivals: the Poisson process- 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.
Defined in: Random arrivals: the Poisson process- 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.
Defined in: Quality of service: who goes first- 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.
Defined in: Objects and classesOne piece of code working with objects of many types, each behaving its own way; in C++ usually through virtual functions.
Defined in: Inheritance and virtual functionsOne call, different behaviour: the same line s.Info() runs Square's or Rect's Area() depending on the object s refers to.
Defined in: Inheritance and interfaces- Pooling
Letting several servers share one queue, so no server idles while work waits. At the same load it cuts waiting sharply.
Defined in: Many servers: M/M/c and Erlang C- Port
A socket on the switch where one cable plugs in.
Defined in: How a switch learnsA 16-bit number that names which app on a computer a datagram is for, like 53 for DNS.
Defined in: UDP: fire and forgetA 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 socketsA 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.
Defined in: NAT and port translationOne set of address and data wires into or out of a memory or register file. Two read ports means two independent reads at once.
Defined in: The datapath: where the data flowsA 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.
Defined in: Describing hardware: Verilog- Port (interface)
A socket on the router where a network cable plugs in. Each row says which port a packet leaves by.
Defined in: Routing tables and longest prefix match- Port forwarding
A fixed row you add by hand, so packets arriving at a chosen public port reach a device inside the home.
Defined in: NAT and port translation- 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.
Defined in: Defence: intrusion detection and prevention- Port scan
Probes (usually SYNs) sent to many ports; the replies show each port as open (SYN-ACK), closed (RST) or filtered (silence).
Defined in: Defence: firewalls and ACLs- 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.
Defined in: Arguments: defaults, *args and **kwargs- 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.
Defined in: Power supplies: steady rails for every chip- 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.
Defined in: Multicore processors- 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.
Defined in: Processes and signals- Preamble and SFD
Seven bytes of 10101010 followed by 10101011. They let the receiver lock on and mark where the frame starts.
Defined in: Ethernet frames and MAC addresses- Precedence
The order operators are worked out in when there are several, for example * before +. Brackets change it.
Defined in: Operators and equality- 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.
Defined in: Lambdas: functions made on the spotA method that answers true or false about one value, like the Func that LINQ's Count takes.
Defined in: Delegates and lambdas- Prediction
The model's answer for a new example it has never seen, such as spam for a new email.
Defined in: What AI and machine learning are- 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.
Defined in: Routing tables and longest prefix matchA block of IP addresses written with its length, like 203.0.113.0/24. BGP announces prefixes, not single addresses.
Defined in: BGP: the internet's map- Prefix (/64)
The first 64 bits of an address on a LAN. It names the network, like the street in a postal address.
Defined in: IPv6 addresses and SLAAC- Prefix length
The /n after an address. It says how many leading bits are the network part, e.g. /24.
Defined in: IPv4 addressesThe 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.
Defined in: Network tools on Linux- Preprocessor
The first tool in a C++ build. It follows the lines that start with #, for example pasting in a header with #include.
Defined in: What C++ is: compile and run- 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 SQLA column (or set of columns) whose value picks out exactly one row: unique and never NULL.
Defined in: Tables, rows and keysThe column (or columns) that names each row uniquely, such as authors.id.
Defined in: JOINsThe column (or columns) that names each row: values must be unique and never NULL. A table has at most one.
Defined in: Keys and constraints- 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.
Defined in: Getting started with PythonA 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.
Defined in: Decoders and encoders- private
A TypeScript modifier: only code inside the class may use the member. tsc checks it; the running JavaScript does not.
Defined in: Classes in TypeScript- 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.
Defined in: Classes: objects and their lifetime- 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 addressesAn 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.
Defined in: NAT and port translation- Process
A running program: its code and data loaded into memory, plus where it has got to.
Defined in: What an operating system doesA running program, with its own memory. All of its threads can read and change that memory.
Defined in: Threads and concurrencyA running program with its own private memory. python count.py starts one; multiprocessing starts more.
Defined in: Threads, processes and the GILA program that is running: its code, its memory and its open files. Run the same program twice and you get two processes.
Defined in: Processes and signals- 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.
Defined in: How a computer runs a programThe register in a CPU that holds the address of the next instruction to run.
Defined in: CountersThe register that holds the memory address of the next instruction to fetch.
Defined in: Instruction setsA register that holds the address of the next instruction to fetch.
Defined in: The datapath: where the data flowsA 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.
Defined in: A complete CPU: fetch, decode, execute- 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.
Defined in: Your first C# programAn XML file that MSBuild reads: which SDK to use, the target framework, the output type and the references.
Defined in: Projects, builds and NuGet- ProjectReference
A reference to another project; MSBuild builds that project first and uses its DLL.
Defined in: Projects, builds and NuGet- Promise
A JavaScript object standing for a result that arrives later; await or .then() gets the value when it does.
Defined in: Async code and the event loopAn object for a value that may arrive later. Its .then callbacks run as microtasks once it is fulfilled.
Defined in: The event loopAn 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.
Defined in: Callbacks and promisesAn 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 awaitAn object for a result that arrives later. It is pending, then fulfilled with a value or rejected with an error.
Defined in: fetch: talking to servers- 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 outputThe 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.
Defined in: Queues and buffering: where delay comes fromThe 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.
Defined in: Adding big numbers: the ripple-carry adderThe 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 isOne entry of an object: a key and the value stored under it.
Defined in: ObjectsOne named value inside an object, such as age with the value 3.
Defined in: JSONOne named value in an object, such as age: 36. Read it with user.age.
Defined in: Destructuring and spreadOne named value inside an object, such as age: 30. Read it with a dot: ana.age.
Defined in: Objects and interfacesA 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.
Defined in: Prototypes and classes- Prototype chain
The series of prototype links from an object up to null, for example rex → Dog.prototype → Object.prototype → null.
Defined in: Prototypes and classes- 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.
Defined in: Pseudo-classes and pseudo-elements- 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.
Defined in: Pseudo-classes and pseudo-elements- PTP
Precision Time Protocol (IEEE 1588): like NTP's four timestamps, but stamped in hardware for sub-microsecond accuracy.
Defined in: Network time: NTP and PTP- 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.
Defined in: NAT and port translation- Public interface
The names a module offers to others (in notes.py: Storage, add and show), and what they promise to do.
Defined in: Modules and interfaces- 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.
Defined in: Microcontrollers: a whole computer on one chip- 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.
Defined in: Continuous integrationAn 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.
Defined in: Variables on the stack- 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.
Defined in: How mobile apps work- push_back
Adds an element at the end of a vector. Amortised constant time: usually instant, now and then a reallocation.
Defined in: STL containers: how std::vector grows- PyPI
The Python Package Index, pypi.org: the public collection of packages that pip installs from.
Defined in: Virtual environments and pip- 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 testingA widely used third-party test runner for Python: it finds tests, runs them and reports the results. Install it with pip.
Defined in: Testing with pytest- Python
A readable, general-purpose programming language, used for scripts, websites, data and much more.
Defined in: Getting started with Python
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.
Defined in: Radio-frequency basics- QoS
Quality of service: 0 = at most once, 1 = at least once (PUBACK), 2 = exactly once (four packets).
Defined in: IoT: MQTT and constrained devices- Quadratic, O(n²)
The steps grow with n times n, as in a loop inside a loop over the same items.
Defined in: How fast is fast? Big O- Quality ladder
The set of qualities a video is encoded at, from low bitrate (360p) to high (1080p). Each quality is a rung.
Defined in: Streaming video: buffering and adaptive bitrate- 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.
Defined in: Quality of service: who goes first- 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.
Defined in: Regular expressions- Quarter-wave monopole
An antenna made of one rod a quarter of a wavelength long, standing on a metal ground plane.
Defined in: Radio-frequency basics- Qubit
A quantum bit. Its state is a|0⟩ + b|1⟩; measuring it gives 0 with probability |a|² and 1 with probability |b|².
Defined in: Quantum computing basics- 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.
Defined in: The DOM from JavaScript- Queue
A collection where items join at the back and leave from the front: first in, first out (FIFO).
Defined in: Stacks and queuesA line where the first item in is the first out (FIFO). Python's collections.deque is a fast queue.
Defined in: Graph search: BFS and DFS- 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.
Defined in: Queues and buffering: where delay comes from- 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.
Defined in: Queues everywhere: arrivals, service and waiting- QUIC
A newer transport protocol (RFC 9000) that runs inside UDP datagrams and adds its own reliability and encryption; HTTP/3 uses it.
Defined in: UDP: fire and forget
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.
Defined in: Threads and concurrencyA bug where the result depends on how threads happen to interleave, such as a lost update to a shared counter.
Defined in: Threads, processes and the GIL- Radio wave
A ripple of electric and magnetic fields that travels at the speed of light. Wireless networks carry bits on it.
Defined in: Wireless basics: radio waves and spectrum- 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.
Defined in: Defence: WPA3 and enterprise Wi-Fi (802.1X)- RAII
Resource Acquisition Is Initialization: the constructor gets a resource and the destructor releases it, so the object's lifetime manages the resource.
Defined in: Classes: objects and their lifetimeResource Acquisition Is Initialization: a class acquires a resource in its constructor and releases it in its destructor, so cleanup happens on its own.
Defined in: Constructors and destructorsResource Acquisition Is Initialization: an object takes a resource when it is made and releases it in its destructor.
Defined in: RAII: let objects clean up- Rail
A long wire that carries one signal past many gates, so each gate can tap it.
Defined in: Decoders and encodersA wire or copper area held at one steady voltage that feeds many parts, such as the 3.3 V rail.
Defined in: Power supplies: steady rails for every chipA 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.
Defined in: Satellite internet: GEO and LEO- Raise
To signal an exception. Python raises them itself (12 / 0), and your code can too, with the raise statement.
Defined in: ExceptionsCall 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.
Defined in: Iterators and algorithms- 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.
Defined in: Loops: doing things again- 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.
Defined in: What cybersecurity is- 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 outA 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.
Defined in: Threads and atomics- 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.
Defined in: Span<T> and performance- Reallocation
A vector moving its elements into a new, bigger block and freeing the old one, because the old one was full.
Defined in: STL containers: how std::vector grows- Reassignment
Assigning to a name that already exists. The name now refers to the new value; a variable holds one value at a time.
Defined in: Variables and typesAssigning to a name that already exists, which moves the name on to a new value. Other names are not affected.
Defined in: Variables and names- 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.
Defined in: Branching and merging- Receive window
How many bytes the receiver can still take. The sender keeps its unacknowledged data within it (flow control).
Defined in: TCP: connections and reliability- 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.
Defined in: Structs and records- 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.
Defined in: Backups and point-in-time recovery- Rectifier
A circuit, often just diodes, that turns AC (which swings both ways) into one-way current.
Defined in: Diodes: one-way streets- 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.
Defined in: How a DNS lookup works- 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.
Defined in: Write-ahead logging and recovery- Redundancy
Running spare copies of a part, so that when one fails another carries on.
Defined in: Reliability and observabilityStoring 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.
Defined in: Span<T> and performance- 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 listsWhat a Python name holds: a pointer to an object on the heap, drawn as an arrow. Two names can refer to the same object.
Defined in: The stack and the heapA 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 collectionA pointer from a name (or a list slot, or an argument) to an object. Many references can point to one object.
Defined in: Names, objects and referencesA second name for an object that already exists, written with & after the type: int& r = x;
Defined in: ReferencesWhat 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.
Defined in: Value types and reference typesWhat 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.
Defined in: Classes and objectsWhat 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.
Defined in: Inheritance and interfacesA value that holds an object's address on the heap. A local such as a holds a reference, not the object itself.
Defined in: Memory and the garbage collector- Reference (&)
Another name for an existing object. Passing by reference avoids a copy; const T& also forbids changes.
Defined in: Operator overloading- Reference clock
A source of true time such as a GPS receiver or an atomic clock, called stratum 0.
Defined in: Network time: NTP and PTP- Reference count
The number of references that point at an object. CPython frees the object when the count reaches 0.
Defined in: Garbage collectionCPython's count of the references to an object. When it falls to 0 the object is freed at once.
Defined in: Names, objects and references- 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.
Defined in: The stack and the heap- 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.
Defined in: Value types and reference typesA 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.
Defined in: Structs and recordsA type, such as string or a class, whose variables hold a reference (an address) to an object on the heap.
Defined in: Null and nullable types- 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.
Defined in: Keys and constraints- Referral
An answer that says 'not me, ask these servers', carried in the authority section.
Defined in: How a DNS lookup works- 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.
Defined in: Fibre optics: light in glass- 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.
Defined in: DRAM: memory made of leaky buckets- Register
A tiny, very fast box inside the CPU that holds one number it is working with.
Defined in: How a computer runs a programA small, very fast storage slot inside the CPU, picked by its number.
Defined in: Multiplexers: choosing one inputA small, fast store inside the CPU that holds one number, a row of bits.
Defined in: The ALU: the CPU's calculatorA row of D flip-flops sharing one clock, storing a multi-bit value: an 8-bit register is 8 flip-flops.
Defined in: RegistersA group of flip-flops that share one clock and together hold a binary number.
Defined in: CountersA small, fast store inside the CPU that holds one number. TINY-8 has four 8-bit registers, r0 to r3.
Defined in: Instruction setsA tiny memory cell wired straight to hardware; in a GPIO register, each bit belongs to one pin.
Defined in: Microcontrollers: a whole computer on one chipA tiny storage slot inside a CPU core. Arithmetic such as adding 1 happens in registers, not directly in memory.
Defined in: Threads and atomics- 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: RegistersA small block of registers (here r0 to r3) with read ports that give register values and a write port that stores a new one.
Defined in: The datapath: where the data flows- Registry
The online store packages are published to: PyPI for Python, the npm registry for JavaScript.
Defined in: Package managers and dependenciesA shared store of images, each named and tagged with a version, such as web:v1. Docker Hub is one.
Defined in: Containers and deployment- Regular expression (regex)
A pattern that describes text, such as \d+ for one or more digits. Python's re module matches regexes against strings.
Defined in: Regular expressions- Regulator
A circuit that holds its output voltage steady even when its input voltage or its load changes.
Defined in: Power supplies: steady rails for every chip- Rejected
The state of a promise that failed; it holds the reason (usually an Error), which .catch receives.
Defined in: Callbacks and promises- 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 SQLA database that keeps data in tables (called relations) and links them through key values.
Defined in: Tables, rows and keys- Relationship
A link between entities, named with a verb: an author writes a book. Drawn as a diamond in Chen's notation.
Defined in: Entity-relationship modelling- Relative path
A path that does not start with /. It is read from the folder you are in.
Defined in: The file systemA 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.
Defined in: Branching and merging- Rendering pipeline
The stages the browser runs to turn the DOM and the CSSOM into pixels on the screen: style, layout, paint and composite.
Defined in: How the browser renders: style, layout, paint- 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.
Defined in: Number systems: decimal, binary and hex- 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.
Defined in: Git: saving historyA server holding thousands of packages and a signed index that lists them. Files under /etc/apt say which repositories your computer uses.
Defined in: Installing software- 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.
Defined in: HTTP requests and responses- required
A boolean attribute: the browser will not send the form while this control is empty.
Defined in: FormsAn 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.
Defined in: Continuous integration- Required time
The latest the value may arrive and still be captured: for setup, the clock period minus the setup time.
Defined in: Timing closure: making every path fast enough- Requirement
Something the system must do or a quality it must have, written so you can check whether it is met.
Defined in: From requirements to design- requirements.txt
A plain-text list of the packages a project needs, one per line; pip install -r reads it.
Defined in: Virtual environments and pip- 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.
Defined in: Series and parallel circuits- Resistor
A part that makes it harder for current to flow. Its resistance is measured in ohms (Ω).
Defined in: Resistors and capacitors- Resolver
A recursive DNS server that looks names up for you by asking other servers, and caches the answers to reuse them.
Defined in: Attack: DNS spoofing and cache poisoning- 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 APIsSomething a program borrows and must give back exactly once, such as heap memory, an open file or a lock.
Defined in: RAII: let objects clean up- Response
The object fetch's promise fulfils with. It has status, ok, headers and methods such as json() and text() to read the body.
Defined in: fetch: talking to servers- Responsive design
Building one page whose layout adapts to the size of the screen or window showing it.
Defined in: Responsive design and media queries- 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).
Defined in: Destructuring and spread- Restore
The step that resolves package versions, downloads packages into the global packages folder (~/.nuget/packages) and writes obj/project.assets.json.
Defined in: Projects, builds and NuGet- Retained message
The last message on a topic that the broker keeps and sends straight away to anyone who subscribes later.
Defined in: IoT: MQTT and constrained devices- 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.
Defined in: Functions: reusable stepsA statement that ends a call and sends a value back to the place the call was made.
Defined in: FunctionsEnds the call and sends a value back to the line that made the call; the call is replaced by that value.
Defined in: FunctionsThe 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 functionsThe 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).
Defined in: Diodes: one-way streets- Reverse mapping
In a numeric enum's object, the entry that goes from the number back to the name, so Dir[2] is "Left".
Defined in: Literal types and enums- 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.
Defined in: Network topologies: bus, star, ring and mesh- 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.
Defined in: Adding big numbers: the ripple-carry adder- 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-flopThe 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.
Defined in: Security basics: what we protect and from whom- RJ45 (8P8C)
The clear 8-pin plug on an Ethernet cable. 8P8C means 8 positions, 8 contacts.
Defined in: Cables and connectors: copper, RJ45 and coax- ROA
Route Origin Authorization: a signed statement that one AS may originate a prefix, up to a maximum length.
Defined in: Attack and defence: BGP hijacking and RPKI- 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 elementsWhat a node is, such as button, image or search box. Native HTML elements have one built in.
Defined in: Accessibility and ARIA- 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.
Defined in: Indexes and transactionsEnds a transaction and undoes every change it made.
Defined in: Transactions and ACID- Root
The top node of a tree: the only node with no parent.
Defined in: TreesA starting point for marking: a local on a thread's stack, a static field, a CPU register, a GC handle or the finalization queue.
Defined in: Memory and the garbage collectorThe folder at the top of the tree, written /. Every other file and folder is somewhere inside it.
Defined in: The file systemThe administrator account, UID 0. Its processes skip the read and write checks; sudo runs one command as root.
Defined in: Users and permissionsThe superuser account, which may change any file on the system.
Defined in: Installing software- 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.
Defined in: The shape of an HTML document- 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.
Defined in: How a DNS lookup works- 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.
Defined in: Congestion control: sharing the pipe- Round-trip delay
Time on the network for the request and reply together, without the server's own work: (t4 − t1) − (t3 − t2).
Defined in: Network time: NTP and PTP- 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.
Defined in: Attack and defence: BGP hijacking and RPKI- Route table
The list each subnet follows: for each destination range, where packets go next. The most specific range wins.
Defined in: Cloud networking: VPCs and load balancers- Router
A box that joins one network to another and chooses which way to send each packet.
Defined in: What a network isThe box that joins your home network to the internet and passes messages between them.
Defined in: Your home networkThe 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.
Defined in: Routing between VLANs- 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: FPGAsMatching each request's method and path to an endpoint. A path with no endpoint gets 404; a wrong method gets 405.
Defined in: Building a web API with ASP.NET Core- Routing table
A router's list of networks and where to send packets for each, matched by the longest prefix.
Defined in: Leaving the LAN: the default gatewayA router's list of destinations (prefixes), each with where to send matching packets: a port and, if needed, a next-hop router.
Defined in: Routing tables and longest prefix matchThe kernel's list of rules saying where each packet should go and through which interface.
Defined in: Network tools on Linux- Row
One entry in a table: one thing, such as one book.
Defined in: What a database isOne entry in a table, such as one book. Textbooks call it a tuple. Rows have no built-in order.
Defined in: Tables, rows and keys- 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.
Defined in: Transactions and ACID- 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.
Defined in: Transactions and ACIDMultiversion 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.
Defined in: Write-ahead logging and recovery- 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.
Defined in: Attack and defence: BGP hijacking and RPKI- RRSIG
A record holding a signature over a set of records, made with the zone's private key.
Defined in: Defence: DNSSEC and encrypted DNS- RTL
Register-transfer level: code, in a hardware language such as Verilog, that describes what each register stores on every clock tick.
Defined in: From design to silicon: the ASIC flow- 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.
Defined in: Debugging: finding what went wrong- 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.
Defined in: TypeScript in real projectsWhile the program is running. Python does not check hints at run time.
Defined in: Type hintsWhile the built program is running on the CPU. Values such as argc or user input only exist now.
Defined in: const and constexpr- 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.
Defined in: Defence: WPA3 and enterprise Wi-Fi (802.1X)- Salt
Random bytes stored next to a password hash and mixed into it, so equal passwords get different hashes.
Defined in: Logins: authentication and sessions- 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.
Defined in: How mobile apps workAn 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.
Defined in: Op-amps and analog circuits- Save (write)
Copying the buffer back into the file on the disk: Ctrl+O in nano, :w or :wq in vim.
Defined in: Editing files in the terminal- 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.
Defined in: What an operating system doesA program that runs commands for you at set times, such as cron or systemd timers.
Defined in: Scheduling jobs: cron and 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.
Defined in: Printed circuit board design- 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: TablesThe part of a program where a name can be used. JavaScript has global, function (one per call) and block scopes.
Defined in: Scope and closuresThe 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: ScopeThe part of a program where a name can be used. A pair of braces { } makes a block, which is a new scope.
Defined in: Constructors and destructorsThe part of the code, usually between { and }, where a local object exists. When the scope ends, its objects are destroyed.
Defined in: RAII: let objects clean up- Screen reader
A program that reads a page aloud (or to a braille display) for people who cannot see the screen.
Defined in: Images, audio and videoSoftware 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 elementsSoftware 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: FormsA program that reads a page aloud (or to a braille display), such as NVDA, JAWS or VoiceOver.
Defined in: Accessibility and ARIA- 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.
Defined in: Getting started with Python- 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).
Defined in: Software-defined networking- SDN controller
A program, on an ordinary server, that runs the control plane for many switches and writes their forwarding rules.
Defined in: Software-defined networking- 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.
Defined in: Defence: VPNs and IPsec- Security group
A stateful firewall attached to each server: it lists what may come in, and replies go out automatically.
Defined in: Cloud networking: VPCs and load balancers- sed
The stream editor: it changes text as it flows past, for example s/old/new/ to substitute.
Defined in: Pipes and text tools: grep, sed, awk- Seen set
The record of nodes already found, so none is added twice and loops cannot trap the search.
Defined in: Graph search: BFS and DFS- Segment
The data plus a TCP header: the transport layer's unit.
Defined in: Packets and layersOne TCP message: a header of at least 20 bytes plus any data. It travels inside an IP packet.
Defined in: TCP: connections and reliabilityA short file holding a few seconds of video (here 6 s). Players fetch video one segment at a time over HTTP.
Defined in: Streaming video: buffering and adaptive bitrate- Segmentation
Splitting one network into zones so a problem in one zone cannot spread freely to the others.
Defined in: Defence: segmentation, DMZs and zero trust- 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.
Defined in: Multiplexers: choosing one input- Select list
The columns after the word SELECT. They decide which columns come back; * means every column.
Defined in: SELECT: asking questions- SELECT statement
A SQL command that asks one or more tables a question and returns the answer as a small table of rows.
Defined in: SELECT: asking questions- Selector
The part of a rule that picks which elements to style. h1 picks every h1 element.
Defined in: What CSS isThe 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.
Defined in: Random arrivals: the Poisson process- 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.
Defined in: Package managers and dependencies- Semiconductor
A material in between a conductor and an insulator, such as silicon, whose conductivity can be tuned by doping.
Defined in: Semiconductors and 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: SRAMA 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.
Defined in: DRAM: memory made of leaky buckets- 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.
Defined in: TCP: connections and reliability- 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 depthA plan that reads every page of a table in order and tests every row.
Defined in: Query plansReading 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.
Defined in: Serial buses: UART, I2C and SPI- 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.
Defined in: Series and parallel circuits- 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.
Defined in: Many servers: M/M/c and Erlang C- 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.
Defined in: Services with systemd- Service rate μ (mu)
How many customers one server can finish per second when it is never idle: 1 ÷ the service time.
Defined in: Queues everywhere: arrivals, service and waitingThe 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.
Defined in: Little's law: L = λ × W- Session
The server's memory that a browser has logged in: a row with a random session ID, the user and an expiry.
Defined in: Logins: authentication and sessions- sessionStorage
Works like localStorage, but its data is cleared when the tab (the page session) ends.
Defined in: Storage in the browser- Set
An unordered collection of unique values, such as {"cat", "dog"}. An empty set is written set(), because {} is an empty dict.
Defined in: Dictionaries and sets- 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.
Defined in: INSERT, UPDATE and DELETE- 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.
Defined in: Caches: keeping memory close to the CPU- 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-flopHow long before a clock edge a flip-flop's input must already be steady for it to be stored reliably.
Defined in: Clocks and timingHow long before a clock edge a flip-flop's input must already be steady.
Defined in: Timing closure: making every path fast enough- Shallow copy
A copy of the top-level values only. Inner objects and arrays are shared with the original, not copied.
Defined in: Destructuring and spread- Shape
The properties an object must have and their types. TypeScript compares shapes, not names.
Defined in: Type aliases vs interfaces- 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 outSplitting one table across several databases, each holding part of the rows (for example by code).
Defined in: System designSplitting 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 pagesPostgreSQL'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.
Defined in: Write-ahead logging and recovery- 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 lineThe program that reads your commands and starts other programs. bash is the default on Ubuntu, Debian and Fedora.
Defined in: What Linux isThe 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.
Defined in: Defence: intrusion detection and prevention- Signal
Something physical that changes to carry bits: a voltage, a light, or a radio wave.
Defined in: Bits on the wireA small numbered message the kernel delivers to a process, such as SIGINT (2), SIGTERM (15) or SIGKILL (9).
Defined in: Processes and signalsA short message the kernel delivers to a process. SIGTERM (15) asks it to end; SIGKILL (9) ends it at once.
Defined in: Services with systemd- Signal handler
A function a program asks the kernel to run when a given signal arrives, instead of the default action.
Defined in: Processes and signals- 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.
Defined in: Defence: intrusion detection and preventionThe 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.
Defined in: Mobile networks: 4G and 5G- SIMD
Single instruction, multiple data: one instruction applied to many pieces of data at the same time.
Defined in: GPUs: thousands of small cores- 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.
Defined in: GPUs: thousands of small cores- Simulation
Running a hardware design as a program on an ordinary computer, to see what every signal would do before the chip is built.
Defined in: Simulation and testbenches- Simultaneous multithreading (SMT)
One core running two threads at once on the same execution units; Intel calls it Hyper-Threading.
Defined in: Multicore processors- Single point of failure
One part whose failure stops the whole network, like the switch at the centre of a star.
Defined in: Network topologies: bus, star, ring and mesh- 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.
Defined in: A complete CPU: fetch, decode, execute- 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.
Defined in: Fibre optics: light in glass- 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.
Defined in: Virtual environments and pip- size
How many elements a container really holds (v.size()).
Defined in: STL containers: how std::vector grows- 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: PointersAn operator that gives the number of bytes a type or object takes, e.g. sizeof(int) is 4 on mainstream platforms.
Defined in: Arrays and std::array- 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.
Defined in: IPv6 addresses and SLAAC- Slack
Required time minus arrival time. Zero or more means the path meets timing; negative means it fails.
Defined in: Timing closure: making every path fast enoughHow much time a signal has to spare: the clock period minus the path delay. Negative slack means a timing failure.
Defined in: From design to silicon: the ASIC flow- Sleep mode
A low-power state in which the chip stops its clocks until something, such as an interrupt, wakes it.
Defined in: Microcontrollers: a whole computer on one chip- Slew
Correcting a clock gradually by running it slightly fast or slow, so time never jumps or runs backwards.
Defined in: Network time: NTP and PTP- 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.
Defined in: Reliability and observability- 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 listsA run of characters, written s[start:stop]. It includes start and stops just before stop, and is a new string.
Defined in: Strings: text in memoryA 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.
Defined in: Span<T> and performance- 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.
Defined in: Hash maps: finding things by key- Slow start
The start-up phase in which cwnd doubles every round trip, until a loss or until it reaches ssthresh.
Defined in: Congestion control: sharing the pipe- 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 .
Defined in: Smart pointers: unique_ptr and shared_ptr- 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.
Defined in: How email is delivered- 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 levelsA 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.
Defined in: The head: metadata, SEO and sharing- SNMP
Simple Network Management Protocol: a manager asks agents on network devices for numbers, and agents can send traps.
Defined in: Monitoring: SNMP and flows- 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.
Defined in: Searching: linear and binary- 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.
Defined in: Transistors: the switch that changed everything- Source code
The text of a program, written in a programming language so people can read and change it.
Defined in: What code is: source, interpreters and compilersThe program as text you write and can read, saved in a file such as hello.cpp.
Defined in: What C++ is: compile and run- 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.
Defined in: Attack: DNS spoofing and cache poisoning- 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.
Defined in: How fast is fast? Big O- 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.
Defined in: Span<T> and performance- 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).
Defined in: The memory hierarchy- 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).
Defined in: Special (dunder) methods- 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).
Defined in: Bytecode and the CPython VM- 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).
Defined in: The cascade and specificityA score (ids, classes and pseudo-classes, types and pseudo-elements) the browser uses to pick a winner when rules disagree.
Defined in: Pseudo-classes and pseudo-elementsA 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.
Defined in: Organising CSS at scale- Spectrum
All the radio frequencies together. Governments divide it into bands and decide who may use each.
Defined in: Wireless basics: radio waves and spectrumThe range of radio frequencies. Operators license slices of it and reuse them across cells.
Defined in: Mobile networks: 4G and 5G- SPF
A DNS TXT record listing which servers may send mail for a domain.
Defined in: How email is deliveredShortest path first: Dijkstra's algorithm, run by each router on the LSDB to find the cheapest path to every destination.
Defined in: OSPF: link-state routing- SPI
Security Parameter Index: the 32-bit number in each ESP packet that tells the receiver which SA, and so which keys, to use.
Defined in: Defence: VPNs and IPsecSerial Peripheral Interface: SCLK (clock), MOSI (out), MISO (in) and one chip-select (CS) wire per chip; full duplex and fast.
Defined in: Serial buses: UART, I2C and SPI- Spine
A switch in the middle layer of a fabric. Spines connect only to leaves, never to each other.
Defined in: Data center: leaf-spine- 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.
Defined in: Attack: DNS spoofing and cache poisoningForging 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.
Defined in: Destructuring and spread- 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 SQLStructured 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.
Defined in: DRAM: memory made of leaky bucketsStatic RAM: fast working memory for variables while the program runs; it forgets everything without power.
Defined in: Microcontrollers: a whole computer on one chip- 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.
Defined in: The memory hierarchy- src
Short for source: the attribute that names the file an img, audio or video element shows or plays.
Defined in: Images, audio and video- 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.
Defined in: Congestion control: sharing the pipe- Stable queue
A queue whose line stays finite on average. If arrivals reach or pass the servers' capacity, the line grows without limit.
Defined in: Queues everywhere: arrivals, service and waiting- 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.
Defined in: Little's law: L = λ × W- Stack
A collection where you add and remove items only at one end, the top: last in, first out (LIFO).
Defined in: Stacks and queuesA pile where the last item in is the first out (LIFO). Recursive calls form a stack.
Defined in: Graph search: BFS and DFSThe memory for a running function's local variables. They are made when the function starts and removed automatically when it returns.
Defined in: The heap: new and delete- Stack frame
The block of memory for one call: its parameters, its local names, and a link back to where the caller continues.
Defined in: The stack and the heapThe 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: FunctionsThe block of stack memory for one function call: its parameters and local variables (plus bookkeeping such as where to return to).
Defined in: Variables on the stackThe memory a function call gets for its local variables and parameters; it is removed when the function returns.
Defined in: ReferencesThe memory a method uses for its local variables while it runs. Here it holds a, b, p and q.
Defined in: Value types and reference typesThe memory a method gets for its locals while it runs. It disappears when the method returns.
Defined in: Memory and the garbage collector- 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.
Defined in: From HTML to the DOM tree- Stack overflow
Running out of stack because too many calls are waiting, usually from recursion with no base case. Python raises RecursionError.
Defined in: The stack and the heapA crash caused by using more stack memory than the system allows, for example through very deep recursion or huge local arrays.
Defined in: Variables on the stack- Stack pointer
A CPU register that marks the top of the stack. Moving it up or down is how frames are pushed and popped.
Defined in: Variables on the stack- 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.
Defined in: RAII: let objects clean up- 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.
Defined in: Git: saving history- 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.
Defined in: From design to silicon: the ASIC flow- Standard error (stderr)
Stream number 2, for error messages. It goes to the terminal even in the middle of a pipeline.
Defined in: Pipes and text tools: grep, sed, awk- 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.
Defined in: Pipes and text tools: grep, sed, awk- Standard output (stdout)
Where a program's normal output goes; in a terminal, it is the terminal itself.
Defined in: Node.jsThe stream a program writes its results to: stream number 1. Normally the terminal; in a pipeline, the next program's input.
Defined in: Pipes and text tools: grep, sed, awk- Standards mode
The rendering mode a browser uses when the page starts with ; without it, browsers fall back to quirks mode.
Defined in: From HTML to the DOM tree- 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.
Defined in: Network topologies: bus, star, ring and mesh- 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.
Defined in: Serial buses: UART, I2C and SPI- State
Data that must outlast one request, such as accounts, orders, sessions and uploaded files.
Defined in: Scaling outWhich situation the machine is in right now, such as GREEN. It is stored as bits.
Defined in: State machinesHow a node is right now, such as expanded or collapsed, checked or not.
Defined in: Accessibility and ARIAThe 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.
Defined in: Defence: firewalls and ACLs- Stateless
Each request stands on its own; the server keeps no memory of earlier ones by itself.
Defined in: HTTP requests and responsesThe server keeps no memory of the client between requests, so each request carries everything it needs.
Defined in: REST APIsA 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 programOne instruction in a program, such as Console.WriteLine("Hi");. Most statements end with a semicolon, and they run in order.
Defined in: Your first C# program- 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.
Defined in: Building with CMake- 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.
Defined in: Timing closure: making every path fast enough- 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.
Defined in: const and constexpr- Statically typed
Every variable's type is known before the program runs, and the compiler checks every line against those types.
Defined in: Variables and 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.
Defined in: HTTP requests and responsesThe 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 APIsThe number in a response that says how it went: 200 success, 404 not found, 500 server error.
Defined in: fetch: talking to serversThe three-digit result of a response: 200 OK, 201 Created, 400 Bad Request, 404 Not Found, 405 Method Not Allowed.
Defined in: Building a web API with ASP.NET Core- Status flags
Single bits the ALU sets about its result: N (negative), Z (zero), C (carry) and V (overflow).
Defined in: The ALU: the CPU's calculator- 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().
Defined in: Arrays and std::array- 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.
Defined in: Smart pointers: unique_ptr and shared_ptr- std::move
A standard function from that casts its argument to an rvalue reference. It moves nothing by itself.
Defined in: Copy and moveA 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.
Defined in: Smart pointers: unique_ptr and shared_ptr- std::out_of_range
The exception that at() throws when the index is not below the size.
Defined in: Arrays and std::array- 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.
Defined in: Smart pointers: unique_ptr and shared_ptr- 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.
Defined in: RAII: let objects clean upA smart pointer with exactly one owner. It cannot be copied, only moved; it is usually the same size as a raw pointer.
Defined in: Smart pointers: unique_ptr and shared_ptr- std::vector
The standard dynamic array: elements side by side in one heap block that grows as you add to it.
Defined in: STL containers: how std::vector grows- 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.
Defined in: Smart pointers: unique_ptr and shared_ptr- 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.
Defined in: How fast is fast? Big O- StopIteration
The exception an iterator raises when it has no more values. A for loop catches it and simply ends.
Defined in: Iterators and generators- 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.
Defined in: Variables and types- str (string)
Text in single or double quotes, such as "tea". + joins strings and * repeats them.
Defined in: Numbers and strings- 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.
Defined in: Network time: NTP and PTP- 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.
Defined in: The compiler and tsconfig- Strict equality (===)
Compares two values without converting them: values of different types are never equal. !== is its opposite.
Defined in: Operators and equalityCompares two values without converting their types; !== is its opposite.
Defined in: ConditionalsEqual 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 worksThe "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.
Defined in: Quality of service: who goes first- 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.
Defined in: Strings: text in memoryA piece of text, written between quotes: "42" is the characters 4 and 2, not the number 42.
Defined in: Values and typesA piece of text: a row of characters in order. Written between "double quotes", 'single quotes' or `backticks`.
Defined in: Strings and template literalsA piece of text: a sequence of characters. JSON text is stored in a string.
Defined in: JSONThe 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'.
Defined in: SELECT: asking questions- String literal
Fixed text written in double quotes in the code, such as "Name? ".
Defined in: Your first programFixed text written in the code inside double quotes, such as "Hello, World!".
Defined in: Your first C# program- Struct
A value type you declare with the struct keyword, usually to bundle a few small values, such as a point.
Defined in: Structs and records- Structural typing
TypeScript's rule that only the shape matters: any object with the right properties fits the interface.
Defined in: Objects and interfaces- Stub resolver
The small DNS client in your operating system. It asks one recursive resolver and waits for the final answer.
Defined in: How a DNS lookup works- 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.
Defined in: Routing between VLANs- Submission
SMTP on port 587, with a login, used by a mail app to give new mail to its own provider.
Defined in: How email is delivered- Submit
Sending a form. A inside a form submits it unless it has type="button".
Defined in: FormsSending 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.
Defined in: Cloud networking: VPCs and load balancers- 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 masksA 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.
Defined in: Leaving the LAN: the default gateway- Subproblem
A smaller version of the same question, such as fib(5) inside fib(7), or making 3 when you need to make 6.
Defined in: Dynamic programming- 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.
Defined in: Installing software- SUM
Adds up the values of a column. It skips NULLs, and gives NULL when there are no rows at all.
Defined in: Grouping and aggregates- 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.
Defined in: Simplifying logic: truth tables and K-maps- 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.
Defined in: Quantum computing basics- Supervised, unsupervised, reinforcement
Learning from labelled examples; finding groups in unlabelled data; learning from rewards and penalties by trying actions.
Defined in: What AI and machine learning are- 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.
Defined in: Routing between VLANs- Switch
A box that joins the wired devices of a LAN and passes packets between them.
Defined in: What a network isA 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.
Defined in: Headers, translation units and linking- 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.
Defined in: What code is: source, interpreters and compilers- Syntax error
A mistake in those rules. Python finds it before running anything and reports where it is.
Defined in: What code is: source, interpreters and compilersCode that breaks the grammar of the language, such as a missing colon. Python reports it before running anything.
Defined in: Debugging: finding what went wrong- 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'.
Defined in: Compilers and interpreters up close- SyntaxError
The error JavaScript throws when text is not written in the form it expects, for example JSON with single quotes.
Defined in: JSONThe error Python reports when code breaks the language's rules, such as = in place of == in an if. Nothing in the file runs.
Defined in: Conditionals: if, elif and else- Synthesis
Turning HDL text into a netlist of gates and flip-flops.
Defined in: Describing hardware: Verilog- sys.modules
A dictionary of every module loaded so far. Python checks it first, so each module runs only once.
Defined in: Modules and packages- sys.path
The list of folders Python searches for modules. It starts with the folder of the script you ran.
Defined in: Modules and packages- Syslog
A standard way for devices to send text log lines, each with a time, host name and severity from 0 to 7.
Defined in: Monitoring: SNMP and flows- 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é.
Defined in: Little's law: L = λ × W- System call
A request from an app to the kernel for a service, such as opening a file or playing sound.
Defined in: What an operating system doesA 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.
Defined in: Services with systemd- systemd
The service manager on most Linux distributions. It runs as process 1 and starts, watches, restarts and stops services.
Defined in: Services with systemd- systemd timer
A .timer unit file that tells systemd when to start another unit, usually the .service with the same name.
Defined in: Scheduling jobs: cron and timers- 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).
Defined in: DHCP: getting an address- T568A / T568B
The two standard orders for which wire colour goes on which pin of an RJ45 plug.
Defined in: Cables and connectors: copper, RJ45 and coax- Table
A named set of rows that all have the same columns, such as books(id, name, year).
Defined in: What a database isA named set of rows that all have the same named, typed columns. Textbooks call it a relation.
Defined in: Tables, rows and keys- Table miss
When a packet matches no normal row. The table-miss row (priority 0, matches anything) usually sends it to the controller.
Defined in: Software-defined networking- 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.
Defined in: Dynamic programming- 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.
Defined in: Caches: keeping memory close to the CPU- Tail drop
Throwing away new arrivals when the buffer is full.
Defined in: Queues and buffering: where delay comes from- Tail latency (p99)
The delay that 99% of packets or requests beat. It shows the slow cases that averages hide.
Defined in: Networks of queues and real traffic- Tandem queues
Queues in a row, where everything that leaves one goes into the next, like the router hops along a path.
Defined in: Networks of queues and real traffic- Tape-out
The moment the finished layout is sent to the factory, usually as a GDSII file, so the masks can be made.
Defined in: From design to silicon: the ASIC flow- target
Which version of JavaScript tsc writes. Newer syntax is rewritten into older JavaScript when the target is older.
Defined in: The compiler and tsconfigOne thing CMake builds, such as a library (add_library) or a program (add_executable).
Defined in: Building with CMakeA group of units reached together. multi-user.target is the normal running system; WantedBy=multi-user.target means: start me at boot.
Defined in: Services with systemd- Target framework (TFM)
The .NET version a project builds for, written as a short name such as net8.0 or netstandard2.0.
Defined in: Projects, builds and NuGet- Task
A coroutine that has been handed to the event loop to run, for example by asyncio.gather().
Defined in: Async code and the event loopA 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 loopA unit of work the event loop runs, such as running a script or a timer's callback.
Defined in: Callbacks and promisesA 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 awaitAn 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.
Defined in: TCP: connections and reliability- 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.
Defined in: Queues and buffering: where delay comes from- Template
A config with blanks, such as {{hostname}}, that a tool fills in from variables, once per device.
Defined in: Network automationA recipe for functions or classes with one or more blanks (template parameters) that the compiler fills in when the template is used.
Defined in: Templates: write it once, for any type- 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.
Defined in: Templates: write it once, for any type- Template literal
A string written in backticks. Each ${...} slot is filled with the text of the value inside, and it may span several lines.
Defined in: Strings and template literals- Template parameter
A stand-in in a template, written template ; T names a type that is chosen later.
Defined in: Templates: write it once, for any type- Temporal locality
Data used recently is likely to be used again soon (a loop counter, a running total).
Defined in: The memory hierarchy- Term (product)
Inputs or their opposites joined by AND, such as DN or D'N'O.
Defined in: Simplifying logic: truth tables and K-maps- Terminal
A window for typing text commands and reading what comes back.
Defined in: The command lineA text window where you type commands, such as node count.mjs notes.txt, and see their output.
Defined in: Node.jsA 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 codeA small function that calls your code and checks the result, usually with assert. In pytest its name starts with test.
Defined in: Testing with pytest- 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 JavaScriptA tool that collects your tests, runs each one and reports which passed and which failed.
Defined in: Testing with pytest- Test vector
One test case: the inputs to apply and the outputs they should give.
Defined in: Simulation and testbenches- 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.
Defined in: Simulation and testbenches- Text editor
A program for changing the text in a file. In a terminal you steer it with keys, not a mouse.
Defined in: Editing files in the terminal- 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.
Defined in: Callbacks and promises- 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 worksInside a method, the object the method was called on: the one before the dot.
Defined in: Classes in TypeScriptInside a method or constructor, the object the code is running on. Balance there means this.Balance.
Defined in: Classes and objects- Thread
A mesh protocol on 802.15.4 that gives every device an IPv6 address, with no single coordinator.
Defined in: Zigbee, Thread and LoRa: low-power radiosOne path of work through a program. A process can run several threads, which share its memory.
Defined in: Threads and concurrencyA worker inside a process that follows the code one line at a time. Threads of one process share its memory.
Defined in: Threads, processes and the GILOne path of execution through a program: it runs one statement after another, with its own stack. A program can run several at once.
Defined in: Threads and atomicsA worker that runs code one statement at a time. A program starts with one main thread and can use more.
Defined in: async and awaitOne 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.
Defined in: Security basics: what we protect and from whom- 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.
Defined in: What cybersecurity is- Three-way handshake
SYN, SYN-ACK, ACK: how two sides open a connection and learn each other's starting sequence numbers.
Defined in: TCP: connections and reliability- Threshold
A rule that raises an alert when a value crosses a limit, often only after several readings in a row.
Defined in: Monitoring: SNMP and flows- 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.
Defined in: Transistors: the switch that changed everythingThe 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 inverterThe gate voltage at which a transistor's channel opens. Trapped electrons raise a flash cell's threshold.
Defined in: ROM and flash: memory that remembers- Throughput
The download speed the player actually sees: bits received divided by the time they took.
Defined in: Streaming video: buffering and adaptive bitrateHow many bits per second actually get through. Downloads and backups care about it most.
Defined in: Quality of service: who goes firstHow 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.
Defined in: Errors and exceptionsThe 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 %.
Defined in: Resistors and capacitors- 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.
Defined in: Scheduling jobs: cron and timers- Time in system (W)
How long one item stays inside on average, from arriving to leaving: waiting time plus service time.
Defined in: Little's law: L = λ × W- Timeline
A numbered branch of WAL history. Ending a recovery starts a new timeline so new changes never mix with the old ones.
Defined in: Backups and point-in-time recovery- Timeout
A limit on how long to wait for an answer. When it runs out, the caller gives up and handles the failure.
Defined in: Reliability and observability- Timing closure
The work of changing a design until every path has zero or positive slack, for both setup and hold.
Defined in: Timing closure: making every path fast enough- Timing function
A curve that turns progress (time passed ÷ duration) into how far along the value is. The default is ease.
Defined in: Transitions and animations- Timing path
The route a value takes from one flip-flop's output, through gates and wires, to the next flip-flop's input.
Defined in: Timing closure: making every path fast enough- 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.
Defined in: How a DNS lookup works- 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.
Defined in: Compilers and interpreters up closeA piece of text a language model works with: a word or part of a word.
Defined in: How machine learning worksOne 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.
Defined in: From HTML to the DOM tree- Tokenizer
The part of the parser that reads characters one at a time and groups them into tokens.
Defined in: From HTML to the DOM tree- Tolerance
How far the real value may be from the printed one. A gold band means within ±5 %.
Defined in: Resistors and capacitors- 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.
Defined in: IoT: MQTT and constrained devices- Topology
The shape of the links in a network: which devices are connected to which.
Defined in: Network topologies: bus, star, ring and mesh- Total internal reflection
Light that meets the edge of a lower-index material at a shallow angle bounces back completely instead of escaping.
Defined in: Fibre optics: light in glass- Trace
A flat strip of copper on a board layer that connects pads, like a wire.
Defined in: Printed circuit board design- 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.
Defined in: Debugging: finding what went wrongWhat Python prints for an uncaught exception: the calls that led to it, oldest first, then the exception's type and message.
Defined in: ExceptionsThe 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.
Defined in: What AI and machine learning are- Transaction
A group of changes that the database treats as one unit: all of them happen, or none of them do.
Defined in: Indexes and transactionsA group of statements that is kept or cancelled as one. BEGIN starts it, COMMIT keeps its changes and ROLLBACK cancels them.
Defined in: INSERT, UPDATE and DELETEA 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.
Defined in: Transactions and ACID- 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.
Defined in: Attack: DNS spoofing and cache poisoning- Transceiver (SFP/SFP+)
A plug-in module that turns electrical signals into light and back. SFP+ is the 10 Gb/s version.
Defined in: Fibre optics: light in glass- Transform
A change to how an element is drawn, such as scale or rotate, that does not move the boxes around it.
Defined in: Transitions and animationsA 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.
Defined in: Transistors: the switch that changed everything- Transition
A rule that makes a change to a property happen gradually over a set time, instead of in one jump.
Defined in: Transitions and animations- Translation table
The router's list of rows, each pairing an inside address and port with the public port it was given.
Defined in: NAT and port translation- Translation unit
One source file plus everything it #includes, after preprocessing: what the compiler turns into one object file.
Defined in: Headers, translation units and linking- Transmission delay
The time to push a packet's bits onto the link: packet size divided by link speed. Also called serialization delay.
Defined in: Queues and buffering: where delay comes from- 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.
Defined in: Defence: VPNs and IPsec- Trap
A message a device's agent sends without being asked, such as 'port 7 is down', to UDP port 162.
Defined in: Monitoring: SNMP and flows- 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.
Defined in: Routing between VLANsA group of lines between two exchanges that callers share; each call uses one line while it lasts.
Defined in: Blocking and loss: Erlang B- 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.
Defined in: Defence: DNSSEC and encrypted DNS- 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.
Defined in: Binary and Boolean logicA list of every possible input combination and the output a gate gives for each one.
Defined in: Logic gatesA list of every combination of input bits and the output wanted for each one.
Defined in: Simplifying logic: truth tables and K-mapsA list of every combination of input bits and the outputs each one gives.
Defined in: Half and full adders- try / catch
try marks code that may throw; if it does, control jumps to catch, which receives the thrown value.
Defined in: Errors and exceptionstry 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 isThe TypeScript compiler. It infers and checks types, reports errors, and writes plain JavaScript.
Defined in: Type inferenceThe TypeScript compiler. It checks the types before the program runs and writes plain JavaScript.
Defined in: Objects and interfacesThe TypeScript compiler. It checks your code against its types and writes plain JavaScript.
Defined in: The compiler and tsconfig- 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.
Defined in: The compiler and tsconfigThe 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.
Defined in: Leaving the LAN: the default gatewayTime to live: how many seconds a record may be cached before it must be asked for again.
Defined in: How a DNS lookup worksTime to live: how many seconds a record may be cached. An attacker picks a long TTL so a poisoned record lingers.
Defined in: Attack: DNS spoofing and cache poisoningTime 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.
Defined in: Network tools on Linux- 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.
Defined in: Dual stack and transition- Tunnel mode
ESP wraps the whole original packet and adds a new outer IP header between the two gateways.
Defined in: Defence: VPNs and IPsec- 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 tuplesOne 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.
Defined in: Cables and connectors: copper, RJ45 and coax- 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.
Defined in: The ALU: the CPU's calculator- Type
The kind of value, which decides what you can do with it. type(x) tells you a value's type.
Defined in: Variables and typesThe kind of data a value is (number, string, boolean and so on). It decides what operators like + do with it.
Defined in: Values and typesWhat kind of value something is, such as number (2, 3.5) or string (text in quotes, like "2").
Defined in: What TypeScript isWhat kind of value something is, such as number (3, 2.5) or string (text in quotes, like "apples").
Defined in: Type inferenceThe 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.
Defined in: Numbers and stringsThe 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 hintsWhat kind of value a variable holds, such as int or double. It decides the variable's size, which values fit and what operators do.
Defined in: Variables and types- Type alias
A name for a type, written with type, as in type ID = number | string. It can name any type.
Defined in: Type aliases vs interfacesA name for a type, written with type, like type Align = "left" | "right" | "center".
Defined in: Literal types and enums- Type annotation
A type written next to a name, like : number in a: number.
Defined in: What TypeScript isA type written after a name and a colon, like : string in let user: string, saying what the box may hold.
Defined in: Basic typesA type you write yourself next to a name, like : number in let count: number = 3.
Defined in: Type inferenceA type written after a name, like : User in const ana: User.
Defined in: Objects and interfacesA 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: GenericsThe 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.
Defined in: TypeScript in real projects- 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 isRemoving the types when tsc writes JavaScript. The running program never sees them.
Defined in: Unions and narrowingRemoving all types, including type parameters, when tsc writes JavaScript.
Defined in: GenericsRemoving all types, aliases and interfaces when tsc writes JavaScript.
Defined in: Type aliases vs interfacestsc removing types when it writes JavaScript. Enums are an exception: they become real objects.
Defined in: Literal types and enumstsc removes all types when it writes JavaScript, so no type exists while the program runs.
Defined in: TypeScript in real projects- Type guard
A check, such as typeof id === "string", that tsc uses to work out a more exact type inside a branch.
Defined in: Unions and narrowingA 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.
Defined in: TypeScript in real projects- 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 inferencetsc 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: GenericsA 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.
Defined in: TypeScript in real projects- Type selector
A selector that is just a tag name, such as p. It matches every element with that tag.
Defined in: SelectorsA selector that is a tag name, such as p. It matches every element with that tag.
Defined in: The cascade and specificity- 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.
Defined in: What C# and .NET are- TypeError
The error Python raises when an operation gets a type it cannot work with, such as "2" + 2.
Defined in: Variables and typesAn error JavaScript throws when an operation is not allowed, such as giving a const a new value.
Defined in: Variables: let and constThe 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 worksThe error JavaScript throws when a value is used in a way it does not allow, such as assigning to an import.
Defined in: ModulesThe 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 modeThe error Python raises when an operation gets a value of the wrong type, such as joining a str and an int with +.
Defined in: Numbers and stringsThe 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 outputThe error Python raises when a value does not support an operation, such as assigning to an item of a tuple.
Defined in: Lists and tuplesThe error Python raises when an operation does not support a type, such as + between two objects with no __add__.
Defined in: Special (dunder) methods- 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 typesA JavaScript operator that gives a value's kind as text while the program runs, such as "string" or "number".
Defined in: Unions and narrowing- 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.
Defined in: Package managers and dependencies
U
- UART
Universal asynchronous receiver-transmitter: two data wires (TX and RX), no clock wire; both ends agree on a baud rate.
Defined in: Serial buses: UART, I2C and SPI- 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.
Defined in: UDP: fire and forget- UID
User ID: the number Linux uses for a user. root is 0; regular users start at 1000 on Debian, Ubuntu and Fedora.
Defined in: Users and permissions- 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.
Defined in: Errors and exceptions- undefined
The value a variable holds before anything is put in it; also the name of its type.
Defined in: Values and typesJavaScript's value for "nothing here", for example what you get when you read an index that has no item.
Defined in: ArraysThe 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: PointersCode the C++ standard sets no rules for, such as reading or writing past the end of an array. Anything may happen.
Defined in: Arrays and std::arrayCode the C++ standard places no requirements on: it may seem to work, give wrong results or crash.
Defined in: The heap: new and deleteThe language makes no promise about what happens: the program may crash, print garbage or seem to work.
Defined in: Iterators and algorithmsA program the C++ standard sets no rules for. It may seem to work, give wrong answers or crash.
Defined in: Threads and atomics- 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.
Defined in: Undefined behaviour: one read past the end- 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.
Defined in: Indexes and transactions- 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.
Defined in: ARP: from IP to MACA message to exactly one device, sent to its own address.
Defined in: DHCP: getting an 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.
Defined in: Files and data: everything is bits- 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.
Defined in: Unions and narrowingA type that allows one of several types, written with |. number | string means a number or a string.
Defined in: Type aliases vs interfacesSeveral types joined with |, read as "or". A value fits if it fits any one of them.
Defined in: Literal types and enumsA type that is one of several, written with |, such as "id" | "name".
Defined in: Utility typesA type made of several options joined with |; a value of the type can be any one of them.
Defined in: Mapped and conditional typesA 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.
Defined in: Keys and constraints- Unit
The smallest piece of code you can test on its own, usually one function.
Defined in: Unit testingSomething 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.
Defined in: Services with systemd- Unit test
A small function that calls a unit with known input and checks the output with an assertion.
Defined in: Unit testingA small program that calls one piece of code (a unit, such as a function) with known inputs and checks the result.
Defined in: Testing JavaScriptA 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.
Defined in: NAND: one gate to build them all- unknown
A type that holds any value but cannot be used until you check what it is.
Defined in: TypeScript in real projects- Unlicensed band
A band anyone may use within power rules, such as Wi-Fi's 2.4, 5 and 6 GHz bands.
Defined in: Wireless basics: radio waves and spectrum- Unordered list (ul)
A list whose order does not matter. Browsers draw a bullet before each item.
Defined in: Headings, paragraphs and lists- 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.
Defined in: Namespaces and cgroups: how containers work- 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: RecursionLeaving 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.
Defined in: INSERT, UPDATE and DELETE- 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.
Defined in: Campus network design- 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.
Defined in: Smart pointers: unique_ptr and shared_ptr- 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.
Defined in: What an operating system does- 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].
Defined in: From requirements to design- Utilisation (ρ)
The fraction of time a server is busy: ρ = λ × S. It must stay below 1, or the queue grows without limit.
Defined in: Little's law: L = λ × WThe fraction of time a server is busy: arrival rate ÷ service rate, ρ = λ / μ. ρ is the Greek letter rho.
Defined in: Random arrivals: the Poisson processThe share of time each server is busy: ρ = A ÷ c. It must stay below 1, or the line grows without limit.
Defined in: Many servers: M/M/c and Erlang CThe 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.
Defined in: Networks of queues and real traffic- Utilisation ρ (rho)
The fraction of time the servers are busy: λ ÷ (c × μ) for c servers. A queue is stable only when ρ is below 1.
Defined in: Queues everywhere: arrivals, service and waitingThe 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.
Defined in: Namespaces and cgroups: how containers work- UUID
A unique id stored in a filesystem. blkid prints it; fstab uses it because it does not change when disk names do.
Defined in: Disks, partitions and mounts
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 pagesThe command (also run automatically by autovacuum) that removes dead tuples and marks their space free for reuse.
Defined in: MVCCPostgreSQL's clean-up command. It removes row versions that no transaction can see any more, such as those left behind by an aborted transaction.
Defined in: Write-ahead logging and recovery- Valence electrons
The electrons in an atom's outer shell, which take part in bonding. Silicon has 4, phosphorus 5, boron 3.
Defined in: Semiconductors and doping- Valid bit
A bit on each cache row that says whether the row holds real data yet.
Defined in: Caches: keeping memory close to the CPU- 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.
Defined in: Attack and defence: BGP hijacking and RPKI- 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 isA single piece of data a program works with, such as 42, "hi" or true.
Defined in: Values and typesWhat a key points to. Any object can be a value, and values may repeat.
Defined in: Dictionaries and setsThe 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.
Defined in: Structs and records- 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.
Defined in: Bytecode and the CPython VM- 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.
Defined in: Value types and reference typesA type whose variables hold the data itself, such as int or any struct. Assigning one copies the value.
Defined in: Structs and recordsA type, such as int or bool, whose variables hold the value itself. A plain value type can never be null.
Defined in: Null and nullable types- var()
A function that reads a custom property: var(--brand). The browser replaces it with the value the element holds.
Defined in: Custom properties (CSS variables)- Variable
A name that refers to a value stored in memory, such as age referring to 31.
Defined in: Variables and typesA 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 isA name for a value, like a labelled box in memory. Code can read the value by using the name.
Defined in: Variables: let and constA named box that holds a value, made with let. Its value can change; in TypeScript its type cannot.
Defined in: Basic typesA name that refers to a value. In Python the name points at an object; it does not hold the value inside itself.
Defined in: Variables and namesA named box in memory that holds a value, such as name. Its type says what kind of value fits.
Defined in: Your first programA named box in memory that holds one value at a time. In C++ every variable has a fixed type.
Defined in: Variables and typesA named box in memory that holds a value, such as name. var lets the compiler work out its type.
Defined in: Your first C# programA 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 automationA system that records changes to files over time, so you can see who changed what and go back to any earlier version.
Defined in: Git: saving historyA 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.
Defined in: Virtual environments and pip- 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.
Defined in: Printed circuit board design- 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.
Defined in: The head: metadata, SEO and sharingThe part of the page you can see in the browser window. A fixed box is placed against it.
Defined in: PositioningThe area a page is laid out in: the browser window, or the screen on a phone.
Defined in: Responsive design and media queriesThe 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.
Defined in: Responsive design and media queries- vim
A powerful terminal editor, based on the older vi, in which keys mean different things in different modes.
Defined in: Editing files in the terminal- 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.
Defined in: Inheritance and interfaces- Virtual destructor
A destructor marked virtual, so deleting a derived object through a base pointer runs the derived destructor first, then the base's.
Defined in: Inheritance and virtual functions- Virtual environment
A folder of installed packages for one project, made with python -m venv, so projects don't clash.
Defined in: Package managers and dependencies- Virtual environment (venv)
A folder with its own python and its own site-packages, isolated from the system Python's packages.
Defined in: Virtual environments and pip- 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.
Defined in: Inheritance and virtual functions- Virtual ground
In an inverting amplifier, the - input held at almost 0 V by feedback, even though it is not wired to ground.
Defined in: Op-amps and analog circuits- Virtual machine
A pretend computer made of software. CPython's virtual machine reads bytecode and does each instruction.
Defined in: What code is: source, interpreters and compilers- Virtual machine (VM)
A program that runs bytecode in a loop: fetch an instruction, do it, move to the next.
Defined in: Compilers and interpreters up closeThe part of CPython that runs bytecode, one instruction at a time. A machine made of software, not hardware.
Defined in: Bytecode and the CPython VM- 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 trunksVirtual LAN: a group of switch ports that act as their own separate LAN, with their own subnet, even though they share one switch.
Defined in: Routing between VLANsVirtual LAN: one switch split into separate LANs; a frame never crosses from one VLAN to another without being routed.
Defined in: Defence: segmentation, DMZs and zero trust- 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.
Defined in: The shape of an HTML documentAn element with no content and no closing tag, such as . You write only the opening tag.
Defined in: Images, audio and video- 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.
Defined in: Charge, current and voltage- Voltage divider
Two or more resistances in series that share a voltage in proportion to their size.
Defined in: Series and parallel circuits- 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.
Defined in: Op-amps and analog circuits- VPC
Virtual private cloud: your own private network inside a cloud provider, with an address range you choose (Azure calls it a virtual network).
Defined in: Cloud networking: VPCs and load balancers- VPN
Virtual private network: a private network built from encrypted tunnels through a shared network such as the internet.
Defined in: Types of networks: PAN, LAN, MAN and WANVirtual private network: an encrypted tunnel across an untrusted network that makes distant networks or devices behave as if they were connected directly.
Defined in: Defence: VPNs and IPsecVirtual 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.
Defined in: Campus network design- Vsync
Waiting for the screen's next refresh before showing a new frame, so a frame is never swapped in halfway through.
Defined in: Game loops and frames- 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).
Defined in: Inheritance and virtual functions- Vulnerability
A weakness a threat could use, such as unpatched software or a weak password.
Defined in: Security basics: what we protect and from whom- VXLAN
Virtual Extensible LAN (RFC 7348): carries Ethernet frames inside UDP packets between leaves, so a virtual network can stretch across many racks.
Defined in: Data center: leaf-spine
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).
Defined in: Backups and point-in-time recovery- 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 isWide area network: links between cities and countries, usually leased from carriers. The internet is the biggest one.
Defined in: Types of networks: PAN, LAN, MAN and WAN- 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).
Defined in: GPUs: thousands of small cores- Warp divergence
When threads in one warp take different branches, so the paths run one after the other and some lanes sit idle.
Defined in: GPUs: thousands of small cores- 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.
Defined in: Simulation and testbenches- Wavelength (λ)
The distance from one wave crest to the next: the speed of light divided by the frequency.
Defined in: Wireless basics: radio waves and spectrumThe distance from one crest of a wave to the next: the speed of light divided by the frequency.
Defined in: Radio-frequency basics- Wear levelling
Spreading writes and erases evenly over all blocks, so no block wears out early.
Defined in: ROM and flash: memory that remembers- Web API
A program that answers HTTP requests from other programs with data, usually JSON, instead of web pages.
Defined in: Building a web API with ASP.NET Core- Web app
A website that behaves like an app and runs in the phone's browser; nothing goes through an app store.
Defined in: How mobile apps work- 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.
Defined in: Storage in the browser- 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.
Defined in: Quality of service: who goes first- 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: LINQThe clause that tests every row and keeps only the rows where the test is true.
Defined in: SELECT: asking questionsKeeps or drops single rows before any grouping. It cannot use an aggregate.
Defined in: Grouping and aggregates- 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.
Defined in: INSERT, UPDATE and DELETE- while loop
A loop that runs its body again as long as its condition is True.
Defined in: Loops: doing things againA loop with only a check: while (condition) { body }. It repeats while the condition is true.
Defined in: LoopsA loop that runs its body again and again as long as a condition is True, checked before each pass.
Defined in: LoopsA 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.
Defined in: Headings, paragraphs and lists- Widening
TypeScript giving a let variable a general type (string) instead of the literal it starts with, because it may change later.
Defined in: Literal types and enums- 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.
Defined in: Campus network design- with expression
Makes a copy of a record (or struct) with some properties changed, leaving the original as it was.
Defined in: Structs and records- 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 filesRuns 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.
Defined in: BGP: the internet's map- WLAN
Wireless LAN: a LAN whose links are radio, such as Wi-Fi.
Defined in: Types of networks: PAN, LAN, MAN and WAN- Word line
The wire, driven by a decoder output, that selects one row of a memory array.
Defined in: Decoders and encodersThe 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.
Defined in: DRAM: memory made of leaky buckets- 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 lineThe files you can see and edit right now.
Defined in: Git: saving historyThe folder your shell is standing in right now. pwd prints it; cd changes it.
Defined in: The file systemThe 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.
Defined in: How fast is fast? Big O- WPA3
The current Wi-Fi security standard from the Wi-Fi Alliance. WPA3-Personal uses SAE; both Personal and Enterprise require Protected Management Frames.
Defined in: Defence: WPA3 and enterprise Wi-Fi (802.1X)- 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 isA 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.
Defined in: Transactions and ACIDAn 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.
Defined in: Write-ahead logging and recoveryThe log where PostgreSQL records every change before it changes the table files. Replaying it repeats the changes in order.
Defined in: Backups and point-in-time recovery- 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.
Defined in: Caches: keeping memory close to the CPU
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.
Defined in: Half and full adders- 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.
Defined in: Iterators and generators
Z
- Z flag
A one-bit register the ALU sets to 1 when its result is zero; conditional jumps such as JNZ read it.
Defined in: A complete CPU: fetch, decode, execute- Zero trust
A security model with no trust from network location: every request is authenticated and authorised (NIST SP 800-207).
Defined in: Defence: segmentation, DMZs and zero trust- 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).
Defined in: Processes and signals- Zone
A group of devices with the same job and the same rules, here one VLAN and one subnet each.
Defined in: Defence: segmentation, DMZs and zero trust