The Crafting Strider

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

.NET Weekly #116 (18.02 - 24.02)

Cloud & Web

  1. Using .NET Standard with Full Framework .NET
  2. Why GraphQL is the Future of APIs
  3. You probably don’t need a single-page application
  4. Writing CSS Algorithms
  5. Comparing the Network Performance of AWS, Azure and GCP
  6. The Cloud Is Just Someone Else’s Computer
  7. Add CosmosDB persistent storage to Microsoft Orleans in .Net Core
  8. Understanding grain references and UniqueKey for Orleans CosmosDB provider
  9. Migrating from Angular to Vue
  10. Comparing ASP.NET Core Routing Performance To ASP.NET MVC
  11. HttpClient Creation and Disposal Internals - Should I Dispose of HttpClient

Tooling & Libraries

  1. The Essential Tools for Programmers
  2. Chaos Monkey Guide for Engineers
  3. Password Managers - Under the Hood of Secrets Management
  4. TSLint in 2019
  5. Using Visual Studio on aspnet repos requires installing or upgrading to 2019
  6. GitLab 11.8 released with SAST for JavaScript, Pages for subgroups, and Error Tracking
  7. Managing JavaScript in the Enterprise
  8. dotnet-format
  9. vuejs 2.6.7
  10. Ultimate Guide to Machine Learning with ML.NET
  11. Microsoft SEAL open source homomorphic encryption library gets even better for .NET developers!

Architecture & Databases

  1. A Generalised Solution to Distributed Consensus
  2. How we used delayed replication for disaster recovery with PostgreSQL
  3. The log/event processing pipeline you can’t have
  4. An update about Redis developments in 2019
  5. Serializability vs “Strict” Serializability - The Dirty Secret of Database Isolation Levels
  6. Production Postmortem - This data corruption bug requires 3 simultaneous race conditions

Programming Languages

  1. C# 8 - Default Interface Methods Implementation
  2. Let’s TalkConcurrency Panel Discussion with Sir Tony Hoare, Joe Armstrong, and Carl Hewitt
  3. Towards an understanding of technical debt
  4. Choosing a web framework for F# in 2019
  5. Building a Game with SignalR and F#
  6. IHostingEnvironment and IApplicationLifetime marked obsolete and replaced
  7. Fun with the Spiral of Death
  8. From interaction-based to state-based testing
  9. Fixing Random, part 6
  10. Fixing Random, part 7


  1. How method calling works in C#
  2. call and callvirt in CIL
  3. The difference in how the ’this’ pointer works in a method call for ‘classes’ compared to ‘structs’
  4. Add APIs for some threading metrics
  5. Heap vs stack, value type vs reference type


  1. Programming Interview Questions Are Too Hard and Too Short
  2. Intel Linux Graphics Driver Adding Device Local Memory - Possible Start of dGPU Bring-Up
  3. I ruin developers’ lives with my code reviews and I’m sorry
  4. You Need $250,000 To Start a Company
  5. Hacker News Books
  6. What should a Software Engineering course look like?
  7. Reverse-engineering the new captchaless ReCaptcha system
  8. How can developers reduce stress