Issues » #428

#428 – August 15, 2022

sponsor

Collect, clean & act on your customer data with $50K in Segment credits

Segment is a API-first analytics solution that empowers 15,000+ startups to scale their data infrastructure. Collect data from web, server, mobile, and cloud apps; send it to 300+ data destinations. And scale it. See if you qualify for our startup program.

this week's favorite

A .NET distributed cache with a ~25 nanosecond read time!

This article described a .NET distributed cache library called Net.DistributedFileStoreCache (referred to as FileStore cache in this article). The FileStore distributed cache library is very quick to read a cache value (known as Get), for instance, FileStore cache take ~25 ns. to Get a cache value, but a SQL Server distributed cache would take at least take 50 us. – that means FileStore cache is 2,000 faster on Gets! Typically, you don’t need that speed, but I have a situation where I needed to read lots of cache value in every HTTP request, so I built this FileStore cache.

Announcing .NET 7 Preview 7

.NET 7 Preview 7 has been tested with Visual Studio 17.4 Preview 1. We recommend you use the preview channel builds if you want to try .NET 7 with Visual Studio family products. If you’re on macOS, we recommend using the latest Visual Studio 2022 for Mac preview. Now, let’s get into some of the latest updates in this release.

Handling concurrent merges to master in multi-stage Azure DevOps pipelines

In this post I describe a problem we were seeing in our large Azure DevOps pipeline, where a merge to master would cause PR builds to break mid-run. I describe the problem, why it occurs, and the solution we took to fix it.

Evil Monkeypatching in C# with Roslyn Source Generators

If you’re unfamiliar with the term Monkey patching, it’s a process of changing some code “on-the-fly”, where the author of the code didn’t necessarily want that behaviour. It isn’t, however, something you can do in C# (or .NET) in general.

Workflow Orchestration for Resilient Systems

Building resilient software systems can be difficult, especially when they are distributed. Executing a long-running business process or workflow that involves multiple different service boundaries requires a lot of resiliency. Everything needs to be available and functioning because if something fails mid-way through, you can be left in an inconsistent state. So a solution? Workflow orchestration and removing direct service to service communication and temporal coupling.

newsletters

Join over 24,700 readers for a free weekly email with fresh news, articles and tutorials.