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.

Remote blogging

I’m about to attend a conference, and I would like to publish updates anywhere but Facebook. It looks like my word press blog will function very nicely.

Picture of JLP.church, where I serve.

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.

Things I Did After Installing 17.04

Here in one place is my list of things to do after installing a new operating system.

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install ssh

Then try to ssh into the computer. If needed, apply the fix to Zeroconf / Avahi / NSSwitch.conf.

Next:

$ sudo apt install git
$ sudo apt install colordiff
$ sudo apt install libreadline-dev
$ sudo apt install vim vim-gtk3
$ sudo sudo apt-get --purge --reinstall install ttf-mscorefonts-installer

Then I got things ready for ruby. I prefer rbenv:

$ sudo apt install libssl-dev zlib1g-dev # needed for ruby
$ sudo apt install sqlite3 sqlite3-pcre
$ cd ; git clone git://github.com/sstephenson/rbenv.git .rbenv
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ rbenv install -l
$ rbenv install 2.4.1 # (as of April 28, 2017)
$ hash -r # rehash your environment

P.S. if later on you want a later version of ruby, the way you update the list of installable ruby’s is:

$ cd ~/.rbenv/plugins/ruby-build ; git pull

Then use gdebi to install Google Chrome.

$ sudo apt install gdebi
$ apt install chromium-browser chromium-codecs-ffmpeg chromium-codecs-ffmpeg-extra
$ apt install telegram-desktop

I’d love to be able to pre-populate Dropbox from a local backup when I setup a new computer. But I’m not smart enough, I guess.

$ sudo apt install antiword wv jhead
$ sudo apt install imagemagick poppler-utils

Odds ‘n’ Ends

MIT Tech Review: Your brain limits you to just five BFF’s. Dunbar’s number isn’t just one number.

There’s a Zinc flash at the moment of conception.

Phys.org: New State of Water Molecule Discovered. Quantum tunneling!!!

NPR: 40 Years On, the Genius of 2112.

ExJon: Shun the Crowd, Embrace the Remnant

Acton: Bruce Wayne, Capitalist Superhero:

What we have in Bruce Wayne, CEO, then, is an embodiment of noblesse oblige, the idea that nobility (an elevated position in society) comes with certain responsibilities. The concept has been tainted in the minds of some by its association with hereditary aristocracy and paternalism, but the essential idea is praiseworthy.