{"id":6585,"date":"2016-09-20T09:35:14","date_gmt":"2016-09-20T16:35:14","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/dotnet\/?p=6585"},"modified":"2021-09-30T11:51:00","modified_gmt":"2021-09-30T18:51:00","slug":"the-week-in-net-on-net-with-steeltoe-c-functional-extensions-firewatch","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/the-week-in-net-on-net-with-steeltoe-c-functional-extensions-firewatch\/","title":{"rendered":"The week in .NET: On .NET with Steeltoe &#8211; C# Functional Extensions &#8211; Firewatch"},"content":{"rendered":"<p>To read last week&#8217;s post, see <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/the-week-in-net-net-core-1-0-1-on-net-with-peachpie-avalonia-folk-tale\/\">The week in .NET: .NET Core 1.0.1 \u2013 On .NET with Peachpie \u2013 Avalonia \u2013 Folk Tale<\/a>.<\/p>\n<h2>On .NET<\/h2>\n<p>Last week, <a href=\"https:\/\/channel9.msdn.com\">we had David Morhovich and Zach Brown on the show to talk about Steeltoe<\/a>:<\/p>\n<p style=\"text-align: center;\"><iframe width=\"560\" height=\"315\" src=\"https:\/\/channel9.msdn.com\/player\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>This week, we&#8217;ll speak with <a href=\"http:\/\/sebastienros.com\/\">S\u00e9bastien Ros<\/a> about <a href=\"https:\/\/github.com\/orchardcms\/orchard2\">Orchard 2<\/a>, the new version of the .NET CMS that can run on .NET Core. The show begins at 10AM Pacific Time <a href=\"https:\/\/channel9.msdn.com\/Shows\/On-NET\">on Channel 9<\/a>. We&#8217;ll take questions on Gitter, on <a href=\"https:\/\/gitter.im\/dotnet\/home\">the dotnet\/home channel<\/a>. Please use the <code>#onnet<\/code> tag. It&#8217;s OK to start sending us questions in advance if you can&#8217;t do it live during the show.<\/p>\n<h2>Package of the week: C# Functional Extensions<\/h2>\n<p><a href=\"https:\/\/github.com\/louthy\/language-ext\">C# functional extensions<\/a> is a project that adds common functional patterns such as tuples, option types, monads, easier Lambda declaration: <code>var add = fun( (int x, int y) =&gt; x + y );<\/code>, or even pattern matching. It also implements &#8220;Erlang-like&#8221; concurrency, which is based on the concept of <a href=\"https:\/\/en.wikipedia.org\/wiki\/Agent-oriented_programming\">agents<\/a> communicating through messages.<\/p>\n<p><script src=\"https:\/\/gist.github.com\/bleroy\/979a68b397080726d8966d98624ab25f.js\"><\/script><\/p>\n<h2>Game of the Week: Firewatch<\/h2>\n<p><a href=\"http:\/\/www.firewatchgame.com\/\">Firewatch<\/a> is a visually beautiful, story driven adventure game. The story takes place in 1989, where you witness a mystery that pulls you out of the sanctity of your lookout post and into the wilderness to investigate. Explore the Wyoming wilderness as Henry, a man who has retreated from his messy life to work as a fire lookout. Your only human interaction while you investigate is your supervisor, Delilah, who is available at any time over a handheld radio.<\/p>\n<p><a href=\"https:\/\/cloud.githubusercontent.com\/assets\/4108756\/18677136\/aae1b34c-7f0c-11e6-8114-b9ac4c95e01d.jpg\"><img decoding=\"async\" style=\"width: 800px; max-width: 100%;\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2016\/09\/aae1b34c-7f0c-11e6-8114-b9ac4c95e01d.jpg\" alt=\"Firewatch\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.firewatchgame.com\/\">Firewatch<\/a> was created by Campo Santo using <a href=\"https:\/\/unity3d.com\/\">Unity<\/a> and <a href=\"https:\/\/channel9.msdn.com\/Series\/C-Sharp-Fundamentals-Development-for-Absolute-Beginners\">C#<\/a>. It is available on PlayStation 4, Windows, Mac and Linux (via Steam and Good Old Games) and will release for the Xbox One on September 21, 2016.<\/p>\n<h2>User group meeting of the week: PerfView and Warden in Wroc\u0142aw, Poland<\/h2>\n<p>Tonight at 6:30 in Wroc\u0142aw, Poland, <a href=\"http:\/\/www.meetup.com\/wrocnet\/\">the Wroc\u0142aw .NET User Group<\/a> has <a href=\"http:\/\/www.meetup.com\/wrocnet\/events\/232697053\/\">a meeting<\/a> where Michal Malecki and Piotr Gankiewicz will talk about PerfView and Warden.<\/p>\n<h2>.NET<\/h2>\n<ul>\n<li><a href=\"http:\/\/www.hanselman.com\/blog\/SelfcontainedNETCoreApplications.aspx\">Self-contained .NET Core Applications<\/a> by Scott Hanselman.<\/li>\n<li><a href=\"https:\/\/jeremydmiller.com\/2016\/09\/14\/marten-1-0-is-here\/\">Marten 1.0 is Here!<\/a> by Jeremy D. Miller.<\/li>\n<li><a href=\"https:\/\/oren.codes\/2016\/09\/12\/authenticode-signing-service-and-client\/\">Authenticode Signing Service and Client<\/a> by Oren Novotny.<\/li>\n<li><a href=\"https:\/\/blogs.windows.com\/buildingapps\/2016\/09\/12\/creating-beautiful-effects-for-uwp\/#zdYK2PhlbZc1R6EE.97\">Creating Beautiful Effects for UWP<\/a> by Michael Crump.<\/li>\n<li><a href=\"http:\/\/mattwarren.org\/2016\/09\/14\/Subverting-.NET-Type-Safety-with-System.Runtime.CompilerServices.Unsafe\/\">Subverting .NET Type Safety with &#8216;System.Runtime.CompilerServices.Unsafe&#8217;<\/a> (NSFW in a completely new sense of the term) and <a href=\"http:\/\/mattwarren.org\/2016\/09\/19\/Compact-strings-in-the-CLR\/\">Compact strings in the CLR<\/a> by Matt Warren.<\/li>\n<li><a href=\"http:\/\/www.talkingdotnet.com\/use-hilo-to-generate-keys-with-entity-framework-core\/\">Use HiLo to generate keys with Entity Framework Core<\/a> by Talking Dotnet.<\/li>\n<li><a href=\"https:\/\/github.com\/jbe2277\/waf\/wiki\/Exception-Handling\">Asynchronous Programming &#8211; Exception Handling<\/a> by jbe2277.<\/li>\n<li><a href=\"http:\/\/vmtri.com\/a-first-look-at-entity-framework-core-with-sqlite-database-on-ubuntu-linux\/\">A first look at Entity Framework Core with SQLite database on Ubuntu Linux<\/a> by V\u00f5 Minh Tr\u00ed.<\/li>\n<li><a href=\"http:\/\/blog.plasticscm.com\/2016\/09\/using-peerfinder-from-console-wi-fi.html\">Using PeerFinder from Console: Wi-Fi Direct data transfer in C#<\/a> by PlasticSCM.<\/li>\n<li><a href=\"http:\/\/thenewstack.io\/graph-database-neo4j-net-client\/\">Graph Database with Neo4j and a .NET Client<\/a> by Chris Skardon and Michael Hunger.<\/li>\n<\/ul>\n<h2>ASP.NET<\/h2>\n<ul>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2016\/09\/19\/custom-asp-net-core-middleware-example\/\">Custom ASP.NET Core Middleware Example<\/a> by Mike Rousos.<\/li>\n<li><a href=\"http:\/\/www.peachpie.io\/2016\/09\/coretesting.html\">Peachpie: What Difference Does the &#8216;Core&#8217; Make?<\/a> by Benjamin Fistein.<\/li>\n<li><a href=\"http:\/\/andrewlock.net\/configuring-environment-specific-services-in-asp-net-core-part-2\/\">Configuring environment specific services in ASP.NET Core &#8211; Part 2<\/a>, <a href=\"http:\/\/andrewlock.net\/html-minification-using-webmarkupmin-in-asp-net-core\/\">HTML minification using WebMarkupMin in ASP.NET Core<\/a>, and <a href=\"http:\/\/andrewlock.net\/viewing-whats-changed-in-asp-net-core-1-0-1\/\">Viewing what&#8217;s changed in ASP.NET Core 1.0.1<\/a> by Andrew Lock.<\/li>\n<li><a href=\"https:\/\/devblog.dymel.pl\/2016\/09\/08\/aspnet-core-with-angular2-tutorial\/\">ASP.NET Core with Angular2 &#8211; tutorial<\/a> by Micha\u0142 Dymel.<\/li>\n<li><a href=\"https:\/\/carlos.mendible.com\/2016\/09\/19\/step-step-serilog-asp-net-core\/\">Step by step: Serilog with ASP.NET Core<\/a> and <a href=\"https:\/\/carlos.mendible.com\/2016\/09\/11\/netcore-and-microsoft-bot-framework\/\">.NET Core and Microsoft Bot Framework<\/a> by Carlos Mendible.<\/li>\n<li><a href=\"http:\/\/dotnetliberty.com\/index.php\/2016\/09\/19\/aws-dynamodb-on-net-core-getting-started\/\">AWS DynamoDB on .NET Core: Getting Started<\/a> by Armen Shimoon.<\/li>\n<li><a href=\"http:\/\/jameschambers.com\/2016\/09\/Bending-ASP-NET-MVC-Core-To-Your-Will\/\">Bending ASP.NET Core MVC To Your Will<\/a> by James Chambers.<\/li>\n<li><a href=\"http:\/\/dkbe.ch\/post\/include-user-properties-in-identityserver4-with-asp-net-core-identity\">Include user properties in IdentityServer4 with ASP.NET Identity<\/a> by David Keller.<\/li>\n<li><a href=\"https:\/\/damienbod.com\/2016\/09\/16\/full-server-logout-with-identityserver4-and-openid-connect-implicit-flow\/\">Full Server logout with IdentityServer4 and OpenID Connect Implicit Flow<\/a> by Damien Bowden.<\/li>\n<li><a href=\"https:\/\/wannabeegeek.com\/2016\/09\/09\/getting-started-with-ef-core-sqlite-asp-net-core-web-api-on-mac\/\">Getting started with EF Core + Sqlite + Asp.Net core Web api on Mac<\/a> by Swaminathan Vetri.<\/li>\n<li><a href=\"https:\/\/www.exceptionnotfound.net\/real-world-cqrs-es-with-asp-net-and-redis-part-3-the-read-model\/\">Real-World CQRS\/ES with ASP.NET and Redis Part 3 &#8211; The Read Model<\/a>, <a href=\"https:\/\/www.exceptionnotfound.net\/real-world-cqrs-es-with-asp-net-and-redis-part-4-creating-the-apis\/\">Part 4 &#8211; Creating the APIs<\/a>, and <a href=\"https:\/\/www.exceptionnotfound.net\/real-world-cqrs-es-with-asp-net-and-redis-part-5-running-the-apis\/\">Part 5 &#8211; Running the APIs<\/a> by Matthew Jones.<\/li>\n<\/ul>\n<h2>F#<\/h2>\n<ul>\n<li><a href=\"http:\/\/evelinag.com\/ExploringStackOverflow\/#\/\">Exploring StackOverflow [with F#]<\/a>, by Evelina Gabasova.<\/li>\n<li><a href=\"https:\/\/technicalitee.blogspot.com.by\/2016\/09\/langtons-ant-in-f.html\">Langston&#8217;s Ant in F#<\/a>, by Ram.<\/li>\n<li><a href=\"https:\/\/developer.xamarin.com\/guides\/cross-platform\/urho\/fsharp-and-urhosharp\/\">Programming UrhoSharp with F#<\/a>, by Xamarin.<\/li>\n<li><a href=\"http:\/\/red-green-rewrite.github.io\/2016\/09\/14\/Use-apply-and-carry-on\/\">Use apply and carry on<\/a>, by Milosz Krajewski.<\/li>\n<li><a href=\"https:\/\/medium.com\/@odytrice\/f-series-building-real-world-applications-in-f-b45b62ac653d#.7yzhd17dx\">F# Series: Building Real-World Applications in F#<\/a>, by Ody Mbegbu.<\/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<h2>Xamarin<\/h2>\n<ul>\n<li><a href=\"https:\/\/blog.xamarin.com\/major-updates-ios-10-android-nougat-and-other-tasty-bits\/\">Major Updates: iOS 10, Android Nougat, and Other Tasty Bits<\/a> by Miguel de Icaza.<\/li>\n<li><a href=\"https:\/\/releases.xamarin.com\/stable-release-cycle-8-w-ios-10-and-xcode8-support\/\">Xamarin Stable Release: Cycle 8 with iOS 10 and Xcode 8 Support<\/a> and <a href=\"https:\/\/releases.xamarin.com\/preview-xamarin-profiler-0-34-1\/\">Xamarin Preview: Xamarin Profiler 0.34.1<\/a> by Adrian Murphy.<\/li>\n<li><a href=\"https:\/\/blog.xamarin.com\/testing-ios-10-in-xamarin-test-cloud\/\">Testing iOS 10 in Xamarin Test Cloud<\/a> by John Lago.<\/li>\n<li><a href=\"https:\/\/blog.xamarin.com\/introducing-the-azure-track-in-xamarin-university\/\">Introducing the Azure Track in Xamarin University<\/a> by Bryan Costanich.<\/li>\n<li><a href=\"https:\/\/blog.xamarin.com\/preparing-for-native-library-linking-changes-in-android-n\/\">Preparing for Native Library Linking Changes in Android N<\/a> and <a href=\"http:\/\/motzcod.es\/post\/150380059392\/preparing-machines-for-xamarin-cycle\">Preparing Machines for Xamarin Cycle 8 \/ iOS10 \/ Android N<\/a> by James Montemagno.<\/li>\n<li><a href=\"https:\/\/blog.xamarin.com\/podcast-ios-10-iphone-7-apple-watch-series-2-and-more\/\">Xamarin Podcast: iOS 10, iPhone 7, Apple Watch Series 2, and more!<\/a> by Pierce Boggan.<\/li>\n<li><a href=\"http:\/\/jesseliberty.com\/2016\/09\/13\/yet-another-podcast-163-james-montemagno-and-xamarin-cycle-8\/\">Yet Another Podcast #163: James Montemagno and Xamarin Cycle 8<\/a> by Jesse Liberty.<\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/visualstudioalm\/2016\/09\/13\/team-services-september-extensions-roundup-app-stores\/\">VSTS September Extensions Roundup \u2013 App Stores!<\/a> by Joe Bourne.<\/li>\n<li><a href=\"https:\/\/xamarinhelp.com\/access-a-control-method-from-a-viewmodel\/\">Access a Control Method from a ViewModel<\/a> by Adam Pedley.<\/li>\n<li><a href=\"https:\/\/elbruno.com\/2016\/09\/13\/hololens-now-xamarin-devs-can-create-hololens-apps\/\">Now Xamarin Devs can create Hololens Apps!<\/a> by Bruno Capuano.<\/li>\n<li><a href=\"https:\/\/github.com\/martijn00\/LoaderViewXamarin\">LoaderViewXamarin &#8211; Loading animations for Android TextView and ImageView elements<\/a> by Martijn van Dijk.<\/li>\n<\/ul>\n<h2>Azure<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.dougv.com\/2016\/09\/serving-static-content-azure-storage-content-delivery-network-setup\/\">Serving Static Content From Azure Storage: Content Delivery Network Setup<\/a> by Doug Vanderweide.<\/li>\n<\/ul>\n<h2>Games<\/h2>\n<ul>\n<li><a href=\"http:\/\/darkgenesis.zenithmoon.com\/monogame-building-multi-platform-solutions\/\">MonoGame \u2013 Building multi-platform solutions<\/a> by Simon Jackson.<\/li>\n<li><a href=\"https:\/\/theadrainblog.wordpress.com\/2016\/09\/15\/zelda-style-screen-transitions-in-unity\/\">Tutorial \u2013 Zelda style screen transitions in Unity<\/a>.<\/li>\n<li><a href=\"http:\/\/www.crytek.com\/blog\/seeing-is-deceiving-your-brain-and-vr\">Seeing Is Deceiving: Your Brain and VR<\/a>.<\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/Shows\/Level-Up\/Episode-22-MonoGame\">Episode 22: MonoGame (video)<\/a> by Katie Stone Perez.<\/li>\n<li><a href=\"https:\/\/blogs.unity3d.com\/2016\/09\/19\/in-beta-animation-window-workflows\/\">Unity: In Beta &#8211; Animation Window Workflows<\/a> by Will Goldstone.<\/li>\n<li><a href=\"http:\/\/devdog.io\/blog\/2016\/09\/9-best-unity-tips-for-game-developers-13\">Curated #UnityTips No. 13<\/a> by DevDog.<\/li>\n<li><a href=\"https:\/\/kylewbanks.com\/blog\/unity-make-camera-follow-player-smoothly-and-fluidly\">Unity: Make the Camera Follow a Player (or any GameObject) Smoothly and Fluidly<\/a> by Kyle W. Banks.<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=V0dwkrS6CoI\">Unity: Terrain Generation Part 1(2)- Viking Game #2 (video)<\/a> by System Cult.<\/li>\n<\/ul>\n<p>And this is it for this week!<\/p>\n<h2>Contribute to the week in .NET<\/h2>\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. The F# section is provided by Phillip Carter, the gaming section by Stacey Haffner, and the Xamarin section by Dan Rigby.<\/p>\n<p>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?\nWe&#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\/3459f8817743bffaa26a5dd58682fe9e\">comment on this gist<\/a><\/li>\n<li>Leave us a pointer in the comments section below.<\/li>\n<li><a href=\"https:\/\/twitter.com\/yecats131\">Send Stacey (@yecats131) tips on Twitter about .NET games<\/a>.<\/li>\n<\/ul>\n<p>This week&#8217;s post (and future posts) also contains news I first read on <a href=\"https:\/\/blogs.msdn.microsoft.com\/webdev\/tag\/communitystandup\/\">The ASP.NET Community Standup<\/a>, on <a href=\"http:\/\/weeklyxamarin.com\/\">Weekly Xamarin<\/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","protected":false},"excerpt":{"rendered":"<p>To read last week&#8217;s post, see The week in .NET: .NET Core 1.0.1 \u2013 On .NET with Peachpie \u2013 Avalonia \u2013 Folk Tale. On .NET Last week, we had David Morhovich and Zach Brown on the show to talk about Steeltoe: This week, we&#8217;ll speak with S\u00e9bastien Ros about Orchard 2, the new version of [&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-6585","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>To read last week&#8217;s post, see The week in .NET: .NET Core 1.0.1 \u2013 On .NET with Peachpie \u2013 Avalonia \u2013 Folk Tale. On .NET Last week, we had David Morhovich and Zach Brown on the show to talk about Steeltoe: This week, we&#8217;ll speak with S\u00e9bastien Ros about Orchard 2, the new version of [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/6585","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=6585"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/6585\/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=6585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=6585"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=6585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}