Songs for Saturday: Unrecorded
2026-06-20 06:42 pmLast night my sister and bandmate N gave me a couple of -- suggestions? challenges? projects? -- something like that. One was to get back to work on my memoirs, concentrating in particular on my half-century with Colleen. The other -- which this post marks the start of -- was to make sure that all of my songs get recorded so that they don't just disappear when I'm gone. They wouldn't necessarily need to be published, just archived somewhere. That's important for several reasons:
- Some of those songs aren't very good.
- My voice has deteriorated over the last several years.
- My guitar playing has deteriorated even more.
- Most importantly, if I wait until I'm ready to put them on a CD or even offer them as an album on Bandcamp, I'll never get started. My most recent, and so far only, published album (CC+S) was started twenty years ago! Eeek! I've been talking about a sequel for at least 18 of those years, and look how much I've done.
So this afternoon I did what any self-respecting hacker-songwriter would do, and threw together a couple of shell one-liners to track them down.
From here it's a trivial matter to convert the raw names to links:
"Content warning: brute-force shell script:"
#!/bin/bash
# find unrecorded songs:
# creates songs.log, basenames.log, and unrecorded.log, and returns the
# number of lines in unrecorded.log
# find songs, leaving out the template (1template.flk) and derived files
# (which contain -- in their names, like stolen--dm.flk.
ls *.flk | grep -ve '[-]-' | grep -v ^1 > songs.log
for f in `cat songs.log`; do basename $f .flk; done > basenames.log
# Now find the ones that don't have recordings (i.e. files with .ogg or
# .mp3 extensions) anywhere. Assuming this machine has a complete copy
# of everything relevant, we can use `locate -c` to count them.
for f in $(cat basenames.log); do
[ $(locate -c $f.ogg) != 0 ] || [ $(locate -c $f.mp3) != 0 ] || echo $f;
done > unrecorded.log
# unrecorded.log contains the list of songs for which no recording exists
# count them:
wc -l unrecorded.log
for f in `cat unrecorded.log`; do
echo "<a href=https://steve.savitzky.net/Songs/$f/>$f</a>";
done > unrecorded.html
... that creates a file called unrecorded.log and prints out
the number of lines in it, which happens to be 41. And here they are:
aengus bbblues black bog calm can-t changing cypunk deso-no diypl3 dmitri fanish filking hackers house-c lfblues little lizard ma-bear mad magic meeting memory mfarm monday napster ninety5 oldtime paul runfree shores silicon sink small t-dragon t-fuel tbears thrill we-ll-go-no-more-a-roving windward y2k
Some of those have definitely been performed in public; I used longer (and more meaningful) filenames in more recent concert recordings, and that hasn't been factored in. That's for next week, maybe.