We've merged with the Big Nerd Ranch! Learn More

Open-Source work

The open-source community provides us with countless tools that we use on a daily basis. Whenever possible, we like to contribute to the community in hopes of helping others solve big problems without reinventing the wheel.

Here are a few of our contributions:

sunspot homepage screenshot

Sunspot

Sunspot is a Ruby library for expressive, powerful interaction with the Solr search engine. Sunspot is built on top of the RSolr library, which provides a low-level interface for Solr interaction; Sunspot provides a simple, intuitive, expressive DSL backed by powerful features for indexing objects and searching for them.

Sunspot is designed to be easily plugged in to any ORM, or even non-database-backed objects such as the filesystem.

gemlock homepage screenshot

Gemlock

Gemlock looks at what gems you've specified in your Gemfile, checks the version that that Bundler has set in Gemfile.lock, and lets you know if there's a newer version available.

If you're using Gemlock in a Rails project, whenever you start your server, Gemlock will check for updates. Then, it will check again in 2 weeks or when you restart your server, whichever comes first. In the future, both of these should be configurable options.

scribe homepage screenshot

Scribe-rb

To use Scribe, you usually have to use Apache Thrift to generate Ruby code from generic *.thrift files.

This gem tries to alleviate that slight annoyance and package everything you need to communicate with Scribe.

It also contains a some "extras" that alleviate a few gotchas Andy found while creating a Scribe consumer/server.

setler homepage screenshot

Setler

Ruby Gem providing 'Feature Flags' to Rails 3/Ruby 1.9 apps.

GitTracker Screen Shot

git_tracker

Some simple tricks that make working with Pivotal Tracker even better... and easier... um, besier!

bootlace homepage screenshot

Bootlace

A simple gem for getting your development (or other) environments setup quickly!

zonebie homepage screenshot

Zonebie

Zonebie prevents bugs in code that deals with timezones by randomly assigning a zone on every run.

badger

Glymour

A gem for supervised Bayesian net structure learning. What the heck is that? Some sweet Open Source AI for helping Ruby programs learn.

mongomapper optimistic locking homepage screenshot

MongoMapper Optimistic Locking

When attempting to save a record, optimistic locking verifies that the record has not been modified by another process since it was earlier loaded into memory. If it has been modified and resaved since that time, an error is raised and the record must be reloaded and resaved again.

Optimistic locking is appropriate when the chance of a conflict is low and records can easily recover when a conflict does occur (e.g., simply by retrying the operations or by asking an end user to manually resolve the conflict).

DumbDelegator homepage screenshot

DumbDelegator

Delegator and SimpleDelegator in Ruby's stdlib are somewhat useful, but they pull in most of Kernel. This is not appropriate for many uses; for instance, delegation to Rails models. DumbDelegator is a solution to this.