Projects and contributions


az group deployment watch - Azure CLI extension

An extension for the Azure CLI to give a live progress view of an ARM deployment, complete with colour-coding to indicate status (running, completed, errored).

Code at:

Posh-HumpCompletion - PowerShell tab completion for the Azure PowerShell cmdlets era

When working with some PowerShell modules, there can be a large number of cmdlets, and the cmdlet names can get quite long. posh-HumpCompletion adds support for “hump completion”. This means that it will use the capitals in the cmdlet name as the identifiers, i.e. Get-DC<tab> would complete for Get-DnsClient, Get-DnsClientCache, Get-DscConfiguration, Get-DomainController etc.

Code at

pi-bell - a Raspberry Pi powered networked doorbell

The pi-bell is a networked doorbell project written in Go for the Raspberry Pi. It allows multiple chimes to be connected over the network to a bellpush.

Kips-operator - an exploration of Kubernetes operators and Azure Relay Bridge

This project was an opportunity to explore building Kubernetes operators with Kubebuilder. It takes the Azure Relay Bridge that Clemens Vasters created and integrates it with an operator to provide a way to redirect services running in your Kubernetes cluster to applications running on your local machine.

Code at:


An exploration of an idea for how to improve the developer experience of working with Azure Durable Functions to gain productivity and compiler checking by using code generation to avoid the need for magic strings.

Code at:

Workshop material for “Building a provider for Virtual Kubelet”

Building a provider for Virtual Kubelet (with links to sample lab implementations in Go, Node.js, C# and Python as well as a UI to help see the status of the provider)

Delivered at KubeCon Seattle 2018 and Container Camp London 2018


In addition to the projects above, I also enjoy contributing to other projects. To mention a few…

azbrowse - an interactive CLI for browsing azure resources

This is a fantastic project created by Lawrence Gripper - see the Getting Started docs for a taster of some of the functionality.

Project home:

Azure Resource Explorer - a site to explore and manage your ARM resources in style

The code for lives at and I’ve made a few contributions there.

Terraform Azure Rm provider

I’ve made a few contributions to the AzureRm provider for Terraform improving support for Azure Batch, Azure Storage and Application Insights.

Azure Databricks Operator

A fellow team started the Azure Databricks Operator project to create a Kubernetes operator for working with Azure Databricks and as part of a customer engagement I’ve made several contributions to the project.

VS Code Remote Containers (aka devcontainers)

Contributed the initial work to enable devcontainers to work with source code in WSL 2: