Spring Boot and React in Harmony

Develop clean and maintainable business apps on top of Spring Boot and React, and do it faster using the Hilla framework. For many full-stack developers, the combination of Spring Boot and React has become a staple in building dynamic business applications. Yet, while powerful, this pairing has its set of challenges. From type-related errors to collaboration hurdles, developers often find …

Read More »

Contributing to Open Source: Hacktoberfest

Quite frequently when it comes to contributing to open source I hear questions/doubts such as: where do I start how do I find projects/issues can I help out as a newbie are there other ways I can contribute besides coding Which is why I’d love to share a little bit about Hacktoberfest, which is an event organized by DigitalOcean that …

Read More »

JVector 1.0

JVector is a pure Java embedded vector search engine that powers DataStax Astra and is being added to Apache Cassandra. Vector search is a critical part of today’s generative AI applications, allowing developers to quickly retrieve the most relevant context to give the large language model enough information to answer accurately and without hallucinating, but innovation in this space has …

Read More »

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 »