Posts
Dr Jekyll and Mr... Hugo?
In December, I set out to move my site from the previous static site generator, Jekyll, to a brand new one, Hugo. Perhaps inevitably, this job turned out to be a lot more work than I expected. Equally inevitably, I wildly overestimated my enthusiasm for hacking away at this over Christmas. As such, here we are at the start of February and it’s (just about) finished.
So what’s changed?
Static Site Generator
The site was previously put together using Jekyll. This is a ruby-based static site generator that takes a heap of markdown files, mashes them through a bunch of templates and generates some HTML.
The new static site generator, Hugo, does more or less the same, but is written in Go. So why change? Well… mostly for the fun of doing so, if I’m honest. There’s a bunch of advantages (I can write Go, I can’t write Ruby; it’s slightly faster; it’s got a large current dev community behind it) but none are so big as to really merit this change.
Infrastructure
I’ve also used this change to move to running this site with Infrastructure-as-code at the heart of the setup. It’s hosted in AWS Amplify, which is astonishingly easy to setup, and managed by Pulumi. There are a few benefits here:
- It was fun to do
- The setup can be read in plain text - no clicking around a hundred different AWS portals
- Changes are easy to make, audit and revert
- The code for doing so now lives alongside the site in the public repo
The only necessary code or config that isn’t in the repo now is the DNS settings. These are managed in Cloudflare using Terraform/Pulumi. They’re only separate because they live alongside a bunch of other, unrelated DNS stuff.
Chopping Mall
Over at /chopping-mall is something I’m very pleased to have restored: my first blog. I wrote on Chopping Mall intermittently for several years ~2010. It’s always bothered me that it was held in Blogspot / Blogger with no easy way to export it. But no more! I found some XML export and Hugo import tools and now have all the old posts in Markdown, in the repo. There are some broken links and images to sort through, but the vast majority is there.
Walks as its own section
I’ve split out /walks
into its own dedicated site section. Still with maps. Still with files you can download. I’m edging slowly away from Geojson file (lovely open format, yay! Not exported by OS Maps app, boo!) to GPX files.
More stuff to come…
My hope is that my renewed enthusiasm for this blog will get me using it to build up interesting things bit-by-bit. I’m intending to do booklists, filmlists and so on, and generally use it a bit more. Let’s see…
How to build the new music library
Having decided that it’s the right time to rebuild my music library (see the previous post), I’m now starting to scratch my head over how to do it.
There are a few areas I clearly need to get my head around and consider the option available to me. These include:
- Software: how am I going to organise my library? What will I use to manage tagging files? How will I add files?
- Data: how visible will my library data be? How easily can I query it, explore it, check it? This is going to get important when it comes to considering quality control, missing releases, spotting duplicates and so on.
- Process: how am I actually going to work through the process of building this library? Where do I start? What do I prioritise?
- Goals: What do I actually want to be able to do, other than listen to the music (obviously!). Am I looking to build themed (sub)collections? To explore genres over time? To listen to specific record labels?
Some of these are easier to answer than others.
Goals
I’m trying not to overcomplicate this, but I think there are quite a lot of exciting opportunities here. I want to be able to:
- Listen to a specific album (obviously)
- Listen to a specific artist
- Listen to a specific genre
- Listen to a specific label
I’d like to be able to build and amend ad-hoc collections with ease (“music for driving”, “cooking music”, “ambient-ish-stuff-to-listen-to-while-reading”).
I’d like to be able to visualise all of the above. I love a graph.
A lesser goal - perhaps more of a nice-to-have - would be to have linking between artists, records, labels, genres. Something where you can get to similar things and explore your collection. I have no idea how feasible this is, and it’s by no means essential.
Data
I want full access to my data. I’m taking it for granted that whatever software I end up using is going to add some sort of data layer on top of file metadata tags - otherwise any query would have to read the whole library! This data must be easily accessible. I don’t mind if its a simple database written to disk or a JSON API that I can query, I just need to be able to get hold of the data independently of the library software.
The simpler, the better.
Software
I think I’m confident in my choices here. I’m sticking with Beets.
Beets has served me well for many, many years. It’s a solid bit of open source software built by music nerds for music nerds. It slurps in new files, tags them according to rules and organises them on disk. It’s backed by a Sqlite database file, which makes querying the data yourself really easy (apart from Sqlite being a pig about concurrent access…).
Process
I think I need to get the basic technical elements set up first. Something along the lines of:
- Decide where the files live
- Create a new beets library
- Build a sufficiently comprehensive beets config (consider tagging, file paths, album art, etc)
- Consider how I access the library (web ui, db export, MPD, etc)
- Import an initial batch of albums to see the process in action
After that, I think the fun really starts. It doesn’t actually matter how I approach it, I just need to keep adding to the library. I plan to do weeks where I explore a specific genre, the back catalog of a specific artist, revisit records I’ve not listened to in a while, explore something brand new. It’s all welcome.
Key decisions that need making:
- What are the tagging rules?
- What’s the filepath structure?
- What do I do with album art?
Other things to explore:
- Are there nice beets plugins for browsing a library?
- Has anyone worked on mapping MusicBrainz IDs to Spotify URNs?
- Should I commit the configs to a GitHub repo somewhere to go alongside these posts?
(Re)building a music library
It’s coming up to the end of the year, a time for making plans, resolutions, projects and so on and so forth. How many of them will survive contact with 2025? Who knows. But here’s the tentative start of a new project: I’m going to rebuild my music library. And I’m going to document the process on here.
But why though?
The project? Well… I have librarian blood. It goes deep into who I am. Stuff’s got to be organised! And it really, really isn’t. I’ll get into the detail of the problem further down this post but it’s got to the point where it makes me twitch. Something must be done!
There are also loads of sensible, pragmatic reasons. Not least:
- Spotify (and equivalents) are fragile, capricious and temporary: Your favourite album might disappear next week. Your playlist might be missing key tracks. You don’t own this. It can be taken away.
- Size and space: I’m quite good at backing things up and keeping spare copies of digital information. Storage is cheap, but it’s not that cheap. It makes sense to keep only the stuff you want in your library if you’re paying to keep 3+ copies of it!
- Rediscovering old gems. A large part of this project was spurred on by the simple game of listening to every one of my vinyl records. We moved house, I got my record player set up, I got my records out of storage, and I began to work my way through relistening to each one. I found so much stuff that I’d forgotten about. Half of the point of this project isn’t really about the organisation, it’s about the increased engagement with the music.
How did we get here?
I was lucky enough to be really getting into music right at the tipping point from physical to digital media. All my first albums were on CD but we were busy ripping them to MP3 to write to a new disk, title scrawled on in marker. We were grabbing the early Arctic Monkeys demos from MySpace. I was posting on music forums, with mailing lists where we forwarded whole albums to each other (RIP AudioJunkies - much missed). I was testing how well iTunes’s windows app worked on a sprawling library (not well, it turns out, prompting a swap to FooBar2000).
Music was something to be explored and studied, and in doing so acquired. Before we had (semi-)reliable digital libraries, you had no idea if you’d ever hear that track again if it didn’t get added to your library. Right-click. Save-as.
So the library grew and grew.
How bad is the problem?
It’s really quite bad. My music library (heap?) appears to be 1TB in size, with roughly 76,000 files in it. This breaks down as 46k MP3s and 26k FLACs. That’s a lot of stuff. And I suspect that the vast majority of it isn’t stuff that I actually really want.
What can we do about it?
Start over. Sort of.
The plan from here is to build a new library. I’m going to curate it carefully from the ground-up, adding artists I like, labels I like, filling gaps where I find then. It’s going to be immaculately tagged and indexed, making exploring it a pleasure, not a chore.
It’s going to lossless (predominantly? totally?). It’s going to be organised. It’s going to be beautiful.
Quite how I do this will need some thinking about and another blog post.
Cinema 2024 Roundup: part I
2024 has started and there are lots of good films to watch! Here’s a bunch we’ve seen at the cinema this year…
Albums of the Year 2023
For everything else that 2023 may have been, or not been, there’s been a lot of excellent music. Here we are at the end of the year. Grab your headphones, hide from the world outside. Here are my favourite records of the year.
Shit and Shine - 2222 and Airport
S&S produces a lot of music, and a lot of it has never really connected with me. But this one does. By turns full of good beats, funny stories and weird noises. Excellent stuff.
Squid - O Monolith
I don’t love this quite as much as their first, but its still great. Spiky, post-punk loveliness.
Memorials - Women Against the Bomb
I was surprised by how much this stuck in my head. It’s the soundtrack to a film about the Greenham Common protests and isn’t subtle at all, but I keep finding myself singing little bits of it.
Lankum - False Lankum
This is my kind of folk music. Macabre, dark stories, told over shuddering bass and weird noises. Fabulous.
Hey Colossus - In Blood
Short and sweet, walls of fuzzy guitar noise.
Meatraffle - Superstructure
Cracking post-punk tunes with some wickedly funny lines. As you’d expect from a band called Meatraffle.
The Loving Paupers - Ladders
Gorgeous NY reggae. Their first album is equally good. Get to know.
The Mountain Goats - Jenny From Thebes
It’s the Mountain Goats. It’s a polished one, with horns and all. I love it.
Overmono - Good Lies
This is an absolute gem. Sits alongside Bicep’s Atlas in my mind, and that’s high praise.
Warrington-Runcorn New Town Development Plan - The Nation’s Most Central Location
Understated electronica. This one pulses and bubbles and fizzes. For fans of Pye Corner Audio, Demdike Stare and the like. I love this sort of thing.
Mungo’s Hi-FI - Past and Present
Mungo’s are a reliable source of bangers, but this one is wall to wall greatness. Absolute stomping tunes.
Reverend Kristine - SAVED
OK, this won’t be for everyone. It’s deeply weird and not an easy listen but its fascinating and very memorable. I love it. Very hard to describe. Give ‘All of my friends are going to hell’ a listen.
Belbury Poly - The Path
Sleeper hit for me. It’s very understated. All gentles tunes with a little folksy storytelling. Worth giving some time to. I love all this hauntology business.
Jellyskin - In Brine
Leeds Leeds Leeds. Bringer of Brine was my most listened track of the year, and ‘I was the first Tetrapod’ can’t have been far behind. Stomping techno-tinged wonky pop tunes.
James Ellis Ford - The Hum
I know nothing about this. Don’t know anything about the artist. Can’t remember how I found it. But it’s great.
Goat - Medicine
Everything these folk make is excellent and this one goes hard. Psych-folk? Alt-fusion? Chant-rock? The internet has no idea how to classify them. It doesn’t matter. This is ace.