Blog Layout

Domain-Deadline-Dog-Driven Development

On Twitter – sorry, X – and Mastodon I asked the following question: “In software development, “Domain-Driven Design” (#DDD) is one of the many great (?) ways to handle a project. But who has experienced other types of DDD in real life, like “Deadline-Driven Development” or “Disaster-Driven Development”, and wants to share her/his experience for a blog? Thanks!” This is …

Read More »

Not a Single Trace

The Limiting Factor Strength in Numbers Example Magical APIs Final Word Your team celebrates a success story where a trace identified a pesky latency issue in your application’s authentication service. A fix was swiftly implemented, and we all celebrated a quick win in the next team meeting. But the celebrations are short-lived. Just days later, user complaints surged about a …

Read More »

Beyond Pass/Fail- a Modern Approach to Java Integration Testing

Tests can run limited sets of assertions on your code, or reveal important insights about how your application really works! Automated testing will assuredly go down in the annals of software development history as one of these industry-changing trends. Although few actually adhere to full-metal, OCD mode, TDD discipline (I am in awe of those that do, just to be clear), …

Read More »

New: JDKMonitor

During Devoxx Morocco I’ve spent some time coding a little new tool where the main reason was to have a widget on my MacOS desktop that shows the days until the next release/update of OpenJDK. Because this alone was not enough to get it into the Mac App Store, I needed to add more functionality and so I’ve decided to …

Read More »

The Files in JDK 21

As Java developers, we all have it installed on our computer: the Java Development Kit, also known as the JDK. I remember putting the first version on a few floppy disks back in 1995. Since then it has grown multiple times. In this article, we’ll explore the files of the JDK. For this article, Eclipse Temurin JDK 21 for Windows …

Read More »

Level-up your Java Debugging Skills with on-demand Debugging

Debugging is one of the most common tasks in software development, so one would assume that all features of debuggers have ample coverage in tutorials and guides. Yet there are three hidden gems of the Java Debugging (JDWP) agent that allow you to delay the start of the debugging session until… you gave orders via jcmd (onjcmd=y option) the program …

Read More »

Foojay Podcast #31: Report of Devoxx ’23 in Belgium

The first week of October, the 20th edition of Devoxx took place in Antwerp, Belgium. Over 3000 Java developers, speakers, and enthusiasts gathered to share their knowledge and learn from each other. I got the opportunity to walk around with a microphone and talk to visitors and speakers. Not all of them, as there were just too many people and …

Read More »

Book review: “Get Your Hands Dirty on Clean Architecture – Second Edition”

Clean Architecture helps us ensure a solid foundation for our applications, and helps keep our code organized and maintainable. Furthermore when properly applied it helps keep ones team on the same page and ensures our applications stay robust and flexible over time. Of course there are a lot of pitfalls to take into account, and a lot of pros/cons to …

Read More »

Patterns For The Design Of Microservices – Part 1

Design patterns plays a pivotal role in designing and solving the commonly occurring problems in software application. It is guiding principle or template to the solve any designing problems. It applies to the Microservices architectural style as well. These patterns provide a structured approach to designing and implementing Microservice architectures, ensuring scalability, maintainability, and reusability. By adhering to these design …

Read More »

FEPCOS-J (2) – Declaratively compose networked systems in Java

FEPCOS-J implements a model-based Java language extension that provides the annotation @Part, which enables a developer to declaratively compose networked systems. This post introduces the concept and gives you an example of how to use it. Please help me to make FEPCOS-J a Free/Libre and Open-Source Software (FLOSS). Introduction FEPCOS-J arises in the frame of the FEPCOS-Project [1], which aims …

Read More »