Digests » 130


Cross-platform, Actionable, Graphical Git Dashboard

Straightforward, graphic GUI for your Git projects. Free Cross Platform App that works with Mac, Windows and Linux.

this week's favorite

Lock free many-producer/single-consumer patterns

Today we're going to implement a very simple producer/consumer pattern: There are many producers who are producing work, and a single consumer who processes the work. The work is all identical, and it is idempotent. That means that doing the work twice is the same as doing it once.

A faster lower allocation stream stack wielded for ALPN/TLS and… HTTP2

So the pipelines library started life as “channels” a repo on github under David Fowlers personal account. By the time I came to look at it, it was up and running, buggy sure, API unbaked but it was functional. To look at how it was and a good kick starter (plus a blog always worth reading) take a look at Marc Gravell’s early post on the subject.

Virtual events in C#: something went wrong

Not so long ago I was working on a new C# diagnostic - V3119 - for the PVS-Studio static code analyzer. The function of this diagnostic is to detect potentially unsafe constructions in the source code of C#, related to the usage of virtual and overridden events. Let's try to sort out, what's wrong with virtual events in C# - the principle of this diagnostic, and why Microsoft doesn't recommend using virtual and overridden events.

Open Source .NET – 2 years later

I think that it’s clear to see that the Community has got on-board with the new Open-Source Microsoft, producing a sustained level of contributions over the last 2 years, lets hope it continues!

What's some C# bad practices that you know and what's the workaround?

A discussion and examples of bad practices in C#.