2020–2026
1,489 posts
2026 184
October 2026
- Reducing the size of your authentication cookie with ITicketStore
- Napkin math: know what your system should do before you measure it
- Using the ADFS userinfo endpoint instead of allatclaims
- Getting all your claims in the ID token with the ADFS allatclaims scope
- Getting visual explanations from your coding agent with the show-me skill
- Using FileLifecycleHooks in Serilog
- Cleaning up old log files with Serilog
- Tuning the default logging providers in ASP.NET Core through configuration
- Getting started with DSC 3.0 – Part 6: Using the DSC MCP server with your AI coding tools
- Getting started with DSC 3.0 – Part 5: Guarding your configuration with Assertion
- Getting started with DSC 3.0 – Part 4: Configuring IIS with multiple resources and dependsOn
- Getting started with DSC 3.0 – Part 3: Capturing the current state with dsc config export
- Getting started with DSC 3.0 – Part 2: Managing a Windows service end to end
- Getting started with DSC 3.0 – Part 1: What is DSC and what changed?
- Don't know what to do while your agents work? The VS Code team has an answer.
September 2026
- Upgrading Dependency Track from v4 to v5
- Docker: No space left on device
- Auto-accepting AI edits in VS Code
- Guid.CreateVersion7() is NOT a sequential guid for SQL Server
- GitHub Copilot auto mode: should you disable models?
- Hot Exit in Visual Studio
- A weekly stocktake for your skills
- Sharing your VS Code automations
- Continuous AI lands in VS Code too
- Continuous AI, one automation at a time
- Sharing your micro-apps with /create-canvas in the GitHub Copilot app
- The Mediator pattern with MassTransit
- Why is my AI agent bribing a hamster?
- Let Copilot argue with you: the /spar slash command
- My VS Code story (and why the new documentary is a must watch)
- Using GitHub Copilot Spaces from VS Code
- Getting started with GitHub Copilot Spaces
- Cutting tool output tokens in Microsoft Agent Framework with TOON
- Firelighting vs. firefighting
- Monitoring Claude Code usage with the Aspire Dashboard
- Monitoring GitHub Copilot usage with the Aspire Dashboard
- Setting up GitHub Copilot budget policies without GitHub Enterprise Cloud
August 2026
- Renovate hostRules silently ignored? Check your config level
- Turning a single work session into a reusable Skill with Microsoft's Skill Recorder
- Packaging skills in a plugin, this time for GitHub Copilot CLI
- Packaging skills into a plugin
- Azure DevOps Server – Git submodule support
- Visual Studio finally gets proper Git submodule support
- Renovate on Azure DevOps: picking the right work item type
- Fixing "UNABLE_TO_VERIFY_LEAF_SIGNATURE" when running Renovate against an internal Azure DevOps server
- Mixing AddDbContext and AddDbContextFactory: 'Cannot consume scoped service'
- Docker snapshot tags aren't as static as I thought
- Remote control: steering your AI coding session from your phone
- Enabling diagnostics in a YAML pipeline in Azure DevOps
- EF Core savepoints: rolling back part of a transaction
- Passing custom parameters through OpenIddict's client authorization request
- Passthrough authentication with OpenIddict
- Why "AI is just the next compiler" doesn't hold up
July 2026
- Reading a Profiler trace without guessing
- Enabling the Application Insights Profiler
- Our P95 spiked, now what?
- .NET Aspire: The price of forgetting WithReference
- The mysterious .dev.localhost checkbox
- Talking to Copilot like a caveman
- Cache stampede: when our cache turned against us
- A complex system designed from scratch never works
- Fixing "Filename too long" errors on Windows with Git
- YARP and Aspire: "https+http scheme is not supported"
- The role of ActivitySource in OpenTelemetry for .NET
- Combining Google Stitch with the GitHub Copilot Coding Agent
- Dependency-Track: Error occurred decrypting the OSS Index API Token
- Slowly Changing Dimensions in Microsoft Fabric - The no-code way
- Slowly Changing Dimensions – An introduction
June 2026
- GitHub Copilot SDK Deep Dive: Session Memory
- Scheduling actions in the GitHub Copilot CLI
- Configuring Copilot CLI Isolation via the GitHub Copilot SDK
- Local sandboxing in the GitHub Copilot CLI
- Why my Azure DevOps scheduled pipeline never ran
- GitHub Copilot SDK Deep Dive: CopilotClientMode
- Shining a light on .NET versions across our organisation with OpenTelemetry – The Azure Monitor edition
- GitHub Copilot SDK Deep Dive: Controlling built-in tools with toolset
- GitHub Copilot SDK Deep Dive: Surgical system prompt customization
- AgentsView: A practical look at your AI agent sessions
- Ship your C# MCP Server as a one-click bundle with MCPB
- Level Up Your Copilot CLI Statusline with Oh My Posh
- Safely injecting a JSON configuration object into a Razor Page
- Multi-agent patterns with the GitHub Copilot SDK (continued)
- Multi-agent patterns with the GitHub Copilot SDK
- Agent Skills in the GitHub Copilot SDK
- MCP integration in the GitHub Copilot SDK
- Rubber Duck in GitHub Copilot CLI
- Visual Studio 2026–From plan mode to plan agent
- Breaking Change: The .On() Method in the Latest Copilot SDK
- GitHub Copilot SDK issue after upgrading to the 1.0.0-beta.10
- Type-safe tool definitions come to the Copilot .NET SDK
May 2026
- EF Core 10–Smarter parameterized collections
- Respect what came before
- GitHub Copilot AI Credits switch: Here's what to do before June 1
- Using ExecutionLog views in SQL Server Reporting Services to monitor performance
- Always know where you stand: Setting up a live status line in GitHub Copilot CLI
- Always know where you stand: Setting up a live status line in GitHub Copilot CLI
- Get more out of your GitHub Copilot session history with /chronicle
- Deploying and scaling the GitHub Copilot SDK (continued)
- Deploying and scaling the GitHub Copilot SDK
- GitHub Copilot Is changing how it bills you - Here's how to check the impact
- Techorama 2026 - Building an agent into any app using the GitHub Copilot SDK
- GitHub Copilot SDK–Breaking change in permission handling
- Sessions in the GitHub Copilot SDK: What they are and how to manage them
- Getting started with the GitHub Copilot SDK in .NET
- You don't need to build your own agent harness
- We are all beginners
- How to use GitHub Copilot Agent Skills in Visual Studio
April 2026
- Supercharging GitHub Copilot CLI with Ollama: Local Models, Full Control
- Fixing "Selected tag uses an invalid operating system " error when deploying to Azure Container Apps
- How to fix NuGet vulnerabilities with GitHub Copilot in Visual Studio
- Data API Builder - Get a visual config UI
- Microsoft Agent Framework- Workflow lifetime
- Expose your stored procedures as AI agent tools with DAB 2.0
- DAB 2.0 Preview: Autoconfiguration with autoentities
- Fixing the "Newer version of Aspire.Hosting.AppHost required" error
- Microsoft Agent Framework–Building a multi-agent workflow with DevUI in .NET
- Microsoft Agent Framework - Getting started with DevUI in .NET
- ADFS policies vs authorization rules - understanding the difference
- Keep your context short - Manual compaction is now available in VS Code
- Git for Windows 2.49.0 broke my Azure DevOps pushes
- Debugging your VSCode agent interactions
- Icons for Tools, Resources, and Prompts–Because a picture is worth a thousand words
- GitHub Copilot–Format your code using hooks
- CycloneDX 1.7 not yet supported by Dependency-Track
- Agents can now verify your UI changes without leaving VS Code
- Awesome GitHub Copilot just got awesommer (if that’s a word)
- Shining a light on .NET versions across our organisation with OpenTelemetry
March 2026
- VS Code Memory Tool: Local Memory meets GitHub Copilot Memory
- DeepWiki - Talk to your documentation
- SQL Server silently renames your user when you ALTER with a login
- Compile-Time options validation with the OptionsValidator source generator
- Validating configuration at startup with IValidateOptions in .NET
- How to explore multiple solutions in parallel when using Github Copilot
- You no longer have to wait for Copilot to finish thinking
- GitHub Copilot CLI Tips & Tricks — Part 5: Delegation
- GitHub Copilot CLI Tips & Tricks — Part 4: Automating and enforcing policies with hooks
- GitHub Copilot CLI Tips & Tricks — Part 3: Parallelizing Work
- GitHub Copilot CLI Tips & Tricks — Part 2: Session management
- GitHub Copilot CLI Tips & Tricks — Part 1: Understanding the Different Modes
- Managing multiple SQL Server instances from SQL Server Management Studio
- The lock that killed my migration
- The silent filter: How an ASP.NET MVC quirk became a security leak
- Cleaner Minimal API Endpoints with [AsParameters]
- ASP.NET Core - TryParse error when using Minimal APIs
February 2026
- Community is a verb
- Python vs PySpark notebooks in MS Fabric
- Cleaner switch expressions with pattern matching in C#
- Run SQL queries on local parquet and delta files using DuckDB
- How to work with OneLake files locally using Python
- Accessing Microsoft Fabric data locally with OneLake file explorer
- Azure Pipelines–Failed to set a git tag
- How I built a custom agent skill to configure Application Insights
- I didn't notice this VS Code feature until it made me question how I code
- ActionFlix Because even rom-coms deserve an explosion
- Building an end-to-end monitoring solution with Azure Arc, Log Analytics and Workbooks - Part 5: Putting it all together
- Copilot Memory in VS Code: Your AI assistant just got smarter
- Building an end-to-end monitoring solution with Azure Arc, Log Analytics and Workbooks–Part 4: Data visualisation with Azure Workbooks
- VSCode–Finetune your AI instructions with /init
- Building an end-to-end monitoring solution with Azure Arc, Log Analytics and Workbooks–Part 3: Data persistence in Log Analytics
- Building an end-to-end monitoring solution with Azure Arc, Log Analytics and Workbooks–Part 2: Data collection with Azure Arc
- Building an end-to-end monitoring solution with Azure Arc, Log Analytics and Workbooks–Part 1: Overview & Architecture
- Creating recursion in TPL Dataflow with LinkTo predicates
- Creating conditional flows in TPL Dataflow with LinkTo predicates
- Simplifying data movement in Microsoft Fabric
January 2026
- Using HTTP Files in VS Code with REST Client
- Checkout a Git repository using a tag in VSCode
- Error when using the Microsoft Fabric Capacity Metrics app
- Why AI helps you to discover new parts of your favorite SDK–The NullLogger
- Testing your MCP server with Visual Studio HTTP Files
- Passing parameters to a hosted MCP Server in C#
- Permission to experiment granted
- The power of "What" over "Why"
- Azure DevOps Server –Mermaid support improvements
- Help! Copilot is eating my Fabric capacity.
- Azure DevOps( Server) –Check repository health and usage
- Understanding Microsoft Fabric Capacity and Throttling–A first attempt
- Structuring Projects in Dependency-Track
- Integrating Dependency-Track into Azure DevOps Pipelines
- Configuring Dependency-Track with Microsoft Entra ID (Azure AD) OIDC Authentication
- Setting Up Dependency-Track on Azure Container Apps
- Dependency-Track: Taking control of our software supply chain
- Avoiding truncation errors in Microsoft Fabric Data Warehouse: Understanding UTF‑8, collations, and column lengths
- Background agents in GitHub Copilot
- Automate your full development process with handoffs
2025 220
December 2025
- Why you can't have a ‘work self’ and a ‘home self’
- Gain insights in your software supply chain using GitHub’s Dependency Graph
- Take a tour along the Microsoft Datacenters
- Giving OpenAI codex a try in VSCode
- Defending yourself against compromised npm packages
- Understanding your project architecture and how it evolves over time using Gource
- Find your line
- Showing custom metrics in Aspire
- Replacing EventCounters with the new Metrics API
- Leave room for the other voice
- Enhanced security in NuGet for .NET 10
- How to exclude specific content when using GitHub Copilot
- Concurrent changes on non-concurrent collections
November 2025
- Code signing your .NET Core application
- Building our first MCP Resources enabled MCP Server with C#–Advanced
- One shot tool execution in .NET 10 - Run tools without installing
- VS Code Planning mode
- Building our first MCP Resources enabled MCP Server with C#
- Supercharge your AI Workflow with Github Copilot Custom Prompt Files
- Help! My Application Insights telemetry stopped working.
- Hands-on with MCP Resources in Visual Studio
- How to uninstall older .NET Core versions
- Hands-on with MCP Resources in VS Code
- MCP resources–The piece everyone overlooks
- Vibe Coding with GitHub Spark: From idea to app in minutes (continued)
- Vibe Coding with GitHub Spark: From idea to app in minutes
- Unlocking Collection Expressions for your own types
- I love it when a plan comes together
October 2025
- Restrict MCP server access when using Github Copilot -
- Git worktrees–A first step towards a multi-agent development workflow
- Catching dependency injection configuration errors early
- Give your Github Copilot a break
- Github Copilot–Auto model select
- Six words that define your leadership
- Github Copilot on the command line (continued)
- Github Copilot on the command line
- Securing Your ASP.NET Core App with Authorization Fallback Policy
- Using connection colors in SQL Server Management Studio to prevent database disasters
- Use request chaining in HTTP files
- Use shared variables in HTTP files
- Use environment specific variables in HTTP files
- Devoxx 2025 - Outcoded by our kids
- GitHub Copilot's starts supporting AGENTS.md: A step toward unified AI Instructions
- Understanding AsNoTrackingWithIdentityResolution in Entity Framework Core
- Securing File Uploads Part 4: Malware Scanning with Windows AMSI
- Using Personal Access Tokens(PAT) to clone Azure DevOps Git Repositories
- Securing File Uploads Part 3: File Signature Validation
- Securing File Uploads Part 2: File Size Validation
- Securing File Uploads: Content Type Validation–A defense against malicious files
- Discovering Visual Studio 2026 – Bring your own model
- Visual Studio 2026–The Copilot Profiler Agent
September 2025
- SonarQube–The ‘MakeUniqueDir’ task failed unexpectedly
- Microsoft.Extensions.AI – Part IX–Semantic kernel integration
- Discovering Visual Studio 2026 – Code coverage
- Discovering Visual Studio 2026 – Copilot Actions
- Discovering Visual Studio 2026–Adaptive paste
- Auto update the .NET core versions on your server
- Discovering Visual Studio 2026–Installation
- How to get rid of the smartcard popup when interacting with LDAP over SSL
- Migrating from XUnit v2 to v3–Troubleshooting
- Migrating from XUnit v2 to v3 – Getting started
- Migrating from XUnit v2 to v3 - What’s new?
- Writing your own batched sink in Serilog
- Ollama– Running LLM’s locally
- Part VIII – Evaluations(continued)
- Microsoft.Extensions.AI–Part VIII–Evaluations
- The prompt as documentation: Should AI-generated code include its origin story?
- Custom chat modes in Github Copilot
- Why rational humans make irrational decisions
- Run an Azure Pipelines build agent in WSL2
- From AutoMapper Profiles to Mapster: Centralizing your mapping logic
- The two-ear Product Manager: Why balanced listening is your superpower
- Fixing ValidationProblemDetails serialization Issues when using the JSON Source Generator in ASP.NET Core
August 2025
- How to hide ‘Server’ and ‘X-Powered-By’ headers in ASP.NET Core
- Let GitHub Copilot create custom instructions based on your codebase
- Solving the "Synchronous operations are disallowed" Exception in ASP.NET Core
- .NET Aspire error - Aspire.Hosting.DistributedApplicationException: 'Failed to get effective launch profile for project resource ''.
- Fixing integration test issues with Microsoft.AspNetCore.Mvc.Testing in .NET 9
- Taking GitHub Copilot's .NET Upgrade Assistant for a spin: AI-Powered Modernization
- Type Aliases in C#: Bringing F#-style readability to your C# code
- Refactor an Azure DevOps pipeline into multiple stages
- Supercharge your EF Core debugging with Query Tags
- View your installed MCP servers in VSCode
- Azure Pipelines and NuGet Package Source Mapping–Not best friends (yet)
- Azure DevOps Pipelines: Fixing the old NuGet version problem
- Understanding SERVICE_SID_TYPE_UNRESTRICTED in Azure DevOps Agent Configuration
- Azure DevOps Server–Agent download location has changed
- Keeping your Azure DevOps Agents clean: A guide to maintenance jobs
- Microsoft.Extensions.AI–Part VII–MCP integration
- Microsoft.Extensions.AI–Part VI–Structured Output
- Microsoft.Extensions.AI –Part V–Chat history
- Microsoft.Extensions.AI–Part IV–Telemetry integration
July 2025
- Microsoft.Extensions.AI–Part III–Tool calling
- Microsoft.Extensions.AI–Part II - ASP.NET Core Integration
- GitHub Copilot–We still need the human in the loop
- Start your own coding adventure with GitHub Copilot
- An introduction to Microsoft.Extensions.AI–Part I
- The one question that transforms every coaching session
- Getting started with AI development in .NET
- GitHub Copilot walkthrough
- Giving Copilot Agent in Visual Studio a try
- Supercharging On-Device AI: Foundry Local + Semantic Kernel
- Nobody wants software
June 2025
- Finding inspiration for good custom instructions for GitHub Copilot
- Monitor your A/B test in .NET
- A/B testing in .NET using Microsoft Feature Management
- Avoiding unexpected costs from GitHub Copilot premium requests
- Browse the .NET code base with the .NET Source Browser
- Untrusted GIT repositories in Visual Studio
- Detecting breaking changes in your OpenAPI metadata
- Making a header parameter required in ASP.NET Core
- API contracts and nullability in ASP.NET Core
- Repeating a test multiple times in C#
- Improve your GitHub Copilot prompts with the Prompt Boost extension
- Compiler error ASPIRE007 after upgrading Aspire
- Property based testing - Updating FsCheck to version 3.x
- Speed up your Git experience by enabling the commit graph algorithm
- LLM timeline
May 2025
- .NET 9–OpenAPI and Scalar–Passing an API key
- Get an overview of task duration of Windows Scheduled Tasks
- Generate Terraform configuration files from your Azure resources
- The (non) sense of organization charts
- .NET 9–OpenAPI and Scalar–Adding custom headers
- The servant leadership paradox - When org charts contradict culture
- .NET 9–OpenAPI and Scalar–Introduction
- Why you should clean up your test directories
- Static File handling in ASP.NET Core 9.0
- WSFederation broken after upgrade to .NET 8
- Troubleshooting a SQL timeout issue
- Managing technical debt like financial debt
- How to limit memory usage of applications in IIS
- Azure DevOps– Obsolete check-in policies
- Compliancy vs Commitment
- Meet the Phi family
- .NET Conf Focus on Modernization
- Angular 18–Referencing assets
- Azure Static Web Apps - Failed to find a default file in the app artifacts folder. Valid default files: index.html,Index.html.
- Optimize the whole organization not the different parts
April 2025
- GitHub Copilot–3 misconceptions why people don’t use it
- AsyncEnumerable in C#: The importance of EnumeratorCancellation attribute
- The quest of the 403.16 error in IIS
- How our kids learn–Object relational mapping
- Tool calling using MCP with Semantic Kernel
- Git cherry-picking
- Semantic Kernel with Ollama returns 404 - The final solution
- GitHub–Disable required reviews for pull requests
- Debugging your MCP integration
- Let Claude Desktop interact with local Powerpoint and Word documents
- GitHub Copilot Agent Tool calling -Safe by default
- Let GitHub Copilot interact with your local PowerPoint and Word documents
- Copilot Agent mode is GA- What has changed?
- Azure Pipelines–Consolidate all build output in one folder
- Context is key–Add instructions to your copilot-instructions.md file
- GitHub Copilot–When to choose what?
- Finding your way in the AI landscape
March 2025
- MarkItDown with Ollama–Process images inside documents
- Convert documents to Markdown to build a RAG solution
- VSCode - Change Python version
- Using Bolt.new locally using Bolt.diy and Ollama
- Tackling Technical Debt- Where to start?
- Discontinuous improvement
- VSCode - Expose a local API publicly using port forwarding
- .NET Aspire Dashboard - The mystery of the hidden endpoint
- You don’t need cloud
- Future Tech 2025
- Tweak your LLM models with Ollama–Using OpenWebUI
- Tweak your LLM models with Ollama
- Running LLMs locally using LM Studio
- Visual Studio 2022 – GitHub Copilot Vision support
- .NET 9 - Goodbye sln!
- C# - Set environment in unit tests
- Disable NuGet Central Package Management for specific projects
- GitHub Copilot–Code reviews in VSCode
- Using legacy text encodings in .NET Core
February 2025
- GitHub Copilot–Code reviews
- GitHub Copilot–Code referencing
- Appreciate, don’t evaluate
- GitHub Copilot– Reusable prompts files
- GitHub Copilot - Custom Instructions
- GitHub Copilot Agent mode (Preview)
- Chat with your GitHub repository
- ASP.NET Core -Automatically add middleware through IStartupFilter
- Github Copilot–New models added
- Enabling .NET Aspire for an existing solution
- How I Turned Die Hard into a Romance Movie: A Valentine's Day Story
- SonarQube–Connecting to an on-premise Azure DevOps failed
- Azure DevOps– The SonarScanner did not complete successfully
- Test your prompt injection skills
- Getting started with the Azure AI services
- Apply effective naming conventions in Azure using the Azure Naming Tool
- Why the DeepSeek R1 Model is good news for all of us
- Explore and test local modals using Ollama and OpenWebUI
- Impersonation in ASP.NET Core
- Join the Github Copilot Bootcamp
- Azure DevOps Pipelines–Ignore build trigger for specific paths
- MassTransit 8 upgrade– Serialization issues
January 2025
- Podman–Accessing the host from inside a container
- StrideGPT–AI powered threat modelling
- Extend Github Copilot capabilities through the Copilot Marketplace
- GitHub Copilot - Generate mermaid diagrams to better understand an existing codebase
- Podman– Command execution failed with exit code 125
- Reading–A secret skill that everyone could master
- Semantic Kernel – Auto function calling
- Docker Compose–Container image is not updated
- Docker Compose - listing workers for Build: failed to list workers: Unavailable
- Qdrant Vector Database–What you need to know to get started in .NET
- Phi-4 now available locally through Ollama
- Github Copilot– Calling the outside world
- Podman 5.3.1 - Error: unable to connect to Podman socket: open \.ssh\known_hosts:
- Podman Error: no context directory and no Containerfile specified
- WSL–Getting started experience
- RAG Deep Dive series
- NuGet - Transitive pinning in Central Package Management
- Why asking for the ROI of AI in software development is the wrong question
- Prevent breaking changes using Microsoft.CodeAnalysis.PublicApiAnalyzers
- SonarQube–Error after updating the Prepare Analysis Task in Azure DevOps
- .NET 9 upgrade–notnull constraint
- OWASP Dependency Check error - Incompatible or corrupt database found.
- Use text embeddings within Semantic Kernel and Ollama
- Adding vision to Github Copilot
2024 214
December 2024
- Change the line ending of a file in VS Code
- Monitor Github Copilot usage
- Generate text embeddings with Semantic Kernel and Ollama
- Structured output with Ollama
- Github Copilot Edits
- Sequential GUIDs with .NET 9
- From dependence to independence, to interdependence
- CS8999–Line does not start with the same whitespace
- Semantic Kernel - Structured output
- Who owns AI in your organization?
- Efficient searching in .NET with SearchValues
- Free ebook - Practical debugging for .NET Developers
- Docker - Environment variable is not picked up
- Custom instructions when using GitHub Copilot
- The downside of hiring for cultural fit
- JetBrains AI Assistent–Ollama support
- Ollama - Unable to locate runners
- Visual Studio 2022 17.12- Show inline return values while debugging
November 2024
- C# 13–Implicit index access
- Autonomy and loose coupling are not only an important characteristic for a software architecture
- Powershell - The profile for the user is a temporary profile
- Creating a dependency graph using Github Copilot
- Trust & Inspire instead of Command & Control
- .NET 8 upgrade - AuthenticationHandler
- NU1803–NuGet requires HTTPS sources
- .NET Upgrade Assistant now supports upgrading to Centralized Package Management
- VISUG XL - Azure Static Web Apps
- NU1301–Unable to load the service index for source
- Using secrets.json in IIS
- Multi model support in Github Copilot
- .NET Conf 2024 is almost there!
- Web Deploy - WDeployConfigWriter issue
- Embracing change requests: a mindset shift
October 2024
- Applying the ‘Wisdom of the crowd’ effect in software development
- .NET 8 upgrade - error NETSDK1045: The current .NET SDK does not support targeting .NET 8.0.
- SQL Server - Use Table Valued parameters to construct an IN statement
- EF Core–Read and write models
- Architecting Your Team Setup: Aligning Teams with Software Design (and Vice Versa)
- Implementing an OAuth client credentials flow with ADFS–Part 4–Understanding and fixing returned error codes
- Implementing an OAuth client credentials flow with ADFS–Part 3–Debugging the flow
- Implementing an OAuth client credentials flow with ADFS–Part 2–Application configuration
- Implementing an OAuth client credentials flow with ADFS–Part 1 - ADFS configuration
- JWT decoder in Visual Studio
- Running a fully local AI Code Assistant with Continue–Part 6–Troubleshooting
- Running a fully local AI Code Assistant with Continue–Part 5–Read your documentation
- Hangfire–Change polling interval
- Microsoft Student Innovator Series
- Semantic Kernel–Plugin KeyNotFoundException
- Web Deploy error - Source does not support parameter called 'IIS Web Application Name'.
- MassTransit ConsumerDefinitions vs EndpointConfiguration - Understanding the Differences
- Azure Monitor Log Analytics–Identify high memory usage
- Semantic Kernel–Giving the new Ollama connector a try
- Azure DevOps–Update to the v3.x build agents
September 2024
- Azure DevOps–Sharing service connections
- Tool support in OllamaSharp
- Interact with Ollama through C#
- Running a fully local AI Code Assistant with Continue–Part 4– Learning from your codebase
- Running a fully local AI Code Assistant with Continue–Part 3–Editing and Actions
- Running a fully local AI Code Assistant with Continue–Part 2–Configuring the VSCode extension
- Conditional compilation symbols in C#
- Semantic Kernel - 404 error when using the v1.20.0 version
- Running a fully local AI Code Assistant with Continue–Part 1–Introduction
- ADFS–Export and import Relying Party data
- Becoming a professional software developer: Identity over skills
- Github Actions–Deprecation warnings
- Semantic Kernel - Multi agent systems
- Semantic Kernel–Agent Framework
- Azure Charts- Deprecations
- Github Actions–Resource not accessible by integration
- Github Actions - Change the workflow name
- Github–Create a new release–The automated version
- Github- Create a new release–The manual approach
- Operational limits when using Azure DevOps
- HotChocolate 13 - Schema comparison
August 2024
- ADFS claim rules - Lessons learned
- Log Parser–Parse IIS Logs with custom fields–Part II
- Log Parser–Parse IIS Logs with custom fields
- Error upgrading Podman
- Visual Studio–Cannot run when setup is in progress
- .NET 8– Improved build output
- Combining Semantic Kernel with Podman AI Labs
- Run LLMs locally using Podman AI Lab
- .NET Conf–Focus on AI
- Use dotnet pack with nuspec file
- SqlException - Transaction (Process ID XX) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
- HotChocolate 13 - Unable to infer or resolve a schema type from the type reference `@CostDirective`
- GraphQL–Always monitor the operational complexity
- BinaryFormatter serialization and deserialization are disabled within this application
- C# 12- Type Aliasing
- You don’t have a platform if it doesn’t have self service
July 2024
- EF Core - The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value
- Automating MassTransit Consumer Registration
- Don’t talk about non-functional requirements, talk about quality attributes
- Debug your .NET 8 code more efficiently
- EF Core - Error CS1503 Argument 2: cannot convert from 'string' to 'System.FormattableString'
- Git–Dubious ownership
- EF Core - Query splitting
- Loading aggregates with EF Core
- Entity Framework Core– Avoid losing precision
- CS0012: The type 'System.Object' is defined in an assembly that is not referenced.
- Visual Studio–View .NET Counters while debugging
- .NET Aspire Developers Day is coming up!
- Visual Studio - FastUpToDate warning
- SQL Server–Does a ‘LIKE’ query benefits from having an index?
- Understanding Pure Domain Modelling: Bridging the Gap Between Existing Systems and the Real Domain
June 2024
- Publish a console app as a single executable
- Azure Static Web Apps–SWA CLI behind the scenes
- Azure Static Web Apps–Introducing the SWA CLI
- Semantic Kernel–OpenTelemetry integration in C#
- Semantic Kernel–Change timeout value in C#
- Podman Desktop–The WSL import of guest OS failed: exit status 0xffffffff
- GraphQL–Application Insights integration for HotChocolate 13
- Azure Application Insights–Collect Performance Counters data - Part II
- MassTransit–Change log level
- ImageSharp–Image.Load() Compiler error after updating
- Code & Comedy 2024–This session will give you 2.6 hours of your time back
- Github Copilot extension disabled after upgrading to Visual Studio 17.10.2
- List Process IDs (PIDs) for your IIS Application Pools
- The Red Hat cloud native architecture solution patterns
- SonarQube–Troubleshooting
- Why pair programming should be your default way of working
- Debugging Semantic Kernel in C#
- .NET Core–Check if console app is running with administrative privileges
- Debugging the Smart Paste UI component
- Giving the .NET smart components a try–The Smart Paste button
May 2024
- Failed to start Dapr - file does not exist
- Polyglot Notebooks–Update NuGet dependencies
- Cooking with Semantic Kernel
- OWASP Dependency Check - Improve update speed
- Understanding Supply-Chain Attacks and OWASP Dependency Check
- Feedback loops in software development
- XUnit–Improve type safety
- Podman–Pull images from Docker Hub
- Bicep– what-if
- Azure Static Web App–Deploy using Bicep
- Kubernetes–Limit your environmental impact
- SonarQube on Windows Troubleshooting
- Kubernetes–Setup a local cluster through Podman Desktop
- .NET Core - Renew localhost certificate
- .NET Core - View outdated packages
- The biggest effect on code quality
- Azure Static Web App–Data API Builder
- .NET 8 - Warning AD0001: Analyzer 'Microsoft.AspNetCore.Analyzers.RouteHandlers.RouteHandlerAnalyzer' threw an exception of type 'System.InvalidOperationException'
April 2024
- ASP.NET Core -Updating the OpenTelemetry configuration
- TypeScript compiler trick
- Switch expression for void methods
- Type pattern matching in C# and TypeScript
- Giving the .NET smart components a try–The Smart TextArea
- Azure DevOps Wiki–The order file in this hierarchy is missing paging entries.
- XML External Entity Attack and .NET Core
- VSCode Day and Azure Developers .NET Day are coming!
- SQL Server–Export varbinary column to disk
- ASP.NET Core - Use factory based middleware with scoped services
- ASP.NET Core–Cannot resolve from root provider because it requires scoped service
- Seq–Event JSON representation exceeds the body size limit 262144;
- Giving the .NET smart components a try–The Smart Combobox
- Running large language models locally using Ollama
- Building platforms–Strike the right balance
- Autonomous Computing and how it influenced the way I build software
- Azure Static Web App–Distributed Functions
March 2024
- Azure Static Web App - Pass authentication info to your linked API
- Azure Static Web App - Bring your own API
- Microsoft.Extensions.DependencyInjection–Register a type with all its interfaces
- Microsoft.Extensions.DependencyInjection - Check if a service is registered in the DI container
- NuGet–Transitive dependencies
- Azure Static Web App – API Integration
- An architect is not an evangelist
- NPM–Change cache
- NuGet–Change the global-packages cache location
- Eloquent JavaScript 4th edition is released
- NuGet– Offline support
- Github Copilot– Some experimentation
- Everyone should be an architect
- MassTransit–Disable fault publishing
- AspNetCore.Http.Abstractions is deprecated
- Model based testing in C#
- Performance test your ASP.NET Core application using NBomber
- Performance test your ASP.NET Core app using Bombardier
- Using parameters in BenchmarkDotNet
- ConfigureAwaitOptions in .NET 8
- Azure Static Web App–Assign roles through an Azure Function
February 2024
- EF Core–.NET 8 update
- EF Core - System.InvalidOperationException : The required column 'Id' was not present in the results of a 'FromSql' operation.
- EF Core - Cannot convert from 'string' to 'System.FormattableString'
- Dapper - Return dynamic data
- Implementing the decorator pattern using System. Reflection.DispatchProxy
- AddConsole is obsolete: This method is retained only for compatibility
- Visual Studio Presentation Mode
- Visual Studio–Share your settings
- Property based testing in C#–CsCheck
- Share a private key without using passwords
- The importance of the ubiquitous language
- Azure Static Web App–Authorization
- Implement the mediator pattern using MassTransit
- Don’t be a feature team
- Azure Static Web App–Custom authentication
- GraphQL OWASP Cheat Sheet
- .NET 8–It’s time to get rid of these flaky tests!
- RabbitMQ–Using Alternate Exchanges to avoid loosing messages
- Azure DevOps–Set default access level
- Azure DevOps Server–Change attachment size
- F# - The essentials
January 2024
- .NET 8–Refresh memory limit
- Azure Static Web App–Inject snippets
- Azure Static Web App–API configuration
- GetHashCode() in .NET Core
- MassTransit–Avoid losing messages
- Azure Static Web App– Application configuration using staticwebapp.config.json
- MassTransit–.NET 8 upgrade warnings
- MassTransit–.NET 8 upgrade errors - No service for type 'MassTransit.Saga.ISagaRepositoryContextFactory`1[MassTransit.JobTypeSaga]' has been registered.
- Azure Pipelines error - User lacks permission to complete this action. You need to have 'ReadPackages'.
- Batching work in SQL Server
- .NET 8– System.Text.Json serializer error
- Azure Static Web App - Authentication using pre-configured providers
2023 221
December 2023
- Azure Static Web App–Traffic splitting
- Azure Static Web App–Password protect your environments
- Azure Static Web App–Deploying to multiple environments
- Azure Static Web Apps - Using the Astro Static Site Generator
- Azure Static Web Apps – VS Code extension
- .NET 8– Upgrade warnings
- C#– Record types copy constructor
- Hangfire - Passing arguments using private setters
- Building distributed systems–Retry storms
- Azure Functions - Can't determine project language from files.
- Cloudbrew 2023–Azure Static Web Apps
- PowerBI–Access to the resource is forbidden
November 2023
- PowerBI–Load a parquet file from an Azure Data Lake Storage
- NuGet 6.8–Package vulnerability notifications
- Git–Discard local changes
- .NET 8–JSON Source Generator improvements
- MassTransit–Quorum queues
- .NET 8 and C# 12–Overview
- Company vs company
- ADFS - MSIS5007: The caller authorization failed for caller identity
- Find a subset from a set of values whose sum is closest to a specific value–C#
- Find a subset from a set of values whose sum is closest to a specific value– Excel
- PowerBI–Limit the amount of imported data
- PowerBI– How to fetch your data?
- C#–Declaring attributes on positional record types
- .NET 8–Http Logging
- Use the index, Luke!
- ADFS–ID4216 error
- ADFS Claim rules
- Azure Pipelines - Nuget - Unable to get local issuer certificate
October 2023
- The hub-and- spoke network topology for developers
- Add custom properties to ILogger
- Property based testing in C#–How to change the number of runs?
- VISUG Property based testing in C#–Slides and demos
- NuGet.CommandLine.CommandLineException: Error parsing solution file
- Rearchitecture is a sign of success not failure
- .NET 6 - Parallel.ForEachAsync
- Login failed for user ''
- Source Generator playground
- GraphQL Conf 2023
- Gall’s law and how it applies to software architecture
- Simplify Source Generator creation the RoslynGenerator template
- Simplify Source Generator creation with RoslynQuoter
- ArcGIS - MapViewer is really slow
- Create an ASP.NET Core backgroundservice that runs at regular intervals using PeriodicTimer
- How are you doing TODAY?
- Using Problem Details in .NET 7
- Applying the smart constructor pattern in C#
- Angular–Generate your OpenAPI client model
- Azure DevOps–Contribution graph
September 2023
- Work hard, play hard?
- AI and developer productivity
- VS Code–Share your settings using profiles
- Angular Cache
- .NET 8–Using reflection in a AOT enabled application
- Auto delete files in Azure Blob storage
- Improve the build speed on your build server using npm ci
- The fundamental theorem of Agile Software Development
- Dapr workshop
- .NET 8–Keyed/Named Services
- Entity Framework Core–DateOnly and TimeOnly
- Entity Framework Core–Data is null
- Entity Framework Core–Use separate mapping files
- Entity Framework Core - System.ArgumentException
- Entity Framework Core - No database provider has been configured
- NuGet - Package Source Mappings
- Null conditional await
- The 2 rules of software architecture
- Build your UI as a finite state machine
- Azure Pipelines - Batching your CI builds
- .NET 6 - Async scopes
August 2023
- NuGet - Lock files
- Know the magic word(s)
- Use cost as an architecture fitness function
- Azure Pipelines- Error parsing solution file
- DevToys–A swiss army knife for developers
- ID4175–The issuer of the security token was not recognized by the IssuerNameRegistry
- Azure DevOps - How to get the list of organisations linked to your Azure tenant?
- All numbers are random, but some are more random than others
- Visual Studio 17.7–Copy and trim indentation
- Learning CodeQL
- Reading a connectionstring from secrets.json
- .NET Conf 2023
- Antifragile systems
- Focus on MTTR, not only on MTBF
- Phind–Your personal programming assistant
- Sending and receiving JSON data
- Error NETSDK1005: Assets file 'project.assets.json' doesn't have a target for 'netcoreapp3.1'
- EF Core - Lazy loading without a proxy
- NHibernate–Lazy loading without a proxy
- Visual Studio Build Acceleration
- Strawberry Shake–Method not found error
- Ignore casing when checking dictionary keys
- Visual Studio Dev Tunnels
July 2023
- Help! I accidently enabled HSTS–on localhost
- Why a software factory is the wrong metaphor
- Azure DevOps–Create a build variable in Powershell
- Using OWASP Dependency Check in Azure DevOps for Angular applications
- Using OWASP Dependency Check in Azure DevOps for .NET applications
- Angular production build error–Index html generation failed
- How delays are communicated is more important than the delay itself
- Azure DevOps–Skip CI build when pushing code
- GraphQL–HotChocolate - The object type `Object` has to at least define one field in order to be valid.
- GraphQL–HotChocolate–Exclude specific fields when using the code first approach
- dotnet pack issue–files without extension
June 2023
- Error running script in docker container
- Improve the security of your GraphQL API’s - Part 5–Introspection
- Improve the security of your GraphQL API’s - Part 4–Persisted queries
- Improve the security of your GraphQL API’s - Part 3–Authorization
- Improve the security of your GraphQL API’s - Part 2–Depth checks
- Improve the security of your GraphQL API’s - Part 1 - Complexity budget
- fsharpConf 2023
- Understanding the DDD Whirlpool Process for Effective Domain Modeling
- Comments are a design tool
- GraphQL Code Generator–Avoid generating types that are not needed
- Github Copilot Learning Path
- WCF–WSDL not available on HTTPS
- HotChocolate–GraphQL Caching
- AsyncAPI–ASP.NET Core integration
- How to detect heap allocations
- Reduce heap allocations by using static anonymous functions
- GitHub Secure Code Game
May 2023
- Software Design - Private by default
- .NET 7–Serialize private fields and properties
- Stop using pull requests!
- Bootstrap 5 - Goodbye jQuery
- .NET Core–Monitor cache misses
- Bootstrap 5 - Show/hide images on specific breakpoints
- Visual Studio 2022 17.6–Http Endpoint explorer
- Azure Artifacts–NU1301 error
- Writing asynchronous code in .NET
- An alternative approach to structuring your tests in XUnit
- Progressive Web App–Icon is not loaded
- Using IAsyncEnumerable with Dapper
- Lehman’s Laws of Software Evolution
- ASP.NET Core–Factory based vs Convention based middleware
- How Microsoft is using GraphQL in their new Teams architecture
- HotChocolate GraphQL–Include Exception details
- Disable TypeScript compilation in Visual Studio
- The pursuit of happiness
- Visual Studio–Generate C# client for OpenAPI
- MassTransit–Minimal Message Handlers
- Make your ASP.NET Core application always running on IIS
April 2023
- Azure DevOps– Clean the work directory of your build agent
- AKS–The single biggest reason why you should apply a GitOps approach
- Javascript–Using splice instead of delete
- ASP.NET Core Guidance
- Applying the decorator pattern in .NET Core using Castle.DynamicProxy
- AutoMapper issue after upgrading to .NET 7
- Encapsulate libraries not frameworks
- Upgrading to .NET 6 -ASP0014 warning
- InvalidOperationException: Cannot resolve from root provider because it requires scoped service
- Upgrading to HotChocolate 13 - There was no argument with the name `…` found on the field `…`.
- Your most important skill as an architect
- Strawberry Shake–Access to the path ‘obj\\berry’ is denied
- HotChocolate 13– Updated workshop
- Design your graph models using Arrows.app
- Versioning in graph databases
March 2023
- TypeScript–Template literal types
- Azure - Data API Builder
- Learning from failure in software
- C# - Clean up your exception handling logic with Exception Filters
- Share reusable UI components through a Razor class library
- The lost art of writing SQL queries
- Executing HTTP requests through Visual Studio
- Azure Pipelines error - User lacks permission to complete this action. You need to have 'ReadPackages'.
- Import a .pfx file at build time
- .NET Core - Remove older SDKs and runtimes
- dotnet publish error - The "TransformWebConfig" task failed unexpectedly.
- Https redirection in IIS Express
- Postman GraphQL Client
- Using Github Copilot in Visual Studio
- GraphQL HotChocolate - Method overloading for queries
- Visual Studio 17.5 - ViewComponents are broken
- Azure DevOps Server- Update Git credentials
- Papers we love
- Visual Studio –Git line staging
- Elastic Search–Help! My indices are not cleaned up
- Architectural thinking
- Package Validation
- Visual Studio–License validation task failed unexpectedly
February 2023
- Debugging Visual Studio issues
- Strawberry Shake GraphQL Client–Update client after changing schema
- IIS – Avoid giving file access when using Windows Authentication
- Applying Postel’s law in ASP.NET Core–Part II
- Applying Postel’s law in ASP.NET Core–Part I
- C# 11–The scoped keyword
- .NET 7 - The type initializer for 'NUnit.Engine.Services.RuntimeFrameworkService' threw an exception
- Your first application version will s*ck
- HSTS in IIS
- Github–Secret scanning
- Generate a self-signed certificate for .NET Core
- Azure DevOps– Resize images in the wiki
- Azure DevOps - Filter your work items by swimlane
- Unit testing- Arrange Act Assert
- Azure DevOps–Nuget package caching
- Azure Application Insights - Tracking Operations in a Console App
- Property based testing in C#–Part 5
- Extensibility in your applications
- Azure DevOps Pipelines - Prevent CD pipeline from being triggered directly
- Application Insights–OpenTelemetry integration for ASP.NET Core
January 2023
- Switch between node versions on Windows
- Central Package Management - warning NU1507: There are 2 package sources defined in your configuration.
- There is no such thing as a requirement
- Cleanup old MetricBeats data
- GraphQL–Discriminated unions for input types through OneOf
- Property based testing in C#–Part 4
- Nullable reference types–Using the required keyword in C# 11
- The future of programming
- Property based testing in C#–Part 3
- How to set the package version when using dotnet pack
- NHibernate–Using record types
- Property based testing in C#–Part 2
- Property based testing in C#–Part 1
- Azure DevOps Server - Switch from HTTP to HTTPS–Part 4
- Software Engineering at Google ebook available for free
- Improve the performance of your web applications by adding one attribute
- MassTransit–Using RabbitMQ Virtual Hosts
- Azure DevOps Server - Switch from HTTP to HTTPS–Part 3
- Azure DevOps Server–Switch from HTTP to HTTPS–Part 2
- Azure DevOps Server–Switch from HTTP to HTTPS–Part 1
2022 217
December 2022
- Impress your colleagues with your knowledge about..the PrintMembers method
- Use the power of Source Generators with Lombok.NET
- Azure Pipelines–Skip if global tool is already installed
- Azure Pipelines - Generate your software bill of materials (SBOM) **Updated**
- Azure Static Web App -Failed to create a Personal Access Token for this user in Azure DevOps
- HotChocolate–Disable Banana Cake Pop
- Running a Blazor WebAssembly App on Azure Static Web Apps
- Running a Blazor WebAssembly app on Azure App Service for Linux
- C# 11 – File Scoped Types
- Kubernetes - Reload your ASP.NET Core configuration when a configmap changes–DOTNET_USE_POLLING_FILE_WATCHER
- YARP–Direct forwarding in .NET 6 and beyond
- Testing a token protected API using user-jwts
- C# 11–Generic Attributes
- HotChocolate OpenTelemetry
- Convert a project to use centralised package management
- Before re-usability comes usability
- .NET 7 - The StringSyntaxAttribute
November 2022
- Url.ActionLink() is not thread-safe
- TDD, where did it all go wrong?
- Using Event Counters with Application Insights
- EF Core 7 - Handling deletes
- Monitor your application using Event Counters - Part III
- Monitor your application using Event Counters–Part II
- Monitor your application using Event Counters–Part I
- Cloudbrew 2022–Advanced telemetry with Azure Monitor Application Insights
- .NET 6–How to use arguments in your Console app?
- SQL Server - Change the column size without needing a DROP / RECREATE
- Azure Application Insights – Set cloud role name in your Javascript frontend
- Blazor - Failed to find a valid digest in the 'integrity' attribute
- Visual Studio 2022 17.4 - Error MSB4024
October 2022
- Visug XL 2022 - Microservices The last mile
- Help! My IFormFile collection remains empty
- Dapper–Buffered vs unbuffered readers
- Azure Application Insights–Structured logging
- Visual Studio Code–Timeline view
- The Art of Agile Development
- Azure Pipelines–Templates–Part III
- Azure Pipelines–Templates Part II
- Azure Pipelines– Templates
- 30 days of Data Science
- GraphQL on Azure Blog series
- Azure Pipelines–Variable groups
- Azure Pipelines–Multi stage run
- Azure Pipelines - Stage must contain at least one job with no dependencies
- ASP.NET Core API Versioning
- Join Hacktoberfest
- ASP.NET Core–Reintroduce the startup.cs file
- Get the most out of your browser console
- Use LinqPad for your Micro Benchmarks
- Azure Pipelines– Build a web deploy package on Linux
- Scaling Azure Functions
September 2022
- CosmosDB - Cleanup items automatically
- Azure Pipelines–Parallel stages
- ASP.NET Core–Serializing enums
- ASP.NET Core - Automatically apply the [ApiExplorer] attribute
- API Design in ASP.NET Core Part V
- API Design in ASP.NET Core Part IV
- API Design in ASP.NET Core Part III
- API Design in ASP.NET Core Part II
- API Design in ASP.NET Core Part I
- Azure DevOps - Error MSB3326: Cannot import the following key file.
- Azure Kubernetes Service–Volume node affinity conflict
- Marten Memory Issues
- ASP.NET Core–Sending Multipart Form data
- GraphQL Conf 2022
- Units of measure in C#
- Units of Measure in F#
- Compare framework versions with BenchmarkDotNet
- BenchmarkDotNet - The minimum observed iteration time is … ms which is very small
- Serverless September is back!
August 2022
- Using GraphQL in Azure API Management–Part 3
- Using GraphQL in Azure API Management–Part 2
- Using GraphQL in Azure API Management
- Azure DevOps Wiki - Publish a new wiki version
- Control the execution order of your attributes through [CallerLineNumber]
- Impress your colleagues with your knowledge about... the Half type
- Azure Pipelines - Generate your software bill of materials (SBOM)
July 2022
- Run a GraphQL backend as an Azure Function
- dotnet format issue - FileNotFoundException: The file '' does not appear to be a valid project or solution file.
- InvalidOperationException: No authenticationScheme was specified, and there was no DefaultChallengeScheme found.
- Azure DevOps - Use variable in workspace mapping
- ElasticSearch - Invalid NEST response built from a successful (200) low level call on POST
- .NET Core Dependency Injection–Check if a service is already registered
- .NET Core Dependency Injection–Using multiple implementations of the same interface
- Add approvals to your Azure Pipelines yaml
- Set the hosting environment for a .NET Core console application
- MassTransit - Message requeued for long running tasks in RabbitMQ
- Azure Pipelines - Failed to download task 'Download'
- The test of silence
- Serializing DateOnly and TimeOnly types with System.Text.Json
- Error CS0534: '' does not implement inherited abstract member 'JsonSerializerContext.GeneratedSerializerOptions.get'
- warning SYSLIB1037: The type '' defines init-only properties, deserialization of which is currently not supported in source generation mode.
- InvalidOperationException: A 'JsonSerializerOptions' instance associated with a 'JsonSerializerContext' instance cannot be mutated once the context has been instantiated.
- Optimize your API performance with the System.Text.Json source generator
- 'SHA512Managed' is obsolete: 'Derived cryptographic types are obsolete. Use the Create method on the base type instead.'
- RabbitMQ–How to remove unacked messages–Part II
- RabbitMQ–How to remove unacked messages–Part I
June 2022
- Change the default Outlook meeting length
- Generate C# code from a JSON schema - Part II
- Generate C# code from a JSON schema - Part I
- Using secrets in your unit tests
- The paved road
- Get number of milliseconds since Unix epoch
- RabbitMQ Streams–Reliable Consumers
- RabbitMQ Streams–Reliable producers
- Azure meets Chaos Monkey–Chaos Studio
- Patterns.dev - Improve how you architect web apps in React
- RabbitMQ Streams - No such host is known
- RabbitMQ Streams
- “docker build” requires exactly 1 argument
- ASP.NET Core MVC–The TypeFilterAttribute
- From project to product–Microsoft DevOps Dojo
- Your project does not reference ".NETFramework,Version=v4.6.2" framework
- Using the .NET Upgrade Assistant to upgrade a Windows Forms App–Part II
- Using the .NET Upgrade Assistant to upgrade a Windows Forms App–Part I
- Azure Application Insights– How to keep the amount of data under control
- Azure Application Insights–MassTransit integration
- Azure Application Insights–Set cloud role name in Angular application
May 2022
- Azure Application Insights–Set cloud role name in ASP.NET Core
- Azure Application Insights–Angular integration
- Armchair Architects
- Azure Application Insights–Log SQL query
- Azure Application Insights– Collect Performance counters data
- C# 10–File scoped namespaces
- Monitor RabbitMQ metrics in ElasticSearch
- ElasticSearch - setting [cluster.initial_master_nodes] is not allowed when [discovery.type] is set to [single-node]
- ElasticSearch Bootstrap check failure
- ElasticSearch- Unrecognized VM option 'UseConcMarkSweepGC'
- ElasticSearch - BindTransportException: Failed to bind to 9300-9400
- Learn GraphQL in one week
- Publish a Static Web App on Azure
- TypeScript - The left-hand side of an assignment expression may not be an optional property access
- ElasticSearch–Uninstall failed on Windows
- Troubleshoot an MSI uninstall
- Visual Studio 2022 - Check for memory leaks
- Red pill vs Blue pill -Outcome not output
- C#–Handling cancellation requests
- Azure SQL Performance
- NuGet Central Package Management
April 2022
- Github.dev–Directly make changes to your to your code from the browser
- Learn F# as C# Developer
- Towards more secure containerized workloads –Part 2
- Towards more secure containerized workloads
- .NET Core Automatic Updates for your Server OS
- ASP.NET Core- Customize authorization responses with IAuthorizationMiddlewareResultHandler
- XUnit - Log ILogger messages to the test output
- Set default parameter value for cancellationToken
- Angular - Refused to apply style from because its MIME type ('') is not a supported stylesheet MIME type
- Fiddler error–HTTPS handshake failed
- TypeScript Utility Types–Readonly
- Instant, beautiful docs for your GraphQL API with GraphDoc
- Updating MassTransit from version 7.1.5 to 7.2.2
- Using GitHub Copilot with Visual Studio 2022
- Web Deploy - error NU1201: Project is not compatible with net5.0
- Keep your package dependencies under control through Version ranges
March 2022
- SQL Server–Map connection to a specific application
- SQL Server Timeouts–Find possible (dead)locks
- XUnit - Change culture during your test execution
- ASP.NET Core–Set default request Culture
- ImageSharp.Web–Create your own Image Provider
- Embed image processing in your ASP.NET Core application with ImageSharp.Web
- Impress your colleagues with your knowledge about… startup hooks
- GraphQL and OData–Let’s discuss…
- Azure Application Insights– Query your log messages
- SecurityTokenException: No token validator was found for the given token.
- Performance matters–TryGetNonEnumeratedCount in C# 10
- Which w3wp.exe process is which Application Pool?
- Check if a port on a remote server is open
- Application Insights– Configure Log Level
- ASP.NET Core–Use a Worker Service for scheduled batch processing
- Application Insights: TelemetryChannel found a telemetry item without an InstrumentationKey.
- ASP.NET Core - Disable web.config transformations
- AsyncApi–Share your message contracts in a language agnostic manner–Part 2
- AsyncApi–Share your message contracts in a language agnostic manner
- How to not learn GraphQL
- GitHub actions–Run vs Use
- ASP.NET Core - Branch the ASP.NET Core request pipeline–Map vs MapWhen
- ASP.NET Core - Branch the ASP.NET Core request pipeline
February 2022
- Asynchronous Messaging and Eventing Resources
- GraphQL Network Inspector
- ASP.NET Core - Required query string parameters
- HotChocolate GraphQL–Integration tests
- Using Autofac in .NET 6 Minimal API’s
- ASP.NET Core MVC model binding and nullable reference types
- Impress your colleagues with your knowledge about… the DebuggerDisplay attribute
- Error when specifying a HttpMessageHandler - System.InvalidOperationException : No service for type 'RetryDelegatingHandler' has been registered.
- ASP.NET Core–Typed HttpClient
- .NET 7–Microsoft Orleans
- Happy Valentines Day–20 years of .NET
- ASP.NET Core–Help, my breakpoint is never hit
- Private fields in Javascript
- Serilog - Filter out the ASP.NET Core info
- .NET 5.0 End of life
- XUnit - Simulate concurrency and load against an API endpoint
- Azure Open Source Day
- XUnit–Cancel a test when it takes too long
- .NET 6–Add timeout and cancellation support to existing async methods using Task.WaitAsync
- Azure DevOps–TLS warning
January 2022
- .NET 6 minimal API–Integration testing
- ASP.NET Core–Integration testing–Configuration
- ASP.NET Core - No authenticationScheme was specified, and there was no DefaultForbidScheme found.
- Azure DevOps Server 2020 - Warning NETSDK1182: Targeting .NET 6.0 in Visual Studio 2019 is not supported
- Learn something new about GraphQL
- Osmotic communication–Why I don’t like to work remotely
- .NET - Renaming a project
- Build GUI console applications through Terminal.Gui
- GraphQL–Upload files using HotChocolate
- ASP.NET Core–Health checks
- Azure DevOps–Run GraphQL Inspector as part of your build pipeline
- ASP.NET Core–Mark a web api as deprecated
- ASP.NET Core - Configure file upload size limits
- C# - Case-insensitive Enumerable.Contains()
- Github - Deploy a Nuget Package on a new release
- NuGet–Add a README to your NuGet Package
- Towards more diversity–Becoming a more inclusive IT industry
- Error MSB3030: Could not copy the file "StaticWebAssets.xml" because it was not found.
- Swashbuckle - Free form query parameters
2021 215
December 2021
- ADFS - Windows authentication
- Elastic APM–Use .NET OpenTelemetry
- Visual Studio 2022–New breakpoint types
- Error after upgrading to Microsoft.Data.SqlClient 4
- Kubernetes Job Containers - (Forbidden): jobs.batch "example-migration" is forbidden
- Become a master at Git and Open Source
- Swagger UI - Add required header
- ASP.NET Core 6–Http Logging
- Visual Studio 2022–Inline hints
- ASP.NET Core - Who stole my cookie?
- Simple made easy
- Visual Studio 2022 - Test execution with Hot reload
- ASP.NET Core - Could not load type 'Microsoft.AspNetCore.Mvc.MvcJsonOptions'
- Blazor–Using Basic authentication
- .NET 6 - The ArgumentNullException helper class
- .NET Conf 2021 - Sessions, slides and demos are online
- .NET Core–The case of the disappearing authorization header
- Keep your project dependencies up to date with dotnet outdated
November 2021
- GraphQL HotChocolate 12 - Updated Application Insights monitoring
- C# 10–Change an existing project to file scoped namespaces
- Running Azure on your laptop–Part 3–Prerequisites
- Running Azure on your laptop–Part 2 - Azure Arc for Developers
- Running Azure on your laptop– Part 1–What is Azure Arc?
- Running Azure on your laptop–Introduction
- VisugXL - Running Azure on your laptop using Azure Arc
- .NET 6–Breaking changes
- Azure DevOps–Run a tool installed as npm package
- ASP.NET Core - Build a query string
- Azure DevOps Pipelines–A local file header is corrupt
- Azure DevOps–SonarQube error
- GraphQL Crash Course
October 2021
- GraphQL–Strawberry Shake GraphQL client
- Azure Pipelines - Unable to determine the location of vstest.console.exe
- .NET Tools - Cannot find a manifest file
- vscode.dev : Bringing VS Code to the browser
- MassTransit - Stop handling erroneous messages
- Service decomposition and service design
- Azure AKS–Save some money using spot node pools
- Winget–A package manager for Windows
- ASP.NET Core–Running Swagger behind a reverse proxy
- Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException–The system cannot find the file specified
- DaprCon is coming on October 19th-20th 2021
- MassTransit–Message versioning
- .NET 6.0 - Migrate to ASP.NET Core 6
- ASP.NET Core - InvalidOperationException: 'VaryByQueryKeys' requires the response cache middleware.
- ASP.NET Core–Route arguments are case sensitive
- ASP.NET Core - Swashbuckle.AspNetCore.SwaggerGen.SwaggerGeneratorException: Ambiguous HTTP method for action
- ASP.NET Core - ActionResult doesn’t work with IList
- ASP.NET Core - How to handle the ‘NotFound’ use case when using a typed controller
- GraphQL - Use @skip and @include on fragments
- Azure DevOps–Emoji’s
- Application Insights Telemetry enricher for Kubernetes
September 2021
- C# 10 - Implicit (global) usings
- C# 10–Global using
- C#–Using static
- Confuse your colleagues by using class aliases in C#
- Learning the ins and outs of web development through web.dev
- Azure DevOps–Export wiki to PDF
- ASP.NET Core: Share a cookie between subdomains
- Azure App Service Health check
- Model binding in ASP.NET Core
- Visual Studio Code–Draw.io extension
- The ‘async void’ trap
- Azure DevOps - User is not available
- MassTransit–Message Initializers
- C# switch expressions
- Copy files through MSBuild
- Avoid concurrent test runs by using XUnit Collection Fixtures
- Troubleshoot Kubernetes deployments
- XUnit Collection fixtures
- Azure Pipelines - Ubuntu 16.04 LTS environment is deprecated
August 2021
July 2021
- AD FS Help
- GraphQL HotChocolate 11 - Updated Application Insights monitoring
- dotnet monitor–Run as a sidecar in a Kubernetes cluster–Part 3
- dotnet monitor–Run as a sidecar in a Kubernetes cluster–Part 2
- NDepend–DDD Rule
- AKS–Limit ranges
- Azure Kubernetes Service- Failed to acquire a token
- Passing a cancellation token to an IAsyncEnumerable
- Kubernetes–What is the difference between resource requests and limits?
- Windows Terminal–Add Git Bash
- .NET Conf–Focus on F#
- Front-End Performance Checklist 2021
- NDepend–Find out where a library is used–Part 2
- NDepend–Find out where a library is used directly and indirectly
- ASP.NET Core–Generate URL using Url.Action
- NDepend–Don’t extract it in your Program Files!
- dotnet monitor–Run as a sidecar in a Kubernetes cluster
- dotnet monitor - Getting started
- Using the correct HTTP Status codes when building REST api’s
- ASP.NET Core–Read data from the HttpClient in a memory efficient way
- Understanding the GraphQL specification
- ASP.NET Core: CreatedAtAction - No route matches the supplied values
June 2021
- Avoiding index fragmentation with sequential guids
- MassTransit–Use record types for your message contracts
- Getting started with React.js
- Azure Functions with built-in OpenAPI support
- WebDeploy - EnableMsDeployAppOffline
- Azure Pipelines - A template expression is not allowed in this context
- NuGet Package Explorer–Compiler Flags
- Visual Studio 2019–Manage Docker Compose launch settings
- Visual Studio 2019 - Create a Docker compose file for an existing solution
- Azure Pipelines - Use pipeline variables
- Azure DevOps - Branch policy path filters
- Visual Studio 2019–Editorconfig UI
- FluentNhibernate–Use Microsoft.Data.SqlClient
- Domain Driven Design–The first 15 years
- Visual Studio–Create your CI/CD pipeline using Github Actions
- Azure Pipelines - Pass location of baked manifest files
- Azure Pipelines - Error deploying manifest to Kubernetes cluster
- Azure Pipelines–Artifacts
- GraphQL– Optional arguments
- ASP.NET Core - Handle cancelled requests
- Azure Kubernetes Service - Time sync issue between nodes
- Azure Pipelines–Pipeline Resource Trigger
May 2021
- Azure Pipelines–Build completion triggers
- NSwag error - System.InvalidOperationException: No service for type 'Microsoft.Extensions.DependencyInjection.IServiceProviderFactory`1[Autofac.ContainerBuilder]' has been registered.
- Microsoft Build 2021–Book of news
- Azure Pipelines–Automatic Package Versioning
- .NET Coding Pack
- NETSDK1005–Asset file is missing target
- SonarQube - SQL Server Integrated Security
- Azure Pipelines–SonarQube analysis
- NuGet - Add Global Package source to your build server
- Azure DevOps–Disable CI trigger
- GraphQL- Schema Stitching Handbook
- Kubernetes- How adding healthchecks made our applications less resilient
- IIS–Failed Request Tracing
- Serilog–Add headers to request log
- Tools and resources for Agile forecasting
- Docker diff
- Build your ASP.NET Core application outside the Docker container
- C# 9 Switch Expressions with Type patterns
- Azure DevOps Pipelines - The OutputPath property is not set for project
April 2021
- Architecture Weekly
- C#–Hide a base class for usage outside an assembly
- Azure DevOps–Auditing streams
- Azure DevOps–Auditing
- The Art of Computers
- ASP.NET HttpHandler - Concurrent requests
- Kubernetes–Schedule a pod on a Linux node–Part 2
- Kubernetes–Schedule a pod on a Linux node–Part 1
- XUnit–Dependency Injection
- C# 9–Target typed conditional expressions
- Intentional Design
- ASP.NET Core–Avoid AutoRedirect in named or typed httpclients
- Angular --deploy-url and --base-href
- Link an Azure Container Registry to multiple AKS clusters
- Azure AKS- Scale out to ACI through virtual nodes
- Application Insights–Report browser usage
- AutoRest- Duplicate operation detected
- AutoRest–OperationId is required for all operations
- AutoRest–Generate a client library for your REST API
March 2021
- Kubernetes–Working with multiple namespaces
- Kubernetes - Reload your ASP.NET Core configuration when a configmap changes
- Kubernetes–Trigger a new deployment after a configmap changes
- ElasticSearch on AKS–Debug a failed rollout
- Await using in C#8
- NPM–401 error when restoring packages from an Azure DevOps Artifacts NPM registry
- ASP.NET Core - ASPNETCORE_FORWARDEDHEADERS_ENABLED environment variable
- Azure DevOps Pipelines–Failing Powershell tasks
- Kubernetes–Override an appsettings.json file in an ASP.NET Core app through ConfigMaps
- Kubernetes–Open a bash prompt on a Pod
- Debug a Pod in a CrashLoopBackoff
- AKS with Azure Application Gateway–Reroute to root path
- .NET Core–Scan your dependencies for vulnerabilities
- ASP.NET Core–Prevent redirection on API requests
- EF Core–AsSplitQuery()
- Microsoft Ignite 2021 – Book of news
- Editing files in Azure Cloud Shell
- .NET Core HttpClient–Testing redirections
- NHibernate –Dependency Injection enabled IInterceptor
- NHibernate–Interceptor doesn’t work for inherited objects
February 2021
- NUnit–SetUp and TearDown methods
- MassTransit–How to test consumers with dependencies
- Elastic App Search - JSON must be an array or hash
- NuGet - Change the location of the global package cache
- Dapr–Ebook
- .NET Core HttpClient - Uploading multiple files through a multipart/form-data POST
- Postman - Uploading multiple files through a multipart/form-data POST
- .NET Reflection - The invoked member is not supported in a dynamic assembly.
- Azure DevOps - My Pull Requests
- System.UnauthorizedAccessException - MemoryStream's internal buffer cannot be accessed
- ASP.NET Core Integration Tests - Breaking change in .NET Core 3.0
- ASP.NET Core Integration testing
- Saying goodbye to the Monolith - The one Entity abstraction
- GraphQL Hot Chocolate - Entity Framework error: A second operation was started on this context before a previous operation completed. This is usually caused by different threads concurrently using the same instance of DbContext
- ASP.NET Core - Async action names
- XUnit - Assert.Inconclusive() alternative
- TypeScript - Resolve JSON as a Javascript Module
- Azure DevOps - Delete an existing collection
- Azure DevOps Server–Move collections–Offline detach
January 2021
- Azure DevOps Server–Move collections–Detach/Attach
- C# 9–Use Record types in .NET Standard 2.0
- Combining Autofac and Microsoft DI in unit tests
- C# 9–Module Initializer
- Telerik Document Processing–InvalidOperationException
- HotChocolate– GraphQL Schema Stitching Introduction
- ASP.NET Core–Performance tip
- ASP.NET Core–Open API–Possible parameter values
- HotChocolate Schema stitching - Remove root types
- ASP.NET Core - Set ContentType
- WSFederation is back!
- NUnit - Combining multiple asserts in one test
- Integrating the RabbitMQ client in a .NET Core application
- Find the multiplier(s) in your team
- GraphQL Hot Chocolate–Application Insights monitoring
- Visual Studio Code Coding Packs
- Configure Visual Studio 2019 to use SourceLink
- Using System.Diagnostic.DiagnosticSource to intercept database requests– Improvements
- Using System.Diagnostic.DiagnosticSource to intercept database requests
- Improve the debugging experience with deterministic builds
- Customize your build with Directory.Build.props and Directory.Build.targets
2020 218
December 2020
- ASP.NET Core–Use dynamic proxy with standard dependency injection - Async
- ASP.NET Core–Use dynamic proxy with standard dependency injection
- Azure DevOps–Set git tag on build
- .NET Core - Clear IMemoryCache
- Azure Durable Entities–The actor model in disguise
- ASP.NET Core WSFederation - Return 401 for API calls
- Understanding Technical Debt
- Azure DevOps–dotnet pack gives wrong suggestion in ‘Path to csproj or nuspec file(s) to pack’
- ASP.NET Core–Taghelper doesn’t work in ViewComponent
November 2020
- Visual Studio - No test matches the given testcase filter
- C# 8–Default!
- SQL Server Management Studio - Template explorer
- Azure DevOps Server- Upgrade ElasticSearch
- Snapper - A snapshot does not exist
- Using XUnit Theory with Snapper
- Enable .NET 5 in your Azure App Service
- .NET 5–Source Generators–Lessons Learned–Part 3
- .NET 5–Source generators–Lessons learned–Part 2
- .NET 5–Source generators–Lessons learned - Part 1
- GraphQL Hot Chocolate–Enable global authentication
- Visual Studio 2019 16.8– Git Amend
- Predefined type 'System.Runtime.CompilerServices.IsExternalInit' is not defined or imported
- CS8632 - The annotation for nullable reference types should only be used in code within a ‘#nullable’ annotations context.
- The target framework 'netcoreapp3.0' is out of support and will not receive security updates in the future.
- ORM- Attaching detached object trees
- Microsoft Orleans- Warning NoOpHostEnvironmentStatistics
- Kafka - Avro - Value serialization error
- Kafka- Using Avro as serialization format in C#
- DDD–Strongly typed Ids-Using C#9 Record Types
- Sending a message through Kafka - Value serializer not specified and there is no default serializer defined for type
- Configure a Kafka topic in C#
October 2020
- Azure DevOps Docker build error–No such file or directory
- Software development is learning
- Domain Driven Design–Structuring your applications
- HotChocolate - Apollo Tracing
- SonarCloud–New Code Definition
- Learning Docker in a month
- Azure DevOps - Allow users to edit process templates
- Entity Framework Core –Pessimistic concurrency
- DDD–Strongly typed Ids
- NHibernate–Pessimistic concurrency
- Microsoft MakeCode
- Azure DevOps– Lead time and cycle time
- HotChocolate GraphQL - Integration test authorization
- GraphQL Altair–Test and debug your GraphQL queries
- Quick tip if you want to play around with C# 9
- C#9- Record types
- C#9–Covariant return types
- RabbitMQ–Lazy queues
- Database profiling in Visual Studio
- Improve the startup time of your .NET Core application
September 2020
- .NET Core Plugin architecture
- Azure DevOps–Dependency Tracker
- Angular 10–Strict mode
- Computer stuff they didn’t teach you…
- GraphQL–The query has non-mergable fields
- Error when running Sonar Cloud on Angular projects
- Error when running Sonar Cloud on .NET Core projects
- Running code analysis through Sonar Cloud in Azure DevOps
- Building a producer/consumer pipeline in .NET Core using Open.ChannelExtensions
- MassTransit–Reading a header using middleware
- MassTransit–Adding a header using middleware
- C# 8–IAsyncDisposable
- ASP.NET Core–Validate claims based on controller-action
- .NET Core Tools
- GraphQL - Faker
- Domain Driven Design–3 rules to help you get started
- MassTransit–Create a scoped filter that shares the scope with a consumer
- MassTransit–Receive pipeline
- .NET Core Nuget - Showing a readme file after restore
- GraphQL–HotChocolate–How to handle an incomplete schema
- Azure DevOps - Improve build time
- ASP.NET Core Swagger error - Conflicting method/path combination
August 2020
- GraphQL–HotChocolate–Read HTTP headers
- Impress your colleagues with your knowledge about … the Immediate window
- Nuget Push: Method not allowed
- Visual Studio: The current page is inactive because you are not connected to a Git team project
- On avoiding ‘big bang’ rewrites
- Eventing and Messaging on Azure
- Azure SQL Learning Tools
- Azure DevOps/ GitHub emoji
- Release trains are NOT the solution
- The resource utilization trap
July 2020
- Kubernetes–Troubleshooting ImagePullBackOff errors
- Kubernetes–the server could not find the requested resource
- Using gRPC for your internal microservices
- Razor Class Libraries–Static Content 404 issue –Part 2
- Razor Class Libraries–Static Content 404 issue –Part 1
- Razor Class libraries–Clean up your content path
- Razor Class Libraries–Static Content
- Kubernetes- The Virtual Kubelet
- .NET Conf “Focus on Microservices”
- Razor Class Libraries–Views not found
- MassTransit–Youtube videos
- ASP.NET Core–Razor Class Libraries
- MassTransit–Debugging your configuration
- Entity Framework Core - Soft delete
- Quality is a team issue
- Entity Framework - Mapping issue
- Razor compilation
- .NET Core–Backgroundservice lifetime
June 2020
- Evaluate your business strategies using Microsoft Assessments
- Node issue–Call retries were exceeded
- ASP.NET Core–Using Value Tuples in Razor
- NHibernate - CreateMultiCriteria is obsolete
- ASP.NET Core–Endpoint authorization
- WSFederation–Implementing logout on ADFS
- ElasticSearch–Upgrade error - System.IO.IOException: Source and destination path must have identical roots.
- .NET Core–Disable a specific compiler warning
- The power of tuples and deconstructors
- Upgrading ElasticSearch–Discovery configuration is required in production mode
- Azure Monitor / Application Insights : Workbooks
- Seq - ERR_SSL_PROTOCOL_ERROR
- Try an API call directly in Chrome Dev Tools
- TypeLoadException: Type 'generatedProxy_5' from assembly 'ProxyBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' is attempting to implement an inaccessible interface.
- InternalsVisibleTo in your csproj file
- ElasticSearch.NET exception after upgrade
- GraphQL vs OData
- Azure Service Bus Explorer in Azure Portal
- Application Insights - Stop tracking 404 errors
- Sharing authentication ticket between .NET Core and ASP.NET (Owin)
- ASP.NET Core–Set environment through the commandline
May 2020
- Using YARP to create a reverse proxy server
- GraphQL Inspector
- Hands-on-labs: App modernization
- .NET Core–Generate documentation
- Git sparse checkout
- Azure Pipelines- Error executing dotnet restore task
- ASP.NET Core–The magic appearance of IMemoryCache
- Lens–The Kubernetes IDE
- Azure Pipelines–DotNet restore error
- Azure Charts–Help! Azure is evolving too fast…
- Azure Pipelines error - NuGet.CommandLine.CommandLineException: Error parsing solution file
- Serilog - IDiagnosticContext
- Virtual Azure Community Day–March 2020
- XUnit–Could not load file or assembly 'Microsoft.VisualStudio.CodeCoverage.Shim’
- C# 6–Using static
- Turning your .NET Core 3 Worker Service into a Windows Service
- Newtonsoft JSON magic
April 2020
- Domain Driven Design–Get rid of your anemic domain model
- Microsoft Build 2020 - Digital Event
- Azure AppService–How to identify a bottleneck?
- C# 8–Null-coalescing
- XUnit - Make your tests more readible
- How to keep secrets in Azure Functions?
- .NET Core - Using ClaimsIdentity in your unit tests
- .NET Core–Using IOptions<> in your unit test
- Building Secure and Reliable Systems
- Use your own machine with Visual Studio Online
- Track timings using Serilog
- XUnit–.NET Standard
- ASP.NET Core–Get raw URL
- SQL Server Query Store–How to use it in older SQL versions
- Dotnet format
- Pluralsight–Stay home and skill up for free
- Expose Kibana to the outside world
- Installing Kibana as a windows service
- ElasticSearch– was created with version [5.3.0] but the minimum compatible version is [6.0.0-beta1]. It should be re-indexed in Elasticsearch 6.x before upgrading to 7.6.1.
March 2020
- ElasticSearch - Error when using latest OpenJRE
- ElasticSearch–Failed to run ElasticSearch 7.6.1 after upgrade
- C#–Discards
- Microsoft Orleans - Multi silo deployment behind a load balancer
- Autofac - Decorators
- C#–is null or == null that’s the question
- Free SQL Server training during the quarantines
- Autofac–Open Generics
- Pluralsight–Free conference content
- WinRM - Testing your WinRM connection
- ASP.NET Core–Use Dependency Injection in Authentication middleware events
- Orleans - System.TypeAccessException: Named type "Messages.Example" is invalid: Type string "Message.Example" cannot be resolved.
- Building careers with empathy
- Multiple inheritance in C#
- ASP.NET Core–Tempdata Peek() and Keep()
- Identity Server 4 - Angular–Chrome’s samesite cookie changes
- XUnit - Assert.Collection
- ASP.NET Core MVC - Use of partial may result in deadlocks
- ASP.NET Core–Using TempData results in a 500 error
- Application Insights Agent
- ASP.NET Core - Kendo UI–Grid remains empty
- Shape Up: Stop Running in Circles and Ship Work that Matters
February 2020
- NSubstitute–Checking received calls
- PostgreSQL – Mapping arrays
- Using linked files in .NET Core
- NPM check - Check for outdated, incorrect, and unused dependencies.
- npm - Unable to verify first certificate
- Angular OIDC - Avoid token sharing
- Modular Monolith with DDD
- GraphQL.NET– Error when upgrading to .NET Core 3.1
- Azure DevOps - Assigning work items to a group
- Azure DevOps - Expanded members
- Orleans - Observers step by step
- Don’t be the hero in your team
- ASP.NET Core - Web.config issue
- SQL Server–Parameter sniffing
- Azure DevOps - Add build badge
- ASP.NET Core - SignalR–MessagePack
- Dotnet Pack–Set version number
- EF Core 3.0–Conventions
January 2020
- Visual Studio 2019 - Container tools
- Azure DevOps Server–Delete the default wiki
- NuGet PackageReference–PrivateAssets
- Azure DevOps - Scan your repo for vulnerabilities
- Open vs Closed layers
- ASP.NET Web API Lifecycle–Step by Step
- Mocking the HttpClient with NSubstitute
- Qualities of a Highly Effective Architect
- GitHub - Code navigation
- Azure DevOps Server - Portable PDB distribution
- Azure DevOps Server 2019–Portable PDB
- Rapid frontend development with GraphQL
- Asynchronous streams - Using IAsyncEnumerable in .NET 4.7
- ElasticSearch–Pinned queries
- MassTransit 6–Serilog integration
- People believe in what they can control, not what works
- Computer Vision repo
- ASP.NET Core–Disable Model validation when using [ApiController]
- Azure DevOps–Migrate from TFVC to Git
- IIS Web Deploy issue - Microsoft.Web.Delegation.DeploymentAuthorizationException