Ian's Notes
Recent content on Ian's Notes
- Posts
- 96 from 6 Sep 2020 to 12 Sep 2026
- Posting
- now and then (3 in the last year)
- Kind
- personal blog
- Feed
- https://ivdl.co.za/index.xml
2026 2
2025 12
- Newly attached LVM disk not detected on Linux
- WordPress: failing loopback requests and forbidden REST API
- Creating a Swiftbar plugin for Forticlient VPN connections with 1Password integration
- Dynatrace DQL tidbits - Part 1
- Multiline grep for indented lines in log files
- RHEL DNF: None of the providers can be installed
- Crucial P310 M.2 NVMe drive not detected on ASUS AsRock B450 Steel Legend: A three step fix
- A quickstart guide to setting up a C development environment on Vim
- Chaining sudo on SSH to run PostgreSQL queries and dumps remotely
- Copying a file that requires sudo access from a remote host via SSH
- Firefox has built-in vertical tabs now
- Remove DisplayLink icon from Mac OS menu bar
2024 32
- PostgreSQL: unrecognized configuration parameter lc_collate
- Radeon RX 7800 XT OC stuttering frames on Linux: a couple of fixes
- CPU temperatures missing from lm-sensors on Linux
- Pretending to be PostgreSQL: Part two - responding to queries
- A quickstart guide to CloudNativePG on Ubuntu and Mac OS
- Where does the name Vondelpark in Amsterdam come from?
- PostgreSQL streaming replication characteristics on UNLOGGED tables
- Upgrading from PostgreSQL 16 to 17 installed with Homebrew, on an Apple Silicon Mac
- The quickest way to update all fields in a Microsoft Word document on Mac
- An OpenSSL oneliner to check the expiration of your PostgreSQL server (or pooler) certificate
- Quicker recovery from PgPool-II defunct process state during a PostgreSQL backend failover
- Using hyphens in hostnames on Ansible
- Apple TV remote no longer controls Samsung TV volume: A quick fix
- Connecting to PostgreSQL using Oracle SQL Developer with different database and user names
- Fixing Ansible SyntaxError: future feature annotations is not defined
- Essential, open source Mac apps
- Achieving a 100x speedup of DELETEs on PostgreSQL
- Estimating the disk space needed for a VACUUM FULL on PostgreSQL
- PgPool-II: Unable to get session context
- A room with a view of the PostgreSQL autovacuum
- Synchronising a PostgreSQL identity sequence with the contents of the table
- Beware of EuroDNS
- Spoegwolf - Sterre
- Ansible node unreachable
- The infinitely patient vacuum - a case study of what happens when the PostgreSQL VACUUM never completes
- Detecting VMWare vMotion migration events on Linux virtual machines
- PgPool-II: Degenerate backend request for node_id is canceled because failover is disallowed on the node
- You need not meander to the truth
- Pretending to be PostgreSQL: Part one
- Demystifying HTTP with Telnet
- What do Norway and Namibia have in common?
- PostgreSQL and HikariCP: Connection marked as broken
2023 28
- Adding a reload verb to a SystemD unit file
- PostgreSQL replication: LSN has been already streamed, forwarding to LSN
- Monitoring PostgreSQL logical replication using Telegraf, Prometheus and Grafana
- Telegraf: [inputs.disk] Collection took longer than expected
- Adding your Dutch entry visa to your KLM booking checklist
- PostgreSQL: All replication slots are in use
- Upgrading from PostgreSQL 15 to 16 installed with Homebrew, on an Apple Silicon Mac
- Veeam snapshot overflow (Veeam Agent for Linux)
- Missing dhparam.pem file
- Freezing the top row of an HTML table without JavaScript
- Monitoring MegaRAID arrays using Telegraf and megaraidsas-status on Linux
- Fixing Waiting to upload for iCloud in Mac OS Finder
- Finding the database for a Django model class and instance
- Upgrading from PostgreSQL 14 to 15 installed with Homebrew, on an Apple Silicon Mac
- PostgreSQL extension does not exist
- How to add an iCloud shortcut to your Mac home folder
- Using the unicode matching pattern for any alphabetical letter in JavaScript regular expressions, and splitting character strings according to regex
- Debugging high kernel thread (kworker) CPU usage
- Returning multiple values from a JavaScript function, and unpacking an array into function arguments
- Django: Decimal is not JSON serializable
- Extending Django templating to create dynamic, nested templates
- Constructing an automated workflow based on the Django manage.py inspectdb command
- Using the Django _meta API to write generalisable code within the confines of the ORM
- Running cross-database (and across different hosts) queries with PostgreSQL foreign data wrappers
- Adding an auto incrementing SERIAL primary key to an existing PostgreSQL database table
- DSpace 7: No _links section found at https://{host}/server/api
- SSL_ERROR_NO_CYPHER_OVERLAP after adding HTTPS site to Cloudflare
- Microsoft 365 for Business: Check the info you entered. It doesn't match the info for this card.
2022 5
- Using a PostgreSQL trigger to rotate logs in a table
- Database class missing following DSpace upgrade from 7.2 to 7.3
- Apt socks5h proxy settings fail when specified on the command line
- Debian 11 Bullseye failing to connect to network with Intel XL710 10GbE adapter
- Fixing the SSH forwarding error "administratively prohibited: open failed"
2021 8
- In-depth tech talks
- A look back at some older 16-bit shareware games for Windows
- Using multiple databases for a single Django project
- Forwarding a port from an LXC host to an LXC guest via Shorewall
- Granting restricted SSH access for the purposes of port forwarding only
- Setting up Shorewall for LXC container network bridging and routing
- Fixing a purple/green colour effect during gamma adjustments using the Nvidia driver on Linux, and enabling the RGB colour space and full colour range
- Cloudflare WARP+ Unlimited on Linux - quickstart guide
2020 9
- Building DSpace 6.3
- LXC containers quickstart guide
- Dotfiles
- Monitoring thermal throttling
- Monitoring ADSL traffic on my ASUS DSL-AC52U router
- CSS accommodations for dark mode
- A web development checklist
- Retro scrollbars for Ubuntu (GTK3) programs, such as Firefox
- Prevent Dota 2 from constraining the cursor to the game window