Setting Up a Mac

Fixing mouse scroll direction, key bindings, setting up Exposé spaces, etc.

Installing Keynote, Numbers, and Pages plus any software previously purchased from the App Store.

Installing replacement browsers: Chrome, Firefox, and Brave, along with Xee and iTerm2 and Skim.

Installing MacPorts, then software starting with ImageMagick. Imagemagick because it’s a good test of everything working properly.

$ sudo port install imagemagick +graphviz -x11

Then adding some of my favorite utilities

$ sudo port install antiword bat colordiff exiftool jhead lame sox tree xz

$ sudo port install ffmpeg -x11

$ sudo port install nnn ranger

Then install software development languages: go, rust, and ruby. Follow them with some CLI utilities written in those languages:

$ cargo install broot cw du-dust dutree exa fd hexyl \
just lsd pastel ripgrep sd

$ go get -u github.com/gokcehan/lf

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.

Ubuntu 18.04LTS on the HP boat anchor

Some time ago, we bought three HP laptops. One had a failure we were never able to resolve, and another was replaced by an ASUS desktop. The last was decommissioned back in January. So I decided to try installing the most recent Ubuntu 18.04LTS on one of them. Here’s my notes from the process.

First, re-read this explanation of UEFI Secure Boot and Windows.

download an ISO and verify it

turn the ISO into a bootable USB stick

boot it up and answer lots of questions

wait while everything gets installed

then install Dropbox and Google Chrome

$ apt install ssh # to get the OpenSSH server

$ ssh some-machine # then copy any data not in Dropbox

$ apt install telegram-desktop

$ apt install gnome-tweak-tool  # to enable permanent workspaces

$ apt install colordiff antiword jhead csvtool ffe poppler-utils

$ apt install sqlite3 sqlite3-pcre

$ apt install git curl libreadline-dev

$ apt install vim vim-gtk

$ apt install build-essential

$ apt install libssl-dev zlib1g-dev

$ cd ; git clone git://github.com/sstephenson/rbenv.git .rbenv

$ rbenv -l # to find what version to install

$ rbenv install 2.5.1 # or whatever

Ubuntu Linux on an HP RP5700

I recently had the opportunity to purchase four (4) HP RP5700 systems at $20 each. I’m not entirely sure what I’ll do with the others, but I’m installing Ubuntu Linux on one of them. Here are some notes along the way.

It’s odd how difficult Ubuntu makes it to find the checksums (MD5 hashes) for the ISOs you download. Forget security, how do you know it downloaded properly? It turns out there’s a whole separate page telling you what the checksums are.

Burning CDs is hopeless. Optical discs are such an amazingly useless medium. About one in four works at all, and those suffer from bit rot even quicker than floppy disks used to. The instructions for making a CD are fine, but the Burning ISOs HOWTO is available if you have problems.

I’m so glad we have USB sticks now. The instructions for making a bootable USB stick are somewhat arcane, but I have the computer science background that makes it look easy.

I had problems installing the bootloader. That’s a fatal error, I understand, from an otherwise unhelpful dialog box. A whole bunch of searching around brought this page to my attention, which explains what to do about certain kinds of grub installation failures.