Category Archives: Life

The Moon is a Harsh Mistress — Silly Book Challenge, Part 1

I’ve been challenged by a friend on one of the walled garden social media sites to list seven (?) books so that identity thieves can get started figuring out the answers to my security questions. Maybe he’s getting a cut of the take. But I’m too loyal a friend to respond with utter fabrications. The books I list here will be 100% truthful. Trust me.

I’m not sure I understand what the rules for this game are, so (for the first seven books at least) I’ll only post works of fiction.

Number one is obvious. Like, nothing-else-comes-close obvious. To wit, Robert Heinlein’s The Moon is a Harsh Mistress.

Naturally, no sooner did Kevin challenge me to this dumb contest than he stole my thunder, or tried to. Notice, however, that my cover is from a significantly older edition than his. I have an even older one (below), but I don’t read it, to protect the spine. I also have the hardcover, and the Audible book, and Kindle. I even have a PDF of Tim Minear’s script for a movie adaptation.

paperback, harcover, Audible, and Kindle editions.

I first read The Moon is a Harsh Mistress in 9th grade. I almost didn’t. At first, I only read a couple of pages, because the protagonist narrates the book in some kind of weird more-or-less Russian. (Imagine if Lt. Chekov were to dictate all the Captain’s Log entries on Star Trek.) Reading that was work, and I’m opposed to doing that, so I nearly gave up. But my friend Daniel Henderson, who’d already read it, convinced me to make the effort, so I #persisted. And it was worth it.

In P.E., we were playing baseball, so Daniel and I would take positions way out in the outfield and talk about the book. Periodically one of the jocks in class would yell at us that a ball was headed toward the outfield and we’d have to stop and deal with the ball before going back to talking. I remember doing a book report on The Moon is a Harsh Mistress in an English class that year. I don’t remember how the teacher responded, but my grades that semester were 4 C’s and 2 D’s, so it must not have impressed my teacher.

By the time I got to college—which I did, eventually, despite a less than stellar 9th grade GPA—I had probably read it 20 times. I could hand the book to someone and ask them to open it at random and read a sentence, and I would respond with the next one. It’s that good. And I’m that much of a geek.

The technological details haven’t aged well, although they did influence my career. Long before I studied computer science, I had become skeptical of monolithic systems design; a natural alternative for me was the Unix philosophy of small sharp tools, and, later, distributed systems. But Heinlein was usually wrong about the science fiction. (To use Peter Thiel’s language, he was usually too bullish about atoms and, if not bearish then insufficiently bullish, about bits.)

What Heinlein got right was the politics. (I don’t want to spoil it, but TMIAHM is not, despite what you may have heard, or read on the cover of the hardcover edition above, the story of people who set up a libertarian paradise on the moon. Quite the contrary, they destroy one. Because it had to be done. Sigh.)

But Heinlein also raises non-political questions. I’ll mention just two. First, what is a marriage? What constitutes one, what is its purpose, and what support ought society give it? Second, what is a soul? Can an artificial intelligence be alive? If it did, would it have rights? Could it be noble?

If you don’t like this book then, sorry, we just can’t be friends. Have a nice life.

Knives Out

We saw Knives Out last night and I enjoyed it. I figured out who did it as soon as he or she made their entrance, but I did waver in my confidence briefly near the end, only to have it restored and then be vindicated by the detective. We had a debate about which of the heirs was the least likable of a bad lot. I think it was the murderer.

By the way, Rian Johnson impressed me a lot more with this than with the #8 Star Wars movie. (I can’t remember what it was called. I’ve tried not to remember anything about it.) So when RJ makes a good movie following a turd, the least hypothesis is that it was Disney management, not the director, who made SW8 so bad.

Spiderman Far From Home

I just saw it. It’s the best superhero movie I’ve seen in years, probably since Wonder Woman. The third act was only okay, but even so, it was significantly better than Avengers Endgame or Infinity War, Thor Ragnarok, or Guardians of the Galaxy 2. The mid credit scene detracted from this movie, at least for me, although my companion thought it was an enhancement.

More of those CLI Utilities

I’ve found some more CLI utilities (via this thread) that look like they’re worth further investigation.

  • Zola, a static site generator
  • fd (a/k/a fd-find), an “80% replacement” for find; see also fselect
  • xsv, a tool for working with CSV files
  • broot, another disk analysis/tree replacement
  • sd, a sed replacement
  • cw, a wc replacement
  • hors, a combination of lynx and the technical web (which I couldn’t build on my Linux system because it’s running gcc instead of clang). (Ditto ‘bat’ btw.)
  • lolcate, a locate/updatedb replacement

I’m intrigued by topgrade but a little terrified of actually using it.

And I found the indispensable utility called genact.

Rust Command-Line Utilities

I’ve been learning (or maybe beginning to learn) the Rust programming language. (It was a toss-up between that and Go, and I probably picked wrong, but I won’t know until I know a lot more than I do now.)

  • Tokei (for counting source code lines) and
  • diffr as an alternative to colordiff
  • ripgrep as an alternative to ack (etc.)
  • just as a command runner (think “make”)
  • lsd and exa as replacements for ls
  • pastel for working with colors on the command line
  • skim (not to be confused with the excellent Skim) as a fuzzy finder
  • dust, dutree, and dua-cli as replacements for du
  • bat (“better cat”) and mdcat (cat for markdown)
  • starship (prompt)

I’m only beginning to play with these. But I was surprised to see so much activity developing command line utilities. There is some misunderstanding of the Unix philosophy, but it’s understandable (cat isn’t for viewing files, but of course that’s how most of us use it). Yay open source!

What I did after installing Linux

I had a hard drive fail on my laptop, so I put the best parts of several broken machines together into a sum-greater-than-the-whole new machine. Right now, I’m installing Ubuntu Linux 19.04. And, since it’s been a long time since I blogged what I do afterward, here is the mid-2019 edition.

References: the usual “what to do” blog posts, e.g., this, this, and this.

Start by installing updates:

$ sudo apt update && sudo apt dist-upgrade

Then gnome tweaks, to make your GUI act less lobotomized:

$ sudo apt install gnome-tweaks

The specific tweaks I want are left-side buttons, static workspaces, desktop icons for home but not trash, the size of the monospace font, and (since this is a 13″ laptop) the scaling factor. I also add a percentage to the battery indicator and weekday to the clock. While I’m monkeying around with my settings, I set up night mode. And then I make sure that Alt-Tab behaves correctly. (See here.)

Then I install the usual assortment of web browsers:

$ sudo apt install chromium-browser

(I also install Google Chrome from a .deb I download from their website.)

Then a whole bunch of things I need:

$ sudo apt install caffeine
$ sudo apt install vim

Then, before I forget, I install libreadline for other things to use:

$ sudo apt install libreadline-dev

Next, I finish installing the usual software subjects:

$ sudo apt install imagemagick colordiff jhead wv pandoc abiword antiword eyed3

Stuff from other systems

Then I’m ready to start pulling things from other machines. The easiest way to do that is to go over there and rsync them to me. So:

$ sudo apt install openssh-server
$ ssh-keygen  # hitting ENTER at each prompt
$ ssh-copy-id {whatever the other machines are}

Then I pop over to those machines and send the appropriate contents back here.

Ruby

Then I install ruby so I can use all the ruby tools I’ve developed over the years:

$ sudo apt install libssl-dev zlib1g-dev
$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ cd ~/.rbenv/plugins/ruby-build
$ hash -r  # might not be necessary
$ rbenv install ( --list | some-version )
$ gem install coderay csv fileutils kramdown mini_magick optimist pericope pry tty-color tty-command tty-screen tty-table zxcvbn-ruby

More Software

Also Telegram, if this machine will be used for your private messaging.

And Dropbox.

Linux on Old Macs

I was recently given a second 20″ iMac 2007 to go along with the first. They’re beautiful machines, but Apple doesn’t want me to keep using it, so they’re making all their software not work on it anymore. So I’ve been wondering how they’d do as Linux machines.

Apparently, it isn’t very easy to get an old iMac to boot a Linux system. I don’t think I have a Firewire cable, much less a HDD enclosure with a Firewire interface.

Travel Day

I flew out of Anchorage about 10 last night, and arrived here mid-morning. I had a LCHF-friendly lunch then saw John Wick 3, which was enjoyable enough, but not great. Now I’m hitting the sack so I can get up pretty early tomorrow.

NMT to disinvite Harrison Schmitt?

I posted the following to an alumni group’s Facebook page in response to a post that cited this article and invited alumni to ask the school’s president to disinvite Schmitt.

I have difficulty believing there is a serious movement to disinvite Dr. Harrison Schmidt as commencement speaker. He’s an astronaut who’s explored — as a trained geologist — another planet, on foot. If he’s wrong about climate science, well, he won’t be the first person to demonstrate the Dunning Kruger effect. I’m think in particular of a physics professor who was determined to bring back punched card media for his simulation software.

But more than that, I am appalled that the professors at Tech are failing to teach their students that Science is not a collection of orthodoxies that must not be questioned. When I went to Tech, I heard from my petroleum engineering friends that one of the geology faculty refused to subscribe to the theory of plate tectonics. I don’t know if that was true, but it was believable because people were allowed to hold unpopular opinions. When I was at Tech, we read “The Structure of Scientific Revolutions” and learned the big problem in science is overcoming the informal orthodoxies that creep in despite our best intentions. We watched Carl Sagan’s “Cosmos” and shook our heads at the medieval clergy who treated Galileo as a heretic and refused to look through his telescope.

But worst, I think, is the boorish gauchery of disinviting a speaker from an event after the invitation had been made and accepted. What kind of people would even consider it? A few years ago, I thought President Trump was 50% vulgarian, 50% clown, and 100% reality show personality. Today, I’m afraid he embodies the spirit of our age. The idea that Techies would outdo him in classlessness… it’s #Sad.