Writing on software development and anything else I find interesting.

All of my long-form thoughts on programming, content creation, and more, collected in chronological order.

Building a Spring Security Login Form with JTE

Building a Spring Security Login Form with JTE

Learn how to create a secure login form using Spring Security and JTE (Java Template Engine) with support for both traditional authentication and OAuth2 providers.

Getting Started with Spring AI and RAG: A Practical Guide

Learn how to build intelligent applications using Retrieval Augmented Generation (RAG) with Spring AI. This practical guide covers everything from understanding tokens and context windows to implementing a full RAG solution.

Building Generative AI Applications in Java: From Simple Scripts to Spring Boot

Explore how Java developers can leverage generative AI, from basic curl commands to robust Spring Boot applications. Learn to integrate OpenAI's GPT models, use Java's HTTP client, and harness the power of Spring AI for structured output and simplified AI integration.

Calling Multiple LLMs with Spring AI: A Practical Guide

Learn how to integrate and call multiple Large Language Models (LLMs) like OpenAI's GPT-4 and Anthropic's Claude in a single Spring Boot application using Spring AI. This tutorial covers project setup, configuration, and implementation of separate controllers for each LLM.

Building Intelligent Chatbots with Spring AI: Implementing Chat Memory

Learn how to create a context-aware chatbot using Spring AI and OpenAI. This tutorial covers implementing chat memory, handling token usage, and managing context window limitations for more engaging AI conversations.