Glossary
The coding words our lessons lean on, in plain language. Inside a lesson, dotted-underlined words show these same definitions on mouseover.
A
- API
- The set of operations a program or service exposes for other programs to call, the way buttons and menus are what it exposes to humans. A web API is one a server offers over the network, usually exchanging structured data like JSON.
- argument
- The concrete value you hand to a function when you call it. The parameter is the name in the function's definition; the argument is the real value that fills it at the call site.
- autocompletion
- An editor feature that suggests and fills in names as you type, so you don't have to remember or retype every identifier exactly.
B
- blast radius
- Everything an attacker could reach if one particular thing — a server, a credential, a laptop — were compromised. Good security design keeps every blast radius small.
- boilerplate
- Standard code that has to be there for things to work but isn't the interesting part — like the export line at the bottom of JavaScript lessons. You mostly leave it alone.
- bug
- A mistake in a program that makes it behave wrongly. Finding and fixing bugs (debugging) is a normal, everyday part of programming — not a sign you're bad at it.
- byte
- The basic unit computers store data in. One plain English letter or digit fits in one byte, but many characters (accents, other scripts, emoji) take several.
C
- callback
- A function you hand to other code so it can be called back later: when an event fires, a timer elapses, or a result becomes ready. Passing a function to map or filter is the same idea.
- case-sensitive
- Treating uppercase and lowercase letters as different. In a case-sensitive language, name, Name, and NAME are three unrelated things — typing the wrong capitalization is an error.
- certificate
- A signed digital document binding a domain name to an encryption key, vouched for by a certificate authority. It's how your browser knows a site is really that site.
- CIDR
- A way of writing a whole range of IP addresses at once, like 10.0.0.0/16. The number after the slash says how many leading bits are fixed — bigger slash, smaller range.
- cmdlet
- A built-in PowerShell command, always named Verb-Noun like Get-Content or Sort-Object. Pronounced "command-let". Knowing the pattern lets you guess the command you need.
- console
- The text window where a program's printed output appears. On this platform, what your code prints shows up in the results panel under the editor.
- container registry
- A service that stores container images and hands them out — machines push images to it after building and pull them to run. Docker Hub is the big public one; ECR is AWS's.
D
- daemon
- A program that runs in the background with no window or terminal, usually started at boot — web servers and databases run as daemons. Pronounced "demon".
- DNS record
- One entry in the internet's name system, answering one kind of question about a domain — an A record maps a name to an IPv4 address, a CNAME points a name at another name.
E
- editor
- The program you type code into. In a lesson it's the dark panel below the text — like a word processor, but for code, with coloring that helps you read it.
- environment variable
- A named value the operating system hands a program when it starts. Tools read them for configuration, so you can change behavior without editing any files.
- evaluate
- To work an expression down to its value. When Python evaluates 7 * 3, the result is 21 — evaluating is just the computer doing that working-out.
- event log
- Windows' diary of what happened on a machine: startups, errors, logins, crashes. Each entry records who reported it, how serious it was, and when. Reading event logs is how admins reconstruct a problem.
- execution policy
- A Windows PowerShell safety setting that decides whether script files are allowed to run on a machine. It is a guardrail against accidentally running scripts, not a security boundary against a determined attacker.
- expression
- A piece of code that produces a value, like 7 * 3 or level + 1. Wherever a value can go, an expression can go instead.
F
- function
- A named, reusable block of code. You define it once, then call it by name whenever you want it to run — optionally handing it inputs and getting a value back.
G
- gateway
- The router a machine hands packets to when the destination isn't on the local network — the door out. The 'default gateway' is where everything unmatched gets sent.
H
- hash
- A technique that turns data (like a name) into a number pointing straight at a storage slot, making lookups near-instant. The trade-off is that items end up stored in an unpredictable order.
- hashtable
- A collection that stores values under names, like a tiny phone book: you look up 'hp' and get 30. PowerShell writes them as @{ hp = 30 }. Other languages call the same idea a dictionary or map.
I
- IAM role
- An AWS identity with no password or keys of its own that trusted parties can temporarily assume, receiving short-lived credentials. The safer alternative to long-lived access keys.
- IDE
- An editor with programming tools built in: autocompletion, inline error checking, and debugging. Short for integrated development environment.
- indentation
- The spaces at the start of a line. In Python, indentation is meaning, not decoration — it's how the language knows which lines belong inside a function, loop, or if.
J
- journald
- The logging service on modern Linux systems. It collects what every service prints into one queryable journal, read with the journalctl command.
- JSON
- A plain-text format for structured data: key/value pairs, lists, and values, readable by both people and programs. It is how most web services send data back and forth.
K
- keyword
- A word the language reserves for itself, like def, return, or const. Keywords have fixed meanings and can't be used as names for your own variables.
- KMS
- AWS's Key Management Service. Encryption keys live inside it and never leave; apps ask it to encrypt or decrypt, and every use is permission-checked and logged.
L
- layer
- One step's worth of a container image — each build instruction adds a layer recording only what changed. Identical layers are stored and downloaded once, which keeps builds and pushes fast.
- least privilege
- The security principle that every identity should get exactly the permissions its job needs and nothing more, so a compromised account can only reach what it truly had to.
M
- module
- A packaged bundle of related commands you can add to a shell or program. PowerShell ships many modules built in, and installing more is how it learns new tricks.
N
- null
- A special "no value here" marker many languages let sit where a real value was expected. Using it as if it were a real value is a classic source of crashes, which is why some languages replace it with safer alternatives.
O
- orchestrator
- A system that runs containers across a fleet of machines for you — deciding where each runs, restarting failures, and scaling counts up and down. Kubernetes is the famous one.
P
- parameter
- A named input a function accepts, listed between its parentheses. When the function is called, each parameter holds the value passed in for it.
- pipeline
- A chain of commands connected with |, where each command's output flows into the next as input. In PowerShell the things flowing through are whole objects, not just text.
- placeholder
- Something that holds a spot until the real thing arrives — like pass in Python, or a blank you're meant to fill in. It does nothing by itself.
- pod
- Kubernetes's smallest deployable unit: one or more containers that live and die together, sharing a network address. Almost everything in Kubernetes is defined in terms of pods.
- provider
- A plugin that teaches Terraform how to talk to one platform — the AWS provider knows AWS's API, the local provider manages files on disk. Downloaded by terraform init.
R
- registry
- Windows' central settings database, organized like a tree of folders (keys) holding named values. Programs and Windows itself read and write their configuration there.
- runtime
- The program that runs your program. Your code is just text until a runtime — like Node for JavaScript or the Python interpreter — reads it and carries out the instructions.
S
- sandbox
- A sealed-off environment where code runs safely. Your submissions run in a sandbox on our servers, so nothing you write can affect your machine or anyone else's.
- scope
- The region of code where a given variable is visible and usable. Code can generally see the variables of the scope that surrounds it, but not those inside functions it merely calls.
- service
- A program Windows runs in the background with no window, usually starting at boot: things like printing, updates, or a database. Admins spend a lot of time checking which services are running and why one stopped.
- signature
- The first line of a function's definition: its name and the parameters it takes (plus, in typed code, their types). Reading the signature tells you how to call a function without reading its body.
- standard library
- The set of ready-made modules that ship with a language itself, no installing required. You pull them in with an import (or use) line and get well-tested tools for free.
- state file
- Terraform's ledger of everything it manages and what each thing looked like at the last apply. It's how Terraform knows what already exists — lose it and Terraform forgets.
- statement
- One complete instruction in a program, like assigning a variable or returning a value. Programs are lists of statements, carried out top to bottom.
- string
- A piece of text in a program, written in quotes: "Embergotchi". The quotes aren't part of the value — they just mark where the text starts and ends.
- subnet
- A smaller address range carved out of a bigger network, used as a compartment — machines are grouped into subnets so traffic between groups can be controlled.
- syntax
- The grammar rules of a programming language — which symbols go where. A syntax error means the computer couldn't even read your code, usually due to a typo like a missing colon or bracket.
T
- terminal
- A window where you control a computer by typing commands instead of clicking. Some later lessons are completed in your own terminal using the gotchi CLI.
- test
- A small hidden program that checks your code did the right thing — it calls your code and compares what comes back against the expected answer. Passing the tests passes the lesson.
- TLS
- The encryption layer that turns HTTP into HTTPS. It keeps traffic private, detects tampering, and uses certificates to prove you're talking to the real server.
U
- Unicode
- The universal standard that assigns a number to every character in every writing system, plus emoji, so the same text means the same thing on any machine.
- unit file
- The small text file that tells systemd how to run a service: what command to start, which user to run as, and what to do if it crashes.
- UTF-8
- The standard way of storing text as bytes: common English letters take one byte each, while accented letters, other scripts, and emoji take several.
V
- variable
- A name that holds a value, created with =. Once a variable exists, writing its name anywhere stands in for the value it holds.
W
- WIP
- Short for "work in progress": changes that aren't finished or ready to be finalized yet. Git uses it in the labels it auto-generates for stashed work.
Y
- YAML
- A human-friendly text format for structured data, common in configuration files. Indentation expresses nesting, so what lines up matters.
Z
- zero trust
- A security model where being on the 'inside' network earns no trust — every request is authenticated and authorized individually, wherever it comes from.