More Diverse Music Thanks To Computers


I was just going through my to-do list about 10 minutes ago and one item on it was “listen to more diverse music”. Well, I’m lazy and that’s never going to happen on its own. So I wrote a short shell script to make it easier.

I goggled “list of music genres”, used cURL to download it, and html2text (RIP Aaron) to get the list into a usable form.

curl http://www.musicgenreslist.com/ | html2text > ~/music-genres

Then all I needed was the following short script which could be a one liner if I was fond of writing messier code.

#!/usr/bin/env bash

set -eo pipefail

genre_file="$HOME/music-genres"
DATE="$(gdate -d "0 days ago" +'%Y-%m-%d')"
address="my email address@email.com"
genre="$(shuf -n 1 "$genre_file")"

# Redirect from /dev/null to avoid prompt so we can send a message with empty body, noninteractively.
mutt -s "Music genre for $DATE: $genre" "$address" </dev/null

One more line to my crontab will send me a random genre every day at midnight.

00 *  *  * * . bash $HOME/bin/suggest-song 2> $HOME/song-err

And that’s another way that computers let you be lazy.

Related Posts

e-ink reminisces

Edwin Edwards

Middle School by Bo Burnham

How to Disable Disqus Ads on your Blog

Derivation of Reservoir Sampling

Fun with Python Iterators: Linked Lists Made Easy

Notes for November 11, 2018

Underrated Vim Option: undofile and undodir

Hot Take on Solo Travel: Starve

Alan Perlis