Enable Intellisense for AWS Boto3 Type Hints in Microsoft Visual Studio Code

If you’re developing with Python and the Amazon Web Services (AWS) boto3 module, you probably wish you had type hints (aka. auto-complete / Intellisense) in Microsoft Visual Studio Code. Even though the boto3 documentation is exceptionally good, it’s annoying to constantly have to switch back and forth between it and your editor. More context switching … Read moreEnable Intellisense for AWS Boto3 Type Hints in Microsoft Visual Studio Code

Live Reloading for Developing Electron Apps

While you’re developing an Electron-based application, it’s nice to be able to make changes without having to manually stop and restart your application. To aid in that, someone created an NPM package named electron-reload, which integrates easily with your application, requiring minimal changes, and giving you live-reload functionality. Simply install the package as a development-only … Read moreLive Reloading for Developing Electron Apps

Set up a PowerShell and .NET Development Environment with AWS Cloud9 and Amazon EC2

Background Amazon Web Services (AWS) Cloud9 provides a cloud-based Integrated Development Environment (IDE) where you can author, test, and deploy your .NET Core and PowerShell-based applications. You can connect to your Cloud9 IDE using a web browser. One of my favorite features offered by Cloud9, that enables developers to comfortably use it, is the support … Read moreSet up a PowerShell and .NET Development Environment with AWS Cloud9 and Amazon EC2

Create a Visual Studio Project for your PowerShell Scripts

Are you eager to take advantage of Visual Studio PowerShell Tools? This video talks about how to create a Visual Studio Solution & Project to help you manage your PowerShell script files. If you’ve already got a set of one-off scripts, that doesn’t necessarily warrant a PowerShell module, but you still want to author, debug, … Read moreCreate a Visual Studio Project for your PowerShell Scripts

Writing Interactive Scripts with PowerShell

If you’re authoring PowerShell scripts that are intended to be interactive, there are a couple of very easy ways to ask your users for input. Typically, user input falls into a couple categories: free-form text input, or a list of pre-defined values. We also might need to prompt the user to type in a secure … Read moreWriting Interactive Scripts with PowerShell

Implementing a .NET Class in PowerShell v5

Introduction

You might have heard that PowerShell version 5.0 has introduced support for building .NET classes. Indeed, this is a powerful, new capability that has not previously existed in native PowerShell syntax. Before the new class-building syntax existed, if you wanted to build custom objects in PowerShell, you generally would either: 1) use the [PSCustomObject] type, or 2) build a .NET class in C#, and use the Add-Type command to import it into the PowerShell session.

Read moreImplementing a .NET Class in PowerShell v5

Decentralized Revision Control Tooling on Windows

Today I’d like to take a few minutes to talk about setting up Git for your development projects on the Windows platform. I’ve long been a fan of Mercurial, because the installation process is easy, and the tooling is native to the Windows platform. While Git and Mercurial are very similar version control tools, GitHub appears to be a stronger community hub, compared to Mercurial hosting sites like CodePlex and Bitbucket, and it’s worthwhile getting familiar with it.

Mercurial Tooling

TortoiseHg Overlay IconsAs I stated before, Mercurial is very easy to install on Windows, and it doesn’t have any additional dependencies that you have to worry about manually installing. While Mercurial itself is a command line tool, there’s also a project called TortoiseHg that offers GUI screens to perform common source control tasks, including: commits, file adds/removes, branching, repository configuration, and so on. In addition, TortoiseHg enables some handy Windows Explorer integration, namely overlay icons and context-sensitive context menu tools!

Read moreDecentralized Revision Control Tooling on Windows

ConfigMgr 2012: Ccmeval.exe causing client corruption

I’ve discovered, on more than one occasion, that the ConfigMgr 2012 client’s ccmeval.exe, which is intended to resolve client health related issues, actually breaks the ConfigMgr client. This has happened on a Windows 8 RTM client, and I’m fairly certain that it affects Windows Server 2012 as well. You might be aware that Windows 8 and Windows Server 2012 are unsupported client operating systems with ConfigMgr 2012 RTM, but will be officially supported in Configuration Manager 2012 Service Pack 1 (SP1).

Issue


By default, when the ConfigMgr 2012 client is installed, a Scheduled Task is registered under the \Microsoft\Configuration Manager called “Configuration Manager Health Evaluation.” The command line that is called is simply ccmeval.exe, with no command line arguments. The task will run approximately around midnight (12:19 AM on my test client) every night.

Read moreConfigMgr 2012: Ccmeval.exe causing client corruption

Installing VMware Workstation 9.0 on Windows 8 RTM

I recently ran into an issue where VMware Workstation 9.0.1 refused to install, with the management port configured to the default of port 443. It was complaining that another process was using that port already. I broke out [cci]netstat -aon[/cci] and discovered that wwahost.exe was listening on port 443. It turns out that [cci]wwahost.exe[/cci] is … Read moreInstalling VMware Workstation 9.0 on Windows 8 RTM

PowerShell: Generating functions with dynamic parameter auto-completion values

Download the GetDevice PowerShell Module  There is a PDF copy of this entire blog post inside of the attached zip file. It’s much more readable. Introduction The purpose of this document is to describe the goal and solution for creating dynamically-injected parameter auto-completion values into PowerShell function definitions. This is simply a proof of concept, … Read morePowerShell: Generating functions with dynamic parameter auto-completion values