Join us next Monday, April 20th, at 9am EST for Quarkus Insights Ep. 244 as Holly Cummins, Eric Deandrea, & Francesco Nigro discuss their efforts for creating consistent, repeatable and transparent benchmark executions for Quarkus and other frameworks. Plus generated charts!

http://bit.ly/quarkusinsights

#java #quarkus #quarkusinsights

Most AI agents are still glorified chatbots.

A real agent needs to schedule work, retry failures, survive restarts, and keep state. In other words: it needs background jobs.

That is a problem Java already knows how to solve well.

Guest post by Ronald Dehuysser on ClawRunr, JobRunr, and why AI agents need real runtime architecture:
https://www.the-main-thread.com/p/ai-agents-background-jobs-java-jobrunr-clawrunr

#Java #AI #AIAgents #JobRunr #Quarkus

Java developers: this guest post by Sebastian Kühnau shows how to build a streaming AI chat with Quarkus, Vaadin Flow, and LangChain4j — all in plain Java. A nice example of token-by-token UI updates without switching to a separate frontend stack.
https://www.the-main-thread.com/p/streaming-ai-chat-java-quarkus-vaadin-langchain4j

#Java #Quarkus #Vaadin #LangChain4j #AI

⏰ Starting soon! Join us for Quarkus Insights Ep. #243 with Guillaume Smet for "What's new with the 3.33 LTS update?"

http://bit.ly/quarkusinsights

#java #quarkus #quarkusinsights

I took down one of my Quarkus posts.

Not because the whole thing was bad. A few answers were just off in a way that can mislead people. That is enough.

So I wrote about the part underneath it: how I try to keep AI-infused IDEs and writing workflows grounded in current docs, runnable code, and explicit guardrails.

Also a bit more personal than usual, because I think this part matters.

https://www.the-main-thread.com/p/quarkus-ai-grounding-java-writing-workflow

#Quarkus #Java #AI #DevTools #TechnicalWriting

I’ve been thinking a lot about where AI coding tools stop being “helpful” and start becoming part of the runtime risk model.

This piece is about that line.

For Java teams, the real issue is not bad generated code. It’s excessive agency: shell access, secrets, MCP tools, and autonomous actions without enough containment.

https://www.the-main-thread.com/p/ai-coding-agents-security-java-blast-radius

#Java #Quarkus #DevSecOps #AICoding #SoftwareSecurity #EnterpriseJava

Generated CRUD endpoints are great… until you need real security.

With Quarkus 3.31 you can secure REST Data Panache endpoints directly on the interface using @PermissionsAllowed — no wrapper resources, no boilerplate.

I built a full end-to-end example with Keycloak + Dev Services.

https://www.the-main-thread.com/p/quarkus-permissions-allowed-rest-data-panache-crud

#Java #Quarkus #Security #Keycloak #OpenSource

I’ve started doing something simple when local LLM behavior feels “off”: I inspect the wire.

In this piece, I show how I route Quarkus → Ollama traffic through mitmproxy to see the real `/v1/chat/completions` payload, compare plain vs tool-enabled requests, and stop guessing.

https://www.the-main-thread.com/p/debug-ollama-traffic-quarkus-mitmproxy

#Java #Quarkus #Ollama #mitmproxy #LLM

I’ve stopped asking which AI coding tool is “best.”

The question that matters more is: how much control do I still have when I use it?

I wrote down the model I use now for IDE agents, CLI agents, and full app generators. It comes down to blast radius, review discipline, and change control.

https://www.the-main-thread.com/p/ai-coding-tools-2026-java-developers-agents-control

#Java #Quarkus #AI #CodingAgents #SoftwareEngineering

Real-time data looks easy until you connect it to an actual stream.

This tutorial shows how to:

process live Bitcoin trades in Java
build Bollinger Bands with sliding windows
detect volatility regimes (not just signals)

No Kafka. No heavy framework. Just Quarkus + Gatherers4j.

https://www.the-main-thread.com/p/real-time-bitcoin-analytics-java-quarkus-bollinger-bands

#Java #Quarkus #Streaming #Reactive #DataEngineering