Skip to content

OMG its hot

Temperatures over 30 Celsius means more cycling, as moving on the bike is an excellent way to keep cool.

Practicalli tasks this week:

  • Attend Clojure Dev Call 26th May (Missed, watch video)
  • Fit Dell monitor to arm, with RogueOne laptop
  • Fit LG monitor to arm, with RangerOne laptop
  • Check OBS setup for creating screencasts
  • Review scripts for Neovim screencasts
  • Update book publishing workflow to use Zensical

Bike maintenance tasks this week:

  • Bianchi flight controller adjustment
  • Bianchi new bar tape
  • DONE: Ribble deep clean chain, cassette & derailleur
  • DONE: Ribble fit Fulcrum wheels with Vx disc brake rotors
  • DONE: Ribble adjust brake disc calipers with Vx disc brake rotors (the back rotor is good, getting Erick to sort the front)

Clojureλ︎

Attended the Nubank webinar where Arne Brassur presented the lambaisland/cli library and demonstrated how to write a command line tool using a babashka script.

An important goal of the library was to be able to create command line tools that follow the standard Unix/Linux convention for positional arguments (flags).

The library can be used within a Clojure source file for Clojure CLI or a Clojure script for Babashka.

Clojure CLIλ︎

Create a Clojure file, .clj and add the respective namespace, requiring the lambdaisland/cli library.

bin/dev.clj
(ns dev
  (:require
   [lambdaisland.cli :as cli]))

Define commands as a standard Clojure function definintion, i.e. defn. A doc-string will be used as the default description of the command.

(defn run
  "Run the code with clojure.main
   Call the `-main` function of the main namespace of the source code"
  ,,,)

Multiple sub-commands can be defined in a (def commands) expression, including meta data for each command.

(def commands
  ["run"
   {:flags ["--type main|exec"]
    :commands #'run
    ,,,}])

lambaisland/cli library

Cyclingλ︎

I noticed that the rear derailleur cage is a little loose on the Ribble bike (Deadpool). Looking at some maintenance videos on YouTube I understand how to remove the cage.

This week I will remove the chain and rear derailleur to give them a really good clean. With luck the 'wobble' can be fixed easily.

If the cage is damaged, then I will consider getting an oversized cage for even smoother chain performance.

Oversized Cage for Rear derailleur

Tiffin at Chiddingstoneλ︎

Went for another ride to the village cafe in Chiddingstone for some vegan tiffin cake.

Riding on the Ribble bike with the new Fulcrum Zero wheels is really fast downhill, a little scarily so.

Unfortunately the front derailleur gear cable snapped after about 4km, so my top speed was limited as it wasn't possible to change to the bigger chain ring at the front. The ride was a more relaxed one, so it wasn't a big issue.

The Ribble bike was dropped off at Coney Hall Cycle Works on Friday to get the gear cable replaced and fit new disc brake pads.

Statistics by yearλ︎

At the end of 2025 I set a goal to ride 10,000km in 2026. As of the end of may I have cycled over 3,500km so seem to be on to a fairly comfortable 8,000km for the year.

May: 1,149km - 12,280m April: 884km - 10,986m March: 753km - 7,816m February: 415km - 4,785m January: 630km - 5,670m

Stats from cycling activities for each year I have been on Strava (since June 2018)

Stats 2026 (May) 2025 2024 2023 2022 2021 2020 2019 2018
Activities 55 97 55 37 28 47 39 222 138
Distance (km) 3,593.1 6,092.5 2,322.3 1,777.7 1,373.0 2,185.3 2,204.2 8,070.7 2,741.3
Elev Gain (m) 40,604 61,706 25,985 19,244 15,872 15,697 15,866 60,000 16,690
Time 158h 9m 280h 41m 105h 31m 86h 15m 64h 38m 91h 42m 103h 33m 395h 49m 218h 28m

Thank you.

🌐 Practical.li Website

Practical.li GitHub Org practicalli-johnny profile

@practicalli@clj.social