In all the years that I’ve been involved with open source, I’ve been a committed advocate for the idea that you don’t need to be a coder to get involved. I’m definitely not a coder- I can write a script or two, and have been known to submit bugs, but that’s as far as it goes. My strengths are in identifying and fixing problems, and getting other people enthused. That’s all well and good, but hackathons- they are for real coders, right? Why expose my terrible deficiency of coding skills to the world? It turns out, I was wrong!
So, for various reasons I don’t need to go into here, I found myself at the first MapAction/AGI Technical SIG Hackathon at our company offices in Epsom, with a mix of 40 other people: coders, MapAction volunteers, Astun colleagues, and other interested parties. MapAction had done a lot of leg-work before the event, identifying particular problems that they wanted to try and solve, with enough variety that everyone could find something of interest. As one of my current work projects involves metadata gathering, when I saw a hack around implementing a metadata gathering script in Quantum GIS, working with an existing python script (thanks Tyler), I thought it was something I could have a go at. The guy I teamed up with had even less scripting experience than me, but was also interested in the end result. Other teams looked at data visualisation, and the fantastically named “Dirty Data Dashboard”, that deliberately creates invalid or “dirty” data for use in training.
With very little experience of implementing python plugins in Quantum GIS, we had a brief attempt at using the Script Runner plugin to access the script. This definitely seems like a useful first approach, but the learning curve of adapting the script to interact with Quantum GIS (for example to return results to the logging console) was more than we could manage in the time available. Furthermore, I think it would be useful to create a wrapper for Quantum GIS, rather than rewriting the original code and risking it no longer working as a stand-alone script. Instead, we worked on extending the script to return more “human-readable” results. For non-coders, this was definitely achievable in the time available, so we had the nice fuzzy feeling of actually having a result at the end of the day.
Time for another first! Well, technically a second, but I’m not sure this counts. I love GitHub, and use plenty of repositories, but as a non-coder, putting your own code on the site for all and sundry to see is quite intimidating, and there are tales of people getting criticised publicly for nothing more than producing imperfect code. Not only does that put me right off, but it also makes me quite angry because it’s deeply elitist and non-constructive. However, once we’d extended this python script, re-committing it back to GitHub was the natural thing to do. Cue much googling on forking a repository, committing back to GitHub from my local copy, then issuing a Pull Request. And yay, it was accepted!
All in all, the MapAction hackathon was definitely a success. Lots of good things were achieved, and I would imagine that it will be repeated fairly soon. There’s no moral to this story, and I still think of myself as a non-coder, but this was just a first toe in the water of engaging differently with the open source world. Finally though, I would say that if you do consider yourself a non-coder, don’t be put off from attending a hackathon, as there will definitely be something you can contribute to.