Microsoft regains the "Creepy Spying Company" mantle
Microsoft now spies on your productivity in O365; lots of helpful packages abound this week around tough problems; and everyone is hung over from too much turkey.
Welcome to Last week in .NET; and last week was a holiday week so things will be lighter than usual.
📝 Matthew Jones talks about Expressions, Lambda, and Delegates in simple terms. Lambdas were one of the hardest concepts for me to learn; and 12 years later, I'm glad I did.
I still don't use Func<T> and Action<T> to the extent I've seen in other codebases; but that's because I don't want the maintenance programmer to hunt me down.
🔎 Why does JavaScript use 0 as January and 11 to denote December? Good @&*#ing question. Good news, is Hillel Wayne dove into old unix systems to find the answer. If you don't follow Hillel's work, you should.
🎥 David Fowler Deep Dives into the ASP.NET Core architecture. This is an incredible deep (and I mean deep) dive into the reasons why the ASP.NET Core framework behaves the way it does; provides a nice history of where we came from, and reiterates that the MVC framework is a framework for frameworks.
🎁 Do you write nuget packages? If so, you should know about the NuGetPackageExplorer. Also apparently it can help you find incorrect configurations for your packages
📝 Want to use C# 9 for your Xamarin projects? James Montamagno tells you how. For most of us, we're still waiting for .NET 6 MAUI to unify the runtimes.
📝 Dave A Brock shows you how to isolate and test your service dependencies in Blazor. This addresses one of my chief concerns about blazor; and it's good that there are people minding the testing store.
📢 Visual Studio for Mac 8.8 now supports NuGet 5.8 The dirty secret about Visual Studio for Mac is that it's MonoDevelop reskinned; and it has a long way to go to match the power of Visual Studio for Windows; but I'm glad for Microsoft putting effort into a Mac client.
📝 Do you like VB.NET, Winforms, and .NET 5 I'm sorry, I'm sorry, and good! Kidding aside; Winforms is still the way to build a line of business desktop application; and chances are if your business is at least 20 years old you have a lot of internal applications written in at least one of the three. Anyway, this blog post goes into how you can use all three together in .NET 5.
🎁 Versioning your .NET code doesn't have to suck. How many times have you created a custom build script to versioning your releases? Do you use Git? Do you want to stop writing custom code to do this thing that should be available out of the box? Andrew Arnott has your back with NerdBank.GitVersioning.
🕵️♂️ Microsoft wants to make sure your employer knows when you're working and when you're slacking off. Microsoft has added a feature to allow you to calculate "productivity scores" for your 'team members' in Office 365, and there's no word whether or not it compensates for productivity loss caused by Microsoft's own terrible UI choices.
😂 Immo Landwerth (PM on the .NET Team), makes a funny about Microsoft naming: "People still complain about the .NET Core naming. Just keep in mind that it's named by Microsoft so it's a miracle we didn't call it ".NET Framework without AppDomains, Remoting, and most of WCF but for multiple operating systems as long as you promise to run your cloud on Azure". Yea, that about sums it up.
📝 How to implement CSS Isolation in .NET 5's Blazor You now get "CSS Isolation" in blazor. What that really means is that now in Blazor, you can have CSS scoped to a component, just like in Angular (and probably other SPAs). This is a fundamental feature for SPAs, and I'm surprised it wasn't in 1.0. 🤯 Do you have Assembly version conflicts? Trick question: We all do. Good news is that there's an in-depth blog post that will help you resolve these issues and restore your sanity.
📝 Andrew Lock has a preview from his new book about how to apply the MVC design pattern to Razor Pages. It's a bit of shoehorning, but let's go with it.
📝 There's an F# newsletter out with what's new there F# is a great language; but I don't spend a lot of time in it.
📝 Scott Hanselmen shows you how to create a Self-Contained Deployment with Single file Publish and Winforms on .NET 5 This is crucial for Desktop applications and far overdue. I hope this rekindles interest in desktop applications.
There's a breaking bug change with .NET 5 and VB.NET that will cause you problems if you run into it. Be careful if you use VB.NET .? OR GreaterThan, And AndAlso; and my apologies to you if you're listening to this instead of reading it.
😂 There's a comic about Debugging tactics and how often we use them For some reason "The Ballmer Peak" wasn't listed. I consider this an error.
And that's what happened last week in .NET. It was the American Thanksgiving Holiday, and I hope you and yours enjoyed it. I'll see you next week.