From The Blog

Switching To Reveal.js for Presentations

UPDATE: I presented at one event using reveal.js and have since rebuilt all my presentations in my original toolchain (rst2pdf). One presentation completely resized itself (I used rem units but that didn't help) so code samples were unreadable/missing. Also each presentation has all the dependencies INSIDE the presentation folder, so any backing up or syncing to dropbox becomes impossible (I ended up tethered to my phone with 250k files to sync ...). I like backups AND I like my Dropbox to work. So, no more reveal.js, it's just not fit for (my) purpose. Continue reading

Vagrant and Ansible for Dev Machines

With my new job came, of course, lots of new projects. They cover quite a wide range of system requirements and so I've been creating ansible-provisioned vagrant machines for each one to make it easy to set up on other platforms. I thought I'd share some examples of my setup, in case anyone is interested, but more importantly so I can swiftly look this up when I start the next new project! Continue reading

Use Ngrok Dashboard from VM

I'm a huge fan of ngrok, a tool that allows you to open a secure tunnel from your machine to the outside world to enable testing APIs and things. Mostly I use virtual machines for development, but by default the ngrok dashboard is only available when requested from the machine that ngrok is running on ... and I want to be able to see the web interface from my host machine.

This is a config setting but it can't be supplied on the command line, instead create a file called ~/.ngrok2/ngrok.yml and add the following line:


This will enable you to then reach the web interface at [VM IP or hostname]:4040.

Talks, Articles, Podcasts, and More


Docs-First API Design

Software Architecture, October 2016

The Wonderful World of Webhooks

OSCON, October 2016

Design Patterns For Git

Leeds Devops, October 2016

Queues with RabbitMQ

PHPNW , October 2016

Tutorial: The World Beyond MySQL

PHPNW , September 2016