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

In a recent interview, Java Champion Michael P. Redlich shared valuable insights on software development. He emphasized continuous learning, open-source contributions, and adapting to new technologies like cloud computing. The interview provides practical advice for developers, h … | Continue reading


@foojay.io | 1 year ago

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 ... The post Logging Best Practices Revisited appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #22: When Profession and Fun Overlap

Let's talk to volunteers from different organizations where coding is used to inspire children to become engineers. The post Foojay Podcast #22: When Profession and Fun Overlap appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

A Dissection of Java JDBC to PostgreSQL Connections

When using Java JDBC with PostgreSQL, know the difference between simple and extended protocols, how to recognize protocol implementations, and more. The post A Dissection of Java JDBC to PostgreSQL Connections appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Analyzing Dependencies in IntelliJ IDEA

Use IntelliJ IDEA to analyze dependencies in your project. Use the Dependency Analyzer to find specific dependencies, show conflicts and more, or use the Dependency Diagram in IntelliJ IDEA Ultimate. The post Analyzing Dependencies in IntelliJ IDEA appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Code Interoperability Mode for OpenCL Portability Across Various Programming Languages with TornadoVM

Code Interoperability Mode enables TornadoVM to prototype kernels that run from multiple programming languages. The post Code Interoperability Mode for OpenCL Portability Across Various Programming Languages with TornadoVM appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Tuning Java Applications for Low Latency on Linux

An introduction to some approaches that can be taken when we want to have our applications utilise system resources most effectively. The post Tuning Java Applications for Low Latency on Linux appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Unleashing the Power of Lightweight Concurrency: A Comprehensive Guide to Java Virtual Threads (Part 1)

Java Virtual Threads, also known as lightweight threads, are a new feature in Java's Project Loom that aim to simplify concurrent programming. The post Unleashing the Power of Lightweight Concurrency: A Comprehensive Guide to Java Virtual Threads (Part 1) appeared first on foojay … | Continue reading


@foojay.io | 1 year ago

Unconventional Remote Process Control Without Libraries In Java: Presenting X-Pipe

If the user has already installed the programs to connect to remote systems, why not try to use them from Java instead of libraries? The post Unconventional Remote Process Control Without Libraries In Java: Presenting X-Pipe appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Interview with Paul Kocian aka OrangoMango

Learn about an impressive list of JavaFX and Raspberry Pi projects and beyond worked on by a 16 year old in Italy! The post Interview with Paul Kocian aka OrangoMango appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Spring Boot Debugging with Aspect-Oriented Programming (AOP)

Does your app fail CI tests "sometimes"? Does it display flaky behavior? Did you add many logs trying to solve it? There's a better way: AOP! The post Spring Boot Debugging with Aspect-Oriented Programming (AOP) appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Using Async-Profiler and Jattach Programmatically with AP-Loader

AP-Loader wraps async-profiler and its tools with an API in a cross-platform JAR. This article is about the API. The post Using Async-Profiler and Jattach Programmatically with AP-Loader appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Hidden and Not-So-Hidden Gems In Java 20

Let's see the preview and incubator JEPs in Java 20, as well as many smaller enhancements, bug fixes, and deprecations. The post Hidden and Not-So-Hidden Gems In Java 20 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Timefold Forks OptaPlanner: Open Source Solver in Java

Timefold continues OptaPlanner, open source project optimizing operational planning, saving thousands of organizations time, money, resources. The post Timefold Forks OptaPlanner: Open Source Solver in Java appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Leverage the Richness of HTTP Status Codes

While many discussions about REST focus on entities and methods, using the correct response status codes can make your API stand out. The post Leverage the Richness of HTTP Status Codes appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #21: Brazil SouJava JUG and How to Grow your Developer Career

SouJava, the Brazil JUG, was founded in 1999, is recognized as the world’s largest Java User Group with 40,000 members. The post Foojay Podcast #21: Brazil SouJava JUG and How to Grow your Developer Career appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

JavaFX Links of April 2023

JavaFX Core, Conferences, Scene Builder, Gluon, JFX Central, Almas, Gerrit, Dirk, and much more... JavaFX Links of April 2023! The post JavaFX Links of April 2023 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

The Basis of Virtual Threads: Continuations

Virtual threads are lightweight implementations of java.lang.Thread, while this article turns the spotlight on the Continuations that are the basis of Virtual threads. The post The Basis of Virtual Threads: Continuations appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Java Developer vs. ChatGPT Part I: Writing a Spring Boot Microservice

Pitting a seasoned Java developer against the all-knowing generative AI to find out... can AI generate a Java microservice end-to-end? The post Java Developer vs. ChatGPT Part I: Writing a Spring Boot Microservice appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Creating Scalable OpenAI GPT Applications in Java

Learn how to integrate the ChatGPT engine into your Java applications in a scalable way by sending prompts to the engine only when necessary. The post Creating Scalable OpenAI GPT Applications in Java appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Comparing Approaches to Durability in Low Latency Messaging Queues

Is replicating data to a secondary system faster than sync-ing to disk? My first time benchmarking with a realistic example. The post Comparing Approaches to Durability in Low Latency Messaging Queues appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

FEPCOS-J (1) – Description, Impressions of Usage, Current State

FEPCOS-J implements a Java-language extension that frees a Java-developer from network programming and supports cross-system concurrency. The post FEPCOS-J (1) – Description, Impressions of Usage, Current State appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Couldn’t We Just Use AsyncGetCallTrace In A Separate Thread?

Using AsyncGetCallTrace from a separate sampler thread is possible and this article tells you why and how! The post Couldn’t We Just Use AsyncGetCallTrace In A Separate Thread? appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Relearning Java Thread Primitives

"Synchronized" was revolutionary and still has great uses. But it's time to move to newer thread primitives and rethink our core logic. The post Relearning Java Thread Primitives appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #20: Functional Programming, “The Good, the Bad, and the Ugly”

Functional programming: you either love it or you hate it. But it is a trade-off. So for today, let's focus on the good, the bad, the ugly! The post Foojay Podcast #20: Functional Programming, “The Good, the Bad, and the Ugly” appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Fearless Distroless

Distroless images are a solution to reduce your image size and improve its security, by providing neither a package manager nor a shell. The post Fearless Distroless appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Automatically Creating Microservices Architecture Diagrams

Upload a JAR, search for YAML, create a DOT, convert this to a PNG, all taking place behind the scenes, with just a click of a button. The post Automatically Creating Microservices Architecture Diagrams appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

JUG PH: Java User Group PH Revitalization Report 2023

Event group report for the revitalized meetup of Java User Group PH. A meetup group focusing in Java ecosystem. The post JUG PH: Java User Group PH Revitalization Report 2023 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Not Your Grandfather’s Logs — A Java Library’s New Approach To Observability

How a Java library is taking a completely new approach to understanding what the code does, and why it makes perfect developer sense. The post Not Your Grandfather’s Logs — A Java Library’s New Approach To Observability appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #19: How Working For Free For Fun Brought Me Fame and Fortune – Or At Least Some Of Each – In The End

Many developers spend a lot of their time on side projects. It’s an opportunity to learn new techniques and get involved in communities. But sometimes it can also lead to a new job. The post Foojay Podcast #19: How Working For Free For Fun Brought Me Fame and Fortune – Or At Leas … | Continue reading


@foojay.io | 1 year ago

Boldness in Refactoring!

"Don't touch it, it works" is problematic. It leads us down a bad path. How do you handle a project that held that policy for years? The post Boldness in Refactoring! appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Replacing Postman with the JetBrains HTTP Client

How to use the JetBrains HTTP Client to replace Postman, test third party APIs, share requests and run them in CI all of that within minutes! The post Replacing Postman with the JetBrains HTTP Client appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Chronicle FIX: Much More Than a Quick Fix

Many of our customers have upgraded from QuickFIX/J to Chronicle FIX and this article provides some background as to why. The post Chronicle FIX: Much More Than a Quick Fix appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Getting Started With Jakarta EE 10 – Jakarta REST

In this article, we take a look at how to get started developing RESTful web services on the Jakarta EE Platform using the Jakarta REST API. The post Getting Started With Jakarta EE 10 – Jakarta REST appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Hidden Beauties of Java Enums

Java enums can contain much more than just a list of definitions, but also data and extended functionality! The post Hidden Beauties of Java Enums appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Introducing Bld: A New Pure Java Build System

We created bld because we're not really interested in build tools. We use them because we have to, but we'd rather just get on with coding the real stuff. The post Introducing Bld: A New Pure Java Build System appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

My First Firefox Extension

A couple of weeks ago, I spent the weekend creating another CFP submission helper in the form of a Firefox extension. The post My First Firefox Extension appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Unlocking Java Secrets with Frank Delporte: Insights, Stories, and Tips for Success

Dive into our insightful interview with Frank Delporte, Java Champion and Senior Technical Writer at Azul Systems, as he shares his experiences in the software industry, valuable advice for Java beginners, and his journey in technical writing. Discover the resources Frank recomme … | Continue reading


@foojay.io | 1 year ago

Time Zone and Currency Database in JDK

You aren’t a real developer until you have programmed with dates, times, daylight savings, and time zones. Luckily the JDK assists you! The post Time Zone and Currency Database in JDK appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Instrumenting Java Code to Find and Handle Unused Classes

Ever wondered how to find classes and dependencies that you don't actually use? Here I describe how to implementing an instrumenting Java agent. The post Instrumenting Java Code to Find and Handle Unused Classes appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Chronicle FIX: Designed Not To Skip A Message Even If Your Data Centre Fails

High availability is achieved in Chronicle FIX by failover, where workload is transferred from a primary engine to a secondary engine in the event of a primary engine failure. The post Chronicle FIX: Designed Not To Skip A Message Even If Your Data Centre Fails appeared first on … | Continue reading


@foojay.io | 1 year ago

Cherry-Pick: Move a Commit to a Different Branch

Moving a commit to a different branch: not nearly as scary as it sounds! Let the IDE help to turn this into a quick, low-stress task. The post Cherry-Pick: Move a Commit to a Different Branch appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

DevOps For Developers: Continuous Integration, GitHub Actions, and Sonar Cloud

When it is done badly, the CI process can turn this amazing tool into a nightmare. CI should make our lives easier, not the other way around. The post DevOps For Developers: Continuous Integration, GitHub Actions, and Sonar Cloud appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Unlocking the Secrets to a Successful Software Engineering Career: An Interview with Otavio Santana

Otavio Santana shares his journey as a passionate software engineer and architect, emphasizing the crucial roles of open-source contributions, mentorship, and simplicity in shaping successful software engineering careers. The post Unlocking the Secrets to a Successful Software En … | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #18: Atlanta JUG and DevNexus

Today we travel back to the US to learn more about the Atlanta JUG, mainly because this week, they are organizing the DevNexus conference! The post Foojay Podcast #18: Atlanta JUG and DevNexus appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Coroutines on the RaspberryPi (Pi4J-Kotlin)

Find out all the details on Pi4J-Kotlin v2.4.0: Coroutines, I2C, and Serial DSL on Foojay.io Today, the place for OpenJDK friends. The post Coroutines on the RaspberryPi (Pi4J-Kotlin) appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

JavaFX Links of March 2023

Already the end of March, so time to look back at the JavaFX Links Of The Week that were published on JFXCentral.com. The post JavaFX Links of March 2023 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

My Evaluation of the Scaleway Cloud Provider

Heroku's owner, Salesforce, announced it would stop the free plan, I found a new provider, Scaleway, and here are my experiences. The post My Evaluation of the Scaleway Cloud Provider appeared first on foojay. | Continue reading


@foojay.io | 1 year ago