A great deal of my commitment to open source is courtesy of my clients. I use open source every day and whenever something needs to be fixed I try to push my changes upstream.

My own projects


JpegCamera is a JavaScript library that allows you to display a camera stream on a web page and then capture, show and upload JPEG snapshots to the server. This project is actually my own complete rewrite of the older JpegCam library. Many thanks to Joseph Huckaby for creating and Matt Clements for maintaining Flash-based JpegCam library which I have been using until HTML5 became a viable solution.


I’ve ported ActiveRecord’s Enum to Mongoid. It helps working with fields that accept values from closed list of options (think: states, modes, types).

Other people's projects


Mongoid is an ODM (Object Document Mapper) framework for MongoDB in Ruby. It was always closely following ActiveRecord syntax giving it an edge over competing alternatives. Started privately by Durran Jordan it is now an official project of MongoDB the company. I had some commits and documented many issues.


Spree is a complete e-commerce solution for your Ruby on Rails application. Originally created by Sean Schofield it is now maintained by core team of developers and available for commercial use. I’ve made commits on the core and created a volume pricing extension.


Sparkle is the most popular framework for implementing automatic software update in your (non App Store) Mac applications. There’s literally hundreds of applications that use Sparkle. It was created and maintained by Andy Matuschak. I used it once and sent some fixes.


CanCan is an authorization library for Ruby on Rails. It checks whether the user is allowed to access specific resources. All permissions are defined in a single location instead of being scattered across controllers and views. CanCan was developed by the great Ryan Bates and is now maintained by its community. I’ve made some commits.


Delayed::Job is a Ruby gem that encapsulates the common pattern of asynchronously executing longer tasks in the background. It was extracted from Shopify. I sent some fixes for its Mongoid backend.

Inherited Resources

Inherited resources was a useful gem that helped Ruby on Rails developers to follow skinny controller – fat model paradigm. It sped up development and allowed developer to focus on what made his controllers different. The gem was maintained by Jose Valim. I had some commits.


KineticJS was a fast, robust, HTML5 Canvas Library. It was created and maintained by Eric Rowell. I’ve sent some fixes.


QJSON is a library for the Qt framework that maps JSON data to QVariant objects. There’s no better way to read or write JSON in your Qt-based application. QJSON is a project started and maintained by Flavio Castelli. I had some commits.


CutyCapt is a command line tool that uses WebKit (via Qt) to render and capture web pages. In addition to many image formats you can also save a web page to PDF which allows copying and pasting of text. WebKit is a great standards-compliant browser engine (along others used in Chrome and Safari) and CutyCapt’s command line interface is particularly handy if you want to capture web page contents in a shell script. CutyCapt was written by Björn Höhrmann and at Flux Inc. we used to maintain a fork.


Enki is a simple Ruby on Rails blogging app. It was created by Xavier Shay. I helped a bit.

Back home