December 14, 2021

Aquarium Drunkard :: 2021 Year In Review

The only year-end list that matters is here, and so’s my “long form” playlist (Spotify link) to go along with it.

There are a few albums from the original list that are not on Spotify:

  • Rhyton - Pharaonic Crosstalk
  • Rose City Band - Earth Trip
  • Sarah Louise - Earth Bow
  • Alvin Curran - Fiori Chiari, Fiori Oscuri
  • Little Feat - Electrif Lycanthrope
  • Drew Gardner - S/T
  • Enno Velthuys - A Glimpse Of Light
  • Castlemusic - Live At The Music Gallery
  • His Name Is Alive: A Silver Thread (Home Recordings 1979-1990)
  • al riggs - I Got a Big Electric Fan To Keep Me Cool While I Sleep
  • Powers Rolin Duo - Strange Fortune
  • Ash Ra Tempel - Schwingungen

December 16, 2020

Aquarium Drunkard :: 2020 Year In Review

Every year Aquarium Drunkard’s year-end list is the biggest source of music for me. The list is always a careful mix of heavy hitting indie, obscure textures, and exciting deep cuts and reissues. This year’s list appears to be no exception. As usual, I assembled a “long form” Spotify playlist, containing every track from every album in the list, to go along with the “official” abbreviated playlist:

Also, as usual, there’s a small set of albums that aren’t included because they are not available on Spotify:

  • Ned Lagin – Seastones
  • Neil Young – Archives Vol. 2
  • Richard & Linda Thompson – Hard Luck Stories
  • Brother Theotis Taylor – Brother Theotis Taylor
  • Microphones in 2020
  • Sunn Trio – Electric Esoterica
  • Joe McPhee – Black Is The Color: Live in Poughkeepsie and New Windsor, 1969-70
  • Matthew ‘Doc’ Dunn – Rain, Rain, Rain
  • Robbie Basho – Songs of the Great Mystery
  • Rich Ruth – Where There’s Life Vol. 1-6
  • Sarah Louise – Earth and Its Contents
  • Tuluum Shimmering – Sister Ray Meets China Cat Sunflower Uptown
  • The Harry Smith B-Sides
  • Daniel Hecht – Guitar
  • Boris – NO

August 19, 2020

Publishing a Hugo Site With Github Actions

Storing your Hugo site in a Github repository makes it easy to automate re-generating and uploading your site every time you create a new commit. I'll assume you have a Hugo site in a Github repository already & walk through the steps to configure Github Actions to generate the site & upload it using rsync over SSH, with key-based authentication:

  1. Create a Workflow

    In the root directory of your Hugo site, create a .github directory. Within that directory create a workflows directory. Finally, within the workflows directory create an empty file named main.yaml.

    At the top of the file, add a name, I used the name of the site:


    The next section – on: – describes when to invoke the Action. I've set mine to build/deploy on every push to the Git repository (with the push: section) and to offer manual deploys (workflow_dispatch:):

            - main

    The meat of the file is the jobs: configuration, which installs the necessary pre-requisites to check out the repository, generate the Hugo site, and use rsync to deploy it:

          runs-on: ubuntu-18.04
            - uses: actions/checkout@v2
                submodules: false  # Fetch Hugo themes (use true OR recursive to fetch)
                fetch-depth: 0    # Fetch all history for .GitInfo and .Lastmod
            - name: Setup Hugo
              uses: peaceiris/actions-hugo@v2
                hugo-version: '0.74.2'
                # extended: true
            - name: Build
              run: hugo --minify
            - name: Deploy
              id: deploy
              uses: Pendect/action-rsyncer@v1.1.0
                DEPLOY_KEY: ${{secrets.DEPLOY_KEY}}
                flags: '-vzcrlp --delete --chmod=Dgo+rx,Fgo+r'
                options: ''
                ssh_options: ''
                src: 'public/'
                dest: 'SSH_USERNAME@SSH_HOST:HOST_PATH'
            - name: Display status from deploy
              run: echo "${{ steps.deploy.outputs.status }}"

    Take particular note of the dest: line - this needs to contain the correct parameters the deployment target. The HOST_PATH must include a trailing /, as well. An example dest value is:

                dest: ''
  2. Generate Keys

    With the Workflow in place the Action to build the site will work, but when it attempts to rsync it will fail, because the Action doesn't have SSH access. To fix this, generate an SSH key just for the Action. Hit <ENTER> when prompted for a passphrase:

      $ ssh-keygen -f github-action
      Generating public/private rsa key pair.
      Enter passphrase (empty for no passphrase):
      Enter same passphrase again:
      Your identification has been saved in github-action.
      Your public key has been saved in
      The key fingerprint is:
      The key's randomart image is:
      +---[RSA 2048]----+
      |               .o|
      |              .oo|
      |              +oo|
      |       E .   . =.|
      |      o S o   +.*|
      |       + + + o +=|
      |      . o Boo.o= |
      |       .+=o+=.+ o|
      |      .o +=+.=++ |

    This generates a private key in the github-actions file, and a public key in Copy the contents of and add it to the .authorized_keys file on the server to which the site will be deployed.

  3. Give Github the Private Key The contents of github-actions (the private key) need to be added to Github. Go to the 'Settings' page for the site's Github repository and select 'Secrets':
    Before adding secrets
    Select 'New Secret'. Enter the 'Name' DEPLOY_KEY and paste the contents of the github-actions private key vile in the 'Value' box:
    Adding the DEPLOY_KEY secret
    After clicking 'Add secret' the key will appear in the list of secrets:
    After adding the secret
  4. Test the Deploy Navigate to the 'Actions' tab of the Github repository and select the workflow with the name configured in main.yaml. The 'Run workflow' button will present a menu to select the branch to use.
    The Actions page and menu
    If everything goes well the deploy will churn for a little bit and then display a check-box to indicate success.

A Note on rsync Options

The Action that builds the site checks everything out anew when it runs, which means that the mtimes of the files it generates will always be set to the generation time. rsync, by default, uses the mtime as a cheap way to determine if a file should be sync-ed. To prevent every file on the site from sync-ing every time this setup uses the -c option to indicate that rsync should use file checksums to determine if they should be sync-ed. It also uses the -p option, combined with --chmod=Dgo+rx,Fgo+r to ensure that all files and directories are readable by all users. These can be modified to suit any specific case.

December 13, 2018

Aquarium Drunkard :: 2018 Year In Review

Another year, another fantastic list from Aquarium Drunkard of notable music newly or re-released this year. As usual, here’s an overwhelming playlist of everything that’s available on Spotify.


The “sampler” version of Bob Dylan – More Blood, More Tracks -The Bootleg Series Vol. 14 is included; the full compilation is not (yet) available on Spotify.

The albums that comprise Bruce Springsteen – Album Collection Vol 2 are not included.

Environments – App is not included … because it’s a mobile app.

The following albums are not included because they are not available on Spotify:

  • Alice Coltrane – Spiritual Eternal
  • Haruomi Hosono – Cochin Moon, Hosono House, Paraiso, omni Sight Seeing, Philharmony
  • Scientist and Prince Jammy – Scientist and Jammy Strike Back!
  • Long Hots – Monday Night Raw
  • Michael Hurley – Living Ljubljana
  • Bitchin Bajas – Rebajas
  • Pearls Before Swine – Balaklava
  • Parades Against Parades – Driving Me Stoned
  • Ken Boothe – Freedom Street
  • Gloria Barnes – Uptown
  • Carl Weingarten – Living in the Distant Present
  • Wet Tuna – Livin’ The Die
  • Matthew “Doc” Dunn – Lightbourn
  • Give Me My Flowers (Nashboro Gospel Comp)
  • Grant Green – Slick! Live at Oil Can Henry’s
  • Wes Montgomery – In Paris: The Definitive ORTF Recordings
  • Orchestre Abass – De Bassari Togo
  • Maxine Funke – Silk

December 15, 2014

Aquarium Drunkard's 2014 Year In Review

I spent the first two or three months of this year listening to everything from Aquarium Drunkard’s 2013 Year In Review, and then the rest of the year listening to everything from that list that I really liked (Courtney Barnett, Steve Gunn, Mo Kolours, Hiss Golden Messenger, Darkside, Wooden Wand, Kurt Vile, Foxygen, Torres). Needless to say I’ve been anticipating this year’s list since the “end-of-year” lists started rolling out this month and it went up today. Everything that Spotify has available is in this playlist, which will surely be on repeat through March:

July 10, 2014

Opus No. 1

In January This American Life included a story about a man who became obsessed with a particular piece of on-hold music, which turned out to be a song called Opus No. 1:

For some reason this story — and the music — stuck in my mind strongly enough that I recognized the music months later when I was on hold and heard that music. Today I recognized it again as part of a song off of the new album from How To Dress Well – I wonder if Tom Krell listens to This American Life.

April 24, 2014


Wye Oak

I love Wye Oak and I’m really digging their upcoming album, Shriek. You can preview it in its entirety at NPR Music.