<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Java on webtechie.be</title>
    <link>https://webtechie.be/tags/java/</link>
    <description>Recent content in Java on webtechie.be</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 02 Nov 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://webtechie.be/tags/java/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Foojay Podcast #104: 53 CVEs and Two Emergency Releases: Why Java Security Holds Up</title>
      <link>https://webtechie.be/podcasts/2026/2026-11-02-foojay-podcast-104-security-updates/</link>
      <pubDate>Mon, 02 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/podcasts/2026/2026-11-02-foojay-podcast-104-security-updates/</guid>
      <description>&lt;p&gt;The October OpenJDK update fixed a record 53 CVEs, followed a few days later by two out-of-cycle releases. For Foojay Podcast #104, I talked with &lt;strong&gt;Simon Ritter&lt;/strong&gt;, Deputy CTO at Azul and member of the OpenJDK Vulnerability Group, about what happened and what it means for people running Java.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sheetmusic4J 0.0.5: LilyPond Import and Export</title>
      <link>https://webtechie.be/post/sheetmusic4j-0.0.5-lilypond/</link>
      <pubDate>Wed, 21 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/post/sheetmusic4j-0.0.5-lilypond/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://sheetmusic4j.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Sheetmusic4J&lt;/a&gt; is a Java(FX) library to render and interact with sheet music. After MusicXML, MIDI, ABC and Guitar Pro, version &lt;strong&gt;0.0.5&lt;/strong&gt; adds another format: &lt;a href=&#34;https://sheetmusic4j.com/inspired-by/lilypond/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;LilyPond&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Foojay Podcast #103: Killing Reflection at Build Time</title>
      <link>https://webtechie.be/podcasts/2026/2026-10-19-foojay-podcast-103-killing-reflection-build-time/</link>
      <pubDate>Mon, 19 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/podcasts/2026/2026-10-19-foojay-podcast-103-killing-reflection-build-time/</guid>
      <description>&lt;p&gt;For Foojay Podcast #103, I talked with &lt;strong&gt;Dmitry Moskalyuk&lt;/strong&gt; and &lt;strong&gt;Shai Almog&lt;/strong&gt;, two developers from different parts of the JVM ecosystem, about why runtime reflection costs performance and how they moved that work to build time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pi4J Drivers V1.2.0: ePaper, DAC/ADC, Motors, and LoRa</title>
      <link>https://webtechie.be/post/pi4j-drivers-v1-2-0/</link>
      <pubDate>Mon, 19 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/post/pi4j-drivers-v1-2-0/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://pi4j.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Pi4J&lt;/a&gt; is the Java library that gives you access to the hardware I/O of the Raspberry Pi: GPIO pins, I2C, SPI, PWM, and serial communication. With it, you can read a button, blink an LED, or talk to a sensor from plain Java code, running on the Pi itself.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lottie4J 1.2.7: A Performance Release</title>
      <link>https://webtechie.be/post/lottie4j-1.2.7-a-performance-release/</link>
      <pubDate>Thu, 15 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/post/lottie4j-1.2.7-a-performance-release/</guid>
      <description>&lt;p&gt;A new version of &lt;a href=&#34;https://lottie4j.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Lottie4J&lt;/a&gt;, the Java and JavaFX library to render Lottie animations, is available. &lt;a href=&#34;https://lottie4j.com/status/2026/20261014-release-1.2.7/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Release 1.2.7&lt;/a&gt; doesn&amp;rsquo;t bring new features, but focuses fully on performance.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Foojay Podcast #102: Why Foojay Walked Away From WordPress for Static Sites</title>
      <link>https://webtechie.be/podcasts/2026/2026-10-05-foojay-podcast-102-wordpress-to-static-sites/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/podcasts/2026/2026-10-05-foojay-podcast-102-wordpress-to-static-sites/</guid>
      <description>&lt;p&gt;Six years of WordPress plugin updates, security patches, and slow page loads were enough for me, as I wrote about in &lt;a href=&#34;https://webtechie.be/posts/2026/2026-09-22-new-foojay-hugo-and-java/&#34;&gt;The New Foojay.io: Generated by Hugo, Maintained by Java&lt;/a&gt;. For Foojay Podcast #102, I talk with &lt;strong&gt;Andy Damevin&lt;/strong&gt; and &lt;strong&gt;Holly Cummins&lt;/strong&gt;, both from the Quarkus team at Red Hat, about that move away from WordPress and various static website generator tools.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The New Foojay.io: Generated by Hugo, Maintained by Java</title>
      <link>https://webtechie.be/post/the-new-foojay.io-generated-by-hugo-maintained-by-java/</link>
      <pubDate>Tue, 22 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/post/the-new-foojay.io-generated-by-hugo-maintained-by-java/</guid>
      <description>&lt;p&gt;Publishing an article on Foojay used to mean creating an account, learning a web editor, and hoping your code blocks survived the formatting. Since this week it means opening a pull request. &lt;a href=&#34;https://foojay.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Foojay.io&lt;/a&gt; runs as a static site now, &lt;a href=&#34;https://gohugo.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo&lt;/a&gt; generates it from &lt;a href=&#34;https://github.com/foojayio/website&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;a public Git repository&lt;/a&gt;, and every article keeps the address it always had.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Foojay Podcast #101: Java 27 in Practice: Smaller Heaps, Smarter Defaults, and Valhalla on the Horizon</title>
      <link>https://webtechie.be/podcasts/2026/2026-09-14-foojay-podcast-101-java-27-compact-headers-valhalla/</link>
      <pubDate>Mon, 14 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/podcasts/2026/2026-09-14-foojay-podcast-101-java-27-compact-headers-valhalla/</guid>
      <description>&lt;p&gt;JDK 27 arrives on 15 September 2026, and it is a feature release rather than a Long-Term Support one. That distinction matters less than it sounds. As &lt;strong&gt;Simon Ritter&lt;/strong&gt;, Deputy CTO at Azul and a Java Champion, points out, every OpenJDK release is delivered the same way, and &amp;ldquo;long-term support&amp;rdquo; is a property of the binary distribution you install rather than of the platform itself. I sit down with Simon for Foojay Podcast #101 to walk through all nine JEPs in the release.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sheetmusic4J 0.0.3: ABC Notation, Guitar Pro, Engraving Improvements</title>
      <link>https://webtechie.be/post/sheetmusic4j-0.0.3-abc-notation-guitar-pro-engraving-improvements/</link>
      <pubDate>Thu, 30 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/post/sheetmusic4j-0.0.3-abc-notation-guitar-pro-engraving-improvements/</guid>
      <description>&lt;p&gt;Last week I &lt;a href=&#34;https://webtechie.be/posts/2026/2026-07-24-introducing-sheetmusic4j/&#34;&gt;introduced Sheetmusic4J&lt;/a&gt;, a Java(FX) library to render and interact with sheet music. That first &lt;strong&gt;0.0.1&lt;/strong&gt; release was really a question more than a product: is there any interest in a native Java(FX) sheet music library before I invest more time in it? So I shared it on social media and waited to see what would come back.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing Sheetmusic4J, a Java(FX) Library to Render and Interact with Sheet Music</title>
      <link>https://webtechie.be/post/introducing-sheetmusic4j-a-javafx-library-to-render-and-interact-with-sheet-music/</link>
      <pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/post/introducing-sheetmusic4j-a-javafx-library-to-render-and-interact-with-sheet-music/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m building &lt;a href=&#34;https://melodymatrix.rocks/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;MelodyMatrix&lt;/a&gt; with my son, an application to look at and play along with music. The app already shows a song in different views: falling blocks, chords, guitar views, and many more. Now we want a Learn section, a view that helps someone practice piano by following the actual sheet music while it plays.&lt;/p&gt;</description>
    </item>
    <item>
      <title>First Test of Java on Banana Pi (ARM and RISC-V), Plus a Blinking LED with Pi4J</title>
      <link>https://webtechie.be/post/first-test-of-java-on-banana-pi-arm-and-risc-v-plus-a-blinking-led-with-pi4j/</link>
      <pubDate>Thu, 16 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/post/first-test-of-java-on-banana-pi-arm-and-risc-v-plus-a-blinking-led-with-pi4j/</guid>
      <description>&lt;p&gt;As part of my 2026 learning goals around Java on RISC-V (see &lt;a href=&#34;https://webtechie.be/post/2026-01-07-x86-arm-riscv/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;this post about x86 versus ARM versus RISC-V&lt;/a&gt;), I&amp;rsquo;ve asked various suppliers to send me evaluation boards. I already published these:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Foojay Podcast #100: Java Podcasters on Why They Started, What Broke, and What They Learned</title>
      <link>https://webtechie.be/podcasts/2026/2026-07-13-foojay-podcast-100-java-podcasters/</link>
      <pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/podcasts/2026/2026-07-13-foojay-podcast-100-java-podcasters/</guid>
      <description>&lt;p&gt;Foojay Podcast hits episode 100. No plan, no roadmap, it just happened. To mark the occasion, I turned the microphone around and invited other podcasters from the Java community to answer the same three questions I usually ask my guests: why did you start, what broke, and what did you learn?&lt;/p&gt;</description>
    </item>
    <item>
      <title>My Book &#39;Java Programming for Raspberry Pi&#39; is Now Available as Softcover and Hardcover on Amazon</title>
      <link>https://webtechie.be/post/my-book-java-programming-for-raspberry-pi-is-now-available-as-softcover-and-hardcover-on-amazon/</link>
      <pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/post/my-book-java-programming-for-raspberry-pi-is-now-available-as-softcover-and-hardcover-on-amazon/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://webtechie.be/books/#java-programming-for-raspberry-pi&#34;&gt;&amp;ldquo;Java Programming for Raspberry Pi: A Hands-On Guide to Electronics and IoT Projects&amp;rdquo;&lt;/a&gt; is now available as a &lt;strong&gt;softcover and hardcover paper book&lt;/strong&gt; through Amazon, on top of the Kindle ebook and the pay-as-you-wish version on &lt;a href=&#34;https://leanpub.com/gettingstartedwithjavaontheraspberrypi&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Leanpub&lt;/a&gt;. If you prefer holding a physical book while you&amp;rsquo;re wiring up LEDs and sensors on your Raspberry Pi, that&amp;rsquo;s now possible again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Closing the Visual Gap Between the Official Lottie Webplayer and Lottie4J</title>
      <link>https://webtechie.be/post/closing-the-visual-gap-between-the-official-lottie-webplayer-and-lottie4j/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/post/closing-the-visual-gap-between-the-official-lottie-webplayer-and-lottie4j/</guid>
      <description>&lt;p&gt;A Lottie library is only as good as its output looks. If an animation renders differently in &lt;a href=&#34;https://lottie4j.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Lottie4J&lt;/a&gt; than it does in the official web player, that&amp;rsquo;s a bug, even when no exception is thrown and the code looks correct.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Foojay Podcast #99: Testing the Untestable, LLM Security for Java Developers with Tiberius</title>
      <link>https://webtechie.be/podcasts/2026/2026-06-22-foojay-podcast-99-llm-security-tiberius/</link>
      <pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/podcasts/2026/2026-06-22-foojay-podcast-99-llm-security-tiberius/</guid>
      <description>&lt;p&gt;Unit testing assumes that the same input gives the same output. Large language models break that assumption on purpose, which leaves Java developers wiring LLMs into their applications without a clear way to test for security issues, bias, or prompt injection. &lt;a href=&#34;https://github.com/tiberius-security/tiberius&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Tiberius is an open-source library&lt;/a&gt; that tackles exactly this problem, treating non-determinism as part of the design rather than a bug to work around.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Foojay Podcast #98: The End of JNI Pain, How WebAssembly Is Quietly Replacing Native Libraries in Java</title>
      <link>https://webtechie.be/podcasts/2026/2026-06-15-foojay-podcast-98-webassembly-jni-chicory/</link>
      <pubDate>Mon, 15 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/podcasts/2026/2026-06-15-foojay-podcast-98-webassembly-jni-chicory/</guid>
      <description>&lt;p&gt;JNI has been the standard answer for calling native code from Java for almost three decades. It also brings most of the headaches anyone who has wrestled with it remembers: brittle bindings, crashes that take the JVM down with them, painful cross-platform builds. WebAssembly quietly changes the shape of that problem. You get a sandboxed runtime, a portable binary format, and a far gentler integration path into the JVM.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lottie4J Meets LottieFiles: A Conversation with Naail Abdul Rahman</title>
      <link>https://webtechie.be/post/lottie4j-meets-lottiefiles-a-conversation-with-naail-abdul-rahman/</link>
      <pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/post/lottie4j-meets-lottiefiles-a-conversation-with-naail-abdul-rahman/</guid>
      <description>&lt;p&gt;Lottie animations run on Android, iOS, and the web. Getting them working on the JVM is a different story. &lt;a href=&#34;https://lottie4j.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Lottie4J&lt;/a&gt; started as a question: can JavaFX render them without a WebView? That question turned into a library with a first release in March 2026! Since then, I received the first pull requests, recently added headless unit testing with JavaFX 26, and now this: a video conversation with Naail from the LottieFiles team.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Foojay Podcast #97: From Scripting Language to AI Powerhouse with BoxLang</title>
      <link>https://webtechie.be/podcasts/2026/2026-06-01-foojay-podcast-97-boxlang/</link>
      <pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/podcasts/2026/2026-06-01-foojay-podcast-97-boxlang/</guid>
      <description>&lt;p&gt;If you write Java day to day, the AI tooling conversation often defaults to Python. BoxLang takes a different route. It runs on the JVM, treats AI as a first-class concern, and lets you mix dynamic templating with the libraries you already trust.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Foojay Podcast #96: Local AWS Development Without LocalStack: Meet Floci, the GraalVM-Powered Alternative</title>
      <link>https://webtechie.be/podcasts/2026/2026-05-25-foojay-podcast-96-floci-local-aws-graalvm/</link>
      <pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/podcasts/2026/2026-05-25-foojay-podcast-96-floci-local-aws-graalvm/</guid>
      <description>&lt;p&gt;Running AWS services on your laptop usually means waiting for a heavy emulator to boot, watching memory fill up, and hoping the API behavior matches the real cloud. Floci takes a different path. It spins up 35 AWS services in about 25 milliseconds with 13 megabytes of memory, using a single Docker command. In this episode we sat down with &lt;strong&gt;Hector Ventura&lt;/strong&gt;, the creator of Floci, for Foojay Podcast #96.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Is Your Java App Actually Secure, Or Does It Just Look That Way?</title>
      <link>https://webtechie.be/podcasts/2026/2026-05-11-foojay-podcast-95-java-security-zombie-dependencies/</link>
      <pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate>
      <guid>https://webtechie.be/podcasts/2026/2026-05-11-foojay-podcast-95-java-security-zombie-dependencies/</guid>
      <description>&lt;p&gt;Your Java app passes the build, the tests are green, and the dashboard looks fine. But are the libraries underneath still maintained, or are they quietly collecting vulnerabilities? In this episode we dig into &amp;ldquo;zombie dependencies&amp;rdquo;, the CVE process, and the small habits that make a real difference. I host &lt;strong&gt;Steve Poole&lt;/strong&gt; and &lt;strong&gt;David Welch&lt;/strong&gt; from HeroDevs for Foojay Podcast #95.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
