<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Opinion on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/category/opinion/</link><description>Recent content in Opinion on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 24 Jun 2026 07:15:41 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/category/opinion/index.xml" rel="self" type="application/rss+xml"/><item><title>Quarkus Unpacked: Insights from the Foojay Podcast</title><link>https://foojayio.github.io/website/today/quarkus-unpacked-insights-from-the-foojay-podcast/</link><pubDate>Tue, 23 Jun 2026 12:36:54 +0000</pubDate><guid>https://foojayio.github.io/website/today/quarkus-unpacked-insights-from-the-foojay-podcast/</guid><description>&lt;figure class="alignleft is-resized"&gt;
 &lt;img decoding="async" src="3-Quarkus-Unpacked-2-2.jpeg" alt="Quarkus: A Runtime and Framework for Cloud-Native Java" style="width:300px"&gt;
&lt;/figure&gt;
&lt;p&gt;I recently had the pleasure of joining the &lt;a href="https://www.youtube.com/watch?v=_nJCTTrnZkE" target="_blank" rel="noopener noreferrer"&gt;Foojay podcast&lt;/a&gt;
 to talk about Quarkus in depth. The conversation covered a lot of ground, from what makes Quarkus different to the practical trade-offs between JVM and native mode. This post captures the key questions and answers from that discussion, lightly edited for readability.{#_quarkus_unpacked_insights_from_the_foojay_podcast}&lt;/p&gt;
&lt;p&gt;If you have been following this blog series, note that the third installment on building your own stack with Quarkus is coming next. Consider this a bonus entry that distills the podcast conversation into a format you can read, reference, and share.&lt;/p&gt;</description></item><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>From “Crypto AI” to general AI: Do AI agents dream of electric langoustines?</title><link>https://foojayio.github.io/website/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://foojayio.github.io/website/today/from-crypto-ai-to-general-ai-do-ai-agents-dream-of-electric-langoustines/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/from-crypto-ai-to-general-ai-do-ai-agents-dream-of-electric-langoustines/daydreams-2-scaled.jpg" alt="" loading="lazy"&gt;
&lt;/p&gt;
&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;
&lt;h2 id="h2-0-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;
&lt;p&gt;Today, you can search the web all day and never see an invoice.&lt;/p&gt;
&lt;p&gt;That happens because you are not the paying client.&lt;/p&gt;
&lt;p&gt;The commerce runs through ads, affiliate deals, and platform incentives, so results often optimize for who pays, not for what you asked for.&lt;/p&gt;</description></item><item><title>The Triforce That Slays Legacy Java Myths – Happy 40th Zelda!</title><link>https://foojayio.github.io/website/today/the-triforce-that-slays-legacy-java-myths-happy-40th-zelda/</link><pubDate>Sat, 21 Feb 2026 18:13:03 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-triforce-that-slays-legacy-java-myths-happy-40th-zelda/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/the-triforce-that-slays-legacy-java-myths-happy-40th-zelda/zelda01-1024x683.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;h4 id="happy-40th-anniversary-to-the-legend-of-zelda-"&gt;Happy 40th Anniversary to &lt;strong&gt;The Legend of Zelda&lt;/strong&gt;! 🎉🗡️&lt;/h4&gt;
&lt;p&gt;Today, February 21, 2026, marks exactly 40 years since the original game launched in Japan on February 21, 1986. From the humble 8-bit NES adventure to the breathtaking open worlds of Breath of the Wild and Tears of the Kingdom, Zelda has constantly reinvented itself. Zelda evolved.&lt;/p&gt;
&lt;p&gt;And that spirit perfectly mirrors what&amp;rsquo;s happening in the Java world right now. Java evolved.&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>Not a Lucid Web3 Dream Anymore: x402, ERC-8004, A2A, and The Next Wave of AI Commerce</title><link>https://foojayio.github.io/website/today/not-a-lucid-web3-dream-anymore-x402-erc-8004-a2a-and-the-next-wave-of-ai-commerce/</link><pubDate>Fri, 09 Jan 2026 16:05:58 +0000</pubDate><guid>https://foojayio.github.io/website/today/not-a-lucid-web3-dream-anymore-x402-erc-8004-a2a-and-the-next-wave-of-ai-commerce/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/not-a-lucid-web3-dream-anymore-x402-erc-8004-a2a-and-the-next-wave-of-ai-commerce/daydreams-scaled.jpg" alt="DayDreams" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This article is for technically savvy readers, especially developers, protocol designers, and product teams working with AI agents, APIs, or crypto rails, who want a clear view of how these areas connect.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;It explains how x402, ERC-8004, and agent discovery layers turn APIs and agents into small usage-based businesses, and what that means for real systems over the next 1&amp;ndash;3 years.&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;h3 id="h3-0-vocabulary-for-this-article"&gt;Vocabulary for this article&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;In this article, I use the term &lt;em&gt;micro business&lt;/em&gt; for a very small overall business, and &lt;em&gt;nano business&lt;/em&gt; for a single x402-priced endpoint or agent that earns on its own from per-call payments in stablecoins.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AP2 (Agent Payment Protocol):&lt;/strong&gt; AP2 defines how agents pay each other. It standardizes how a service quotes a price, how payment is confirmed, and how both sides record what was bought, so payments fit directly into automated agent workflows. In practice, it is a protocol that lets one machine pay another machine for work, without a human in the loop.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A2A (Agent-to-Agent communication):&lt;/strong&gt; A2A covers how agents talk, pass context, and coordinate work. It lets agents call each other, exchange structured messages, and chain tasks instead of acting as isolated scripts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;x402:&lt;/strong&gt; x402 is an HTTP-based payment protocol for APIs. A server responds with status &lt;code&gt;402 Payment Required&lt;/code&gt;, the price, and a payment route, and the client pays by using stablecoins on-chain and then retries the request to get the result.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ERC-8004 (8004):&lt;/strong&gt; ERC-8004 standard is an on-chain registry for agents. It gives each agent an identity and a place to store reputation data, so other agents and tools can decide whom to trust and which services to call.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h2 id="h2-1-foreword"&gt;Foreword&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;x402&lt;/strong&gt; and &lt;strong&gt;ERC-8004&lt;/strong&gt; .&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 #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 #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>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>Spec-Driven Development with AI: A New Approach and a Journey into the Past</title><link>https://foojayio.github.io/website/today/spec-driven-development-with-ai-a-new-approach-and-a-journey-into-the-past/</link><pubDate>Mon, 08 Sep 2025 07:35:46 +0000</pubDate><guid>https://foojayio.github.io/website/today/spec-driven-development-with-ai-a-new-approach-and-a-journey-into-the-past/</guid><description>&lt;p&gt;The software development world is buzzing about AI-assisted coding. Tools like Claude Code, Windsurf, and JetBrains Junie promise to make us more productive. But most approaches focus on generating code faster &amp;ndash; they&amp;rsquo;re still &lt;strong&gt;code-centric&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;What if we took a different approach? What if we made &lt;strong&gt;requirements&lt;/strong&gt; the source of truth and let AI handle everything downstream?&lt;/p&gt;
&lt;p&gt;After years of building business applications, I began developing a methodology that combines ideas from the &lt;a href="https://en.wikipedia.org/wiki/Rational_unified_process" target="_blank" rel="noopener noreferrer"&gt;Rational Unified Process&lt;/a&gt;
 (RUP) with modern AI tooling: The &lt;a href="https://aiup.dev" target="_blank" rel="noopener noreferrer"&gt;AI Unified Process&lt;/a&gt;
. The results are remarkable: better business alignment, maintainable code, and complete traceability from business needs to implementation.&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>Kotlin adoption inside ING, five years later</title><link>https://foojayio.github.io/website/today/ing-kotlin-adoption-five-years/</link><pubDate>Wed, 02 Jul 2025 06:21:47 +0000</pubDate><guid>https://foojayio.github.io/website/today/ing-kotlin-adoption-five-years/</guid><description>&lt;p&gt;&lt;em&gt;TL;DR: Five years after its introduction Kotlin adoption inside ING keeps growing year after year, with a current adoption rate of just over 11%. We were also featured as one of the user stories for the KotlinConf 2025 Keynote.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Five years ago, &lt;a href="https://medium.com/@Frevib" target="_blank" rel="noopener noreferrer"&gt;Hielke&lt;/a&gt;
 and I wrote one of the first blogs of this account about being &lt;a href="https://medium.com/ing-blog/introducing-kotlin-at-ing-a-long-but-rewarding-story-1bfcd3dc8da0" target="_blank" rel="noopener noreferrer"&gt;the first team to put Kotlin on production at ING&lt;/a&gt;
. The article generated some interest and to this day it is still present as one of the &lt;a href="https://kotlinlang.org/lp/server-side/case-studies/" target="_blank" rel="noopener noreferrer"&gt;Kotlin website case studies&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Reflections on 2024: OmniFish, GlassFish, Piranha, Jakarta EE</title><link>https://foojayio.github.io/website/today/reflections-on-2024-a-remarkable-year-for-omnifish-glassfish-piranha-and-jakarta-ee/</link><pubDate>Thu, 16 Jan 2025 08:43:09 +0000</pubDate><guid>https://foojayio.github.io/website/today/reflections-on-2024-a-remarkable-year-for-omnifish-glassfish-piranha-and-jakarta-ee/</guid><description>&lt;p&gt;&lt;strong&gt;As 2025 slowly gets started, it&amp;rsquo;s a perfect moment to reflect on what we at &lt;a href="https://omnifish.ee/" target="_blank" rel="noopener noreferrer"&gt;OmniFish&lt;/a&gt;
 have achieved this year. It has been a year of growth, innovation, and dedication to the open-source community and the products we&amp;rsquo;re deeply passionate about.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;From expanding our team to pushing the boundaries of what GlassFish and Piranha can do, this year has been nothing short of transformative. Let&amp;rsquo;s take a look back at some of the highlights and share our hopes for an even brighter future.&lt;/p&gt;</description></item><item><title>2024 in Retrospective: Nicolas Frankel</title><link>https://foojayio.github.io/website/today/2024-in-retrospective-nicolas-frankel/</link><pubDate>Mon, 06 Jan 2025 08:59:26 +0000</pubDate><guid>https://foojayio.github.io/website/today/2024-in-retrospective-nicolas-frankel/</guid><description>&lt;p&gt;For the first article of 2025, I&amp;rsquo;m continuing my retrospective series!&lt;/p&gt;
&lt;p&gt;As last year, before diving in into the report proper, I&amp;rsquo;d like to remind you that Ukraine is still fighting for its survival after nearly 3 years and countless Russian war crimes. The civilized world can&amp;rsquo;t allow rewarding the invasion of a sovereign country, lest we see more invasions. Remember that in 1938, in Munich, European &amp;ldquo;leaders&amp;rdquo; acknowledged Hitler&amp;rsquo;s annexation of Czechoslovakia&amp;rsquo;s Sudetenland. It didn&amp;rsquo;t prevent Nazi Germany to invade the rest of Europe a year later; worse, it emboldened it!&lt;/p&gt;</description></item><item><title>How Organizations Became Stuck on Outdated Java Versions</title><link>https://foojayio.github.io/website/today/how-organizations-became-stuck-on-outdated-java-versions/</link><pubDate>Wed, 27 Nov 2024 15:46:16 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-organizations-became-stuck-on-outdated-java-versions/</guid><description>&lt;p&gt;My recent article &lt;a href="https://foojayio.github.io/website/today/why-java-8-is-a-ticking-time-bomb-hiding-within-your-organization/"&gt;&amp;ldquo;Why Java 8 is a Ticking Time Bomb Hiding Within Your Organization&amp;rdquo;&lt;/a&gt;
 triggered quit some reactions&amp;hellip; and so I went a step further and asked on social media: &amp;ldquo;&lt;em&gt;Why is your company still on Java 8 (or older)? And why did you never move to 9, 10,&amp;hellip; and got stuck on this outdated version?&lt;/em&gt;&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Here is a summary of what I learned from the reactions!&lt;/p&gt;
&lt;h2 id="h2-0-reasons-to-stick-to-8"&gt;Reasons to Stick to 8&lt;/h2&gt;
&lt;p&gt;Of course, there are many reasons why some projects deliberately are kept on Java 8 or don&amp;rsquo;t succeed on moving to a newer version.&lt;/p&gt;</description></item><item><title>Why Java 8 is a Ticking Time Bomb Hiding Within Your Organization</title><link>https://foojayio.github.io/website/today/why-java-8-is-a-ticking-time-bomb-hiding-within-your-organization/</link><pubDate>Fri, 15 Nov 2024 11:16:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/why-java-8-is-a-ticking-time-bomb-hiding-within-your-organization/</guid><description>&lt;p&gt;When I spoke to developers at Devoxx in Belgium in October, I was surprised to learn how many of them are maintaining systems that are still running on Java 8 (released in 2014). One of them even still has a Java 5 application in production, with a runtime of 20 years old!&lt;/p&gt;
&lt;p&gt;I know I&amp;rsquo;m biased, as I experiment extensively with the latest Java versions to learn what improvements they bring. But it hurts my heart to think of all those developers maintaining old systems, missing out on all the coding and performance improvements that newer versions offer. In this post, I want to highlight some of the many reasons why staying on Java 8 is a ticking time bomb&amp;hellip;&lt;/p&gt;</description></item><item><title>My opinion on the Tauri framework</title><link>https://foojayio.github.io/website/today/my-opinion-on-the-tauri-framework/</link><pubDate>Thu, 30 May 2024 16:05:06 +0000</pubDate><guid>https://foojayio.github.io/website/today/my-opinion-on-the-tauri-framework/</guid><description>&lt;p&gt;&lt;strong&gt;I&amp;rsquo;ve always liked , both desktop-based and browser-based before you needed five years of training on the latter. That&amp;rsquo;s the reason I loved, and still love &lt;a href="https://vaadin.com/" target="_blank" rel="noopener noreferrer"&gt;Vaadin&lt;/a&gt;
: you can develop web UIs without writing a single line of HTML, JavaScript, and CSS. I&amp;rsquo;m still interested in the subject; a couple of years ago, I analyzed the &lt;a href="https://blog.frankel.ch/focus/state-jvm-desktop-frameworks/" target="_blank" rel="noopener noreferrer"&gt;state of JVM desktop frameworks&lt;/a&gt;
.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I also like the Rust programming language a lot.&lt;/p&gt;</description></item><item><title>Five Java Developer Must-Haves For Ultra-Fast Startup Solutions</title><link>https://foojayio.github.io/website/today/five-java-developer-must-haves/</link><pubDate>Wed, 29 May 2024 20:15:45 +0000</pubDate><guid>https://foojayio.github.io/website/today/five-java-developer-must-haves/</guid><description>&lt;p&gt;&lt;strong&gt;Faster Java startup must not compromise developer experience, throughput performance, or security. We discuss how we achieved this with Liberty InstantOn.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;By Vijay Sundaresan, Thomas Watson, Laura Cowen&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Many solutions that promise ultra-fast startup times for serverless Java apps force you to compromise on developer experience, throughput performance, or security. We&amp;rsquo;ll show you how to get ultra-fast startup of your Java apps without these compromises.&lt;/p&gt;
&lt;p&gt;Say, for example, you&amp;rsquo;re writing a Java web service that provides a catalog of items that your business sells. At quiet times, your application needs to stop all unneeded instances of the catalog service so that your business is not paying unnecessary cloud bills; at busy times, your application needs to rapidly spin up more instances so that your customers get instantaneous response times on your website. This is &amp;ldquo;scale-to-zero,&amp;rdquo; and your application needs to do it fast.&lt;/p&gt;</description></item><item><title>Why I moved my blog to RIFE2 after 23 years?</title><link>https://foojayio.github.io/website/today/why-i-moved-my-blog-to-rife2-after-23-years/</link><pubDate>Tue, 05 Mar 2024 06:42:47 +0000</pubDate><guid>https://foojayio.github.io/website/today/why-i-moved-my-blog-to-rife2-after-23-years/</guid><description>&lt;p&gt;In April 2023, I decided to move &lt;a href="https://erik.thauvin.net/blog/" title="my blog" target="_blank" rel="noopener noreferrer"&gt;my blog&lt;/a&gt;
 to &lt;a href="https://rife2.com/" target="_blank" rel="noopener noreferrer"&gt;RIFE2&lt;/a&gt;
, a full-stack framework. It was previously built &lt;a href="https://erik.thauvin.net/blog/stories//15/behind-this-blog" target="_blank" rel="noopener noreferrer"&gt;using my own custom JSP tag library&lt;/a&gt;
, which ran non-stop for 23 years. At one point in time, it was handling close to 5 connections per second, or around 12 million a month, on a single Apache/Tomcat instance.&lt;/p&gt;
&lt;p&gt;Over the years, I tried many frameworks, and the features never made up for the bloat. I&amp;rsquo;ve also never been a big fan of the MVC approach, and I wanted it to be very lean. RIFE2 no-dependencies approach immediately appealed to me, but I wasn&amp;rsquo;t sure the features passed muster.&lt;/p&gt;</description></item><item><title>State of Open (Source?!) and Free AI</title><link>https://foojayio.github.io/website/today/state-of-open-source-and-free-ai-a-fosdem-recap/</link><pubDate>Thu, 15 Feb 2024 13:04:44 +0000</pubDate><guid>https://foojayio.github.io/website/today/state-of-open-source-and-free-ai-a-fosdem-recap/</guid><description>&lt;p&gt;&lt;em&gt;Disclaimer: This article is on the things I learned/observed spending the day in AI and Machine Learning Developer Room at FOSDEM 24. Opinions and statements are mine and have nothing to do with my employer. This article might raise more questions than answers, but in my opinion, we all need more awareness on this topic and get familiar with the (right) questions that are to be answered.&lt;/em&gt;&lt;/p&gt;
&lt;h3 id="h3-0-fosdem"&gt;FOSDEM&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://fosdem.org/2024/" title="FOSDEM" target="_blank" rel="noopener noreferrer"&gt;FOSDEM&lt;/a&gt;
 (Free Open-Source Developers&amp;rsquo;European Meeting) is a community-organised event that is free and non-commercial. The aim is to provide a venue for free and open-source software developers and communities to:&lt;/p&gt;</description></item><item><title>Where do you get your Java?</title><link>https://foojayio.github.io/website/today/where-do-you-get-your-java/</link><pubDate>Tue, 16 Jan 2024 14:19:33 +0000</pubDate><guid>https://foojayio.github.io/website/today/where-do-you-get-your-java/</guid><description>&lt;p&gt;Today&amp;rsquo;s Java is vastly different, although it is still true to its root principles of robustness, portability, and ease of programming. Your options for where to get your Java have similarly evolved.&lt;/p&gt;
&lt;p&gt;If you download Java directly, you might think that you can only get an official version from Oracle. This is no longer the case. In fact, there are a number of vendors that now provide their own Java distributions that are 100% compatible with the official Java specification.&lt;/p&gt;</description></item><item><title>2023 in Retrospective</title><link>https://foojayio.github.io/website/today/2023-in-retrospective/</link><pubDate>Tue, 16 Jan 2024 07:44:39 +0000</pubDate><guid>https://foojayio.github.io/website/today/2023-in-retrospective/</guid><description>&lt;p&gt;&lt;strong&gt;Last year, I wrote my first &lt;a href="https://blog.frankel.ch/retrospective/" target="_blank" rel="noopener noreferrer"&gt;yearly retrospective&lt;/a&gt;
. I liked the experience, so I&amp;rsquo;m trying one more time. Let the future decide if it will become a trend or not.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Before diving into our safe technological world, my thoughts go to Ukraine, to my friends who had to flee their own country, to other friends who fought on the front to defend it from an imperial power, and to all victims of an old kleptocrat who clings to power despite the cost to others. The free world needs to support Ukraine more. I hope 2024 will be the year of Ukrainian victory.&lt;/p&gt;</description></item><item><title>Unexpected Things That Make You a Senior Developer</title><link>https://foojayio.github.io/website/today/unexpected-things-that-make-you-a-senior-developer/</link><pubDate>Fri, 17 Nov 2023 09:33:36 +0000</pubDate><guid>https://foojayio.github.io/website/today/unexpected-things-that-make-you-a-senior-developer/</guid><description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;It&amp;rsquo;s a Friday, late in the afternoon. To end your work week in a clean way, you decide to get rid of some test data and files from your PC. You hit the enter button to drop a table from your local test database. Within a split second, you realize your error. Your body turns hot and cold at the same time. You double-check, but you already know the truth. You were connected to the production database and just deleted the table with all the customers&amp;hellip;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Everything Bad in Java is Good for You</title><link>https://foojayio.github.io/website/today/everything-bad-in-java-is-good-for-you/</link><pubDate>Tue, 31 Oct 2023 09:28:44 +0000</pubDate><guid>https://foojayio.github.io/website/today/everything-bad-in-java-is-good-for-you/</guid><description>&lt;p&gt;Everything Bad is Good for You is a &lt;a href="https://en.wikipedia.org/wiki/Everything_Bad_Is_Good_for_You" target="_blank" rel="noopener noreferrer"&gt;pop culture book&lt;/a&gt;
 that points out that some things we assume are bad (like TV) have tremendous benefits to our well-being. I love the premise of disrupting the conventional narrative and was reminded of that constantly when debating some of the more controversial features and problems in Java. It&amp;rsquo;s a feature, not a bug&amp;hellip;&lt;/p&gt;
&lt;p&gt;One of my favorite things about Java is its tendency to move slowly and deliberately. It doesn&amp;rsquo;t give us what we want right away. The Java team understands the requirements and looks at the other implementations, then learns from them.&lt;/p&gt;</description></item><item><title>Domain-Deadline-Dog-Driven Development</title><link>https://foojayio.github.io/website/today/domain-deadline-dog-driven-development/</link><pubDate>Sat, 21 Oct 2023 10:06:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/domain-deadline-dog-driven-development/</guid><description>&lt;p&gt;On Twitter - sorry, X - and Mastodon I asked the following question:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&amp;ldquo;In software development, &amp;ldquo;Domain-Driven Design&amp;rdquo; (#DDD) is one of the many great (?) ways to handle a project. But who has experienced other types of DDD in real life, like &amp;ldquo;Deadline-Driven Development&amp;rdquo; or &amp;ldquo;Disaster-Driven Development&amp;rdquo;, and wants to share her/his experience for a blog? Thanks!&amp;rdquo;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is the result of my quest&amp;hellip;&lt;/p&gt;
&lt;h2 id="h2-0-ddd-tdd-bdd"&gt;DDD, TDD, BDD&lt;/h2&gt;
&lt;p&gt;Every few years, a new best practice appears to structure the development of software projects. &lt;strong&gt;&lt;a href="https://en.wikipedia.org/wiki/Domain-driven_design" target="_blank" rel="noopener noreferrer"&gt;Domain-Driven Design (DDD)&lt;/a&gt;
&lt;/strong&gt; is one of them. It focuses on modeling software to match a domain according to input from that domain&amp;rsquo;s experts. Inside a DDD project, you focus first to clearly understand the problem to be solved, leading to a structure in the code that represents the solution. The example project &lt;a href="https://github.com/citerus/dddsample-core/tree/master/src/main/java/se/citerus/dddsample/domain/model" target="_blank" rel="noopener noreferrer"&gt;DDDSample based on a book by Eric Evans&lt;/a&gt;
 illustrates this by splitting the code of a shipping application into packages for cargo, handling, location, and voyage.&lt;/p&gt;</description></item><item><title>Evaluating Apache APISIX vs. Spring Cloud Gateway</title><link>https://foojayio.github.io/website/today/evaluating-apache-apisix-vs-spring-cloud-gateway/</link><pubDate>Thu, 27 Jul 2023 06:29:55 +0000</pubDate><guid>https://foojayio.github.io/website/today/evaluating-apache-apisix-vs-spring-cloud-gateway/</guid><description>&lt;p&gt;&lt;strong&gt;Given the number of API Gateways available on the market, I&amp;rsquo;m regularly asked which is better. Better is a very subjective term. However, there&amp;rsquo;s no denying that if you&amp;rsquo;re advocating for a product, you should know your product and its competitors. In this article, I&amp;rsquo;d like to share my understanding of Spring Cloud Gateway and how it compares to Apache APISIX.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m cautious when comparing products because most comparisons I read are heavily biased. That&amp;rsquo;s a risk, especially when working on one of the products one is comparing. I&amp;rsquo;ll also avoid &amp;ldquo;benchmarketing&amp;rdquo; - when you benchmark products in a context that favors your own; I&amp;rsquo;ll focus on the so-called Developer Experience.&lt;/p&gt;</description></item><item><title>The IKEA Effect</title><link>https://foojayio.github.io/website/today/the-ikea-effect/</link><pubDate>Wed, 26 Jul 2023 13:00:04 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-ikea-effect/</guid><description>&lt;p&gt;&lt;strong&gt;The &lt;a href="https://theconversation.com/the-ikea-effect-how-we-value-the-fruits-of-our-labour-over-instant-gratification-113647" title="IKEA effect" target="_blank" rel="noopener noreferrer"&gt;IKEA effect&lt;/a&gt;
 is a fascinating phenomenon whereby consumers place a (sometimes disproportionately) higher value on things that they have either made themselves, or to which they&amp;rsquo;ve contributed towards making.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This can have a significant influence on perceived value &amp;ndash; to the extent that people might value imperfect things they&amp;rsquo;ve helped create, more than they would value the equivalent, perfect, but ready-made, product. Those who have pained memories of tussling with Allan keys and occasionally incomprehensible schematics for self-assembly furniture will no doubt have raised eyebrows. Of course, the effect only applies to items that are successfully assembled, of course. If people fail to build an item using the instructions provided, or it takes too long or is too difficult, due either to the complexity of the instructions or the inexperience of the user, then they do not ascribe the same value to the item.&lt;/p&gt;</description></item><item><title>I could write a blog post, or ...</title><link>https://foojayio.github.io/website/today/i-could-write-a-blog-post-or/</link><pubDate>Sat, 15 Jul 2023 07:09:33 +0000</pubDate><guid>https://foojayio.github.io/website/today/i-could-write-a-blog-post-or/</guid><description>&lt;p&gt;My goal is to write a blog post every two weeks, it&amp;rsquo;s great to stick to a schedule and force yourself to publish pieces even if they are not perfect.&lt;/p&gt;
&lt;p&gt;This doesn&amp;rsquo;t mean that these blog posts are terrible, just that they could need a bit more polish or could cover a bit more of the topic. But I know many people that have dozens of half-finished blog posts in their pipeline, which aren&amp;rsquo;t just there and so they don&amp;rsquo;t publish anything for months.&lt;/p&gt;</description></item><item><title>The Evolution of Java: Challenging Stereotypes and Embracing Modernity</title><link>https://foojayio.github.io/website/today/the-evolution-of-java-challenging-stereotypes-and-embracing-modernity/</link><pubDate>Fri, 07 Jul 2023 16:15:56 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-evolution-of-java-challenging-stereotypes-and-embracing-modernity/</guid><description>&lt;p&gt;On a flight from Zurich to Toronto, I found myself in an engaging conversation with a fellow passenger. Among various topics, our conversation navigated toward our careers and, inevitably, as I am a Java developer, towards the world of Java.&lt;/p&gt;
&lt;p&gt;This gentleman, having worked with Java some 15-20 years ago, was surprised to learn that I still actively use the language. &amp;ldquo;Isn&amp;rsquo;t it slow?&amp;rdquo; he questioned. His question echoed a stereotype that I have often encountered, one that has stuck to Java from its earlier days.&lt;/p&gt;</description></item><item><title>Why I prefer trunk-based development</title><link>https://foojayio.github.io/website/today/why-i-prefer-trunk-based-development/</link><pubDate>Fri, 23 Jun 2023 08:06:35 +0000</pubDate><guid>https://foojayio.github.io/website/today/why-i-prefer-trunk-based-development/</guid><description>&lt;p&gt;&lt;strong&gt;Trisha summarizes the advantages of trunk-based development (as opposed to branch-based development) in this article.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;These days, distributed version control systems like Git have &amp;ldquo;won the war&amp;rdquo; of version control. One of the arguments I used to hear when DVCSs were gaining traction was around how easy it is to branch and merge with a VCS like Git. However, I&amp;rsquo;m a big fan of &lt;a href="https://en.wikipedia.org/wiki/Trunk-based_development" target="_blank" rel="noopener noreferrer"&gt;Trunk-Based Development (TBD)&lt;/a&gt;
, and I want to tell you why.&lt;/p&gt;</description></item><item><title>Leverage the Richness of HTTP Status Codes</title><link>https://foojayio.github.io/website/today/leverage-the-richness-of-http-status-codes/</link><pubDate>Tue, 02 May 2023 09:34:43 +0000</pubDate><guid>https://foojayio.github.io/website/today/leverage-the-richness-of-http-status-codes/</guid><description>&lt;p&gt;If you&amp;rsquo;re not a REST expert, you probably use the same HTTP codes over and over in your responses, mostly 200, 404, and 500.&lt;/p&gt;
&lt;p&gt;If using authentication, you might perhaps add 401 and 403; if using redirects 301 and 302, that might be all.&lt;/p&gt;
&lt;p&gt;But the range of possible status codes is much broader than that and can improve semantics a lot.&lt;/p&gt;
&lt;p&gt;While many discussions about REST focus on entities and methods, using the correct response status codes can make your API stand out.&lt;/p&gt;</description></item><item><title>Foojay Podcast #20: Functional Programming: "The Good, the Bad, and the Ugly"</title><link>https://foojayio.github.io/website/today/foojay-podcast-20/</link><pubDate>Mon, 24 Apr 2023 11:30:36 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-20/</guid><description>&lt;p&gt;Functional programming&amp;hellip; it seems you either love it or you hate it.&lt;/p&gt;
&lt;p&gt;But, like everything in software engineering, it is a trade-off.&lt;/p&gt;
&lt;p&gt;So for today, let&amp;rsquo;s focus on the good, the bad, and the ugly parts of functional programming!&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/AYZMzyKjtoM?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;</description></item><item><title>Foojay Podcast #19: Working Free For Fun Brings Fame &amp; Fortune</title><link>https://foojayio.github.io/website/today/foojay-podcast-19/</link><pubDate>Mon, 17 Apr 2023 12:35:51 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-19/</guid><description>&lt;p&gt;Many developers spend a lot of their time on side projects. It&amp;rsquo;s an opportunity to learn new techniques and get involved in communities.&lt;/p&gt;
&lt;p&gt;But sometimes it can also lead to a new job.&lt;/p&gt;
&lt;p&gt;Or even starting a business based on such a project.&lt;/p&gt;
&lt;p&gt;Today we are talking to people who achieved such a transition and became famous and rich, or at least some of each&amp;hellip;&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/FDOFRTj1UVI?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;</description></item><item><title>Boldness in Refactoring!</title><link>https://foojayio.github.io/website/today/boldness-in-refactoring/</link><pubDate>Fri, 14 Apr 2023 08:09:09 +0000</pubDate><guid>https://foojayio.github.io/website/today/boldness-in-refactoring/</guid><description>&lt;p&gt;The old engineering adage: &amp;ldquo;don&amp;rsquo;t touch it, it works&amp;rdquo;. Is terrible. Don&amp;rsquo;t listen to it. It might be OK at a small scale but as time goes by the bit rot spreads through your code and servers polluting everything.&lt;/p&gt;
&lt;p&gt;Large swaths of your system become &amp;ldquo;no-man&amp;rsquo;s-land&amp;rdquo;. As you&amp;rsquo;re developing a new system, you must always &amp;ldquo;touch it&amp;rdquo; and make sure we hire engineers who aren&amp;rsquo;t afraid to do so.&lt;/p&gt;
&lt;p&gt;Yes, I get it. I said that sentence frequently in the past. I understand the motivation. Management doesn&amp;rsquo;t care about the bit rot in our future. They care about the here and now. Why are you wasting time on this feature?&lt;/p&gt;</description></item><item><title>My Evaluation of the Scaleway Cloud Provider</title><link>https://foojayio.github.io/website/today/my-evaluation-of-the-scaleway-cloud-provider/</link><pubDate>Fri, 31 Mar 2023 09:54:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/my-evaluation-of-the-scaleway-cloud-provider/</guid><description>&lt;p&gt;A couple of years ago, I developed an app that helped me manage my conference submission workflow.&lt;/p&gt;
&lt;p&gt;Since then, I have been a happy user of the free Heroku plan.&lt;/p&gt;
&lt;p&gt;Last summer, Heroku&amp;rsquo;s owner, Salesforce, announced that it would stop the free plan in November 2022.&lt;/p&gt;
&lt;p&gt;I searched for a new hosting provider and found &lt;a href="https://www.scaleway.com/" target="_blank" rel="noopener noreferrer"&gt;Scaleway&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;In this article, I&amp;rsquo;d like to explain my requirement, why I chose them, and my experience using them.&lt;/p&gt;</description></item><item><title>Debate on the Future of Java and Kotlin on Foojay.io Today</title><link>https://foojayio.github.io/website/today/competing-for-the-crown-a-friendly-debate-on-the-future-of-java-and-kotlin-on-foojay-io-today/</link><pubDate>Wed, 29 Mar 2023 13:50:29 +0000</pubDate><guid>https://foojayio.github.io/website/today/competing-for-the-crown-a-friendly-debate-on-the-future-of-java-and-kotlin-on-foojay-io-today/</guid><description>&lt;p&gt;&lt;strong&gt;Java and Kotlin are two of the most popular programming languages on the Java Virtual Machine. But both languages have pros and cons, and developers often have to choose between them based on the needs of their project, the people on their team, and their own preferences.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Recently, a conversation took place in &lt;a href="https://join.slack.com/t/foojay/shared_invite/zt-jnkc9y5x-vS05~nb37oq9pSp1sgDGvA" title="Foojay&amp;#39;s Slack channel" target="_blank" rel="noopener noreferrer"&gt;Foojay&amp;rsquo;s Slack channel&lt;/a&gt;
, where participants discussed the comparison of Java and Kotlin. Foojay.io is a central place for the Java community to get daily information.&lt;/p&gt;</description></item><item><title>9 Outdated Ideas About Java</title><link>https://foojayio.github.io/website/today/9-outdated-ideas-about-java/</link><pubDate>Sat, 11 Mar 2023 08:56:17 +0000</pubDate><guid>https://foojayio.github.io/website/today/9-outdated-ideas-about-java/</guid><description>&lt;p&gt;Since the first release of Java in 1995, a lot has changed in both software and hardware, and each evolution impacts the next.&lt;/p&gt;
&lt;p&gt;Powerful processors and cheaper memory allow software to do more and do it faster.&lt;/p&gt;
&lt;p&gt;As Azul Deputy CTO Simon Ritter says, &amp;ldquo;&lt;em&gt;&lt;strong&gt;Java shows no danger of becoming the new COBOL. By adding new features to the platform under the six-month release cadence, we are seeing Java evolve faster than ever before.&lt;/strong&gt;&lt;/em&gt;&amp;rdquo;&lt;/p&gt;</description></item><item><title>Is it Time to go Back to the Monolith?</title><link>https://foojayio.github.io/website/today/is-it-time-to-go-back-to-the-monolith/</link><pubDate>Fri, 03 Mar 2023 15:58:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/is-it-time-to-go-back-to-the-monolith/</guid><description>&lt;p&gt;History repeats itself. Everything old is new again and I&amp;rsquo;ve been around long enough to see ideas discarded, rediscovered and return triumphantly to overtake the fad.&lt;/p&gt;
&lt;p&gt;In recent years SQL has made a tremendous comeback from the dead. We love relational databases all over again. I think the Monolith will have its space odyssey moment again. Microservices and serverless are trends pushed by the cloud vendors, designed to sell us more cloud computing resources.&lt;/p&gt;</description></item><item><title>The evolution of APIs: From RESTful to Event-Driven</title><link>https://foojayio.github.io/website/today/the-evolution-of-apis-from-restful-to-event-driven/</link><pubDate>Thu, 23 Feb 2023 08:23:25 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-evolution-of-apis-from-restful-to-event-driven/</guid><description>&lt;h2 id="h2-0-history-of-services-and-apis"&gt;History of Services and APIs&lt;/h2&gt;
&lt;p&gt;Enterprise application landscapes consist of inter-connected and inter-related applications.&lt;/p&gt;
&lt;p&gt;The world of application integrations has been constantly evolving over several years.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/the-evolution-of-apis-from-restful-to-event-driven/evol_APIs-700x284.png" alt="Evolution of APIs" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;Over time, we&amp;rsquo;ve observed a trend towards more modular and data model-focused integration components, and an increased emphasis on real-time processing.&lt;/p&gt;
&lt;p&gt;Beginning with EJBs in the 90s, progressing to Webservices and Service-Oriented Architecture (SOA) in the early 2000s, and finally evolving to domain-specific microservices, we are seeing a continual progression towards more efficient and effective integration solutions.&lt;/p&gt;</description></item><item><title>Quest for REST</title><link>https://foojayio.github.io/website/today/quest-for-rest/</link><pubDate>Fri, 27 Jan 2023 14:48:38 +0000</pubDate><guid>https://foojayio.github.io/website/today/quest-for-rest/</guid><description>&lt;p&gt;Since I started working for &lt;a href="https://apisix.apache.org/" target="_blank" rel="noopener noreferrer"&gt;Apache APISIX&lt;/a&gt;
, I have tried to deepen my understanding of REST via various means. Did you read my review of &lt;a href="https://blog.frankel.ch/api-design-patterns" target="_blank" rel="noopener noreferrer"&gt;API Design Patterns book&lt;/a&gt;
?&lt;/p&gt;
&lt;p&gt;In the current literature, REST is generally promoted as the best thing since sliced bread. Yet, it comes with lots of challenges. In 2010(!), Martin Fowler wrote a post on the &lt;a href="https://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank" rel="noopener noreferrer"&gt;glory of REST&lt;/a&gt;
. He lists three steps for an API to become &lt;em&gt;truly&lt;/em&gt; REST:&lt;/p&gt;</description></item><item><title>"The More You Say, the Less People Remember...</title><link>https://foojayio.github.io/website/today/the-more-you-say-the-less-people-remember/</link><pubDate>Wed, 25 Jan 2023 07:56:39 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-more-you-say-the-less-people-remember/</guid><description>&lt;h2 id="h2-0-the-fewer-the-words-the-greater-the-profit"&gt;&amp;hellip;The Fewer the Words, the Greater the Profit.&amp;quot;&lt;/h2&gt;
&lt;p&gt;These wise words were written by François Fénelon, a writer and theologian living during the 17th century.&lt;/p&gt;
&lt;p&gt;This is an article summarising different approaches to the development of IT solutions. Learn why the above quote is very relevant for developers in the 21st century.&lt;/p&gt;
&lt;h3 id="h3-1-business-driven-development"&gt;Business Driven Development&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Business-driven_development" title="Business-driven development " target="_blank" rel="noopener noreferrer"&gt;Business-driven development&lt;/a&gt;
is a meta-methodology for developing IT solutions that directly satisfy &lt;a href="https://en.wikipedia.org/wiki/Requirement" title="business requirements" target="_blank" rel="noopener noreferrer"&gt;business requirements&lt;/a&gt;
. This leads to increased flexibility and shorter turnaround times when changing the business and adapting the IT systems.&lt;/p&gt;</description></item><item><title>Foojay.io FOSDEM Speaker Predictions for 2023</title><link>https://foojayio.github.io/website/today/foojay-io-fosdem-speaker-predictions-for-2023/</link><pubDate>Fri, 20 Jan 2023 13:40:25 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-io-fosdem-speaker-predictions-for-2023/</guid><description>&lt;p&gt;&lt;a href="https://fosdem.org/" target="_blank" rel="noopener noreferrer"&gt;FOSDEM&lt;/a&gt;
 is around the corner and &lt;a href="https://fosdem.org/2023/schedule/track/friends_of_openjdk/" target="_blank" rel="noopener noreferrer"&gt;a group of great speakers is lined up to talk about the OpenJDK&lt;/a&gt;
 and the many different ways in which to make use of it.&lt;/p&gt;
&lt;p&gt;Each comes from a different part of the OpenJDK ecosystem, with different perspectives, and therefore unique insights into what to expect for this year.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tip&lt;/strong&gt;&amp;mdash;in each expectation/prediction for 2023 below, click the author&amp;rsquo;s name and you&amp;rsquo;ll be brought to information about their session that you can attend, all for free, at FOSDEM on Sunday, 5 February, in the Foojay.io room.&lt;/p&gt;</description></item><item><title>Foojay Podcast #11: Looking Back to 2022</title><link>https://foojayio.github.io/website/today/foojay-podcast-11/</link><pubDate>Mon, 16 Jan 2023 09:31:57 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-11/</guid><description>&lt;p&gt;A few weeks ago, Ted Neward &lt;a href="http://blogs.newardassociates.com/blog/2023/2023-tech-predictions.html" target="_blank" rel="noopener noreferrer"&gt;published a post&lt;/a&gt;
 in which he reviewed the predictions he made one year ago and added a long list of predictions for 2023.&lt;/p&gt;
&lt;p&gt;In this Foojay Podcast episode, we talk about these predictions, and we even found an analogy between what has happened at Twitter in the last months and the history of Java!&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/xP4By-Nsdh0?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;</description></item><item><title>Why Many Developers Don't Write or Give Talks</title><link>https://foojayio.github.io/website/today/why-many-developers-dont-write-or-give-talks-and-how-to-overcome-challenges/</link><pubDate>Wed, 11 Jan 2023 09:53:10 +0000</pubDate><guid>https://foojayio.github.io/website/today/why-many-developers-dont-write-or-give-talks-and-how-to-overcome-challenges/</guid><description>&lt;p&gt;I asked on &lt;a href="https://twitter.com/bazlur_rahman/status/1610800339405389826" title="Twitter" target="_blank" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;
 and &lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7016566492548775936/" title="LinkedIn" target="_blank" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;
 why many developers don&amp;rsquo;t write or give talks, and I was amused by the response I received. This article is about that.&lt;/p&gt;
&lt;h2 id="h2-0-the-problems"&gt;The problems:&lt;/h2&gt;
&lt;p&gt;It turns out, developers do not write blogs or give presentations for a variety of reasons. Some developers may believe they lack interesting experiences or information to share or that they are not experts in their profession. Others may be shy or fearful of public speaking. Due to their hectic schedules, individuals may not have time to write about or discuss their jobs, which is another reason.&lt;/p&gt;</description></item><item><title>2022 in Retrospective</title><link>https://foojayio.github.io/website/today/2022-in-retrospective/</link><pubDate>Tue, 10 Jan 2023 08:19:43 +0000</pubDate><guid>https://foojayio.github.io/website/today/2022-in-retrospective/</guid><description>&lt;p&gt;2022 is over, and not a moment too soon. I&amp;rsquo;ll never forget it: some of my friends had to flee their own country; others are fighting for their freedom as I write this post. I hope they will be safe and that their wishes will come true in 2023.&lt;/p&gt;
&lt;p&gt;On the personal and technical side, here&amp;rsquo;s a summary of the past year from my perspective.&lt;/p&gt;
&lt;h2 id="h2-0-job-change"&gt;Job change&lt;/h2&gt;
&lt;img fetchpriority="high" decoding="async" class="alignright size-full wp-image-61589" src="apache-apisix.jpeg" alt="" width="300" height="300"&gt;
&lt;br /&gt;
&lt;p&gt;First and foremost, I changed jobs. I worked for &lt;a href="https://hazelcast.com/" target="_blank" rel="noopener noreferrer"&gt;Hazelcast&lt;/a&gt;
 for 3½ years.&lt;/p&gt;</description></item><item><title>Why Picnic picked Java</title><link>https://foojayio.github.io/website/today/why-picnic-picked-java/</link><pubDate>Fri, 30 Dec 2022 08:22:54 +0000</pubDate><guid>https://foojayio.github.io/website/today/why-picnic-picked-java/</guid><description>&lt;p&gt;&lt;strong&gt;Picking a tech stack for your startup isn&amp;rsquo;t something to do lightly. It&amp;rsquo;s a choice that will shape the future in many ways: how will the tech enable your emerging product and business, what talent can you attract, and how future-proof is the tech stack?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When &lt;a href="https://picnic.app/careers/blogs" target="_blank" rel="noopener noreferrer"&gt;Picnic&lt;/a&gt;
 launched as the first app-only supermarket back in 2015 in The Netherlands, the tech landscape looked markedly different from today.&lt;/p&gt;
&lt;p&gt;Java and .Net ruled the Dutch developer landscape for backend systems.&lt;/p&gt;</description></item><item><title>You’re Doing It Wrong — Recruiting a DevRel</title><link>https://foojayio.github.io/website/today/youre-doing-it-wrong-recruiting-a-devrel/</link><pubDate>Fri, 25 Nov 2022 14:42:15 +0000</pubDate><guid>https://foojayio.github.io/website/today/youre-doing-it-wrong-recruiting-a-devrel/</guid><description>&lt;p&gt;This article was co-written with &lt;a href="https://twitter.com/wesley83" target="_blank" rel="noopener noreferrer"&gt;Wesley Faulkner&lt;/a&gt;
.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Wesley Faulkner is a first-generation American, public speaker, and podcaster. He is a founding member of the government transparency group Open Austin and a staunch supporter of racial justice, workplace equity, and neurodiversity. His professional experience spans technology from AMD, Atlassian, Dell, IBM, and MongoDB. Wesley currently works as a head of community at SingleStore, and in addition, co-hosts the developer relations-focused podcast Community Pulse and serves on the board for SXSW.&lt;/p&gt;</description></item><item><title>Gossips: An Event-Bus in a Chatty Neighbourhood</title><link>https://foojayio.github.io/website/today/metaphorical-programming-gossips-event-bus/</link><pubDate>Thu, 24 Nov 2022 08:35:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/metaphorical-programming-gossips-event-bus/</guid><description>&lt;p&gt;In this article, we&amp;rsquo;ll tackle a common issue: &lt;em&gt;simple&lt;/em&gt; communication between system components. With a slightly controversial, themed, domain-driven design.&lt;/p&gt;
&lt;p&gt;Though this post has nothing to do with Android, we need a context where an Event-Bus is needed. And boy oh boy is it needed in Android! And we&amp;rsquo;ll use this as an excuse to write an Event-Bus.&lt;/p&gt;
&lt;p&gt;I chose an analogy for the entire thing: &lt;strong&gt;Gossips&lt;/strong&gt;;\&lt;/p&gt;
&lt;p&gt;It fits with the nature of the library, and the way it&amp;rsquo;ll be used. A global pub-sub component to enable cross-component communication.&lt;/p&gt;</description></item><item><title>The Future of EJB</title><link>https://foojayio.github.io/website/today/the-future-of-ejb/</link><pubDate>Thu, 10 Nov 2022 16:06:56 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-future-of-ejb/</guid><description>&lt;figure class="alignleft is-resized"&gt;
 &lt;img decoding="async" src="beans-300x260.jpg" alt="" class="wp-image-60965" width="225" height="195"&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;em&gt;EJB, or Enterprise Beans, are Java classes with a number of container provided services attached to them, such as transactions, remoting and security. In this article we will take a look at what we can expect for EJB in the future.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Once upon a time EJB was almost synonymous with what was called Java EE or J2EE back then (Jakarta EE now). It suffered from many issues though, although it did incrementally got better. We&amp;rsquo;ll explore some of those issues next.&lt;/p&gt;</description></item><item><title>Discuss the Problem, Not the Solution!</title><link>https://foojayio.github.io/website/today/discuss-problem-not-solution/</link><pubDate>Tue, 01 Nov 2022 10:56:17 +0000</pubDate><guid>https://foojayio.github.io/website/today/discuss-problem-not-solution/</guid><description>&lt;p&gt;As a tech guy, I love to discuss technologies. And as discussions go, it&amp;rsquo;s generally the comparison kind: JVM vs. Net, Java vs. Kotlin, Go vs. Rust, Maven vs. the unspeakable one, etc.&lt;/p&gt;
&lt;p&gt;However, it&amp;rsquo;s too easy to fall into the quagmire of the merits and flaws of our beloved toys, talk about them for hours, and not reach a satisfactory agreement.&lt;/p&gt;
&lt;p&gt;A couple of years ago, I worked as a &amp;ldquo;Solution Architect&amp;rdquo;.&lt;/p&gt;</description></item><item><title>The Problem with Functional Programming</title><link>https://foojayio.github.io/website/today/the-problem-with-functional-programming/</link><pubDate>Thu, 27 Oct 2022 10:17:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-problem-with-functional-programming/</guid><description>&lt;p&gt;Let me start off with saying that I love functional programming.&lt;/p&gt;
&lt;p&gt;Although&amp;hellip; a better way of saying it would be that I love what functional programming brings me.&lt;/p&gt;
&lt;p&gt;It reduces complexity, the code is nice and explicit, and it eliminates certain bugs from occurring.&lt;/p&gt;
&lt;p&gt;But there are a few things that I wanted to discuss regarding functional programming.&lt;/p&gt;
&lt;h2 id="h2-0-object-orientation-vs-functional-programming"&gt;Object Orientation vs. Functional Programming&lt;/h2&gt;
&lt;p&gt;Let me start off with the Object Oriented vs. Functional Programming discussion.&lt;/p&gt;</description></item><item><title>The Reason Java is Still Popular</title><link>https://foojayio.github.io/website/today/the-reason-java-is-still-popular/</link><pubDate>Mon, 10 Oct 2022 16:11:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-reason-java-is-still-popular/</guid><description>&lt;p&gt;A great time to post this, right after the release of Java 19, yes, another &amp;ldquo;my language is better&amp;rdquo; post. No, I didn&amp;rsquo;t want to write it. But sometimes people&amp;rsquo;s &lt;a href="https://medium.com/codex/i-finally-gave-up-on-java-5187947bef1b" target="_blank" rel="noopener noreferrer"&gt;bad projection&lt;/a&gt;
 gets the better of me.&lt;/p&gt;
&lt;p&gt;In this case the post started as a comment and I ended up deciding turn it into a post. This was strengthened with &lt;a href="https://news.ycombinator.com/item?id=32896228" target="_blank" rel="noopener noreferrer"&gt;this post&lt;/a&gt;
 which mostly complains about Quarkus (somewhat unfairly if I might add).&lt;/p&gt;</description></item><item><title>Am I Testing the Right Way?</title><link>https://foojayio.github.io/website/today/am-i-testing-the-right-way/</link><pubDate>Tue, 04 Oct 2022 18:24:12 +0000</pubDate><guid>https://foojayio.github.io/website/today/am-i-testing-the-right-way/</guid><description>&lt;h2 id="h2-0-two-unit-testing-approaches-explained"&gt;Two unit-testing approaches explained!&lt;/h2&gt;
&lt;p&gt;Pick any topic around testing and there will be at least two very contrary approaches that seem to be at odds.&lt;/p&gt;
&lt;p&gt;One of the many points of discussion around unit testing, and in particular TDD, are the question around what good boundaries for tests are.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So the question is: Should you unit test each method on your classes or should you only unit test the public interfaces of a given feature or component?&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Open Source Bait and Switch</title><link>https://foojayio.github.io/website/today/open-source-bait-and-switch/</link><pubDate>Fri, 16 Sep 2022 07:44:39 +0000</pubDate><guid>https://foojayio.github.io/website/today/open-source-bait-and-switch/</guid><description>&lt;p&gt;I was reading &lt;a href="https://betterprogramming.pub/why-open-source-software-is-better-for-the-world-af1cf9045236" target="_blank" rel="noopener noreferrer"&gt;this article&lt;/a&gt;
 and wanted to post a comment but I felt this warrants a response article.&lt;/p&gt;
&lt;p&gt;First, if you don&amp;rsquo;t know me I&amp;rsquo;ve written a ton of Open Source code. A whole platform and then some. I think the general view expressed in that article and a lot of the fluff I see online is over simplistic and dangerous.&lt;/p&gt;
&lt;h2 id="h2-0-we-need-to-get-paid"&gt;We Need to get Paid&lt;/h2&gt;
&lt;p&gt;Who will pay your salary?&lt;/p&gt;</description></item><item><title>On Cosmetics vs. Intrinsics in Programming</title><link>https://foojayio.github.io/website/today/on-cosmetics-vs-intrinsics-programming/</link><pubDate>Mon, 12 Sep 2022 09:39:56 +0000</pubDate><guid>https://foojayio.github.io/website/today/on-cosmetics-vs-intrinsics-programming/</guid><description>&lt;p&gt;A ruthless battle occurs every day on the World Wide Web. Its goal is to decide which programming flavor is the best: or ? I assume that imperative and procedural programming are not part of the contenders.&lt;/p&gt;
&lt;p&gt;Arguments range from the factual to the irrelevant to the utterly stupid. A couple of years ago, I wanted to listen to a video of Martin Odersky (of Scala fame). I remember neither the exact talk nor the subject. What I remember is the introduction, though: he explained that FP was more popular than OOP&amp;hellip; because there were many more conferences dedicated to the former than to the latter.&lt;/p&gt;</description></item><item><title>The Cost of Production Blindness</title><link>https://foojayio.github.io/website/today/the-cost-of-production-blindness/</link><pubDate>Fri, 22 Jul 2022 08:11:03 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-cost-of-production-blindness/</guid><description>&lt;p&gt;When I speak at conferences, I often fall back to the fact that just a couple of decades ago we&amp;rsquo;d observe production by kicking the server.&lt;/p&gt;
&lt;p&gt;This is obviously no longer practical. We can&amp;rsquo;t see our production. It&amp;rsquo;s an amorphous Cloud that we can&amp;rsquo;t touch or feel. A power that we read about but don&amp;rsquo;t fully grasp.&lt;/p&gt;
&lt;p&gt;In this case, we have physical evidence that the Cloud is there.&lt;/p&gt;
&lt;p&gt;A part of this major shift in our industry is a change to our fundamental roles as engineers. DevOps and SRE are roles that didn&amp;rsquo;t exist back then. Yet today, they&amp;rsquo;re often essential for major businesses. They brought with them tremendous advancements to the reliability of production, but they also brought with them a cost: distance.&lt;/p&gt;</description></item><item><title>Hard Things in Computer Science</title><link>https://foojayio.github.io/website/today/hard-things-computer-science/</link><pubDate>Mon, 27 Jun 2022 08:13:01 +0000</pubDate><guid>https://foojayio.github.io/website/today/hard-things-computer-science/</guid><description>&lt;p&gt;If you&amp;rsquo;ve more than a couple of years of experience in IT, you probably have stumbled upon the following quote:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There are only two hard things in computer science: cache invalidation and naming things. &amp;ndash; Phil Karlton&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Then, because it&amp;rsquo;s such a great quote, it evolved:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/codinghorror/status/506010907021828096" target="_blank" rel="noopener noreferrer"&gt;&lt;img src="https://foojayio.github.io/website/today/hard-things-computer-science/Screenshot-2022-06-26-at-10.28.24.png" alt="" loading="lazy"&gt;
&lt;/a&gt;
However, I think that the initial quote is misleading. A lot of things are hard in computer science. This post aims to describe some of them.&lt;/p&gt;</description></item><item><title>Chopping the Monolith: Foojay.io Today</title><link>https://foojayio.github.io/website/today/chopping-monolith/</link><pubDate>Mon, 25 Apr 2022 19:06:50 +0000</pubDate><guid>https://foojayio.github.io/website/today/chopping-monolith/</guid><description>&lt;p&gt;If you attend conferences or read technical articles, you could think that microservices are the correct and only way to build a system at the moment.&lt;/p&gt;
&lt;p&gt;Despite some pushback from cooler heads, the default architecture is microservices.&lt;/p&gt;
&lt;p&gt;In this post, I&amp;rsquo;d like to argue why it&amp;rsquo;s wrong.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll first get back to the origin of microservices and the fundamental reason to use them.&lt;/p&gt;
&lt;p&gt;Then, I&amp;rsquo;ll describe why microservices don&amp;rsquo;t fit most organizations&amp;rsquo; structures.&lt;/p&gt;</description></item><item><title>Three Mistakes Developers Make Preventing Getting Hired On Projects</title><link>https://foojayio.github.io/website/today/three-mistakes-junior-software-developers-make-preventing-getting-hired-on-amazing-projects/</link><pubDate>Wed, 06 Apr 2022 07:46:48 +0000</pubDate><guid>https://foojayio.github.io/website/today/three-mistakes-junior-software-developers-make-preventing-getting-hired-on-amazing-projects/</guid><description>&lt;p&gt;Being hired is not easy and it is especially somewhat tricky for junior software developers to be taken on to work on amazing projects. The reason is clear: industries always want people with the right skills and a junior software developer does not typically always have those. We get to learn to program and acquire knowledge from universities and colleges, which is not enough to be able to work on unique projects right away.&lt;/p&gt;</description></item><item><title>7 Reasons Why, After 26 Years, Java Still Makes Sense!</title><link>https://foojayio.github.io/website/today/7-reasons-why-after-26-years-java-still-makes-sense/</link><pubDate>Tue, 15 Mar 2022 08:02:48 +0000</pubDate><guid>https://foojayio.github.io/website/today/7-reasons-why-after-26-years-java-still-makes-sense/</guid><description>&lt;p&gt;Java has been and continues to be the most popular language over the last two decades. It has always been in the top 5 in the &lt;a href="https://www.tiobe.com/tiobe-index/" target="_blank" rel="noopener noreferrer"&gt;TIOBE index&lt;/a&gt;
 in terms of popularity. Besides popularity, Java is especially dominant in the enterprise world.&lt;/p&gt;
&lt;p&gt;However, in recent years, with the popularity of microservices and data science, other programming languages, such as Python, have gained in popularity. Some developers may view this as concerning news, as it may indicate the decline of Java, while others would argue differently.&lt;/p&gt;</description></item><item><title>Lessons learned from previous projects</title><link>https://foojayio.github.io/website/today/lessons-learned-from-previous-projects/</link><pubDate>Mon, 14 Mar 2022 13:02:01 +0000</pubDate><guid>https://foojayio.github.io/website/today/lessons-learned-from-previous-projects/</guid><description>&lt;p&gt;An exciting part of software development is what was unanimously considered good practice at one point in time can be more ambiguous years later. Or even plain wrong. However, you generally need to do it multiple times over time to realize it. Here are my top learnings from my experience in Java projects.&lt;/p&gt;
&lt;h2 id="h2-0-packaging-by-layers"&gt;Packaging by layers&lt;/h2&gt;
&lt;p&gt;When I started my developer career in Java, every project organized their classes by layers - controllers, services and s (repositories). A typical project&amp;rsquo;s structure would look like this:&lt;/p&gt;</description></item><item><title>An Example of Overengineering - Keep it WET</title><link>https://foojayio.github.io/website/today/an-example-of-overengineering-keep-it-wet/</link><pubDate>Wed, 28 Apr 2021 09:20:52 +0000</pubDate><guid>https://foojayio.github.io/website/today/an-example-of-overengineering-keep-it-wet/</guid><description>&lt;p&gt;This week&amp;rsquo;s post is pretty short. I&amp;rsquo;ve already &lt;a href="https://blog.frankel.ch/are-you-guilty-of-overengineering/" target="_blank" rel="noopener noreferrer"&gt;written about overengineering&lt;/a&gt;
, but this adds a personal touch.&lt;/p&gt;
&lt;p&gt;I had to rewrite my &lt;a href="https://github.com/hazelcast/jet-train" target="_blank" rel="noopener noreferrer"&gt;Jet Train demo&lt;/a&gt;
 to use another data provider, switching from a Swiss one to a Bay Area one. One of the main components of the demo is a streaming pipeline.&lt;/p&gt;
&lt;p&gt;The pipeline:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Reads data from a web endpoint&lt;/li&gt;
&lt;li&gt;Transforms data through several steps&lt;/li&gt;
&lt;li&gt;Writes the final data into an in-memory data grid&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Most of the transform steps in #2 enrich the data. Each of them requires an implementation of a &lt;code&gt;BiFunction&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>What Are Your Java Predictions, Hopes, and Dreams For 2021?</title><link>https://foojayio.github.io/website/today/java-predictions-for-2021/</link><pubDate>Wed, 30 Dec 2020 09:03:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-predictions-for-2021/</guid><description>&lt;p&gt;&lt;strong&gt;To celebrate the world of Java and predict our highlights for 2021, several key Foojay participants have been sharing their thoughts and hopes over the past days on Foojay, &lt;a href="https://foojayio.github.io/website/today/java-predictions-for-2021-raspberry-pi/"&gt;starting with Frank Delporte, Foojay Community Manager for the Raspberry Pi&lt;/a&gt;
, &lt;a href="https://foojayio.github.io/website/today/java-predictions-for-2021-jakarta-ee/"&gt;continuing with Jadon Ortlepp, Foojay Community Manager for Microservices&lt;/a&gt;
, and now wrapping up with a list of brief predictions from a wide variety of other leading members of the Java community&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Is Java Still an 'Emerging Technology' Today?</title><link>https://foojayio.github.io/website/today/is-java-still-an-emerging-technology/</link><pubDate>Mon, 10 Aug 2020 11:33:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/is-java-still-an-emerging-technology/</guid><description>&lt;p&gt;Eleven years ago, I wrote an article asking &lt;a href="https://community.oracle.com/blogs/editor/2011/07/09/java-becoming-emerging-technology-ask-oreilly" target="_blank" rel="noopener noreferrer"&gt;Is Java Becoming an &amp;lsquo;Emerging Technology&amp;rsquo;? Ask O&amp;rsquo;Reilly&amp;quot;&lt;/a&gt;
. Think about that: in 2011, how could one have sensibly argued that Java was an &amp;rsquo;emerging technology&amp;rsquo;? The language already had a long history, deep integration across all spectra of business and scientific software development. How, at that point, could Java possibly represent &amp;rsquo;emerging technology&amp;rsquo;?&lt;/p&gt;
&lt;p&gt;O&amp;rsquo;Reilly Media at that time was featuring several articles describing why Java was suddenly newly relevant (for this, we can thank the core Java developers who never stopped developing new features). O&amp;rsquo;Reilly had recently published:&lt;/p&gt;</description></item></channel></rss>