QR Codes with Google Charts API

I’m a big fan of the google charts API – it draws much better-looking graphs than I would ever manage and all I have to do is assemble the right URL to make it work. I recently got a feature request to add QR codes to joind.in, so that speakers and event admins could easily allow people to link in to a particular talk page.
Continue reading

Eleven WordPress Plugins

When I moved this blog to wordpress a few weeks ago, I got a lot of questions about its implementation and setup. Today I’m sharing a list of all the plugins I have enabled, with a little description of what they are and what they do.
Continue reading

Movable Type Fonts and Ubuntu

Since relaunching this site, with actual design rather than several shades of pink thrown together, I’ve become more aware of being consistent in presentation. With this in mind, I wanted add the same fonts to Ubuntu that are used here.
Continue reading

Drawing Flow Diagrams with GraphViz

Recently I’ve been drawing a few different kinds of diagrams for a book I was writing, and been using graphviz to create them. Since I struggled a bit to get them going the way that I wanted them to, I am sharing them here (as much for my future self as anyone else visiting, but if they help you too then that’s excellent).
Continue reading

Comment, Don’t Tweet

This blog regularly features posts which are rather niche, incomplete or in some cases simply misleading (not intentionally, I promise!). Often I post something, and then discover there was an awful lot more to know, and find that people add all kinds of constructive suggestions, resources, and other goodness in the comments.

Continue reading

Adding Markers to a Google Chart

I seem to blog about graphs a lot at the moment, but that’s because I am seeing a lot of them, with one thing and another. I recently added some little bubbles to the line graphs produced by Bitestats (obligatory elevator pitch: one-page, simple summary report pull from your google analytics account). I think they are kind of cute:

Once I got going with them, they were actually pretty straightforward. You can actually add all kinds of markers to your google chart, complete with funky icons and customisable colours! The code I added to make these is simply:


&chem=y;s=bubble_text_small;d=bb,Max:+917,FFFFFF,660066;ds=0;dp=15|y;s=bubble_text_small;d=bbtr,Min:+185,FFFFFF,660066;ds=0;dp=20

All we have here is a simple specification of which kind of bubbles I want, the label for them and which data series (ds) and data point (dp) to attach it to. I generated the bubble tail directions sensitive to whether they were a min or max label, and which half of the graph they are in.
Continue reading

Speaking at OggCamp

I’m delighted to announce that I’ll be speaking at OggCamp this year. This is an event that I’ve attended both previous years, and one that I always seem to get a lot out of. It’s an open source, anything goes, unconference kind of event. Except that this year there is also a scheduled track of talks alongside the usual unconference content.

I love oggcamp for the sheer randomness of what I learn there. I’ve variously seen talks on home automation, mapping, operating systems, politics … the list is pretty long. This year, it’s in Surrey, on the same weekend as the final deadlines for my book so I figured I’d have to give it a miss. But when I got an invite to speak on the scheduled track, I realised this was the omen I needed, and accepted at once!

I’ll be giving a talk entitled “Open Source Your Career” – a talk which brings up an aspect of open source that we often don’t discuss; the personal rewards that an individual can gain from being involved in open source. If you thought it was all about altruism, think again. I’ll be bringing anecdotes, from my own career and others’, about how the best way to fast-track your professional growth. See you in Surrey :)

First Steps with GraphViz

This year I moved my whole presentations toolchain over to LaTeX and PDF, and where I added diagrams (which doesn’t happen a lot!) I used graphviz to generate them. Graphviz is a way of describing items and their relationships in a textual manner, and rendering them into a graph – and the results can be saved as an image, or included in LaTeX documents.

I found graphviz frustrating at times but on the whole it draws clean, symmetrical graphs far beyond anything else I can manage, even if I do use a mouse or tablet. Since I’m not able to use a pointing device on a regular basis, and I’m marking up my presentations in text also, it turned out to be a really good fit. I thought I’d share how I got on with it and some of my own graphs – as much to remind me next time conference season comes around as anything.

Continue reading

RepRap Masterclass

I spent last weekend in lovely Bath, but I didn’t get to see much of it as I spent all three days building a RepRap, or Replicating Rapid Prototype. This is a 3D printer that can print plastic into any shape you can think of (and some that I definitely didn’t). The Masterclass was organised by EMakerShop and brought together a bunch of people with ties to the local area who are all active in the project itself.

Continue reading

Using Modelines in Vim

I’m working on a book at the moment, and there are strict guidelines on formatting. One thing which is tripping me up is that all code samples must use two spaces for indentation. I normally have my editor set to 4 spaces, so I was looking for a good way to keep just these files consistent in their layout. Enter vim’s modelines feature!

You may have seen this, a comment line at the start or end of a document which gives the settings for vim to use, something like this:

/* vim: set sw=2: */

This is a modeline in vim. I tried adding my own at the top of my sourcefiles, but vim seemed to ignore them. It turns out that modelines are disabled in vim by default (for security reasons) but you can easily turn them on in your .vimrc with:

:set modeline

The only change I want to make is the tab sizes which is why I use the line above. The vim modeline documentation is the best place to go if you want to add options of your own to this line