Blog posts index page 2

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...

Scalable LEGO brick labels in SVG

Monochrome illustrations of LEGO bricks for labels with a nice purple-orange gardient to make the monochrome pop - by Jacob Emcken

It just looks amazing when things are neatly organized, so of course, I wanted some crisp-looking labels for my drawers with LEGO.

There’s a cool solution for those in possession of an actual label printer, but since that isn’t me, I needed something a bit more “generic”.

Having flirted with Inkscape in a previous lifetime, I turned to SVG.

Read more...

De-stressing with Lego

Pink Lego bricks (Stock photo from Pixabay by Alexandra_Koch: https://pixabay.com/users/alexandra_koch-621802/)

The last couple of years, I’ve been finding stress at work more often than I’d like. Apparently, experiencing problems, having the skill to address it, but not being allowed to, is something that really gets to me.

So much that I don’t even feel like working on side projects, open source and writing posts on my blog.

Enter Lego

Read more...

A local AI setup using Ollama and Open WebUI

Midjourney prompt: Electronic brain take-off using pixel art.

Until recently, my AI usage has been limited to ChatGPT and a bit of Midjourney.
No Copilot, no Claude, no nothing.

The most serious thing I’ve used AI for, was getting ChatGPT to give feedback on paragraphs for new blog posts, and Midjourney to help create featured images for blog posts.

The few times I’ve tried using AI (read ChatGPT) for programming related stuff, I very quickly got frustrated with the lack of quality in the responses. To be fair, I’ve mainly wanted it to create Clojure code, and Clojure’s niche status and very different syntax are likely the main reason. That, and the fact that ChatGPT is the “wrong” tool for the job.

Anyway, I’ve acquired some hardware to build a local AI, including a second-hand Nvidia RTX 3090 with 24Gb vRAM, and I thought I’d document and share my progress so far.

Read more...

Stumble upon in June 2025

Midjourney prompt: A surreal digital painting of corporate executives laughing in a crumbling glass tower, blindfolded and indifferent, surrounded by a chaotic world of protest signs, burning data, and broken smartphones high contrast, moody lighting, dystopian tech aesthetic, cinematic realism, muted color palette. (Prompt suggested by ChatGPT based on a longer description)

I have started a journey to disentangle myself from Big Tech — at least partly. So far, I’ve avoided boarding the Facebook train altogether (including Instagram, Snapchat and TikTok). And after finishing the book “Careless People” by Sarah Wynn-Williams (recommendable by the way), which describes her experiences from inside Facebook, my JOMO choice feels even better. Apparently, friends and family still invite me to their birthdays using alternative (old-fashioned) means 😅 You know, like phone calls, SMS, and sometimes even face-to-face — weird!

Read more...

Local S3 storage with MinIO for your Clojure dev environment

Midjourney prompt: A single huge digital storage bucket in the clouds using mainly green and orange colors. Image style reference using featured image from blog post: Upload files to SharePoint using Babashka

Simple Storage Service or S3 Cloud Object Storage is a versatile and cheap storage. I’ve used it for invoices, contracts, media, and configuration snapshots, among other things. It’s a perfect fit when the object key (or what many might think of as a filename or path) can be used as a unique key to retrieve what you need — and doing it from Clojure is no exception.

Read more...

Stumble upon in April 2025

Midjourney prompt: Walking while looking at phone with all attention stumbles into a sign standing in the middle of the sidewalk.

While doomscrolling on LinkedIn the other day, a comment linking to an article/essay about what to expect from the newly inaugurated U.S. president and his administration caught my eye.

Read more...