TH
EverythingGitHub CopilotAIMLAzure.NETDevOpsSecurityContact About
NewsBlogsVideosCommunityMagazinesEvents
NewsBlogsCommunityMagazinesFeaturesLevels of Enlightenment
A(i) to ZNewsBlogsVideosCommunityMagazinesEvents
NewsBlogsVideosCommunity
NewsBlogsVideosCommunityMagazines
NewsBlogsVideosCommunityMagazines
NewsBlogsVideosCommunity
NewsBlogsVideosCommunity

Blogs

Do Epic Shit Chat Mode: Beast Mode for GitHub CopilotHarald Binkle introduces the ‘Do Epic Shit’ chat mode for GitHub Copilot, outlining its strict autonomy and research loops to maximize developer productivity in VS Code.
Harald Binkle's blog 2025-08-15
Speed Up API Integration with GitHub CopilotRandy Pagels shares tips on using GitHub Copilot to speed up application API integration, blending Copilot’s generated code with developer expertise for efficient and maintainable solutions.
Randy Pagels's Blog 2025-08-15
Shadow: How AI Coding Agents are Transforming DevOps WorkflowsTom Smith delves into Shadow, an open-source AI coding agent that streamlines and transforms DevOps workflows by automating code management, analysis, and repository tasks for development teams.
DevOps Blog 2025-08-14
SonarSource Research Highlights Security Risks in LLM-Generated CodeMike Vizard summarizes SonarSource’s research into AI-generated code, highlighting both the strengths and serious security pitfalls of relying on LLMs such as GPT-4o, Claude Sonnet 4, and others.
DevOps Blog 2025-08-13
Running .NET in the Browser Without Blazor Using WASMAndrew Lock explains how to run .NET code in the browser without using Blazor, focusing on browser-side WebAssembly and JavaScript interop techniques, with details relevant to .NET 9 and .NET...
Andrew Lock's Blog 2025-08-12
Find and Fix Typos Faster with GitHub CopilotRandy Pagels details how developers can use GitHub Copilot’s Chat, Edit, and Agent modes to catch and fix typos in code and comments, streamlining code reviews and reducing bugs.
Randy Pagels's Blog 2025-08-08
Black Duck Software Brings AI-Powered Security to IDEsMike Vizard reports on Black Duck Software’s new integration of their AI security assistant into IDE plugins, enabling real-time vulnerability detection and support for natural language security queries as developers...
DevOps Blog 2025-08-07
Top 10 Ways New Developers Can Benefit from GitHub CopilotDellenny shares a practical top-10 guide for new developers, outlining how GitHub Copilot can accelerate coding, improve learning, and boost confidence through AI-powered assistance.
Dellenny's Blog 2025-08-07
What Vibe Coding Means for the Enterprise: Fast Code, Real ConsiderationsTom Howlett examines the enterprise-level implications of vibe coding and AI-assisted development, highlighting both the acceleration of innovation and the real risks in security and code maintainability.
DevOps Blog 2025-08-07
Exploring Passkey Support in ASP.NET Core Identity with .NET 10 Preview 6In this comprehensive post, Andrew Lock examines the new passkey support introduced in ASP.NET Core Identity and the Blazor Web App template as part of .NET 10 preview 6, explaining...
Andrew Lock's Blog 2025-08-05
Building Resilient Systems with Immutable Infrastructure on AzureDellenny presents a practical guide to adopting immutable infrastructure on Azure, detailing the steps, best practices, and tooling for reliable cloud deployments with DevOps workflows.
Dellenny's Blog 2025-08-05
Secret Store Pattern in Azure Using Secure Vaults for Credentials and SecretsDellenny details how to implement the Secret Store Pattern in Azure, guiding developers to use Azure Key Vault for managing credentials and secrets securely in cloud-native applications.
Dellenny's Blog 2025-08-04
Supercharge Your Debugging with Remote Tools for Microsoft EdgeDellenny introduces Remote Tools for Microsoft Edge, showing developers how to set up and use remote debugging across devices like IoT, Xbox, and virtual machines.
Dellenny's Blog 2025-08-01
Token-Based Authentication in Azure Using JWT for Stateless SecurityDellenny presents a comprehensive technical walkthrough on implementing stateless, token-based authentication in Azure using JWT, with practical scenarios for developers and architects.
Dellenny's Blog 2025-08-01
Write Cleaner Code Comments with GitHub CopilotRandy Pagels introduces practical strategies for using GitHub Copilot to enhance code comments. The article explores Copilot’s various modes to generate clear explanations, helping teams and future developers better understand...
Randy Pagels's Blog 2025-08-01
DevOps Meets Blazor in 2025 - Streamlining .NET Web App Delivery for the FutureAmber Talavera examines how Blazor’s evolution and integration with DevOps practices are shaping the future of .NET web application delivery.
DevOps Blog 2025-07-31
Implementing the Cache-Aside (Lazy Loading) Pattern in AzureDellenny demonstrates how to implement the Cache-Aside (Lazy Loading) pattern for efficient application caching in Azure, using Azure Cache for Redis and .NET Core.
Dellenny's Blog 2025-07-30
Running One-Off .NET Tools with dnx: Exploring the .NET 10 PreviewIn this post, Andrew Lock explores the new ‘dnx’ command in .NET 10, demonstrating how developers can run .NET tools without installing them. He provides both practical usage examples and...
Andrew Lock's Blog 2025-07-29
Aspire: A Modern DevOps ToolchainAuthored by David Fowler, this article explores Aspire’s role as a modern DevOps toolchain, detailing its design philosophy, core features, and broad support for polyglot distributed app development.
David Fowler's Blog 2025-07-28
Mastering Event Sourcing in Azure: Storing System State as a Sequence of EventsDellenny explores the Event Sourcing architectural pattern on Microsoft Azure, offering developers guidance on storing system state as events and utilizing Azure’s cloud services for scalable, maintainable solutions.
Dellenny's Blog 2025-07-27
Enhanced Git Workflow Prompt and Upcoming VS Code Terminal Auto-Approval ChangesIn this post, Reinier van Maanen details his improved Git workflow prompt, VS Code and GitHub Copilot Chat integration, and provides a warning about breaking changes to the terminal auto-approval...
Reinier van Maanen's blog 2025-07-25
Leveraging CQRS in Azure: Separating Read and Write Operations for Performance and ScalabilityDellenny describes how to apply the CQRS pattern using Microsoft Azure services, guiding developers through separating read and write operations to maximize performance, scalability, and maintainability in modern cloud-native applications....
Dellenny's Blog 2025-07-24
Building Resilient Applications: Availability & Resilience Patterns in AWS and AzureDellenny details key cloud resilience and availability patterns, comparing their implementation between AWS and Microsoft Azure. Readers discover practical Azure tools and strategies for building robust applications capable of weathering...
Dellenny's Blog 2025-07-23
Solving the Source Generator 'Marker Attribute' Problem in .NET 10: AddEmbeddedAttributeDefinition() ExplainedIn this article, Andrew Lock delves into addressing the longstanding marker attribute issue in source generators for .NET 10, unveiling the new AddEmbeddedAttributeDefinition() API and its impact on Roslyn-based development....
Andrew Lock's Blog 2025-07-22
Key Trends Driving Software Engineering in 2025Dellenny outlines core trends for software engineers in 2025—from AI-powered development and DevSecOps to ethical and sustainable engineering—providing practitioners with the strategies and skills they should prioritize.
Dellenny's Blog 2025-07-20
Use GitHub Copilot Chat to Plan Your Software Before CodingRandy Pagels discusses how developers can use GitHub Copilot Chat as a planning assistant to outline software logic and structure features before implementing any code.
Randy Pagels's Blog 2025-07-18
Centering a WPF TreeViewItem in the TreeView ScrollViewerIn this article, Rick Strahl addresses a common usability issue with WPF’s TreeView, offering .NET code and helper methods to properly center selected items and improve user experience.
Rick Strahl's Blog 2025-07-16
C# 14 Extension Members in .NET 10 Preview: How to Use Extension EverythingIn this post, Andrew Lock provides a detailed walkthrough of C# 14’s new extension members feature in .NET 10, including how to convert existing extension methods, the new syntax, and...
Andrew Lock's Blog 2025-07-15
Microsoft Expands Copilot Features in Visual Studio Code 1.102Tim Anderson reports on Microsoft’s latest update to Visual Studio Code, focusing on new Copilot and AI-related features, developer reactions, and potential impacts on coding workflows.
DevClass 2025-07-14
Automating My Git Workflow in VS Code with Copilot Chat, Custom Prompts, and Terminal Auto-ApprovalIn this detailed post, Reinier van Maanen demonstrates how to automate Git workflows in Visual Studio Code using GitHub Copilot Chat, custom prompts, and the experimental terminal auto-approval feature, providing...
Reinier van Maanen's blog 2025-07-11
Behind the Scenes of dotnet run app.cs: Deep Dive into .NET 10 Single-File Run ExperienceIn this article, Andrew Lock uncovers the internal workings of the upcoming .NET 10 feature that allows developers to run single C# files without a separate project file, detailing how...
Andrew Lock's Blog 2025-07-08
GitHub Copilot Custom Chat Modes for Large, Complex Projects in VS CodeIn this article, Harald Binkle details how custom chat modes for GitHub Copilot in VS Code can improve productivity and collaboration in large projects by tailoring AI behavior and tools...
Harald Binkle's blog 2025-07-06
Avoid These Common Copilot Prompts: How to Get Better Results with Specific GuidanceRandy Pagels discusses why vague prompts like ‘write a function’ often produce suboptimal results in GitHub Copilot, and shares specific strategies and examples for crafting effective, context-rich prompts.
Randy Pagels's Blog 2025-07-04
Microsoft Previews MCP Tool for SQL Server: Enhancing AI-Driven Database InteractionTim Anderson analyzes Microsoft’s MCP tool for SQL Server, highlighting its AI-powered capabilities, practical frustrations, and integration with Node.js, .NET, and Azure SQL for developers.
DevClass 2025-07-02
Exploring Single-File .NET Apps with dotnet run app.cs in .NET 10 PreviewAndrew Lock introduces and examines the new single-file .NET run experience in .NET 10, highlighting its features, scenarios, and emerging enhancements that simplify C# development.
Andrew Lock's Blog 2025-07-01
Unpacking Zip Folders into Windows Long File Paths with .NET: Handling Path LimitationsIn this detailed blog post, Rick Strahl examines .NET’s handling of long Windows file paths during zip extraction. He discusses the limitations of ZipFile.ExtractToDirectory, reviews Windows long path support options,...
Rick Strahl's Blog 2025-06-22
Converting a Microsoft XNA 3.1 Game to MonoGame on .NET 8: A Step-by-Step Porting JourneyIn this article, Andrew Lock details the process of porting a classic Microsoft XNA 3.1 game from 2009 to MonoGame running on .NET 8. He covers technical steps, challenges, and...
Andrew Lock's Blog 2025-06-10
Adding Runtime NuGet Package Loading to an ApplicationIn this article, Rick Strahl discusses how to enable runtime extensibility in .NET apps using NuGet package loading and dynamic assembly integration, with practical code samples and insights from his...
Rick Strahl's Blog 2025-06-10
Creating your first sample game with MonoGameAndrew Lock offers a step-by-step introduction to MonoGame, explaining its XNA roots, .NET-based setup, essential tools, and sample project structure for modern cross-platform game development.
Andrew Lock's Blog 2025-06-03
Configuring Microsoft.Extensions.AI with Multiple Providers: OpenAI, Azure OpenAI, and OllamaIn this comprehensive guide, Rick Strahl explores how to configure Microsoft.Extensions.AI with multiple providers such as OpenAI, Azure OpenAI, and Ollama, detailing the setup process and sharing practical code examples...
Rick Strahl's Blog 2025-05-31
Converting a docker-compose File to .NET Aspire: A Practical ImplementationIn this post, Andrew Lock demonstrates how to convert a docker-compose-based deployment for the mailing list manager listmonk into a .NET Aspire app host, leveraging Aspire’s modeling tools for improved...
Andrew Lock's Blog 2025-05-27
Use Copilot in VS Code to Summarize Pull Requests EfficientlyRandy Pagels outlines actionable techniques for using GitHub Copilot Chat in Visual Studio Code to create effective pull request summaries, accelerating and clarifying the code review process for developers.
Randy Pagels's Blog 2025-05-23
Taming Manifest Sprawl with AspireDavid Fowler explores how Aspire addresses ‘manifest sprawl’ by unifying application configuration and deployment manifests into a single, C#-coded model, streamlining workflows for developers.
David Fowler's Blog 2025-05-16
Building a Website-Aware Chatbot with the .NET AI Chat Web App TemplateAndrew Lock guides readers through extending the .NET AI Chat Web App template to build a chatbot that understands website content and answers with citations. The post includes code examples,...
Andrew Lock's Blog 2025-05-13
Intent vs. Mechanics: The Power of Abstraction in AspireIn this article, David Fowler explores how Aspire simplifies application development by abstracting environment-specific details, allowing developers to focus on intent, especially when managing secrets via Azure Key Vault.
David Fowler's Blog 2025-05-11
Master Quick Chat: Instantly Access GitHub Copilot AI Without Disrupting Coding FlowIn this post, Randy Pagels introduces GitHub Copilot Quick Chat—a feature designed to deliver AI-powered coding support instantly and inline, ensuring developers get help without losing focus.
Randy Pagels's Blog 2025-05-09
WebView2: Simplifying Document Load Handling and Async Workflows in .NET ApplicationsIn this detailed post, Rick Strahl discusses common challenges and streamlined solutions for handling document load events in WebView2 controls within .NET and WPF applications. He introduces the Westwind.WebView library,...
Rick Strahl's Blog 2025-05-06
Exploring the .NET AI Chat Web App Template: Setup, Features, and ArchitectureIn this blog post, Andrew Lock introduces the new .NET AI Chat Web App template, discussing its setup, integration with GitHub Models and Azure OpenAI, and the technical components that...
Andrew Lock's Blog 2025-05-06
Implementing a Pooled Dependency Injection Lifetime in ASP.NET CoreIn this in-depth post, Andrew Lock explores how to create a pooled dependency injection lifetime in ASP.NET Core, discussing design choices, implementation details, and broader implications.
Andrew Lock's Blog 2025-04-29
Avoiding WPF Image Control Local File LockingIn this technical post, Rick Strahl discusses how WPF’s Image control locks local image files, the issues it causes, and presents XAML and custom binding converter strategies—including image caching—to solve...
Rick Strahl's Blog 2025-04-29
Model. Run. Ship. The New Way to Build Distributed Apps with AspireIn this post, David Fowler discusses how Aspire streamlines the modeling and deployment of distributed applications, making connections between services explicit and repeatable.
David Fowler's Blog 2025-04-28
Building a React-Based Speaking AI Avatar with Azure OpenAI and Microsoft Cognitive ServicesIn this detailed guide, Harald Binkle demonstrates how to build a React-based AI avatar UI. The tutorial covers integrating Azure OpenAI, Microsoft Cognitive Services, and implementing avatar lip-syncing for truly...
Harald Binkle's blog 2025-04-25
Spotlight on JSON Everything: Unified JSON Standards Toolkit for .NET DevelopersThis post, authored by .NET Foundation News and Blog, introduces JSON Everything—a modular, standards-compliant .NET library that unifies various JSON technologies for modern application development.
.NET Foundation's Blog 2025-04-23
Beyond Singleton, Scoped, and Transient: Tenant, Pooled, and Time-Based Dependency Injection Lifetimes in .NETIn this post, Andrew Lock investigates experimental dependency injection lifetimes in .NET beyond the standard singleton, scoped, and transient, providing practical implementations and discussing their tradeoffs.
Andrew Lock's Blog 2025-04-22
Server-Sent Events in ASP.NET Core Minimal APIs with .NET 10In this post, Khalid Abuhakmeh showcases how to implement Server-Sent Events with ASP.NET Core Minimal APIs in .NET 10, highlighting practical differences with SignalR and providing sample C# and JavaScript...
Khalid Abuhakmeh's Blog 2025-04-22
The Strong ARM of .NET: Building Desktop Apps for x64 and Arm64 DeploymentIn this detailed post, Rick Strahl outlines the key challenges and solutions for deploying .NET Windows Desktop apps that run natively on both x64 and Arm64 platforms, with specific insights...
Rick Strahl's Blog 2025-04-19
NetEscapades.AspNetCore.SecurityHeaders 1.0.0 Released: Major Updates and New Security FeaturesAndrew Lock introduces NetEscapades.AspNetCore.SecurityHeaders 1.0.0, outlining extensive new features, updates, and best practices for integrating enhanced security headers in ASP.NET Core applications.
Andrew Lock's Blog 2025-04-15
Verifying Tricky Git Rebases with git range-diffIn this thorough post, Andrew Lock introduces the git range-diff feature for verifying and understanding tricky git rebases. He uses a practical .NET minimal API example to walk readers through...
Andrew Lock's Blog 2025-04-08
Modeling Your Environment with AspireDavid Fowler discusses how Aspire transforms application modeling by making environment configuration and dependencies programmable, enabling automation and improved DevOps practices.
David Fowler's Blog 2025-04-07
The Aspire Compiler: Bridging Local Development and Production DeploymentsIn this article, David Fowler introduces Aspire’s compiler-inspired approach to application topology, highlighting how it bridges the gap between development and deployment using a resource model and extensible publishing pipeline....
David Fowler's Blog 2025-04-04
Let Copilot Help You Name ThingsAuthored by Randy Pagels, this article explores how GitHub Copilot can assist developers in overcoming one of programming’s hardest challenges: naming things clearly and consistently. Practical tips are shared for...
Randy Pagels's Blog 2025-04-04
Running Model Context Protocol Servers in a Specific Node Version in Visual Studio CodeIn this post, Jesse Houwing details solutions for managing Node versions to run Model Context Protocol (MCP) servers with Visual Studio Code Insiders and Azure Pipelines extensions, sharing practical configurations...
Jesse Houwing's Blog 2025-04-02
Aspire: Bringing Reusable, Strongly-Typed Infrastructure Modeling to Application LifecyclesIn this insightful post, David Fowler shares how Aspire brings the discipline and reusability of software engineering to infrastructure, enabling scalable and composable deployment with strongly-typed resources and hosting integrations....
David Fowler's Blog 2025-04-02
Creating SBOM Attestations for NuGet Packages Using GitHub ActionsIn this blog post, Andrew Lock demonstrates how to create SBOM attestations for your .NET applications or NuGet packages using GitHub Actions, enhancing supply chain security.
Andrew Lock's Blog 2025-04-01
Making Software Like LEGO: How Aspire Brings the Pieces TogetherIn this post by David Fowler, the author discusses how Aspire transforms software development by making systems composable and robust, shifting focus from raw code to orchestration, resources, and extensible...
David Fowler's Blog 2025-03-30
Bridging the Gap: The Future of AspireWritten by David Fowler, this post discusses the future direction of Aspire, focusing on how it bridges the gap between application development and cloud infrastructure for both developers and platform...
David Fowler's Blog 2025-03-28
Modernize Legacy Code with GitHub CopilotRandy Pagels discusses practical strategies for using GitHub Copilot to modernize legacy codebases. This guide covers refactoring, updating libraries, and specific Copilot prompts to keep code updated.
Randy Pagels's Blog 2025-03-28
Creating a Software Bill of Materials (SBOM) for an Open-Source NuGet PackageIn this comprehensive guide, Andrew Lock demonstrates how to generate SBOMs for .NET NuGet packages using tools like GitHub’s SBOM export, Microsoft’s sbom-tool, anchore/sbom-action, and CycloneDX, highlighting practical considerations for...
Andrew Lock's Blog 2025-03-25
Integrating Windows.Media SpeechRecognition in WPF Applications Using .NETRick Strahl discusses the practical integration of Windows.Media SpeechRecognition within WPF applications using .NET. The post highlights code samples, SDK dependencies, workarounds for WinRT/.NET issues, and language management.
Rick Strahl's Blog 2025-03-25
Creating Provenance Attestations for NuGet Packages in GitHub ActionsAndrew Lock examines how developers can create provenance attestations for NuGet packages using GitHub Actions. He details the underlying mechanics, security implications, verification methods, and practical challenges, including how to...
Andrew Lock's Blog 2025-03-18
Making HTML Input Controls Truly ReadOnly: Best Practices and WorkaroundsRick Strahl offers practical solutions for improving HTML readonly input controls, providing tips on CSS, tabindex, and UI design trade-offs for web developers.
Rick Strahl's Blog 2025-03-14
Accessing Windows Settings Dialogs from Code via Shell CommandsRick Strahl discusses how developers can open Windows Settings dialogs directly from code or shell commands using the ms-settings: protocol handler. The article provides practical usage examples for applications built...
Rick Strahl's Blog 2025-03-13
Running an ASP.NET Core App Inside IIS in a Windows Docker ContainerAndrew Lock explains the process of hosting an ASP.NET Core application in IIS on a Windows Docker container. Learn about Dockerfile creation, configuring IIS, and resolving common issues.
Andrew Lock's Blog 2025-03-11
Resolving Paths to Server-Relative Paths in .NET CodeIn this post, Rick Strahl describes strategies and provides helper methods for resolving URLs to server-relative paths in .NET code, extending beyond default ASP.NET Core mechanisms.
Rick Strahl's Blog 2025-03-09
Creating a Roslyn Analyzer to Detect Infinite Loops from ThreadAbortExceptions in .NET FrameworkAndrew Lock presents an in-depth guide on identifying and mitigating infinite loops caused by ThreadAbortExceptions in .NET Framework applications, illustrating the problem with examples and sharing a custom Roslyn Analyzer...
Andrew Lock's Blog 2025-03-04
Generic C# Methods with Enum Constraints for .NETIn this post, Khalid Abuhakmeh illustrates how to leverage modern C# features to create type-safe, generic helper methods for extracting enum metadata, offering practical insight for .NET developers.
Khalid Abuhakmeh's Blog 2025-03-04
Implementing Inline Confirmation UI in JavaScript and ASP.NET AppsRick Strahl shares a simple and effective technique for handling confirmation prompts inline in JavaScript and ASP.NET web applications, providing code examples and UI best practices.
Rick Strahl's Blog 2025-02-27
Measure Application Performance in .NET Using IMeterFactoryAuthored by Muhammed Saleem, this article explores practical techniques for integrating and utilizing IMeterFactory to measure and optimize application performance in .NET, focusing on metrics collection and monitoring within ASP.NET...
Code Maze Blog 2025-02-26
Disabling Localized Satellite Assemblies During .NET PublishIn this post, Andrew Lock explores how .NET developers can prevent unnecessary localization satellite assemblies from being included in publish outputs to reduce app size.
Andrew Lock's Blog 2025-02-25
Strongly-Typed Markdown for ASP.NET Core Content AppsIn this post, Khalid Abuhakmeh guides developers through building strongly-typed content management solutions by parsing Markdown with YAML frontmatter into C# objects for ASP.NET Core apps.
Khalid Abuhakmeh's Blog 2025-02-25
Retrieving Images from the Clipboard Reliably in WPF RevisitedIn this post, Rick Strahl reviews the long-standing problems with image data retrieval from the Windows clipboard in WPF, and demonstrates robust solutions using intermediary bitmaps and pixel format fixes....
Rick Strahl's Blog 2025-02-22
Implement Role-Based Authorization With Keycloak, Web API, and Blazor WebAssemblyMarinko Spasojević guides readers through implementing role-based authorization using Keycloak with Blazor WebAssembly and Web API, exploring role assignment, claims mapping, and securing both UI and API endpoints in modern...
Code Maze Blog 2025-02-21
Setting Environment Variables in IIS Without Triggering App Pool RestartsIn this post, Andrew Lock provides practical strategies for setting environment variables in IIS application pools on Windows, covering both UI and command-line techniques, and explains how to prevent unwanted...
Andrew Lock's Blog 2025-02-18
Avoiding Closures in .NET ConcurrentDictionary: The Efficient GetOrAdd OverloadIn this article, Khalid Abuhakmeh delves into the nuances of closures in C#, focusing specifically on their impact in ConcurrentDictionary. He demonstrates code refactoring to avoid closures and highlights the...
Khalid Abuhakmeh's Blog 2025-02-18
Keycloak Authentication with ASP.NET Core Web API and Blazor WebAssemblyIn this article, Marinko Spasojević details how to integrate Keycloak authentication with both a Blazor WebAssembly client application and an ASP.NET Core Web API backend, providing step-by-step guidance and sample...
Code Maze Blog 2025-02-17
Handling Large Cookies in ASP.NET Core with ChunkingCookieManagerKhalid Abuhakmeh discusses practical cookie management in ASP.NET Core, focusing on overcoming size limitations using the ChunkingCookieManager. This guide is ideal for developers confronted with storing substantial session data securely...
Khalid Abuhakmeh's Blog 2025-02-11
Hybrid Caching in ASP.NET Core: Bridging In-Memory and Distributed CachingBozo Spoljaric explains hybrid caching in ASP.NET Core, presenting its implementation, configuration, and practical examples. The article targets developers optimizing data access and scalability in .NET applications by combining local...
Code Maze Blog 2025-02-10
Using Vogen for Value Objects in C# and .NETIn this post, Khalid Abuhakmeh demonstrates how value objects and the Vogen library can enhance code correctness and readability in C# and .NET. The article is packed with practical code...
Khalid Abuhakmeh's Blog 2025-02-04
Testing Database Connectivity with EF CoreIn this article, Georgi Georgiev explores essential techniques for validating database connectivity with EF Core, covering both application and infrastructure-level health checks for resilient .NET services.
Code Maze Blog 2025-01-23
Comparing Raw ASP.NET Request Throughput: .NET 8.0 vs .NET 9.0In this detailed article, Rick Strahl compares the raw throughput and resource usage of ASP.NET applications running on .NET 8.0 and .NET 9.0. He shares benchmarks, test setup details, anecdotes...
Rick Strahl's Blog 2025-01-19
Initialize ASP.NET Core TagHelpers with Shared DataIn this blog post, Khalid Abuhakmeh explores how to leverage the ITagHelperInitializer interface in ASP.NET Core to provide shared data to TagHelpers, offering practical tips for efficient and maintainable Razor...
Khalid Abuhakmeh's Blog 2025-01-14
How to Perform Snapshot Testing With Verify in C#In this guide, Januarius Njoku demonstrates how to leverage the Verify library for snapshot testing in C#. The article offers practical steps for setup and execution, providing sample code and...
Code Maze Blog 2025-01-13
Writing a String Numeric Comparer in .NET: Handling Numeric Sorting with SpansIn this post, Khalid Abuhakmeh explores building a numeric string comparer in .NET using modern C# features like Span APIs. He shares practical code, discusses challenges, and offers guidance for...
Khalid Abuhakmeh's Blog 2025-01-07
Persist Values With AsyncLocal in C# Async FlowBozo Spoljaric introduces the AsyncLocal class, revealing how it enables value persistence throughout asynchronous flows in C#. The article offers step-by-step examples and guidance on when and how to effectively...
Code Maze Blog 2025-01-06
Efficient .NET Documentation with Astro, Starlight, and MarkdownSnippetsKhalid Abuhakmeh explains how developers can use Astro’s Starlight in combination with the MarkdownSnippets tool to maintain accurate and up-to-date .NET documentation with live code samples.
Khalid Abuhakmeh's Blog 2024-12-31
Boosting Loop Performance in .NET with Parallel.ForEachAsync: A Practical GuideRick Strahl explores using Parallel.ForEachAsync in .NET to significantly improve the performance of link validation in Markdown Monster by parallelizing HTTP operations. This article walks through before-and-after implementations, practical code,...
Rick Strahl's Blog 2024-12-28
Polling ASP.NET Core APIs with Alpine.js for Real-Time UI UpdatesIn this post, Khalid Abuhakmeh guides readers through building a real-time updating UI by combining Alpine.js and ASP.NET Core APIs. The article demonstrates effective API design, data polling, and integration...
Khalid Abuhakmeh's Blog 2024-12-24
Global Query Filters in Entity Framework CoreGergő Vándor presents a comprehensive guide to Entity Framework Core’s global query filters, detailing their purpose, implementation, and key considerations for .NET developers.
Code Maze Blog 2024-12-23
Building a Persistent Counter with Alpine.js and ASP.NET CoreKhalid Abuhakmeh explains how to build a persistent counter with Alpine.js, demonstrating concepts similar to Blazor’s counter sample and showcasing ASP.NET Core integration.
Khalid Abuhakmeh's Blog 2024-12-17
Comparison of Rebus, NServiceBus, and MassTransit in .NETAuthored by Michal Kaminski, this comprehensive comparison explores Rebus, NServiceBus, and MassTransit, guiding .NET developers through their features, implementation, and use cases.
Code Maze Blog 2024-12-16
Chain of Responsibility Design Pattern in C#Ahsan Ullah explores the Chain of Responsibility design pattern in this in-depth article, demonstrating how to implement and leverage it for flexible, maintainable C# applications.
Code Maze Blog 2024-12-09
Dynamic Htmx Islands with ASP.NET Core: Island TagHelpers and Response CachingIn this post, Khalid Abuhakmeh demonstrates how to build dynamic ‘islands’ in ASP.NET Core applications with Htmx, using TagHelpers and caching to combine static speed with dynamic server-rendered content.
Khalid Abuhakmeh's Blog 2024-11-19
Unleashing the Power of VS Code: IT-Tage Frankfurt 2024 Talk AnnouncementIn this announcement, Harald Binkle shares details about his talk at IT-Tage Frankfurt 2024, where he will demonstrate Visual Studio Code’s standout features for full-stack development and integration with Azure...
Harald Binkle's blog 2024-11-15
Getting the Current TabItem When the Tab Is Not Selected in WPFIn this article, Rick Strahl shares insights into handling hover detection in WPF TabControls, demonstrating how to access non-selected TabItems for context-sensitive operations.
Rick Strahl's Blog 2024-11-09
How dotnet.exe Resolves and Loads the hostfxr Library – Exploring the .NET MuxerIn this article, Steve Gordon explores how dotnet.exe resolves and loads the hostfxr library, shedding light on the .NET muxer’s internal steps. The discussion is a part of his deep...
Steve Gordon's Blog 2024-11-08
A Brief Introduction to the .NET Muxer (aka dotnet.exe)In this introduction by Steve Gordon, readers gain foundational knowledge of the .NET muxer (dotnet.exe), an essential component of the .NET ecosystem. Gordon’s thorough exploration unveils the inner workings and...
Steve Gordon's Blog 2024-10-25
How to Run SQL Server on Windows ARM Devices: Solutions and WorkaroundsIn this post, Rick Strahl shares his journey and solutions for running SQL Server on a Windows ARM device, providing practical techniques, troubleshooting steps, and community-sourced insight relevant for .NET...
Rick Strahl's Blog 2024-10-24
Update HTML Elements Dynamically with Htmx Triggers and ASP.NET CoreIn this post, Khalid Abuhakmeh walks through using Htmx’s HX-Trigger headers with ASP.NET Core Razor Pages to seamlessly update UI elements like avatars upon profile changes, backed by practical code...
Khalid Abuhakmeh's Blog 2024-10-22
Diagnosing Webcam Freezes in OBS and Browsers: LSVCam, TikTok Studio, and Virtual Camera Issues on WindowsScott Hanselman documents his investigation into persistent webcam hangs affecting OBS Studio and browser apps on Windows, identifying the LSVCam virtual camera from TikTok Live Studio as the culprit. He...
Scott Hanselman's Blog 2024-10-09
Implementing ASP.NET Core Automatic Span Linking for Internal Redirects with Middleware on .NET 9In this detailed post by Steve Gordon, the author demonstrates a practical approach to implementing automatic span linking for internal redirects in ASP.NET Core apps with .NET 9, enhancing traceability...
Steve Gordon's Blog 2024-10-08
Add EF Core Migrations to .NET Aspire SolutionsIn this detailed guide, Khalid Abuhakmeh walks through bridging the development/runtime gap for managing EF Core migrations within .NET Aspire distributed solutions. The post explores solution structure, code snippets, and...
Khalid Abuhakmeh's Blog 2024-10-08
Efficient IP Address Tracking with .NET 9's AlternateLookup and IAlternateEqualityComparerIn this in-depth article, Steve Gordon demonstrates enhancements in .NET 9 and C# 13 collections, focusing on building an efficient, low-allocation dictionary for IP address tracking using AlternateLookup and custom...
Steve Gordon's Blog 2024-10-02
Configuring Azure Inference AI SDK for Azure OpenAI Endpoints in PythonRob Bos provides a helpful guide on using the Azure Inference AI SDK in Python to connect to Azure OpenAI endpoints, including code examples for credential configuration.
Rob Bos' Blog 2024-09-29
Receiving GitHub Webhooks When Using the ASP.NET Core Developer CertificateIn this detailed post, Steve Gordon shares practical steps for developing and testing GitHub webhooks locally within an ASP.NET Core app, detailing webhook setup, certificate management, and smee.io usage.
Steve Gordon's Blog 2024-09-24
How to Reliably Test Htmx Applications with Playwright in C#In this post, Khalid Abuhakmeh introduces a seamless technique for automating tests in Htmx-powered ASP.NET Core applications using Playwright, ensuring stable and reliable results.
Khalid Abuhakmeh's Blog 2024-09-24
Disabling Recording of an Activity (span) in .NET OpenTelemetry InstrumentationIn this technical post, Steve Gordon shares practical guidance on disabling the recording of Activities (spans) in .NET OpenTelemetry instrumentation, highlighting both the motivation and code implementation.
Steve Gordon's Blog 2024-09-18
Intersperse Values for Enumerable Collections in C#In this post, Khalid Abuhakmeh explores how to create an ‘intersperse’ extension method for IEnumerable in C#, inspired by a JavaScript utility. The article includes code samples, expected outputs, and...
Khalid Abuhakmeh's Blog 2024-09-10
Getting the ASP.NET Core Server Hosting URLs at Startup and in RequestsIn this post, Rick Strahl explores different techniques to retrieve ASP.NET Core application hosting URLs at startup and during requests, providing code samples and practical advice.
Rick Strahl's Blog 2024-09-04
Checked and Unchecked Arithmetic Operations in .NETIn this post, Khalid Abuhakmeh demonstrates how easily integer overflow can occur in .NET when generating the Fibonacci sequence, and provides practical strategies to avoid overflow errors in critical .NET...
Khalid Abuhakmeh's Blog 2024-08-27
Enhancing Htmx Confirmation Dialogs with SweetAlert for Better UXKhalid Abuhakmeh explains how to enhance destructive operation confirmations in web apps by intercepting Htmx events and displaying user-friendly SweetAlert dialogs instead of native browser confirms.
Khalid Abuhakmeh's Blog 2024-08-20
How To Pick The Right Constructor When Using ActivatorUtilities In .NETIn this detailed guide, Khalid Abuhakmeh demonstrates how to select the appropriate constructor when using ActivatorUtilities for dependency injection in .NET. The author shares practical code examples and explains the...
Khalid Abuhakmeh's Blog 2024-08-13
Add a Property to the Top-level Statements Program ClassKhalid Abuhakmeh explains how to add static properties to a top-level statements Program class in C# using partial classes. This post guides readers on creating more readable console applications and...
Khalid Abuhakmeh's Blog 2024-08-06
TDD with GitHub Copilot in PythonIn this article, Jesse Swart shares insights into trying out Test-Driven Development (TDD) in Python, leveraging GitHub Copilot as an assistant.
Jesse Swart's Blog 2024-06-24
Quickly Consume External APIs with GitHub CopilotIn this article, Jesse Swart’s Blog explores how developers can leverage GitHub Copilot to work with external APIs, especially when SDKs or OpenAPI specifications are missing.
Jesse Swart's Blog 2024-06-21
How to consume an API without an OpenAPI specWhen working with external APIs that lack SDKs or OpenAPI specifications, developers often face the tedious task of manually creating typed interfaces. Jesse Swart demonstrates how GitHub Copilot can dramatically...
Jesse Swart 2024-06-21
Copilot Data ConversionIn this article, Jesse Swart’s Blog discusses the practical use of GitHub Copilot for converting data exported from a table designer tool into working test files.
Jesse Swart's Blog 2024-06-19
GitHub Copilot Chat - Power User exampleIn this article, Rob Bos shares his experience leveraging GitHub Copilot Chat to streamline the development of a script designed for interacting with the GitHub API. Rob explains his workflow,...
Rob Bos' Blog 2024-06-19
GitHub Copilot - Levels of enlightenmentIn his video series ‘Levels of Enlightenment,’ Rob Bos shares his journey and practical lessons learned while using GitHub Copilot over the last year and a half.
Rob Bos' Blog 2024-06-07
GitHub Copilot Power User exampleIn this article, Rob Bos walks through his experience leveraging GitHub Copilot to refactor a YAML pipeline script by extracting a script directly from the pipeline into a standalone file....
Rob Bos' Blog 2024-06-05
How Copilot/AI helps me in my daily workIn this article, Rob Bos shares insights into leveraging AI tools, especially GitHub Copilot, to accelerate application and code generation workflows, focusing on GitHub Actions deployment protection and app setup....
Rob Bos' Blog 2023-04-24

Created with ❤️ by Reinier van Maanen

Subscribe via RSS