Custom JFR Events: A Short Introduction

JDK Flight Recorder (JFR) is one of the two prominent open-source profilers for the OpenJDK (besides async-profiler). It offers many features (see Profiling Talks) and the ability to observe lots of information by recording over one hundred different events. If you want to know more about the existing events, visit my JFR Event Collection website (related blog post): Besides these …

Read More »

Java for desktop applications: Tips and Tricks (Part 1)

As desktop applications have kind of become a niche topic, it’s getting harder to find information about up-to-date best practices for desktop development. Since I have been doing this for many years now, I hope that I can share some of the lessons learned with other fellow desktop developers. Most items that are discussed here are taken straight from XPipe, …

Read More »

Video: “If I decide to stay with Oracle Java what issues will I face?”

Simon Ritter and Gerrit Grunwald answer a question that they hear repeatedly: “If I decide to stay with Oracle Java (rather than migrate to an OpenJDK distribution) what issues will I face?” https://youtu.be/rGiIm2xdp7w Sponsored Content State of Java Survey The Authoritative Java Study Conducted by the Only Vendor 100% Focused on Java Download (For Free) Here! The post Video: “If …

Read More »

Feedback from calling Rust from Python

I got plenty of feedback on my post about Calling Rust from Python: Hacker News /r/python /r/rust Many comments mentioned pyo3, and I should use it instead of cooking my own. Thanks to the authors, I checked: in this post, I explain what it is and how I migrated my code. What is pyo3? Rust bindings for Python, including tools …

Read More »

Announcing the Build Server for Gradle Open-Source Repository

Build Server for Gradle In September, we shared that Microsoft and Gradle have joined forces to explore a novel approach to Gradle project import and building, based on the Build Server Protocol (BSP). The objective is address the existing Gradle issues on Visual Studio Code and improve support for Gradle projects. The Build Server for Gradle, developed in collaboration with Gradle, will delegate …

Read More »

Explore project structure with IntelliJ IDEA’s Dependency Matrix

In this tutorial, we’ll look at exploring project structure with IntelliJ IDEA‘s Dependency Matrix. When working with large, complex software projects, we need to understand the dependencies between components in your projects. IntelliJ IDEA has a feature called Dependency Structure Matrix (DSM), or Dependency Matrix, that can help us with this. When you are new to a project, the Dependency …

Read More »

Foojay Podcast #33: J-Fall Report, Part 1

A few months ago, we asked the J-Fall team if a Foojay Broadcast Room would be a good idea. And they said yes, so suddenly we found ourselves in the middle of the entrance of the Pathé cinema in Ede in the Netherlands, with a camera and microphones. During the day, we had a lot of exciting talks. There are …

Read More »

Patterns For The Design Of Microservices – Part 3

In part1, part2, discussed, several design patterns were explored that aided in the development of microservices. This blog post will cover the subsequent design patterns. Observability Patterns Cross-cutting Concern Patterns Microservice Architecture Patterns Observability Patterns Undoubtedly, the logging mechanism benefits troubleshooting issues that arise when executing operations or transactions on multiple deployed microservices. We can further categorize the observability patterns …

Read More »

[Unit] Testing Supabase in Kotlin using Test Containers

In this article, I’ll dive into several methods I’ve been looking into to unit test a Kotlin application using Supabase and why I finally decided to go for a Docker Compose / Test Containers solution. TL;DR : The easiest way I found to test my database service is to mimick Supabase using Docker Compose and Test Containers. Here’s the code …

Read More »

Unexpected Things That Make You a Senior Developer

It’s a Friday, late in the afternoon. To end your work week in a clean way, you decide to get rid of some test data and files from your PC. You hit the enter button to drop a table from your local test database. Within a split second, you realize your error. Your body turns hot and cold at the …

Read More »