Foojay Podcast #12: State and Future of the IDEs

In this podcast,  we are talking to some of the key people working on different IDEs, Integrated Development Environments. Those are applications that provide tools to computer programmers for software development. An IDE typically consists of at least a source code editor, build automation tools, and a debugger. Let’s learn how these tools evolved, and the challenges they face to …

Read More »

Foojay.io FOSDEM Speaker Predictions for 2023

FOSDEM is around the corner and a group of great speakers is lined up to talk about the OpenJDK and the many different ways in which to make use of it. Each comes from a different part of the OpenJDK ecosystem, with different perspectives, and therefore unique insights into what to expect for this year. Tip—in each expectation/prediction for 2023 …

Read More »

Friends of OpenJDK Schedule at FOSDEM 2023

Again, i.e., following on from good times in 2022 and 2021, we have a really great schedule with inspiring speakers for FOSDEM in Brussels, on Sunday, February 5, providing a place for friends of OpenJDK in the Foojay.io Developer Room. It’s all free and fun and we’re also organizing a get together with drinks and food the evening before, on …

Read More »

How Does Kafka Perform When You Need Low Latency?

Most Apache Kafka benchmarks appear to test high throughput but not low latency. Kafka was traditionally used for high throughput rather than latency-sensitive messaging, but it does have a low-latency configuration. (Mostly setting linger.ms=0 and reducing buffer sizes). In this configuration, you can get below 1-millisecond latency a good percentage of the time for modest throughputs. Benchmarks tend to focus …

Read More »

How to Release a Java Module with JReleaser to Maven Central with GitHub Actions

This article is a tutorial that guides you through the process of releasing a Java module with JReleaser to Maven Central and Github Actions. JReleaser is a tool that streamlines the release process for Java projects, allowing developers to quickly and efficiently publish their modules to Maven Central. If you just want to publish your Maven project by hand, then …

Read More »

Foojay Podcast #11: Looking Back to 2022 and Predictions for 2023

A few weeks ago, Ted Neward published a post in which he reviewed the predictions he made one year ago and added a long list of predictions for 2023. In this Foojay Podcast episode, we talk about these predictions, and we even found an analogy between what has happened at Twitter in the last months and the history of Java! …

Read More »

Debugging Streams and Collections

I will run a book giveaway promotion on the Code Ranch on January 17th. Be sure to be there and let your friends know. It would be great to answer your questions about debugging. I’m very excited by this and by the feedback I’m getting for the course and new videos. I also launched a free new Java course for …

Read More »

The Massive Hidden Power of Breakpoints

It’s been a big week. I’m currently reviewing the final draft of my upcoming debugging book. This is always a sobering, and exciting moment. A moment in which all of a sudden all the months of work become “real”. I also recorded 9 videos for youtube bringing up the total videos in the course to 29 (with many more on …

Read More »

Writing a Profiler from Scratch: The Profiling Loop

This is the second post in the series, building a profiler from scratch using AsyncGetCallTrace. Today, we’re covering wall-clock profiling and how to collect the obtain stack traces. If you’re unfamiliar with AsyncGetCallTrace, please check out my previous article in the series here. Our goal today is to essentially write the primary loop of a profiler and do the following …

Read More »

Unsafe Deserialization Vulnerability in SnakeYaml (CVE-2022-1471)

SnakeYaml is a well-known YAML 1.1 parser and emitter for Java. Recently, a vulnerability — CVE-2022-1471 — was reported for this package. This vulnerability can lead to arbitrary code execution. The org.yaml:snakeyaml package is widely used in the Java ecosystem, in part because it is packaged by default with Spring Boot in the spring-boot-starter. In this article, we look into the security vulnerability affecting this …

Read More »