Using Homebrew on macOS

Homebrew is a package manager for command line tools on macOS. It can be installed by issuing the following command:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Packages can be installed with brew install <packagename> and updated with brew update.

Packages I generally install on a new Mac are:

  • wget – for command line downloading
  • imagemagick – for image manipulation
  • mas – for command line updating of (non-Apple) App Store software
  • youtube-dl – for downloading youtube videos for offline viewing

Once you have homebrew installed then it’s possible to script a software update solution that includes all Apple software, all non-Apple software, and everything installed through homebrew. It’s not quite as good as a Linux package manager, but it’s getting there.

The current script I use for this is:

#!/bin/bash
echo "updateall v.1.1 for macOS"
# Run this as a normal user. Your admin password will be asked for if required.
# Update all Apple software (requires admin password at this point)
sudo softwareupdate -i -a
# Update all software installed via Homebrew (as a normal user)
brew update
# Update all other software
mas upgrade
echo "The script has now finished running."

Films I’ve watched recently

2017 is going to be a year of watching films, largely because of the wonders of Cineworld Unlimited membership, but also because I watched far too few films in 2016. The following are the ones I watched in the first month of membership:

Rogue One

I wasn’t sure how much I would enjoy this. I’m a huge Star Wars fan, but I didn’t know how much I wanted something that was set in the same universe but didn’t contain any of my favourite characters. As it turns out I think it’s my fourth favorite film in the franchise (after Empire Strikes Back, A New Hope and The Force Awakens), and I’ve already added the DVD to my wish list as I’d quite like to watch it again when I’m not dying from some sort of chest infection.

Fantastic Beasts and Where to Find Them

I saw this straight after Rogue One (about 10 minutes after in fact), but it was enjoyable enough and entertained me without making me think too much. At the time that was a welcome distraction, but I suspect I’ll never watch it again until I binge watch the whole series at some undefined point in the future.

Passengers

This is a film that seems to divide opinions. Personally I liked it, and I thought it provoked some interesting moral discussions. There are things I would have changed, but the basic premise is an interesting one, and I’m not sure most of the negativity I’ve heard about it is justified (which I can’t really expand on without major spoilers).

Assassin’s Creed

I’m really not sure about this. It was ok, but probably the only example this month of something that I’m glad I didn’t really pay to see (two films a month covers membership). I also thought it was far too loud, and I found my dislike of loud noise getting in the way of my enjoyment of the film.

La La Land

I usually don’t like musicals, or films that feature a romance between the two main characters as a major plot. Passengers cured me of the second one, but La La Land pretty much dealt the killer blow on both. I love this film, and I can not only relate to both main characters, but I actually liked the music quite a lot as well. Probably the best film I’ve seen this month, and something I will definitely come back to.

Lion

“Based on a true story” explains a lot of what puzzled me about this film, and I’m sure that if it wasn’t based on a true story then a lot of things might have happened differently. That said, I really enjoyed it and while it was nothing like the trailer, it was a pleasant enough way to spend a Sunday afternoon and certainly managed to provoke a genuinely emotional reaction at times.


That’s more films than I watched in the whole of the year before (certainly at the cinema), and I’ve already got quite a long list for the next 11 months.

Building the Debian Handbook

What follows is instructions for creating a local HTML copy of the Debian Administrator’s Handbook (which is a very useful source of information for anyone working with any Debian derivative including Ubuntu and Raspian). All work related to this project was done on a Raspberry Pi Zero running Raspian, so I suspect it will work on anything running any Debian derivative (although Ubuntu 16.04 is the only other system I’ve tested this on so far).

Open up a terminal, and issue the following commands to get hold of the source code:

sudo apt install git
sudo git clone
git://anonscm.debian.org/debian-handbook/debian-handbook.git

Install the packages required for building:

sudo apt install publican publican-debian

Build the html files:

cd debian-handbook/
sudo ./build/build-html

It might take a while to build, especially on the sort of hardware I’ve been using. This might be the point to make a cup of tea.

Copy the HTML files into the root of your web server:

sudo cp -R publish/en-US/Debian/8/html/debian-handbook/ /var/www/html/

At this point you should be able to browse to the home page of the directory by navigating to the hostname or IP address of your web server.