Distributed Web Systems with Consul, Diplomat, Envoy and HAProxy

As part as my never-ending quest to improve how I build cool things, I’ve been working for some time on building out infrastructure to help automate and monitor how my apps and servers are doing. I’ve written about horizontal scaling before, but today I’d like to get into one specific facet of its implementation: automated network discovery, and how we use it at FarmGeek to build reliable applications. The Problem So lets say you have a few servers - a node balancer, two application servers and a database server, for example.

11 Things windows users might not know about Linux

As an avid Linux user for over 5 years, it still surprises me how many people don’t know basic things about Linux which make it so appealing to people like me. If you’re thinking about using Linux for the first time, or perhaps you’ve only just heard about it, here are a few things you might now know that might interest you: 1: Linux isn’t an operating system Linux is actually the name given the “kernel” of one type of operating system.

Testing NodeJS with Jenkins

NodeJS is awesome. I’ve used it for many pet projects and have worked on commercial projects which have made good use of Node in sticky situations. When it comes to testing Node, we’re spoiled. My favourite testing framework is Mocha and my favourite testing library is should.js. We’ll be using that alongside Jenkins to build an automated test suite for our demo repository. You Will Need Mocha Mocha is our testing framework.

The Green Developer

A good developer is energy conscious. A good developer understands the impact he has on the environment around him. A good developer is able to take all these things and use them to make a positive impact in his universe. A good developer is a green developer. A green developer? What are you smoking? A green developer understands how to build in blocks: he must master the art of software engineering versus software developing.

What makes for a Good Development Lead?

Throughout my career so far, I’ve mostly worked alone. When I say alone, I’ve often worked alongside other people, but ultimately I’ve been paying them, or I had made the choice about whether they were suitable for the project (or for me) or not. They’ve mostly not been working on the same thing I’ve been working on either. Ultimately, I’ve been the leader of the projects I’ve worked on during most of my freelance career.