syslog logging driver for Docker

This post will illustrate how to use the new syslog logging driver for Docker, along with some notes on using docker-machine. The first thing to be clear on is the syslog logging driver enables you to relay the log messages written to stdout/stderr within a container, to syslog service on the host machine. For this example I am going to do this for an agent of the buildkite continuous integration (CI) service running inside a Docker container. ...

May 3, 2015 3 min

Using Sublime Text for Go Development

For the last 6 months I have been using Go as my primary development language and for a large part of that I have been using sublime text 3. Along the way the go developers have released quite a few handy and time saving tools which have all been supported by GoSublime with some assembly required. This post will provide a rundown on how to setup go-sublime and the array of tools which make golang development as productive as possible. ...

March 5, 2015 3 min

Golang can I have a package manager please?

Currently golang has no standard package manager; this in my view makes it a harder for those new to the language. golang has for the most part been a pleasure to use, built-in features are well thought out and help new users get started fast. Dependency management is by contrast a jarring and painful experience for those starting with golang. To understand why I believe this is the case I have put together a proposal of sorts for a package manager. ...

March 23, 2014 4 min

Configuring a simple IPv6 network

Recently I have been helping Andy Gelme with a project which uses contiki-os, and 6lowpan on a device called a MeshThing. This required us to setup a small IPv6 network from scratch, independent of the internet, this turned out to be quite a bit different an objective of most of the how to’s we found so I decided to document our method, as much for others as myself. In our case the network looked as follows: ...

March 2, 2014 5 min

Getting a new node project started with npm

The aim of this guide is to get people getting started with Node.js and npm, while also showing some of the handy commands I use to bootstrap my projects. Create your project directory. mkdir npmtest Change to the directory you just created. cd !$ Tell git to make a repo. git init Pull down a preconfigured .gitignore file for node projects from github. wget https://raw.githubusercontent.com/github/gitignore/master/Node.gitignore -O .gitignore Pull down a basic Makefile I use for my projects. ...

February 1, 2014 3 min

Adding an ICSP header to the ATmega256RFR2

I am currently working on building a simple wireless sensor using the ATmega256RFR2 Xplained Pro Evaluation Kit. This kit includes a base board and a bunch of other peripherals to mess around with. When I started reading up on the kit I noticed it required windows to install some 600mb + more IDE (gasp), to hack on a small micro controller. This really didn’t gel with me, especially considering said IDE: ...

December 22, 2013 3 min

Heroku logging what I have Learned

Recently I started work for a new employer who runs has a number of applications hosted on Heroku, my typical strategy when faced with a new environment and systems is try and get some monitoring in place as soon as possible. I do this for a few reasons: It enables me to establish a baseline for performance and behavior of the system. It lets me quickly zero on any areas I can help with. It makes it easier for me to see when I get things wrong while I am still learning the ropes. So when I talk about monitoring I am mainly talking about collecting some basic performance and health related metrics which fall into two different types: ...

June 22, 2013 5 min

Installing Ruby 2.0.0 with Dtrace Support

The aim of this post is to guide the reader through the process of installing ruby 2.0.0 into rbenv with dtrace probes enabled. As rbenv uses ruby-build, which currently downloads and compiles a copy of openssl rather than using the one homebrew i prefer to use the homebrew one. Note that you MUST install xcode before installing anything, then install homebrew, rbenv, and lastly openssl. ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" brew install rbenv brew install openssl Next to overcome the fact that OSX doesn’t have an openssl ca certificate bundle, use the following brew to create and maintain one using the CA certs stored in your keychain. ...

February 26, 2013 2 min

Raspberry Pi Temperature and Humidity Project Construction

For some time I have had a Raspberry Pi languishing on my desk, like many I bought one early on and played around with it for a while and then got busy with other stuff. Recently however I have been looking into distributed sensor networks which led me to consider how I could use the Raspberry Pi to aid in my research. If I could get a number of these devices connected up together gathering some measurements of some sort, I could a) make some graphs, b) produce some useful test data and c) get some real world experience with sensor networks. ...

December 22, 2012 3 min

What is HMAC Authentication and why is it useful?

To start with a little background, then I will outline the options for authentication of HTTP based server APIs with a focus on HMAC and lastly I will provide some tips for developers building and using HMAC based authentication. Recently I have been doing quite a bit of research and hacking in and around server APIs. Authentication for these type APIs really depends on the type of service, and falls into a couple of general categories: ...

October 20, 2012 7 min