Reflecting on 2012

In which in try to convince myself that I have, in fact, done more than just procrastinate on the internet for the last 12 months. Limited to my current profession / writing software.


In January, Twitter flew me to San Francisco for a day of on-site interviews with @akashgarg, @richardhenry, @brianellin, @fat, @chanian, @benward, and @trenti. I really enjoyed the experience and was excited to accept an offer to join the team.

While I waited to be granted a US work visa, I spent 6 months in the Twitter UK office, working alongside the TweetDeck team. In September, I moved to San Francisco to work at Twitter HQ with the “Twitter For Websites” team. I’ve been fortunate to end up working at a company with so many friendly and intelligent people.

Open Source Software

I didn’t work as much on open source projects as I’d expected. Probably due to a mixture of burnout, full-time work, and moving country.

  • Normalize.css: released v1 (for legacy browsers) and v2. Redesigned the project website. At the time of writing, Normalize.css is being used by Twitter Bootstrap, HTML5 Boilerplate, TweetDeck, Soundcloud, Rdio, The Guardian, GOV.UK, Digg, and others.
  • HTML5 Boilerplate: released v4 after working with the rest of the team to simplify the code base and provide packaged documentation.
  • SUIT: a collection of small, discrete, and structural UI components that are part of an effort to move away from monolithic HTML/CSS toolkits. At the time of writing, the public components are: SUIT utils, SUIT button, SUIT button-group, SUIT flex-embed.
  • Dotfiles: a project I’ve really enjoyed working on this year. Learnt a bit more about Bash, Git, and Vim.
  • Griddle: a Sass-based, responsive grid constructor. Unfortunately, I haven’t had the time to work on it since. I’ll probably port this over to CSS and release it as a SUIT component.
  • Eraser.css: an experimental CSS reset-and-sandbox.

Web sites/apps

  • TweetDeck: rewrote the TweetDeck build script using Grunt (which was fun). Planned and developed a simple and scalable HTML/CSS architecture (based on SUIT utils) for TweetDeck 2.0 that helped make multiple-themes and variable text-sizes possible.
  • redesigned and rebuilt the HTML5 Boilerplate site to make it easier for people to get the information they need. It’s also easier for the HTML5 Boilerplate team to update the site when there’s a new version available.
  • a GitHub page for the H5BP organization in an effort to highlight its (open) membership and the projects people are working on.
  • about 3 years ago I promised my brother that I’d make him a WordPress-powered site for his Drum & Bass podcast, giving him complete control over the release of new episodes. This year, I made time to do it.

Code guides

  • Idiomatic CSS: a template for creating a consistent and documented CSS code style.
  • Idiomatic HTML: a template for creating a consistent and documented HTML code style.
  • Contribution Guidelines: an introduction to creating good GitHub issues and Pull Requests.


I wrote quite a lot this year, but only took the time to edit and publish a couple of posts at the start of the year.

Vague plans for 2013

Maybe writing some things here will increase the chances of me remembering that I want to do them.

  • Spend less of my free time writing software, but spend that time more wisely and on learning new things.
  • Get involved in open source projects that are focused on areas outside my experience, and in the process have numerous pull-requests rejected due to unwittingly writing bad code.
  • Use my blog for more than just writing about software.
  • Actually do NaNoWriMo for once.