Links and Notes - April 20th 2021

Visual Studio 2022, .NET MAUI, and other MS things

Via HN

I caught up with the Visual studio 2022 announcement today. It's got a whole bunch of goodies and I took some time to read into each of the topics mentioned.

A long time ago, Visual Studio used to be my go to development tool. This wasn't due to any carefully considered decision. It just happened to be a tool that was available to us due to Microsoft's partnerships with the university I went to. In addition to that, we learnt ASP.NET as part of our web development modules and that in turn resulted in us working with Visual Studio. But that was not all that led me to using Visual Studio more and more.

Back then, I learnt a few different programming languages. C, C++, Java, and C#. And of all these languages, I gravitated strongly to C#. For whatever reason, the language clicked into place in my head. And as much as I could have fallen into a design pattern hell with C#, I found myself using just the right amount of abstraction to actually enjoy working with the language. I eventually turned my eye towards Windows desktop app development which led me even further into the C# world. At the time, Microsoft was making a big splash with their WPF platform and XAML for designing user interfaces. And there was a common thread through all of this.

Visual Studio. Not Visual Studio Code. That wasn't even out back then. No. Visual Studio.

I loved the tool. I made it mine. I knew my way through many of the nooks and crannies in the debugging features and was proud of how quickly I could work through a program and detect issues when I was using Visual Studio.

But then, I got into Python and web app development. I discovered Vim whose light weight and keyboard only interface captivated me. And then Visual Studio just vanished.

Now I'm reading about Visual Studio again, and I'm itching to try it out again. But I'm also pausing myself to ask if I want to try out Visual Studio or if I want to try out the .NET platform again. With the rise of .NET core as a successful open source project I have been looking for a chance to go back and try working with C# again. In the announcement for Visual Studio 2022, there was reference made to support for the Multi App UI and blazor. Both of these promise deploying to various targets with code written in C#. Blazor promises delivering code to the web while MAUI promises delivering "native" apps to devices. Both of these are fascinating for me and all I wish is that I had enough time to work with all this tech.

Once again, my little dreaming of streaming section in my previous post comes to mind. I need an excuse to try out all this technology and learn more about it.

Bill Stoppard's video of high powered crossovers

This is an absolutely fantastic adrenaline rush of a skate flow video from Bill Stoppard. Bill is as always, second to none when it comes to raw powerful street skating. And this video is a treat to watch. If you've ever tried skating and you've ever tried sprinting in skates, you'll know how difficult it is to maintain a sprinting stride for anything longer than 10 steps. Bill goes a lot further than that in this video. He smashes past 20, 40, and beyond. Truly a feat to behold.

Julia Evans: Notes on building debugging puzzles

Julia Evans has done it again. She's come up with a unique way of helping people learn about a particular topic. In this case, it was to learn about network debugging and the underlying tools used. The puzzles (here, and here) follow a choose your own adventure style interactive "storyline". Each choice reveals more information and brings you a little closer to discovering the real underlying issue. Each revelation also offers a chance to learn a little bit more about what's actually going on with the tool you are "using". A chance to learn about the outputs that are normally considered arcane knowledge.

We started out by talking about the idea of flowcharts (“here’s a flowchart that will help you debug any DNS problem”). I’ve don’t think I’ve ever seen a flowchart that I found helpful in solving a problem, so I found it really hard to imagine creating one – there are so many possibilities! It’s hard to be exhaustive! It would be disappointing if the flowchart failed and didn’t give you your answer!

I realized that immediately interpreting the output of a command for someone is extremely unrealistic – one of the biggest problems with using some of these command line networking tools is that their output is hard to interpret!

It's a clever way of transferring knowledge. The potential downside is that in the long run, I think that without a sufficient incentive to make a player "perform" better, it's more likely to end up becoming a novelty that people point and click through without really remembering much. There's no penalty and there's no reward for the choices. If I had to push the idea forward in any way, I'd probably start there.

Buffer has a hack week coming up soon, and I just might try doing what Julia has done here but for debugging our deployment pipelines. If I have the time, it would be nice to push it forward as much as possible and even have a "capture the flag" style end game where a person can snag a reward for completing the puzzle sufficiently well.

One thing to note here is that the technology used is Twine. Twine is very similar to ink which I wrote about. It's a tool for creating interactive branching narrative (aka, choose your own adventure). While for a prototype, I think I'd follow Julia's lead and use Twine and the tutorials she linked to, in the long run, I'd like to work with Ink.

Here we come a full circle to the first topic in today's post. Ink's runtime is C#. It's API is C#. If you were to run a game in the browser though, you'd use the JS port of Ink which isn't an official project by the Ink team. I wonder if we could use blazor though to run the C# version directly in the browser.

But now I'm thinking too far into the future. Baby steps first.

This blog doesn't have a comment box. But I'd love to hear any thoughts y'all might have. Send them to [email protected]

Previous links and notes (April 19th)

Next links and notes (April 21st)

Posted on April 20 2021 by Adnan Issadeen