Uniform style for Qt apps on Ubuntu

While trying out ghostwriter, an alternative markdown editor, on Ubuntu 22.04 it was starkly noticeable that the application’s menu bar was using a light theme while the OS was set to dark theme. This is not unexpected since this is a Qt app from the KDE desktop ecosystem running on Ubuntu with Gnome desktop environment. The solution to this styling issue is to manual specify a theme for all Qt apps and this can be best achieved with Kvantum with the custom KvYaru-Colours theme.
Read more →

Workaround VSCode context menu bug

My now go-to editor VSCode has a frustratingly persistent right-click context menu bug which I finally have a workaround for.
Read more →

Docker localhost domains with Traefik

When working locally with many Docker services you can often find that a service or application is unable to start due to ports already in use by another service. We can use Traefik reverse proxy to provide localhost domains for those services instead.
Read more →

Logo text Easter Egg (Shuffle Text)

I came across a visually appealing text shuffling effect, recreated by Hyperplexed that would be interesting to implement as an Easter egg when hovering over my site logo. This blog is generated using Hugo, styled with Terminal theme so the original code would needs to be modified to accommodate that. I also wanted it to handle the capitalisation of my logo text, convert the JavaScript to TypeScript and use a cleaner code style.
Read more →

What happens when… Django Request Lifecycle

Django Request Lifecycle interview question
Read more →

Debug Github Actions with act

Leave a project’s unconstrained CI workflow unattended for long enough and it will start failing… I find myself once again discovering that the Deluge project’s CI pipeline is in an inexplicably broken state. It has been several months since I last checked in on GitHub Actions but it seemed like the pytest run was stalling until the job timed-out or manually cancelled. With no readily available error output and pytest running fine locally this was rather puzzling.
Read more →

Search for small compact Andoid phone

I have always had a preference for small, light, feature-full phones to nicely fit in my hand and pocket. One of the smallest phones I’ve ever owned was the incredible Sony Walkman W880i but with the rise of smartphones I had to move with the times so my current phone is the Sony Xperia XZ1 Compact. XZ1 Compact quick specs Size: 129 x 65 x 9.3 mm Display: 4.6 inches Weight: 141 g Camera: 19 MP RAM: 4 GB Storage: 32GB + SD Card Slot The XZ1 Compact has served me well since 2019 and I would consider it almost perfect for my needs in terms of size and functionality.
Read more →

OpenWRT Oil Level Monitoring

This is part 2 of an incremental series of posts on monitoring the heating oil usage for the house. part 1 is here Capture packets from the air In my last post I decided to capture the messages sent by the Watchman oil tank monitor with a USB RTL-SDR. Since then I have tested this out with the rtl_433 software and managed to capture the sensor data on my laptop:
Read more →

Monitoring heating oil level (part 1)

I have been attempting to automatically monitor the amount of heating oil used for the house central heating and this series of posts details my progress so far. A little background; we live in a rural cottage with an oil-fired central heating system fed by a 1200 litre capacity oil tank in the garden. The oil tank needs to topped up every few months and with oil prices fluctuating weekly it’s useful to know the historical usage to predict if it is worth waiting for a drop in fuel price.
Read more →

Welcome

Hey, welcome to my site! I’m Calum and here I will collect thoughts and details about myself and my work.
Read more →