Home Automation Cookbook collects practical patterns for making a home helpful without making it harder to use.
I have written about home automation on this blog for years. In 2019, I published a collection of home automation ideas that worked well for my family. The important part was never a part...
When several Visual Studio instances are open, identifying the right one becomes a surprisingly repetitive task. Two windows showing different checkouts of the same solution can look almost identical. Reading the title works, but a small visual cue is easier to spot.
That's the problem behind Solut...
Lore is a new source control system from Epic Games. It is designed for fast, distributed workflows, with local repositories that work offline and optional Lore servers when you need to collaborate.
Lore for Visual Studio brings that workflow directly into the IDE. It is also a practical example of...
I've been moving my home storage over to a UniFi UNAS Pro 8 as part of a larger homelab moderization. My main IRONHEART (the ultimate PC from a few years back) desktop now has an Intel E610-XT2 10GbE card, the NAS is on 10GbE, and there's a Minisforum MS-01 miniPC on the same network with a 10GbE SF...
I’ve had a Synology NAS for a very long time, and recently I started moving its contents to a new Ubiquiti UniFi UNAS Pro 8. This seemed like it ought to be a fairly boring operation. Both devices speak SMB, I have a fast network (recently upgraded to 10 gigabit internally), and Windows has ha...
Line length is one of those conventions that teams agree on easily and enforce inconsistently. EditorConfig gives us a shared vocabulary with max_line_length, but Visual Studio does not natively draw a boundary for it or apply it during formatting.
That gap is what inspired Max Line Length. The ext...
Visual Studio bookmarks are useful for marking a line and returning to it later. The problem is that a line number alone does not say why the location matters, how it relates to other locations, or whether the rest of the team should know about it.
Bookmark Studio treats a bookmark as a small piece ...
Turning a code sample into an image sounds simple until the image needs to look like the code inside Visual Studio.
Copying text into a design tool loses editor colors and formatting. Taking a normal screen capture includes tabs, margins, toolbars, and whatever else happens to be visible. It also l...
The Japanese are really good at woodworking. And I love watching the Yankee workshop, my dad makes Native American bows and arrows completely from scratch in his workshop with trees that he finds. This is all different from the stuff you get at IKEA, but I’ve been coding now for money for 35 ye...
People should not be judging AI-augmented coding by “1 shots.” If someone told you that their model did a “one shot of Minecraft” and they’re impressed by that, you need to consider how much semantic heavy lifting the word “Minecraft” is doing in that prompt. Ask them to one shot Minecraft...
Mac Tahoe (in Beta as of the time of this writing) has this new feature called Edge Light that basically puts a bright picture of an Edge Light around your screen and basically uses the power of OLED to give you a virtual ring light. So I was like, why can't we also have nice things? I wrote (vibed,...
Let me take you back to a moment that might feel familiar: you’re staring at a JSON configuration file, wrestling with field names and structure, hoping you’ve gotten it right. Your IDE is offering no help, and documentation is scattered or nonexistent. Frustrating, right?
Years ago, I f...
I use my webcam constantly for streaming and I'm pretty familiar with all the internals and how the camera model on Windows works. I also use OBS extensively, so I regularly use the OBS virtual camera and flow everything through Open Broadcasting Studio. For my podcast, I use Zencastr which is a we...
See the canonical version of this blog post at the Microsoft Open Source Blog! Ten years ago, Microsoft released the source for MS-DOS 1.25 and 2.0 to the Computer History Museum, and then later republished them for reference purposes. This code holds an important place in history and is a fascinat...
I've been doing not just Unit Testing for my sites but full on Integration Testing and Browser Automation Testing as early as 2007 with Selenium. Lately, however, I've been using the faster and generally more compatible Playwright. It has one API and can test on Windows, Linux, Mac, locally, in a co...
There are many let's encrypt automatic tools for azure but I also wanted to see if I could use certbot in wsl to generate a wildcard certificate for the azure Friday website and then upload the resulting certificates to azure app service. Azure app service ultimately needs a specific format called ...
GitHub Next has this cool project that is basically Copilot for the CLI (command line interface). You can sign up for their waitlist at the Copilot for CLI site. Copilot for CLI provides three shell commands: ??, git? and gh? This is cool and all, but I use PowerShell. Turns out these ?? commands a...
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...