<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>JBang on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/category/jbang/</link><description>Recent content in JBang on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 04 Mar 2026 06:52:00 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/category/jbang/index.xml" rel="self" type="application/rss+xml"/><item><title>I Benchmarked Java on Single-Board Computers: Orange Pi 5 Ultra and Raspberry Pi 5 Lead the Pack</title><link>https://foojayio.github.io/website/today/java-benchmarks-on-single-board-computers/</link><pubDate>Wed, 04 Mar 2026 06:52:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-benchmarks-on-single-board-computers/</guid><description>&lt;hr&gt;
&lt;p&gt;In my &amp;ldquo;Java on Single Board Computers&amp;rdquo; series, I already published several posts and videos in which I unpack the board, connect it for the first time, and try to install and run some simple Java code. In this post, I want to share some benchmarks of Java on these boards to get a better idea of the performance we can expect from Java on these platforms.&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/efLS8pBtqZ0?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;p&gt;Already published in this series:&lt;/p&gt;</description></item><item><title>Breaktime Tech Talks (Ep37): Vector Database Frustration + Microsoft LazyGraphRAG</title><link>https://foojayio.github.io/website/today/breaktime-tech-talks-ep37-vector-database-frustration-microsoft-lazygraphrag/</link><pubDate>Wed, 19 Mar 2025 12:54:36 +0000</pubDate><guid>https://foojayio.github.io/website/today/breaktime-tech-talks-ep37-vector-database-frustration-microsoft-lazygraphrag/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This is episode 37 of the &lt;a href="https://www.youtube.com/playlist?list=PLzZ7iUdr2mwS6qexoz9dsI0NfnU614p1w" target="_blank" rel="noopener noreferrer"&gt;Breaktime Tech Talks&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&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/hv-FtjIHg_I?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;p&gt;You are listening to the Breaktime Tech Talks podcast, a bite-sized tech podcast for busy developers, where we&amp;rsquo;ll briefly cover technical topics, new snippets, and more in short time blocks. I&amp;rsquo;m your host, Jennifer Reif, an avid developer and problem solver with special interest in data, learning, and all things technology.&lt;/p&gt;</description></item><item><title>JavaFX Links of July 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-july-2024/</link><pubDate>Wed, 31 Jul 2024 17:54:43 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-july-2024/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of July 2024, published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during this month.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A message by &lt;strong&gt;Kevin Rushforth&lt;/strong&gt; on the &lt;a href="https://mail.openjdk.org/mailman/listinfo/openjfx-dev" target="_blank" rel="noopener noreferrer"&gt;[email protected]&lt;/a&gt;
 mailing list shows the Java/JavaFX release train is approaching the next station ;-): &amp;ldquo;Bump the version number of JavaFX to 24. I will integrate this to &lt;code&gt;master&lt;/code&gt; as part of forking the &lt;code&gt;jfx23&lt;/code&gt; stabilization branch, which is scheduled for Thursday, July 11, 2024 at 16:00 UTC.&amp;rdquo; We&amp;rsquo;re looking forward to the release of v23 in September!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techhub.social/@thejvmbender/112693990775120413" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Özkan Pakdil&lt;/strong&gt; is working on an opensource alternative for Postman&lt;/a&gt;
: &amp;ldquo;I am looking for people to test or join, it&amp;rsquo;s in beta phase, but I am sure http get is working.&amp;rdquo; You can &lt;a href="https://github.com/ozkanpakdil/swaggerific" target="_blank" rel="noopener noreferrer"&gt;find it on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;LogoRRR is now available for download in the &lt;a href="https://apps.microsoft.com/detail/xpdlk5t61gqwlt?cid=DevShareCLPCS&amp;amp;hl=en-us&amp;amp;gl=SE" target="_blank" rel="noopener noreferrer"&gt;Microsoft App Store&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/SeanMiPhillips/status/1808556671188545555" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; shared a screenshot&lt;/a&gt;
: &amp;ldquo;New automatic Clustering features available from main branch of the Trinity 3D Visual Explainable AI tool. You can configure and asynchronously run multiple clustering algorithms in 3D, including DBSCAN, HDBSCAN, KMeans++, KMedoids Affinity Propagation, and more.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/emad-hanif-00b4aa227_javafx-spring-rxjava-activity-7214316565842845697-Xk4M/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Emad Hanif&lt;/strong&gt; shared a long description and video of Barcodify&lt;/a&gt;
: &amp;ldquo;Built with JavaFX, Spring Core and RxJava. This application empowers users to personalize every aspect, from color schemes and font sizes to margins and bar dimensions, delivering a comprehensive package with an elegant design. It currently supports 8 types of linear barcodes &amp;mdash; Code39, Code128, Codabar, Interleaved 2 of 5, UPC-A, UPC-E, EAN-8, and EAN-13.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/crschnick/status/1806954732964966740" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; added native window styling to XPipe 10&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/xiongchun007/status/1808935782033600521" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Xiong Chun&lt;/strong&gt; shared progress in Datacollie&lt;/a&gt;
: &amp;ldquo;Tonight, the basic SQL query and result display of the SQL query window implemented. There are still many details to be improved in this module.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Igor Azarny&lt;/strong&gt; released v2.5.5 of &lt;a href="http://gitgui.org/" target="_blank" rel="noopener noreferrer"&gt;Gitember, a cross platform graphical user interface for GIT&lt;/a&gt;
. You can find the &lt;a href="https://github.com/iazarny/gitember" target="_blank" rel="noopener noreferrer"&gt;sources on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@jabref/112797436287631234" target="_blank" rel="noopener noreferrer"&gt;JabRef announced release 5.15&lt;/a&gt;
 with &lt;a href="https://blog.jabref.org/2024/07/16/JabRef5-15/" target="_blank" rel="noopener noreferrer"&gt;a blog post&lt;/a&gt;
, &amp;ldquo;with binaries for Intel macs and fixes for Snap users. This release comes with some nice improvements for TeXLaTeX users and experimental support for using bst styles as preview.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/WebFXProject/status/1815417115161121078" target="_blank" rel="noopener noreferrer"&gt;WebFX shared&lt;/a&gt;
 an app they are hosting at &lt;a href="https://meteo.webfx.dev" target="_blank" rel="noopener noreferrer"&gt;meteo.webfx.dev&lt;/a&gt;
: &amp;ldquo;It showcases some cool webfx features: Scene graph (no canvas), Charts, Dual CSS (javafx &amp;amp; web), I18n, Json, Web service, Java service, Local storage, Sound.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/PatrikKarlstrom/status/1816016154852299111" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt; shared screenshots&lt;/a&gt;
: &amp;ldquo;Bringing back the cron like scheduler to my JavaFX based rsync gui. Converting the old swing cron dialog was much less work than expected. JavaFX really do have nice things to offer!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Datacollie, the SQL UI by &lt;a href="https://x.com/xiongchun007/status/1816419820268605848" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Xiong Chun&lt;/strong&gt; looks more-and-more impressive&lt;/a&gt;
: &amp;ldquo;The paging model of the SQL query result is determined, and a toolbar is added to the result table.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/petkovicdev/status/1808533009831694720" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;5kovic&lt;/strong&gt; made Tetris&lt;/a&gt;
: &amp;ldquo;Music and background found on Google, links in comment section.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@maehem/112747959541918758" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark J Koch&lt;/strong&gt; is reverse engineering the &amp;ldquo;Game of the Year&amp;rdquo; from 1989&lt;/a&gt;
: &amp;ldquo;Screen grab of browsing the sprites extracted from the Neuromancer PC .DAT files. They are stored as indexed color, RLE and Huffman encoded blobs of data. I wrote some Java code to extract/decompress/decode them from the file and write them to a &amp;lsquo;cache&amp;rsquo; directory as PNG files. The game came on two floppies and is still one of my favorites and I play it in a DOS emulator from time to time.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/orango_mango/status/1812950078665204134" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; made a game in 24h for the indiedevgamejam&lt;/a&gt;
: &amp;ldquo;Escape and drive on the highway as long as you can. By driving on the 2 leftmost lanes you get double score as well as driving fast.&amp;rdquo; You can play it on &lt;a href="https://orangomango.itch.io/milkywayescape" target="_blank" rel="noopener noreferrer"&gt;orangomango.itch.io/milkywayescape&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1815390389974503934" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duke&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;A bunch of changes coming to Transit Theme&amp;hellip; One of them is that if you change it to Dark style it will also change the Window frame of where the theme is applied. (JavaFX always shows the Window frame in light color)&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;And Pedro published a new post: &lt;a href="https://pixelduke.com/2024/07/24/transit-version-2-0-released/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Transit Version 2.0 Released&amp;rdquo;&lt;/a&gt;
: &amp;ldquo;Styles work as User Agent Stylesheets like Modena (much easier to override) + True Dark Mode (Window frame also changes when set to Dark style).&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/dlemmermann/status/1816511301369331865" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared a screenshot of an implementation of the FlexGanttFX library&lt;/a&gt;
: &amp;ldquo;We use it in our energy CRM system to visualise the consumption data provided by the home-installed electricity smart meters of our customers. In addition, it shows the time when our backend services send a request to the meters to send their data and which time periods they requested.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; published a &lt;a href="https://www.youtube.com/watch?v=XhDQvkcYJ88" target="_blank" rel="noopener noreferrer"&gt;video in which he experiments with the Azul Zulu runtimes with JavaFX support, JBang, and SDKMAN on a Raspberry Pi&lt;/a&gt;
 and a lot of colored circles.
&lt;ul&gt;
&lt;li&gt;Based on this experiment, he published an additional blog and video with a demo application to compare the performance between &lt;a href="https://webtechie.be/post/2024-07-22-javafx-nodes-versus-canvas/" target="_blank" rel="noopener noreferrer"&gt;thousands of Nodes versus drawing the same number of elements on a Canvas&lt;/a&gt;
: &amp;ldquo;On a Mac Studio, performance drops after 15k Nodes, versus 150k with Canvas.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;YouTube Shorts by &lt;strong&gt;OrangoMango&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/shorts/2T3UNo5EVXg" target="_blank" rel="noopener noreferrer"&gt;Falling sand with JavaFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/shorts/iaOnGQj86lQ" target="_blank" rel="noopener noreferrer"&gt;Conway&amp;rsquo;s Game Of Life implementation in Java and JavaFX&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;On dev.to, &lt;a href="https://dev.to/paulike" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Paul Ngugi&lt;/strong&gt; is publishing a blog series of JavaFX tutorials&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/phidias51/status/1809962623448023389" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark Fortner&lt;/strong&gt; replies&lt;/a&gt;
 to a message by &lt;a href="https://x.com/justinfagnani/status/1809709077150462075" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Justin Fagnani&lt;/strong&gt; about Flutter&lt;/a&gt;
: &amp;ldquo;It&amp;rsquo;s always interesting watching people re-invent the future. JavaFX has all of the features that you describe. Scenegraphs, multilanguage support, compiles to WASM, CSS. I think it really boils down to one&amp;rsquo;s willingness to get out of one&amp;rsquo;s comfort stack.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A new &lt;a href="https://x.com/crschnick/status/1809740192514793762" target="_blank" rel="noopener noreferrer"&gt;video by &lt;strong&gt;Christopher Schnick&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;The JavaFX 22 platform preferences API in action with native window themes on Windows 11.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/crschnick/status/1814024272295178515" target="_blank" rel="noopener noreferrer"&gt;Christopher also reports&lt;/a&gt;
: &amp;ldquo;Seems like JavaFX applications run fine on Windows ARM systems through the x86_64 compatibility layer.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/hansolo_/status/1813616079769686335" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; shared a screenshot&lt;/a&gt;
 of a private project (&amp;ldquo;sorry not allowed to share&amp;hellip;&amp;rdquo;) which recreates the &lt;a href="https://www.qlocktwo.com/en-be/" target="_blank" rel="noopener noreferrer"&gt;QLOCKTWO&lt;/a&gt;
 in JavaFX.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/cbm64/status/1815503568897540159" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chris&lt;/strong&gt; is wondering&lt;/a&gt;
: &amp;ldquo;Why are large displays in public spaces, including electronic ordering screens windows based?! It should be JavaFX territory running lightweight Linux on an SOC device.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The overview of the Links Of The Week of June are &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-june-2024/"&gt;bundled on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;New content:
&lt;ul&gt;
&lt;li&gt;Learn &amp;gt; JavaFX: &lt;a href="https://www.jfx-central.com/learn-javafx/nodes-versus-canvas" target="_blank" rel="noopener noreferrer"&gt;Comparing Nodes versus
Canvas&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Learn &amp;gt; JavaFX on Raspberry Pi: &lt;a href="https://www.jfx-central.com/learn-raspberrypi/zulu-sdkman-jbang" target="_blank" rel="noopener noreferrer"&gt;Experiment with Azul Zulu, SDKMAN, and JBANG&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/dlemmermann/status/1816486634260463781" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared this message with a screenshot&lt;/a&gt;
: &amp;ldquo;We are working on a mobile-only version of jfx-central.com. The routing framework and the development &amp;rsquo;environment&amp;rsquo; provided by &lt;a href="https://x.com/jpro_one" target="_blank" rel="noopener noreferrer"&gt;@jpro_one&lt;/a&gt;
 and &lt;a href="https://x.com/FlorianKirmaier" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Florian Kirmaier&lt;/strong&gt;&lt;/a&gt;
 helps a lot. It even allows us to simulate different phone resolutions.&amp;rdquo; Check all the commits by &lt;a href="https://x.com/LeeWyatt_7788" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Li Wang Yang&lt;/strong&gt;&lt;/a&gt;
 in the &lt;a href="https://github.com/dlsc-software-consulting-gmbh/jfxcentral2/commits/develop/" target="_blank" rel="noopener noreferrer"&gt;public GitHub repository&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;</description></item><item><title>Controlling LED Strips with Java and JBang</title><link>https://foojayio.github.io/website/today/controlling-led-strips-with-java-and-jbang/</link><pubDate>Mon, 22 Jan 2024 18:08:51 +0000</pubDate><guid>https://foojayio.github.io/website/today/controlling-led-strips-with-java-and-jbang/</guid><description>&lt;p&gt;One of the most &amp;ldquo;fancy&amp;rdquo; electronic components is definitely&amp;hellip; a LED strip. It&amp;rsquo;s really cool to control a long strip of lights with only a few lines of code.&lt;/p&gt;
&lt;p&gt;But, there is a problem. The timing of the signals is crucial to reliably control these strips. Both Python and Java on a Raspberry Pi can struggle with these timings as they are running on Linux, a non-real-time operating system.&lt;/p&gt;
&lt;p&gt;So, for instance, pauses in the garbage collection of the Java virtual machine, or any glitch in the operating system can cause unexpected effects on the LED strips. That&amp;rsquo;s why in most projects, a microcontroller (Arduino, Raspberry Pi Pico, ESP32,&amp;hellip;) is used to drive the LED strip.&lt;/p&gt;</description></item><item><title>Temperature, humidity, and pressure in BME280 Sensors with Java</title><link>https://foojayio.github.io/website/today/reading-the-temperature-humidity-and-pressure-from-a-bme280-sensor-with-java-pi4j-i2c-spi-and-jbang/</link><pubDate>Thu, 03 Aug 2023 07:16:36 +0000</pubDate><guid>https://foojayio.github.io/website/today/reading-the-temperature-humidity-and-pressure-from-a-bme280-sensor-with-java-pi4j-i2c-spi-and-jbang/</guid><description>&lt;p&gt;To make it as easy as possible to get started with Java on the Raspberry Pi to interact with electronic components, I started a &lt;a href="https://pi4j.com/examples/jbang/" target="_blank" rel="noopener noreferrer"&gt;new section on the Pi4J website with JBang examples&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In this tutorial, I want to show you how you can read the temperature, humidity, and pressure from a BME280 Sensor.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="h2-0-what-is-used"&gt;What Is Used?&lt;/h2&gt;
&lt;p&gt;As explained on the websites of each project:&lt;/p&gt;
&lt;h3 id="h3-1-pi4j"&gt;Pi4J&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;A friendly object-oriented I/O API and implementation libraries for Java Programmers to access the full I/O capabilities of the Raspberry Pi platform. This project abstracts the low-level native integration and interrupt monitoring to enable Java programmers to focus on implementing their application business logic.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Hidden Beauties of Java Enums</title><link>https://foojayio.github.io/website/today/hidden-beauties-of-java-enums/</link><pubDate>Tue, 11 Apr 2023 07:02:08 +0000</pubDate><guid>https://foojayio.github.io/website/today/hidden-beauties-of-java-enums/</guid><description>&lt;p&gt;Let&amp;rsquo;s take a look at the power and beauty of what Java Enums can provide&amp;hellip;&lt;/p&gt;
&lt;p&gt;I also created a video describing the same topics based on this article, so you can follow along combining both the video and this post.&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/U09ZQ3kjuqM?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-0-what-is-an-enum"&gt;What is an Enum?&lt;/h2&gt;
&lt;p&gt;Enums are the preferred way to define fixed values you want to use in your code. They are a special type of Java class and contain a group of unchangeable variables.&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>Controlling a LED Strip with Pi4J and JBang</title><link>https://foojayio.github.io/website/today/controlling-a-led-strip-with-pi4j-and-jbang/</link><pubDate>Mon, 28 Nov 2022 13:07:06 +0000</pubDate><guid>https://foojayio.github.io/website/today/controlling-a-led-strip-with-pi4j-and-jbang/</guid><description>&lt;p&gt;In an earlier post here on Foojay.io, &lt;a href="https://foojayio.github.io/website/today/controlling-electronics-with-jbang-on-the-raspberry-pi/"&gt;JBang and Pi4J were used to control a LED and button connected to a Raspberry Pi&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;This week Robert von Burg, one of the main contributors of the Pi4J project, &lt;a href="https://mstdn.gsi.li/@eitch/109324090007015888" target="_blank" rel="noopener noreferrer"&gt;shared on Mastodon&lt;/a&gt;
 another project where a LED strip is controlled via I2C.&lt;/p&gt;
&lt;p&gt;This is the result, notice the Foojay.io startup artwork 😉&lt;/p&gt;
&lt;figure class="wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo wp-embed-aspect-16-9 wp-has-aspect-ratio"&gt;
 &lt;div class="wp-block-embed__wrapper"&gt;
 &lt;iframe title="Controlling a LED strip with Pi4J and JBang" src="https://player.vimeo.com/video/771087170?dnt=1&amp;amp;app_id=122963" width="500" height="281" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
&lt;/figure&gt;
&lt;h2 id="h2-0-wiring"&gt;Wiring&lt;/h2&gt;
&lt;p&gt;The Raspberry Pi in the video is attached to a custom PCB used by &lt;a href="https://pi4j.com/featured-projects/soft-real-time-plc-written-in-strolch/" target="_blank" rel="noopener noreferrer"&gt;Robert in medical cabinets&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Controlling Electronics with JBang on the Raspberry Pi</title><link>https://foojayio.github.io/website/today/controlling-electronics-with-jbang-on-the-raspberry-pi/</link><pubDate>Mon, 21 Feb 2022 10:08:06 +0000</pubDate><guid>https://foojayio.github.io/website/today/controlling-electronics-with-jbang-on-the-raspberry-pi/</guid><description>&lt;p&gt;Want to get started with Java programming on the Raspberry Pi?&lt;/p&gt;
&lt;p&gt;JBang is a great way to create your first program to control electronic components connected to the GPIO pins.&lt;/p&gt;
&lt;h2 id="h2-0-what-is-jbang"&gt;What is JBang?&lt;/h2&gt;
&lt;p&gt;As described on their &lt;a href="https://www.jbang.dev/" target="_blank" rel="noopener noreferrer"&gt;website&lt;/a&gt;
:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;JBang lets Students, Educators and Professional Developers create, edit and run self-contained source-only Java programs with unprecedented ease.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Want to learn, explore or use Java instantly without setup?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Do you like Java but use python, groovy, kotlin or similar languages for scripts, experimentation and exploration?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Ever wanted to just be able to run Java from anywhere without any or very minimal setup?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Ever tried out Java 11+ support for running .java files directly in your shell but felt it was a bit too cumbersome?&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;JBang lets you do all this!&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>