On.NET
Last week, we had Mads Torgersen on the show to talk about language design in general, and C# in particular. This week, we'll talk to Jonathan Chambers from the Unity 3D team about game engines, and using .NET to target iOS, Android, or even the Web. Please send me your questions ahead of time, or attend the show and ask them on the chat. Tune in on Thursday, at 10:00AM PST to view the show live!
Package of the week #1: JSON.NET 8
JSON.NET needs no introduction, as it is the recommended library to serialize and deserialize JSON in .NET. James Newton-King just released version 8.0 with lots of bug fixes, and great performance improvements. To improve perf on an already very fast library, James introduced new ways in which a JSON.NET user can avoid memory allocations. Instead of allocating new buffers as needed, the new code uses pools of buffers:
IList<int> value; | |
var serializer = new JsonSerializer(); | |
using (var reader = new JsonTextReader(new StringReader(@"[1,2,3,4]"))) | |
{ | |
// reader will get buffer from array pool | |
reader.ArrayPool = JsonArrayPool.Instance; | |
value = serializer.Deserialize<IList<int>>(reader); | |
} |
The new feature is still somewhat experimental, and for now, you'll need to provide your own implementation of IArrayPool
(a sample is provided on the announcement post). In future versions, there will be a built-in implementation.
Package of the week #2: Colorful.Console
Console applications are cool, but they can be even cooler with some added color. Colorful.Console is a drop-in replacement for System.Console
that adds some new APIs that make it super-simple to write in color. But that's not all: it also contains a super-cool API that can transform text into ASCII art:
FigletFont font = FigletFont.Load("chunky.flf"); | |
Figlet figlet = new Figlet(font); | |
Console.WriteLine(figlet.ToAscii("Belvedere"), ColorTranslator.FromHtml("#8AFFEF")); | |
Console.WriteLine(figlet.ToAscii("ice"), ColorTranslator.FromHtml("#FAD6FF")); | |
Console.WriteLine(figlet.ToAscii("cream."), ColorTranslator.FromHtml("#B8DBFF")); |
User group of the week: Adelaide .NET User Group
On Wednesday, January 13 in Adelaide (yep, in Australia), David Gardiner will present on IntelliTest and other .NET unit testing tools.
.NET
- In a great series of questions and answers, Sander shows how to package a .NET library using various compilation targets, including .NET Core
- Debugging and Profiling in Visual Studio 2015 by Manuel Meyer.
- Tony Sneed recounts his journey to open source in How open source changed my life.
- To base(), or not to base(), that is the question by Jon Skeet.
- Evolution of C# by Kunal Chowdhury.
- Functional Microservices, the .NET Rocks show with Rachel Reese.
ASP.NET
- Goodbye child actions, hello view components by Dave Paquette.
- Best practices for private config data and connection strings in configuration in ASP.NET and Azure by Scott Hanselman.
- Real time translated chat with ASP.NET, Microsoft Translator and IP Messaging by Devin Rader.
- Building APIs with MVC 6 and OAuth (video) by Filip Ekberg.
- How to take an ASP.NET MVC web site down for maintenance by Jon smith.
- Experiments with Entity Framework 7 and ASp.NET MVC 6 by Damien Bod.
F#
Great progress has been made to add .NET Core support to the Visual F# compiler. The compiler and F# Interactive now run on CoreCLR on Windows, OS X, and Linux, but there's still plenty of work left. To track the progress of the project and find ways to contribute, check out the status page on Github.
- Lean and Functional Programming, by Bryan Hunter.
- Visualizing F# Advent Calendar Contributors, by Pierre Irrmann.
- Reconciling Stack Traces with Computation Expressions, by Eirik Tsarpalis
- F# Presentations from CodeMash 2016, by Craig Stuntz
Check out F# Weekly for more great content from the F# community.
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. 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? 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.
This week's post (and future posts) also contains news I first read on ASP.NET's community spotlight, on F# weekly, onASP.NET Weekly, on Dirk Strauss' The Daily Six Pack, and on Chris Alcock's The Morning Brew.