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.
After a curious question in the Conjure channel of Clojurians Slack I decided to experiment with debugging Conjure itself. The issue was the first evaluation command not finding the current namespace, although successive evaluations worked correctly.
Compilation and install of a TUI app to play music from YouTube, which has an excellent selection of music available. I prefer using the TUI to the YouTube Music website.
A quick trip to the Coney Hall cycle shop fixed a troublesome hub in the rear wheel, checked with the mechanic on how to assemble the compression plug, donation of an old rear wheel, and collection of a 100mm and 110mm stem to test out the correct length for a good bike fit.
My rim brake wheels are starting to wear out, after 20 years of riding. I will seek out some Fulcrum wheels so I can keep the original look. Fulcrum Racing 5, 3, 1 or zero wheels are options. The Racing Zero wheels are the lightest at around 1430 grams, as they use aluminium bladed spokes. Probably nicer than some of the cheaper carbon wheels.
A review of my tennis elbow and trigger finger with the local GP. I am being referred to advanced Physiotherapy to see if I need an injection in my finger to relieve the locking. From the x-ray of my hand there was no sign of Osteoarthritis (yet) although my blood test did indicate markers for rheumatoid arthritis.
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: