<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Videos on foojay.io - Friends Of OpenJDK</title><link>https://foojay.io/today/category/videos/</link><description>Recent content in Videos on foojay.io - Friends Of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 21 Sep 2026 05:55:28 +0000</lastBuildDate><atom:link href="https://foojay.io/today/category/videos/index.xml" rel="self" type="application/rss+xml"/><item><title>The Java Story: A Film About All of Us</title><link>https://foojay.io/today/the-java-story-a-film-about-all-of-us/</link><pubDate>Thu, 09 Jul 2026 08:43:59 +0000</pubDate><guid>https://foojay.io/today/the-java-story-a-film-about-all-of-us/</guid><description>&lt;p&gt;Every so often a story comes along that belongs to an entire community rather than any one company or person. The Java Story documentary by CultRepo is one of those. On July 17th at 7pm UTC, the official Java documentary premieres live on YouTube - if you&amp;rsquo;ve spent any significant part of your career working with Java (and I assume most Foojay readers have!), I really think you&amp;rsquo;d want to watch it!&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #16</title><link>https://foojay.io/today/jc-ai-newsletter-16/</link><pubDate>Tue, 09 Jun 2026 18:28:33 +0000</pubDate><guid>https://foojay.io/today/jc-ai-newsletter-16/</guid><description>&lt;p&gt;Over the past two weeks, the field of artificial intelligence has continued its remarkable pace of advancement. As AI becomes increasingly woven into the fabric of daily life, shaping how we work, communicate, and make decisions, it is both timely and valuable to step back and understand the broader trajectory of this technology. Whether the developments around us feel promising or challenging, one truth remains clear: AI is not simply going away. It is here to stay, and understanding its evolution is essential from many perspectives. Have you ever wondered what harness engineering is, how evals attempt to move traditional unit tests onto a probabilistic plane, or how AI is reshaping entire industries across various branches? Let&amp;rsquo;s start.&lt;/p&gt;</description></item><item><title>Seasons time-lapse - the video</title><link>https://foojay.io/today/seasons-time-lapse-the-video/</link><pubDate>Tue, 09 Jun 2026 12:45:51 +0000</pubDate><guid>https://foojay.io/today/seasons-time-lapse-the-video/</guid><description>&lt;p&gt;In the &lt;a href="https://blog.frankel.ch/seasons-time-lapse/1/" target="_blank" rel="noopener noreferrer"&gt;first post&lt;/a&gt; of this series, I focused on the project foundations: what should I do to create a video from photos taken from the same position year after year? I dedicated the &lt;a href="https://blog.frankel.ch/seasons-time-lapse/2/" target="_blank" rel="noopener noreferrer"&gt;second part&lt;/a&gt; to aligning images. It wasn&amp;rsquo;t as easy as I expected. I stumbled upon new concepts, such as and .&lt;/p&gt;&#10;&lt;p&gt;In this third and final post, I want to tackle the video creation itself, explain some &amp;ldquo;artistic&amp;rdquo; decisions, and leave the door open to future work.&lt;/p&gt;</description></item><item><title>No Keys, No LLM: Building a Wikidata Definition API with Embabel</title><link>https://foojay.io/today/embabel-spring-boot-wikidata-definition-api/</link><pubDate>Thu, 05 Mar 2026 08:00:25 +0000</pubDate><guid>https://foojay.io/today/embabel-spring-boot-wikidata-definition-api/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;I built a &lt;strong&gt;Spring Boot 4&lt;/strong&gt; API that defines terms via &lt;strong&gt;Wikidata&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;The app is fully reproducible: &lt;strong&gt;no API keys&lt;/strong&gt; and &lt;strong&gt;no model installation&lt;/strong&gt; needed.&lt;/li&gt;&#10;&lt;li&gt;Embabel orchestrates the pipeline as a sequence of actions to achieve the goal &lt;code&gt;DefinitionResult&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;The logs show planning, execution, and typed object binding—the most useful part for teaching agentic flows.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/TiuYS6K3HaU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;h2 id="no-keys-no-llm-building-a-wikidata-definition-api-with-embabel"&gt;No Keys, No LLM: Building a Wikidata Definition API with Embabel&lt;/h2&gt;&#10;&lt;p&gt;I wanted a demo that is &lt;strong&gt;simple&lt;/strong&gt; , &lt;strong&gt;reproducible&lt;/strong&gt; , and still &lt;strong&gt;shows agentic orchestration&lt;/strong&gt; in a way that&amp;rsquo;s easy to explain on video.&lt;/p&gt;</description></item><item><title>Shaping Jakarta Agentic AI Together</title><link>https://foojay.io/today/shaping-jakarta-agentic-ai-together-watch-the-open-conversation/</link><pubDate>Mon, 02 Mar 2026 11:15:46 +0000</pubDate><guid>https://foojay.io/today/shaping-jakarta-agentic-ai-together-watch-the-open-conversation/</guid><description>&lt;p&gt;Last week, Eclipse Foundation and Payara hosted &lt;em&gt;Jakarta Agentic AI, An Open Conversation&lt;/em&gt;, an open house Jakarta TechTalk session, exploring a brand new initiative under the Eclipse Foundation. If you could not join us live, the full recording is now available.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/92Iv-q6o1fQ?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;h2 id="what-is-jakarta-agentic-ai"&gt;What is Jakarta Agentic AI?&lt;/h2&gt;&#10;&lt;p&gt;Jakarta Agentic AI is an exploratory project looking at how AI agents could be built, deployed and run within Jakarta EE runtimes. As AI systems increasingly move from simple inference to autonomous, agent-based behaviour, the question becomes how these systems fit into enterprise Java environments that value reliability, security, and portability.&lt;/p&gt;</description></item><item><title>Personal Branding Tips for Java Developers</title><link>https://foojay.io/today/watch-the-recording-diy-technical-marketing-for-java-developers/</link><pubDate>Thu, 26 Feb 2026 10:28:58 +0000</pubDate><guid>https://foojay.io/today/watch-the-recording-diy-technical-marketing-for-java-developers/</guid><description>&lt;p&gt;The software development industry is more competitive than ever. Being a strong technical expert is essential, but on its own it is often not enough to grow your career or open new opportunities.&lt;/p&gt;&#10;&lt;p&gt;In this short, practical talk&lt;em&gt;DIY Technical Marketing, Real World Tips For Building A Successful Developer Brand&lt;/em&gt; , delivered at &lt;a href="https://www.jfokus.se/" title="Jfokus 2026 conference" target="_blank" rel="noopener noreferrer"&gt;Jfokus 2026 conference&lt;/a&gt;, Payara Community Manager Dominika Tasarz-Sochacka explores why personal branding matters for developers and how even small, intentional actions can make a real difference over time.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #13</title><link>https://foojay.io/today/jc-ai-newsletter-13/</link><pubDate>Thu, 05 Feb 2026 21:12:12 +0000</pubDate><guid>https://foojay.io/today/jc-ai-newsletter-13/</guid><description>&lt;p&gt;Two weeks have passed, and it is time to present a new collection of readings that may shape developments, utilization or ideas in the field of artificial intelligence in 2026.&lt;/p&gt;&#10;&lt;p&gt;While significant activity characterizes the AI field, many unresolved research, design, and implementation challenges continue to impact progress. Future advancement depends heavily on understanding the nature of these challenges to approach probabilistic problems from the appropriate directions. This JC-AI newsletter features insightful interviews with key figures in the field, enabling readers to ask the right questions and compare visions of an &amp;lsquo;uncertain future&amp;rsquo; against current capabilities to maintain a grounded perspective.&lt;/p&gt;</description></item><item><title>First Experiments with Java on the LattePanda IOTA: An Alternative to Raspberry Pi?</title><link>https://foojay.io/today/first-experiments-with-java-on-the-lattepanda-iota/</link><pubDate>Thu, 11 Dec 2025 09:13:14 +0000</pubDate><guid>https://foojay.io/today/first-experiments-with-java-on-the-lattepanda-iota/</guid><description>&lt;p&gt;After years of experimenting with Raspberry Pi boards, Java, JavaFX, and &lt;a href="https://www.pi4j.com/" target="_blank" rel="noopener noreferrer"&gt;Pi4J&lt;/a&gt; to control electronics, I wanted to explore whether my knowledge and experience could be applied to similar boards from other providers. There are many alternatives available these days, based on ARM, Intel processors, and RISC-V architectures.&lt;/p&gt;&#10;&lt;p&gt;I reached out to several suppliers to see if I could get evaluation copies, and I&amp;rsquo;m happy to share that I received my first box from DFRobot containing the &lt;a href="https://www.dfrobot.com/product-2989.html" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;LattePanda IOTA&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #11</title><link>https://foojay.io/today/jc-ai-newsletter-11/</link><pubDate>Tue, 09 Dec 2025 16:12:01 +0000</pubDate><guid>https://foojay.io/today/jc-ai-newsletter-11/</guid><description>&lt;p&gt;&lt;strong&gt;F&lt;/strong&gt;ourteen days have passed, and it is time to present a fresh collection of readings that could influence developments in the field of artificial intelligence.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;T&lt;/strong&gt;his newsletter explores the evolution of agentic AI systems, provides valuable insights into the Chain-of-Thought (CoT) approach, Vibe coding, and discusses the pattern-matching capabilities of LLMs. The newsletter features an insightful interview with Stuart J. Russell, known for his significant contributions to the AI field. Even more exciting is the published paper by Apple researchers titled &amp;lsquo;The Illusion of Thinking&amp;hellip;&amp;rsquo; and several immediate reactions to the authors&amp;rsquo; conclusions, which allow newsletter readers to observe current research challenges and scientific community responses. This provides readers with a vital picture of the state-of-the-art in AI research.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #10</title><link>https://foojay.io/today/jc-ai-newsletter-10/</link><pubDate>Wed, 26 Nov 2025 18:39:40 +0000</pubDate><guid>https://foojay.io/today/jc-ai-newsletter-10/</guid><description>&lt;p&gt;&lt;strong&gt;F&lt;/strong&gt;ourteen days have passed, and it is time to present a fresh collection of readings that could influence developments in the field of artificial intelligence.&lt;/p&gt;&#10;&lt;p&gt;This newsletter focuses on examining how agentic AI systems improve accuracy, tutorials on agentic system architecture, and importnat security challenges arising from increased not only from agentic AI systems adoption. This edition of the AI newsletter includes compelling discussions and interviews about the future of AI and approaches.&lt;/p&gt;</description></item><item><title>Micrometer &amp; Prometheus in Spring Boot: Kafka Burger Orders</title><link>https://foojay.io/today/micrometer-prometheus-in-spring-boot-kafka-burger-orders/</link><pubDate>Fri, 14 Nov 2025 10:13:03 +0000</pubDate><guid>https://foojay.io/today/micrometer-prometheus-in-spring-boot-kafka-burger-orders/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/eSreg0xPGqo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;👨‍💻 GitHub: &lt;a href="https://github.com/vinny59200/dukeburger" target="_blank" rel="noopener noreferrer"&gt;https://github.com/vinny59200/dukeburger&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;🔵⚪⚪⚪⚪⚪⚪⚪⚪⚪⚪⚪&lt;/p&gt;&#10;&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;&#10;&lt;p&gt;This guide shows how to use &lt;strong&gt;Micrometer and Prometheus in Spring Boot&lt;/strong&gt; to track a custom metric for a Kafka-driven Burger Orders app. You&amp;rsquo;ll post a burger order to a REST endpoint, publish it to Kafka, consume the topic, and increment a counter for all &amp;ldquo;DukeBurger&amp;rdquo; orders. Copy the snippets, run, and you&amp;rsquo;ll see your metric on &lt;code&gt;/actuator/prometheus&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #9</title><link>https://foojay.io/today/jc-ai-newsletter-9/</link><pubDate>Wed, 12 Nov 2025 15:21:12 +0000</pubDate><guid>https://foojay.io/today/jc-ai-newsletter-9/</guid><description>&lt;p&gt;&lt;strong&gt;F&lt;/strong&gt;ourteen days have passed, and it is time to present a fresh collection of readings that could influence developments in the field of artificial intelligence.&lt;/p&gt;&#10;&lt;p&gt;This newsletter focuses on examining how AI enhances productivity through enterprise studies, tutorial, agentic system architecture, GraphRAG, evaluating risk methodologies in agentic systems, and the security challenges arising from increased AI-LLM adoption. This edition of the AI newsletter includes a compelling discussion between six of the most influential leaders in artificial intelligence, along with additional content.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #8</title><link>https://foojay.io/today/jc-ai-newsletter-8/</link><pubDate>Thu, 30 Oct 2025 06:36:12 +0000</pubDate><guid>https://foojay.io/today/jc-ai-newsletter-8/</guid><description>&lt;p&gt;&lt;strong&gt;Fourteen days have passed, and it is time to present a fresh collection of readings that could influence developments in the field of artificial intelligence.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;This newsletter focuses on examining how AI enhances productivity through enterprise studies, agentic system architecture, attack vectors, Model Context Protocol (MCP) implementation, Agent-to-Agent (A2A) protocol, Java code generation within IDEs, LLM benchmarking methodologies, and the security challenges arising from increased AI-LLM adoption.&lt;/p&gt;&#10;&lt;p&gt;The world influenced by LLM is changing very quickly, let&amp;rsquo;s start&amp;hellip;&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #2</title><link>https://foojay.io/today/jc-ai-newsletter-2/</link><pubDate>Tue, 05 Aug 2025 06:30:03 +0000</pubDate><guid>https://foojay.io/today/jc-ai-newsletter-2/</guid><description>&lt;h3 id="i-n-the-first-newsletter-we-introduced-a-14-day-cadence-which-means-that-this-week-its-time-for-a-new-collection-of-articles-from-the-fields-of-ai-llm-java-and-more"&gt;&lt;strong&gt;I&lt;/strong&gt; n &lt;a href="https://foojay.io/today/ai-newsletter-1/"&gt;the first newsletter&lt;/a&gt;, we introduced a 14-day cadence, which means that this week it&amp;rsquo;s time for a new collection of articles from the fields of AI, LLM, Java and more.&lt;/h3&gt;&#10;&lt;p&gt;The JC-AI Newsletter Vol.2 brings again a very interesting collection of articles worth considering.&lt;/p&gt;&#10;&lt;p&gt;The world influenced by LLM is changing very quickly, let&amp;rsquo;s start&amp;hellip;&lt;/p&gt;&#10;&lt;h3 id="article-openai-ceo-sam-altman-warns-of-an-ai"&gt;article: &lt;a href="http:https://edition.cnn.com/2025/07/22/tech/openai-sam-altman-fraud-crisis//" title="OpenAI CEO Sam Altman warns of an AI ‘fraud crisis’"&gt;OpenAI CEO Sam Altman warns of an AI &amp;lsquo;fraud crisis&amp;rsquo;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;author&lt;/strong&gt; : Clare Duffy, CNN&lt;br&gt;&#10;&lt;strong&gt;date&lt;/strong&gt; : 2025-07-22&lt;br&gt;&#10;&lt;strong&gt;desc.&lt;/strong&gt;: Sam Altman discusses the serious potential for current AI abuse. Although the example of attacks on financial institutions is mentioned, Sam Altman warns of the broader impact before one even takes advantage of LLM agent systems.&lt;/p&gt;</description></item><item><title>Release V0.0.2 of Java DMX512 Library With Universes and USB-to-DMX support</title><link>https://foojay.io/today/release-v0-0-2-of-java-dmx512-library-with-universes-and-usb-to-dmx-support/</link><pubDate>Mon, 04 Aug 2025 14:19:25 +0000</pubDate><guid>https://foojay.io/today/release-v0-0-2-of-java-dmx512-library-with-universes-and-usb-to-dmx-support/</guid><description>&lt;p&gt;Earlier this month, I &lt;a href="https://webtechie.be/post/2025-07-17-introducing-java-dmx512-library-with-demo-javafx-ui/" target="_blank" rel="noopener noreferrer"&gt;released V0.0.1 of my new Java library to interact with DMX512 devices using (optionally) the Open Fixture Library (OFL)&lt;/a&gt;. After some more experimenting, I&amp;rsquo;m able to announce the next (beta) release V0.0.2 with the following major changes:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Code refactoring&lt;/strong&gt;: As this library is still in beta, major changes were expected and happened 😉 The video of V0.0.1 is still valid, but some of the demonstrated code has changed.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Improved demos&lt;/strong&gt; : Demo code has been moved to the &lt;a href="https://github.com/codewriterbv/DMX512/tree/main/src/main/java/be/codewriter/dmx512/demo" target="_blank" rel="noopener noreferrer"&gt;&lt;code&gt;demo&lt;/code&gt; directory in the sources&lt;/a&gt; to make them easier to understand and reuse.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Introduction of DMX Universes&lt;/strong&gt;: to be able to control fixtures connected to the two ports of my IP-to-DMX controller, universes needed to be added. (more info below)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;USB-to-DMX Support&lt;/strong&gt;: First working protocol over serial communication to DMX512! (more info below)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;figure class="gallery" style="--gallery-cols: 2"&gt;&lt;figure class="gallery__item"&gt;&lt;img src="https://foojay.io/today/release-v0-0-2-of-java-dmx512-library-with-universes-and-usb-to-dmx-support/ip-to-dmx-universes-1024x637.jpg" alt="" loading="lazy" class="is-zoomable"&gt;&lt;/figure&gt;&lt;figure class="gallery__item"&gt;&lt;img src="https://foojay.io/today/release-v0-0-2-of-java-dmx512-library-with-universes-and-usb-to-dmx-support/usb-to-dmx-1024x572.jpg" alt="" loading="lazy" class="is-zoomable"&gt;&lt;/figure&gt;&lt;/figure&gt;&#10;&lt;h2 id="introduction-of-dmx-universes"&gt;Introduction of DMX Universes&lt;/h2&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/slC4niKWUq0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;For my tests, I&amp;rsquo;m using an &lt;a href="https://www.amazon.com.be/dp/B0CYPQ2Z4V" target="_blank" rel="noopener noreferrer"&gt;JUNELIONY ArtNet 1024 2-Port Sulite DMX LAN512 2-Port ArtNet Converter&lt;/a&gt; controller. It has two XLR-connectors, labeled as &lt;code&gt;DMX1&lt;/code&gt; and &lt;code&gt;DMX2&lt;/code&gt;, which can be controlled as universe ID 0 and 1.&lt;/p&gt;</description></item><item><title>Monolith vs Microservices in 2025</title><link>https://foojay.io/today/monolith-vs-microservices-2025/</link><pubDate>Mon, 04 Aug 2025 13:45:09 +0000</pubDate><guid>https://foojay.io/today/monolith-vs-microservices-2025/</guid><description>&lt;p&gt;In recent years, the tech world has been buzzing with debates about architecture choices. However, 2025 offers a more balanced perspective.&lt;/p&gt;&#10;&lt;p&gt;Simplicity, developer experience, and maintainability are reshaping how teams design software.&lt;/p&gt;&#10;&lt;p&gt;From Infrastructure as Code (IaC) to &amp;ldquo;vibecoding&amp;rdquo; culture, and from startups to enterprises, many rethink their position on the monolith vs microservices 2025 spectrum.&lt;/p&gt;&#10;&lt;p&gt;So, what has actually changed?&lt;/p&gt;&#10;&lt;p&gt;🔵⚪⚪⚪⚪⚪&lt;/p&gt;&#10;&lt;h2 id="-terraform-and-iac-changing-architecture-with-confidence"&gt;🔁 Terraform and IaC: Changing Architecture with Confidence&lt;/h2&gt;&#10;&lt;h3 id="how-infrastructure-as-code-helps-teams-adapt-architecture-efficiently"&gt;How Infrastructure as Code helps teams adapt architecture efficiently&lt;/h3&gt;&#10;&lt;p&gt;Infrastructure as Code tools like Terraform make architecture changes easier. Nevertheless, the process is not effortless.&lt;/p&gt;</description></item><item><title>Introducing a New Java DMX512 Library With Demo JavaFX User Interface</title><link>https://foojay.io/today/introducing-a-new-java-dmx512-library-with-demo-javafx-user-interface/</link><pubDate>Fri, 25 Jul 2025 06:17:00 +0000</pubDate><guid>https://foojay.io/today/introducing-a-new-java-dmx512-library-with-demo-javafx-user-interface/</guid><description>&lt;p&gt;In this post, I would like to inform you about a new Java library that is now available on Maven Central, allowing interaction with DMX512 devices using (optionally) the Open Fixture Library (OFL). I also published a video with a code walkthrough of my test setup and demo code.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/ztrO3Crexmg?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;But first&amp;hellip;&lt;/p&gt;</description></item><item><title>AI Newsletter #1</title><link>https://foojay.io/today/ai-newsletter-1/</link><pubDate>Tue, 22 Jul 2025 05:39:26 +0000</pubDate><guid>https://foojay.io/today/ai-newsletter-1/</guid><description>&lt;p&gt;&lt;strong&gt;There is a lot going on in today&amp;rsquo;s technological world, but the most intense and vibrant area is undoubtedly the field of artificial intelligence. After brainstorming, our Java Champion Education group agreed to create a newsletter with a 14 days cadence. In our newsletters, we will include a collection of recently read interesting resources in the field of artificial intelligence with a short description.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Although the stream of published articles is very large and the ability to read them all is an illusion, the published selection, such as the below is implicitly narrowed. The purpose of the AI Newsletter is to help everyone stay informed and expand their knowledge in areas related to artificial intelligence.&lt;/p&gt;</description></item><item><title>SpringBoot and Kafka Streams – Event Routing &amp; Testing</title><link>https://foojay.io/today/spring-boot-kafka-streams-event-routing-testing/</link><pubDate>Thu, 19 Jun 2025 08:37:11 +0000</pubDate><guid>https://foojay.io/today/spring-boot-kafka-streams-event-routing-testing/</guid><description>&lt;p&gt;Welcome to this hands-on guide to building a Spring Boot Kafka Streams application! (SpringBoot and Kafka Streams).&lt;/p&gt;&#10;&lt;p&gt;In this article, I&amp;rsquo;ll walk you through a project I built during the first day of a three-day Kafka Streams training. The goal? Validate sightseeing events in Lille based on predefined timetables and route the data accordingly.&lt;/p&gt;&#10;&lt;p&gt;Let&amp;rsquo;s explore how Kafka Streams powers a real-time city tour experience! 🧭&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/s07d3SmoBMI?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;🔵⚪⚪⚪⚪⚪⚪⚪⚪⚪&lt;/p&gt;</description></item><item><title>Speed up your Spring Batch with Native Image and GraalVM</title><link>https://foojay.io/today/speed-up-your-spring-batch-with-native-image-and-graalvm/</link><pubDate>Tue, 10 Dec 2024 15:47:53 +0000</pubDate><guid>https://foojay.io/today/speed-up-your-spring-batch-with-native-image-and-graalvm/</guid><description>&lt;p&gt;&lt;strong&gt;Spring Batch is often used for&lt;/strong&gt; data processing &lt;strong&gt;jobs that don&amp;rsquo;t run continuously.&lt;/strong&gt; Instead, they start, process, and stop,&lt;strong&gt;which makes them a perfect candidate for GraalVM Native Image.&lt;/strong&gt; Unlike traditional Java applications that require a long JVM startup time, Native Images execute almost instantly, giving a significant performance boost.&lt;/p&gt;&#10;&lt;p&gt;In this article, you&amp;rsquo;ll learn how to build a Spring Batch application that reads a CSV file, logs its content, and writes it to a PostgreSQL database.&lt;strong&gt;We&amp;rsquo;ll see how to compile it into a Native Image using GraalVM&lt;/strong&gt; , and most importantly**, we&amp;rsquo;ll benchmark the difference between** running it as &lt;strong&gt;a traditional JAR and&lt;/strong&gt; as &lt;strong&gt;a native binary&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Prevent LDAP injection in #java with #springboot</title><link>https://foojay.io/today/prevent-ldap-injection-in-java-with-springboot/</link><pubDate>Wed, 04 Dec 2024 14:45:35 +0000</pubDate><guid>https://foojay.io/today/prevent-ldap-injection-in-java-with-springboot/</guid><description>&lt;p&gt;&lt;strong&gt;LDAP (Lightweight Directory Access Protocol)&lt;/strong&gt; is essential for managing and accessing directory information in Java web applications. However, it&amp;rsquo;s crucial to understand and prevent &lt;strong&gt;LDAP Injection&lt;/strong&gt;, a serious security vulnerability that can lead to unauthorized access and data breaches.&lt;/p&gt;&#10;&lt;p&gt;Following &lt;strong&gt;OWASP Recommendations&lt;/strong&gt; , such as validating user inputs and using parameterized queries, is vital for securing your applications. In this article, we&amp;rsquo;ll dive into LDAP, explore LDAP Injection, share OWASP&amp;rsquo;s best practices, and demonstrate secure coding in &lt;strong&gt;Spring Boot&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Client-server application in Java: Easy with FEPCOS-J – Video.</title><link>https://foojay.io/today/fuchs-2024-video-fepcos_j-client-server-application-in-java/</link><pubDate>Tue, 30 Jul 2024 11:51:04 +0000</pubDate><guid>https://foojay.io/today/fuchs-2024-video-fepcos_j-client-server-application-in-java/</guid><description>&lt;p&gt;&lt;strong&gt;This is a result of the &lt;a href="http://fepcos.info" target="_blank" rel="noopener noreferrer"&gt;FEPCOS-Project&lt;/a&gt;, aka @FepcosInfo; #FepcosJ_blog5.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;See how FEPCOS-J relieves developers of the network programming required to implement a client-server application in Java.&lt;br&gt;&#10;&lt;a href="https://youtu.be/qtPP7kZbriQ" target="_blank" rel="noopener noreferrer"&gt;&lt;img src="https://foojay.io/today/fuchs-2024-video-fepcos_j-client-server-application-in-java/fuchs2024FepcosJ_video1-512x512-1.png" alt="Link to video: Easy Implementation of a Client-Server Application in Java with FEPCOS-J.&#10;#FepcosJ_video1, #FepcosJ." width="512" height="512" loading="lazy" decoding="async"&gt;&lt;/a&gt; &lt;strong&gt;External link to&lt;/strong&gt; : G. Fuchs: &lt;em&gt;Video: Easy Implementation of a Client-Server Application in Java with FEPCOS-J&lt;/em&gt;; On: YouTube, FEPCOS-Project (@FepcosInfo); 29-July-2024; &lt;a href="https://youtu.be/qtPP7kZbriQ" target="_blank" rel="noopener noreferrer"&gt;https://youtu.be/qtPP7kZbriQ&lt;/a&gt;.&lt;br&gt;&#10;&lt;img src="https://foojay.io/today/fuchs-2024-video-fepcos_j-client-server-application-in-java/fuchs-2024-implementing-a-service-with-fepcos-j-1024x576.png" alt="FEPCOS-J provides annotations for programming a client-server application in Java." width="1024" height="576" loading="lazy" decoding="async"&gt; &lt;strong&gt;Impression of the above-linked video&lt;/strong&gt;: FEPCOS-J provides annotations like @AYSpec, @In, @Out, and @Behavior for programming a client-server application in Java. Watch the video for a complete example application of FEPCOS-J.&lt;/p&gt;</description></item><item><title>New video series "JavaFX In Action", Part 1</title><link>https://foojay.io/today/new-video-series-javafx-in-action-part-1/</link><pubDate>Tue, 16 Jul 2024 07:35:29 +0000</pubDate><guid>https://foojay.io/today/new-video-series-javafx-in-action-part-1/</guid><description>&lt;p&gt;JavaFX is a powerful user interface framework, often overlooked in the world of desktop applications development. With this new series of video interviews, I want to take you behind-the-scenes of some applications built using JavaFX.&lt;/p&gt;&#10;&lt;p&gt;JavaFX combines the best features of a modern user interface toolkit with the unparalleled strength of the Java platform. This approach enables you to perform heavy &amp;ldquo;background tasks&amp;rdquo;, like processing large amounts of data, while still providing a responsive user interface.&lt;/p&gt;</description></item><item><title>Example Java Application with Embedded Jetty and a htmx Website</title><link>https://foojay.io/today/example-java-application-with-embedded-jetty-and-a-htmx-website/</link><pubDate>Fri, 21 Jun 2024 08:59:42 +0000</pubDate><guid>https://foojay.io/today/example-java-application-with-embedded-jetty-and-a-htmx-website/</guid><description>&lt;p&gt;&lt;strong&gt;I was experimenting with a Java application that can act as a web server and includes the user interface HTML-files that get modified with htmx, to replace certain parts of the HTML with other ones created in Java.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;I found it pretty hard to understand how to configure the embedded &lt;strong&gt;Jetty&lt;/strong&gt; webserver, but as always with Java libraries, it&amp;rsquo;s pretty easy once you understand how to do it 😉 I decided to share my example, so you don&amp;rsquo;t need to go through the same search if you want to use the same approach&amp;hellip;&lt;/p&gt;</description></item><item><title>Cloud Cost Optimization Is Hard, Java Can Help</title><link>https://foojay.io/today/cloud-cost-optimization-is-hard-java-can-help/</link><pubDate>Wed, 21 Feb 2024 12:07:37 +0000</pubDate><guid>https://foojay.io/today/cloud-cost-optimization-is-hard-java-can-help/</guid><description>&lt;p&gt;In my recent conversation with William Fellows, Research Director at S&amp;amp;P Global Market Research, we &lt;a href="https://www.youtube.com/watch?v=nAP3bYxdsZw&amp;amp;t=1s" target="_blank" rel="noopener noreferrer"&gt;discussed ways to reduce cloud waste&lt;/a&gt; specifically for Java workloads. After all, cloud cost optimization is hard.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/nAP3bYxdsZw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;A large delta is growing between budgeted and actual spending. Top areas for spending are cloud integration and modernization services, security and compliance monitoring, and application modernization – specifically applications written in Java.&lt;/p&gt;</description></item><item><title>Flexible Jakarta EE Apps With Apache CouchDB NoSQL Database</title><link>https://foojay.io/today/build-flexible-jakarta-ee-applications-with-apache-couchdb-nosql-database/</link><pubDate>Mon, 19 Feb 2024 07:33:38 +0000</pubDate><guid>https://foojay.io/today/build-flexible-jakarta-ee-applications-with-apache-couchdb-nosql-database/</guid><description>&lt;p&gt;&lt;strong&gt;Are you a Jakarta EE developer interested in leveraging the power of NoSQL databases for your applications?&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;This webinar - &lt;a href="https://youtu.be/PVp40gXJ954?feature=shared" target="_blank" rel="noopener noreferrer"&gt;watch the recording here&lt;/a&gt; - is designed specifically to introduce you to the world of NoSQL through CouchDB, a high-performance, scalable database ideal for cloud-native applications.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/PVp40gXJ954?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;h2 id="what-is-couchdb"&gt;What is CouchDB?&lt;/h2&gt;&#10;&lt;p&gt;CouchDB is a NoSQL database used in distributed and cloud environments. It uses a schema-free JSON document format, which allows for more flexible and efficient data models.&lt;/p&gt;</description></item><item><title>Video: Spring Boot Testcontainers Support for Local Development</title><link>https://foojay.io/today/video-spring-boot-testcontainers-support-for-local-development/</link><pubDate>Fri, 16 Feb 2024 09:07:33 +0000</pubDate><guid>https://foojay.io/today/video-spring-boot-testcontainers-support-for-local-development/</guid><description>&lt;p&gt;Spring Boot has supported TestsContainers for running services during tests for quite a while.&lt;/p&gt;&#10;&lt;p&gt;With Spring Boot 3.1, Testcontainers support for local development was added. This video will show you how this works and how to use it.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/GoBm7BoufIM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;</description></item><item><title>DTrace Revisited: Advanced Debugging Techniques</title><link>https://foojay.io/today/dtrace-revisited-advanced-debugging-techniques/</link><pubDate>Tue, 13 Feb 2024 07:46:04 +0000</pubDate><guid>https://foojay.io/today/dtrace-revisited-advanced-debugging-techniques/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#dtrace-overview"&gt;DTrace Overview&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#understanding-dtraces-capabilities"&gt;Understanding DTrace&amp;rsquo;s Capabilities&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#system-monitoring-and-analysis"&gt;System Monitoring and Analysis&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#process-and-performance-analysis"&gt;Process and Performance Analysis&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#customizability-and-flexibility"&gt;Customizability and Flexibility&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#real-world-applications"&gt;Real-World Applications&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#performance-and-compatibility-of-dtrace"&gt;Performance and Compatibility of DTrace&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#cross-platform-compatibility"&gt;&lt;strong&gt;Cross-Platform Compatibility&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#compatibility-challenges-on-macos"&gt;&lt;strong&gt;Compatibility Challenges on MacOS&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#customizability-and-flexibility-of-dtrace"&gt;Customizability and Flexibility of DTrace&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#adaptability-to-various-scenarios"&gt;&lt;strong&gt;Adaptability to Various Scenarios&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#examples-of-customizable-probes"&gt;&lt;strong&gt;Examples of Customizable Probes&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#real-world-applications-of-dtrace"&gt;Real-World Applications of DTrace&lt;/a&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#final-words"&gt;Final Words&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;When we think of debugging, we think of breakpoints in IDEs, stepping over, inspecting variables, etc.&lt;/p&gt;&#10;&lt;p&gt;However, there are instances where stepping outside the conventional confines of an IDE becomes essential to track and resolve complex issues. This is where tools like DTrace come into play, offering a more nuanced and powerful approach to debugging than traditional methods.&lt;/p&gt;</description></item><item><title>Video: Spring Boot Docker Compose Support</title><link>https://foojay.io/today/video-spring-boot-docker-compose-support/</link><pubDate>Wed, 31 Jan 2024 07:50:17 +0000</pubDate><guid>https://foojay.io/today/video-spring-boot-docker-compose-support/</guid><description>&lt;p&gt;In Spring Boot 3.1, Docker Compose support was added to simplify local development with external resources.&lt;/p&gt;&#10;&lt;p&gt;In this video, I show you how this works and how to use it!&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/BQkvCxmaiqU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;</description></item><item><title>Video: Vaadin Drag &amp; Drop Support. It's so easy!</title><link>https://foojay.io/today/video-vaadin-drag-drop-support-its-so-easy/</link><pubDate>Fri, 01 Dec 2023 13:24:06 +0000</pubDate><guid>https://foojay.io/today/video-vaadin-drag-drop-support-its-so-easy/</guid><description>&lt;p&gt;In this video I show how simple it can be to add drag and drop to a Vaadin application! Drag and Drop can be helpful in many situations, but often it&amp;rsquo;s complicated to implement. That&amp;rsquo;s not the case with Vaadin. Vaadin makes it easy to have drag-and-drop support for all components.&lt;/p&gt;&#10;&lt;p&gt;More information about drag and drop can be found in the &lt;a href="https://vaadin.com/docs/latest/create-ui/dnd" target="_blank" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/WIyT9PqhbqA?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;</description></item></channel></rss>