{"id":4971,"date":"2015-12-08T09:32:00","date_gmt":"2015-12-08T09:32:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2015\/12\/08\/the-week-in-net-12082015\/"},"modified":"2021-09-30T14:00:26","modified_gmt":"2021-09-30T21:00:26","slug":"the-week-in-net-12082015","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/the-week-in-net-12082015\/","title":{"rendered":"The week in .NET &#8211; 12\/08\/2015"},"content":{"rendered":"<p>Welcome to the second &#8220;The Week in .NET&#8221; post. It was great to see how well <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2015\/12\/01\/the-week-in-net-12-1-2015.aspx\">the first post<\/a> was received. Thanks to all who sent messages of encouragement and contributions to this week&#8217;s post. If you would like to participate too, if you wrote a great blog post, or just read one, if you want to show an amazing new contribution, if you&#8217;ve written a useful library, we&#8217;d love to hear from you, and feature it on future posts. You can send me an email to beleroy at Microsoft, or you can <a href=\"https:\/\/gist.github.com\/bleroy\/857ffb9796295606734e\">comment on this gist<\/a> with new links, or you can simply leave us a pointer in the comment section below.<\/p>\n<h2>Package of the week #0: AngleSharp<\/h2>\n<p>Let&#8217;s start by talking a little bit about the section in last week&#8217;s post that generated the most comments: the package of the week. Last week, I chose <code>HtmlAgilityPack<\/code> because it&#8217;s a package that I&#8217;ve used a lot in the past, and that is one of the most downloaded on NuGet. Several of you mentioned that they were using <a href=\"https:\/\/www.nuget.org\/packages\/AngleSharp\/\">AngleSharp<\/a> in lieu of <code>HtmlAgilityPack<\/code>, specifically for its more modern approach, and because it&#8217;s being more actively maintained. Indeed, it uses CSS queries instead of XPath, and is a joy to use.<\/p>\n<p>Here&#8217;s last week&#8217;s sample code, but using <code>AngleSharp<\/code> instead of <code>HtmlAgilityPack<\/code>:<\/p>\n<p><script type=\"text\/javascript\" src=\"https:\/\/gist.github.com\/bleroy\/ca1499fee30581358e9e.js\"><\/script><\/p>\n<h2>Package of the week #1: Bogus<\/h2>\n<p><a href=\"https:\/\/github.com\/bchavez\">Brian Chavez<\/a> sent a tip about his <a href=\"https:\/\/www.nuget.org\/packages\/Bogus\/\">Bogus<\/a> package, which creates fake data that you can use in your test cases. The library is a lot of fun to use, and can generate a boatload of different data types, from localized Lorem Ipsum text to images, with a result that always looks like real data from real users.<\/p>\n<p>Here&#8217;s how you can generate fake user data, for example:\n<script type=\"text\/javascript\" src=\"https:\/\/gist.github.com\/bleroy\/d596de64caeeab352795.js\"><\/script><\/p>\n<h2>News from Core<\/h2>\n<p><a href=\"https:\/\/github.com\/joeaudette\">Joe Audette<\/a> sent in a tip telling us that <a href=\"https:\/\/github.com\/jstedfast\/MailKit\/issues\/212\">Mailkit now supports .NET Core<\/a>. This is great news as it means that it&#8217;s now super-easy to send mail from a .NET Core app.<\/p>\n<p>Brian Chavez also manages the <a href=\"https:\/\/www.nuget.org\/packages\/RethinkDb.Driver\">.NET driver for RethinkDB<\/a>, which is now compatible with .NET Core.<\/p>\n<h2>F# news<\/h2>\n<p>Every week from now on, we&#8217;re going to relay a selection of news from the very active F# community. Thanks to Sergey Tihon and David Stephens for providing these links.<\/p>\n<ul>\n<li><a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2015\/12\/03\/guest-post-announcing-f-support-in-visual-studio-code-with-ionide.aspx\">Krzysztof Cie\u015blak announces F# Support in Visual Studio Code with Ionide<\/a><\/li>\n<li><a href=\"https:\/\/sergeytihon.wordpress.com\/2015\/10\/25\/f-advent-calendar-in-english-2015\/\">The F# community is writing a new blog post daily for this year&#8217;s F# Advent Calendar<\/a><\/li>\n<li><a href=\"http:\/\/fsharpforfunandprofit.com\/posts\/13-ways-of-looking-at-a-turtle\/\">Thirteen Ways of Looking at a Turtle Part 1<\/a> and <a href=\"http:\/\/fsharpforfunandprofit.com\/posts\/13-ways-of-looking-at-a-turtle-2\/\">Part 2<\/a>, by Scott Wlaschin<\/li>\n<li><a href=\"https:\/\/seantrelfordblog.wordpress.com\/2015\/12\/05\/no1s\/\">No. 1 at Christmas, by Sean Trelford<\/a><\/li>\n<li><a href=\"http:\/\/www.roundcrisis.com\/2015\/12\/06\/Computation-expressions-in-practice\/\">Computation Expressions and Microphones, by Andrea Magnorsky<\/a><\/li>\n<li><a href=\"http:\/\/blog.christopher-atkins.com\/fsharp-advent-2015\/\">F# 2015 Advent Cookies, by Christopher Atkins<\/a><\/li>\n<li><a href=\"https:\/\/sergeytihon.wordpress.com\/2015\/12\/07\/application-contracts-with-swagger-powered-apis-for-net-or-why-swaggerprovider\/\">Application Contracts with Swagger-powered APIs for .NET, by Sergey Tihon<\/a><\/li>\n<li><a href=\"http:\/\/www.aaron-powell.com\/posts\/2015-12-07-whats-the-time-mr-wolf.html\">What\u2019s the Time, Mr. Wolf?, by Aaron Powell<\/a><\/li>\n<\/ul>\n<h2>User group of the week: dotNET Miami<\/h2>\n<p>dotNet Miami is a user group in Miami, FL, USA. On Thursday, December 10th, at 6:30PM, they have an intro-level session about <a href=\"http:\/\/communitymegaphone.com\/ShowEvent.aspx?EventID=7390\">F# and database design fundamentals<\/a>.<\/p>\n<h2>Blog posts of the week<\/h2>\n<ul>\n<li><a href=\"http:\/\/blog.i3arnon.com\/2015\/11\/30\/valuetask\/\">Bar Arnon writes about the efficiency of <code>ValueTask&lt;T&gt;<\/code><\/a><\/li>\n<li><a href=\"http:\/\/blog.leifbattermann.de\/2015\/11\/23\/functional-monadic-parsers-ported-to-c\/\">Leif Battermann wrote a mind-bending article about porting monadic parsers to C#<\/a><\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/Series\/Three-Essential-Tips-for-Async\">Two years old, but still 100% relevant, Lucian Wischik&#8217;s seven-part video of tips for Async<\/a><\/li>\n<\/ul>\n<p>And this is it for this week!<\/p>\n<p>Click <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2015\/12\/01\/the-week-in-net-12-1-2015.aspx\">here<\/a> to navigate to the previous post in this series.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to the second &#8220;The Week in .NET&#8221; post. It was great to see how well the first post was received. Thanks to all who sent messages of encouragement and contributions to this week&#8217;s post. If you would like to participate too, if you wrote a great blog post, or just read one, if you [&hellip;]<\/p>\n","protected":false},"author":347,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685],"tags":[4,51,153],"class_list":["post-4971","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","tag-net","tag-community","tag-week-in-net"],"acf":[],"blog_post_summary":"<p>Welcome to the second &#8220;The Week in .NET&#8221; post. It was great to see how well the first post was received. Thanks to all who sent messages of encouragement and contributions to this week&#8217;s post. If you would like to participate too, if you wrote a great blog post, or just read one, if you [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/4971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/347"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=4971"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/4971\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=4971"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=4971"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=4971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}