atlas news
  A Java Geek
26  april     00h00
Three Mastodon issues because of Cloudflare Bot protection
   I noticed some time ago that three Mastodon features had stopped working on my blog. Each of them seemed like a separate problem, but they had the...
19  april     00h00
Making illegal state unrepresentable
   A couple of years ago, I wrote that The Builder pattern is a finite state machine . A state machine consists of states and transitions between them....
12  april     00h00
A GitHub agentic workflow
   Last month, I became aware of GitHub agentic workflows. I read the site carefully, but the use cases weren’t very exciting to me. I tried the...
05  april     00h00
Experimenting with AI subagents
   I like to analyze codebases I start working on, or that I left for months. I ask my coding assistant, case in point, Copilot CLI: ’analyze the...
29  march     00h00
One tip for successful OpenTelemetry projects
   Leading your organization to use OpenTelemetry is a challenge. In addition to all the usual project hurdles, you’ll face one of these two...
22  march     00h00
The Software Architect Elevator
   I don’t think it’s necessary to introduce Gregor Hohpe. I’m a big fan, having read Enterprise Integration Patterns, and I’ve...
15  march     00h00
Writing an agent skill
   Most developers now use coding assistants. I do too Copilot at work, Claude Code at home. As a developer, I prefer not to repeat myself. This post...
08  march     00h00
Pi-hole behind Tailscale
   As I age, I become increasingly cautious about my privacy. The slope the world is sliding on is also a big, unfortunate incentive. I have been eying...
01  march     00h00
Ready-to-use virtual clusters
   vCluster is a solution for creating virtual clusters within a host Kubernetes cluster. Virtual clusters are a Kubernetes concept that enables...
22  february     00h00
JVM timing options
   For as long as I have been coding in Java, we have had requirements to measure the execution time of blocks of code. While the current good practice...
15  february     00h00
Migrating from Jekyll to Hugo... or not
   Most of my blog posts are lessons learned. I’m trying to achieve something, and I document the process I used to do it. This one is one of the...
08  february     00h00
Rediscovering Java ServiceLoader: Beyond Plugins and Into Capabilities
   When you think of Java modularity, chances are your first thoughts land on JPMS, or perhaps on Spring’s flexible configuration model. For those who ...
01  february     00h00
Feedback on checked exceptions and lambdas
   I got a lot of interesting feedback on Checked exceptions and lambdas. Let’s start with my own: after writing the post, I realized I had...
25  january     00h00
From a JAR to a full-fledged MacOS app
   A couple of years ago, I developed a small Kotlin GUI to help me rename my files in batch. I actually created it with different JVM frameworks to...
18  january     00h00
Checked exceptions and lambdas
   Java’s checked exceptions were a massive improvement over C’s error-handling mechanism. As time passed and experience accumulated, we...
11  january     00h00
From Cloudflare Zero-trust to Tailscale
   I have spent some time last year implementing Cloudflare Tunnels on my Home Assistant and my Synology NAS. On Mastodon, I had not one but two...
04  january     00h00
2025 in retrospective
   From the beginning, the focus of this blog has been technical, very rarely organizational. I broke this unwritten rule once in 2015. I began writing...
14  december     00h00
YOW 2025
   I have been eyeing the YOW conferences for probably more than a decade. They occur in Australia, and feature top industry experts. I was thus...
07  december     00h00
Yet another Rust ownership tutorial
   One of the most important concepts to master in Rust is ownership and borrowing. Tons and tons of articles are solely dedicated to this narrow...
30  november     00h00
My second Cloudflare Tunnel
   I decided to stop using Twitter, but for my own content and supporting Ukraine against its barbarian invaders, I understood the contemporary media...