.NET R&D Digest (May, 2019)

Here is the May, 2019 issue of .NET R&D Digest. Besides .NET related topic it also includes a bit about programming languages, web, Windows and quantum computing.

Enjoy!

Web

  1. HTTP/2 Explained (by Daniel Stenberg)
    This book describes the protocol HTTP/2 at a technical and protocol level. Background, the protocol, the implementations and the future.
  2. HTTP/3 Explained (by Daniel Stenberg)
    This book describes HTTP/3 and its underlying protocol: QUIC. Why, how they work, protocol details, the implementations and more (this book is a work in progress)

Programming Languages

  1. Dynamic vs Static Dispatch (by Lukas Atkinson)
    This article explains the difference between dynamic dispatch (late binding) and static dispatch (early binding). This post will also touch on the differences in language support for virtual and static methods, and how virtual methods can be circumvented.
  2. Interface Dispatch (by Lukas Atkinson)
    This post discusses interface method calls in C++ (GCC), Java (OpenJDK/HotSpot), C# (CLR), Go, and Rust.

.NET

  1. Performance Improvements in .NET Core 3.0 (by Stephen Toub)
    A very comprehensive list of performance improvements we can expect in .NET Core 3.0.
  2. Exploring .NET Core platform intrinsics: Part 4 – Alignment and pipelining (by Nemanja Mijailovic)
    If you have not read Exploring .NET Core platform intrinsics series by Nemanja Mijailovic I highly recommend it. This part explores memory alignment and what impact it may have on performance during vectorization.
  3. Default Implementations in Interfaces (by Mads Torgersen)
    A detailed explanation by Mads Torgersen of what default implementations in interfaces are and what to expect from them.
  4. ASCII Art in .NET Code (by Matt Warren)
    A fun post by Matt Warren about what kind of ASCII art and comments you can find in sources of dotnet/CoreCLR, Mono, dotnet/CoreFX, dotnet/Roslyn and aspnet/AspNetCore repositories.
  5. Exploring Blazor by Building a Client-Side Single-Page App (Part 1 and Part 2) / (by Matthew Jones)
    In these posts Matthew Jones demonstrated how to create a simple app using C# and Blazor!
  6. Writing High-Performance C# and .NET Code (by Steve Gordon)
    A great series by Steve Gordon about writing high-performance code including: thoughts and motivation, benchmarking, detailed explanations and few latest posts about memory profiling. There are 7 posts by this moment and the good news – this is not the end.
  7. A set of great posts (Part 1, Part 2, Part 3 and Part 4) by Christophe Nasarre and Kevin Gosse about using Microsoft TraceEvent Library to capture and analyze CLR events.
  8. Nice write up about using OData in ASP.NET Core (Part 1, Part 2, Part 3) / (by Hassan Habib)
    In this series Hassan Habib explains what OData is and how you can leverage from adding OData to ASP.NET Core application. While these posts are focused on OData there are more inside (even Blazor!).

.NET Internals

  1. Value Types vs Reference Types (by Adam Sitnik)
    There is a post by Konrad Kokosa about heap, stack and how they are related to reference and value types. This post by Adam Sitnik covers a more practical side of the question. Here is also a post about internals of boxing / unboxing by Matt Warren.

.NET Ecosystem

  1. Introducing the Try .NET Global Tool – interactive in-browser documentation and workshop creator (by Scott Hanselman)
    In this post Scott Hanselman makes a really good introduction into new project by .NET Team – an interactive in-browser documentation (Yeah it is Blazor and Web Assembly!).

Cloud

  1. Kubernetes Learning Path
    Abstract: This guide is meant for anyone interested in learning more about Kubernetes. In just 50 days, you’ll understand the basics of Kubernetes and get hands-on experience with its various components, capabilities, and solutions, including Azure Kubernetes Service. Go from zero to hero with Kubernetes to set your company up for future app development success.
  2. Microsoft Cloud Workshop
    A  library of freely available Azure related workshops. Each workshop is focused on particular scenario and contains all required resource to implement it.

Q# and Quantum Computing

  1. Quantum Computing
    Want to do quantum computing but don’t know where to start? This course Briliant created with collaboration with Microsoft is probably what you need.

Tooling

  1. My Favorite dotnet CLI Global Tools
    A nice list of useful dotnet CLI global tools by Travis Illig (install all PowerShell script included!).
  2. Metadata Tools
    Various tools and helpers to read assembly metadata by Kirill Osenkov.
  3. carbone
    Composing presentation and need to show code on slides? Then this tool is just what you need. It allows to create beautiful pictures of your source code with different coloring schemes and formatting.

Books

  1. Windows Kernel Programming (by Pavel Yosifovish)
    Ever heard about drivers? Now you can read about how to create your own 🙂 (and more!). This book isn’t about .NET but I personally love Windows Internals books so much so I just can not mention this book by Pavel Yosifovich.

Books we can get for free

  1. Azure Strategy and Implementation Guide
    Abstract: This guide is designed to help your IT team more effectively implement and integrate cloud technologies. You’ll explore key cloud concepts as well as Azure-specific tips and tactics around:
    • General architectures that incorporate security, identity, and cloud design principles.
    • DevOps and how it fits with cloud technologies.
    • Integrating, planning, and managing cloud resources.
    • Microsoft Azure governance.
  2. Free Programming Books
    A GitHub repository managed by EbookFoundation with numerous eBooks about programming.

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 )

Google photo

You are commenting using your Google 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