<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Miro Wengner on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/author/miro-wengner/</link><description>Articles written by Miro Wengner on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 09 Jun 2026 18:28:33 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/author/miro-wengner/index.xml" rel="self" type="application/rss+xml"/><item><title>JC-AI Newsletter #16</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-16/</link><pubDate>Tue, 09 Jun 2026 18:28:33 +0000</pubDate><guid>https://foojayio.github.io/website/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>JC-AI Newsletter #15</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-15/</link><pubDate>Fri, 20 Mar 2026 07:56:01 +0000</pubDate><guid>https://foojayio.github.io/website/today/jc-ai-newsletter-15/</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 leaving. It is here to stay, and understanding its evolution is essential from many perspectives.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #14</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-14/</link><pubDate>Tue, 03 Mar 2026 15:11:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/jc-ai-newsletter-14/</guid><description>&lt;p&gt;&lt;strong&gt;Two&lt;/strong&gt; weeks have passed and a lot have been happening on the field of artificial-intelligence.&lt;/p&gt;
&lt;p&gt;Two weeks have passed and a lot has been silently yet visibly happening in the field of artificial intelligence. This newsletter brings interesting developments, including Dario Amodei&amp;rsquo;s (Anthropic) view on the progress achieved in the LLM field and his response to the utilization of these models for specific kinds of military purposes, as well as OpenAI&amp;rsquo;s response to it. Aside from the fact that development may follow more sigmoids instead of exponential progress, it is important to have awareness of utilization across branches. Does prompting and clarifying the goal influence agent responses, and if so, how? How far are we from reliable robotics applications? How much bias is introduced when clinical data is being analyzed?&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #13</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-13/</link><pubDate>Thu, 05 Feb 2026 21:12:12 +0000</pubDate><guid>https://foojayio.github.io/website/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;
&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>JC-AI Newsletter #12</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-12/</link><pubDate>Wed, 14 Jan 2026 07:15:44 +0000</pubDate><guid>https://foojayio.github.io/website/today/jc-ai-newsletter-12/</guid><description>&lt;p&gt;&lt;strong&gt;F&lt;/strong&gt; irst of all, &lt;strong&gt;Happy New Year 2026!&lt;/strong&gt; This year is designated in the Chinese Calendar as the Year of the Fire Horse (starting on February 17.). The year 2026 brings not only tremendous energy to AI development but also, in my humble opinion, many breakthroughs in the field.&lt;/p&gt;
&lt;p&gt;Although there have been many small steps toward the field&amp;rsquo;s evolution, it often feels that development is stagnating, applying known or slightly tweaked strategies to non-deterministic problems while expecting deterministic results. This includes the often misleading benchmarking strategies (deterministic) performed on synthetic datasets.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #11</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-11/</link><pubDate>Tue, 09 Dec 2025 16:12:01 +0000</pubDate><guid>https://foojayio.github.io/website/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;
&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://foojayio.github.io/website/today/jc-ai-newsletter-10/</link><pubDate>Wed, 26 Nov 2025 18:39:40 +0000</pubDate><guid>https://foojayio.github.io/website/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;
&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>JC-AI Newsletter #9</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-9/</link><pubDate>Wed, 12 Nov 2025 15:21:12 +0000</pubDate><guid>https://foojayio.github.io/website/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;
&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: Easy Access to Expanding Challenges</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-easy-access-to-expanding-challenges/</link><pubDate>Tue, 04 Nov 2025 18:13:33 +0000</pubDate><guid>https://foojayio.github.io/website/today/jc-ai-newsletter-easy-access-to-expanding-challenges/</guid><description>&lt;p&gt;&lt;strong&gt;A&lt;/strong&gt; few months ago, I launched the &lt;a href="https://foojayio.github.io/website/today/category/jc-ai-newsletter/"&gt;AI Newsletter&lt;/a&gt;
 to provide a minimally biased perspective on the growing challenges surrounding artificial intelligence.&lt;/p&gt;
&lt;p&gt;My primary motivation was and remains to be serving the community not only by showing how to use and access specific services for utilizing Large Language Models, but also by support a deeper understanding of the broader artificial intelligence landscape.&lt;/p&gt;
&lt;p&gt;Many of the core challenges that have emerged around LLMs have not been and still not properly addressed, often omitted due to their uncomfortable implications.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #8</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-8/</link><pubDate>Thu, 30 Oct 2025 06:36:12 +0000</pubDate><guid>https://foojayio.github.io/website/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;
&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;
&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 #7</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-7/</link><pubDate>Tue, 14 Oct 2025 05:35:01 +0000</pubDate><guid>https://foojayio.github.io/website/today/jc-ai-newsletter-7/</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;
&lt;p&gt;Beyond focused tutorials that can enhance your understanding of AI applications, this newsletter concentrates on Hallucination, Java Code Generation, Testing, Agentic System Architecture and LLM benchmarking methodologies designed to ensure models accuracy and competency in handling complex contextual information.&lt;/p&gt;
&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 #6</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-6/</link><pubDate>Wed, 01 Oct 2025 17:18:16 +0000</pubDate><guid>https://foojayio.github.io/website/today/jc-ai-newsletter-6/</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;
&lt;p&gt;Beyond opinion pieces and Java focused tutorials that can enhance your understanding of AI applications, this newsletter concentrates on Hallucination, Security, RAG and LLM benchmarking methodologies designed to ensure models accuracy and competency in handling complex contextual information.&lt;/p&gt;
&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>Design Patterns Update to JDK25</title><link>https://foojayio.github.io/website/today/design-patterns-update-to-jdk25/</link><pubDate>Wed, 24 Sep 2025 11:29:34 +0000</pubDate><guid>https://foojayio.github.io/website/today/design-patterns-update-to-jdk25/</guid><description>&lt;p&gt;&lt;strong&gt;T&lt;/strong&gt; he information technology landscape is changing rapidly. This is not only due to the utilization of AI and &lt;a href="https://foojayio.github.io/website/today/stochastic-ai-agility-breaking-cycles-of-debt/" title="new methodologies"&gt;new methodologies [8]&lt;/a&gt;
, or business requirements trying to keep up, but also because of the incremental complexity of expected solutions.&lt;/p&gt;
&lt;p&gt;Statistics and probability are slowly beginning to play a very important role in this evolution. The Java ecosystem has proven its maturity many times by delivering essential features that businesses require, although many may argue that these have been inspired by other existing solutions.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #5</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-5/</link><pubDate>Thu, 18 Sep 2025 07:19:33 +0000</pubDate><guid>https://foojayio.github.io/website/today/jc-ai-newsletter-5/</guid><description>&lt;h3 id="h3-0-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"&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;/h3&gt;
&lt;p&gt;Beyond opinion pieces and Java focused tutorials that can enhance your understanding of AI applications, this newsletter concentrates on LLM benchmarking methodologies designed to ensure models accuracy and competency in handling complex contextual information.&lt;/p&gt;
&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>Research: Measuring Energy Consumption in Programming Languages for AI Applications</title><link>https://foojayio.github.io/website/today/research-measuring-energy-consumption-in-programming-languages-for-ai-applications/</link><pubDate>Mon, 15 Sep 2025 07:03:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/research-measuring-energy-consumption-in-programming-languages-for-ai-applications/</guid><description>&lt;p&gt;&lt;strong&gt;Decades ago, I contributed to a very interesting project called &lt;a href="https://sunspotdev.org/#" title="SunSPOT " target="_blank" rel="noopener noreferrer"&gt;SunSPOT&lt;/a&gt;
at SUN Microsystems. It was a small device with wireless connectivity, built-in sensors, running on Java (compatible with runtime 1.6), and powered by battery. It enabled the design of small applications and the connection of additional hardware, or simply the utilization of available sensors. Later, together with Markus Hirt, we created the &lt;a href="https://github.com/Robo4J/robo4j" title="Robo4j framework" target="_blank" rel="noopener noreferrer"&gt;Robo4j framework&lt;/a&gt;
. A small and lightweight Java framework that enables rapid assembly of robots or other IoT systems (JDK 21+). In Robo4j, we primarily used the&lt;a href="https://www.pi4j.com/blog/" title=" Pi4j project" target="_blank" rel="noopener noreferrer"&gt;Pi4j project&lt;/a&gt;
 for handling I/O operations on the Raspberry Pi platform with drivers created for specific hardware.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Stochastic AI Agility: Breaking Cycles of Debt</title><link>https://foojayio.github.io/website/today/stochastic-ai-agility-breaking-cycles-of-debt/</link><pubDate>Wed, 10 Sep 2025 11:27:16 +0000</pubDate><guid>https://foojayio.github.io/website/today/stochastic-ai-agility-breaking-cycles-of-debt/</guid><description>&lt;p&gt;&lt;strong&gt;The launch of ChatGPT in November 2022 has significantly influenced and potentially transformed industry standards across multiple sectors. While my primary focus remains on the information technology sector, observations indicate that its impact extends across all industries and affects the daily lives of consumers and professionals alike.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This article examines the observed changes in project management practices. These observations are govern by Role 17: Stochastic AI Agility. Over past two decades, the industry has actively pursued the implementation of agile methodologies to enable iterative product delivery.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #4</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-4/</link><pubDate>Tue, 02 Sep 2025 20:27:52 +0000</pubDate><guid>https://foojayio.github.io/website/today/jc-ai-newsletter-4/</guid><description>&lt;p&gt;14 days have passed and it&amp;rsquo;s time for a new batch of readings that could shape developments in the field of artificial intelligence.&lt;/p&gt;
&lt;p&gt;The current newsletter vol. 4 offers us a closer look at several different areas of artificial intelligence. We start with the topic of energy consumption and the environmental impact of systems serving artificial intelligence, and continue with automation, how we obtain data for RAG, robustness of GenAI systems, vibe-coding and more.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #3</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-3/</link><pubDate>Tue, 19 Aug 2025 08:06:34 +0000</pubDate><guid>https://foojayio.github.io/website/today/jc-ai-newsletter-3/</guid><description>&lt;p&gt;&lt;strong&gt;The &lt;a href="https://foojayio.github.io/website/today/ai-newsletter-1/" title="first"&gt;first&lt;/a&gt;
 and &lt;a href="https://foojayio.github.io/website/today/jc-ai-newsletter-2/" title="second"&gt;second&lt;/a&gt;
 newsletters introduced a 14-day cadence, and even though it is the holiday season for many of us, we are sticking to the promised period.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The current newsletter vol.3, brings a collection of valuable articles focusing on challenges that are commonly reported through reported breakthroughs in the field of artificial intelligence. Although some articles may remain open or contain suggestions for future research due to the intensive development and utilization efforts of agentic AI systems, these articles can be considered valuable to the community, increasing awareness and understanding of ongoing challenges.&lt;/p&gt;</description></item><item><title>Do we understand the value of AI knowledge ?</title><link>https://foojayio.github.io/website/today/do-we-understand-the-value-of-ai-knowledge/</link><pubDate>Tue, 12 Aug 2025 11:26:49 +0000</pubDate><guid>https://foojayio.github.io/website/today/do-we-understand-the-value-of-ai-knowledge/</guid><description>&lt;h3 id="h3-0-i-remember-the-first-time-i-saw-a-diagram-of-a-neuron-img-1-i-was-a-school-kid-and-among-other-hobbies-i-was-interested-in-the-human-brain-it-fascinated-me-i-borrowed-a-book-from-the-bookstore-to-find-out-how-it-all-worked-because-these-cells-are-responsible-for-more-than-just-the-functioning-of-the-human-species"&gt;I remember the first time I saw a diagram of a neuron (&lt;em&gt;Img.1.&lt;/em&gt;). I was a school kid, and among other hobbies, I was interested in the human brain, it fascinated me. I borrowed a book from the bookstore to find out how it all worked, because these cells are responsible for more than just the functioning of the human species.&lt;/h3&gt;
&lt;img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-117093" class="size-medium wp-image-117093" src="20250810_Neuron_wiki-700x451.png" alt="" width="700" height="451"&gt;
&lt;p&gt;&lt;em&gt;Img.1.: Anatomy of multipolar neuron&lt;/em&gt;{#caption-attachment-117093}&lt;/p&gt;
&lt;h2 id="h2-1-simplification-of-neuron-perceptron"&gt;Simplification of neuron, perceptron&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;I&lt;/strong&gt; took a university course focused on neural networks and their applications, basically research, in engineering and control systems. It was a lot of fun because the neuron was simplified into an abstraction presented as a perceptron (&lt;em&gt;Img.2.&lt;/em&gt;).&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #2</title><link>https://foojayio.github.io/website/today/jc-ai-newsletter-2/</link><pubDate>Tue, 05 Aug 2025 06:30:03 +0000</pubDate><guid>https://foojayio.github.io/website/today/jc-ai-newsletter-2/</guid><description>&lt;h3 id="h3-0-in-the-first-newsletter-we-introduced-a-14-day-cadence-which-means-that-this-week-it-s-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://foojayio.github.io/website/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;
&lt;p&gt;The JC-AI Newsletter Vol.2 brings again a very interesting collection of articles worth considering.&lt;/p&gt;
&lt;p&gt;The world influenced by LLM is changing very quickly, let&amp;rsquo;s start&amp;hellip;&lt;/p&gt;
&lt;h3 id="h3-1-article-openai-ceo-sam-altman-warns-of-an-ai-fraud-crisis"&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;
&lt;p&gt;&lt;strong&gt;author&lt;/strong&gt; : Clare Duffy, CNN&lt;br&gt;
&lt;strong&gt;date&lt;/strong&gt; : 2025-07-22&lt;br&gt;
&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>AI Newsletter #1</title><link>https://foojayio.github.io/website/today/ai-newsletter-1/</link><pubDate>Tue, 22 Jul 2025 05:39:26 +0000</pubDate><guid>https://foojayio.github.io/website/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;
&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>Foojay Podcast #73: JCon Report, Part 2 – Evolutions in the Java language and runtime</title><link>https://foojayio.github.io/website/today/foojay-podcast-73/</link><pubDate>Mon, 16 Jun 2025 07:42:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-73/</guid><description>&lt;p&gt;In the second part of our JCON interviews, recorded at the conference in May, we focuses on general evolutions within the Java world and how they influence how we write code and develop applications. We take a look back at the history of Java, discuss new features in the latest release, how Java evolves with OpenJDK projects and JEPS, how Java is used in education, and much more&amp;hellip;&lt;/p&gt;
&lt;h2 id="h2-0-video"&gt;Video&lt;/h2&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&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/T9_5LYsFZn8?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;
		&lt;/div&gt;

&lt;h2 id="h2-1-podcast-apps"&gt;Podcast Apps&lt;/h2&gt;
&lt;p&gt;You can listen and subscribe to the Foojay Podcast on:&lt;/p&gt;</description></item><item><title>JDK 23: Module Design Pattern with JEP-476</title><link>https://foojayio.github.io/website/today/exploring-new-features-in-jdk-23-module-design-pattern-with-jep-476/</link><pubDate>Thu, 31 Oct 2024 09:41:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/exploring-new-features-in-jdk-23-module-design-pattern-with-jep-476/</guid><description>&lt;p&gt;Although the module design pattern can be implemented in many different ways, the main motivation behind using it remains the same. This is the isolation of a specific section into small building blocks, which are the so-called modules. Therefore, the module design pattern belongs to the structural design pattern family.&lt;/p&gt;
&lt;p&gt;Before Java 9, each project using the module design pattern at any level was a bit difficult and many times broken. Such a situation had a direct impact on source code maintainability and event extensibility, as it was very easy to break module boundaries. Many times this state has been called a bit like &amp;ldquo;classpath hell&amp;rdquo;. In order to avoid such a situation, it was necessary to preserve the coding discipline.&lt;/p&gt;</description></item><item><title>Just-Write-And-Run prototyping with JEP-477</title><link>https://foojayio.github.io/website/today/exploring-new-features-in-jdk-23-just-write-and-run-prototyping-with-jep-477-not-only-for-beginners/</link><pubDate>Wed, 23 Oct 2024 09:37:04 +0000</pubDate><guid>https://foojayio.github.io/website/today/exploring-new-features-in-jdk-23-just-write-and-run-prototyping-with-jep-477-not-only-for-beginners/</guid><description>&lt;h3 id="h3-0-it-seems-like-it-s-never-been-easier-to-start-writing-a-simple-program-that-can-be-turned-into-a-more-advanced-one-as-development-progresses-let-s-explore-possibilities-delivered-by-jdk-23-release"&gt;It seems like it&amp;rsquo;s never been easier to start writing a simple program that can be turned into a more advanced one as development progresses. Let&amp;rsquo;s explore possibilities delivered by JDK 23 release.&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;From the early days, Java may have struggled with a relatively verbose and sometimes strikingly complicated process of creating a small program. A small program just to validate an idea or assumption. Let&amp;rsquo;s call that Just-Write-And-Run feature. For example, it&amp;rsquo;s required to create a trivial solution for reading and parsing data, Oh now what&amp;hellip;&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Gatherers upgrades pipeline design pattern JEP-461</title><link>https://foojayio.github.io/website/today/exploring-new-features-in-jdk-23-gatherers-upgrades-pipeline-design-pattern-jep-461/</link><pubDate>Tue, 15 Oct 2024 06:18:04 +0000</pubDate><guid>https://foojayio.github.io/website/today/exploring-new-features-in-jdk-23-gatherers-upgrades-pipeline-design-pattern-jep-461/</guid><description>&lt;p&gt;Source-code flexibility goes hand in hand with maintainability and testability. The Java language benefits not only from its maturity but also from the fact that it is strongly typed. This may initiate possible discussion topics, as each defined variable requires its type to be known, which can lead to unnecessary verbosity in the source code (reduced by JEP-286: local variable type inference[4]).&lt;/p&gt;
&lt;p&gt;Since the introduction of the Stream API in Java 8, developers have benefited from the ability to create complex transformations inside pipelines. The Stream API allows a lazily evaluated definition of how a pipeline (Example 1.- 1) should be transformed through one or multiple intermediate functions (Example 1.- 2). The sequence of intermediate functions must be terminated by a terminal function that materializes the output (Example 1.- 3).&lt;/p&gt;</description></item><item><title>Builder Pattern Simplicity with JEP-455 Primitive Types</title><link>https://foojayio.github.io/website/today/exploring-new-features-in-jdk-23-builder-pattern-simplicity-with-jep-455-primitive-types-in-patterns-instanceof-and-switch-preview/</link><pubDate>Thu, 10 Oct 2024 10:54:08 +0000</pubDate><guid>https://foojayio.github.io/website/today/exploring-new-features-in-jdk-23-builder-pattern-simplicity-with-jep-455-primitive-types-in-patterns-instanceof-and-switch-preview/</guid><description>&lt;p&gt;&lt;strong&gt;The runtime initiation of any program requires allocating a given memory and after many additional steps the first object could be created.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In a &lt;a href="https://foojayio.github.io/website/today/exploring-new-features-in-jdk-23-factory-pattern-with-flexible-constructor-bodies-with-jep-482/"&gt;previous post&lt;/a&gt;
, we explored how to improve maintainability of complex creation processes by using the factory creational pattern[4] and JEP-482, flexible constructor bodies.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The factory design may be a good fit for many cases but it may also create obstacles due to the pattern code centralized nature.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Null object pattern to avoid null pointer exception with JEP-455</title><link>https://foojayio.github.io/website/today/exploring-new-features-in-jdk-23-null-object-pattern-to-avoid-null-pointer-exception-with-jep-455/</link><pubDate>Fri, 04 Oct 2024 06:19:18 +0000</pubDate><guid>https://foojayio.github.io/website/today/exploring-new-features-in-jdk-23-null-object-pattern-to-avoid-null-pointer-exception-with-jep-455/</guid><description>&lt;p&gt;&lt;strong&gt;The newest release JDK 23 [2] comes with a neat extension to pattern matching for switch and instanceof statements, JEP-455: Primitive Types in Patterns, instanceof and switch [1]. While the introduction of pattern matching can be considered a crucial element in moving the Java platform into a functional paradigm, it introduced several limitations.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using reference object types or objects only for switch and instanceof statements slightly reduced the possibilities of its utilization. This has had an impact on its use in building code based on design patterns, including refactoring.&lt;/p&gt;</description></item><item><title>JDK 23: Factory Pattern with Flexible Constructor Bodies</title><link>https://foojayio.github.io/website/today/exploring-new-features-in-jdk-23-factory-pattern-with-flexible-constructor-bodies-with-jep-482/</link><pubDate>Wed, 25 Sep 2024 11:14:01 +0000</pubDate><guid>https://foojayio.github.io/website/today/exploring-new-features-in-jdk-23-factory-pattern-with-flexible-constructor-bodies-with-jep-482/</guid><description>&lt;p&gt;Since the introduction of the new JDK release cadence, we have seen an incredible amount of new enhancements added to each JDK cycle, kicking the Java platform back on track compared to other languages.&lt;/p&gt;
&lt;p&gt;Source code maintainability plays a very important role as complexity of nowadays projects increases. Yes, design patterns, spelled forward and backward many times, but forgotten at the same time due to various reasons.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s take a look at one particular brand new preview feature added to the latest JDK release 23 [2], JEP-482: Flexible Constructor Bodies [1] in its second iteration.&lt;/p&gt;</description></item><item><title>Foojay Podcast #50: JCON Report, Part 2 - Maven, Software Security, Code Quality</title><link>https://foojayio.github.io/website/today/foojay-podcast-50/</link><pubDate>Mon, 27 May 2024 08:07:54 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-50/</guid><description>&lt;p&gt;This is part 2 of the interviews we recorded at the JCON conference earlier this month in Germany. In this episode, you get two main topics: &lt;strong&gt;Maven and Code Quality&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;In the first part, you&amp;rsquo;ll hear Karl Heinz Marbaise and Steve Poole discuss the Maven project, the repository, Sonaytype, and the security impact of dependencies.&lt;/p&gt;
&lt;p&gt;But next to security, we developers are also responsible for creating readable and maintainable code. Miro Wengner, Marit van Dijk, and Hinse ter Schuur dive into this topic, in the second part!&lt;/p&gt;</description></item><item><title>JUG Munich hosts the JCP Executive Committee meeting to 25th anniversary of JCP</title><link>https://foojayio.github.io/website/today/jug-munich-hosts-the-jcp-executive-committee-meeting-to-25th-anniversary-of-jcp/</link><pubDate>Sun, 14 Apr 2024 19:40:41 +0000</pubDate><guid>https://foojayio.github.io/website/today/jug-munich-hosts-the-jcp-executive-committee-meeting-to-25th-anniversary-of-jcp/</guid><description>&lt;p&gt;&lt;strong&gt;The Java Community Process (JCP) was established in 1998 to formalize the development process of the Java platform, where all interested parties can openly participate in the development of specification standards.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For many reasons, the JCP process [1] has decided to organize at least two face-to-face meetings of the Java Executive Committee per year. These meetings not only contain a very warm exchange of ideas, but are also very helpful in identifying future challenges. These meetings bring executives from all interested parties very close to the Java Community, as their feedback is very important to future platform development.&lt;/p&gt;</description></item><item><title>Foojay Podcast #16: Welcome to Java 20!</title><link>https://foojayio.github.io/website/today/foojay-podcast-16/</link><pubDate>Mon, 20 Mar 2023 08:00:14 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-16/</guid><description>&lt;p&gt;Since 2018, we get a new version of Java every 6 months.&lt;/p&gt;
&lt;p&gt;Some are long-term supported versions that can be used for many years, while others are only maintained for a short time. Version 20 is such a short-term supported version.&lt;/p&gt;
&lt;p&gt;So, what new features does this version bring? And why should we use it? And what can we expect from the next version, 21, in September that will be a long-term supported version?&lt;/p&gt;</description></item><item><title>42 Practical Java Design Patterns: Builder and More</title><link>https://foojayio.github.io/website/today/42-practical-java-design-patterns-builder-and-more/</link><pubDate>Mon, 27 Feb 2023 08:27:06 +0000</pubDate><guid>https://foojayio.github.io/website/today/42-practical-java-design-patterns-builder-and-more/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/42-practical-java-design-patterns-builder-and-more/book_cover-414x510.jpeg" alt="Figure 1: Hone your software design skills" loading="lazy"&gt;
 &lt;strong&gt;Figure 1&lt;/strong&gt;.: Hone your software design skills&lt;/p&gt;
&lt;p&gt;The aim of the article is to introduce my newly published book &amp;ldquo;Practical Design Pattern for Java Developers&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Together, we&amp;rsquo;ll explore today&amp;rsquo;s application development challenges and dive deeper into some of Java&amp;rsquo;s new language enhancements by exploring the &lt;strong&gt;Builder&lt;/strong&gt; Design pattern in more detail.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;T&lt;/strong&gt;he days when applications were developed &amp;ldquo;ad hoc&amp;rdquo; seem to have ended only on paper.&lt;/p&gt;</description></item><item><title>Foojay Podcast #5: OpenJDK Discussion Panel</title><link>https://foojayio.github.io/website/today/foojay-podcast-5/</link><pubDate>Tue, 20 Sep 2022 15:56:27 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-5/</guid><description>&lt;p&gt;It&amp;rsquo;s September 20th, OpenJDK 19 has been released. In this podcast, we discuss the new features and the changes that this release brings.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&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/71ZAYZWwpuI?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;
		&lt;/div&gt;

&lt;h2 id="h2-1--odcast-pps"&gt;Podcast Apps&lt;/h2&gt;
&lt;p&gt;You can listen and subscribe to the Foojay Podcast on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://open.spotify.com/show/6CpTfgn9LirzJGAtc4ICdQ" target="_blank" rel="noopener noreferrer"&gt;Spotify&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://podcasts.apple.com/be/podcast/foojay-io-the-friends-of-openjdk/id1652281304" target="_blank" rel="noopener noreferrer"&gt;Apple Podcasts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;And most others&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-guests"&gt;Guests&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://twitter.com/miragemiko" target="_blank" rel="noopener noreferrer"&gt;Miroslav Wengner&lt;/a&gt;
&lt;/strong&gt; (OpenValue)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://twitter.com/mgrygles" target="_blank" rel="noopener noreferrer"&gt;Mary Grygleski&lt;/a&gt;
&lt;/strong&gt; (CJUG, DataStax)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://twitter.com/deepu105" target="_blank" rel="noopener noreferrer"&gt;Deepu K Sasidharan&lt;/a&gt;
&lt;/strong&gt; (Okta, JHipster)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-podcast-host"&gt;Podcast host&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://twitter.com/costlow" target="_blank" rel="noopener noreferrer"&gt;Erik Costlow&lt;/a&gt;
&lt;/strong&gt; (Azul)&lt;/p&gt;</description></item><item><title>What Can We Expect In OpenJDK 19?</title><link>https://foojayio.github.io/website/today/what-can-we-expect-in-openjdk-19/</link><pubDate>Wed, 01 Jun 2022 19:00:37 +0000</pubDate><guid>https://foojayio.github.io/website/today/what-can-we-expect-in-openjdk-19/</guid><description>&lt;p&gt;Although the Java 19 release is coming in September (2022-09-20), we already know what will happen in that release!&lt;/p&gt;
&lt;p&gt;In this article, we&amp;rsquo;ll touch on upcoming features via examples to get a sense of how valuable these can be to a project.&lt;/p&gt;
&lt;h3 id="h3-0-jep-405-record-patterns-preview"&gt;JEP-405: Record Patterns (Preview)&lt;/h3&gt;
&lt;p&gt;Java 14 introduced (JEP-361, Reference 2), which made it possible to use a switch as a statement or an expression. In many cases, I think it was something the community shouted for quite some time, because many other JVM languages have already provided such constructs.&lt;/p&gt;</description></item><item><title>Diving into JVM Framework Monitoring and Profiling</title><link>https://foojayio.github.io/website/today/diving-into-jvm-framework-monitoring-and-profiling/</link><pubDate>Fri, 13 May 2022 06:36:05 +0000</pubDate><guid>https://foojayio.github.io/website/today/diving-into-jvm-framework-monitoring-and-profiling/</guid><description>&lt;p&gt;Managing available resources on demand in a cloud environment can be a very challenging topic. It is worth the effort, since it may however utilise resources far more efficiently.&lt;/p&gt;
&lt;p&gt;Companies or projects are therefore very keen to migrate to the Cloud providers, such as Azul, AWS, Google Cloud or others. For software engineers one truth still stands, also in the Cloud: It&amp;rsquo;s recommended to understand the behaviour and limitations of our deployed JVM application (or pods, the smallest deployable instance in Kubernetes).&lt;/p&gt;</description></item><item><title>Thinking About Massive Throughput? Meet Virtual Threads!</title><link>https://foojayio.github.io/website/today/thinking-about-massive-throughput-meet-virtual-threads/</link><pubDate>Thu, 28 Apr 2022 07:41:25 +0000</pubDate><guid>https://foojayio.github.io/website/today/thinking-about-massive-throughput-meet-virtual-threads/</guid><description>&lt;p&gt;The goal of this article is to examine known facts about an upcoming Java threading model extension.&lt;/p&gt;
&lt;p&gt;No, no-worries, the current Java threading model remains but behind the curtains something good is already knocking on the virtual door.&lt;/p&gt;
&lt;p&gt;Yes, we are talking about JEP-425: Virtual Threads.&lt;/p&gt;
&lt;h2 id="h2-0-knocking-on-current-concurrency-limits"&gt;Knocking on current concurrency limits&lt;/h2&gt;
&lt;p&gt;Let&amp;rsquo;s first look at the current Java threading model. It provides an implementation of the Thread class. A Thread can be considered a Java concurrency unit which can execute so-called &lt;em&gt;Runnable&lt;/em&gt; tasks. The instance of a Thread class is also an object but there is a bit more happening behind the scenes.&lt;/p&gt;</description></item><item><title>How to Create APIs with the Java 18 jwebserver Ready for Docker </title><link>https://foojayio.github.io/website/today/how-to-create-apis-with-the-java-18-jwebserver-ready-for-docker/</link><pubDate>Mon, 11 Apr 2022 14:26:57 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-to-create-apis-with-the-java-18-jwebserver-ready-for-docker/</guid><description>&lt;p&gt;In the age of cloud computing, it is at times very helpful to have the ability to run a very simple web server. A simple web server that delivers static content.&lt;/p&gt;
&lt;p&gt;Maybe some of us are already familiar with the neat python util &amp;ldquo;&lt;em&gt;SimpleHTTPServer&lt;/em&gt;&amp;rdquo; (Example 1.). It allows you to run a web server from the current location and obtain access to static content.&lt;/p&gt;
&lt;p&gt;Although such a server is very simple and even without the ability to define a directory, it is very helpful in many cases. For example, exposing a simple end-point that serves a JSON response:&lt;/p&gt;</description></item><item><title>Switch Statement and the Factory Pattern in Three JVM Languages</title><link>https://foojayio.github.io/website/today/examining-the-switch-statement-and-the-factory-pattern-in-three-jvm-languages/</link><pubDate>Wed, 06 Apr 2022 09:10:08 +0000</pubDate><guid>https://foojayio.github.io/website/today/examining-the-switch-statement-and-the-factory-pattern-in-three-jvm-languages/</guid><description>&lt;p&gt;The goal of this article is to examine a program selection control mechanism.&lt;/p&gt;
&lt;p&gt;A selection control mechanism allows a value, expression or variable type to influence the program flow execution. This concept is commonly used by developers.&lt;/p&gt;
&lt;p&gt;A good example for this is a widely used design pattern. A design pattern that belongs to the family of creational patterns and is used for an object creation without exposing the entire logic.&lt;/p&gt;</description></item><item><title>Observability for JVM Frameworks with Grafana in Java and Kotlin</title><link>https://foojayio.github.io/website/today/observability-for-jvm-frameworks-with-grafana-in-java-and-kotlin/</link><pubDate>Wed, 30 Mar 2022 06:30:58 +0000</pubDate><guid>https://foojayio.github.io/website/today/observability-for-jvm-frameworks-with-grafana-in-java-and-kotlin/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/observability-for-jvm-frameworks-with-grafana-in-java-and-kotlin/observ_img1-700x470.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;Grafana dashboard for all running frameworks&lt;/p&gt;
&lt;h2 id="h2-0-introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In times of Cloud and distributed applications, it is becoming more and more important to be able to evaluate a functionality at runtime, an aspect which is referred to as &lt;a href="https://en.wikipedia.org/wiki/Observability" target="_blank" rel="noopener noreferrer"&gt;observability&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;A Cloud-based application is usually set up as a collection of different subsystems that may be located in one or more network zones or machines. These subsystems communicate with each other by passing messages (signals) and executing desired actions to each other. The whole collection then appears to the end user as a single coherent system.&lt;/p&gt;</description></item><item><title>What's New and Exciting in Java 18?</title><link>https://foojayio.github.io/website/today/whats-new-and-exciting-in-java-18/</link><pubDate>Tue, 22 Mar 2022 07:23:21 +0000</pubDate><guid>https://foojayio.github.io/website/today/whats-new-and-exciting-in-java-18/</guid><description>&lt;p&gt;Time runs forward without compromise! The six month release period is over and, similar to people expecting spring and nice weather, the Java community is excited about the next OpenJDK release, this time holding the number 18.&lt;/p&gt;
&lt;p&gt;Yes, Java 18 is here and in this article we explore the most important changes and, in my humble opinion, this release is an important one!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; For a full listing of the 2,045 fixes in Java 18, &lt;a href="https://foojayio.github.io/website/java-18/?tab=highlights&amp;amp;quarter=032022&amp;amp;version=18.0.0"&gt;go here on Foojay.io&lt;/a&gt;
. And vote on your favorites to show the Java community&amp;rsquo;s favorite fixes in Java 18.&lt;/p&gt;</description></item></channel></rss>