Latest News

A collection of news articles from ScottHanselman

returned 11 related articles for ScottHanselman

Open Sourcing DOS 4

This code holds an important place in history and is a fascinating read of an operating system that was written entirely in 8086 assembly code nearly 45 years ago.

Today, in partnership with IBM and in the spirit of open innovation, we're releasing the source code to MS-DOS 4.00 under the MIT license.Amongst the floppies, Ray found unreleased beta binaries of DOS 4.0 that he was sent while he was at Lotus.


Thursday, April 25, 2024 4:46:13 PM

Updating to .NET 8, updating to IHostBuilder, and running Playwright Tests within NUnit headless or headed on any OS

public class WebApplicationTestBuilderFactory 
{
public static WebApplicationBuilder CreateBuilder<T>() where T : class
{
//This ungodly code requires an unused reference to the MvcTesting package that hooks up
// MSBuild to create the manifest file that is read here.


//spin up a real live web application inside TestHost.exe
var builder = WebApplication.CreateBuilder(
new WebApplicationOptions()
{
ContentRootPath = contentRootPath,
ApplicationName = asmFullName
});
Because the test runs in the context of a different directory and my website needs to run within the context of its own content root path, I have to force the content root path to be correct and the only way to do that is by getting the apps base directory from a file generated within MSBuild from the (aging) MvcTesting package.

Thursday, March 7, 2024 1:12:13 AM

Using WSL and Let's Encrypt to create Azure App Service SSL Wildcard Certificates

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 dot PFX that includes the full certificate path and all intermediates.

Per the docs, App Service private certificates must meet the following requirements:

  • Exported as a password-protected PFX file, encrypted using triple DES.

    Then upload the cert to the Certificates section of your App Service, under Bring Your Own Cert.

    Then under Custom Domains, click Update Binding and select the new cert (with the latest expiration date).


Tuesday, June 27, 2023 5:17:25 PM

GitHub Copilot for CLI for PowerShell

GitHub Next has this cool project that is basically Copilot for the CLI (command line interface).

So this means I should be able to to do the same/similar aliases for my PowerShell prompt AND change the injected prompt (look at me I'm a prompt engineer) to add 'use powershell to.'

It also then offers to run the command.


Tuesday, April 25, 2023 3:31:49 PM

Use your own user @ domain for Mastodon discoverability with the WebFinger Protocol without hosting a server

Mastodon is a free, open-source social networking service that is decentralized and distributed.It was created in 2016 as an alternative to centralized social media platforms such as Twitter and Facebook.

One of the key features of Mastodon is the use of the WebFinger protocol, which allows users to discover and access information about other users on the Mastodon network.


Sunday, December 18, 2022 10:16:30 PM

I got tired

But last year, without planning it, I got tired and stopped.

I did find joy on TikTok and amassed a small group of like-minded followers there.I enjoy my YouTube as well, and my weekly podcast is going strong with nearly 900 (!) episodes of interviews with cool people.


Sunday, December 18, 2022 6:27:11 PM

Using Home Assistant to integrate a Unifi Protect G4 Doorbell and Amazon Alexa to announce visitors

Every object (entity) in your house that is even remotely connected can become programmable.
  • Get the UniFi Protect 3rd party integration for Home Assistant
    • NOTE: Unifi Protect support is being promoted in Home Assistant v2022.2 so you won't need this step soon as it'll be included.
    • "The UniFi Protect Integration adds support for retrieving Camera feeds and Sensor data from a UniFi Protect installation on either an Ubiquiti CloudKey+, Ubiquiti UniFi Dream Machine Pro or UniFi Protect Network Video Recorder."
    • Authenticate and configure this integration.
  • Get the Alexa Media Player integration
    • This makes all your Alexas show up in Home Assistant as "media players" and also allows you to tts (text to speech) to them.
    • Authenticate and configure this integration.
    Provide the convenient login features your customers want, like social login, multi-factor authentication, single sign-on, passwordless, and more.

    Tuesday, December 14, 2021 9:36:00 PM

    JavaScript and TypeScript Projects with React, Angular, or Vue in Visual Studio 2022 with or without .NET

    You need to consider the responsibilities of your various projects or subsystems and the multiple totally valid ways you can build a web site or web app.

    VS2022 brings JavaScript and TypeScript support into VS with a full JavaScript Language Service based on TS.

    NEW: Starting in Visual Studio 2022, there is a new JavaScript/TypeScript project type (.esproj) that allows you to create standalone Angular, React, and Vue projects in Visual Studio.


    Thursday, November 25, 2021 8:50:00 PM

    A Nightscout Segment for OhMyPosh shows my realtime Blood Sugar readings in my Git Prompt

    I've also worked with my buddy TooTallNate to put my real-time blood sugar into a bash or PowerShell prompt, but this was back in 2017.

    Now that I'm "Team OhMyPosh" I have been meaning to write a Nightscout "segment" for my prompt.Nightscout is an open source self-hosted (there are commercial hosts also like T1Pal) website and API for remote display of real-time and near-real-time glucose readings for Diabetics like myself.


    Tuesday, November 23, 2021 8:02:00 PM

    Upgrading a 20 year old University Project to .NET 6 with dotnet-upgrade-assistant

    I wrote a Tiny Virtual Operating System for a 300-level OS class in C# for college back in 2001 (?) and later moved it to VB.NET in 2002.

    This evening, as the children slept, I wanted to see if I could run the .NET Upgrade Assistant on this now 20 year old app and get it running on .NET 6.

    Let's start:

    $ upgrade-assistant upgrade .\TinyOS.sln
    -----------------------------------------------------------------------------------------------------------------
    Microsoft .NET Upgrade Assistant v0.3.256001+3c4e05c787f588e940fe73bfa78d7eedfe0190bd

    We are interested in your feedback!

    Thursday, November 18, 2021 9:18:00 PM

    .NET 6 Hot Reload and "Refused to connect to ws: because it violates the Content Security Policy directive" because Web Sockets

    DasBlog is a pretty large and cool app and we noticed immediately upon Mark upgrading it to .NET 6 that we were unable to use Hot Reload (via dotnet watch or from VS 2022).dotnet run will always assume it's in Development (you literally tell it to restore, build, and exec in one run command) if you run it.Don't ship your .NET SDK to your webserver and don't recompile the whole thing on startup in production!


    Tuesday, November 16, 2021 7:37:00 PM
    build status deployment status
    Copyright © Ian Jowett 2024