Using Docker on Early Release

April 27th, 2015

I can officially announce that my book Using Docker: Developing and Deploying Software with Containers is available on early release from O’Reilly. The book is split into three parts: Background and Basics. The book starts off by looking at what Docker is, why it’s so important and how to get started using it, including a […]

Docker Posts at Container Solutions

February 6th, 2015

Recently I’ve been doing a lot writing on Docker over on the Container Solutions blog. Here’s a collection of my articles for Container Solutions to date (last updated 27 April): Running Docker Containers with systemd – How to set-up systemd to look after your Docker containers. Docker Inspect Template Magic – A deep-dive into how […]

Intro to Docker Talk

May 26th, 2014

As part of my work with UglyDuckling, I gave this Introduction to Docker talk at the Edinburgh techmeetup.

Book Review: Clojure for Domain-specific Languages

January 26th, 2014

I’m clinging to the excuse that I had only read the title of the book before volunteering to review it. If I had even got as far the sub-title, I would have thought twice.

(How To Do) XML Schema Validation

November 21st, 2013

Judging by the popularity of this question on StackOverflow (and my answer), it seems that a lot of people struggle to check the validity of an XML file against an XML Schema. It’s a shame that what should be a trivial task has wasted hours of developer’s lives. In this article I’ll try to offer […]

Network Audio Players and Linux Revisited

January 24th, 2013

In my previous post Network Audio Players and Linux, I described some ways in which to stream music from a Linux server to network audio player (primarily the Denon DNP-720AE). In the comments to that post, mjheagle suggested I try out MPD, which I’d missed when trying out various solutions. This post describes the benefits […]

Clojure and Google App Engine

August 16th, 2012

I recently finished an MVP version of Edinburgh Festival Roulette, the first web app I’ve written using Google App Engine and Clojure, and I thought I’d share some of my thoughts and experiences. Clojure and Compojure were definitely a good choice; I was able to get something up and running quickly despite having limited experience […]

Network Audio Players and Linux

May 30th, 2012

This is a short guide to using network audio players (sometimes called media streamers) with Linux. It mainly pertains to the Denon DNP-720AE, as this is the network audio player I use. However, the techniques and issues are likely to be similar for most network audio players. There are two things you probably want to […]

Minimal TODOs for Linux

January 7th, 2012

Up until now I’ve just used bits of paper for my TODO system. This has served me quite well, but the problem is that bits of paper are too easily lost or mislaid. So, after reading Minimally Awesome TODOs I wanted to set something similar up for my Ubuntu box. Minimally Awesome TODOs describes a […]

XPathGen Released

January 5th, 2012

I’ve just released XPathGen, a simple utility class for generating XPath paths that uniquely identify DOM Nodes in Java. For example: Document testDoc = createDocument( “<a>aa<b attr=’test’>b<!– comment –>c<c/></b>d</a>”); //Grab text node “aa” Node aa = testDoc.getDocumentElement().getFirstChild(); System.out.println(XPathGen.getXPath(aa)); //Should print “/node()[1]/node()[1]” I pulled this code out of diffxml and re-licensed it under the Apache licence, […]