AI makes writing code dramatically faster, but a team only moves as fast as its slowest step. Speed up coding and the constraint doesn't disappear. It just moves somewhere you can finally see it. […] The post Developing with AI Exposes Your Bottlenecks appeared first on Trailhead Technology Partners .
Azure's Data Collector API retires on 14 September 2026. If your app ships logs to a custom Log Analytics table, especially via Serilog, here's what it means and the two ways forward. […] The post The Data Collector API Is Going Away: How to Migrate Your Azure Monitor Logs appeared first on Trailhead Technology Partners .
Microsoft CEO Satya Nadella was widely misquoted as saying SaaS is dead in his BG2 Podcast interview. What he was really saying is that AI is moving the build-versus-buy line—and this year we crossed it twice. […] The post Ditching SaaS Platforms With AI appeared first on Trailhead Technology Partners .
We’ve seen the same pattern at almost every client. The backlog has a top half and a bottom half, and the top half is the active list. From it features are being shipped and bugs are being fixed. The bottom half, though, just gets longer, filled with the things everyone agrees should be done, but […] The post Backlog Zero: How AI Can Clear You Development Backlog appeared first on Trailhead…
You have workloads in AWS. You have workloads in Azure. They need to talk to each other over private IPs, securely, over encrypted tunnels across the public internet. The solution to this is a site-to-site VPN, and while both clouds support it natively, getting them to agree on the details takes some understanding of how each side works. In this blog […] The post Connecting AWS and Azure with a…
In this blog, I want to show you how I built something I estimated would take me 20-60 hours of work in about half a day. This included a React frontend, .NET Azure Functions backend APIs, Azure Static Web Apps, Terraform infrastructure, live CI/CD pipelines in Azure DevOps, and everything deployed to a custom domain. […] The post From Idea to Production in 4 Hours with AI: A Case Study appeared…
I’m currently a 12-time recipient of the Microsoft MVP (Most Valuable Professional) award. The Microsoft MVP award is something Microsoft grants annually to individuals in the software community who are experts and actively share that expertise with the world. This can include speaking at conferences, writing, contributing to open source projects, and helping developers online, […] The post 12…
As a software consultant, I’ve noticed a pattern play out at nearly every client over the last year. A team adopts Cursor or Claude Code or Copilot and their productivity, especially on greenfield tasks, jumps noticeably. And then, someone asks: “If the AI can do this, what are the developers for?” It’s a valid question, […] The post With AI Writing Code, What Are Developers For? appeared first on…
If you run workloads on Azure Kubernetes Service, you may have recently received an email from Microsoft notifying you that support for NGINX Ingress on AKS is coming to an end. This post explains what is happening, why it is happening, and what it means for your specific situation. Why This Is Happening: A Bit […] The post The End of NGINX Ingress on AKS: What You Need to Know appeared first on…
It seems like everyone is doing AI-assisted development these days. For a lot of people, it feels like magic: you ask for a thing, and suddenly you have that thing, even if you have no idea how to make that thing yourself. Sometimes that’s exactly what you need. Other times it’s like a half-finished addition […] The post How To Think About AI-Assisted Development appeared first on Trailhead…
Building a cross-platform app usually starts with a deceptively simple goal: one team, one codebase, multiple targets. The reality is that your framework choice shapes everything from the UI architecture, to the delivery speed, testing strategy, hiring, and how much “platform weirdness” you’ll be living with. There are plenty of cross-platform options, including React Native, […] The post Choosing…
Microsoft has announced that starting January 2026, the C# Dev Kit and C# VS Code extension will no longer support development using the .NET 6 and .NET 7 SDKs. In the blog post below, I’ll walk you through what teams running these versions of .NET in production need to know. VS Code Support The January […] The post End of VS Code Support for .NET 6 and 7 appeared first on Trailhead Technology…
Big shout-out to Dave Miller, whose famous YouTube video inspired this project. He laid out some pretty good groundwork for how the evolutionary algorithms work. For the purpose of spending time productively, I will assume you’ve watched at least the first 15 minutes of it. In this blog post we will simulate an evolution of […] The post Evolving Intelligence: Evolutionary Algorithms and Neural…
Modern .NET applications increasingly need to store data that doesn’t fit neatly into relational tables, whether it’s per-tenant custom fields, evolving product attributes, or external API payloads. Before EF Core 10, handling this kind of flexible data meant awkward modeling workarounds, raw JSON text columns, or scattered NoSQL side-stores. In this blog, I’ll show you […] The post EF Core 10…
Does your business operate software that sees unpredictable (or even predictable) spikes in traffic? Do these spikes give you anxiety about how your technology will perform? If you answered yes to both of these, I highly recommend that you consider load testing the performance capacity of your technology infrastructure before it becomes a production issue. […] The post Manufacturing Certainty:…
Explore how C# developers can leverage both Azure AI Language and Azure OpenAI for sentiment analysis. This post compares traditional NLP services with LLM-based approaches using real-world code from an exit interview system, helping you choose the right tool for your specific use case. The post Sentiment Analysis in C#: Azure AI Language or LLMs appeared first on Trailhead Technology Partners .
For many years, the .NET ecosystem has relied on established testing frameworks such as xUnit.net, NUnit, and MSTest. These frameworks have served teams well for unit, integration, and even acceptance testing. However, as .NET has evolved with newer runtime versions, AOT compilation, cross-platform requirements, increasingly large test suites, and faster CI/CD pipelines the limitations of […] The…
Wouldn’t it be nice if I could whip up a quick .NET mail merge utility that could send out a nice HTML-formatted email to all of your customers, signed by each of their account managers? In this blog, I’ll show you how a little Scriban magic, a dash of MailKit, and a simple CSV file […] The post Sending Holiday Cheer in .NET with Scriban and MailKit appeared first on Trailhead Technology Partners…
In this guide, we’ll walk you through how to easily integrate Google Maps into your Angular 20 application using the Google Maps JavaScript API Loader. This method allows for dynamic loading of the Maps API, keeping your bundle size lean, enabling lazy loading, and preventing potential race conditions when the Maps library is not ready. […] The post Google Maps in Angular 20 with the JS API Loader…
Many organizations today are looking to integrate AI into their existing infrastructure without completely rewriting everything. In this blog post, I’ll walk you through the process of adding MCP (Model Context Protocol) capabilities to your current REST APIs built in .NET, enabling seamless interaction between AI systems and your backend data and applications. What is […] The post Reusing Your…
Asynchrony is one of the most important concepts in modern software development, widely used for everything from I/O-bound operations to keeping UIs responsive. In this blog post, we’ll take a look into how asynchronous code works in C#, how Task and ValueTask impact performance, what happens under the hood in async state machines, and practical […] The post .NET Performance: Efficient Async Code…
In this blog, we’ll explore how to configure a .NET REST API to authenticate requests using Microsoft Entra ID (formerly known as Azure AD). With a step-by-step guide, we’ll cover everything from configuration and authentication setup to enabling OAuth2 Authorization Code Flow with PKCE for interactive API testing in Scalar (OpenAPI UI). You’ll learn how […] The post Using Microsoft Entra ID in a…
Before Next.js 13, Pages Router was the only solution based on traditional file-system routing and client-side navigation. Starting with Next.js 13, App Routing was implemented as a default replacement. App Router uses a component-based approach with a focus on Server Components and nested layouts, but in projects based on the Pages Router developers had access […] The post Events Substitution in…
We started Trailhead ten years ago with a simple promise: to make custom software project more predictable and less risky. Along the way we turned that promise into The Trailhead Process™. If your technology initiatives ever feel ambiguous and risky, keep reading to find out how we’ve figured out how to reduce the risk of […] The post Celebrating Ten Years of De-Risking Software Projects appeared…
As a QA engineer, I’ve tested countless APIs, first by hand and now often with Playwright automation. Tools come and go, but one thing that hasn’t changed is the set of essential API tests I rely on to catch real bugs before the software ships. An API that simply “works” isn’t good enough. It should […] The post Essential API Tests to Never Skip appeared first on Trailhead Technology Partners .
Modern UIs often need elements that float above the rest of the page, such as modals, tooltips, popovers, or notifications. But when you try to build these inside your component hierarchy, you quickly hit frustrating limits like overflow clipping, stacking issues, and unpredictable z-index behavior. In this blog, I will show you how to use […] The post Render Outside the Box: Floating UIs with…
As AI-powered no-code tools become more capable, many companies are asking the same question: do we still need developers? The answer isn’t as simple as what the tools can do, it depends on what you need to build. Let’s look at this issue through two of the most popular AI website builders: Wix ADI and […] The post AI Code Generation: Fast Starts, Slow Finishes appeared first on Trailhead…
Every year, .NET Conf brings developers from around the world together to celebrate what’s new, what’s next, and what’s possible with .NET. This year’s event, .NET Conf 2025, runs November 11 ‐ 13 and marks the arrival of .NET 10, a major milestone for developers building modern, intelligent, and cloud-native applications. Trailhead at .NET Conf […] The post Catch Trailhead at .NET Conf 2025:…
Most QA processes verify what the system does. Human-centered testing verifies how it feels to use. Real users often don’t follow the expected test cases. They skip “obvious” steps, use products in unexpected ways, interact with your app on outdated devices, poor connections, or while multitasking. And most importantly, they judge the quality of your […] The post Human-Centered Testing for…
Microsoft officially retired Visual Studio for Mac on August 31, 2024. Now, the company recommends .NET MAUI developers use Visual Studio Code with a set of extensions. In this blog post, we’ll walk through the basic setup to get started. After Aug 31, 2024 Visual Studio for Mac will no longer be supported or maintained after August 31, […] The post VS Code Owns .NET MAUI on Mac! appeared first on…
Dark mode is no longer just a trend, it is something users expect. Whether your app requires it or you want to build it in from day one, theme toggling is now a standard feature of modern web apps. The good news: if you are using Angular 20 and Angular Material with Material Design 3, […] The post Modern Theming in Angular 20: Light & Dark Mode with Material Design 3 appeared first on Trailhead…
In a previous post on a generic builder pattern in C#, I shared a simple approach for creating objects using a generic builder. That solution works well in testing scenarios or internal tools, where developers already understand the rules of the game. But for production code—especially when exposing public APIs—we need something more robust. A […] The post Progressive Builder Pattern: Enforcing…
APIs serve as the backbone of modern applications, but without proper security testing, they can expose vulnerabilities that hackers exploit. This article covers the essential security checks for APIs, providing real-world examples, expected responses, and red flags that indicate security flaws. These tests aren’t exhaustive, but they form a strong baseline for protecting your API. […] The post…
Blazor and MudBlazor make it easier than ever to build modern, interactive web applications entirely in C#. In this blog, I’ll teach you how to set up a .NET Blazor project with MudBlazor, scaffold a server-paged data grid, and wire it up to a minimal API—so you can start building fully functional, Material Design-powered apps […] The post Build .NET Web Apps Faster with Blazor & MudBlazor…
Let’s start with a bold truth: accessibility testing is no longer optional, it is essential. Accessibility Helps Everyone Digital accessibility means making websites, mobile apps, and digital tools usable by everyone, including people with disabilities such as visual, auditory, motor, or cognitive impairments. But it does not stop there. Accessible design benefits all users. Think […] The post The…
If you spend any time in technology circles these days, or even just scroll LinkedIn for five minutes, you might think AI has already solved every problem humanity has ever faced. There is a lot of talk about the “future of intelligence,” vague promises of replacing entire jobs or industries, and breathless posts about yet […] The post Beyond the Hype: Trailhead’s Pragmatic Approach to AI appeared…
Introduction AutoMapper is a popular open source object-to-object mapping library for .NET that has been a staple in developer toolkits for years. Jimmy Bogard, its creator, recently announced that AutoMapper will be going commercial. While this move will enable him to provide better support and continuous improvements, not all teams will be able or willing […] The post AutoMapper Goes Commercial:…
Introduced in .NET Core 2.1, Span<T> and ReadOnlySpan<T> have become widely adopted in .NET applications, both in user code and in the BCL. But what are those types used for exactly? Why is everybody talking about them? When and how should you use them—and what are they good for? In this blog post, I’ll answer […] The post .NET Performance: Using Span<T> appeared first on Trailhead Technology…
Once upon a time, in a land not so far from production, there lived a growing kingdom of buttons, forms, and other UI components. What began as a peaceful realm of components slowly turned into a tangled forest of inconsistencies—every team member building their own version of a modal, every feature shipping with slightly different […] The post Creating Happily-Ever-After UI Components appeared…
See how the Trailhead Framework combined with its new support for .NET Aspire and GitHub Copilot can make you a 10x productive developer. The post Turbocharged Development with The Trailhead Framework™ and .NET Aspire appeared first on Trailhead Technology Partners .
Everyone seems to be chasing microservices these days—promises of independent teams, targeted scaling, and fault isolation make them sound irresistible. It’s been said you should only reach for microservices if you have a really good reason to do so. Otherwise, you risk over‑engineering your system and ending up with a distributed monolith—a setup that’s even […] The post Microservices Drool;…
After decades in custom software delivery, one truth stands out: it’s shockingly easy to build the wrong thing. I’ve seen engineering masterpieces with zero users, binders full of requirements but no working code, and “agile” used as a smokescreen for disorder. You can chart a better course for your project by starting with one question. […] The post Great Software Starts with a Question appeared…
AI Chat for your business software shouldn’t be a plunge into the unknown. Design your AI chat faster with Trailhead today. Traditional AI chat design often means long cycles of prototyping and revisions, which can derail budgets and timelines. Trailhead’s solution is a comprehensive library of pre-tested components that cuts development time by eliminating the […] The post Accelerate Your AI Chat…
Discover the key differences between Azure AI Agents and Azure OpenAI Assistants in .NET. Learn when to use each, how they compare in capabilities, and why Microsoft provides both options for building conversational AI—from simple GPT-based bots to enterprise-grade, model-agnostic solutions. The post Azure AI Agents or OpenAI Assistants? A Developer’s Guide for .NET appeared first on Trailhead…
Recently, I was reflecting on Large Language Models (LLMs) and how they contain all or much of the knowledge of the internet in a much smaller storeage space. For example, the ChatGPT 4 model is about 570 GB, a size almost anyone could store on their own computer’s storage. Whereas the internet is enormous–and growing […] The post LLMs: The Internet, But Make It a JPEG appeared first on Trailhead…
In the age of distributed applications, seamless communication between processes and services is critical. Enter NetMQ: a lightweight messaging library for .NET that brings the robust, proven patterns of ZeroMQ from the C++ world to the .NET ecosystem. In this post I will explore what NetMQ is, its key features, some common use cases, and […] The post Deep Dive into NetMQ: A Lightweight Messaging…
Distributed systems are all the rage right now—and for good reason. Many organizations are successfully turning to distributed architectures like microservices to meet their modern scalability and maintainability challenges. However, like every technology, distributed systems are only ideal for specific scenarios and come with their own set of trade-offs. In our experience at Trailhead, knowing…
AI is everywhere these days, from chatbots and copilots to tools that write your code or answer your emails, but just because it saves you time doesn’t mean it’s secure. These AI models can be tricked, manipulated, or pushed to say things they shouldn’t. And traditional security testing doesn’t do a good job of catching […] The post Locking Down AI: Strategies for Uncovering Vulnerabilities…
In a previous blog post, I showed how you can speed up .NET APIs using Redis to cache frequently-accessed and infrequently-changing data. If you haven’t checked it out yet, it provides a solid foundation on how Redis can dramatically improve API performance. In this post, I want to take things a step further by showcasing […] The post Boost App Performance with Advanced Redis appeared first on…
If you’re not an expert in it, cybersecurity can seem daunting, but it doesn’t have to be. Whether you’re a developer or a QA engineer, this guide will help you understand the basics you need to test your applications for better security. In this blog, we’ll dive into technical best practices that you can apply […] The post Essential Cybersecurity for Software QA appeared first on Trailhead…