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 .gitignore setup 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 .gitignore setup 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.verticalTabs to true
  • questionable: sometimes setting sidebar.revamp to true is also necessary, but in my case it was automatically set.
/how-to/firefox/vertical-tabs1.png
Voilà! Vertical tabs
/how-to/firefox/vertical-tabs2.png
Resize the tab area with mouse to see tab names, adjust to taste.

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.verticalTabs to true
  • questionable: sometimes setting sidebar.revamp to true is also necessary, but in my case it was automatically set.
/how-to/firefox/vertical-tabs1.png
Voilà! Vertical tabs
/how-to/firefox/vertical-tabs2.png
Resize the tab area with mouse to see tab names, adjust to taste.

Welcome

Hello and welcome to tigger.dev


Welcome

Hello and welcome to tigger.dev


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
/how-to/firefox/youtube-rightclick-search.png
Right-click menu on YouTube URL in Firefox
  • Now you'll find YouTube in Firefox settings:
/how-to/firefox/ff-search-settings-youtube.png
YouTube search engine in Firefox Search 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.1

system updates …

Debian based systems

apt update && apt upgrade

Fedora

sudo dnf upgrade

you 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 helix

set 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.1

system updates …

Debian based systems

apt update && apt upgrade

Fedora

sudo dnf upgrade

you 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 helix

set 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.


← Newer