Home / Programming
Programming
Automate KVM Virtual Machine Backups using Bash, Virsh and Rotate-Backups
In the world of self-hosting and home servers, having a reliable backup strategy is paramount. If you’re running KVM virtual machines (VMs) in your home lab, you know that manually backing up these VMs can...
Featured I wrote a PDF scan clean up & optimisation tool using Bash, GNU Parallel, ImageMagick convert and Python Tkinter
Anybody working with scanned documents faces this issue: Scanned PDFs are often low contrast, contain scanning artifacts such as book comb bindings, and are skewed and rotated somehow. This not only makes them difficult to...
MealPrepTimer: The Ultimate Kitchen Timer App for Home Cooks (Update: Timer Assignment UI Overhaul)
MealPrepTimer is a unique kitchen timer app designed from the ground up to help home cooks become more efficient, organized, and successful in the kitchen. With its innovative timer assignment system, customizable presets, and gamification...
Featured Taking playlist randomisation into my own hands – using Javascript to improve Spotify’s Broken Shuffle
Have you ever noticed that when you use Spotify’s shuffle feature, you always end up hearing the same songs over and over again? It can be incredibly frustrating to hear the same music all the...
Featured Meal Prep Timer App Launch – Free Download for Limited Time
I am excited to announce my first Android app launch on Google Play. As a meal prepper and home cook I wanted a convenient way to manage multiple timers easily in the kitchen. Existing apps...
Docker could not find an available, non-overlapping IP address pool
I ran into this issue when setting up Docker on a new development machine at work. The full error message is included below where Docker is unable to find an available address pool for the...
PouchDB TypeError: Cannot set property ‘_rev’ of undefined
I faced this strange defect with PouchDB. Turns out its related to database corruption in dev environment caused by hotloading and killing the browser for rapid development purposes....
Github Workflow for Electron React Boilerplate with Auto Updates
Electron React Boilerplate is a great template repository for getting started with an Electron application built with React and Redux. I had some trouble getting a release and packaging workflow going. This post contains an...
Generating JavaScript API Clients from Open API specifications.
In this post I show you how to configure auto-generated OpenAPI specifications which can be used to tell the frontend how to talk to your API....
Migrating your blog from Jekyll to Ghost
There are many tools out there that do this job, but I ended up having to customise one script heavily to fully migrate my markdown-based Jekyll blog to Ghost....