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')"
genre="$(shuf -n 1 "$genre_file")"
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