Last month, I published a Foojay article about the risks in systems that are stuck on old or outdated Java versions and got a lot of feedback from developers. Most of them want to move on but get stuck on …
-
The Home Assistant Model
Home Assistant (home-assistant.io) is a massive beast. It can be overwhelming for a newcomer; it was for me. In this article, I want to describe the underlying model of Home Assistant, which is a good entry point for your home …
-
Why Home Assistant
Last June, I spoke at Berlin Buzzwords. In all honesty, I rarely attend others’ talks for a variety of reasons: lack of time, lack of energy, no interest in the proposed subjects, etc. When I do, I go either for …
-
Task Schedulers in Java: Modern Alternatives to Quartz Scheduler
Quartz is often considered the standard job scheduling library in Java, which can lead developers to overlook more modern alternatives. For a long time, Quartz, also known as Quartz Scheduler, was the only viable open-source task scheduler in Java. In …
-
Augmenting the client with Alpine.js
This article is part of a series comparing different ways to implement asynchronous requests on the client, which is colloquially known as AJAX. I dedicated the previous post to Vue.js; I’ll dedicate this one to Alpine.js – not to be …
-
Augmenting the client with Vue.js
In my previous article, I laid the ground to build upon; now is the time to start “for real”. I heard a lot of Vue.js. Additionally, a friend who transitioned from developer to manager told me good things about Vue, …
-
Unleashing the Power of Git Bisect
The Essence of Debugging with Git Setting the Stage for Debugging Initiating Bisect Mode Marking the Known Good Revision Marking the Known Bad Revision Bisecting to Find the Culprit Expected Output Reset and Analysis Advanced Usage and Tips Script Automation …
-
Easily containerize Java applications with cloud native buildpacks
The concept of containers has helped to bring Java developers closer than ever to the cloud-native idiom of ‘write once, run anywhere.’ Effectively and efficiently containerizing your Java application can be much more of a challenge than you might originally …
-
FEPCOS-J: Implementing a Java Server and a Rust Client without Manual Network Programming
FEPCOS-J allows declaratively implementing a Java server and generating its profile, which, for example, can be used to generate the networking code of a Rust client. Introduction As I have shown in a previous post [1] and a video [2], …
-
Foojay Podcast #58: How Java Developers Can Secure Their Code
Three years after Log4Shell caused a significant security issue, we still struggle with insecure dependencies and injection problems. In this podcast, we’ll discuss how developers can secure their code. I talked with three authors who posted a security and code …
-
Run true-to-production tests on your MicroProfile and Jakarta EE applications
As supported by the 12 factor and 15 factor app methodologies, in application development, we’ve come to realize just how important it is to test our applications in a true-to-production environment before releasing them to consumers. This helps us to …