<?xml-stylesheet type="text/xsl" href="http://feeds.hanselman.com/feedblitz_rss.xslt"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:webfeeds="http://webfeeds.org/rss/1.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><channel><webfeeds:logo>https://www.hanselman.com/blog/images/zenicon.jpg</webfeeds:logo><webfeeds:analytics id="UA-130207-1" engine="GoogleAnalytics" /><title>Scott Hanselman's Blog</title><link>https://www.hanselman.com/blog/</link><description>Scott Hanselman on Programming, User Experience, The Zen of Computers and Life in General</description><image>
	<url>http://www.hanselman.com/blog/images/tinyheadshot2.jpg</url>
	<title>Scott Hanselman's Blog</title>
	<link>https://www.hanselman.com/blog/</link>
</image><copyright>Scott Hanselman</copyright><lastBuildDate>Fri, 22 Jan 2021 01:56:33 GMT</lastBuildDate><managingEditor>scott@hanselman.com</managingEditor><webMaster>scott@hanselman.com</webMaster>
<meta xmlns="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
<item>
<feedburner:origLink>https://www.hanselman.com/blog/using-tailscale-on-windows-to-network-more-easily-with-wsl2-and-visual-studio-code</feedburner:origLink><trackback:ping>https://www.hanselman.com/blog/feed/trackback/dbe208ab-4789-4ed0-9948-e496d9c2afa0</trackback:ping><pingback:server>https://www.hanselman.com/blog/feed/pingback</pingback:server><pingback:target>https://www.hanselman.com/blog/post/dbe208ab-4789-4ed0-9948-e496d9c2afa0</pingback:target><dc:creator>Scott Hanselman</dc:creator><wfw:comment>http://feeds.hanselman.com/~/642178808/0/scotthanselman~Using-Tailscale-on-Windows-to-network-more-easily-with-WSL-and-Visual-Studio-Code/comments#comments-start</wfw:comment><wfw:commentRss>https://www.hanselman.com/blog/feed/rss/comments/dbe208ab-4789-4ed0-9948-e496d9c2afa0</wfw:commentRss><slash:comments>3</slash:comments><title>Using Tailscale on Windows to network more easily with WSL2 and Visual Studio Code</title><guid isPermaLink="false">https://www.hanselman.com/blog/post/dbe208ab-4789-4ed0-9948-e496d9c2afa0</guid><link>http://feeds.hanselman.com/~/642178808/0/scotthanselman~Using-Tailscale-on-Windows-to-network-more-easily-with-WSL-and-Visual-Studio-Code</link><pubDate>Fri, 22 Jan 2021 01:56:33 GMT</pubDate><description><![CDATA[<div><p>Tailscale is a zero config mesh "VPN" that runs atop other networks and effectively "flattens" networks and allows users/services to more easily (and securely) communicate with each other.</p> <p>For example, I've written <a href="https://www.hanselman.com/blog/how-to-ssh-into-wsl2-on-windows-10-from-an-external-machine">extensively on how to SSH into WSL2 on Windows 10 <em>from another machine</em></a> and you'll note that there is not only a ton of steps but <a href="https://www.hanselman.com/blog/the-easy-way-how-to-ssh-into-bash-and-wsl2-on-windows-10-from-an-external-machine"><em>there's more than one way to do it</em></a>! </p> <p>I have talked about this for SSH, but if you're an active developer and want to share the services and sites you're working on with your coworkers and collaborators, there's a non-trivial amount of setup, management, and maintenance to deal with. </p> <p>Phrased differently, "wouldn't it be easier if we were all just on the same network and subnet?"</p> <p>WSL1 shares its networking stack with Windows 10, so the "machine" is the same. Whatever YourMachineName is, running a service on 5000 is the same if it's a Windows service or an app running in Linux under WSL1. However, in WSL2, your Linux environment is "behind" your Windows host. While WSL2 makes it easy to hit <a href="http://localhost:5000">http://localhost:5000</a> by transparent port-forwarding, your WSL2 Linux machine isn't really a peer on the same network as your other devices.</p> <p>Using a zero-configuration networking system like Tailscale (and similar services) levels the playing field - and the network. Due to some characteristics of WSL2 there are a few gotchas. Here's how I got it working for me.</p> <h3>Tailscale on WSL2</h3> <h3>Get WSL</h3> <ul> <li><a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10">Install WSL2</a> - <a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10">follow the instructions here</a>&nbsp; <li><a href="https://aka.ms/wslstore">Install a Linux distro</a> - I used Ubuntu 20.04  <ul> <li>go through the process, make a user, etc.</li></ul> <li><a href="https://docs.microsoft.com/en-us/windows/terminal/get-started">Install the Windows Terminal</a> - It's just so much better, and really makes your command line experience better</li></ul> <h3>Get Tailscale</h3> <ul> <li><a href="https://tailscale.com/download">Install Tailscale</a> - I used the <a href="https://tailscale.com/download/linux/ubuntu-2004">Ubuntu 20.04 instructions</a></li></ul> <h3>Modify WSL2 </h3> <ul> <li>I can't get Tailscale today to startup on WSL2 with ipv6 install, so I disable it.</li></ul><pre>sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1<br>sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1</pre>
<h3>Run Tailscale</h3>
<p>Here you startup the daemon. There's no systemd (yet) on WSL2, but if you're on a version over Windows 10 build 21286, there are ways run commands on startup in the Windows Subsystem for Linux. Personally, I just do this in a bash script.</p><pre>sudo tailscaled </pre>
<p>WSL doesn't have a way to do an interactive login process, so you wan tot <a href="https://login.tailscale.com/admin/authkeys">create a pre-authentication key to authenticate a single machine</a>. Then use that key, as I do here, to bring up Tailscale within WSL:</p><pre>tailscale up --authkey=tskey-9e85d94f237c54253cf0</pre>
<p>I like to keep this open in <a href="https://www.hanselman.com/blog/how-to-use-open-resize-and-split-panes-in-the-windows-terminal">another Terminal Tab or Window Pane</a> so I can watch the logs. It's interesting and verbose!</p>
<p>Within the Tailscale machines admin panel, you can see all the machines living on your new Tailscale network. Note that I have scottha-proto listed as Windows, and scottha-proto-1 listed as Linux. The first is my Host machine and the second (the -1) is my Linux WSL2 instance! They are now on a flat network!&nbsp; </p>
<p><a href="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_2.png"><img title="A list of all my Tailscale machines" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="A list of all my Tailscale machines" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_thumb.png" width="642" height="476"></a></p>
<p>I was also able to invite a user from outside my network with the new (coming soon) Tailscale node sharing feature. My friend Glenn is NOT in my organization, but just like I use OneDrive or DropBox to create a link to access ONE entity but not the WHOLE system, I can do the same here.</p>
<p><a href="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_4.png"><img title="Shared my node with someone outside my network" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="Shared my node with someone outside my network" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_thumb_1.png" width="642" height="425"></a></p>
<p>Now I can have Glenn hit a service running in WSL2 <strong>from his house.</strong></p>
<h3>Make a Service and Bind it to the Tailscale Network</h3>
<p>I've installed <a href="https://dotnet.microsoft.com/download/dotnet-core">.NET 5 in my WSL2 Ubuntu system</a>, made a folder, and run <code>dotnet new web</code> to make a Hello World microservice.</p>
<p>When I run the service - .NET or Node, or whatever - it essential that the service <em>listen on the Tailscale network. </em>Your Linux system in WSL2 is 'multi-homed' and is connected to multiple networks. By default my developer systems listen only on localhost.</p>
<p>For <a href="https://andrewlock.net/5-ways-to-set-the-urls-for-an-aspnetcore-app/">.NET there's several ways to listen on all networks</a> (including Tailscale) but I used this one:</p><pre>dotnet run --urls <a href="http://*:5100;https://*:5101">http://*:5100;https://*:5101</a></pre>
<p>So here I've got myself connecting to the Tailscale IP that's associated with my WSL2 instance and hitting my Linux service running within:</p>
<p><figure><img alt="Image" src="https://pbs.twimg.com/media/EsOXCQFUcAAju-e?format=jpg&amp;name=4096x4096" width="999" height="666"></figure> </p>
<p>How far can we take this? Well, since I'm on the Tailscale network and Glenn has connected to it, the whole network is flat, so hitting my service is trivial! Here I am on Teams with my desktop on the bottom and Glenn's desktop on the top.</p><figure><a href="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_8.png"><img title="My service in WSL2 being hit my Glenn from a remote system" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="My service in WSL2 being hit my Glenn from a remote system" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_thumb_3.png" width="1001" height="1166"></a></figure> 
<p>Cool. How far can we go?</p><figure></figure>
<h3>Add Visual Studio Code and the Remote Development SSH Extension</h3>
<p>Ok, so flat secure network, no limits! Can I make my WSL2 instance be treated as a remote development system for Glenn? Sure, why not? </p>
<blockquote>
<p><strong>To be clear </strong>- this is just me talking and experimenting, but there's something here. This can also be cross platform, Mac to Windows to WSL2, etc. You can also certainly use this section to create a VM in any cloud host or hoster, install Tailscale, stop worrying about port forwarding, and use it as a development box. Yes, you can just use WSL local, but this is fun and can be exploited in other cool ways.</p></blockquote>
<p>On my WSL2 machine, I'll start up the ssh service. I could share public keys and do proper key-based login, but for this I'll do it by username.</p>
<p>I'll edit <code>/etc/ssh/sshd_config</code> and set the port, ListenAddress, and PasswordAuthentication to Yes. Here's an example:</p><pre>Port 22<br>#AddressFamily any<br>ListenAddress 0.0.0.0<br>ListenAddress ::<br><br>PasswordAuthentication yes</pre>
<p>I made glenn a local super user just in my WSL2 instance:</p><pre>sudo adduser glenn<br>usermoid -aG sudo glenn</pre>
<p>Glenn then installs the <a href="https://code.visualstudio.com/docs/remote/remote-overview'">VS Code Remote Development pack</a> and connects using <a href="https://code.visualstudio.com/docs/remote/ssh-tutorial">Remote via SSH</a> to my Tailscale IP. Here you can see VS Code from Glenn's machine is actually installing the VS Code Server and remote developers, and Glenn and code with VS Code architecturally <em>split in half </em>with the client on his Windows machine and the server on my WSL2 instance.</p>
<p>Note in the lower left corner, you can see his VS Code is connected to my WSL2 Linux instance's Tailscale IP!</p>
<p><a href="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_10.png"><img title="Connected to Tailscale with VS Code" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Connected to Tailscale with VS Code" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_thumb_4.png" width="474" height="621"></a></p>
<p>What do you think?</p>
<p>You may compare Tailscale to things <a href="https://www.tailscale.com/kb/1089/tailscale-vs-ngrok">like NGrok which offers a developer-oriented localhost tunneller, but there are some important differences</a>. Do your research! I have no relationship with this company other than I'm a fan.</p>
<hr>
<p><strong>Sponsor: </strong>This week's sponsor is...me! This blog and my podcast has been a labor of love for 19 years. Your sponsorship pays my hosting bills for both AND allows me to buy gadgets to review AND the occasional taco. <a href="https://hanselminutes.com/advertise">Join me</a>! </p><br/><hr/>© 2020 Scott Hanselman. All rights reserved. <br/></div><div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/642178808/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/642178808/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/642178808/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/642178808/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/642178808/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</description><comments>http://feeds.hanselman.com/~/642178808/0/scotthanselman~Using-Tailscale-on-Windows-to-network-more-easily-with-WSL-and-Visual-Studio-Code/comments#comments-start</comments><category>Linux</category><category>Open Source</category><category>Win10</category><content:encoded><![CDATA[<div><p>Tailscale is a zero config mesh "VPN" that runs atop other networks and effectively "flattens" networks and allows users/services to more easily (and securely) communicate with each other.</p> <p>For example, I've written <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/how-to-ssh-into-wsl2-on-windows-10-from-an-external-machine">extensively on how to SSH into WSL2 on Windows 10 <em>from another machine</em></a> and you'll note that there is not only a ton of steps but <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/the-easy-way-how-to-ssh-into-bash-and-wsl2-on-windows-10-from-an-external-machine"><em>there's more than one way to do it</em></a>! </p> <p>I have talked about this for SSH, but if you're an active developer and want to share the services and sites you're working on with your coworkers and collaborators, there's a non-trivial amount of setup, management, and maintenance to deal with. </p> <p>Phrased differently, "wouldn't it be easier if we were all just on the same network and subnet?"</p> <p>WSL1 shares its networking stack with Windows 10, so the "machine" is the same. Whatever YourMachineName is, running a service on 5000 is the same if it's a Windows service or an app running in Linux under WSL1. However, in WSL2, your Linux environment is "behind" your Windows host. While WSL2 makes it easy to hit <a href="http://localhost:5000">http://localhost:5000</a> by transparent port-forwarding, your WSL2 Linux machine isn't really a peer on the same network as your other devices.</p> <p>Using a zero-configuration networking system like Tailscale (and similar services) levels the playing field - and the network. Due to some characteristics of WSL2 there are a few gotchas. Here's how I got it working for me.</p> <h3>Tailscale on WSL2</h3> <h3>Get WSL</h3> <ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://docs.microsoft.com/en-us/windows/wsl/install-win10">Install WSL2</a> - <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://docs.microsoft.com/en-us/windows/wsl/install-win10">follow the instructions here</a>&nbsp; <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://aka.ms/wslstore">Install a Linux distro</a> - I used Ubuntu 20.04  <ul> <li>go through the process, make a user, etc.</li></ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://docs.microsoft.com/en-us/windows/terminal/get-started">Install the Windows Terminal</a> - It's just so much better, and really makes your command line experience better</li></ul> <h3>Get Tailscale</h3> <ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://tailscale.com/download">Install Tailscale</a> - I used the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://tailscale.com/download/linux/ubuntu-2004">Ubuntu 20.04 instructions</a></li></ul> <h3>Modify WSL2 </h3> <ul> <li>I can't get Tailscale today to startup on WSL2 with ipv6 install, so I disable it.</li></ul><pre>sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
<br>sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1</pre>
<h3>Run Tailscale</h3>
<p>Here you startup the daemon. There's no systemd (yet) on WSL2, but if you're on a version over Windows 10 build 21286, there are ways run commands on startup in the Windows Subsystem for Linux. Personally, I just do this in a bash script.</p><pre>sudo tailscaled </pre>
<p>WSL doesn't have a way to do an interactive login process, so you wan tot <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://login.tailscale.com/admin/authkeys">create a pre-authentication key to authenticate a single machine</a>. Then use that key, as I do here, to bring up Tailscale within WSL:</p><pre>tailscale up --authkey=tskey-9e85d94f237c54253cf0</pre>
<p>I like to keep this open in <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/how-to-use-open-resize-and-split-panes-in-the-windows-terminal">another Terminal Tab or Window Pane</a> so I can watch the logs. It's interesting and verbose!</p>
<p>Within the Tailscale machines admin panel, you can see all the machines living on your new Tailscale network. Note that I have scottha-proto listed as Windows, and scottha-proto-1 listed as Linux. The first is my Host machine and the second (the -1) is my Linux WSL2 instance! They are now on a flat network!&nbsp; </p>
<p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_2.png"><img title="A list of all my Tailscale machines" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="A list of all my Tailscale machines" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_thumb.png" width="642" height="476"></a></p>
<p>I was also able to invite a user from outside my network with the new (coming soon) Tailscale node sharing feature. My friend Glenn is NOT in my organization, but just like I use OneDrive or DropBox to create a link to access ONE entity but not the WHOLE system, I can do the same here.</p>
<p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_4.png"><img title="Shared my node with someone outside my network" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="Shared my node with someone outside my network" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_thumb_1.png" width="642" height="425"></a></p>
<p>Now I can have Glenn hit a service running in WSL2 <strong>from his house.</strong></p>
<h3>Make a Service and Bind it to the Tailscale Network</h3>
<p>I've installed <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://dotnet.microsoft.com/download/dotnet-core">.NET 5 in my WSL2 Ubuntu system</a>, made a folder, and run <code>dotnet new web</code> to make a Hello World microservice.</p>
<p>When I run the service - .NET or Node, or whatever - it essential that the service <em>listen on the Tailscale network. </em>Your Linux system in WSL2 is 'multi-homed' and is connected to multiple networks. By default my developer systems listen only on localhost.</p>
<p>For <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://andrewlock.net/5-ways-to-set-the-urls-for-an-aspnetcore-app/">.NET there's several ways to listen on all networks</a> (including Tailscale) but I used this one:</p><pre>dotnet run --urls <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~*:5100;https://*:5101">http://*:5100;https://*:5101</a></pre>
<p>So here I've got myself connecting to the Tailscale IP that's associated with my WSL2 instance and hitting my Linux service running within:</p>
<p><figure><img alt="Image" src="https://pbs.twimg.com/media/EsOXCQFUcAAju-e?format=jpg&amp;name=4096x4096" width="999" height="666"></figure> </p>
<p>How far can we take this? Well, since I'm on the Tailscale network and Glenn has connected to it, the whole network is flat, so hitting my service is trivial! Here I am on Teams with my desktop on the bottom and Glenn's desktop on the top.</p><figure><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_8.png"><img title="My service in WSL2 being hit my Glenn from a remote system" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="My service in WSL2 being hit my Glenn from a remote system" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_thumb_3.png" width="1001" height="1166"></a></figure> 
<p>Cool. How far can we go?</p><figure></figure>
<h3>Add Visual Studio Code and the Remote Development SSH Extension</h3>
<p>Ok, so flat secure network, no limits! Can I make my WSL2 instance be treated as a remote development system for Glenn? Sure, why not? </p>
<blockquote>
<p><strong>To be clear </strong>- this is just me talking and experimenting, but there's something here. This can also be cross platform, Mac to Windows to WSL2, etc. You can also certainly use this section to create a VM in any cloud host or hoster, install Tailscale, stop worrying about port forwarding, and use it as a development box. Yes, you can just use WSL local, but this is fun and can be exploited in other cool ways.</p></blockquote>
<p>On my WSL2 machine, I'll start up the ssh service. I could share public keys and do proper key-based login, but for this I'll do it by username.</p>
<p>I'll edit <code>/etc/ssh/sshd_config</code> and set the port, ListenAddress, and PasswordAuthentication to Yes. Here's an example:</p><pre>Port 22
<br>#AddressFamily any
<br>ListenAddress 0.0.0.0
<br>ListenAddress ::
<br>
<br>PasswordAuthentication yes</pre>
<p>I made glenn a local super user just in my WSL2 instance:</p><pre>sudo adduser glenn
<br>usermoid -aG sudo glenn</pre>
<p>Glenn then installs the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://code.visualstudio.com/docs/remote/remote-overview'">VS Code Remote Development pack</a> and connects using <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://code.visualstudio.com/docs/remote/ssh-tutorial">Remote via SSH</a> to my Tailscale IP. Here you can see VS Code from Glenn's machine is actually installing the VS Code Server and remote developers, and Glenn and code with VS Code architecturally <em>split in half </em>with the client on his Windows machine and the server on my WSL2 instance.</p>
<p>Note in the lower left corner, you can see his VS Code is connected to my WSL2 Linux instance's Tailscale IP!</p>
<p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_10.png"><img title="Connected to Tailscale with VS Code" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Connected to Tailscale with VS Code" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/Using-Tailscale-to-communicate-with_EC92/image_thumb_4.png" width="474" height="621"></a></p>
<p>What do you think?</p>
<p>You may compare Tailscale to things <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.tailscale.com/kb/1089/tailscale-vs-ngrok">like NGrok which offers a developer-oriented localhost tunneller, but there are some important differences</a>. Do your research! I have no relationship with this company other than I'm a fan.</p>
<hr>
<p><strong>Sponsor: </strong>This week's sponsor is...me! This blog and my podcast has been a labor of love for 19 years. Your sponsorship pays my hosting bills for both AND allows me to buy gadgets to review AND the occasional taco. <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://hanselminutes.com/advertise">Join me</a>! </p>
<br/><hr/>© 2020 Scott Hanselman. All rights reserved. 
<br/></div><Img align="left" border="0" height="1" width="1" alt="" style="border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;" hspace="0" src="http://feeds.hanselman.com/~/i/642178808/0/scotthanselman">
<div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/642178808/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/642178808/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/642178808/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/642178808/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/642178808/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</content:encoded></item>
<item>
<feedburner:origLink>https://www.hanselman.com/blog/exploring-my-creativity-through-tiktok-and-youtube-technical-education-videos</feedburner:origLink><trackback:ping>https://www.hanselman.com/blog/feed/trackback/206f7456-bab4-498e-af3a-969a975a9800</trackback:ping><pingback:server>https://www.hanselman.com/blog/feed/pingback</pingback:server><pingback:target>https://www.hanselman.com/blog/post/206f7456-bab4-498e-af3a-969a975a9800</pingback:target><dc:creator>Scott Hanselman</dc:creator><wfw:comment>http://feeds.hanselman.com/~/641904690/0/scotthanselman~Exploring-my-creativity-through-TikTok-and-YouTube-technical-education-videos/comments#comments-start</wfw:comment><wfw:commentRss>https://www.hanselman.com/blog/feed/rss/comments/206f7456-bab4-498e-af3a-969a975a9800</wfw:commentRss><slash:comments>4</slash:comments><title>Exploring my creativity through TikTok and YouTube technical education videos</title><guid isPermaLink="false">https://www.hanselman.com/blog/post/206f7456-bab4-498e-af3a-969a975a9800</guid><link>http://feeds.hanselman.com/~/641904690/0/scotthanselman~Exploring-my-creativity-through-TikTok-and-YouTube-technical-education-videos</link><pubDate>Fri, 15 Jan 2021 20:31:00 GMT</pubDate><description><![CDATA[<div><p>Last year kind sucked, and the end of last year was particularly lame. I got off Twitter for a while and <a href="http://tiktok.com/@shanselman">discovered TikTok</a>. I went there as a creative outlet. If you choose to sign up you may get inundated with a bunch of stuff that makes no sense or has no relevance. However, within just a few days by searching for an “liking” topics that I wanted to hear about, I found a wonderful, joyful, diverse TikTok and have learned about everything from Sea Shanties to Indigenous Dances to Woodworking. It’s a lovely little community and I’ve enjoyed my week on it.</p> <p>I've been trying out video lately, during these trying times, and have very much enjoyed both TikTok and YouTube as creative outlets. I sent out some of my favorite TikTok videos in <a href="https://hanselman.substack.com/p/hanselmans-newsletter-of-wonderful-2c5">my occasional newsletter this week</a>. </p> <p>Here’s some highlights of lovely things on TikTok I’ve found:  <ul> <li> <p>An example of some <a href="https://www.tiktok.com/@thesethworley/video/6917765847662497030?sender_device=pc&amp;sender_web_id=6898441730878850566&amp;is_from_webapp=v1">fun tiny film making from Seth Worley and his son</a> as well as one from <a href="https://www.tiktok.com/@ryanmtchell/video/6911507204612885765?sender_device=pc&amp;sender_web_id=6898441730878850566&amp;is_from_webapp=v1">Ryan Mitchell</a>, and <a href="https://www.tiktok.com/@karenxcheng/video/6916962896970779910?sender_device=pc&amp;sender_web_id=6898441730878850566&amp;is_from_webapp=v1">Karen X</a>. Making small films is a great weekend activity for the family and it costs you nothing!</p> <li> <p><a href="https://www.tiktok.com/@ashcambo/video/6918420721425239298?lang=en&amp;sender_device=pc&amp;sender_web_id=6898441730878850566&amp;is_from_webapp=v1">Scottish people are having a blast on TikTok</a> and <a href="https://www.tiktok.com/@mariah.baillie/video/6917290722534214917">it’s quite creative</a>.</p> <li> <p>There’s also a massive reintroduction of Sea Shanties to the world and it all started on TikTok. Polygon has a fascinating article on <a href="https://www.polygon.com/2021/1/12/22226992/tiktok-sea-shanty-wellerman-longest-johns-of-thieves">ShantyTok</a>. Here’s <a href="https://www.tiktok.com/@sampopemusic/video/6918370212077112577">The Fresh Prince, as a Sea Shanty</a>.</p> <li> <p>People in support roles for famous people have also taken to TikTok to talk about their experiences. We learn that some of our favs are not super nice, but it’s also lovely to hear when <a href="https://www.tiktok.com/@ericgoldie/video/6918192479846026501">a favorite actor is even nicer in person</a> than we’d guess.</p> <li> <p>I’ve found TikTok to also be an endless source of inspiration - particularly as a middle age person who is always trying to get into, and maintain, shape. <a href="https://www.tiktok.com/@darryll_ihavetorun/video/6915989641413790981">Folks like Darryll keep me moving</a>!</p> <li> <p>Linguistic TikTok is also fun <a href="https://www.tiktok.com/@loicsuberville/video/6903116639315791109">with educational skits like this one on French</a> and <a href="https://www.tiktok.com/@jassa_deen/video/6916950912330140933">this one on Chinese</a>.</p> <li> <p>There’s so much fun on TikTok with music as well, <a href="https://www.tiktok.com/@ansonseabra/video/6916282562381942021?lang=en&amp;sender_device=pc&amp;sender_web_id=6898441730878850566&amp;is_from_webapp=v1">folks are creating and dueting music</a>.</p></li></ul> <p>I also recently hit 100,000 subscribers on YouTube which is fun. Apparently they are sending me a plaque, so more on that soon. My most recent video is here <a href="https://www.youtube.com/watch?v=vvpCnjyjTuU">What happens when you type a URL in the browser and press enter</a>? I encourage you <a href="https://www.youtube.com/shanselman?sub_confirmation=1">to go subscribe</a>. You can get to my main playlist with the alias <a href="http://www.computerstufftheydidntteachyou.com">http://www.computerstufftheydidntteachyou.com</a> </p> <div class="embed-container"><iframe height="315" src="https://www.youtube.com/embed/vvpCnjyjTuU" frameborder="0" width="560" allowfullscreen allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"></iframe></div> <p>What kinds of creative outlets have you been exploring (to stay sane or otherwise) last year, and what are your plans for this year?</p> <p> <hr>   <p><strong>Sponsor: </strong>Looking for free secure coding training but don’t know where to turn? Check out Veracode Security Labs Community Edition to start hacking and patching real apps online. <u><a href="http://hnsl.mn/3ib7bmy">Try it today</a></u>.</p><br/><hr/>© 2020 Scott Hanselman. All rights reserved. <br/></div><div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/641904690/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/641904690/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/641904690/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/641904690/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/641904690/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</description><comments>http://feeds.hanselman.com/~/641904690/0/scotthanselman~Exploring-my-creativity-through-TikTok-and-YouTube-technical-education-videos/comments#comments-start</comments><category>Musings</category><content:encoded><![CDATA[<div><p>Last year kind sucked, and the end of last year was particularly lame. I got off Twitter for a while and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~tiktok.com/@shanselman">discovered TikTok</a>. I went there as a creative outlet. If you choose to sign up you may get inundated with a bunch of stuff that makes no sense or has no relevance. However, within just a few days by searching for an “liking” topics that I wanted to hear about, I found a wonderful, joyful, diverse TikTok and have learned about everything from Sea Shanties to Indigenous Dances to Woodworking. It’s a lovely little community and I’ve enjoyed my week on it.</p> <p>I've been trying out video lately, during these trying times, and have very much enjoyed both TikTok and YouTube as creative outlets. I sent out some of my favorite TikTok videos in <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://hanselman.substack.com/p/hanselmans-newsletter-of-wonderful-2c5">my occasional newsletter this week</a>. </p> <p>Here’s some highlights of lovely things on TikTok I’ve found:  <ul> <li> <p>An example of some <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.tiktok.com/@thesethworley/video/6917765847662497030?sender_device=pc&amp;sender_web_id=6898441730878850566&amp;is_from_webapp=v1">fun tiny film making from Seth Worley and his son</a> as well as one from <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.tiktok.com/@ryanmtchell/video/6911507204612885765?sender_device=pc&amp;sender_web_id=6898441730878850566&amp;is_from_webapp=v1">Ryan Mitchell</a>, and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.tiktok.com/@karenxcheng/video/6916962896970779910?sender_device=pc&amp;sender_web_id=6898441730878850566&amp;is_from_webapp=v1">Karen X</a>. Making small films is a great weekend activity for the family and it costs you nothing!</p> <li> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.tiktok.com/@ashcambo/video/6918420721425239298?lang=en&amp;sender_device=pc&amp;sender_web_id=6898441730878850566&amp;is_from_webapp=v1">Scottish people are having a blast on TikTok</a> and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.tiktok.com/@mariah.baillie/video/6917290722534214917">it’s quite creative</a>.</p> <li> <p>There’s also a massive reintroduction of Sea Shanties to the world and it all started on TikTok. Polygon has a fascinating article on <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.polygon.com/2021/1/12/22226992/tiktok-sea-shanty-wellerman-longest-johns-of-thieves">ShantyTok</a>. Here’s <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.tiktok.com/@sampopemusic/video/6918370212077112577">The Fresh Prince, as a Sea Shanty</a>.</p> <li> <p>People in support roles for famous people have also taken to TikTok to talk about their experiences. We learn that some of our favs are not super nice, but it’s also lovely to hear when <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.tiktok.com/@ericgoldie/video/6918192479846026501">a favorite actor is even nicer in person</a> than we’d guess.</p> <li> <p>I’ve found TikTok to also be an endless source of inspiration - particularly as a middle age person who is always trying to get into, and maintain, shape. <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.tiktok.com/@darryll_ihavetorun/video/6915989641413790981">Folks like Darryll keep me moving</a>!</p> <li> <p>Linguistic TikTok is also fun <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.tiktok.com/@loicsuberville/video/6903116639315791109">with educational skits like this one on French</a> and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.tiktok.com/@jassa_deen/video/6916950912330140933">this one on Chinese</a>.</p> <li> <p>There’s so much fun on TikTok with music as well, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.tiktok.com/@ansonseabra/video/6916282562381942021?lang=en&amp;sender_device=pc&amp;sender_web_id=6898441730878850566&amp;is_from_webapp=v1">folks are creating and dueting music</a>.</p></li></ul> <p>I also recently hit 100,000 subscribers on YouTube which is fun. Apparently they are sending me a plaque, so more on that soon. My most recent video is here <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.youtube.com/watch?v=vvpCnjyjTuU">What happens when you type a URL in the browser and press enter</a>? I encourage you <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.youtube.com/shanselman?sub_confirmation=1">to go subscribe</a>. You can get to my main playlist with the alias <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.computerstufftheydidntteachyou.com">http://www.computerstufftheydidntteachyou.com</a> </p> <div class="embed-container"><iframe height="315" src="https://www.youtube.com/embed/vvpCnjyjTuU" frameborder="0" width="560" allowfullscreen allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"></iframe></div> <p>What kinds of creative outlets have you been exploring (to stay sane or otherwise) last year, and what are your plans for this year?</p> <p> <hr>   <p><strong>Sponsor: </strong>Looking for free secure coding training but don’t know where to turn? Check out Veracode Security Labs Community Edition to start hacking and patching real apps online. <u><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~hnsl.mn/3ib7bmy">Try it today</a></u>.</p>
<br/><hr/>© 2020 Scott Hanselman. All rights reserved. 
<br/></div><Img align="left" border="0" height="1" width="1" alt="" style="border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;" hspace="0" src="http://feeds.hanselman.com/~/i/641904690/0/scotthanselman">
<div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/641904690/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/641904690/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/641904690/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/641904690/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/641904690/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</content:encoded></item>
<item>
<feedburner:origLink>https://www.hanselman.com/blog/looking-back-on-software-development-in-2020-and-forward-to-2021</feedburner:origLink><trackback:ping>https://www.hanselman.com/blog/feed/trackback/ded0bed8-c14d-4da0-8501-ff28a87d7bff</trackback:ping><pingback:server>https://www.hanselman.com/blog/feed/pingback</pingback:server><pingback:target>https://www.hanselman.com/blog/post/ded0bed8-c14d-4da0-8501-ff28a87d7bff</pingback:target><dc:creator>Scott Hanselman</dc:creator><wfw:comment>http://feeds.hanselman.com/~/641604272/0/scotthanselman~Looking-back-on-Software-Development-in-and-forward-to/comments#comments-start</wfw:comment><wfw:commentRss>https://www.hanselman.com/blog/feed/rss/comments/ded0bed8-c14d-4da0-8501-ff28a87d7bff</wfw:commentRss><slash:comments>7</slash:comments><title>Looking back on Software Development in 2020 and forward to 2021</title><guid isPermaLink="false">https://www.hanselman.com/blog/post/ded0bed8-c14d-4da0-8501-ff28a87d7bff</guid><link>http://feeds.hanselman.com/~/641604272/0/scotthanselman~Looking-back-on-Software-Development-in-and-forward-to</link><pubDate>Thu, 14 Jan 2021 17:02:36 GMT</pubDate><description><![CDATA[<div><p><img title="Together mode in Teams" style="float: right; margin: 0px 0px 0px 5px; display: inline" alt="Together mode in Teams" src="https://cnet2.cbsistatic.com/img/I1oPuYRGJwvPfLrs2TDazVnpkh4=/756x567/2020/07/08/6984721e-966d-4dd9-acdd-389a7c2d3b4c/togethermodeteams-edu.jpg" width="350" align="right" height="262">I think we can all agree 2020 sucked. Hopefully 2021 will be better. </p> <p>I've been a remote worker for 13 years by choice but in 2020 I HAD TO DO IT because, well, most programmers and tech workers did. I wrote about how <a href="https://www.hanselman.com/blog/quarantine-work-is-not-remote-work">Remote work != Quarantine Work</a> while our whole division and then the whole company moved back home! We were a fairly remote-friendly company before but I have to admit I didn't always think my coworkers had <em>really deep </em>empathy for the remote...until they, too, were forced to be remote.</p> <p><a href="https://www.hanselminutes.com/770/living-through-2020-as-a-remote-developer-with-amanda-silver">Last week on the podcast</a>, I got to speak with Amanda Silver. She's a CVP in the Microsoft Developer Division who has been coding and thinking deeply about coding for many years. She's leading the creation of tools like Visual Studio, Visual Code, Live Share, Code Spaces, IntelliCode, and other collaborative productivity products. She's always thinking about what coding will look like in 1, 5, and even 10+ years. </p> <p>We talked about her thoughts on moving the division remote and whether it would slow us down. Would it change how we develop software? What about when everyone comes back? After talking to her about her thoughts on 2020 and where she thinks we're heading, I got to thinking myself and wanted to put those thoughts down.</p> <h3>2020 broke everything, and developers like to fix things</h3> <p>Somewhere in the spring as we started into lockdown, developers started making sites. Sites to track COVID, GitHub projects with scripts to scrape data and analyze it. Javascripters started making D3.js visualizations and codepen users started building on top of them. Bots on twitter would tweet out updates and parse new data. </p> <p>When there's a problem - especially a scary or untenable one - developers run towards the challenge. Necessity breeds invention and 2020 was definitely a year where we were collectively reminded there was a bunch of stuff that was always possible, but we needed a push. Cameras and mics were upgraded, <a href="https://www.hanselman.com/blog/good-better-best-creating-the-ultimate-remote-worker-webcam-setup-on-a-budget">ring lights</a> were purchased, home networks got fancier, and everyone who could called their ISP and got an upgraded plan. We could have done all this before, but why? Remote work happened for the first time in 2020, and I say that having worked remotely forever.</p> <h3>We HAVE to collaborate remotely now</h3> <p>Back in 2010 I spoke to PhDs at Microsoft Research about how people feel when they are remote and what they can do to be more connected. Ten years! Folks thought it was pretty "out there" but I sure needed my virtual cubicle buddy this year.</p> <p>2020 accelerated what was possible with remote collaboration. I spent hours coding with <a href="https://visualstudio.microsoft.com/services/live-share/">Live Share</a>, pushing text and coding context over the wire, not a ridiculous 4k worth of pixels. Having two cursors (mine and my friends) - or even 10! - in one Visual Studio seemed like magic. Even more magic is me pressing F5 and my coworker hitting <em>their </em>localhost and seeing <em>our </em>app running! We needed tech like this more than ever in 2020.</p> <p>I heard one story where a company sent everyone home but folks had disparate desktops and laptops so they set up 100s of <a href="https://azure.microsoft.com/en-us/services/virtual-desktop/">Virtual Desktops</a> over a weekend so everyone was able to log into secure work systems from their home machines. </p> <p>For us, since we use Github and Azure DevOps here in DeviDiv, our collaboration model is asynchronous and distributed whether we are in the office or not. Can you imagine everyone working remotely while using a locking source control system in 2020? I feel bad for those who are in that predicament.</p> <h3>Can something be BETTER remotely?</h3> <p>Many of us miss being in the same room with co-workers, and we will be together again one day, but are there some things that the constraint of being remote can <em>make better</em>? In the podcast episode Amanda said that our new hire bootcamp was <em>so much better </em>remotely! </p> <p>She said (paraphrasing a bit):</p> <blockquote> <p><em>We have a bootcamp for anybody who's newly started on the team. They actually fly out for two weeks. And the first week is introduction and the second week is our customer driven workshop. And our customer driven workshop is basically this really intense team project where you break up into groups of five to six people, and you're given a business assignment like - how could we double the number of Python developers using Visual Studio Code. </em> <p><em>You're basically doing like stickies on the wall the entire week - that's how you collaborate. I've been so amazed that that has transitioned to be remote first. <em></em><strong>And it's better. It's better. </strong>That was a brainstorming process that I thought was only possible in person it's better. </em> <p><em>When we moved remote, we had to essentially reboot the way that we thought about our meeting culture to actually make it much more inclusive. </em><em>And if we go from 40 to 50% of the people participating to just 2 people participating, that's a huge, not only degradation, but you're wasting people's time. Right?</em> <p><em>Now if we can actually take six people who've never met each other before and get them to work super collaboratively on a new problem area that they've never worked on before. It's incredible. <strong>And the thing that's also really awesome about it is they are forced by nature of the fact that this is remote to actually create it as digital content. </strong>Whereas in the beginning they would literally walk us through sticky notes on the wall and they had fantastic ideas, but it was really kind of somewhat unorganized and, and it was hard to be able to see and, and retain and share out afterwards what these incredible ideas were that they came up with. </em> <p><em>But when remotely starts with <strong>this digital format by necessity because everyone is remote first, we actually now have all of these things archived. </strong>We can come back to them, we can go back and actually see, you know, what was the genesis of the thought and, and pursue a lot of these things that we really weren't being able to pursue previously. </em></p></blockquote> <p>Constraints breed innovation!</p> <h3>It was nice to be reminded that People are People</h3> <p>2020 normalized being a person. Having a boss welcome a sad child to sit with them during a meeting reminded me that, what, my boss is a person? With a life and kids? Having meetings while going for walks, talking about treadmill desks, and video called parties with family, and OMG when will this be over is the most horrible team building exercise ever.</p> <p>It's forced us to rethink our group's culture, how our interpersonal dynamics work, how many meetings we have (let's have less), and it's given everyone the joy of somewhat flexible hours. We talk more now about 'is everyone in this meeting being heard?' than <em>ever </em>before. We use the "hand raising" tool in Teams to make sure all voices get a chance to speak.</p> <p>If 2020 hadn’t happened, we may not have made these important leaps forward. MAYBE this would have happened by 2025 or 2030 but COVID was the pivot point that forced the issue.</p> <p>Here's some other blog posts that are both reflecting on our last year and hopeful for the coming year:</p> <ul> <li><a href="https://blogs.microsoft.com/?p=52559407">Software Development in 2021 and Beyond</a> by Amanda Silver  <li><a href="https://cloudblogs.microsoft.com/opensource/2021/01/14/four-open-source-lessons/">4 Open Source Lessons for 2021</a> by Sarah Novotny  <li><a href="http://aka.ms/SarkarEOYtrends">Low-code Trends: Why Low-Code Will Be Big In Your 2021 Tech Strategy</a> by Dona Sarkar <li>PODCAST: <a href="https://www.hanselminutes.com/770/living-through-2020-as-a-remote-developer-with-amanda-silver">Living through 2020 as a Remote Developer </a></li></ul> <hr>  <p><strong>Sponsor: </strong>Looking for free secure coding training but don’t know where to turn? Check out Veracode Security Labs Community Edition to start hacking and patching real apps online. <u><a href="http://hnsl.mn/3ib7bmy">Try it today</a></u>.</p><br/><hr/>© 2020 Scott Hanselman. All rights reserved. <br/></div><div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/641604272/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/641604272/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/641604272/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/641604272/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/641604272/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</description><comments>http://feeds.hanselman.com/~/641604272/0/scotthanselman~Looking-back-on-Software-Development-in-and-forward-to/comments#comments-start</comments><category>Musings</category><content:encoded><![CDATA[<div><p><img title="Together mode in Teams" style="float: right; margin: 0px 0px 0px 5px; display: inline" alt="Together mode in Teams" src="https://cnet2.cbsistatic.com/img/I1oPuYRGJwvPfLrs2TDazVnpkh4=/756x567/2020/07/08/6984721e-966d-4dd9-acdd-389a7c2d3b4c/togethermodeteams-edu.jpg" width="350" align="right" height="262">I think we can all agree 2020 sucked. Hopefully 2021 will be better. </p> <p>I've been a remote worker for 13 years by choice but in 2020 I HAD TO DO IT because, well, most programmers and tech workers did. I wrote about how <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/quarantine-work-is-not-remote-work">Remote work != Quarantine Work</a> while our whole division and then the whole company moved back home! We were a fairly remote-friendly company before but I have to admit I didn't always think my coworkers had <em>really deep </em>empathy for the remote...until they, too, were forced to be remote.</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselminutes.com/770/living-through-2020-as-a-remote-developer-with-amanda-silver">Last week on the podcast</a>, I got to speak with Amanda Silver. She's a CVP in the Microsoft Developer Division who has been coding and thinking deeply about coding for many years. She's leading the creation of tools like Visual Studio, Visual Code, Live Share, Code Spaces, IntelliCode, and other collaborative productivity products. She's always thinking about what coding will look like in 1, 5, and even 10+ years. </p> <p>We talked about her thoughts on moving the division remote and whether it would slow us down. Would it change how we develop software? What about when everyone comes back? After talking to her about her thoughts on 2020 and where she thinks we're heading, I got to thinking myself and wanted to put those thoughts down.</p> <h3>2020 broke everything, and developers like to fix things</h3> <p>Somewhere in the spring as we started into lockdown, developers started making sites. Sites to track COVID, GitHub projects with scripts to scrape data and analyze it. Javascripters started making D3.js visualizations and codepen users started building on top of them. Bots on twitter would tweet out updates and parse new data. </p> <p>When there's a problem - especially a scary or untenable one - developers run towards the challenge. Necessity breeds invention and 2020 was definitely a year where we were collectively reminded there was a bunch of stuff that was always possible, but we needed a push. Cameras and mics were upgraded, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/good-better-best-creating-the-ultimate-remote-worker-webcam-setup-on-a-budget">ring lights</a> were purchased, home networks got fancier, and everyone who could called their ISP and got an upgraded plan. We could have done all this before, but why? Remote work happened for the first time in 2020, and I say that having worked remotely forever.</p> <h3>We HAVE to collaborate remotely now</h3> <p>Back in 2010 I spoke to PhDs at Microsoft Research about how people feel when they are remote and what they can do to be more connected. Ten years! Folks thought it was pretty "out there" but I sure needed my virtual cubicle buddy this year.</p> <p>2020 accelerated what was possible with remote collaboration. I spent hours coding with <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://visualstudio.microsoft.com/services/live-share/">Live Share</a>, pushing text and coding context over the wire, not a ridiculous 4k worth of pixels. Having two cursors (mine and my friends) - or even 10! - in one Visual Studio seemed like magic. Even more magic is me pressing F5 and my coworker hitting <em>their </em>localhost and seeing <em>our </em>app running! We needed tech like this more than ever in 2020.</p> <p>I heard one story where a company sent everyone home but folks had disparate desktops and laptops so they set up 100s of <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://azure.microsoft.com/en-us/services/virtual-desktop/">Virtual Desktops</a> over a weekend so everyone was able to log into secure work systems from their home machines. </p> <p>For us, since we use Github and Azure DevOps here in DeviDiv, our collaboration model is asynchronous and distributed whether we are in the office or not. Can you imagine everyone working remotely while using a locking source control system in 2020? I feel bad for those who are in that predicament.</p> <h3>Can something be BETTER remotely?</h3> <p>Many of us miss being in the same room with co-workers, and we will be together again one day, but are there some things that the constraint of being remote can <em>make better</em>? In the podcast episode Amanda said that our new hire bootcamp was <em>so much better </em>remotely! </p> <p>She said (paraphrasing a bit):</p> <blockquote> <p><em>We have a bootcamp for anybody who's newly started on the team. They actually fly out for two weeks. And the first week is introduction and the second week is our customer driven workshop. And our customer driven workshop is basically this really intense team project where you break up into groups of five to six people, and you're given a business assignment like - how could we double the number of Python developers using Visual Studio Code. </em> <p><em>You're basically doing like stickies on the wall the entire week - that's how you collaborate. I've been so amazed that that has transitioned to be remote first. <em></em><strong>And it's better. It's better. </strong>That was a brainstorming process that I thought was only possible in person it's better. </em> <p><em>When we moved remote, we had to essentially reboot the way that we thought about our meeting culture to actually make it much more inclusive. </em><em>And if we go from 40 to 50% of the people participating to just 2 people participating, that's a huge, not only degradation, but you're wasting people's time. Right?</em> <p><em>Now if we can actually take six people who've never met each other before and get them to work super collaboratively on a new problem area that they've never worked on before. It's incredible. <strong>And the thing that's also really awesome about it is they are forced by nature of the fact that this is remote to actually create it as digital content. </strong>Whereas in the beginning they would literally walk us through sticky notes on the wall and they had fantastic ideas, but it was really kind of somewhat unorganized and, and it was hard to be able to see and, and retain and share out afterwards what these incredible ideas were that they came up with. </em> <p><em>But when remotely starts with <strong>this digital format by necessity because everyone is remote first, we actually now have all of these things archived. </strong>We can come back to them, we can go back and actually see, you know, what was the genesis of the thought and, and pursue a lot of these things that we really weren't being able to pursue previously. </em></p></blockquote> <p>Constraints breed innovation!</p> <h3>It was nice to be reminded that People are People</h3> <p>2020 normalized being a person. Having a boss welcome a sad child to sit with them during a meeting reminded me that, what, my boss is a person? With a life and kids? Having meetings while going for walks, talking about treadmill desks, and video called parties with family, and OMG when will this be over is the most horrible team building exercise ever.</p> <p>It's forced us to rethink our group's culture, how our interpersonal dynamics work, how many meetings we have (let's have less), and it's given everyone the joy of somewhat flexible hours. We talk more now about 'is everyone in this meeting being heard?' than <em>ever </em>before. We use the "hand raising" tool in Teams to make sure all voices get a chance to speak.</p> <p>If 2020 hadn’t happened, we may not have made these important leaps forward. MAYBE this would have happened by 2025 or 2030 but COVID was the pivot point that forced the issue.</p> <p>Here's some other blog posts that are both reflecting on our last year and hopeful for the coming year:</p> <ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://blogs.microsoft.com/?p=52559407">Software Development in 2021 and Beyond</a> by Amanda Silver  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://cloudblogs.microsoft.com/opensource/2021/01/14/four-open-source-lessons/">4 Open Source Lessons for 2021</a> by Sarah Novotny  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~aka.ms/SarkarEOYtrends">Low-code Trends: Why Low-Code Will Be Big In Your 2021 Tech Strategy</a> by Dona Sarkar <li>PODCAST: <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselminutes.com/770/living-through-2020-as-a-remote-developer-with-amanda-silver">Living through 2020 as a Remote Developer </a></li></ul> <hr>  <p><strong>Sponsor: </strong>Looking for free secure coding training but don’t know where to turn? Check out Veracode Security Labs Community Edition to start hacking and patching real apps online. <u><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~hnsl.mn/3ib7bmy">Try it today</a></u>.</p>
<br/><hr/>© 2020 Scott Hanselman. All rights reserved. 
<br/></div><Img align="left" border="0" height="1" width="1" alt="" style="border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;" hspace="0" src="http://feeds.hanselman.com/~/i/641604272/0/scotthanselman">
<div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/641604272/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/641604272/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/641604272/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/641604272/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/641604272/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</content:encoded></item>
<item>
<feedburner:origLink>https://www.hanselman.com/blog/microsoft-teams-buttons-for-stream-deck-to-mute-share-hang-up-and-manage-cameras</feedburner:origLink><trackback:ping>https://www.hanselman.com/blog/feed/trackback/f9419ddf-0d97-43de-bb98-87f28bfabb23</trackback:ping><pingback:server>https://www.hanselman.com/blog/feed/pingback</pingback:server><pingback:target>https://www.hanselman.com/blog/post/f9419ddf-0d97-43de-bb98-87f28bfabb23</pingback:target><dc:creator>Scott Hanselman</dc:creator><wfw:comment>http://feeds.hanselman.com/~/641443482/0/scotthanselman~Microsoft-Teams-Buttons-for-Stream-Deck-to-Mute-Share-Hang-up-and-Manage-Cameras/comments#comments-start</wfw:comment><wfw:commentRss>https://www.hanselman.com/blog/feed/rss/comments/f9419ddf-0d97-43de-bb98-87f28bfabb23</wfw:commentRss><slash:comments>5</slash:comments><title>Microsoft Teams Buttons for Stream Deck to Mute, Share, Hang up, and Manage Cameras</title><guid isPermaLink="false">https://www.hanselman.com/blog/post/f9419ddf-0d97-43de-bb98-87f28bfabb23</guid><link>http://feeds.hanselman.com/~/641443482/0/scotthanselman~Microsoft-Teams-Buttons-for-Stream-Deck-to-Mute-Share-Hang-up-and-Manage-Cameras</link><pubDate>Thu, 07 Jan 2021 18:30:00 GMT</pubDate><description><![CDATA[<div><p>The <a href="https://amzn.to/3nImc0F">Stream Deck</a>! (amazon link) is a lovely little device with bright LCD buttons that you can program to do basically anything. I decided to finally add a few hotkeys for Microsoft Teams.</p> <p>I wanted pretty icons, so I used the same ones that Teams uses! The images in a Stream Deck are 144x144 so I used Ctrl-PLUS in Teams to scale the Teams interface up to a large size. The icons look great since Teams uses SVGs (scalable vector graphics).</p> <p><a href="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63854aff9972_9254/image_9.png"><img title="Paint.NET making Teams buttons for Stream Deck" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Paint.NET making Teams buttons for Stream Deck" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63854aff9972_9254/image_thumb_3.png" width="642" height="346"></a></p> <p>I saved each icon in its own PNG and put it in DropBox/OneDrive so I can sync it to all my machines. </p> <blockquote> <p><strong>NOTE: </strong>I put <a href="http://hanselman.com/blog/content/binary/streamdeckteams.zip">the ZIP file with my Teams Stream Deck icons here</a> for you, if you want it.</p></blockquote> <p>Here's the icons in my folder.</p> <p><a href="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63854aff9972_9254/image_6.png"><img title="Stream Deck Icons for Teams" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Stream Deck Icons for Teams" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63854aff9972_9254/image_thumb_2.png" width="642" height="354"></a></p> <p>Next just go into Stream Deck's editor and make a new Hotkey button for each.</p> <p><a href="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63854aff9972_9254/image_4.png"><img title="Making a Stream Deck Teams Row" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Making a Stream Deck Teams Row" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63854aff9972_9254/image_thumb_1.png" width="642" height="559"></a></p> <p>The Hotkeys are like Ctrl+Shift+B to leave and Ctrl+Shift+M for mute. Your Teams (or zoom) has to be the topmost app for the Hotkey buttons to work as Stream Deck is just "pressing the keys" for you when you press the Stream Deck button. There's no Universal Mute button in Windows...yet. </p> <blockquote> <p><strong>NOTE:</strong> There are some 3rd party utilities you can use <a href="https://www.hanselman.com/blog/programmatically-change-your-systems-mic-and-speakers-with-nircmd-and-elgato-streamdeck">to change your systems mic and speakers and make system wide changes</a> with a Stream Deck. I've <a href="https://www.hanselman.com/blog/programmatically-change-your-systems-mic-and-speakers-with-nircmd-and-elgato-streamdeck">blogged about how</a>.</p></blockquote> <p>It takes just a few minutes, but this little quality of life change makes daily Teams calls just a little nicer. I'd encourage you to take a moment and do the same if you have a <a href="https://amzn.to/3nImc0F">Stream Deck</a>! (amazon link) </p> <p>A few minutes of work up front will make each day a little nicer and that time adds up!</p> <hr>  <p><strong>Sponsor:</strong> <b>IDC Innovators Report: Multicloud Networking</b>--Read the latest from IDC and discover one of the premier platforms addressing the rise of multicloud architectures and cloud-native apps. <a href="http://hnsl.mn/3mN7Viw">Download now</a>.</p><br/><hr/>© 2020 Scott Hanselman. All rights reserved. <br/></div><div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/641443482/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/641443482/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/641443482/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/641443482/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/641443482/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</description><comments>http://feeds.hanselman.com/~/641443482/0/scotthanselman~Microsoft-Teams-Buttons-for-Stream-Deck-to-Mute-Share-Hang-up-and-Manage-Cameras/comments#comments-start</comments><category>Tools</category><content:encoded><![CDATA[<div><p>The <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/3nImc0F">Stream Deck</a>! (amazon link) is a lovely little device with bright LCD buttons that you can program to do basically anything. I decided to finally add a few hotkeys for Microsoft Teams.</p> <p>I wanted pretty icons, so I used the same ones that Teams uses! The images in a Stream Deck are 144x144 so I used Ctrl-PLUS in Teams to scale the Teams interface up to a large size. The icons look great since Teams uses SVGs (scalable vector graphics).</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63854aff9972_9254/image_9.png"><img title="Paint.NET making Teams buttons for Stream Deck" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Paint.NET making Teams buttons for Stream Deck" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63854aff9972_9254/image_thumb_3.png" width="642" height="346"></a></p> <p>I saved each icon in its own PNG and put it in DropBox/OneDrive so I can sync it to all my machines. </p> <blockquote> <p><strong>NOTE: </strong>I put <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~hanselman.com/blog/content/binary/streamdeckteams.zip">the ZIP file with my Teams Stream Deck icons here</a> for you, if you want it.</p></blockquote> <p>Here's the icons in my folder.</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63854aff9972_9254/image_6.png"><img title="Stream Deck Icons for Teams" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Stream Deck Icons for Teams" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63854aff9972_9254/image_thumb_2.png" width="642" height="354"></a></p> <p>Next just go into Stream Deck's editor and make a new Hotkey button for each.</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63854aff9972_9254/image_4.png"><img title="Making a Stream Deck Teams Row" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Making a Stream Deck Teams Row" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63854aff9972_9254/image_thumb_1.png" width="642" height="559"></a></p> <p>The Hotkeys are like Ctrl+Shift+B to leave and Ctrl+Shift+M for mute. Your Teams (or zoom) has to be the topmost app for the Hotkey buttons to work as Stream Deck is just "pressing the keys" for you when you press the Stream Deck button. There's no Universal Mute button in Windows...yet. </p> <blockquote> <p><strong>NOTE:</strong> There are some 3rd party utilities you can use <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/programmatically-change-your-systems-mic-and-speakers-with-nircmd-and-elgato-streamdeck">to change your systems mic and speakers and make system wide changes</a> with a Stream Deck. I've <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/programmatically-change-your-systems-mic-and-speakers-with-nircmd-and-elgato-streamdeck">blogged about how</a>.</p></blockquote> <p>It takes just a few minutes, but this little quality of life change makes daily Teams calls just a little nicer. I'd encourage you to take a moment and do the same if you have a <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/3nImc0F">Stream Deck</a>! (amazon link) </p> <p>A few minutes of work up front will make each day a little nicer and that time adds up!</p> <hr>  <p><strong>Sponsor:</strong> <b>IDC Innovators Report: Multicloud Networking</b>--Read the latest from IDC and discover one of the premier platforms addressing the rise of multicloud architectures and cloud-native apps. <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~hnsl.mn/3mN7Viw">Download now</a>.</p>
<br/><hr/>© 2020 Scott Hanselman. All rights reserved. 
<br/></div><Img align="left" border="0" height="1" width="1" alt="" style="border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;" hspace="0" src="http://feeds.hanselman.com/~/i/641443482/0/scotthanselman">
<div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/641443482/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/641443482/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/641443482/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/641443482/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/641443482/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</content:encoded></item>
<item>
<feedburner:origLink>https://www.hanselman.com/blog/scott-hanselmans-2021-ultimate-developer-and-power-users-tool-list-for-windows</feedburner:origLink><trackback:ping>https://www.hanselman.com/blog/feed/trackback/10951604-409d-4bd5-8fbf-0f068d344f94</trackback:ping><pingback:server>https://www.hanselman.com/blog/feed/pingback</pingback:server><pingback:target>https://www.hanselman.com/blog/post/10951604-409d-4bd5-8fbf-0f068d344f94</pingback:target><dc:creator>Scott Hanselman</dc:creator><wfw:comment>http://feeds.hanselman.com/~/640688472/0/scotthanselman~Scott-Hanselmans-Ultimate-Developer-and-Power-Users-Tool-List-for-Windows/comments#comments-start</wfw:comment><wfw:commentRss>https://www.hanselman.com/blog/feed/rss/comments/10951604-409d-4bd5-8fbf-0f068d344f94</wfw:commentRss><slash:comments>57</slash:comments><title>Scott Hanselman's 2021 Ultimate Developer and Power Users Tool List for Windows</title><guid isPermaLink="false">https://www.hanselman.com/blog/post/10951604-409d-4bd5-8fbf-0f068d344f94</guid><link>http://feeds.hanselman.com/~/640688472/0/scotthanselman~Scott-Hanselmans-Ultimate-Developer-and-Power-Users-Tool-List-for-Windows</link><pubDate>Tue, 22 Dec 2020 20:13:00 GMT</pubDate><description><![CDATA[<div><p>Can you believe it's been 6 years since <a href="https://www.hanselman.com/blog/scott-hanselmans-2014-ultimate-developer-and-power-users-tool-list-for-windows">my last Tools list</a>? Tools have changed, a lot are online, but honestly, it's just a LOT OF WORK to do the tools list. But here's one for 2020-2021. These are the tools in my Utils folder. I made a d:\dropbox\utils folder and I added it to my PATH. That way it's on all my computers and in my path on all my computers and I can get to any of them instantly. </p> <blockquote> <p>This is the <strong>Updated for 2020-21 Version</strong> of my <a href="https://www.hanselman.com/blog/content/radiostories/2003/09/09/scottHanselmansUltimateDeveloperAndPowerUsersToolsList.html">2003</a>, <a href="https://www.hanselman.com/blog/ScottHanselmans2005UltimateDeveloperAndPowerUsersToolList.aspx">2005</a>, <a href="https://www.hanselman.com/blog/ScottHanselmans2006UltimateDeveloperAndPowerUsersToolListForWindows.aspx">2006</a>, <a href="https://www.hanselman.com/blog/ScottHanselmans2007UltimateDeveloperAndPowerUsersToolListForWindows.aspx">2007</a>, <a href="https://www.hanselman.com/blog/ScottHanselmans2009UltimateDeveloperAndPowerUsersToolListForWindows.aspx">2009</a>, <a href="https://www.hanselman.com/blog/ScottHanselmans2011UltimateDeveloperAndPowerUsersToolListForWindows.aspx">2011</a>, and <a href="https://www.hanselman.com/blog/scott-hanselmans-2014-ultimate-developer-and-power-users-tool-list-for-windows">2014</a> List, and currently subsumes all my other lists. I’ve been doing this for over 17 years. Wow. I need to do better, I guess.&nbsp; </p></blockquote> <p>Everyone collects utilities, and most folks have a list of a few that they feel are indispensable.&nbsp; Here's mine.&nbsp; Each has a distinct purpose, and I probably touch each at least a few times a week.&nbsp; For me, "util" means utilitarian and it means don't clutter my tray.&nbsp; If it saves me time, and seamlessly integrates with my life, it's the bomb. Many/most are free some aren't. Those that aren't free are very likely worth your 30-day trial, and very likely worth your money.  <p>These are all well loved and oft-used utilities.&nbsp; I wouldn't recommend them if I didn't use them constantly. Things on this list are here because I dig them. No one paid money to be on this list and no money is accepted to be on this list.  <blockquote> <p><b>Personal Plug:</b> If this list is the first time you and I have met, you should <a href="http://feeds.hanselman.com/ScottHanselman">subscribe to my blog</a>, and check <a href="https://hanselman.com/podcasts">out my podcasts</a>, and <a href="https://hanselman.com/newsletter">sign up for my newsletter of Wonderful Things</a>.</p></blockquote> <p>Please Link to <a href="https://hanselman.com/tools">http://hanselman.com/tools</a> when referencing the latest <a href="https://www.hanselman.com/tools">Hanselman Ultimate Tools List</a>. Feel free to get involved here in the comments, post corrections, or suggestions for future submissions. I very likely made mistakes, and probably forgot a few utilities that I use often.</p> <h3>THE LIFE AND WORK-CHANGING UTILITIES</h3> <blockquote> <p><em>"If everything was perfect, you would never learn and you would never grow." - Beyoncé</em></p></blockquote> <ul> <li><a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10">Windows Subsystem for Linux</a> - It really can't be overstated how WSL/WSL2 has put the cherry on top of Windows 10. It runs on any build 18362 or higher as it was recently backported and it's integration with Windows is fantastic. It's also WAY faster than running a VM. Go learn more on <a href="http://www.youtube.com/shanselman">my YouTube</a>  <li><a href="https://docs.microsoft.com/en-us/windows/terminal/">Windows Terminal</a> - Finally Windows has a modern terminal. You can run shells like Command Prompt, PowerShell, and Windows Subsystem for Linux (WSL). Its main features include multiple tabs, panes, Unicode and UTF-8 character support, a GPU accelerated text rendering engine, and the ability to create your own themes and customize text, colors, backgrounds, and shortcuts. It also includes a pseudo-console so 3rd party Terminals like hyper, conemu, terminus and more work better!  <li><a href="https://docs.microsoft.com/en-us/windows/powertoys/">Windows PowerToys</a> - They are back and they should be built into Windows. <a href="https://docs.microsoft.com/en-us/windows/powertoys/install">Install them here</a> and get a color picker, fancy zones, file explorer addons, image resizers, keyboard manager and remapper, an Apple Spotlight-like running in the form of PowerToyrs Run, the Shortcut Guide and more!  <ul> <li>Also check out <a href="https://ueli.app/">Ueli</a> as a great launcher/spotlight for Windows!</li></ul> <li><a href="https://code.visualstudio.com/">VS Code</a> - Visual Studio Code is hella fast and is my goto text and code editor. I still use notepad sometimes and I'm in full Visual Studio a lot, but VS Code is like the Tesla of code editors. Check out my Favorite VS Code Extensions below.  <li><a href="https://www.hanselman.com/blog/taking-your-powershell-prompt-to-the-next-level-with-windows-terminal-and-oh-my-posh-3">PowerShell/OhMyPosh/PoshGit/Cascadia Code</a> - I've had a blast this year taking my console prompt to the next level. Try these out but also look at <a href="https://starship.rs/">Starship</a>. Whatever you do, play! Don't <a href="https://www.youtube.com/watch?v=lu__oGZVT98">accept the defaults</a>!  <li><a href="https://docs.microsoft.com/en-us/sysinternals/downloads/zoomit">ZoomIt</a> - A true classic but also the answer to the #1 question I'm asked. How do you draw on the screen when you're sharing your screen? ZoomIt has been THAT TOOL in my toolbox. Really take some time and learn how to do boxes, arrows, colors and more and you'll be a more effective screen-sharer. In fact, just go get the whole <a href="https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite">SysInternals suite</a> and put it all in your PATH.  <li><a href="https://docs.microsoft.com/en-us/windows/package-manager/winget/">Winget</a> - It's apt-get for Windows. Similar to <a href="https://www.chocolatey.org/">choco</a> which I've used in the past, WinGet is going to be included in Windows 10 and has a ton of nice features. I use it to setup a machine in an hour from the command line, versus a day before doing it manually. Just add your MSA (Microsoft login) to the <a href="https://aka.ms/AppInstaller_InsiderProgram">Package Manager Insiders Program and get it from the Store</a>. It's bundled with the <a href="https://www.microsoft.com/p/app-installer/9nblggh4nns1?ocid=9nblggh4nns1_ORSEARCH_Bing&amp;rtc=1&amp;activetab=pivot:overviewtab">Windows App Installer</a>. Then just "winget search &lt;tool&gt;" and winget install whatever!  <ul> <li><strong>UPDATE! </strong><a href="https://dvlup.com/2020/12/29/2021-ultimate-list/"><strong>Lance McCarthy made</strong></a><strong> a </strong><a href="https://gist.github.com/LanceMcCarthy/351330330072484b4c96b6c97b87fe5b"><strong>GitHub Gist with WinGet and Choco IDs for this whole list</strong></a><strong>! Thanks Lance!</strong></li></ul> <li><a href="https://www.microsoft.com/en-us/p/quicklook/9nv4bs3l1h4s?activetab=pivot:overviewtab">QuickLook</a> - Free in the Windows Store, just highlight a file in Explorer and press Space to get a preview!</li></ul> <h3>Amazing .NET and Developer utilities</h3> <blockquote> <p><em>"Power means happiness; power means hard work and sacrifice." - Beyoncé</em></p></blockquote> <ul> <li><a href="http://www.getcodetrack.com/">CodeTrack</a> - CodeTrack is a free .NET Performance Profiler and Execution Analyzer. It works on basically every version of .NET and will give you massive insight into how your code is running! The flamegraph view is fantastic. It's free <a href="http://www.getcodetrack.com/donatepage.html">but you should donate as it's a one-person amazing app</a>!  <li><a href="http://www.linqpad.net/">LINQPad</a> - Interactively query your databases with LINQ with this tool from Joseph Albahari. A fantastic learning tool for those who are just getting into LINQ or for those who want a code snippet IDE to execute any C# or VB expression. Free and wonderful.  <li><a href="http://winmerge.org/">WinMerge</a> - WinMerge just gets better and better. It's free, it's open source and it'll compare files and folders and help you merge your conflicted source code files like a champ. Also see <a href="http://www.perforce.com/product/components/perforce_visual_merge_and_diff_tools">Perforce Visual Merge</a> which free and also can diff images, which is pretty amazing.  <li><a href="https://www.microsoft.com/en-us/p/windbg-preview/9pgjgd53tn86?activetab=pivot:overviewtab">WinDbg</a> - Low-level and classic but also new and fresh! WinDbg (Wind-bag?) is now in <a href="https://www.microsoft.com/en-us/p/windbg-preview/9pgjgd53tn86?activetab=pivot:overviewtab">the Windows Store</a> with ALL NEW VISUALS and more!  <li><a href="https://insomnia.rest/download/#windows">Insomnia</a> and <a href="https://nightingale.rest/">Nightingale</a> are great alternatives to Postman for doing REST APIs!  <li><a href="https://www.microsoft.com/en-us/p/nuget-package-explorer/9wzdncrdmdm3?rtc=1&amp;activetab=pivot:overviewtab">NuGet Package Explorer</a> - This app allows browsing NuGet packages from an online feed and viewing contents of the packages  <li><a href="https://www.wireshark.org/">WireShark</a> - What's happening <em>on the wire! </em>WireShark knows!  <li><a href="https://desktop.github.com/">GitHub Desktop</a> - Gits, ahem, out of the way! Watch <a href="https://www.youtube.com/watch?v=WBg9mlpzEYU">my Git 101 on YouTube</a>!  <li><a href="https://github.com/awaescher/RepoZ">RepoZ</a> - This is a powerful repository hub for Git that enhances Windows Explorer with git superpowers! See your git details in your Windows Explorer title bar!  <ul> <li>Also from Andreas, if you're a .NET person you'll want to look at <a href="https://github.com/awaescher/Fusion">Fusion+</a>, a modern alternative to the Microsoft Assembly Binding Log Viewer!</li></ul></li></ul> <h3>Useful Windows Utilities that should be built in</h3> <blockquote> <p><em>"I love my job, but it’s more than that: I need it" - Beyoncé</em></p></blockquote> <ul> <li><a title="https://eartrumpet.app/" href="https://eartrumpet.app/">Ear Trumpet</a> - Fantastic advanced volume control for Windows! If you have ever wished that volume on Windows could turn their UI up to 11, Ear Trumpet is that app.  <li><a href="https://www.codesector.com/teracopy">Teracopy</a> - While I use the excellent built in copy features of Windows 10 the most, when I want to move a LOT of files as FAST as possible, nothing beats TeraCopy, an app that does just that - move stuff fast. The queue control is excellent.  <li><a href="http://www.autohotkey.com/">AutoHotKey</a> - This little gem is bananas. It's a tiny, amazingly fast free open-source utility for Windows. It lets you automate everything from keystrokes to mice. Programming for non-programmers. It's a complete automation system for Windows without the frustration of VBScript. This is the Windows equivalent of AppleScript for Windows. (That's a very good thing.  <li><a href="http://www.7-zip.org/">7-Zip</a> - It's over and 7zip won. Time to get on board. The 7z format is fast becoming the compression format that choosey hardcore users choose. You'll typically get between 2% and 10% better compression than ZIP. This app integrates into Windows Explorer nicely and opens basically EVERYTHING you could ever want to open from TARs to ISOs, from RARs to CABs.  <li><strong><a href="http://www.getpaint.net">Paint.NET</a></strong><strong> </strong>- The Paint Program that Microsoft forgot, written in .NET. It's 80% of Photoshop and it's free. Pay to support the author by getting the Windows Store version AND it will auto-update! It's only <a href="https://www.microsoft.com/en-us/p/paintnet/9nbhcs1lx4r0?ocid=badge&amp;rtc=1&amp;activetab=pivot:overviewtab">$7, which is an unreal value</a>.  <li><a href="http://nimbletext.com/">NimbleText</a> - Regular Expressions are hard and I'm not very smart. NimbleText lets me do crazy stuff with large amounts of text without it hurting so much.  <li><a href="https://markdownmonster.west-wind.com/">Markdown Monster</a> - While I love VSCode, Markdown Monster does one thing incredibly well. Markdown.  <li><a href="http://www.fiddlertool.com/">Fiddler</a> - The easy, clean, and powerful debugging proxy for checking out HTTP between here and there. It even supports sniffing SSL traffic.  <li><a href="http://www.nirsoft.net/">NirSoft Utilities Collection</a> - Nearly everything NirSoft does is worth looking at. My favorites are <a href="http://www.nirsoft.net/utils/myuninst.html">MyUninstaller</a>, a replacement for Remove Programs, and <a href="http://www.nirsoft.net/utils/whois_this_domain.html">WhoIsThisDomain</a>.  <li><a href="https://ditto-cp.sourceforge.io/">Ditto Clipboard Manager</a> - WindowsKey+V is amazing and close but Ditto keeps pushing clipboard management forward on Windows.  <li><a href="https://github.com/ChrisAnd1998/TaskbarX">TaskbarX</a> - It literally centers your Taskbar buttons. I love it. Open Source but <a href="https://www.microsoft.com/en-us/p/taskbarx/9pcmz6bxk8gh?activetab=pivot:overviewtab">also $1 in the Windows Store</a>.  <ul> <li>If you really want to mess with your Taskbar, try <a href="https://rammichael.com/7-taskbar-tweaker">Taskbar Tweaker</a>.</li></ul> <li><a href="https://www.nirsoft.net/utils/shexview.html">ShellEx View</a> - Your Explorer's right click menu is cluttered, this can help you unclutter it!  <li><a href="http://www.onecommander.com/">OneCommander</a> and <a href="https://sourceforge.net/projects/mcwin32/">Midnight Commander</a> and <a href="https://www.altap.cz/">Altap Salamander</a> - As a long time Norton Commander user (google that!) there's a lot of great "reimaginings" of the Windows File Explorer. OneCommander and Altap Salamander does that, and Midnight Commander does it for the command line/CLI.  <li><a href="https://windirstat.net/">WinDirStat</a> - A classic but still essential. What's taking up all that space? Spoiler - It's Call of Duty.  <ul> <li>Also try <a href="http://www.uderzo.it/main_products/space_sniffer/">SpaceSniffer</a>!</li></ul> <li><a href="https://www.fileseek.ca/">FileSeek</a> and <a href="https://www.voidtools.com/">Everything</a> - Search it all, instantly!  <li>I like Win+Share+S for Screenshots but also check out <a href="https://getsharex.com/">ShareX</a>, <a href="https://getgreenshot.org/">Greenshot</a>, and <a href="https://app.prntscr.com/en/download.html">Lightshot</a>  <ul> <li>For animated Gifs, try <a href="https://www.screentogif.com/">screen2gif</a> or <a href="https://www.cockos.com/licecap">LICEcap</a>!</li></ul> <li><a href="https://www.ntwind.com/software/alttabter.html">Alt-Tab Terminator</a> - Takes your Alt-Tab to the next level with massive previews and search  <li><a href="http://stevemiller.net/puretext/"><strong>PureText</strong></a> - PureText pastes plain text, purely, plainly. Free and glorious. Thanks Steve Miller  <li>I still FTP and SCP and SFTP and I use <a href="https://winscp.net/">WinSCP</a> to do it! It's free or just $10 to get it from the Windows Store and support the author!  <li><a href="https://www.videolan.org/vlc/">VLC Player</a> - The best and still the best. Plays everything, everywhere.  <li><a href="https://www.hanselman.com/blog/you-should-be-customizing-your-powershell-prompt-with-psreadline">PSReadline</a> - Makes PowerShell more Bashy in the best way.  <li><a href="http://www.malsmith.net/">Yori and all Malcolm Smith's Utilities</a> - Yori is a reimagning of cmd.exe!</li></ul> <h3>Visual Studio Code Extensions</h3> <blockquote> <p><em>"I use the negativity to fuel the transformation into a better me." – Beyoncé</em></p></blockquote> <p>There's a million great Visual Studio Extensions. The ones I like won't be the that ones you like. But, <a href="https://marketplace.visualstudio.com/vscode">go explore</a>.</p> <ul> <li><a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens">GitLens</a> - Glorious. Just makes Git and VS a joy and adds a thousand tiny lovely features that will make you smile. You'll wonder why this isn't built in.  <li><a href="https://marketplace.visualstudio.com/items?itemName=pflannery.vscode-versionlens">Version Lens</a> - Do you have the latest package versions? Now you know  <li><a href="https://marketplace.visualstudio.com/items?itemName=adpyke.codesnap">CodeSnap</a> - Screenshots specifically tailored to make your code look nice.  <li><a href="https://marketplace.visualstudio.com/items?itemName=formulahendry.dotnet-test-explorer">.NET Core Test Explorer</a> - Makes unit testing with .NET on VS Code so much nicer  <li><a href="https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.vscode-arduino">Arduino for VS Code</a> - The Arduino extension makes it easy to develop, build, deploy and debug your Arduino sketches in Visual Studio Code! So nice.  <li><a href="https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters">Coverage Gutters</a> - This amazing extension highlights what code is covered with Unit Test and what's not. <a href="https://github.com/ryanluker/vscode-coverage-gutters/issues">Ryan is looking for help</a>, so go see if this is a great OSS project YOU can get started with!  <li><a href="https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker">Docker for VS Code</a> - Container explorer and manager and deployer, directly from VS  <li><a href="https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory">GitHistory</a> - Another nice add-on for Git that shows your Git Log  <li><a href="https://marketplace.visualstudio.com/items?itemName=slevesque.vscode-hexdump">HexDump</a> - I need this more than I would like to admit  <li><a href="https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack">LiveShare</a> - Stop screen-sharing and start code and context sharing!  <li><a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell">PowerShell for VS</a> - A great replacement for the PowerShell ISE  <li><a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack">Remote Containers</a> - This is an AMAZING EXTENSION you have to try if you have Docker but it has a horrible non-descriptive name. But must be seen to be believed. Perhaps it's "Visual Studio Development Containers," I'm not sure. Open a folder and attach to a development container. No installs, just you debugging Rust, Go, C#, whatever whilst installing NOTHING. Amazing.  <li><a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack">Remote SSH</a> - Another in the VS Remote Family of Extensions, this one lets you use any remote SSH Server as your development environment.  <li><a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack">Remote WSL</a> - Edit and debug and build code from Windows...using Linux!  <li>And finally, <a href="https://marketplace.visualstudio.com/items?itemName=minamarkham.yonce-theme">Yoncé</a>, my current VS Code theme. Beyoncé inspired.</li></ul> <h3>Things I enjoy</h3> <blockquote> <p><em>“We all have our purpose, we all have our strengths.” – Beyoncé</em></p></blockquote> <ul> <li><a href="http://www.rescuetime.com/">RescueTime</a> - Are you productive? Are you spending time on what you need to be spending time on? RescueTime keeps track of what you are doing and tells you just that with fantastic reports. Very good stuff if you're trying to GTD and TCB. ;  <li><a href="http://code52.org/carnac/"><strong>Carnac</strong></a><strong> </strong>- This wonderful little open source utility shows the hotkey's you're pressing as you press them, showing up as little overlays in the corner. I use it during coding presentations.  <li><a href="http://www.dosbox.com/"><strong>DOSBox</strong></a> - When you're off floating in 64-bit super-Windows-10-Pro land, sometimes you forget that there ARE some old programs you can't run anymore now that DOS isn't really there. Enter DOSBox, an x86 DOS Emulator! Whew, now I can play Bard's Tale from 1988 on Windows 10 in 2021! Check out <a href="http://Gog.com">Gog.com</a> for lots of DOSBox powered classics</li></ul> <p>Oh yes, and finally <a href="https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-sandbox/windows-sandbox-overview">Windows Sandbox</a> - You already have this and didn't even know it! You can fire up in SECONDS a copy of your Windows 10 machine in a safe sandbox and when you close it, it's gone. Poof. Great for testing weird tools and utilities that some rando on a blog asks you to download.</p> <hr>  <p><strong>Sponsor:</strong> <b>IDC Innovators Report: Multicloud Networking</b>--Read the latest from IDC and discover one of the premier platforms addressing the rise of multicloud architectures and cloud-native apps. <a href="http://hnsl.mn/3mN7Viw">Download now</a>. </p><br/><hr/>© 2020 Scott Hanselman. All rights reserved. <br/></div><div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/640688472/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/640688472/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/640688472/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/640688472/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/640688472/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</description><comments>http://feeds.hanselman.com/~/640688472/0/scotthanselman~Scott-Hanselmans-Ultimate-Developer-and-Power-Users-Tool-List-for-Windows/comments#comments-start</comments><category>Tools</category><content:encoded><![CDATA[<div><p>Can you believe it's been 6 years since <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/scott-hanselmans-2014-ultimate-developer-and-power-users-tool-list-for-windows">my last Tools list</a>? Tools have changed, a lot are online, but honestly, it's just a LOT OF WORK to do the tools list. But here's one for 2020-2021. These are the tools in my Utils folder. I made a d:\dropbox\utils folder and I added it to my PATH. That way it's on all my computers and in my path on all my computers and I can get to any of them instantly. </p> <blockquote> <p>This is the <strong>Updated for 2020-21 Version</strong> of my <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/content/radiostories/2003/09/09/scottHanselmansUltimateDeveloperAndPowerUsersToolsList.html">2003</a>, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/ScottHanselmans2005UltimateDeveloperAndPowerUsersToolList.aspx">2005</a>, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/ScottHanselmans2006UltimateDeveloperAndPowerUsersToolListForWindows.aspx">2006</a>, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/ScottHanselmans2007UltimateDeveloperAndPowerUsersToolListForWindows.aspx">2007</a>, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/ScottHanselmans2009UltimateDeveloperAndPowerUsersToolListForWindows.aspx">2009</a>, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/ScottHanselmans2011UltimateDeveloperAndPowerUsersToolListForWindows.aspx">2011</a>, and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/scott-hanselmans-2014-ultimate-developer-and-power-users-tool-list-for-windows">2014</a> List, and currently subsumes all my other lists. I’ve been doing this for over 17 years. Wow. I need to do better, I guess.&nbsp; </p></blockquote> <p>Everyone collects utilities, and most folks have a list of a few that they feel are indispensable.&nbsp; Here's mine.&nbsp; Each has a distinct purpose, and I probably touch each at least a few times a week.&nbsp; For me, "util" means utilitarian and it means don't clutter my tray.&nbsp; If it saves me time, and seamlessly integrates with my life, it's the bomb. Many/most are free some aren't. Those that aren't free are very likely worth your 30-day trial, and very likely worth your money.  <p>These are all well loved and oft-used utilities.&nbsp; I wouldn't recommend them if I didn't use them constantly. Things on this list are here because I dig them. No one paid money to be on this list and no money is accepted to be on this list.  <blockquote> <p><b>Personal Plug:</b> If this list is the first time you and I have met, you should <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~feeds.hanselman.com/ScottHanselman">subscribe to my blog</a>, and check <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://hanselman.com/podcasts">out my podcasts</a>, and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://hanselman.com/newsletter">sign up for my newsletter of Wonderful Things</a>.</p></blockquote> <p>Please Link to <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://hanselman.com/tools">http://hanselman.com/tools</a> when referencing the latest <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/tools">Hanselman Ultimate Tools List</a>. Feel free to get involved here in the comments, post corrections, or suggestions for future submissions. I very likely made mistakes, and probably forgot a few utilities that I use often.</p> <h3>THE LIFE AND WORK-CHANGING UTILITIES</h3> <blockquote> <p><em>"If everything was perfect, you would never learn and you would never grow." - Beyoncé</em></p></blockquote> <ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://docs.microsoft.com/en-us/windows/wsl/install-win10">Windows Subsystem for Linux</a> - It really can't be overstated how WSL/WSL2 has put the cherry on top of Windows 10. It runs on any build 18362 or higher as it was recently backported and it's integration with Windows is fantastic. It's also WAY faster than running a VM. Go learn more on <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.youtube.com/shanselman">my YouTube</a>  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://docs.microsoft.com/en-us/windows/terminal/">Windows Terminal</a> - Finally Windows has a modern terminal. You can run shells like Command Prompt, PowerShell, and Windows Subsystem for Linux (WSL). Its main features include multiple tabs, panes, Unicode and UTF-8 character support, a GPU accelerated text rendering engine, and the ability to create your own themes and customize text, colors, backgrounds, and shortcuts. It also includes a pseudo-console so 3rd party Terminals like hyper, conemu, terminus and more work better!  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://docs.microsoft.com/en-us/windows/powertoys/">Windows PowerToys</a> - They are back and they should be built into Windows. <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://docs.microsoft.com/en-us/windows/powertoys/install">Install them here</a> and get a color picker, fancy zones, file explorer addons, image resizers, keyboard manager and remapper, an Apple Spotlight-like running in the form of PowerToyrs Run, the Shortcut Guide and more!  <ul> <li>Also check out <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ueli.app/">Ueli</a> as a great launcher/spotlight for Windows!</li></ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://code.visualstudio.com/">VS Code</a> - Visual Studio Code is hella fast and is my goto text and code editor. I still use notepad sometimes and I'm in full Visual Studio a lot, but VS Code is like the Tesla of code editors. Check out my Favorite VS Code Extensions below.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/taking-your-powershell-prompt-to-the-next-level-with-windows-terminal-and-oh-my-posh-3">PowerShell/OhMyPosh/PoshGit/Cascadia Code</a> - I've had a blast this year taking my console prompt to the next level. Try these out but also look at <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://starship.rs/">Starship</a>. Whatever you do, play! Don't <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.youtube.com/watch?v=lu__oGZVT98">accept the defaults</a>!  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://docs.microsoft.com/en-us/sysinternals/downloads/zoomit">ZoomIt</a> - A true classic but also the answer to the #1 question I'm asked. How do you draw on the screen when you're sharing your screen? ZoomIt has been THAT TOOL in my toolbox. Really take some time and learn how to do boxes, arrows, colors and more and you'll be a more effective screen-sharer. In fact, just go get the whole <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite">SysInternals suite</a> and put it all in your PATH.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://docs.microsoft.com/en-us/windows/package-manager/winget/">Winget</a> - It's apt-get for Windows. Similar to <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.chocolatey.org/">choco</a> which I've used in the past, WinGet is going to be included in Windows 10 and has a ton of nice features. I use it to setup a machine in an hour from the command line, versus a day before doing it manually. Just add your MSA (Microsoft login) to the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://aka.ms/AppInstaller_InsiderProgram">Package Manager Insiders Program and get it from the Store</a>. It's bundled with the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.microsoft.com/p/app-installer/9nblggh4nns1?ocid=9nblggh4nns1_ORSEARCH_Bing&amp;rtc=1&amp;activetab=pivot:overviewtab">Windows App Installer</a>. Then just "winget search &lt;tool&gt;" and winget install whatever!  <ul> <li><strong>UPDATE! </strong><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://dvlup.com/2020/12/29/2021-ultimate-list/"><strong>Lance McCarthy made</strong></a><strong> a </strong><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://gist.github.com/LanceMcCarthy/351330330072484b4c96b6c97b87fe5b"><strong>GitHub Gist with WinGet and Choco IDs for this whole list</strong></a><strong>! Thanks Lance!</strong></li></ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.microsoft.com/en-us/p/quicklook/9nv4bs3l1h4s?activetab=pivot:overviewtab">QuickLook</a> - Free in the Windows Store, just highlight a file in Explorer and press Space to get a preview!</li></ul> <h3>Amazing .NET and Developer utilities</h3> <blockquote> <p><em>"Power means happiness; power means hard work and sacrifice." - Beyoncé</em></p></blockquote> <ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.getcodetrack.com/">CodeTrack</a> - CodeTrack is a free .NET Performance Profiler and Execution Analyzer. It works on basically every version of .NET and will give you massive insight into how your code is running! The flamegraph view is fantastic. It's free <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.getcodetrack.com/donatepage.html">but you should donate as it's a one-person amazing app</a>!  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.linqpad.net/">LINQPad</a> - Interactively query your databases with LINQ with this tool from Joseph Albahari. A fantastic learning tool for those who are just getting into LINQ or for those who want a code snippet IDE to execute any C# or VB expression. Free and wonderful.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~winmerge.org/">WinMerge</a> - WinMerge just gets better and better. It's free, it's open source and it'll compare files and folders and help you merge your conflicted source code files like a champ. Also see <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.perforce.com/product/components/perforce_visual_merge_and_diff_tools">Perforce Visual Merge</a> which free and also can diff images, which is pretty amazing.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.microsoft.com/en-us/p/windbg-preview/9pgjgd53tn86?activetab=pivot:overviewtab">WinDbg</a> - Low-level and classic but also new and fresh! WinDbg (Wind-bag?) is now in <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.microsoft.com/en-us/p/windbg-preview/9pgjgd53tn86?activetab=pivot:overviewtab">the Windows Store</a> with ALL NEW VISUALS and more!  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://insomnia.rest/download/#windows">Insomnia</a> and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://nightingale.rest/">Nightingale</a> are great alternatives to Postman for doing REST APIs!  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.microsoft.com/en-us/p/nuget-package-explorer/9wzdncrdmdm3?rtc=1&amp;activetab=pivot:overviewtab">NuGet Package Explorer</a> - This app allows browsing NuGet packages from an online feed and viewing contents of the packages  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.wireshark.org/">WireShark</a> - What's happening <em>on the wire! </em>WireShark knows!  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://desktop.github.com/">GitHub Desktop</a> - Gits, ahem, out of the way! Watch <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.youtube.com/watch?v=WBg9mlpzEYU">my Git 101 on YouTube</a>!  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://github.com/awaescher/RepoZ">RepoZ</a> - This is a powerful repository hub for Git that enhances Windows Explorer with git superpowers! See your git details in your Windows Explorer title bar!  <ul> <li>Also from Andreas, if you're a .NET person you'll want to look at <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://github.com/awaescher/Fusion">Fusion+</a>, a modern alternative to the Microsoft Assembly Binding Log Viewer!</li></ul></li></ul> <h3>Useful Windows Utilities that should be built in</h3> <blockquote> <p><em>"I love my job, but it’s more than that: I need it" - Beyoncé</em></p></blockquote> <ul> <li><a title="https://eartrumpet.app/" href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://eartrumpet.app/">Ear Trumpet</a> - Fantastic advanced volume control for Windows! If you have ever wished that volume on Windows could turn their UI up to 11, Ear Trumpet is that app.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.codesector.com/teracopy">Teracopy</a> - While I use the excellent built in copy features of Windows 10 the most, when I want to move a LOT of files as FAST as possible, nothing beats TeraCopy, an app that does just that - move stuff fast. The queue control is excellent.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.autohotkey.com/">AutoHotKey</a> - This little gem is bananas. It's a tiny, amazingly fast free open-source utility for Windows. It lets you automate everything from keystrokes to mice. Programming for non-programmers. It's a complete automation system for Windows without the frustration of VBScript. This is the Windows equivalent of AppleScript for Windows. (That's a very good thing.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.7-zip.org/">7-Zip</a> - It's over and 7zip won. Time to get on board. The 7z format is fast becoming the compression format that choosey hardcore users choose. You'll typically get between 2% and 10% better compression than ZIP. This app integrates into Windows Explorer nicely and opens basically EVERYTHING you could ever want to open from TARs to ISOs, from RARs to CABs.  <li><strong><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.getpaint.net">Paint.NET</a></strong><strong> </strong>- The Paint Program that Microsoft forgot, written in .NET. It's 80% of Photoshop and it's free. Pay to support the author by getting the Windows Store version AND it will auto-update! It's only <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.microsoft.com/en-us/p/paintnet/9nbhcs1lx4r0?ocid=badge&amp;rtc=1&amp;activetab=pivot:overviewtab">$7, which is an unreal value</a>.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~nimbletext.com/">NimbleText</a> - Regular Expressions are hard and I'm not very smart. NimbleText lets me do crazy stuff with large amounts of text without it hurting so much.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://markdownmonster.west-wind.com/">Markdown Monster</a> - While I love VSCode, Markdown Monster does one thing incredibly well. Markdown.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.fiddlertool.com/">Fiddler</a> - The easy, clean, and powerful debugging proxy for checking out HTTP between here and there. It even supports sniffing SSL traffic.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.nirsoft.net/">NirSoft Utilities Collection</a> - Nearly everything NirSoft does is worth looking at. My favorites are <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.nirsoft.net/utils/myuninst.html">MyUninstaller</a>, a replacement for Remove Programs, and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.nirsoft.net/utils/whois_this_domain.html">WhoIsThisDomain</a>.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ditto-cp.sourceforge.io/">Ditto Clipboard Manager</a> - WindowsKey+V is amazing and close but Ditto keeps pushing clipboard management forward on Windows.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://github.com/ChrisAnd1998/TaskbarX">TaskbarX</a> - It literally centers your Taskbar buttons. I love it. Open Source but <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.microsoft.com/en-us/p/taskbarx/9pcmz6bxk8gh?activetab=pivot:overviewtab">also $1 in the Windows Store</a>.  <ul> <li>If you really want to mess with your Taskbar, try <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://rammichael.com/7-taskbar-tweaker">Taskbar Tweaker</a>.</li></ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.nirsoft.net/utils/shexview.html">ShellEx View</a> - Your Explorer's right click menu is cluttered, this can help you unclutter it!  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.onecommander.com/">OneCommander</a> and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://sourceforge.net/projects/mcwin32/">Midnight Commander</a> and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.altap.cz/">Altap Salamander</a> - As a long time Norton Commander user (google that!) there's a lot of great "reimaginings" of the Windows File Explorer. OneCommander and Altap Salamander does that, and Midnight Commander does it for the command line/CLI.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://windirstat.net/">WinDirStat</a> - A classic but still essential. What's taking up all that space? Spoiler - It's Call of Duty.  <ul> <li>Also try <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.uderzo.it/main_products/space_sniffer/">SpaceSniffer</a>!</li></ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.fileseek.ca/">FileSeek</a> and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.voidtools.com/">Everything</a> - Search it all, instantly!  <li>I like Win+Share+S for Screenshots but also check out <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://getsharex.com/">ShareX</a>, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://getgreenshot.org/">Greenshot</a>, and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://app.prntscr.com/en/download.html">Lightshot</a>  <ul> <li>For animated Gifs, try <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.screentogif.com/">screen2gif</a> or <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.cockos.com/licecap">LICEcap</a>!</li></ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.ntwind.com/software/alttabter.html">Alt-Tab Terminator</a> - Takes your Alt-Tab to the next level with massive previews and search  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~stevemiller.net/puretext/"><strong>PureText</strong></a> - PureText pastes plain text, purely, plainly. Free and glorious. Thanks Steve Miller  <li>I still FTP and SCP and SFTP and I use <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://winscp.net/">WinSCP</a> to do it! It's free or just $10 to get it from the Windows Store and support the author!  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.videolan.org/vlc/">VLC Player</a> - The best and still the best. Plays everything, everywhere.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/you-should-be-customizing-your-powershell-prompt-with-psreadline">PSReadline</a> - Makes PowerShell more Bashy in the best way.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.malsmith.net/">Yori and all Malcolm Smith's Utilities</a> - Yori is a reimagning of cmd.exe!</li></ul> <h3>Visual Studio Code Extensions</h3> <blockquote> <p><em>"I use the negativity to fuel the transformation into a better me." – Beyoncé</em></p></blockquote> <p>There's a million great Visual Studio Extensions. The ones I like won't be the that ones you like. But, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/vscode">go explore</a>.</p> <ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens">GitLens</a> - Glorious. Just makes Git and VS a joy and adds a thousand tiny lovely features that will make you smile. You'll wonder why this isn't built in.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=pflannery.vscode-versionlens">Version Lens</a> - Do you have the latest package versions? Now you know  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=adpyke.codesnap">CodeSnap</a> - Screenshots specifically tailored to make your code look nice.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=formulahendry.dotnet-test-explorer">.NET Core Test Explorer</a> - Makes unit testing with .NET on VS Code so much nicer  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.vscode-arduino">Arduino for VS Code</a> - The Arduino extension makes it easy to develop, build, deploy and debug your Arduino sketches in Visual Studio Code! So nice.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters">Coverage Gutters</a> - This amazing extension highlights what code is covered with Unit Test and what's not. <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://github.com/ryanluker/vscode-coverage-gutters/issues">Ryan is looking for help</a>, so go see if this is a great OSS project YOU can get started with!  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker">Docker for VS Code</a> - Container explorer and manager and deployer, directly from VS  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory">GitHistory</a> - Another nice add-on for Git that shows your Git Log  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=slevesque.vscode-hexdump">HexDump</a> - I need this more than I would like to admit  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack">LiveShare</a> - Stop screen-sharing and start code and context sharing!  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell">PowerShell for VS</a> - A great replacement for the PowerShell ISE  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack">Remote Containers</a> - This is an AMAZING EXTENSION you have to try if you have Docker but it has a horrible non-descriptive name. But must be seen to be believed. Perhaps it's "Visual Studio Development Containers," I'm not sure. Open a folder and attach to a development container. No installs, just you debugging Rust, Go, C#, whatever whilst installing NOTHING. Amazing.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack">Remote SSH</a> - Another in the VS Remote Family of Extensions, this one lets you use any remote SSH Server as your development environment.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack">Remote WSL</a> - Edit and debug and build code from Windows...using Linux!  <li>And finally, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://marketplace.visualstudio.com/items?itemName=minamarkham.yonce-theme">Yoncé</a>, my current VS Code theme. Beyoncé inspired.</li></ul> <h3>Things I enjoy</h3> <blockquote> <p><em>“We all have our purpose, we all have our strengths.” – Beyoncé</em></p></blockquote> <ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.rescuetime.com/">RescueTime</a> - Are you productive? Are you spending time on what you need to be spending time on? RescueTime keeps track of what you are doing and tells you just that with fantastic reports. Very good stuff if you're trying to GTD and TCB. ;  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~code52.org/carnac/"><strong>Carnac</strong></a><strong> </strong>- This wonderful little open source utility shows the hotkey's you're pressing as you press them, showing up as little overlays in the corner. I use it during coding presentations.  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.dosbox.com/"><strong>DOSBox</strong></a> - When you're off floating in 64-bit super-Windows-10-Pro land, sometimes you forget that there ARE some old programs you can't run anymore now that DOS isn't really there. Enter DOSBox, an x86 DOS Emulator! Whew, now I can play Bard's Tale from 1988 on Windows 10 in 2021! Check out <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~Gog.com">Gog.com</a> for lots of DOSBox powered classics</li></ul> <p>Oh yes, and finally <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-sandbox/windows-sandbox-overview">Windows Sandbox</a> - You already have this and didn't even know it! You can fire up in SECONDS a copy of your Windows 10 machine in a safe sandbox and when you close it, it's gone. Poof. Great for testing weird tools and utilities that some rando on a blog asks you to download.</p> <hr>  <p><strong>Sponsor:</strong> <b>IDC Innovators Report: Multicloud Networking</b>--Read the latest from IDC and discover one of the premier platforms addressing the rise of multicloud architectures and cloud-native apps. <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~hnsl.mn/3mN7Viw">Download now</a>. </p>
<br/><hr/>© 2020 Scott Hanselman. All rights reserved. 
<br/></div><Img align="left" border="0" height="1" width="1" alt="" style="border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;" hspace="0" src="http://feeds.hanselman.com/~/i/640688472/0/scotthanselman">
<div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/640688472/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/640688472/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/640688472/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/640688472/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/640688472/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</content:encoded></item>
<item>
<feedburner:origLink>https://www.hanselman.com/blog/taking-your-powershell-prompt-to-the-next-level-with-windows-terminal-and-oh-my-posh-3</feedburner:origLink><trackback:ping>https://www.hanselman.com/blog/feed/trackback/7571a2d8-caf0-4570-a388-bf04d84333cf</trackback:ping><pingback:server>https://www.hanselman.com/blog/feed/pingback</pingback:server><pingback:target>https://www.hanselman.com/blog/post/7571a2d8-caf0-4570-a388-bf04d84333cf</pingback:target><dc:creator>Scott Hanselman</dc:creator><wfw:comment>http://feeds.hanselman.com/~/640622860/0/scotthanselman~Taking-your-PowerShell-prompt-to-the-next-level-with-Windows-Terminal-and-Oh-my-Posh/comments#comments-start</wfw:comment><wfw:commentRss>https://www.hanselman.com/blog/feed/rss/comments/7571a2d8-caf0-4570-a388-bf04d84333cf</wfw:commentRss><slash:comments>50</slash:comments><title>Taking your PowerShell prompt to the next level with Windows Terminal and Oh my Posh 3</title><guid isPermaLink="false">https://www.hanselman.com/blog/post/7571a2d8-caf0-4570-a388-bf04d84333cf</guid><link>http://feeds.hanselman.com/~/640622860/0/scotthanselman~Taking-your-PowerShell-prompt-to-the-next-level-with-Windows-Terminal-and-Oh-my-Posh</link><pubDate>Thu, 17 Dec 2020 21:56:00 GMT</pubDate><description><![CDATA[<div><p>I love <a href="https://www.hanselman.com/blog/how-to-make-a-pretty-prompt-in-windows-terminal-with-powerline-nerd-fonts-cascadia-code-wsl-and-ohmyposh">my pretty prompt that I use with Windows Terminal and Powershell</a>. I also like using <a href="https://www.hanselman.com/blog/you-should-be-customizing-your-powershell-prompt-with-psreadline">PSReadline to bring even more cool features</a> to the CLI (Command Line Interface).</p> <p>One of the best and easiest ways to get an awesome looking prompt on Windows is with Oh My Posh, and there's now <a href="https://ohmyposh.dev/">Oh My Posh 3</a>! Now, to be clear, you get to be <em>pretty extra </em>with these prompts and some people find them to be a turn off if there's too much bling. Remember: It's your prompt and you are in control. It's totally configurable - so configure it!</p> <p>What do you need to start?</p> <ul> <li><a href="https://docs.microsoft.com/en-us/windows/terminal/get-started">Windows Terminal</a>  <li>A super charged Cascadia Code font.  <ul> <li>I like <a href="https://www.nerdfonts.com/">CaskaydiaCove NF</a> but any overkill <a href="https://www.nerdfonts.com/">nerd font</a> will do. You can use Cascadia Code PL but you may want other glyphs. </li></ul> <li><a href="https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.1">PowerShell</a> (works on Windows, Linux, and Mac and is open source) and <a href="https://ohmyposh.dev/">Oh my Posh</a>  <ul> <li>Now, to be clear, you can use Oh My Posh on zsh, bash, fish, nu and other shells also, but I like PowerShell as my main shell.</li></ul></li></ul> <p>Let's upgrade my Oh My Posh installation to <a href="https://ohmyposh.dev/">Oh My Posh 3</a> and see what's new and changed, shall we?</p> <p>Here's my current prompt:</p><figure><img src="https://hanselmanblogcontent.azureedge.net/Windows-Live-Writer/63963d6f2af3_12BCC/image_e2447ddd-416e-4036-9584-e728455e6d9d.png"></figure>  <p>There's an <a href="https://ohmyposh.dev/docs/upgrading">upgrading section in the docs</a>, if you are going from an <a href="https://ohmyposh.dev/docs/upgrading">existing installation of Oh My Posh to v3</a>. Let's check it out.</p> <p>Looks like I just need to do this:</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">Update-Module -Name oh-my-posh -AllowPrerelease -Scope CurrentUser
</pre>
<p>That's...suspiciously...not difficult. Now, <a href="https://ohmyposh.dev/docs/installation">just add this text to your $profile</a> (again, there are instructions for other prompts). </p>
<blockquote>
<p>NOTE: Be sure to make sure that your paths are correct. The example assumes a c:\tools folder AND it assumes you have a ~\.poshthemes folder. Change those paths however you want, but if it doesn't work, it's likely a pathing issue.</p></blockquote>
<p>Here's a clever feature, you can call "Get-PoshThemes" and see a PREVIEW of different prompt themes and pick one!</p><figure><img title="Get-PoshThemes" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="Get-PoshThemes" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/9e6e2afdfebc_B5E2/image_8.png" width="1001" height="560"></figure> 
<p>Hey that "jandedobbeleer" font is as extra as I am. I like it.</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">Set-PoshPrompt -Theme jandedobbeleer
</pre>
<p>The fun stuff is where you can add things like <a href="https://ohmyposh.dev/docs/az">your current Azure subscruption</a>, or your <a href="https://ohmyposh.dev/docs/kubectl">current kubectl</a>, or <a href="https://ohmyposh.dev/docs/ytm">even YouTube music</a>. I like the <a href="https://ohmyposh.dev/docs/dotnet">dotnet</a> option. Let me see how to change that.</p>
<p>There is an <a href="https://github.com/JanDeDobbeleer/oh-my-posh3/releases/tag/v3.58.0">OhMyPosh executable</a> you can get that <a href="https://github.com/JanDeDobbeleer/oh-my-posh3/releases/tag/v3.58.0">will print your current config</a> that you can then modify. Download the right version of that and put it in your PATH somewhere. I put mine in my sync'ed d:\dropbox\utils which makes it available on any machine, but that's just me.</p>
<blockquote>
<p>NOTE: If it's a new release of OhMyPosh, it may not have built up reputation without a code signing cert, but ignore that for now. I submitted it as safe in smartscreen and you can too if you like.</p></blockquote>
<p>I will get the current config and put it in the clipboard, then paste it into VS Code and modify it.</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">posh-windows-amd64.exe -print-config </pre>
<blockquote>
<p>Unicode! Note that you may not be able to | pipe this to clip.exe or &gt; to a file as there's fancy Unicode in there and your shell may mangle the glyphs. I ended up copying the JSON manually directly by selecting it in Windows Terminal. You can also <a href="https://github.com/JanDeDobbeleer/oh-my-posh3/issues/220#issuecomment-739332547">do this to get the json file</a></p>
<p><code>Write-PoshTheme | Out-File -FilePath ~/.go-my-posh.json -Encoding oem</code></p></blockquote>
<p>If you want to copy in your own fancy glyph, use charmap.exe to copy the one you want. There's lots of choices in nerdfonts.</p>
<p><img title="Charmap" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="Charmap" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/9e6e2afdfebc_B5E2/image_5.png" width="715" height="607"></p>
<p>Pretty fancy! I've got the path, my git, and the current .NET Core SDK version in that path, as well as a heartbeat of the current CLI error code.</p><figure><img title="My new OhMyPosh prompt" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="My new OhMyPosh prompt" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/9e6e2afdfebc_B5E2/image_9.png" width="1001" height="268"></figure> 
<p>I've uploaded <a href="https://gist.github.com/shanselman/fe2e3df3d06448604d66f6dec242ac50">my ohmyposhv3.json as a Gist on GitHub</a>. Next I think I'll look into how to make my own <a href="https://ohmyposh.dev/docs/contributing_segment">custom segment</a> and <a href="https://www.hanselman.com/blog/visualizing-your-realtime-blood-sugar-values-and-a-git-prompt-on-windows-powershell-and-linux-bash">make a Nightscout Blood Sugar segment and show my blood sugar in real time as I used to</a>.</p>
<hr>
<p><strong>Sponsor:</strong> Have you tried <a href="http://hnsl.mn/3aknRpN">developing in Rider</a> yet? This fast and feature-rich cross-platform IDE improves your code for .NET, <a href="http://asp.net/">ASP.NET</a>, .NET Core, Xamarin, and Unity applications on Windows, Mac, and Linux. </p><br/><hr/>© 2020 Scott Hanselman. All rights reserved. <br/></div><div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/640622860/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/640622860/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/640622860/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/640622860/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/640622860/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</description><comments>http://feeds.hanselman.com/~/640622860/0/scotthanselman~Taking-your-PowerShell-prompt-to-the-next-level-with-Windows-Terminal-and-Oh-my-Posh/comments#comments-start</comments><category>Musings</category><content:encoded><![CDATA[<div><p>I love <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/how-to-make-a-pretty-prompt-in-windows-terminal-with-powerline-nerd-fonts-cascadia-code-wsl-and-ohmyposh">my pretty prompt that I use with Windows Terminal and Powershell</a>. I also like using <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/you-should-be-customizing-your-powershell-prompt-with-psreadline">PSReadline to bring even more cool features</a> to the CLI (Command Line Interface).</p> <p>One of the best and easiest ways to get an awesome looking prompt on Windows is with Oh My Posh, and there's now <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ohmyposh.dev/">Oh My Posh 3</a>! Now, to be clear, you get to be <em>pretty extra </em>with these prompts and some people find them to be a turn off if there's too much bling. Remember: It's your prompt and you are in control. It's totally configurable - so configure it!</p> <p>What do you need to start?</p> <ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://docs.microsoft.com/en-us/windows/terminal/get-started">Windows Terminal</a>  <li>A super charged Cascadia Code font.  <ul> <li>I like <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.nerdfonts.com/">CaskaydiaCove NF</a> but any overkill <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.nerdfonts.com/">nerd font</a> will do. You can use Cascadia Code PL but you may want other glyphs. </li></ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.1">PowerShell</a> (works on Windows, Linux, and Mac and is open source) and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ohmyposh.dev/">Oh my Posh</a>  <ul> <li>Now, to be clear, you can use Oh My Posh on zsh, bash, fish, nu and other shells also, but I like PowerShell as my main shell.</li></ul></li></ul> <p>Let's upgrade my Oh My Posh installation to <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ohmyposh.dev/">Oh My Posh 3</a> and see what's new and changed, shall we?</p> <p>Here's my current prompt:</p><figure><img src="https://hanselmanblogcontent.azureedge.net/Windows-Live-Writer/63963d6f2af3_12BCC/image_e2447ddd-416e-4036-9584-e728455e6d9d.png"></figure>  <p>There's an <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ohmyposh.dev/docs/upgrading">upgrading section in the docs</a>, if you are going from an <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ohmyposh.dev/docs/upgrading">existing installation of Oh My Posh to v3</a>. Let's check it out.</p> <p>Looks like I just need to do this:</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">Update-Module -Name oh-my-posh -AllowPrerelease -Scope CurrentUser
</pre>
<p>That's...suspiciously...not difficult. Now, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ohmyposh.dev/docs/installation">just add this text to your $profile</a> (again, there are instructions for other prompts). </p>
<blockquote>
<p>NOTE: Be sure to make sure that your paths are correct. The example assumes a c:\tools folder AND it assumes you have a ~\.poshthemes folder. Change those paths however you want, but if it doesn't work, it's likely a pathing issue.</p></blockquote>
<p>Here's a clever feature, you can call "Get-PoshThemes" and see a PREVIEW of different prompt themes and pick one!</p><figure><img title="Get-PoshThemes" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="Get-PoshThemes" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/9e6e2afdfebc_B5E2/image_8.png" width="1001" height="560"></figure> 
<p>Hey that "jandedobbeleer" font is as extra as I am. I like it.</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">Set-PoshPrompt -Theme jandedobbeleer
</pre>
<p>The fun stuff is where you can add things like <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ohmyposh.dev/docs/az">your current Azure subscruption</a>, or your <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ohmyposh.dev/docs/kubectl">current kubectl</a>, or <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ohmyposh.dev/docs/ytm">even YouTube music</a>. I like the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ohmyposh.dev/docs/dotnet">dotnet</a> option. Let me see how to change that.</p>
<p>There is an <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://github.com/JanDeDobbeleer/oh-my-posh3/releases/tag/v3.58.0">OhMyPosh executable</a> you can get that <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://github.com/JanDeDobbeleer/oh-my-posh3/releases/tag/v3.58.0">will print your current config</a> that you can then modify. Download the right version of that and put it in your PATH somewhere. I put mine in my sync'ed d:\dropbox\utils which makes it available on any machine, but that's just me.</p>
<blockquote>
<p>NOTE: If it's a new release of OhMyPosh, it may not have built up reputation without a code signing cert, but ignore that for now. I submitted it as safe in smartscreen and you can too if you like.</p></blockquote>
<p>I will get the current config and put it in the clipboard, then paste it into VS Code and modify it.</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">posh-windows-amd64.exe -print-config </pre>
<blockquote>
<p>Unicode! Note that you may not be able to | pipe this to clip.exe or &gt; to a file as there's fancy Unicode in there and your shell may mangle the glyphs. I ended up copying the JSON manually directly by selecting it in Windows Terminal. You can also <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://github.com/JanDeDobbeleer/oh-my-posh3/issues/220#issuecomment-739332547">do this to get the json file</a></p>
<p><code>Write-PoshTheme | Out-File -FilePath ~/.go-my-posh.json -Encoding oem</code></p></blockquote>
<p>If you want to copy in your own fancy glyph, use charmap.exe to copy the one you want. There's lots of choices in nerdfonts.</p>
<p><img title="Charmap" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="Charmap" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/9e6e2afdfebc_B5E2/image_5.png" width="715" height="607"></p>
<p>Pretty fancy! I've got the path, my git, and the current .NET Core SDK version in that path, as well as a heartbeat of the current CLI error code.</p><figure><img title="My new OhMyPosh prompt" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="My new OhMyPosh prompt" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/9e6e2afdfebc_B5E2/image_9.png" width="1001" height="268"></figure> 
<p>I've uploaded <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://gist.github.com/shanselman/fe2e3df3d06448604d66f6dec242ac50">my ohmyposhv3.json as a Gist on GitHub</a>. Next I think I'll look into how to make my own <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ohmyposh.dev/docs/contributing_segment">custom segment</a> and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/visualizing-your-realtime-blood-sugar-values-and-a-git-prompt-on-windows-powershell-and-linux-bash">make a Nightscout Blood Sugar segment and show my blood sugar in real time as I used to</a>.</p>
<hr>
<p><strong>Sponsor:</strong> Have you tried <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~hnsl.mn/3aknRpN">developing in Rider</a> yet? This fast and feature-rich cross-platform IDE improves your code for .NET, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~asp.net/">ASP.NET</a>, .NET Core, Xamarin, and Unity applications on Windows, Mac, and Linux. </p>
<br/><hr/>© 2020 Scott Hanselman. All rights reserved. 
<br/></div><Img align="left" border="0" height="1" width="1" alt="" style="border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;" hspace="0" src="http://feeds.hanselman.com/~/i/640622860/0/scotthanselman">
<div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/640622860/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/640622860/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/640622860/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/640622860/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/640622860/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</content:encoded></item>
<item>
<feedburner:origLink>https://www.hanselman.com/blog/the-regular-joy-of-the-adafruit-adabox-subscription-and-exploring-iot-with-the-family</feedburner:origLink><trackback:ping>https://www.hanselman.com/blog/feed/trackback/488088c8-ed85-4ce8-b119-9a22ee1d0694</trackback:ping><pingback:server>https://www.hanselman.com/blog/feed/pingback</pingback:server><pingback:target>https://www.hanselman.com/blog/post/488088c8-ed85-4ce8-b119-9a22ee1d0694</pingback:target><dc:creator>Scott Hanselman</dc:creator><wfw:comment>http://feeds.hanselman.com/~/640408234/0/scotthanselman~The-regular-joy-of-the-Adafruit-AdaBox-Subscription-and-exploring-IoT-with-the-family/comments#comments-start</wfw:comment><wfw:commentRss>https://www.hanselman.com/blog/feed/rss/comments/488088c8-ed85-4ce8-b119-9a22ee1d0694</wfw:commentRss><slash:comments>2</slash:comments><title>The regular joy of the Adafruit AdaBox Subscription and exploring IoT with the family</title><guid isPermaLink="false">https://www.hanselman.com/blog/post/488088c8-ed85-4ce8-b119-9a22ee1d0694</guid><link>http://feeds.hanselman.com/~/640408234/0/scotthanselman~The-regular-joy-of-the-Adafruit-AdaBox-Subscription-and-exploring-IoT-with-the-family</link><pubDate>Tue, 15 Dec 2020 21:01:00 GMT</pubDate><description><![CDATA[<div><p>I'm a fan of <a href="https://www.adafruit.com">Adafruit</a> and all their products. There's no referral links here, just fandom and a personal recommendation from me. I've been a long-time <a href="https://www.adafruit.com/adabox">subscriber of the AdaBox</a>. The AdaBox is "Curated Adafruit products, unique collectibles, and exclusive discounts. All delivered quarterly."</p> <p>You can <a href="https://www.adafruit.com/adabox_get_started">give Adaboxs (Adaboxen?) as a gift</a> one time, or you can sign up for the regular subscription like I did.</p> <p>How much do I love them? I actually did a pilgrimage to New York and <a href="https://www.youtube.com/watch?v=nsnzgqR8-VI">visited them in person</a>. It's as amazing as you'd imagine and Lady Ada is epic.</p> <p><a href="https://www.youtube.com/watch?v=nsnzgqR8-VI"><img title="Scott Hanselman visits Adafruit" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="Scott Hanselman visits Adafruit" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/The-regular-joy-of-the-AdaFruit-AdaBox-S_E0F2/image_3.png" width="642" height="298"></a></p> <p>Back to the AdaBox! Check out the <a href="https://www.adafruit.com/category/926">list of previous Adaboxes</a> (and order one if it's not already sold out!)</p> <p>As of this writing there are just 2 left of <a href="https://www.adafruit.com/product/3778">AdaBox007</a>, the SPY box. This one was a hit with my kids as it included a full lockpicking kit! I literally taught them about the internals of a lock and how it works. The <a href="https://www.adafruit.com/product/4491">AdaBox015</a> was also cool as it included the CLUE sensor development board that was the same size and shape as the popular BBC micro:bit. The kids made a DIY soil moisture sensor and with the included Water Pump, set up autowatering for our plants!</p> <p>AdaBoxes are always solderless (unless you want to do something advanced!) and great for kids to explore electronics. You'll get things like IR sensors, Buzzers, LEDs, and full instructions on how to build that box's project!</p> <p>Every quarter you get a new box and it's a joyful surprise every time. <a href="https://www.adafruit.com/adabox017">Adabox017 just showed up yesterday</a> at my house! It included a cool MagTag with a 2.9" grayscale E-Ink display! It has an ESP32-S2 wireless module and uses CircuitPython so I, I mean, the children, can easily create a low-power IoT display. The display will even stay on when power is removed. They'll be doing <a href="http://youtube.com/adafruit">a live unboxing on December 23rd at 8pm ET</a> so subscribe to their YouTube.</p> <p>We could make a weather display! Internal climate? What's on Netflix? A tiny <a href="https://www.hanselman.com/blog/how-to-build-a-wall-mounted-family-calendar-and-dashboard-with-a-raspberry-pi-and-cheap-monitor">Dakboard</a>? Show my blood sugar? The possibilities are endless.</p> <p><a href="https://www.adafruit.com/adabox">AdaBox</a> is available in the United States, Puerto Rico, Canada, the UK, France, Germany, Netherlands, Norway, and Switzerland.&nbsp; They are signing up for <a href="https://www.adafruit.com/adabox">AdaBox018 that will ship in March 2021</a>.</p> <p>BTW if you are looking for other holiday shopping ideas, check out <a href="https://www.adafruit.com/explore">Adafruit's Holiday Shipping Guide here</a>. Anyway, enough of my rant. Their stuff is a joy, go check it out.</p> <hr>  <p><strong>Sponsor:</strong> Have you tried <a href="http://hnsl.mn/3aknRpN">developing in Rider</a> yet? This fast and feature-rich cross-platform IDE improves your code for .NET, <a href="http://asp.net/">ASP.NET</a>, .NET Core, Xamarin, and Unity applications on Windows, Mac, and Linux.</p><br/><hr/>© 2020 Scott Hanselman. All rights reserved. <br/></div><div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/640408234/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/640408234/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/640408234/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/640408234/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/640408234/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</description><comments>http://feeds.hanselman.com/~/640408234/0/scotthanselman~The-regular-joy-of-the-Adafruit-AdaBox-Subscription-and-exploring-IoT-with-the-family/comments#comments-start</comments><category>Musings</category><content:encoded><![CDATA[<div><p>I'm a fan of <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.adafruit.com">Adafruit</a> and all their products. There's no referral links here, just fandom and a personal recommendation from me. I've been a long-time <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.adafruit.com/adabox">subscriber of the AdaBox</a>. The AdaBox is "Curated Adafruit products, unique collectibles, and exclusive discounts. All delivered quarterly."</p> <p>You can <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.adafruit.com/adabox_get_started">give Adaboxs (Adaboxen?) as a gift</a> one time, or you can sign up for the regular subscription like I did.</p> <p>How much do I love them? I actually did a pilgrimage to New York and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.youtube.com/watch?v=nsnzgqR8-VI">visited them in person</a>. It's as amazing as you'd imagine and Lady Ada is epic.</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.youtube.com/watch?v=nsnzgqR8-VI"><img title="Scott Hanselman visits Adafruit" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="Scott Hanselman visits Adafruit" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/The-regular-joy-of-the-AdaFruit-AdaBox-S_E0F2/image_3.png" width="642" height="298"></a></p> <p>Back to the AdaBox! Check out the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.adafruit.com/category/926">list of previous Adaboxes</a> (and order one if it's not already sold out!)</p> <p>As of this writing there are just 2 left of <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.adafruit.com/product/3778">AdaBox007</a>, the SPY box. This one was a hit with my kids as it included a full lockpicking kit! I literally taught them about the internals of a lock and how it works. The <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.adafruit.com/product/4491">AdaBox015</a> was also cool as it included the CLUE sensor development board that was the same size and shape as the popular BBC micro:bit. The kids made a DIY soil moisture sensor and with the included Water Pump, set up autowatering for our plants!</p> <p>AdaBoxes are always solderless (unless you want to do something advanced!) and great for kids to explore electronics. You'll get things like IR sensors, Buzzers, LEDs, and full instructions on how to build that box's project!</p> <p>Every quarter you get a new box and it's a joyful surprise every time. <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.adafruit.com/adabox017">Adabox017 just showed up yesterday</a> at my house! It included a cool MagTag with a 2.9" grayscale E-Ink display! It has an ESP32-S2 wireless module and uses CircuitPython so I, I mean, the children, can easily create a low-power IoT display. The display will even stay on when power is removed. They'll be doing <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~youtube.com/adafruit">a live unboxing on December 23rd at 8pm ET</a> so subscribe to their YouTube.</p> <p>We could make a weather display! Internal climate? What's on Netflix? A tiny <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/how-to-build-a-wall-mounted-family-calendar-and-dashboard-with-a-raspberry-pi-and-cheap-monitor">Dakboard</a>? Show my blood sugar? The possibilities are endless.</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.adafruit.com/adabox">AdaBox</a> is available in the United States, Puerto Rico, Canada, the UK, France, Germany, Netherlands, Norway, and Switzerland.&nbsp; They are signing up for <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.adafruit.com/adabox">AdaBox018 that will ship in March 2021</a>.</p> <p>BTW if you are looking for other holiday shopping ideas, check out <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.adafruit.com/explore">Adafruit's Holiday Shipping Guide here</a>. Anyway, enough of my rant. Their stuff is a joy, go check it out.</p> <hr>  <p><strong>Sponsor:</strong> Have you tried <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~hnsl.mn/3aknRpN">developing in Rider</a> yet? This fast and feature-rich cross-platform IDE improves your code for .NET, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~asp.net/">ASP.NET</a>, .NET Core, Xamarin, and Unity applications on Windows, Mac, and Linux.</p>
<br/><hr/>© 2020 Scott Hanselman. All rights reserved. 
<br/></div><Img align="left" border="0" height="1" width="1" alt="" style="border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;" hspace="0" src="http://feeds.hanselman.com/~/i/640408234/0/scotthanselman">
<div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/640408234/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/640408234/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/640408234/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/640408234/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/640408234/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</content:encoded></item>
<item>
<feedburner:origLink>https://www.hanselman.com/blog/the-art-of-rubber-ducking-or-rubber-duck-debugging</feedburner:origLink><trackback:ping>https://www.hanselman.com/blog/feed/trackback/6735ed45-987c-4c0b-867d-ab84ec5a4683</trackback:ping><pingback:server>https://www.hanselman.com/blog/feed/pingback</pingback:server><pingback:target>https://www.hanselman.com/blog/post/6735ed45-987c-4c0b-867d-ab84ec5a4683</pingback:target><dc:creator>Scott Hanselman</dc:creator><wfw:comment>http://feeds.hanselman.com/~/640347138/0/scotthanselman~The-art-of-Rubber-Ducking-or-Rubber-Duck-Debugging/comments#comments-start</wfw:comment><wfw:commentRss>https://www.hanselman.com/blog/feed/rss/comments/6735ed45-987c-4c0b-867d-ab84ec5a4683</wfw:commentRss><slash:comments>33</slash:comments><title>The art of Rubber Ducking or Rubber Duck Debugging</title><guid isPermaLink="false">https://www.hanselman.com/blog/post/6735ed45-987c-4c0b-867d-ab84ec5a4683</guid><link>http://feeds.hanselman.com/~/640347138/0/scotthanselman~The-art-of-Rubber-Ducking-or-Rubber-Duck-Debugging</link><pubDate>Thu, 10 Dec 2020 18:29:00 GMT</pubDate><description><![CDATA[<div><p>It works. Really.</p> <blockquote> <p>"Put a rubber duck on your monitor and tell it how the code is supposed to work."</p></blockquote> <p><a href="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/836d1bc2611e_936B/Rubber_duck_collection_2.jpg"><img title="Rubber Ducking - Pic used under CC" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px 0px 0px 5px; display: inline; padding-right: 0px" border="0" alt="Rubber Ducking - Pic used under CC" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/836d1bc2611e_936B/Rubber_duck_collection_thumb.jpg" width="302" align="right" height="221"></a>The Rubber Duck can be your disinterested roommate, non-technical spouse, or your work-spouse. I call Damian Edwards or Tara Walker all the time and they just listen to me explain how it <em>should</em> work and somewhere in the middle of explaining it out loud I'll go...OOOOOOOOHHHH...and then I've solved it.</p> <p>If you are new to programming, go check <a href="https://youtube.com/shanselman">out my YouTube</a>, specifically this one about being <a href="https://www.youtube.com/watch?v=5CmjW_8ief4"><strong>Overwhelmed with Programming</strong></a><strong>. </strong>I talk about the importance of Rubber Ducking and verbalizing how your code should work.</p> <p>This can be challenging in these remote times, so I recommend that you try to build a small community of like minded friends and developers. You can find <a href="https://dotnet.microsoft.com/platform/community">folks on Discord and other community sites</a> or consider reaching out to a friend on Twitter or from work and say "I can use you as a rubber duck sometimes?" </p> <p>I have little <a href="https://amzn.to/2LE6E0u">Gundam and Gunpla</a> (Amazon link) robot models on my desk and I'll use them to help me debug.</p> <p>This might sound silly but it ABSOLUTELY works. Ask around. Try it. </p> <div class="embed-container"><iframe height="315" src="https://www.youtube.com/embed/5CmjW_8ief4" frameborder="0" width="560" allowfullscreen allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"></iframe></div>   <p>You'll find that getting the problem <em>outside your head, via your mouth, and then back into your ears </em>is often enough to shake brain cells loose and help you solve the issue. </p> <p>Rubber Ducking also is great practice in technical communication! Have you ever given a technical talk? There's actually not much distance between explaining a technical issue clearly, correctly, and concisely and giving a talk at a user group or conference!</p> <p>Have you tried Rubber Duck Debugging? Let us know AND encourage early in career Code Newbies to consider (and normalize) this technique! </p> <hr>  <p><strong>Sponsor:</strong> Suffering from a lack of clarity around software bugs? Give your customers the experience they deserve and expect with <a href="https://hnsl.mn/3m1uDmQ">error monitoring</a> from Raygun.com. Installs in minutes, try it today!</p><br/><hr/>© 2020 Scott Hanselman. All rights reserved. <br/></div><div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/640347138/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/640347138/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/640347138/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/640347138/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/640347138/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</description><comments>http://feeds.hanselman.com/~/640347138/0/scotthanselman~The-art-of-Rubber-Ducking-or-Rubber-Duck-Debugging/comments#comments-start</comments><category>Musings</category><content:encoded><![CDATA[<div><p>It works. Really.</p> <blockquote> <p>"Put a rubber duck on your monitor and tell it how the code is supposed to work."</p></blockquote> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/836d1bc2611e_936B/Rubber_duck_collection_2.jpg"><img title="Rubber Ducking - Pic used under CC" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px 0px 0px 5px; display: inline; padding-right: 0px" border="0" alt="Rubber Ducking - Pic used under CC" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/836d1bc2611e_936B/Rubber_duck_collection_thumb.jpg" width="302" align="right" height="221"></a>The Rubber Duck can be your disinterested roommate, non-technical spouse, or your work-spouse. I call Damian Edwards or Tara Walker all the time and they just listen to me explain how it <em>should</em> work and somewhere in the middle of explaining it out loud I'll go...OOOOOOOOHHHH...and then I've solved it.</p> <p>If you are new to programming, go check <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://youtube.com/shanselman">out my YouTube</a>, specifically this one about being <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.youtube.com/watch?v=5CmjW_8ief4"><strong>Overwhelmed with Programming</strong></a><strong>. </strong>I talk about the importance of Rubber Ducking and verbalizing how your code should work.</p> <p>This can be challenging in these remote times, so I recommend that you try to build a small community of like minded friends and developers. You can find <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://dotnet.microsoft.com/platform/community">folks on Discord and other community sites</a> or consider reaching out to a friend on Twitter or from work and say "I can use you as a rubber duck sometimes?" </p> <p>I have little <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/2LE6E0u">Gundam and Gunpla</a> (Amazon link) robot models on my desk and I'll use them to help me debug.</p> <p>This might sound silly but it ABSOLUTELY works. Ask around. Try it. </p> <div class="embed-container"><iframe height="315" src="https://www.youtube.com/embed/5CmjW_8ief4" frameborder="0" width="560" allowfullscreen allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"></iframe></div>   <p>You'll find that getting the problem <em>outside your head, via your mouth, and then back into your ears </em>is often enough to shake brain cells loose and help you solve the issue. </p> <p>Rubber Ducking also is great practice in technical communication! Have you ever given a technical talk? There's actually not much distance between explaining a technical issue clearly, correctly, and concisely and giving a talk at a user group or conference!</p> <p>Have you tried Rubber Duck Debugging? Let us know AND encourage early in career Code Newbies to consider (and normalize) this technique! </p> <hr>  <p><strong>Sponsor:</strong> Suffering from a lack of clarity around software bugs? Give your customers the experience they deserve and expect with <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://hnsl.mn/3m1uDmQ">error monitoring</a> from Raygun.com. Installs in minutes, try it today!</p>
<br/><hr/>© 2020 Scott Hanselman. All rights reserved. 
<br/></div><Img align="left" border="0" height="1" width="1" alt="" style="border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;" hspace="0" src="http://feeds.hanselman.com/~/i/640347138/0/scotthanselman">
<div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/640347138/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/640347138/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/640347138/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/640347138/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/640347138/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</content:encoded></item>
<item>
<feedburner:origLink>https://www.hanselman.com/blog/you-should-be-customizing-your-powershell-prompt-with-psreadline</feedburner:origLink><trackback:ping>https://www.hanselman.com/blog/feed/trackback/bc4d51f7-c5b4-4780-b78a-470a4b3b3064</trackback:ping><pingback:server>https://www.hanselman.com/blog/feed/pingback</pingback:server><pingback:target>https://www.hanselman.com/blog/post/bc4d51f7-c5b4-4780-b78a-470a4b3b3064</pingback:target><dc:creator>Scott Hanselman</dc:creator><wfw:comment>http://feeds.hanselman.com/~/640039680/0/scotthanselman~You-should-be-customizing-your-PowerShell-Prompt-with-PSReadLine/comments#comments-start</wfw:comment><wfw:commentRss>https://www.hanselman.com/blog/feed/rss/comments/bc4d51f7-c5b4-4780-b78a-470a4b3b3064</wfw:commentRss><slash:comments>7</slash:comments><title>You should be customizing your PowerShell Prompt with PSReadLine</title><guid isPermaLink="false">https://www.hanselman.com/blog/post/bc4d51f7-c5b4-4780-b78a-470a4b3b3064</guid><link>http://feeds.hanselman.com/~/640039680/0/scotthanselman~You-should-be-customizing-your-PowerShell-Prompt-with-PSReadLine</link><pubDate>Tue, 08 Dec 2020 19:13:00 GMT</pubDate><description><![CDATA[<div><p>I use <a href="https://github.com/PowerShell/PowerShell">PowerShell</a> 7 (cross platform, open source, runs on .NET Core) as my main shell of choice at the Windows command line. I use it in the <a href="https://www.youtube.com/watch?v=lu__oGZVT98">Windows Terminal</a> and <a href="https://www.hanselman.com/blog/how-to-make-a-pretty-prompt-in-windows-terminal-with-powerline-nerd-fonts-cascadia-code-wsl-and-ohmyposh">I have a pretty prompt thanks to OhMyPosh</a>. I've also set up <a href="https://www.hanselman.com/blog/how-to-use-autocomplete-at-the-command-line-for-dotnet-git-winget-and-more">autocomplete in PowerShell</a> (type something, then TAB) <a href="https://www.hanselman.com/blog/how-to-use-autocomplete-at-the-command-line-for-dotnet-git-winget-and-more">with git and dotnet</a>! </p> <blockquote> <p>Do make sure you know <a href="https://www.hanselman.com/blog/whats-the-difference-between-a-console-a-terminal-and-a-shell">the difference between a console, terminal, and shell</a>.</p></blockquote><figure><img title="PowerShell baby" alt="PowerShell baby" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63963d6f2af3_12BCC/image_e2447ddd-416e-4036-9584-e728455e6d9d.png"></figure>  <p>I thought I had things pretty well dialed in. I even used <a href="https://github.com/PowerShell/PSReadLine">PSReadLine</a>, a <em>bash inspired readline implementation for PowerShell</em>.</p> <p>But was I REALLY USING IT? No. Honestly, at the time I wouldn't be able to tell you what it offered me as a command line users. Wow was I wrong.</p> <p>Don't sleep on PSReadLine if you use PowerShell as your preferred prompt. Head over there and give them some love and a star and buckle up, friends!</p> <p>Head over to a prompt and run</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">Install-Module PSReadLine -AllowPrerelease -Force
</pre>
<p>If you want the latest, otherwise remove the Prerelease. Then edit your $profile. I usually do this:</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">notepad $PROFILE
</pre>
<p>And add <pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">if ($host.Name -eq 'ConsoleHost')<br>{<br>    Import-Module PSReadLine<br>}</pre>
<p>First, PSReadLine makes everything better with sprinkles of color everywhere automatically. But the thing I was not really digging into was customizing my $profile to light up cool features and set keybindings that made sense to me.</p><figure><a href="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/You-should-be-customizing-your-PowerShel_8DDD/image%5B4%5D_2.png"><img title="image[4]" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image[4]" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/You-should-be-customizing-your-PowerShel_8DDD/image%5B4%5D_thumb.png" width="1003" height="454"></a></figure> 
<p>It was this totally configured and <a href="https://github.com/PowerShell/PSReadLine/blob/master/PSReadLine/SamplePSReadLineProfile.ps1">blinged out sample PSReadline Profile</a> that made me realize I wasn't doing enough. I cherry-picked the best parts out of this and I recommend you do the same!</p>
<p>You get nice improvements with bash-like command line editing. The most important one being the PowerShell equivalent of ctrl-r "bck-i-search" that bash users enjoy. </p>
<p>You can also set command line handlers so pressing "up arrow" with some existing text will find that item in history. Set it up once in your $profile.</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward<br>Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward</pre>
<p>Like Emacs but want PowerShell to be more like Emacs? It's possible!</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">Set-PSReadLineOption -EditMode Emacs
</pre>
<p>Got PSReadLine already but you're not sure what is key bindings are set up today?</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">Get-PSReadLineKeyHandler
</pre>
<p>This will give you a complete picture. You know how you can "ctrl shift b" in Visual Studio to build your project? I made ctrl shift b type "dotnet build" for me in PowerShell! Muscle memory for the win!</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;"># This is an example of a macro that you might use to execute a command.<br># This will add the command to history.<br>Set-PSReadLineKeyHandler -Key Ctrl+Shift+b `<br>                         -BriefDescription BuildCurrentDirectory `<br>                         -LongDescription "Build the current directory" `<br>                         -ScriptBlock {<br>    [Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()<br>    [Microsoft.PowerShell.PSConsoleReadLine]::Insert("dotnet build")<br>    [Microsoft.PowerShell.PSConsoleReadLine]::AcceptLine()<br>}</pre>
<p>Check out the really advanced stuff in <a href="https://raw.githubusercontent.com/PowerShell/PSReadLine/master/PSReadLine/SamplePSReadLineProfile.ps1">the sample $profile</a>. I like the Smart Insert/Delete. It will take over your ' quotes and quotes " and braces { and ) parens and make them auto matching! That means you can type a variable or string, select it with Shift Arrow Key or Ctrl Shift Arrow Key, then typeover it with a " and it'll automatically quote the whole string. A very nice command line experience that you may enjoy in other shells but you never really set up PowerShell. Even more useful is Alt+' that will take a string and change it from a 'string' to a "string."</p>
<p>Take a few moments and think about the things you type too often. The things you type twice, or ten times a day. Check out your $profile, consider your aliases, and tidy up. I suspect <a href="https://github.com/PowerShell/PSReadLine">PSReadLine</a> could help. It was great for me!</p>
<p>While you are at it, also pick up <a href="https://github.com/ecsousa/PSColors">PSColors</a>! Next post I'll talk about <a href="https://ohmyposh.dev/">Oh my Posh 3</a>!</p>
<hr>
<p><strong>Sponsor:</strong> Suffering from a lack of clarity around software bugs? Give your customers the experience they deserve and expect with <a href="https://hnsl.mn/3m1uDmQ" rel="nofollow">error monitoring</a> from Raygun.com. Installs in minutes, try it today!</p><br/><hr/>© 2020 Scott Hanselman. All rights reserved. <br/></div><div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/640039680/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/640039680/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/640039680/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/640039680/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/640039680/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</description><comments>http://feeds.hanselman.com/~/640039680/0/scotthanselman~You-should-be-customizing-your-PowerShell-Prompt-with-PSReadLine/comments#comments-start</comments><category>PowerShell</category><content:encoded><![CDATA[<div><p>I use <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://github.com/PowerShell/PowerShell">PowerShell</a> 7 (cross platform, open source, runs on .NET Core) as my main shell of choice at the Windows command line. I use it in the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.youtube.com/watch?v=lu__oGZVT98">Windows Terminal</a> and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/how-to-make-a-pretty-prompt-in-windows-terminal-with-powerline-nerd-fonts-cascadia-code-wsl-and-ohmyposh">I have a pretty prompt thanks to OhMyPosh</a>. I've also set up <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/how-to-use-autocomplete-at-the-command-line-for-dotnet-git-winget-and-more">autocomplete in PowerShell</a> (type something, then TAB) <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/how-to-use-autocomplete-at-the-command-line-for-dotnet-git-winget-and-more">with git and dotnet</a>! </p> <blockquote> <p>Do make sure you know <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/whats-the-difference-between-a-console-a-terminal-and-a-shell">the difference between a console, terminal, and shell</a>.</p></blockquote><figure><img title="PowerShell baby" alt="PowerShell baby" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/63963d6f2af3_12BCC/image_e2447ddd-416e-4036-9584-e728455e6d9d.png"></figure>  <p>I thought I had things pretty well dialed in. I even used <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://github.com/PowerShell/PSReadLine">PSReadLine</a>, a <em>bash inspired readline implementation for PowerShell</em>.</p> <p>But was I REALLY USING IT? No. Honestly, at the time I wouldn't be able to tell you what it offered me as a command line users. Wow was I wrong.</p> <p>Don't sleep on PSReadLine if you use PowerShell as your preferred prompt. Head over there and give them some love and a star and buckle up, friends!</p> <p>Head over to a prompt and run</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">Install-Module PSReadLine -AllowPrerelease -Force
</pre>
<p>If you want the latest, otherwise remove the Prerelease. Then edit your $profile. I usually do this:</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">notepad $PROFILE
</pre>
<p>And add <pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">if ($host.Name -eq 'ConsoleHost')
<br>{
<br>    Import-Module PSReadLine
<br>}</pre>
<p>First, PSReadLine makes everything better with sprinkles of color everywhere automatically. But the thing I was not really digging into was customizing my $profile to light up cool features and set keybindings that made sense to me.</p><figure><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/You-should-be-customizing-your-PowerShel_8DDD/image%5B4%5D_2.png"><img title="image[4]" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image[4]" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/You-should-be-customizing-your-PowerShel_8DDD/image%5B4%5D_thumb.png" width="1003" height="454"></a></figure> 
<p>It was this totally configured and <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://github.com/PowerShell/PSReadLine/blob/master/PSReadLine/SamplePSReadLineProfile.ps1">blinged out sample PSReadline Profile</a> that made me realize I wasn't doing enough. I cherry-picked the best parts out of this and I recommend you do the same!</p>
<p>You get nice improvements with bash-like command line editing. The most important one being the PowerShell equivalent of ctrl-r "bck-i-search" that bash users enjoy. </p>
<p>You can also set command line handlers so pressing "up arrow" with some existing text will find that item in history. Set it up once in your $profile.</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
<br>Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward</pre>
<p>Like Emacs but want PowerShell to be more like Emacs? It's possible!</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">Set-PSReadLineOption -EditMode Emacs
</pre>
<p>Got PSReadLine already but you're not sure what is key bindings are set up today?</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;">Get-PSReadLineKeyHandler
</pre>
<p>This will give you a complete picture. You know how you can "ctrl shift b" in Visual Studio to build your project? I made ctrl shift b type "dotnet build" for me in PowerShell! Muscle memory for the win!</p><pre class="brush: ps; gutter: false; toolbar: false; auto-links: false;"># This is an example of a macro that you might use to execute a command.
<br># This will add the command to history.
<br>Set-PSReadLineKeyHandler -Key Ctrl+Shift+b `
<br>                         -BriefDescription BuildCurrentDirectory `
<br>                         -LongDescription "Build the current directory" `
<br>                         -ScriptBlock {
<br>    [Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()
<br>    [Microsoft.PowerShell.PSConsoleReadLine]::Insert("dotnet build")
<br>    [Microsoft.PowerShell.PSConsoleReadLine]::AcceptLine()
<br>}</pre>
<p>Check out the really advanced stuff in <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://raw.githubusercontent.com/PowerShell/PSReadLine/master/PSReadLine/SamplePSReadLineProfile.ps1">the sample $profile</a>. I like the Smart Insert/Delete. It will take over your ' quotes and quotes " and braces { and ) parens and make them auto matching! That means you can type a variable or string, select it with Shift Arrow Key or Ctrl Shift Arrow Key, then typeover it with a " and it'll automatically quote the whole string. A very nice command line experience that you may enjoy in other shells but you never really set up PowerShell. Even more useful is Alt+' that will take a string and change it from a 'string' to a "string."</p>
<p>Take a few moments and think about the things you type too often. The things you type twice, or ten times a day. Check out your $profile, consider your aliases, and tidy up. I suspect <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://github.com/PowerShell/PSReadLine">PSReadLine</a> could help. It was great for me!</p>
<p>While you are at it, also pick up <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://github.com/ecsousa/PSColors">PSColors</a>! Next post I'll talk about <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://ohmyposh.dev/">Oh my Posh 3</a>!</p>
<hr>
<p><strong>Sponsor:</strong> Suffering from a lack of clarity around software bugs? Give your customers the experience they deserve and expect with <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://hnsl.mn/3m1uDmQ" rel="nofollow">error monitoring</a> from Raygun.com. Installs in minutes, try it today!</p>
<br/><hr/>© 2020 Scott Hanselman. All rights reserved. 
<br/></div><Img align="left" border="0" height="1" width="1" alt="" style="border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;" hspace="0" src="http://feeds.hanselman.com/~/i/640039680/0/scotthanselman">
<div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/640039680/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/640039680/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/640039680/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/640039680/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/640039680/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</content:encoded></item>
<item>
<feedburner:origLink>https://www.hanselman.com/blog/the-2020-christmas-list-of-best-stem-toys-for-kids</feedburner:origLink><trackback:ping>https://www.hanselman.com/blog/feed/trackback/ffd05229-3f9d-49c1-afeb-a75808090d23</trackback:ping><pingback:server>https://www.hanselman.com/blog/feed/pingback</pingback:server><pingback:target>https://www.hanselman.com/blog/post/ffd05229-3f9d-49c1-afeb-a75808090d23</pingback:target><dc:creator>Scott Hanselman</dc:creator><wfw:comment>http://feeds.hanselman.com/~/639376079/0/scotthanselman~The-Christmas-List-of-Best-STEM-Toys-for-Kids/comments#comments-start</wfw:comment><wfw:commentRss>https://www.hanselman.com/blog/feed/rss/comments/ffd05229-3f9d-49c1-afeb-a75808090d23</wfw:commentRss><slash:comments>4</slash:comments><title>The 2020 Christmas List of Best STEM Toys for Kids</title><guid isPermaLink="false">https://www.hanselman.com/blog/post/ffd05229-3f9d-49c1-afeb-a75808090d23</guid><link>http://feeds.hanselman.com/~/639376079/0/scotthanselman~The-Christmas-List-of-Best-STEM-Toys-for-Kids</link><pubDate>Sun, 29 Nov 2020 00:57:03 GMT</pubDate><description><![CDATA[<div><p>Hey friends, another year, another list of <strong>Great STEM Christmas Toys for Kids (and people who are kids at heart)</strong>! In case you missed them, here's the previous years' lists! Be aware I use <em>Amazon referral links</em> so I get a little kickback (and you support this blog!) when you use these links. I'll be using the pocket money to...wait for it...buy STEM toys for kids! So thanks in advance! Apparently I missed 2019, but I don't remember missing it. Hm.</p> <ul> <li><a href="https://www.hanselman.com/blog/the-2018-christmas-list-of-best-stem-toys-for-kids">The 2018 Christmas List of Best STEM Toys for Kids</a>  <li><a href="https://www.hanselman.com/blog/The2017ChristmasListOfBestSTEMToysForKids.aspx">The 2017 Christmas List of Best STEM Toys for kids</a>  <li><a href="https://www.hanselman.com/blog/The2016ChristmasListOfBestSTEMToysForYourLittleNerdsAndNerdettes.aspx">The 2016 Christmas List of Best STEM Toys for your little nerds and nerdettes</a>  <li><a href="https://www.hanselman.com/blog/The2015ChristmasListOfBestSTEMToysForYourLittleNerdsAndNerdettes.aspx">The 2015 Christmas List of Best STEM Toys</a>  <li><a href="https://www.hanselman.com/blog/GettingStartedWithRobotsForKidsAndChildrenInSTEMThisHolidaySeason.aspx">2014: Getting Started with Robots for kids and children in STEM this holiday season</a></li></ul> <p>Let's get to it!</p> <h3></h3> <h3><a href="https://www.playpiper.com/products/piper-mini?utm_medium=blog&amp;utm_source=hanselman_blog">The Piper Mini Computer</a></h3> <p>I've talked about my appreciation for the <a href="https://amzn.to/3o2oWX2">Piper Raspberry Pi-based Computer before</a>, but some folks have felt it's a little expensive. It's not just a Raspberry Pi, it's a wooden laptop and some extraordinary software that bridges the virtual and physical words with Minecraft.</p> <p>However, this year they've introduced the <a href="https://www.playpiper.com/products/piper-mini?utm_medium=blog&amp;utm_source=hanselman_blog">Piper Mini at just $99</a>. It's all the stuff you usually get with a Piper with no frills. Same software, same breadboard and Raspberry Pi, but you'll need to provide the monitor and HDMI cable and optional keyboard.</p> <p>I can't say enough nice things about the software - it's a highly customized version of Minecraft that includes voiceover work and electronics lessons and a virtual Pi where you can check your work on a physical breadboard. Great for 10 and up, or clever 7-8 year olds.</p> <p><a href="https://www.playpiper.com/products/piper-mini?utm_medium=blog&amp;utm_source=hanselman_blog"><img title="Piper Mini Raspberry Pi Kit" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Piper Mini Raspberry Pi Kit" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/piper_3.jpg" width="642" height="421"></a></p> <h3><a href="https://amzn.to/3fM3XEZ">A Kids Book About...</a></h3> <p>These aren't technically STEM but "<a href="https://amzn.to/37jR5Sz">A Kids Book About...</a>" are great for kids and both my boys appreciate the series. This is a <a href="https://amzn.to/3fM3XEZ">series of 26 (so far!) books</a> about all kids of things from Creativity to Cancer, Money to Death, Racism to Privileged. Priced at just $9.99 each on Kindle and written by kids with adults helping, these books debuted on <a href="https://www.bizjournals.com/portland/news/2020/11/06/a-kids-book-about-is-one-of-oprahs-favorite-things.html">Oprah's Favorites List this year</a> and they are on mine as well. She beat me to it but I had the idea first, so I'm taking full credit. Call me, Oprah!</p> <p>You can also get A Kids Book About as a Subscription, <a href="https://akidsbookabout.com/pages/book-box">with a new book showing up on your preferred schedule</a>.</p> <p><a href="https://amzn.to/37jR5Sz"><img title="A Kids Book About" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="A Kids Book About" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/Optimism_Cover_OFT_1080x_3.jpg" width="642" height="642"></a></p> <h3><a href="https://amzn.to/2VaDSGc">A Day in Code: An illustrated story written in the C programming language</a></h3> <p>The #1 new release in Children's Computer Programming on Amazon, "<a href="https://www.amazon.com/dp/B08LG7DW4C?tag=diabeticbooks-20">A Day in Code</a>" is an illustrated story written in C by Shari Eskenas. In fact, it's told in a series of C programs, with teach C program presented next to a full page illustration showing that event described in the code. </p> <p>It started as a popular and successful Kickstarter and now it's available on Amazon and elsewhere!</p> <p><a href="https://www.amazon.com/dp/B08LG7DW4C?tag=diabeticbooks-20"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_5.png" width="642" height="832"></a></p> <h3><a href="https://amzn.to/2JkXuoP">LEGO Boost Creative Toolbox</a></h3> <p>I've had a few folks from <a href="https://hanselminutes.com/730/lego-education-spike-prime-with-firmware-engineer-ralph-hempel">LEGO on the Podcast lately</a>, and they've really been doing a great job moving into the connected tablet world. LEGO Boost is 847 LEGO elements that talk to your iPad and enable you to build a robot that's over 10" tall, as well as a 4 other models and robots. Good for 7 to 12 year olds.</p> <p>Also, kids can combine their kit with LEGO City 60194 Arctic Scout Truck or LEGO NINJAGO 70652 Stormbringer and use the LEGO BOOST app to control their own original electronic creations.</p> <p><a href="https://amzn.to/2JkXuoP"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_8.png" width="642" height="549"></a></p> <h3><a href="https://amzn.to/3liLRM6">AmScope 1200X Kids Beginner Microscope</a></h3> <p>In a world of connected phones and tablets I have to admit I'm a sucker for a microscope and lab kid. Pick up one of <a href="https://amzn.to/3liLRM6">Microscope STEM kits</a> and send you kid out into the backyard or park to find stuff to look at under the microscope! It's not expensive but for the price it includes a case and goes from 120x to 1200x magnification. Another option, if you'd prefer to use that tablet or PC is a <a href="https://amzn.to/3fN7q6s">USB Microscope camera that goes up to 1000x</a>.</p> <p><a href="https://amzn.to/3q4jncB"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_11.png" width="642" height="573"></a></p> <h3><a href="https://amzn.to/33sKMLt">Elenco Building STEM Kits</a> and Snap Circuits</h3> <p>I'm a fan of the <a href="https://amzn.to/33sKMLt">Elenco Company</a>, they have no-nonsense tools for makers like <a href="https://amzn.to/33q6q2O">Soldering Iron Kits to build an FM Radio</a> and the joyous and ALWAYS a good <a href="https://www.amazon.com/stores/page/E6208E3F-4DB5-45AA-AC21-3FB5BA7D9D70?ingress=2&amp;visitId=2b7aced2-8b43-4af5-8768-b5d2ff0cb843&amp;ref_=bl_dp_s_web_2591177011&amp;tag=diabeticbooks-20">STEM gift Snap Circuits</a>. The <a href="https://amzn.to/37fWgTQ">300 Project Snap Circuits</a> is a good place to start, but if you're obsessed as my kids are, you'll quickly graduate to the <a href="https://amzn.to/3oi4VMv">500 Project Snap Circuits set</a> or add on the <a href="https://amzn.to/39oZ9UX">Snap Circuits LIGHT with 175 additional light-related projects</a>. They are safe for kids 7 or 8 and up, and even adults and my 15 year old can learn a LOT about electronics, safely.</p> <p><a href="https://amzn.to/37fWgTQ"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_14.png" width="642" height="442"></a></p> <h3><a href="https://amzn.to/3mj0DDT">LEGO MINDSTORMS updated for 2020 with nearly 1000 pieces</a></h3> <p>LEGO aren't cheap but they are timeless and last forever. Our investment in Mindstorms from many years ago still works and is still played with today. Once the boys followed an online tutorial and build a LEGO Mindstorms Rubik's Cube solver. I was surprised it was possible with the <a href="https://amzn.to/2KGrprI">original LEGO Mindstorms EV3 base kit</a>. Updated for 2020, the new Mindstorms Robot Kit includes a robot over a foot call and a visual scratch-like programming language for phones or tablets.</p> <p>If something like this is too much, check out the <a href="https://amzn.to/2VeShBa">Klutz LEGO Chain Reactions book</a> for under $20. It's got 10 moving machines and 30 LEGO elements for trying out physics experiments from home! Or the <a href="https://amzn.to/3qbNkr2">Klutz LEGO Science Gadgets with double the pieces</a> for $25.</p> <p><a href="https://amzn.to/2KJxAeB"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_17.png" width="642" height="527"></a></p> <h3><a href="https://amzn.to/2HQWOXA">Engino Discovering STEM Structures Constructions &amp; Bridges</a></h3> <p>I love kits that make real engineering visible and understandable for kids. This kit has 9 working models like a suspension bridge, Truss bridge, and more. I used to built things like this with popsicle sticks! Additionally, the Models are illustrated online at the Engino website or using the Engino 3D app downloadable free for Android or iOS. Affordable and fun.</p> <p><a href="https://amzn.to/3mlPgLl"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_20.png" width="642" height="605"></a></p> <h3><a href="https://www.chess.com/membership">Chess.com membership</a></h3> <p>And last but not least, the first virtual thing on my list, a Chess.com membership. For $29 a year you can learn Chess and this amazing website. That's cheaper than your average chess set (which are all sold out anyway!) You can learn chess at your own pace, play safely online in real time or asynchronously, </p> <p>Check it out and watch for my interview with <a href="https://www.chess.com/lessons/play-like-danny-rensch">International Master Danny Rensch</a>, the Chief Chess Officer of Chess.com coming soon on <a href="https://www.hanselminutes.com/shows">the Hanselminutes Podcast</a>!</p> <p><a href="https://www.chess.com/membership"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_23.png" width="642" height="287"></a></p> <hr>  <p><strong>Sponsor:</strong> Me! I've recently started a YouTube at <a href="http://youtube.com/shanselman">http://youtube.com/shanselman</a> and I'm nearing 100k subscribers. I'd love it if you were a subscriber also! Check out <a href="http://www.computerstufftheydidntteachyou.com">http://www.computerstufftheydidntteachyou.com</a> for a playlist of some of my best episodes. See you there!</p><br/><hr/>© 2020 Scott Hanselman. All rights reserved. <br/></div><div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/639376079/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/639376079/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/639376079/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/639376079/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/639376079/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</description><comments>http://feeds.hanselman.com/~/639376079/0/scotthanselman~The-Christmas-List-of-Best-STEM-Toys-for-Kids/comments#comments-start</comments><category>Reviews</category><content:encoded><![CDATA[<div><p>Hey friends, another year, another list of <strong>Great STEM Christmas Toys for Kids (and people who are kids at heart)</strong>! In case you missed them, here's the previous years' lists! Be aware I use <em>Amazon referral links</em> so I get a little kickback (and you support this blog!) when you use these links. I'll be using the pocket money to...wait for it...buy STEM toys for kids! So thanks in advance! Apparently I missed 2019, but I don't remember missing it. Hm.</p> <ul> <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/the-2018-christmas-list-of-best-stem-toys-for-kids">The 2018 Christmas List of Best STEM Toys for Kids</a>  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/The2017ChristmasListOfBestSTEMToysForKids.aspx">The 2017 Christmas List of Best STEM Toys for kids</a>  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/The2016ChristmasListOfBestSTEMToysForYourLittleNerdsAndNerdettes.aspx">The 2016 Christmas List of Best STEM Toys for your little nerds and nerdettes</a>  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/The2015ChristmasListOfBestSTEMToysForYourLittleNerdsAndNerdettes.aspx">The 2015 Christmas List of Best STEM Toys</a>  <li><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselman.com/blog/GettingStartedWithRobotsForKidsAndChildrenInSTEMThisHolidaySeason.aspx">2014: Getting Started with Robots for kids and children in STEM this holiday season</a></li></ul> <p>Let's get to it!</p> <h3></h3> <h3><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.playpiper.com/products/piper-mini?utm_medium=blog&amp;utm_source=hanselman_blog">The Piper Mini Computer</a></h3> <p>I've talked about my appreciation for the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/3o2oWX2">Piper Raspberry Pi-based Computer before</a>, but some folks have felt it's a little expensive. It's not just a Raspberry Pi, it's a wooden laptop and some extraordinary software that bridges the virtual and physical words with Minecraft.</p> <p>However, this year they've introduced the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.playpiper.com/products/piper-mini?utm_medium=blog&amp;utm_source=hanselman_blog">Piper Mini at just $99</a>. It's all the stuff you usually get with a Piper with no frills. Same software, same breadboard and Raspberry Pi, but you'll need to provide the monitor and HDMI cable and optional keyboard.</p> <p>I can't say enough nice things about the software - it's a highly customized version of Minecraft that includes voiceover work and electronics lessons and a virtual Pi where you can check your work on a physical breadboard. Great for 10 and up, or clever 7-8 year olds.</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.playpiper.com/products/piper-mini?utm_medium=blog&amp;utm_source=hanselman_blog"><img title="Piper Mini Raspberry Pi Kit" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Piper Mini Raspberry Pi Kit" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/piper_3.jpg" width="642" height="421"></a></p> <h3><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/3fM3XEZ">A Kids Book About...</a></h3> <p>These aren't technically STEM but "<a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/37jR5Sz">A Kids Book About...</a>" are great for kids and both my boys appreciate the series. This is a <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/3fM3XEZ">series of 26 (so far!) books</a> about all kids of things from Creativity to Cancer, Money to Death, Racism to Privileged. Priced at just $9.99 each on Kindle and written by kids with adults helping, these books debuted on <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.bizjournals.com/portland/news/2020/11/06/a-kids-book-about-is-one-of-oprahs-favorite-things.html">Oprah's Favorites List this year</a> and they are on mine as well. She beat me to it but I had the idea first, so I'm taking full credit. Call me, Oprah!</p> <p>You can also get A Kids Book About as a Subscription, <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://akidsbookabout.com/pages/book-box">with a new book showing up on your preferred schedule</a>.</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/37jR5Sz"><img title="A Kids Book About" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="A Kids Book About" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/Optimism_Cover_OFT_1080x_3.jpg" width="642" height="642"></a></p> <h3><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/2VaDSGc">A Day in Code: An illustrated story written in the C programming language</a></h3> <p>The #1 new release in Children's Computer Programming on Amazon, "<a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.amazon.com/dp/B08LG7DW4C?tag=diabeticbooks-20">A Day in Code</a>" is an illustrated story written in C by Shari Eskenas. In fact, it's told in a series of C programs, with teach C program presented next to a full page illustration showing that event described in the code. </p> <p>It started as a popular and successful Kickstarter and now it's available on Amazon and elsewhere!</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.amazon.com/dp/B08LG7DW4C?tag=diabeticbooks-20"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_5.png" width="642" height="832"></a></p> <h3><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/2JkXuoP">LEGO Boost Creative Toolbox</a></h3> <p>I've had a few folks from <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://hanselminutes.com/730/lego-education-spike-prime-with-firmware-engineer-ralph-hempel">LEGO on the Podcast lately</a>, and they've really been doing a great job moving into the connected tablet world. LEGO Boost is 847 LEGO elements that talk to your iPad and enable you to build a robot that's over 10" tall, as well as a 4 other models and robots. Good for 7 to 12 year olds.</p> <p>Also, kids can combine their kit with LEGO City 60194 Arctic Scout Truck or LEGO NINJAGO 70652 Stormbringer and use the LEGO BOOST app to control their own original electronic creations.</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/2JkXuoP"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_8.png" width="642" height="549"></a></p> <h3><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/3liLRM6">AmScope 1200X Kids Beginner Microscope</a></h3> <p>In a world of connected phones and tablets I have to admit I'm a sucker for a microscope and lab kid. Pick up one of <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/3liLRM6">Microscope STEM kits</a> and send you kid out into the backyard or park to find stuff to look at under the microscope! It's not expensive but for the price it includes a case and goes from 120x to 1200x magnification. Another option, if you'd prefer to use that tablet or PC is a <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/3fN7q6s">USB Microscope camera that goes up to 1000x</a>.</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/3q4jncB"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_11.png" width="642" height="573"></a></p> <h3><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/33sKMLt">Elenco Building STEM Kits</a> and Snap Circuits</h3> <p>I'm a fan of the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/33sKMLt">Elenco Company</a>, they have no-nonsense tools for makers like <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/33q6q2O">Soldering Iron Kits to build an FM Radio</a> and the joyous and ALWAYS a good <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.amazon.com/stores/page/E6208E3F-4DB5-45AA-AC21-3FB5BA7D9D70?ingress=2&amp;visitId=2b7aced2-8b43-4af5-8768-b5d2ff0cb843&amp;ref_=bl_dp_s_web_2591177011&amp;tag=diabeticbooks-20">STEM gift Snap Circuits</a>. The <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/37fWgTQ">300 Project Snap Circuits</a> is a good place to start, but if you're obsessed as my kids are, you'll quickly graduate to the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/3oi4VMv">500 Project Snap Circuits set</a> or add on the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/39oZ9UX">Snap Circuits LIGHT with 175 additional light-related projects</a>. They are safe for kids 7 or 8 and up, and even adults and my 15 year old can learn a LOT about electronics, safely.</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/37fWgTQ"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_14.png" width="642" height="442"></a></p> <h3><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/3mj0DDT">LEGO MINDSTORMS updated for 2020 with nearly 1000 pieces</a></h3> <p>LEGO aren't cheap but they are timeless and last forever. Our investment in Mindstorms from many years ago still works and is still played with today. Once the boys followed an online tutorial and build a LEGO Mindstorms Rubik's Cube solver. I was surprised it was possible with the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/2KGrprI">original LEGO Mindstorms EV3 base kit</a>. Updated for 2020, the new Mindstorms Robot Kit includes a robot over a foot call and a visual scratch-like programming language for phones or tablets.</p> <p>If something like this is too much, check out the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/2VeShBa">Klutz LEGO Chain Reactions book</a> for under $20. It's got 10 moving machines and 30 LEGO elements for trying out physics experiments from home! Or the <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/3qbNkr2">Klutz LEGO Science Gadgets with double the pieces</a> for $25.</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/2KJxAeB"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_17.png" width="642" height="527"></a></p> <h3><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/2HQWOXA">Engino Discovering STEM Structures Constructions &amp; Bridges</a></h3> <p>I love kits that make real engineering visible and understandable for kids. This kit has 9 working models like a suspension bridge, Truss bridge, and more. I used to built things like this with popsicle sticks! Additionally, the Models are illustrated online at the Engino website or using the Engino 3D app downloadable free for Android or iOS. Affordable and fun.</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://amzn.to/3mlPgLl"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_20.png" width="642" height="605"></a></p> <h3><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.chess.com/membership">Chess.com membership</a></h3> <p>And last but not least, the first virtual thing on my list, a Chess.com membership. For $29 a year you can learn Chess and this amazing website. That's cheaper than your average chess set (which are all sold out anyway!) You can learn chess at your own pace, play safely online in real time or asynchronously, </p> <p>Check it out and watch for my interview with <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.chess.com/lessons/play-like-danny-rensch">International Master Danny Rensch</a>, the Chief Chess Officer of Chess.com coming soon on <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.hanselminutes.com/shows">the Hanselminutes Podcast</a>!</p> <p><a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~https://www.chess.com/membership"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://www.hanselman.com/blog/content/binary/Windows-Live-Writer/07441ee95822_E0C0/image_23.png" width="642" height="287"></a></p> <hr>  <p><strong>Sponsor:</strong> Me! I've recently started a YouTube at <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~youtube.com/shanselman">http://youtube.com/shanselman</a> and I'm nearing 100k subscribers. I'd love it if you were a subscriber also! Check out <a href="http://feeds.hanselman.com/~/t/0/0/scotthanselman/~www.computerstufftheydidntteachyou.com">http://www.computerstufftheydidntteachyou.com</a> for a playlist of some of my best episodes. See you there!</p>
<br/><hr/>© 2020 Scott Hanselman. All rights reserved. 
<br/></div><Img align="left" border="0" height="1" width="1" alt="" style="border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;" hspace="0" src="http://feeds.hanselman.com/~/i/639376079/0/scotthanselman">
<div style="clear:both;padding-top:0.2em;"><a title="Like on Facebook" href="http://feeds.hanselman.com/_/28/639376079/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/fblike20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Share on Google+" href="http://feeds.hanselman.com/_/30/639376079/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/googleplus20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Tweet This" href="http://feeds.hanselman.com/_/24/639376079/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/twitter20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by email" href="http://feeds.hanselman.com/_/19/639376079/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/email20.png" style="border:0;margin:0;padding:0;"></a>&#160;<a title="Subscribe by RSS" href="http://feeds.hanselman.com/_/20/639376079/scotthanselman"><img height="20" src="https://assets.feedblitz.com/i/rss20.png" style="border:0;margin:0;padding:0;"></a>&#160;</div>]]>
</content:encoded></item>
</channel></rss>

