Interview with Paul Kocian aka @Orango_Mango

Some time ago on Twitter, I discovered @Orango_Mango, who shared his progress in creating a 3D engine with JavaFX. The shared videos started with a Rubik’s cube in January ’23, over a basic tumbling car in February, to a full Minecraft-like world in April. Who is this @OrangoMango? And why did he take up the challenge to create a 3D …

Read More »

Spring Boot Debugging with Aspect-Oriented Programming (AOP)

Aspect-Oriented Programming (AOP) is a programming paradigm that aims to increase modularity by allowing the separation of cross-cutting concerns. In simple terms, it helps you keep your code clean, modular, and easy to maintain. We can leverage AOP to debug Spring Boot applications more effectively and seamlessly. In this post, we will explore how to use AOP to debug a …

Read More »

Using Async-Profiler and Jattach Programmatically with AP-Loader

Using async-profiler and jattach can be quite a hassle. First, you have to download the proper archive from GitHub for your OS and architecture; then, you have to unpack it and place it somewhere. It gets worse if you want to embed it into your library, agent, or application. Library developers cannot just use maven dependency but have to create …

Read More »

Hidden and Not-So-Hidden Gems In Java 20

Let’s see the preview and incubator JEPs in Java 20, as well as many smaller enhancements, bug fixes, and deprecations. March 2023 marked the latest feature release of the Java platform, which was delivered on time through the six-month release cadence as Java 20. Like Java 19, which became generally available in September 2022, Java 20 targeted JEPs—seven, in this …

Read More »

Timefold Forks OptaPlanner: Open Source Solver in Java

OptaPlanner is an Open Source project used globally to optimize operational planning. Every day, it saves thousands of organizations time, money and resources. Today, OptaPlanner is entering a new chapter. The project I created and worked on for seventeen years has matured under Red Hat’s wings for the past ten years. Last year, when Red Hat’s strategy changed, it became …

Read More »

Leverage the Richness of HTTP Status Codes

If you’re not a REST expert, you probably use the same HTTP codes over and over in your responses, mostly 200, 404, and 500. If using authentication, you might perhaps add 401 and 403; if using redirects 301 and 302, that might be all. But the range of possible status codes is much broader than that and can improve semantics …

Read More »

Foojay Podcast #21: Brazil SouJava JUG and How to Grow your Developer Career

Once a month, the Foojay Podcast virtually visits a JUG to talk with the people behind it. SouJava, the Brazil JUG, was founded in 1999, and according to Wikipedia, is recognized as the world’s largest Java User Group with 40,000 members. There’s a lot we can learn from the people who have achieved this! Guests Otavio Santana https://twitter.com/otaviojava https://www.linkedin.com/in/otaviojava/ https://www.youtube.com/@otaviojava …

Read More »

JavaFX Links of April 2023

JavaFX Core Gluon announced JavaFX update releases: 20.0.1 (latest release), 17.0.7 (latest LTS), and for Gluon LTS customers 11.0.19. In this video with Kevin Rushforth he talks about JavaFX 20 and beyond. Dirk Lemmermann tweeted some of the highlights like RichTextArea, ideas for future releases,… The Notebook demo is looking really nice to learn JavaFX in an easy way. Conferences …

Read More »

The Basis of Virtual Threads: Continuations

Virtual threads are lightweight implementations of java.lang.Thread and they promise to write highly scalable concurrent applications. This article turns the spotlight on the Continuations that are the basis of Virtual threads. Project Loom has been the focus of attention in the Java community since the day it was announced. Java developers were excited by Loom’s promise that, with virtual threads, …

Read More »