Take One[Note]: Disorderly Sunset
Microsoft sunsets one of two onenotes. The rest is just gravy.
Microsoft sunsets OneNote, only to expand OneNote, and the .NET Compiler has a bit of chaos inside of it. Let’s get to it.
⛔✅ David Fowler, member of the .NET team, writes that “null checking in C# has gotten out of hand”. David’s right, of course, and a follow up tweet in that thread narrows it down to merely three methods to checking for null. Another day, another chance to tap the sign: Just because you can doesn’t mean you should. It’s felt like that ever since C# was de-coupled from the .NET Framework, the language has exploded with new syntax; and yes, while newly divorced people sometimes do go through a sowing phase, you reap what you sow.
🚫🍆 Announcing Code of Conduct Enforcement Services for member projects!. The .NET Foundation now provides CoC enforcement across all .NET Member projects. If you’re a dick in one place, you’re going to get banned from all the places. Don’t be a dick.
💳 Techbash Tickets are now onsale Appropos of the current delta variant issues, Techbash has also kindly responded to my request for information about cancellation:
If we cannot hold the event due to safety concerns, we’ll work with the Kalahari to handle the event cancellation and refunding as we did in 2020. However, our current plan is to continue to have a safe and fun event for all in October.
📹 Humans of Microsoft S02E01: Abel Wang You may know that ABel Wang passed away recently; but we are lucky enough to live in an age where we can hear his words even now. In this video Abel talks about life, health, and his favorite software project ever.
1️⃣1️⃣Top 11 things you can do to make your app great on Windows 11 This is a good list and it dovetails nicely with the design issues in windows 11 we spoke about previously. We never successfully got Winforms applications to be updated to WPF, and now suddenly we’re expecting three generations of old Windows applications to get updated to Windows 11. So long as software backwards compatibility remains paramount to Microsoft’s business arm, design will suffer.
🏃♂️ Install WSL with a single command now avialable in Windows 10 version 2004 and higher Now dropping Windows is just a command away. This reminds me of using Internet Explorer to install Chrome back in the day.
🐦 One thing I missed last week is that Random.Shared is available in .NET 6. Yes, a threadsafe Random API, as opposed to a threadsafe random API.
📃 There’s a List of Features available for all the C# versions; including what’s coming in C# 10 and C# Next and with no hint of irony at all towards the ample ways to check for null in C#, there’s a parameter null checking proposal.
⚡ There’s word that LINQ statements will be twice as fast in .NET 6 than they are in .NET 5. David focuses on performance so I have no reason to doubt his word, and apparently the benchmarks will be coming soon.
🚗 Rider 2021.2 has been released and it now includes Blazor WebAssembly debugging, support for removing redundant suppressions, support for refactorings in source generators, and lots more.
🙃 A helpful safety tip: Stick to the Beta channel if you’re on Windows 11 Preview, with the Dev channel you can’t go back.
🧵 Infoworld’s SImmon Bisson talks about project Coyote: a way to unit-test multithreaded asynchronous C# Code You can learn more about Coyote on its project site.
🔓 Some Infosec folks looked into the ‘base’ level security in Windows 365 and were… not impressed. From cleartext password dumps, and making everyone admin, it’s a little embarassing what the out of the box settings are.
🌇 Microsoft to Sunset OneNote for Windows 10, OneNote is the Future That sentence is not a typo. Apparently there were two different applications called OneNote, and now in the future there will be one. Also, Microsoft clarified that they are not building a third application called OneNote. Just ‘evolving’ the current applications.
💥 There seem to be no end to the ways pistachios can kill, suffocation, explosion, and fire, to spoil the lede.
💁♂️ If you’re running ASP.NET Core on IIS, make sure you’ve enabled the UriCacheModule. It’s recommended for ASP.NET Core deployments but is not enabled by default. Let’s pour one out for everyone still running ISAPI.
💁♂️ Marc Gravell reminds us that not even the compiler in .NET can reliably tell he declaration order of types or members. If your product depends on that being knowable, you’re in for a world of pain. It’s also worth noting that this knowledge is about as inside baseball as it gets; and yet at least one of you has written a hack to deal with it.
🥴 Semver doesn’t mean MAJOR.MINOR.PATCH, it means FAILS.FEATURES.BUGS. No, this has nothing to do with .NET, but it is insightful and funny.
And that’s it for what happened Last Week in .NET. I’m giving a free webinar on August 18, 2021 about Event Driven architecture: Bringing Order to Chaos. If you’re thinking about breaking up your monolith or moving to microservices, this talk is for you.