Dave Perrett

Closed-source projects



I’m currently CTO at Shuttlerock - a platform that enables advertisers to turn static photos into video ads and push them to ad networks. The system continuously monitors and analyses ad performance, and replaces ad creatives automatically to maximize conversion rates. Shuttlerock is a Facebook innovation award winner and an Official Badged Facebook Partner .



Dynomatic is a personal side-project, and provides a real-time monitoring add-on for Heroku . It’s built with a mixture of Golang, Ruby and React.js. Check out the Demo !

Open-source projects



pivotal-to-trello is a command-line tool for importing a Pivotal Tracker project into Trello .


Jekyll Plugins

A collection of Jekyll plugins and generators that I’ve written for use on this site. Currently there are generators for creating sitemaps, category pages and project pages, with more to come.



jQuery Simple Color is a very simple color-picker plugin that displays a square grid of selectable colors. A light alternative to the other color picker plugins.



jQuery-i18n is a plugin designed to simplify client-side translations in javascript.



chef-pulseaudio is a Chef cookbook for installing the PulseAudio sound system for POSIX OSes.



A collection of sample images useful for testing and debugging EXIF orientation issues. See this post for more information.

Contributions to other projects



Formik is a library for implementing forms in React . I updated outdated examples which no longer work.



graphql-ruby implements GraphQL for use in Ruby & Rails. I fixed an example in the documentation.



clubhouse_ruby is a lightweight Ruby wrapper for the Clubhouse REST API. I added support for searching stories .



fb_graph is the ruby client for the Facebook Graph API . I added support for the v2 permissions format .



redux-crud-store is a wrapper on top of redux.js that simplifies redux CRUD code and makes a lot of the boilerplate code unnecessary. I fixed a data nesting issue that occured after PUT requests when using JSON-API backends.



influxdb-ruby is the ruby client for the InfluxDB time series database. I added support for listing retention policies , writing points with retention policies , and fixed an issue where certain types of queries were throwing exceptions rather than returning empty results.



heroku-bouncer is a Rack middleware for integrating Heroku Oauth login into ruby applications. I added support for passing a refresh-token when logging in.



I wrote the front-end of the Clutch web interface for the Transmission bittorrent client. It provides a native-desktop torrent experience via the web, and is now a part of the core Transmission application, as well as being packaged with Ubuntu.



Octopress is a framework built on top of Jekyll, the blog aware static site generator powering Github Pages. It includes my category page generator plugin.


Rails Best Practices

rails_best_practices is a code metric tool to check the quality of rails code. I added an exclude option to allow exclusion of certain file types from analysis.



Dragonfly is a Rails library for on-the-fly processing of uploads. I added a case_sensitive option to allow the upload of files with upper-case (or mixed-case) file extensions.


Friendly ID

friendly_id is a Rails library that allows you to create pretty URLs using strings rather than object IDs. I fixed an issue that was breaking the uniqueness validator in Rails.



Ripple is a rich Ruby client for Riak, Basho’s distributed database. I fixed a namespacing issue in the Hash implementation.



Consular is a tool to automate development workflow setup in the terminal. I added support for the iTerm terminal on OSX.



Jasmine Jasmine is a behavior-driven development framework for testing JavaScript code. I fixed a minor documentation issue .



Doctrine is an object relational mapper for PHP. I fixed an issue migrating fields to accept null values.



Composer is a tool for dependency management in PHP, inspired by node’s npm and ruby’s bundler. It includes a JSON pretty-printer that I wrote.



Roundcube is a browser-based IMAP client with an application-like user interface. I submitted a patch implementing collapsible folders to make browsing email easier.

Older projects



ClearGrowl.app is a simple application for OS X that clears all your growl notifications. It’s useful in conjunction with application launchers such as LaunchBar or Alfred to quickly clear your screen.


From The Cache

From The Cache is a weekend project that provides transparent access to the Google cache via a web app. It is designed for screen-scraping scripts to reduce load on target sites by utilizing the Google cache.


Rails Kitchen Sink

Rails Kitchen Sink is designed to provide a solid skeleton to base your next rails project on, and includes everything you’ll need to dive straight in and get started.


Trac GanttCalendar plugin

The GanttCalendar plugin adds ticket Gantt chart and calendar functionality to Trac. It’s an English version of the Japanese plugin from the Shibuya Trac project.