HyperText, HyperMedia, HyperAnything - What is the original dream of Hyper Media? I think about internally linked spaces. Traveling to different documents without ever leaving the document-based (or media-based) world. Instead of leaving a document to find and open another, why not just have the method of traveling to a relevant document embedded in that document itself? A frame work or infrastructure that is above or outside of the document space that facilitates easy traversal? Is that the ‘Hyper’ in HyperText?

Haml - Html abstraction markup language

Sass - Syntactically Awesome Stylesheets. Sass is a scripting language that is interpreted or compiled into Cascading Style Sheets (CSS).

SCSS - A newer syntactical variant of Sass. SCSS uses block formatting like that of CSS. It uses braces to denote code blocks and semicolons to separate lines within a block. The indented syntax and SCSS files are traditionally given the extensions .sass and .scss, respectively.

Coffeescript - CoffeeScript is a programming language that transcompiles to JavaScript. It adds syntactic sugar inspired by Ruby, Python and Haskell in an effort to enhance JavaScript’s brevity and readability.[3] Specific additional features include list comprehension and pattern matching.

Higher Order Functions - Tools that can take other functions as parameters and return functions as results.

Hashes and Hash as it relates to ‘Hashing Functions’ -

Endianness - The order in which a system stores and retrieves bytes into memory. In Little Endian machines, the last byte of binary representation of multiybyte data is stored first. In Big Endian systems, the first byte of binary representation of multibyte data is stored first.


0x100 0x101 0x102 0x103
01 23 45 67


0x100 0x101 0x102 0x103
67 45 23 01

Function - Suppose that to each element in a set A there is assigned, by some manner or other, a unique element of a set B. We call such assignments a function. For every input into a function, there is a unique output.

Statement - A series of symbols, methods, operators, operands, functions or variables that has a complete meaning. x = 3 + 9 is a statement. A statement is syntactically correct and has meaning.

Segfault - In computing, a segmentation fault (often shortened to segfault) or access violation is a fault, or failure condition, raised by hardware with memory protection, notifying an operating system (OS) the software has attempted to access a restricted area of memory (a memory access violation). On standard x86 computers (which includes most PC computers) this is a form of general protection fault. The OS kernel will, in response, usually perform some corrective action, generally passing the fault on to the offending process by sending the process a signal. Processes can in some cases install a custom signal handler, allowing them to recover on their own,[1] but otherwise the OS default signal handler is used, generally causing abnormal termination of the process (a program crash), and sometimes a core dump.

Trying to access a part of memory that you don’t have access to.

Hashing Function -

Hash -

Encryption v Encoding -

Word - (A word)

Lexeme - A lexeme is a string of characters which forms a syntactic unit.

Some authors just call this a token, using ‘token’ interchangeably to represent (a) the string being tokenized, and also (b) the token data structure resulting from putting this string through the tokenization process.

Note that the usage of the word ‘lexeme’ in computer science is different from the meaning of the word ‘lexeme’ in linguistics. A lexeme in computer science roughly corresponds to what in linguistics might be called a word (in computer science, ‘word’ has a different meaning than the meaning of ‘word’ in linguistics), although in some cases it may be more similar to a morpheme.

Kilobyte v Kibibyte - A Kilobyte is a decimal multiple of the unit byte for quantities of information and is one thousand (103) bytes of data. A kibibyte is a binary multiple of the unit byte for quantities of information and is 210 (1024) bytes of data. Sometimes they are used interchangeably. A mebibyte is 10242 (220) bytes of data and is sometimes used interchangeably with megabyte which is 1,000,000 (106 or 10002) bytes of data. These binary/decimal pairs of multiples of bytes exist for all notations for quantities of digital information.

Syntactic Sugar -

RFC - Request For Comments. A formal document from the IETF (Internet Engineering Task Force) that presents technical or informative content for review on it’s way to potentially become a standard. Of those that are intended to become Internet standards, the final version of the RFC becomes the standard and no further comments or changes are permitted.

REPL - Stands for Read Evaluate Print Loop. IRB and PRY are Ruby REPLs.

Helper or Helper Method -

Closure -

Is there a general way to interpret certain characters in code? Do /, :, ., ::, //, , have meanings that can be interpreted as general across languages/platforms?

Markup -

Markdown -

Buffer - Generic term for a chunk of memory that currently being processed or worked on.

Library -

< >, “ ”, [ ], { } in documentation -

Syntax -

Macro - Short for ‘macroinstruction’

A single instruction that expands automatically into a set of instructions to perform a particular task.

Tree -

Algorithm -

Octet - A term for 8 bits of digital information. Overwhelmingly synonymous with the word byte in modern digital computing as most systems interpret and refer to a discreet, 8 bit chunk of data as a byte.

Octets are often expressed and displayed using a variety of representations, for example in the hexadecimal, decimal, or octal number systems. The binary value of all 8 bits set (or activated) is 11111111 (base 2), equal to the hexadecimal value FF (base 16), the decimal value 255 (base 10), and the octal value 377 (base 8). One octet can be used to represent decimal values ranging from 0 to 255. - Wikipedia

Byte - A discrete collection of bits. In almost all modern systems a byte is 8 bits of information representing 256 states. Also known as a word.

API - Application Programming Interface. The API of our Rails objects are just their publicly available methods.

Another way of thinking about an API: the rules for what you can input into a specific program and what output you can expect given valid input. Makes a program predictable.

Also sometimes called a service. An API might take the form of the data you get back from a server when you make a request. It may not be formatted into HTML, JavaScript, and CSS, but just be “raw data” in the form of JSON or some other format. There is a distinction between an website (which contains assets in the forms that can be rendered by a browser like HTML) and a web-service (just raw data).

So, why would you want raw data? Some applications or websites already have special ways of rendering information but they still need data from a source to know what to render. An application may use the Google maps API, for example, to get data about locations to render in an ancillary window or a mobile application. Also, servers use web-services all the time to send data back and forth, data that never needs to be rendered or formatted in a human readable form.

  • The published interface or published set of rules for how a particular piece of software works and how you use it.
  • In Rails, the API are the HTTP routes.

If I have a web application running on Rails and I make a HTTP GET request to /cats, I’ll get back a bunch of cat pictures.

In this case, GET is the HTTP method in the request and /cats is a path.

BIOS - Stands for Basic/Input Output System. A firmware used to perform hardware initialization during the booting process of IBM compatible PCs and to provide runtime services for operating systems and programs.

DSL - Domain Specific Language, as opposed to a GPL (General Purpose Language), is a computer language specialized to a specific application domain. These are languages designed for targeting specific problems instead of any generalized problem. Examples of DSLs include HTML for web pages and SQL for database queries. An internal DSL inside Ruby is used for defining routes in a Rails routes.rb file.


UEFI - Unified Extensible Firmware Interface. A specification that defines a software interface between an operating system and platform firmware. UEFI replaces BIOS in IBM PC-compatible personal computers.





Execution Context

Batch processing v. Interactive Computing

Command Interpreter





JSON - JavaScript Object Notation

…an open-standard format that uses human-readable text to transmit data objects consisting of attribute–value pairs. It is the most common data format used for asynchronous browser/server communication, largely replacing XML which is used by AJAX. - Wikipedia

Json is a language independent data format derived from JavaScript. Its data types are: Number, String, Boolean, Array, and Null. The official MIME type for JSON is application/json. See also YAML and XML

example of data in JSON format:


Atomic, Atomized



CRLF - Carriage Return | Line Feed
Indicates the beginning of a newline in a file or document. Indicated by a special character.

Stack or The Stack?

Interface As It Relates to API

Mnemonic - symbolic codes

Hard Links A file that points to an existing inode in the file-system.