Digests » 289
C# is an amazing language that's up to any challenge you can throw at it. With 40% off your entire order, including books covering all aspects of C# development, written by experts and legends like Jon Skeet, you're sure to find what you need to become a better developer with Manning!
this week's favorite
It’s not so rare to see weird things happen in 3rd party library code. Call some method and you’ve got a strange exception. Or an incorrect behavior or even a process crash. It sure would be nice to debug some of these issues. In this article we’re going to do just that – You’ll see how to debug 3rd party library code in Visual Studio.
We recently started experimenting with machine learning on elmah.io. There's a closed beta on anomaly detection and more, similar features will follow in the future. We chose ML.NET as the framework and are pretty happy with the results so far. The amount of documentation is good but mostly limited to flower detection samples (using the frequently used Iris data set). In this post, I'll share how we implemented anomaly/spike detection and which problems we ran into.
Figuring out ways to handle error cases better and as comprehensively as possible is a significant part of what software engineering is about. For a recent project at Kabbage, we have experimented using Discriminated Union types in C# to improve error handling in our code base.
You might recall that LINQ has two forms. The first way is to call LINQ methods and the second is the special LINQ syntax. Here’s an example of the LINQ syntax.
.NET added async/await to the languages and libraries over seven years ago. In that time, it’s caught on like wildfire, not only across the .NET ecosystem, but also being replicated in a myriad of other languages and frameworks. It’s also seen a ton of improvements in .NET, in terms of additional language constructs that utilize asynchrony, APIs offering async support, and fundamental improvements in the infrastructure that makes async/await tick (in particular performance and diagnostic-enabling improvements in .NET Core).