Notes on .NET, XAF, and building things
Twenty years of XPO, application frameworks, and lately a lot of applied AI. 255 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 →
Jint Functions: Hosted Server-Side Functions That Can Be Gated
Jint functions turn JavaScript into hosted server-side behavior inside a .NET platform. They can live in the database, run inside a sandbox, and be gated by authentication, roles, scope, trigger type, and resource limits.

Remotion: The Missing Bridge Between React and Video
Remotion turns React components into real video files. That sounds strange at first, but it is exactly the bridge developers need for data-driven product videos, explainers, release notes, captions, reels, AI-assisted video workflows, and the web UIs that control them.

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.