Consultative QA

Although it wasn’t intended at the beginning, Agile (or, more specifically, Scrum) has led a rigid development process that seeks to remove responsibility and control from the developer, treating them merely as a worker in a production line. To give this statement more colour, let’s take a look…

The Conventional Stand-up is Broken

Each day, loads of companies around the world blindly participate in a ritual that returns almost zero value: The Daily Stand-up. Developers standing in a circle, mindlessly stating what they did yesterday and what they're going to do today. Each participant pretending to listen as they desperately try…

Importing Data into an Azure SQL Database with BCP

Importing data from a flat file into a Azure SQL Database is definitely not as easy as I thought it would be. After a bit of Googling, BCP seemed to be the easiest solution but the tool itself is very difficult to work with and the documentation, while plentiful, is…

Zero Downtime Deploys - Dropping Columns with EF Migrations

I've previously written about how we handle zero downtime deployments with Entity Framework and Migrations [https://jonleigh.me/zero-downtime-deploys-with-entity-framework-migrations/] but the post lacked an important piece of the puzzle: how to drop a column. When practising continuous deployment, in order to drop a column, you need to follow…

Fixing Stuttering Bluetooth Audio on Windows 10 under Bootcamp

TLDR; Close the "Manage Bluetooth Devices" screen. I must have been good this year because Santa put a pair of the Bose QC35 wireless, noise cancelling headphones under my tree for Christmas! While the headphones are truly excellent, especially the noise cancelling, they're not the subject…

A Serverless Maintenance Website with S3 and CloudFront

A common way to put a website into 'maintenance mode' is to have another, separate, website whose only purpose is to return an informative message along with a HTTP Service Unavailable (503) response code, regardless of the request sent to it. This way, if a site becomes unavailable,…

End of the Road for Entity Framework Migrations

Edit: 01/02/2017 We've managed to get past the roadblock described below and are now able to drop columns with EF Migrations in a CD world. More information can be found here [https://jonleigh.me/zero-downtime-deploys-with-entity-framework-migrations/]. -- We've hit a roadblock with Entity Framework Migrations…

Zero Downtime Deploys with Entity Framework Migrations

At Moneybox, we've implemented a continuous delivery pipeline using TeamCity, Octopus Deploy and Azure WebApps. Taking this a bit further, by making use of the deployment slot functionality of Azure WebApps, we were able to implement one click, zero downtime deployments with minimal effort. In summary, this works…