Skip to content

Journalλ︎

Clojure 1.12 and Learn Clojure book

Work on Practicalli Learn Clojure book, a practical guide to getting comfortable working with Clojure. A full guide to using Clojure is in the Practicalli Clojure book.

Added RSS feed for Journal, although I feel that all these blogs should be merged into the https://practical.li/blog site for a single collection or articles. The articles can be categorised to keep them separate.

Health is still recovering from a little Covid symptoms. Took Monday off work and slept most of the day.

Tetris and the fall of the USSR (and Neovim Conjure menu)

Enjoyed watching the Tetris movie and wondered just how much was real and dramatised. Reading the background to the game it does seem the main thread of the movie is accurate, with perhaps some additional dramatic effect. It was a very enjoyable movie regardless.

I do remember the break-up of the USSR when it happened, first with Gorbachev as leader and then Boris Yeltsin. Then the Oligarchs (super rich) moved in and supported a more draconian leader in Putin (assumingly so they could keep hold of all their money).

I also remember Robert Maxwell as a disgraced billionaire that stole from his own company and mysteriously vanished from his luxury yacht.

HTTP Message Signing investigation

API Security is typically managed by issuing a token for authentication. Only requests that include a valid token are processed, any requests with an expired or missing token are rejected. HTTP code 401 Unauthorised error message is returned for rejected requests.

When dealing with very sensitive data and higher risk actions common in financial services, additional security mechanisms are required. So I have been looking at mTLS and HTTP Message Signatures (RFC9421) this week.

Not going to be a productive week as I am full of flu. Given the time of year its most likely a variant of Covid. So far I've only had a headache, congested chest / nose / ears and some fatigue. Taking lots of paracetamol and drinking lots of water to try keep the inflammation at bay.

Edit: I was mostly okay by the weekend, although still had a sore throat and coughing.

Data Driven Components & Neovim updates

Practicalli Astro config for Clojure development with Neovim initial release.

Presented my experiences with Component libraries to London Clojurians this week, specifically comparing Integrant and Donut-party/system. I discussed my Service REPL workflow to show the benefits and constraints of these two libraries.

For component libraries to work well, then code should be reloadable. There are a few parts of the Clojure language that do make it harder to reload code, (deftype, defrecord, etc), although I tend to avoid those parts anyway.

Issues this week

practicalli/astro:

Montly Clojure Library updates

Exploring the mysteries of the Bazel build tool at work. Whilst technically its a very powerful tool it really lacks a good developer experience.

Its supposed to be a more powerful make, although ironically I use a Makefile so that Bazel is much easier to use.

It could be an opportunity to use Babashka, but that would be more work than using a Makefile as I dont have much Babashka experience.

Monthly Library Updates for Practicalli Projects

Monthly updates for Practicalli projects, driven by a scheduled version GitHub workflow that uses antq to report on project library dependencies and GitHub action library versions.

  • Release: Clojure CLI Config - 2024-07-07
  • Release: Project Templates - 2024-07-07

Which-key version 3 released, fixing localleader issue and providing a horizontal menu option.

Flexiana Interview

I enjoyed the interview with Flexiana team this week, they are very friendly and it we had some very interesting discussions. I included my interview preparation notes which were mosty the same as shared in the video.

A blip with Emacs 29.4 release stopped the which-key menu from showing when in a major mode. This affected both the leader and local leader key. Within a couple of hours the issue was resolved before I really figured out the cause. I installed Emacs 29.4 on Termux to replicate an issue that was reported in the #spacemacs channel of the Clojurians Community slack community.