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.