Here are the most interesting articles, blog posts, videos, podcasts, and GitHub repositories I've run into over the last week (August 25, 2025 - August 31, 2025). Enjoy!| same stuff, different day
Here are the most interesting articles, blog posts, videos, podcasts, and GitHub repositories I’ve run into over the last week (August 18, 2025 - August 24, 2025). Enjoy!| same stuff, different day
einarwhfeed| einarwh.no
Here are the most interesting articles, blog posts, videos, podcasts, and GitHub repositories I've run into over the last week (August 11, 2025 - August 17, 2025). Enjoy!| same stuff, different day
Here are the best and most interesting articles, blog posts, videos, podcasts, and GitHub repositories I've run into over the last week (August 4, 2025 - August 10, 2025). Enjoy!| same stuff, different day
Here are the best and most interesting articles, blog posts, videos, podcasts, and GitHub repositories I’ve run into over the last week (July 28, 2025 - August 3, 2025). Enjoy!| same stuff, different day
Here are the best and most interesting articles, blog posts, videos, podcasts, and GitHub repositories I've run into over the last week (July 21, 2025 - July 27, 2025). Enjoy!| same stuff, different day
Here are the best and most interesting articles, blog posts, videos, podcasts, and GitHub repositories I’ve run into over the last week (July 14, 2025 - July 20, 2025). Enjoy!| same stuff, different day
I love xUnit and I use it for most of my testing. With xUnit v3 the possibility of running the tests was added without the need of using any other external tools like console runners, dotnet test or VSTest. So a xUnit test suite is just a executable itself. Not long after xUnit v3 were released I discovered Microsoft Testing Platform, which achieves something very similar. According to their own docs it “[..]is a lightweight and portable alternative to VSTest for running tests in all contex...| Cheesy bits and bobs
Here are the best and most interesting articles, blog posts, videos, podcasts, and GitHub repositories I've run into over the last week (July 7, 2025 - July 13, 2025). Enjoy!| same stuff, different day
Here are the best and most interesting articles, blog posts, videos, podcasts, and GitHub repositories I’ve run into over the last week (June 30, 2025 - July 06, 2025). Enjoy!| same stuff, different day
I maintain MvvmCross which is a part of the .NET Foundation and one of the services member projects get is signing of software using certificates issued by the .NET Foundation. This way the project does not have to manage their own signing certificates and not have to spend money on these.| Cheesy bits and bobs
Here are the best and most interesting articles, blog posts, videos, podcasts, and GitHub repositories I’ve run into over the last week (June 23, 2025 - June 29, 2025). Enjoy!| same stuff, different day
Here are the best and most interesting articles, blog posts, videos, podcasts, and GitHub repositories I’ve run into over the last week (June 16, 2025 - June 22, 2025). Enjoy!| same stuff, different day
Here are the best and most interesting articles, blog posts, videos, podcasts, and GitHub repositories I’ve run into over the last week (June 9, 2024 - June 15, 2025). Enjoy!| same stuff, different day
ASP.NET Core provides great extension points for handling OpenID Connect error events. This blog looks at implementing error handling in an ASP.NET Core application implemented using ASP.NET Core I…| Software Engineering
This blog looks at implementing client assertions for the client credentials flow using OAuth 2.0 Demonstration of Proof-of-Possession (DPoP). The client credentials flow is an OAuth 2.0 authorizat…| Software Engineering
This blog shows how to implement a delegated Microsoft On-Behalf-Of flow in ASP.NET Core, and has a focus on access token management. The solution uses Microsoft.Identity.Web to implement the diffe…| Software Engineering
I care about the performance of RavenDB. Enough that I would go to epic lengths to fix them. Here I use “epic” both in terms of the Agile me...| ayende.com
Pro .NET Memory Management 2nd Edition is available! What should you expect from it? Should you buy it if you already own the 1st edition?| minidump.net
With AppCenter closing 31st of March, I bet some people are scrambling to find out what to do instead. In my organization we’ve moved crashes into Sentry. However, there is still the question of what to do about Analytics events, which Sentry does not have an offering for.| Cheesy bits and bobs
This post shows how to implement phone (SMS) verification and two-factor authentication (2FA) using ASP.NET Core Identity. The solution integrates phone-based verification and 2FA mechanisms. The i…| Software Engineering
Snippet in plain F# with no dependencies. Features a neat shebang.| Alexandru Nedelcu - Blog
Overview This guide will walk you through creating a simple chat application in .NET that interacts with a locally hosted AI model. Using the Microsoft.Extensions.AI library, you can communicate with an AI model without relying on cloud services. This provides better privacy, reduced latency, and cost efficiency. Prerequisites Install .NET 8.0 or a later version. […]| Collabnix
OpenFeature Contributor Spotlight| OpenFeature Blog
Announcing the 2.0 Release of the OpenFeature SDK for .NET| OpenFeature Blog
Using NativeAOT to write a .NET GC in C#. In the fourth part, we see how walk the heap and how to keep track of allocation contexts.| minidump.net
Using NativeAOT to write a .NET GC in C#. The third part adds some tooling to inspect the objects stored on the heap.| minidump.net
In the first part, we prepared the project and fixed an initialization issue caused by the NativeAOT toolchain. In this second part, we’re going to start the implementation of our GC. The target for now is to build the simplest possible GC that can run basic .NET applications. This GC will only allocate memory and never free it, similar to Konrad Kokosa’s bump-pointer GC. The first step is to write the native interfaces we’re going to need.| minidump.net
.NET Blazor has been touted as a revolutionary framework that allows .NET developers to build interactive web applications using C# instead of JavaScript. It's mainly aimed at ASP.NET Core developers who want to build SPA-like apps leveraging the .NET ecosystem and a wealth of existing libraries and tools available via NuGet. It's Microsoft's latest instalment in an attempt to gain traction amongst frontend developers. With the recent release of .NET 8 Microsoft announced even more improvemen...| Dusted Codes
ASP.NET has quite some years on its shoulders now. Fourteen years to be precise. I only started working with ASP.NET in 2008, but even that is already 8 years ago. Since then the framework went through a steady evolutionary change and finally led us to its most recent descendant - ASP.NET Core 1.0.| Dusted Codes
The quiet Christmas period is always a good time to explore new technologies and recent trends which have been on my list for a while. This Christmas I spent some time learning the latest ASP.NET framework, in particular how to run ASP.NET 5 applications on Linux via the CoreCLR and how to run a regular .NET 4.x web application via Mono in a Docker container. The latter is what I am going to talk about in this blog post today.| Dusted Codes
In my last blog post I wrote a little crash course on RSA and how it works without looking into any specific language implementations. Today I'd like to explore the native implementations of .NET and the new RSACng class which has been introduced with .NET Framework 4.6.| Dusted Codes
Save time and make your applications better. Check out this list of open source .NET libraries I love to use and recommend.| Luke Lowrey
How to automate creating and pushing nuget packages from GitHub to nuget.org and other sources.| Luke Lowrey
FluentEmail - the open source .NET Core email library I created now has over 1000 stars on GitHub! I am looking for collaborators to help me continue development.| Luke Lowrey
This article looks at management application access tokens in an ASP.NET Core web application. Any application with or without a user can use application access tokens as long as the application ca…| Software Engineering
The article looks at managing user delegated access tokens for a downstream API in an ASP.NET Core web application. There are many ways of implementing this, all with advantages and disadvantages. …| Software Engineering
First part of a series of articles about writing a .NET Garbage Collector in C# using NativeAOT. This part sets the expectations and setups the project, dealing with the first difficulties.| minidump.net
The impact of using the wrong class for the job. Profiling and fixing a performance issue in WinDbg.| minidump.net
Non-exhaustive list of code patterns to avoid in C#, either because they are risky or perform poorly.| minidump.net
Recently I have added true to a bunch of my projects, which now yield warnings when code I wrote has potential issues when trimming the assembly.| Cheesy bits and bobs
(disclaimer: This article is also for OCaml developers, but I use F# as it is the language that I currently learning)| rm4n0s.github.io
This post introduces TUnit, a new testing framework for .NET 8 and later, and shows off its incredible speed and amazing features!| Sander ten Brinke
Official .NET support has arrived on Heroku! Deploy with ease—C#, F#, ASP.NET Core, Blazor & more. Public beta now open - get started today.| blog.heroku.com
I have been using the super nice Central Package Management feature, enabled by the ManagePackageVersionsCentrally property in many of my .NET projects for quite a while. What it allows you, is to define the package versions of the NuGet packages you are referencing in your solution a single Directory.Packages.props file in the root of your repo. So instead of having package versions scattered around your csproj files, they are defined a single place and aligned throughout the solution.| Cheesy bits and bobs
Updated 17. Nov 2024: Added a bit more info on the new registrar| Cheesy bits and bobs
What are the day-to-day benefits of functional programming?| functionalsoftware.se
Find information on the new features available in F# 9.| learn.microsoft.com
Update 27th September: Added information about uploading symbols for symbolication of exception| Cheesy bits and bobs
As you may or may not know, static methods are usually faster than instance methods. This alone should be a good enough reason to use the static string.Equals method in .NET, but if that doesn’t do it for you, allow me to present a simple example. string a = "hello"; string b = "hi"; bool result = a.Equals(b); What is the expected result of these lines? A boolean value of false, of course. And it’d be true if the strings were identical. It’s also false if b is null. But what if a is null?| David Haney - Blogging About .NET Core & Engineering Management
Take an in-depth tour through hundreds of performance improvements in .NET 9.| .NET Blog
With introduction of MsBuild we can now manage all these Package Version numbers more in a single file that we can place in the Root of our solution or project files.| Gary Woodfine
A walk-through guide detailing the steps you can follow to configure your Blazor wasm project to use Tailwind CSS.| Gary Woodfine
A walkthrough guide on how to create a simple Balzor application and deploy it to netlify using GitHub Actions and Cake Build Script| Gary Woodfine
An introduction and exploration into understanding & implementing Middleware components into Dotnet Web based applications| Gary Woodfine
A quick walkthrough guide on how to implement WebSocket end points in dotnet| Gary Woodfine
Learn how to generate code coverage summary reports and view them on your GitHub actions| Gary Woodfine
This post implements a basic ASP.NET Core API using .NET 9 and the Microsoft OpenAPI implementation. The OpenAPI Nuget package supports both Controller based APIs and minimal APIs. Until now, we us…| Software Engineering
You may be using Refit already today in your App or you want to do so. It is a great little REST Api client library where you quickly through interfaces can start communicating with an API and without having to write a bunch of client code yourself.| Cheesy bits and bobs
We have created a new OpenFaaS template for C# and .NET 8.0 and it’s based on the Minimal API of ASP.NET Core.| OpenFaaS - Serverless Functions Made Simple
I walk the reader through setting up their Salesforce org and C# .NET application to successfully authenticate and login using the Salesforce REST API.| DEV Community
This article shows how an ASP.NET Core application can control the write access to an Azure blob storage container using an application app registration. Microsoft Entra ID is used to control the u…| Software Engineering
.NET offers a somewhat unknown feature called “runtime package stores”, which can be used to optimize your Docker images.| Fear of Oblivion
Binary available at Yet another .NET binary. Run it and it’s similar to Reversing 200: prints a line, read a line and exits. Decompiling using ILSpy and we get main. It’s too long so I&…| Arvind S Raj's Blog
Binary available at We’re given a .NET binary in this challenge. It merely prints a string and exits instantly. Decompiling it using ILSpy and we see the main routine as follows. Simple stuf…| Arvind S Raj's Blog
At Build 2023 back in June, Microsoft announced a new form of storage volume for Windows 11: Dev Drive. In October 2023, support for Dev Drive was shipped as a Windows Update and now available to anyone using the latest version of Windows 11.[Environment]::SetEnvironmentVariable(“npm_config_cache”, “$DevDrive\Packages\npm_cache”, “User”)[Environment]::SetEnvironmentVariable(“NUGET_PACKAGES”, “$DevDrive\Packages.nuget\packages”, “User”)[Environment]::SetEnvironmentVaria...| Maarten Balliauw {blog}
Today Microsoft announced the availability of .NET 8, the latest version of one of the world’s leading programming languages and development platforms.| .NET Blog
When writing libraries and frameworks that others are using, it’s sometimes hard to convey that a given API is still considered “experimental”.For example, you may want to iterate on how to work with part of the code base with the freedom to break things, while still allowing others to consume that code if they are okay with that.| Maarten Balliauw {blog}
Discriminated unions have been a long-standing request for C#. While F# users have had discriminated unions for years, C# developers will have to wait a bit longer.| Maarten Balliauw {blog}
Using Bogus to generate realistic fake data together with Entity Framework Core to set up your testing data in seconds!| Sander ten Brinke
For the past few months, a lot of news in tech as well as mainstream media has been around ChatGPT, an Artificial Intelligence (AI) product by the folks at OpenAI.ChatGPT is a Large Language Model (LLM) that is fine-tuned for conversation. While undervaluing the technology with this statement, it’s a smart-looking chat bot that you can ask questions about a variety of domains.| Maarten Balliauw {blog}
In my blog series, Nullable reference types in C# - Migrating to nullable reference types, we discussed the benefits of enabling nullable reference types in your C# code, and annotating your code so the compiler and IDE can give you more reliable hints about whether a particular variable or property may need to be checked for being null before using it.| Maarten Balliauw {blog}