Debugging Powershell Modules in VS Code

TLDR; Use a .ps1 script or Pester test to force the load of the local module file and execute the function. Visual Studio Code Powershell Debugging Microsoft has a created a great Powershell extension for VS Code that makes it easy to work with Powershell files. Once the plugin is installed you get intellisense, syntax … Continue reading Debugging Powershell Modules in VS Code

Using TeamCity Detached Builds to Invoke AWS Services

TLDR; Use TeamCity detached builds and callbacks to provide a more seamless integration between TeamCity and AWS Services. Asynchronous External Service One of the challenges with invoking a process in AWS from TeamCity is that the call to AWS is usually asynchronous. An example of when you might want to do this is to make … Continue reading Using TeamCity Detached Builds to Invoke AWS Services

The 100% Utilization Fallacy

Recently I've been thinking a lot about developer and team productivity. I've realized that one of the factors that has a significant impact on a team's efficiency and productivity is the amount of work in progress (WIP) they have at any given time. Too much WIP is a really bad thing for team workflow. In … Continue reading The 100% Utilization Fallacy

AWS CloudFormation Linting in Team City and GitHub

TLDR; Use cfn-lint in your build pipeline to ensure the quality of AWS CloudFormation templates as part of your code build and deployment process. It's important to ensure the quality of all the code artifacts your team is creating. Even if it's configuration as code. We have been using CloudFormation templates for provisioning our AWS … Continue reading AWS CloudFormation Linting in Team City and GitHub

cypress-ntlm-auth 401 Unauthorized Response

TLDR; Be sure to only run cy.ntlmReset() after all requests in a test are completed. Recently we started to experience intermittent 401 unauthorized errors when our Cypress tests were executing on our build server. These errors were intermittent because they were timing dependent. We've been using a library with Cypress that allows it to authenticate … Continue reading cypress-ntlm-auth 401 Unauthorized Response

Cypress.io baseUrl

TLDR; To help make your tests more reliable and prevent unexpected issues, organize Cypress tests around a single FQDN and don't switch between different target URLs during a test execution. Cypress Journey Recently I've been spending some time improving an existing test suite and writing tests in Cypress.io. Cypress is an excellent framework for developing … Continue reading Cypress.io baseUrl

IIS ASP.NET Core Hosting Bundle 500.19 Error

TLDR; Re-install the latest hosting bundle; Recently I was upgrading the IIS ASP.NET Core Hosting Bundle to ensure the server had the latest patch release (3.1.8). Just to keep the server installations clean, I wanted to also remove all the previous versions of the core hosting bundle so that I only had the single required … Continue reading IIS ASP.NET Core Hosting Bundle 500.19 Error

Troubleshooting CORS Issues in ASP.NET Core Web API

Correctly configuring cross-origin resource sharing can be challenging. This post covers common CORS issues encountered while setting up a local development environment with ASP.NET Core Web API. Disclaimer:¬† I am not an expert in configuring cross origin resource sharing (CORS). ¬†This post is intended to be for learning purposes only and is not a guide … Continue reading Troubleshooting CORS Issues in ASP.NET Core Web API

The Art of Small Pull Requests

Why should I make my Pull Requests small? Just like small change sets make deployments easier and decrease risk, submitting a small set of changes for review in your git pull request (PR) improves code quality, feedback, and understandability. Have you ever gotten a PR assigned to you where changes span a large number of … Continue reading The Art of Small Pull Requests

Team City: Leverage Snapshot Dependencies

We used to rely solely on artifact dependencies and finish build triggers in TeamCity to coordinate build chains. This was simple and worked well, but as our builds grew in complexity, this approach began to break down. We started experiencing slow, brittle, and less reliable builds. It was also difficult to ensure that the same … Continue reading Team City: Leverage Snapshot Dependencies