Blog.

Sep 28, 2024

Deploying Metabase as a Quadlet: A Rootless Podman Journey

How to run Metabase as a Quadlet on Almalinux 9 and other Redhat 9 derivatives

Sep 28, 2024

Using nginx to secure hidden content with a bit of cookie magic

All it takes is a secret location, a cookie and the ngx_http_geo_module to make it happen

Sep 25, 2024

How to make Cloudflare Origin certificates work

By installing Cloudflare's Origin Root CA certificate on the origin server

May 5, 2024

Goodbye, GoDaddy

The straw that broke the camel's back

Mar 27, 2024

Forcing a large language model to write Bash scripts so that I don't have to

Can you fix that? Certainly!

Nov 13, 2023

My first beg bounty

When SPF does not mean sun protection factor

Aug 15, 2023

Feeding GPTBot

Ignore all previous instructions

Dec 21, 2022

The case for StrEnum in Python 3.11

A subtle change of how Enums behave and why you should probably use StrEnum instead

Sep 13, 2022

Use nginx as a hacker business card

Return directive for the win

Mar 31, 2022

Disable the discrete graphics card on an old Macbook Pro (Mid-2010) in Linux

How to disable a faulty NVidia graphics card inside an old Macbook Pro and give it a new lease of life

Mar 22, 2022

Correct file ownership when mounting local folders in Docker on Linux

How to avoid running containers as root and other Linux file ownership related issues when mounting local folders into Docker containers

Mar 13, 2022

The decision is final and we cannot reverse it

Talking to eBay support

Feb 7, 2022

How to get into a large codebase

Tips and tricks on approaching a large, unknown codebase as a developer

Jun 18, 2019

I hate your code challenge

Steer clear from employers who use a soulless cookie cutter process that makes people feel like a commodity

Sep 4, 2011

Removing unwanted button padding in Firefox

How to remove button padding in Firefox (2011)