Folgen
-
Two years of simmering discord came to a head last week as the .NET OSS maintainers openly revolted against the .NET Foundation for years of non-communication, the Executive Director resigned, and newly elected board members are left to pick up the pieces.
It was a wild week.
First, there was some discord due to the .NET Foundation saying a board member left āfor personal reasonsā when in reality they left due to the nature of the .NET Foundation itself.
Second, during this brouhaha and when finding out the Executive Director merged a PR without communicating, the .NET community learned that their projects were moved to the Foundationās Github Enterprise account without their consent, that the DNFAdmin service account was basically a trojan horse (an actual Trojan Horse, not the virus variety), and that even if they signed the ācontributor modelā contracts, they may not own their own projects.
As I said, it was a wild week.
So, the Executive Director apologized, not for the lack of communication, or moving the projects to the .NET Foundationās Github Enterprise account, or misstating why Rodney Littles II left the board, or for the fact that the foundation has not been up front with what it means to have a project join the .NET Foundation, but forā¦ forcing through a PR on a project that the foundation ostensibly owned.
Naturally members of the community asked for the Executive Directorās resignation, and they got it. And we sit, a few days later, watching more communication from a single member of the board than we had from entire previous Boards of Directors, particularly around most of the painpoints the community mentioned previously. One of the board members spoke up during the incident but said nothing of consequence, except to say, āLikewise, I think that the community and projects may have not understood what they were agreeing to when they were brought under the .NET Foundation umbrella.ā. Thatās what we in the biz like to call an understatement. Iām also not the only person to call this entire thing a brouhaha.
And since Iām writing this newsletter, I get to have my say.
I donāt think Claire Novotny should have resigned as the Executive Director of the .NET Foundation. I believe her to be a scapegoat for the structural issues the .NET Foundation has, as Iāve written about and spoken about previously. Weāve had entire Boards of Directors come and go from the .NET foundation with nary a peep from them in public about their work, no after-action review or postmortem, nothing outside of their initial interview to become a member of the Board of Directors.
I believe if anyone should resign, it should be the Boards of Directors. They ultimately are responsible for what the Executive Director and what the .NET Foundation does, and while half the board is fresher than a prince from Bel-air, the other half arenāt, and in some form of irony, itās only the new people who are speaking out. I think theyāre Good People, but they either have no idea what theyāre doing or they havenāt seen and felt the issue simmering for the last few years, in which case they most assuredly shouldnāt be representing the community in the .NET Foundation.
It really all comes back to a single question: What does the .NET Foundation do? or, taken further: Why does the .NET Foundation exist?. We havenāt really gotten an answer to that question yet; especially the vague ācommercially friendlyā mission statement.
Iām willing to bet the Board of Directors havenāt been taking minutes for their daily meetings over the past week, even though the bylaws require them to, and so Iāve taken to asking that the bylaws be amended to require that the minutes are shared for review by the membership of the foundation.
If the .NET foundation is going to exist, then itās going to have a vision and a purpose. If you care about .NET and the future of .NET, you should be right there, holding their feet to the fire. Otherwise weāre going to get what weāve always got, a mono-culture that seeks to fulfill Microsoftās whims about .NET; not what the actual OSS community wants or needs of .NET.
With that bit of news in the can, letās see what else happened Last Week in .NET:
šš„Facebook went down, and of course since it wasnāt DNS it had to be BGP. Honestly I canāt explain BGP to you. Iād like to, but I canāt. Back in the day when I was building a product to discover and map legacy networks, a network engineer took me aside to explain BGP to me and the nightmares didnāt stop for weeks. Iāve since blocked out most of it except for āitās a way for networks to tell other networks how to route to themā. Itās astonishing that anything works and that we arenāt all finding a desert island to inhabit, away from people and technology.
š§ Maybe because of, but certainly related to in some form, I learned what a Basil Hayden Old Fashioned was from Adam Rackis, and it sounds delicious. Also if youāre making Old Fashioneds in your kitchen and you have a gas stove, you can use the burner to burn the inside and outside of the orange peel, which apparently helps with the flavors of the orange.
š¦ Either SQL is old or SQL is new again and I canāt figure out which because C# 9 loves some SQL keywords like is, or, and and. If a C# developer fell asleep between 2013 and 2022 theyāre gonna be really confused as to the language they came back to.
š I did it before it was cool, but Jetbrains released their .NET Annotated Monthly for October 2021, and if you really want a list of links in a monthly format, you could read this list, or just wait and not read LWiDN for a month and read it all at once.
š The iPhone 13 can finally photograph dark-skinned folks. This is why diversity in tech matters. 14 years of phone-based cameras for non-white people to get good photos. Thatās far too long.
šØ The Register covered Rodney Littles resignation from the .NET Board. They have also previously covered other tech issues like the various Stack Overflow community brouhahas. Itās still weird to me to see inside baseball topics show up in ātraditional journalismā that I have to assume that they just have people devoted to these topics.
šš¦The CVP for the Windows Developer Platform writes a blogpost on Developing for Windows 11, and because irony is dead, writes that āWindows 11 was built to unlock the full power of the PCā. Because Windows 1 through 10 werenāt?
ā£ Did you know there was an alternative to Windows Explorer? I did not. Well version 2 of this alternative is out.
š§ They moved your cheese in .NET 6 New project templates wonāt include the ceremony you remember. Theyāll just have the new Minimal API templates because some people just like to watch the world burn.
If you want the old style templates, select .NET 5 when looking for Templates to get the āoldā templates back.
š§ŗ Implicit Usings in .NET 6 With this change you can now use a namespace that isnāt referenced by your .cs file; and so if you want any hope of figuring out where a namespace is from youād better use an IDE because a text editor canāt tell you. This is a brilliant idea if your goal is to reinforce the necessity of an IDEā¦ like Visual Studio.
š¤Æ A look at the upcoming improvements to LINQ in .NET 6. Thereās Chunking, Range Support, a new Zip Overload, and much, much more.
š The WinAppSDK team is actively looking for developer input. Better give it while the giving is good or youāll just have to go back to Microsoft Connect and wait for them to ignore your issues for years until they finally just shut down the platform.
š¹ Dotnetos Conference 2021 carried a talk by Jared Parsons on performance features in C#. I donāt know how to pronounce Dotnetos, sooo. sorry.
š¹ Maoni Stephens does a deep dive from A .NET Object from allocation to collection. Any time Maoni speaks, you should watch it. Itās good stuff.
š Mads Torgersen talks C# 10 and Iām starting to feel MCUād out on the whole C# version number thing.
š„ And because we need a little fun in our lives, Corey Quinn shares ancient SysAdmin wisdom. Remember when SysOps were a thing? Those were the good olā days.
I hesitate to say thatās it for what happened Last Week in .NETā¦ But thatās the standard way to close this thing out, so there you go. See you next week.
-
VC that sells attention for NFTs wants you to buy NFTs. The .NET foundation decides to force its operations on member projects, and the Microsoft Store really really wants you to use the Microsoft Store. Please. Thank you.
-
Fehlende Folgen?
-
Patch Tuesday gets delayed for more fixes, the word 'themes' now means 'new color schemes', and Microsoft releases a video called that's two minutes long filled with 8 new products... Or two minutes of 8. Not a really bright idea, that.
-
Arcade == .NET Foundation build tooling; .NET 6 RC 1 is out; and you can now specify what repositories to pull your nuget packages from -- individually.
-
The 20th anniversary of the September 11th attacks is commemorated, Minimal APIs bet maximum attention, and technologies as old as it gets should be Good Enough For Everyone, says Linux Torvalds.
-
Windows 11 is coming October 5th; .NET Gets a plan for Deep Learning; and Techbash 2021 has been postponed.
-
The biggest news this week (and will likely trump any sort of news for the next couple of weeks in the Microsoft space) is that Azure has a vulnerability dubbed āChaosDBā that exposed its customers keys to the world, leaving every single CosmosDB customerās database data exposed for the taking. Thereās a technical deep-dive into this vulnerability as well. I hope the Azure team is wearing their brown pants.
This is as bad as it gets. Good news though! They gave out a bounty of $40,000 to the finder of this vulnerability. Which values this vulnerability as akin to a Tesla Model 3 ā and not even a fully decked out one.
Apply rounded corners in desktop apps for Windows 11. In some cases, rounded corners will be applied to your applications automatically, in others, hereās what you can do to make them rounded. As Apple intended.Razer Bug lets you become a Windows 10 admin by plugging in a mouse. This is a pretty easy exploit toā¦ well.. exploit, so if youāre using Razer mouses in a corporate context, you may want to rethink that decision.The real names of features in Visual Studio. Itās a bit inside baseball, but still a wonderful walkthrough.David Fowler writes to tell us that New .NET 6 APIS [are] driven by the developer community. In this blog post, David details new APIs available in .NET 6, and highlights the fact that well, they were authored by members of the community. Iām a fan of Parallel.ForEachAsync, as that seems rather useful for my needs.This is your warning: Get out of the Dev Channel for Windows 11 unless you want to experience some turbelance. If you want stability, use the beta channel or get out of the insider program entirely. If you want to see new builds of Windows 11 that may have the stability of Windows Vista, stay in the Dev channel.Nicole Miller-Abuhakmeh is the new Community Manager for the .NET Foundation. This is a wonderful choice for CM, congrats Nicole and the .NET foundation.Looks like thereās another tactic available to exploit Proxyshell vulnerabilities. A few weeks ago, a researcher showed off an exploit of Microsoft Exchange Server dubbed āProxyShellā and it seems like the gift that keeps on giving to attackers. Bottom line: keep your Exchange servers up to date.In .NET 6, FirstOrDefault(), LastOrDefault() and SingleOrDefault() now letās you specify a default value. Sadly it has to be a compile-time constant so you canāt have something like new Random().Next() available.Microsoft Ignite is November 2-4, 2021 and is virtual again this year because people canāt bother to vaccinate.Githubās Copilot can get you in trouble 40% of the time and if youāre the type to use AI to write code, maybe you deserve to have problems.Using SignalR in your Blazor applications This is an nice pairing of technologies. Like Chardonnay and Brie, or Hotdog and Chili. Ketchup is forbidden, Mustard is recommended, however.
And I say this with a twing of irony, but thatās it for what happened Last Week in .NET.
-
No releases this week; but lots of interesting tidbits nonetheless. If you read just one article this week, check out āThe Myth of the Treasure Foxā. Link below, of course.
Get the Drop on Sorting. Kevlin Henney does a deep dive on the drop-sort, a sorting algorithm that sorts by dropping elements in the collection. This is not as useless as it immediately appears, and Kevlin explains why. Itās engaging and informative.In a screenshot that is strangely alluring Maarten shows off what VB looks like in the brave new world of .NET 6, with a pattern based XML Literal. If I were to rate VB on this screenshot alone, Iād give it a 12/10. Having worked in VB, I give it a 4/10. Itās slightly ahead of the readability of JavaScript 5, and slightly behind Python. These ratings are final.Chat Wars! How microsoft tried (and failed) to keep MSN compatibility with AIM. If AIM and MSN were still alive, theyād have graduated college by now and be grumbling about the state of the job market. I mean, they unemployed, strictly speaking, with AIM having been retired in 2017, and MSN Messenger having been retired in 2014..NET 5 Support of Azure Functions OpenAPI Extension Yes, now Azure Functions support .NET 5 for OpenAPI Extensions. If you, like me, have no idea what that is, then this blog post isnāt for you! (Itās becoming increasingly clear that these blog-posts with keyword laden titles are there to help hit some sort of internal Microsoft KPI related to pushing Azure). āGeorge, youāre being unfair!ā, I can hear you say. If Iām being unfair, then why arenāt these blog post titles telling you the outcomes they can help you acheive, instead of keywords of processes related to their own products?No, NVidia Didnāt Fool Everyone with a Computer-Generated CEO In case you missed this, NVidia used a Computer Generated capture of its CEO for a short scene in its presentation, but their initial blog post on the subject made it seem like they used the CGād CEO throughout. Itās still impressive, bu tnot nearly as impressive as initially made out to be.Microsoft revamps Visual Studio JavaScript projects in forthcoming version. Visual Studio will now rely on whatever the āsystemā has installed for JavaScript frameworks when creating a new JavaScript-ish project in Visual Studio 2022. I assume it will work seamlessly with things like nodeenv and other virtual environments, and if it doesnāt that would be a bit embarassing, wouldnāt it?.NET Optional SDK Workloads This came about because I saw the word āworkloadā in reference to .NET, and had no idea what it meant. It means a way to extend the SDK to do other things than itās meant to. I canāt figure out if this is a public thing (you too can write extensions for the SDK) or if this is a Microsoft Only addition, or who this is even for.A Decade Later, .NET Developers Still Fear being āSilverlightedā by Microsoft. Killing Silverlight was the closest thing .NET Developers had to experiencing the Red Wedding. An entire developer stack killed overnight. I donāt claim thereās any sort of āguest rightā when it comes to Technology Stacks, but thereās a certain amount of creative destruction taking place that Microsoft was not known for previously. They have several hundred projects to kill to even get close to Googleās bloodthirstiness. There are, of course, differing views, as is the norm on Twitter.Async code has signficantly less overhead using .NET 5 compared to .NET Core 3.1. Screenshots of the benchmarks in the link if you like that sort of thing.The myth of the treasure fox in Skyrim. This is why I love twitter. You learn things youād otherwise never hear about. I wonāt spoil the story for you, but itās worth your time to read.Introducing DevOps-Friendly EF Core Migration Bundles. DevOps here means āDeploying your code easilyā and has nothing to do with Azure DevOps (either Azure DevOps On-Prem, or Azure DevOps on Azure ā and no, Iām never letting Microsoft live that atrocious naming down). Anyway, The EF Core team has made it easier to run database migrations in a CI environment.Highlights from Git 2.33. The news here is that git now has a new rewritten and faster merge strategy called merge-ort. To try it out (itās not the default yet), you can use the command git merge -s ort when merging two branches in git. The -s ort is some sort of a cruel joke, I think. Or at least proof that no one talks their way through commands any more. Can you imagine telling someone with your mouth-words how to do it? āType g i t space dash s space o r tā.Performance Improvements in .NET 6. If you like performance blog posts and you tolerate IL, this blog post is for you. As deep a dive as youāll get on just what performance improvements have been made in .NET 6, and what it looks like under the covers.Visual Studio 2022 Preview 3 offers a new breakpoint context menu to set advanced breakpoints more easily. If you donāt use advanced breakpoints, theyāre quite magical to improving productivity when debugging ā like setting a breakpoint after a specific number of times, or setting conditional breakpoints.In the āWe canāt help being evilā department, Itās harder to switch default browsers in Windows 11. Besides the tweet, thereās an in-depth article about it on the verge, and what that means for us. Since 90s clothing is come back in style, I suppose 90s monopoly practices should too? You can now have global using static <class>.. This is a great idea. I mean, globals are already a time-honored programmer tradition, and of course seeing methods being called that you have to have an IDE to trace is a wonderful idea.
And thatās it for what happened last week in .NET. It was a light week; but as we get closer to November (and .NET 6), we should see more releases.
-
Releases
š® Magick.NET 8.2.0 has been released which is an image manipulation library for .NET.
š¢ Windows App SDK 1.0.0-experimental has been releasedand Kevin Gallo attended the App Development Community STandup to underscore why itās an important release. The release notes tout several experimental features, push notifications and windowing improvements.
š¢ Visual Studio 2022 Preview 3 now available! This preview release includes improvements to the Dark Theme, added new JavaScript and TypeScript project types, and because of course they did, easier one click publishing to Azure DevOps.
š¢ Announcing .NET 6 Preview 7. Thereās new .NET SDK templates that use the latest C# features and now thereās literally a one line console application template. Everyone wants to be like Perl.
š¢ .NET 5.0.9 has been released. There are several CVEs resolved in this release, including CVE-2021-34485, an information disclosure vulnerability related to crash dumps, CVE-2021-26423, a Denial of Service Vulnerability, and CVE-2021-34532 which is an ASP.ENT Core Information Disclosure Vulnerability, this time areound logging JWT tokens that are unparsable.
š¢ .NET Core 3.1.18 has been released and these same vulnerability were backported from .NET 5 to this release.
š Github Codespaces has been released and you can access it from any repository by pressing the period key. Yes, launch a Visual Studio Code instance, in your browser, already targetting a repository with a single keypress. Thatās pretty remarkable and allows me to forgive the many sins JavaScript committed.
News and Notes
šāāļø Microsoft abandons semi-annual releases for Windows Server. Opting instead for the āYou can have frequent updates if you want to use Azureā which already fills this weekās bingo for requiring Azure needlessly because itās on someoneās KPI. Joking aside, this is a dive into marrying frequent Windows Server updates with using Azure HCI (Hyper Converged Infrastructure), and it appears that Windows Container updates will now be married to that same infrastructure. Just as well, I suppose since outside of Azure, Windows containers are as rare as an honest politician.
ā Microsoft deprecated the Snipping Tool, and asked everyone top move to Snip/Sketch and now they renamed Snip/Sketch to Snipping tool, and weāve once again been reminded that naming is hard for Microsoft.
š¹ Aaron Stannard is hosting a webinar called āIntroduction to Akka.NET Streamsā on August 27th. If youāre interested but your dance card is full on the 27th, you can register and watch later.
š£ .NET Conf is November 9th-11th, 2021 and the CFPs are open. As usual Iāll be live-tweeting the interesting bits of the conference.
š Jetbrains is celebrating the release of 2021.2 of Resharper and Rider with a ā¦ party? This āpartyā is being livestreamed on August 17th, 2021 at 10:00 EDT (-4 UTC).
ā¼ One of the more interesting bits of Visual Studio 2022 going 64-bit is that ReSharper can now use more memory. Previously it shared the max 4GB of memory with VIsual Studio. Will performance improve? Weāre given a vague āit dependsā, which isā¦ fitting.
š¤·āāļø Windows 11 FAQ: Hereās everything you need to know says ZDNet. If youāre looking to upgrade, hereās what you need to know: Buy a computer with a new processor.
š„ CodeMash 2022 CFP is open, and closes August 31st, 2021. I havenāt been to Codemash myself, but Iād love to attend.
š¦· .NET Core 2.1 is end of life at the end of August. Itās getting pretty long in the tooth so migrate now.
š„š” Getting off Microsoft Silverlight for Good Silverlight goes out of support in 57 days, and Mobilize.NET, a consultancy that helps companies migrate off of it want you to know this.
š„ For the F# Folks, Don Syme, one of the language team members for F#, talks about active pattern matching in F# and why itās superior to alternative forms of matching. I mean you wouldnāt expect an F# person to ever say it isnāt superior, would you?
and lastly, and because Iām obligated to report it but not because I care:
š¤ Microsoft and Amazon battle over yet another $10 billion U.S. government cloud contract. Last time Amazon protested Microsoft winning a DoD Contract worth $10 Billion, and now the shoe, as they say, is on the other foot. However, this time itās the NSA, and I canāt find the words to care about the plight of the trillion dollar companies.
-
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.
šØāš¦Æ Adam Lein breaks down the user experience and human centered design problems with Windows 11.
š«š 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.
š¹ The monthly .NET MAUI Community Toolkit Standup was last week.
š 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.
-
šµļøāāļø Using Secrets in .NET Core Console Applications Console applications remain one of the least documented parts of the .NET Core experience (compared to ASP.NET), and Iām always happy to share content on that topic. Why are console applications important? If youāre in an event-driven microservices world in .NET, using a Console application to connect to your message queue and receive messages and put them into a database of some sort is an integral part of the work; as are services that respond to events but donāt necessarily expose HTTP APIs.
šØ Erik J markets his EF Core Power Tools Visual Studio Extension I did not know this existed. I mean, I vaguely had heard of it, but had no idea what EF Core Power Tools would even do. Luckily Erik shared a link to his extension, which according to the download page, lets you Reverse engineer a context and classes from an existing SQL Server Database, has diagramming support, right-click migration support in Visual Studio, and more.
š The .NET Download Site had an outage last week and there is not, and I quote, āThere is no workaround using Azure DevOps.ā
šØāš¼ āMention Azure.ā
Can you imagine the protocols Microsoft put in place to push Azure at all times?
šØāš»āBut sir, this is an outage on our public website.ā
šØāš¼āMENTION AZURE.āš¦ David Fowler tweets about some new additions to ASP.NET in C# 10 and .NET Core 6: Default Global Usings, File Scoped Namespaces, and a āminimalā Hosting API.
š Nicole Express blogs about the cause and fix for a long standing ALF Bug. Yes. That adorable animatronic 80s TV star that had its own movie and video game, and liked to eat cats.
š§āāļø What if Github Copilot worked like a real programmer Not listed: Copilot engaging in a flame war over whether The Last Jedi was the worst Star Wars movie ever made, and reminding other programmers that programming is a meritocracy, while failing to see how self-serving that statement is. This is satire, of course. The Last Jedi is arguably the best Star Wars movie ever made.
šŖ If You use Chocolately, a fresh install of Visual Studio can inadvertantly nuke your nuget package source configuration oops.
š¢ How To: Use Azure AD Powershell to Work With Extension Properties (User Attributes) This blog post does what it says on the tin, but for you the use case here is you need to use Powershell to retrieve and set extension properties from Azure AD. If you know what that sentence means, please reach out and let me know. Thanks.
šæ On July 27th, 1993, Windows NT 3.1 was released. I know it wasnāt NT, but Windows 3.1 was glorious, but only for me because thatās the first OS I played Chipās Challenge on. Also Chipās Challenge and its sequel is available on Steam. Youāre welcome.
ā¤ļø Brent Ozar has released an update to his First Responder and Consultantās Toolkit. Ok, naming aside. If you use SQL Server, and youāre a DBA or even a C# developer that needs to interact with Sql Server,you will want to download, install, and run these scripts. Theyāre very useful in understanding performance issues in SQL Server, in understanding if your table structure and indexes are optimal, and helping you resolve emergent issues with SQL Server. These scripts should be in every teamās toolkit that uses SQL Server.
šDavid Lee Roth retells the famous ābrown M&Msā story that Van Halen used in its Rider. The reason they used it is not what you think. Itās well worth your time to listen to. Thanks to @textfiles on Twitter for sharing a link to this.
š Visual Studio 2022 will not be able to build .NET Applications that target anything in .NET 4 before .NET 4.5.2. The writing is on the wall: Upgrade your framework, folks.
š¢ Dapr v1.3 has been released and this minor update includes several minor updates but still no explanation of why drop-in-replacement architecture is such a āwinā. Developing to the Lowest Common Denominator gets youā¦ The most boring and undifferentiated features of all of your options.
āļø I asked the CEO of Jetbrains for an update to the Solarwinds/Team city mess and he obliged. If youāre new to this, the NYTimes ran an article that claimed ā anonymously, of course ā that TeamCity was why the Solarwinds attack happened. Because of that, some companies and organizations have dropped using Jetbrains products. We hadnāt heard from the CEO of Jetbrains since their āupdateā several months ago, and I asked them to let us know if anything ahd changed. They obliged by reinforcing that the NYTimes article probably shouldnāt have been published in the first place.
š .NET Conf Call for Speakers is Open I have submitted a session that will undoubtedly be turned down because I donāt mention Azure in the abstract at all.
š¤Æ C# 10 will also support var as a lambda expression initializer, and Iāve hit the point where Iām now souring on var. I have no idea what that type is or well be, and I canāt see how thatās a good thing. @ me @gortok on twitter if you think Iām wrong, and why.
šø Marten, the Generic Host Builder in .Net Core, and why this could be the golden age for OSS in .Net. Jeremy Miller spells out why the addition of Generic Host Builder has made his life better as an OSS Maintainer. Personally I think the problems with OSS in .NET are mostly commercial interference by Microsoft; and Iām not so sure we can fix that.
š„ Abel Wang passed away last week He was a Principal Program Manager, and Technical Assistant to the CTO of Azure. Take a moment and read the accompanying link to learn more about Abel and his life.
Is your .NET Team thinking about transitioning to microservices? Take my free five day course at https://movetomicro.services.
-
Several Zero-Days, and some more pontificating on the future of Programming as it relates to CoPilot. Itās been a busy week, so letās see what happened Last week in .NET:
š§± Next-generation firewall capabilities with Azure Firewall Premium. Microsoft is literally charging a premium for better security. Not a great plan.
š Letās make Visual Studio even more accessible together This is a wonderful shift in focus, and I hope Visual Studio accessibility continues to improve.
šØš¼āš¤āšØš¼Cecil Philips and David Pine talk positional pattern matching in C# and how it works and true to the internet thereās at least two commenters who thinks they know better than the language creators.
ššKevin Beaumont validates that Microsoft made the SAM database (user passwords) accessible to non-admin users on Windows 10 which isā¦ problematic, to say the least. Kevin followed up with a blog post that goes deeper into how #HiveNightmare works.
I would like one week. Just one week where it doesnāt feel like the sky is falling in info-sec.
š„ Speaking of the sky falling, Windows Hello bypassed using infrared image. We call it science fiction because it isnāt realistic ā and thatās true: They put more effort into security than real life.
šµļøāāļø DevSecAI: Github Copilot prone to writing security flaws Microsoftās designs of monetizing CoPilot seem like itās fading. The problem with artificial intelligence is that it mimics our own intelligence.
š Jonathan Blow, creator of the Braid and The Witness, says Donāt use fopen() on Windows turns out thereās a bug when you do file stuff in multiple threads where file flushes donāt happen at predictable times.
š® Github Copilot: Fatally Flawed or the Future of Software Development? Yes.
ā Ars technica writes: Two-for-Tuesday vulnerabilities send Windows and Linux users scrambling Exploit #1 was the aforementioned SAM Database vulnerability; and the second is a vulnerability in the linux kernel, by creating, mounting, and deleting a deep directory structure with a total path length that exceeds 1GB and then opening and reading the /proc/self/mountinfo file.
š»š« The ML.NET Community standup happened last week, and they talked about ML.NET 1.6 and more.
š Christo Matskas has a blog post out on how to Secure Open API (Swagger) calls with Azure Active Directory.
š“ Azure SDK Release (July 2021) and yes, the word Azure is in the title but not much else, which means it is definitely an azure blog post. The Azure SDK includes new App configuration settings, features for iOS in Azure Communication Services, and releases Azure Cosmos DB for Java, Azure Data Tables, and Azure Metrics Advisor for .NET, Java, JavaScript, and Python, and more. Yes. And more. Iām going to fall asleep if I have to type all these services out. So if you use the Azure SDK, check this post out ā but pour yourself some coffee first.
š Miguel Ramos tweets that if you do Windows UI development, theyāre going to want to know what you think.
š¢ Visual Studio 2019 16.10.4 has been released. This update includes several bug fixes and performance improvements, as usual.
š¾ There is a new System.Text.Json source generator in .NET 6. This allows you to have System.Text.JSON serialization classes auto-generated for you and results in more optimized serialization and deserialization.
šāāļø Github Policy releases Minimum Viable Governance: lightweight community structure to grow your FOSS projects. Itās a document that gives someā¦ sensible defaults for open source project governance on Github.
š«š Michael PeƱa (not that one) gave a talk to the Philippine .NET Users Group on the state of .NET on Mac OS and itās well worth your time.
šLooking for the 20 best C# and .NET Blogs? Seb Nilsson has you covered. Itās my personal opinion that Eric Lippertās blog is criminally underrated.
There is a self-reported Intuitive Gudie to Understanding Closures in C# and while I wonāt pass judgement on āintuitiveā, I will call it informational.
And thatās it for what happened Last Week in .NET.
If your .NET team is thinking about moving to microservices, check out https://movetomicro.services first.
-
š July 29th is .NET āFocus on F#ā Day. You can sign up to watch a whole day of videos on F# at focus.dotnetconf.net. I havenāt ever seen a CFP for these āFocusā events so Iām unsure of how they pick their speakers; but it looks like a good lineup.
šŖ Microsoft publishes its own applications through the Microsoft Store, making it about 95% of the Microsoft Store.
š¹ On July 8th, Kathleen Dollard, Rich Lander, and Immo Landwerth āsat downā on youtube to talk about Whatās new in .NET 6 Preview 6 & 7, and how they handle ābreaking changesā. Which they can handle now that they arenāt wed to āDonāt break anything at all costsā .NET Framework.
šāāļø Bill Wagner and Beth Massi talk to .NET Notts about what the .NET Foundation does, and thatās important because
ā The .NET Foundation 2021 Board Nominations are open but donāt get your hopes up because thereās a nomination committee who will decide who actually gets voted on. Thereās also a job description of what board members do, if youāre interested.
ā© The ASP.NET Community Standup ā Building with Blazor happened last week and it shows how Powered4.tv was built using Blazor.
š¢ .NET 5.0.8 has been released. The interesting bit here is that now you can use Windows Forms and WPF are supported for Arm64. This was initially in .NET 6 Preview 1 and backported to .NET 5.0 with this release.
š¢ .NET Core 3.1.17 has been released. Several non-security bug fixes are in this release.
0ļøā£ Microsoft Patches 3 Under-Attack Windows Zero-Days the big news here is that if you have Windows Systems, youāll have already wanted to patch them. If not, patch them now. One of the three Zero-days includes a drive-by attack via web browsers. Second to that is that there are 117 vulnerabilities patched, with 17 labeled ācriticalā.
šØāš©āš§āš¦ You know you can run multiple projects when you hit āF5ā in Visual Studio, right? I love the gif method of teaching; and because of that Iāll forgive the horrible experience weāve taught ourselves is adequate with debugging multiple projects via F5.
š Global Usings are in .NET 6 and this seems like something that will in no way ever be abused or lead programmers to wonder what namespaces are avialable.
ā Microsoft introduced the Windows 365 Cloud PC last week and the interesting bit here is that now you can build Windows applications without needing windows. Youāll never have to worry about zero-days plaguing your personal computer, and youāll get to snobbishly remind people that you use linux all at the same time! As usual the licensing situation with Windows 365 is inscrutable to mere mortals.
š¢ Announcing .NET 6 Preview 6 with the previously mentioned Arm64 support, Apple Silicon support.
š¢ Visual Studio 2022 Preview 2 is out and it includes Web Live Preview for ASP.NET? Wait a second. ASP.NETā¦ Webforms? Thatās still a thing? Thereās doubling down on an old technology, and then theresā¦ this.
š The Microsoft Windows Developer Team has their ānotesā publicly visible for Windows Development and these pages are chock-full of interesting tidbits. If you find yourself doing native Windows development, youāll want to bookmark this.
š¢ ML.NET 1.6 has been released and it now supports Appleās Silicon, along with several other fixes.
š Microsoft released a new emoji introduction video and whatever team did this needs to be responsible for the Windows Experience in general. I have a feeling they could do better than what weāve got.
š«š§ System.Drawing.Common will be Windows-only in .NET 6. While a good move, it feels like āCommonā isnāt. Programmer hubris comes for us all in the end.
and Lastly,
A helpful tip for debugging, you can use Debugger.IsAttached as a way to catch Exceptions, but wouldnāt you just click the āBreak on All Exceptionsā checkbox in Visual Studio? How is this different from that?
And thatās it for what happened Last Week in .NET.
Moving to Microservices? Sign up for a free 5 day email course at https://movetomicro.services
-
š Jetbrains' Simon Cropp is hosting an "OSS Power-ups: Verify" event and I have no fracking idea what any of these words put together means. Which, if you think about it is entirely on brand for OSS, where marketing is shunned.
ā³ Rick Strahl has a lengthy blog post about converting the Desktop application Markdown Monster to use C#'s Async/Await. This is as an indepth dive into real-world async that you'll ever see and worth your time.
šØšš Microsoft released a patch against the PrintNightmare vulnerability and lo-and-behold it doesn't actually mitigate the vulnerability, writes Brad Sams. Who among us hasn't had a patch that "Worked on my machine"? Now none of us are worth 2.09 Trillion, but does that really change things?
š£ .NET Conf "focus on F#" is July 29th, and you can sign up here Now's your chance to learn about F# and tell the world about it.
š«ā The Pentagon has canceled the disputed JEDI cloud contract with Microsoft and in order for the project not to spend the next ten years in litigation will pursue a multi-cloud strategy -- with Amazon, Microsoft, and possibly other cloud vendors. We are in the "Too big to deal with" stage of capitalism decline.
š®āāļø Did you ever want to check to see if if the app is being run as sudo or admin on linux? This code snippet will help you do just that.
šµļøāāļø Several Netfilter Rootkits -- signed by Microsoft -- hit the wild today. In case that sentence didn't sufficiently scare the shit out of you; a rootkit is bad. Microsoft signing rootkits is about as bad as it gets. It's like your spouse giving a crook the keys to your house and letting them know when you all will be gone.
š Wassim Chegham writes about 10 Things to Know about Azure Static Web Apps and this is a good write up and a reminder that Microsoft is very late to this party but markets as if they created sliced bread.
š« Oskar Duycz has you covered with an updated readme and tutorial on event sourcing in .NET (Core). If you think of event sourcing like that annoying kid in your 6th grade class that reminds the teacher when she forgot to assign homework and when the teacher forgot to give a scheduled quiz, it makes a lot more sense.
šScott Carey of Infoworld talks to developers about their reactions to Copilot Surprisingly none of them were upset at the lack of lubrication involved in getting 'Copiloted' by Microsoft. Yes, that is a euphemism now.
š„ On Friday, July 16th, 2021, Jon Skeet will be talking about the .NET Functions Framework that is available for Google Cloud Functions. Google has a better name for it (.NET Functions) than Microsoft does -- and no shit the name Microsoft gave it (according to the website title) is "Azure Functions Serverless Compute".
š¢ The June 2021 (version 1.58) release of Visual Studio Code came out on July 8th. It includes the ability to move terminals to the editor, the Debugger now remembering your previous environment choices, Jupyter code improvements and debugging, and Workspace trust -- which sounds vaguely enterprisey but really means "browse code without worrying about the 25 years of macro-exploits that made Microsoft Office synonymous with getting hacked".
šø This next one is a commercial plug I didn't catch; but I'll own that. If you're still on silverlight, support ends in 101 days and Mobilize.NET wants to help you modernize your silverlight application through this webinar. Honestly at this point if you're still using Silverlight you need a commercial partner to get you out of the hole you've dug yourself into. Also, this webinar talks about "Reserving your seat" but does not specify a date or time so I can only assume it's a marketing trick to get you to sign up and it's actually an on demand webinar. In related news I have found the an extra category for the 9th circle of hell.
šÆ Last week i shared Part 1 of how StringBuilder works; and Steve Gordon is back this week for Part 2 of how StringBuilder works. I applaud the effort Steve put into this post; I love the visualizations and it's a good overview.
š« For the InfoSec (and cyber security, sigh @ govies) folks among us, Zac talks about a CobaltStrike hunting tip. I refuse to read the contents of the tweet into this newsletter because it is functionally indistinguishable from the contents of a hex editor. For the people who know, it will make sense though.
š½ As a bonus for making it through last week, here's an oral history of movie Independence day titled āYou Canāt Actually Blow Up the White Houseā: An Oral History of āIndependence Dayā -- which turned 25 last week.
And that's it for what happened Last Week in .NET. It was Independence Day / listen to fireworks at midnight all week here in the States, so that could attribute to the lack of releases. Stay frosty and I'll see you next week.
-
I swore up and down I would not release a newsletter this week owing to the July 4th holiday (Treason day for the Brits out there), and then Microsoft's Github announced and released Github Copilot, and my promise fell apart.
CoPilot is an ML trained code snippet generator. What is it trained on, you ask? All the public code on Github, GPL'd or otherwise. This has angered the internet lawyers and is generally considered to be a Dick Moveā¢ by everyone else (except those that have read the parable of the Scorpion and the Frog). And since there really isn't any magic in ML, that's led to some interesting bugs... like reproducing the inverse-sine function from Quake to include the PG-13 rated comments. Or giving internet randos the API keys that Sendgrid users put in their source code on accident, or even reproducing the GPL in its entirety in a source code header file and none of this includes the mundane but possibly Office Space plot inducing every day bugs present in CoPilot.
It's almost trite to call these 'bugs', these aren't bugs. These aren't misunderstandings of product requirements, or bad coding. No, these are Ian Malcoms:
Your scientists engineers were so preoccupied with whether or not they could, they didnāt stop to think if they should. (original source)AI and ML have given us a new class of software defect: the Ian Malcom, and we can thank Github for playing the role of movie villian here.
With that out of the way, here's what else happened last week in .NET.
š In Windows 11 you can now specify which Terminal you want to use and not have to have cmd.exe launch all the time. I don't want to be cruel; but would anyone willingly choose cmd.exe as their terminal? @ me if you would, and why.
š ZDNet's Jason Berlow says he'll bite the bullet and buy a new PC for Windows 11 and it's important to note that 'more secure' here means "less likely to get taken down by ransomware". Microsoft's usual track record for security post-boot-up still applies.
š Adam Storr has a blog post out titled Test Your .NET HttpClient Based Strongly Typed Clients Like a Boss, and I'm not clear from the title if he means the every day "exploit them" or if there's a more sinister meaning, like "gaslight them into believing working 60 hours a week means you're a team player".
š There was a LinkedIn Breach announced on June 29th, with the field "Inferred Salary" included. Since no one knows what "inferred" means here, we'll just go with the face-value interpretation that LinkedIn calculates what your salary should be based on your experience and roles and local market and that is exactly why naming is so important in software.
š I got a little flak last week for suggesting that Azure Static Web Apps were mundane but being touted as The Next Great Invention After Sliced Bread, and here's just another example. Now, I get that if you work at Azure, you should be touting Azure products -- but my concern here is that treating something mundane like Static site hosting as revolutionary in your verbiage (awesome, awe inspiring? Really?) is overplaying the marketing angle without understanding that a crucial part of marketing is credibility, and it's easy to lose it if you overplay your hand.
šØš² There's a new CVE out for Windows dubbed "Printer Nightmare". CVE-2021-1675 allows an attacker to take over your system through the windows printer spooler service. and this is reason #2 why I had to release a newsletter this week. Holy forking shortballs Microsoft.
šØš² Kevin Beaumont gives us an indepth report on "Printer Nightmare" including most importantly how to mitigate this zero-day. Also important to note there appear to be 2 CVE classifications for "Printer Nightmare", the aforementioned -1675, and CVE-2021-34527. 1675 covers Privilege Execution, and 34527 covers Remote Code Execution. Happy Monday.
šØš² There's a POC out for Printer Nightmare that was promptly deleted but still available via caching sites if that's your thing. I'm not going to look and see whether or not my old Livejournal is cached somewhere, thanks.
šØš²š Interested to know if you're affected and you like Flowcharts? @StanHacked has you covered.
šØš²š Interested in seeing if your machine is exploitable for "Printer Nightmare"? Try this powershell one-liner (please don't).
š¢ YARP Preview 1.0.0-preview12 has been released and we are promised that this is the last 'big set of API changes'. I admire their optimism.
š¢ The Pull request for finishing out W^X support for .NET is open and the problem with naming it W^X is that I can't find -- either on github in my old releases or on google any reference to what this means. My memory seems to recall it means Write Xor Execute; which means that a piece of memory is either writable or executable, but not both. I could be way off on this, and I take corrections @Gortok on Twitter and via email at [email protected].
š«š“š» Windows 11 will leave millions of machines behind and Microsoft is struggling to explain why writes TheVerge. I guess "We're getting hammered by side-channel attacks and ransomware attacks because we have the most popular operating system of all time and we're sitting on a long legacy of a single-user disconnected operating system vs an internet connected system" is hard to say?
š©āš»š„ There is a Fortnite VS Code theme and I have not played First Person Shooters since Battlefield 2 so I don't really know what the hype is. Fortnite really just looks like Team Fortress 2 meets Starseige:Tribes Without the Jetpacks, he says, yelling at the kids to get off his lawn.
šā AT&T is moving its 5G Network to Azure for Operators and now I guess the COVID Vaccine will give you Azure interopability as a side-effect?
š Valid Kubernetes YAML that also happens to be AT&T x86_64 assembly code and I need a shower after seeing that. Ew.
ā Leslie Richardson and Cecil Phillips have a .NET video out on Exception Filters and I promise if you catch System.Exception and don't filter it, bad things will happen (also please don't filter on System.Exception, just pick the execption sublcass and filter on that. Your maintenance programmer and I will thank you).
š dotnet-wtrace Command Line Tool has been released and it captures .NET traces. No, I don't know anything more than that and Open Source Projects aren't exactly known for their Marketing.
š§ The .NET team has a blog post that covers the Object allocation tool in Visual Studio. Think of this tool like dotMemory or ANTS Profiler, just built into Visual Studio.
UWP Projects will not have ongoing support in the new WinAppSDK World, according to a Youtube video by the WinUI team, and the longer discussion that alerted me to this fact is here.
And that's it for what happened Last Week in .NET. I'm especially interested to see if there's any legal action around CoPilot (ha), and how bad PrintNightmare turns out to be, so if either of those get more press, you'll hear about it here.
-
The Windows 11 livestream happened last week, and the big news there is just about every computer older than 2017 will require you to upgrade your hardware to use Windows 11. This is bad news and I am unhappy
ā Barry "I love tormenting people with pictures of beans" Dorrans reminds all of us that .NET Core 2.1 is End of Life at the end of August. I'm impressed support for .NET Core 2.1 lasted this long.
šR# and JetBrains Rider will support "Create from usage" for C# Records, which is pretty neat if you ask me.
ā” Let's Learn .NET - Blazor" free Livestream happened June 25th so if you want to learn Blazor, this is your chance to catch up on the video.
š David Fowler And Damien Edwards talk about ASP.NET Core's Architecture (Part 3) in this youtube video. This is a very informative series, and I'm looking forward to watching the recap.
š° .NET Nanoframework received $10,000 (USD) from the Microsoft FOSS Fund. This was from a vote held by Microsoft Employees that work on FOSS projects.
š¢ Releasing Windows 10 Build 19042.1081 (20H2) to the Release Preview Channel and it's clear that no one ever speaks these blog titles out loud. They could at least name them funny names.
š¢ Remote Desktop Connection Manager v2.81 has been released and there are no release notes so I just have to assume everything listed is what's new. It seems... packed.
2ļøā£ Blazorday happened on 17 June 2021 and I can only find one video so I have to assume this one is it.
š¤·āāļø The Azure Static Web Apps Launch is June 30th. The amount of press this event has gotten leads me to believe this is something more exciting than static web hosting launching, so I have to assume it's something more than that.
ā„ā¦ā ā£Exception Not Found (the blog, not the exception) has a Part 3 to their blog post Solitaire in Blazor, Part 3 - Drawing, Discarding, and the Stacks I'm loving this approach to teaching blazor.
āAttack Surface Analyzer is open source and I'm mentioning this because Barry "I wish I had married Beans" Dorrans did not realize it was open source and so it's news to at least two of us on the internet.
š© Microsoft is now a $2 trillion dollar company and there is positively no excuse for them to need ICE's money at this point.
š The .NET Oracle Team is looking to release ODP.NET support for EF Core 6 'by the end of 2021'.
šŖ The Microsoft Store now supports PWA, Win32, and UWP and oh yea, Developers can use their own commerce engines and keep their profits This is one way to get people to adopt the Microsoft store, although I have a sinking feeling if it does get adoption, this will change.
š² XBox Game Pass will be built into Windows 11 and I have no idea what XBox Game Pass is because I have three kids and no time to game.
šāāļø In what I consider a kindness, Kevin Gallo blogs about What Windows 11 means for developers, my thanks to Kevin.
āÆ The Windows 11 Livestream is available for replay in case you missed it. I did.
š Project Reunion has been 'renamed' to Windows App SDK and this is quite possibly the least Microsoft Name it could have been given. It's clear the marketing team was not involved in the naming of this, and we are all the better for it.
š§ÆIf you enjoy gambling and want to try out Windows 11 Insider Preview, Here's a handy blog post that will take you back to Windows 10 if and when you hate it.
š¤¼It's Official, Windows 11 Is just a reskinned OSX... 11.
ā©Ok fine so it's not really a reskin, apparently, as updates are 40% smalle and happen in the background, so something is going on under the hood.
šWant to see if your PC can be upgraded to Windows 11? Use this tooland prepare for disappointment
š And No, .NET 6 will not be bundled with Windows 11 because that's a terrible idea
.NET 6 Preview 5 is now on Azure App Service and Byron is clearly not following Microsoft's Marketing KPIs because Azure appears no where in the blog post title.
And that's it for what happened in .NET. This coming weekend is a holiday weekend; so there will be no Last Week in .NET Next week, and I'm starting to regret the title.
-
Windows 10 supports ends On October 14, 2025 according to a Microsoft support document. Weāre expecting Microsoft to unveil Windows 11 this week, but I gotta say: Itās not going to be hard to get me off Windows 10 if Windows 11 promises less ads and less āsynergyā. Appropos of nothing I bet this article on how to Disable OneDrive will be as useful to you as it is to me.
1ā£ Uno Platform 3.8 ā New WinUI Calendar, Grid controls, 2x performance, new Linux scenario and more is the tale of a headline that doesnāt know what it wants to be when it grows up. Regardless, if you use Uno, a new version is out.
Visual Studio teaches you how to use the updated C# language features and this is pretty neat to watch. I maintain, of course, that if the Egyptians had access to gifs they would have used them to communicate instead of emojis.New data access benchmarks for .NET 5 and .NET Framework 4.8 This benchmark covers all major ORMs (and Microsoft data access strategies like ADO.NET) and has been updated for .NET 5 and .NET Framework 4.8. Enjoy.Migration of Bingās Workflow Engine to .NET 5, by Ben Watson The only fault I have with this blog post is that they never tell you what XAP stands for. If you know, could you do me a solid and let me know, please?Richard Lander talks with folks from the .NET team about ādiagnosticsā in another āConversationā series The format is neat, even if the title is a little boring. Microsoft continues its tradition of parroting Mac by parroting Mac OS X for Windows 11. Iām not even mad. That does look better. Hereās another article on Windows 11 updated look, if youāre interested in that sort of thing.So good Iāll share it twice. You wanted a .NET Repl, right? Well now youāve got one.Thanks to Khalid Abuakmeh Iāve learned that Entity Framework Core Exceptions are pretty nice. It tells you the problem and how to fix it. Weāre in 2021 folks, so this shouldnāt be revolutionary, but it is.Microsoft had an outage related to its Ubuntu repositories because ofā¦ Diskspace issues. Ok, first off, #hugops to the team that had to deal with this outage. Second: Youāre the #2 cloud provider in the world. You donāt get to have diskspace issues, especially when you have invaded my desktop with āOneDriveā. Those are the rules.Visual Studio 16.11 Preview 2 has been released and this release includes lots of little fixes plus improvements for Git in Visual Studio.You can now try out Visual Studio 2022 Preview 1 (64-bit edition) for free.
July 29th you can hear F# developers drone on about how much better F# is because itās .NET Conf āFocus on F#ā Day. I canāt wait.
July 21st Microsoft wants its employees to learn more about racial justice and inequality.And finally, Juneteenth (June 19th) was passed into US Law as a national holiday last week. You learn that not all of the confederacy surrendered on April 9, 1865, and that some (like Texas) decided to keep on until Union soldiers arrived on their doorstep. June 19th, 1865 is the day that union soldiers arrived and told Black slaves they were finally free. Long overdue and a small step towards righting the wrongs of our history.
And thatās it for what happened Last Week in .NET. If youāre pursuing microservices, take my five day course before making the move.
-
Weāve come down from build and gotten back to the grind. Two releases this week followed by a ton of interesting stuff thatās happening in the .NET Space.
.NET 5.0.7 has been released and itās a small release that fixes CVE-2021-31957. In the same vein, .NET Core 3.1.16 has been released and it fixes the aforementioned CVE.Microsoftās Kate Crawford says āAI is neither artificial nor intelligent and Iāve never agreed with a headline more.End to End encryption coming to Microsoft Teams which will send corporate legal compliance teams into tizzies. So Iāll assume that itās āEnd to Endā but your employer will probably have keys to decrypt and record it, because thatās whoās paying the tab.Thereās a design proposal to make Directory.Build.targets just work and as someone who is still very scared of MSBuild, I hope this is means fewer nightmares.MSTIC helped the FBI confiscate the hackerās wallet from the Colonial Pipeline ransomware hack and theyāre being mum on what āhelpā means. Some commenters note that Windows 10 has a built in keylogger; and Iām seriously reconsidering linux.Visual Studio now supports deep links for git pull requests and the 1990s called and asked for royalties on this tech.First known Malware targetting windows containers but everyone is safe because no one uses windows containers. Also if you are forced to use Windows Containers I have to assume thatās about the 20th worst part of your job.Jet Brains Rider āMust Useā Plugins. Selling Microsoft based developers on a better IDE is like selling shoes to the cobblerās kids. I respect Jetbrains here but itās always going to be an uphill battle. JetBrains has another blog post just released titled āImport settings from Visual Studio and Visual Studio Code to JetBrains Riderā In case you wanted more evidence of that uphill battle.The .NET Community Standup asks āWhatās new with Blazorā in this video. Whatās new, Blazor?Do you need to inject text into an ASP.NET Core Response? Rick Strahl has you covered this is over a year old but still the best resource if you need to rewrite the response in ASP.NET Core.Immo Landwerth wants to make Exception.ToString() useful and if accomplished Iād like to have Immoās babies. Only one of these statements is a joke and Iāll leave that to you to decide which one.Azure App Service supports .NET 6 Preview on Linux and Windows Early Access according to Byron Tardif (@bktv99 on twitter).Visual Studio Code 1.57 has been released and there will come a tipping point where new features gives it a similar bloat profile to Visual Studio. Itās like the Wilford Brimley line for software.Rediscovering Implicit Casts or as I like to think about it āMore than you ever wanted to know about implicit casting in C#.Christina Warren shows us that comic sans makes a pretty good mono-spaced font and I hate myself for how much I like this.
And thatās it for what happened Last week in .NET.
-
Itās a light week this week; everyone is coming down from Build. If you missed that, check out last last weekās newsletter. Now on to what happened Last week in .NET.
Jared Parsons, member of the Roslyn core team, talks about string vs. String. That is, for those of you listening to this instead of reading it, the keyword string vs. the class String. As it turns out, theyāre not the same thing. There is also a special circle of hell for people who override String. @ me on Twitter @gortok if you think Iām wrong about this. Not about .NET but relevant to our interests, Michele Hansenās preorder for āDeploy Empathyā is open. Michele is the founder of https://geocod.io, which is, as the name says, a geocoding API. She does a lot of customer interviews for Geocodio, and previously she was a product manager for The Motley Fool, where she ā you guessed it ā did a lot of customer interviews. Anyway, sheās written a book (and she has a newsletter!) about customer interviews that will give you the feedback that you need for your product or service. I donāt do sponsored content here, and if you work on a product or are a consultant trying to sell a service, you need to read this book. Periodt. Benefits of the preorder is you get rough drafts of the book. Seriously, buy it.This is one of the best produced virtual keynotes Iāve seen ever Scott Hanselman āand friendsā bring you a Build keynote unlike any other. I mentioned this last week, but itās worth noting again. Watch it. Itās that good.Raymond Chen talks about Arm32 If this is your introduction to Raymond Chen, youāre one of todayās lucky 10,000. Feel free to peruse his back catalog and be amazed and entertained for thousands of hours. Today he talks about Windows and Arm32.Microsoft is partnering with Morgan Stanley to provide reference cloud architectures for highly regulated industries (like the financial industry). This is akin to Las Vegas partnering with Satan, but I get it. This is corporate synergy.C# 9ās blazor ācolorizationā and appropriate C# 9 syntax highlight and documentation is live If this sentence is confusing to you Iād like to point out I present the links; I do not vet them for sanity.Paint.NET Is smackdab in the middle of its migration to .NET Core and some parts are already live. If you arenāt aware of Paint.NET. Itāsā¦ Paint. In .NET. Thatās it, thatās the hook. All joking aside, itās a rather wonderful paint program and it just happens to be written in .NET ā now .NET Core. Microsoft.IO.RecyclableMemoryStream 2.1.0 is released Could someone explain to me how a .NET 4.6.2 targeted application can now use Span<T>? email me at [email protected].
Microsoft wants to be twitterās main character for a day by censoring the āTienanmen Square Tank Manā image on the anniversary of the Tienanmen Square massacre. rubs head with handsā¦ Do you see how this is bad, Microsoft? Do you? I canāt rub a companyās nose in their own mess, but Iād sure like to.
And thatās it for what happened last week in .NET. Tip your service staff, and tune in next week.
-
So Build happened last week. This email newsletter is shockingly late for reasons that you probably don't care about but have messed up my entire week. Mea culpa.
š¢ .NET 6 Preview 4 is out and contains a metric ton of bug fixes and new docker images for your testing pleasure. Seriously, far too many to list here. Thankfully though Microsoft has a blog post out detailing what's in it. I'll talk about some of these updates independently.
In .NET 6 Preview 4, there's now a "Date Only" and "Time Only" struct which does what it says on the tin. This greatly simplifies my own code that tries to handle 'date only' and 'time only', so I'm prettty happy this is here.
š¢ Announcing Maui Preview 4 which I can only assume was released with .NET 6 Preview 4, because otherwise there'd be two things named Preview 4 that track different releases and no self-respecting company would do that... right? RIGHT?
š Visual Studio 16.10 has been released and appropos of nothing Visual Studio has multiple version numbers for a given 'year' version. 16.10 adds new productivity enhancements, Docker and git features. Of note is that they've finally added a "Remove Unused references" command, which assumes parity with ReSharper from 2016.
š½ Ginny Caughey shows you how to write platform specific code for MAUI and GIFs as teaching tool are magic.
š¹ A video from Build titled .NET 6 Deep Dive; what's new and what's coming is the headline, and I categorically refuse to make the easy joke about the headline. If the punchline doesn't pop in your head, bless you.
š Azure Application Service feature list, in a tweet; special thanks to Jeremy Sinclair (@sinclairinat0r ) for the screen grab.
š» Microsoft and Qualcomm team up to create a Windows on Arm64 Developer PC So microsoft is releasing a PC that is lower priced than their Surface X ($999) to encourage development on Windows. I say this as I am typing this up on a Mac, possibly the most expensive development machine ever to hit mass market usage. On a lighter note, you could think of it as a Windows Mini machine.
š¢ The Windows Procmon tool has been reimagined for Linux What has the world come to that we can credibly say Microsoft is trying to provide a good Linux experience?
š§ What do you mean George? Well Microsoft support for Linux GUI apps on Windows 10 coming later this year. I'm not sure if this is a tacit admission that Microsoft lost the hearts and minds of developers or an admission that Linux lost the desktop war?
š£ In news that will only shock managers, Developers days are interrupted by meetings, a Github Study finds. They interviewed developers and found out when and how they were most productive and it was when there were few meetings and long stretches of open time. This is my shocked face.
šāāļø Richard Lander has a conversation with members of the Ready to Run Team about... Ready To Run This Q&A dives into what Ready to Run is (spoiler: it's code that's ready to run anywhere without JITing) and how it's different from other toos like NGEN.
5ļøā£ For all five of you that use F#, there are F# and F# tools updates for Visual Studio 16.10. Features include better interop between F# and C# projects, fixes and improvements on refactoring and other sundries.
šš Bryan Hogan blogs about Github Actions with .NET, Part 1 - Hello World and Documenting the Artifact and in what I hope becomes the norm, the full source code for this is also linked from the blog post. This is good. More of this, please.
šØšØšØšØš© Want a nice recap of what happened at Build Day 1? the poorly named but fun-filled session named "Microsoft: Into Focus with Scott Guthrie, Scott Hanselman, Rajesh Jha, and Kevin Scott" is available for your viewing. They left poor Fillsha Shah off the title for reasons passing understanding, even though she's listed as one of the speakers for the talk.
š WinGet hits 1.0 after more than a year of sucker-punching AppGet with being announced at Build 2020, Winget is now 1.0. It will be available on Windows 10, 1809, and "ships soon". Windows Insiders can use it now.
š§ Microsoft Threat Intelligence Center blames the actor behind the Solarwinds attack for a recent email based attack. Luckily the email attack is just a wide-spreadh phishing campaign, and not a sophisticated supply chain attack that took the entire software industry by surprise.
And that's it for what happened Last Week in .NET.
- Mehr anzeigen