> For the complete documentation index, see [llms.txt](https://dotnetweekly.gitbook.io/weekly/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dotnetweekly.gitbook.io/weekly/2017/2017.04/number-31.md).

# .NET Weekly #31

## Cloud & Web

1. [ASP.NET Core Web Servers: Kestrel vs IIS Feature Comparison and Why You Need Both](https://stackify.com/kestrel-web-server-asp-net-core-kestrel-vs-iis/?utm_source=DNK-224416)
2. [Announcing SignalR 2.2.2 (Preview 1)](https://blogs.msdn.microsoft.com/webdev/2017/04/13/announcing-signalr-2-2-2-preview-1/)
3. [Ubuntu 17.04 supports widest range of container capabilities](https://insights.ubuntu.com/2017/04/13/ubuntu-17-04-supports-widest-range-of-container-capabilities)

## Tooling & Libraries

1. [Open sourced Xamarin’s MQTT implementation](https://github.com/xamarin/mqtt)
2. [Akka.NET v1.2 Stable Release](https://github.com/akkadotnet/akka.net/releases/tag/v1.2)
3. [Visual F# Tools Announcement for April](https://github.com/Microsoft/visualfsharp/issues/2833)
4. [Visual Studio for Mac to the Cloud and Beyond](https://blogs.msdn.microsoft.com/visualstudio/2017/04/12/visual-studio-for-mac-to-the-cloud-and-beyond/)

## Architecture & Databases

1. [Flexibility Equates to Lower Quality](http://www.yegor256.com/2017/04/11/flexibility-equates-lower-quality.html)
2. [What is the problem with key-value databases and how wide column stores solve it.](https://indexoutofrange.com/What-is-the-problem-with-key-value-databases-and-how-wide-column-databases-solve-it/)
3. [Duplicate Code Isn't That Bad](https://dzone.com/articles/duplicate-code-isnt-that-bad)

## Programming Languages

1. [Exploring Tuples as a Library Author](http://blog.marcgravell.com/2017/04/exploring-tuples-as-library-author.html)
2. [Announcing TypeScript 2.3 RC](https://blogs.msdn.microsoft.com/typescript/2017/04/10/announcing-typescript-2-3-rc/)
3. [An interesting (if unsuccessful) look into predicting horse races via machine learning with F#](https://medium.com/@ThisisZone/an-interesting-if-unsuccessful-look-into-predicting-horse-races-via-machine-learning-with-f-7563090c7582)
4. [Method overload resolution in C# 6.0: an interesting bug story](http://codewithstyle.info/method-overload-resolution-in-c-6-0-an-interesting-bug-story/)
5. [.NET Futures - Type Classes and Extensions](https://www.infoq.com/news/2017/04/DotNet-Type-Classes)

## Runtime

1. [Mono 5.0.0 Release Notes](http://www.mono-project.com/docs/about-mono/releases/5.0.0/#runtime)
2. [RyuJIT and the never-ending ThreadAbortException](http://labs.criteo.com/2017/04/ryujit-never-ending-threadabortexception/)
3. [.NET Framework April 2017 Monthly Rollup](https://blogs.msdn.microsoft.com/dotnet/2017/04/11/net-framework-april-2017-monthly-rollup/)
4. [Webinar recording: Exploring .NET’s memory management](https://blog.jetbrains.com/dotnet/2017/04/07/webinar-recording-exploring-nets-memory-management/)
5. [The CLR Thread Pool 'Thread Injection' Algorithm](http://mattwarren.org/2017/04/13/The-CLR-Thread-Pool-Thread-Injection-Algorithm/)

## Other

1. [Intel Haskell Compiler finally got published](https://github.com/IntelLabs/flrc)
2. [MailKit Officially Replaces .NET’s SmtpClient](https://www.infoq.com/news/2017/04/MailKit-MimeKit-Official)
3. [Testing the Windows Subsystem for Linux](https://blogs.msdn.microsoft.com/wsl/2017/04/11/testing-the-windows-subsystem-for-linux/)
4. [Optimizing Rust Struct Size - A 6-month Compiler Development Project](http://camlorn.net/posts/April%202017/rust-struct-field-reordering.html)
