Thu Jan 23 2020

"...and get you arrested"

Fooling around with 11ty again and realized it can also be a quick-n-dirty podcast platform. I needed some audio tracks (since I'm not going to be an actual podcaster), so I dug out some goofs from last year. This one was pretty low-effort but it makes me laugh.

I might write up how I actually created the podcast feed in another post. It's really just a variant of their starter blog, but with a bunch of podcast XML instead of the (relatively) simpler feed XML in their sample. (There's a badly incomplete pod.xml feed on this blog too, actually. I might do some work to improve it now that I've made a marginally better one in a standalone repo.)

It's still at the point where you have to write the markdown file yourself, though. Would be fun to build a little node server with an HTML form in front of it, that took your text and audio file and spit out a markdown file with correct frontmatter/metadata. Hm.

album art - a vaporwave sunset

Avail this offer...

Thu Jan 16 2020

A brief NPM uninstall headache

It started with create-react-app telling me A template was not provided. This is likely because you're using an outdated version... Quick search and I learned that locally-installed CRA is now a bad idea; suggestion was to uninstall and, in lieu of upgrading, always rely on the npx create-react-app my-app command.

Okay but I tried a simple npm uninstall -g create-react-app and CRA was still local, somehow.

More searching... oho, it was a question of which create-react-app. Mine was in /usr/local/bin, not an npm folder somewhere. This comment got me to realize that I had a bunch of globally-installed packages under the "system" version of Node, back before I installed NVM and started relying on it.

So, nvm use system && npm ls -g --depth=0 told me what those packages were. Now that I was nvm useing the system version of Node instead of the latest, I could do a global uninstall of CRA and it actually disappeared from usr/local/bin.

For good measure, I deleted all the NPM stuff there; it was all years out of date anyway. A different SO answer gave me an awk command to tack on to the prior list command and delete everything at once: npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm


  • npm
  • nvm
  • node
  • create-react-app

Wed Jan 15 2020

Smallest CMS

Baby step towards a "real" CMS... building the minimumiest barely-viable-iest product. A basic HTML form with Title, Content, Tags, and optional Image uploader. If there's an image, it uses multer to save the image on my fileserver and returns the filename for that image. The rest of the data is returned as raw text in the browser, that I can paste into an empty markdown file.

Next step - have this barely-a-CMS save that raw text as a markdown file, in... I guess I should save it in the Github repo for the blog? And use a webhook to tell Netlify to re-build?

Wed Jan 15 2020 embeds

Inspired by a side project of Andy Bell's, I put together an 11ty shortcode for embeding album links (that company was previously known as, which rolls off the tongue a lot better than Ode-Sly-Co.)

Been jamming to Brothertiger for the last week (I think I already mentioned it?) Just another test...

Wed Jan 15 2020

1980s Top 100s

I got an ancient Bourgeois Tagg song stuck in my head; decided to pull up the album and wallow in HS nostalgia for a bit.

I feel like it was on Spotify at some point, but today I didn't find it. I did find a playlist containing 98 of the Top 100 songs from a given week in May, 1986. This user created maybe a dozen of them from that era.

The same couple of things always hit me when I see lists like these:

  • oh man, I looooooooved that song, and that one, and that one, and oh hey that one....
  • wait, those two songs "happened" at the same time? I'd have guessed they were 3 years apart.
  • hold on, that was a radio hit? I thought it was totally obscure! I didn't hear it until the Napster era?!
  • (which goes along with...) I have never heard of maybe 20% of these. How is that possible? Our whole family was glued to the radio whereever we went.

Fri Jan 10 2020

11ty tags

Unasked Q: what's going on with the tags on your blog posts? why are some of them hyperlinks and some aren't?

Answered A: Converting the site over to 11ty has been a fun project.

Say you write blog posts in markdown, with frontmatter at the top. If you add a "posts" tag, that file is suddenly part of collections.posts, which is available globally to be turned into individual posts, and/or paginated over to create lists of posts. If half of your markdown files also have a "music" tag, a separate is available. You create templates to map-over and display the post-data in those arrays however you want.

The thing is, I don't really use tags this way in my general blog-blathering. I use tags more like a teenage Tumblr user... they're sometimes useful, but mostly tags are jokes ('"jokes"') or meta-commentary on the post itself. Or just non-sequitur nonsense. Whatever.

The problem is, all that nonsense gets turned into arrays full of objects, piling up on the global data object in 11ty. It's doesn't really hurt anything, as far as I can tell, but when I follow 11ty's Quick Tip #004 regarding no-maintenance tag pages, I end up building hundreds of pages, each for one (nonsensical, unlikely to ever be clicked) tag.

I really only want "useful" tag pages to be generated, so I built a sort-of filter thingie in the main 11ty config file. If a tag isn't used at least three times, it doesn't get into my bespoke collections.tagList, and it's that tagList array that gets processed into a list of tags on my /tags route. Similarly, when the blog post template renders each post, it loops over each tag in the post's data, and only if the tag is also in collections.tagList does the tag get wrapped in a link. Otherwise it's list displayed as regular text.[1]

I think there's probably a way to whitelist only the "useful" tags and/or blacklist all the goofy stuff, so that they don't get turned into hundreds of 1-item entries on the global collections object, but this is a decent first step, I think.

  1. Example: as I look at this post in draft, the meta tag is hyperlinked because I've used that tag several times. The 11ty tag is not hyperlinked because this is only the second post using that tag. When I write a third one (soon I think; I'm going to write up a little music-playlist-y thing) and rebuild, the 11ty tag will be hyperlinked, and a tag page built for it... ↩︎

Wed Jan 08 2020

Tallies' album

I think I've listened to this album 1000 times since the algorithms brought it to my attention last year.

(Also this is a test of a simple spotify shortcode for 11ty.)

Tue Jan 07 2020


empty lake and deep-water warning sign

  • central park lake

Sun Jan 05 2020

Catching up

New blogging setup doesn't have an automated posting method, yet. (I need to tweak my previous micropub "mini-cms" setup, or better yet, find one in the community that actually works correctly.)

For the time being I have to open the 2020 repo and create .md files directly, to make new posts. Not difficult but just enough of a speedbump to prevent me from posting frequently. As a result, I've been building up a small backlog of "things I might post about". Where? In Apple Messages to myself, of course. So intuitive.

The list right now:

  • Some thoughts on why I shut down my Twitter and Insta accounts the other day, pretty much at random and with no thought for consequences.

  • A link to an article at CSS Wizardry I liked about CSS and networking, even though I only read half of it.

  • A reminder that Bloom County is still around; because it's based on FB now, I lost track of it after it's new debut, but saw a recent reminder that it's a few days' delayed on Go Comics, so still readable by non-FBers. Apparently B.B. just wrapped up another tear-jerker story arc for the end of year/holidays link.

  • An article about ambient music in the Guardian with some links I wanted to check out and haven't yet.

  • A note-to-self to post the audio clip of Mom explaining what that little carved troll is, that I posted on Insta a couple of weeks ago. (Oh, and which is gone now because see bullet one. Oops.)

  • A note-to-self: "You're drinking a beer in the garage; looking at the wall and realizing your TN-issued UF plate is now old enough to drink."

  • A bitcoin wallet address (Not for blogging, just needed to copy-paste it from here to there and Messages was the quickest way. I own, like, 2% of a bitcoin. Wow.)

  • notes

Wed Jan 01 2020

What I read in December 📚


  • The Cruel Stars: A Novel, John Birmingham. I want to say I liked it, but its been 3 weeks and I have no memory of reading it. (reads blurb) Oh yeah! It's okay enough to check out the sequel, at least.

  • Waiting for Tom Hanks, Kerry Winfrey. It was the middle of the night and I couldn't sleep and there was nothing on my kindle phone app so I went to Libby and there was nothing good available through the local library (at least nothing that I could quickly find), so I downloaded this and read 40 percent of it and I am 40 percent stupider now. I should've stared at the ceiling all night, instead. "A novel can't just be a list of things you like," is a thing I read somewhere, once. Deeply, gravely, sub-Hallmark Channel-ly dumb.

  • Bellwether, Connie Willis. This is the first CW book I haven't enjoyed. Too much gimmick, not enough plot. Early in her career, but after some big success. That surprised me. (You can tell, once again, how she's the master of research... but she made that part of the plot, instead of part of her behind-the-scenes job as author, which didn't serve it well.)

  • Machines Like Me, Ian McEwan. I knew this author by reputation but had never read anything by him. It's "Literature." I read a while back that he sneered at "genre" fiction, which makes him an asshole (see Ansible #382, and the zinger from Ken MacLeod immediately under it). It's alternate-present because computers came along sooner because Turing lived, and now there's a sentient robot in the main character's kitchen. If that's not sci-fi I dunno what is. The plot was supposed to be dramatic but it just felt like a series of deuses exing the machina. Meh.

  • "2 B R 0 2 B", Kurt Vonnegut. A short snark about population control. Not nearly as striking as "Harrison Bergeron," his best (AFAIK) story in this vein. (That's supposed to be a "naught" in the middle, there. To Be R Naught To Be, get it. I'd rather read "Too Bro To Be," honestly. "The guy who could not even.")


Ye Olden Tymes Fiction

  • "The Kit Bag", Algernon Blackwood. Somewhere, probably on Metafilter, someone said "Give me some old-time short story scares!" Not my usual thing but I followed a few links and found two stories easily downloadable so I figured I'd give them a shot. This one was fun; I could see a young Stephen King being inspired by this and working up his own modernized version.

  • "Between the Lights", E.F. Benson. ...whereas this one was completely terrible. Not in a "old timey writing is dumb!" way, but in a "the day this was released this person should've been roundly criticized for writing a non-story story" way.