From f9f611827e436063d77924fbbd64fa0628d584e1 Mon Sep 17 00:00:00 2001
From: Blaise Thompson <blaise@untzag.com>
Date: Thu, 5 Apr 2018 14:37:58 -0500
Subject: 2018-04-05 14:37

---
 software/chapter.tex | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

(limited to 'software/chapter.tex')

diff --git a/software/chapter.tex b/software/chapter.tex
index 3ab3831..59dd4a9 100644
--- a/software/chapter.tex
+++ b/software/chapter.tex
@@ -293,7 +293,7 @@ The basic idea of OOP is defining object types (classes) that are self-contained
 These classes define pieces of associated data (attributes) and associated procedures (functions)
 within themselves.  %
 Once the class is defined, instances of that class are created.  %
-Instances, as the name implies, are just specific ``concrete occurance'' of a given class.  %
+Instances, as the name implies, are just specific ``concrete occurances'' of a given class.  %
 The classic example: \python{Dog} is a class, \python{fido}, \python{spot}, and \python{duke} are
 three dogs---three instances of the dog class.  %
 
@@ -314,14 +314,14 @@ class Person():
         elif food == self.hated_food:
             return 'gross---no thank you'
         else:
-            return 'meh''
+            return 'meh'
 \end{codefragment}
 Now I can make some instances of that class, and access their attributes and methods.  %
 \begin{codefragment}{python}
 >>> mary = Person(name='Mary', favorite_food='pizza', hated_food='falafel')
 >>> jane = Person(name='Jane', favorite_food='salad'')
 >>> mary.react_to('falafel')
-'gross---no thank you''''''
+'gross---no thank you'
 >>> jane.react_to('salad')
 'yum! my favorite'
 >>> mary.favorite_food
@@ -333,7 +333,7 @@ We can already begin to see how powerful this approach is.  %
 Instances of \python{Person} contain their own attributes and methods.  %
 Instances can be interacted with in complex or simple ways.  %
 The attributes \python{favorite_food} and \python{hated_food} are fully accessible, but need not be
-directly dealt with when using the \python{read_to} method.  %
+directly dealt with when using the \python{react_to} method.  %
 When using OOP, one can hide complexity while still being able to access everything.  %
 
 One of the most powerful patterns within OOP is \emph{inheritance}.  %
@@ -348,7 +348,7 @@ throughout a large piece of software without repeating functionality.  %
 % TODO: more exposition on inheritance, perhaps including an example
 
 OOP is a deep subject with many patterns and concepts behind it.  %
-There are many places to read further [CITES].
+There are many places to read further [CITES].  % BJT: KFS can you give me some citations?
 I recommend The Quarks of Object-Oriented Development, by \textcite{ArmstrongDeborahJ2006a}.  %
 
 % TODO: consider discussion of polymorphism
@@ -363,11 +363,9 @@ column corresponds to one of the scannable hardwares or one of the sensors in th
 The simplicity and portability of these formats is fantastic, but they do not scale well with
 increasingly large and higher-dimensional data.  %
 
-% TODO: justify further why flattening UTF8 files are bad idea
-
 Heirarchial data files are an alternative strategy that scales much better with large and
 high-dimensional data.  %
-These are binary files that store the array directly, not in a flattened way.  %
+These are binary files that store the arrays directly, not in a flattened way.  %
 They can contain multiple arrays, with different data types, in the same file under a well-defined
 organizational system.  %
 They support arbitrary metadata, integrated into the same hierarchy as the arrays, so making them
@@ -378,9 +376,9 @@ for storing CMDS data.  %
 To this author's best knowledge, the Common Data Format (CDF) was the first general purpose
 self-describing multidimensional array data format. \cite{TreinshLloydA1987a}  %
 The engineers at the National Space Science Data Center (a division of NASA) created the CDF.  %
-Using this construct, ``scientific softwares at NSSDC ... do not need specific knowledge of the
+Using this construct, \emph{``scientific softwares at NSSDC ... do not need specific knowledge of the
 data whith which they are working. This permits users of such systems to apply the same functions
-to different sets of data.''
+to different sets of data.''}
 These are exactly the capabilities that CMDS requires.  %
 
 A second-order challenge in CMDS data storage is the size of the arrays.  %
@@ -392,11 +390,11 @@ the array without reading the entire data into memory.  %
 Slightly later, NetCDF was introduced \cite{RewRuss1990a}.  %
 Very similar to CDF, NetCDF focused on enhancments to portability.  %
 Certain metadata conventions were also introduced, including named dimensions.  %
-NetCDF remains popular in the aerospace and 
+NetCDF remains popular in the aerospace and geoscience communities.  %
 
 The Flexable Image Transform System (FITS) is a similar format with a focus on visualization and
 backwards compatibility. \cite{FITS, WellsDC1981a}  %
-Fits is still popular in the astronomy community.  %
+FITS is still popular in the astronomy community.  %
 
 Today, these hierarchical data formats have gathered under the umbrella of the HDF5 format, built
 and maintained by the HDF Group. \cite{FolkMike2011a}  %
@@ -407,10 +405,10 @@ In Python, HDF5 is supported primarily through the h5py package. \cite{h5py}  %
 
 \section{Scientific Python}  % --------------------------------------------------------------------
 
-SciPy is a collection of ``open-source software for mathematics, science, and egnineering.''
+SciPy is a collection of \emph{``open-source software for mathematics, science, and egnineering.''}
 \cite{OliphantTravisE2007a, MillmanJarrodK2011a}  %
-SciPy was an absolute essential component of this dissertation and the work it describes.  %
-There are packages under the SciPy umbrella.  %
+SciPy was an absolutely essential component of this dissertation and the work it describes.  %
+There are many packages under the SciPy umbrella.  %
 NumPy is a very powerful and fast package for working with multidimensional arrays.
 \cite{OliphantTravisE2006a}  %
 The SciPy library contains a vast number of scientific computing tools, including many mathematical
-- 
cgit v1.2.3

