Classic Layout

More Foojay.io FOSDEM Speaker Predictions for 2023

Following on from the first part in this series, covering Simon Ritter and several more, here is the next set of reflections on 2022 and expectations for this year, from speakers who will be in the Foojay.io developer room at FOSDEM on Sunday, 5 February. What’s going to happen this year? In the software supply chain arena, it’s pretty clear …

Read More »

Journeys in Java, Level 7: Externalize Microservice Configuration

Our decided next step for this project takes us in a new direction by adding externalized configuration for our applications. We already saw how to do something similar with MongoDB database credentials in Docker Compose to access a local database container, but what do we do when the database is hosted on public cloud or contains sensitive data? We probably …

Read More »

JavaFX Links of January 2023

2023 has taken of with a flying start in JavaFX-world! Here is a summary of the Links Of The Week that were published in January on jfx-central.com. JavaFX Versions Gluon announced the first set of JavaFX releases in 2023: JavaFX 19.0.2: public release containing some updates and security patches to JavaFX 19. JavaFX 11.0.18 and JavaFX 17.0.6: for LTS customers …

Read More »

Quest for REST

Since I started working for Apache APISIX, I have tried to deepen my understanding of REST via various means. Did you read my review of API Design Patterns book? In the current literature, REST is generally promoted as the best thing since sliced bread. Yet, it comes with lots of challenges. In 2010(!), Martin Fowler wrote a post on the …

Read More »

How Java Litters Beyond the Heap: Part 3, Solid-State Drives

A Java application dutifully executes your logic, leaving behind footprints in the Java heap in the form of dead objects. A garbage collector will then step in and clean out the memory for the new data. This cycle repeats until the app is stopped. This is well known. But, the Java heap is one of many places where your app …

Read More »

AsyncGetStackTrace: A better Stack Trace API for the JVM

This article is the basis for my upcoming talk at FOSDEM 2023, “AsyncGetStackTrace: The Improved Version Of AsyncGetCallTrace (JEP 435),“ and is based on JEP Candidate 435. Consider you want to write a profiler to profile Java applications. Why? Because you think that the existing ones “[…] Are Fucking Terrible” or “[…] Broken”. Or you want to start a blog …

Read More »

“The More You Say, the Less People Remember…

…The Fewer the Words, the Greater the Profit.” These wise words were written by François Fénelon, a writer and theologian living during the 17th century. This is an article summarising different approaches to the development of IT solutions. Learn why the above quote is very relevant for developers in the 21st century. Business Driven Development Business-driven development is a meta-methodology …

Read More »

Modular Monolithic in Practice

With the usage of microservices in application modernization, we have seen both the advantages and disadvantages of maintaining such software development styles. When we create applications mostly in enterprise organizations, the first thing that comes to our mind now is how to decouple our applications. There will be times when creating too many microservices is not the best way and …

Read More »

Java Bytecode Simplified: Journey to the Wonderland (Part 3)

Our previous article unpacked Bytecode further and discussed ConstantPool, today I’ll go through several resources for working with it now. Java bytecode is the Java Virtual Machine’s (JVM) intermediate representation of Java code. While Java bytecode is not meant to be human-readable, it may be edited and manipulated for several reasons. This article examines the tools and methods used to …

Read More »

Vaadin, OAuth2, and Keycloak

This article shows how to configure Vaadin and Spring Security to use OAuth2 with Keycloak. Keycloak First, we must start Keycloak and configure a realm. The easiest way is to start Keycloak with Docker. Caution: This is just for development purposes. Don’t use the setup in production. docker run -d -p 8180:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:20.0.1 start-dev Now you …

Read More »