Welcome to the non-April-Fools fourth edition of The Catch Block!
In this edition: Blazor, front-line warriors, NuGet packages, accessibility, middleware, a letter to the self, damn fine weather, and tuples.
A Dispatch from the Front Lines of the COVID-19 War
My sister-in-law R and my wife's best friend L are a Certified Nursing Assistant (CNA) and a Registered Nurse (RN) respectively. Both work at major hospitals in the Phoenix area, and both are dealing with firsthand encounters with COVID-19.
R specifically told me that at her hospital they do not have enough masks, face shields, and other personal protective equipment (PPE) to go around, so among other things they are having to reuse masks (which cannot be sanitized) for an entire day. They must also wear face shields at all times, must be temperature scanned when entering and leaving the building, and cannot eat lunch together with their coworkers.
On the home front, the quarantine continues. The family and I have been stuck inside our house, with limited access to outside things, for around two weeks. Plus, just this week, Arizona's governor closed the state's schools through the end of the school year and issued a stay-at-home order, so now K.C. and I are scrambling to figure out exactly how we're going to keep our three kids occupied for the next two months and not have them fall too far behind. I talked about this in the previous edition of The Catch Block.
Something cool: a bunch of regular citizens have banded together to 3D-print face masks:
But you know what the real kicker is? This is the "damn fine weather" season here in Phoenix. During March and April, our Valley of the Sun has festivals, food gatherings, farmers markets, concerts, garden walks, all kinds of interesting and fun events, and they are all uniformly cancelled due to the coronavirus. It's a minor thing, but it sucks, as events like those help remind me that this is a community, a group of people who care about each other. Without those events, the city feels hollow.
But it is the right decision for us all to be quarantined. We're all in this fight together, and we need to keep in mind that our isolation is not just for our own good, but for the good of the grandparents, friends, and relatives who might be vulnerable to this virus. We isolate to keep them safe, too.
Seriously COVID-19, you couldn't have gotten here in, say, July? At least during the summer none of us desert rats go outside anyway.
A Note For Subscribers
In the previous post about named handler methods, I mentioned at the end that next week we would be starting a new series on using TypeScript and a drawing canvas. This is incorrect; that series starts in two weeks, on April 13th. Next week, guest writer Vladimir Vozar will publish a four-part series on creating a Hexo blog with GitHub Pages. Don't forget to check it out, and let Vladimir know how he did!
Published This Week
- Using Named Handler Methods to Make jQuery AJAX GET Calls in Razor Pages - Yes, yes, I still use jQuery. What? It's useful, I know it, and I like it. So there. One of these days I'll learn a front-end framework.
Cool Reads
- Why You Should Use Blazor Over JavaScript Frameworks To Build Your Single-Page Application (David Grace) - It's no secret that I, a primarily-server-side developer, absolutely love the concept of Blazor and its applications. But for those of you who don't quite know what Blazor is, or why to use it, David's informative post is a must-read, despite the unwieldy title.
- Why 2020 Is The Year to Get Serious About Accessibility (Suzanne Scacca) - I'll admit it, I haven't been real focused on accessibility in either this blog or my daily job building internal web apps. But Suzanne points out that, due to a recent Supreme Court case involving Domino's, that might need to change.
- Publish NuGet Packages in Azure DevOps Pipelines (Damien Bowden) - My company has recently started doing this, and this is a nice overview of how.
- Middleware in ASP.NET Core (Shahed Chowdhuri) - Shahed has been doing a fantastic series on ASP.NET Core over the last couple of months, and this is an excellent addition to it. Shahed reviews here how Middleware works, how you can insert it into the ASP.NET Core Pipeline, and using custom Middleware classes. Check it out!
Releases, Announcements, and Previews
- Visual Studio 2019 Version 16.6 Preview 2 (Jacqueline Widdis) - I point this out specifically because of a new tool that is purported to be coming to Visual Studio: a new .NET Async Tool. According to this article, "you can use this tool to get exact timing information for a variety of tasks including how long they waited to be dispatched to a thread, how long it took to complete, and if the tasks were chained together." If this is true and accurate, it could make debugging asynchronous applications much simpler. Here's hoping!
- Improved Git Experience in Visual Studio 2019 (Pratik Nagagouda) - Oh hell yes. Now we can create branches and resolve merge conflicts directly from VS2019!
- Blazor Web Assembly 3.2.0 Preview 3 Release Now Available! (Daniel Roth) - I LOVE the concept and execution of Blazor. If I never have to write more JavaScript, I will be a happy man.
- Announcing TypeScript 3.9 Beta (Daniel Rosenwasser) - As you'll see in a couple of weeks, I have a major blog series forthcoming that uses TypeScript. I personally liked it quite a lot, so I'm glad to see some of the new features that are coming to the only flavor of Javascript that I might actually like.
Other Neat Reads
- Welcoming the USA Government to Have I Been Pwned (Troy Hunt)
- GitHub Draft Pull Requests (Steve Smith)
- Turn COVID-19 downtime into level-up time (Andreas Helland)
- Adding Tuple Support to .NET Classes in C# (Jason Roberts)
- Do I Always Need ASP.NET? (Shawn Wildermuth)
- Catch up on the latest .NET productivity features! (Mika Dumont)
- Working with Query Strings in Blazor (Chris Sainty)
- Why You Need To Start Using A Decision Journal (Kat Boogaard)
- Concatenating Arrays in Javascript (Marius Schulz)
- TypeScript Function Overloading (Joe Eames)
- A letter to myself as a brand new software engineer (Luca Florio)
- Accessing Route Values in Endpoint Middleware in ASP.NET Core 3.0 (Andrew Lock)