POPULARITY
Daniel Roth is a Principal Product Manager on the ASP.NET team working on ASP.NET Core, Blazor, and other web features. He has previously worked on various parts of .NET, including System.Net, WCF, XAML, and ASP.NET. His passions include building frameworks for modern Web frameworks that are simple and easy to use. Topics of Discussion: [3:15] Daniel shares his journey from back-end services to front-end development and his role in making .NET open-source and cross-platform. [6:10] Blazor and its impact on development. [8:32] A few of the strengths we get with .NET. [9:24] .NET 9 and performance improvements. [12:45] .NET 10 Preview 1 and new features. [17:32] Architectural guidance for Blazor applications. [30:17] The importance of handling state persistence to avoid memory bloat and security issues. [32:32] Observability and telemetry in Blazor. [36:28] Is the nature of the UI web user interface changing as we integrate AI technology and large language models and agents? [37:12] Integration of AI and Generative AI in Blazor. [37:38] The new Microsoft Extensions AI library for interfacing with chat services in .NET applications. Mentioned in this Episode: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us at programming@palermo.net. Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo Ep 274 with Daniel Roth Daniel Roth LinkedIn What's New for ASP.NET Core Blazor in .NET9 Daniel Roth — Author in .NET Blog Performance Improvements in .NET9 .NET Preview 1 is now available! ASP.NET Core in .NET 10 Preview 1 — Release Notes ASP.NET Core Roadmap for .NET 10 #59443 Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
What's up with MAUI and Blazor? Carl and Richard chat with Beth Massi about the latest MAUI, including the new webview available on GitHub that lets you embed an existing web page into your MAUI app. Beth talks about making apps the way you want to - with a mobile, web, or desktop focus - or making them all! Mixing Blazor and MAUI means you can steer clear of XAML if you prefer. There's no right way to build your clients, and MAUI gives you many choices!
What's up with MAUI and Blazor? Carl and Richard chat with Beth Massi about the latest MAUI, including the new webview available on GitHub that lets you embed an existing web page into your MAUI app. Beth talks about making apps the way you want to - with a mobile, web, or desktop focus - or making them all! Mixing Blazor and MAUI means you can steer clear of XAML if you prefer. There's no right way to build your clients, and MAUI gives you many choices!
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes Yeah, so .NET MAUI is the .NET stack, framework, whatever you want to call it, for writing one code base that runs on what we call client devices, client platforms. So you have the web, you have ASP .NET Blazor and all that stuff. You have the console apps, you can write with C#, of course, so many backends and APIs and all of that stuff running in the cloud. But with MAUI, it's for client app development. So Android, iOS, macOS and Windows, you can target using XAML and C#, or just C# if you don't like XAML, or Razor if you want to. All are options. But you can write one code, business logic, your UI, all of your endpoint management and everything, all of that. And it's just written in C#. It's a .NET application. It's using .NET MAUI — Maddy Montaquila Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, Maddy Montaquila joined us to talk about .NET MAUI—the Multi-platform Application User Interface—what it is, it's history, and why developers who are looking for a first-party UI-framework their modern .NET apps should check it out. We can do that totally within MAUI. It's actually pretty easy. So you can just say like, "on platform Android, do this," or "on idiom," we call them idioms, right? Tablet, desktop, or phone. "On idiom, do this." We actually have customers who will ship in the same code base, like two completely different navigation stacks. So it will say, "on desktop, load it up with this nav stack and load into these pages. On mobile, load it up into this nav stack and load up these pages." But since you can share the components, you can basically say, "the navigation of my desktop app, everything is horizontal, but I pull in the same components. It's just like a different grid view than I would do on mobile where it's all stacked on top of each other and it's a scroll." Right? So you can get super flexible with all of it. — Maddy Montaquila So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/s6e17-net-maui-navigating-the-cross-platform-code-seas-with-maddy-montaquila/ Useful Links .NET Upgrade Assistant .NET MAUI VS Code extension C# Dev Kit David Ortinau's GitHub MAUI samples repo UIKit Mac Catalyst Maui.Markup ReactiveUI MVVM OpenJDK .NET MAUI documentation Android Studio aka.ms/mauidevkit-docs Bitwarden Cliff Agius Handy-App .NET Podcasts app eshop-mobile-client learn.microsoft.com James Montamagno Gerald Versluis You can email Maddy at maddy@microsoft.com .NET MAUI on Twitter The official .NET discord server .NET MAUI GitHub repo Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
On this episode of First Ring Daily, XAML will survive, a taskbar may be going away, and Mail is going away too.
Daniel Roth is a Principal Product Manager on the ASP.NET team working on ASP.NET Core, Blazor, and other web features. He has previously worked on various parts of .NET, including System.Net, WCF, XAML, and ASP.NET. His passions include building frameworks for modern Web frameworks that are simple and easy to use. Topics of Discussion: [3:08] Daniel talks about joining Microsoft fresh out of college and shares a brief history of how his career has evolved. [4:10] Working on Blazor with Steve Sanderson. [5:42] Different career paths at a company that sells software products. [7:20] How product managers blend technical and business aspects of software development. [10:40] There's nothing “normal” about Blazor. [12:25] Why Daniel would recommend Blazor. [15:34] The initial choice in building between Blazor server apps and web assembly apps, and how we have evolved past these two project template models. [16:29] Blazor components can be rendered in different ways depending on the render mode chosen. [27:15] The importance of maximizing choices in the future for an application. [30:28] Azure bill updates. [33:15] Server-side rendering, stateful vs stateless models, and new features in.NET 8. [37:00] Other exciting Blazor news and features, such as enhanced navigation. [39:55] Improvements for authentication and identity. Mentioned in this Episode: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us at programming@palermo.net. Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's Twitter — Follow to stay informed about future events! Ep #204 with Daniel Roth BlazorMVC BlazorMVC Nuget Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
Dakar bitcoin days est un forum 100% dédié au bitcoin. Dans cet épisode, nous avons invité des membres de cette communauté pour en savoir plus sur cet événement qui aura lieu du 1er au 2 décembre 2023. Invites Idy SECK (fondateur Xamlé bitcoin) Sébastien RAMOS (Entrepreneur) Site : https://dakarbitcoindays.com/
Dakar bitcoin days est un forum 100% dédié au bitcoin. Dans cet épisode, nous avons invité des membres de cette communauté pour en savoir plus sur cet événement qui aura lieu du 1er au 2 décembre 2023. InvitesIdy SECK (fondateur Xamlé bitcoin)Sébastien RAMOS (Entrepreneur)Site : https://dakarbitcoindays.com/Support the showChers auditeurs et auditrices, Vous appréciez le travail que nous faisons à travers le podcast et vous voulez nous voir évoluer et améliorer les émissions avec de nouvelles initiatives, alors vous pouvez soutenir le projet pour nous encourager davantage.Nous soutenir par ici
Leo, Paul, and Richard discuss issues with the reliability of File Explorer (is XAML the root cause?), Microsoft's decision to retire WordPad, antitrust lawsuits and investigations into Big Tech companies, Microsoft's upcoming Surface(?) event, automatic OneDrive uploads for Xbox captures, the launch of Bethesda's Starfield, digital decluttering tools, and more! Windows Canary: some changes to the Dynamic refresh rate feature, no more Power & Battery page in Settings, etc Dev: Bug fixes Beta: File Explorer fixes (INTERESTING, given last week's rant) A moment of silence, please: WordPad will be retired The secret life of WordPad via its source code release and it being an example for developers (over time) of MFC, open Word document format support, the ribbon, and more The future is open plain text: embrace Markdown Notepad and Snipping Tool are getting new features Microsoft is changing how it counts your OneDrive storage usage Events We forgot the Amazon devices event, which is September 20 Microsoft will host a OneDrive/AI event on October 3 Ignite registration just opened up - November 14-17 in Seattle Antitrust Amazon, Apple, Google, Microsoft, and others are all gatekeepers, EU says Bing: Hold my beer Zoom would like the FTC to unbundle Teams/M365 in the US Google is heading into an antitrust trial against the DOJ next week. Microsoft's approach to antitrust has changed a bit Margrethe Vestager is stepping aside to bid on a new job Google has tentatively settled a US Play Store class action antitrust lawsuit brought by over 30 states; the settlement is subject to the court's approval, according to a legal filing FTC to file antitrust lawsuit against Amazon after firm made no concessions, may seek to break up the company Xbox Microsoft to add auto OneDrive upload to Xbox game clips Xbox September Update is here with Discord game streaming New Game Pass titles for early September - Starfield among them Your Xbox Series S has arrived, Mr. Vader Lenovo has a Steam Deck competitor Tips & Picks Tip/app pick of the week: Digital decluttering RunAs Radio this week: Breach Reporting with Troy Hunt Brown liquor pick of the week: Old Perth 23 Hosts: Leo Laporte, Paul Thurrott, and Richard Campbell Download or subscribe to this show at https://twit.tv/shows/windows-weekly Get episodes ad-free with Club TWiT at https://twit.tv/clubtwit Check out Paul's blog at thurrott.com The Windows Weekly theme music is courtesy of Carl Franklin.
Leo, Paul, and Richard discuss issues with the reliability of File Explorer (is XAML the root cause?), Microsoft's decision to retire WordPad, antitrust lawsuits and investigations into Big Tech companies, Microsoft's upcoming Surface(?) event, automatic OneDrive uploads for Xbox captures, the launch of Bethesda's Starfield, digital decluttering tools, and more! Windows Canary: some changes to the Dynamic refresh rate feature, no more Power & Battery page in Settings, etc Dev: Bug fixes Beta: File Explorer fixes (INTERESTING, given last week's rant) A moment of silence, please: WordPad will be retired The secret life of WordPad via its source code release and it being an example for developers (over time) of MFC, open Word document format support, the ribbon, and more The future is open plain text: embrace Markdown Notepad and Snipping Tool are getting new features Microsoft is changing how it counts your OneDrive storage usage Events We forgot the Amazon devices event, which is September 20 Microsoft will host a OneDrive/AI event on October 3 Ignite registration just opened up - November 14-17 in Seattle Antitrust Amazon, Apple, Google, Microsoft, and others are all gatekeepers, EU says Bing: Hold my beer Zoom would like the FTC to unbundle Teams/M365 in the US Google is heading into an antitrust trial against the DOJ next week. Microsoft's approach to antitrust has changed a bit Margrethe Vestager is stepping aside to bid on a new job Google has tentatively settled a US Play Store class action antitrust lawsuit brought by over 30 states; the settlement is subject to the court's approval, according to a legal filing FTC to file antitrust lawsuit against Amazon after firm made no concessions, may seek to break up the company Xbox Microsoft to add auto OneDrive upload to Xbox game clips Xbox September Update is here with Discord game streaming New Game Pass titles for early September - Starfield among them Your Xbox Series S has arrived, Mr. Vader Lenovo has a Steam Deck competitor Tips & Picks Tip/app pick of the week: Digital decluttering RunAs Radio this week: Breach Reporting with Troy Hunt Brown liquor pick of the week: Old Perth 23 Hosts: Leo Laporte, Paul Thurrott, and Richard Campbell Download or subscribe to this show at https://twit.tv/shows/windows-weekly Get episodes ad-free with Club TWiT at https://twit.tv/clubtwit Check out Paul's blog at thurrott.com The Windows Weekly theme music is courtesy of Carl Franklin.
Leo, Paul, and Richard discuss issues with the reliability of File Explorer (is XAML the root cause?), Microsoft's decision to retire WordPad, antitrust lawsuits and investigations into Big Tech companies, Microsoft's upcoming Surface(?) event, automatic OneDrive uploads for Xbox captures, the launch of Bethesda's Starfield, digital decluttering tools, and more! Windows Canary: some changes to the Dynamic refresh rate feature, no more Power & Battery page in Settings, etc Dev: Bug fixes Beta: File Explorer fixes (INTERESTING, given last week's rant) A moment of silence, please: WordPad will be retired The secret life of WordPad via its source code release and it being an example for developers (over time) of MFC, open Word document format support, the ribbon, and more The future is open plain text: embrace Markdown Notepad and Snipping Tool are getting new features Microsoft is changing how it counts your OneDrive storage usage Events We forgot the Amazon devices event, which is September 20 Microsoft will host a OneDrive/AI event on October 3 Ignite registration just opened up - November 14-17 in Seattle Antitrust Amazon, Apple, Google, Microsoft, and others are all gatekeepers, EU says Bing: Hold my beer Zoom would like the FTC to unbundle Teams/M365 in the US Google is heading into an antitrust trial against the DOJ next week. Microsoft's approach to antitrust has changed a bit Margrethe Vestager is stepping aside to bid on a new job Google has tentatively settled a US Play Store class action antitrust lawsuit brought by over 30 states; the settlement is subject to the court's approval, according to a legal filing FTC to file antitrust lawsuit against Amazon after firm made no concessions, may seek to break up the company Xbox Microsoft to add auto OneDrive upload to Xbox game clips Xbox September Update is here with Discord game streaming New Game Pass titles for early September - Starfield among them Your Xbox Series S has arrived, Mr. Vader Lenovo has a Steam Deck competitor Tips & Picks Tip/app pick of the week: Digital decluttering RunAs Radio this week: Breach Reporting with Troy Hunt Brown liquor pick of the week: Old Perth 23 Hosts: Leo Laporte, Paul Thurrott, and Richard Campbell Download or subscribe to this show at https://twit.tv/shows/windows-weekly Get episodes ad-free with Club TWiT at https://twit.tv/clubtwit Check out Paul's blog at thurrott.com The Windows Weekly theme music is courtesy of Carl Franklin.
Leo, Paul, and Richard discuss issues with the reliability of File Explorer (is XAML the root cause?), Microsoft's decision to retire WordPad, antitrust lawsuits and investigations into Big Tech companies, Microsoft's upcoming Surface(?) event, automatic OneDrive uploads for Xbox captures, the launch of Bethesda's Starfield, digital decluttering tools, and more! Windows Canary: some changes to the Dynamic refresh rate feature, no more Power & Battery page in Settings, etc Dev: Bug fixes Beta: File Explorer fixes (INTERESTING, given last week's rant) A moment of silence, please: WordPad will be retired The secret life of WordPad via its source code release and it being an example for developers (over time) of MFC, open Word document format support, the ribbon, and more The future is open plain text: embrace Markdown Notepad and Snipping Tool are getting new features Microsoft is changing how it counts your OneDrive storage usage Events We forgot the Amazon devices event, which is September 20 Microsoft will host a OneDrive/AI event on October 3 Ignite registration just opened up - November 14-17 in Seattle Antitrust Amazon, Apple, Google, Microsoft, and others are all gatekeepers, EU says Bing: Hold my beer Zoom would like the FTC to unbundle Teams/M365 in the US Google is heading into an antitrust trial against the DOJ next week. Microsoft's approach to antitrust has changed a bit Margrethe Vestager is stepping aside to bid on a new job Google has tentatively settled a US Play Store class action antitrust lawsuit brought by over 30 states; the settlement is subject to the court's approval, according to a legal filing FTC to file antitrust lawsuit against Amazon after firm made no concessions, may seek to break up the company Xbox Microsoft to add auto OneDrive upload to Xbox game clips Xbox September Update is here with Discord game streaming New Game Pass titles for early September - Starfield among them Your Xbox Series S has arrived, Mr. Vader Lenovo has a Steam Deck competitor Tips & Picks Tip/app pick of the week: Digital decluttering RunAs Radio this week: Breach Reporting with Troy Hunt Brown liquor pick of the week: Old Perth 23 Hosts: Leo Laporte, Paul Thurrott, and Richard Campbell Download or subscribe to this show at https://twit.tv/shows/windows-weekly Get episodes ad-free with Club TWiT at https://twit.tv/clubtwit Check out Paul's blog at thurrott.com The Windows Weekly theme music is courtesy of Carl Franklin.
Leo, Paul, and Richard discuss issues with the reliability of File Explorer (is XAML the root cause?), Microsoft's decision to retire WordPad, antitrust lawsuits and investigations into Big Tech companies, Microsoft's upcoming Surface(?) event, automatic OneDrive uploads for Xbox captures, the launch of Bethesda's Starfield, digital decluttering tools, and more! Windows Canary: some changes to the Dynamic refresh rate feature, no more Power & Battery page in Settings, etc Dev: Bug fixes Beta: File Explorer fixes (INTERESTING, given last week's rant) A moment of silence, please: WordPad will be retired The secret life of WordPad via its source code release and it being an example for developers (over time) of MFC, open Word document format support, the ribbon, and more The future is open plain text: embrace Markdown Notepad and Snipping Tool are getting new features Microsoft is changing how it counts your OneDrive storage usage Events We forgot the Amazon devices event, which is September 20 Microsoft will host a OneDrive/AI event on October 3 Ignite registration just opened up - November 14-17 in Seattle Antitrust Amazon, Apple, Google, Microsoft, and others are all gatekeepers, EU says Bing: Hold my beer Zoom would like the FTC to unbundle Teams/M365 in the US Google is heading into an antitrust trial against the DOJ next week. Microsoft's approach to antitrust has changed a bit Margrethe Vestager is stepping aside to bid on a new job Google has tentatively settled a US Play Store class action antitrust lawsuit brought by over 30 states; the settlement is subject to the court's approval, according to a legal filing FTC to file antitrust lawsuit against Amazon after firm made no concessions, may seek to break up the company Xbox Microsoft to add auto OneDrive upload to Xbox game clips Xbox September Update is here with Discord game streaming New Game Pass titles for early September - Starfield among them Your Xbox Series S has arrived, Mr. Vader Lenovo has a Steam Deck competitor Tips & Picks Tip/app pick of the week: Digital decluttering RunAs Radio this week: Breach Reporting with Troy Hunt Brown liquor pick of the week: Old Perth 23 Hosts: Leo Laporte, Paul Thurrott, and Richard Campbell Download or subscribe to this show at https://twit.tv/shows/windows-weekly Get episodes ad-free with Club TWiT at https://twit.tv/clubtwit Check out Paul's blog at thurrott.com The Windows Weekly theme music is courtesy of Carl Franklin.
James does some experiments with building .NET MAUI UI without any XAML at all and completely in C#! We discuss the pros, cons, and if James will continue his journey to C# only! Follow Us Frank: Twitter, Blog, GitHub James: Twitter, Blog, GitHub Merge Conflict: Twitter, Facebook, Website, Chat on Discord Music : Amethyst Seer - Citrine by Adventureface ⭐⭐ Review Us (https://itunes.apple.com/us/podcast/merge-conflict/id1133064277?mt=2&ls=1) ⭐⭐ Machine transcription available on http://mergeconflict.fm
Brian Lagunas is a Microsoft MVP, a Microsoft Patterns & Practices Champion, leader of the Boise .Net Developers User Group (NETDUG), board member of Boise Code Camp, speaker, trainer, and Pluralsight author. He can be found speaking at a variety of developer events around the world. His talks always involve some form of markup (XAML or HTML), as well as how to build well-architected applications with Prism. In his spare time, he authors courses for Pluralsight, blogs, livestreams about various technologies, and manages the Prism Library. The easiest way to find Brian is on Twitter at @BrianLagunas. Topics of Discussion: [2:21] High points in Brian's career that have shaped his way of thinking about software, including starting his career at a global infrastructure company construction company. [5:22] The mentor that taught Brian about the importance of getting your foundation right. [7:11] How today's development mindset is different. [8:40] How does Brian balance or reason those competing pressures from the outside? [9:52] Delivering quality first and creating a long-term plan for the team. [12:43] Fixing problems with the software versus working on new capabilities. [15:56] Brian's approach when he took the team over, and how he handled any resistance and pushback by showing his team firsthand better efficiency and productivity. [16:26] How Brian measured actual progress. [21:02] The value of having a subjective opinion. [22:30] What quality controls does Brian put in place? [25:42] The issue Brian and his team found. [27:51] What kind of skills did Brian have to employ to make this level of testing possible? [29:15] The importance of everyone being open to helping and learning from each other and helping out where they can. [29:50] How Brian thinks about pull requests. [32:14] Stay tuned for Brian's thoughts on static analysis. [33:41] The emotional side of things and how people feel about their work when they are focused more on development and spending less time fighting fires. Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us programming@palermo.network Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps .NET Brian Lagunas — Ep #228 Improve Pull Request Descriptions Using Templates Continuous Integration: Improving Software Quality and Reducing Risk, by Paul M. Duvall, Steve Matyas, and Andrew Glover Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
const podcast = { episode: 200, title: 'There's Something .NET Maui', topics: [ '.Net', 'C#', 'frameworks' ], guest: 'Jesse Liberty' hosts: [ 'John Papa', 'Dan Wahlin' ]};Recording date: June 8, 2023John Papa @John_PapaWard Bell @WardBellDan Wahlin @DanWahlinCraig Shoemaker @craigshoemakerJesse Liberty @JesseLibertyBrought to you byAG GridIdeaBladeResources:Jesse's Mastodon.NET MAUI For C# DevelopersChatGPTLearning .NET Maui.NET Multi-platform App UI Community ToolkitXamarin FormsC# DocumentationLearn about XAMLAnders HejlsbergZeldaFlutterReact NativeIonic FrameworkSpider-Man: Across the Spider-VerseJesse Liberty BookshopTimejumps00:30 Welcome01:19 Who is Jesse Liberty?05:38 What is .NET Maui?07:27 What was Xamarin forms?08:36 Sponsor: Ag Grid09:45 Why was .NET Maui created to replace Xamarin Forms?11:13 What is XAML?14:49 What do you need to build Maui applications?19:13 Sponsor: IdeaBlade20:09 Who is .NET Maui for?22:39 What is the community ecosystem for .NET Maui like?26:58 What's the process for building backend APIs with .NET Maui?30:13 Final thoughtsPodcast editing on this episode done by Chris Enns of Lemon Productions.
That is right! Everyone's favorite MP3 player is back! This time due to a collaboration with Guardians of the Galaxy, but it doesn't matter because Hanselman and others have found ways to revive it in 2023. We discuss the Zune software, UI stack, why we loved it, and why it may have been the best XAML to XAML. Follow Us Frank: Twitter, Blog, GitHub James: Twitter, Blog, GitHub Merge Conflict: Twitter, Facebook, Website, Chat on Discord Music : Amethyst Seer - Citrine by Adventureface ⭐⭐ Review Us (https://itunes.apple.com/us/podcast/merge-conflict/id1133064277?mt=2&ls=1) ⭐⭐ Machine transcription available on http://mergeconflict.fm
Maddy Montaquila is a Senior Product Manager on the .NET MAUI team and has been working with .NET mobile apps since 2018 working on Xamarin tooling. When she first joined Microsoft and worked with the Xamarin team as an intern, she realized the impact that she could have in creating amazing developer tools and frameworks, which inspired her to pursue a role as Program Manager. You can connect with her on Twitter and GitHub @maddymontaquila! Topics of Discussion: [4:21] How did Maddy get lucked into development and the mobile side of product management? [7:39] You can distill product manager roles to the intersection of the technology and what's possible, the business, what's going to make you money, and what your customers actually want and need. [9:17] Why is it important for program managers to have at least some coding background? [10:41] When people dive into Maui, what can they expect right now? [15:44] What tools or resources does someone need to get started, and what are the limitations? [20:44] What is the current DevOps story for going from a developer workstation all the way through testing and packaging, and then finally delivering it to the App Store? [23:47] Is there a favorite deployed test framework? [27:26] Why does Maddy prefer sometimes to work in Xaml? [29:17] If you're going to reach for controls right now, is everything that they need built-in? What is the status of DevExpress? [37:03] It's a great time to be a .net developer! Mentioned in this Episode: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us at programming@palermo.network Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps .NetMaui Maddy on LinkedIn .NET Multi-Platform App .Net Maui Samples .Net Maui Development Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
Brian Lagunas is a Microsoft MVP, a Microsoft Patterns & Practices Champion, leader of the Boise .Net Developers User Group (NETDUG), board member of Boise Code Camp, speaker, trainer, and Pluralsight author. He can be found speaking at a variety of developer events around the world. His talks always involve some form of markup (XAML or HTML), as well as how to build well-architected applications with Prism. In his spare time, he authors courses for Pluralsight, blogs, livestreams about various technologies, and manages the Prism Library. The easiest way to find Brian is on Twitter at @BrianLagunas. Topics of Discussion: [2:43] What triggered Brian to go from the Army into programming? [5:49] Brian started in Java because that's how new .NET was. [8:22] What is Reveal, and how many code bases do you have to reach all those places? [12:37] What is Brian's thought about using Blazer vs. JavaScript vs. Typescript? [15:20] How do we bridge the gap between using NPM and Blazer Applications? [17:31] How does Brian think about the different levels of unit tests of these different types of code, and then what classifications do you create in your test libraries? [21:47] What is App Builder? [24:39] What's the track record of App Builder? Is it already mainstream? [30:20] What Brian's team is focused on now is getting that initial application built, generated, out the door, and ready for the developer to implement the logic. Mentioned in this Episode: Architect Tips — New video podcast! Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's YouTube Jeffrey Palermo's Twitter — Follow to stay informed about future events! Programming with Palermo programming@palermo.network Brian Lagunas Brian Lagunas Microsoft Profile GitHub Brian Lagunas Brian Lagunas LinkedIn Brian Lagunas Twitter Plural Sight Brian Lagunas Brian Lagunas YouTube Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
Daniel Roth is a principal product manager on the ASP.NET team working on ASP.NET Core, Blazor, and other web features. He has previously worked on various parts of .NET, including System.Net, WCF, XAML, and ASP.NET. His passions include building frameworks for modern Web frameworks that are simple and easy to use. Topics of Discussion: [2:45] Daniel talks about the high points of his career that led him to the ASP.NET team, along with a few changes he has seen in the industry, along the way. [6:25] The developer ecosystems have been opened up. [7:40] Daniel talks about Blazor Hybrid. [9:43] If you have a web app, and you want to just reuse that UI within a native client app, you can have a common set of Blazor components that are used across both. [10:28] Daniel talks about .NET 7 and how they are taking it to the next level. [14:46] The Blazor Native Experiment is available through a project called the Mobile Blazor Bindings Project. [24:03] Jeffrey asks Daniel about his favorite ways that people should be testing the UI level of Blazor Applications. [27:03] What people should be expecting in the next year. [34:16] Tooling and debugging is an area we can continue to actively invest in. Mentioned in this Episode: Architect Tips — New video podcast! Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's YouTube Jeffrey Palermo's Twitter — Follow to stay informed about future events! “Daniel Roth On Web Development With .Net 6” “Egil Hansen on Blazor Testing with bUnit” Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
In this episode, I was joined by Clifford Agius to chat about both .NET MAUI, and also developing for IoT. (These were separate topics - not specifically IoT on MAUI). Clifford is an airline pilot who's also a freelance .NET developer who regularly blogs and speaks at conferences around the world!MAUI (Multi-platform App UI) is a new .NET framework for building multi-platform apps - both mobile (iOS/Android) and desktop (macOS/Windows) using C# and XAML in a single codebase. It also supports Blazor components for those that prefer that over XAML.We also chatted about an incredible life-changing project that Clifford has worked on, building a 3D-printed prosthetic arm, which has helped turn a young boy's life around.For a full list of show notes, or to add comments - please see the website here
Frank and James cover all the great developer bits from Build 2022 including Win UI 3, Project Voleterra, Arm64, .NET MAUI Launch, and so much more. Follow Us Frank: Twitter, Blog, GitHub James: Twitter, Blog, GitHub Merge Conflict: Twitter, Facebook, Website, Chat on Discord Music : Amethyst Seer - Citrine by Adventureface ⭐⭐ Review Us (https://itunes.apple.com/us/podcast/merge-conflict/id1133064277?mt=2&ls=1) ⭐⭐ Machine transcription available on http://mergeconflict.fm
Frank and James cover all the great developer bits from Build 2022 including Win UI 3, Project Voleterra, Arm64, .NET MAUI Launch, and so much more. Follow Us Frank: Twitter, Blog, GitHub James: Twitter, Blog, GitHub Merge Conflict: Twitter, Facebook, Website, Chat on Discord Music : Amethyst Seer - Citrine by Adventureface ⭐⭐ Review Us (https://itunes.apple.com/us/podcast/merge-conflict/id1133064277?mt=2&ls=1) ⭐⭐ Machine transcription available on http://mergeconflict.fm
On this episode of DevTalk I speak to Leomaris Reyes about best practices for XAML for Xamarin.Forms and .NET MAUI. Links: Leomaris's blog #SomeTips: Best practices for UI Handling! Platzi
How do you build cross-platform UI? Carl and Richard talk to Dan Walmsley about Avalonia, a lightweight, cross-platform UI using XAML and C#. Dan talks about supporting an array of Linux GUIs, Windows, macOS, WebAssembly, Raspberry PI, iOS, and Android! Avalonia comes from the Linux and Mono world and now runs with .NET 6 - you should check it out!
How do you build cross-platform UI? Carl and Richard talk to Dan Walmsley about Avalonia, a lightweight, cross-platform UI using XAML and C#. Dan talks about supporting an array of Linux GUIs, Windows, macOS, WebAssembly, Raspberry PI, iOS, and Android! Avalonia comes from the Linux and Mono world and now runs with .NET 6 - you should check it out!Support this podcast at — https://redcircle.com/net-rocks/donations
How do you build cross-platform UI? Carl and Richard talk to Dan Walmsley about Avalonia, a lightweight, cross-platform UI using XAML and C#. Dan talks about supporting an array of Linux GUIs, Windows, macOS, WebAssembly, Raspberry PI, iOS, and Android! Avalonia comes from the Linux and Mono world and now runs with .NET 6 - you should check it out!
How do you build cross-platform UI? Carl and Richard talk to Dan Walmsley about Avalonia, a lightweight, cross-platform UI using XAML and C#. Dan talks about supporting an array of Linux GUIs, Windows, macOS, WebAssembly, Raspberry PI, iOS, and Android! Avalonia comes from the Linux and Mono world and now runs with .NET 6 - you should check it out!
How do you build cross-platform UI? Carl and Richard talk to Dan Walmsley about Avalonia, a lightweight, cross-platform UI using XAML and C#. Dan talks about supporting an array of Linux GUIs, Windows, macOS, WebAssembly, Raspberry PI, iOS, and Android! Avalonia comes from the Linux and Mono world and now runs with .NET 6 - you should check it out!Support this podcast at — https://redcircle.com/net-rocks/donations
This week we are joined by our good friend Daniel Hindrikes. Daniel shares his experiences writing Blazor apps. We talk about Web Assembly vs Server hosting, integration into .NET MAUI apps, bindings in Blazor and using Razor Pages to write your UI. Does Daniel miss XAML? Tune in and find out.
Is desktop development still relevant? Billy Hollis says yes! Carl and Richard talk to Billy about his work building desktop apps, primarily with XAML. Billy talks about how desktop development has evolved even though a lot of folks have steered clear of it for years, doing all development with web clients. What is better with a traditional desktop client? The conversation also swings to how users interact with software, how developers learn, and how we could all stand to take a step back, decrease our rate of interruption, and focus more!
Is desktop development still relevant? Billy Hollis says yes! Carl and Richard talk to Billy about his work building desktop apps, primarily with XAML. Billy talks about how desktop development has evolved even though a lot of folks have steered clear of it for years, doing all development with web clients. What is better with a traditional desktop client? The conversation also swings to how users interact with software, how developers learn, and how we could all stand to take a step back, decrease our rate of interruption, and focus more!Support this podcast at — https://redcircle.com/net-rocks/donations
Is desktop development still relevant? Billy Hollis says yes! Carl and Richard talk to Billy about his work building desktop apps, primarily with XAML. Billy talks about how desktop development has evolved even though a lot of folks have steered clear of it for years, doing all development with web clients. What is better with a traditional desktop client? The conversation also swings to how users interact with software, how developers learn, and how we could all stand to take a step back, decrease our rate of interruption, and focus more!Support this podcast at — https://redcircle.com/net-rocks/donations
This month James and Matt talk about new Microsoft Learn modules on the Surface Duo. The continuing saga of the Xamarin.Forms Shell quick tips. Of course it's a new month and that means there's a new preview version of Visual Studio! Find out all the goodness that goes along with that. If you wanted to detect if your app was run for the first time ever, or the first time for a new version, or whatevs... Xamarin.Essentials has you covered with a great API. James and Matt also talk about how to really supercharge your Xamarin.Android app startup times. There's a ton of Azure news too ... including some confusion over what exactly the service of the month should be! And of course, the Azure Service of the Month and Pick of the Pod! Show Notes New Releases Visual Studio v16.8 Preview 2 (https://devblogs.microsoft.com/visualstudio/visual-studio-2019-v16-8-preview-2/?WT.mc_id=xamarinpodcast77-podcast-masoucou) XAML hot reload for UWP in action (https://www.youtube.com/watch?v=L41j_HY65vE&list=PL1rZQsJPBU2St9-Mz1Kaa7rofciyrwWVx&index=2) Microsoft Learn Surface Duo Developer Training for Xamarin.Forms (https://devblogs.microsoft.com/surface-duo/xamarin-developer-training-on-microsoft-learn/?WT.mc_id=xamarinpodcast77-podcast-masoucou) Latest News App first run detection with Xamarin.Essentials (https://devblogs.microsoft.com/xamarin/first-run-xamarin-essentials/?WT.mc_id=xamarinpodcast77-podcast-masoucou) Profiling Xamarin.Android startup (https://devblogs.microsoft.com/xamarin/performance-xamarin-android-apps/?WT.mc_id=xamarinpodcast77-podcast-masoucou) Xamarin.Forms Shell Quick Tips: Modal Navigation (https://devblogs.microsoft.com/xamarin/xamarin-forms-shell-quick-tip-modal-navigation/?WT.mc_id=xamarinpodcast77-podcast-masoucou) Azure News Managed Identities w/ Azure Functions (https://devblogs.microsoft.com/azure-sdk/secretless-azure-functions-dev-with-the-new-azure-identity-libraries/?WT.mc_id=xamarinpodcast77-podcast-masoucou) Azure Cosmos DB for the SQL Professional (https://devblogs.microsoft.com/cosmosdb/how-to-handle-reference-tables-in-cosmos-db-that-are-common-in-the-relational-database-world/?WT.mc_id=xamarinpodcast77-podcast-masoucou) Understanding Azure Cosmos DB for relational data (https://www.jamesserra.com/archive/2018/06/understanding-cosmos-db/) Azure Service of the Month Managed Identities (https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview?WT.mc_id=xamarinpodcast77-podcast-masoucou) Pick of the Pod! Microsoft Word (https://word.office.com) As always, get yourself some free Azure here (https://azure.microsoft.com/free?WT.mc_id=xamarinpodcast77-podcast-masoucou)! Follow Us: * James: Twitter (https://twitter.com/jamesmontemagno), Blog (https://montemagno.com), GitHub (http://github.com/jamesmontemagno), Merge Conflict Podcast (http://mergeconflict.fm) * Matt: Twitter (https://twitter.com/codemillmatt), Blog (https://codemilltech.com), GitHub (https://github.com/codemillmatt)
.NET 5 RC1 is coming soonOk so technically this isn't "released" yet but David Fowler of the .NET team shared this photo in a tweet that shows two interesting tidbits, .NET 5 preview 7 is the last preview (AKA 'alpha') release and .NET 5 (Version 5.0.100) RC1 is coming soon. The other interesting tidbit is the 'master' branch (poor naming choice) is .NET 6.0.x, and at least as of this moment .NET 6 is slated for November 2021.Microsoft Ignite is September 22-24th, 2020, and is Free.Sign up here: https://www.microsoft.com/en-us/igniteDevIntersection is hosting a 2-day series of workshops on .NET:https://virtual.devintersection.com/#!/ is hosting a virtual 2-day series of workshop for the corporate friendly price of $199 on October 26th and October 27th 2020. Speakers include some pretty big names in the .NET space, including the Gu (sigh. Fine, "Scott Guthrie"), Kimberly Tripp, , Carl Franklin, Michelle Bustamente, and Scott Hunter.Each workshop is $199 and for that you also get access to the free keynotes. I signed up for the keynotes, and understand that if you do, you can be entered to win an XBox or a free workshopMicrosoft's Ignite conference is September 22-24, 2020, and is free. The subtitle of the conference is "Empowering the technical community to help customers innovate and rebuild in a changing world" which roughly translates to "Build new &$@#, get paid". Registration opens September 3rd, 2020.Looks like CSharpForMarkup is staying in Xamarin Forms 5do you ever see those fight videos on youtube that start just a few seconds too late so you don't know what caused it and you're left reading the comments to figure out what the hell is going on? This is like that, but on Github.Anyway, turns out after the team was going to take out CSharpFormarkup support out of Xamarin Forms 5 and move it to .NET 6 (MAUI), the loud voices on Github convinced them to keep it in.C# for Markup allows a programmer to write C# markup instead of XAML for Xamarin forms. Looks neat. Incidentally, it was the author of C#ForMarkup that let me know about this on twitter.EFCore updates -- Many to Many is in the daily buildsYou know an ORM is nascent when Many-to-Many support is just landing. I remember when EFCore was billed as a lightweight alternative to EF6. There's no doubt that Entity Framework 6 was plagued by three different ways to do the same thing with teams ending up mixing and matching and driving each other crazy. The hope is the EFCore team keeps their eye on the ball and keeps a unified focus on what the API should look like for EFCore. Given that Microsoft's bread is buttered by large enterprises that hate change, I'm not holding my breath, however.Emotions we have but don't can't explainThis is still messing me up.Scott Hanselman releases a video explaining the .NET EcosystemIf you're new to .NET (or even if you aren't) this video by Scott Hanselman explains the .NET ecosystem in all its 20 year sprawling majesty in a youtube video.Tempted to make a TikTok. Let's GO!*.The .NET Team releases a deep dive into how .NET is built and releasedThis is a follow-up to the public twitter statement that .NET daily builds aren't available when there are undisclosed security fixes; the .NET went through their entire build process. On a personal note, I made it through after a two-drink minimum. It also brings to sharp relief that .NET will always have Microsoft as its benevolent dictator for life.Maoni Stephens releases a 3 part series on the .NET GC on YoutubeMaoni Stephens shares how the GC works in three parts. I love these sorts of videos. I had to learn about the GC from Jeffrey Richter's "CLR via C#" book (back when there was only 1 edition), and now we can learn this stuff on Youtube. There's a little bit of jealousy, but mostly I'm grateful for people who take the time to share this stuff.Mads Torgerson addresses the viral "stuff I wish C# had but doesn't" tweetMads went to twitter to address the tweet that made it on the Orange Site that detailed some changes the author wishes C# had. Mads wrote: This is a great list of useful features missing from C#. They aren't fundamental flaws and could all be addressed; many are already on the radar for future versions. E.g. primary constructors are planned for C# 10.0, and could then be a building block for object expressions.I'm not really one to ask about all these new features because I'd be perfectly happy with C# 5. Some of the newer features are rather nice; but I don't think fundamental tinkering with the syntax of a language is a great way to maintain language cohesiveness. Call me old fashioned.Rick Brewster opines on what neat things you could do if we could get rid of the .Count property for certain collections:https://threadreaderapp.com/thread/1295936199345844224.htmlDid you know the ASP.NET community team holds a weekly Standup?I'm not sure it's actually a standup but naming is hard. Anyway, you can check it weekly, here.Proposal to allow Wildcard using statementsIf you've used Python or TypeScript, you've seen this sort of approach when importing modules from a third-party library. Dave mentions it as a way to handle the fact that some types of utility methods (like extension methods) should really be at the top level, even though organizationally, Visual Studio loves it when your namespaces reflect your folder structure, and penalizes you with red squigglies when you don't. It's an interesting proposal, and I'm going to keep an eye on it.System.Text.Json getting more love for .NET 5.After Microsoft bought out Newtonsoft and its author, it immediately set to replacing NewtonSoft.Json with it's own System.Text.Json (incidentally, I'm not clear as to whether James Newton-King worked on System.Text.Json), and for .NET 5 it appears System.Text.Json is getting some much needed additions. It even has its own Kanban board.David Fowler of the .NET team shows off more Top-level statementsI'm torn on top-level statements. One of my favorite parts of Perl was the ease at which I could create a one-liner or a single file program, and from a nostalgia perspective I'm happy C# is getting that, but on the other hand, it's this "there's ten billion ways to do the same thing" that ends up plaguing all programming language environments and making it hard for new people to figure out what the hell is going on. Yea, "You're only new once", but it's an eternal september out here, folks.Anyway, David Fowler shows off what you can do with Top-level statements in this tweet.What's coming with Blazor in .NET 5?The .NET Team showed off blazor improvements during their .NET community standup, I missed this when it happened, but I absolutely refuse to rename this the "Last two weeks in .NET" newsletter.Some of the touted improvements: CSS Isolation Lazy-loading Auto refresh with dotnet watch Blog post on C# 9 records has been releasedC# 9 makes it easier to declare immutable data structures with the advent of Records.Todo: Fix vulnerabilityhttps://krebsonsecurity.com/2020/08/microsoft-put-off-fixing-zero-day-for-2-years/Microsoft patched CVE-2020-1464 on August 11 during their normal Patch Tuesday release. This CVE dealt with how Windows validates digital signatures for programs. Developers among us call this 'code signing', and it allows for a company to have their software blessed as being 'from them' and just as importantly verify that nobody mucked with the executable itself. One of the more frightening parts of the internet is that before code signing (and even after it), we just blindly trust software we downlaod, and that was fine when it didn't underpin our way of life, but this being 2020, software is everywhere, used for everything.This CVE exploited that process to effectively spoof the origin of a piece of software, or more nefariously, be able to modify an executable without triggering a warning upon install.All of this is normal so far, as far as CVEs go. They happen, and they get patched. What makes this remarkable is that Microsoft waited two years to patch this CVE, even though there was evidence it was being exploited in the wild and that researchers told Microsoft of this fact repeatedly.In case that isn't enough to raise the hairs on the back of your neck, one of the people who knew it was being exploited, Bernardo Quintero, released a blog post detailing how it was being exploited -- after all, his company, VirusTotal, detects malware as a service. As Brian Krebs quotes in his post: “In short, an attacker can append a malicious JAR to a MSI file signed by a trusted software developer (like Microsoft Corporation, Google Inc. or any other well-known developer), and the resulting file can be renamed with the .jar extension and will have a valid signature according Microsoft Windows,” Quintero wrote. [...] “Microsoft has decided that it will not be fixing this issue in the current versions of Windows and agreed we are able to blog about this case and our findings publicly,” his blog post concluded.The exploit is called Glueball (Developers, take note, security researchers are better at naming than we are).But the over all part of this that burns my backside is that Microsoft knew and publicly did nothing about the exploit for two years. In fact, when asked the very question of "Why the hell didn't you do something for two years?" The representative from Microsoft answered (with temerity, I'm sure) "Windows user who have applied the latest security updates are protected from this attack". “A security update was released in August,” Microsoft said in a written statement sent to KrebsOnSecurity. “Customers who apply the update, or have automatic updates enabled, will be protected. We continue to encourage customers to turn on automatic updates to help ensure they are protected.”I'm opining here, but I can't believe Microsoft would let such a risky exploit go for two years unless they were forced to. I wouldn't be surprised if a nation-state actor was using that exploit and politely asked Microsoft not to patch it.Yes, that's an opinion, but that is slightly more plausible than Microsoft saying "No big deal, let's wait two years to fix an already exploited security Vulnerability.We've seen Microsoft jump into action immediately on Zero-days; but this behavior from Mirosoft is just too weird to ignore.C# 9 Natively Sized IntegersAnthony Giretti blogs about forthcoming support for Natively Sized Integers in C# 9.For the subset of programmers that code that needs to worry about such a thing (if you have no idea what this is, then you're not one of them), then this is good news, and one less reason to have to dive into Interop.Raymond Chen talks about why you can't just hack off the GUID and use part of it for uniquenessDon't lie, you've thought about doing this before.The .NET team is busy adding nullable annotations to the BCLOk, this took some reading and I'm still not sure I fully undestand what's going on, but my simple response is starting in C# 8.0, you have the ability to tell the compiler that a certain reference is 'nullable', that is that it can be assigned null; through the ? operator: string? myVar = null;. This tells other programmers that yes, a string can have a null value; (Yes, No, FileNotFound, anyone?); and helps to clearly express the situations where null is a good idea, and the situations where it's bad. Billion dollar mistake bad.To lighten our loads, the .NET team has taken to adding these nullable annotations to the .NET BCL. Presumably this will help static analysis tools not be such unsympathizing assholes all the time. Presumably.
We see you, JilthubGithub, the eponymous source control collaboration system for Open Source Projects, owned by Microsoft, has been caught trying to sneakily continue its contracts with ICE -- you know, the government agency that puts kids in cages -- by getting a contract award from ICE through Dell Federal Systems.Now all of this may be on the up-and-up; Dell sells Github enterprise to ICE as a reseller, Github gets plausible deniability, and ICE gets to use the cool kids source control system.But it's still morally bankrupt for Github to take this contract -- for an amount, I might add, that totals $79,312.50, or roughly the same amount Microsoft should have paid Keivan for using his AppGet architectural work in their WinGet package manager solution.We see you, Github. Special thanks to [Dave Copeland](https://twitter.com/davetron5000/status/1282738504624222208?s=20) for making me aware of this. Twitter is sometimes a beautiful thing.Github 'offers' to let Non-US employees do the same job for half the pay.Microsoft's github acquired NPM. They [apprently "offered" to reduce non US employees compensation by up to 50%.](https://twitter.com/nomadtechie/status/1283613109932961792?s=20) to do the same job. In the Year of our Lord 2020 it is very impressive that a company like Github, who are still reeling from their morally bankrupt decision to keep an ICE contract worth $79,000, would also stoop so low as to to get existing employees of NPM to quit by offering them half the money to do the same job.When we call supporting ICE morally bankrupt, that is not meant to inspire you to be the villian, github. That's an insult, meant to shame you into doing the right thing.Vulnerabilities reported this weekMicrosoft reported and [released a fix](https://github.com/dotnet/announcements/issues/159) for CVE-2020-1147, a .NET Core Remote Code Execution Vulnerability. If you accept XML input, this advisory affects you. If any of your API endpoints accept XML, this advisory affects you. .NET Core 2.1.19, .NET 3.1.5, and .NET 5 Preview 6 are all vulnerable. This is fixed in the latest version of .NET Core 3.1.6, and will hopefully be fixed when .NET 5 Preview 7 is released. If you are running Visual Studio 16.4, you need to update SDK to 3.1.106; if you're running Visual studio 2019 16.5 or later, update to SDK 3.1.302 and then curse version numbers loudly like I'm about to.If you use Windows DNS Server, there's another [RCE vulnerability that is apparently "wormable"](https://msrc-blog.microsoft.com/2020/07/14/july-2020-security-update-cve-2020-1350-vulnerability-in-windows-domain-name-system-dns-server/), but [at least some infosec people seem to think it won't turn into a big problem](https://twitter.com/hackerfantastic/status/1283096226616016896?s=20). This being 2020, I'm not holding my breath..NET Core 2.1.20 has been releasedRelease Notes: https://github.com/dotnet/core/blob/master/release-notes/2.1/2.1.20/2.1.20.mdSelf Contained ApplicationsOne of the more interesting parts of .NET Core has become the "Self Contained Application" -> effectively the runtime, the application and its dependencies in one package. This is great for datacenter style deployments or cross platform console applications, or even potentially in .NET 6 with MAUI: Desktop applications. That same advantage of self-contained applications is also a disadvantage, as foretold in this note in the Announcement: > Additionally, if you've deployed self-contained applications targeting any of the impacted versions, these applications are also vulnerable and must be recompiled and redeployed.Long story short: Not only do you need an update story for your organization's release cadence, that cadence must also take into account vulnerabilities in the runtime.### Nick Craver talks Attacks on Stack Overflow.Stack Overflow, the largest (that gets developer press and isn't Microsoft owned) site built on ASP.NET MVC (and soon .NET Core), gets a lot of attacks against it as a "top 50" (according to Wikipedia) site on the internet. Nick Craver, their architectural lead; goes deep into the sorts of attacks that happen. https://www.youtube.com/watch?v=K6NECAZhJG4 This is a good watch. Watch it.## Improvements in .NET 5This is the sort of thing I get jazzed about. The faster C# gets, the less we have to worry about using a language like Go or Rust for high performance situations. I don't use Rust, but anyone that does will tell you within seconds of meeting you. They're our Crossfitters.Anyway, having an easy-to-use toolchain to write fast code is good for all of us; and really good for our economic prospects, if we're being honest. The .NET team gets jazzed about performance too, and they've released another blog post [detailing speed improvements in the forthcoming (now in Preview) .NET 5](https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/). .NET 5, remember, is just .NET Core in a trench coat. Microsoft is going directly from .NET Core 3 to .NET 5; because awkwardly, they already have a .NET 4. I have lots of jokes to make about Microsoft Marketing, but I'd like to be clear about this: Microsoft has 20 years of inertia around the .NET Framework, and there were problem dozens of internal corporate teams that were hoping that .NET Core would fail because their bread and butter was built on .NET. Luckily it didn't fail, and luckily the group that said "Let's unify the two" won. Over time .NET Core has had to make concessions to stay in the game, like CSProj over project.json; but those concessions have ultimately scored large wins for both .NET Framework and .NET Core. This is a narrow line to walk, and for all the grief I give them, Microsoft's Marketing team is handling this with grace and aplomb. BinaryFormatter will finally be tossed off a bridgehttps://github.com/dotnet/designs/pull/141Hashing data is now two lines of code Special thanks to Kevin Jones [@vcsjones](https://twitter.com/vcsjones) for [making me aware of this](https://twitter.com/vcsjones/status/1283404602277335041?s=20). In likely .NET 5 Preview 8, you'll have the ability to hash data in two lines of code!:```ReadOnlySpan someData;byte[] hash = SHA256.HashData(somedata);//or Span hashBuffer = stackalloc byte[32];int bytesWritten = SHA256.HashData(someData, hashBuffer);```This is pretty and awesome. It's pretty awesome. If you find yourself producing hashes of data; it can't get much faster or easier than this. Windows Community Toolkit 8.0.0 Preview2 for WinUI 3 Preview 2 has been releasedMicrosoft continues to streamline how it versions its products by overusing the word Preview. Anyway, this release lets developers kick the tires on the new WinUI, which is better known as "How you write Desktop Applications in .NET 5". The only hope I have is since they've coalesced on ridiculous versioning schemes, they've also coalesced around one way to develop Desktop Applications in .NET 5. Developers who love XAML should love WinUI 3. https://github.com/windows-toolkit/WindowsCommunityToolkit/issues/3295ImageSharp passed 6 million downloads; and an exposure angel got their wings.The [creator of ImageSharp laments](https://twitter.com/James_M_South/status/1282396639714373632) getting six million downloads on an open source project that obstensibly does not pay the bills. At this point in OSS, you either go APGL or you get to the point where you wish you had. On .NET MAUII had understood [.NET MAUI](https://github.com/dotnet/maui) to be a codename for .NET 6. It is not. Part of .NET 6 will be 'MAUI'. It's capitalized because it's an acroynmn. I should have known, of course, as we're programmers, and we love Acroymns. Anyway, MAUI stands for: Multi-platform App UI. Or for the rest of us: Cross Platform UIs!YES. FINALLY. Something that will be faster than electron and have less users to boot! Seriously though, I'm pretty stoked that this is happening, though I hope Microsoft will take this time to realize that cross-platform UIs are probably best done in HTML, CSS, and JavaScript, and not XAML. Actually, scratch that, Cross platform UIs are terrible in HTML, CSS, and JavaScript, but it's ubitquitous, and that's what matters. It looks like there will be a few 'AppModels' supported:MVVM, RxUI, MVU, Blazor. If you don't do Xamarin currently, RxUI and MVU will be new to you (and to the rest of us). RxUI is a "reactive" style of programming to support one-way updates from the model to the UI. and MVU is "Model View Update", which I hear is cool but apparently every framework needs to create a new rendering pattern, and [MVU is Elm's gift](https://thomasbandt.com/model-view-update) to the rest of us. Programmers create their own blog engines, UI Frameworks write their own Rendering pattern.PFCLotW (Pretty Fricking Cool Library of the Week)If you're using .NET (Whether Framework or Core), and you want to benchmark your code, you should be using [Benchmark.NET](https://github.com/dotnet/BenchmarkDotNet). It's called Benchmark because that's what it does, and they slapped the .NET moniker on the end because that's what library authors for .NET Do. Since this is .NET, their alternatives were NBenchmark, and BenchmarkSharp. I'm glad Benchmark.NET won.Anyway, Benchmark.NET let's you set up runs against your code; specifically against doing the same operation multiple ways. It then accurately benchmarks how fast the code is, what sort of memory usage it has, and a few other neat sundries about it. If you're using System.Timer(), don't. Use Benchmark.NET instead. (This is not a sponsored ad, but I do have a thing for Console Applications that are amazing).NET Foundation UpdatesThe .NET Foundation has an open pull request for changes to their bylaws to allow for a seven day comment period before a change would take effect (or be voted on?). You can [view it here](https://github.com/dotnet-foundation/website/pull/197).The .NET Foundation also [has interviews up with all of the candidates for election to the board](https://dotnetfoundation.org/blog/2020/07/16/director-election-2020-candidate-interviews).If you aren't already a member of the .NET Foundation and you're reading this. You should be. Decisions are made by those who show up, and those decisions affect all of us that use .NET. Become a member of the .NET Foundation here](https://dotnetfoundation.org/member/become-a-member).Events.NETOn July 30th, there's a .NET Conf focused on Microservices. This conference is for people who want to add "Microservices" to their resume. [Save the date](https://focus.dotnetconf.net/?utm_campaign=savedate&utm_source=dotnet&utm_medium=twitter) here.The .NET Conf is November 10th-12th, online only. It's the 10th year of this event. You can [save the date here](https://www.dotnetconf.net/?WT.mc_id=twc9-c9-chwarren). If you're not a fan of sitting through three days of online events, I'll be live-tweeting it; In preparation, you can go ahead and block me now.And that's what happened Last Week in .NET I'm George Stocker, and if your team is struggling with regression bugs, delivering software on time, and wants a workday where you actually get to leave at 5pm. You should visit www.doubleyourproductivity.io and reach out.If you liked this Newsletter, please forward it to your friends and ask them to subscribe at www.lastweekin.net. If you hated it, please forward it to your enemies.
Show notes:Transcript:Last Week In .NET (for the week ending July 11th, 2020)Microsoft released details about Maui -- their codename for .NET 6.- .NET 6 is when Mono and .NET 5 aka .NET "Core" come together into a unified toolchain and platform, and they're calling it Maui. That's a bit on the nose, don't you think? Maui is the character from Moana that started, failed, stopped, started, failed, stopped, and started again and finally succeeded.Something that I'll end up writing a thousand times because naming is hard: .NET Core is now .NET 5; and .NET Framework and .NET 5 are different incompatible things. Somebody took the Java/JavaScript comparison a bit too far. In case you haven't heard that one, Java is to JavaScript like car is to carpet..NET finally succeeding in bringing together Mono and .NET will be a win for everyone. If you want cross-platform Mobile Applications using .NET, you're currently stuck with Xamarin Forms and Mono. And since .NET game developers rely on Unity, and unity relies on Mono, I'll be happy to see them finally be able to move to .NET 5; since .NET Core (now .NET 5) is a lot faster than the old Framework and Mono.The big news here is Xamarin Forms will now be a first class citizen in .NET; and cross platform Forms will now be possible. This is huge, if I'm reading it right. XAML is back too. Shout out to everyone who learned XAML only to be crushed by the demise of Silverlight. Let's all pour one out for Silverlight.Bill Wagner, a senior content developer for .NET at Microsoft -- wait, did they get rid of Developer Advocates? Isn't a Senior Content Developer just a Developer advocate? Is nothing safe from Microsoft's Marketing team? Anyway, Bill sat down and spoke on the podcast about... .NET 6 - Codename "Maui".Speaking of .NET 5, .NET Core 5 Preview 6 has been released. I'm also incrementing the "please move to calendar versioning" counter. This release fixes a number of issues, especially in EFCore and the .NET 5 SDK.F# updatesFor the five people that use F#, Apparently F# 5 Preview 6 is out. I'd like to thank the marketing team at Microsoft for having at least one language on the same version number as the platform now. The two holdouts are, C# which is at Version 9, and VB.NET, which is sitting at Version 16 . (which also apparently supports .NET Core? I'll have to dive in and see what this is like).This makes me happy because F# has always felt... well.. ignored by Microsoft. Seeing them get updates for NET 5 is great. Thank you Microsoft!EFCore UpdatesEntity Framework Core version 5.0 Preview 6 is out; and once again it feels like a few microsoft teams are all "Let's pin to the platform version", and others are like "screw that". #teamplatformversion .Anyway, from the blog post: This release includes split queries for related collections, a new “index” attribute, improved exceptions related to query translations, IP address mapping, exposing transaction id for correlation, and more.the interesting part to me is the 'index' attribute. This support has been in Entity Framework 6.2, and is now also in EFCore as of version 5.0. In Typical MSDN fashion the API's usage is an exercise for the reader.In the "This is scary but could be useful" department, EF Core 5 Preview 6 also released "Split Queries" support which previously existed in Entity Framework 6. Split Queries will emit separate DataReaders to retrieve data using the .Include method. On the one hand it makes query optimization easier; on the other hand it introduces a lot of magic: When you see "SplitQueryable", you now need to understand that you're hitting the database with separate queries. If you use Split Queries, let me know how you feel about them, but the DBA in me is nervous about consistency..NET Foundation Board Member ElectionsThe .NET Foundation nominations have concluded; and elections for Board Members are going to be held on July 21st. There are 6 board seats open.AND THE NOMINEES ARE (I've always wanted to say that): Ben Adams Bill Wagner Dennie Declercq Dhananjay Kumar Huei Feng Jamie Howarth Javier Lozano Jay Harris Jeff Strauss Jeffrey Chilberto Jerome Hardaway Joseph Guadagno Layla Porter Mitchel Sellers Rainer Stropek Rodney Littles, II Rodrigo Diaz Concha Shawn Wildermuth You can read about the nominees here: https://dotnetfoundation.org/about/election/candidates and best of luck to everyone who doesn't know what they're getting into.Stack Overflow Moderator ElectionsSpeaking of elections, Stack Overflow is holding elections for the first time after 37 moderators left the Stack Exchange Network with 4 Moderators leaving Stack Overflow during the great Moderator exodus of 2019. That is a sordid story best told on its own. Over wine. Lots of wine. If you want me to go deeper into that story in a future podcast, post a five star review on apple podcasts, or if you're reading this newsletter in its email form, reply with the question "how many times can a company shoot itself in the foot"?Anyway,Nominations close on 00:00 UTC on Monday, July 13th which translates to 8pm Eastern Daylight Time on July 12th. (I think. Date math is hard. Also I apologize to my past projects and teams for advocating for the display of UTC time to every user in the application. Save your user's sanity by storing dates in UTC, and displaying them in local time).WinGet / AppGet Debacle continuesDo you remember the time when Microsoft loved Keivan's work on AppGet, invited him out to Microsoft for an interview, ghosted him, copied several architectural features of his project and then the night before Build called him to tell him that they were releasing a competitor to his .NET open source project they were calling "WinGet"?No? Oh.Anyway, Keivan sat down to talk on FossBytes about AppGet and more. That's spelled bytes, not bites. Again, naming is hard. https://fossbytes.com/appget-developer-keivan-beigi-interview/I can appreciate the financial savvy exhibited here. Companies pay tens of thousands of dollars to someone who helped shave off months of development time. Microsoft got all that work for a steal. Typically this work pays well and is called consulting. But if you run an Open Source project, it's called "Thanks for the free work and $*#@ you".Hang on, my fact checker is telling me Microsoft, apparently in exchange for the months of design direction Keivan helped them knock off and the hundreds of developer hours saved through his work, was credited in a Readme file on the WinGet project on June 3rd, 2020.Way to go Microsoft.Keivan, Show that readme file to your landlord for 0% off of next month's rent!Pretty Fricking Cool Library Of the Week (PFCLotW)Have you heard of Polly? No, not Jennifer Aniston's character in that early 2000s hit romantic comedy. I'm talking about the open source library. Polly is meant to be used whenever you would make a network call to another service (internal or external). If you cross a network boundary, you want to wrap that call in something like Polly. You could, of course, re-invent the Circuit breaker pattern, but then you'd have to maintain it. Save electricity. Save the Earth. Use Polly instead. (This is not a sponsored ad. I just really like Polly).And that's what happened Last Week in .NET (technically the last 2 weeks, but July 4th was a holiday and nobody kept up with what happened the week before July 4th either). I'm George Stocker, and I help .NET Teams double their productivity. I won't tell you how though because you'll think I'm a member of the TDD Cult. I am not. But TDD can help your team save time, money, and result in a workday where you actually get to leave at 5pm. Visit www.doubleyourproductivity.io to learn more.If you liked this Newsletter, please forward it to your friends and ask them to subscribe at www.lastweekin.net. If you hated it, please forward it to your enemies.
What's your cross-platform development solution? Carl and Richard talk to Kenzie Whalen about the Uno Platform, where you write C# and XAML for Windows and are able to deploy via Xamarin to iOS and Android... and to browsers via WebAssembly also! The conversation digs into how UWP is evolving, and the approaches you can take to keep your codebase as common as possible between all the platforms. But there are always variations from platform-to-platform. Kenzie also talks about how some of the new hardware, like Surface Duo, will impact development - more cool stuff is coming!Support this podcast at — https://redcircle.com/net-rocks/donations
What's your cross-platform development solution? Carl and Richard talk to Kenzie Whalen about the Uno Platform, where you write C# and XAML for Windows and are able to deploy via Xamarin to iOS and Android... and to browsers via WebAssembly also! The conversation digs into how UWP is evolving, and the approaches you can take to keep your codebase as common as possible between all the platforms. But there are always variations from platform-to-platform. Kenzie also talks about how some of the new hardware, like Surface Duo, will impact development - more cool stuff is coming!Support this podcast at — https://redcircle.com/net-rocks/donations
It's 2020 - how do you build client-side applications? Carl and Richard talk to Brian Lagunas about his work in client-side development, largely around XAML (don't worry WinForms, we still love you!) - WPF, UWP and Xamarin.Forms. Brian leads the Prism open-source project that helps to build XAML-based applications, specifically WPF and Xamarin.Forms. The conversation digs into the problems around UWP and even a mention of Silverlight - and then the challenges of the other client-side platform, mobile!Support this podcast at — https://redcircle.com/net-rocks/donations
New Year - New Decade - New Pod!! This month James and Matt recover from their holiday hacks to go over the latest and greatest in the world of Xamarin! There's a new version of Xamarin.Essentials out for the new year. And the new year also brings back a look at the top blogs and videos of 2019. Whew - the community sure came up with a ton of great ideas for the Santa Talk Challenge and Matt & James talk about the best. There's a hot new XAML hot reload tips and tricks article you must read and give you the scoop on gRPC and Azure Service Bus. And of course, the Azure Service of the Month and the Pick of the Pod! Show Notes Latest Releases Xamarin.Essentials 1.4.0-pre (https://docs.microsoft.com/xamarin/essentials/release-notes/1.4?WT.mc_id=xamarinpodcast69-podcast-masoucou) Xamarin News Santa Talk Challenge Recap (https://devblogs.microsoft.com/xamarin/santa-talk-xamarin-challenge/?WT.mc_id=xamarinpodcast69-podcast-masoucou) Top blogs of 2019 (https://devblogs.microsoft.com/xamarin/top-xamarin-blog-posts-2019/?WT.mc_id=xamarinpodcast69-podcast-masoucou) Top videos of 2019 (https://devblogs.microsoft.com/xamarin/top-xamarin-videos-2019/?WT.mc_id=xamarinpodcast69-podcast-masoucou) Android App Bundles (https://devblogs.microsoft.com/xamarin/android-app-bundle/?WT.mc_id=xamarinpodcast69-podcast-masoucou) XAML Hot Reload Tips & Tricks (https://devblogs.microsoft.com/xamarin/tips-tricks-xaml-hot-reload/?WT.mc_id=xamarinpodcast69-podcast-masoucou) James Holiday Hacks (https://www.twitch.tv/videos/529844594) Azure News Creating gRPC Microservices with .NET (https://channel9.msdn.com/Shows/The-Cloud-Native-Show/Building-Microservices-with-gRPC-and-NET?WT.mc_id=xamarinpodcast69-podcast-masoucou) Azure Service Bus From the Ground Up (https://channel9.msdn.com/Shows/On-NET/Azure-Service-Bus-from-the-ground-up?WT.mc_id=xamarinpodcast69-podcast-masoucou) Azure Service Bus Core Features (https://channel9.msdn.com/Shows/On-NET/Azure-Service-Bus-Core-Features?WT.mc_id=xamarinpodcast69-podcast-masoucou) Advanced Features with Azure Service Bus (https://channel9.msdn.com/Shows/On-NET/Advanced-Features-with-Azure-Service-Bus?WT.mc_id=xamarinpodcast69-podcast-masoucou) Blazor Conf Blazor Conf (https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/NET-Conf-Focus-on-Blazor-Teaser?WT.mc_id=xamarinpodcast69-podcast-masoucou) Azure Service of the Month Azure Service Bus (https://docs.microsoft.com/azure/service-bus-messaging/?WT.mc_id=xamarinpodcast69-podcast-masoucou) Pick of the Pod Sharpnado (https://www.sharpnado.com/scrollable-tabs-and-circle-button-in-tabs/) Magic Gradients (https://github.com/mgierlasinski/MagicGradients) As always, get yourself some free Azure here (https://azure.microsoft.com/free?WT.mc_id=xamarinpodcast69-podcast-masoucou)! Follow Us: * James: Twitter (https://twitter.com/jamesmontemagno), Blog (https://montemagno.com), GitHub (http://github.com/jamesmontemagno), Merge Conflict Podcast (http://mergeconflict.fm) * Matt: Twitter (https://twitter.com/codemillmatt), Blog (https://codemilltech.com), GitHub (https://github.com/codemillmatt)
How do you write XAML? Carl and Richard chat with Dmitry Lyalin about Microsoft's on-going efforts to make coding in XAML faster, easier and more reliable. Dmitry starts out talking about how there are different dialects of XAML, including WPF, UWP, Xamarin Forms and more - although there are concerted efforts to keep them more in sync. And that helps with tooling also! Dmitry dives into Blend, XAML Designer and the power of coding XAML directly with IntelliCode, hot-reload and more!Support this podcast at — https://redcircle.com/net-rocks/donations
Back at the beginning of WPF, before Silverlight, there was MVVM Light. While on the Modern Web Tour in Zurich, Richard sat down with Laurent Bugnion to talk about his work creating the open source toolkit that helped developers build cross-platform applications using the Model View View-Model pattern. Laurent's story crosses much of the story of XAML itself, from WPF to Silverlight to Windows Phone and Xamarin Forms!Support this podcast at — https://redcircle.com/net-rocks/donations
Where has Uno been all your life? Carl and Richard talk to Francois Tanguay and Jerome Laban about Uno - the open source cross-platform UX library based on the Microsoft Universal Windows Platform (UWP) - the other flavor of XAML! Francois and Jerome talk about using various versions of Uno the past four years to build cross-platform applications for Windows, Android and iOS - more than 200 of them! Now they have implemented a web assembly version as an experiment and are open sourcing the framework to broaden the community and explore more UX ideas - check it out!Support this podcast at — https://redcircle.com/net-rocks/donations
How do you build your web UI? Carl and Richard talk to Frank Krueger about his work on Ooui (pronounced whee), an open source project for implementing a Xamarin-forms like UI experience to the browser. The result is pretty amazing, including a web-based XAML editor that all runs in the browser... super fast! Frank talks about his experiences building code that runs with WebAssembly and the challenges of thinking through new UI experiences. The challenge is the variations in implementation - is XAML destined to fragment further, or can they all come together?Support this podcast at — https://redcircle.com/net-rocks/donations
What's up with .NET Standard and the new XAML Standard? While at Build in Seattle, Carl and Richard chatted with Mike Harsh and Joe Stegman about the importance of the new standards and how they will affect .NET development going forward. As Mike and Joe explain, the focus is on making sure that the different versions of .NET (and XAML) that are out there today converge on a common standard. This will make it easier for tool vendors to build tools that work everywhere, and for developers to be able to write code that runs across platforms. It's going to take some time, but standards should make our lives better!Support this podcast at — https://redcircle.com/net-rocks/donations
Is Silverlight back? Carl and Richard talk to Steve Sanderson about a demo he did at NDC Oslo that blew some minds. The demo involved using WebAssembly to put a version of the .NET Runtime and C# into the browser. Yes, that's right, Steve found a way to write C# that runs in the browser with NO PLUGIN. It's only an experiment, and there's no XAML to be found, so it's not really Silverlight, but it certainly gets you thinking - what if you could run any language you wanted in the browser? What would your world be like then?Support this podcast at — https://redcircle.com/net-rocks/donations
What happened at Build? Lots! Carl and Richard talk to Rocky Lhotka about his impressions around the various announcements at Build. The conversation ranges over how this Build was somewhat different from others - perhaps more aspirational? Topics covered included the amazing AI/vision system demos that were exciting and frightening at the same time, as well as the XAML and .NET Standards, Hololens, VR, Project Rome and more! So much happened at Build!Support this podcast at — https://redcircle.com/net-rocks/donations
Are you building XAML-driven applications yet? Carl and Richard chat with Billy Hollis about what it takes to get going with building XAML applications. As Billy says, XAML is a "compositional" platform, which is a very different way to think about how to build user interfaces. Ultimately, these design principles become platform-agnostic - you can use whatever tools you want to build them. Is it hard to think this way? It does take time, but the products you make stand out as just a better way to work with computers. Your customers will thank you!Support this podcast at — https://redcircle.com/net-rocks/donations
There has been lots of conversation about cross-platform mobile apps, but how about cross-platform desktop apps? Carl and Richard talk to David Neal about the Electron framework, letting you build cross-platform desktop apps using HTML, JavaScript and CSS. Electron is how visual Studio Code is built! The conversation also turns to Xamarin - would you rather code in C# and XAML? Lots of choices for cross-platform development, it's worth taking a few out for a spin!Support this podcast at — https://redcircle.com/net-rocks/donations