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.
Caido - A lightweight web security auditing toolkit
Caido aims to help security professionals and enthusiasts audit web applications with efficiency and ease.
I am interested in web security. I discovered this tool by watching a YouTube video about CSRF.
VSCode Lab for Micronaut
In this lab we will introduce you to the Micronaut tooling available within VS Code. This tooling is very feature-rich and makes building and working with Micronaut applications easy.
Micronaut vs Spring Boot
In this talk, Micronaut committer Sergio del Amo compares the feature set of Spring Boot and Micronaut. This talk introduces developers familiar with Spring Boot to the similarities and differences between the frameworks.
In addition, the talk covers the migration of existing applications and the tools available to simplify the migration to Micronaut.
Also, you will learn how to use Micronaut within a Spring Boot application.
Build a Software as a Service applications with Micronaut and deploy them with GraalVM
In this talk, you will learn how Micronaut eases the development of a Software as a Service application (Saas) with the following capabilities:
- Micronaut Data JDBC Multi-Tenancy with Column Discriminator.
- GraalVM Native Image Deployment.
- OpenAPI generation.
- OpenID Connect-based single sign-on.
- Turbo Integration - single-page web application without writing any JavaScript.
- Multi-Language Front-end.
The talk is a mix of slides and code samples. You will see an open-source application and how seamlessly Micronaut integrates the above capabilities.
After this talk, you will understand what the Micronaut framework offers to simplify the development of your next Saas application.
Elevator Pitch
Build a Multi-Tenancy, OpenAPI, OpenID Connect-based single sign-on, Turbo Integrated application and deploy it as a GraalVM Native Image in no time.
Docker Deployments with Kamal, bye-bye to Kubernetes complexity
Do you want to do Docker deployments, but Kubernetes looks like a beast and overkill to you? In this talk, you will discover a simpler but powerful alternative - Kamal.
Kamal offers zero-downtime deploys, rolling restarts, asset bridging, remote builds, accessory service management, and everything you need to deploy and manage your web application in production with Docker.
During this talk, I will show you how to deploy a Micronaut application programmed with Java and compiled into a GraalVM native image with Docker and Kamal. Kamal works with any type of web app that can be containerized. Attend the talk, even if your programming language or framework does not match mine, as you will discover Kamal and how to use it with your toolset.
If you attend this talk, you will discover what Kamal is, what it offers, and how to deploy fast into production with Docker.
Elevator Pitch
Docker deployments sound good, but for most companies, deploying with Kubernetes is too complex. Kamal offers a seamless deployment experience for any kind of application that can be containerized.
This presentation will show developers another way to deploy.
Despliegues Docker con Kamal, adios a la complejidad de Kubernetes
¿Quieres hacer despliegues con Docker pero Kubernetes te parece una bestia y un overkill para tu aplicación?. En esta charla descubrirás una alternativa más sencilla pero poderosa - Kamal.
Kamal ofrece zero-downtime deploys, rolling restarts, asset bridging, remote builds, accessory service management, y todo lo que necesitas para desplegar y gestionar tu aplicación web en producción con Docker.
Durante la charla te mostraré como desplegar una aplicación Micronaut programada con Java y compilada como una imagen nativa con GraalVM con Docker y Kamal. Kamal funciona con todo tipo de aplicación web que pueda ser empaquetada en un contenedor. Es decir, si tu lenguaje de programación o framework no coinciden con el mio, esta charla te servirá igual para descubrir Kamal y como usarlo en tu entorno.
Si asistes a esta charla descubrirás que es Kamal, que te ofrece y como desplegar rápidamente producción con Docker.