41554 blogs ยท [ { "id": "01a0d879-5e66-727b-a651-15e8b854c508", "title": "Multimodal Decision Models: From DiffusionGemma and Jev to LangChain4j", "url": "https://glaforge.dev/posts/2026/09/24/multimodal-decision-models-with-diffusiongemma-jev-and-langchain4j/", "published_at": "2026-09-24T15:45:00+00:00" }, { "id": "01a0d879-5e66-727b-a651-15e8b91fa768", "title": "Gemini 3.8 Flash TTS, Voice Design, and Custom Voices with the Gemini Interactions Java SDK", "url": "https://glaforge.dev/posts/2026/09/24/gemini-3-8-flash-tts-and-custom-voices-with-the-interactions-java-sdk/", "published_at": "2026-09-24T09:30:00+00:00" }, { "id": "01a0d879-5e66-727b-a651-15e8b9f59944", "title": "Running Agents Powered by Local Gemma Models with LiteRT-LM and the Antigravity Java SDK", "url": "https://glaforge.dev/posts/2026/09/23/running-local-gemma-models-with-litert-and-antigravity-java-sdk/", "published_at": "2026-09-23T18:30:00+00:00" }, { "id": "01a0d879-5e66-727b-a651-15e8ba303660", "title": "Antigravity SDK for the Java Developer", "url": "https://glaforge.dev/talks/2026/09/22/antigravity-sdk-for-the-java-developer/", "published_at": "2026-09-22T18:30:00+00:00" }, { "id": "01a0b0d4-defb-73b8-a707-521e3b26176c", "title": "Sharing a Git-Backed Obsidian Vault Across Computers", "url": "https://glaforge.dev/posts/2026/09/13/sharing-a-git-backed-obsidian-vault-across-computers/", "published_at": "2026-09-12T07:00:00+00:00" }, { "id": "01a0877d-62d1-7302-9af2-b6f6486f1cfa", "title": "Antigravity Brain Visualizer v0.6: Single-pass Gemini 3.8 Flash analysis, artifacts, token estimation", "url": "https://glaforge.dev/posts/2026/09/07/antigravity-brain-visualizer-v0-6-0-single-pass-analysis-artifacts-and-diffs/", "published_at": "2026-09-07T09:15:00+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad1c0a023b", "title": "Comparing the official Google GenAI Java SDK and my Gemini Interactions SDK", "url": "https://glaforge.dev/posts/2026/09/02/comparing-the-official-google-genai-sdk-and-my-gemini-interactions-java-sdk/", "published_at": "2026-09-02T08:30:00+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad1c6d5d9f", "title": "The Unofficial Antigravity SDK for Java", "url": "https://glaforge.dev/posts/2026/07/31/the-unofficial-antigravity-sdk-for-java/", "published_at": "2026-07-31T09:04:03+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad1d02cf68", "title": "Running Gemma 4 locally on Mac: Benchmarking Qxotic Jinfer, llama.cpp, MLX, and connecting Java 25 with LangChain4j", "url": "https://glaforge.dev/posts/2026/07/25/running-gemma-4-locally-on-mac-benchmarking-qxotic-jinfer-llama-cpp-mlx-and-connecting-java-25-with-langchain4j/", "published_at": "2026-07-25T12:35:00+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad1d09d03c", "title": "Antigravity Brain Visualizer Now With a Contextual Smart Chat", "url": "https://glaforge.dev/posts/2026/07/24/antigravity-brain-visualizer-now-with-a-contextual-smart-chat/", "published_at": "2026-07-24T12:51:55+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad1db1b3f8", "title": "Open Reasoning Format: Building Self-Learning AI Coding Agents Without Server Infrastructure", "url": "https://glaforge.dev/posts/2026/07/21/open-reasoning-format-encoding-and-remembering-agentic-behavior/", "published_at": "2026-07-21T15:43:25+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad1ea3caa3", "title": "Selfware: Building my own text editor without knowing Swift", "url": "https://glaforge.dev/posts/2026/07/16/selfware-building-my-own-text-editor-without-knowing-swift/", "published_at": "2026-07-16T14:02:23+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad1f02319e", "title": "Making Sense of Google Agentic Dev Tools", "url": "https://glaforge.dev/talks/2026/07/15/making-sense-of-google-agentic-dev-tools/", "published_at": "2026-07-15T07:18:45+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad1fb2aff6", "title": "Of Skills and Loops with AI Assistance", "url": "https://glaforge.dev/posts/2026/07/01/of-skills-and-loops-with-ai-assistance/", "published_at": "2026-07-01T07:59:59+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad1fb679e8", "title": "Creating Images and Videos in Java With the New Nano Banana and Omni Models", "url": "https://glaforge.dev/posts/2026/06/30/creating-images-and-videos-in-java-with-the-new-nano-banana-and-omni-models/", "published_at": "2026-06-30T17:58:17+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad1fe0b3cc", "title": "Gemini Interactions API now GA: Exploring the release candidate of my Java SDK", "url": "https://glaforge.dev/posts/2026/06/24/gemini-interactions-api-now-ga-exploring-the-release-candidate-of-my-java-sdk/", "published_at": "2026-06-24T11:45:30+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad20037558", "title": "How I Vibecoded a Philosophy Prep App with Google AI Studio and Gemini", "url": "https://glaforge.dev/posts/2026/06/14/how-i-vibecoded-a-philosophy-prep-app-with-ai-studio-and-gemini/", "published_at": "2026-06-14T10:39:28+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad20403475", "title": "Building a Visualizer for Antigravity Agentic Development Sessions", "url": "https://glaforge.dev/posts/2026/06/11/antigravity-brain-visualizer/", "published_at": "2026-06-11T09:58:00+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad211917db", "title": "Customizing Antigravity CLI: Title and Status Line", "url": "https://glaforge.dev/posts/2026/06/07/customizing-antigravity-cli-title-and-statusline/", "published_at": "2026-06-07T15:15:32+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad2197195a", "title": "Iterating on Frontend Design with Stitch and Antigravity CLI", "url": "https://glaforge.dev/posts/2026/05/31/iterating-on-frontend-design-with-stitch-and-antigravity-cli/", "published_at": "2026-05-31T15:40:33+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad22087856", "title": "Managed AI Agents with the Gemini Interactions Java SDK", "url": "https://glaforge.dev/posts/2026/05/21/managed-agents-with-the-gemini-interactions-java-sdk/", "published_at": "2026-05-21T14:22:11+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad22d67771", "title": "Wiring ADK Kotlin agents in an Android application", "url": "https://glaforge.dev/posts/2026/05/21/wiring-adk-kotlin-agents-in-an-android-application/", "published_at": "2026-05-21T03:05:01+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad2314036b", "title": "Agentic Design Patterns", "url": "https://glaforge.dev/talks/2026/05/18/agentic-design-patterns/", "published_at": "2026-05-18T14:54:59+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad236504d5", "title": "Streaming Gemini 3.1's expressive new TTS model in Java", "url": "https://glaforge.dev/posts/2026/04/16/streaming-gemini-3-1-expressive-new-tts-model-in-java/", "published_at": "2026-04-16T12:55:48+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad241a3603", "title": "A Simple Coding Agent in a Loop with LangChain4j, Jbang, and Gemini", "url": "https://glaforge.dev/posts/2026/04/11/a-simple-coding-agent-in-a-loop-with-langchain4j-jbang-and-gemini/", "published_at": "2026-04-11T21:19:24+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad24eabdc7", "title": "An ADK Java agent powered by Gemma 4", "url": "https://glaforge.dev/posts/2026/04/02/an-adk-java-agent-powered-by-gemma-4/", "published_at": "2026-04-02T14:45:10+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad24f1975e", "title": "Creating a Wikipedia MCP Server in Java in a Few Prompts with Skills", "url": "https://glaforge.dev/posts/2026/04/02/creating-a-wikipedia-mcp-server-in-java-in-a-few-prompts/", "published_at": "2026-04-02T08:17:27+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad251d8d90", "title": "Building my Comic Trip agent with ADK Java 1.0", "url": "https://glaforge.dev/posts/2026/03/30/building-my-comic-trip-agent-with-adk-java-1-0/", "published_at": "2026-03-30T20:33:09+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad25f86445", "title": "Generating music with Lyria 3 and the Gemini Interactions Java SDK", "url": "https://glaforge.dev/posts/2026/03/25/generating-music-with-lyria-3-and-the-gemini-interactions-java-sdk/", "published_at": "2026-03-25T22:33:32+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad26f2db70", "title": "Extracting JSON from LLM chatter with JsonSpotter", "url": "https://glaforge.dev/posts/2026/03/22/extracting-json-from-llm-chatter-with-jsonspotter/", "published_at": "2026-03-22T16:53:56+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad271027e6", "title": "Fixing AI Slop with a Skill in Gemini CLI", "url": "https://glaforge.dev/posts/2026/03/08/fixing-ai-slop-with-a-skill-in-gemini-cli/", "published_at": "2026-03-08T20:29:38+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad27a4dccf", "title": "Easily Build a Local MCP Server in Java with a Skill inside Gemini CLI", "url": "https://glaforge.dev/posts/2026/02/21/easily-build-a-local-mcp-server-in-java-with-a-skill-in-gemini-cli/", "published_at": "2026-02-21T21:57:44+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad27c5873f", "title": "Zero Boilerplate Java STDIO MCP Servers with LangChain4j and JBang", "url": "https://glaforge.dev/posts/2026/02/11/zero-boilerplate-java-stdio-mcp-servers-with-langchain4j-and-jbang/", "published_at": "2026-02-11T09:55:40+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad286f3f77", "title": "Advanced RAG โ€” Understanding Reciprocal Rank Fusion in Hybrid Search", "url": "https://glaforge.dev/posts/2026/02/10/advanced-rag-understanding-reciprocal-rank-fusion-in-hybrid-search/", "published_at": "2026-02-10T07:52:11+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad28e923f1", "title": "Decoded: How Google AI Studio Securely Proxies Gemini API Requests", "url": "https://glaforge.dev/posts/2026/02/09/decoded-how-google-ai-studio-securely-proxies-gemini-api-requests/", "published_at": "2026-02-09T07:52:18+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad29b1ba6a", "title": "Latest Gemini and Nano Banana Enhancements in LangChain4j", "url": "https://glaforge.dev/posts/2026/02/06/latest-gemini-and-nano-banana-enhancements-in-langchain4j/", "published_at": "2026-02-06T16:58:34+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad29ceb70e", "title": "Researching Topics in the Age of AI โ€” Rock-Solid Webhooks Case Study", "url": "https://glaforge.dev/posts/2026/02/04/researching-topics-in-the-age-of-ai-rock-solid-webhooks-case-study/", "published_at": "2026-02-04T14:06:17+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad29f065d8", "title": "How to Integrate Gemini CLI with Intellij Idea Using ACP", "url": "https://glaforge.dev/posts/2026/02/01/how-to-integrate-gemini-cli-with-intellij-idea-using-acp/", "published_at": "2026-02-01T17:50:01+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad2a0d4311", "title": "A Javelit Frontend for the Deep Research Agent", "url": "https://glaforge.dev/posts/2026/01/30/a-javelit-frontend-for-the-deep-research-agent/", "published_at": "2026-01-30T13:00:54+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad2afdc279", "title": "Executable Markdown Files with gcli-mdrun & Gemini CLI", "url": "https://glaforge.dev/posts/2026/01/26/executable-markdown-files-with-gcli-mdrun-and-gemini-cli/", "published_at": "2026-01-26T19:13:39+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad2b9a8cb4", "title": "Implementing an arXiv MCP Server with Quarkus in Java", "url": "https://glaforge.dev/posts/2026/01/18/implementing-an-arxiv-mcp-server-with-quarkus-in-java/", "published_at": "2026-01-18T05:12:06+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad2c2b55e9", "title": "On AI Standards and Protocols: Focus on MCP and A2A", "url": "https://glaforge.dev/talks/2026/01/16/on-ai-standards-and-protocols-focus-on-mcp-and-a2a/", "published_at": "2026-01-16T10:04:42+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad2c5cef46", "title": "Building a Research Assistant with the Interactions API in Java", "url": "https://glaforge.dev/posts/2026/01/03/building-a-research-assistant-with-the-interactions-api-in-java/", "published_at": "2026-01-03T10:59:37+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad2d0decb3", "title": "Implementing the Interactions API with Antigravity", "url": "https://glaforge.dev/posts/2025/12/15/implementing-the-interactions-api-with-antigravity/", "published_at": "2025-12-15T09:40:48+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad2d648d48", "title": "AI Agentic Patterns and Anti-Patterns", "url": "https://glaforge.dev/talks/2025/12/02/ai-agentic-patterns-and-anti-patterns/", "published_at": "2025-12-02T11:24:40+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad2d92d5c3", "title": "Gemini Is Cooking Bananas Under Antigravity", "url": "https://glaforge.dev/posts/2025/11/21/gemini-is-cooking-bananas-under-antigravity/", "published_at": "2025-11-21T10:14:08+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad2e5a8803", "title": "Semantic Document Similarity: Finding related articles with vector embedding models", "url": "https://glaforge.dev/posts/2025/11/12/finding-related-articles-with-vector-embedding-models/", "published_at": "2025-11-12T07:52:42+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad2f2a000c", "title": "Driving a web browser with Gemini's Computer Use model in Java", "url": "https://glaforge.dev/posts/2025/11/03/driving-a-web-browser-with-gemini-computer-use-model-in-java/", "published_at": "2025-11-02T00:00:00+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad2f85b31a", "title": "A Javelit frontend for an ADK agent", "url": "https://glaforge.dev/posts/2025/10/26/a-javelit-frontend-for-an-adk-agent/", "published_at": "2025-10-26T17:06:13+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad30849584", "title": "Creating a Javelit chat interface for LangChain4j", "url": "https://glaforge.dev/posts/2025/10/25/creating-a-javelit-chat-interface-for-langchain4j/", "published_at": "2025-10-25T15:11:19+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3098f9ad", "title": "Javelit to create quick interactive app frontends in Java", "url": "https://glaforge.dev/posts/2025/10/24/javelit-to-create-quick-interactive-app-frontends-in-java/", "published_at": "2025-10-24T15:33:27+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad313f0072", "title": "Building AI Agents with ADK for Java", "url": "https://glaforge.dev/talks/2025/10/22/building-ai-agents-with-adk-for-java/", "published_at": "2025-10-22T10:18:14+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad31fae555", "title": "Creative Java AI agents with ADK and Nano Banana ๐ŸŒ", "url": "https://glaforge.dev/posts/2025/09/22/creative-ai-agents-with-adk-and-nano-banana/", "published_at": "2025-09-22T14:51:37+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3202e0d1", "title": "Creating a Streamable HTTP MCP server with Micronaut", "url": "https://glaforge.dev/posts/2025/09/16/creating-a-streamable-http-mcp-server-with-micronaut/", "published_at": "2025-09-16T08:00:31+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad320303a8", "title": "Generating videos in Java with Veo 3", "url": "https://glaforge.dev/posts/2025/09/10/generating-videos-in-java-with-veo3/", "published_at": "2025-09-10T07:46:21+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad323a0779", "title": "Generating and editing images with Nano Banana in Java", "url": "https://glaforge.dev/posts/2025/09/09/calling-nano-banana-from-java/", "published_at": "2025-09-09T05:20:21+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad32ac3920", "title": "In-browser semantic search with EmbeddingGemma", "url": "https://glaforge.dev/posts/2025/09/08/in-browser-semantic-search-with-embeddinggemma/", "published_at": "2025-09-08T07:04:29+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad33525418", "title": "Vibe-coding a Chrome extension with Gemini CLI to summarize articles", "url": "https://glaforge.dev/posts/2025/08/06/vibe-coding-a-chrome-extension-with-gemini-cli-to-summarize-articles/", "published_at": "2025-08-06T11:29:54+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad34425169", "title": "Visualizing ADK multiagent systems", "url": "https://glaforge.dev/posts/2025/08/01/visualizing-adk-multiagent-systems/", "published_at": "2025-08-01T13:07:09+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3454d411", "title": "Mastering agentic workflows with ADK: the recap", "url": "https://glaforge.dev/posts/2025/07/29/mastering-agentic-workflows-with-adk-the-recap/", "published_at": "2025-07-29T06:51:28+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad348e8b61", "title": "Mastering agentic workflows with ADK: Loop agents", "url": "https://glaforge.dev/posts/2025/07/28/mastering-agentic-workflows-with-adk-loop-agents/", "published_at": "2025-07-28T07:37:02+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad34d9ade3", "title": "Mastering agentic workflows with ADK for Java: Parallel agents", "url": "https://glaforge.dev/posts/2025/07/25/mastering-agentic-workflows-with-adk-parallel-agent/", "published_at": "2025-07-25T08:20:33+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad35572118", "title": "Mastering agentic workflows with ADK for Java: Sequential agents", "url": "https://glaforge.dev/posts/2025/07/24/mastering-agentic-workflows-with-adk-sequential-agent/", "published_at": "2025-07-24T06:58:00+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3612c7f0", "title": "Mastering agentic workflows with ADK for Java: Sub-agents", "url": "https://glaforge.dev/posts/2025/07/23/mastering-agentic-workflows-with-adk-sub-agents/", "published_at": "2025-07-23T16:42:56+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad36ebef99", "title": "The Sci-Fi naming problem: Are LLMs less creative than we think?", "url": "https://glaforge.dev/posts/2025/07/22/the-sci-fi-naming-problem-are-llms-less-creative-than-we-think/", "published_at": "2025-07-22T15:13:10+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3728fe65", "title": "AI Agents, the New Frontier for LLMs", "url": "https://glaforge.dev/talks/2025/07/16/ai-agents-the-new-frontier-for-llms/", "published_at": "2025-07-16T10:14:22+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad376448f9", "title": "Advanced RAG โ€” Using Gemini and long context for indexing rich documents (PDF, HTML...)", "url": "https://glaforge.dev/posts/2025/07/14/advanced-rag-using-gemini-and-long-context-for-indexing-rich-documents/", "published_at": "2025-07-13T09:25:25+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad376f520b", "title": "Advanced RAG โ€” Hypothetical Question Embedding", "url": "https://glaforge.dev/posts/2025/07/06/advanced-rag-hypothetical-question-embedding/", "published_at": "2025-07-06T13:57:28+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3770abae", "title": "Expanding ADK AI agent capabilities with tools", "url": "https://glaforge.dev/posts/2025/06/15/expanding-ai-agent-capabilities-with-tools/", "published_at": "2025-06-15T17:12:27+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3836c076", "title": "Building an MCP server with Quarkus and deploying on Google Cloud Run", "url": "https://glaforge.dev/posts/2025/06/09/building-an-mcp-server-with-quarkus-and-deploying-on-google-cloud-run/", "published_at": "2025-06-09T11:01:03+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad38a46ae9", "title": "Expanding ADK Java LLM coverage with LangChain4j", "url": "https://glaforge.dev/posts/2025/06/05/expanding-adk-java-llm-coverage-with-langchain4j/", "published_at": "2025-06-05T14:41:26+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad398a4400", "title": "An ADK Java GitHub template for your first Java AI agent", "url": "https://glaforge.dev/posts/2025/05/27/adk-java-github-template/", "published_at": "2025-05-27T11:01:52+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3a2f0ee6", "title": "Things you never dared to ask about LLMs โ€” Take 2", "url": "https://glaforge.dev/talks/2025/05/26/things-you-never-dared-to-ask-about-llms-take-2/", "published_at": "2025-05-26T10:26:41+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3a9d7fc4", "title": "Beyond the chatbot or AI sparkle: a seamless AI integration", "url": "https://glaforge.dev/posts/2025/05/23/beyond-the-chatbot-or-ai-sparkle-a-seamless-ai-integration/", "published_at": "2025-05-23T12:27:27+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3b61abd7", "title": "Write AI agents in Java โ€” Agent Development Kit getting started guide", "url": "https://glaforge.dev/posts/2025/05/20/writing-java-ai-agents-with-adk-for-java-getting-started/", "published_at": "2025-05-20T09:48:50+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3be9d919", "title": "Vibe coding an MCP server with Micronaut, LangChain4j, and Gemini", "url": "https://glaforge.dev/posts/2025/05/02/vibe-coding-an-mcp-server-with-micronaut-and-gemini/", "published_at": "2025-05-02T17:35:05+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3c5ba03e", "title": "MCP Client and Server with the Java MCP SDK and LangChain4j", "url": "https://glaforge.dev/posts/2025/04/04/mcp-client-and-server-with-java-mcp-sdk-and-langchain4j/", "published_at": "2025-04-04T17:39:58+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3c7e3382", "title": "Quick Tip: Clearing disk space in Cloud Shell", "url": "https://glaforge.dev/posts/2025/03/08/quick-tip-clearing-disk-space-in-cloud-shell/", "published_at": "2025-03-08T15:29:41+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3cd4215a", "title": "LLMs.txt to help LLMs grok your content", "url": "https://glaforge.dev/posts/2025/03/03/llms-txt-to-help-llms-grok-your-content/", "published_at": "2025-03-03T10:03:35+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3d5cf34e", "title": "Pretty-print Markdown on the console", "url": "https://glaforge.dev/posts/2025/02/27/pretty-print-markdown-on-the-console/", "published_at": "2025-02-27T16:01:26+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3e3ef151", "title": "Advanced RAG โ€” Sentence Window Retrieval", "url": "https://glaforge.dev/posts/2025/02/25/advanced-rag-sentence-window-retrieval/", "published_at": "2025-02-25T16:01:50+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3ee92c8c", "title": "The power of large context windows for your documentation efforts", "url": "https://glaforge.dev/posts/2025/02/15/the-power-of-large-context-windows-for-your-documentation-efforts/", "published_at": "2025-02-15T12:55:41+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3f0fc368", "title": "A Generative AI Agent with a real declarative workflow", "url": "https://glaforge.dev/posts/2025/01/31/a-genai-agent-with-a-real-workflow/", "published_at": "2025-01-31T12:06:26+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad3f93dfb4", "title": "An AI agent to generate short sci-fi stories", "url": "https://glaforge.dev/posts/2025/01/27/an-ai-agent-to-generate-short-scifi-stories/", "published_at": "2025-01-27T07:06:40+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad4084fdcf", "title": "Analyzing trends and topics from Bluesky's Firehose with generative AI", "url": "https://glaforge.dev/posts/2025/01/06/analyzing-trends-and-topics-from-blueskys-firehose-with-generative-ai/", "published_at": "2025-01-06T09:10:13+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad40fc6618", "title": "Let's think with Gemini Flash 2.0's experimental thinking mode and LangChain4j", "url": "https://glaforge.dev/posts/2024/12/20/lets-think-with-gemini-2-thinking-mode-and-langchain4j/", "published_at": "2024-12-20T15:14:21+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad415dc753", "title": "Detecting objects with Gemini 2.0 and LangChain4j", "url": "https://glaforge.dev/posts/2024/12/13/detecting-objects-with-gemini-2-and-langchain4j/", "published_at": "2024-12-13T16:54:32+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad41790ca4", "title": "Semantic code search for Programming Idioms with LangChain4j and Vertex AI embedding models", "url": "https://glaforge.dev/posts/2024/12/02/semantic-code-search-for-programming-idioms-with-langchain4j-and-vertex-ai-embedding-models/", "published_at": "2024-12-02T13:42:02+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad426302a8", "title": "Redacting sensitive information when using Generative AI models", "url": "https://glaforge.dev/posts/2024/11/25/redacting-sensitive-information-when-using-generative-ai-models/", "published_at": "2024-11-25T08:24:50+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad435e994e", "title": "Data extraction: The many ways to get LLMs to spit JSON content", "url": "https://glaforge.dev/posts/2024/11/18/data-extraction-the-many-ways-to-get-llms-to-spit-json-content/", "published_at": "2024-11-18T08:47:28+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad43afa874", "title": "Things you never dared to ask about LLMs", "url": "https://glaforge.dev/talks/2024/10/24/things-you-never-dared-to-ask-about-llms/", "published_at": "2024-10-24T14:53:04+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad4461482d", "title": "Advanced RAG Techniques", "url": "https://glaforge.dev/talks/2024/10/14/advanced-rag-techniques/", "published_at": "2024-10-14T08:11:14+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad44be3930", "title": "A Gemini and Gemma tokenizer in Java", "url": "https://glaforge.dev/posts/2024/10/04/a-gemini-and-gemma-tokenizer-in-java/", "published_at": "2024-10-04T13:41:10+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad45442614", "title": "AI Inktober โ€” Generating ink drawings with Imagen 3", "url": "https://glaforge.dev/posts/2024/10/01/ai-nktober-generating-ink-drawings-with-imagen/", "published_at": "2024-09-30T19:25:46+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad45ee5248", "title": "Lots of new cool Gemini stuff in LangChain4j 0.35.0", "url": "https://glaforge.dev/posts/2024/09/29/lots-of-new-cool-gemini-stuff-in-langchain4j/", "published_at": "2024-09-25T11:41:19+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad461920e5", "title": "Some advice and good practices when integrating an LLM in your application", "url": "https://glaforge.dev/posts/2024/09/23/some-good-practices-when-integrating-an-llm-in-your-application/", "published_at": "2024-09-23T15:45:17+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad46d6d3e7", "title": "New Gemini model in LangChain4j", "url": "https://glaforge.dev/posts/2024/09/05/new-gemini-model-in-langchain4j/", "published_at": "2024-09-05T20:42:38+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad47c6caa4", "title": "A retryable JUnit 5 extension for flaky tests", "url": "https://glaforge.dev/posts/2024/09/01/a-retryable-junit-5-extension/", "published_at": "2024-09-01T14:00:51+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad47e78cac", "title": "Let LLM suggest Instagram hashtags for your pictures", "url": "https://glaforge.dev/posts/2024/08/12/let-llm-suggest-instagram-hashtags/", "published_at": "2024-08-12T19:15:19+00:00" }, { "id": "01a0877d-62d2-70eb-ba49-41ad48d79418", "title": "Gemini Nano running locally in your browser", "url": "https://glaforge.dev/posts/2024/08/07/gemini-nano-running-locally-in-your-browser/", "published_at": "2024-08-07T13:57:33+00:00" } ] posts Claim your blog
Back to glaforge.dev
Blog ยท corpus.blog/blogs/glaforge.dev/posts

glaforge.dev

glaforge.dev

2026

2025

2024