Audiobooks – September 2023

When the heavens went on sale: The Misfits and Geniuses Racing to Put Space Within Reach by Ashlee Vance

Covers 4 rocket companies trying to follow SpaceX: Astra, Firefly, Planet Labs, and Rocket Labs. Good overview companies and their founders. 4/5

A Crime in Holland by Georges Simenon

Inspector Maigret travels to the Netherlands to assist a French professor who is suspected of murder. He is hampered by language barriers & lack of jurisdiction. 3/5

The Ultimate Engineer: The Remarkable Life of NASA’s Visionary Leader George M. Low by Richard Jurek

The biography of a senior NASA administrator during the Apollo era. Interesting although a bit less technical than most NASA books 3/5

Five Came Back: A Story of Hollywood and the Second World War by Mark Harris

The story of five legendary Hollywood who joined the US military in World War 2 to make films for the armed services. Great book, definitely recommend. 4/5

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

September 2023 Update

I thought I’d do an update on my current status and what I’m up to.

Work

Unfortunately I got made redundant from my job at Sharesies in March. This was part of company-wide layoffs that saw about 30% of all staff and 50% of my team get made redundant. I was very sorry to leave, it was a great company with great culture and I was working with a great team.

I’m still using their product for my share investments (mostly Smartshares Exchange Traded Funds) and I have a small number of shares/options in the company.

After a job search I started at a new company in April. It is a fairly large company with a complex internal system so I’ve spent the last 5 months getting my head around their internal systems and tools we have to use

My team is part of a global “follow the Sun” operations department so we get a handoff from the US when we start and handover to Ireland at the end of the day. Unfortunately timezones mean I start at around Noon and finish at 8pm and also have to work one in four weekends.

The new company has a pretty good culture, although since it is large there is a lot of corporate overhead. My first month was spent doing something like 40 training courses and that didn’t even cover much of my day-to-day.

Covid / Getting out

My job at Sharesies was 100% work from home so I only spent one week in the office the whole 18 months I was working there. My new job however is a fairly strict 50% in office so I go in 2 or 3 days each week. They do have free food in the office.

Outside of work I still mask on public transport and for most shopping trips. Currently the covid numbers are fairly low so I do about one cafe visit/week. I’ve also been going to Auckland Thursday Night Curry although my new shifts make this difficult.

New Zealand has eliminated all anti-covid measures (such as mask requirements) and we are currently between waves. However there are still a steady number of hospitalisations and deaths so I’m not in a hurry to increase my exposure, especially in places like the supermarket where there isn’t a lot of upside.

I haven’t yet caught covid, but I have caught a cold and persistent cough in mid- 2023.

Weight Loss and Exercise

Between July 2022 and March 2023 I was on a fairly strict diet to lose weight. I was consuming around 1000 Calories/day by just having a couple of small meals each day of potatoes, plus some cheat meals etc.

Peak was losing around 1kg/week but eventually the diet petered out with my new job etc. Overall I went from to 107kg to 79kg. But have put on around 6kg in the 6 months since. I might to a blog post at some point on my diet experience.

I also was using a rowing machine and doing lots of walking. This has been reduced since my new job and the cold winter of 2023.

I am planning to try and restart my diet and do more exercise.

Hobbies

Chess

I have not played any in-person Chess since late 2021. Unfortunately Chess is a high-risk activity for Covid. Lots of Kids and you are in a crowded room for hours at a time.

My new job also involves me working evenings so it will be difficult to play evening Club chess.

Tolkien

I am trying to get more involved with Tolkien Fandom. I’ve join The Tolkien Society and subscribed to their magazines. I’m trying to work though them as well as back issues.

I attended the Ausmoot conference Online in 2023 and I am considering attending in person to Ausmoot 2024. I took an Online course on the Silmarillion also listening to various podcasts.

Linux.conf.au

Unfortunately my regular Linux.conf.au conference was last held Online in 2022 and it looks like it will not be run in future. This means the Sysadmin Miniconf I’ve helped run since 2006 will probably not be held again.

Linux Australia has created the Everything Open as it’s new flagship conference. I didn’t attend in 2023, although I may in future.

Other

I’m still interested in Public Transport, especially Greater Auckland. I’m working on a new article or two on the subject although switching jobs has delayed things.

I’m still working to improve my programming skills

My proposed Business idea hasn’t progressed beyond the planning stages. I have things mapped out but the main gap is getting my programming skills up to being able to create a Django website to host it.

I’m still listening to Audiobooks and also doing around 30 minutes a day of reading books.

I’m still using Twitter but I’ve also joined the BlueSky Social (login required to see my account).

Share

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
Share

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
Share

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 ficalc.app . 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.

Resources

Share

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
Share

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
              --collector.filesystem
              --collector.uname
              --collector.vmstat
              --collector.meminfo
              --collector.loadavg
              --collector.diskstats
              --collector.cpu
              --collector.netstat
              --collector.netdev

which appears to work reliably.

Share

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

lvdisplay
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
lvdisplay
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'
network:
ethernets:
enp2s0:
dhcp4: true
version: 2

Replacement config:

network:
  ethernets:
    enp2s0:
      dhcp4: false
      dhcp6: false
  bridges:
    br0:
      interfaces: [enp2s0]
      addresses: [192.168.1.27/24]
      routes:
        - to: default
          via: 192.168.1.254
      mtu: 1500
      nameservers:
        addresses: [122.56.237.1, 210.55.111.1]
      parameters:
        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:

<network>
  <name>host-bridge</name>
  <forward mode="bridge"/>
  <bridge name="br0"/>
</network>

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 cloud-images.ubuntu.com. Note this is the ones that doesn’t have “disk” in it’s name.

~# wget http://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img

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

#cloud-config
system_info:
  default_user:
    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)

Share

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
Share

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
Share