Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Glossary

absolute path
the path defined from the root of the system
add (new files in a repository)
the step that stages/prepares files to be committed to a repository from a local branch
argument
required input to a command in the shell
base
the shared commit of a branch
base branch
the branch that a PR or merg will add changes into
bash
bash or the bourne-again shell is a popular interface in UNIX based systems
its code originally derived to be fully free an dopen source alternaive to the Bourne shell (sh)
bitwise operator
an operation that happens on a bit string (sequence of 1s and 0s). They are typically faster than operations on whole integers.
blob
(in git) a type of git object that contains the content of a file in a file named with the hash of the content
branch
an isolated version of the project in a repository where changes do not impact other changes
on github and other hosts branches are used to create Pull Requests
implemented with a pointer to a commit, that moves when new commits are added to the current branch
Bourne Shell
an early unix shell developed at Bell labs (sh)
the precursor to bash
command
an instruction given to a program
(informal) sort of like an individual function
commit
the basic unit of git
commit message
the plain language description that is required, entered with the -m option on git commit
compiled code
code that is put through a compiler to turn it into lower level assemlby language before it is executed. must be compiled and re-executed everytime you make a change.
detached head
a state of a git repo where the head pointer is set to a commit without a branch also pointing to the commit
directory
a collection of files typically created for organizational purposes
divergent
git branches that have diverged means that there are different commits that have same parent; there are multipe ways that git could fix this, so you have to tell it what strategy to use
documentation ecosystem
the set of tools and syntax for creating, processing, and distributing documentation for a particular language
escape
(verb) to insert an Escape character
exponent
(in floats) the part of the bitstring that is used as a power of 2 to scale the number
11 bits for 64 bit floats
fixed point number
the concept that the decimal point does not move in the number. Cannot represent as wide of a range of values as a floating point number.
flag
another name for a single character option
floating point number
the concept that the decimal can move within the number (ex. scientific notation; you move the decimal based on the exponent on the 10). can represent more numbers than a fixed point number.
fraction
(in float) the bits representing the fractional part of the number
also called the significand
52 bits for a 64 bit float
fork
a related repository, a full copy of the repo
git
a version control tool; it’s a fully open source and always free tool, that can be hosted by anyone or used without a host, locally only.
GitHub
a hosting service for git repositories
.gitignore
a file in a git repo that will not add the files that are included in this .gitignore file. Used to prevent files from being unnecessarily committed.
git objects
see object
git plumbing command
low level git commands that allow the user to access the inner workings of git.
git Workflow
a recipe or recommendation for how to use Git to accomplish work in a consistent and productive manner
hash
the output of a hash function
(in git) the identifier for git objects
hash function
the actual function that does the hashing of the input (a key, an object, etc.)
hashing
transforming an input of arbitrary length to a unique fixed length output (the output is called a hash; used in hash tables and when git hashes commits).
HEAD
a file in the .git directory that indicates what is currently: checked out (think of the current branch)
hidden file
a file with a name that starts with . that is not visible in default settings for file explorer/finder or with ls unless you use -a
integrated development environment
also known as an IDE, puts together all of the tools a developer would need to produce code (source code editor, debugger, ability to run code) into one application so that everything can be done in one place. can also have extra features such as showing your file tree and connecting to git and/or github.
interpreted code
code that is directly executed from a high level language. more expensive computationally because it cannot be optimized and therefore can be slower.
issue
provides the ability to easily track ideas, feedback, tasks, or bugs. branches can be created for specific issues. an issue is open when it is created. pull requests have the ability to close issues. see more in the docs
job
(in HPC) a set of work that will be run.
Linker
a program that links together the object files and libraries to output an executable file.
markdown
a lightwight markup syntax that is human readable and parsable into HTML formatting cheatsheet
see also msyt
merge
putting two branches together so that you can access files in another branch that are not available in yours
merge conflict
when two branches to be merged edit the same lines and git cannot automatically merge the changes
myst
Markedly Structured Text, a flavor of markdown designed to create publication quality documents in markdown, inspired by reStructuredText
mermaid
mermaid syntax allows user to create precise, detailed diagrams in markdown files.
object
(in git) unit of storage in git, stored in the object database, one of four types: commit, tree, tag or blob
(in git) identified by a hash, cannot be changed
object database
(in git) not a formal database, but a directory within a folder, that makes it a git repository stores the git objects, generally found at the path: .git/objects
one’s complement
a representation where negative numbers are represented by flipping the bits
option
also known as a flag,
a parameter to a command line program that change its behavior, different from an argument
parent
(in git) the commit that came before the cuurent commit
path
the “location” of a file or folder(directory) in a computer
plumbing
(git command type) the internal workings- a toolkit for a VCS
pointer
a variable that stores the address of another variable
porcelain
(git command type) the user friendly VCS
pull (changes from a repository)
download changes from a remote repository and update the local repository with these changes.
pull request
allow other users to review and request changes on branches. after a pull request recieves approval you can merge the changed content to the main branch. (a github feature that is also common to other hosts, not a git feature)
PR
short for pull request
program
an installed piece of software; importantly distinct from an individual command, e.g. git
prompt
the text displayed in the terminal before the content that you type
in bash, customizable with the environment variable PS1, see an example helper tool
push (changes to a repository)
to put whatever you were working on from your local machine onto a remote copy of the repository in a version control system.
redirect
connecting the output of a command to an alternative stream
syntax > for write mode and >> for append mode
ref
short for reference
reference
(in git) a friendly name for accessing a commit, comes in three types: heads, remotes, and tags (which are also objects)
shortened to ref
relative path
the path defined relative to another file or the current working directory; may start with a name, includes a single file name or may start with ./
release
a distribution of your code, related to a git tag
remote
a copy of the repository hosted on a server
repository
a project folder with tracking information in it in the form of a .git directory in it
reStructuredText
an plaintext markup syntax and parser system used for both inline documentation and creating websites and other types of documents docs
ROM (Read-Only Memory)
Memory that only gets read by the CPU and is used for instructions
SHA 1
the hashing function that git uses to hash its functions (found to have very serious collisions (two different inputs have same hashes), so a lot of software is switching to SHA 256)
sh
abbr. see shell
shell
a command line interface; allows for access to an operating system
sign bit
a single bit used to indicate if a number is positive (0) or negative (-1)
significand
(in floats) another name for the fraction
ssh
allows computers to safely connect to networks (such as when we used an ssh key to clone our github repos)
STDOUT
standard output stream
STDERR
standard error stream
stream
a flow of data from one location to another in a computer
includes three Standard streams
tag
(in git) a object that is like a branch in that it points to a commit, but also like a commit in that it is immutable and does not move.
templating
templating is the idea of changing the input or output of a system. For instance, the Jupyter book, instead of outputting the markdown files as markdown files, displays them as HTML pages (with the contents of the markdown file).
terminal
a program that makes shell visible for us and allows for interactions with it
tree
(in git) type of git object in git that helps store multiple files with their hashes (similar to directories in a file system)
two’s complement
a representation where to negate a number the bits are flipped and 1 is added to the number
yml
common file extension for YAML files
yaml
a file specification that stores key-value pairs. It is commonly used for configurations and settings. main docs
zsh
zsh or z shell is a shell that contains new features that break conventions that bash adheres to but is faster at some things see its FAQ
a unix shell with a more permissive license (MIT) than bash (GPL)
a shell that is based on the KornShell (ksh) which was based on the Bourne shell initially