Glossary

A

access control
FIXME
ASCII character encoding
A standard way to represent the characters commonly used in the Western European languages as 7-bit integers, now largely superceded by Unicode.
authentication
The act of establishing one's identity.
authorization
The act of establishing that one has a right to access certain information.

B

background a process
To disconnect a process from the terminal but keep it running.
ball-and-stick model
FIXME
base64 encoding
A representation of binary data that represents each group of 6 bits as one of 64 printable characters.
"block device"
FIXME
"block (in filesystem)"
FIXME
buffer (noun)
An area of memory used to hold data temporarily.
buffer (verb)
To store something in memory temporarily, e.g., while waiting for there to be enough data to make an I/O operation worthwhile.

C

cache
To store a copy of data locally in order to speed up access, or the data being stored.
callback function
A function A that is passed to another function B so that B can call it at some later point.
capability
FIXME
"character device"
FIXME
character encoding
A way to represent characters as bytes. Common examples include ASCII and UTF-8.
child process
A process created by another process, which is called its parent process.
cleartext
Text that has not been encrypted.
client
A program such as a browser that sends requests to a server and does something with the response.
command interpolation
FIXME
concurrency
The ability of different parts of a system to take action at the same time.
copy-on-write
FIXME

D

daemon
A long-lived process managed by an operating system that provides a service such as printer management to other processes.
device
FIXME
Docker
A tool for creating and managing isolated computing environments.
Docker container
A particular running (or runnable) instance of a Docker image.
Docker image
A package containing the software and supporting files Docker needs to run an application in isolation.
layer (of Docker image)
FIXME
tag (a Docker image)
FIXME
Dockerfile
The name usually given to a file containing commands to build a Docker image.
dynamic content
Web site content that is generated on the fly. Dynamic content is usually customized according to the requester's identity, query parameter, etc.

E

encryption
The process of converting data from a representation that anyone can read to one that can only be read by someone with the right algorithm and/or key.
environment variable
A shell variable that is inherited by child processes
exit status
FIXME

F

filesystem
The set of files and directories making up a computer's permanent storage, or the software component used to manage them.
flush
To move data from a buffer to its intended destination immediately.
foreground a process
To reconnect a process to the terminal after it has been backgrounded or suspended.
fork (a process)
To create a duplicate of an existing process, typically in order to run a new program.

G

group ID (GID)
FIXME

H

hash
FIXME
hostname
A human-readable name for a computer on a network.
HTTP
full: HyperText Transfer Protocol The protocol used to exchange information between browsers and websites, and more generally between other clients and servers. Communication consists of requests and responses.
header (of HTTP request or response)
A name-value pair at the start of an HTTP request or response. Headers are used to specify what data formats the sender can handle, the date and time the message was sent, and so on.
HTTP method
The verb in an HTTP request that defines what the client wants to do. Common methods are GET (to get data) and POST (to submit data).
HTTP request
A precisely-formatted block of text sent from a client such as a browser to a server that specifies what resource is being requested, what data formats the client will accept, etc.
HTTP response
A precisely-formatted block of text sent from a server back to a client in reply to a request.
HTTP status code
A numerical code that indicates what happened when an HTTP request was processed, such as 200 (OK), 404 (not found), or 500 (internal server error).

I

inode
FIXME

J

JavaScript Object Notation (JSON)
A way to represent data by combining basic values like numbers and character strings in lists and key-value structures. Unlike other formats, it is unencumbered by a syntax for writing comments.

K

L

hard link (in filesystem)
FIXME
symbolic link (in filesystem)
FIXME
lint
FIXME
local server
A server running on the programmer's own computer, typically for development purposes.
localhost
A special host name that identifies the computer that the software is running on.

M

MIME type
A standard that defines types of file content, such as text/plain for plain text and image/jpeg for JPEG images.
mount
FIXME

N

name collision
The problem that occurs when two different applications use the same name for different things.

O

octal
FIXME
operating system (OS)
A program whose job is to manage the hardware of a computer. Other programs interact with the OS through system calls.

P

parent process
A process which has created one or more other processes, which are called its child processes.
path (in filesystem)
An expression that refers to a file or directory in a filesystem.
port
A logical endpoint for communication, like a phone number in an office building.
process
A running instance of a program.
process ID
The unique numerical identifier of a running process.
process tree
The set of processes created directly or indirectly by one process and the parent-child relationships between them.

Q

query parameter
A key-value pair included in a URL that the server may use to modify or customize its response.

R

refactor
To reorganize code without changing its overall behavior.
resume (a process)
To continue the execution of a suspended process.
resolve (a path)
To translate a path into the canonical name of the file or directory it refers to.
root directory
The top-most directory in the filesystem that contains all other directories and files.
root (user account)
The usual ID of the superuser account on a computer.

S

sandbox
An isolated computing environment in which operations can be executed safely.
server
A program that waits for requests from clients and sends them data in response.
shell
A program that allows a user to interact with a computer's operating system and other programs through a textual user interface.
shell_script
A program that uses shell commands as its programming language.
shell variable
A variable set and used in the shell.
signal
A message sent to a running process separate from its normal execution, such as an interrupt or a timer notification.
signal handler
A callback function that is called when a process receives a signal.
source (in shell script)
To run one shell script in the same process as another.
static file
Web site content that is stored as a file on disk that is served as-is. Serving static files is usually faster than generating dynamic content, but can only be done if what's wanted is unchanging and known in advance.
superuser
An administrative account on a computer that has permission to see, change, and run everything.
suspend (a process)
To pause the execution of a process but leave it intact so that it can resume later.
system call
A call to one of the functions provided by an operating system.

T

U

user ID (UID)
FIXME
Unicode
A standard that defines numeric codes for many thousands of characters and symbols. Unicode does not define how those numbers are stored; that is done by standards like UTF-8.
user group
FIXME
UTF-8
A way to store the numeric codes representing Unicode characters that is backward-compatible with the older ASCII standard.
Universally Unique Identifier (UUID)
FIXME

V

virtual environment
A set of libraries, applications, and other resources that are isolated from the main system and other virtual environments.

W

web scraping
The act of extracting data from HTML pages on the web.

X

Y

Z