📼 Micronaut Constraints Validation
In this video, I show you how to set up Micronaut Validation to validate the constraints of a Java Record.
📼 Micronaut Development environment
In this video, I show you how to set up a Micronaut Development environment.
OSS-Fuzz
OSS-Fuzz aims to make common open source software more secure and stable by combining modern fuzzing techniques with scalable, distributed execution.
Micronaut is using this great initiative by Google.
📼 Micronaut CLI upgrade via SDKMan
In this video, I show how to update to the latest version of the Micronaut CLI with SDKMan
📼 Micronaut Gradle GitHub Actions
In this video, I created a Micronaut application built with Gradle. I pushed it to a GitHub repository and I set up a continuous integration server with GitHub Actions
Add junit-platform-launcher to your Gradle JUnit 5 builds
While updating Micronaut repositories to Gradle 8.14, I had to add the org.junit.platform:junit-platform-launcher
dependency as a testRuntime
Gradle Configuration.
Install Ruby in MacOS
Excellent tutorial to install Ruby on macOS.
Kuvasz - Monitoring Service built with Micronaut
Kuvasz is an open-source, self-hosted uptime & SSL monitoring service, designed to help you keep track of your websites and services
MCP Resources
Collection of links to Model Context Protocol (MCP) resources, including videos, articles, and tools.
Model Context Protocol (MCP)
Videos
Build an MCP Server with Java
This session shows how to build an MCP (Model Context Protocol) Server in Java.
We first discuss how to build an MCP Server with Java without any framework, and then compare what frameworks (Spring Boot, Micronaut, and Quarkus) offer.
We will implement an MCP Server with each framework. The MCP Server will expose custom tools that can be accessed by MCP clients.
You will learn how to test your implementation using the MCP Inspector tool and connect to your MCP server with Claude as a client.
Target Audience
Developers interested in creating an MCP (Model Context Protocol) Server in Java.
Elevator Pitch
MCP allows you to expose reusable tools and resources to build agentic microservices. Doing this takes us beyond basic LLM chatbots to dynamic, problem-solving systems that deliver real value in real professional settings. In this session, you will learn how to build your first MCP Server.
Podcast feed validator
Check the Health of Your Podcast
Git commit Hash in Gradle build file
The following snippet shows how to get the Git commit hash in a Gradle build file using the Gradle Kotlin DSL.
fun String.execute(): String {
val process = ProcessBuilder(*this.split(" ").toTypedArray())
.directory(project.rootDir)
.redirectErrorStream(true)
.start()
return process.inputStream.bufferedReader().readText().trim()
}
val commitHash = "git rev-parse --verify HEAD".execute()
Wither Methods
Derived Record Creation with Wither Methods
JEP 468: Derived Record Creation
Records are immutable objects, so developers frequently create new records from old records to model new data. Derived creation streamlines code by deriving a new record from an existing record, specifying only the components that are different.
Use a Shortcut To Create a New Text File In a Folder On a Mac
There is no command in the Finder that will let you create a new blank file at your current location. But you can create a Shortcut that will let you do this each time easily. The Shortcut needs to use both JavaScript and shell scripting to get the job done.
Enable the local calendar in Fantastical for Mac
I found a way to enable this thanks to a Reddit post.
Fantastical for Mac needs and extra step to enable the local calendar. I’ll copy and paste what they told (it’s working for me).
- Copy the following line: x-fantastical3://defaults?key=EventKitSyncAll&value=1&type=bool&group=1
- Open your web browser
- Paste the text into the URL field and press enter
- Allow Fantastical to open
- Confirm the alert that appears
- Quit Fantastical completely (Click Fantastical in the menu bar and choose "Quit Fantastical Completely") then open the app again.
Kamal deployments at Commit Conf 2025
I will be delivering a talk about Kamal deployments at Commit Conf 2025, April 4th and 5th 2025.
Configure a Gradle Kotlin DSL to resolve Micronaut Snapshots
Micronaut documentation describes how to use snapshots.
The following snippet, which uses the Kotlin DSL, allows you to resolve Micronaut snapshots:
repositories {
maven {
url = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/")
mavenContent {
snapshotsOnly()
}
}
mavenCentral {
mavenContent {
releasesOnly()
}
}
}
Linking Manifesto
Ensuring their users can conveniently obtain a link to the currently open or selected resource via a user interface; and providing an application programming interface (API) to obtain or construct a link to that resource (i.e., to get its address and name).
Revapi, an API analysis and change tracking tool written in Java
I work on open source. Thus, any tool to prevent unintentional breaking changes piques my interest. In Micronaut, we use japicmp
.
A Java version of simdjson
A Java version of simdjson - a JSON parser using SIMD instructions, based on the paper Parsing Gigabytes of JSON per Second by Geoff Langdale and Daniel Lemire.
I have not tried it, but it looks like an interesting open-source library.