Editing 2021.10.10.10:18

This commit is contained in:
Kenneth John Odle 2021-10-10 10:18:19 -04:00
parent 8b19234ddd
commit b7ebd9b3d8
7 changed files with 95 additions and 78 deletions

Binary file not shown.

View File

@ -49,18 +49,18 @@
\@writefile{toc}{\contentsline {section}{\numberline {3.13}sbin}{27}{section.3.13}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {3.13}sbin}{27}{section.3.13}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.14}srv}{27}{section.3.14}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {3.14}srv}{27}{section.3.14}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.15}sys}{27}{section.3.15}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {3.15}sys}{27}{section.3.15}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.16}tmp}{27}{section.3.16}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {3.16}tmp}{28}{section.3.16}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.17}usr}{28}{section.3.17}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {3.17}usr}{28}{section.3.17}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.18}var}{28}{section.3.18}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {3.18}var}{28}{section.3.18}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {4}A Scanner Darkly, but with a workflow}{29}{chapter.4}\protected@file@percent } \@writefile{toc}{\contentsline {chapter}{\numberline {4}A Scanner Darkly, but with a workflow}{29}{chapter.4}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }} \@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Is This Really a Hack? Or Is It Just a Tip?}{32}{chapter.5}\protected@file@percent } \@writefile{toc}{\contentsline {chapter}{\numberline {5}Is This Really a Hack? Or Is It Just a Tip?}{33}{chapter.5}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }} \@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {chapter}{\numberline {6}Coda}{35}{chapter.6}\protected@file@percent } \@writefile{toc}{\contentsline {chapter}{\numberline {6}Coda}{36}{chapter.6}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }} \@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {6.1}What I Learned About \LaTeX {} While Creating This Issue}{35}{section.6.1}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {6.1}What I Learned About \LaTeX {} While Creating This Issue}{36}{section.6.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.2}Why \LaTeX ?}{36}{section.6.2}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {6.2}Why \LaTeX ?}{38}{section.6.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.3}What's Next?}{39}{section.6.3}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {6.3}What's Next?}{40}{section.6.3}\protected@file@percent }

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) 9 OCT 2021 21: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 10:13
entering extended mode entering extended mode
restricted \write18 enabled. restricted \write18 enabled.
%&-line parsing enabled. %&-line parsing enabled.
@ -860,7 +860,7 @@ Chapter 1.
[5 [5
] ]
Overfull \hbox (4.79448pt too wide) in paragraph at lines 127--128 Overfull \hbox (4.79448pt too wide) in paragraph at lines 129--130
\OT1/jkp/m/n/10 be-cause they had a go-back-through-all-your-steps-to-see-where \OT1/jkp/m/n/10 be-cause they had a go-back-through-all-your-steps-to-see-where
-you-done- -you-done-
[] []
@ -869,16 +869,16 @@ Overfull \hbox (4.79448pt too wide) in paragraph at lines 127--128
<images/casio.jpg, id=233, 303.1325pt x 552.0625pt> <images/casio.jpg, id=233, 303.1325pt x 552.0625pt>
File: images/casio.jpg Graphic file (type jpg) File: images/casio.jpg Graphic file (type jpg)
<use images/casio.jpg> <use images/casio.jpg>
Package pdftex.def Info: images/casio.jpg used on input line 134. Package pdftex.def Info: images/casio.jpg used on input line 136.
(pdftex.def) Requested size: 45.46791pt x 82.8058pt. (pdftex.def) Requested size: 45.46791pt x 82.8058pt.
[7 <./images/casio.jpg>] [7 <./images/casio.jpg>]
Package multicol Warning: I moved some lines to the next page. Package multicol Warning: I moved some lines to the next page.
(multicol) Footnotes on page 8 might be wrong on input line 169. (multicol) Footnotes on page 8 might be wrong on input line 171.
[8] [8]
Underfull \hbox (badness 7595) in paragraph at lines 171--172 Underfull \hbox (badness 7595) in paragraph at lines 173--174
\OT1/jkp/m/n/10 1921 by Theodore and Mil-ton \OT1/jkp/m/n/10 1921 by Theodore and Mil-ton
[] []
@ -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 395--396 Overfull \hbox (1.03648pt too wide) in paragraph at lines 397--398
[]\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 395--396 Overfull \hbox (2.00093pt too wide) in paragraph at lines 397--398
\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 406--407 Overfull \hbox (0.93124pt too wide) in paragraph at lines 408--409
\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 406--407
[24] [25] [26] [27] [28] [24] [25] [26] [27] [28]
Chapter 4. Chapter 4.
Overfull \hbox (6.11798pt too wide) in paragraph at lines 532--533 Overfull \hbox (6.11798pt too wide) in paragraph at lines 534--535
[]\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,50 +919,50 @@ hine.[][][]
[29 [29
] [30] ] [30]
Overfull \hbox (2.28105pt too wide) in paragraph at lines 564--565 Overfull \hbox (0.48096pt too wide) in paragraph at lines 566--567
\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 []www.pdflabs.com/tools/pdftk-the-pdf-toolkit/[].) ee []\OT1/jkptt/m/n/10 www.pdflabs.com/tools/pdftk-the-pdf-tool
[] []
[31] [31] [32]
Chapter 5. Chapter 5.
Overfull \hbox (1.1366pt too wide) in paragraph at lines 604--605 Overfull \hbox (1.1366pt too wide) in paragraph at lines 619--620
[]\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
[] []
[32 [33
] [33] [34] ] [34] [35]
Chapter 6. Chapter 6.
[35 [36
] ]
Overfull \hbox (8.25641pt too wide) in paragraph at lines 649--650 Overfull \hbox (8.25641pt too wide) in paragraph at lines 664--665
\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-
[] []
[36] [37] [38] [37] [38] [39]
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 712. Package atveryend Info: Empty hook `BeforeClearDocument' on input line 729.
[39] [40]
Package atveryend Info: Empty hook `AfterLastShipout' on input line 712. Package atveryend Info: Empty hook `AfterLastShipout' on input line 729.
(build/codex-001.aux) (build/codex-001.aux)
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 712. Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 729.
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 712. Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 729.
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 712. Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 729.
) )
Here is how much of TeX's memory you used: Here is how much of TeX's memory you used:
8661 strings out of 483140 8665 strings out of 483140
121910 string characters out of 5965152 121949 string characters out of 5965152
380616 words of memory out of 5000000 380599 words of memory out of 5000000
23316 multiletter control sequences out of 15000+600000 23317 multiletter control sequences out of 15000+600000
592103 words of font info for 159 fonts, out of 8000000 for 9000 592901 words of font info for 162 fonts, out of 8000000 for 9000
36 hyphenation exceptions out of 8191 36 hyphenation exceptions out of 8191
34i,11n,45p,1137b,441s stack positions out of 5000i,500n,10000p,200000b,80000s 34i,11n,45p,1153b,441s stack positions out of 5000i,500n,10000p,200000b,80000s
{/usr/share/texlive/texmf-dist/fonts/enc/dvips/kpfonts/kpfonts-expert.enc}{/u {/usr/share/texlive/texmf-dist/fonts/enc/dvips/kpfonts/kpfonts-expert.enc}{/u
sr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texlive/tex sr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texlive/tex
mf-dist/fonts/type1/public/kpfonts/jkpbit8a.pfb></usr/share/texlive/texmf-dist/ mf-dist/fonts/type1/public/kpfonts/jkpbit8a.pfb></usr/share/texlive/texmf-dist/
@ -971,10 +971,10 @@ 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 (39 pages, 185564 bytes). Output written on build/codex-001.pdf (40 pages, 187553 bytes).
PDF statistics: PDF statistics:
561 PDF objects out of 1000 (max. 8388607) 566 PDF objects out of 1000 (max. 8388607)
504 compressed objects within 6 object streams 508 compressed objects within 6 object streams
158 named destinations out of 1000 (max. 500000) 159 named destinations out of 1000 (max. 500000)
299 words of extra memory for PDF output out of 10000 (max. 10000000) 299 words of extra memory for PDF output out of 10000 (max. 10000000)

Binary file not shown.

Binary file not shown.

View File

@ -25,12 +25,12 @@
\contentsline {section}{\numberline {3.13}sbin}{27}{section.3.13}% \contentsline {section}{\numberline {3.13}sbin}{27}{section.3.13}%
\contentsline {section}{\numberline {3.14}srv}{27}{section.3.14}% \contentsline {section}{\numberline {3.14}srv}{27}{section.3.14}%
\contentsline {section}{\numberline {3.15}sys}{27}{section.3.15}% \contentsline {section}{\numberline {3.15}sys}{27}{section.3.15}%
\contentsline {section}{\numberline {3.16}tmp}{27}{section.3.16}% \contentsline {section}{\numberline {3.16}tmp}{28}{section.3.16}%
\contentsline {section}{\numberline {3.17}usr}{28}{section.3.17}% \contentsline {section}{\numberline {3.17}usr}{28}{section.3.17}%
\contentsline {section}{\numberline {3.18}var}{28}{section.3.18}% \contentsline {section}{\numberline {3.18}var}{28}{section.3.18}%
\contentsline {chapter}{\numberline {4}A Scanner Darkly, but with a workflow}{29}{chapter.4}% \contentsline {chapter}{\numberline {4}A Scanner Darkly, but with a workflow}{29}{chapter.4}%
\contentsline {chapter}{\numberline {5}Is This Really a Hack? Or Is It Just a Tip?}{32}{chapter.5}% \contentsline {chapter}{\numberline {5}Is This Really a Hack? Or Is It Just a Tip?}{33}{chapter.5}%
\contentsline {chapter}{\numberline {6}Coda}{35}{chapter.6}% \contentsline {chapter}{\numberline {6}Coda}{36}{chapter.6}%
\contentsline {section}{\numberline {6.1}What I Learned About \LaTeX {} While Creating This Issue}{35}{section.6.1}% \contentsline {section}{\numberline {6.1}What I Learned About \LaTeX {} While Creating This Issue}{36}{section.6.1}%
\contentsline {section}{\numberline {6.2}Why \LaTeX ?}{36}{section.6.2}% \contentsline {section}{\numberline {6.2}Why \LaTeX ?}{38}{section.6.2}%
\contentsline {section}{\numberline {6.3}What's Next?}{39}{section.6.3}% \contentsline {section}{\numberline {6.3}What's Next?}{40}{section.6.3}%

View File

@ -69,7 +69,7 @@
Typeset in \LaTeX{} \\ Typeset in \LaTeX{} \\
Issue \#001} Issue \#001}
} }
\date{\begin{small}Published on 2021.10.05 \\ First Printing\end{small}} \date{\begin{small}Published on 2021.10.10\end{small}}
\begin{document} \begin{document}
\maketitle \maketitle
@ -78,7 +78,7 @@ All contents \copyright2021 Kenneth John Odle
Although this is now in your hands, and it's also on the web, so if you really wanted to steal this, I've made it pretty darn easy. I can't imagine why anyone would want to, though. You don't need to, however, since this is licenced under a CC BY-NA-SA 4.0 Creative Commons license. More information is at \href{https://creativecommons.org/licenses/by-nc-sa/4.0/}{https://creativecommons.org/licenses/by-nc-sa/4.0/}. \includegraphics[scale=0.35]{ncsa4-0} Although this is now in your hands, and it's also on the web, so if you really wanted to steal this, I've made it pretty darn easy. I can't imagine why anyone would want to, though. You don't need to, however, since this is licenced under a CC BY-NA-SA 4.0 Creative Commons license. More information is at \href{https://creativecommons.org/licenses/by-nc-sa/4.0/}{https://creativecommons.org/licenses/by-nc-sa/4.0/}. \includegraphics[scale=0.35]{ncsa4-0}
FYI, this is made in \LaTeX \,using the report document class. It then gets exported to a letterhalf (5.5 in x 8.5 in) pdf, which then gets made into a booklet using Boomaga (\href{https://www.boomaga.org/}{\texttt{https://www.boomaga.org/}}). FYI, this is made in \LaTeX \,using the \texttt{report} document class. It then gets exported to a letterhalf (5.5 in x 8.5 in) pdf, which then gets made into a booklet using Boomaga (\href{https://www.boomaga.org/}{\texttt{https://www.boomaga.org/}}).
I'm pushing this to my own git server as I write this. You can find it \href{https://git.kjodle.net/kjodle/the-codex}{here}: \texttt{https://git.kjodle.net/kjodle/the-codex}. New issues will be pushed after they are complete. I'm pushing this to my own git server as I write this. You can find it \href{https://git.kjodle.net/kjodle/the-codex}{here}: \texttt{https://git.kjodle.net/kjodle/the-codex}. New issues will be pushed after they are complete.
@ -95,7 +95,7 @@ The image on the back cover is one that I highly agree with. We built it, it's o
(If you're reading this zine online in pdf form you won't see this cover, because it's not in this repo. You can check the \verb|.gitignore| file. If you \textit{really} want to see it, you'll need to buy a paper copy, which means we kill a tree and I get validation and a few bucks, and you get a picture of Linus Torvalds that you can see online for free anyway, if you are motivated enough. Weird, huh?) (If you're reading this zine online in pdf form you won't see this cover, because it's not in this repo. You can check the \verb|.gitignore| file. If you \textit{really} want to see it, you'll need to buy a paper copy, which means we kill a tree and I get validation and a few bucks, and you get a picture of Linus Torvalds that you can see online for free anyway, if you are motivated enough. Weird, huh?)
You can just skip over all the diversions in you want. It's just how my mind works. (And yes, there will be politics in this. \textit{You have been warned.}) Also, I use a lot of em-dashes, parentheses, and footnotes because that is also how my mind works. It's just one big long stream of consciousness up in here most days. You can just skip over all the diversions in here if you want. It's just how my mind works. (And yes, there will be politics in this. \textit{You have been warned.}) Also, I use a lot of em-dashes, parentheses, and footnotes because that is also how my mind works. It's just one big long stream of consciousness up in here most days.
\tableofcontents \tableofcontents
@ -116,6 +116,8 @@ I mean, \textit{sure} you can get your kid that Casio, which has all the same fe
A little off track here, but this begs two questions: 1) Why is it always a TI calculator that's required, and 2) Are we teaching kids to learn math or to learn how to operate a calculator? The answer to the first question is that Texas Instruments and the Major Textbook Publishers\texttrademark{} have colluded to produce expensive books that need to be replaced every two to three years [thereby costing the school district money] and that require expensive calculators\footnote{A few years ago, I bought a scientific calculator at the \textbf{dollar store} and tested it against my very expensive TI-92. It was just as accurate as the more expensive calculator, and cheaper by two orders of magnitude. Did I mention that this is a racket? I really should do a YouTube video or blog post about this.} [thereby costing you as a parent money]. It's a racket, but that's capitalism for you. A little off track here, but this begs two questions: 1) Why is it always a TI calculator that's required, and 2) Are we teaching kids to learn math or to learn how to operate a calculator? The answer to the first question is that Texas Instruments and the Major Textbook Publishers\texttrademark{} have colluded to produce expensive books that need to be replaced every two to three years [thereby costing the school district money] and that require expensive calculators\footnote{A few years ago, I bought a scientific calculator at the \textbf{dollar store} and tested it against my very expensive TI-92. It was just as accurate as the more expensive calculator, and cheaper by two orders of magnitude. Did I mention that this is a racket? I really should do a YouTube video or blog post about this.} [thereby costing you as a parent money]. It's a racket, but that's capitalism for you.
The answer to the second question is that we are teaching kids how to use calculators. Teaching them how to do actual math would require thought on both the parts of the teachers\footnote{To be fair, a lot of teachers would like to teach kids how to do actual math. But they also need to eat and when it comes down to the difference between doing what is right and doing what pays the bills, they will do the latter. It's not their fault, really; it's just that the system does not like anybody who sticks out. Keep your head down and the worksheets graded—that's what the system rewards.} and the parts of the students, not to mention on the parts of parents and especially of administrators, who would also be required to grow a spine—and learn how to use it. Again, education in the United States has become a racket, but that's capitalism for you. The answer to the second question is that we are teaching kids how to use calculators. Teaching them how to do actual math would require thought on both the parts of the teachers\footnote{To be fair, a lot of teachers would like to teach kids how to do actual math. But they also need to eat and when it comes down to the difference between doing what is right and doing what pays the bills, they will do the latter. It's not their fault, really; it's just that the system does not like anybody who sticks out. Keep your head down and the worksheets graded—that's what the system rewards.} and the parts of the students, not to mention on the parts of parents and especially of administrators, who would also be required to grow a spine—and learn how to use it. Again, education in the United States has become a racket, but that's capitalism for you.
Alas.
\end{multicols} \end{multicols}
\hrulefill \hrulefill
@ -164,7 +166,7 @@ One thing I'm quite sure about is that in seventh grade a select group of smart
\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.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.
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, but 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.
A brief history shall ensue: A brief history shall ensue:
@ -193,17 +195,17 @@ Twelve year old me's head probably would have exploded.
What I loved the most about working on those old TRS-80s was the sense of control that I had, at a level I had never experienced before. When you're a kid, there's a lot that is beyond your control. When you're a poor kid of color in a one-stoplight town, there even more that you can't control. You lack a lot of the agency that better-off, less brown kids have. What I loved the most about working on those old TRS-80s was the sense of control that I had, at a level I had never experienced before. When you're a kid, there's a lot that is beyond your control. When you're a poor kid of color in a one-stoplight town, there even more that you can't control. You lack a lot of the agency that better-off, less brown kids have.
But for three hours every week, I could be in control. All of our programs were written in BASIC (TRS-BASIC, if I recall correctly) and if something didn't work, it was up to me to figure out what was wrong with it. There was nothing wrong with the computer, of course. It only did what I told it to do, and when I told it to do something that made no sense or that it couldn't understand it simply threw up its hands and gave me an error message. \footnote{This mindset is a good one to have, and has saved me hundreds of hours of troubleshooting things. Rather than assume the computer is in the wrong, I generally assume that I've told it the wrong thing. What was the last thing I told it? Ah, \textit{there's} the problem. As someone who has helped numerous people with their computer problems, I can assure you that 95\% of all computer problems are either PEBKAC (Problem Exists Between Keyboard And Chair) or PICNIC (Problem In Chair, Not In Computer). Of the remaining problems, 4\% are ID-10-T errors, and the last 1\% is an actual computer problem, which is usually solved just by rebooting.} But for three hours every week, I could be in control. All of our programs were written in BASIC (TRS-BASIC, if I recall correctly) and if something didn't work, it was up to me to figure out what was wrong with it. There was nothing wrong with the computer, of course. It only did what I told it to do, and when I told it to do something that made no sense or that it couldn't understand it simply threw up its hands and gave me an error message. \footnote{This mindset is a good one to have, and has saved me hundreds of hours of troubleshooting things. Rather than assuming the computer is in the wrong, I generally assume that I've told it the wrong thing. What was the last thing I told it? Ah, \textit{there's} the problem. As someone who has helped numerous people with their computer problems, I can assure you that 95\% of all computer problems are either PEBKAC (Problem Exists Between Keyboard And Chair) or PICNIC (Problem In Chair, Not In Computer). Of the remaining problems, 4\% are 1D-10-T errors, and the last 1\% is an actual computer problem, which is usually solved just by rebooting. Such is life.}
Frustrating? Yes, it \textit{was} frustrating, until I realized that every mistake I made was also an opportunity to get better at writing code. It was an astounding amount of freedom. Frustrating? Yes, it \textit{was} frustrating, until I realized that every mistake I made was also an opportunity to get better at writing code. It was an astounding amount of freedom.
That was partly because there was no textbook and no curriculum. The instructor, Fred, was always available to help, to guide, to encourage, and to answer questions, but he mainly left us to our own devices and never told which direction to go in. He left it completely up to us. He was the ultimate travel guide: pick a destination, and he would show you on the map where it was and how much water was in your way. If you needed to know how to use a kayak, he was happy to help, and he didn't care if we got carried away on a side-quest and never got to our original goal. It was a completely open learning environment and it was utterly \textit{amazing}. That was partly because there was no textbook and no curriculum. The instructor, Fred, was always available to help, to guide, to encourage, and to answer questions, but he mainly left us to our own devices and never told which direction to go in. He left it completely up to us. He was the ultimate travel guide: pick a destination, and he would show you on the map where it was and how much water was in your way. If you needed to know how to use a kayak, he was happy to help, and he didn't care if you got carried away on a side-quest and never got to your original goal. It was a completely open learning environment and it was utterly \textit{amazing}.
Of course, such things can never last long. Of course, such things can never last long.
I'd hope 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 it was either or fad or it 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 or fad or the entire thing was just so much ``communist computer clap-trap''. (This was a very small, very conservative town, after all.)
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 year, 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.
I wouldn't get my hands on an actual computer again until eleventh grade. But that's another story. I wouldn't get my hands on an actual computer again until eleventh grade. But that's another story.
@ -227,7 +229,7 @@ That's the key when you're working with something that open-source: every proble
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 macOSK and especially Windows do not. Linux rewards study in a way that macOS and especially Windows do not, and never will.
\section{Knowledge is Power} \section{Knowledge is Power}
@ -251,9 +253,9 @@ With a GUI, that ``undo'' button is always an option.\footnote{Except for the ra
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. 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}.
They are asking for \textit{information} when what they really need is \textit{knowledge}. Sadly, we are drowning in \textit{information} when what we are starving for is \textit{knowledge}, both as a society and as a species. Sadly, as individuals and as a society, we are drowning in \textit{information} when what we are starving for is \textit{knowledge}.
\section{The Unix Philosophy} \section{The Unix Philosophy}
@ -263,13 +265,13 @@ This runs counter to physical life, where everything has to be a Swiss army watc
Unfortunately, it seems that it's impossible to build a device that will do a large number of things really, really well. I like to cook and so my parents inevitably give me a cooking-related gift every Christmas and every birthday. One year, I received a mandoline-type device—if you've spent any time watching the Home Shopping Network\footnote{Which is now called ``HSN''. Apparently, we are too busy to pronounce those two extra syllables. Modern life may be difficult, but I don't think the energy I save from not pronouncing those two syllables is going to give me enough energy to overcome it.} I'm sure you've seen them. It's basically a plastic tray with different cutting inserts, a handle to hang on to the food item, and a box that snaps on to the bottom to hold whatever you are slicing. Unfortunately, it seems that it's impossible to build a device that will do a large number of things really, really well. I like to cook and so my parents inevitably give me a cooking-related gift every Christmas and every birthday. One year, I received a mandoline-type device—if you've spent any time watching the Home Shopping Network\footnote{Which is now called ``HSN''. Apparently, we are too busy to pronounce those two extra syllables. Modern life may be difficult, but I don't think the energy I save from not pronouncing those two syllables is going to give me enough energy to overcome it.} I'm sure you've seen them. It's basically a plastic tray with different cutting inserts, a handle to hang on to the food item, and a box that snaps on to the bottom to hold whatever you are slicing.
I absolutely \textit{love} this thing for slicing potatoes, and since I spend each autumn and winter making scalloped potatoes or au gratin potatoes, it sees a lot of use during those months when the days are short. It does a fantastic job slicing potatoes into a uniform thickness and does it far more quickly than I can do it with a knife. I absolutely \textit{love} this thing for slicing potatoes, and since I spend each autumn and winter making scalloped potatoes or au gratin potatoes, it sees a lot of use during those months when the days are short. It does a fantastic job of slicing potatoes into a uniform thickness and it does it far more quickly than I can do it with a knife.
It also includes inserts to make waffle slices (if you rotate the potato 90 degrees on each pass, you're supposed to be able to make waffle fries), inserts for dicing onions, and so forth. But here's the thing: as great as it is at slicing potatoes (and also carrots, which have the same general hardness as potatoes), it does a terrible job at slicing anything else. Basically, the thin and the thick slicing inserts work well for potatoes and carrots, and all the other inserts don't work at all for them, and any other vegetable just doesn't get cut or gets crushed because you have to hold onto it so firmly. It also includes inserts to make waffle slices (if you rotate the potato 90 degrees on each pass, you're supposed to be able to make waffle fries), inserts for dicing onions, and so forth. But here's the thing: as great as it is at slicing potatoes (and also carrots, which have the same general hardness as potatoes), it does a terrible job at slicing anything else. Basically, the thin and the thick slicing inserts work well for potatoes and carrots, and all the other inserts don't work at all for them, and any other vegetable just doesn't get cut or gets crushed because you have to hold onto it so firmly.
I don't know how much my parents spent on this thing, but if it's anything north of \$20, that's a lot of money for something I can already do fairly easily (and actually enjoy doing) with a sharp knife. Don't get me wrong—I love the thing (even though it's a bit of a pain to clean), but if we had spent at least as much time and money engineering the thing as we did marketing it, we might have concluded that it would probably be better to just encourage people to buy decent knives and then teach them how to sharpen them and use them properly. I don't know how much my parents spent on this thing, but if it's anything north of \$20, that's a lot of money for something I can already do fairly easily (and actually enjoy doing) with a sharp knife. Don't get me wrong—I love the thing (even though it's a bit of a pain to clean), but if we had spent at least as much time and money engineering the thing as we did marketing it, we might have concluded that it would probably be better to just encourage people to buy decent knives and then teach them how to sharpen them and use them properly.
(Also, I'm not picking on the Home Shopping Network\footnote{Okay, ``HSN''.} because everybody does this. Monty Python, all those years ago, even had a skit about this, which you can find if you google ``simpsons individual stringettes''. Of course Monty Python was making fun of this tendency and 50 years later we just accept it as a part of life.) (Also, I'm not picking on the Home Shopping Network\footnote{Okay, ``HSN''.} because every company does this. Monty Python, all those years ago, even had a skit about this, which you can find if you google ``simpsons individual stringettes''. Of course Monty Python was making fun of this tendency and 50 years later we just accept it as a part of life.)
\subsection{Where does the Unix Principle actually apply in real life?} \subsection{Where does the Unix Principle actually apply in real life?}
@ -297,7 +299,7 @@ Sure, there are always those oddball tasks that you have to do once a year or le
\item \textbf{Cutting cheese} — I have a knife with a 4" blade with holes in it. The idea is that holes prevent the cheese slices from sticking to the cheese. I had an expensive (\$15!) cheese knife that did an okay job; it also had a two-prong fork on the end to pick up the slice of cheese with. My current one has a shorter, thicker blade that does an excellent job. I paid \$4 for it at Menard's. It simply outperformed the more expensive knife. Sometimes less \textit{is} actually more. \item \textbf{Cutting cheese} — I have a knife with a 4" blade with holes in it. The idea is that holes prevent the cheese slices from sticking to the cheese. I had an expensive (\$15!) cheese knife that did an okay job; it also had a two-prong fork on the end to pick up the slice of cheese with. My current one has a shorter, thicker blade that does an excellent job. I paid \$4 for it at Menard's. It simply outperformed the more expensive knife. Sometimes less \textit{is} actually more.
\end{itemize} \end{itemize}
I know that someone out there is itching to point out that tomatoes aren't potatoes and potatoes aren't carrots, \textit{ad infinitum}, and thus the Unix Principle doesn't apply. Well, there are a lot of different pdfs out there, as well, and if I'm skilled with a command line application (such as \verb|pdftk|) it doesn't really matter which pdf I'm dealing with. The job of a knife is to cut. If you keep the knife sharp\footnote{Sharpening a knife is a skill in and of itself. If you watch someone that's good at it, you'll realize that it's also an art form. You can get the skill with practice; you can learn the art with long experience. That is really the only way to learn this; there are no shortcuts.} and \textit{learn how to use it properly}, you'll be a lot more efficient in the kitchen. Notice the emphasis on learning how to use a tool properly. You can learn a lot just by reading the manual. (Go to your terminal and type in \verb|man knife|.) I know that someone out there is itching to point out that tomatoes aren't potatoes and potatoes aren't carrots, \textit{ad infinitum}, and thus the Unix Principle doesn't apply. Well, there are a lot of different pdfs out there, as well, and if I'm skilled with a command line application (such as \verb|pdftk|) it doesn't really matter which pdf I'm dealing with. The job of a knife is to cut. If you keep the knife sharp\footnote{Sharpening a knife is a skill in and of itself. If you watch someone that's good at it, you'll realize that it's also an art form. You can get the skill with a bit of practice; you can learn the art only with long experience. That is really the only way to learn this; there are no shortcuts.} and \textit{learn how to use it properly}, you'll be a lot more efficient in the kitchen. Notice the emphasis on learning how to use a tool properly. You can learn a lot just by reading the manual. (Go to your terminal and type in \verb|man knife|.)
\medskip \medskip
@ -325,14 +327,14 @@ That is really the only purpose that a car has: to get you from point A to point
My first car was a 1980 Ford Escort with two doors, a hatchback, an AM radio,\footnote{Although the old couple who had owned it installed some excellent speakers and an FM converter, which was a thing back in the day.} and a four-speed manual transmission. It got me where I was going and back again, and it did it in a very economical manner. There was never anything on the AM radio, and FM reception was spotty, so the only entertainment I had was what was out the window, whatever discussion I had with passengers, and my own mind. I would often take long rides in the country on the weekend in it, and since it did not have any reliable way to entertain me, I actually had to \textit{notice} my surroundings. This was the pre-digital age, so there was no mobile phone in my pocket to stop and take pictures with.\footnote{Or the ultimate monument to vanity, the selfie.} If I wanted pictures, I had to plan ahead and buy film for my 35mm camera. My first car was a 1980 Ford Escort with two doors, a hatchback, an AM radio,\footnote{Although the old couple who had owned it installed some excellent speakers and an FM converter, which was a thing back in the day.} and a four-speed manual transmission. It got me where I was going and back again, and it did it in a very economical manner. There was never anything on the AM radio, and FM reception was spotty, so the only entertainment I had was what was out the window, whatever discussion I had with passengers, and my own mind. I would often take long rides in the country on the weekend in it, and since it did not have any reliable way to entertain me, I actually had to \textit{notice} my surroundings. This was the pre-digital age, so there was no mobile phone in my pocket to stop and take pictures with.\footnote{Or the ultimate monument to vanity, the selfie.} If I wanted pictures, I had to plan ahead and buy film for my 35mm camera.
Out of all the cars I've ever owned, that is the one with the second fondest memories.\footnote{I could talk about my Chevrolet Corsica, which was the car I had the most happy (i.e., quantity), and the happiest (i.e., quality) memories, but that's for another zine.} Out of all the cars I've ever owned, that is the one with the second fondest memories.\footnote{I could talk about my Chevrolet Corsica, which was the car I owned with the most happy (i.e., quantity), and the happiest (i.e., quality) memories, but that's for another zine.}
Nowadays, the purpose of a car is to get you from point A to point B and not allow you to become bored for even a millisecond. Heaven forbid you should get bored on your morning commute. I don't remember ever becoming bored while driving that old car, even though I'm sure I did. But I had a brain that was trained to entertain itself, so such moments were rare and short-lived enough that I don't recall them ever occurring. Nowadays, the purpose of a car is to get you from point A to point B and not allow you to become bored for even a millisecond. Heaven forbid you should get bored on your morning commute. I don't remember ever becoming bored while driving that old car, even though I'm sure I did. But I had a brain that was trained to entertain itself, so such moments were rare and short-lived enough that I don't recall them ever occurring.
Modern cars include satellite radio, seat warmers, DVD players, bluetooth connectivity (we used to settle for 8-track and cassette features long ago, then switched it up to cd players, but now everybody is just streaming their music), GPS navigation,\footnotemark and a bunch of other stuff that has nothing at all to do with getting us where we are going and everything to do with preventing us from getting bored. Modern cars include satellite radio, seat warmers, DVD players, bluetooth connectivity (we used to settle for 8-track and cassette features long ago, then switched it up to cd players, but now everybody is just streaming their music), GPS navigation,\footnotemark and a bunch of other stuff that has nothing at all to do with getting us where we are going and everything to do with preventing us from getting bored.
\footnotetext{I have to admit that this is useful, and in the age of climate change, I'm all for anything that reduces the number of wrong turns you can make. But I find it easier to go online and plan this out \textit{before} I get behind the wheel of my car. It's probably safer, too.} \footnotetext{I have to admit that this is useful, and in the age of climate change, I'm all for anything that reduces the number of wrong turns you can make. But I find it easier to go online and plan this out \textit{before} I get behind the wheel of my car. It's probably safer, too.}
Perhaps the best example (or most egregious example, depending on your viewpoint) of this new philosophy was a commercial a few years back for a \sout{suburban assault vehicle} SUV (sport utility vehicle) which featured a young family driving through what appeared to be a wilderness area of the southwest United States. The landscape was simply stunning, and of course, the kids were in the back, watching a movie on a dvd player. I don't recall what the parents in the front seat were doing, but all I can remember is that they were driving through some of the most beautiful landscape this small planet has to offer, and rather than observing that and being amazed by it, the kids are in their own world in the back seat watching a movie they could watch anywhere, and the parents are in their own world in the front seat, flipping through the channels on satellite radio. They could actually make this a wonderful family experience, but no. Why should they inconvenience themselves? Perhaps the best example (or most egregious example, depending on your viewpoint) of this new philosophy was a commercial a few years back for a \sout{SAV (suburban assault vehicle)} SUV (sport utility vehicle) which featured a young family driving through what appeared to be a wilderness area of the southwest United States. The landscape was simply stunning, and of course, the kids were in the back, watching a movie on a dvd player. I don't recall what the parents in the front seat were doing, but all I can remember is that they were driving through some of the most beautiful landscape this small planet has to offer, and rather than observing that and being amazed by it, the kids are in their own world in the back seat watching a movie they could watch anywhere, and the parents are in their own world in the front seat, flipping through the channels on satellite radio. They could actually make this a wonderful family experience, but no. Why should they inconvenience themselves?
And I know, someone will point out that long car trips are hard on kids, that they don't always find the landscape as beautiful as the adults do. This is all true. But that's no reason to abandon your parental duties. If you can pack a bunch of dvds, you can also encourage your kids to pack up some things of their own choice that they can use to keep themselves entertained. Just because your vehicle enables you to evade your duties as a parent doesn't mean that you should evade your duties as a parent. And I know, someone will point out that long car trips are hard on kids, that they don't always find the landscape as beautiful as the adults do. This is all true. But that's no reason to abandon your parental duties. If you can pack a bunch of dvds, you can also encourage your kids to pack up some things of their own choice that they can use to keep themselves entertained. Just because your vehicle enables you to evade your duties as a parent doesn't mean that you should evade your duties as a parent.
@ -342,7 +344,7 @@ There is a part of this equation that makes no sense and could—and definitely
\medskip \medskip
\noindent \textbf{Microwave ovens} — Microwave ovens have a lot of buttons because people apparently like to press buttons. (Actually, people like the illusion of choice. Only some of us like to feel like we are piloting the starship \textit{Enterprise}.) But really, most people only use microwave ovens to do two things: \noindent \textbf{Microwave ovens} — Microwave ovens have a lot of buttons because people apparently like to press buttons. (Actually, people like the illusion of choice. Only some of us like to feel like we are piloting the starship \textit{Enterprise}.) But really, most people only use the microwave to do two things:
\begin{enumerate} \begin{enumerate}
\itemsep-0.20em \itemsep-0.20em
@ -389,7 +391,7 @@ These are violations of the Unix Principle that actually work well and that I ca
\chapter{What Are All Those Folders in the Linux Root?} \chapter{What Are All Those Folders in the Linux Root?}
If you're using a Linux distro with a GUI (Ubuntu, Puppy OS, Mint, etc.) you land right in your Home folder whenever you click on ``Files''. But if you've ever gone all the way into the root of your computer (the Windows equivalent would be \verb|C:\|) you'll see a lot of folders\footnote{Technically, these are \textit{directories}, but let's not be pedantic. In a GUI, the icon usually looks like a folder.} there with mysterious three-letter names. Let's take a look at the them and what they contain. If you're using a Linux distro with a GUI (Ubuntu, Puppy OS, Mint, etc.) you land right in your Home folder whenever you click on ``Files.'' But if you've ever gone all the way into the root of your computer (the Windows equivalent would be \verb|C:\|) you'll see a lot of folders\footnote{Technically, these are \textit{directories}, but let's not be pedantic. In a GUI, the icon usually looks like a folder.} there with mysterious three-letter names. Let's take a look at the them and what they contain.
(For more information about this, consult the Linux Foundation \textit{Filesystem Hierarchy Standard}, which is found at \href{https://refspecs.linuxfoundation.org/}{\texttt{https://refspecs.linuxfound\\ation.org/}}. You're probably going to want the pdf version of this, which is at \href{https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf}{\texttt{https://refspecs.linuxfoundation.org/FHS\_3.0/fhs-3.0.pdf}}. It really is amazing how much you can learn just by reading the specs and manuals. Scotty was right.) (For more information about this, consult the Linux Foundation \textit{Filesystem Hierarchy Standard}, which is found at \href{https://refspecs.linuxfoundation.org/}{\texttt{https://refspecs.linuxfound\\ation.org/}}. You're probably going to want the pdf version of this, which is at \href{https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf}{\texttt{https://refspecs.linuxfoundation.org/FHS\_3.0/fhs-3.0.pdf}}. It really is amazing how much you can learn just by reading the specs and manuals. Scotty was right.)
@ -499,7 +501,7 @@ Add-on application software packages. When some applications are installed direc
A virtual filesystem providing process and kernel information as files. In general, the system automatically generates and populates these files. A virtual filesystem providing process and kernel information as files. In general, the system automatically generates and populates these files.
\section{root} \section{root}
The home directory for the root user. The home directory for the root user. I'm not entirely sure what this means. On my computer (Ubuntu 20.04) it's an empty directory, owned by root/root, but even root doesn't have access rights to it. This requires more investigation.
\section{run} \section{run}
Run-time variable data. That is, information about the running system since the last boot, such as currently logged-in users and running daemons. Run-time variable data. That is, information about the running system since the last boot, such as currently logged-in users and running daemons.
@ -531,7 +533,7 @@ So I scan a lot of things. Because this can be a messy, complicated process, I'v
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.
Alas, this is the one case where I have had to rely upon commercial software: VueScan. The company which produces it, Hamrick Software, creates their own drivers, updates it often, and responds to issues incredibly quickly. It costs me \$100 a year, but this is money that I am happy to pay. (And if there were an open-source version of this software, I would be happy to pay that \$100 to it, as well.)\footnote{It also has an auto-deskew function, which is handy when the paper I am scanning is narrower than the minimum width my document feeder can handle.} Alas, this is the one case where I have had to rely upon commercial software: VueScan. The company which produces it, Hamrick Software, creates their own drivers, updates it often, and responds to issues incredibly quickly. It costs me \$100 a year, but this is money that I am happy to pay. (And if there were an open-source version of this software, I would be happy to pay that \$100 to it, as well.\footnote{It also has an auto-deskew function, which is handy when the paper I am scanning is narrower than the minimum width my document feeder can handle.})
My Brother scanner does \textit{not} have a duplex scanner. Since books are printed on both sides of a sheet of paper, this presents a problem. But before we dig into things, let's get some terminology out of the way. My Brother scanner does \textit{not} have a duplex scanner. Since books are printed on both sides of a sheet of paper, this presents a problem. But before we dig into things, let's get some terminology out of the way.
@ -543,7 +545,7 @@ My basic workflow works like this:
\itemsep-0.30em \itemsep-0.30em
\item Separate the document to be scanned into groups of ten sheets. \item Separate the document to be scanned into groups of ten sheets.
\item Scan the front side of a group. \item Scan the front side of a group.
\item Scan the reverse side of a group. \item Scan the back side of a group.
\item Interleave those two scans, so that the front sides and back sides are in order in a single pdf. \item Interleave those two scans, so that the front sides and back sides are in order in a single pdf.
\item Repeat until all sheets have been scanned. \item Repeat until all sheets have been scanned.
\item Concatenate all the two sided scans from step 4 into a single document. \item Concatenate all the two sided scans from step 4 into a single document.
@ -554,14 +556,14 @@ It helps to be have a naming scheme for your files, because you're going to end
\begin{enumerate} \begin{enumerate}
\itemsep-0.30em \itemsep-0.30em
\item Scan the front side of the first group and name that file \verb|001a.pdf|. \item Scan the front side of the first group and name that file \verb|001a.pdf|.
\item Scan the reverse side of the first group and name that file \verb|001b.pdf|. \item Scan the back side of the first group and name that file \verb|001b.pdf|.
\item Interleave the two scans, and name the resultant file \verb|001.pdf|. \item Interleave the two scans, and name the resultant file \verb|001.pdf|.
\item Delete all files that have \verb|a| or \verb|b| in the file name. \item Delete all files that have \verb|a| or \verb|b| in the file name.
\item Concatenate all the remaining files into a new filename that \textit{doesn't} have numbers in its filename. \item Concatenate all the remaining files into a new filename that \textit{doesn't} have numbers in its filename.
\item Delete all files except the one we created in the previous step. \item Delete all files except the one we created in the previous step.
\end{enumerate} \end{enumerate}
All of the scanning is done through VueScan. Afterward, the magic happens with \verb|pdftk|. (See \href{https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/}{www.pdflabs.com/tools/pdftk-the-pdf-toolkit/}.) All of the scanning is done through VueScan. Afterward, the magic happens with \verb|pdftk|. (See \href{https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/}{\texttt{www.pdflabs.com/tools/pdftk-the-pdf-tool \\ kit/}}.)
\bigskip \bigskip
@ -592,16 +594,29 @@ The \verb|Bend-a| means ``input file B, but start at the end, and work backward
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:
\begin{verbatim} \begin{verbatim}
$ rm *a.pdf $ rm *a.pdf *b.pdf
$ rm *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:
\begin{verbatim}
$ pdftk *.pdf cat output book.pdf
\end{verbatim}
And to get rid of all the other files:
\begin{verbatim}
$ rm 0*.pdf
\end{verbatim}
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 a threat which isn't actually real.
(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''.)
Rather, I'm talking about the older meaning of the term ``hacker'' which is somebody who enjoys the intellectual challenge of pushing software (and often hardware) beyond what it is meant to do in order to achieve interesting and clever outcomes. In order to do so, of course, they have to know the systems they are working with fairly well. In fact, the definition of ``hack'' that I like best is ``an appropriate application of ingenuity.''\footnote{See \href{http://www.catb.org/~esr/jargon/html/meaning-of-hack.html}{http://www.catb.org/~esr/jargon/html/meaning-of-hack.html}.} Rather, I'm talking about the older meaning of the term ``hacker'' which is somebody who enjoys the intellectual challenge of pushing software (and often hardware) beyond what it is meant to do in order to achieve interesting and clever outcomes. In order to do so, of course, they have to know the systems they are working with fairly well. In fact, the definition of ``hack'' that I like best is ``an appropriate application of ingenuity.''\footnote{See \href{http://www.catb.org/~esr/jargon/html/meaning-of-hack.html}{\texttt{http://www.catb.org/~esr/jargon/html/meaning-of-hack.html}}.}
Of course, this term originally referred to computer technology, but now I'm finding that people are using it everywhere, even in places where it doesn't belong. (I'm looking at you, the writers and editors of apparently every food magazine and website ever.) Of course, this term originally referred to computer technology, but now I'm finding that people are using it everywhere, even in places where it doesn't belong. (I'm looking at you, the writers and editors of apparently every food magazine and website ever.)
@ -610,7 +625,7 @@ So let's look at some things that have been called ``hacks'' but may or may not
\begin{enumerate} \begin{enumerate}
\itemsep-0.20em \itemsep-0.20em
\item \textbf{How to cut up a mango} — Not a hack. In fact, I'd argue that this is just basic knowledge. Cut up one ripe mango the wrong way and you'll be googling the right way to do that pretty darn quick. \item \textbf{How to cut up a mango} — Not a hack. In fact, I'd argue that this is just basic knowledge. Cut up one ripe mango the wrong way and you'll be googling the right way to do that pretty darn quick.
\item \textbf{Use an ice cube tray to make sushi (in lieu of using a bamboo sushi roller)} — While you are using a common device in an uncommon way, I don't think this rises to the level of a hack. There are a lot of ways to put raw fish and rice together.\footnote{Also, be sure to sanitize the hell of that ice cube tray before you use it to make ice again.} \item \textbf{Use an ice cube tray to make sushi (in lieu of using a bamboo sushi roller)} — While you are using a common device in an uncommon way, I don't think this rises to the level of a hack. There are a lot of ways to put raw fish and rice together.\footnote{Also, be sure to sanitize the hell of that ice cube tray before you use it to make ice again.} And honestly, just learning to roll sushi would be easier, considering how difficult it is to get ice cubes out of those trays sometime.
\item \textbf{Make hot chocolate cocoa bombs} — Not a hack. A technique, to be certain, but not a hack. \item \textbf{Make hot chocolate cocoa bombs} — Not a hack. A technique, to be certain, but not a hack.
\item \textbf{Punch holes in your sausage with a toothpick before cooking to keep them from exploding} — A useful tip (especially in the air fryer), but definitely not a hack. \item \textbf{Punch holes in your sausage with a toothpick before cooking to keep them from exploding} — A useful tip (especially in the air fryer), but definitely not a hack.
\item \textbf{Use a spiralizer for perfect baked curly fries} — Really? Next we'll have ``Use a hammer to pound nails into wood'' or ``Use a pencil to make marks on paper.'' Using a tool for what it's meant to be used for is not a hack. The unique thing here is ``baked'' and that has nothing to do with a spiralizer. \item \textbf{Use a spiralizer for perfect baked curly fries} — Really? Next we'll have ``Use a hammer to pound nails into wood'' or ``Use a pencil to make marks on paper.'' Using a tool for what it's meant to be used for is not a hack. The unique thing here is ``baked'' and that has nothing to do with a spiralizer.
@ -637,13 +652,13 @@ I'm still a relative newbie to LaTeX, so there's always something to learn. Here
\begin{enumerate} \begin{enumerate}
\item You might think you want the \textbf{book} document class, but you probably will find the \textbf{report} class just as handy. \item You might think you want the \textbf{book} document class, but you probably will find the \textbf{report} class just as handy.
\item You want links?\footnote{Yeah, I know these are irrelevant in a paper document.} Use the \textbf{hyperref} package. \item You want links?\footnote{Yeah, I know these are irrelevant in a paper document.} Use the \textbf{hyperref} package.
\item The \textbf{kpfonts} package has beautiful fonts. \item The \textbf{kpfonts} package has beautiful fonts. You're soaking in them now.
\item Footnotes are easy! (Seriously, footnotes in \LaTeX{} have got to be the easiest footnotes I've ever managed.) \item Footnotes are easy! (Seriously, footnotes in \LaTeX{} have got to be the easiest footnotes I've ever managed.)
\item Use the \textbf{fancyhdr} package to get more granular control over your headers and footers. \item Use the \textbf{fancyhdr} package to get more granular control over your headers and footers.
\item You can use the \textbf{geometry} package to make a document have a paper size of half letter (i.e., 5.5 inches by 8.5 inches). \item You can use the \textbf{geometry} package to make a document have a paper size of half letter (i.e., 5.5 inches by 8.5 inches).
\item You can make your top margin larger by using \verb|\addtolength| \\ \verb|{\topmargin}{0.5in}| but there is not a similar parameter for the bottom margin. Instead, you need to make the text box shorter by using \verb|\addtolength{\textheight}{-1in}|. \item You can make your top margin larger by using \verb|\addtolength| \\ \verb|{\topmargin}{0.5in}| but there is not a similar parameter for the bottom margin. Instead, you need to make the text box shorter by using \verb|\addtolength{\textheight}{-1in}|.
\item Want to show code blocks? Use the \\ \verb|\begin{verbatim} code block| \verb|\end{verbatim}| \\ construction. (Line breaks are up to you.) \item Want to show code blocks? Use the \\ \verb|\begin{verbatim} code block| \verb|\end{verbatim}| \\ construction. (Line breaks are up to you.)
\item Want to show inline code without executing it? Use \verb|verb| followed by two pipes. Place your code between the pipes. (I had to use two of those in \#7, because that code just went right off the edge of the page when I only used one.) \item Want to show inline code without executing it? Use \verb|verb| followed by two pipes. Place your code between the pipes. (I had to use two of those in \#7, because that code just went right off the edge of the page when I only used one.) You can also just use \verb|\texttt{}| if you want something in a mono-spaced font, but it will not display raw LaTeX code.
\item Need a little space between elements? Just insert \verb|\,| (that is, a backslash followed by a comma). (This is actually a non-breaking space, so use it judiciously.) \item Need a little space between elements? Just insert \verb|\,| (that is, a backslash followed by a comma). (This is actually a non-breaking space, so use it judiciously.)
\item The above item is because whenever I invoked \verb|\LaTeX|, the space between it and the next item would disappear. Turns out that you should always invoke it with an empty argument (i.e., \verb|\LaTeX{}|) because without the empty argument, LaTeX is simply looking for the end of the command (i.e., the space) and then moves on. The empty argument tells it that the command is over and to move on. (For more information, see this: \href{https://tex.stackexchange.com/questions/31091/space-after-latex-commands}{\texttt{https://tex.stackexchange.com/ques\\tions/31091/space-after-latex-commands}}. \item The above item is because whenever I invoked \verb|\LaTeX|, the space between it and the next item would disappear. Turns out that you should always invoke it with an empty argument (i.e., \verb|\LaTeX{}|) because without the empty argument, LaTeX is simply looking for the end of the command (i.e., the space) and then moves on. The empty argument tells it that the command is over and to move on. (For more information, see this: \href{https://tex.stackexchange.com/questions/31091/space-after-latex-commands}{\texttt{https://tex.stackexchange.com/ques\\tions/31091/space-after-latex-commands}}.
\item Footnotes reset back to the number one with each chapter. To prevent that, add \verb|\counterwithout{foootnote}{chapter}| to the preamble. \item Footnotes reset back to the number one with each chapter. To prevent that, add \verb|\counterwithout{foootnote}{chapter}| to the preamble.
@ -665,7 +680,7 @@ Is LaTeX the ideal thing to create zines with? Not necessarily. It does give the
I've created zines in the past, and I've previously used Adobe InDesign (back in my Macintosh days) and LibreOffice Writer (more recently). They are WYSIWYG\footnote{What You See Is What You Get} programs and it's fairly easy to get what you want (more or less). I've created zines in the past, and I've previously used Adobe InDesign (back in my Macintosh days) and LibreOffice Writer (more recently). They are WYSIWYG\footnote{What You See Is What You Get} programs and it's fairly easy to get what you want (more or less).
(They can be a pain in other ways, however. InDesign used a lot of resources on the little Mac Mini I was using and crashes, while not frequent, were not uncommon. LibreOffice has certain interface quirks that I just find frustrating, such as using sections to have different footers or headers. You can't have everything.) (They can be a pain in other ways, however. InDesign used a lot of resources on the little Mac Mini I was using and system crashes, while not frequent, were also not uncommon and always poorly timed. LibreOffice has certain interface quirks that I just find frustrating, such as using sections to have different footers or headers. You can't have everything.)
However, they aren't very amenable to version control, because they don't generate text files, but proprietary files. (I'm not sure about InDesign files, but .odt files are just a collection of \verb|.xml| files and a few others. Change the \verb|.odt| to \verb|.zip| to see them.) While you can track these files in with version control software such as \verb|git|, you can't see the differences between those files by running a simple \verb|git diff|. You have to download the files in question, make sure they have different names so they don't overwrite each other, and check for differences manually.\footnotemark However, they aren't very amenable to version control, because they don't generate text files, but proprietary files. (I'm not sure about InDesign files, but .odt files are just a collection of \verb|.xml| files and a few others. Change the \verb|.odt| to \verb|.zip| to see them.) While you can track these files in with version control software such as \verb|git|, you can't see the differences between those files by running a simple \verb|git diff|. You have to download the files in question, make sure they have different names so they don't overwrite each other, and check for differences manually.\footnotemark
\footnotetext{As a result, to do version control, I used a version number in the file name and simply did a ``save as'' every time I opened the file for editing, incrementing the version number as I did so.} \footnotetext{As a result, to do version control, I used a version number in the file name and simply did a ``save as'' every time I opened the file for editing, incrementing the version number as I did so.}
@ -690,7 +705,9 @@ I'm not where I want to be with LaTeX yet (and I definitely won't be for a while
\section{What's Next?} \section{What's Next?}
Issue \#002, maybe? Issue \#002, maybe? I know I learned a lot about the file structure (chapter 3) and there's a lot more research and learning to do there. I'd also like to delve more into the history of Linux itself, because Linus Torvalds was developing it just as I was finishing my bachelor's degree. (I was on the seven-year plan for that.)
Also, I've dusted off my bass guitar and keyboard and I plan to start playing music again. I need to learn a lot more about music theory, and I'm thinking I may write up my notes in LaTeX, just so I can learn how to typeset music with it.
\bigskip \bigskip
\hrule \hrule