When testing code that uses HttpClient, the traditional approach involves mocking HttpMessageHandler using frameworks like Moq. While this works, it can be verbose, ceremony-heavy, and frankly a bit...
Saturday, 29 November 2025 07:00
//
5 minute read
If you've built traditional ASP.NET Core MVC applications, you know the problem: that dreaded "click flash" when users navigate between pages. Full page reloads, the browser chrome flickering, content...
Friday, 28 November 2025 12:00
//
17 minute read
Playwright is Microsoft's official solution for modern browser automation, offering multi-browser support (Chrome, Firefox, Safari) with a single API, built-in trace debugging, and mobile emulation....
Thursday, 27 November 2025 14:00
//
18 minute read
Modern E2E (End-To-End, using your site like users would) testing doesn't have to be painful. This comprehensive guide shows you how to use PuppeteerSharp for fast, reliable browser automation in...
Thursday, 27 November 2025 12:00
//
38 minute read
Theory is one thing; production code is another. In Part 1 we covered the abstractions—now let's see how they're applied in a real codebase. This article walks through actual background services from...
Thursday, 27 November 2025 09:30
//
24 minute read
Every modern web application has work that shouldn't block an HTTP request—sending emails, processing files, syncing with external services, running scheduled maintenance. ASP.NET Core provides...
Thursday, 27 November 2025 09:00
//
24 minute read
Need to test a snippet of C# code without spinning up a full project? C# Script files (.csx) let you write and run C# code like a scripting language. No Program.cs, no .csproj, no build step - just...
Wednesday, 26 November 2025 20:00
//
28 minute read
I've been running this blog for a while now, writing detailed technical articles on ASP.NET Core, Entity Framework, HTMX, and all sorts of .NET goodness. Yet my search rankings were... underwhelming....
Wednesday, 26 November 2025 14:00
//
10 minute read
"We're building an AI-powered knowledge assistant that will revolutionise how our employees access information..."
Every job advert, pitch deck, and consultancy proposal in 2024-2025
Introduction
I've...
Wednesday, 26 November 2025 09:00
//
29 minute read
Want to get nice, descriptive alt text for images on your sites or jsut extract text from them? mostlylucid.llmalttext uses Microsoft's Florence-2 vision language model to generate high-quality alt...
Tuesday, 25 November 2025 14:00
//
12 minute read
📖 Part of the RAG Series: This is Part 4a - core implementation:
Part 1: RAG Origins and Fundamentals - What embeddings are, why they matter
Part 2: RAG Architecture and Internals - Chunking,...
Tuesday, 25 November 2025 11:00
//
23 minute read
📖 Part of the RAG Series: This is Part 4b - search features and UI:
Part 1: RAG Origins and Fundamentals - What embeddings are, why they matter
Part 2: RAG Architecture and Internals - Chunking,...
Tuesday, 25 November 2025 09:00
//
15 minute read
Well I finally wrote an app to use Archive.org to fetch all the old content from my first blog. Which ended in 2010. mostlylucid.co.uk.
Apparently I changed the server AND how I updated it throughout...
Monday, 24 November 2025 23:00
//
2 minute read
My system, DiSE, is a self-optimizing, self-assembling, software engineering grounded workflow builder. It generates testable code artifacts, evaluates them objectively, and evolves them over time...
Monday, 24 November 2025 18:00
//
16 minute read
So you might have noticed hundreds of "new" blog posts appearing recently. Well, they're not new at all - they're OLD. Like, 2004 old. I finally built a tool to rescue my content from the digital...
Monday, 24 November 2025 12:00
//
10 minute read
Running MigrateAsync() at startup? You're giving your app database owner rights and hoping nothing goes wrong. There's a better way - EF migration bundles let you run migrations as a controlled CI...
Sunday, 23 November 2025 18:39
//
10 minute read
Just a very quick response to a query someone had. Even though it says "© Scott Galloway 2024" at the bottom it's technically incorrect (well copyright is automatic but YOU have the absolute right to...
Sunday, 23 November 2025 18:39
//
Less than a minute
Backpressure is the unsung hero of distributed systems. It's what keeps your queues from bursting at the seams when producers are firing messages faster than consumers can chew through them. Put...
Sunday, 23 November 2025 14:00
//
17 minute read
📖 Related to the RAG Series: This article provides a deep dive into Qdrant, the vector database used in:
Part 4: ONNX & Qdrant Implementation - Building semantic search
Part 5: Hybrid Search &...
Sunday, 23 November 2025 13:00
//
9 minute read
When you've been blogging since 2004 (yes, really), you accumulate a lot of digital detritus. I recently imported my old posts from 2004-2009 ( https://www.mostlylucid.net/blog/category/Imported) and...
Sunday, 23 November 2025 10:35
//
19 minute read