Open Source

Fair is fair. We use others’ good stuff and contribute our own software tools in return.

Active Projects

Embedded Systems
  • CMock

    An automated mock object generator for C. Generate mock object code useful for interaction-based unit testing in C.

  • greatest

    A C unit testing library in 1 file. No dependencies, no dynamic allocation. ISC licensed.

  • heatshrink

    A data compression library for C embedded/hard real-time systems.

  • HexString

    Ruby String binary data conversion to/from hex strings. Provides two String extension methods: String#to_hex_string explodes a string of binary data into human-readable hex tuples, and String#to_byte_string converts a string of human-readable hex digits into the corresponding bytes.

  • Moxy

    An automated mock object generator for C++. Generate mock object code that lets you write interaction-based unit tests for your C++ classes. Note: Moxy uses Python version 2.4, GCCXML, and pygccxml (a Python class that reads in the XML from the GCCXML tool and presents the data in a nice structure).

  • socket99

    A wrapper library for the BSD sockets API with a nicer C99 interface.

  • theft

    Property-based testing for C.

  • Unity

    A unit test framework for C. A lightweight xUnit-style framework that possesses special features for embedded development.

  • Flexure

    Flexure is a library for helping you manage data and communicate with servers in Ember.js. It's designed to fill the niche between when Ember Data is too heavy or opinionated for your needs, but raw ajax and javascript objects are not enough. Its primary goal is to help you get your data into Ember objects that you can do useful things with, like define computed properties or manage simple relationships.

  • jquery_expand

    A structural template engine for jQuery.

  • jquery_expand_assets

    A Sprockets processor that wraps html in a jquery.expand function. It is specifically meant to work within the Rails asset pipeline. The processor outputs CoffeeScript, so you'll need to have the result be processed by the CoffeeScript processor.

  • Node Decoder Ring

    Allows you to use a JSON specification to decode Node.js Buffers into a Javascript object.

  • Save SVG as PNG

    A small JavaScript library to convert browser-based SVGs into rasterized PNG files.

  • motion-objection

    Wrapping Objection in RubyMotion

  • Objection

    A lightweight dependency injection framework for Objective-C for MacOS X and iOS. For those of you that have used Guice objection will feel familiar. Objection was built to stay out of your way and alleviate the need to maintain a large XML container or manually construct objects.
Ruby & Rails
  • autopsy

    A Ruby gem for gathering helpful artifacts when Capybara tests fail.

  • Fire Poll

    Simple polling in Ruby. When your block yields true, execution continues. When your block yields false, poll keeps trying until it gives up and raises an error.


    A Ruby language wrapper for PEAK System Technik’s PCAN-USB, a USB CAN bus adapter. Download the Ruby gem and type: gem install pcan at the command prompt in the same directory you downloaded the gem to install.

  • PiecePipe

    Helps you break your code into small interesting pieces and provides the glue for pipelining them together to provide elegant, readable code.
  • MethodToDelegate

    A C# library for partial application of methods into specified delegates.

  • odo

    odo is an atomic odometer for the command line. It atomically updates a count in a file, which will be created if not present. The count is text-formatted (e.g. "00012345\n"), and will be accurately incremented or reset even when multiple processes attempt to change the counter at the same time.

Retired Projects

These projects are no longer being updated.

  • DeepSet

    A small library that eases the processes of filling in deeply-nested data structures in .NET. We use it mostly in testing code for building complicated input and output data in a way that is easy to read and minimizes screen real estate in our editors. See this blog post for a description of its use.

  • Hardmock

    Mock objects for testing Ruby code. We released this tool to give ourselves more control and expressiveness in our mocking code than we were finding with then-current tools. Though we are no longer advancing Hardmock, it has been updated to work in Ruby 1.9 and is still available for download on Github and Rubygems.org.


    High-level Automated System Test Environment Our automated system testing framework, Haste, is available under the LGPL.

  • KioskBrowser

    A full-screen, kiosk-oriented browser that features an on-screen keyboard. It was developed using the KDE Libraries and is meant for use in touch screen kiosks where the main presentation layer is via HTML pages.

  • LaszloMock

    Provides Mock Objects for laszlo objects in LzUnit tests by generating them on the fly using JavaScript’s prototype. Laszlo Mock is a great fit for Test Driven Development. Written for use with OpenLaszlo 3.3.3. Available under the terms of the Common Public License.

  • Matchure

    A pattern-matching library for clojure. It offers if, cond, and function constructs and allows destructuring and matching for most built-in types.

  • OpenStep/VMWare Display Driver

    An OpenStep display driver written to support the virtual display hardware in VMWare.

  • Systir

    System testing in Ruby. Write and run automated system tests in a domain specific language (DSL) you design, as you need it.