How (and Why) I Run My Own DNS Servers

Introduction Despite my woeful knowledge of networking, I run my own DNS servers on my own websites run from home. I achieved this through trial and error and now it requires almost zero maintenance, even though I don’t have a static IP at home. Here I share how (and why) I persist in this endeavour. … Read more

Ten More Things I Wish I'd Known About bash

Intro My previous post took off far more than I expected, so I thought I’d write another piece on less well-known bash features. As I said before, because I felt bash is an often-used (and under-understood) technology, I ended up writing a book on it while studying it up. It’s really gratifying to know that other people think … Read more

Ten Things I Wish I’d Known About bash

Intro Recently I wanted to deepen my understanding of bash by researching as much of it as possible. Because I felt bash is an often-used (and under-understood) technology, I ended up writing a book on it. A preview is available here. You don’t have to look hard on the internet to find plenty of useful one-liners in … Read more

Project Management as Code with Graphviz

tl;dr My team and I have been using graphviz and git to perform project management tasks. It has numerous benefits, including: Asynchronous project updates (ie fewer meetings) Improved updates for users Visualisation of complexity of project for stakeholders and team Assumptions challenged. Progress can be measured using git itself (eg log) HackerNews Discussion here   … Read more

How to Manually Clear Locks in Jenkins

Problem Recently I got into a situation where I hit a bug with Jenkins where Jenkinsfile locks were not released if the job was terminated. I tried: Restarting Jenkins Reinstalling the plugin Removing the locks manually from the top level Jenkins page Raising a bug None of these worked. I found a solution that involved … Read more

How I Manage My Time

tl;dr I see a lot of posts like this or this or this on HackerNews asking about time management I was disorganised until my 30s. Then I got organised and changed my life with: JIRA Notes in Git Automating environment setup What I’ve ‘got done’ since is listed below. The Phone Call About 6 years ago I … Read more

Ten Things I Wish I’d Known About Chef

1) Understand How Chef Works This sounds obvious, but is important to call out. Chef’s structure can be bewildering to newcomers. There are so many concepts that may be new to you to get to grips with all at once. Server, chef-client, knife, chefdk, recipe, role, environment, run list, node, cookbook… the list goes on … Read more

Vagrant and Ohai / Chef IP Address Hack

  Problem In vagrant, ohai returns the eth0 ip. This is a PITA, since if you run clusters of Vagrant that use Chef (as I do), then Chef and ohai thinks the IP address of the node is always: 10.0.1.15 or whatever Vagrant attaches to the default interface (usually eth0).   It’s Not Just Me … Read more