Block abusive IPs based on 404 error rate using HAProxy

I’ve been using HAProxy for a very long time. In most cases, I work on stuff where HAProxy configuration fits into the fire-and-forget category, with occasional tweaks to ACLs, redirections, and throttling. But, now and then I find myself in a situation where I end up solving a certain problem with HAProxy, but in a, let’s call it, creative way.

Encrypt Ansible variables with SOPS

SOPS (Secret OPerationS) is a useful tool for encrypting sensitive data, but it doesn’t get enough praise. It supports full file encryption, and value encryption in structured data formats such as YAML, JSON, ENV, and INI. You can choose different encryption methods, such as age, PGP, Vault, and KMS (AWS, GCP, and Azure).

OpenWRT and the 802.11s mesh network

Recently I wanted to improve the WiFi coverage in my house. My trusted Linksys EA6350 v3 wasn’t able to cover to full square footage, so I got a second router to fill in the wireless gap - the TP-Link Archer C7 AC1750 v5.

Bash completion for aliases

Bash completion is a wonderful feature that allows you quickly compose complex shell commands. Add muscle memory to the mix, and one-liners will appear on the screen as if you were typing with 20 fingers. Add Bash aliases on top of that, and… you’re back to square one.

Configure Lenovo Thinkpad T480s fingerprint reader on Debian Bullseye

The fingerprint sensor on Lenovo Thinkpad T480s is not supported by libfprint, so you can’t use it out of the box. Thankfully, there’s a project called python-validity based on open-fprintd that’s easy to set up in, like, 5 minutes. Setup python-validity is available from open-fprintd PPA.