<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>John Sosoka</title><description>Software Architect specializing in AI/LLM engineering, Java, and Python. Creator, tinkerer, and Boise native.</description><link>https://sosoka.io/</link><item><title>The Basic Building Blocks of Agents</title><link>https://sosoka.io/blog/agent-building-blocks/</link><guid isPermaLink="true">https://sosoka.io/blog/agent-building-blocks/</guid><description>An introduction to building Agents and Agentic workflows in Java with LangChain4J, covering the fundamental building blocks for creating these thinking machines.</description><pubDate>Thu, 23 May 2024 00:00:00 GMT</pubDate></item><item><title>Creating an AI Powered 3D Printer Object Design Factory</title><link>https://sosoka.io/blog/ai-3d-printer-factory/</link><guid isPermaLink="true">https://sosoka.io/blog/ai-3d-printer-factory/</guid><description>Building a multi-agent system for 3D model creation using AI, Python macros, and FreeCAD. Learn how to overcome context limitations and create custom 3D prints without CAD experience.</description><pubDate>Thu, 26 Dec 2024 00:00:00 GMT</pubDate></item><item><title>Agent Behavior-Steering Middleware</title><link>https://sosoka.io/blog/behavior-steering-middleware/</link><guid isPermaLink="true">https://sosoka.io/blog/behavior-steering-middleware/</guid><description>Introducing behavior steering middleware — a pattern for shaping AI agent conduct through layered, composable directives.</description><pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Enhancing My Blogs Contact Form &amp; Contact Listener Service</title><link>https://sosoka.io/blog/contact-form-enhancements/</link><guid isPermaLink="true">https://sosoka.io/blog/contact-form-enhancements/</guid><description>Improving the contact form UX with jQuery AJAX and refactoring the backend Lambda service to handle JSON payloads, preparing for future spam filtering capabilities.</description><pubDate>Tue, 15 Feb 2022 00:00:00 GMT</pubDate></item><item><title>Building a Serverless Backend for HTML Form Submissions</title><link>https://sosoka.io/blog/contact-form-services/</link><guid isPermaLink="true">https://sosoka.io/blog/contact-form-services/</guid><description>Creating a serverless contact form backend using AWS Lambda, API Gateway, SNS, and Terraform to handle form submissions without exposing email addresses.</description><pubDate>Fri, 24 Dec 2021 00:00:00 GMT</pubDate></item><item><title>The Context Gardener</title><link>https://sosoka.io/blog/context-gardener/</link><guid isPermaLink="true">https://sosoka.io/blog/context-gardener/</guid><description>Are software engineers now gardeners, tending to a garden of LLM context?</description><pubDate>Thu, 29 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Using Custom Data with ChatGPT from Scratch in Python</title><link>https://sosoka.io/blog/custom-gpt-data/</link><guid isPermaLink="true">https://sosoka.io/blog/custom-gpt-data/</guid><description>Learn how to use custom data with ChatGPT without libraries like LangChain or LlamaIndex - exploring vector embeddings, FAISS, and similarity search from first principles.</description><pubDate>Wed, 12 Jul 2023 00:00:00 GMT</pubDate></item><item><title>Using LangChain to Build Custom Tools for LLMs: A Themed Spotify Playlist Generator</title><link>https://sosoka.io/blog/custom-langchain-tools/</link><guid isPermaLink="true">https://sosoka.io/blog/custom-langchain-tools/</guid><description>Build custom tools for LLMs using LangChain to create a themed Spotify playlist generator powered by AI</description><pubDate>Tue, 08 Aug 2023 00:00:00 GMT</pubDate></item><item><title>The Dawn of Semi-Autonomous E-Commerce Agents</title><link>https://sosoka.io/blog/dawn-commerce-agents/</link><guid isPermaLink="true">https://sosoka.io/blog/dawn-commerce-agents/</guid><description>Exploring the future of AI agents in e-commerce - understanding what they are, how they might be used, and strategies for implementation.</description><pubDate>Wed, 06 Mar 2024 00:00:00 GMT</pubDate></item><item><title>AI/ML Workflow Engineering Pattern: Deterministic Quoting</title><link>https://sosoka.io/blog/deterministic-quoting/</link><guid isPermaLink="true">https://sosoka.io/blog/deterministic-quoting/</guid><description>Mitigate hallucination, improve performance, and reduce cost with solid engineering patterns</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Weekend Project: Dynamic DNS with AWS Lambda &amp; Jenkins</title><link>https://sosoka.io/blog/diy-dynamic-dns/</link><guid isPermaLink="true">https://sosoka.io/blog/diy-dynamic-dns/</guid><description>Building a dynamic DNS system for homelab services using AWS Lambda, API Gateway, Route53, and Jenkins - exposing a Minecraft server with automatic IP updates.</description><pubDate>Sun, 02 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Estimate Padding &amp; Contingencies</title><link>https://sosoka.io/blog/estimate-padding/</link><guid isPermaLink="true">https://sosoka.io/blog/estimate-padding/</guid><description>Exploring the practice of estimate padding in software development, the challenges it poses, and a better alternative using specific contingency tasks.</description><pubDate>Sat, 28 Jan 2023 00:00:00 GMT</pubDate></item><item><title>Extending the Memory of Large Language Models</title><link>https://sosoka.io/blog/extend-llm-memory/</link><guid isPermaLink="true">https://sosoka.io/blog/extend-llm-memory/</guid><description>Adding memory to chatbots using persistent storage and retrieval augmented generation</description><pubDate>Mon, 19 Feb 2024 00:00:00 GMT</pubDate></item><item><title>The Beginning: My First Blog Post</title><link>https://sosoka.io/blog/first-post/</link><guid isPermaLink="true">https://sosoka.io/blog/first-post/</guid><description>how exciting.</description><pubDate>Mon, 20 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Exploring Aspect-Oriented Programming in Python: A Learning Experience</title><link>https://sosoka.io/blog/fumbling-aop-python/</link><guid isPermaLink="true">https://sosoka.io/blog/fumbling-aop-python/</guid><description>Lot&apos;s of mistakes &amp; a hack.</description><pubDate>Sun, 29 Aug 2021 00:00:00 GMT</pubDate></item><item><title>How to Use GitHub Actions to Deploy a Website to AWS S3</title><link>https://sosoka.io/blog/github-actions-s3/</link><guid isPermaLink="true">https://sosoka.io/blog/github-actions-s3/</guid><description>Set up a CI/CD pipeline with GitHub Actions to automatically deploy a static website to AWS S3 and invalidate CloudFront caches</description><pubDate>Sun, 16 Jul 2023 00:00:00 GMT</pubDate></item><item><title>Happy New Year!</title><link>https://sosoka.io/blog/happy-new-year-2025/</link><guid isPermaLink="true">https://sosoka.io/blog/happy-new-year-2025/</guid><description>Reflecting on 2024, a transformative year for AI, agents, and personal growth in LLM development and multi-actor systems. Looking forward to an exciting 2025.</description><pubDate>Sat, 04 Jan 2025 00:00:00 GMT</pubDate></item><item><title>GDPR Compliance with Jekyll &amp; Google Analytics</title><link>https://sosoka.io/blog/jekyll-ga-gdpr/</link><guid isPermaLink="true">https://sosoka.io/blog/jekyll-ga-gdpr/</guid><description>Integrating the official Jekyll cookie-consent solution with a 3rd party theme&apos;s OOTB Google Analytics implementation.</description><pubDate>Sun, 26 Apr 2020 00:00:00 GMT</pubDate></item><item><title>LLM App Development: Prompting and Structured Replies</title><link>https://sosoka.io/blog/llm-app-patterns/</link><guid isPermaLink="true">https://sosoka.io/blog/llm-app-patterns/</guid><description>Exploring prompting strategies and structured responses for building LLM applications with LangChain4J and Java</description><pubDate>Tue, 31 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Getting LLMs to Use Data You Don&apos;t Let Them See</title><link>https://sosoka.io/blog/llms-and-hidden-data/</link><guid isPermaLink="true">https://sosoka.io/blog/llms-and-hidden-data/</guid><description>Implementing custom LangChain middleware to mask sensitive PII before LLM inference, enabling AI agents to work with data they never actually see.</description><pubDate>Sat, 29 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Intelligent Object Mapping in Java with the Model Mapper Library</title><link>https://sosoka.io/blog/model-mapper-lib/</link><guid isPermaLink="true">https://sosoka.io/blog/model-mapper-lib/</guid><description>Simplifying object mapping in Java with the ModelMapper library for common patterns like DTO to entity transformations.</description><pubDate>Thu, 28 Oct 2021 00:00:00 GMT</pubDate></item><item><title>The Big Move: Our Journey from Idaho to North Carolina</title><link>https://sosoka.io/blog/moved-cross-country/</link><guid isPermaLink="true">https://sosoka.io/blog/moved-cross-country/</guid><description>Taking a moment to capture the move.</description><pubDate>Sat, 21 Aug 2021 00:00:00 GMT</pubDate></item><item><title>My AI Setup</title><link>https://sosoka.io/blog/my-ai-setup/</link><guid isPermaLink="true">https://sosoka.io/blog/my-ai-setup/</guid><description>An overview of my personal AI tooling, agent configurations, and development workflow.</description><pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate></item><item><title>Tips for Crafting Your First Recursive Acronym</title><link>https://sosoka.io/blog/recursive-acronym-tips/</link><guid isPermaLink="true">https://sosoka.io/blog/recursive-acronym-tips/</guid><description>A casual analysis of recursive acronyms with strategies, patterns, and cheat sheets to help you craft your own self-referential acronym.</description><pubDate>Sun, 16 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Implementing the SELF-DISCOVER Algorithm in Java Spring with LangChain4J</title><link>https://sosoka.io/blog/self-discover-langgraph/</link><guid isPermaLink="true">https://sosoka.io/blog/self-discover-langgraph/</guid><description>Google&apos;s DeepMind SELF-DISCOVER paper proposes a framework for LLMs to self-compose reasoning structures to tackle complex reasoning problems. Learn how to implement it with LangChain4J.</description><pubDate>Sat, 10 Feb 2024 00:00:00 GMT</pubDate></item><item><title>Exploring Spring AI: Building a Simple Hotel Booking Agent</title><link>https://sosoka.io/blog/spring-ai-hotel-booking/</link><guid isPermaLink="true">https://sosoka.io/blog/spring-ai-hotel-booking/</guid><description>Build a hotel booking agent using Spring AI, demonstrating function calling and conversation management patterns</description><pubDate>Sun, 24 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Using Terraform to Provision AWS Infrastructure for an S3 Hosted Jekyll Blog</title><link>https://sosoka.io/blog/terraform-blog-infra/</link><guid isPermaLink="true">https://sosoka.io/blog/terraform-blog-infra/</guid><description>Building infrastructure for a personal site reproducibly &amp; on the cheap.</description><pubDate>Mon, 20 Sep 2021 00:00:00 GMT</pubDate></item><item><title>Unit Testing Large Language Models: Agentic Test Evaluation with LangChain4J</title><link>https://sosoka.io/blog/unit-testing-llms/</link><guid isPermaLink="true">https://sosoka.io/blog/unit-testing-llms/</guid><description>Learn strategies for unit testing Large Language Models with LLMs using LangChain4J, from simple evaluations to multi-phase test agents that plan, execute, and evaluate.</description><pubDate>Sun, 21 Jul 2024 00:00:00 GMT</pubDate></item><item><title>USB Foot Pedals: A New Way to Interact with Your Computer</title><link>https://sosoka.io/blog/usb-foot-pedals/</link><guid isPermaLink="true">https://sosoka.io/blog/usb-foot-pedals/</guid><description>Exploring USB foot pedals as an alternative computer input method to alleviate arm strain and create ergonomic workflows.</description><pubDate>Sat, 01 Jan 2022 00:00:00 GMT</pubDate></item></channel></rss>