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
One has to be aware that human speech and writing is being influenced by LLMs, and thus they are becoming more similar. This was already evident in 2024, as shown by a study that detected a significant LLM influence in spoken content...
As a special snowflake, one tends to want to make modification to tool configuration without messing with colleagues or make those changes a part of the project. For example, let’s say you have a pyrightconfig.json file in your project,...
If you customise Tmux a lot, inevitably you will run out of ways to cleanly map keys (or they have become a mess) and you will yearn for another “leader” or “prefix” to bind to moar mappings. For some, it’s a case of when, not if. My...
…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...