Blog Layout

JavaFX Links of October

When I (re)started the JavaFX Links Of The Week on jfx-central.com in September, I was wondering if there would be enough material to share every week. But that was a stupid mistake as you can see below in the summary of what happened in October… JavaFX 19 and 20 JavaFX 19 just got released a few weeks ago, but Johan …

Read More »

Renovate: Dependabot Alternative

I won’t introduce Dependabot. Lots and lots of developers use it daily on GitHub. I do use it as well. However, it suffers from two drawbacks: While it’s perfectly integrated with GitHub, integrations with other platforms are less seamless. It’s limited in the list of ecosystems it supports For example, I generally use Docker Compose files for my demos. When …

Read More »

The Problem with Functional Programming

Let me start off with saying that I love functional programming. Although… a better way of saying it would be that I love what functional programming brings me. It reduces complexity, the code is nice and explicit, and it eliminates certain bugs from occurring. But there are a few things that I wanted to discuss regarding functional programming. Object Orientation …

Read More »

Trip Report: Dubai JUG 2nd Meetup

This was the second Dubai JUG meetup, yet the first real one. The first meetup was more of a practice team building session. Here is a trip report of the second Dubai JUG meetup. First day in Dubai This was my second time in Dubai. I had visited most of the landmarks the first time, making this a more relaxing visit without …

Read More »

A Minor But Useful Refactoring Technique That Would Reduce Your Code Footprint (Part 2)

As I keep refactoring, this article will focus on a few more interesting ways to do it. These are pretty much minor yet effective and useful changes. Stream.noneMatch() and Stream.anyMatch() In some situations, we need to find a single case among many. For example, we want to do a certain operation if we have a list of items and a …

Read More »

Why the Fastest Way of Serializing a Java Field is not Serializing it at All

This article elaborates on different ways of serializing Java objects and benchmarks performance for the variants. Read this article and become aware of different ways to improve Java serialization performance. In a previous article about open-source Chronicle Queue, there was some benchmarking and method profiling indicating that the speed of serialization had a significant impact on execution performance. After all, …

Read More »

Foojay Podcast #6: Welcome to Foojay!

In this episode of the Foojay Podcast, we want to give you a look behind the curtains of Foojay.io. The very first post on the website dates from April 25th in 2020, and it was by Geertjan Wielenga. Let’s look back and what has happened on Foojay during the 2,5 years since that first post, and talk to some of …

Read More »

When Breakpoints Don’t Break

I discussed tracepoints quite a bit in my blog and videos. They are wonderful, but I feel the nuance of non-breaking is a bit lost. The true power of this amazing tool is hidden due to our debugging habits and our preconceived notions about debugging. It’s indeed difficult to make the mental shift required for these tools. The payoff for …

Read More »

Exceptions in Java Lambdas

Java introduced the concept of checked exceptions. The idea of forcing developers to manage exceptions was revolutionary compared to the earlier approaches. Nowadays, Java remains the only widespread language to offer checked exceptions. For example, every exception in Kotlin is unchecked. Even in Java, new features are at odds with checked exceptions:the signature of Java’s built-in functional interfaces doesn’t use …

Read More »

How to Use Java DTOs to Stay Secure

This article was orignally posted on Snyk.io and is reused with permission. Data Transfer Objects (DTOs) in Java are objects that transport data between subsystems. It is an enterprise design pattern to aggregate data. The main purpose is to reduce the number of system calls needed between the subsystems, reducing the amount of overhead created. In this article, I will …

Read More »