Introducing findjava, a tool to simplify JRE selection for Java applications

Some time ago, I wrote an article about distributing Java command-line applications and how difficult it is to locate the proper java binary to run your application with. But let’s have a quick refresher on the problem before going further. The Problem When distributing a Java application via package managers, your application should rely on one of the Java Runtime Environments (a.k.a. JRE) provided by the package manager. Ensuring the correct JRE will be installed as a dependency of your application is the job of the package manager....

<span title='2023-07-08 15:16:00 +0200 CEST'>July 8, 2023</span>&nbsp;·&nbsp;5 min&nbsp;·&nbsp;Loïc Rouchon

How to synchronize dotfiles between multiple machines?

Today, I would like to discuss an issue many developers might be facing when having multiple computers. Let’s say one for personal use and one provided by the employer. Developers are usually putting a lot of care into setting up their environment. Whether this means the configuration of tools like their shell, git, …​, or adding custom scripts or bash/zsh/fish/…​ aliases. In both cases, this is usually achieved through files present in the user’s $HOME directory....

<span title='2022-10-27 15:27:00 +0100 +0100'>October 27, 2022</span>&nbsp;·&nbsp;7 min&nbsp;·&nbsp;Loïc Rouchon

Introduction to Kubernetes for application developers

Kubernetes is a highly configurable and complex open-source container orchestration engine. Therefore, it is very easy to feel completely overwhelmed when learning it. The goal of this article is to present the very basic concepts at the core of it while keeping the focus on the development side. Some concepts First, let’s start with some concepts we will play within this article. Kubernetes is running and orchestrating containers. I assume here that you are already familiar with containers, if not, have a look at containers first....

<span title='2022-03-13 16:04:32 +0100 CET'>March 13, 2022</span>&nbsp;·&nbsp;13 min&nbsp;·&nbsp;Loïc Rouchon

Dealing with multiple git repositories

Let’s talk about git repositories! I don’t want to get into the mono versus multi-repository discussion. Some advocates for mono-repositories and others against them. But no matter which side you’re on, chances are you contribute to repositories parts of different organizations: personal projects, professionals, or various open-source ones. In this case, it is for sure not possible to use a mono-repository approach. Hence, I thought of a solution to help me keep some repositories up-to-date with their remotes or ensure I did push everything....

<span title='2022-02-02 20:05:00 +0100 CET'>February 2, 2022</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;Loïc Rouchon

Distributing a Java command-line application

As a professional Java developer, I am comfortable with writing code in Java. Also, when I decided to write a command-line application, I asked myself if Java would be a good option in 2021 or if I should look more into alternative stacks like Rust. So let’s take a closer look at the challenges one has to face to implement a command-line application in Java. Creating a command-line application jar To write an application that can be used from the command-line, a simple public static void main(String[] args) is all you need in Java....

<span title='2021-12-11 12:26:00 +0100 CET'>December 11, 2021</span>&nbsp;·&nbsp;13 min&nbsp;·&nbsp;Loïc Rouchon