Glossary
- :=
- Go’s short declaration. In a new block it declares every name on its left, even if a variable with that name exists outside the block.
- The cancel function that stays nil
- `%` in C
- The remainder of an integer division. Its sign follows the left operand: -7 % 3 is -1, and -6 % 3 is 0.
- A remainder of zero
- `argv[2]`
- The third word of the command. For
MOVE key 5, it is the string"5". - A database called notanumber
- `atoi`
- A C function that turns the start of a string into an
int. It stops at the first character that is not a digit, and returns 0 when there is no number at all. It never reports an error. - A database called notanumber
- `Date.new(year, month, -1)`
- In Ruby, day -1 means the last day of that month.
.daythen gives the number of days in the month. - The last Thursday of February
- `drain`
- Runs every queued job of one worker class until none is left.
drain_alldoes it for all classes. - Sidekiq drain_all loops on a job outside its default queue
- `IMPLEMENT_var_keylen_cipher`
- Macro arguments, in order: algorithm, upper-case name, mode, upper-case mode, flags, key bits, block bits, IV bits, block or stream. The key bits set the default key length and appear in the table name, as in
cast5128cbc_functions. - CAST5 CFB and OFB default to an 8-byte key
- `selectDb`
- Points the client at database
id. It returnsREDIS_ERRonly whenidis below 0 or not below the number of databases (16 by default). - A database called notanumber
- `sigchain_push_common`
- Pushes the same handler for SIGINT, SIGHUP, SIGTERM, SIGQUIT and SIGPIPE.
- Two signal handlers, pushed in the wrong order
- AbortSignal
- An object you pass to
fetchassignal. When it fires, the fetch stops and its promise rejects. - A fetch with no timeout
- Alias
- A name in the
[alias]table of a Cargo config that expands to another command, herecargo footocargo a b. - A config parse error reported as an unknown command
- asyncio.gather
- Takes several tasks and returns one future that completes when all of them are done. Code waits for it with
await. - A missing await on asyncio.gather
- Atomic group `(?>...)`
- Once the group has matched, the engine never goes back into it to try another way.
- Regex backtracking on an email with too few words
- Attribute breakout
- A value placed inside
attr="..."that contains a". The quote ends the attribute early and the rest is read as new HTML. - A quote in a heading ID
- Auto-commit
- A connection mode where each statement is committed on its own. The incrementer turns it off to commit by hand.
- A connection close skipped by a throw in finally
- Background task
- A task made with
hass.async_create_background_task. Its docstring says it "Will be automatically cancelled on shutdown". - An OAuth task still waiting at shutdown
- Backtracking
- When part of a regex fails, the engine goes back and tries another way to match the earlier parts.
- Regex backtracking on an email with too few words
- Binding
bind:currentTime={x}keepsxand the playback position in sync, in both directions.setwrites the position intox.- A timeupdate listener left on a removed audio element
- BOM
- Byte order mark: the character U+FEFF that some editors write at the very start of a UTF-8 file. It is invisible but counts as one character in a JavaScript string.
- Offsets after stripping a BOM
- BYDAY
- The part of a repeat rule (RRULE) that names the weekday.
BYDAY=4THis the fourth Thursday,BYDAY=-1THthe last one. - The last Thursday of February
- Cache key
- The string a value is stored under. Two pieces of code that build the same key read and write the same value.
- A rate limit key without the controller
- CAST5
- A block cipher with 64-bit blocks and keys of 5 to 16 bytes. Its normal key is 16 bytes (128 bits).
- CAST5 CFB and OFB default to an 8-byte key
- Cents
- The smallest unit of the price. Stripe wants
unit_amountas a whole number of cents: $19.99 is 1999. - Floating point error when converting dollars to cents
- Closure
- A function literal that uses variables from the code around it. It reads the variable itself, not a copy.
- A loop variable captured by a goroutine
- Column
- A position inside one line. The HTML parser Vite uses counts columns from 1.
- Off-by-one between a column and an offset
- Connection pool
- A set of open database connections that callers borrow and give back, so each query does not open a new one.
- A connection counted but never pooled
- Content script
- Extension code that runs inside the inspected page and talks to the rest of the extension with
chrome.runtime.sendMessage. - A fetch with no timeout
- context.CancelFunc
- The function returned by
context.WithCancel. Calling it closes the context’sDone()channel and frees what waits on it. - The cancel function that stays nil
- controller_path
- The path name of a controller:
"sessions"forSessionsController,"admin/users"forAdmin::UsersController. - A rate limit key without the controller
- Coroutine
- A function defined with
async def. Calling it does not run it to the end; something has toawaitit or schedule it. - A missing await on asyncio.gather
- CRI
- Container Runtime Interface: the gRPC API the kubelet uses to start, stop and remove containers in a runtime such as containerd.
- An idempotent StopContainer in containerd
- DataSource
- The Java object that gives out database connections. It is often a pool that reuses a fixed number of them.
- A connection close skipped by a throw in finally
- Daylight saving time (DST)
- Clocks move one hour forward in spring and one hour back in autumn. The day they go back lasts 25 hours on the local clock.
- Daylight saving time in monthly log rotation
- defaults
- A module-level dict in
requests/defaults.py. It is created once, when the module is imported, and every session reads from it. - A headers dict shared by every session
- Double-checked locking
- Testing a field without the lock, then taking the lock and testing it again before building the value.
- Double-checked locking: assign the field last
- Drop
- Rust runs a value’s destructor when the value goes away. Assigning a new value to a field drops the old one on that line.
- A waker dropped while the JoinSet mutex is held
- ECB, CBC, GCM
- Three cipher modes: ECB uses no IV, CBC needs an IV of a fixed length, GCM accepts IVs of different lengths.
- An empty IV that passed the length check
- Embedded
- An object whose data fits inside its own slot, so there is nothing else to free.
- Hashes that were never freed
- ERR_FAIL_NULL_MSG
- A Godot macro that prints the message and returns from the function when the pointer is null.
- The check one line too late
- errdefs.IsNotFound
- A containerd helper that tells whether an error means "this object does not exist".
- An idempotent StopContainer in containerd
- Exclusive end
- An end offset that points just past the last character.
slice(start, end)already stops beforeend. - One character past the template
- Exit condition
- The test a loop checks before each turn, here
jobs.any?. The loop ends only when the body makes it false. - Sidekiq drain_all loops on a job outside its default queue
- explicitTimeout
- The
durationprop as a number, ornullwhen the component has noduration. - A duration of 0 that still animated
- Facade
- A Laravel class with static methods that forward each call to one object taken from the service container.
- A locale that stays set
- Fake mode
Sidekiq::Testing.fake!: pushed jobs go into in-memory arrays instead of Redis, so a test can inspect and run them.- Sidekiq drain_all loops on a job outside its default queue
- Falsy
- A value that
iftreats as false:0,"",NaN,null,undefinedandfalse. - A duration of 0 that still animated
- finally
- A Java block that runs after
tryandcatch, whether they end normally or throw. - A connection close skipped by a throw in finally
- Flag bit
- A bit in the object header that records a fact about the object, tested with
flags & SOME_FLAG. - Hashes that were never freed
- Floating point
- How JavaScript stores every number: in binary, with about 16 significant digits. Most decimal fractions, like 0.99, have no exact binary value.
- Floating point error when converting dollars to cents
- Future
- An object for a result that will exist later.
await futurepauses the caller until the result is there. - A missing await on asyncio.gather
- getTransitionInfo
- Reads the CSS transition or animation of the element and returns its type and its total time.
- A duration of 0 that still animated
- GIL
- The global interpreter lock in CPython. Only one thread runs Python bytecode at a time, but the interpreter can switch threads between two bytecode instructions.
- Thread names from an unlocked counter
- Goroutine
- A function that Go runs at the same time as the code that started it, with
go func() { ... }(). - A loop variable captured by a goroutine
- Idempotent
- A call you can repeat: sending it twice leaves the same state and gives the same kind of answer as sending it once.
- An idempotent StopContainer in containerd
- Idle list
- The open connections that no caller holds right now, kept in
freeConn(at most 2 by default). - A connection counted but never pooled
- if let Ok(x)
- Runs the block only when the value is
Ok. OnErrit skips the block, and the error is dropped. - A config parse error reported as an unknown command
- int32
- A signed 32-bit integer. Its largest value is 2,147,483,647, which is 2**31 minus 1.
- Integer overflow in a NumPy element count
- itertools.count
- An iterator that yields 0, 1, 2 and so on. Its
__next__is written in C, so one call is a single step for Python code. - Thread names from an unlocked counter
- IV
- Initialization vector: extra bytes a cipher mixes into the first block. CBC mode needs one exactly as long as a block, 8 bytes for DES.
- An empty IV that passed the length check
- Lazy initialization
- Building a value the first time someone asks for it, then reusing it.
- Double-checked locking: assign the field last
- Lazy quantifier `+?`
- Matches as few characters as possible first, and takes one more each time the engine backtracks into it.
- Regex backtracking on an email with too few words
- Leader and follower
- etcd members agree through Raft. One member is the leader (
isPrimary()is true), the others are followers that apply the same log. - A lease heap that only the etcd leader empties
- Lease
- An etcd object with a time to live. When it expires or is revoked, the keys attached to it are deleted.
- A lease heap that only the etcd leader empties
- leaseExpiredNotifier
- A heap of lease IDs ordered by expiry time, plus a map from ID to item. The leader polls it to find leases to revoke.
- A lease heap that only the etcd leader empties
- Log rotation
- Renaming the current log file and starting a new one, here once per day, week or month.
- Daylight saving time in monthly log rotation
- Loop variable
- The
id, coffor id, c := range. Before Go 1.22 the loop declared them once and overwrote them on each turn. - A loop variable captured by a goroutine
- max()
- Python’s built-in that returns the largest item. On an empty sequence it raises ValueError, unless you pass
default=. - A sitemap with nothing in it
- multiply.reduce
- NumPy’s product of all items. It first converts the input to an array, which stores Python ints as NumPy integers of a fixed width.
- Integer overflow in a NumPy element count
- Mutex
- A lock that one thread holds at a time. This one cannot be taken twice by the same thread: the second
lock()waits forever. - A waker dropped while the JoinSet mutex is held
- Null dereference
- Reading a field through a pointer that is null. In C++ this usually crashes the process.
- The check one line too late
- numOpen
- The pool's count of open connections. With
SetMaxOpenConns(n), callers wait once it reaches n. - A connection counted but never pooled
- O(n²)
- Work that grows with the square of the input size: twice the entries, four times the work.
- Copying a list from the head every time
- OAuth
- A login flow where the user signs in on another site, and that site then hands tokens back to the app.
- An OAuth task still waiting at shutdown
- Off-by-one
- A count that is wrong by exactly one, often because one value starts at 0 and another at 1.
- Off-by-one between a column and an offset
- Offset
- A position in the whole file, counted in characters from 0.
- Off-by-one between a column and an offset
- Ordinal
- The position of a weekday in its month: first, second, third, fourth, or last.
- The last Thursday of February
- os.path.abspath
- Turns a path into an absolute one and resolves
..segments as text. It returns/tmp/xfor/tmp/proj/../x. - A sibling folder with a longer name
- Path traversal
- A file name with
..segments, or an absolute path, that makes a write or a read leave the directory it was meant for. - A sibling folder with a longer name
- Pending promise
- A promise that is neither resolved nor rejected. Code chained on it with
.thendoes not run. - A fetch with no timeout
- Plane
- One block of pixel data in a frame, for example the luma or one color channel. A row of it holds
widthvalues. - A remainder of zero
- Precedence
- The rules for how operators group when there are no parentheses.
a && b && cmust all be true; a parenthesis decides which part a condition belongs to. - An empty IV that passed the length check
- Progress
- A float that goes from 1 at the first frame of the transition to 0 at the last one.
- A remainder of zero
- Provider
- In OpenSSL 3, the module that implements an algorithm.
legacyprov.cmaps names such as "CAST5-CFB" to these function tables. - CAST5 CFB and OFB default to an 8-byte key
- Range formatting
- Formatting only the code between
rangeStartandrangeEnd, used by editors for "format selection". - Offsets after stripping a BOM
- Rate limit
- A cap on how many requests one client can make in a time window. Over the cap, the server answers 429.
- A rate limit key without the controller
- Read-modify-write
- An update in three steps: read the value, compute the new one, store it. Another thread can run between the steps.
- Thread names from an unlocked counter
- RegExp.prototype.test
- Returns true when the pattern matches. It converts a non-string argument to a string first.
- An array that passes as a severity
- Result
- A Rust value that is either
Ok(value)orErr(error).CargoResult<T>is Cargo’s name for aResultwith its error type. - A config parse error reported as an unknown command
- RID
- A handle Godot uses to refer to an object owned by a server, here a texture. An empty RID points to nothing.
- The check one line too late
- Schematic
- An Angular CLI script that edits the files of a project, here to migrate templates to the new control flow.
- One character past the template
- setdefault
d.setdefault(k, v)storesvunderkifkis missing. It stores the object itself, not a copy of it.- A headers dict shared by every session
- Setter
- A
set name(value)method. It runs when code assignsplan.amountDollars = .... - Floating point error when converting dollars to cents
- Severity
- How ESLint reports a rule: off, warning or error, written as 0, 1, 2 or as a string.
- An array that passes as a severity
- Shadowing
- Declaring a variable in an inner block with the same name as one outside. Inside the block, the name means the new variable, and the outer one is not changed.
- The cancel function that stays nil
- Shallow copy
- A copy of a container that holds the same inner objects as the original. Changing an inner dict through the copy changes it for both.
- A headers dict shared by every session
- sigchain
- Git’s stack of signal handlers.
sigchain_pushputs a handler on top,sigchain_popremoves the top one. When a signal arrives, the handler on top runs. - Two signal handlers, pushed in the wrong order
- SIGPIPE
- The signal a process gets when it writes to a pipe that nobody reads any more. By default it kills the process.
- Two signal handlers, pushed in the wrong order
- Singleton
- An object the container creates once and returns to every caller for the rest of the process.
- A locale that stays set
- Singly linked list
- A chain of nodes where each one knows only the next. Finding the last node means walking from the first.
- Copying a list from the head every time
- Sitemap
- A Django class that lists the URLs of a site section.
items()returns the objects, andlastmod(item)returns when one object last changed. - A sitemap with nothing in it
- Sitemap index
- The top
/sitemap.xmlfile. It links to each section and, since Django 4.1, gives each section a last modification date. - A sitemap with nothing in it
- Source span
- The start and end offsets of an element in the template text, as the Angular parser records them.
- One character past the template
- st_table
- The hash table Ruby uses for bigger hashes. Its entries live in memory allocated with malloc, outside the object.
- Hashes that were never freed
- store.increment
- Adds 1 to the counter saved under a key in the cache, creates it if missing, and returns the new value.
- A rate limit key without the controller
- SuspiciousOperation
- The Django exception for input that looks like an attack. Here it stops the extraction.
- A sibling folder with a longer name
- Sweep
- The phase of the garbage collector that walks dead objects and frees them.
- Hashes that were never freed
- Table of contents (ToC)
- The list of links to the headings of a page. Hugo builds its HTML in
tocBuilderby writing strings to a buffer. - A quote in a heading ID
- Tail pointer
- A pointer kept to the last node, or to its
nextfield, so an append does not have to walk the list. - Copying a list from the head every time
- tap()
- The Laravel helper
tap($value, $callback)calls the callback with the value, then returns the value. - A locale that stays set
- teardown
- Svelte calls the function given to
teardownwhen the effect is destroyed, here when the{#if}block removes the element. - A timeupdate listener left on a removed audio element
- template.HTMLEscapeString
- A Go function that replaces
<,>,&,'and"with HTML entities, so the browser reads them as text. - A quote in a heading ID
- TextEncoder
- The browser and Node API whose
encodemethod turns a string into its UTF-8 bytes, as aUint8Array. - Sizing a UTF-8 buffer with the string length
- The ? operator
- On
Err, returns the error to the caller right away. OnOk, gives the value inside. - A config parse error reported as an unknown command
- Time.mktime
- Builds a Ruby
Timefrom year, month, day (and more) in the local time zone. - Daylight saving time in monthly log rotation
- timeupdate
- An event a media element fires as its playback position changes.
- A timeupdate listener left on a removed audio element
- Tracked task
- A task made with
hass.async_create_task. Home Assistant keeps it in its_tasksset. If it is still running at the last shutdown stage, Home Assistant logs a warning and cancels it. - An OAuth task still waiting at shutdown
- Type coercion
- JavaScript converting a value to another type on its own, for example an array to a string.
- An array that passes as a severity
- Uint8Array view
new Uint8Array(buffer, offset, n)is a window ofnbytes on existing memory.setcopies into it and throws if the source is longer.- Sizing a UTF-8 buffer with the string length
- UTF-16 code unit
- What JavaScript strings are made of.
str.lengthcounts these units, not bytes. - Sizing a UTF-8 buffer with the string length
- UTF-8
- A text encoding where ASCII takes 1 byte and other characters take 2 to 4.
世takes 3. - Sizing a UTF-8 buffer with the string length
- volatile
- A Java field modifier: a write to the field is seen right away by every thread that reads it.
- Double-checked locking: assign the field last
- Waker
- A handle a future gives to whoever must wake it later. An executor can make its own waker type, with its own
Dropcode. - A waker dropped while the JoinSet mutex is held
- Wraparound
- When a fixed-width integer goes past its largest value, it continues from its smallest one instead of raising an error.
- Integer overflow in a NumPy element count