Albums of the year 2023

These are the records that have been the soundtrack to my 2023. If 2022 was a bad year for the world, then 2023 was more of the same, with a side-dose of personal horror. I did the exact same job for a whole year for the first time in a while, but everything around me seemed more chaotic, with ill health and general disruption not too far away. I suspect my musical choices have been influenced by that, although it certainly hasn’t been consciously.

I’m sitting writing this on a wet and blustery evening in the Isle of Wight (for the second year running). I think the amount of time I’ve spent here over the last two years has definitely influenced some of my choices, but only in a good way. There is some music that just makes more sense in a rural location, and many of these records are definitely not particularly influenced by cities or suburbia. But also this is a list that pays a lot more homage to louder and faster music than previous years. There are less melodically beautiful records (especially outside the top 25), and more that channel the anger that so many people feel towards the world and some of the people in it.

Albums

In all cases the links below are to somewhere you can listen to and/or buy the record in question (Bandcamp or the artist’s own website). For things you can’t buy anymore I’ve linked to a description.

Singles

All of these are either one long song, or a 7″.

Other stuff

Live albums, reissues, and things that were definitely available in some format before this year.

The rest

Other things I’ve listened to this year that I enjoyed.

Ubuntu 23.10

I upgraded to Ubuntu 23.10 on my laptop last night. It took less than 20 minutes, and so far everything has just worked.

This is the kind of user experience I want on all my devices, and also the kind of experience I strive to deliver to others.

How Other People Work

After over 3 years of mostly remote working I very interested in seeing how other people set their home offices up for maximum productivity. I’ve made a lot of changes since the start of 2020, and I suspect many other people have as well. I had intentions a while ago to make a long list of people who have inspired me with their setups, but have only just got around to posting that list (which I will likely add to later).

Hopefully looking at these again will inspire me to consider if there are any changes I need to make to how I work.

My NixOS Experiments

I have been experimenting with NixOS for a few weeks, and whilst I’m not ready to run it on my main machine, I think I could if I had to. These notes are all the things I had to search, or experiment with, and are largely here for my reference, although if they help someone else then that is great.

Snippets from my configuration.nix file

# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
# services.xserver.desktopManager.gnome.enable = true;

# Enable i3
services.xserver.windowManager.i3.enable = true;

# Configure keymap in X11
services.xserver = {
  layout = "gb";
  xkbVariant = "";
};

# Configure console keymap
console.keyMap = "uk";

# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
  enable = true;
  alsa.enable = true;
  alsa.support32Bit = true;
  pulse.enable = true;
  # If you want to use JACK applications, uncomment this
  #jack.enable = true;

  # use the example session manager (no others are packaged yet so this is enabled by default,
  # no need to redefine it in your config for now)
  #media-session.enable = true;
};

# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
};

# Allow unfree packages
nixpkgs.config.allowUnfree = true;

# Allow QMK to write to keyboards

hardware.keyboard.qmk.enable = true;

# needed for store VS Code auth token 
services.gnome.gnome-keyring.enable = true;

# List packages installed in system profile. 
environment.systemPackages = with pkgs; [
git
featherpad
pandoc
dropbox
dmenu
feh
i3lock
kitty
i3blocks
arandr 
scrot 
xautolock 
barrier
imagemagick
neofetch
zathura
pcmanfm
htop
blueman
cowsay
fortune
shellcheck
abiword
rhythmbox
brasero
sound-juicer
transmission
byobu
tmux
screen
qmk
networkmanagerapplet
protonvpn-gui
protonvpn-cli
protonmail-bridge
unixbench
zerotierone
zoom-us
caffeine-ng
copyq
vscode
];

A script to automate changes

#!/bin/sh
# Standard error mitigation
set -euo pipefail
# Replace existing config
cd /etc/nixos/
sudo mv configuration.nix configuration.nix.old
# download new config
sudo wget https://raw.githubusercontent.com/teknostatik/nixos/master/configuration.nix
# Test
sudo nixos-rebuild test
# Deploy
sudo nixos-rebuild switch --upgrade
# Clean up and then go home
nix-collect-garbage -d
cd $HOME 

Cantor Build Guide

The Cantor is a 42-key split mechanical keyboard with an aggressive stagger. I have built a few of these, both for my own use and to sell.

Parts list

This is what we need to build a Cantor:

  • PCB – I order these from JLCPCB
  • Two STM32F401CC blackpill microcontrollers and sockets – can be picked up really cheaply from Aliexpress
  • 42 choc v1 switches
  • 42 choc-compatible 1U keycaps
  • 2 TRRS jacks (PJ-320A)
  • TRRS cable
  • USB-C cable
  • 10-12 rubber feet

All the example code in this guide will be assuming that the Vial firmware will be used. It requires having a working installation of the vial-qmk github repository.

Flashing Controllers

Flash each controller to test they work, and to define which controller belongs to which side of the keyboard.

Firstly test that your firmware compiles:

qmk compile -kb cantor -km vial

Then flash each controller in turn:

qmk flash -kb cantor -km vial --bootloader dfu-util-split-left
qmk flash -kb cantor -km vial --bootloader dfu-util-split-right

If you get the message Waiting for USB serial port - reset your controller now (Ctrl+C to cancel) you will need to bridge BOOT0 to VCC (via BOOT0 button or jumper), short RESET to GND (via RESET button or jumper), and then let go of the BOOT0 bridge.

Once you have done this then label the controllers so you are absolutely sure which is which.

If QMK encounters errors it will let you know. Fix any errors before proceeding to the next step.

PCB

These steps will get us a PCB that we can test:

  1. Solder the sockets to the PCB
  2. Solder the TRRS jacks to the PCB
  3. Socket the controllers (for this build both controllers will be face down)
  4. Connect the two halves with the TRRS cable

Testing

Plug the keyboard into a computer, and short every single socket to test that the right key codes are sent. I use QMK Configurator to test this.

If anything is awry, fix it before soldering switches.

Soldering switches

Press each switch into the PCB, and ensure they are straight. Then solder each one in turn.

Once the switches are soldered, repeat the same tests as before. If any switches do not work, or behave oddly (repeated keys, excessive chatter etc.) then resolder them.

Final touches

Apply 5-6 rubber feet to the bottom of each half of the PCB, and then add keycaps.

Ferris Sweep Build Guide

The Ferris Sweep is a 34-key split board with an aggressive stagger. I have built a few of these, both for my own use and to sell.

Parts list

This is what we need to build a Ferris Sweep:

  • Sweep High PCB. I get mine printed by JLCPCB.
  • Two controllers and sockets. I have built these with a number of different controllers, but mostly the Pro-Micro to keep the cost down.
  • 34 switches (Choc v1 or v2, or MX). For this minimal build a low-profile switch makes a lot more sense, but you will end up paying more for switches and keycaps. Choc v2 with blank keycaps may work out the most economical in the end.
  • 34 1U keycaps to match switches chosen. Blank keycaps will bring the cost down if they are an option for you.
  • 2 TRRS jacks (PJ-320A)
  • TRRS cable
  • Cable to match controllers chosen (almost certainly a USB-C cable)
  • 10-12 rubber feet (these are definitely not optional on this build)

All the example code in this guide will be assuming that the Vial firmware will be used. It requires having a working installation of the vial-qmk github repository.

Flashing Controllers

Flash each controller to test they work, and to define which controller belongs to which side of the keyboard.

Firstly test that your firmware compiles:

qmk compile -kb ferris/sweep -km vial

Then flash each controller in turn:

Pro-Micro

qmk flash -kb ferris/sweep -km vial --bootloader avrdude-split-left
qmk flash -kb ferris/sweep -km vial --bootloader avrdude-split-right

If you get the message Waiting for USB serial port - reset your controller now (Ctrl+C to cancel) you will need to Short RST to GND quickly in order to flash the controller.

Elite-Pi

qmk flash -c -kb ferris/sweep -km vial -e CONVERT_TO=elite_pi --bootloader uf2-split-left
qmk flash -c -kb ferris/sweep -km vial -e CONVERT_TO=elite_pi --bootloader uf2-split-right

Frood

qmk flash -c -kb ferris/sweep -km vial -e CONVERT_TO=promicro_rp2040 --bootloader uf2-split-left
qmk flash -c -kb ferris/sweep -km vial -e CONVERT_TO=promicro_rp2040 --bootloader uf2-split-right

Once you have done this then label the controllers so you are absolutely sure which is which.

If QMK encounters errors it will let you know. Fix any errors before proceeding to the next step.

PCB

These steps will get us a PCB that we can test:

  1. Solder the sockets to the PCB
  2. Solder the TRRS jacks to the PCB
  3. Socket the controllers (for this build both controllers will be face down, but there is a handy message printed on the PCB which will help with orientation)
  4. Connect the two halves with the TRRS cable

Testing

Plug the keyboard into a computer, and short every single socket to test that the right key codes are sent. I use QMK Configurator to test this.

If anything is awry, fix it before soldering switches.

Soldering switches

Press each switch into the PCB, and ensure they are straight. Then solder each one in turn.

Once the switches are soldered, repeat the same tests as before. If any switches do not work, or behave oddly (repeated keys, excessive chatter etc.) then re-solder them.

Final touches

Apply 5-6 rubber feet to the bottom of each half of the PCB, and then add keycaps.

Pay What You Want

I often download albums that have been made freely available, and then end up buying the record anyway. It’s definitely a way I have discovered new music for a while, and very rarely leads to me not giving the artist money for something, even if it is not that particular record.

Here is list of music currently available on a pay-what-you-want basis. It’s accurate as of 30th September 2023, but I do intend on trying to keep this as up to date as possible. For the first three sections it’s worth looking directly on their Bandcamp pages, and even if things change, then there is always something on offer.

Wrong Speed Records

This is my favourite record label right now, and I own a fair few of these on vinyl or cassette. If you don’t care about having a physical copy then you can pay whatever you want for these.

Gizeh Records

Another favourite that I own a fair few records from.

The band that started me on this quest often add/remove things from they pay-what-you-want list, but these are the ones that seem to be on it the most. If you do find physical copies of this music then just buy it, because they don’t stick around for long.

Everything else

A selection of other things that I have enjoyed and would definitely like to own on vinyl at some point.

Albums of the year 2022

These are the records that have been the soundtrack to my 2022. It’s been a good year for music, but a bad year for the world. There have been positive changes in my personal and professional life, but otherwise this is likely to be a year that is remembered for all the wrong reasons.

I’m sitting writing this on a wet and blustery evening in the Isle of Wight. I think the amount of time I’ve spent here this year has definitely influenced some of my choices, but only in a good way. There is some music that just makes more sense in a rural location, and many of these records are definitely not particularly influenced by cities or suburbia, so probably have a slightly different feel to my previous lists.

Albums

In all cases the links below are to somewhere you can listen to and/or buy the record in question (Bandcamp or the artist’s own website). For things you can’t buy anymore I’ve linked to a description.

Singles

All of these are either one long song, or a 7″ with at least three songs. They are all also part of my Quietus subscription or very limited edition pressings, so there are some things here that people can’t actually go and listen to, which is a shame as they are all great.

Notes on my Corne Configuration

The Corne is a 42-key mechanical keyboard. These are my notes on building and configuring it. Largely for my own benefit.

The Corne I’m using is the RTG model, ordered from Mechboards. I am currently part way through building one from scratch as well though.

Currently I’m using this case which make it look a lot better, as well as being significantly more stable on my desk. I’ve also now screwed the original base on to the bottom to give even more stability.

I’m close to getting the keymap how I want it, although it is still a work in progress, The defaults are sensible, but I want this to be interchangeable with the Planck and so I have moved a few things around and added macros for things I do often.

On the left-hand side there is a number pad on a layer, plus additional functionality hidden below the modifiers.

On the right-hand side I have navigation on one layer, and commonly used symbols on another.

As with all my keyboards, I’m using AUTO_SHIFT_ENABLE to remove the need to use a modifier when I am typing normal text.

I have used this periodically for a few months, and it is currently my main keyboard.

My review of the DZ60 mechanical keyboard

After a bit of work yesterday I’m actually really happy with this board. I bought it because I wanted something fairly conventional that I could flash with autoshift so that it could be used as a backup keyboard when I’m travelling (I use a Planck as my main keyboard).

I’ve built it using things I already had lying around (a bright blue plastic case from Optic Boards, plate and stabs from an old pre-built, Glorious Panda switches, and some generic beige keycaps). The hardware build was easy; the software build less so.

The key mapping this board comes with doesn’t really work for me. There is no function key mapped, so no access to layers (and therefore no access to navigation). There was also no way to turn off the very obvious RGB. This didn’t really bother me, as I was planning on using QMK to reflash it. The following is a list of things I learned during the process of building and flashing the firmware.

  • Despite there being an entry for DZ60 in QMK, this board is actually listed as dztech/dz60rgb_ansi/v2
  • The file extension required for the firmware is .bin, despite all other versions of this board being .hex
  • The software reset combination for this board is to hold escape down as you plug the board in
  • The hardware reset button for this board in in the middle on the board, and nowhere near the reset slot in most cases (including my case).

Putting all that aside, it’s a great board that is fun to type on and sounds really good. I wouldn’t recommend it to anyone who wasn’t used to doing this sort of project, but I actually quite enjoyed the build and can see this as a keyboard that will definitely get some use.