Michael Welford

Michael Welford

Michael Welford

Hey — it’s Michael Welford, your Internet friend. Serving up tasty bytes from the HTTP oven. I infrequently post about tech and profound half-baked ideas, what I learn daily, and make stuff from time to time. Now and then, I update what I am up to, now and then. Since you have made the effort to visit, why not drop me a line? I’d love to hear your musings.

Latest Posts

…The original machine had a base-plate of prefabulated aluminite, surmounted by a malleable logarithmic casing in such a way that the two main spurving bearings were in a direct line with the pentametric fan. The latter consisted simply...
Whilst re-instating rsync in my blog publishing script (static IP! Hurray!), I came across the well named zparseopts that, surprise, simplifies script options parsing in Zsh. Immensely. Check it: zparseopts -D -E -F -- \...
How shall I thank thee, let me count the ways: Should I thank you for pirating the entire historical output of creative humanity and then asserting ownership of your loot? For destroying education? For raising utility rates and killing...
Stats time! Last year I crafted a script to generate basic plots from Git commit data. This year, we take that a little further by automating the image generation part using VHS. Lo and behold, now via a little ./yearly.sh we get this...
Yes yes. I know, I know. Did the previous blog design need anything? Was any of it that bad? Well just like a marriage, familiarity breeds contempt and the rough edges started to grate. Although unlike a marriage I have complete control...
When working with web apps (boo) such as Confluence and Jira one occasionally wants to grab a tab and have that side by side with another tab. Yes you can drag it free with a mouse (yuck) but that can be fiddly when you have a window...
Whilst doing some Karabiner configuration spelunking I came across a blog post that had some neat styling of keyboard shortcuts. As one does, I inspected the code to find an element, <kbd>, that I have never seen before. Cool! Before...
It is a regrettable historic error that the date uses the American convention of putting the numerical month before the day. O rly?!
I had a yearning to rename some tags across all my blog posts. Critical stuff such as going from tmux to Tmux. Incredibly critical. Anyhoo, after some “Clauding” and fixing I came up with: hugo-rename-tag() { TAG=$1 REPLACE=$2 if [[...
I had a yearning to rename some tags across all my blog posts. Critical stuff such as going from tmux to Tmux. Incredibly critical. Anyhoo, after some “Clauding” and fixing I came up with: hugo-rename-tag() { TAG=$1 REPLACE=$2 if [[...
The Neovim Oil plugin makes file system operations simples. For example: Yes, Ranger and Yazi support batch file renaming but with Oil you can also create and do things in other directories at the same time. For ease I have an alias of...
The Neovim Oil plugin makes file system operations simples. For example: Yes, Ranger and Yazi support batch file renaming but with Oil you can also create and do things in other directories at the same time. For ease I have an alias of...
For screen recording, I find CleanShot X the best mac app. Given its ease, struggling to find a clean (hah) way to record a GIF and then effectively paste that right into a blog post, irked me. PNGs proved no problem but GIFs, no dice1....
For screen recording, I find CleanShot X the best mac app. Given its ease, struggling to find a clean (hah) way to record a GIF and then effectively paste that right into a blog post, irked me. PNGs proved no problem but GIFs, no dice1....
Don’t you love when your customisations clash? I find it hilarious. Let’s say you have this in your clipboard: One Two Three FourYou paste that into Neovim and want to turn that into a numbered list. So into visual block mode and shift+i...
Search Random