Papers & Presentations
Atoms frequently share what they know in journals, at conferences, and in classrooms.
Open Source
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.
JAVASCRIPT
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.
IOS & OSX
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.
PCAN-USB
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.
MISCELLANEOUS
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
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.
HASTE
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.