The Crafting Strider

Raman But-Husaim’s personal webblog. Ideas, tech articles born through the life of a software engineer

.NET Weekly #153 (25.11 - 01.12)

Cloud & Web

  1. Static File CSV Content-Type Changed to text/csv
  2. Building a real-time .NET GraphQL Client API
  3. Guaranteed Delivery with gRPC Streams
  4. Converting a terminal middleware to endpoint routing in ASP.NET Core 3.0
  5. Why you should be storing remote data in a cache
  6. New for Amazon Aurora – Use Machine Learning Directly From Your Databases

Tooling & Libraries

  1. Dark Mode by Default - 95% Prefer Dark over Light Mode
  2. Bootstrap 4.4.0
  3. Everything I know about Kubernetes I learned from a cluster of Raspberry Pis
  4. Kubernetes-based event-driven autoscaling (KEDA) 1.0 release
  5. A History of HTML Parsing at Cloudflare - Part 1
  6. Introducing real-time anomaly detection in Open Distro for Elasticsearch
  7. Feature Toggles, Blue-Green Deployments, & Canary Tests with Terraform

Architecture & Databases

  1. Mergeable replicated data types – Part I
  2. How to Approach State Management in React, Vue and Angular
  3. Discovering less-known PostgreSQL v12 features
  4. Who is a software architect? What is software architecture
  5. Lessons learned using Single-table design with DynamoDB and GraphQL in production
  6. How Does Accelerated Database Recovery Work
  7. Lambda Architecture for IoT and Big Data Systems

Programming Languages

  1. TimeSpan configuration values in .NET Core
  2. Rebase Considered Harmful
  3. Is Entity the same as Value Object
  4. Lessons Learned Building Distributed Systems with CQRS and Event Sourcing
  5. Protecting Data with IDataProtector in ASP.NET Core
  6. Embracing nullable reference types
  7. Using proper culture with C# string interpolation


  1. Consolidated dotnet runtime repository
  2. Using BenchmarkDotNet to find methods that can cause longe GC pause times


  1. 100 Tips – Master Guide to Developer Interviews
  2. Lessons learned building an ML trading system