Derry Hamilton
Derry Hamilton

Dad to cats, Uncle to actual humans.

Professional wire wrangler, bit banger, and database poker.

Kescocyl hot water cylinders
Kescocyl hot water cylinders

Derry Hamilton - 29/12/2025

Since Google doesn't appear to know, and it's AI makes silly guesses: When I was small, I remember seeing hot water tanks being fitted with the "Kescocyl" brand on them. I didn't think anything of it, but hey, random memories. Recently, I pulled out an old hot water cylinder,...

WSL2 vs Global Protect VPN

Derry Hamilton - 11/07/2024

WSL2 doesn't seem to play well with some VPNs, in this case "Global Protect". TLDR: Make sure IPv6 is enabled, and create %UserProfile%\.wslconfig with [WSL2] networkingMode=mirrored WSL1 works better, but that wont run Docker, and is now deprecated. The issue seems to be that the WSL2 networking is unusual. It doesn't (currrently) show...

Connecting a Cisco 8831 to Asterisk
Connecting a Cisco 8831 to Asterisk

Derry Hamilton - 03/11/2023

Cisco VOIP phones have the benefit that their advertised features usually work. At least minimally, once you've figured out the right incantation, and how to sidestep the broken bits. Which is more than can be said for most of their competition (stares hard at Avaya). The downside is that...

Microtik RB750gr3 vs. OpenWRT extroot
Microtik RB750gr3 vs. OpenWRT extroot

Derry Hamilton - 13/10/2023

The Microtik RB750gr3 is a very nice router for the money, and plays nicely with OpenWRT, too. However, it comes with very little flash, so it needs an extroot on a MicroSD card. Unfortunately, the stock OpenWRT 22 appears very picky about the card it will work with. ext4_check_descriptors:...

Disambiguating variables, or a “this” keyword, for plpgsql

Derry Hamilton - 07/11/2019

Some names, like account_number, or customer_id crop up in a lot of places, and when you’re juggling tables inside a plpgsql function, it can be a bit of a pain. Postgres allows you to disambiguate names by qualifying them with the function name, or the block name. CREATE FUNCTION app.a_long_function_name(id integer) RETURNS...