Date: Mon, 02 Jan 2023 09:00:00 +0000
<p><span style="font-weight: 400;">Happy New Year to all here in 2023. It’s going to be a great year. It’s a great time to be a programmer. A great time to be building with .NET; you are going to do great things this year. You have what it takes. You are smart, you have great tools, and you have a great team. You are a great leader. This episode is going to be all about remembering what happened this past year at the podcast.</span></p> <p> </p> <p><strong>Topics of Discussion:</strong></p> <p><span style="font-weight: 400;"> [1:15] Jeffrey talks about the architect forums he’s hosting and facilitating in 2023. You can register</span> <a href="https://clearmeasure.com/"><span style="font-weight: 400;">here</span></a><span style="font-weight: 400;">.</span></p> <p><span style="font-weight: 400;">[1:46] Huge announcement in Microsoft Developer news including:</span></p> <p><span style="font-weight: 400;">- Android apps on Windows 11</span></p> <p><span style="font-weight: 400;">- ARM processors getting big investments</span></p> <p><span style="font-weight: 400;">- Microsoft Dev Box — in preview — dev workstation in the cloud</span></p> <p><span style="font-weight: 400;">- Power Pages websites</span></p> <p><span style="font-weight: 400;">- Large SKU app service; up to 256GB RAM available for those who need it</span></p> <p><span style="font-weight: 400;">- Azure Arc, the new name of Hybrid Azure. And a single-node Azure Stack for remote locations but the programming model of Azure — looking forward to testing it at the right time.</span></p> <p><span style="font-weight: 400;">- Azure Container Apps tooling got better, and it became ready for prime time. Every team should be looking at this.</span></p> <p><span style="font-weight: 400;">- .NET 7 released.</span></p> <p><span style="font-weight: 400;">[4:11] What might the default application stacks and environments look like on the platform in 2023?</span></p> <p><span style="font-weight: 400;">- Windows 11</span></p> <p><span style="font-weight: 400;">- Visual Studio 2022 w/ ReSharper</span></p> <p><span style="font-weight: 400;">- .NET 7</span></p> <p><span style="font-weight: 400;">- Onion Architecture</span></p> <p><span style="font-weight: 400;">- Blazor for interactive applications</span></p> <p><span style="font-weight: 400;">- .NET service workers for back-end jobs and queue listeners</span></p> <p><span style="font-weight: 400;">- Entity Framework with Azure SQL — add on other storage services as per application.</span></p> <p><span style="font-weight: 400;">- Azure App Service for hosting while prototyping Azure Container Apps.</span></p> <p><span style="font-weight: 400;">- Application Insights with the Open Telemetry NuGet packages.</span></p> <p><span style="font-weight: 400;">- Azure Pipelines paired with Octopus Deploy (keep an eye on GitHub Actions as they fill out support for scenarios you need).</span></p> <p><span style="font-weight: 400;">- NordVPN for developer workstation work-from-home or remote Wi-Fi.</span></p> <p><span style="font-weight: 400;">[9:11]</span> <span style="font-weight: 400;">When it comes to developer workstations, desktop computers are still giving the most bang for the buck with power, and only a few laptops do the job really well. I have not reviewed all computers, and there are a lot out there. I can vouch for</span> <strong>Alienware R series desktops</strong><span style="font-weight: 400;">. Liquid-cooled, so they are really quiet, even under full load.</span> <strong>Dell Precision laptops</strong> <span style="font-weight: 400;">are amazing for software engineers. I really wanted to love the</span> <strong>Lenovo P1</strong><span style="font-weight: 400;">, but the fan was just too loud when it was under load. And we all know that cooling is so important in laptops. When a laptop gets too hot, your BIOS will slow down the processor to keep it from burning up. Then you no longer have a fast processor. And video calls use a good deal of processor, surprisingly — or not. For super mobile laptops that you can use for programming, I really do like the</span> <strong>Microsoft Surface Laptop.</strong> <span style="font-weight: 400;">I wanted to like the Surface Studio laptop, but they inverted the cooling and the battery placement, so it’s very uncomfortable on my lap and my wrists unfortunately under load. The wrist wrest gets really hot. Normally the battery is under the wrist rest, but Microsoft swapped it on this one, so it’s not fun using it as a laptop on your lap or even on a desk while hot and under load.</span></p> <p><span style="font-weight: 400;">[13:11] Highlighting some past episodes that will be interesting: </span></p> <p><span style="font-weight: 400;">- Highlighting some past episodes over the year that might be interesting.</span></p> <p><span style="font-weight: 400;">- With Microsoft Orleans providing a new implementation of the Actor design pattern, we have a two-part series interview with</span> <a href="http://azuredevopspodcast.clear-measure.com/aaron-stannard-on-the-actor-model-with-akkanet-part-1-episode-172"> <span style="font-weight: 400;">Aaron Stannard,</span></a> <span style="font-weight: 400;">the creator of Akka.NET, episodes 172 and 173.</span></p> <p><span style="font-weight: 400;">- On the IoT front, Wilderness Labs has been trucking along creating system-on-a-chip options that run .NET natively and easily. I interviewed founder and CEO</span> <a href="http://azuredevopspodcast.clear-measure.com/net-6-iot-with-bryan-costanich-episode-177"> <span style="font-weight: 400;">Bryan Costanich.</span></a></p> <p><span style="font-weight: 400;">- For those educating themselves for a career in software engineering, my interview with</span> <a href="http://azuredevopspodcast.clear-measure.com/henry-quillin-on-prepping-for-a-career-as-a-software-engineer-episode-183"> <span style="font-weight: 400;">Henry Quillin</span></a> <span style="font-weight: 400;">might be useful. He talks about a programming internship and his education journey, his work earning his Eagle Scout, and how he became a working programmer even as he is just starting university.</span></p> <p><span style="font-weight: 400;">- More on embedded.</span> <a href="http://azuredevopspodcast.clear-measure.com/kevin-kirkus-on-automated-testing-embedded-code-episode-186"> <span style="font-weight: 400;">Kevin Kirkus</span></a> <span style="font-weight: 400;">was with us in episode 186. He runs a testing team at Intel doing automated testing for their Xeon processor line. The design necessary for testing in this specialized environment gives us all plenty to think about.</span></p> <p><span style="font-weight: 400;">- For team leaders out there, I interviewed</span> <a href="http://azuredevopspodcast.clear-measure.com/mark-seemann-code-that-fits-in-your-head-episode-189"> <span style="font-weight: 400;">Mark Seemann</span></a><span style="font-weight: 400;">. He wrote a recent book,</span> <em><span style="font-weight: 400;">Code That Fits In Your Head.</span></em> <span style="font-weight: 400;">He talks about the principles that are in the book. I subsequently bought and read the book, and I wish I had this book earlier in my career. Would have saved me a great deal of time.</span></p> <p><span style="font-weight: 400;">- On distributed systems,</span> <a href="http://azuredevopspodcast.clear-measure.com/udi-dahan-distributed-computing-episode-192"> <span style="font-weight: 400;">Udi Dahan</span></a> <span style="font-weight: 400;">is always a fascinating gentleman to listen to. Check out episode 192. As the founder and CEO of Particular Software, and the creator of NServiceBus, he is one of the world’s leading experts on distributed systems, microservices, and messaging architectures.</span></p> <p><span style="font-weight: 400;">- Time-tested ideas are continually useful. I had the pleasure of interviewing</span> <a href="http://azuredevopspodcast.clear-measure.com/philippe-kruchten-controlling-your-architecture-episode-195"> <span style="font-weight: 400;">Philippe Kruchten</span></a><span style="font-weight: 400;">. He worked at Rational Software back when they were at the forefront of the software process in the 1990s. He published a paper outlining a framework for emergent, agile architecture. He didn’t call it that. He called it the 4+1 Architecture, but only because it predated the agile manifesto. If you are an architect, and you aren’t aware of this approach to architecture, give episode 195 a listen.</span></p> <p><span style="font-weight: 400;">- For the Blazor developers, I had</span> <a href="http://azuredevopspodcast.clear-measure.com/steve-sanderson-the-future-of-blazor-and-webassembly-episode-202"> <span style="font-weight: 400;">Steve Sanderson</span></a> <span style="font-weight: 400;">on in episode 202. Steve is the original designer of Blazor, which has become the new default web application on .NET. He shared about the future of Blazor and WebAssembly.</span></p> <p><span style="font-weight: 400;">- Because there is so much going on in this space,</span> <a href="http://azuredevopspodcast.clear-measure.com/daniel-roth-blazor-futures-episode-204"> <span style="font-weight: 400;">Daniel Roth</span></a> <span style="font-weight: 400;">also joined me to discuss more Blazor Futures.</span></p> <p><span style="font-weight: 400;">- GitHub Actions is being talked about quite a bit. While loads of people are using it for builds, people are scratching their heads about where it fits in regarding deployments.</span> <a href="http://azuredevopspodcast.clear-measure.com/github-actions-with-damian-brady-episode-206"> <span style="font-weight: 400;">Damian Brady,</span></a> <span style="font-weight: 400;">on the GitHub team and a former employee of Octopus Deploy, sheds light on this in episode 206.</span></p> <p><span style="font-weight: 400;">-</span> <a href="http://azuredevopspodcast.clear-measure.com/scott-hunter-microsofts-azure-net-strategy"> <span style="font-weight: 400;">Scott Hunter</span></a> <span style="font-weight: 400;">joined me in episode 211. He announced his new role at Microsoft running more of Azure development and .NET. He shared quite a bit behind the scenes regarding Microsoft’s strategy there.</span></p> <p><span style="font-weight: 400;">- For the UX people.</span> <a href="http://azuredevopspodcast.clear-measure.com/mark-miller-the-science-of-great-ui-in-software-episode-212"> <span style="font-weight: 400;">Mark Miller</span></a> <span style="font-weight: 400;">is the Chief Architect of DevExpress, the big UI components company. He has a brilliant user experience mind, and I was able to get him talking in episode 212.</span></p> <p><span style="font-weight: 400;">- Telemetry. We all need it to keep our software stable in production. The Serilog and AutoFac maintainer,</span> <a href="http://azuredevopspodcast.clear-measure.com/nicholas-blumhardt-structured-logging-episode-217"> <span style="font-weight: 400;">Nicholas Blumhardt</span></a><span style="font-weight: 400;">, joined me to discuss the fundamentals of modern logging and telemetry. Check out episode 217 for that.</span></p> <p><span style="font-weight: 400;">- More on the testing front,</span> <a href="http://azuredevopspodcast.clear-measure.com/eduardo-maltez-full-system-testing-using-selenium-episode-224"> <span style="font-weight: 400;">Eduardo Maltez</span></a><span style="font-weight: 400;">, a software engineer doing some really interesting full system test work shares his thoughts on what makes tests reliable, stable, and fast — and how to fight brittle tests. Episode 224.</span></p> <p><span style="font-weight: 400;">- We closed out the year on the security front. With LastPass getting hacked and now Rackspace having a hacking-induced major outage, we all need to take action.</span> <a href="http://azuredevopspodcast.clear-measure.com/troy-vinson-learning-from-the-rackspace-security-breach-with-troy-vinson-episode-225"> <span style="font-weight: 400;">Troy Vinson</span></a><span style="font-weight: 400;">, a multi-certified security professional and certified ethical hacker, gave his perspective on the Rackspace breach and what every .NET team should learn from it.</span></p> <p> </p> <p><strong>Mentioned in this Episode:</strong></p> <p><a href="http://architecttips.clearmeasure.com/"><em><span style="font-weight: 400;"> Architect Tips</span></em></a> <span style="font-weight: 400;">— New video podcast!</span></p> <p><a href="https://azure.microsoft.com/en-ca/services/devops/?&OCID=AID736756_SEM_7eul5uID"> <span style="font-weight: 400;">Azure DevOps</span></a></p> <p><a href="https://www.clear-measure.com/"><span style="font-weight: 400;">Clear Measure</span></a> <span style="font-weight: 400;">(Sponsor)</span></p> <p><a href="https://www.amazon.com/NET-DevOps-Azure-Developers-Architecture/dp/1484253426"> <em><span style="font-weight: 400;">.NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way,</span></em> <span style="font-weight: 400;">by Jeffrey Palermo</span></a> <span style="font-weight: 400;">— Available on Amazon!</span></p> <p><a href="https://www.youtube.com/channel/UC-ROXy08zc-qTA0-3GAQDLw"><span style="font-weight: 400;"> Jeffrey Palermo’s YouTube</span></a></p> <p><a href="https://twitter.com/jeffreypalermo?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor"> <span style="font-weight: 400;">Jeffrey Palermo’s Twitter</span></a> <span style="font-weight: 400;">— Follow to stay informed about future events!</span></p> <p><a href="http://www.palermo.network/"><span style="font-weight: 400;">Programming with Palermo</span></a></p> <p><span style="font-weight: 400;">programming@palermo.net</span><span style="font-weight: 400;">work</span></p> <p> </p> <p><strong>Want to Learn More?</strong></p> <p><span style="font-weight: 400;">Visit</span> <a href="http://azuredevopspodcast.clear-measure.com/"><em><span style="font-weight: 400;">AzureDevOps.Show</span></em></a> <span style="font-weight: 400;">for show notes and additional episodes.</span></p>