Active Coder

My thoughts about staying active as a husband, parent, and generalist while keeping skills current and creating great software

52 Tools: Azure Commander

Azure Commander is a universal app for Windows and Windows Phone.

I use this when I want to start and stop an Azure VM. It's saves me several minutes over going to the Azure management portal.

52 Tools: Greenshot

I've used Greenshot ("cinst greenshot" using Chocolatey) almost daily since I installed it. It inserts itself as a workflow process tool for acting on screenshots. Rarely would anyone just take a screenshot and save it, but rather there's probably some action needed.

With Greenshot, you press the PrintScreen button and drag a box around what you want, and then choose an option from the menu. It supports plugins including Imgur and Dropbox which I use frequently.

Also the "Open in image editor" option lets you add annotations and blur out text.

Check out this tool!

52 Tools: Modern.IE

I always liked the idea of BrowserStack, but there's a gap in that it won't work with local servers that use NTLM authentication. Which is what I mostly create.

So lately I've taken to downloading the VMs from Modern.IE. Our minimum supported browser is IE9, so I download the Win7/IE9 VM, and also the Win7/IE10 VM. I get IE11 coverage from my Windows 8 host.

After downloading, I install Chocolatey and throw on Chrome, Firefox and Fiddler and it makes a great disposable web test VM. I should really make that into a BoxStarter script and see what else makes sense on there.

To come full circle, I manage my VM connections with RDCMan.

52 Tools: Visual Studio's "Tools.DiffFiles"

Here's a simple but powerful tool I've learned to use regularly. Open two files in Visual Studio, and in the Command Window (Ctrl-W, A) run :

Tools.DiffFiles <File1> <File2>

I used it the other day in combination with this CSS parse error diagnostic technique find an issue with IE9 rendering of a style sheet.

52 Tools: Automated package installers

Maybe in a future post in this blog series, I'll finally learn and document how to SysPrep a VM with the software I want already installed on it. For now, though, when I stand up a new development VM (or demo server, or set up a new Windows tablet), I install from an ISO, apply Windows Patches, set up features and install software.

For a very detailed walkthrough of a similar process to what I've learned, check out Robin Osborne's great 4-part blog series from Jan 2012:

  1. Installing Applications & Utilities with Ninite
  2. Installing Frameworks and Components with WebPI
  3. Installing.. uh.. everything.. with Chocolatey -- with an nerdy overlap discussion about using Chocolatey to automate WebPI
  4. Installing Custom Stuff, Interesting Things Encountered, and Conclusion

As Mr. Osborne details, a lot of this can be automated. I've started to rely more heavily on package management tools. Three in particular have provided me a lot of value:

As I'm getting better at this, I just noticed BoxStarter on Scott Hanselman's Ultimate Tools List. I'll have to try that!


I'm using this everywhere including on my 8" Windows 10 Preview Tablet. Instead of going to various Shareware and freeware sites to downlod software, I fire up an administrative command window, and copy this text from (on Windows 10, you can ctrl-v paste into the command window):

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString(''))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

In that same Window I go forth with a set of utilities I like to have around. Depending on the computer, I usually browse the Chocolatey packages list and find others.

choco install googlechrome
choco install notepadplusplus
choco install 7zip
choco install
choco install rdcman
choco install lastpass
choco install irfanview
choco install teracopy

Web Platform Installer

WebPI is how I install the various SDKs needed for whatever I'm working on. Basically I look here for anything from Microsoft's platform, depending on what I'm working on (Azure SDK, Office SDK, web developer tools, etc). It's slightly better than searching the web for individual installers.


There's not much to say here other than if you know you need to add a bunch of Windows Features on a new VM, you can take a note of them and script it out. For instance, we use these features which we run as a PowerShell script. If you follow with the discussion on the blog post about a server feature cloning process, you can quickly interrogate a known working server to figure out what needs to go on the next one.

Add-WindowsFeature Application-Server
Add-WindowsFeature AS-NET-Framework
Add-WindowsFeature AS-Web-Support
Add-WindowsFeature AS-WAS-Support
Add-WindowsFeature AS-HTTP-Activation
Add-WindowsFeature FileAndStorage-Services
Add-WindowsFeature Storage-Services
Add-WindowsFeature Web-Server
Add-WindowsFeature Web-WebServer
Add-WindowsFeature Web-Common-Http
Add-WindowsFeature Web-Default-Doc
Add-WindowsFeature Web-Dir-Browsing
Add-WindowsFeature Web-Http-Errors
Add-WindowsFeature Web-Static-Content
Add-WindowsFeature Web-Http-Redirect
Add-WindowsFeature Web-Health
Add-WindowsFeature Web-Http-Logging
Add-WindowsFeature Web-Log-Libraries
Add-WindowsFeature Web-Request-Monitor
Add-WindowsFeature Web-Performance
Add-WindowsFeature Web-Stat-Compression
Add-WindowsFeature Web-Dyn-Compression
Add-WindowsFeature Web-Security
Add-WindowsFeature Web-Filtering
Add-WindowsFeature Web-Basic-Auth
Add-WindowsFeature Web-Client-Auth
Add-WindowsFeature Web-Digest-Auth
Add-WindowsFeature Web-Cert-Auth
Add-WindowsFeature Web-IP-Security
Add-WindowsFeature Web-Url-Auth
Add-WindowsFeature Web-Windows-Auth
Add-WindowsFeature Web-App-Dev
Add-WindowsFeature Web-Net-Ext45
Add-WindowsFeature Web-Asp-Net45
Add-WindowsFeature Web-ISAPI-Ext
Add-WindowsFeature Web-ISAPI-Filter
Add-WindowsFeature Web-Mgmt-Tools
Add-WindowsFeature Web-Mgmt-Console
Add-WindowsFeature Web-Scripting-Tools
Add-WindowsFeature NET-Framework-Features
Add-WindowsFeature NET-Framework-Core
Add-WindowsFeature NET-Framework-45-Features
Add-WindowsFeature NET-Framework-45-ASPNET
Add-WindowsFeature NET-WCF-Services45
Add-WindowsFeature NET-WCF-HTTP-Activation45
Add-WindowsFeature NET-WCF-TCP-PortSharing45
Add-WindowsFeature User-Interfaces-Infra
Add-WindowsFeature WAS
Add-WindowsFeature WAS-Process-Model
Add-WindowsFeature WAS-Config-APIs