Practical.li provides free online books covering practical guides to Clojure programming and development workflows. Practicalli Engineering Playbook contains specific guides across the full spectrum of software development.
All sponsorship funds are used to support the continued development of Practicalli series of books and videos, although most work is done at personal expense and time.
Its mostly raining so I am taking the opportunity to go through all my files and notes from the last decade. Reviwing which info is still useful, what needs refreshing and what can go to the digital heaven 🙂
I got out for two cycle rides this week, Tuesday for a ride to Melia's Cafe and Saturday Club ride.
Saturday afternoon I helped with my neighbours plumbing. The boiler was banging, so I topped up the hot water tank from the mains. The heating failed to come that morning, so I also reset the boiler and used the manual switch to send hot water to the boiler. That evening the hot water was going to the radiators according to the set schedule.
I am doing a big cycling challenge in Summer so January is the month to check I can still ride my bike and everything on the bike is running smoothly.
The number of days with nice weather for cycling may be few and far between this month. Ideally the weather should be above 5 Celcius and dry conditions, especially for cycling around the Kent countryside.
I have been doing some post holidays shopping on line, mostly winter kit and improvements to the bicycle.
The United Kingdom is feeling the force of the arctic thats to high pressure subsuming the gulf stream. This week will be very cold with ice around on roads and paths.
Walking will continue to be the main exercise until the weather is more conducive to cycling.
Started planning for the Dragon Ride event in summer. I've ordered new jockey wheels to make the chain run very smooth, a smaller saddle bag, a lighter light and some cycling kit to keep me warm on colder rides.
Started 2026 with a Park Run (jog) with a Strava time of 27 minutes 46 seconds, but that doesn't seem right as I think my fitness tracker got confused. My Park Run recorded time was 35 minutes and 25 seconds, which isn't bad considering I was a minute late to the start
My injuries continue to recover. I have some exercises to help with 'tennis elbow' and 'trigger finger' in my left arm and hand. An icy walk to the Podiatrist on Friday confirms that the diabetic ulcer has pretty much gone, so now I can start testing activities to see if any of them stop the ulcer from completely healing or getting worse.
Started the slow migration from Material for MkDocs to Zensical. The first step is to create a new book with Zensical before migrating existing books. I've started by creating Practicalli Cycling.
Preparing for a lot of cycling in the new year with some shopping for bicycle and general winter items.
Shimano R8000 Cassette, 11-32
Shimano HG701 Chain
Cospo Cadence sensor (the Garmin sensor got lost some where)
Insulated stainless steel water bottles - stop my water getting even colder during the winter months
neck warmers, with breathable mesh around mouth (stop the warmer getting too damp)
mini bike chain pliers - small enough to carry in top bag in case of issues with chain
XOSS XL400 light - a lighter weight light for shorter rides (up to 4 hours)
mini cycle saddle bag - a compact bag for TPU inner tubes which should not obstruct the rear light mounted on the seat post
Testing out the reliability of the NAS raid array by watching some classic movies via the DNLP server.
The winter holiday season is usually a quiet affair for me as friends and family are dispersed all over the planet. I do not follow a religion although I do appreciate the sun rising every day. I have cats to keep me company and I also look after my neighbours cat for a few days.
Winter is when I do less cycling outside, especially when there is a risk of ice. Instead I work on my core muscles with yoga and occasional brave the outside for a Park Run. I have had an injury on my foot which has taken a few months to heal (as I have been very active), so Park Run events for me will be a brisk part walk (maybe running for the last 50 meters).
Started to consider what this year has meant for me by looking at other peoples 2025 round-ups. The most enjoyable roundup so far is Kermod & Mayo's Best and Worst Films of the Year, which also included best TV shows (that Mark Kermod has watched) of the year.
I have a Network Attached Storage (NAS) device at home as a convenient central backup for work and media files. The NAS was configured with a RAID6 array, but unfortunately two disks in the RAID 6 array had failed. I discovered that changing 2 disks on the RAID array was not necessarily a safe option, especially if yet another disk became faulty during the rebuild (which can take many hours).
I am attempting again to recover the RAID array. If that fails, I will rebuild the NAS with 2 separate RAID6 arrays, increasing further the resilience of the storage in case of hardware issues.
Eventually I will replace the 'disk' drives with solid state storage devices (SSD), especially as a 4TB SSD can be found for around 160 GBP. Using SSD rather than spinning 'disks' also makes the NAS device really quite.
NOTE: I have other backup mechanisms as RAID should not be used as a permanent backup solution.
Entertainment this week included
Blakes 7 season 3 (usually watched as I fall asleep)
Slow Horses season 5 - excellent show that keeps my gripped (watched the first 4 episodes in one night)
Pol1bus - wonderfully funny and quirky show (I am not sure if I am rooting for the right protagonists)
Foundation season 1 & 2 - watched again in preparation for season 3 this week
Dr Who - watching Jodie Whittaker as the Thirteenth doctor and really enjoying the depth of stories that are portrait
I have completed my 6,000 km distance goal for cycling, so I will focus on other activities such as walking and yoga. I aim to get into a rhythm of 3 yoga sessions a week, which will stretch my muscles and help with my breathing.
A new month means its time to update dependencies across all projects. Although antq has proven very good at reporting outdated dependencies for Clojure projects and GitHub actions, it is quite a niche tool and something extra to learn or maintain a config for.
When reviewing options for liquida/antq there was a link to ... GitHub workflow that generates a PR with all the dependency updates. This project is now in maintenance mode and recommends looking at the Renovate GitHub action.
So I decided to create a CI workflow using Renovate that generates a pull request to update Clojure library dependencies and GitHub actions.
Rather than write this myself, I felt it was a useful task to ask an LLM tool to tackle. I felt confident I knew how to write a clear question (prompt) for the LLM tool. It was also a small enough task that I wouldnt blow all my 'free' tokens. I also hoped that it was a simple enough task that I wouldnt have to keep refining the question to get the response I needed.
The reply should be simple enough that I can understand, as I already have plenty of experience writing GitHub workflows and configurations for the tools used by a workflow (e.g. Megalinter).
Unfortunately the resulting Renovate.json configuration doesnt like Clojure, so AI seems to have failed quite badly (or was too optimistic).
Taking my usual approach of an Internet search, I discovered the Mend App, which is described in more detail in the Mend for GitHub.com docs.
The Mend app kind of works but still seems to require some manual intervention (pressing buttons on developer.mend.io app) and only supports (or only configured for) maven dependencies and not git updates, e.g. seancorfield/deps-new.
The results of the discussion with the LLM are documented in this post and the results were also published to the web:
It is getting noticeably darker now, before I finish 'working' on Practicalli content and other computer things.
At the end of last week I contributed questions to the next Clojure Survey, which I assume will be out in early January 2026. I also shared some thoughts about why this information was useful to capture.
The days are very cold now, especially when the day is not sunny. I am determined to get out on the bicycle for several rides each week.
Previously I've have added SSH keys to my GitHub account via the GitHub website. The GitHub CLI can add SSH keys, which is more convenient that copying the contents of the public SSH key into the website. I still need to figure out a good way to cache an SSH passphrase in a key ring when not using Gnome desktop. I use the SSH key for signing a commit, so need to enter the passphrase for each commit.
Friday was house maintenance, replacing the valves for the heating system top-up loop. Now I can top up the water pressure for the heaters when ever needed (which shouldn't be very often). My neighbors boiler started making a huge banging noise when the pressure was very low, so I can avoid this situation myself (I've heard at least one other neibour have the banging boiler problem this week, but couldnt figure out where exactly it came from as its a base sound and travels).
For a distraction this week, I am continuing to watch Blakes 7, Doctor Who (Matt Smith, Jenna Coleman) and Battle of the Planets (possibly the first Americanised Anime).