Building a home lab

Building a home lab

I’ve been setting up a small home lab for testing various things out and I needed some space for virtual machines. I don’t have any requirements for insane performance, but I also didn’t want a really sluggish setup, so here’s what I did…

Announcing flake8-diff


This utility allows you to run flake8 over a set of changed files and filter out violations that would be introduced by merging those changes.

We use this as part of our build / CI infrastructure to alert developers opening pull requests to new violations their pull request will introduce, if it were merged.

SSL Configuration

SSL Configuration

As you may have noticed, this site is now served over HTTPS!

IE6 users, you’re pretty much SOL since I turned off all your cipher suites. It’s 2014 and it’s probably a pretty good time to get yourself a slightly newer browser anyway.

Thoughts on Google Inbox

Thoughts on Google Inbox

This is an insanely awesome way to work with your e-mail! Google have essentially turned your e-mail inbox into a massive todo list, which as it turns out, is actually a nice way to treat it.

Highly Available NFS Cluster on Debian Wheezy


This guide will help you setup a highly available NFS server on Debian Wheezy. This is a relatively battle-tested configuration, and there is plenty information out there on how it works - I’ll include some links at the end of this post.

I was using GlusterFS up until recently, but I’m not happy with file corruption issues I’m seeing, and the insane load it puts on 2 rather beefy servers trying to resync data after one fails for just a short time.

nginx, Apache 2 and subversion - 502 Bad Gateway error

The Problem

I recently ran into this problem and couldn’t find any useful information on the net around fixing it. All subversion checkouts, commits and other basic operations work just fine, but when attempting to copy, move or tag (copy) I would get the below (502 Bad Gateway) error.

Blocking web traffic behind an Elastic Load Balancer (ELB)

Over the past few hours we’ve been on the receiving end of a fairly large scale set of web requests (read: attack) to a website we host over on Amazon EC2. Our setup is not really that complicated, however we encountered a problem that wasn’t that easy to solve.

Forking background processes in Python

This post attempts to explain how to fork child processes in Python, or at least how to use forking on an existing Python script. For some strange reason I’ve had to explain this a few times recently, so I decided an easy to reference blog post would probably make life a little easier.