Subscribe

I got a lovely email from a reader named Steven who has been doing .NET for many years and is excited about .NET 5. He has an interesting perspective: I really like the .NET library. During 2020, I've taught myself enough Windows Forms to write my own JPG photo viewer.  Sorry but I'm not a fa...

I've long said, as a fan of the console and text mode, that the command line is underloved. You can do accelerated 3D VR, sure, but impress me with a nice ASCII progress bar or spinner and oh my! *Chef's kiss* Enter yet another lovely Console library in the form of Spectre.Console. You may know Patr...

I've talked about the dotnet-outdated tool before but now it's, ahem, outdated. It's moved to new owners so head over to your command line and update "dotnet-outdated" like this:dotnet tool uninstall --global dotnet-outdateddotnet tool install --global dotnet-outdated-tool Just copy paste those and ...

I've often asked for my Windows Terminal's settings.json (formerly profiles.json) so I keep it up on GitHub. The thing is, all my machines are different. I mix it up, I change it. Remember that the Windows Terminal is approaching version 1.5 today! Make sure you upgrade and read about the new feat...

A few years back I had a lovely podcast conversation with technical leader Keavy McMinn. Sometimes I wonder if anyone listens to the show. Then a nice comment will come in when someone listen to an episode years ago and is still thinking about particular quote or line. Last week I got an email askin...

In the long process of upgrading this blog and moving it to Azure I've been slowly fixing small bugs and also dealing with the dozens of microsites I have hanging off of hanselman.com. Some were forgotten, and some just keep chugging along. https://www.babysmash.com/ is one of them. BabySmash is a s...

Thanks for the kind words on my post earlier this week. Lots of great tips both in the comments and were sent to me privately. I'm still alternating meds, struggling at physical therapy every day, but I'm fortunate to have my wife (a medical/surgical nurse) here to tell me when it's supposed to hurt...

I'm in a LOT of pain right now. It's hard to say that, especially considering that everyone experiences pain be it emotional or physical. I don't want to make unneeded comparisons or consider my pain as being more important than anyone else's. I'm not burned. I'm not dying of cancer. I am blessed. ...

ASP.NET Core can understand what "environment" it's running under. For me, that's "development," "test," "staging," "production," but for you it can be whatever makes you happy. By default, ASP.NET understand Development, Staging, and Production. You can the change how your app behaves by asking "Is...

Back in 2017 I said "URLs are UI" and I stand by it. At the time, however, I was running this 18 year old blog using ASP.NET WebForms and the URL was, ahem, https://www.hanselman.com/blog/URLsAreUI.aspx The blog post got on Hacker News and folks were not impressed with my PascalCasing but were part...

At our house, we use home automation for a lot of different things. One of them is the ability to get a quick overview of the state of our appliances such as the washer, dryer and dishwasher. That way we don’t accidentally forget to turn over the laundry or empty the dishwasher. A red tile on our ...

After showing some pictures of our smart home dashboard, questions started coming in about the cables going in behind the books. Where is the modem and what else is going on? Spoiler alert, the books are fake. Here you see a couple of cables going in behind the books on the top shelve. Removing...

I’ve had some questions lately about how we keep track of all the home automation devices spread across the house. So, I thought I’d share how our dashboard is set up. The dashboard is the web-based SharpTools that runs in Fully Kiosk Browser on an Amazon Fire Tablet HD 10 which is magnetically atta...

Hey! It’s been a few years since I last blogged here! Let’s get this blog thing back in action, starting with something non-technical that I’ve had a few requests for – my story of two years of daily exercise. Happy New Year! Today’s a day where half the world contempla...

Motion, contact, and light sensors are the most commonly used sensors for home automations in my house. With these sensors, you can make a wide variety of automations. But there are so many different manufacturers, protocols, and price points that it can be hard to choose which devices to buy and us...

Here are a bunch of home automation ideas for your inspiration. These are examples of automation rules that have worked well for my family. They might work well for yours too. The ideas are technology agnostic and describe the concept rather than the exact implementation. They should work with just...

After having spent a lot of time and effort installing smart devices throughout my entire house and automating them, I’ve learned a lot of do’s and don’ts. It’s been a long process of trial and error to come up with the right automations that work for all scenarios. Along the...

Recently, I’ve updated over 30 of my extensions to support Visual Studio 2019 (16.0). To make sure they work, I got my hands on a very early internal build of VS 2019 to test with (working on the Visual Studio team has its benefits). I’ve learned that the upgrade process is probably the easiest I’v...

I’m often asked how to best learn to build Visual Studio extensions, so here is what I wished someone told me before I got started. Don’t skip the introduction It’s easy to create a new extensibility project in Visual Studio, but unless you understand the basics of how the extensibility system wor...

Having great samples to help you learn about any programming language or paradigm can be very valuable. In my opinion, a good sample can be characterized by: Being easy to replicate Having clear steps that guide the reader to replicating the behavior of the sample into their own code base is param...

< Older