<?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>Fri, 09 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://foojay.io/index.xml" rel="self" type="application/rss+xml"/><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><item><title>Announcing 'Skinning JavaFX Applications'</title><link>https://foojay.io/today/announcing-skinning-javafx-applications/</link><pubDate>Thu, 01 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/announcing-skinning-javafx-applications/</guid><description>A practical, code-first book on building modern, visually distinctive JavaFX interfaces — from theming to custom dashboard controls built from scratch.</description></item><item><title>My love-hate relationship with Java formatters</title><link>https://foojay.io/today/my-love-hate-relationship-with-java-formatters/</link><pubDate>Wed, 30 Sep 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alex Abashev</dc:creator><category>Developer Tools</category><category>Java</category><category>Opinion</category><guid>https://foojay.io/today/my-love-hate-relationship-with-java-formatters/</guid><description>Learning to love google-java-format, why AI agents make formatters matter even more, and why palantir-java-format now has a fork: open-java-format.</description></item><item><title>Lies, Damn Lies and Benchmarks</title><link>https://foojay.io/today/performance-work-between-benchmarks/</link><pubDate>Wed, 30 Sep 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/performance-work-between-benchmarks/</guid><description>Codename One tackles GC, maps, startup, and JavaScript overhead, and adds native drag and drop plus cross-device continuity. Javadoc joins website search...</description></item><item><title>JavaFX Links of September 2026</title><link>https://foojay.io/today/javafx-links-of-september-2026/</link><pubDate>Wed, 30 Sep 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/javafx-links-of-september-2026/</guid><description>Here are the JavaFX LinksOfTheMonth of September 2026. This was a big month with the release of JavaFX 27!</description></item><item><title>Durable Execution Is a Property, Not a Product</title><link>https://foojay.io/today/durable-execution-is-a-property-not-a-product/</link><pubDate>Wed, 30 Sep 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nicholas D'hondt</dc:creator><category>Opinion</category><category>Durability</category><category>Java</category><guid>https://foojay.io/today/durable-execution-is-a-property-not-a-product/</guid><description>Durable execution is a property your existing database can provide, not a product you must buy. Measured, with receipts you can run yourself.</description></item><item><title>The Java 21 Doomsday Clock Countdown</title><link>https://foojay.io/today/the-java-21-doomsday-clock-countdown/</link><pubDate>Tue, 29 Sep 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dana Crane</dc:creator><category>Java</category><category>OpenJDK</category><category>OpenJDK Migration</category><guid>https://foojay.io/today/the-java-21-doomsday-clock-countdown/</guid><description>Oracle's free NFTC license for Java 21 has expired, and the October 2026 quarterly update is the first one enterprises have to pay for. Here are the three options left, and why the timeline is short!</description></item><item><title>Testing Kafka Consumer Recovery Contracts With Testcontainers and JUnit</title><link>https://foojay.io/today/testing-kafka-consumer-recovery-contracts-with-testcontainers-and-junit/</link><pubDate>Mon, 28 Sep 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ishan Shah</dc:creator><category>Java</category><category>Kafka</category><category>Testcontainers</category><category>Testing</category><guid>https://foojay.io/today/testing-kafka-consumer-recovery-contracts-with-testcontainers-and-junit/</guid><description>Use Testcontainers and JUnit to test Kafka consumer recovery contracts for duplicate delivery, malformed records, and offset-boundary failures.</description></item><item><title>How much will post-quantum migration cost your Java codebase?</title><link>https://foojay.io/today/how-much-will-post-quantum-migration-cost-your-java-codebase/</link><pubDate>Mon, 28 Sep 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Arpan Sharma</dc:creator><category>Security</category><category>Java</category><category>Research</category><guid>https://foojay.io/today/how-much-will-post-quantum-migration-cost-your-java-codebase/</guid><description>A static auditor that estimates what a post-quantum migration will cost a Java codebase, run across 27 popular Java projects to show where the cost hides.</description></item><item><title>AI-assisted genealogy, a follow-up</title><link>https://foojay.io/today/ai-assisted-genealogy-follow-up/</link><pubDate>Sun, 27 Sep 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nicolas Frankel</dc:creator><category>AI</category><category>Use Cases</category><guid>https://foojay.io/today/ai-assisted-genealogy-follow-up/</guid><description>A follow-up on AI-assisted genealogy: source quality with GEDCOM QUAY, per-site browsing skills, Playwright sessions, transcriptions, and hiccups along the way.</description></item><item><title>One Database, Two Models: Building AI-Friendly Java Applications with MySQL JSON Duality Views</title><link>https://foojay.io/today/one-database-two-models-mysql-json-duality-views-java/</link><pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">A N M Bazlur Rahman</dc:creator><category>Java</category><category>Databases</category><category>AI</category><category>LangChain4j</category><guid>https://foojay.io/today/one-database-two-models-mysql-json-duality-views-java/</guid><description>Explore MySQL JSON Duality Views in Java: simpler reads, safe document writes, ORM comparisons, and read-only tools for a local AI assistant.</description></item><item><title>VoIP, VPN, and the Build System Behind Them</title><link>https://foojay.io/today/voip-vpn-builders/</link><pubDate>Fri, 25 Sep 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/voip-vpn-builders/</guid><description>Codename One adds native call management and VPN APIs, while its builders generate the platform services, frameworks, permissions, and extension plumbing...</description></item><item><title>BoxLang AI 3.4.0: Gateways, Human-in-the-Loop, and a Full Security Stack</title><link>https://foojay.io/today/boxlang-ai-340-gateways-hitl-security/</link><pubDate>Fri, 25 Sep 2026 00:00:00 +0000</pubDate><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Luis Majano</dc:creator><category>AI</category><category>BoxLang</category><category>GenAI</category><category>Security</category><category>Developer Tools</category><guid>https://foojay.io/today/boxlang-ai-340-gateways-hitl-security/</guid><description>BoxLang AI 3.4.0 introduces gateways, durable human approvals, layered AI security, normalized reasoning, run control, and improvements across providers.</description></item><item><title>Diagrams as Code: Mermaid Support on the new Foojay</title><link>https://foojay.io/today/diagrams-as-code-mermaid-support-on-foojay/</link><pubDate>Thu, 24 Sep 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/diagrams-as-code-mermaid-support-on-foojay/</guid><description>Foojay articles now render Mermaid diagrams from a fenced code block. Write the diagram in Markdown, get a real diagram, and keep it reviewable in the pull request.</description></item><item><title>AsciiDoc Support on the new Foojay</title><link>https://foojay.io/today/asciidoc-support-on-foojay/</link><pubDate>Wed, 23 Sep 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/asciidoc-support-on-foojay/</guid><description>Foojay articles can now be written in AsciiDoc as well as Markdown. Named blocks, real tables, source callouts and admonitions — the things Markdown has no syntax for.</description></item><item><title>Announcing The New Foojay</title><link>https://foojay.io/today/announcing-the-new-foojay/</link><pubDate>Tue, 22 Sep 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/announcing-the-new-foojay/</guid><description>Foojay has a new home: a static, open-source site where publishing an article is a pull request. Same URLs, same archive, much faster, and new features.</description></item></channel></rss>