Problems with ancient date-time values
A journey into ancient timestamps, year zero, magic dates and why using date-time fields for offsets or missing values can break systems in surprising ways
Creating a new TypeScript project in 2023
Build a complete TypeScript project from scratch with modern ES2022 support, Node.js, testing, linting and editor setup - without piecing together half-finished guides
Adding typescript-eslint to a project
Quickly configure typescript-eslint with strict type checking, stylistic rules, naming conventions, unused parameters, npm linting and WebStorm integration
macOS on AWS
Need to test macOS without owning a Mac? Run macOS on AWS to reproduce Docker issues, test workarounds and help your Mac-using colleagues
Docker and K3d on macOS with bridged networking
Run Kubernetes locally on macOS with Docker and K3d, using bridge networking to access services without port forwarding—ideal for testing without cloud costs
Confluent S3 Sink Connector EOS
Why Confluent's S3 Sink Connector can't guarantee both exactly-once delivery and scheduled S3 updates, with worked examples, buffering, duplicates and alternatives
Switching to swapfile on linux
Replace a fixed Linux swap partition with a flexible swapfile, reclaiming disk space and avoiding live USB partition resizing when swap needs to change
Shrinking LUKS encrypted LVM2 EXT4 filesystem
Safely shrink an EXT4 filesystem on LVM and LUKS from a Linux live USB, reclaim space, create new filesystems and resize the encrypted partition
Nvidia drivers on Debian and Ubuntu
Troubleshoot NVIDIA drivers on Debian and Ubuntu, including Secure Boot, DKMS, /boot space, black screens, suspend/resume, nouveau and GPU testing
Growing EXT4 LVM filesystem to use all free space
Grow an EXT4 filesystem online with LVM in three simple steps - back up, extend the LV into free VG space, then resize the filesystem to fill it
Flatpak Firefox + import Firefox profile from Snap
Move an existing Firefox profile from Ubuntu to Debian Flatpak Firefox, including Snap profile discovery, copying the active profile and troubleshooting imports
Fix/Setup grub + LUKS (fix grub/bootloader)
Rescue a Debian system with GRUB, LUKS and LVM after a broken bootloader or debootstrap install, using a Live USB, chroot, initramfs and EFI repair
Fix Druva backup crash on Linux with Nvidia
Fix Druva InSync crashes on Linux with Nvidia GPUs by disabling Electron GPU acceleration, with a simple patch and advice for surviving application upgrades
Upgrading to Debian 12 from whole disk Ubuntu + LUKS
Install Debian 12 in place without wiping an existing LUKS/LVM disk, using debootstrap, chroot, UEFI, GRUB and a fresh root filesystem
Your own Kubernetes environment
Build a complete single-node Kubernetes lab with K3s, local storage, MetalLB, Istio ingress, TLS and DNS for testing services on spare hardware or EC2