Publishing a .NET MAUI app to the App Store from a Windows machine
How I got SplitEasy onto Apple's store from my Windows: the Visual Studio setup, the Mac pairing, and the three…
How I got SplitEasy onto Apple's store from my Windows: the Visual Studio setup, the Mac pairing, and the three…
This article wires up two big cloud providers, Microsoft Foundry and Amazon Bedrock and builds the factory that routes between…
Modern phones and Macs ship their own neural hardware and their own on-device models. Here how to use them from…
Persist embeddings in a vector store, search them, and use what you find to ground a chat model's answers, the…
Text is not the only thing models generate. Microsoft.Extensions.AI abstracts image generation behind IImageGenerator. With troubleshooting.
How IEmbeddingGenerator works in NET10: turn a PDF into chunks, chunks into vectors, and a question into ranked results, with…
How can we test a component based on Microsoft.Extension.AI that gives a different answer every time it runs? Here an…
A language model knows what was in its training data and nothing else. Tool calling closes that gap with custom…
Second post where using Microsoft.Extensions.AI I build the first AI client keeping the history of the chats and instruct the…
Microsoft.Extensions.AI is a small set of abstractions in the box, and providers that plug in behind the common AI providers…
Package PSC.Analyzers.Blazor as a NuGet analyzer, publish it to a feed, and consume it across a solution including how to…
Test the PSC001 rule with Microsoft.CodeAnalysis.Testing: reference assemblies, inline diagnostic markup, and positive and negative cases.
Write the PSC001 rule: a DiagnosticAnalyzer that finds Blazor [Parameter] properties and flags the ones that aren't PascalCase.
Start a custom Roslyn analyzer for Blazor. We scaffold PSC.Analyzers.Blazor, explain every csproj setting, and set up analyzer release tracking.
Visual Studio 2026 dropped the built-in 'extract @code to a code-behind' feature. So I wrote a right-click extension that brings…
Learn how enabling Gzip compression in your .NET backend can dramatically improve performance for users on slow or unstable networks,…
What is a Claude skill? Here a real example integrates with FastLinkIt to keep AI, developers and project managers all…
Introducing the PSC Survey Suite for Blazor: a runtime component, a drag-and-drop visual designer, and bulk importers that all speak…
Markdown has become the default for product descriptions, blog posts, issue trackers, wiki pages, in-app notes. Here a JavaScript editor…
Here a useful script to scan a folder to find out what .NET Target Frameworks is used across lot of…
In this post, I show how replacing Swagger with Scalar in ASP.NET Core and NET10. Scalar is a UI that…
A deep dive into the latest OpenAPI and Swagger improvements in ASP.NET Core 10, including Minimal APIs, versioning, Native AOT…
Learn Rust programming from basics to advanced concepts: ownership, functions, data types, control flow, error handling, and collections.
I publish the Visual Basic (VBA) code for Microsoft Outlook. It is used to create a list of unavailable emails.
I’ll show you how to use a simple VBA macro. This macro will help you clean up your Outlook contact…