Audiobooks – August 2023

America, Empire Of Liberty by David Reynolds

90 * 15 minute episodes covering US history. A fun listen although obviously not a huge amount of detail. 3/5

The Night at the Crossroads by Georges Simenon

When a perplexing murder occurs outside Paris, Inspector Maigret arrives at an isolated intersection marked only by two houses and a dingy garage. 3/5

Outlive꞉ The Science and Art of Longevity by Peter Attia

Lots of advice on how to extend your [healthy] years well above the average. Plenty of good advice even if you can’t follow it all. 3/5

Tehanu by Ursula K. Le Guin

The forth Earthsea Book, it follows Tenar (from The Tombs of Atuan) with Ged as a secondary character. Less fantasy and action than the previous books. But still interesting. 3/5

My Rating System

  • 5/5 = Brilliant, top 5 book of the year
  • 4/5 = Above average, strongly recommend
  • 3/5 = Average. in the middle 70% of books I read
  • 2/5 = Disappointing
  • 1/5 = Did not like at all

Audiobooks – July 2023

Hollywood: The Oral History by Jeanine Basinger, Sam Wasson

Extracts from hundreds of Interviews by the American Film Institute. Great coverage of the Studio System especially. 4/5

Maigret and the Yellow Dog by Georges Simenon.

In the 6th Maigret Book. The leading citizens of a village are being attacked. Maigret must determine why and by whom. 3/5

Beyond Blue Skies: The Rocket Plane Programs That Led to the Space Age by Chris Petty

An account of the US Rocket Plane programs including the X-1 and X-15. Emphasizes the people, politics and stories 4/5

My Rating System

  • 5/5 = Brilliant, top 5 book of the year
  • 4/5 = Above average, strongly recommend
  • 3/5 = Average. in the middle 70% of books I read
  • 2/5 = Disappointing
  • 1/5 = Did not like at all

Can I Retire at 55 ?

I’ve recently been doing a review of my investments and retirement goals. I was made redundant in early 2023 and made an estimate on how long my savings would last. While it wasn’t enough to retire on it was a good percentage of the way there.

I got a new job after a few weeks but I decided to make some more detailed calculations to see how much I would really need and if I was on track.

Note: That all numbers in the blog post are 2023 New Zealand dollars and I’m assuming are inflation adjusted.

My Situation

I am a New Zealand citizen living in Auckland, New Zealand. I work in IT and have a stay-at-home partner and no children. We rent and don’t own property. We have Investments in Managed Funds and Term Investments plus Kiwisaver Retirement accounts. I am not including any inheritance.

Our total expenditure is around $50,000 per year. About half this is rent. This doesn’t include major purchases ( eg a replacement car ) or travel.

Why retire early?

The big reason to retire early is due to declining health and life expectancy. At 55 I can expect till live till around 85. Which probably means I’ll die in my 80s. If I’m lucky I’ll be able to be fairly active till 70 but probably not past that. Almost certainly at either myself or my partner will be unable to do active activities (eg walking around a city all day or tramping) by 70.

This means if I retire at 65 I might get 5 years of active retirement. Whereas retiring at 55 could give me 15 years, 3 times as much. If I get sick at 67 then the differene is even greater 12 years vs 2.

Retirement scenario

My working scenario is that I will retire at 55. We will then spend $70,000/year for 5 years on extra travel etc. Then $60,000/year in our 60s followed by $50,000/year from 70 onwards.

New Zealand Superannuation will kick in when we each turn 65. This provides around $15,000 after tax for each person.

Running the numbers

So to test this out I’ve been using a free app/site called . It lets you plug in your retirement length, portfolio and spending and it will run it against every starting year (in the US) since 1871. It will then show you the success rate including the “nearly failed”.

A hard year to check against is 1973. A falling stock market and high inflation wipe out a lot of your savings at the start so you need a good initial amount to keep ahead of your later withdrawals.

1973 starting date.

I found I would need around $1,350,000 starting amount for every year to be successful and no near failures for a 30 year retirement. The numbers were virtually the same for 40 years.

However if I adopted the Gayton-Klinger Guardrails strategy and spend up to $5000/year less when my portfolio was down I could get away with just $1,200,000 saved.

The result

It appears that we will need around $1.2 to $1.35m (in 2023 $NZ) to retire at at 55 with my assumed spending patterns. At my current saving rate there is a good chance I could reach this.

Delaying retirement beyond 55 to save more money loses healthy years of retirement with not a lot of upside in risk reduction. However a delay of a year or two greatly improves the expected outcome so it is an option if things look tight.

There will always be some risk. ie a Stockmarket Crash, financial loss, costs increase (eg rent) or health event could cause problems and I would no longer be working to adjust to it.

We also won’t have a lot of spare money to voluntarily spend on things. eg a $40,000 on an extended holiday wouldn’t be in the budget and would be hard to save for.

I ran the numbers assuming I buy rather than rent. However since Auckland housing prices are so high compared to rents it doesn’t seem to be significantly worse than paying rent out of savings.



Audiobooks – June 2023

The Player of Games by Iain M. Banks

A Culture novel about an expert game player who goes on a mission to an Empire built on a complex game. Interesting and recommended. 4/5

The Only Plane in the Sky: An Oral History of 9/11 by Garrett M. Graff

Interwoven accounts of the day from participants. 4/5

Last Man Standing by Craig A. Falconer

Lone Man tries to survive space emergency. Tries to be the next “The Martian” but doesn’t succeed. Science flaky. Many people like but I gave up at 30% through 2/5

My Scoring System

  • 5/5 = Brilliant, top 5 book of the year
  • 4/5 = Above average, strongly recommend
  • 3/5 = Average. in the middle 70% of books I read
  • 2/5 = Disappointing
  • 1/5 = Did not like at all

Prometheus node_exporter crashed my server

I am in the middle of upgrading my home monitoring setup. I collect metrics via prometheus and query them with grafana. More details later but yesterday I ran into a little problem that crashed one of my computers.

Part of the prometheus ecosystem is node_exporter . This is a program that runs on every computer and exports cpu, ram, disk, network and other stats of the local machine back to prometheus.

One of my servers is a little HP Microserver gen7 I bought in late-2014 and installed Centos 7 on. It has a boot drive and 4 hard drives with data on it.

An HP Microserver gen7

I noticed this machine wasn’t showing up in the prometheus stats correctly. I logged in and checked and the version of node_exporter was very old and formatting it’s data in an obsolete way. So I download the latest version, copied it over the existing binary and restarted the service…

…and my server promptly crashes. So I reboot the server and it crashes a few seconds after the kernel starts.

Obviously the problem is with the new version of node_exporter. However node_exporter is set to start immediately after boot. So what I have to do is start Linux in “single user mode” ( which doesn’t run any services ) and edit the file that starts node_exporter and then reboot again go get the server up normally without it. I follow this guide for getting into single user mode.

After a big of googling I come across node_exporter bug 903 ( “node_exporter creating ACPI Error with Kernel error log ) which seems similar to what I was seeing. The main difference is that my machine crashed rather than just giving an error. I put that down to my machine running fairly old hardware, firmware and operating systems.

The problem seems to be a bug in HP’s hardware/firmware around some stats that the hardware exports. Since node_exporter is trying to get lots of stats from the hardware including temperature, cpu, clock and power usage it is hitting one of the dodgy interfaces and causing a crash.

The bug suggest disabling the “hwmon” check in node_exporter. I tried this but I was still getting a slightly different crash that looked like clock or cpu frequency. Rather than trying to trace further I disabled all the tests and then enabled the ones I needed one by one until the stats I wanted were populated ( except for uptime, because it turns out the time stats via –collector-time were one thing that killed it ).

So I ended up with the following command line

node_exporter --collector.disable-defaults

which appears to work reliably.


KVM Virtualisation on Ubuntu 22.04

I have been setting up a computer at home to act as a host for virtual machines. The machine is a recycled 10-year-old desktop with 4 cores, 32GB RAM and a 220GB SSD.

Growing the default disk

lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
df -h
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
df -h

Installing kvm and libvirt

Installing packages:

apt install qemu-kvm libvirt-bin virtinst bridge-utils cpu-checker 
apt install libvirt-daemon-system virtinst libvirt-clients bridge-utils cloud-utils

Setting up users and starting daemons

systemctl enable --now libvirtd
systemctl start libvirtd
systemctl status libvirtd
usermod -aG libvirt simon

Setting up Networking

I needed to put the instance on a static IP and then create a bridge so any VMs that were launched were on the same network as everything else at home.

I followed these articles

First remove the default networks created by KVM

~# virsh net-destroy default
Network default destroyed

~# virsh net-undefine default
Network default has been undefined

then run “ip add show” to check just the physical network is left

backup and edit file in /etc/netplan ( 00-installer-config.yaml in my case) that has config for the network

Config created by installer:

# This is the network config written by 'subiquity'
dhcp4: true
version: 2

Replacement config:

      dhcp4: false
      dhcp6: false
      interfaces: [enp2s0]
      addresses: []
        - to: default
      mtu: 1500
        addresses: [,]
        stp: true
        forward-delay: 4
      dhcp4: false
      dhcp6: false
  version: 2

Note: The format in the 20.04 doc is slightly out of date (for the default route). Corrected in my file and the following link.

I used yamllint to check the config and “netplan try” and “netplan apply” to update.

Now we can make KVM aware of this bridge. create a scratch XML file called host-bridge.xml and insert the following:

  <forward mode="bridge"/>
  <bridge name="br0"/>

Use the following commands to make that our default bridge for VMs:

virsh net-define host-bridge.xml
virsh net-start host-bridge
virsh net-autostart host-bridge

And then list the networks to confirm it is set to autostart:

$ virsh net-list --all
 Name          State    Autostart   Persistent
 host-bridge   active   yes         yes

Booting a Virtual Machine

Now I want to create a Virtual machine image that I can base others I create off. I followed this guide:

Create Ubuntu 22.04 KVM Guest from a Cloud Image

First I downloaded the jammy-server-cloudimg-amd64.img from Note this is the ones that doesn’t have “disk” in it’s name.

~# wget

Then I grew the disk image to 10GB and copied it to where libvirt could see it.

~# qemu-img resize jammy-server-cloudimg-amd64.img +8G

~# cp ubuntu-18.04-server-cloudimg-arm64.img /var/lib/libvirt/images/jammy2204.img

Now I need to configure the image, especially with a user and password so I can login. The way to do this is with cloud-init. This is a special file of commands to config a booting virtual machine. The weird thing with KVM is that the file is on a virtual cdrom attached to the virtual machine.

First create the config

    name: simon
    home: /home/simon

password: hunter2
chpasswd: { expire: False }
hostname: ubuntu-22-cloud-image

# configure sshd to allow users logging in using password
# rather than just keys
ssh_pwauth: True

and save as bootconfig.txt . Then convert it to an iso and copy that to the images folder

~# cloud-localds bootconf.iso bootconf.txt
~# cp bootconf.iso /var/lib/libvirt/images/

~# virsh pool-refresh default

Now I run the program virt-manager locally. This is a graphical program that connects from my desktop over ssh to the the KVM server.

I use virt manager to connect to the KVM server and create a new virtual machine

  • Machine Type should be “Ubuutu 22.04 LTS”
  • It should boot off the jammy2204.img disk
  • The bootconf.iso should be attached to the CDROM. But the machine does not need to boot off it.
  • Set networking to be “Virtual network ‘host-bridge’: Bridge Network”

Boot the machine and you should be able to login to the console using the user:password you created in the cloud-config. You can then change passwords, update packages and otherwise configure the instance to you liking. Once you have finished you can shutdown the machine.

To create a new VM you just need to clone the disk:

~# virsh vol-clone --pool default jammy2204.img newvm.img

and then create a new Virtual machine in virt-manager using the disk (no need for the iso since the disk has the correct passwords)


Audiobooks – May 2023

Napoleon: A Life by Andrew Roberts

A moderately detailed biography single-volume biography that gets good reviews. I could mostly follow the action (except perhaps some of the battles) and characters. Would definitely recommend 4/5

Open: An Autobiography by Andre Agassi

A fairly good memoir by the tennis player. Covers both professional and personal life. The match descriptions work quite well. 3/5

My Scoring System

  • 5/5 = Brilliant, top 5 book of the year
  • 4/5 = Above average, strongly recommend
  • 3/5 = Average. in the middle 70% of books I read
  • 2/5 = Disappointing
  • 1/5 = Did not like at all

Audiobooks – April 2023

1493: Uncovering the New World Columbus Created by Charles C. Mann

Mostly covering the Colombian Exchange between the Old and New Worlds. With stories of goods, species and people going in both directions. 4/5

The Late Monsieur Gallet by Georges Simenon

A salesman is found shot dead. Maigret finds he was leading a double life, but to what end and why does the case not make sense? 3/5

The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company by Robert Iger

Covers his career before CEO up to his original retirement. Lots of interesting stores and some tips for managers. 4/5

A Man’s Head by Georges Simenon

Suspicious a convicted murderer is innocent Maigret arranges his escape and surveillance. One mysterious man directly challenges Maigret to solve the mysterious web of people around the case. 3/5

Dreams of other worlds: The Amazing Story of Unmanned Space Exploration by Chris Impey and Holly Henry

The story of 12 unmanned space missions. Not as detailed as I’d like, around half of each mission’s chapter goes off on tangents but still good. 3/5

The Hanged Man of Saint-Pholien by Georges Simenon

An unexpected suicide leads Maigret to a pretentious group of youths and another suicide ten years previous. 3/5

Lucky: How Joe Biden Barely Won the Presidency by Jonathan Allen and Amie Parnes

Covering the 2020 US Presidential primaries and election. Mostly from the Democratic side. Reasonably good but not quite up to the 2008/2012 books. 4/5

My Audiobook Scoring System

  • 5/5 = Brilliant, top 5 book of the year
  • 4/5 = Above average, strongly recommend
  • 3/5 = Average. in the middle 70% of books I read
  • 2/5 = Disappointing
  • 1/5 = Did not like at all

Audiobooks – March 2023

Pictures at a Revolution: Five Movies and the Birth of the New Hollywood by Mark Harris

The story of the conception, making and release of the 5 Best Picture Nominees at the 1968 Oscars. 4 Classic films and one Bomb. Great book, Highly recommend. 4/5

The Great North Road: London to Edinburgh – 11 Days, 2 Wheels and 1 Ancient Highway by Steve Silk

A mix of travel and history (a 100 year old guide is used and compared). A nice relaxing read. 3/5

Learn Like a Pro: Science-Based Tools to Become Better at Anything by Barbara Oakley

A good general book on learning and study techniques. 3/5

Firepower: How Weapons Shaped Warfare by Paul Lockhart

How weapons developments from 1300 to the end of WW2 shaped how wars were fought at the tactical and operation level. Very interesting, recommended. 4/5

Pietr the Latvian by Georges Simenon

The First Inspector Maigret detective story. A dead body and a live businessman are both match the description of a notorious fraudster. A short interesting listen. 3/5

Build: An Unorthodox Guide to Making Things Worth Making by Tony Fadell

The author talks about his career (at including helping create the ipod, iphone and Nest) and lessons about building products and companies. 4/5

The Crime at Lock 14 by Georges Simenon

A woman’s body is found in a stable near a canal and Inspector Maigret is called to investigate. Her upper-class but disreputable English husband is suspected. Lots of descriptions of Canal life 3/5

Steve Jobs by Walter Isaacson

An authorised (although with plenty of warts) biography of the Apple Founder and CEO. Well written, detailed and interesting. 4/5

The Farthest Shore by Ursula K. Le Guin

Throughout Earthsea magic is dying and people are sicking or going mad. Archmage Sparrowhawk and young Prince set out to investigate. A very real-feeling story. 4/5

My Audiobook Scoring System

  • 5/5 = Brilliant, top 5 book of the year
  • 4/5 = Above average, strongly recommend
  • 3/5 = Average. in the middle 70% of books I read
  • 2/5 = Disappointing
  • 1/5 = Did not like at all

Audiobooks – February 2023

The Rules of the Game: Jutland and British Naval Command by Andrew Gordon

A very detailed account of the battle of Jutland and British Navel Culture. So detailed I gave up trying to follow the Audiobook but would work better if printed. 3/5

Wings of War: The World War II Fighter Plane that Saved the Allies and the Believers Who Made It Fly by David Fairbank White

The History of the P-51 Mustang through 3 people. Designer Edgar Schmued, Tommy Hitchcock, the man who fought for its adoption, and Don Blakeslee, an ace who flew it. 3/5

The Tombs of Atuan by Ursula K. Le Guin,

The 2nd Earthsea book. A girl grows up as a high priestess until one day Sparrowhawk comes to rob her temple. 3/5

1491: New Revelations of the Americas Before Columbus by Charles C. Mann

Nominally a history of the people’s of the pre-Columbian Americas. Covers the population, age and sophistication of the civilizations based on recent discoveries. 4/5

Geniuses at War: Bletchley Park, Colossus, and the Dawn of the Digital Age by David A. Price

A short book on the Bletchley Park code-breaking efforts of WW2. A general overview concentrating on a few characters with much left under-covered. 4/5

An Unfinished Life: John F. Kennedy, 1917–1963 by Robert Dallek

Good account of life and Presidency although only single volume and the audiobook is further abridged. Well worth it as a first JFK biography. 4/5

Tomorrow’s People: The Future of Humanity in Ten Numbers by Paul Morland

A review of some demographic trends and what they tell us how the world will look in the future. 4/5

Countdown to Pearl Harbor: The Twelve Days to the Attack by Steve Twomey

A chronicle of why America was unprepared for the Japanese Attack on Pearl Harbor. Detailed but a nice and interesting read. 4/5

My Audiobook Scoring System

  • 5/5 = Brilliant, top 5 book of the year
  • 4/5 = Above average, strongly recommend
  • 3/5 = Average. in the middle 70% of books I read
  • 2/5 = Disappointing
  • 1/5 = Did not like at all