- Gracefully stop your batches
-
In applications, one sometimes needs to run some processes before and after the application’s run. Whereas in an application server you have full access to the web application lifecycle through the javax.servlet.ServletContextListener interface, there is no such thing in a plain old Java application.
I think this might be the oldest technical post on my blog that still holds true today.
- What Doesn’t Change
-
TL;DR:
The tools are temporary. The foundations are forever.
Invest accordingly.
- Why Algebraic Effects
-
I’m not familiar with (algebraic) effects; this post makes a very good job at explaining them and what they bring to the table in terms of abstraction.
- Chesterton’s Fence and paralysing your organization
-
Every problem boils down to an organization problem. Period. The post serves as another illustration of this postulate.
- Dealing with Eventual Consistency, and Causal Consistency using Predictable Identifiers
-
Problem statement:
Users want to attach files and keep working. Systems need time to upload, store those files and link it to the specific process or entity.
You have two choices: block the interface during uploads, or accept temporary inconsistency.
- Name-based + new position-based destructuring
-
The proposal will allow the following:
(val age, val name = fullName) = person // desugars to val $tmp = person val age = $tmp.age val name = $tmp.fullName
- Kotlin Flows Explained
-
Great overview of Kotlin Flows, including hot vs. cold.
- Spring Boot 4 Released: A Full Analysis of 11 Major Changes!
-
- Elegant Version Control
- Convenient Bean Injection
- Null-Safety Improvements
- Easy Creation of HTTP Proxies
- Other Changes
- Inside the Box: Everything I Did With an Arduino Starter Kit
-
I have the exact same starter kit, and I must admit that I couldn’t do half the stuff.
- Figma’s $300,000 Daily AWS Bill Highlights Cloud Dependency Risks
-
It’s funny that when I raise the point, I’m rebuffed when no concrete arguments, but non-arguments and sunken cost fallacies.
Now imagine the CEO of a million dollars company who would put all their eggs into the same basket. Would you trust such a CEO?
- kubriX: Your Out-of-the-Box Internal Developer Platform (IDP) for Kubernetes
-
Note: What if I told you someone has already built an opinionated Internal Developer Platform (IDP) "out of the box"? Hard to believe? See for yourself! Discover how kubriX seamlessly integrates essential open-source tools like Argo CD, Kargo, External-Secrets Operator, Keycloak, Backstage, and more, to provide you with an instant, ready-to-use IDP.
This blog post is a deep dive and requires your time, but trust me, it’s worth it! I’m grateful for solutions like kubriX that enable me to share my knowledge and passion with the community. If you feel the same, please consider leaving a ⭐️ for the excellent work of these tool and project creators!
- 17 Daily Productivity Tools for a Java Engineer
-
- IntelliJ IDEA Ultimate + Select Plugins
- Lombok
- Arthas
- JProfiler
- Charles / Fiddler
- SonarQube + SonarLint
- ArchUnit
- JaCoCo
- Postman + Newman
- OpenAPI Generator
- DBeaver
- Flyway / Liquibase
- Gradle + Kotlin DSL
- Docker + Docker Compose
- GitHub Actions / Jenkins
- PlantUML
- Obsidian / Logseq
My personal experience prevent me from using Lombok and Gradle; I love PlantUML, Logseq, and Flyway. TIL: Arthas and Charles.