Photo by Ian Taylor on Unsplash

Docker is a fantastic tool for wrapping up and shipping your code. The advantage stems from the fact that you can wrap up all of the dependencies in Dockerfiles, and then your app will run literally anywhere that has Docker.

Another place where there are a number of dependencies, is the developer environment. Docker is not quite so well known as a dev tool, but there is no reason why it can’t be used as such. It’s totally possible to develop in a Docker environment, and in this post, I’ll demonstrate how to do so.

Before we get started, let’s…


The amount of carbon dioxide in the air in your home office could be seriously impairing your ability to concentrate. Read on to find out why this is, and what you can do about it.

Photo by Jason Strull on Unsplash

Depending on the size of the room or apartment that you are in, and the number of people crammed in there, you may be sitting in a soup of carbon dioxide the is potent enough to impair your cognitive ability by up to 50%.

In this post, I will go through some of the info that I have found on the effects of indoor CO2…


Photo by David Fartek on Unsplash

If your team is not pair coding most of the of the time, then I think you are doing it wrong.

About this time last year (in the ‘beforetimes’) I took a contract that required that I would pair-program all of the time, eight hours a day, five days a week. I went into the role with a healthy dollop of scepticism, but a year on I am fully drinking the Kool-Aid. So much so that I have been inspired to pen this blog post exalting the benefits of the full-time pair programming!

Here are my favourite things about this…


“We demand rigidly defined areas of doubt and uncertainty!” — Douglas Adams

This post describes a method to rigorously test Entity Framework Core migrations, in an fast, automated and repeatable way, to build confidence when pushing a migration to a database in production.

The sample code for this solution is in Github — Any and all feedback is welcomed!

In my opinion, applying database migrations to a production environment is the highest risk part of a product update. There’s only really one shot at it, and correcting errors after the event can be extremely difficult. An error in a migration…


When I was a child, I liked building Lego models. I still do like building Lego models, but these days I also building software products. And those are a bit more tricky…

With a Lego model, all of the pieces come in small bags with numbers on them, and there are picture books describing how to snap the pieces together. The requirements are understood up front, and a vision of the end product is well formed.

It is a pity, but this is not quite the case with software projects! Greenfield software projects do not come with a cool picture…


The guru affirms that the earth is supported on the back of a tiger. When asked what supports the tiger, he says it stands upon an elephant; and when asked what supports the elephant he says it is a giant turtle. When asked, finally, what supports the giant turtle, he is briefly taken aback, but quickly replies “Ah, after that it is turtles all the way down.”

The above parable would appear to have been taken literally in certain web design fields. Which appear to be abstractions… all the way down.

I remember well the halcyon and free days, circa…


“The .NET Framework is on it’s last release — there will not be another one after 4.8”

The sun is setting on .NET Framework. From now on, .NET Core is king.

I̵t̵ ̵i̵s̵ ̵a̵l̵l̵ ̵b̵u̵t̵ ̵c̵o̵n̵f̵i̵r̵m̵e̵d̵ ̵t̵h̵a̵t̵ ̵.̵N̵E̵T̵ ̵F̵r̵a̵m̵e̵w̵o̵r̵k̵ ̵v̵4̵.̵8̵ ̵w̵i̵l̵l̵ ̵b̵e̵ ̵t̵h̵e̵ ̵f̵i̵n̵a̵l̵ ̵r̵e̵l̵e̵a̵s̵e̵,̵ ̵a̵n̵d̵ ̵t̵h̵a̵t̵ ̵a̵l̵l̵ ̵s̵u̵b̵s̵e̵q̵u̵e̵n̵t̵ ̵i̵n̵n̵o̵v̵a̵t̵i̵o̵n̵ ̵w̵i̵l̵l̵ ̵b̵e̵ ̵h̵a̵p̵p̵e̵n̵i̵n̵g̵ ̵o̵n̵ ̵.̵N̵E̵T̵ ̵C̵o̵r̵e̵.̵ ̵I̵t̵ ̵i̵s̵ ̵t̵i̵m̵e̵ ̵f̵o̵r̵ ̵u̵s̵ ̵a̵l̵l̵ ̵t̵o̵ ̵m̵a̵k̵e̵ ̵t̵h̵e̵ ̵s̵w̵i̵t̵c̵h̵.̵

I fully expect an announcement from Microsoft in the coming months to confirm that Framework v4.8 will be the final release, and that from that point onward, the bulk of the development work will…


Developing blockchain applications presents some very interesting and unique challenges, even for very experienced ‘traditional’ programmers. One aspect that I find tricky to wrap my head around is unit testing, and writing testable code. This is a real problem given how much more important it is for code to execute correctly on a blockchain. There’s no room for bugs, and so the testing is very important!

This post will address an issue that I have been working on recently, where a unit test was required to take an action, and then wait for a number of blocks to pass. I…


The first post in this series saw us do some basic environment configuration, and then some very simple operations with the Truffle suite. In this tutorial I’ll take things a little further by demonstrating a couple of interactions with the contract, and going through an example with the Truffle debugger.

Make sure that you’ve followed through the steps in part 1. At the end of that tutorial, we had shown how to deploy and test a contract, but hadn’t really done much with it yet.

Open up VS Code, and open the console again with Ctrl+’. …


Getting to grips with developing Dapps for Ethereum was a lot of fun, but it was also fairly challenging. There seems to be an endless number of tools out there, and stitching them together into a coherent development experience is not a straightforward task.

With a good amount of reading, and after following a few dead ends, I think I’ve finally managed to settle on a pretty good toolbox for developing smart contracts on a Windows environment. In this series I’m going to start by going through all of the steps required to configure a fresh Windows 10 install for…

Andy Watt

Technical Lead and co-founder at Avalone Consultants. Angular, .NET, and blockchain developer.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store