<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cloud on foojay.io - Friends Of OpenJDK</title><link>https://foojay.io/today/category/cloud/</link><description>Recent content in Cloud on foojay.io - Friends Of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 21 Sep 2026 05:59:41 +0000</lastBuildDate><atom:link href="https://foojay.io/today/category/cloud/index.xml" rel="self" type="application/rss+xml"/><item><title>Jakarta Faces, Java Web Framework, Stateless Edition: Marketplace AliFaces</title><link>https://foojay.io/today/jakarta-faces-java-web-framework-stateless-edition-marketplace-alifaces/</link><pubDate>Sat, 29 Aug 2026 19:22:52 +0000</pubDate><guid>https://foojay.io/today/jakarta-faces-java-web-framework-stateless-edition-marketplace-alifaces/</guid><description>&lt;h3 id="a-fully-stateless-jakarta-faces-marketplace-with-server-side-rendering--no-httpsession-no-saved-viewstate-no-sticky-sessions"&gt;A Fully Stateless Jakarta Faces Marketplace with Server-Side Rendering — No HttpSession, No Saved ViewState, No Sticky Sessions&lt;/h3&gt;&#10;&lt;p&gt;(see the poc on: &lt;a href="http://129.152.31.253:8080/alifaces" title="AliFaces POC Run On Oracle OCI" target="_blank" rel="noopener noreferrer"&gt;AliFaces POC Run On Oracle OCI(Nanos Unikernel)&lt;/a&gt;)&lt;/p&gt;&#10;&lt;p&gt;Jakarta Faces still carries a few persistent assumptions: it is stateful, it requires &lt;code&gt;HttpSession&lt;/code&gt;, it needs sticky sessions to scale horizontally, and its server-side rendering model belongs to an older generation of web applications.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;AliFaces&lt;/strong&gt; challenges those assumptions with running code — not a Hello World, but a marketplace-style application with catalog, search, filters, cart, checkout, orders, browsing history, themes, responsive layouts and a JSON API for mobile clients.&lt;/p&gt;</description></item><item><title>Build Secure AI Chat Applications with BoxLang, RAG, Ollama, and Amazon Bedrock with Dan Card</title><link>https://foojay.io/today/build-secure-ai-chat-applications-with-boxlang-rag-ollama-and-amazon-bedrock-with-dan-card/</link><pubDate>Thu, 13 Aug 2026 14:52:13 +0000</pubDate><guid>https://foojay.io/today/build-secure-ai-chat-applications-with-boxlang-rag-ollama-and-amazon-bedrock-with-dan-card/</guid><description>&lt;p&gt;&lt;img src="https://foojay.io/today/build-secure-ai-chat-applications-with-boxlang-rag-ollama-and-amazon-bedrock-with-dan-card/dancardWorkshop-700x394.jpg" alt="" width="700" height="394" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;h2 id="build-secure-ai-chat-applications-with-boxlang-rag-ollama-and-amazon-bedrock"&gt;Build Secure AI Chat Applications with BoxLang, RAG, Ollama, and Amazon Bedrock&lt;/h2&gt;&#10;&lt;p&gt;AI demos are everywhere. Building an AI-powered feature that can securely work with your documents, databases, and real application data is a very different challenge.&lt;/p&gt;&#10;&lt;p&gt;How do you give an AI model access to the right information without exposing sensitive data? Should you use a locally hosted model or a cloud service? How do you move beyond a basic chatbot and build something genuinely useful for your users or organization?&lt;/p&gt;</description></item><item><title>BoxLang AWS, Azure, and Google Secrets Manager Module Released</title><link>https://foojay.io/today/boxlang-aws-azure-and-google-secrets-manager-module-released/</link><pubDate>Tue, 21 Jul 2026 11:38:18 +0000</pubDate><guid>https://foojay.io/today/boxlang-aws-azure-and-google-secrets-manager-module-released/</guid><description>&lt;p&gt;&lt;img src="https://foojay.io/today/boxlang-aws-azure-and-google-secrets-manager-module-released/boxlang-secrets-700x467.jpg" alt="" width="700" height="467" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;p&gt;Every production application carries secrets: database passwords, API tokens, encryption keys. The question is never whether to manage them &amp;ndash; it&amp;rsquo;s how badly the current approach is going to hurt you.&lt;/p&gt;&#10;&lt;p&gt;Hardcoded credentials in config files get committed to repos. Environment variables sprawl across deployment pipelines with no audit trail. Custom integration code for each cloud provider means three different patterns to maintain, test, and rotate. And when a key needs to rotate at 2am? Someone is waking up.&lt;/p&gt;</description></item><item><title>Warm Up Fast, Run Lean: Vertical Scaling for Java on Kubernetes with Azul Prime and Kedify</title><link>https://foojay.io/today/warm-up-fast-run-lean-vertical-scaling-for-java-on-kubernetes-with-azul-prime-and-kedify/</link><pubDate>Fri, 17 Jul 2026 08:02:07 +0000</pubDate><guid>https://foojay.io/today/warm-up-fast-run-lean-vertical-scaling-for-java-on-kubernetes-with-azul-prime-and-kedify/</guid><description>&lt;p&gt;Autoscaling on Kubernetes has evolved significantly, but many production systems still rely on reactive scaling based on CPU and memory utilization. The issue is that resource metrics often lag behind real demand. By the time the CPU rises, users may already be experiencing unacceptable latency.&lt;/p&gt;&#10;&lt;p&gt;For most real services, horizontal scaling should be driven by proactive workload signals such as request rate, concurrency, or queue depth, rather than raw CPU alone. To learn more about this, see &lt;a href="https://kedify.io/resources/blog/autoscaling-delay-resource-based-hpa-vs-proactive-metrics" target="_blank" rel="noopener noreferrer"&gt;this post&lt;/a&gt; on autoscaling delay and proactive metrics.&lt;/p&gt;</description></item><item><title>BoxLang 1.15.0 Released: Blazing Fast Strings, Runtime Portability, and much more</title><link>https://foojay.io/today/boxlang-1-15-0-released-blazing-fast-strings-runtime-portability-and-much-more/</link><pubDate>Tue, 14 Jul 2026 17:57:10 +0000</pubDate><guid>https://foojay.io/today/boxlang-1-15-0-released-blazing-fast-strings-runtime-portability-and-much-more/</guid><description>&lt;p&gt;&lt;img src="https://foojay.io/today/boxlang-1-15-0-released-blazing-fast-strings-runtime-portability-and-much-more/boxlang-v1.15.0-700x467.jpg" alt="" width="700" height="467" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;BoxLang 1.15.0&lt;/strong&gt; is a high-impact release with two big headlines and a long tail of hardening. The first headline is a &lt;strong&gt;massive performance upgrade to string handling&lt;/strong&gt; : a new first-class &lt;code&gt;BoxStringBuilder&lt;/code&gt; type, compile-time literal folding, smarter &lt;code&gt;&amp;amp;=&lt;/code&gt; semantics, and a runtime concat strategy that automatically switches to builder-backed accumulation once your expression gets big enough. Your existing string-heavy code just got faster. No rewrites required.&lt;/p&gt;&#10;&lt;p&gt;The second headline is architectural. Every class loader in the BoxLang runtime and module system has been fully abstracted behind a pluggable &lt;code&gt;IClassLoaderFactory&lt;/code&gt; interface. That single seam is what unlocks the &lt;strong&gt;Android runtime&lt;/strong&gt; and &lt;strong&gt;Ahead-of-Time (AOT) compiled runtimes&lt;/strong&gt; such as GraalVM Native Image that we have on the roadmap. The default behavior is unchanged, but the ceiling just got a lot higher.&lt;/p&gt;</description></item><item><title>Why We Moved Our Timefold Java Worker Pods from AMD to ARM64</title><link>https://foojay.io/today/why-we-moved-our-timefold-java-worker-pods-from-amd-to-arm64/</link><pubDate>Wed, 08 Jul 2026 15:25:58 +0000</pubDate><guid>https://foojay.io/today/why-we-moved-our-timefold-java-worker-pods-from-amd-to-arm64/</guid><description>&lt;p&gt;When we investigated unexpected performance variance in our Timefold Solver worker pods on our platform, we traced it to hyperthreading on AMD (x86-64) cloud instances. Switching to ARM (ARM64), where each vCPU maps to a physical core, eliminated the problem and roughly doubled effective throughput per dollar for concurrent solver workloads.&lt;/p&gt;&#10;&lt;p&gt;Originally written by Timefold engineers Lars Beckmann, Jenne De Bleser and Lukáš Petrovický&lt;/p&gt;&#10;&lt;p&gt;Adapted for foojay by Tom Cools&lt;/p&gt;</description></item><item><title>Quarkus Unpacked: Insights from the Foojay Podcast</title><link>https://foojay.io/today/quarkus-unpacked-insights-from-the-foojay-podcast/</link><pubDate>Tue, 23 Jun 2026 12:36:54 +0000</pubDate><guid>https://foojay.io/today/quarkus-unpacked-insights-from-the-foojay-podcast/</guid><description>&lt;figure class="alignleft is-resized"&gt;&#10; &lt;img src="https://foojay.io/today/quarkus-unpacked-insights-from-the-foojay-podcast/3-Quarkus-Unpacked-2-2.jpeg" alt="Quarkus: A Runtime and Framework for Cloud-Native Java" style="width:300px" loading="lazy" class="is-zoomable"&gt;&lt;/figure&gt;&#10;&#10;&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.&lt;/p&gt;&#10;&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>Building Java Containers Without a Dockerfile: Azul Zulu and Paketo Buildpacks</title><link>https://foojay.io/today/building-java-containers-without-a-dockerfile-azul-zulu-and-paketo-buildpacks/</link><pubDate>Thu, 18 Jun 2026 08:15:45 +0000</pubDate><guid>https://foojay.io/today/building-java-containers-without-a-dockerfile-azul-zulu-and-paketo-buildpacks/</guid><description>&lt;p&gt;&lt;em&gt;This is the 5th post in the Azul Zulu Docker Official Images series:&lt;/em&gt;&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/trusted-java-containers-azul-zulu-openjdk-joins-dockers-official-images/" target="_blank" rel="noopener noreferrer"&gt;Trusted Java Containers: Azul Zulu OpenJDK Joins Docker&amp;rsquo;s Official Images&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/the-road-to-docker-official-images-for-java-the-azul-zulu-story/" target="_blank" rel="noopener noreferrer"&gt;The Road to Docker Official Images for Java: The Azul Zulu Story&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/using-the-azul-zulu-docker-official-images-from-simple-pull-to-lean-container/" target="_blank" rel="noopener noreferrer"&gt;Using the Azul Zulu Docker Official Images: From Simple Pull to Lean Container&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/all-azul-zulu-container-images-explained-ca-sa-and-chainguard/" target="_blank" rel="noopener noreferrer"&gt;All Azul Zulu Container Images Explained: CA, SA, and Chainguard&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;Every post in this series so far has shown you a Dockerfile. You pick a base image, copy a JAR, set an entrypoint, and ship. That works well. But Spring Boot developers often skip the Dockerfile entirely and still get a production-ready container with Azul Zulu as the JVM thanks to Paketo Buildpacks. Here is how that works, and how to configure it.&lt;/p&gt;</description></item><item><title>Foojay Podcast #96: Local AWS Development Without LocalStack: Meet Floci, the GraalVM-Powered Alternative</title><link>https://foojay.io/today/foojay-podcast-96/</link><pubDate>Mon, 25 May 2026 06:36:00 +0000</pubDate><guid>https://foojay.io/today/foojay-podcast-96/</guid><description>&lt;p&gt;What if you could run 35 AWS services locally in under 25 milliseconds, using just 13 megabytes of memory, with a single Docker command and no cloud bill? That&amp;rsquo;s exactly what Floci does.&lt;/p&gt;&#10;&lt;p&gt;In this episode, Frank Delporte talks with Hector Ventura, the creator of Floci, a free and open-source cloud emulator built with Quarkus and GraalVM native compilation. Hector walks us through why he built it when LocalStack dropped its open-source community edition, how AI tooling helped him accelerate development of new service integrations, the challenges of keeping GraalVM happy with third-party libraries, and the road ahead for Azure and GCP support.&lt;/p&gt;</description></item><item><title>All Azul Zulu Container Images Explained: CA, SA, and Chainguard</title><link>https://foojay.io/today/all-azul-zulu-container-images-explained-ca-sa-and-chainguard/</link><pubDate>Wed, 20 May 2026 09:56:00 +0000</pubDate><guid>https://foojay.io/today/all-azul-zulu-container-images-explained-ca-sa-and-chainguard/</guid><description>&lt;p&gt;&lt;em&gt;Previously in this series:&lt;/em&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/trusted-java-containers-azul-zulu-openjdk-joins-dockers-official-images/" target="_blank" rel="noopener noreferrer"&gt;Trusted Java Containers: Azul Zulu OpenJDK Joins Docker&amp;rsquo;s Official Images&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/the-road-to-docker-official-images-for-java-the-azul-zulu-story/" target="_blank" rel="noopener noreferrer"&gt;The Road to Docker Official Images for Java: The Azul Zulu Story&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/using-the-azul-zulu-docker-official-images-from-simple-pull-to-lean-container/" target="_blank" rel="noopener noreferrer"&gt;Using the Azul Zulu Docker Official Images: From Simple Pull to Lean Container&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;The launch of &lt;a href="https://hub.docker.com/_/azul-zulu" target="_blank" rel="noopener noreferrer"&gt;Azul Zulu as Docker Official Images&lt;/a&gt; was a milestone, but it&amp;rsquo;s just one of several ways to get Azul Zulu Builds of OpenJDK in a container. Depending on whether you&amp;rsquo;re evaluating Azul Zulu, running it in production under a support contract, or operating in a high-security environment, the right image source will vary. In this post, I&amp;rsquo;ll show you all the possibilities.&#10;&lt;img src="https://foojay.io/today/all-azul-zulu-container-images-explained-ca-sa-and-chainguard/azul-zulu-ca-sa-chainguard-1024x576.avif" alt="" loading="lazy" decoding="async"&gt;&lt;/p&gt;</description></item><item><title>Using the Azul Zulu Docker Official Images: From Simple Pull to Lean Container</title><link>https://foojay.io/today/using-the-azul-zulu-docker-official-images-from-simple-pull-to-lean-container/</link><pubDate>Fri, 08 May 2026 09:05:22 +0000</pubDate><guid>https://foojay.io/today/using-the-azul-zulu-docker-official-images-from-simple-pull-to-lean-container/</guid><description>&lt;p&gt;&lt;em&gt;Previously in this series:&lt;/em&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/trusted-java-containers-azul-zulu-openjdk-joins-dockers-official-images/" target="_blank" rel="noopener noreferrer"&gt;Trusted Java Containers: Azul Zulu OpenJDK Joins Docker&amp;rsquo;s Official Images&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/the-road-to-docker-official-images-for-java-the-azul-zulu-story/" target="_blank" rel="noopener noreferrer"&gt;The Road to Docker Official Images for Java: The Azul Zulu Story&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;a href="https://hub.docker.com/_/azul-zulu" target="_blank" rel="noopener noreferrer"&gt;Azul Zulu is now a Docker Official Image&lt;/a&gt;, so getting a trusted, secure Java base image is now just a &lt;code&gt;FROM azul-zulu&lt;/code&gt; line in your Dockerfile. But pulling the right image is just the beginning. This post shows you how to use these images in practice, and how a few extra steps can seriously cut the size of what you ship.&#10;&lt;img src="https://foojay.io/today/using-the-azul-zulu-docker-official-images-from-simple-pull-to-lean-container/azul-docker-official-1024x576.avif" alt="" loading="lazy" decoding="async"&gt;&lt;/p&gt;</description></item><item><title>The Road to Docker Official Images for Java: The Azul Zulu Story</title><link>https://foojay.io/today/the-road-to-docker-official-images-for-java-the-azul-zulu-story/</link><pubDate>Fri, 24 Apr 2026 08:57:12 +0000</pubDate><guid>https://foojay.io/today/the-road-to-docker-official-images-for-java-the-azul-zulu-story/</guid><description>&lt;p&gt;&lt;em&gt;Previously in this series:&lt;/em&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;em&gt;&lt;a href="https://www.azul.com/blog/trusted-java-containers-azul-zulu-openjdk-joins-dockers-official-images/" target="_blank" rel="noopener noreferrer"&gt;Trusted Java Containers: Azul Zulu OpenJDK Joins Docker&amp;rsquo;s Official Images&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;After more than two years of collaboration, reviews, and back-and-forth with the Docker team, Azul Zulu Builds of OpenJDK have officially joined &lt;a href="https://hub.docker.com/_/azul-zulu" target="_blank" rel="noopener noreferrer"&gt;Docker&amp;rsquo;s Official Images&lt;/a&gt; program. This is not just a badge of honor. It changes how Java developers can pull and trust their container base images.&lt;/p&gt;&#10;&lt;p&gt;The formal announcement is on the &lt;a href="https://www.azul.com/blog/trusted-java-containers-azul-zulu-openjdk-joins-dockers-official-images/" target="_blank" rel="noopener noreferrer"&gt;Azul blog&lt;/a&gt;. In this post, I&amp;rsquo;ll walk you through what happened, why it matters, and how to start using these images today.&lt;/p&gt;</description></item><item><title>AWS Nitro and CPU Graviton Meets Unikernels</title><link>https://foojay.io/today/aws-nitro-and-cpu-graviton-meets-unikernels/</link><pubDate>Fri, 10 Apr 2026 16:26:25 +0000</pubDate><guid>https://foojay.io/today/aws-nitro-and-cpu-graviton-meets-unikernels/</guid><description>&lt;h2 id="aws-nitro-and-cpu-graviton-meets-unikernels-java-and-quarkus-on-arm64-aws-graviton-with-nanos-unikernel"&gt;AWS Nitro and CPU Graviton Meets Unikernels: Java and Quarkus on ARM64 AWS Graviton with Nanos Unikernel&lt;/h2&gt;&#10;&lt;p&gt;&lt;img src="https://foojay.io/today/aws-nitro-and-cpu-graviton-meets-unikernels/2c957ea8-2c6b-4caa-86f8-5adeb9e8bedc-619d4e1c.jpg" alt="image" width="1536" height="1024" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;h2 id="java-and-jakarta-ee-truly-meet-unikernels"&gt;Java and Jakarta EE Truly Meet Unikernels&lt;/h2&gt;&#10;&lt;p&gt;The key message of this article is simple and strong:&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;any Java or Jakarta EE application is already ready&lt;/strong&gt; to benefit from the advantages of unikernels.&lt;/p&gt;&#10;&lt;p&gt;Java and Jakarta EE, including modern frameworks such as Quarkus, can immediately take advantage of the unikernel model &lt;strong&gt;without waiting for new languages, new runtimes, or radical rewrites&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>From Zero to Full Observability with Dash0</title><link>https://foojay.io/today/from-zero-to-full-observability-with-dash0/</link><pubDate>Sat, 04 Apr 2026 06:35:47 +0000</pubDate><guid>https://foojay.io/today/from-zero-to-full-observability-with-dash0/</guid><description>&lt;p&gt;This guide walks through the complete process of deploying a minimal Spring Boot service to Kubernetes and adding full observability using the &lt;a href="https://www.dash0.com/docs/dash0/monitoring/kubernetes/about-kubernetes" target="_blank" rel="noopener noreferrer"&gt;Dash0 Kubernetes Operator&lt;/a&gt; — without making any changes to the application code.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://www.dash0.com/docs/dash0" target="_blank" rel="noopener noreferrer"&gt;Dash0&lt;/a&gt; is an OpenTelemetry-native observability platform that collects and correlates traces, metrics, and logs, and provides infrastructure monitoring across Kubernetes resources — pods, nodes, namespaces, deployments, daemonsets, statefulsets, jobs, and cronjobs — as well as cloud infrastructure such as AWS. Its Kubernetes operator can automatically instrument workloads at the pod level, with no changes required to application code or container images.&#10;&lt;img src="https://foojay.io/today/from-zero-to-full-observability-with-dash0/kubernetes-dash0-1024x581.jpg" alt="" width="1024" height="581" loading="lazy" decoding="async"&gt;&lt;/p&gt;</description></item><item><title>Introducing Floci: A High-Performance, GraalVM-Powered AWS Emulator</title><link>https://foojay.io/today/introducing-floci-a-high-performance-graalvm-powered-aws-emulator/</link><pubDate>Fri, 03 Apr 2026 19:00:53 +0000</pubDate><guid>https://foojay.io/today/introducing-floci-a-high-performance-graalvm-powered-aws-emulator/</guid><description>&lt;h2 id="the-motivation-why-another-aws-emulator"&gt;The Motivation: Why Another AWS Emulator?&lt;/h2&gt;&#10;&lt;p&gt;&lt;img src="https://foojay.io/today/introducing-floci-a-high-performance-graalvm-powered-aws-emulator/perf-chart-light-700x394.png" alt="" width="700" height="394" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;p&gt;As Java developers, we are used to local-first development. Tools that emulate the cloud environment have become essential for keeping feedback loops tight and costs at zero. However, the ecosystem has shifted. Many of us have felt the friction of:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Mandatory Authentication: Needing to log in or use tokens just to run local tests.&lt;/li&gt;&#10;&lt;li&gt;Heavy Resource Footprint: Docker containers that consume a lot of resources.&lt;/li&gt;&#10;&lt;li&gt;Slow Startup: Waiting several seconds for the environment to be &lt;strong&gt;ready.&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;I created Floci (from the floccus cloud formation) to solve these specific pain points. It is a 100% open-source, MIT-licensed alternative designed for speed, privacy, and simplicity.&lt;/p&gt;</description></item><item><title>Does Language Still Matter in the Age of AI? Yes — But the Tradeoff Has Changed</title><link>https://foojay.io/today/does-language-still-matter-in-the-age-of-ai-yes-but-the-tradeoff-has-changed/</link><pubDate>Wed, 25 Mar 2026 16:37:20 +0000</pubDate><guid>https://foojay.io/today/does-language-still-matter-in-the-age-of-ai-yes-but-the-tradeoff-has-changed/</guid><description>&lt;h2&gt;&lt;img src="https://foojay.io/today/does-language-still-matter-in-the-age-of-ai-yes-but-the-tradeoff-has-changed/dominance-700x467.jpg" alt="" width="700" height="467" loading="lazy" decoding="async"&gt;&lt;/h2&gt;&#10;&lt;p&gt;I keep hearing the same question in architecture reviews, slack threads, and conference Hallways:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;&amp;ldquo;If AI is writing the code, does language even matter anymore?&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;It does. More than ever, actually — just not for the reasons we&amp;rsquo;ve been arguing about for the last decade.&lt;/p&gt;&#10;&lt;h2 id="the-bottleneck-has-moved"&gt;The Bottleneck Has Moved&lt;/h2&gt;&#10;&lt;p&gt;For decades, we optimized for developer productivity. How fast can someone write code? How expressive is the language? How quickly can we ship features?&lt;/p&gt;</description></item><item><title>Introducing the BoxLang Spring Boot Starter: Dynamic JVM Templating for Spring</title><link>https://foojay.io/today/introducing-the-boxlang-spring-boot-starter-dynamic-jvm-templating-for-spring/</link><pubDate>Thu, 19 Mar 2026 14:20:02 +0000</pubDate><guid>https://foojay.io/today/introducing-the-boxlang-spring-boot-starter-dynamic-jvm-templating-for-spring/</guid><description>&lt;p&gt;&lt;img src="https://foojay.io/today/introducing-the-boxlang-spring-boot-starter-dynamic-jvm-templating-for-spring/boxlang-spring-boot-release-700x467.jpg" alt="" width="700" height="467" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;p&gt;Spring Boot developers know the pain of evaluating view technologies. Thymeleaf is great — until you need more expressiveness. FreeMarker is powerful — until the syntax fights you. What if you could write templates in a dynamic JVM language that gives you the full power of the platform, feels natural, and requires zero setup to integrate?&lt;/p&gt;&#10;&lt;p&gt;Meet the &lt;strong&gt;BoxLang Spring Boot Starter.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Drop one dependency into your Spring Boot 3 app and start writing dynamic &lt;code&gt;.bxm&lt;/code&gt; templates powered by BoxLang — a modern, expressive JVM language. Zero configuration. Full web scopes. 100% Java interoperable. Not only that, you get full access to BoxLang&amp;rsquo;s framework capabilities so you can integrate tons of features into your Spring Boot applications:&lt;/p&gt;</description></item><item><title>BoxLang 1.11.0 Release</title><link>https://foojay.io/today/boxlang-1-11-0-release/</link><pubDate>Tue, 17 Mar 2026 09:40:04 +0000</pubDate><guid>https://foojay.io/today/boxlang-1-11-0-release/</guid><description>&lt;p&gt;&lt;img src="https://foojay.io/today/boxlang-1-11-0-release/boxlang-v1.11.0-700x467.jpg" alt="" width="700" height="467" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;p&gt;We&amp;rsquo;re proud to announce &lt;strong&gt;BoxLang 1.11.0&lt;/strong&gt;, a highly focused performance and stability release that delivers measurable speed improvements across every BoxLang application, with zero code changes required. The team invested deeply in bytecode generation, class loading, lock management, and type casting to produce one of the most impactful runtime optimization releases to date. Alongside the performance wave, this release resolves critical concurrency bugs, hardens DateTime handling, and ships powerful new developer tooling.&lt;/p&gt;</description></item><item><title>JC-AI Newsletter #14</title><link>https://foojay.io/today/jc-ai-newsletter-14/</link><pubDate>Tue, 03 Mar 2026 15:11:53 +0000</pubDate><guid>https://foojay.io/today/jc-ai-newsletter-14/</guid><description>&lt;p&gt;&lt;strong&gt;Two&lt;/strong&gt; weeks have passed and a lot have been happening on the field of artificial-intelligence.&lt;/p&gt;&#10;&lt;p&gt;Two weeks have passed and a lot has been silently yet visibly happening in the field of artificial intelligence. This newsletter brings interesting developments, including Dario Amodei&amp;rsquo;s (Anthropic) view on the progress achieved in the LLM field and his response to the utilization of these models for specific kinds of military purposes, as well as OpenAI&amp;rsquo;s response to it. Aside from the fact that development may follow more sigmoids instead of exponential progress, it is important to have awareness of utilization across branches. Does prompting and clarifying the goal influence agent responses, and if so, how? How far are we from reliable robotics applications? How much bias is introduced when clinical data is being analyzed?&lt;/p&gt;</description></item><item><title>Announcing Cloud-Native BoxLang for $5/Month</title><link>https://foojay.io/today/announcing-cloud-native-boxlang-for-5-month/</link><pubDate>Mon, 23 Feb 2026 16:39:44 +0000</pubDate><guid>https://foojay.io/today/announcing-cloud-native-boxlang-for-5-month/</guid><description>&lt;p&gt;&lt;img src="https://foojay.io/today/announcing-cloud-native-boxlang-for-5-month/boxlang-digitalocean-wave-700x467.jpg" alt="" width="700" height="467" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; We just released a production-ready starter template that deploys a modern BoxLang application to DigitalOcean App Platform in under 5 minutes—starting at just &lt;strong&gt;$5/month.&lt;/strong&gt; One-click deployment, auto-scaling, automatic redeployments, and zero downtime included.&lt;/p&gt;&#10;&lt;h2 id="cloud-native-boxlang-has-never-been-easier"&gt;Cloud-Native BoxLang Has Never Been Easier&lt;/h2&gt;&#10;&lt;p&gt;Today, we&amp;rsquo;re excited to announce the BoxLang DigitalOcean Starter Template—a complete, production-ready solution that takes you from zero to deployed BoxLang application in minutes, not hours.&lt;/p&gt;&#10;&lt;p&gt;For many developers evaluating modern JVM languages, the question isn&amp;rsquo;t &amp;ldquo;Can it run?&amp;rdquo; but rather &amp;ldquo;How easily can I get this into production?&amp;rdquo; With this starter, the answer is now: ridiculously easy.&lt;/p&gt;</description></item><item><title>Unikernel: Profiling and Troubleshooting JVM on Nanos Unikernel</title><link>https://foojay.io/today/unikernel-profiling-and-troubleshooting-jvm-on-nanos-unikernel/</link><pubDate>Wed, 11 Feb 2026 13:50:41 +0000</pubDate><guid>https://foojay.io/today/unikernel-profiling-and-troubleshooting-jvm-on-nanos-unikernel/</guid><description>&lt;h3 id="profiling-a-java-application-running-inside-an-unikernel-with-jprofiler"&gt;Profiling a Java Application Running Inside an Unikernel with JProfiler&lt;/h3&gt;&#10;&lt;p&gt;Unikernels are often associated with minimalism and tight resource control.&lt;/p&gt;&#10;&lt;p&gt;But can we profile a Java application running inside a unikernel using a standard JVM profiler?&lt;/p&gt;&#10;&lt;p&gt;The answer is yes.&lt;/p&gt;&#10;&lt;p&gt;In this guide, we will walk step by step through profiling a Quarkus&lt;/p&gt;&#10;&lt;p&gt;application running inside a Nanos unikernel using &lt;strong&gt;JProfiler&lt;/strong&gt; and&lt;br&gt;&#10;&lt;strong&gt;IBM Semeru JRE 25 (OpenJ9)&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;No special hacks. Just standard JVM tooling.&lt;/p&gt;</description></item><item><title>DocBox v5 - Reborn: Modern API Docs for BoxLang &amp; CFML</title><link>https://foojay.io/today/docbox-v5-reborn-modern-api-docs-for-boxlang-cfml/</link><pubDate>Tue, 27 Jan 2026 12:15:45 +0000</pubDate><guid>https://foojay.io/today/docbox-v5-reborn-modern-api-docs-for-boxlang-cfml/</guid><description>&lt;p&gt;&lt;img src="https://foojay.io/today/docbox-v5-reborn-modern-api-docs-for-boxlang-cfml/bx-docbox-700x467.jpg" alt="" width="700" height="467" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;p&gt;Welcome to DocBox v5! We didn&amp;rsquo;t just update DocBox. We rebuilt it from the ground up.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;DocBox v5.0.0&lt;/strong&gt; represents a complete architectural rewrite—modern syntax, blazing performance, and a stunning new look that finally brings API documentation into 2025. Gone are the clunky HTML pages of yesteryear. Say hello to a gorgeous, theme-driven single-page application that makes browsing your API docs feel like using a premium developer tool. We have also released a dedicated module for BoxLang: &lt;strong&gt;BX-DOCBOX&lt;/strong&gt;. A fully interactive CLI tool for generating your docs from the command line using pure BoxLang.&lt;/p&gt;</description></item><item><title>BoxLang AI v2: Enterprise AI Development Without the Complexity</title><link>https://foojay.io/today/boxlang-ai-v2-enterprise-ai-development-without-the-complexity/</link><pubDate>Thu, 22 Jan 2026 15:09:25 +0000</pubDate><guid>https://foojay.io/today/boxlang-ai-v2-enterprise-ai-development-without-the-complexity/</guid><description>&lt;p&gt;&lt;img src="https://foojay.io/today/boxlang-ai-v2-enterprise-ai-development-without-the-complexity/boxlang-ai-v2-700x467.jpg" alt="" width="700" height="467" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;One Year. 100+ Features. Unlimited Possibilities.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Just one year ago, in March 2024, we launched BoxLang AI 1.0. Today, we&amp;rsquo;re thrilled to announce &lt;strong&gt;BoxLang AI v2&lt;/strong&gt;—a massive leap forward that positions BoxLang as one of the most powerful and versatile AI framework on the JVM. This release is 9-months in the making, with over 100 new features! This would have not been possible without all the new features that the BoxLang JVM language exposes to developers like: Server Side Events, HTTP Streaming, HTTP pooling, Caching, and so much more.&lt;/p&gt;</description></item><item><title>From Cloudflare Zero-trust to Tailscale</title><link>https://foojay.io/today/from-cloudflare-zero-trust-to-tailscale/</link><pubDate>Mon, 12 Jan 2026 20:04:31 +0000</pubDate><guid>https://foojay.io/today/from-cloudflare-zero-trust-to-tailscale/</guid><description>&lt;p&gt;I have spent some time last year implementing &lt;a href="https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/" target="_blank" rel="noopener noreferrer"&gt;Cloudflare Tunnels&lt;/a&gt; on my &lt;a href="https://blog.frankel.ch/home-assistant/6/" target="_blank" rel="noopener noreferrer"&gt;Home Assistant&lt;/a&gt; and my &lt;a href="https://blog.frankel.ch/second-cloudflare-tunnel/" target="_blank" rel="noopener noreferrer"&gt;Synology NAS&lt;/a&gt;. On Mastodon, I had not one but two commenters advertising for Tailscale:&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://mastodon.top/@frankel/115639107167365460" target="_blank" rel="noopener noreferrer"&gt;https://mastodon.top/@frankel/115639107167365460&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;I decided to give it a try and migrate my servers and devices to Tailscale. In this post, I want to describe how I did. Thanks to Heiko Does and higgins for prompting me to look further!&lt;/p&gt;&#10;&lt;h2 id="what-is-tailscale-how-and-why"&gt;What is Tailscale, how and why?&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;A Zero Trust identity-based connectivity platform that replaces your legacy VPN, SASE, and PAM and connects remote teams, multi-cloud environments, CI/CD pipelines, Edge &amp;amp; IoT devices, and AI workloads.&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://foojay.io/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://foojay.io/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://foojay.io/today/not-a-lucid-web3-dream-anymore-x402-erc-8004-a2a-and-the-next-wave-of-ai-commerce/daydreams-scaled.jpg" alt="DayDreams" width="1600" height="686" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&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;&#10;&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–3 years.&lt;/em&gt;&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;h3 id="vocabulary-for-this-article"&gt;Vocabulary for this article&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="foreword"&gt;Foreword&lt;/h2&gt;&#10;&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>Optimizing Java for the Cloud-Native Era with Quarkus</title><link>https://foojay.io/today/optimizing-java-for-the-cloud-native-era-with-quarkus/</link><pubDate>Tue, 06 Jan 2026 21:09:00 +0000</pubDate><guid>https://foojay.io/today/optimizing-java-for-the-cloud-native-era-with-quarkus/</guid><description>&lt;p&gt;This article explores how Quarkus can help organizations reduce costs, streamline development, and modernize their Java applications for today&amp;rsquo;s cloud-native environments. It outlines the real-world benefits of adopting Quarkus and highlights how its core features address the performance and scalability challenges commonly associated with traditional Java frameworks.&lt;/p&gt;&#10;&lt;p&gt;Quarkus is already being adopted across industries. One example is Orange, a global telecom provider that selected Quarkus to support its 5G API initiative, and benefited from fast startup times, a lightweight footprint, and seamless integration with Kubernetes.&lt;/p&gt;</description></item><item><title>Java and Jakarta EE and the Evolution of the Cloud with Nanos Unikernel</title><link>https://foojay.io/today/java-jakarta-ee-and-the-evolution-of-the-cloud-with-nanos-unikernel/</link><pubDate>Tue, 06 Jan 2026 20:51:09 +0000</pubDate><guid>https://foojay.io/today/java-jakarta-ee-and-the-evolution-of-the-cloud-with-nanos-unikernel/</guid><description>&lt;p&gt;The evolution of the Java and Jakarta Enterprise ecosystem is converging toward an increasingly simple, efficient, and scalable architecture that improves security, delivers higher performance, and reduces hardware and infrastructure costs.&lt;/p&gt;&#10;&lt;p&gt;For years, Kubernetes has been considered the de‑facto standard for modernizing Java applications in a cloud‑native direction. However, Kubernetes is not the only way to achieve scalability, continuous upgrades, and isolation. An alternative approach — often underestimated — is to leverage the &lt;strong&gt;hypervisors already included and fully managed by major cloud providers&lt;/strong&gt; , using &lt;strong&gt;Unikernel&lt;/strong&gt; images based on &lt;a href="https://nanovms.com" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Nanos&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Quarkus: A Runtime and Framework for Cloud-Native Java</title><link>https://foojay.io/today/quarkus-a-runtime-and-framework-for-cloud-native-java/</link><pubDate>Tue, 06 Jan 2026 13:46:50 +0000</pubDate><guid>https://foojay.io/today/quarkus-a-runtime-and-framework-for-cloud-native-java/</guid><description>&lt;p&gt;Public clouds such as AWS, Microsoft Azure, and Google Cloud, and platforms like Red Hat OpenShift, favor services that start fast and stay lean. Quarkus is engineered for exactly that.&lt;/p&gt;&#10;&lt;p&gt;Build time processing reduces runtime overhead and results in rapid startup, a small memory footprint, and frictionless deployment across Kubernetes, OpenShift, serverless, and managed container services in any cloud. If your Java services need to start in milliseconds, run dense on shared nodes, and still feel great to build, Quarkus was made for that job.&lt;/p&gt;</description></item><item><title>Make Java Fleets Warm Up Faster on AWS With Azul Optimizer Hub</title><link>https://foojay.io/today/make-java-fleets-warm-up-faster-on-aws-with-azul-optimizer-hub/</link><pubDate>Thu, 18 Dec 2025 08:35:52 +0000</pubDate><guid>https://foojay.io/today/make-java-fleets-warm-up-faster-on-aws-with-azul-optimizer-hub/</guid><description>&lt;p&gt;&lt;em&gt;Traditional Java executes code in slower interpreted mode, known as Java warmup, until it can build an optimized profile. This means it can only start optimizing once the application takes traffic and touches the critical code paths. Just when you are scaling out for a large bump in traffic, your machines are running at their slowest and are splitting their available CPU power between handling requests and performing expensive JIT optimizations&lt;/em&gt;&lt;/p&gt;</description></item><item><title>My second Cloudflare Tunnel</title><link>https://foojay.io/today/my-second-cloudflare-tunnel/</link><pubDate>Tue, 02 Dec 2025 20:59:58 +0000</pubDate><guid>https://foojay.io/today/my-second-cloudflare-tunnel/</guid><description>&lt;p&gt;I decided to stop using Twitter, but for my own content and supporting Ukraine against its barbarian invaders, I understood the contemporary media landscape was quite fragmented. I bet on Mastodon, Bluesky, and LinkedIn. My flow is the following: when I read a piece I find interesting, I schedule it for publication. The problem is that every social media platform has a different scheduler: Mastodon has the &lt;a href="https://www.scheduler.mastodon.tools/" target="_blank" rel="noopener noreferrer"&gt;Mastodon scheduler&lt;/a&gt;, LinkedIn has an in-built feature, and Bluesky has&amp;hellip; nothing. I had enough.&lt;/p&gt;</description></item></channel></rss>