Notes on .NET, XAF, and building things
Twenty years of XPO, application frameworks, and lately a lot of applied AI. 253 articles and counting.
Browse by topic
All topics →Latest articles
View all →
Getting Started with Microsoft.Extensions.AI — Part 4: Tools, Functions & the Agent Framework
Let's empower our LLMs to interact with the real world by letting them call our C# code, then see how the Agent Framework elevates this to autonomous orchestration.

Getting Started with Microsoft.Extensions.AI — Part 3: Pipelines, Embeddings & Search
Let's dive into some powerful `Microsoft.Extensions.AI` features: building flexible request pipelines with middleware and performing semantic search with embeddings.

Getting Started with Microsoft.Extensions.AI — Part 2: Messages & Strongly-Typed Output
Let's level up our AI interactions by building rich, multimodal messages and getting strongly-typed C# objects back from our models.

Getting Started with Microsoft.Extensions.AI — Part 1: One Interface, Any Model
Discover how `Microsoft.Extensions.AI` provides a single `IChatClient` interface to seamlessly swap between cloud and local LLM providers with just one line of code.

Getting Started with Semantic Kernel — Part 3: Running Local Models (LM Studio / Ollama)
In the final part of our Semantic Kernel series, I'll show you how to run your Semantic Kernel applications against local LLMs like LM Studio or Ollama, completely eliminating cloud costs while keeping your existing kernel code almost untouched.
More topics
All topics →
Getting Started with Semantic Kernel — Part 2: Kernel Functions & Plugins
In Part 2 of our Semantic Kernel series, we go beyond basic text generation. Learn how to empower your kernel to perform actions by creating prompt-based and native C# kernel functions, organizing them into plugins, and enabling automatic function calling to let the AI model execute your code.

Getting Started with Semantic Kernel — Part 1: Your First Kernel & Chat History
Dive into Microsoft Semantic Kernel with .NET 9! In this first part, we'll build our initial Kernel, explore how prompt detail influences AI responses, and learn to maintain conversation context using Chat History, including tracking token usage.

Local AI Studio — Part 6: Giving the Reel a Soundtrack (Local Music Generation)
A silent reel is half a reel. So I generated the music locally too — same machine, no cloud — and stitched it onto the video with one ffmpeg command. Here's how, with the working engine (MusicGen), the one that failed in an instructive way (ACE-Step), and the mux step in between.

Local AI Studio — Part 5: A 15-Second Reel, and When *Not* to Use a Video Model
I wanted a 15-second vertical reel of rural El Salvador's coast — fishing lanchas, palms, a sunset over the Pacific — in a papercut, Cubist, folk-art style. Every instinct said 'use a text-to-video model.' Every instinct was wrong. Here's why I built it from still images instead, the reasoning, the real numbers, and the finished reel playing in the page.

Local AI Studio — Part 4: Local Video With LTX-Video and Wan 2.1
Part 4: generating video locally on a Mac. LTX-Video and Wan 2.1 both run on Apple Silicon — slowly, but they run. Plus the one MPS gotcha that turned my first Wan clip into rainbow soup, and the one-word fix that solved it.