
Posts
2025

2022

KeepassXC as Secret Service
When running the Gnome Desktop Environment on Debian there is a secrets tool that automatically runs called Gnome Keyring. This tool provides multiple functions:

UK Petrol Prices
I recently repeated some analysis on the UK Petrol Prices. Slightly different from last time, instead of a large hand-written Excel workbook, I wrote a Python script that downloads and processes the data and creates charts from it. This also plugs into GitLab’s CI/CD functionality and, by making use of Hugo, creates a sort of dynamically updating page of charts. This is hosted over on my GitLab pages: https://thomasdstewart.gitlab.io/ukpetrolprice/

Cameras
Canon EOS 700D (2015) # https://www.canon.co.uk/for_home/product_finder/cameras/digital_slr/eos_700d/

Linux Networking Config
Linux Networking Config is a complex beast these days. In fairness networking is complicated, and there has to be a way to configure a multitude of technologies: Ethernet, Wi-Fi, PPP, VPN, mobile, bridge, bonding, VLAN, tunnels. Originally networking was configured during boot up in shell scripts as part of sysvinit. However over the last 20+ years many newer ways have popped up; this is a short comparison of the options.

Network Based LUKS Unlock
Recently I wanted to see if I could make my public cloud-based Linux infra more secure via LUKS (Linux Unified Key Setup) disk encryption. I realise that one must fully trust one’s cloud provider, as they have access to the hardware. However it would be nice to know that data is encrypted when stored on disk. This does not mitigate against a very bad cloud provider, as ultimately if they are determined enough they can get at the data. However implementing some sort of encryption does offer some protection against reading the data if disks are reused and certainly makes the barrier much higher for access casually.
2021

Rhubarb Wine
Method # Pick rhubarb, wash and cut into 1-2cm chunks place in container (20:00 21/07/2021 after cutting 3.348 kg) Add sugar at a 5:3 rhubarb:sugar ratio (21:00 21/07/2021 2.009 kg of sugar was added, mixed and left to stand) Wait for 36-48 hours (13:30 23/07/2021 all sugar dissolved) Filter into demijohn (2.4L therefore ~0.4L rhubarb juice) Use two teabags in a jug, add 300ml of boiling water, brew for 5 min, remove bags and top to 300ml add to demijohn Add 10 grams of raisins Add one heaped teaspoon of yeast into 5L demijohn Add water at a ~1:1.2 rhubarb:water ratio to fill 5L demijohn (2.5L so more like 1:0.75?) Take some liquid and read with hydrometer (60) Racked on 31st July, g read 0.988, eg (1.060-0.988)*131 = 9.4% abv

MOT Mileage
Recently when checking the MOT on my car using the Check the MOT history of a vehicle GOV.UK service I discovered that the entire car’s mileage history is recorded. This made me quite interested in my Toyota Celica 2002 mileage over the years. I first got it in 2004 when it was 2 years old, and the first MOT was in 2005. However it seems the service history starts in 2007, which, if I recall, was when MOT became a lot more electronic.
Pizza
Sourdough Starter # A sourdough starter is a way of making Sourdough. You can make it yourself by mixing flour and water and leaving it in a warm place over a number of days. Depending on the environment this takes up to a few weeks. Alternatively just get a few spoons of starter from a friend to kickstart your own! Just keep it in a pint glass with a cloth cover or beeswax cover.
libvirt, dnsmasq, NetworkManager, and systemd-resolved
Modern Linux can have complicated DNS setup. However this is now necessary, gone are the days when you could just set one static name server in /etc/resolv.conf and walk away. This little piece just documents how I’ve got my systems setup.
2020
Working with large PCAPs
Recently I helped troubleshoot a networking issue with a 1Gbps link that was being fully saturated. In the end we configured a mirror port and dumped the traffic to analyse it. We ended up with >1000, 100MB files covering a half hour window. I was not sure what to do with such a quantity of data ~100GB and in the end we looked at a few caps and found the issue. However I could not help but feel that because most of the caps only covered a few seconds that I was not really looking at the full picture.
Servers
kunzite # Kunzite was my main UML and latterly kvm virtual machine hosted by Bytemark, they are an amazing company, and I highly recommend them! It was long lived, kunzite was first installed on 18th October 2005 with 80Meg ram with 4GB of disk and it finished with 488Meg ram and 20G disk. I’ve migrated all services to another VM called beryl running on Bytemark’s BigV.
Hugo
My Tomsweb site has been on MoinMoin for 11 years and has served me well! However I’ve just migrated to a statically generated site builder called Hugo. It’s stored in gitlab.com/thomasdstewart/tomsweb/ and the CI/CD generates the pages and serves the content. So now I don’t need to run an Apache server anymore.
2018
2015
Kdump
I recently had to use kdump to do some investigation into why my Lenovo W540 started crashing with recent Linux kernels. It all started when I upgraded from Linux 3.14 to 3.16 and I started having random crashes soon after booting. Being lazy I just ignored it and continued to use the old kernel expecting the issue to go away. However try as I might the issue persisted in 3.17, 3.18, 3.19 and 4.0.
Port Knock with HTTP
Port knocking is the act of connecting to a port or sequence of ports that in turn opens up another port. There are many methods to do this; read more about them on the Port Knocking page on the Arch Linux wiki. I like just using the built in iptables module recent. I have used this for years to have port 22 closed unless the right port connection sequence is performed. This does not really give much more security, but it does clean up the system log from failed password attempts.
2014
How to extract a initrd with a microcode header
If you try to extract a initrd and only file some uncompressed cpio:
The Three Ts
The Three ‘T’s represent how one should approach the usage of USB memory sticks; being Temporary Transfer of Transient data.
