Navigating Behaviour with Events

Two Approaches There’s little doubt that modern software architectures lean towards asynchronous models for communication between distributed components (where “distributed” means components that are not part of the same process, be they on the same or on different physical machines). Synchronous models such as Remote Procedure Call (RPC) are now largely discredited [Waldo, Vinoski]; even asynchronous variants of these are …

Read More »

Java 21 – JEP 445 – Unnamed Classes and Instance Main Methods

Java 21, released on September 19th, 2023, brings many new features, 8 which are fully integrated and 7 which are incubator or preview. In this article, I want to highlight one of those preview features: Java Enhancement Proposal (JEP) 445: “Unnamed Classes and Instance Main Methods”. It’s a preview feature, meaning you need extra flags to use it. The goal …

Read More »

Payara Makes a Splash at Devoxx Belgium 2023

Devoxx Belgium 2023, the premier Java developer conference, held in Antwerp, Belgium is an event we eagerly anticipate. As representatives of Payara, a sponsor of the conference, we had the privilege of attending this year’s gathering, which took place at the iconic Kinepolis Antwerpen Cinema. The conference ran seamlessly, reflecting the organizers’ dedication to creating a productive environment for learning, …

Read More »

Resizing images on-the-fly

As a web architect, one of the many issues is asset management. And the most significant issue in assets is images. A naive approach would be to set an image and let the browser resize the image via CSS: img { height: 100%; width: 100%; object-fit: contain; } However, it means that you download the original image. It entails two …

Read More »

Start using Java 21 in your apps on Open Liberty 23.0.0.10

Java 21 is finally here! Java 21 is the first long-term support (LTS) release since Java 17 was released two years ago. It offers some new functionality and changes that you’ll want to check out for yourself. In particular, there’s the introduction of virtual threads. And you can try it all out now on Open Liberty 23.0.0.10. Open Liberty is …

Read More »

Book review: “Developing Apps with GPT-4 and ChatGPT”

Whether you’re pro or con the usage of AI, LLMs, and ChatGPT one cannot deny that there are a plethora of possibilities now available to us. Now, given the rapid shift in this field, a lot of us are left with a lot of queries such as: what are the differences between the models, how do I query them and …

Read More »

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 »