Projects
Current
Homebrew
Project Leader and longest-running maintainer. Invented Homebrew binary packages (bottles) which were featured in Apple’s Touch Bar MacBook Pro keynote and are used by Google, Microsoft and Facebook. Fix users’ issues, plan roadmap, create and manage security program, make new releases, teach new maintainers and contributors and develop features in Ruby and Bash. Started a successful Kickstarter project which was funded in two hours to create a Jenkins CI system for Homebrew. Installed servers into a data-centre and maintained them. Ran and mentored contributors in multiple Google Summer of Code seasons, an MLH Fellowship and an Outreachy programme for Homebrew to successfully attract new maintainers. Brought Homebrew into the Software Freedom Conservancy for 501c3 non-profit status in the USA and financial sustainability. Organised first ever Homebrew maintainer meeting. Migrated Homebrew to GitHub Packages which required extensive changes and collaboration in both Homebrew and GitHub.
Workbrew
I started Workbrew in 2023 to provide missing features and support for companies using Homebrew.
Workbrew’s 1.0 release was in November 2024.
It offers vulnerability reporting and mitigation, MDM integration, fleet configuration, remote brew
execution and more.
As of May 2025, Workbrew managed 1,725 devices.
I’m currently Workbrew’s fractional Homebrew Fellow and Advisor, offering input on Homebrew integration, technical leadership and product direction.
Strap
Creator. A script to bootstrap a minimal macOS development system. Built for GitHub (replacing Boxen) to reduce development downtime for all GitHub-employed engineers.
Past
Homebrew Bundle
Maintainer. Like Ruby’s bundler but for non-Ruby dependencies from Homebrew and various other sources. Brought into GitHub organisation and integrated with the rest of the Homebrew ecosystem. Now merged into Homebrew itself.
GitHub
Employee #232. Built Merge Queue, Codespaces for GitHub’s internal usage, GitHub Sponsors, repository archiving, Open Source Friday, Open Source Guides, Strap (replacing Boxen), new APIs, GitHub Enterprise’s release process and many more changes invisible to those outside GitHub.
TwitterDelete
Creator. A small application to delete your old, unpopular tweets.
Balancing Dads
Creator. An inactive podcast that assumes it’s normal for working dads to be present in their kids’ lives. We speak to fathers about their work-life balance and what works (and doesn’t) with their kids. Was hosted by Paul Campbell and I.
Open Source Guides
Maintainer. Implemented language translations support and workflow, general bug-fixes and development. Managed community.
Open Source Friday
Maintainer, program manager and lead engineer. A program and site encouraging regular contribution to open source software during work hours.
Linter.tmbundle
Creator. Official TextMate bundle providing programming languages linter functionality.
GitHub-Markdown.tmbundle
Creator. Official TextMate bundle providing GitHub Flavoured Markdown extensions to make working with GitHub Flavoured Markdown nicer.
Git in Practice
Author. An opinionated, intermediate/advanced Git book.
AllTrails and AllSnow
Full stack engineer developing Rails/MySQL back-end and Coffeescript/SASS front-end. Developed features, APIs and optimised performance. Set up Jenkins CI and automatic Chef deployment for Rails and mobile applications HockeyApp deployment. Managed and improved AWS EC2 infrastructure.
Mendeley Desktop
First non-founder employee and lead developer for Mendeley Desktop. Set up all Linux servers and software systems. Created a workflow focused on quick deployment and high quality through automated Buildbot builds, tests, CPack packages for Windows, Mac and Linux. Designed, ran technical interviews and personally recruited three engineers.
Ported Qt/MSVC++ application from Windows to CMake, macOS and Linux. Fought for successful Linux port. Proposed, implemented the successful rewrite of problematic contracted legacy code creating a faster application and happier users. Designed, implemented the REST XML protocol used between Mendeley Desktop and Web.
Boxen
Maintainer. Improved Homebrew integration, general bug fixing and updates. Migrated GitHubto use Strap instead. Transitioned project to community ownership and (eventually) archived status.
Hookhand
Creator. A small web application which runs scripts from web hooks.
LockOldIssues
Creator. A small application to lock your old, closed GitHub issues.
ManningAsciiDoc
Creator. Rake build system for generating Manning DocBook and PDF files from AsciiDoc.
Audioscrobbler.app
Maintainer. Added HiDPI support, merged contributions and fixed bugs.
Qocoa
Creator. A collection of Qt wrappers for macOS’s Cocoa widgets.
Charm
Maintainer. Added support for Mac OS X 10.6 and Qt/Cocoa, added CPack packaging support and macOS installer creation, migrated to Git and bug fixing.
Make-O-Matic
Contributor. Added CPack packaging support, Windows support, other features and bug-fixes.
Qt Creator
Technical lead for team that created the analysis mode and integrated Valgrind’s Memcheck, Callgrind and Cachegrind tools. Personally focused on tool visualisations. Released in 2.3.0.
KDE
Contributor. Worked on KDE on Mac integration/bug fixing. Improved the KBlog XML-RPC API for KDE 4.0 API freeze. Added rich-text support and posting of journals (as blog posts) from KOrganizer which was released in KDE 4.1.
CMake
Contributor. Fixed bugs in and improved cross-platform packaging in CPack. Added Qt plugin support. Created DeployQt4 module for easy deployment of Qt applications. Released in 2.8.7.
Linux kernel
Contributor. Wrote WM8711 Linux kernel driver which was released in 2.6.26.
D-Bus
Contributor. Improved and merged the long-running launchd patchset. Bug fixes for macOS. Released in 1.4.1.
libgcal
Contributor. Added the CMake build-system and migrated to Git. Released in 0.9.
QtScriptGenerator
Contributor. Improved support for parsing and generating non-Qt C++ code. Released in 0.2.0.
PRISM
Contributor. Added OpenDocument support and JFreeChart integration. Released in 3.2.beta1.
OpenZaurus
Contributor. Fixed a noisy LCD issue. Released in 3.5.4.2-rc2.