.NET R&D Digest (July – August, 2019)

It’s been 2 months since previous issue, so it is definitely a time for a new .NET R&D Digest! This time besides great articles about .NET it includes small bits of low level programming, a few posters and a game 🙂

Have a nice reading!

Announcements

  1. Microsoft Quantum Development Kit is now open source!
    If you are interested in Quantum computing now you have a chance to improve the tools you are using. Interested how to get started? Here is how to get started!

Interesting

  1. DIB Guide: Detecting Agile BS
    This is a document written for Department of Defense executives on how to detect software projects that are really using Agile versus “Agile”.

Programming

  1. Performance speed limits (by Travis Downs)
    “How fast it can go?” this is the question we as developers ask ourselves every time when it comes to performance optimization. Most of the time when we deal with high level languages we consider memory consumption, algorithms complexity and so on but what about low level CPU limits? In this large article Travis Downs explores multiple CPU related factors which could limit code execution performance.
  2. Where do interrupts happen? (by Travis Downs)
    Code execution is periodically interrupted by an externally triggered interrupts (i.e. from timer) but when execution actually stops in model CPUs (considering Out-of-Order processors). In this large article Travis Downs explores how interrupts are distributed between instructions depending on the instructions throughput, latency and more.

.NET

  1. Second . NET Memory Management poster (by Konrad Kokosa)
    Nothing can stop Konrad Kokosa from creating amazing things about .NET Memory Management. This is an amazing poster about GC in action. I heard having both these posters gives +10% chance to avoid Out Of Memory exception 🙂
  2. Geting 4x Speedup With .NET Core 3.0 SIMD Intrinsics (by Alex Yakunin)
    The question whether application written in managed language can complete with low level implementation is the one raised again and again. In this post Alex Yakunin shares details about this competition with Den Raskovalov to find out whether “The C++ code listed below, being translated C#, will never be close to C++ in terms of speed”.
  3. Try out Nullable Reference Types (by Phillip Carter)
    Nullable references feature is coming. It’s purpose is to make .NET world a safer place. But what exactly this brings to us as developers and library authors? In this post Phillip Carter covers a lot of things from “nullable references” feature that will help you make you code safer and easier to use.
  4. Nullable references in C# 8.0 (by Eric Sink)
    In this post Eric Sink does a very nice introduction to “nullable references” feature. Here you will find some background history, motivation and implementation details.
  5. string vs. String is not a style debate (by Jared Parsons)
    An interesting post from Jared Parsons about non obvious side effects when using C# built-in types keywords versus their CLR counterparts.
  6. Introducing The Sorting Algorithm Family Reunion (by Matthew Jones)
    This ongoing series by Matthew Jones is about “reunion” of about 18 sorting algorithms 🙂 Besides a common story each article includes: The Rundown, Algorithm, Visualization, C# Implementation and Time and Space Complexity information.

Visual Studio

  1. Visual Studio Tips and Tricks: Increasing your Productivity for .NET (by Mika Dumont)
    Visual Studio no doubts gains more power with every even minor release. In this post Mika Dumont shares the latest tips and tricks for productivity improvements for .NET (quick actions and refactorings) available in Visual Studio 2019 Preview.
  2. Get more fresh content on Visual Studio’s YouTube channel (by Mads Kristensen)
    Did you know Visual Studio has a YouTube channel? Now you know. Besides description of what you can find on the channel Mads Kristensen also shares links to other useful Microsoft channels for developers.

SQL

  1. TSQL JOIN TYPES (by Steve Stedman)
    Joining multiple table is probably one of the most used operations in relational databases. That is why there are so many ways of doing them. This great poster create by Steve Stedman provides a very neat and easy to understand illustration (with corresponding T-SQL) for each join type.

Learn

  1. Secure an ASP.NET Core web app with the Identity framework
    Abstract: Add authentication and authorization to an ASP.NET Core web app using the Identity framework. In this module, you will: configure Identity support in an existing ASP.NET Core web app; provide new user registration capabilities; extend Identity UI components; customize multi-factor login capabilities; implement policy-based authorization using claims; customize and extend the underlying Identity data store.

    Very interesting and interactive tutorial (be prepared to use Authenticator App!). I advice to start it in incognito window to avoid authorization problems during sandbox setup.

Fun

  1. Screeps
    Abstract: It’s an open-source game for programmers, wherein the core mechanic is programming your units’ AI. You control your colony by writing JavaScript.

    This is indeed a real programming game. It have many aspects starting from writing simple control modules to harvest energy to building structs, automating manufacturing and so on. Because this is the MMO – you creeps will still do their job when you close the browser tab 🙂

Tools

  1. McMaster.AspNetCore.LetsEncrypt (by Nate McMaster)
    LetsEncrypt is an open and free Certificate Authority. This is great but unfortunately issuing a certificate requires understanding of ACME protocol. Thanks to open source there are many tools which can help you configuring it in the Cloud or manually by answering a few questions but what about automating this process for ASP.NET Core app? This is what this NuGet package by Nate McMaster does.  It automatically generates an HTTPS certificate on server startup and then configures Kestrel to use this certificate for all HTTPs traffic.

Books we can get for free

  1. AI in Action—explore three technical case studies in one guide
    Abstract: Explore three AI case studies—complete with lots of code, detailed technical specs, and step-by-step solutions implemented in the real world. You’ll learn how telecommunications provider Three, travel-app maker NAVITIME, and municipal-services provider Powel built their AI-enhanced apps quickly, and see the resulting user experience. Each case study includes: key technologies used, customer profile, problem statement, solutions and steps, technical delivery, conclusion.

One thought on “.NET R&D Digest (July – August, 2019)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s