foojay

Announcing the Build Server for Gradle Open-Source Repository

Build Server for Gradle In September, we shared that Microsoft and Gradle have joined forces to explore a novel approach to Gradle project import and building, based on the Build Server Protocol (BSP). The objective is address the existing Gradle issues on Visual Studio Code and improve support for Gradle projects. The Build Server for Gradle, developed in collaboration with Gradle, will delegate …

Read More »

Explore project structure with IntelliJ IDEA’s Dependency Matrix

In this tutorial, we’ll look at exploring project structure with IntelliJ IDEA‘s Dependency Matrix. When working with large, complex software projects, we need to understand the dependencies between components in your projects. IntelliJ IDEA has a feature called Dependency Structure Matrix (DSM), or Dependency Matrix, that can help us with this. When you are new to a project, the Dependency …

Read More »

Foojay Podcast #33: J-Fall Report, Part 1

A few months ago, we asked the J-Fall team if a Foojay Broadcast Room would be a good idea. And they said yes, so suddenly we found ourselves in the middle of the entrance of the Pathé cinema in Ede in the Netherlands, with a camera and microphones. During the day, we had a lot of exciting talks. There are …

Read More »

[Unit] Testing Supabase in Kotlin using Test Containers

In this article, I’ll dive into several methods I’ve been looking into to unit test a Kotlin application using Supabase and why I finally decided to go for a Docker Compose / Test Containers solution. TL;DR : The easiest way I found to test my database service is to mimick Supabase using Docker Compose and Test Containers. Here’s the code …

Read More »

Patterns For The Design Of Microservices – Part 3

In part1, part2, discussed, several design patterns were explored that aided in the development of microservices. This blog post will cover the subsequent design patterns. Observability Patterns Cross-cutting Concern Patterns Microservice Architecture Patterns Observability Patterns Undoubtedly, the logging mechanism benefits troubleshooting issues that arise when executing operations or transactions on multiple deployed microservices. We can further categorize the observability patterns …

Read More »

Unexpected Things That Make You a Senior Developer

It’s a Friday, late in the afternoon. To end your work week in a clean way, you decide to get rid of some test data and files from your PC. You hit the enter button to drop a table from your local test database. Within a split second, you realize your error. Your body turns hot and cold at the …

Read More »

Preserving Software Continuity: Empowering Failover Strategies for Uninterrupted Operations

In today’s ever-changing and fast-paced digital landscape, maintaining uninterrupted business continuity is of utmost importance. Enter Chronicle Services, a robust mechanism dedicated to upholding application integrity even in the face of service disruptions. Let’s examine the world of failover strategies and explore how they safeguard software continuity. Stateless vs. Stateful Services It’s important to appreciate the difference between stateless and …

Read More »

Live (re)compile, (re)load, (re)execute Java code in 100 LoC

Writing your first program in Java can have quite a learning curve.Java has been trying in recent releases to make it easier to write the first simple program.Here are some changes that simplify your first Java program: JEP 222: jshell: The Java Shell (Read-Eval-Print Loop) in JDK 9 JEP 330: Launch Single-File Source-Code Programs in JDK 11 JEP 445: Unnamed …

Read More »

Loom is just HyperThreading in Java

While sitting in Cay Horstmann‘s “Looming Changes in Java Concurrency” talk at BaselOne, I had an epiphany: Aren’t virtual threads with Loom just a version of HyperThreading on the JVM? Both try to utilize a computation resource fully, be it hardware core or platform thread, by multiplexing multiple tasks onto it, despite many tasks waiting regularly for IO operations to …

Read More »

Digma, Apache APISIX, and OpenValue Sponsor Foojay.io at JFall 2023

Last week’s JFall 2023 was a high point in the evolution of Foojay.io, the place for friends of OpenJDK. We had a very big booth right by the entrance to the venue, consisting of a large rollout banner featuring all the organizations involved in Foojay.io, a table totally covered in stickers (hundreds, maybe thousands, of Foojay.io stickers, as well as …

Read More »