Final copyedit completed

This commit is contained in:
Kenneth John Odle 2021-10-10 13:17:22 -04:00
parent 093c0e4d09
commit b3122f2fbd
4 changed files with 26 additions and 28 deletions

View File

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2021.9.5) 10 OCT 2021 11:09 This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2021.9.5) 10 OCT 2021 13:16
entering extended mode entering extended mode
restricted \write18 enabled. restricted \write18 enabled.
%&-line parsing enabled. %&-line parsing enabled.
@ -889,13 +889,13 @@ Chapter 2.
] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] ] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22]
Chapter 3. Chapter 3.
Overfull \hbox (1.03648pt too wide) in paragraph at lines 409--410 Overfull \hbox (1.03648pt too wide) in paragraph at lines 407--408
[]\OT1/jkp/m/n/10 (For more in-for-ma-tion about this, con-sult the Linux Foun- []\OT1/jkp/m/n/10 (For more in-for-ma-tion about this, con-sult the Linux Foun-
da-tion \OT1/jkp/m/it/10 Filesys- da-tion \OT1/jkp/m/it/10 Filesys-
[] []
Overfull \hbox (2.00093pt too wide) in paragraph at lines 409--410 Overfull \hbox (2.00093pt too wide) in paragraph at lines 407--408
\OT1/jkp/m/n/10 is at []\OT1/jkptt/m/n/10 https://refspecs.linuxfoundation.org/ \OT1/jkp/m/n/10 is at []\OT1/jkptt/m/n/10 https://refspecs.linuxfoundation.org/
FHS[]3.0/fhs-3.0.pdf[]\OT1/jkp/m/n/10 . It FHS[]3.0/fhs-3.0.pdf[]\OT1/jkp/m/n/10 . It
[] []
@ -903,7 +903,7 @@ FHS[]3.0/fhs-3.0.pdf[]\OT1/jkp/m/n/10 . It
[23 [23
] ]
Overfull \hbox (0.93124pt too wide) in paragraph at lines 420--421 Overfull \hbox (0.93124pt too wide) in paragraph at lines 418--419
\OT1/jkp/m/n/10 used on oth-ers. ``Un-share-able'' files are those that are not \OT1/jkp/m/n/10 used on oth-ers. ``Un-share-able'' files are those that are not
share- share-
[] []
@ -911,7 +911,7 @@ Overfull \hbox (0.93124pt too wide) in paragraph at lines 420--421
[24] [25] [26] [27] [28] [24] [25] [26] [27] [28]
Chapter 4. Chapter 4.
Overfull \hbox (6.11798pt too wide) in paragraph at lines 546--547 Overfull \hbox (6.11798pt too wide) in paragraph at lines 544--545
[]\OT1/jkp/m/n/10 My hard-ware is a Brother MFC-J805DW printer/scanner/fax ma-c []\OT1/jkp/m/n/10 My hard-ware is a Brother MFC-J805DW printer/scanner/fax ma-c
hine.[][][] hine.[][][]
[] []
@ -919,7 +919,7 @@ hine.[][][]
[29 [29
] [30] ] [30]
Overfull \hbox (0.48096pt too wide) in paragraph at lines 578--579 Overfull \hbox (0.48096pt too wide) in paragraph at lines 576--577
\OT1/jkp/m/n/10 hap-pens with [][]\OT1/jkptt/m/n/10 pdftk[]\OT1/jkp/m/n/10 . (S \OT1/jkp/m/n/10 hap-pens with [][]\OT1/jkptt/m/n/10 pdftk[]\OT1/jkp/m/n/10 . (S
ee []\OT1/jkptt/m/n/10 www.pdflabs.com/tools/pdftk-the-pdf-tool ee []\OT1/jkptt/m/n/10 www.pdflabs.com/tools/pdftk-the-pdf-tool
[] []
@ -927,7 +927,7 @@ ee []\OT1/jkptt/m/n/10 www.pdflabs.com/tools/pdftk-the-pdf-tool
[31] [32] [31] [32]
Chapter 5. Chapter 5.
Overfull \hbox (1.1366pt too wide) in paragraph at lines 631--632 Overfull \hbox (1.1366pt too wide) in paragraph at lines 629--630
[]\OT1/jkp/m/n/10 Rather, I'm talk-ing about the older mean-ing of the term ``h []\OT1/jkp/m/n/10 Rather, I'm talk-ing about the older mean-ing of the term ``h
acker'' which acker'' which
[] []
@ -939,21 +939,21 @@ Chapter 6.
[36 [36
] ]
Overfull \hbox (8.25641pt too wide) in paragraph at lines 676--677 Overfull \hbox (8.25641pt too wide) in paragraph at lines 674--675
\OT1/jkp/m/n/10 vent that, add [][]\OT1/jkptt/m/n/10 \counterwithout{foootnote} \OT1/jkp/m/n/10 vent that, add [][]\OT1/jkptt/m/n/10 \counterwithout{foootnote}
{chapter} []\OT1/jkp/m/n/10 to the pream- {chapter} []\OT1/jkp/m/n/10 to the pream-
[] []
[37] [38] [39] [37] [38] [39]
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 741. Package atveryend Info: Empty hook `BeforeClearDocument' on input line 739.
[40] [40]
Package atveryend Info: Empty hook `AfterLastShipout' on input line 741. Package atveryend Info: Empty hook `AfterLastShipout' on input line 739.
(build/codex-001.aux) (build/codex-001.aux)
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 741. Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 739.
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 741. Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 739.
Package rerunfilecheck Info: File `codex-001.out' has not changed. Package rerunfilecheck Info: File `codex-001.out' has not changed.
(rerunfilecheck) Checksum: <no file>. (rerunfilecheck) Checksum: <no file>.
Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 741. Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 739.
) )
Here is how much of TeX's memory you used: Here is how much of TeX's memory you used:
8665 strings out of 483140 8665 strings out of 483140
@ -971,7 +971,7 @@ e1/public/kpfonts/jkpbne.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/
kpfonts/jkpmit8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/kpfonts/ kpfonts/jkpmit8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/kpfonts/
jkpmn8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/kpfonts/jkpmne.pf jkpmn8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/kpfonts/jkpmne.pf
b></usr/share/texlive/texmf-dist/fonts/type1/public/kpfonts/jkpttmn8a.pfb> b></usr/share/texlive/texmf-dist/fonts/type1/public/kpfonts/jkpttmn8a.pfb>
Output written on build/codex-001.pdf (40 pages, 188526 bytes). Output written on build/codex-001.pdf (40 pages, 188558 bytes).
PDF statistics: PDF statistics:
566 PDF objects out of 1000 (max. 8388607) 566 PDF objects out of 1000 (max. 8388607)
508 compressed objects within 6 object streams 508 compressed objects within 6 object streams

Binary file not shown.

Binary file not shown.

View File

@ -164,7 +164,7 @@ One thing I'm quite sure about is that in seventh grade a select group of smart
\textbf{Oh look, another diversion.} \textbf{Oh look, another diversion.}
\begin{multicols}{2} \begin{multicols}{2}
``TRS'' actually stands for ``The Radio Shack,'' as in \textit{The Radio Shack 80}. This program had a room full of TRS-80 Model IIIs, with an integrated keyboard, and, if I recall correctly,\footnote{But I probably don't.} two integrated 5.5" floppy disk drives. I loved Radio Shack both because the first computer I was ever allowed to sink my teeth into was a Trash-80 and because for a while there in my youth, it was a tinkerer's paradise. ``TRS'' actually stands for ``The Radio Shack,'' as in \textit{The Radio Shack 80}. This program had a room full of TRS-80 Model IIIs, with an integrated keyboard, and, if I recall correctly,\footnote{But I probably don't.} two integrated 5.25" floppy disk drives. I loved Radio Shack both because the first computer I was ever allowed to sink my teeth into was a Trash-80 and because for a while there in my youth, it was a tinkerer's paradise.
Those of us with fond memories of Radio Shack, and what it used to be, bristle at the memory of how it was terribly mismanaged at the end of its life. But in some weird postmodern way, Radio Shack does live on, just not as you might expect. Those of us with fond memories of Radio Shack, and what it used to be, bristle at the memory of how it was terribly mismanaged at the end of its life. But in some weird postmodern way, Radio Shack does live on, just not as you might expect.
@ -189,7 +189,7 @@ Some of the TRS-80s did have disk drives. But these were 5.25" floppy drives, no
Needless to say, when I found out about hard disk drives, my mind was blown. Needless to say, when I found out about hard disk drives, my mind was blown.
And yes, in the early days, computers did not have a hard disk drive. I am writing this on a fairly ancient Asus laptop with 8GB of RAM and a 3rd generation Intel i5 chip in it. I bought it used, and the minute I got it, I wiped the drive, and installed Ubuntu. That made it speedy, at least a lot faster than it was running Windows. But a while ago I decided to upgrade from Ubuntu 18.04 to Ubuntu 20.04, and I removed the hard drive and replaced it with a two terabyte\footnote{Did I \textit{need} 2 TB? No, I did not. But reader, I got an excellent deal on it.} SSD (solid state drive). This sucker \textit{moves}. And yes, in the early days, computers did not have a hard disk drive. I am writing this on a fairly ancient Asus laptop with 8GB of RAM and a 3rd generation Intel i5 chip in it. I bought it used, and the minute I got it, I wiped the drive and installed Ubuntu. That made it speedy, at least a lot faster than it was running Windows. But a while ago I decided to upgrade from Ubuntu 18.04 to Ubuntu 20.04, and I removed the hard drive and replaced it with a two terabyte\footnote{Did I \textit{need} 2 TB? No, I did not. But reader, I got an excellent deal on it.} SSD (solid state drive). This sucker \textit{moves}.
Twelve year old me's head probably would have exploded. Twelve year old me's head probably would have exploded.
@ -203,7 +203,7 @@ That was partly because there was no textbook and no curriculum. The instructor,
Of course, such things can never last long. Of course, such things can never last long.
I'd hoped to repeat this opportunity in the eighth grade, but it wasn't an option, and I never found out why. I imagine that somebody somewhere decided kids this young didn't need to learn anything about computers, because they were either or fad or the entire thing was just so much ``communist computer clap-trap''. (This was a very small, very conservative town, after all.) I'd hoped to repeat this opportunity in the eighth grade, but it wasn't an option, and I never found out why. I imagine that somebody somewhere decided kids this young didn't need to learn anything about computers, because they were either a fad or the entire thing was just so much ``communist computer clap-trap''. (This was a very small, very conservative town, after all. More about that next time.)
So eighth grade was back to the grindstone of multiplying binomials, memorizing endless (and pointless) historical dates, and dodging bullies in the hallways. Our PE teacher was an ex-marine who began and ended each class with military drills, so the joy of IF THEN GOSUB was replaced with TEN-HUT! LEFT FACE! RIGHT FACE! MARCH! In one short summer, I had come full circle. So eighth grade was back to the grindstone of multiplying binomials, memorizing endless (and pointless) historical dates, and dodging bullies in the hallways. Our PE teacher was an ex-marine who began and ended each class with military drills, so the joy of IF THEN GOSUB was replaced with TEN-HUT! LEFT FACE! RIGHT FACE! MARCH! In one short summer, I had come full circle.
@ -225,9 +225,7 @@ And yeah, you can write code and create applications for Windows, and you can so
For what it's worth, Mac OS X, even though it is based on Unix/Linux (I forget which—I dropped out of the Mac world at OS X version 4), is the same way. There \textit{might} be an answer, and there \textit{might} be a solution, but you just \textit{might} be on your own there, buddy. For what it's worth, Mac OS X, even though it is based on Unix/Linux (I forget which—I dropped out of the Mac world at OS X version 4), is the same way. There \textit{might} be an answer, and there \textit{might} be a solution, but you just \textit{might} be on your own there, buddy.
That's the key when you're working with something that open-source: every problem is an opportunity for you to learn something. You might be able to find a workaround, or a fix, or even realize that you're doing something wrong, and that's why you're having a problem. Who knows? Keep studying and trying things out and you might find an actual bug and be able to contribute a patch that fixes it. That's the key when you're working with something that open-source: every problem is an opportunity for you to learn something. You might be able to find a workaround, or a fix, or even realize that you're doing something wrong, and that's why you're having a problem. Who knows? Keep studying and trying things out and you might find an actual bug and be able to contribute a patch that fixes it. That will never happen when you use Windows or Mac. Never.
That will never happen when you use Windows or Mac. Never.
Linux rewards study in a way that macOS and especially Windows do not, and never will. Linux rewards study in a way that macOS and especially Windows do not, and never will.
@ -249,13 +247,13 @@ I need to get that on a t-shirt.
Why? Because the command line is like real life. There is no undo button in real life. GUIs have made us lazy—lazy at thinking, lazy at figuring things out. Just do it: if you don't like it, just Ctrl-Z. Just throw that document away and leave it in the recycle bin. If you decide you want/need it later, you can just drag it on out of there. Why? Because the command line is like real life. There is no undo button in real life. GUIs have made us lazy—lazy at thinking, lazy at figuring things out. Just do it: if you don't like it, just Ctrl-Z. Just throw that document away and leave it in the recycle bin. If you decide you want/need it later, you can just drag it on out of there.
With a GUI, that ``undo'' button is always an option.\footnote{Except for the rare occasion when it isn't. Those times are fun.} But in real life, you can't \textit{unmake} a mistake. Sure, you can recover from a mistake, but you are going to have to do some scrambling, my friend, and if you are at least halfway intelligent, you will definitely think twice about trying that again, or at least trying it \textit{that way} again. You don't want to jump through all those hoops again, so you think about your end goal and try to develop a better workflow for next time. With a GUI, that ``undo'' button is always an option.\footnote{Except for the rare occasion when it isn't. Those times are fun.} But in real life, you can't \textit{unmake} a mistake. Sure, you can \textit{recover} from a mistake, but you are going to have to do some scrambling, my friend, and if you are at least halfway intelligent, you will definitely think twice about trying that again, or at least trying it \textit{that way} again. You don't want to jump through all those hoops again, so you think about your end goal and try to develop a better workflow for next time.
The command line, in short, makes you think. It makes you plan, it makes you think about the end goal, it makes you remember past failures. The command line makes you think about \textit{outcomes}. The command line, in short, makes you think. It makes you plan, it makes you think about the end goal, it makes you remember past failures. The command line makes you think about \textit{outcomes}.
A GUI only makes you think about the next step. Surely all the steps after that will be obvious, \textit{n'est ce pas}? I've seen a lot of people ask questions online where they just want to be told which button to push. They are asking about how to cross the street when what they really want to do is get across town. They are asking for \textit{information} when what they really need is \textit{knowledge}. A GUI only makes you think about the next step. Surely all the steps after that will be obvious, \textit{n'est ce pas}? I've seen a lot of people ask questions online where they just want to be told which button to push. They are asking about how to cross the street when what they really want to do is get across town. They are asking for \textit{information} when what they really need is \textit{knowledge}.
Sadly, as individuals and as a society, we are drowning in \textit{information} when what we are starving for is \textit{knowledge}. Sadly, as individuals and as a society, we are drowning in \textit{information} when what we are starving for \textit{knowledge}.
\section{The Unix Philosophy} \section{The Unix Philosophy}
@ -303,7 +301,7 @@ I know that someone out there is itching to point out that tomatoes aren't potat
\medskip \medskip
\noindent \textbf{Breadmakers} — I'm going out on a limb here, because a lot of people will be happy to point out that there are sorts of breadmakers will all sorts of settings. Relax. Breadmakers are designed to do one thing: turn flour, water, yeast, and salt into dough, and then turn that dough into bread. All those settings are just options. \noindent \textbf{Breadmakers} — I'm going out on a limb here, because a lot of people will be happy to point out that there are all sorts of breadmakers will all sorts of settings. Relax. Breadmakers are designed to do one thing: turn flour, water, yeast, and salt into dough, and then turn that dough into bread. All those settings are just options.
I've resisted buying a breadmaker for years, because I actually don't want a device in my kitchen that only does one thing, and I've always known how to make bread from scratch. But as I get older, I don't always have the time or patience to make homemade bread (it can be a messy process), and a breadmaker is ideal. It does one thing, and it does it really well. (Hint: bread machine yeast is your friend.) I've resisted buying a breadmaker for years, because I actually don't want a device in my kitchen that only does one thing, and I've always known how to make bread from scratch. But as I get older, I don't always have the time or patience to make homemade bread (it can be a messy process), and a breadmaker is ideal. It does one thing, and it does it really well. (Hint: bread machine yeast is your friend.)
@ -541,7 +539,7 @@ I suppose I should have been an archivist. I am always trying to preserve the wr
And this makes sense. It's easier to share a digital file of something than to share the thing itself, because as my experience with sharing books highlights, you rarely get them back. Also, the further you spread something, the more like it is to be preserved. \textit{Preservation through dissemination.} And this makes sense. It's easier to share a digital file of something than to share the thing itself, because as my experience with sharing books highlights, you rarely get them back. Also, the further you spread something, the more like it is to be preserved. \textit{Preservation through dissemination.}
So I scan a lot of things. Because this can be a messy, complicated process, I've developed workflows around this. (I am big into workflows, because once you have one down, it's easier to anticipate and deal with interruptions or disruptions. Unless you run into a mule.\footnote{If you've read Asimov's \textit{Foundation} series, you'll recognize that reference.} So here is my workflow for scanning things. So I scan a lot of things. Because this can be a messy, complicated process, I've developed workflows around this. (I am big into workflows, because once you have one down, it's easier to anticipate and deal with interruptions or disruptions, unless you run into a mule.\footnote{If you've read Asimov's \textit{Foundation} series, you'll recognize that reference.} So here is my workflow for scanning things.
My hardware is a Brother MFC-J805DW printer/scanner/fax machine.\footnote{One day, we will eventually give up faxing, which is archaic at this point. I don't know if we'll just start calling these machines ``printer/scanners'' or if we'll continue to call them ``multi-function machines'' because they still can make copies. Futurists tend not to care about the details. (In reality, these will all be obsolete in the new digital order, when the oceans have risen and all the paper underwater has decomposed. I'm not a futurist, so I'm interested in the details.)} And this is where we run into problems, because while Brother does make Linux drivers for this machine, the printer driver works great and the scanner driver does not. If I install it, it works fine for three or four scans and then it starts to hang. I can uninstall it, reinstall it, and get a few more good scans out of it before everything goes pear-shaped again. I could live with this if I only did the occasional scan, but I scan on a regular basis. My hardware is a Brother MFC-J805DW printer/scanner/fax machine.\footnote{One day, we will eventually give up faxing, which is archaic at this point. I don't know if we'll just start calling these machines ``printer/scanners'' or if we'll continue to call them ``multi-function machines'' because they still can make copies. Futurists tend not to care about the details. (In reality, these will all be obsolete in the new digital order, when the oceans have risen and all the paper underwater has decomposed. I'm not a futurist, so I'm interested in the details.)} And this is where we run into problems, because while Brother does make Linux drivers for this machine, the printer driver works great and the scanner driver does not. If I install it, it works fine for three or four scans and then it starts to hang. I can uninstall it, reinstall it, and get a few more good scans out of it before everything goes pear-shaped again. I could live with this if I only did the occasional scan, but I scan on a regular basis.
@ -601,7 +599,7 @@ Fortunately, pdftk has a way around this. Take a look at this command:
$ pdftk A=001a.pdf B=001b.pdf shuffle A Bend-1 output 001.pdf $ pdftk A=001a.pdf B=001b.pdf shuffle A Bend-1 output 001.pdf
\end{verbatim} \end{verbatim}
The \verb|Bend-a| means ``input file B, but start at the end, and work backward to page 1''. The \verb|Bend-1| means ``input file B, but start at the end, and work backward to page 1''.
In the end, I end up with a directory full of files based on this pattern: 001a.pdf, 001b.pdf, 001.pdf. Once I've verified that all the shuffled files are correct and complete (if 001a has 12 pages, then 001b should also have 12 pages, and 001 should have 24; if not, something got either missed or repeated), then I can clean house with this command: In the end, I end up with a directory full of files based on this pattern: 001a.pdf, 001b.pdf, 001.pdf. Once I've verified that all the shuffled files are correct and complete (if 001a has 12 pages, then 001b should also have 12 pages, and 001 should have 24; if not, something got either missed or repeated), then I can clean house with this command:
@ -609,7 +607,7 @@ In the end, I end up with a directory full of files based on this pattern: 001a.
$ rm *a.pdf *b.pdf $ rm *a.pdf *b.pdf
\end{verbatim} \end{verbatim}
We now have all our two-sided files (001.pdf, 002.pdf, etc.) and none of the one-side files. Now we can combine these into a single file: We now have all our two-sided files (001.pdf, 002.pdf, etc.) and none of the one-sided files. Now we can combine these into a single file:
\begin{verbatim} \begin{verbatim}
$ pdftk *.pdf cat output book.pdf $ pdftk *.pdf cat output book.pdf
@ -624,7 +622,7 @@ $ rm 0*.pdf
Our revels now have ended. Go forth and scan. Our revels now have ended. Go forth and scan.
\chapter{Is This Really a Hack? Or Is It Just a Tip?} \chapter{Is This Really a Hack? Or Is It Just a Tip?}
The word ``hacker'' has a lot of definitions, and if you google it, you'll find a lot of scary ones on the websites of companies that want you to be scared of hackers and then spend hundreds of dollars on their security products, some of which may actually protect you against actual threats, and some of which may provide protection against a threat which isn't actually real. The word ``hacker'' has a lot of definitions, and if you google it, you'll find a lot of scary ones on the websites of companies that want you to be scared of hackers and then spend hundreds of dollars on their security products, some of which may actually protect you against actual threats, and some of which may provide protection against an imagined threat.
(And yes, there are bad people out there who use their advanced technical knowledge to attain access to systems that they shouldn't have in order to obtain information they're not supposed to have. I'm not talking about those people, who technically should be called ``crackers,'' rather than ``hackers,'' a l\'{a} ``safe crackers''.) (And yes, there are bad people out there who use their advanced technical knowledge to attain access to systems that they shouldn't have in order to obtain information they're not supposed to have. I'm not talking about those people, who technically should be called ``crackers,'' rather than ``hackers,'' a l\'{a} ``safe crackers''.)
@ -653,7 +651,7 @@ So let's look at some things that have been called ``hacks'' but may or may not
\item \textbf{Buy the biggest cutting board you can find} — While this is great advice, it's not a hack. \item \textbf{Buy the biggest cutting board you can find} — While this is great advice, it's not a hack.
\end{enumerate} \end{enumerate}
So, 15 ``cooking hacks'' and only two of them are actual hacks, and one of them is pretty questionable. I'm pretty much calling it a hack because I'm trying to be generous. The thing that strikes me is not so much that these aren't actually hacks, but the difference between a ``tip'' and a ``technique.'' Maybe I'm just tired, but it seems like it's a technique if you use it on a regular basis and a tip if you're in a jam and someone tells you about it. But that's an argument for another day in another zine. So, 15 ``cooking hacks'' and only two of them are actual hacks, and one of them is fairly questionable. I'm pretty much calling it a hack because I'm trying to be generous. The thing that strikes me is not so much that these aren't actually hacks, but the difference between a ``tip'' and a ``technique.'' Maybe I'm just tired, but it seems like it's a technique if you use it on a regular basis and a tip if you're in a jam and someone tells you about it. But that's an argument for another day in another zine.
\chapter{Coda} \chapter{Coda}