Blog Layout

Rolling Binary Trees: A Guide to Common Design Patterns in Java

Introduction Binary trees are fundamental data structures, ubiquitous in computer science and software engineering. We use them to represent hierarchical data and implement more complex data structures, such as search trees, syntax trees, cryptographic hash trees, space partitioning trees, heaps, and so on. Common binary tree operations include insertion, deletion, traversal, searching, and rotation. A relatively uncommon and unexplored operation …

Read More »

Enriching Kafka Applications with Contextual Data

Developing high-performance large-stream processing applications is a challenging task. Choosing the right tool(s) is crucial to get the job done; as developers, we tend to focus on performance, simplicity, and cost. However, the cost becomes relatively high if we end up with two or more tools to do the same task. Simply put, you need to multiply development time, deployment …

Read More »

Using Pausers in Event Loops

Typically in low-latency development, a trade-off must be made between minimising latency and avoiding excessive CPU utilisation. This article explores how Chronicle’s Pausers can be used to automatically apply a back-off strategy when there is no data to be processed, providing an excellent balance between resource usage and responsive, low-latency, low-jitter applications. Description of the Problem In a typical application …

Read More »

Write Once, Run Embedded in any IDE

Having written many Java GUI applications, I thought it would be cool to run them embedded in IntelliJ IDEA, Eclipse and NetBeans. I didn’t want to write three plugins per application so I came up with this solution. The embedded panel criteria To convert my Java Swing applications to run embedded in an IDE, I had to put the user …

Read More »

Reduce Java Application Startup and Warmup Times with CRaC

Now developers can try CRaC for themselves. Today Azul announces the general availability of Azul Zulu Builds of OpenJDK for Java 17 with CRaC support in x86, 64-bit configurations. When a Java application runs, the JVM goes through the process of loading, initializing, and optimizing the code used by the application, including libraries, frameworks, and other components to reach the …

Read More »

Announcing “Java Unscripted: An Asynchronous Exploration of Excellence”

ITL;DR Introducing “Java Unscripted,” a series featuring interviews with Java industry experts. We aim to inspire and guide new developers with these insights. Interested in participating? Fill out our Interview Participation Form. Let’s share your story with our community! In a rapidly evolving world of technology, insights from industry luminaries can act as a beacon for those looking to navigate …

Read More »

Managing Data Residency: Concepts & Theory

Cloud computing has opened a Pandora’s Box of many original issues compared to sound old on-premise systems. I believe that chief among them is Data Residency, or Data Location. Data localization or data residency law requires data about a nation’s citizens or residents to be collected, processed, and/or stored inside the country, often before being transferred internationally. Such data is …

Read More »

Discovering the Secrets to Success: An Exclusive Interview with Java Champion Michael P. Redlich

In this interview, we had the pleasure of speaking with Michael P. Redlich, a seasoned software developer with over 30 years of experience in the field. Michael shares his journey from learning Fortran IV to contributing to major Jakarta EE specifications and provides valuable insights for junior developers looking to succeed in the ever-evolving world of technology. He emphasizes the …

Read More »

Logging Best Practices Revisited

As I write this my interview on DevCentral hasn’t started yet so if you subscribe to my blog or follow me on socials you might be able to catch it live. If not the recording should appear right here: Either way, this isn’t the first time I wrote about or talked about logging and the common pitfalls we see when …

Read More »

Foojay Podcast #22: When Profession and Fun Overlap

Let’s talk about programming for fun. Grab your Lego and robots, and let’s talk about STEM and STEAM! As a developer, we all get frustrated occasionally when a bug messes up our schedule, and we have to dive deep into the code to find a solution. But still, many of us keep coding in our free time as we love …

Read More »