{"id":5021,"date":"2015-12-29T18:27:14","date_gmt":"2015-12-29T18:27:14","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2015\/12\/29\/the-week-in-net-12292015\/"},"modified":"2021-09-30T14:00:08","modified_gmt":"2021-09-30T21:00:08","slug":"the-week-in-net-12292015","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/the-week-in-net-12292015\/","title":{"rendered":"The week in .NET &#8211; 12\/29\/2015"},"content":{"rendered":"<p>We have a short post this week, as many people are on vacation, including me. Unsurprisingly, no .NET user group has events for this week, so we&#8217;ll skip the section this time.<\/p>\n<p>As always, this weekly post couldn&#8217;t exist without community contributions, and I&#8217;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&#8217;d love to hear from you, and feature your contributions on future posts:<\/p>\n<ul>\n<li>Send an email to beleroy at Microsoft,<\/li>\n<li><a href=\"https:\/\/gist.github.com\/bleroy\/8662c1ee819d5e46ad04\">Comment on this gist<\/a><\/li>\n<li>Leave us a pointer in the comments section below.<\/li>\n<\/ul>\n<p>This week&#8217;s post (and future posts) also contains news I first read on <a href=\"http:\/\/www.asp.net\/\">ASP.NET&#8217;s community spotlight<\/a>, on <a href=\"https:\/\/sergeytihon.wordpress.com\/category\/f-weekly\/\">F# weekly<\/a>, on <a href=\"http:\/\/www.aspnetweekly.com\/\">ASP.NET Weekly<\/a>, and on <a href=\"http:\/\/themorningbrew.net\/\">Chris Alcock&#8217;s The Morning Brew<\/a>.<\/p>\n<p>To read last week&#8217;s post, see <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2015\/12\/22\/the-week-in-net-12-22-2015.aspx\">The week in .NET &#8211; 12\/22\/2015<\/a>.<\/p>\n<h2><a id=\"user-content-package-of-the-week-imageprocessor\" class=\"anchor\" href=\"#package-of-the-week-imageprocessor\"><\/a>Package of the week: ImageProcessor<\/h2>\n<p>Server-side image processing is important. You might need to dynamically generate image thumbnails to make a web site more reactive, or add watermarks on the fly, or create black-and-white versions of the photos in a gallery. In all those scenarios, you&#8217;ll need image processing, you&#8217;ll need it to be fast, with a good image quality, and in a concurrency-friendly package, because you&#8217;re running on the server.<\/p>\n<p>James South&#8217;s <a href=\"http:\/\/imageprocessor.org\/\">ImageProcessor<\/a> is one of the .NET libraries you can use. It&#8217;s open source, lightweight, fast, simple, multi-threading-friendly, and extensible. It also works on .NET Core (look: no GDI+ dependency).<\/p>\n<p>Here&#8217;s how you&#8217;d resize a JPEG image stream in memory to be 150 pixels wide, maintaining its aspect ratio, then send it to the output stream:<\/p>\n<p><script src=\"https:\/\/gist.github.com\/bleroy\/7c062d39dd1344459d5a.js\"><\/script><\/p>\n<p>Check out <a href=\"http:\/\/imageprocessor.org\/imageprocessor\/imagefactory\/\">the documentation for ImageFactory<\/a> and its awesome list of methods for more exciting treatments you can apply to your images.<\/p>\n<h2><a id=\"user-content-net-news\" class=\"anchor\" href=\"#net-news\"><\/a>.NET News<\/h2>\n<ul>\n<li><a href=\"http:\/\/www.hanselman.com\/blog\/ExploringTheNewNETDotnetCommandLineInterfaceCLI.aspx\">Exploring the new dotnet command-line interface<\/a>, by Scott Hanselman.<\/li>\n<li><a href=\"http:\/\/tirania.org\/blog\/archive\/2015\/Dec-22.html\">Mono&#8217;s Cooperative Mode for SGen GC<\/a>, by Miguel de Icaza.<\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/Events\/APAC-Influencer-Hero-2015\/Singapore-Influencer-Showcase\/01-Punit-Ganshani-DevOps-Build-Automation-with-VSTS--TFS-2015\">Cross Platform Build Automation with VSTS \/ TFS 2015<\/a>, by Punit Ganshani.<\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/Events\/APAC-Influencer-Hero-2015\/Singapore-Influencer-Showcase\/01-Punit-Ganshani-Packaging-your-libraries-with-NuGet\">Packaging Libraries with NuGet<\/a>, by Punit Ganshani.<\/li>\n<\/ul>\n<h2><a id=\"user-content-aspnet\" class=\"anchor\" href=\"#aspnet\"><\/a>ASP.NET<\/h2>\n<ul>\n<li><a href=\"http:\/\/blogs.msdn.com\/b\/abhinaba\/archive\/2015\/12\/22\/publishing-a-asp-net-5-web-application-to-iis-locally.aspx\">Publishing a ASP.NET 5 Web-Application to IIS Locally<\/a> by Abhinaba Basu.<\/li>\n<li><a href=\"http:\/\/dotnetliberty.com\/index.php\/2015\/12\/28\/asp-net-5-scoped-dependencies\/\">ASP.NET 5 scoped dependencies<\/a> by Armen Shimoon<\/li>\n<\/ul>\n<h2><a id=\"user-content-f\" class=\"anchor\" href=\"#f\"><\/a>F#<\/h2>\n<p>The F# community is writing a new blog post daily for this year\u2019s <a href=\"https:\/\/sergeytihon.wordpress.com\/2015\/10\/25\/f-advent-calendar-in-english-2015\/\">F# Advent Calendar in English<\/a>. Lots of great new posts to check out this week!<\/p>\n<ul>\n<li><a href=\"http:\/\/www.navision-blog.de\/blog\/2015\/12\/21\/adding-background-tasks-to-suave-io-websites\/\">Automatic Re-build and Background Tasks for Suave.io Websites<\/a>, by Steffen Forkmann.<\/li>\n<li><a href=\"http:\/\/theimowski.com\/blog\/2015\/12-21-property-based-testing-xslt\/index.html\">Property-based Testing XSLT<\/a>, by Tomasz Heimowski.<\/li>\n<li><a href=\"http:\/\/www.clear-lines.com\/blog\/post\/hacking-together-wbfacts-a-World-Bank-Twitter-Bot.aspx\">Hacking Together @wbfacts, a World Bank Twitter Bot<\/a>, by Mathias Brandewinder.<\/li>\n<li><a href=\"http:\/\/www.cylentware.com\/blog\/post\/F-Advent-Calendar-2015\">F# Advent Calendar 2015<\/a>, by Chad Boyer.<\/li>\n<li><a href=\"http:\/\/gettingsharper.de\/2015\/12\/23\/f-advent-2015-some-fun-with-lambda-calculus\/\">Some Fun with Lambda Calculus<\/a>, by Carsten K\u00f6nig.<\/li>\n<li><a href=\"http:\/\/troykershaw.com\/blog\/getting-started-with-signalr-fsharp-owin\/\">Getting Started with SignalR Using F# and OWIN<\/a>, by Troy Kershaw.<\/li>\n<li><a href=\"http:\/\/syntacticsalt.com\/2015\/12\/24\/comparing-trees-functionally\/\">Comparing Trees, Functionally<\/a>, by Matthew Sottile.<\/li>\n<li><a href=\"http:\/\/blogs.teamb.com\/craigstuntz\/2015\/12\/23\/38890\/\">Designing for Problems Too Big to Test<\/a>, by Craig Stuntz.<\/li>\n<li><a href=\"http:\/\/soulfiremage.github.io\/Advent2015.html\">Monogame Snowflakes<\/a>, by Richard Griffiths.<\/li>\n<li><a href=\"http:\/\/coding.fitness\/f-powered-realtime-dashboard\/\">F# Powered Real-time Dashboard<\/a>, by Louie Bacaj.<\/li>\n<li><a href=\"http:\/\/websharper.com\/blog-entry\/4665\/websharper-a-year-in-review\">WebSharper &#8211; A Year in Review<\/a>, by Adam Granicz.<\/li>\n<li><a href=\"http:\/\/www.chrisdobby.com\/?p=34\">F#, Minecraft, and a Raspberry Pi<\/a>, by Chris Dobson.<\/li>\n<li><a href=\"http:\/\/taylorwood.github.io\/2015\/12\/27\/youtube-comment-markov.html\">Generating Markov Text from YouTube Comments<\/a>, by Taylor Wood.<\/li>\n<li><a href=\"https:\/\/indy9000.github.io\/twitter-local.html\">Twitter Local<\/a>, by Indy Garcia.<\/li>\n<\/ul>\n<p>Check out <a href=\"https:\/\/sergeytihon.wordpress.com\/category\/f-weekly\/\">F# Weekly<\/a> for more great content from the F# community.<\/p>\n<p>And this is it for this week!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We have a short post this week, as many people are on vacation, including me. Unsurprisingly, no .NET user group has events for this week, so we&#8217;ll skip the section this time. As always, this weekly post couldn&#8217;t exist without community contributions, and I&#8217;d like to thank all those who sent links and tips. 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-5021","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>We have a short post this week, as many people are on vacation, including me. Unsurprisingly, no .NET user group has events for this week, so we&#8217;ll skip the section this time. As always, this weekly post couldn&#8217;t exist without community contributions, and I&#8217;d like to thank all those who sent links and tips. You [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/5021","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=5021"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/5021\/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=5021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=5021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=5021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}