It’s been an inexcusably long time since my last post, so I thought I would write about some of what I have been doing instead of blogging.
Reading and writing about Backbone.js
I have been asked to be a tech reviewer for Addy Osmani‘s new book “Developing Backbone.js Applications“. Its a great introduction to Backbone and also covers a lot of detail about using it for real-world applications. Addy has pulled together a great little team of volunteers to review and tweak the book and it really shows. It’s Creative Commons so you can read the book for free – or indeed contribute – by heading over to Github.
Getting paid for Open Source
I was checking out an open issue on Twitter’s Bower package manager (mentioned in my last post) and was playing around with a patch for it. Bower is a command-line Node application and uses EventEmitters out the wazoo with no Promises. I was a little out of my comfort zone.
I was ready to let someone who knew what they were doing fix it when I saw a post saying that there was a bounty on the issue. I’d love to believe that my open source work is entirely altruistic but the thought of getting paid made the learning curve look a bit less daunting. What can I say, I’m a mercenary!
Anyway, I submitted a PR which was accepted after just a couple of tweaks and BountySource released the money within a few days. It was very painless and I was $180 richer (~10% taken in PayPal fees and the BountySource cut). I probably made about $10 an hour on it – more than US minimum wage – but it was a very large bounty compared to most of the others currently posted. I don’t think anyone will be making a living off Bounty Source for a while yet.
Before jQuery became popular people were writing their own XHR wrappers and DOM manipulation code. It was tricky but that was just the way it was. Now no one in their right mind starts a basic web project without including jQuery or something like it. I think the same thing will happen around tooling. I believe that in a year or two it will be almost unthinkable not to have a build step in your process, or to start a simple project from scratch instead of using a bootstrapping tool.
With that in mind I have been digging deep into how Grunt, Bower and Yeoman work so that I can start to contribute. Expect to hear more about these projects from me in the future.