Every two years or so I publish a list of the utilities I find indispensable. It is interesting to me which ones last year after year (e.g., Evernote) and which fall off the list—often because the functionality I want has been absorbed into Microsoft software I’m already using.
In yesterday’s post I described the project I want to build: HyperVideo. This morning I created a new Blazor application and the first thing I did was to open CoPilot and give it a prompt. Specifically, I asked it to build what I described yesterday.
As part of my work of rapidly coming up to speed with creating AI applications, I’ve decided to start an ambitious project, and to bring you with me. I call it HyperVideo.
Very excited to say that I have purchased 3-4 books in preparation for the Azure AI 900 certification from Microsoft. I will be creating another series here, distilling down what I learn, even while we keep the API series going.
This is the first certification I’ve ever tried for… no that’s a lie, I was a certified Xamarin developer. But beside that one, this is the first. I’ve never been sure that they are worthwhile (as an autodidact), but AI is so new and changing so fast and so bloody interesting that I couldn’t resist.
I’ll begin with the obvious question: which AI engine? The answer to that was easy; I’ve spent the past three decades working in what is now .NET, and I worked for Microsoft, and I currently work in an all-Microsoft shop. So Azure it is.
As part of the API tutorials we decided we needed a Database with two tables: Book and Author. Books will join Author and there can be as many authors as we want. Rather than writing this however, I went on GitHub and used the agents.
I prompted: ASP.net API with a sqlserver backend. SQLServer will have two tables: bookList and Authors, with the booklist id as a foreign key in Authors. Unit tests using xunit and moq. Set up Azurite to provide a message queue, have the GET endpoint create a durable function to listen to the message queue, and have POST use an Azure function to add records to the database. Create service classes for the logic and Repository classes for interacting with the Database
I’m happy to announce the start of a new series on creating APIs with C# and .NET—beginning with a series of posts, videos, and podcasts on Azure Functions and Durable Functions.
You can find the video here, and the podcast is available wherever you get your podcasts, or you can download it here, or you can use this player:
In the past short while, we’ve seen the release of Visual Studio 2026 and iOS-26. They both have great improvements, though if I had to choose, the one that is making the biggest impact on me is, of course, Visual Studio. And there, the biggest improvement is performance.
You know how real estate people say that the three most important things in selling a house are location, location, location. Well, for me, the three most important things in an IDE are performance, performance and, oh yeah, performance.
A couple years ago I was frustrated by the slowness of the code-build-debug-repeat cycle. Loading Visual Studio, and especially building the project had terrible bursts of slow. I went out and bought a powerhouse desktop with 64GB of memory and 24 Core. At the time, that was about as big a box as I could afford. The impact on Rebuild All… nada. I couldn’t perceive much difference at all.
But now, Visual Studio appears to be taking advantage of the memory, and that, combined with other optomizations, makes it scream. I talked with Mads Kristensen (podcast / video) about 2026 and this was one of the things we focused on.
Mads actually focuses on three big improvements in VS2026: performance, appearance (did you know there are about 4,000 icons in VS!?), and deep CoPilot integration.
Deep CoPilot integration is one of those features whose true benefit emerges over time. One key feature is that CoPilot can now know a lot more about your entire project, allowing it to do a lot of work for you (under your supervision, of course). Add MCP (which, essentially, allows you to add expert AI on a given context) and boom! CoPilot really does become a smart assistant.
For more on CoPilot agents and MCP see my interview of Scott Hunter (podcast / video). Also, check out my podcast with Jeff Fritz.
iOS 26
iOS26 is much prettier than it was, and has a number of cool new features. My favorite is Hold Assist. It lets your iPhone wait on hold for you and alerts you when a person picks up. No more listening to elevator music…
To use it, make your call as you usually do. If you are put on hold (or get an automated message), wait a few seconds and your iPhone will prompt you: “Hold this call?” If you tap Hold, you can leave that screen and use your phone to do other things. When a human picks up on the other end, you are notified and the call is connected. (Note, if you miss the Hold This Call prompt, you can tap More -> Hold Assist from the in-call menu.)
iOS also offers Call Screening. This asks unknown callers who they are and what they want before your phone rings. You can then decide whether or not to take the call. You have a lot of control over this feature and you can integrate it with Focus.
What else? There are a ton of small features, one I particularly like is the ability to take simple polls in messages. What time should we talk? 6pm, 6:30pm, 7pm.
CoPilot says “This update isn’t just a facelift—it’s a full-on personality upgrade for your iPhone.” I agree.