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....

October 27, 2022 · 7 min · 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....

March 13, 2022 · 13 min · 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....

February 2, 2022 · 3 min · 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....

December 11, 2021 · 13 min · Loïc Rouchon

Pattern matching for switch in Java (JDK 17)

Old problems, new ways of solving it? If all you have is a hammer, everything looks like a nail. This sentence summarizes pretty much how I felt about the idiomatic polymorphism approach in Java to most problems until recently. Polymorphism is just a tool and as for any tool, it excels at some tasks and performs poorly at others. So what are the tasks where polymorphism does a good job at?...

June 28, 2021 · 12 min · Loïc Rouchon