I've decided to donate to open source projects for each day of December 2025 until Christmas. This blog post lists the projects donated to.
A short how-to explaining how to package the kotlin-lsp language server with Nix in order to use it with NixVim
Agentic AI tools often struggle with Apache Maven because its unique lifecycle model clashes with AI’s preference for minimal, incremental work, leading to false negatives and false positives. DAG-based build systems like Gradle align better, ensuring reliable incremental builds and clearer CLI behavior for both AI and humans.
How using a custom Gradle build service and rethinking task dependencies led to faster, cleaner builds in a Java backend project using Docker, Flyway, and jOOQ.
Learn how to correctly configure the immutables.org library in a Gradle project using Kotlin DSL. This post covers annotation processor basics, explains why minimal dependencies matter, and shows how to avoid common pitfalls like runtime pollution from unnecessary artifacts.