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 […]
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 […]
As part of my work with UglyDuckling, I gave this Introduction to Docker talk at the Edinburgh techmeetup.
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.
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 […]
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 […]
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 […]
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 […]
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 […]
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()/node()” I pulled this code out of diffxml and re-licensed it under the Apache licence, […]