Classic Layout

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 »

State of the Software Supply Chain Report: Key Takeaways for Java Developers

Software Supply Chains and Open Source Maven Central hits 1 Trillion downloads Open source adoption continues to grow, with Java (Maven) being a significant ecosystem. The report indicates that Java projects and their versions have seen substantial growth. a 28% year-over-year increase in total projects available on Maven Central – hitting the amazing 1 Trillion download number. Log4Shell is still …

Read More »

Send Your Logs To Loki

One of my current talks focuses on Observability in general and Distributed Tracing in particular, with an OpenTelemetry implementation. In the demo, I show how you can see the traces of a simple distributed system consisting of: the Apache APISIX API Gateway, a Kotlin app with Spring Boot, a Python app with Flask, and a Rust app with Axum. Earlier …

Read More »

Changes Included in the Stable release 23.08 of Azul Zulu Prime Builds of OpenJDK

The latest Long Term Support (LTS) version of OpenJDK was released on September 19, 2023. Below is an overview of all the combined improvements in the latest Azul Prime Builds of OpenJDK, stable release, 23.08.01.0. Azul Platform Prime is a modern, TCK-compliant Java platform based on OpenJDK. It provides consistently low response latency of your Java workloads, higher total throughput …

Read More »

How to Diagnose and Mitigate Pinning in Java’s Virtual Thread Execution

In our last article, we highlighted the impressive performance gains achieved through the use of virtual threads. However, upon diving deeper into the code, we discovered an issue caused by the jsoup library: a phenomenon known as pinning. But before we delve into solutions, let’s take a moment to understand what pinning actually is. What is Pinning? In the context …

Read More »

Debugging Tips and Tricks: A Comprehensive Guide

Rubber Ducking: The Art of Talking it Out Moving the Goalposts: Redefining the Bug The Evolution of a Bug The Process of Redefinition Flipping the Direction: Multiple Angles of Attack The Linear Approach to Debugging Disruptive Environments: Exposing Hidden Bugs Leveraging Debugging Extensions and Tools Disconnect and Reconnect: The Power of a Fresh Mindset Embrace the Challenge: Finding Joy in …

Read More »

Java 21 and the Upcoming Jakarta EE 11: A New Era of Cloud Native Java

With Java 21 released and Jakarta EE 11 slated for release in Q1 of 2024, the landscape for Java development is evolving rapidly, particularly in the cloud-native space. Although these two are not being developed together, they are intrinsically linked: Jakarta EE 11 will have Java 21 as its base Java SE version. This blog post will explore what these …

Read More »