Classic Layout

12 Text Tools For Developers

As developer, you would think we would spend all our time in an IDE doing development. The reality is a bit different. We may need to analyze logs, test our web services, generate test data, do security tests, analyze data in the database, and so on. Text processing os also part of a developer job. Let’s see a few free …

Read More »

Java on Raspberry Pi 5 with Pi4J

In October 2023, Raspberry Pi announced version 5 of its affordable single-board computer with 4GB (60$) or 8GB (80$) of memory. Soon after the first boards were delivered, it turned out the Pi4J library wasn’t compatible with this new board. Pi4J is a library to create Java applications for the Raspberry Pi that can interact with electronic components through the …

Read More »

Debugging Streams with Peek

Table of Contents Understanding Java Streams A Simple Stream Example What is the peek() Method? Debugging with peek() Uncovering Common Bugs with peek() Filtering Issues Large Data Sets Addressing Side Effects Limitations and Pitfalls Potential for Misuse in Production Code Performance Overhead Side Effects and Functional Purity The Right Tool for the Job Navigating the Pitfalls Final Thoughts I blogged …

Read More »

How to Detect Cache Misses Using Observability

All of us know about caching in system design and software architecture, It is applicable everywhere in the computer industry, even in hardware. Caching is a quick and shortcut solution to improve performance, of course, we need to be careful of using the cache, misusing the cache can directly affect the system’s consistency. In this article, we will learn about …

Read More »

Changes Included in Release 24.02 of Azul Zing Builds of OpenJDK

Azul Platform Prime is a Java platform with a modern, TCK-compliant JVM, Azul Zing, based on OpenJDK. Zing provides low, consistent response latency of your Java workloads, higher total throughput and carrying capacity, faster warm-up, and infrastructure savings, achieved thanks to the C4 pauseless garbage collector, Falcon JIT compiler and other technologies created by Azul. Zing Builds are available in …

Read More »

Records for Cleaner and More Expressive Parameterized Tests in JUnit 5

Introduction:  Parameterized testing in JUnit 5 is a potent technique for executing the same test logic with various inputs. While you can use a variety of data structures, such as custom classes, arrays, or collections, Java records offer a compelling advantage in readability, type safety, and expressiveness. Let’s examine how to leverage Java records for parameterized tests through a concrete …

Read More »

Improving upon my OpenTelemetry Tracing demo

Last year, I wrote a post on Open Telemetry Tracing to understand more about the subject. I also created a demo around it, which featured the following components: The Apache APISIX API Gateway A Kotlin/Spring Boot service A Python/Flask service And a Rust/Axum service I’ve recently improved the demo to deepen my understanding and want to share my learning. Using …

Read More »

Foojay Podcast #46: JUG Switzerland

In this podcast, once a month, we discuss the history of a Java User Group and the people behind it. In this episode, I’m leaving the European Union and stepping over the border of Switzerland, the country where the Red Cross was started, and many international institutions have their headquarters. Let’s find out if there is also a big Java …

Read More »

JavaFX Links of March 2024

Here is the overview of the JavaFX LinksOfTheMonth of March 2024, published on jfx-central.com during this month. Components, Libraries, Tools Pedro Duque Vieira integrated this pull request in FXThemes: “True Dark Mode is now also available on Mac. All thanks to Carl Dea. Not new, but siedlerchr pointed us on EasyBind: “Leverages lambdas to reduce boilerplate when creating custom bindings, …

Read More »

Aspect-Oriented Programming (AOP) Made Easy With Java

Aspect-oriented programming (AOP) is a programming paradigm that seeks to increase modularity by separating cross-cutting concerns from core application logic. Cross-cutting concerns refer to functionality like logging, security, and transactions that span across multiple areas of an application. AOP allows these concerns to be encapsulated in reusable modules called aspects. This improves modularity and makes the codebase easier to maintain. …

Read More »