foojay

Book review: Frontend Development with JavaFX and Kotlin

For a personal pet project, I started experimenting with JavaFX and Kotlin to create a user interface with a lot of Java / Kotlin background processing. As I knew there is a book available on this specific topic, Apress was so kind to send me a review copy of Frontend Development with JavaFX and Kotlin: Build State-of-the-Art Kotlin GUI Applications …

Read More »

Debugger.godMode() – Hacking a JVM application with the debugger

Back in the day, computer games were different. Not only have graphics and mechanics evolved since, but there’s also one characteristic that doesn’t seem very common in games today: nearly all of them had cheat codes. Cheat codes were sequences of keys that would give you something extraordinary, such as infinite ammo or the ability to walk through walls. The …

Read More »

Vaadin 24.4 Adds React Support, In-App Coding Assistant

Unified Vaadin Platform: Seamless Integration with Hilla 24.4 adds React support to the entire Vaadin platform by including the Hilla framework. The Vaadin BOM and Vaadin Spring Boot Starter now include Hilla, allowing you to choose between Flow and Hilla or mix both in your projects. Vaadin Copilot: an in-app development assistant Vaadin 24.4 introduces Vaadin Copilot, a visual development …

Read More »

Become a Better Java Developer: 19 Tips for Staying Ahead in 2024

Recently I reached out to one of my fellow Java developers who is very experienced and has been working in the industry forever and asked for his thoughts about the observability improvements in JDK 21 and Spring Boot 3.2 and if he has already migrated from 17 to 21 and to Spring Boot 3.2. This is the reply I got …

Read More »

Foojay Podcast #52: JCON Report, Part 4 – Garbage Collectors, Intelligence Cloud, Test Containers and Flaky Tests, ToxiProxy, Structured Concurrency, Virtual Threads

This is part 4 of the JCON interviews! In this episode, we have 5 new guests for you. We start with garbage collectors and Intelligence Cloud, a tool created by Azul to find out which of your code is actually used in production and which dependencies are known to have vulnerabilities. My colleague Gerrit Grunwald was at JCON to give …

Read More »

How to Identify Dependencies in Your Codebase During Microservices Migration

Migration from a monolithic architecture to microservices presents challenges, particularly in identifying and managing dependencies within the codebase. By analyzing the application’s training data, we can uncover the seams and threads that bind the application together, discovering a safer, more iterative path to refactor our code. Table of Contents Collecting tracing data to understand code dependencies Using Digma Analytic Insights …

Read More »

Exploring New Features in JDK 23: Simplifying Java with Primitive Type Patterns with JEP 455

Java continues to evolve, introducing features that streamline coding practices and improve readability. JEP 455 is one such proposal that enhances the switch statement, making it more versatile and expressive. This article delves into how JEP 455 can be utilized to handle complex decision-making scenarios more efficiently. We’ll examine a practical example to illustrate the benefits of this feature. What’s …

Read More »

Debugging Kubernetes Part 1: An Introduction

Introduction to Kubernetes and Distributed Systems The Evolution of Deployment Technologies Enter Virtualization Rise of Containers Rise of Orchestration Enter Kubernetes Why Kubernetes Stands Out Kubernetes For Developers Kubernetes Basics In Practice Final Word While debugging in an IDE or using simple command line tools is relatively straightforward, the real challenge lies in production debugging. Modern production environments have enabled …

Read More »

Workflow, From Stateless To Stateful

A (long) time ago, my first job consisted of implementing workflows using the Staffware engine. In short, a workflow comprises tasks; an automated task delegates to code, while a manual task requires somebody to do something and mark it as done. Then, it proceeds to the next task – or tasks. Here’s a sample workflow: The above diagram uses Business …

Read More »