Promoting Blog Tag Reuse with `fzf`

Some more updates to the main repo of this TIL site today, in particular I have added a new fzf-tags.fish script. til uses this script to Scrapes all the YAML tags: frontmatter from all current Markdown posts, Puts me into a multi-select fzf menu containing them, and Puts anything I select into the tags: of the new blog post. Tags form natural breadcrumb trails throughout a blog as it grows organically over time....

November 25, 2023

The Rule of Four

A communication heuristic, optimized for asynchronous communication of detailed concepts between human beings. Not really a TIL, I’ve been sitting on this one for a while. Rationale Existence “proof” Our short term memory can hold at best about 7 +/- 2 chunks of information at a time. Start with the lower end of that: 5 chunks. Assume that whatever someone is “really” trying to do takes up 1 of those 5....

November 24, 2023

Hugo's Secret RSS Feeds

This blog now has a swanky new RSS feed button right on the front page, courtesy of the well-designed PaperMod theme powering things on the backend. Hugo newbies often don’t know that Hugo usually generates these RSS feeds automatically for new websites. You usually have to go out of your way to turn them off. Example: https://andrew-quinn.me/index.xml exists, and has existed for quite some time, without me needing to lift a finger (although I might want to put a button on my home site too!...

November 23, 2023

Hosting on Azure? Don't forget to declare UTF-8

For a long time after moving my website from Netlify to Azure, none of my fancy emoji or weird umlaut characters would display properly. Today I fixed that by popping back into the the Hugo theme I built off of minimum-viable-hugo and adding 1 <meta charset="utf-8"> to themes/minimum-viable-hugo/layouts/index.html and themes/minimum-viable-hugo/layouts/partial/head.html. (There’s probably a way to intimidate Azure Static Web Apps into using UTF-8 by default too, but I didn’t bother to look....

November 22, 2023

Git controlled, user-scoped, recoverable-after-install `systemd` services and timers

TL;DR systemd timers are a serious upgrade from cron. Accept no substitutes. ~/.config/systemd/user lets you run user-scoped timers and services, in a place where you can version control them with Git easily, and even keep a handy backup with chezmoi! Story We had the great honor of having our friend Tri Phung (LinkedIn, GitHub) over for dinner yesterday. As is often the case the conversation turned to work. I’ve been on a kick of using Github Actions remotely and shell scripts + systemd services/timers locally to sketch out some ideas for new websites in Hugo....

November 21, 2023

That damned Debian 10 one-liner I always need to let me `sudo`

1 2 # ⚠️: Reboots your VM. su -c "$(whereis adduser | awk '{print $2}') $(whoami) sudo && $(whereis reboot | awk '{print $2}')" In all its glory! For Debian 10 and up, because Debian 10 is where the sysv to systemd conversion became totalizing. Let’s break down quickly why each part of this is needed: Since we are trying to add ourselves to the sudo group right now, we obviously can’t use sudo....

November 20, 2023

Art of the dotflag -- `.nojekyll`, `.gitkeep` and their ilk

This weekend I’ve been procrastinating playing the long game by getting some nice workflows set up for my TIL content repository and its associated website (cf Context, below). If all goes well, by the time I hit :wq on this TIL, it should invisibly trigger 2 Git commits, a Hugo build, and then appear on the site fully-birthed. One of the more interesting patterns I noticed was the .nojekyll empty file which I had to build to get GH Pages to stop tussling with my Hugo Action for turf....

November 19, 2023

A good place to symlink local builds

I’ve been a big fan of both spaced repetition in general and the Anki spaced repetition system in particular for a long time now. So today, after a fresh new install and blinging out of Ubuntu 23.10, I decided to take the next step, as I often do with programs I use a lot, and try to build and compile it myself. This turned out to be pretty easy! The docs warn that ....

November 18, 2023

No such thing as a Post-Push Hook

Tonight I was hacking away at some more little automations to make this TIL nice and presentable over at https://hiandrewquinn.github.io/til-site/. Git has a wonderful system called “hooks” which live under .git/hooks/, come loaded with examples so you can remember how they all work, and – surprisingly – don’t contain a local post-push hook! There’s post-receive, but that expects to be able to run a script on the server side – not helpful when I’m pushing to one of Github’s many, many anonymous boxes....

November 18, 2023

Multi-line string literals in Fish

The Fish shell has… interesting syntax for multi-line string literals. The only way I can reliably remember is to literally write them as multi-line literals, which does make a certain kind of brutalist sense: 1 2 3 4 5 6 7 8 9 function kiitos set thankyou '--- kiitos kaynnista ja tervetuloa uduelleen ---' echo $thankyou end kiitos reliably prints 1 2 3 4 --- kiitos kaynnista ja tervetuloa uduelleen --- , but man does it look funky to me....

November 17, 2023