foojay

Memory Debugging and Watch Annotations

Before diving into debugging memory issues and the other amazing running process, memory debugging capabilities (which are amazing)… I want to discuss a point I left open in the last duckling post. Back there we discussed customizing the watch renderer. This is super cool! But it’s also tedious. Before we continue, if you prefer, I cover most of these subjects …

Read More »

Java Panama Polyglot (Rust) Part 4

Hello and welcome to the final article of the Java Panama Polyglot series, where we are presenting quick tutorials or recipes on how to access native libraries written in other languages. In this article you will be using Project Panama to talk to the Rust language. If you are new to Java’s Foreign Function Access APIs (Project Panama) check out Panama4Newbies. In …

Read More »

Book Review: Monolith to Microservices (Part 2)

This is the second article of the first one I wrote the other day, “Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith” by Sam Newman. In this article, I will summarize chapter two. Chapter #2: Planning to Migration In this chapter, the book discusses the goal and mindset. When we are looking for a Microservices, what should be our …

Read More »

Wordish with JavaFX – Part 2

Building Games and Having Fun with Java and JavaFX Welcome to Part 2 of this five part series! In Part 1, we introduced the Wordish game with JavaFX and discussed the main UI layout. In this second part, we’ll discuss some important look and feel enhancements. We’ll show you specialized Label and Button controls and using pseudo-classes for advanced CSS …

Read More »

Chopping the Monolith: The Demo

In my previous blog post Chopping the Monolith, I explained my stance on microservices and why it shouldn’t be your golden standard. However, I admitted that some parts of the codebase were less stable than others and had to change more frequently. I proposed “chopping” these few parts to cope with this requirement while keeping the monolith intact. As Linus …

Read More »

Journeys in Java, Level 5: Building an Empire of Microservices

We continue building our microservices system by adding a coordination layer to handle spinning multiple services up and down. In previous articles, we grew from two Spring Boot applications to three applications + a database container. As we continue to scale and broaden our system, we will need something to coordinate service and ensure consistent communication (avoid human error). We …

Read More »

What Can We Expect In OpenJDK 19?

Although the Java 19 release is coming in September (2022-09-20), we already know what will happen in that release! In this article, we’ll touch on upcoming features via examples to get a sense of how valuable these can be to a project. JEP-405: Record Patterns (Preview) Java 14 introduced (JEP-361, Reference 2), which made it possible to use a switch …

Read More »

Optimizing Distributed Joins: The Case of Google Cloud Spanner and DataStax Astra DB

In this post, learn how relational and NoSQL databases, Google Cloud Spanner and DataStax Astra DB, optimize distributed joins for real-time applications. Distributed joins are commonly considered to be too expensive to use for real-time transaction processing. That is because, besides joining data, they also frequently require moving or shuffling data between nodes in a cluster, which can significantly affect …

Read More »

Wordish with JavaFX – Part 3

Welcome to Part 3 of this five part series. In Part 1, we introduced the Wordish game with JavaFX and discussed the main UI layout. In Part 2, we discussed look and feel enhancements. We introduced specialized Label and Button controls that use pseudo-classes for advanced CSS styling. We covered incorporating third-party font libraries and customizing Scene Builder to leverage these …

Read More »