<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>foojay.io - Friends Of OpenJDK</title><link>https://foojay.io/</link><description>Foojay is a place for Friends Of OpenJDK, providing free, reference materials and blogs for daily Java usage.</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 18 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://foojay.io/index.xml" rel="self" type="application/rss+xml"/><item><title>Lottie4J 1.2.7: A Performance Release</title><link>https://foojay.io/today/lottie4j-1-2-7-a-performance-release/</link><pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Frank Delporte</dc:creator><category>JavaFX</category><guid>https://foojay.io/today/lottie4j-1-2-7-a-performance-release/</guid><description>Lottie4J 1.2.7 focuses on performance: image assets are decoded once and cached, track mattes reuse their buffers between frames, and GC pauses drop by two thirds.</description></item><item><title>Pi4J V5.0.0: Work in Progress</title><link>https://foojay.io/today/pi4j-v5-work-in-progress/</link><pubDate>Sat, 17 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Frank Delporte</dc:creator><category>Pi4J</category><category>Raspberry Pi</category><category>Embedded</category><guid>https://foojay.io/today/pi4j-v5-work-in-progress/</guid><description>What is changing towards Pi4J V5.0.0: a big API cleanup, a simpler Context, parallel ports, RISC-V support, better board detection, and a new release flow.</description></item><item><title>Build Your First SaaS with MongoDB Ephemeral Clusters</title><link>https://foojay.io/today/build-your-first-saas-with-mongodb-ephemeral-clusters/</link><pubDate>Fri, 16 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tim Kelly</dc:creator><category>Mongo</category><category>Java</category><category>Spring</category><category>Tutorials</category><guid>https://foojay.io/today/build-your-first-saas-with-mongodb-ephemeral-clusters/</guid><description>Provision a MongoDB Atlas Ephemeral Cluster with one API call, then have an AI coding agent build a full-stack Spring Boot and React job tracker on it.</description></item><item><title>Apple Shouldn't Dictate Your App's Redesign Schedule</title><link>https://foojay.io/today/who-decides-your-app-redesign/</link><pubDate>Fri, 16 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Shai Almog</dc:creator><category>Java</category><guid>https://foojay.io/today/who-decides-your-app-redesign/</guid><description>Adopt Xcode 27 without moving your redesign schedule. This week: Liquid Glass, a JPA inspired ORM, OpenTelemetry, WebSockets and push callbacks.</description></item><item><title>A Smaller, Faster Java Server with a Spring-Style API</title><link>https://foojay.io/today/java-server-work-before-startup/</link><pubDate>Fri, 16 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Shai Almog</dc:creator><category>Java</category><guid>https://foojay.io/today/java-server-work-before-startup/</guid><description>Build a smaller native Java service with Spring-style transactions and dependency injection. Inspect the generated code and compare local Linux startup,...</description></item><item><title>Scraping websites and bot-protection</title><link>https://foojay.io/today/bypass-bot-protection/</link><pubDate>Thu, 15 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nicolas Frankel</dc:creator><category>Security</category><category>Tools</category><guid>https://foojay.io/today/bypass-bot-protection/</guid><description>The levels of bot protection I met while scraping genealogy sites, from a bare curl to shell-launched Chrome, and how to get past each one.</description></item><item><title>Lightweight Spring Boot Monitoring Without Prometheus and Grafana</title><link>https://foojay.io/today/lightweight-spring-boot-monitoring/</link><pubDate>Thu, 15 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ted Kupolov</dc:creator><category>Java</category><category>Spring</category><category>Observability</category><guid>https://foojay.io/today/lightweight-spring-boot-monitoring/</guid><description>Monitor Spring Boot applications on a small VPS using Actuator and StatLite, without operating a full Prometheus and Grafana stack.</description></item><item><title>What's New In The October 2026 Azul Payara Release?</title><link>https://foojay.io/today/whats-new-in-the-october-2026-azul-payara-release/</link><pubDate>Wed, 14 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dominika Tasarz</dc:creator><category>Jakarta EE</category><category>Payara</category><guid>https://foojay.io/today/whats-new-in-the-october-2026-azul-payara-release/</guid><description>Payara Community 7.2026.10 drops the elevated-permissions requirement for SSH nodes, and Azul Payara patches three security issues on every branch.</description></item><item><title>What I Learned Building an AI Code Reviewer with Java and Spring Boot</title><link>https://foojay.io/today/what-i-learned-building-an-ai-code-reviewer-with-java-spring-boot/</link><pubDate>Wed, 14 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sweety717</dc:creator><category>Java</category><category>Spring</category><category>AI</category><category>Developer Tools</category><category>GitHub</category><guid>https://foojay.io/today/what-i-learned-building-an-ai-code-reviewer-with-java-spring-boot/</guid><description>What I learned building an AI code-review workflow around GitHub Pull Requests, Spring Boot, and multiple AI providers.</description></item><item><title>One Embedding per Job, or Two? Measuring Semantic Search in a Spring Boot Job Portal</title><link>https://foojay.io/today/embedding-strategies-job-search/</link><pubDate>Wed, 14 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Somil Garg</dc:creator><category>Java</category><category>AI</category><category>Spring</category><category>Testing</category><guid>https://foojay.io/today/embedding-strategies-job-search/</guid><description>I stored two embeddings for every job in my Spring Boot job portal and measured which one finds the right jobs. One of them barely mattered, and my similarity threshold turned out to mean much less than I thought.</description></item><item><title>Introduction to Error Prone: How to Catch Bugs at Compile Time</title><link>https://foojay.io/today/introduction-to-error-prone-how-to-catch-bugs-at-compile-time/</link><pubDate>Tue, 13 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hüseyin Akdoğan</dc:creator><category>Java</category><category>Developer Tools</category><guid>https://foojay.io/today/introduction-to-error-prone-how-to-catch-bugs-at-compile-time/</guid><description>Error Prone plugs into javac to catch code that compiles but is most likely wrong. A tour of its built-in checks, Refaster rules and custom BugCheckers.</description></item><item><title>Your agents don't need an LLM to negotiate</title><link>https://foojay.io/today/your-agents-dont-need-an-llm-to-negotiate/</link><pubDate>Mon, 12 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mauro Mura</dc:creator><category>Java</category><category>AI</category><category>Design Patterns</category><guid>https://foojay.io/today/your-agents-dont-need-an-llm-to-negotiate/</guid><description>A manager hands a job to one of three workers, and nothing in the program calls a model. It explains the protocol, and what doesn't survive a restart.</description></item><item><title>Testing Jakarta EE: Three Layers, Three Tools</title><link>https://foojay.io/today/testing-jakarta-ee-three-layers-three-tools/</link><pubDate>Mon, 12 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dominika Tasarz</dc:creator><category>Jakarta EE</category><category>Testing</category><category>Testcontainers</category><guid>https://foojay.io/today/testing-jakarta-ee-three-layers-three-tools/</guid><description>A guide to Simon Laden's three-part series on testing Jakarta EE with WeldInitiator, Arquillian and Testcontainers, and the question each tool answers.</description></item><item><title>Media Partner for OCX27 and jChampions Conference 2027</title><link>https://foojay.io/today/media-partner-for-ocx27-and-jchampions-conference/</link><pubDate>Sun, 11 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Frank Delporte</dc:creator><category>Conference</category><category>Events</category><guid>https://foojay.io/today/media-partner-for-ocx27-and-jchampions-conference/</guid><description>Foojay is a media partner of OCX 2027 in Brussels and the jChampions Conference 2027 — dates, details, and how to submit a talk for each.</description></item><item><title>Keep WordPress If You're Looking for Trouble... Or Read This!</title><link>https://foojay.io/today/keep-wordpress-if-youre-looking-for-trouble/</link><pubDate>Sat, 10 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andy Damevin</dc:creator><category>Security</category><category>Opinion</category><guid>https://foojay.io/today/keep-wordpress-if-youre-looking-for-trouble/</guid><description>~13K WordPress sites get hacked every day. Here's why static site generators are the answer, and how to migrate.</description></item><item><title>We Didn't Want to Build Another Java Server</title><link>https://foojay.io/today/why-another-java-server/</link><pubDate>Fri, 09 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Shai Almog</dc:creator><category>Java</category><guid>https://foojay.io/today/why-another-java-server/</guid><description>Why we brought Codename One's mobile runtime to the server: small native Java executables, Go comparisons, and shared code from the app to its database.</description></item><item><title>Introducing cbGenesis: The AI-Native ColdBox Starter for BoxLang</title><link>https://foojay.io/today/introducing-cbgenesis-ai-native-coldbox-starter-for-boxlang/</link><pubDate>Fri, 09 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Luis Majano</dc:creator><category>BoxLang</category><category>Java</category><category>AI</category><category>Developer Tools</category><category>Security</category><guid>https://foojay.io/today/introducing-cbgenesis-ai-native-coldbox-starter-for-boxlang/</guid><description>cbGenesis 1.0 is a production-ready ColdBox starter for BoxLang with auth, RBAC, security, tests, admin tools, and AI-native guidance.</description></item><item><title>How to Create Agent Skills: Tools, Testing, and Installation</title><link>https://foojay.io/today/how-to-create-test-install-agent-skills/</link><pubDate>Fri, 09 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Maks Danylenko</dc:creator><category>AI</category><category>Developer Tools</category><guid>https://foojay.io/today/how-to-create-test-install-agent-skills/</guid><description>A practical guide to creating, validating, testing, and installing Agent Skills in Claude Code, from SKILL.md to plugin eval.</description></item><item><title>try.boxlang.io Now Runs Every BoxLang Version, With or Without CFML</title><link>https://foojay.io/today/tryboxlang/</link><pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Luis Majano</dc:creator><category>BoxLang</category><category>Java</category><category>Cloud</category><category>Developer Tools</category><guid>https://foojay.io/today/tryboxlang/</guid><description>Test BoxLang releases and CFML compatibility in your browser, backed by isolated AWS Lambda functions built from a single repository.</description></item><item><title>Introducing Jenesis: You Already Wrote the Build Script</title><link>https://foojay.io/today/introducing-jenesis/</link><pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rafael Winterhalter</dc:creator><category>Developer Tools</category><category>Tools</category><category>Maven</category><category>Gradle</category><guid>https://foojay.io/today/introducing-jenesis/</guid><description>Jenesis is a Java build tool that reads the build from module-info.java: no build file to write, no plugins, no build tool to download.</description></item><item><title>Real-Time Fraud Detection in Java with Kafka Streams and Vector Similarity</title><link>https://foojay.io/today/real-time-fraud-detection-kafka-vector-similarity/</link><pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ricardo Mello</dc:creator><category>Java</category><category>Kafka</category><category>Mongo</category><category>Machine Learning</category><guid>https://foojay.io/today/real-time-fraud-detection-kafka-vector-similarity/</guid><description>How Java, Kafka Streams, and MongoDB vector search combine to catch fraud in real time, from rule-based guardrails to behavioral similarity scoring.</description></item><item><title>Green Build, Wrong Task: A Working Agreement for Java Teams Using AI Coding Agents</title><link>https://foojay.io/today/green-build-wrong-task-a-working-agreement-for-java-teams-using-ai-coding-agents/</link><pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Viktoria Evdokimova</dc:creator><category>AI</category><category>Java</category><category>Testing</category><category>Developer Tools</category><guid>https://foojay.io/today/green-build-wrong-task-a-working-agreement-for-java-teams-using-ai-coding-agents/</guid><description>Three ways AI coding agents waste a Java team's afternoon, and the spec, locked tests and capped review loop that stop it. Webinar notes, agent-agnostic.</description></item><item><title>Adding RAG to a Jakarta EE 11 App With Only the JDK and Jakarta Specs</title><link>https://foojay.io/today/adding-rag-to-jakarta-ee-11-app/</link><pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Luqman Saeed</dc:creator><category>Jakarta EE</category><category>AI</category><category>Java</category><guid>https://foojay.io/today/adding-rag-to-jakarta-ee-11-app/</guid><description>Build a RAG pipeline in a Jakarta EE 11 app with only the JDK HTTP client, Jakarta specs and MicroProfile Config: no vector database, no Python.</description></item><item><title>Run Java in the Browser with TeaVM</title><link>https://foojay.io/today/java-in-the-browser-with-teavm/</link><pubDate>Tue, 06 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Petr Pravda</dc:creator><category>Java</category><category>Developer Tools</category><guid>https://foojay.io/today/java-in-the-browser-with-teavm/</guid><description>Build an editable Java example with TeaVM, React, and Vite, then explore the environment available to Java in the browser.</description></item><item><title>Featured Foojay Authors for October 2026: Bazlur Rahman and Nicolas Fränkel</title><link>https://foojay.io/today/featured-foojay-authors-for-october-2026/</link><pubDate>Tue, 06 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Frank Delporte</dc:creator><category>Foojay</category><guid>https://foojay.io/today/featured-foojay-authors-for-october-2026/</guid><description>Our Featured Authors for October are Bazlur Rahman and Nicolas Fränkel. Here is what they write about, and where to start reading.</description></item><item><title>Building a Code Editor Control in JavaFX</title><link>https://foojay.io/today/building-a-javafx-code-editor-control/</link><pubDate>Tue, 06 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Libán Bande González</dc:creator><category>JavaFX</category><category>Java</category><guid>https://foojay.io/today/building-a-javafx-code-editor-control/</guid><description>Inside a custom JavaFX Control/Skin for a code editor: virtualized line numbers, keyword highlighting, bracket matching, multi-cursor editing, undo/redo and autocomplete.</description></item><item><title>Foojay Podcast #102: Why Foojay Walked Away From WordPress for Static Sites</title><link>https://foojay.io/today/foojay-podcast-102/</link><pubDate>Mon, 05 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Frank Delporte</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andy Damevin</dc:creator><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Holly Cummins</dc:creator><category>Podcast</category><category>Developer Tools</category><category>Security</category><category>Java</category><guid>https://foojay.io/today/foojay-podcast-102/</guid><description>Foojay walked away from WordPress after six years. Andy Damevin and Holly Cummins join to weigh CMS security and cost against Hugo, Jekyll and Roq.</description></item><item><title>Changes Included in Release 26.08 of Azul Zing Builds of OpenJDK</title><link>https://foojay.io/today/changes-included-in-release-26-08-of-azul-zing-builds-of-openjdk/</link><pubDate>Fri, 02 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Matt Van Order</dc:creator><category>Java</category><category>Release Notes</category><guid>https://foojay.io/today/changes-included-in-release-26-08-of-azul-zing-builds-of-openjdk/</guid><description>Azul Zing Builds of OpenJDK, the optimized Java runtime within Azul Platform Prime, has reached the release of the 26.08 Stable Release line.</description></item><item><title>Why Every JVM In Your Fleet Warms Up Alone</title><link>https://foojay.io/today/why-every-jvm-in-your-fleet-warms-up-alone/</link><pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jiří Holuša</dc:creator><category>Java Core</category><category>Performance</category><category>JEPs</category><guid>https://foojay.io/today/why-every-jvm-in-your-fleet-warms-up-alone/</guid><description>Why you can't just copy a JIT-compiled method from one JVM to another: compiled code is a bet on one specific JVM's state. Identity, validity, and profitability all have to be checked before it's safe to reuse.</description></item><item><title>Lathe: A Java Language Server That Works Straight From Your Maven Build</title><link>https://foojay.io/today/lathe-a-java-language-server-from-your-maven-build/</link><pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexey Gavrilov</dc:creator><category>Developer Tools</category><category>Java</category><category>Maven</category><guid>https://foojay.io/today/lathe-a-java-language-server-from-your-maven-build/</guid><description>No project import, no classpath setup — Lathe takes its whole model from your Maven build, so the editor never drifts from what actually compiles.</description></item></channel></rss>