
Sign up to save your podcasts
Or


🕵️♀️ 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.”
Can you imagine the protocols Microsoft put in place to push Azure at all times?
🦜 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 it...
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...
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?
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? 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.
From the publisher's feed