<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Research on foojay.io - Friends Of OpenJDK</title><link>https://foojay.io/today/category/research/</link><description>Recent content in Research on foojay.io - Friends Of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 28 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://foojay.io/today/category/research/index.xml" rel="self" type="application/rss+xml"/><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><guid>https://foojay.io/today/how-much-will-post-quantum-migration-cost-your-java-codebase/</guid><description>&lt;p&gt;The post-quantum transition has stopped being a research topic and become a set of dates. NIST finalized ML-KEM (FIPS 203), ML-DSA (FIPS 204) and SLH-DSA (FIPS 205) in August 2024. NIST IR 8547 deprecates RSA, ECDSA, (EC)DH and the rest after 2030 and disallows them after 2035, and similar timelines are turning up in government guidance elsewhere.&lt;/p&gt;&#10;&lt;p&gt;So the destination is settled. For most Java teams the hard question is not &lt;em&gt;what&lt;/em&gt; to migrate to. It is &lt;em&gt;how much&lt;/em&gt; the migration will cost for their specific codebase, and where the expensive parts are hiding. That question has been oddly hard to answer, and most of the post-quantum migration tooling I could find targets C, C++ and Rust, even though a great deal of enterprise cryptography runs on the JVM.&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>Making illegal state unrepresentable</title><link>https://foojay.io/today/making-illegal-state-unrepresentable/</link><pubDate>Tue, 21 Apr 2026 18:50:02 +0000</pubDate><guid>https://foojay.io/today/making-illegal-state-unrepresentable/</guid><description>&lt;p&gt;A couple of years ago, I wrote that &lt;a href="https://blog.frankel.ch/builder-pattern-finite-state-machine/" target="_blank" rel="noopener noreferrer"&gt;The Builder pattern is a finite state machine!&lt;/a&gt;. A state machine consists of states and transitions between them. As a developer, I want to make illegal states unrepresentable, &lt;em&gt;i.e.&lt;/em&gt;, users of my API can&amp;rsquo;t create non-existent transitions. My hypothesis is that only a static typing system allows this at compile-time. Dynamic typing systems rely on runtime validation.&lt;/p&gt;&#10;&lt;p&gt;In this blog post, I will show that it holds true, with a caveat. If your model has many combinations, you also need generics and other niceties to avoid too much boilerplate code. My exploration will use Python, Java, Kotlin, Rust, and Gleam. With that background in mind, let&amp;rsquo;s move on to the model itself.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #15</title><link>https://foojay.io/today/jc-ai-newsletter-15/</link><pubDate>Fri, 20 Mar 2026 07:56:01 +0000</pubDate><guid>https://foojay.io/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://foojay.io/today/jc-ai-newsletter-14/</link><pubDate>Tue, 03 Mar 2026 15:11:53 +0000</pubDate><guid>https://foojay.io/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;&#10;&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>From “Crypto AI” to general AI: Do AI agents dream of electric langoustines?</title><link>https://foojay.io/today/from-crypto-ai-to-general-ai-do-ai-agents-dream-of-electric-langoustines/</link><pubDate>Mon, 23 Feb 2026 18:11:54 +0000</pubDate><guid>https://foojay.io/today/from-crypto-ai-to-general-ai-do-ai-agents-dream-of-electric-langoustines/</guid><description>&lt;p&gt;&lt;img src="https://foojay.io/today/from-crypto-ai-to-general-ai-do-ai-agents-dream-of-electric-langoustines/daydreams-2-scaled.jpg" alt="" width="1600" height="686" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;h2 id="x402-erc-8004-a2a-and-the-next-wave-of-ai-commerce-do-ai-agents-dream-of-electric-langoustines"&gt;&lt;strong&gt;x402, ERC-8004, A2A, and The Next Wave of AI Commerce: Do AI Agents Dream of Electric Langoustines?&lt;/strong&gt;&lt;/h2&gt;&#10;&lt;p&gt;&lt;em&gt;&lt;strong&gt;A Blade Runner riff for a world where the lobster ships paid endpoints while humans still argue about the roadmap.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;h2 id="the-shift-that-matters-for-agent-commerce---from-crypto-ai-to-general-ai"&gt;The shift that matters for agent commerce - From &amp;ldquo;Crypto AI&amp;rdquo; to general AI&lt;/h2&gt;&#10;&lt;p&gt;Today, you can search the web all day and never see an invoice.&lt;/p&gt;&#10;&lt;p&gt;That happens because you are not the paying client.&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>Enterprise Java in Practice</title><link>https://foojay.io/today/enterprise-java-in-practice-fragmentation-platforms-and-real-world-trade-offs/</link><pubDate>Thu, 29 Jan 2026 10:11:40 +0000</pubDate><guid>https://foojay.io/today/enterprise-java-in-practice-fragmentation-platforms-and-real-world-trade-offs/</guid><description>&lt;p&gt;Enterprise Java has matured into one of the most stable and widely adopted ecosystems in software development. Yet for many teams, the biggest challenges no longer come from the language itself, but from the complexity of the environments built around it.&lt;/p&gt;&#10;&lt;p&gt;Modern enterprise Java teams are dealing with a mix of legacy Java EE applications, Jakarta EE runtimes, microservices, container platforms, cloud-native deployments, and increasingly sophisticated DevOps pipelines. The result is an ecosystem that is powerful, but often fragmented across frameworks, runtimes, tooling, and operational models.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #12</title><link>https://foojay.io/today/jc-ai-newsletter-12/</link><pubDate>Wed, 14 Jan 2026 07:15:44 +0000</pubDate><guid>https://foojay.io/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;&#10;&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://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>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: Easy Access to Expanding Challenges</title><link>https://foojay.io/today/jc-ai-newsletter-easy-access-to-expanding-challenges/</link><pubDate>Tue, 04 Nov 2025 18:13:33 +0000</pubDate><guid>https://foojay.io/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://foojay.io/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;&#10;&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;&#10;&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 #7</title><link>https://foojay.io/today/jc-ai-newsletter-7/</link><pubDate>Tue, 14 Oct 2025 05:35:01 +0000</pubDate><guid>https://foojay.io/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;&#10;&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;&#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 #5</title><link>https://foojay.io/today/jc-ai-newsletter-5/</link><pubDate>Thu, 18 Sep 2025 07:19:33 +0000</pubDate><guid>https://foojay.io/today/jc-ai-newsletter-5/</guid><description>&lt;h3 id="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;&#10;&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;&#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>Research: Measuring Energy Consumption in Programming Languages for AI Applications</title><link>https://foojay.io/today/research-measuring-energy-consumption-in-programming-languages-for-ai-applications/</link><pubDate>Mon, 15 Sep 2025 07:03:00 +0000</pubDate><guid>https://foojay.io/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>JC-AI Newsletter #4</title><link>https://foojay.io/today/jc-ai-newsletter-4/</link><pubDate>Tue, 02 Sep 2025 20:27:52 +0000</pubDate><guid>https://foojay.io/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;&#10;&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://foojay.io/today/jc-ai-newsletter-3/</link><pubDate>Tue, 19 Aug 2025 08:06:34 +0000</pubDate><guid>https://foojay.io/today/jc-ai-newsletter-3/</guid><description>&lt;p&gt;&lt;strong&gt;The &lt;a href="https://foojay.io/today/ai-newsletter-1/" title="first"&gt;first&lt;/a&gt; and &lt;a href="https://foojay.io/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;&#10;&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://foojay.io/today/do-we-understand-the-value-of-ai-knowledge/</link><pubDate>Tue, 12 Aug 2025 11:26:49 +0000</pubDate><guid>https://foojay.io/today/do-we-understand-the-value-of-ai-knowledge/</guid><description>&lt;h3 id="i-remember-the-first-time-i-saw-a-diagram-of-a-neuron-img1-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;&#10;&lt;figure class="size-medium"&gt;&#10; &lt;img src="https://foojay.io/today/do-we-understand-the-value-of-ai-knowledge/20250810_Neuron_wiki-700x451.png" alt="" width="700" height="451" loading="lazy" class="is-zoomable"&gt;&lt;/figure&gt;&#10;&#10;&lt;p&gt;&lt;em&gt;Img.1.: Anatomy of multipolar neuron&lt;/em&gt;&lt;/p&gt;&#10;&lt;h2 id="simplification-of-neuron-perceptron"&gt;Simplification of neuron, perceptron&lt;/h2&gt;&#10;&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>Pattern-matching across different languages</title><link>https://foojay.io/today/pattern-matching-across-different-languages/</link><pubDate>Tue, 05 Aug 2025 07:40:40 +0000</pubDate><guid>https://foojay.io/today/pattern-matching-across-different-languages/</guid><description>&lt;p&gt;Pattern matching is a major feature in software development. While pattern matching applies in several locations, its current usage is limited to &lt;code&gt;switch case&lt;/code&gt; blocks. I want to compare the power of pattern matching across a couple of programming languages I&amp;rsquo;m familiar with in this post.&lt;/p&gt;&#10;&lt;p&gt;I assume that every reader is familiar with the &lt;code&gt;switch case&lt;/code&gt; syntax inherited from C. In short:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The &lt;code&gt;switch&lt;/code&gt; clause references a value-returning statement&lt;/li&gt;&#10;&lt;li&gt;Each &lt;code&gt;case&lt;/code&gt; clause sets another statement; if the value matches the statement, it executes the related block&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;case&lt;/code&gt; clauses are evaluated in order. The first clause that matches gets its block executed&lt;/li&gt;&#10;&lt;li&gt;In C, &lt;code&gt;case&lt;/code&gt; clauses are fall-through; you need to explicitly &lt;code&gt;break&lt;/code&gt; to escape the &lt;code&gt;switch&lt;/code&gt;, otherwise, the next &lt;code&gt;case&lt;/code&gt; is evaluated&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="javas-pattern-matching"&gt;Java&amp;rsquo;s pattern matching&lt;/h2&gt;&#10;&lt;p&gt;I&amp;rsquo;ll start with Java, as it was the first programming language I used in a professional context.&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>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>Getting a single value from a device's state in Home Assistant</title><link>https://foojay.io/today/getting-a-single-value-from-a-devices-state-in-home-assistant/</link><pubDate>Sat, 31 May 2025 09:27:38 +0000</pubDate><guid>https://foojay.io/today/getting-a-single-value-from-a-devices-state-in-home-assistant/</guid><description>&lt;p&gt;I recently acquired &lt;a href="https://www.netatmo.com/en-eu/additional-smart-radiator-valve" target="_blank" rel="noopener noreferrer"&gt;Netatmo smart radiator valves&lt;/a&gt; to manage my rooms&amp;rsquo; temperature remotely. I&amp;rsquo;m not skilled at manual tasks, but I could easily replace the old thermo-static valves. I then registered the smart ones in the Netatmo app. Finally, I integrated them in my Home Assistant via the dedicated &lt;a href="https://www.home-assistant.io/integrations/netatmo/" target="_blank" rel="noopener noreferrer"&gt;Netatmo integration&lt;/a&gt;. Everything was very straightforward.&lt;/p&gt;&#10;&lt;p&gt;I noticed that each valve not only allows remote control but also offers a state with several attributes. I wanted to extract the room&amp;rsquo;s temperature indicator from it. It was not as easy as I thought it was, so I want to describe how I managed to achieve it.&lt;/p&gt;</description></item><item><title>The subtle art of waiting</title><link>https://foojay.io/today/the-subtle-art-of-waiting/</link><pubDate>Mon, 21 Apr 2025 11:59:34 +0000</pubDate><guid>https://foojay.io/today/the-subtle-art-of-waiting/</guid><description>&lt;p&gt;Recently, while working on a workshop titled &lt;a href="https://loftlabs-experiments.github.io/workshop-test-pr-k8s/" target="_blank" rel="noopener noreferrer"&gt;Testing Your Pull Request on Kubernetes with GKE, and GitHub Actions&lt;/a&gt;, I faced twice the same issue: service A needs service B, but service A starts faster than service B, and the system fails. In this post, I want to describe the context of these issues and how I solved them both with the same tool.&lt;/p&gt;&#10;&lt;h2 id="waiting-in-kubernetes"&gt;Waiting in Kubernetes&lt;/h2&gt;&#10;&lt;p&gt;It might sound strange to wait in Kubernetes. The self-healing nature of the Kubernetes platform is one of its biggest benefits. Let&amp;rsquo;s consider two pods: a Python application and a PostgreSQL database.&lt;/p&gt;</description></item><item><title>The try block in Rust</title><link>https://foojay.io/today/the-try-block-in-rust/</link><pubDate>Wed, 09 Apr 2025 12:37:58 +0000</pubDate><guid>https://foojay.io/today/the-try-block-in-rust/</guid><description>&lt;p&gt;I wrote previously about &lt;a href="https://blog.frankel.ch/error-management-rust-libs/" target="_blank" rel="noopener noreferrer"&gt;libs for error management in Rust&lt;/a&gt;. This week, I want to write about the &lt;code&gt;try&lt;/code&gt; block, an experimental feature.&lt;/p&gt;&#10;&lt;h2 id="the-limit-of-the--operator"&gt;The limit of the &lt;code&gt;?&lt;/code&gt; operator&lt;/h2&gt;&#10;&lt;p&gt;Please check the above article for a complete refresher on error management in general and the &lt;code&gt;?&lt;/code&gt; operator in particular. In short, &lt;code&gt;?&lt;/code&gt; allows to hook into a function call that returns a &lt;code&gt;Result&lt;/code&gt;:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;If the &lt;code&gt;Result&lt;/code&gt; contains a value, it continues normally&lt;/li&gt;&#10;&lt;li&gt;If it contains an error, it short-circuits and returns the &lt;code&gt;Result&lt;/code&gt; to the calling function.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;pre class="EnlighterJSRAW" data-enlighter-language="rust"&gt;fn add(str1: &amp;amp;str, str2: &amp;amp;str) -&amp;gt; Result&amp;lt;i8, ParseIntError&amp;gt; {&#10; Ok(str1.parse::&amp;lt;i8&amp;gt;()? + str2.parse::&amp;lt;i8&amp;gt;()?)&#10;}&#10;&#10;fn main() {&#10; print!(&amp;#34;{:?}&amp;#34;, add(&amp;#34;1&amp;#34;, &amp;#34;2&amp;#34;));&#10; print!(&amp;#34;{:?}&amp;#34;, add(&amp;#34;1&amp;#34;, &amp;#34;a&amp;#34;));&#10;}&lt;/pre&gt;&lt;p&gt;The output is the following:&lt;/p&gt;</description></item><item><title>WebAssembly on Kubernetes</title><link>https://foojay.io/today/webassembly-on-kubernetes/</link><pubDate>Tue, 25 Mar 2025 10:32:31 +0000</pubDate><guid>https://foojay.io/today/webassembly-on-kubernetes/</guid><description>&lt;p&gt;Like a couple of innovative technologies, different people have different viewpoints on where WebAssembly fits the technology landscape.&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;WebAssembly (also called Wasm) is certainly the subject of much hype right now. But what is it? Is it the JavaScript Killer? Is it a new programming language for the web? Is it (as we like to say) the next wave of cloud compute? We&amp;rsquo;ve heard it called many things: a better eBPF, the alternative to RISC V, a competitor to Java (or Flash), a performance booster for browsers, a replacement for Docker.&lt;/p&gt;</description></item><item><title>The Home Assistant Model</title><link>https://foojay.io/today/the-home-assistant-model/</link><pubDate>Mon, 09 Dec 2024 15:58:27 +0000</pubDate><guid>https://foojay.io/today/the-home-assistant-model/</guid><description>&lt;p&gt;Home Assistant (&lt;a href="https://www.home-assistant.io/" target="_blank" rel="noopener noreferrer"&gt;home-assistant.io&lt;/a&gt;) is a massive beast. It can be overwhelming for a newcomer; it was for me.&lt;/p&gt;&#10;&lt;p&gt;In this article, I want to describe the underlying model of Home Assistant, which is a good entry point for your home automation journey.&lt;/p&gt;&#10;&lt;p&gt;The biggest issue in describing the Home Assistant is the number of conflicting sources for this model:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The &lt;code&gt;helpers&lt;/code&gt; package of the &lt;a href="https://github.com/home-assistant/core/tree/dev/homeassistant/helpers" target="_blank" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;The database; disclaimer: I didn&amp;rsquo;t find the schema generation in the code, and I wasn&amp;rsquo;t bold enough to check the deployed SQLite database&lt;/li&gt;&#10;&lt;li&gt;The &lt;a href="https://www.home-assistant.io/getting-started/concepts-terminology/" target="_blank" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;The web interface&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;As far as I understand it, here&amp;rsquo;s the conceptual model.&lt;/p&gt;</description></item><item><title>Why Home Assistant</title><link>https://foojay.io/today/why-home-assistant/</link><pubDate>Mon, 09 Dec 2024 15:54:20 +0000</pubDate><guid>https://foojay.io/today/why-home-assistant/</guid><description>&lt;p&gt;&lt;strong&gt;Last June, I spoke at &lt;a href="https://program.berlinbuzzwords.de/bbuzz24/talk/HMQMDH/" target="_blank" rel="noopener noreferrer"&gt;Berlin Buzzwords&lt;/a&gt;. In all honesty, I rarely attend others&amp;rsquo; talks for a variety of reasons: lack of time, lack of energy, no interest in the proposed subjects, etc. When I do, I go either for subjects I know and want to deepen my understanding of &lt;em&gt;or&lt;/em&gt; for subjects I know nothing about to get a foot in the door.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;This time, I attended &lt;a href="https://program.berlinbuzzwords.de/bbuzz24/talk/BQTZHK/" target="_blank" rel="noopener noreferrer"&gt;Monitoring your home, with DevOps observability tools&lt;/a&gt;. I thought it would be about OpenTelemetry for your home. After the speaker mentioned &lt;a href="https://www.home-assistant.io/" target="_blank" rel="noopener noreferrer"&gt;Home Assistant&lt;/a&gt; (&lt;a href="https://www.home-assistant.io/" target="_blank" rel="noopener noreferrer"&gt;home-assistant.io&lt;/a&gt;), however, I didn&amp;rsquo;t pay much attention to the rest.&lt;/p&gt;</description></item><item><title>Augmenting the client with HTMX</title><link>https://foojay.io/today/augmenting-the-client-with-htmx/</link><pubDate>Mon, 14 Oct 2024 12:37:39 +0000</pubDate><guid>https://foojay.io/today/augmenting-the-client-with-htmx/</guid><description>&lt;p&gt;This article is part of a series comparing different ways to implement asynchronous requests on the client to augment the latter. So far, I described the process with &lt;a href="https://foojay.io/today/augmenting-the-client-with-vue-js/"&gt;Vue.js&lt;/a&gt; and &lt;a href="https://foojay.io/today/augmenting-the-client-with-alpine-js/"&gt;Alpine.js&lt;/a&gt;. Both are similar from the developers&amp;rsquo; point of view: they involve JavaScript.&lt;/p&gt;&#10;&lt;p&gt;In this post, I&amp;rsquo;ll focus on &lt;a href="https://htmx.org/" target="_blank" rel="noopener noreferrer"&gt;HTMX&lt;/a&gt;, whose approach is quite different.&lt;/p&gt;&#10;&lt;h2 id="laying-out-the-work"&gt;Laying out the work&lt;/h2&gt;&#10;&lt;p&gt;I&amp;rsquo;ll follow the same structure as in the previous posts of the series. Here&amp;rsquo;s the setup, server- and client-side.&lt;/p&gt;</description></item><item><title>TornadoVM for RISC-V Accelerators</title><link>https://foojay.io/today/tornadovm-for-risc-v-accelerators/</link><pubDate>Thu, 19 Sep 2024 07:50:28 +0000</pubDate><guid>https://foojay.io/today/tornadovm-for-risc-v-accelerators/</guid><description>&lt;h2 id="takeaways"&gt;Takeaways&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;RISC-V is an open standard instruction set architecture that anyone can use to build new processors and accelerators, for example, for AI.&lt;/li&gt;&#10;&lt;li&gt;oneAPI Construction Kit (OCK) is a new framework that allows software developers and system designers to bridge the gap between hardware accelerators and open standards, by enabling a programming system to implement domain specific instructions for modern hardware such as RISC-V accelerators and custom processors.&lt;/li&gt;&#10;&lt;li&gt;TornadoVM, a parallel programming framework for Java, can take advantage of OCK to offload and accelerate Java workloads on RISC-V chips. This post shows how to run on RISC-V CPUs with vector extensions.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://riscv.org/" title="RISC-V" target="_blank" rel="noopener noreferrer"&gt;RISC-V&lt;/a&gt; is an open standard instruction set architecture (ISA) based on the principles of reduced instruction sets (RISC). RISC-V is freely available under open licences, allowing anyone to design, modify and implement RISC-V processors.&lt;/p&gt;</description></item></channel></rss>