Blog Layout

Ignore Infrastructure: Concentrate on Code with Jakarta EE and Payara Cloud

Java EE, now Jakarta EE, makes it possible for developers to focus purely on the development of a Java enterprise application, solving the business logic without needing to think about infrastructure and operations when writing code. Payara Cloud extends this philosophy by also eliminating the need to worry about infrastructure and operations when preparing your application to run in the …

Read More »

Creating a GraphQL API for Neo4j with Quarkus and SmallRye GraphQL

In my first article on Foojay, I would like to present one of many possible approaches to create a GraphQL API. I work at Neo4j, so it should not be a big suprise that I will use the Graph database with the same name as a backend for the application. In this post I will cover a couple of things …

Read More »

External Debugging Tools 1: dtrace and strace

Often when debugging, we need to step outside of the comforting embrace of the IDE to reproduce or track an issue. In this series, I’d like to go over some tools you might find useful for these cases. I’ll try to limit myself to tools that are 100% debugging tools and not those that are useful for development testing. E.g., …

Read More »

Foojay Slack: join.slack.com/t/foojay/signup

Join the Foojay.io community on Slack, here: join.slack.com/t/foojay/signup On Slack, the Foojay.io community discusses articles, insights, tips, tricks, events, and more, all related to users of the OpenJDK, such as Java and Kotlin developers. The post Foojay Slack: join.slack.com/t/foojay/signup appeared first on foojay.

Read More »

What is a Java Uber-JAR and Why Is It Useful?

An uber-JAR, also known as a fat JAR or JAR with dependencies, is a JAR file that contains not only a Java program but embeds its dependencies as well, and might also contain the web application that needs to be executed. In this article, we’ll describe the different variants of the artifact and the advantages and drawbacks it has. What …

Read More »

Getting Started with Deep Learning in Java Using Deep Netts (Part 2)

Deep Netts is a deep learning development toolkit that enables Java developers to easily add modern AI to their apps. It provides a deep learning IDE and a Java-native deep learning library for embedding AI models into Java apps. In part 1, we looked at the Deep Netts Community Edition, which is capable of solving basic machine learning problems, and …

Read More »

A Flavour of TornadoVM on Apple M1 Pro

This article aims to describe the main steps required to install and run TornadoVM on Apple M1 Pro. Steps Install Prerequisites Run TornadoVM Installer Execute Unit Tests Performance Evaluation: Running Matrix-Multiplication on Apple M1 GPU 1. Install Prerequisites To install TornadoVM, it is necessary to have some packages installed. For instance, you will have to install Maven and wget in …

Read More »

Write Your Own Service Discovery Client for Apache APISIX

API Gateways in general, and Apache APISIX in particular, provide a single entry point into one’s information system. This architecture allows for managing load balancing and failover over similar nodes. For example, here’s how you can create a route balanced over two nodes in Apache APISIX: curl http://localhost:9080/apisix/admin/routes/1 -H ‘X-API-KEY: edd1c9f034335f136f87ad84b625c8f1’ -X PUT -i -d ‘{ “uri”: “/*”, “upstream”: { …

Read More »

Understand the Root Cause of Regressions with Git Bisect

In this series, I cover a lot of magical tools and git bisect is probably the best example of such magic. The hardest part in debugging is knowing the general area of the bug… and bisect literally shines a light on the specific commit that caused it! Before we begin, let’s make one thing clear: bisect is a tool for …

Read More »

Five Data Models for IoT: Managing the Latest IoT Events Based on a State in Apache Cassandra

© Shutterstock / everything possible Apache Cassandra is a rock-solid choice for managing IoT and time series data at scale. The most popular use case of storing, querying and analyzing time series generated by IoT devices in Cassandra is well-understood and documented. In general, a time series is stored and queried based on its source IoT device. However, there exists another …

Read More »