Why Core-to-Core Latency Matters

A few years ago we had a global shortage of microchips; now, I feel there is a worldwide shortage of software developers. Like many other software companies, Chronicle Software is rapidly expanding and interviewing candidates. We usually ask candidates to demonstrate a good knowledge of core Java, then we cover slightly more advanced concepts, such as the use of volatile …

Read More »

Real-time Stream Processing with Hazelcast and StreamNative

Introduction One of the most useful features of real-time stream processing is to combine the strengths and advantages of various technologies to provide a unique developer experience and an efficient way of processing data in real time at scale. Hazelcast is a real-time distributed computation and storage platform for consistently low latency queries, aggregation and stateful computation against real-time event …

Read More »

How to Run a Java Application with CRaC in a Docker Container

CRaC (Coordinated Restore at Checkpoint) is an OpenJDK project that was developed by Azul to solve the problem of “slow” startup times of the Java Virtual Machine in a microservice environment. When the JVM runs your application code, it does things like interpreting, compiling and optimizing code to make your application run as fast as possible under the given workload. …

Read More »

More Foojay.io FOSDEM Speaker Predictions for 2023

Following on from the first part in this series, covering Simon Ritter and several more, here is the next set of reflections on 2022 and expectations for this year, from speakers who will be in the Foojay.io developer room at FOSDEM on Sunday, 5 February. What’s going to happen this year? In the software supply chain arena, it’s pretty clear …

Read More »

Journeys in Java, Level 7: Externalize Microservice Configuration

Our decided next step for this project takes us in a new direction by adding externalized configuration for our applications. We already saw how to do something similar with MongoDB database credentials in Docker Compose to access a local database container, but what do we do when the database is hosted on public cloud or contains sensitive data? We probably …

Read More »

JavaFX Links of January 2023

2023 has taken of with a flying start in JavaFX-world! Here is a summary of the Links Of The Week that were published in January on jfx-central.com. JavaFX Versions Gluon announced the first set of JavaFX releases in 2023: JavaFX 19.0.2: public release containing some updates and security patches to JavaFX 19. JavaFX 11.0.18 and JavaFX 17.0.6: for LTS customers …

Read More »

Quest for REST

Since I started working for Apache APISIX, I have tried to deepen my understanding of REST via various means. Did you read my review of API Design Patterns book? In the current literature, REST is generally promoted as the best thing since sliced bread. Yet, it comes with lots of challenges. In 2010(!), Martin Fowler wrote a post on the …

Read More »

How Java Litters Beyond the Heap: Part 3, Solid-State Drives

A Java application dutifully executes your logic, leaving behind footprints in the Java heap in the form of dead objects. A garbage collector will then step in and clean out the memory for the new data. This cycle repeats until the app is stopped. This is well known. But, the Java heap is one of many places where your app …

Read More »

AsyncGetStackTrace: A better Stack Trace API for the JVM

This article is the basis for my upcoming talk at FOSDEM 2023, “AsyncGetStackTrace: The Improved Version Of AsyncGetCallTrace (JEP 435),“ and is based on JEP Candidate 435. Consider you want to write a profiler to profile Java applications. Why? Because you think that the existing ones “[…] Are Fucking Terrible” or “[…] Broken”. Or you want to start a blog …

Read More »

“The More You Say, the Less People Remember…

…The Fewer the Words, the Greater the Profit.” These wise words were written by François Fénelon, a writer and theologian living during the 17th century. This is an article summarising different approaches to the development of IT solutions. Learn why the above quote is very relevant for developers in the 21st century. Business Driven Development Business-driven development is a meta-methodology …

Read More »