Skip to content

Commit

Permalink
Cleaning up some glossary entries
Browse files Browse the repository at this point in the history
  • Loading branch information
gvwilson committed Jun 26, 2023
1 parent ae3a0c7 commit 3ce9672
Show file tree
Hide file tree
Showing 50 changed files with 610 additions and 560 deletions.
7 changes: 4 additions & 3 deletions docs/binary/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ <h1>Chapter 17: Binary Data</h1>


<p class="definitions">
Terms defined: <a class="gl-ref" href="../glossary/#ansi_encoding" markdown="1">ANSI character encoding</a>, <a class="gl-ref" href="../glossary/#ascii" markdown="1">ASCII character encoding</a>, <a class="gl-ref" href="../glossary/#big_endian" markdown="1">big endian</a>, <a class="gl-ref" href="../glossary/#bit_mask" markdown="1">bit mask</a>, <a class="gl-ref" href="../glossary/#bit_shift" markdown="1">bit shifting</a>, <a class="gl-ref" href="../glossary/#bitwise_operation" markdown="1">bitwise operation</a>, <a class="gl-ref" href="../glossary/#boxed_value" markdown="1">boxed value</a>, <a class="gl-ref" href="../glossary/#buffer" markdown="1">buffer</a>, <a class="gl-ref" href="../glossary/#code_point" markdown="1">code point</a>, <a class="gl-ref" href="../glossary/#continuation_byte" markdown="1">continuation byte</a>, <a class="gl-ref" href="../glossary/#control_code" markdown="1">control code</a>, <a class="gl-ref" href="../glossary/#escape_sequence" markdown="1">escape sequence</a>, <a class="gl-ref" href="../glossary/#exclusive_or" markdown="1">exclusive or</a>, <a class="gl-ref" href="../glossary/#little_endian" markdown="1">little endian</a>, <a class="gl-ref" href="../glossary/#sign_magnitude" markdown="1">sign and magnitude</a>, <a class="gl-ref" href="../glossary/#twos_complement" markdown="1">two's complement</a>, <a class="gl-ref" href="../glossary/#unicode" markdown="1">Unicode</a>, <a class="gl-ref" href="../glossary/#utf_32" markdown="1">UTF-32</a>, <a class="gl-ref" href="../glossary/#utf_8" markdown="1">UTF-8</a>, <a class="gl-ref" href="../glossary/#variable_length_encoding" markdown="1">variable-length encoding</a>
Terms defined: <a class="gl-ref" href="../glossary/#ansi_encoding" markdown="1">ANSI character encoding</a>, <a class="gl-ref" href="../glossary/#ascii" markdown="1">ASCII character encoding</a>, <a class="gl-ref" href="../glossary/#big_endian" markdown="1">big endian</a>, <a class="gl-ref" href="../glossary/#bit_mask" markdown="1">bit mask</a>, <a class="gl-ref" href="../glossary/#bit_shift" markdown="1">bit shifting</a>, <a class="gl-ref" href="../glossary/#bitwise_operation" markdown="1">bitwise operation</a>, <a class="gl-ref" href="../glossary/#boxed_value" markdown="1">boxed value</a>, <a class="gl-ref" href="../glossary/#buffer_memory" markdown="1">buffer (in memory)</a>, <a class="gl-ref" href="../glossary/#code_point" markdown="1">code point</a>, <a class="gl-ref" href="../glossary/#continuation_byte" markdown="1">continuation byte</a>, <a class="gl-ref" href="../glossary/#control_code" markdown="1">control code</a>, <a class="gl-ref" href="../glossary/#escape_sequence" markdown="1">escape sequence</a>, <a class="gl-ref" href="../glossary/#exclusive_or" markdown="1">exclusive or</a>, <a class="gl-ref" href="../glossary/#little_endian" markdown="1">little endian</a>, <a class="gl-ref" href="../glossary/#sign_magnitude" markdown="1">sign and magnitude</a>, <a class="gl-ref" href="../glossary/#twos_complement" markdown="1">two's complement</a>, <a class="gl-ref" href="../glossary/#unicode" markdown="1">Unicode</a>, <a class="gl-ref" href="../glossary/#utf_32" markdown="1">UTF-32</a>, <a class="gl-ref" href="../glossary/#utf_8" markdown="1">UTF-8</a>, <a class="gl-ref" href="../glossary/#variable_length_encoding" markdown="1">variable-length encoding</a>
</p>


Expand Down Expand Up @@ -798,7 +798,8 @@ <h2 id="binary-binary">Section 17.4: And Now, Persistence</h2>

<p>The same is true of collections.
For example,
Fortran stores the values in an array side by side in one big block of memory
Fortran stores the values in an array side by side
in one big <span class="ix-entry" ix-key="block (of memory)" markdown="1">block</span> of memory
(<a class="fig-ref" href="../binary/#binary-arrays">Figure 17.2</a>).
Writing this to disk is easy:
if the array starts at location L in memory and has N values,
Expand Down Expand Up @@ -989,7 +990,7 @@ <h2 id="binary-binary">Section 17.4: And Now, Persistence</h2>
</code></pre></div>
</div>
<p>The unpacking function is analogous.
We break the <a class="gl-ref" href="../glossary/#buffer" markdown="1">buffer</a>
We break the <a class="gl-ref" href="../glossary/#buffer_memory" markdown="1">memory buffer</a>
into a header that&rsquo;s exactly four bytes long
(i.e., the right size for an integer)
and a body made up of whatever&rsquo;s left.
Expand Down
11 changes: 8 additions & 3 deletions docs/contents/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -344,13 +344,18 @@ <h1>Appendix J: Index</h1>
<li>abstract class: <a class="ix-ref" ix-ref="abstract class" href="../perf/">Performance Profiling</a></li>
<li>abstract syntax tree: <a class="ix-ref" ix-ref="abstract syntax tree" href="../lint/">A Code Linter</a></li>
<li>affordance: <a class="ix-ref" ix-ref="affordance" href="../viewer/">A File Viewer</a></li>
<li>alias: <a class="ix-ref" ix-ref="alias" href="../persist/">Object Persistence</a></li>
<li>anonymous function: <a class="ix-ref" ix-ref="anonymous function" href="../viewer/">A File Viewer</a></li>
<li>array</li>
<li>…implementation of: <a class="ix-ref" ix-ref="implementation of" href="../vm/">A Virtual Machine</a></li>
<li>assembly code: <a class="ix-ref" ix-ref="assembly code" href="../debugger/">A Debugger</a></li>
<li>base class: <a class="ix-ref" ix-ref="base class" href="../perf/">Performance Profiling</a>, <a class="ix-ref" ix-ref="base class" href="../persist/">Object Persistence</a></li>
<li>binary mode: <a class="ix-ref" ix-ref="binary mode" href="../http/">Serving Web Pages</a></li>
<li>bitwise operation: <a class="ix-ref" ix-ref="bitwise operation" href="../vm/">A Virtual Machine</a></li>
<li>block (of memory): <a class="ix-ref" ix-ref="block (of memory)" href="../binary/">Binary Data</a>, <a class="ix-ref" ix-ref="block (of memory)" href="../vm/">A Virtual Machine</a>, <a class="ix-ref" ix-ref="block (of memory)" href="../interp/">An Interpreter</a></li>
<li>Boolean expression: <a class="ix-ref" ix-ref="Boolean expression" href="../template/">A Template Expander</a></li>
<li>Boolean value: <a class="ix-ref" ix-ref="Boolean value" href="../pack/">A Package Manager</a></li>
<li>Brubeck, Matt: <a class="ix-ref" ix-ref="Brubeck, Matt" href="../layout/">Page Layout</a></li>
<li>buffer: <a class="ix-ref" ix-ref="buffer" href="../ftp/">Transferring Files</a></li>
<li>buffer (in memory): <a class="ix-ref" ix-ref="buffer (in memory)" href="../ftp/">Transferring Files</a></li>
<li>C: <a class="ix-ref" ix-ref="C" href="../build/">A Build Manager</a></li>
<li>circular dependency: <a class="ix-ref" ix-ref="circular dependency" href="../pack/">A Package Manager</a></li>
<li>class method: <a class="ix-ref" ix-ref="class method" href="../oop/">Objects and Classes</a></li>
Expand Down Expand Up @@ -599,7 +604,7 @@ <h2>Objects and Classes</h2>

<figure id="fig-0038">

<img src='../oop/shapes_class.svg' alt='Separating attributes from methods'>
<img src='../oop/shapes_class.svg' alt='Separating properties from methods'>

<figcaption markdown="1">Figure 7.2: Using dictionaries to emulate classes.</figcaption>

Expand Down
6 changes: 3 additions & 3 deletions docs/db/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ <h1>Chapter 18: A Database</h1>


<p class="definitions">
Terms defined: <a class="gl-ref" href="../glossary/#block" markdown="1">block</a>, <a class="gl-ref" href="../glossary/#compact" markdown="1">compact</a>, <a class="gl-ref" href="../glossary/#garbage_collection" markdown="1">garbage collection</a>, <a class="gl-ref" href="../glossary/#key_value_store" markdown="1">key_value_store</a>, <a class="gl-ref" href="../glossary/#log_structured_db" markdown="1">log-structured database</a>, <a class="gl-ref" href="../glossary/#null_byte" markdown="1">null byte</a>, <a class="gl-ref" href="../glossary/#page" markdown="1">page</a>
Terms defined: <a class="gl-ref" href="../glossary/#block_memory" markdown="1">block (of memory)</a>, <a class="gl-ref" href="../glossary/#compact" markdown="1">compact</a>, <a class="gl-ref" href="../glossary/#garbage_collection" markdown="1">garbage collection</a>, <a class="gl-ref" href="../glossary/#key_value_store" markdown="1">key_value_store</a>, <a class="gl-ref" href="../glossary/#log_structured_db" markdown="1">log-structured database</a>, <a class="gl-ref" href="../glossary/#null_byte" markdown="1">null byte</a>, <a class="gl-ref" href="../glossary/#page" markdown="1">page</a>
</p>


Expand Down Expand Up @@ -692,7 +692,7 @@ <h2 id="db-file">Section 18.3: A File-Backed Database</h2>
we are getting closer to our ultimate goal.</p>
<h2 id="db-block">Section 18.4: Playing With Blocks</h2>
<p>How can we make our file-backed implementation more efficient?
One option would be to save each block in a file of its own,
One option would be to save each record in a file of its own,
in the same way that we saved each version of a file in <a class="x-ref" href="../archive/">Chapter 10</a>.
However,
this strategy won&rsquo;t give us as much of a performance boost as we&rsquo;d like.
Expand All @@ -702,7 +702,7 @@ <h2 id="db-block">Section 18.4: Playing With Blocks</h2>
the operating system actually reads a full page
and then gives us just the byte we asked for.</p>
<p>A more efficient strategy is therefore
to group records together in <a class="gl-ref" href="../glossary/#block" markdown="1">blocks</a>,
to group records together in <a class="gl-ref" href="../glossary/#block_memory" markdown="1">blocks</a>,
each of which is the same size as a page,
and an <span class="ix-entry" ix-key="index (database)" markdown="1">index</span> in memory
to tell us which records are in which blocks.
Expand Down
3 changes: 2 additions & 1 deletion docs/debugger/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -938,7 +938,8 @@ <h3 class="exercise">Displaying Source</h3>
<ol>
<li>
<p>Modify the debugger so that when the debugger is displaying memory,
it shows the assembly code instructions corresponding to particular addresses
it shows the <span class="ix-entry" ix-key="assembly code" markdown="1">assembly code</span> instructions
corresponding to particular addresses
as well as the numeric codes.</p>
</li>
<li>
Expand Down
3 changes: 2 additions & 1 deletion docs/ftp/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -526,7 +526,8 @@ <h2 id="ftp-chunk">Section 21.2: Chunking</h2>
This can result in <a class="gl-ref" href="../glossary/#deadlock" markdown="1">deadlock</a> because
the server is trying to send its reply
while the client is still trying to send the rest of the message.
Increasing the size of the <span class="ix-entry" ix-key="buffer" markdown="1">buffer</span> used to store the incoming message
Increasing the size of the <span class="ix-entry" ix-key="buffer (in memory)" markdown="1">memory buffer</span>
used to store the incoming message
won&rsquo;t make this problem go away:
the client (or a malicious attacker) could always send more data than we have allowed for.</p>
<p>Instead,
Expand Down
26 changes: 13 additions & 13 deletions docs/glossary/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -377,19 +377,15 @@ <h1>Appendix H: Glossary</h1>
<dt><span class="gl-key" id="assembly_code">assembly code</span></dt>
<dd>A low-level programming language whose statements correspond closely to the actual <a href="#instruction_set">instruction set</a> of a particular kind of processor.</dd>
<dt><span class="gl-key" id="assertion">assertion</span></dt>
<dd>A <a href="#boolean">Boolean</a> expression that must be true at a certain point in a program. Assertions may be built into the language (e.g., Python&rsquo;s <code>assert</code> statement) or provided as functions (as with Node&rsquo;s <code>assert</code> library).</dd>
<dt><span class="gl-key" id="associative_array">associative array</span></dt>
<dd>See <a href="#dictionary">dictionary</a>.</dd>
<dd>A <a href="#boolean_expression">Boolean expression</a> that must be true at a certain point in a program. Assertions may be built into the language or provided as functions.</dd>
<dt><span class="gl-key" id="atomic_operation">atomic operation</span></dt>
<dd>An operation that is guaranteed to complete, i.e., one that cannot be interrupted part-way through.</dd>
<dt><span class="gl-key" id="atomic_value">atomic value</span></dt>
<dd>A value that cannot be broken down into smaller parts, such as a Boolean or integer.</dd>
<dd>A value that cannot be broken down into smaller parts, such as a <a href="#boolean_value">Boolean</a> or integer.</dd>
<dt><span class="gl-key" id="attention_budget">attention budget</span></dt>
<dd>The amount of time your activity is allowed to require of other people in an organization.</dd>
<dt><span class="gl-key" id="attribute">attribute</span></dt>
<dd>A name-value pair associated with an object, used to store <a href="#metadata">metadata</a> about the object such as an array&rsquo;s dimensions.</dd>
<dt><span class="gl-key" id="automatic_variable">automatic variable</span></dt>
<dd>A variable that is automatically given a value in a <a href="#build_rule">build rule</a>. For example, Make automatically assigns the name of a rule&rsquo;s <a href="#build_target">target</a> to the automatic variable <code>$@</code>. Automatic variables are frequently used when writing <a href="#pattern_rule">pattern rules</a>.</dd>
<dt><span class="gl-key" id="backward_compatible">backward-compatible</span></dt>
<dd>A property of a system that enables interoperability with an older legacy system, or with input designed for such a system.</dd>
<dt><span class="gl-key" id="base_class">base class</span></dt>
Expand All @@ -410,18 +406,24 @@ <h1>Appendix H: Glossary</h1>
<dd>To move the bits in a byte or <a href="#word_memory">word</a> left or right.</dd>
<dt><span class="gl-key" id="bitwise_operation">bitwise operation</span></dt>
<dd>An operation that manipulates individual bits in memory. Common bitwise operations include <code>and</code>, <code>or</code>, <code>not</code>, and <code>xor</code>.</dd>
<dt><span class="gl-key" id="block">block</span></dt>
<dt><span class="gl-key" id="block_memory">block (of memory)</span></dt>
<dd>A region of memory of a fixed, constant size. Data is often divided into blocks to optimize input and output at the hardware level; software is then used to convert between blocks and <a href="#stream">streams</a>.</dd>
<dt><span class="gl-key" id="block_page">block (on page)</span></dt>
<dd>A rectangular region of a page that may contain text, images, and other visual elements along with other blocks.</dd>
<dt><span class="gl-key" id="http_body">body (of HTTP request or response)</span></dt>
<dd>The &ldquo;extra&rdquo; data associated with an <a href="#http_request">HTTP request</a> or <a href="#http_response">response</a>, such as the file being uploaded or the page being returned for display.</dd>
<dt><span class="gl-key" id="boolean">Boolean</span></dt>
<dd>Relating to a variable or data type that can have either a logical value of true or false. Named for George Boole, a 19th century mathematician.</dd>
<dt><span class="gl-key" id="boolean_expression">Boolean expression</span></dt>
<dd>An <a href="#expression">expression</a> that is either true or false, i.e., one that produces a <a href="#boolean_value">Boolean value</a>.</dd>
<dt><span class="gl-key" id="boolean_value">Boolean value</span></dt>
<dd>One of the two values &ldquo;true&rdquo; or &ldquo;false&rdquo;. Named for George Boole, a 19th century mathematician.</dd>
<dt><span class="gl-key" id="boxed_value">boxed value</span></dt>
<dd>A value (such as an integer) that is embedded in a larger structure in memory that carries <a href="#metadata">metadata</a> about its type, how many structures are referring to it, and so on.</dd>
<dt><span class="gl-key" id="breakpoint">breakpoint</span></dt>
<dd>A point in a program where a debugger should halt execution in order to interact with a user.</dd>
<dt><span class="gl-key" id="buffer">buffer</span></dt>
<dt><span class="gl-key" id="buffer_memory">buffer (in memory)</span></dt>
<dd>A temporary storage area in memory.</dd>
<dt><span class="gl-key" id="buffer_text">buffer (of text)</span></dt>
<dd>A data structure that stores text while it is being viewed or edited.</dd>
<dt><span class="gl-key" id="build_manager">build manager</span></dt>
<dd>A program that keeps track of how files depend on one another and runs commands to update any files that are out-of-date. Build managers were invented to <a href="#compile">compile</a> only those parts of programs that had changed, but are now often used to implement workflows in which plots depend on results files, which in turn depend on raw data files or configuration files.</dd>
<dt><span class="gl-key" id="build_recipe">build recipe</span></dt>
Expand Down Expand Up @@ -529,7 +531,7 @@ <h1>Appendix H: Glossary</h1>
<dt><span class="gl-key" id="design_pattern">design pattern</span></dt>
<dd>A recurring pattern in software design that is specific enough to be worth naming, but not so specific that a single best implementation can be provided by a <a href="#library">library</a>.</dd>
<dt><span class="gl-key" id="dictionary">dictionary</span></dt>
<dd>A data structure that allows items to be looked up by value, sometimes called an <a href="#associative_array">associative array</a>. Dictionaries are often implemented using <a href="#hash_table">hash tables</a>.</dd>
<dd>A data structure that allows items to be looked up by value. Dictionaries are often implemented using <a href="#hash_table">hash tables</a>.</dd>
<dt><span class="gl-key" id="dictionary_comprehension">dictionary comprehension</span></dt>
<dd>A single expression that constructs a dictionary by looping over key-value pairs.</dd>
<dt><span class="gl-key" id="dag">directed acyclic graph</span> (DAG)</dt>
Expand Down Expand Up @@ -794,8 +796,6 @@ <h1>Appendix H: Glossary</h1>
<dd>A single file containing a set of changes to a set of files, separated by markers that indicate where each individual change should be applied, or the <a href="#semantic_versioning">semantic versioning</a> identifier for such a file.</dd>
<dt><span class="gl-key" id="path_resolution">path resolution</span></dt>
<dd>The process of converting filename portion of a <a href="#url">URL</a> into a specific file on disk.</dd>
<dt><span class="gl-key" id="pattern_rule">pattern rule (in build)</span></dt>
<dd>A generic <a href="#build_rule">build rule</a> that describes how to update any file whose name matches a pattern. Pattern rules often use <a href="#automatic_variable">automatic variables</a> to represent the actual filenames.</dd>
<dt><span class="gl-key" id="persistence">persistence</span></dt>
<dd>The act of saving and restoring data, particularly <a href="#heterogeneous">heterogeneous</a> data with irregular structure.</dd>
<dt><span class="gl-key" id="phony_target">phony target</span></dt>
Expand Down
4 changes: 2 additions & 2 deletions docs/http/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -476,7 +476,7 @@ <h1>Chapter 22: Serving Web Pages</h1>

<p>Keep in mind that <code>requests</code> isn&rsquo;t doing anything magical.
Instead,
it is formatting a block of text,
it is formatting a piece of text,
opening a socket connection (<a class="x-ref" href="../ftp/">Chapter 21</a>),
sending that text through the connection,
and then reading a response.
Expand Down Expand Up @@ -662,7 +662,7 @@ <h2 id="http-files">Section 22.2: Serving Files</h2>
The <code>send_content</code> method expects <code>content</code> to be a <code>bytes</code> object,
not a string,
because the HTTP protocol requires the content length to be the number of bytes.
The server reads files in binary mode
The server reads files in <span class="ix-entry" ix-key="binary mode" markdown="1">binary mode</span>
by using <code>"rb"</code> instead of just <code>"r"</code> when it opens files in <code>handle_file</code>,
converts the internally-generated error page from characters to bytes
using the <span class="ix-entry" ix-key="UTF-8" markdown="1">UTF-8</span> encoding,
Expand Down
2 changes: 1 addition & 1 deletion docs/interp/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ <h1>Chapter 6: An Interpreter</h1>
Similarly,
the <a class="gl-ref" href="../glossary/#compiler" markdown="1">compilers</a> and <a class="gl-ref" href="../glossary/#interpreter" markdown="1">interpreters</a>
that make programs run are just programs themselves.
Instead of changing the characters in a block of memory like text editors,
Instead of changing the characters in a <span class="ix-entry" ix-key="block (of memory)" markdown="1">block</span> of memory like text editors,
or calculating sums and averages like spreadsheets,
compilers turn text into instructions for interpreters or hardware to run.</p>
<p>Most real programming languages have two parts:
Expand Down
Binary file modified docs/intro/syllabus_linear.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 3ce9672

Please sign in to comment.