foojay

Report of My Trip to JavaZone and Northern Germany

Between 2nd and 17th September, I gave three talks in three different cities: JavaZone Oslo, 7th September: Unleash the Power Of Open-Source Profilers (InfoQ article) Java Forum Nord Hannover, 12th September: Unleash the power of Open-Source Java Profilers code.talks Hamburg, 14th September: Writing a Java Profiler in Pure Java (blog post) I traveled from Karlsruhe to Oslo (via Stuttgart Airport) and from …

Read More »

Foojay Podcast #30: UtrechtJUG

On September 12th, I was invited to speak at the Utrecht JUG together with Hanno Embrechts. That was an ideal moment to grab my camera and microphones to interview the organisers and some of the guests. So, this is a bit of a special edition of the Foojay Podcast as it’s also available with video! An experiment that brought me …

Read More »

JavaFX Links of September 2023

This month OpenJDK and OpenJDK 21 got officially released, so links to the new downloads but also to the early access builds of the next one! Here is the overview of the JavaFX LinksOfTheWeek that got published on jfx-central.com during September. Core Announcement by GluonHQ: “We’re proud to announce JavaFX 21 GA. Download the SDK/jmods from gluonhq.com/products/javafx/ or get the …

Read More »

Web Crawling in Java: A Tale of Classical Threads and Virtual Threads

In today’s fast-paced digital world, web crawling is a cornerstone technology behind search engines, data analysis tools, and various other applications. Java, a language known for its robustness and scalability, offers intriguing ways to implement web crawling. Yet, the thread model you choose can make a world of difference. This article unfolds a compelling narrative around web crawling in Java, …

Read More »

C2 Might Be Slowing Down Your Builds

At the JavaForumNord two weeks ago, I had a friendly chat with Karl Heinz Marbaise (Chairman of the Apache Maven Project), where he mentioned that he wanted to start profiling Maven. This sounded interesting, so I started looking into the performance and bottlenecks of Maven. I began by using the Maven build of maven itself as a starting point (excluding …

Read More »

The Systemic Process of Debugging

The Importance of Issue Tracking Avoiding Parallel Work on the Same Bug The Value of Issue Over Pull Requests Communication: Issue Tracker vs. Ephemeral Channels Why We Sometimes Avoid the Issue Tracker The Role of Daily Meetings The Role of Testing in Debugging Starting with Unit Tests Unit Tests vs. Integration Tests Final Word Debugging is an integral part of …

Read More »

Memory Management in Java: An Introduction

Understanding memory management in Java, and particularly the role of object allocation is essential when optimising system performance. In Java, memory management is an automatic process that is managed by the Java Virtual Machine (JVM), and one that does not need explicit intervention. Java, being a block-structured language, uses a model where its memory is divided into two main types: …

Read More »

Down the Rabbit Hole of an Apache APISIX Plugin

My demo, Evolving your APIs, features a custom Apache APISIX plugin. I believe that the process of creating a custom plugin is relatively well-documented. However, I wanted to check the parameters of the _M.access(conf, ctx) function, especially the ctx one. The documentation states: The ctx parameter caches data information related to the request. You can use core.log.warn(core.json.encode(ctx, true)) to output …

Read More »

How Software Companies Give Away Stuff for Free

In today’s world, it has never been easier to get your hands on a piece of software for evaluation purposes. Having worked for multiple enterprise companies, I have noticed over the years that they all take different approaches to allowing developers to get their hands dirty with their tech. There are many different ways of doing this and in this …

Read More »

Visit Azul at Devoxx

Devoxx Belgium 2023 is finally here! To mark the 20th anniversary of the conference and the release of the new Azul book OpenJDK Migration for Dummies, this post summarizes all the logistical details you need to know to get the most out of Azul at Devoxx! Devoxx Belgium will take place on 2 – 6 October 2023 at Kinepolis in Antwerp (Belgium). This edition is …

Read More »