blog
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
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:...
Aberlady X-Craft
Derry Hamilton - 31/05/2015
A potter round Aberlady nature reserve, and some photos of X-Craft. ...
An Antenna Bracket
Derry Hamilton - 02/02/2015
I was looking for an antenna bracket that would fix to a camera tripod, and allow vertical antennas on 2m/70cm, and a pair of HF whips horizontally. No such thing appeared to exist, so I designed one. The easiest way appeared to be to use Schaeffer‘s Front Panel Designer. It...
articles
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...
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...
Why does Postgres call Rows Tuples?
Derry Hamilton - 21/11/2018
Postgres isn’t alone in referring to rows as tuples; it’s a term from mathematics, specifically it’s used in relational algebra which technically underpins the relational model. But there are other reasons… Postgres was (re)built from the ground up as an Object-Relational Database. So while the most common place people...
Changing Postgres Foreign Data Wrappers
Derry Hamilton - 28/09/2017
Migrating from a commercial server to Postgres meant that we needed to change the underlying connection type for the Foreign Data Wrappers. At this time, there’s no ALTER SERVER command that will do the job, but it’s possible to update the system tables instead. UPDATE pg_foreign_server SET srvfdw = (select oid...