Blog posts index page 1

Stumble upon in January 2026

Midjourney prompt: Two people walking towards each other and bumping into each other. One person is looking down at their smartphone the other person is looking at the sky. Subtle highlight. concept art, oil on canvas painting.

AI tries to make everything easy… convenient, but life without discomfort is not something to desire. The label ‘PC compatible’ is a reminder of how complex (inconvenient) things can be.

Read more...

Rant: Updating Samsung NVMe firmware uncessarily complicated

Midjourney prompt: Poor user experience during debugging a NVMe hard disk being detached while the system runs.

The other day, I was taken back to the “good old days”, and not in a good way. I had assumed that a major hardware provider like Samsung nowadays would ensure a decent user experience during firmware updates, regardless of the operating system. But I was in for a disappointment.

My home server running Linux has been crashing occasionally for a while. But since a reboot would temporarily “fix” it, sometimes for weeks, I never prioritized finding the underlying problem… until now. It feels like a recent kernel update now triggers the crash more often, but I have no data to back this statement up.

Read more...

Using idempotency for application interfaces like REST APIs

Midjourney prompt: A hand is submerging a small beige cloth into water. In the background drives a bus by the harbor promenade. Simple picture. Teal is the primary color. - Did a few edits to remove 'noise'.

Applying retry strategies on API calls to make them more robust often brings its own set of problems. Occasionally, rather than losing an entity-creating call, you end up with multiple, and trust me — duplicates are a pain to clean up.

However, idempotency can neutralise the inconveniences from retries, making the pair a powerful combo. 💪

Read more...

Exception handling differences between Clojure map & pmap

Midjourney prompt: Seven digital gates are placed next to each other on a long line with even spacing between them. Separated by closed gates, two open gates have digital threads flowing into the circuit board floor. Using image from core.async post as style reference.

With this post, I am in deeper waters than usual. What might sound like a recommendation in the following could be a potential disaster in disguise. Be warned.

Personally, I prefer not to know about implementation details about the function I’m calling. Although that was the situation I suddenly found myself in, when a function I call replaced map with pmap.

Here is how I approached the weirdness with exceptions tangled with pmap.

Read more...

Browse posts by tags

The posts touch a lot of different topics in no particular order. It might be more convenient to browse by tags if you have a topic of specific interest.