Filtering and searching in hledger
I am an advocate of plaintext accounting, and hledger is my go-to tool for this. A good summary of WTF and why on their landing page. All of the various bank accounts and cards I use have some sort of CSV or XML export function. Feeding these in to hledger gives me a powerful direct view on my finances that I can analyze in aggregate for budgeting and planning, but also zoom in to a specific transaction or range of transactions.
Filtering and searching in hledger
I am an advocate of plaintext accounting, and hledger is my go-to tool for this. A good summary of WTF and why on their landing page. All of the various bank accounts and cards I use have some sort of CSV or XML export function. Feeding these in to hledger gives me a powerful direct view on my finances that I can analyze in aggregate for budgeting and planning, but also zoom in to a specific transaction or range of transactions.
Auto-Deploy Hugo from Github
GitHub is pretty good with out-of-box options for auto-deploying Hugo or Jekyll sites to GitHub Pages. But say you have your own Linode (or any other) web server - you can still take advantage of GitHub Actions which is a surprisingly versatile piece of CI/CD automation to rival anything you can do on the big cloud providers.
Pre-requisites
- You have your Hugo site checked in to a GitHub repository
- You have a Linode (or other) web server with SSH access
- You have a good
.gitignoresetup so that the Hugo build files are not checked in to your repository a good Hugo example of .gitignore here
An example .gitignore that should be checked in to the root of your project:
Auto-Deploy Hugo from Github
GitHub is pretty good with out-of-box options for auto-deploying Hugo or Jekyll sites to GitHub Pages. But say you have your own Linode (or any other) web server - you can still take advantage of GitHub Actions which is a surprisingly versatile piece of CI/CD automation to rival anything you can do on the big cloud providers.
Pre-requisites
- You have your Hugo site checked in to a GitHub repository
- You have a Linode (or other) web server with SSH access
- You have a good
.gitignoresetup so that the Hugo build files are not checked in to your repository a good Hugo example of .gitignore here
An example .gitignore that should be checked in to the root of your project:
Firefox: Vertical tabs are here!
With the demise of Arc Browser, fear not, horizontal tabs are finally here in Firefox (with a little help).
It's built and deployed, just not yet set loose on the masses. But all it needs is a little tweak.
- Go to
about:config - set
sidebar.verticalTabstotrue - questionable: sometimes setting
sidebar.revamptotrueis also necessary, but in my case it was automatically set.


Firefox: Vertical tabs are here!
With the demise of Arc Browser, fear not, horizontal tabs are finally here in Firefox (with a little help).
It's built and deployed, just not yet set loose on the masses. But all it needs is a little tweak.
- Go to
about:config - set
sidebar.verticalTabstotrue - questionable: sometimes setting
sidebar.revamptotrueis also necessary, but in my case it was automatically set.


Firefox: How to add a search engine manually
Mostly you can add to your list of search engines just right-clicking. Why bother? Well, maybe you have a niche default search preference, but also it's extraordinarily handy for setting up shortcuts IMHO.
Example: add YouTube to Firefox as a search engine
- Go to YouTube
- Right-click the URL

- Now you'll find YouTube in Firefox settings:

If you give it keyworkd y for example, now when you type y laika party in the search bar, you'll get the YouTube search results for "laika party".
Farewell, the French Bulldog.
Some days I fear for the future of the human race with Generative AI (GenAI) and Large Language Model (LLM) research being industrialized at breakneck speed. And then some days the parlour trick is exposed.
There’s this fascinating idea floating around that AI might be – in a weird twist of poetic justice – slowly destroying itself. A paper published in Nature1 showed how AI eating its own outputs are, after a few short iterations, reduced to nonsense in a phenomenon researchers are calling model collapse.
Farewell, the French Bulldog.
Some days I fear for the future of the human race with Generative AI (GenAI) and Large Language Model (LLM) research being industrialized at breakneck speed. And then some days the parlour trick is exposed.
There’s this fascinating idea floating around that AI might be – in a weird twist of poetic justice – slowly destroying itself. A paper published in Nature1 showed how AI eating its own outputs are, after a few short iterations, reduced to nonsense in a phenomenon researchers are calling model collapse.
AI Image recognition: how good is it in 2025?
Some days I am jolted out of my own complacency.
Recently I was sent on one of those GenAI training workshops - I've been to many of them now as an IT consultant. Our clients and the whole business ecosystem seems busy getting up to speed on it. One the more interesting hands-on workshops had us test the image analysis capabilities of various models.
Funny how we take image recognition for granted now. I couldn't help be reminded of this xkcd cartoon from 2014.
AI Image recognition: how good is it in 2025?
Some days I am jolted out of my own complacency.
Recently I was sent on one of those GenAI training workshops - I've been to many of them now as an IT consultant. Our clients and the whole business ecosystem seems busy getting up to speed on it. One the more interesting hands-on workshops had us test the image analysis capabilities of various models.
Funny how we take image recognition for granted now. I couldn't help be reminded of this xkcd cartoon from 2014.
Setup & Harden a Linux Server
ssh in to the box …
ssh root@192.0.0.1system updates …
Debian based systems
apt update && apt upgradeFedora
sudo dnf upgradeyou are probably going to want a decent editor
## fedora ##
dnf install -y neovim
# or
dnf install -y helix
## debian based ##
sudo apt install -y neovim
# or
add-apt-repository ppa:maveonair/helix-editor
apt update
apt install -y helixset hosts
edit /etc/hostname or
hostnamectl set-hostname my-host-name
edit /etc/hosts with public IP and FQDN (fully qualified domain name)
Setup & Harden a Linux Server
ssh in to the box …
ssh root@192.0.0.1system updates …
Debian based systems
apt update && apt upgradeFedora
sudo dnf upgradeyou are probably going to want a decent editor
## fedora ##
dnf install -y neovim
# or
dnf install -y helix
## debian based ##
sudo apt install -y neovim
# or
add-apt-repository ppa:maveonair/helix-editor
apt update
apt install -y helixset hosts
edit /etc/hostname or
hostnamectl set-hostname my-host-name
edit /etc/hosts with public IP and FQDN (fully qualified domain name)
Org markup test
Org markup test page
This is an L2 header
We want to test how well org markup is rendered in by hugo and the go-org library.
Paragraph text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Liberalism
As explained by Marvin, the depressed robot from the Hitchhiker’s Guide to the Galaxy
Ah, the mind-numbing verbosity of human literature, endlessly expounding upon the complexities of liberalism. It’s quite the downer, really. These so-called liberals, with their relentless pontificating on individual rights, liberty, and whatnot, can’t seem to keep it brief. They wallow in a sea of interpretations, each more convoluted than the last, all while claiming to champion private property, market economies, rights, democracy, and other such lofty ideals. The endless tedium of it all.
Liberalism
As explained by Marvin, the depressed robot from the Hitchhiker’s Guide to the Galaxy
Ah, the mind-numbing verbosity of human literature, endlessly expounding upon the complexities of liberalism. It’s quite the downer, really. These so-called liberals, with their relentless pontificating on individual rights, liberty, and whatnot, can’t seem to keep it brief. They wallow in a sea of interpretations, each more convoluted than the last, all while claiming to champion private property, market economies, rights, democracy, and other such lofty ideals. The endless tedium of it all.