[Last Week in .NET #62] – Watermelon Sug — HOW HIGH ARE YOU

No releases last week, but there was drama. And because this is the internet, I’m going to share that with you. Let’s get to it.

๐Ÿ‘‹ Chris Dixon had to have gotten the highest of highs before writing this screed on twitter that charitably would be panned as “VC with vested interest in getting people to buy into Web3 says everyone should buy into Web3.” I’m not sure what’s worse: That “web3” is what Web 1.0 was like before Chris and other VCs cashed out on the likes of Facebook, Instagram, WhatsApp, and Twitter, or that if we buy into his vision, in a new world of ‘blockchain’ and ‘NFTs’, we could somehow get back to that web 1.0.

Maybe we could just… I don’t know… go back to Web 1.0? It’s not like Web2.0 hid web1.0 in a basement and tied them up and stuffed a gag in their mouth. We don’t have to ‘find’ web1.0 on a milk carton somewhere. It still… it just works. Right now, today.

If you think I’m full of it and you’ve bought into beanie babies NFTs as the way forward, may I be the first to offer you an NFT of this week’s newsletter for the low, low price of $100,000 โ‚ฟ2.0372698? I’m not saying it’s going to go up in value, but I’m not saying it won’t either.

ฮฒ The Jetbrains Rider 2021.3 Early Access Program is open for people who hate the word ‘beta’. You can debug UWP, have support for .NET 6.0 and support for C# 10 features like file-scoped namespaces and global using statements. Global using statements are the devil.

๐Ÿ†• The Add New File Extension is now available for Visual Studio 2022. I’m sorry, I need a moment. You mean to tell me we haven’t been able to add new files to projects this entire time and I just noticed? Oh, you mean we haven’t been able to add new arbitrary files because a file always has to confirm with Visual Studio’s idea of what a file is. Sort of like how to create a Dockerfile I used to just create a new .cs file and then remove everything from it and rename it to Dockerfile. Funny enough this is not a first party extension, and Mads Kristensen works for Microsoft, so that tells us that Microsoft still can’t fix this seemingly easy-to-fix user experience issue, and instead their own took to an extension to fix this ludicrious state of things.

๐ŸŒจ๐ŸŒฉ Stop adopting multicloud to acheive application resilience, says Honeycomb’s Charity Majors Put down that OKR for a minute and just read this. Your boss probably wants multi-cloud, and you probably don’t. Here are some points you can use in a future conversation with them without using my personal favorite reason, “It’s a dumb idea”.

๐ŸŽ‚ October 14, 2021 marks the 25th anniversary of SysInternals tools that I grew up with and maybe you did too. When they first started out I wondered why they weren’t first-party tools, and later Microsoft bought them and turned them into First party tools.

๐Ÿ‘‰๐Ÿ‘ˆ LambdaNetCoreSamples repo has an example of how to run .NET 6 Lambda functions in AWS using the Amazon.Lmabda.Runtime Support package So this isn’t an ‘official’ AWS repo, but it’s from Norm, who works for AWS, and it shows off AWS. This feels hinky to me but I realize I’m in the minority here.

๐Ÿšช Microsoft Store: More apps, more open. Translation: “Please use our store. Thanks.”

๐Ÿ“ˆ Do you wanna see a performance graph of .NET 5 vs. .NET Framework 4.8? Of course you do. From 20% CPU to 5% CPU. That’s… Really good. Here’s some blog posts where those performance improvements have been talked about.

๐Ÿ˜ก The Executive Director of the .NET Foundation found herself in hot water for merging her own PR in on a .NET Foundation member project and my take on this is a bit more nuanced than you might think. You joined the .NET Foundation, and gave the .NET Foundation contributor rights, or even the copyright to your project. What did you think was going to happen? That they wouldn’t use those rights? If you give someone your toy, you can’t get mad that they play with your toy. You gave it to them.

I’ve been following topics like this for a while, and have asked for an update on the related topic.

๐Ÿงฆ Khalid Abuhakmeh talks about Compressing Strings with .NET And C# and I have now written the word Brotli completely in context.

๐Ÿ“Ž I gave Clippy AI and he wanted to die Very “The light inside is broken but I still work” energy from this one.

And that’s it for what happened Last Week in .NET.

[Last Week in .NET #61] – We named the dog Patches

๐ŸถPatch Tuesday as Microsoft calls it, or just “Tuesday” for the rest of us, is the day when Microsoft drops their patches. So far, so good. The Exchange team, however, decided to delay their monthly updates from the third Thursday (September 21st) to the fourth thursday (September 28th), because they want to get another patch in to this cumulative update.

This is the equivalent of my wife saying “I have news when I get home, we should talk then”. It’s never the good kind of news, and that ride always takes longer than it usually does.

โœจI don’t yell “Get off my lawn”. I don’t. I just chide these kids today for thinking their themes are something special. I grew up in the times of the WinAmp themes. These little piddling color changes mean nothing when you can have a Star Trek LCARs themed Winamp. Give me LCARS Visual Studio and then we can talk.

๐Ÿ‘‹LaBrina Loving will be talking about “Building a Highly Scalable Game with Azure Serverless” On September 29th, 2021. It’s Azure’s Serverless conference, and it’s free. Sign up here.

๐ŸŒฉAzure has had a bad month of cloud vulnerabilities. ChaosDB (where the root keys to the kingdom were exposed, exposing all the customers that used Azure Cosmos DB, Azurescape (cross account container takeover), OMIGOD (Microsoft’s default installed agent running on your OS — that oh by the way they want you to patch, even though they installed it, and Log Analytics roleprivesc (privilege escalation for Azure Log Analytics Contributor role). One of these is not like the others.

๐Ÿฆ„ Windows App SDK 1.0 Preview 1 (1.0.0-preview1) is not available. This is that project that seeks to unify the various methods of creating windows applications.

๐Ÿ“ฆ.NET 6 will have a package validation tool to make the nuget experience even more decadant.

๐ŸŽ‰Announcing Azure Functions 4.0 public Preview with .NET 6 support and because this is the new Microsoft, those breaking changes that will inevitably come are hosted on their Github.

๐Ÿš—Github shipped two security features: The Github Advisory Database supports Rust (they had to tell you about it), and npm access tokens now have an easy-to-identify format. The thread goes into deeper detail about what this means, but in the words of my spirit animal “All Good things, All good things”.

๐ŸšฟWhat Color is your Function? Bob Nystrom asks, and this blog goes deep into the problem with async vs sync and why it extends across pretty much every language that uses asynchronous constructs (except JavaScript because they wanted to be different).

โœŒTwo minutes of 8… new Microsoft products.

And that’s it for what happened Last Week in .NET

Eric Lippert on why Programming Languages Turn Out The Way They Do

โ€‹If you don’t know Eric Lippert, he was a member of the C# team for many years (And JScript– Remember JScript?) and Adam Rackis posed the following question on twitter:


Here’s Eric’s answer (it’s a tweet thread – so click the link to read the entire thread).ย 

It’s a wonderful answer that dives into those small little decisions we make that have outsized impacts.ย  As an example, he cites consultants changing course curriculum(s) yearly as a reason why some teams may get pressure not to add new features to their programming language!

To bring it back to what we talk about here:ย  Those little decisions combined with your company’s contexts — the business, technical, social, cultural, and financial states of mind your company is in – will have more of an impact on the ability for your systems to scale than any other factors. That’s why it’s crucial to fully understand these contexts before trying to make change in your system and company.

The “Too many white dudes” problem in software

 A member of my email list responded to yesterday’s email/post on Last Week in .NET, where I wrote:

โœ… The .NET Foundation elections are underway and they look a lot less diverse than I was hoping. I donโ€™t run because we donโ€™t need the opinion of yet another white dude; and also because it would be foolish to elect me as my entire platform would be to grow an ecosystem that competes with Microsoftโ€™s first-party offerings and get OSS people paid, and that would be seem to be at odds with the purpose of the .NET Foundation.

[Last Week in .NET #60] – Sourcing your Packages

and they said:

What has skin colour got to do with technology?

Email list’er, who wishes to remain anonymous

They’ve given me permission to share the question and to write my answer in a more public forum, so here let’s get into this.

First off, and perhaps most importantly: None of what I’m about to say is original to me. I’m synthesizing what I’ve learned from others, and where I can, I’ll credit them. At this point, though, there’s so many people talking about this stuff in my twitter feed (though not nearly enough in tech overall), that I may end up not crediting the right person or the ‘original’ source; please accept my apologies for that in advance. The reason I’m writing about this is because it makes sense and I believe it. If I didn’t, I wouldn’t write about it.

So let’s get the standard truisms out of the way:

  1. Skin Color and gender is not intrinsically a differentiator, but given how we treat people of other skin colors and genders in the large percentage of the time, it ends up as a useful lens for diversity. If you took the median white person in America and lined up their life experiences next to the median black person in America, I’m confident you’ll find out they see and experience two different Americas. As just one example, as a white person I’ve always had my parents tell me that “police are there to help, don’t be afraid”, and it wasn’t until I was in my 30s that I found out that Black people have a different conversation with their children about police — one borne out of a desire to stay alive during a police encounter. I hope there’s a time where we don’t treat people differently ever based on their skin color or gender, but until that time comes, this is the world we live in. We should recognize it for what it is.
  2. The fact that people of different colors experience different worlds and lives means that it’s just not possible for me as a white person to fully grasp the world that a person of color lives in. I can be told about it, I can learn about it, but I’m never going to have the fear that a person of color would during a police stop. I don’t live in that world.

Why does this matter for technology? As Kim Crayton points out, Technology is not neutral or apolitical. It is intertwined with how we live and make decisions as humans (what we refer to as ‘politics’).

3. Technology reflects the diversity of the people creating it.

Don’t believe me? Let’s go on a short and incomplete list of ways this manifests:

Kesha Williams even gave a talk at RevConf 2019 on how racial and gender Bias impacts technology. The linked tweetstorm shows screenshots and gives more examples from Kesha’s talk.

My point here is that software affects all of us, yet software (at least in America) is overwhelmingly created by white dudes that come from a middle-class or better background.

So how does this apply to the .NET Foundation? Building an inclusive community means including all parts of the community. Having worked in both Python and .NET, I’ve found that .NET (anecdotally) is a bit less diverse than Python. In order for the things we build to serve everyone well, we need everyone represented. Now, I don’t know if everyone is cycling out of the board or not, but at least from my perspective I would have liked to see few to no white guys, and more women of color and people of color. There are only 6 spots on the board (plus Microsoft’s mandated seat), and so representation becomes really important when there are so few seats.

If we want better software, software that reflects the people that will use it, we need more diverse teams. Reflecting diversity in Software and technology will be even more important as software continues to become the foundation of everything we do as a people. If we want software to help — not harm, then we have to take different walks of life into account when building software, and until we treat people of color the same as the average white-dude (and maybe not even then), that means paying attention to gender diversity and racial diversity in software.

[Last Week in .NET #60]- Sourcing Your Packages

๐Ÿ“ฃ.NET Core 3.1.19 has been released Big news here is that Alpine 3.14 and Debian 11 โ€œbullseyeโ€ are now supported. If you ever want to containerize your .NET applications, you’ll want to use Alpine if image size is a factor. Very small images. Very nice.

Something else that came across my radar while purusing these release notes is that “Arcade” is a thing. And it has nothing to do with gaming. Or adult stores (sorry, not sorry). Apparently it’s common build tooling for .NET Foundation projects. Now this project has probably been around with this name for years, but this is the first I’m seeing news about it.

๐Ÿ“ฃ.NET 5.0.10 has been released and it contains support for these docker images as well. It also has a few bug fixes in it. And in what is a break with tradition, no security fixes either.

๐Ÿ“ฃAnnouncing .NET 6 Release Candidate 1. This is a “Go Live” release, meaning it’s supported for production workloads. There are lots of goodies in here, from JITing improvements in the form of PGO and crossgen2, to Source Builds, to W^X, to HTTP/3 (why are we skipping HTTP/2? Hit reply and let me know), and more. This isn’t ‘user facing’, but it will make your applications more secure and faster.

โœ… The .NET Foundation elections are underway and they look a lot less diverse than I was hoping. I don’t run because we don’t need the opinion of yet another white dude; and also because it would be foolish to elect me as my entire platform would be to grow an ecosystem that competes with Microsoft’s first-party offerings and get OSS people paid, and that would be seem to be at odds with the purpose of the .NET Foundation.

5๏ธโƒฃNick Chapsas: 5 open source .NET projects that deserve more attention. The five? NBomber, CSharpRepl, Verify, FluentDocker, Cupboard. If you want to know what these do, watch the video.

๐Ÿ“‰Stack Overflow shows large drop in memory usage and increase in performance by upgrading from .NET 4.6.2 to .NET 5.0. Yaaas. Oh, and I’m sorry Webforms folks, you’re stuck on .NET 4.8.

๐Ÿ›  Make Microsoft Edge Dev Tools Your Own I will say, for the record, I am not a fan of the consolidation of browsers around Chrome’s rendering engine. That said, however, Edge sucks a lot less since they moved to a version of Chromium. Anyway, this blog post tells you how to customize Edge Dev Tools; which for historical reasons I’ve never touched. I’ve been too scarred by Internet Explorer. I guess I’ll have to give this a try now.

๐Ÿค– Microsoft to let users completely remove account passwords and go passwordless We are about 10 years away from implanting security keys into our bodies. I’m not here for that.

๐Ÿ›‘Use Azure Portal to create private link for managing Azure resources to which I am wondering: this didn’t already exist? Most of my experience is in AWS, and admittedly they’ve spoiled me; but I feel like this was in AWS years ago.

๐Ÿ—บIntroducing Package Source Mapping. The big news here is that you can specify where packages should be pulled from — individually. No more “Try these in descending order, if you find it here, get it, if you don’t, try this one, and so on, and so on”. The stated reason is to avoid supply chain attacks; which would have been a stop-gap for the Solarwinds supply chain attack, but if I remember correctly they did patch an internal DLL anyway, sooo.

๐Ÿ™ˆTravisCI exposes environment variables to everyone; half-asses their security response. If you use Travis CI (unlikely but possible), find another CI Vendor. Today.

And that’s it for what happened Last Week in .NET. For once Microsoft was not the main character for the security-fuck-up-of-the-week.

Aaron Stannard on Technical Debt and Optionality

I’ve written about technical debt before, (and will probably write about it a million times before all the writing is done), but the reason we’re chatting today, or rather, the reason you’re staring at these words on your computer monitor (how quaint), is that Aaron Stannard has written about technical debt too and he adds a dimension I hadn’t considered previously: optionality (if you’re into investing, this is similar to stock options or options trading).

I think this is a thoughtful and useful take; and it’s worth your time.

You can also find Aaron Stannard on twitter.

[Last Week in .NET #59] – Min/Max Life Changes

Saturday marked the 20th anniversary of the September 11, 2001 attacks; the effects of which changed the lives of billions of people. In a “very significant to me” moment but “incredibly insignificant to the world” view, I would never have met my wife or have the life and kids I have today if it weren’t for September 11th. A terrible event and aftermath that shaped reality as we know it. But this is not reminisce with George Stocker, it’s Last Week in .NET, so let’s get to it.

๐Ÿ‘€Minimal APIs at a glance in .NET 6 Scott Hanselman digs into what minimal APIs are and how they work. ‘Minimally’ is apparently the right answer.

๐ŸงDavid Fowler tweets a thread explaining the coolness behind Minimal APIs, and I’ve said it before and I’ll say it again. This is why I’m on twitter. This sort of thing would have been too minor to make a whole blog post out of, but is perfect for twitter.

๐ŸŽฉAmazon, Google, Microsoft, Cobra Command, and other tech companies are in a ‘frenzy’ to help ICE build its own data-mining tool for targeting unauthorized workers “Don’t be Evil” has a second part that isn’t usually vocalized: “unless we can make money being evil.”

๐ŸˆMatrix Resurrections: Official Trailer #1 is out 1999 called, and the Low rise jeans are coming back as well. This trailer made me very happy, and I hope the 4th iteration of the Matrix captures the magic the first one held.

โž–An Opinionated Look at Minimal API in .NET 6 a look at one of the possible ways to put minimal APIs into action. This is a first blush attempt, and while it may not be the solution, it at least gets us asking the right questions.

๐Ÿ’ฉGithub (2008) Merges ‘useless garbage’ says Linux Torvalds as new NTFS (1993) support added to Linux (1991) kernel 5.15 The creator of Git(2005) says that Github creates useless merges, while conversing on a listserve (1986) and accepting merge requests through Email (1971) .patch files. Does Linux surf the World Wide Web (1991)? I have to wonder.

As promised last week, this week was a light week. I’ll see you all next week.

[Last Week in .NET #58] – Deep Learning Means Never Having to Say You’re Sorry

๐Ÿ‘ทโ€โ™€๏ธ Working with Nuget Local Packages An up to date look at how to publish nuget packages locally.

๐Ÿค–๐Ÿง  Plan for Deep Learning in .NET The Machine Learning team at Micorosoft has published their plan for Deep Learning in .NET; and in case you don’t know the difference between Deep Learning and Machine Learning, I looked it up and the difference is ‘fuckall’. In all seriousness it looks like the difference is that the Deep Learning folks want AI to make its own decisions, instead of using human provided data to make decisions.

โฌ‡Download New Azure Architecture Icons now! These icons look rather spiffy but you know some executive at Microsoft wanted the name ‘Azure’ somewhere on these icons.

1๏ธโƒฃ1๏ธโƒฃMicrosoft announces Windows 11 will release on October 5 for new and existing PCs, and in other news they’ve added about 10 CPUs from the 7XXX series Intel CPUs, AKA “Intel 7th-generation Core” chips. If there wasn’t a pandemic and a world-wide shortage of chips, I wouldn’t be so ticked at Microsoft for requiring a CPU from 2018 or later.

๐Ÿ˜ท TechBash 2021 has been postponed If you want some semblance of normal: Get vaccinated if you can. Otherwise we’re likely to hear this same tune in 2022 as well.

2๏ธโƒฃ2๏ธโƒฃThere’s a Microsoft Event on September 22nd at 11am ET. I’ll be live tweeting this (@gortok on twitter).

๐Ÿšจ US CYBERCOM releases a cybersecurity alert about Atlassian Confluence CVE-2021-26084 and this CVE is bad enough for the US Fricking Government to use twitter to provide immediately and timely advice. If you use Atlassian Confluence on-prem, you want to patch immediately.

All in all a pretty light week; and with the short week this week it’s expected that next week will also be pretty light.

[Last Week in .NET #57] – So, Azure your keys are safe?

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.

[Last Week in .NET #56] – Silverlighted Sorting

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.