Skip to content

Commit

Permalink
Filling in missing glossary entries
Browse files Browse the repository at this point in the history
  • Loading branch information
gvwilson committed May 26, 2014
1 parent ec8f492 commit 750c759
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 32 deletions.
96 changes: 69 additions & 27 deletions gloss.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ root: .
title: Glossary
---
**<a name="absolute-error">absolute error</a>**:
FIXME (novice/extras/08-numbers).
the absolute value of the difference between a mathematical value
and its finite approximation in a computer.

**<a name="absolute-path">absolute path</a>**:
A [path](#path) that refers to a particular location in a file system.
Expand All @@ -14,7 +15,8 @@ and begin with either "/" (on Unix) or "\\" (on Microsoft Windows).
See also: [relative path](#relative-path).

**<a name="access-control-list">access control list</a>** (ACL):
FIXME (novice/extras/04-permissions).
a list of permissions attached to a file or directory
that specifies who can do what with it.

**<a name="additive-color-model">additive color model</a>**:
A way to represent colors as the sum of contributions from primary colors
Expand Down Expand Up @@ -43,11 +45,11 @@ the number 12 is usually considered atomic
(unless we are teaching addition to school children,
in which case we might decompose it into tens and ones).

**<a name="authentication-key">authentication key</a>**:
FIXME (novice/extras/06-ssh).

**<a name="branch">branch</a>**:
FIXME (novice/extras/01-branching).
a "parallel universe" in a [version control](#version-control) [repository](#repository).
Programmers typically use branches to isolate different sets of changes from one another during development
so that they can concentrate on one problem at a time.
See also: [merge](#repository-merge).

**<a name="call-stack">call stack</a>**:
A data structure inside a running program that keeps track of active function calls.
Expand All @@ -65,16 +67,24 @@ See also: [referential integrity](#referential-integrity).
Treating text as if upper and lower case characters were the same.
See also: [case sensitive](#case-sensitive).

**<a name="catch-exception">catch</a>** (an exception):
To handle an [exception](#exception) that has been [raised](#raise-exception)
somewhere else in a program.

**<a name="change-set">change set</a>**:
A group of changes to one or more files
that are [committed](#commit) to a [version control](#version-control) [repository](#repository)
in a single operation.

**<a name="repository-clone">clone</a>** (a repository):
To make a copy of a [version control repository](#repository).
To make a local copy of a [version control repository](#repository).
See also: [fork](#repository-fork).

**<a name="code-review">code review</a>**:
FIXME (novice/extras/02-review).
a systematic peer review of a piece of software,
or of changes to a piece of software.
Peer review is often conducted on [pull requests](#pull-request)
before they are [merged](#repository-merge) into a [repository](#repository).

**<a name="csv">comma-separated values</a>** (CSV):
A common textual representation for tables
Expand Down Expand Up @@ -158,7 +168,10 @@ so that the rest of a program can worry about *what* it does
rather than *how* it does it.

**<a name="exception">exception</a>**:
FIXME (novice/extras/07-exceptions).
an event that disrupts the normal or expected execution of a program.
Most modern languages record information about what went wrong
in a piece of data (also called an exception).
See also: [catch](#catch-exception), [raise](#raise-exception).

**<a name="field-database">field</a>** (of a database):
A set of data values of a particular type,
Expand Down Expand Up @@ -211,7 +224,8 @@ One or more values in a [database table](#table-database)
that identify a [records](#record-database) in another table.

**<a name="repository-fork">fork</a>**:
FIXME (novice/extras/02-review).
To [clone](#repository-clone) a [version control](#version-control) [repository](#repository)
on a server.

**<a name="function-body">function body</a>**:
The statements that are executed inside a function.
Expand All @@ -232,6 +246,10 @@ See also: [command-line interface](#cli).
The default directory associated with an account on a computer system.
By convention, all of a user's files are stored in or below her home directory.

**<a name="http">HTTP</a>**:
The Hypertext Transfer [Protocol](#protocol) used for sharing web pages and other data
on the World Wide Web.

**<a name="immutable">immutable</a>**:
Unchangeable.
The value of immutable data cannot be altered after it has been created.
Expand Down Expand Up @@ -264,9 +282,6 @@ See also: [outer loop](#outer-loop).
A whole number, such as -12343.
See also: [floating-point number](#float).

**<a name="isp">Internet Service Provider</a>** (ISP):
FIXME (novice/git/04-open).

**<a name="invariant">invariant</a>**:
An expression whose value doesn't change during the execution of a program,
typically used in an [assertion](#assertion).
Expand All @@ -277,7 +292,8 @@ A family of code units (functions, classes, variables) that implement a set of
related tasks.

**<a name="loop-body">loop body</a>**:
FIXME (novice/shell/04-loop).
the set of statements or commands that are repeated inside a [for loop](#for-loop)
or [while loop](#while-loop).

**<a name="loop-variable">loop variable</a>**:
The variable that keeps track of the progress of the loop.
Expand Down Expand Up @@ -361,10 +377,12 @@ A character or characters display by a [REPL](#repl) to show that
it is waiting for its next command.

**<a name="protocol">protocol</a>**:
FIXME (novice/git/02-collab).
A set of rules that define how one computer communicates with another.
Common protocols on the Internet include [HTTP](#http) and [SSH](#ssh).

**<a name="pull-request">pull request</a>**:
FIXME (novice/extras/02-review).
A set of changes created in one [version control](#version-control) [repository](#repository)
that is being offered to another for [merging](#repository-merge).

**<a name="query">query</a>**:
A database operation that reads values but does not modify anything.
Expand All @@ -377,6 +395,10 @@ to pass the string `*.txt` to a program,
it is usually necessary to write it as `'*.txt'` (with single quotes)
so that the shell will not try to expand the `*` wildcard.

**<a name="raise-exception">raise</a>** (an exception):
To explicitly signal that an [exception](#exception) has occured in a program.
See also: [catch](#catch-exception).

**<a name="repl">read-eval-print loop</a>** (REPL):
a [command-line interface](#cli) that reads a command from the user,
executes it,
Expand Down Expand Up @@ -409,7 +431,8 @@ REs are most often used to find sequences of characters in strings.
A collection of data organized into [tables](#table-database).

**<a name="relative-error">relative error</a>**:
FIXME (novice/extras/08-numbers).
The ratio of the [absolute error](#absolute-error) in an approximation of a value
to the value being approximated.

**<a name="relative-path">relative path</a>**:
A [path](#path) that specifies the location of a file or directory
Expand All @@ -418,7 +441,9 @@ Any path that does not begin with a separator character ("/" or "\\") is a relat
See also: [absolute path](#absolute-path).

**<a name="remote-login">remote login</a>**:
FIXME (novice/extras/06-ssh).
To connect to a computer over a network,
e.g., to run a [shell](#shell) on it.
See also: [SSH](#ssh).

**<a name="repository-remote">remote repository</a>**:
A version control [repository](#repository) other than the current one
Expand Down Expand Up @@ -450,7 +475,7 @@ The top-most directory in a [filesystem](#filesystem).
Its name is "/" on Unix (including Linux and Mac OS X) and "\\" on Microsoft Windows.

**<a name="search-path">search path</a>**:
FIXME (novice/extras/05-shellvar).
The list of directories in which the [shell](#shell) searches for programs when they are run.

**<a name="sentinel-value">sentinel value</a>**:
A value in a collection that has a special meaning,
Expand All @@ -472,7 +497,9 @@ A shell script is a program executed by the shell;
the name "script" is used for historical reasons.

**<a name="sign-and-magnitude">sign and magnitude</a>**:
FIXME (novice/extras/08-numbers).
A scheme for representing numbers in which one bit indicates the sign (positive or negative)
and the other bits store the number's absolute value.
See also: [two's complement](#twos-complement).

**<a name="silent-failure">silent failure</a>**:
Failing without producing any warning messages.
Expand All @@ -490,6 +517,13 @@ An attack on a program in which the user's input contains malicious SQL statemen
If this text is copied directly into an SQL statement,
it will be executed in the database.

**<a name="ssh">SSH</a>**:
The Secure Shell [protocol](#protocol) used for secure communication between computers.
SSH is often used for [remote login](#remote-login) between computers.

**<a name="ssh-key">SSH key</a>**:
a digital key that identifies one computer or user to another.

**<a name="stack-frame">stack frame</a>**:
A data structure that provides storage for a function's local variables.
Each time a function is called,
Expand Down Expand Up @@ -539,28 +573,32 @@ against which the results of a test can be compared.
The practice of writing unit tests *before* writing the code they test.

**<a name="timestamp">timestamp</a>**:
FIXME (novice/git/02-collab).
A record of when a particular event occurred.

**<a name="tuple">tuple</a>**:
An [immutable](#immutable) [sequence](#sequence) of values.

**<a name="twos-complement">two's complement</a>**:
FIXME (novice/extras/08-numbers).
A scheme for representing numbers which wraps around like an odometer
so that 111...111 represents -1.
See also: [sign and magnitude](#sign-and-magnitude).

**<a name="user-group">user group</a>**:
FIXME (novice/extras/04-permissions).
A set of users on a computer system.

**<a name="user-group-id">user group ID</a>**:
FIXME (novice/extras/04-permissions).
A numerical ID that specifies a [user group](#user-group).

**<a name="user-group-name">user group name</a>**:
FIXME (novice/extras/04-permissions).
A textual name for a [user group](#user-group).

**<a name="user-id">user ID</a>**:
FIXME (novice/extras/04-permissions).
A numerical ID that specifies an individual user on a computer system.
See also: [user name](#user-name).

**<a name="user-name">user name</a>**:
FIXME (novice/extras/04-permissions).
A textual name for a user on a computer system.
See also: [user ID](#user-id).

**<a name="variable">variable</a>**:
A name in a program that is associated with a value or a collection of values.
Expand All @@ -571,6 +609,10 @@ Each set of changes creates a new [revision](#revision) of the files;
the version control system allows users to recover old revisions reliably,
and helps manage conflicting changes made by different users.

**<a name="while-loop">while loop</a>**:
A loop that keeps executing as long as some condition is true.
See also: [for loop](#for-loop).

**<a name="wildcard">wildcard</a>**:
A character used in pattern matching.
In the Unix shell,
Expand Down
4 changes: 2 additions & 2 deletions novice/extras/06-ssh.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ and sends the output back to our local shell for display.
> Typing our password over and over again is annoying,
> especially if the commands we want to run remotely are in a loop.
> To remove the need to do this,
> we can create an [authentication key](../../gloss.html#authentication-key)
> we can create an [SSH key](../../gloss.html#ssh-key)
> to tell the remote machine
> that it should always trust us.
> We discuss authentication keys in our intermediate lessons.
> We discuss SSH keys in our intermediate lessons.
4 changes: 2 additions & 2 deletions novice/extras/07-exceptions.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ though,
Python compares the type of the exception to the type specified by the `except`.
If they match, it executes the code in the `except` block.

`IOError` is the particular kind of exception Python raises
`IOError` is the particular kind of exception Python uses
when there is a problem related to input and output,
such as files not existing
or the program not having the permissions it needs to read them.
Expand Down Expand Up @@ -251,7 +251,7 @@ the library doesn't know if the program that's calling it is being run from the
command line or from a GUI.
The library therefore shouldn't try to handle or report errors itself,
because it has no way of knowing what the right way to do this is.
It should instead just raise an exception,
It should instead just [raise](../../gloss.html#raise-exception) an exception,
and let its caller figure out how best to handle it.

Finally,
Expand Down
2 changes: 1 addition & 1 deletion novice/git/04-open.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ would like to be sure that data will still be available ten years from now,
but that's well beyond the lifespan of most of the grants that fund academic infrastructure.

Another option is to purchase a domain
and pay an [Internet service provider](../../gloss.html#isp) (ISP) to host it.
and pay an Internet service provider (ISP) to host it.
This gives the individual or group more control,
and sidesteps problems that can arise when moving from one institution to another,
but requires more time and effort to set up than either
Expand Down

0 comments on commit 750c759

Please sign in to comment.