Aug 28, 2017 - Personal project hosting with docker

Docker has become one of the most popular technologies of the past couple of years, with a lot of companies investing in using it for some or all of their development work, with many now using it for their production infrastructure as well.

The convenience provided by docker for deploying applications makes it attractive to use for personal projects, but there is a lot of complexity you need to manage a docker cluster, I’ve been steadily working on this and this post is the first of many documenting my work.

There's more...

Jul 12, 2017 - Communication patterns in event driven architecture

I am a huge advocate of using events as the primary means of sharing state between different services in a microservice architecture - an event driven architecture. In such a setup, each service emits important events and other services listen to events which they are interested in. Each services will then use the events to build projections and drive process managers, maintaining their own world view.

This is a good overall pattern for inter service communication, however there is a problem with this approach, if applied blindly all the time: you can end up leaking domain knowledge between services and inadvertently coupling the services together.

There's more...

Jun 20, 2017 - On smart cows and dumb politics

In light of the recent terrorist attack in [Insert Location] you have probably heard calls from media and politicians to ban end to end encryption and stop the terrorists from having a safe space to communicate. Such calls sound like a good idea to those who don’t really understand the technology much like a suggestion to ban guns could come across as a reasonable step to take in order to prevent attacks but to those who do understand the technology, such a call becomes as ridiculous as a call to ban cars. Lets look at why.

There's more...