Aspect-Oriented Programming (AOP) Made Easy With Java

Aspect-oriented programming (AOP) is a programming paradigm that seeks to increase modularity by separating cross-cutting concerns from core application logic. Cross-cutting concerns refer to functionality like logging, security, and transactions that span across multiple areas of an application. AOP allows these concerns to be encapsulated in reusable modules called aspects. This improves modularity and makes the codebase easier to maintain. …

Read More »

Tips for reading code

As developers, we read code more than we write it. When adding new features or fixing bugs, we first need to understand existing code, so we can make the right changes in the right place. When reading code inside the IDE, IntelliJ IDEA helps us to read and understand code by providing helpful features like syntax highlighting and inlay hints. But there …

Read More »

To Brussels, Canada and Back

Last year was my first year blogging, speaking at conferences, meeting incredible people, and seeing places I’ve never been before. It was at times quite arduous but at the same time energizing, as you can read in my post Looking back on one year of speaking and blogging. I didn’t want it to be a one-off year, so I dutifully …

Read More »

Apache APISIX North America Tour

Once in a while, I write non-technical blog posts when I’ve something worth sharing. Today, I’d like to write about my North America “Tour” across several conferences and user groups. The first leg of my journey started in Oakland, California, with Developer Week. Developer Week is an established conference with different editions in several locations and online during the year. …

Read More »

Spring: Internals of RestClient

As a developer and architect, my constant pursuit is to achieve simplicity and elegance when constructing resilient and intricate enterprise applications. With my affinity for the Spring Framework, I have witnessed firsthand the simplicity and modernization it brings to the Spring Ecosystem. This framework enables the creation of complex enterprise applications in a more streamlined and refined manner, boasting a …

Read More »

FEPCOS-J (4) Easy programming of a multithreaded TCP/IP server in Java

FEPCOS-J prototypically implements a Java language extension that allows the realization of a multithreaded TCP/IP server in Java without thread or network programming. Please help me to make FEPCOS-J a Free/Libre and Open-Source Software (FLOSS). Introduction FEPCOS-J [1] is a Java development tool that prototypes a Java language extension for declarative programming of networked systems. See my previous posts for …

Read More »

Localize applications with AI

Ever wondered if AI can localize an entire project? In this article, we follow the process end-to-end using the Spring Petclinic as an example. We prepare the project for localization, automate the translation using Python and DeepL, and analyze the results Whether you are thinking of localizing your project or just learning how to do that, AI might help you. …

Read More »

Hello eBPF: Ring buffers in libbpf (6)

Welcome back to my article series on eBPF. Some weeks ago, I got started in using libbpf instead of libbcc. This week, I show you how to use ring buffers, port the code from Ansil H’s blog post eBPF for Linux Admins: Part IX from C to Java, and add tests to the underlying map implementation. My libbpf-based implementation advances …

Read More »

Java 22 Is Here, And It’s Ready To Rock

Java 22 is here! It’s been six months since Java 21 was released, so it’s time for another fresh set of Java features. In this article, you’ll go on a tour of the JEPs that are part of this release, giving you a brief introduction to each of them. Where applicable, the differences with Java 21 are highlighted and a …

Read More »