The week in .NET – On .NET on Docker and new Core tooling, Benchmark.NET, Magicka
- On .NET on public speaking, ndepend, CrazyCore, The Perils of Man.
- On .NET with David Pine, PwdLess, Terraria.
- On .NET with Reed Copsey, Jr., Orchard Harvest, Ammy, Concurrency Visualizer, Eco
In this week’s episode, we’re running ASP.NET in a Docker image, and we look at some of the changes in the .NET Core .csproj tooling. Apologies to those of you who watched live: we had some technical difficulties, and as a consequence, we did a second recording, which is now on Channel 9.
This week, we’ll have Phil Haack on the show. Phil works for GitHub, and before that was the Program Manager for ASP.NET MVC. We’ll stream live on Channel 9. We’ll take questions on Gitter’s dotnet/home channel and on Twitter. Please use the
#onnet tag. It’s OK to start sending us questions in advance if you can’t do it live during the shows.
We’ll also record a couple of additional surprise interviews in preparation for the celebration of the 15th anniversary of .NET, and the 20th anniversary of Visual Studio. Stay tuned!
Package of the week: BenchmarkDotNet
When done properly, benchmarking is a great way to guide your engineering choices by comparing multiple solutions to a problem known to cause performance bottlenecks in your applications. There’s a lot of methodology involved if you want to do it right, however, that is both tricky and repetitive. And no, surrounding your code with a
Stopwatch won’t cut it.
BenchmarkDotNet makes it very easy to decorate the code that you want to test so it can be discovered, run many times, and measured. BenchmarkDotNet takes care of warmup and cooldown periods as needed, and will compute mean running times and standard deviation for you. It can also generate reports in a variety of formats.
Game of the week: Magicka
Magicka is an action-adventure game set in a world based on Norse mythology. Take on the role of a wizard from a sacred order while you embark on a quest to stop an evil sorcerer who has thrown the world into turmoil. Magicka features a dynamic spell casting system that has you combining the elements to cast spells. You can also play with up to three of your friends in co-op and versus modes.
User group meeting of the week: C# 7 with Jon Skeet in Adelaide
If you’re around Adelaide on Wednesday, February 8, don’t miss the Adelaide .NET User Group‘s meetup with Jon Skeet on C# 7. Jon Skeet is none other than the #1 member on StackOverflow, and an absolute authority on C#.
- The .NET language strategy by Mads Torgersen.
- Digging deeper into the Visual Basic language strategy by Anthony D. Green.
- Cross-platform drawing with SkiaSharp by Matthew Leibowitz.
- NuGet: introducing scoped API keys by Anand Gaurav.
- How do .NET delegates work? by Matt Warren.
- Application Insights telemetry processors by Maarten Balliauw.
- Dissecting the new() constraint in C#: a perfect example of a leaky abstraction by Sergey Teplyakov.
- Pattern matching in C# 7.0 case blocks by Tim Patrick.
- Tackling tuples: understanding the new C# 7 value type by Christian Gaetano.
- C# 7.0 out vars and ref returns by Christian Nagel.
- Dependency injection, logging and configuration in a .NET Core console application by Chad Ramos.
- Stratis Bitcoin Full Node Daemon Alpha released by Cointelegraph.
- Building DockNetFiddle using Docker and .NET Core by Daniel Jimenez Garcia.
- Cross-Platform DevOps for .NET Core by Muhammad Rehan Saeed.
- Serverless C# on AWS Lambda (part 1) by Ryan Stelly.
- Using Docker env vars in .NET Core by Christian Melendez.
- .Net Core, Roslyn and Code Generation by Carlos Mendible.
- Visualising my heart rate on stage using a Hue lamp and a heart rate sensor and .NET by Daniel Wertheim.
- Refactoring towards resilience: evaluating Stripe and SendGrid options by Jimmy Bogard.
- .NET Core on ARM by Steve Desmond.
- C# IL Viewer for Visual Studio Code using Roslyn side project by Joseph Woodward.
- Logging using DiagnosticSource in ASP.NET Core by Andrew Lock.
- Send form input via an Angular 2 component to ASP.NET Core Web API by Jon Hilton.
- Middleware vs. filters (video) and Saving CPU cycles with static resource hashes by the ASP.NET Monsters.
- Type driven domain modelling, part 1: types and property testing and part 2: evolving models with F# by Lucas Reis.
- F# Historical Acknowledgements
- Railway Oriented Programming (Functional approach to error-handling, by Honza Brestan
- Dependency Rejection, by Mark Seemann
- Using R in Excel with NeXL Connector and F# RProvider , by Adam Mlocek
- Higher Kindended Types in F# – The Introduction, by Robert Kuzelj
Check out F# Weekly for more great content from the F# community.
- Xamarin Stable Release: Cycle 8 Service Release 2 Xamarin Studio Refresh by Bri Brothers.
- Xamarin Beta Release: Cycle 9 RC Refresh Builds by Bri Brothers.
- Enhanced device logging in Visual Studio by James Montemagno.
- Native Facebook authentication with Azure App Service by Mike James.
- #DocumentDB loves Xamarin: planet scale mobile app in five steps by Kirill Gavrylyuk.
- Tips for creating a smooth and fluid Android UI by Jon Douglas.
- Round launcher icons in Android 7.1 by James Montemagno.
- Samsung releases new preview of Visual Studio Tools for Tizen by Samsung Tizen Team.
- Fall in love with Xamarin at an event near you this February by Jayme Singleton.
- Integrating in-app purchases in mobile apps by James Montemagno.
- New HockeySDK releases for Xamarin and Unity by HockeyApp Team.
- The Xamarin Show 14: DocumentDB with Kirill Gavrylyuk & The Xamarin Show Snack Pack 8: visualizing XAML with the Xamarin.Forms previewer by James Montemagno.
- WebView rendering engine configuration, Xamarin Forms profiling, Tracking memory leaks in Xamarin with the profiler, & Using Xamarin Inspector with your live apps by Adam Pedley.
- The underestimated power of color in mobile app design by Nick Babich.
- New Xamarin.Forms item templates! by James Montemagno.
- Creating a reusable styles assembly for Xamarin.Forms by John Miller.
- Supporting Xamarin.Forms tabbed page in Caliburn.Micro by Nigel Sampson.
- Unable to connect or debug to Visual Studio Android Emulator with Visual Studio 2017 RC by Nick Randolph.
- Visual Studio Emulator for Android by David Yardy.
- Event Hubs .NET Standard client is now generally available by John Taubensee.
- Creating documents in DocumentDB with Azure Functions HTTP API and Updating documents in DocumentDb by Adrian Hall.
- Building Azure Functions: part 1 – creating and binding, part 2 – settings and references, and part 3 – coding concerns by Tim Murphy.
- Create a memory dump for your slow performing Web App by Benjamin Perkins.
- Adding UWP features to your existing PC software by Stefan Wick.
- How to use Surface Dial with WPF applications by Ricardo Pons.
- VisualStateManager pitfalls by Martin Zikmund.
- Primary Live Tile API – Windows 10 by Andrew Bares.
- Progress UI and data binding inside toast notifications – Windows 10 Creators Update by leixu2046.
- .GAME’s item system – part 1 challenge explained by Stacey Haffner.
- Inventory and store system – part 2 (scriptable objects) by Stacey Haffner.
- Against the burning hells: Diablo III’s road to redemption with Reaper of Souls by GDC.
- [Unity 5] tutorial: how to create a split screen by Gamad.
- Real Time Strategy in Unity – unit selection GUI by Unit02Games.
And this is it for this week!
Contribute to the week in .NET
As always, this weekly post couldn’t exist without community contributions, and I’d like to thank all those who sent links and tips. The F# section is provided by Phillip Carter, the gaming section by Stacey Haffner, and the Xamarin section by Dan Rigby, and the UWP section by Michael Crump.
You can participate too. Did you write a great blog post, or just read one? Do you want everyone to know about an amazing new contribution or a useful library? Did you make or play a great game built on .NET?
We’d love to hear from you, and feature your contributions on future posts:
- Send an email to beleroy at Microsoft,
- comment on this gist
- Leave us a pointer in the comments section below.
- Send Stacey (@yecats131) tips on Twitter about .NET games.