Browse Source

Editing 2021.10.05.21:49

tags/Issue-001
Kenneth John Odle 3 years ago
parent
commit
6bca4139c3
  1. 65
      001/codex-001.tex

65
001/codex-001.tex

@ -69,7 +69,7 @@
Typeset in \LaTeX{} \\
Issue \#001}
}
\date{\begin{small}2021.09.24\end{small}}
\date{\begin{small}Published on 2021.10.03 \\ First Printing \end{small}}
\begin{document}
\maketitle
@ -120,7 +120,7 @@ The answer to the second question is that we are teaching kids how to use calcul
\hrulefill
(Uou can probably tell what my thoughts are on the dominant economic system on planet Earth. There \textit{will} be more of that. If you're okay with that, I'm okay with that, too. If you're not okay with it and you want your money back, it's too late—I've already spent it.\footnote{But that's capitalism for you! \textit{Caveat emptor!}})
(You can probably tell what my thoughts are on the dominant economic system on planet Earth. There \textit{will} be more of that. If you're okay with that, I'm okay with that, too. If you're not okay with it and you want your money back, it's too late—I've already spent it.\footnote{But that's capitalism for you! \textit{Caveat emptor!}})
I have noticed that even little kids are required to bring little kid calculators to school with them in most of the local school districts. As I write this, the school supply buying season is coming to an end, but for the past six weeks every store was filled with school supply lists and yeah, you have to have a calculator to get into the second grade.
@ -201,7 +201,7 @@ What I like—not love (when it comes to computers, love is about aesthetics for
Partly, that's the nature of open-source computing. If you want to know how something works, you can look at the source code. If you don't understand the source code, you can research how the source code works. You can ask questions. (Thank you, StackExchange!) You can do some more research and then learn how to ask \textit{better} questions. There is always something to learn, and once you've learned everything there is to learn about a particular piece of software \footnote{Which is never really true. What I really mean is that when you've learned everything \textit{you} want to know about it.} you can fork it and start contributing to the project yourself.
Wondering how something in Windows works? So is everybody else. There is nothing more frustrating than googling a problem in Windoze, getting hundreds or thousands of results, and every result is just somebody else asking the same question and not getting an answer—just a million other voices saying ``I have the same problem. Please help.''
Wondering how something in Windows works? So is everybody else. There is nothing more frustrating than googling a problem in Windoze, getting hundreds or thousands of results, and every result is just somebody else asking the same question and not getting an answer—just a million other voices crying into the wilderness saying ``I have the same problem. Please help.''
And yeah, you can write code and create applications for Windows, and you can solve a lot of problems that way, but you can never make Windows itself better. It is what it is, and if you don't like it, the feature that bugs you might be made better in the next release, or it might be made worse. It's a crap shoot, really.
@ -211,6 +211,8 @@ 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.
Linux rewards study in a way that macOSK and especially Windows do not.
\section{Knowledge is Power}
You know what I really, really like about Linux?
@ -227,8 +229,6 @@ There is no ``undo'' on the command line.
I need to get that on a t-shirt.
\medskip
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.
@ -237,11 +237,11 @@ The command line, in short, makes you think. It makes you plan, it makes you thi
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, we have too much \textit{information} when what we 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}.
\section{The Unix Philosophy}
The Unix Philosophy was originated by Ken Thompson (one of the creators of Unix, upon which Linux is based) and basically says that each program should do one thing and do it well. (There is more to it than this; if you are interested, you can always google it.)\footnote{Searching for something on the internet is \textit{always} an option these days, and so many people seem to be unable to do just that. Honestly, this is the kind of stuff that gets my underpants in a twist. \\ \tabto{1.9em}Question: ``Where can I find \textit{X}?'' Answer: The same place I would find it: At the other end of a google search. \\ \tabto{1.9em}Better question: ``Which is the \textbf{best} source for \textit{X}? Ah, \textit{now} we have the basis for a discussion. I'll put the kettle on and we can talk about it.}
The Unix Philosophy was originated by Ken Thompson (one of the creators of Unix, upon which Linux is based) and basically says that each program should do one thing and do it well. (There is more to it than this; if you are interested, you can always google it.\footnote{Searching for something on the internet is \textit{always} an option these days, and so many people seem to be unable to do just that. Honestly, this is the kind of stuff that gets my underpants in a twist. \\ \tabto{1.9em}Question: ``Where can I find \textit{X}?'' Answer: The same place I would find it: At the other end of a google search. \\ \tabto{1.9em}Better question: ``Which is the \textbf{best} source for \textit{X}? Ah, \textit{now} we have the basis for a discussion. I'll put the kettle on and we can talk about it.})
This runs counter to physical life, where everything has to be a Swiss army watch. Watch any ad for a new kitchen gadget and this device does \textit{everything} except walk the dog and take out the trash. If it \textit{actually} did all those things and did them well, I would be happy to own one and more than happy to pay a couple of hundred dollars for it.
@ -309,14 +309,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.
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 had 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.
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.}
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, doing their own thing. 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{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.
@ -331,7 +331,7 @@ There is a part of this equation that makes no sense and could—and definitely
\begin{enumerate}
\itemsep-0.20em
\item Heat up leftovers.
\item Heat up frozen burritos.
\item Cook frozen food.
\end{enumerate}
When I was a kid, we were given a microwave oven as a gift. It included a cookbook that had recipes where you could basically make anything in the microwave oven, and at a fraction of the time. Pies, Sunday dinners, fried rice — you name it, you could make it in the microwave oven.
@ -342,7 +342,7 @@ You'll notice that I left ``thawing out frozen food'' off that list. Have you ev
It is not.
But we are enthralled with the \textit{illusion} of choice. Most people will not buy a microwave oven with only one or two buttons, even though in reality, that is all you need: one control for how long and another control for how high. My current microwave has only three buttons that I use on a regular basis: 1 minute cook, 2 minute cook, and add 30 seconds. It also has a 3 minute cook, a 5 minute cook, `Popcorn,' `Beverage,' `Reheat,' `Potato,' `Reheat,' `Delay Start' (why, praytell, are you delaying the start in a device whose entire point is `right here, right now'?), `Defrost,' `Timer,' `Reminder,' and a host of other buttons for setting the clock, adjusting whether it's AM or PM, etc, in addition to `Start' (highly useful if you're not using the 1 minute cook button) and `Cancel' which I don't use because I just run out the clock. If you pull out food before the timer runs out, the oven keeps giving you a message on the screen that you still have time on the clock. Any well-designed microwave oven should just time out that message after five minutes.
But we are enthralled with the \textit{illusion} of choice. Most people will not buy a microwave oven with only one or two buttons, even though in reality, that is all you need: one control for how long and another control for how high. My current microwave has only three buttons that I use on a regular basis: 1 minute cook, 2 minute cook, and add 30 seconds. It also has a 3 minute cook, a 5 minute cook, `Popcorn,' `Beverage,' `Potato,' `Reheat,' `Delay Start' (why, praytell, are you delaying the start in a device whose entire point is `right here, right now'?), `Defrost,' `Timer,' `Reminder,' and a host of other buttons for setting the clock, adjusting whether it's AM or PM, etc, in addition to `Start' (highly useful if you're not using the 1 minute cook button) and `Cancel' which I don't use because I just run out the clock. If you pull out food before the timer runs out, the oven keeps giving you a message on the screen that you still have time on the clock. Any well-designed microwave oven should just time out that message after five minutes.
Again, we are enthralled with the illusion of choice, and actually devote time and resources to it, even though they could probably be better spent elsewhere. Case in point: Every microwave oven has a `Popcorn' button, but every packet of microwave popcorn has an instruction telling you explicitly \textit{not} to use the `Popcorn' button. Something does not align here.
@ -354,14 +354,14 @@ If you don't know much about cooking, you can take the point of view that these
I originally bought a multicooker because the lid to my Crockpot\textsuperscript{\texttrademark} cracked, and I needed to replace it. But Costco had a multicooker on sale, and I thought I would try it because if I didn't like it I could just return it.
As a slow cooker, it does a fair job, although not quite as well as my original crock pot.\footnotemark But it also does a fantastic job cooking rice (both white and brown) and steaming meats and vegetables, neither of which I could do in the crock pot. In fact, I also had a steamer which I quickly gave away. I never owned a rice cooker, but once I discovered how easy it was to make rice in the multicooker, I realized that I would never need one. It also has a ``soup'' funtion and an ``oatmeal'' function, but I have yet to try those.
As a slow cooker, it does a fair job, although not quite as well as my original crock pot.\footnotemark But it also does a fantastic job cooking rice (both white and brown) and steaming meats and vegetables, neither of which I could do in the crock pot. In fact, I also had a steamer which I quickly gave away. I never owned a rice cooker, but once I discovered how easy it was to make rice in the multicooker, I realized that I would never need one. It also has a ``soup'' function and an ``oatmeal'' function, but I have yet to try those.
\footnotetext{Dropping to lower case and two words here, because the official name is Crockpot\textsuperscript{\texttrademark} and yes, it is trademarked.}
The rice cooker I never owned and the steamer I did own both follow the Unix Principle in that they did one thing and did it well. But the multicooker? It follows the same path as my Instant Pot\textsuperscript{\textregistered}\footnote{Yes, that's a registered tradmark also, although most people just pronounce (and often spell) it as ``instapot''.} does by being able to cook in ways that previously required multiple devices.
The rice cooker I never owned and the steamer I did own both follow the Unix Principle in that they did one thing and did it well. But the multicooker? It follows the same path as my Instant Pot\textsuperscript{\textregistered}\footnote{Yes, that's a registered tradmark also, although most people just pronounce it (and often spell it) as ``instapot''.} does by being able to cook in ways that previously required multiple devices.
Again, Costco came through with a \$65 sale on Instant Pots. Besides pressure cooking\footnotemark I can steam vegetables, make rice, make boiled eggs (good-bye countertop boiled egg maker!), and make yogurt. It also has a sous-vide function, a soup /broth function, a bean/chili function, a sauté function, and a meat/stew function. In addition, it also has functions for porridge and multigrain, which I have yet to use. That \$65 Instant Pot has replaced appliances I don't even have.
Again, Costco came through with a \$65 sale on Instant Pots. Besides pressure cooking I can steam vegetables, make rice, make boiled eggs (good-bye countertop boiled egg maker!), and make yogurt. It also has a sous-vide function, a soup /broth function, a bean/chili function, a sauté function, and a meat/stew function. In addition, it also has functions for porridge and multigrain, which I have yet to use. That \$65 Instant Pot has replaced appliances I don't even have.
These are violations of the Unix Principle that actually work well and that I can live with.
These are violations of the Unix Principle that actually work well and that I can live with. It is not that these things have replaced functions, but rather, that they have replaced devices that used to execute those functions.
\bigskip
@ -377,7 +377,9 @@ If you're using a Linux distro with a GUI (Ubuntu, Puppy OS, Mint, etc.) you lan
\footnotetext{For more information about this, consult the Linux Foundation Reference specifications, which are found at \href{https://refspecs.linuxfoundation.org/}{https://refspecs.linuxfoundation.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}{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.}
\section{bin}
This directory contains essential command binaries\footnote{Files that contain compiled source or machine code. They are also called ``executables'' because they can be run (i.e., ``executed'') on the computer. Programs, if you will.} that need to be available for all users. Many of these include binaries that bring up the system or repair it. Your basic binaries like \verb|cat|, \verb|ls|, and \verb|mv| live here.
This directory contains essential command binaries that need to be available for all users. Many of these include binaries that bring up the system or repair it. Your basic binaries like \verb|cat|, \verb|ls|, and \verb|mv| live here.
What exactly \textit{is} a binary? The technical definition is that it's a file that contains compiled source or machine code. They are also called ``executables'' because they can be run (i.e., ``executed'') on the computer. Programs, if you will.
\section{boot}
Boot loader files. It's complicated—kernels, and so forth. It is also four letters instead of three. I don't really understand it, but I'll look into it.
@ -489,11 +491,11 @@ 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.}
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 know what I'm talking about.} 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.} 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, update it often, and respond 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.
@ -527,7 +529,7 @@ All of the scanning is done through VueScan. Afterward, the magic happens with \
\bigskip
\noindent{}Okay, how do we do all of this stuff with pdftk?\footnote{I won't bore you with how to install it, since there are multiple ways to install it. You can easily find this information online.}
\noindent{}Okay, how do we do all of this stuff with pdftk?\footnote{I won't bore you with how to install it, since there are multiple ways to do that. You can easily find this information online.}
\medskip
@ -541,7 +543,7 @@ $ pdftk A=001a.pdf B=001b.pdf shuffle A B output 001.pdf
We are then telling pdftk to interleave the two files via the \verb|shuffle| command. So if A contains the pages 1 3 5 7 9 and B contains the pages 2 4 6 8 10, the output pdf (001.pdf) will contain the pages 1 2 3 4 5 6 7 8 9 10. Pretty nifty, huh?
However, there is a problem. When you flip the group of sheets over and run them through your scanner, the reverse sides will be scanned in reverse order, because the highest numbered page will be the first to be scanned. So 001b.pdf will actually contain the pages 10 8 6 4 2. This is a problem.
However, when you flip the group of sheets over and run them through your scanner, the reverse sides will be scanned in reverse order, because the highest numbered page will be the first to be scanned. So 001b.pdf will actually contain the pages 10 8 6 4 2. This is a problem.
Fortunately, pdftk has a way around this. Take a look at this command:
@ -549,10 +551,19 @@ 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
\end{verbatim}
The \verb|Bend-a| 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:
\begin{verbatim}
$ rm *a.pdf
$ rm *b.pdf
\end{verbatim}
\chapter{Is This Really a Hack? Or Is It Just a Tip?}
The word ``hacker'' has a lot of definitions, and if you just 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 you will 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'' 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}.}
@ -562,7 +573,7 @@ So let's look at some things that have been called ``hacks'' but may or may not
\begin{enumerate}
\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. Chop 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{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.
@ -623,7 +634,7 @@ I've created zines in the past, and I've previously used Adobe InDesign (back in
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.}
With LaTeX however, your \verb|.tex| file really is just a text file, and so if you use something like \verb|git| to track changes, you can run a \verb|git diff| and see changes from one commit to the other pretty easily. This is nice when you are writing, because if something is working, you can just delete it, and if you decide you can use it after all, you can just go back to the repo and get it.
With LaTeX however, your \verb|.tex| file really is just a text file, and so if you use something like \verb|git| to track changes, you can run a \verb|git diff| and see changes from one commit to the other pretty easily. This is nice when you are writing, because if something isn't working, you can just delete it, and if you decide you can use it after all, you can just go back to the repo and get it.
With LaTeX, it can be difficult to get something to appear exactly where you want it to. Placing objects is actually easiest in InDesign. The main advantage of LaTeX is that it makes it \textit{extremely} easy to make things consistent. I suppose this is something that I will get better at as I gain more experience with it and learn about some more packages.
@ -632,14 +643,14 @@ Also, there is no easy way to get a word-count from a LaTeX document, nor is the
\medskip
\begin{center}
\verb|$ pandoc input.tex -o output.odt|
\verb|$ pandoc 001.tex -o 001.odt|
\end{center}
\medskip
\noindent to convert this \verb|.tex| document to a LibreOffice document and counted the words there. (It couldn't find the two images I include in this document, but that's okay.) Before I added the last three sentences, I was at 6,515 words. I didn't bother to do a spell-check.
I'm not where I want to be yet (and I definitely won't be for a while—I've got bills to pay) but perhaps the nicest thing about LaTeX is that while there are a lot of packages available, if you can't find one to do what you want to do, you can always create your own. It will be a while before I get to that point because first I need to find something I want to do in LaTeX that isn't covered by an existing package, but I someday might. Remember, with the level of control you get with Linux, you also get opportunity. And it's always good to have a challenge to look forward to.
I'm not where I want to be with LaTeX yet (and I definitely won't be for a while—I've got bills to pay) but perhaps the nicest thing about LaTeX is that while there are a lot of packages available, if you can't find one to do what you want to do, you can always create your own. It will be a while before I get to that point because first I need to find something I want to do in LaTeX that isn't covered by an existing package, but I someday might. Remember, with the level of control you get with Linux, you also get opportunity. And it's always good to have a challenge to look forward to.
\section{What's Next?}
Loading…
Cancel
Save