Guillaume Laforge @glaforge.dev · 3hThe Open Java formatter mentioned in the article seems to say it's agent friendly. Might be it? 100
Guillaume Laforge @glaforge.dev · 28/09/2026Read the full write-up, test the live app, or grab the code: Article: glaforge.dev/posts/2026/0... GitHub: github.com/glaforge/dev... Live app: devoxx-ai-schedule.cloud.runglaforge.devCrafting a Devoxx Conference Schedule with Gemini, LangChain4j, and MicronautHow I built an AI agent workflow using Gemini 3.5 Flash-Lite, LangChain4j parallel mappers on Java 25 virtual threads, and Micronaut to curate personalized, conflict-free conference schedules for Devo... 010
Guillaume Laforge @glaforge.dev · 28/09/2026Instead of one monolithic prompt (30-40s), LangChain4j runs 5 parallel day agents on Java 25 virtual threads via `ParallelMapperAgent`. Run time dropped to ~5s, costing ~1¢. A guardrail agent catches injections early, and deterministic Java code eliminates room collisions. 210
Guillaume Laforge @glaforge.dev · 28/09/2026Planning your #Devoxx Belgium schedule? With 200+ talks across 8 parallel tracks, picking sessions takes time. I built a personalized agenda generator using #Micronaut, #LangChain4j, and #Gemini 3.5 Flash-Lite on #Java 25 virtual threads! Here is how it works 🧵👇 152
Guillaume Laforge @glaforge.dev · 25/09/2026For more information and details, I explained how to use Google Gemma's diffusion model with @LangChain4j.dev in #Java here: glaforge.dev/posts/2026/...glaforge.devMultimodal Decision Models: From DiffusionGemma and Jev to LangChain4jHow I adapted Matt Mastracci's djev and Daniel Lee's Cloud Run deployment to run multimodal visual classification on Blackwell GPUs, and proposed multimodal extensions to LangChain4j's StructuredDecisionModel. 010
Guillaume Laforge @glaforge.dev · 25/09/2026Once you've picked up a picture or uploaded your own, the #DiffusionGemma model running on #NVidia GPUs will tell you if the photo contains a cat, what kind of fur pattern it has, and how fluffy it is: 210
Guillaume Laforge @glaforge.dev · 25/09/2026Is it a 😺 or not? System 1 models like @typesafeai #jev classify, evaluate truthiness, or give a score. I built an app in #java w/ @micronautfw & @langchain4j hosted on #CloudRun to discover if a picture depicts a cat or not, thanks to #DiffusionGemma purrfect-match.cloud.run/ 231
Reposted by Guillaume LaforgeAstropierre @astropierre.com · 24/09/2026Le saviez-vous ? 99,95% de votre masse est contenue dans le noyau des atomes qui composent votre corps. Mais 99% de la masse de ces noyaux est... de l'énergie (les quarks ne comptent que pour 1%). Conclusion, la masse totale de votre corps est à 98,95%... de l'énergie (et 1,05% de particules).static.klipy.comAmazing Joey KingALT: Amazing Joey King 5032170
Guillaume Laforge @glaforge.dev · 24/09/2026Full story, architecture & code: 👉 glaforge.dev/posts/2026/... Kudos to Matt, & Daniel Lee! Where could you use instant decision models instead of heavy LLMs? Let me know!glaforge.devMultimodal Decision Models: From DiffusionGemma and Jev to LangChain4jHow I adapted Matt Mastracci's djev and Daniel Lee's Cloud Run deployment to run multimodal visual classification on Blackwell GPUs, and proposed multimodal extensions to LangChain4j's StructuredDecisionModel. 010
Guillaume Laforge @glaforge.dev · 24/09/2026Bringing it to #Java with @LangChain4j.dev: LangChain4j was adding StructuredDecisionModel for text. I proposed & implemented native multimodal support. In Java, pass ImageContent with typed Question models (Choice, Noul, Score) for clean, zero-shot visual classification! 110
Guillaume Laforge @glaforge.dev · 24/09/2026What about images? DiffusionGemma includes a SigLIP vision tower. I turned vision back on in Cloud Run and sent a photo of my cat: 😺 Is it a cat? (99.99%) 👁️ Eye color: Blue (99.99%) ☁️ Fluffiness: Extra fluffy All three questions evaluated concurrently in just 129 ms! 🕑 100
Guillaume Laforge @glaforge.dev · 24/09/2026The open-source foundation: Matt Mastracci (github.com/mmastrac) built djev on #DeepMind's DiffusionGemma. Using Daniel Lee's recipe (github.com/taeold), I deployed it on Cloud Run with NVIDIA Blackwell GPUs. With min-instances=0, it scales to zero idle (answering in ~140 ms!)github.comtaeold - Overviewtaeold has 80 repositories available. Follow their code on GitHub. 100
Guillaume Laforge @glaforge.dev · 24/09/2026Instead of generating text token by token, "System 1" decision models (like Jev) act as fast, deterministic decision engines. In a single forward pass, they output calibrated probabilities. Here's how I turned DiffusionGemma into a multimodal visual classifier in Java! 🧵👇 1102
Guillaume Laforge @glaforge.dev · 24/09/2026Walkthrough & code: 👉 glaforge.dev/posts/2026/... Release notes: 👉 github.com/glaforge/ge... What creative voice applications would you build? Let me know!github.comRelease Release v2.0.2 · glaforge/gemini-interactions-api-sdk🎙️ What's New in v2.0.2 This release introduces comprehensive support for the new Gemini 3.8 Flash TTS models, along with first-class Voice Design, Voice Replication, and conversational turn st... 020
Guillaume Laforge @glaforge.dev · 24/09/2026Designing a custom voice in Java takes just a few lines: Voice voice = client.createVoice(Voice.prompted( "A calm, deep French voice, speaking slowly", "French Philosopher", "Gemini 3.8 Flash TTS" )); Pass voice.id() to VoiceConfig. Done. 110
Guillaume Laforge @glaforge.dev · 24/09/2026I just released v2.0.2 of my Gemini Interactions Java SDK to support these new TTS capabilities: • Voice.prompted(...) for prompt-based voice design • Voice.replicated(...) for voice cloning • Content.speech(text, style) for emotional steering • Direct audio preview access 100
Guillaume Laforge @glaforge.dev · 24/09/2026To hear what this sounds like in practice, watch this demo video: 👉 www.youtube.com/watch?v=FL6... It gives a great taste of how natural the voice quality is, and how prompt-based voice design lets you shape distinct vocal personas with realistic cadence.youtube.comCreate your own voices with Gemini 3.8 text-to-speechDesign entirely new vocal personas from scratch for gaming, immersi... 100
Guillaume Laforge @glaforge.dev · 24/09/2026Text-to-speech has reached a whole new level of quality and personalization. With Google's Gemini 3.8 Flash TTS, you can design custom voices from text prompts, steer delivery nuances (whispers, pacing, emotion), and clone voices. And you can do it all in #Java! 🧵👇 152
Guillaume Laforge @glaforge.dev · 23/09/2026Full guide & code walkthrough: 👉 glaforge.dev/posts/2026/... Java SDK v0.2.17 on GitHub: 👉 github.com/glaforge/an... What local agent workflows would you build with Antigravity in Java? Let me know!github.comRelease Antigravity SDK for Java v0.2.17 - Local AI Models (LiteRT LM) & Python SDK v0.1.18 Parity · glaforge/antigravity-java-sdkAntigravity SDK for Java v0.2.17 We are thrilled to announce Antigravity SDK for Java v0.2.17! 🚀 This release brings full feature parity with the upstream Python Antigravity SDK v0.1.18 and incorpo... 023
Guillaume Laforge @glaforge.dev · 23/09/2026Antigravity Java SDK v0.2.17 also brings: • Subagents with dedicated model targeting (route subtasks to smaller models) • Task scheduling tools (schedule & manage_task) • Tool argument rewriting via hooks • Synchronized native harness across macOS, Linux & Windows 110
Guillaume Laforge @glaforge.dev · 23/09/2026Step 2: Connect from Java Configure your agent with LiteRTAgentConfig pointing to your local model path and port 9379. The SDK manages the harness lifecycle and connects to LiteRT-LM's local endpoint. Call agent.chat() as usual, but completely on-device! 100
Guillaume Laforge @glaforge.dev · 23/09/2026Step 1: LiteRT-LM setup Install the on-device runtime: pip install litert-lm Download a Gemma model: litert-lm import --model-id litert-community/gemma-4-E2B-it-litert-lm --output-dir ~/.litert-lm/models/gemma4-e2b/ Serve locally: litert-lm serve --port 9379 100
Guillaume Laforge @glaforge.dev · 23/09/2026Why run local models for agents? • Zero API costs: run repetitive tasks and test assertions without racking up tokens • Data privacy: proprietary code and docs stay on your machine • Offline capable: build and test without internet • Low latency: no roundtrips over the wire 100
Guillaume Laforge @glaforge.dev · 23/09/2026The #antigravity team announced running local Gemma models on-device with LiteRT. Good news for #Java developers: you can do this in Java too! Antigravity Java SDK v0.2.17 is out, reaching full parity with Python SDK v0.1.18. Walkthrough 🧵👇 glaforge.dev/posts/2026/... x.com/antigravity...x.comGoogle Antigravity (@antigravity) on XRun open models like Gemma 4 completely offline in the Antigravity SDK. Built on Google AI Edge’s LiteRT, you can now run Gemma 4 directly on your local GPU. Zero API costs, total data privacy, a… 182
Reposted by Guillaume LaforgeOlivier @olivierleplus.bsky.social · 23/09/2026Not every cool new feature in tech is about AI 😉 I wrote a small article about the "new" CSS feature that FINALLY allows us to customize <select> elements without using JavaScript \o/ builder.aws.com/content/3Jgb...builder.aws.comCustomizable Select: The <select> dropdown FINALLY catches up with CSS | AWS Builder CenterStyle native dropdowns with CSS, from the picker and checkmark to options with rich HTML. Explore current browser support and three practical examples that keep the browser’s built-in selection behavi... 062
Guillaume Laforge @glaforge.dev · 23/09/2026Indeed. No hallucination, respecting the shape. But the value inside can indeed be wrong. 000
Reposted by Guillaume LaforgeSimon Willison @simonwillison.net · 23/09/2026The new Gemini 3.8 TTS models are super-cheap and can generate conversations between multiple voices (from 2,000+, or you can clone your own) - I built a little playground UI for it, then had Claude knock up a script where two pelicans debate moving to Pacifica Pier simonwillison.net/2026/Sep/23/... 9847
Guillaume Laforge @glaforge.dev · 23/09/2026All 8 samples: 👉 github.com/glaforge/ag... SDK repo: 👉 github.com/glaforge/an... What use cases would you build with Antigravity (Java or Python)? PR review bots in GitHub Actions, CI audits, internal tools? Let me know!github.comGitHub - glaforge/antigravity-java-sdk: An unofficial Java port of the Antigravity AI Agent SDK.An unofficial Java port of the Antigravity AI Agent SDK. - glaforge/antigravity-java-sdk 000
Guillaume Laforge @glaforge.dev · 23/09/20265️⃣ GitHub PR Review Agent (Main Demo) Combines custom GitHub tools, review rubrics via Agent Skills, subagents, and lifecycle hooks to compare two competing PRs in LangChain4j, stream thoughts live, and produce an objective review report. 100
Guillaume Laforge @glaforge.dev · 23/09/20264️⃣ Open Agent Skills & Session State Load folder-based skills (SKILL.md) for progressive disclosure: keep prompts lean until specialized knowledge is needed. Plus, inject ToolContext into tool methods to store session-scoped state without polluting LLM schemas.agentskills.ioAgent Skills Overview - Agent SkillsA standardized way to give AI agents new capabilities and expertise. 120
Guillaume Laforge @glaforge.dev · 23/09/20263️⃣ Deny-by-default Security Policies Autonomous agents shouldn't have unrestricted privileges. Configure guardrails with Policies.denyIf(...) to intercept and block destructive operations before execution, allow safe read tools, and fall back to denyAll(). 100
Guillaume Laforge @glaforge.dev · 23/09/20262️⃣ Real-time Streaming & Thinking Modern Gemini models think before answering. With chatStream(), you stream tokens as they arrive while separating the model's internal chain-of-thought (thoughtsDelta) from the final response text (textDelta). Great for transparent UIs. 100
Guillaume Laforge @glaforge.dev · 23/09/20261️⃣ Local Java Tools & Structured Output Annotate Java methods with @Tool and @Param to let the agent call your code. With .finishToolSchema(Record.class), the SDK derives the JSON Schema and deserializes the response directly into your Java record. Zero manual parsing. 200
Guillaume Laforge @glaforge.dev · 23/09/2026Antigravity powers agents across the CLI, IDE, and desktop manager. The Java SDK wraps the native Go execution harness with a fluent, type-safe API for #Gemini models. Browse the 20-slide deck here: speakerdeck.com/glaforge/an...speakerdeck.comAntigravity SDK for the Java DeveloperAntigravity is a family of agentic tools, comprising Antigravity 2.0 (the agent manager desktop application), Antigravity CLI (to work in the terminal),… 110
Guillaume Laforge @glaforge.dev · 23/09/2026Gave a talk at #GDG Cloud Paris about the #antigravity SDK for #Java! While the official SDK is in Python, I built an unofficial Java SDK to bring agent automations to the JVM. Article & 8 code samples 🧵👇 glaforge.dev/talks/2026/... 121
Guillaume Laforge @glaforge.dev · 23/09/2026Looking forward to talk about loop engineering with @wietsevenema.eu at #Devoxx! 020
Reposted by Guillaume Laforgepaulk-asert.bsky.social @paulk-asert.bsky.social · 18/09/2026Version 6.0.0-RC-3 of @groovy.apache.org is available for download with 11 fixes and improvements! Thanks to all involved! Downloads: groovy.apache.org/download.html Groovy 6 Release notes: groovy-lang.org/releasenotes... #groovylang @apache.org 022
Guillaume Laforge @glaforge.dev · 18/09/2026Pour ceux qui suivent l'actualité des #LLMs (avec la sortie de #jev) et qui aiment #DannyBoon... 😆 100
Guillaume Laforge @glaforge.dev · 16/09/2026Ah ouais tu ressembles trop à Steve Jobs comme ça !!! J'adore !!! 140
Guillaume Laforge @glaforge.dev · 16/09/2026I'm sure @sdkman.io will catch up. Did you open a request? 110
Guillaume Laforge @glaforge.dev · 13/09/2026Read the full step-by-step guide with ready-to-use config snippets on my blog: glaforge.dev/posts/2026/... #Obsidian #Git #Productivity #Markdown 050
Guillaume Laforge @glaforge.dev · 13/09/20265️⃣ Sync your plugins & themes, keep secrets local Track `.obsidian/community-plugins.json` and `.obsidian/plugins/` so a new machine is ready right after `git clone`. Check plugins storing API keys in plain text in `data.json`: keep those ignored or in system keychain. 130