-
Vagrant Box With This Name Already Exists
15 July 2016
Read moreDue to the unique approach of Canonical to packaging vagrant boxes, the current ubuntu/xenial box has a hardcoded machine name which causes an error when you try to bring up a second VM using the same base box:
A VirtualBox machine with the name 'ubuntu-xenial-16.04-cloudimg' already exists.Please use another name or delete the machine with the existing name, and try again.There's a stackoverflow question about this and a good answer (not the accepted one, the highest-voted one) which helped me a bit but it still wasn't completely clear to me how to fix my problem and I had to dig about a bit.
-
Heroku "No app specified"
31 May 2016
Read moreI've been having a maddening problem where one (but only one) of my heroku apps doesn't know which heroku app it is, which means I need to append --app app-name to every single command. It seemed to happen when I moved my app to an organisation rather than having it …
-
MySQL 5.7 Introduces a JSON Data Type
21 April 2016
Read moreThere's a new JSON data type available in MySQL 5.7 that I've been playing with. I wanted to share some examples of when it's useful to have JSON data in your MySQL database and how to work with the new data types (not least so I can refer back to them later!)
MySQL isn't the first database to offer JSON storage; the document databases (such as MongoDB, CouchDB) work on a JSON or JSON-ish basis by design, and other platforms including PostgreSQL, Oracle and SQL Server also have varying degress of JSON support. With such wide adoption as MySQL has, the JSON features are now reaching a new tribe of developers.
-
Documentation First: A Recipe for API Success
23 February 2016
Read moreI've shipped a handful of greenfield APIs in recent months for different clients, and in each case I've been building the documentation before the API. I hadn't really recognised it as a pattern until someone else commented on it, but I do find this approach has worked well for my projects, so I thought I'd share my thoughts on this in a bit more detail.
-
Use Ngrok for Testing APIs on Dev
27 January 2016
Read moreRecently I was hastily building an API for a client and I wanted to run some tests against it. I've written before about using Runscope for API testing, but this was against a local dev platform (inside a VM, not directly on my laptop) rather than a public API. The same problem arises if you want to access a local site or API from elsewhere or from a mobile device. In all these scenarios, ngrok is your friend.
-
API Testing with Runscope
04 January 2016
Read moreI work with a lot of APIs and I really appreciate good tools. Lately I've been really enjoying using Runscope for testing and monitoring my APIs so I thought I'd share how I work with this tool, which has a great one-person free tier *and* the ability to import/export tests so if you need to work with a team with just the free tier (the examples here are from an open source project which is an obvious use case where it's hard to fund tools), it's clunky but doable. The idea here is just to show you around how to create your own API tests with Runscope (and also to write down what I did so I can point both my future self and others at this!)
-
Git Won't Check Out A Path It Autocompleted
10 November 2015
Read moreOne of my git repositories has developed a tendency to refuse to checkout a feature branch locally that exists on the remote repo. My git bash completion works, but then strange things happen! It turned out to be that I had two remotes with the same refspec, so I thought I'd write down the behaviour I saw and hopefully help someone else to fix this problem faster if they see it.
-
Why My Open Source Project Needs a Code of Conduct
21 October 2015
Read moreI'm an open source project maintainer, working on the projects associated with joind.in, and recently we added a Code of Conduct to all our projects (we have quite a few as you can see from our github organisation page https://github.com/joindin).
I feel the same way about codes of conduct for open source projects as I do about codes of conduct for events. You can absolutely run a totally safe and effective event without one, but by having one you make very clear what your expectations are - and in turn this manages the expectations of the people attending that event.
-
Ada Lovelace Day: The Allies
13 October 2015
Read moreIt's Ada Lovelace day, a day when we celebrate women in technology. This year I'd like to mention a group of people who make the biggest difference in the tech life of any minority: the allies.
-
Git Pull Causes a Merge
03 September 2015
Read moreIf you type git pull and expect a fast-forward update, but get a merge instead, don't panic! This usually happens when we're collaborating on a branch with other people, and we've made changes on our local version of a branch, and someone else (or the other you, if you use git to sync between multiple dev platforms) has made changes to the remote version of a branch in the meantime. It also happens really frequently in teams where all commits are to the master branch ... yet another reason to have a decent branching strategy.
All that's happened is something like this:
-
Debugging rst2pdf and pygments
29 July 2015
Read moreI create my slide decks from ReStructuredText, which is a text markup format. Working this way makes it easy to add into source control, fast to work with, and also accessible since I don't use a mouse or other pointing device so traditional slide deck creation programs are kind of difficult. Text-based wins every time for me. While working on a new slide template, I ran into some difficulties and had to figure out how to inspect what was going on. I seem to struggle with this every time so I am writing my troubleshooting guide here for when I need it next.
-
The Microphone Is Your Friend
27 July 2015
Read moreThis post is an adaptation from an email I sent to a friend who is doing their first few conference talks. I was asked to share more widely so here it is
The microphone is your friend, honestly :) Even if you think you can be heard, there are some definite benefits to using a mic if it's available:
you actually can be heard
even people with less-than-excellent hearing can hear you
the video recording can hear you as well
you now have the option to employ some vocal variety: exclaiming, pausing, stage whisper ... it all adds interest and colour to what you are saying
There are a few different types of mic and each one has its own quirks!