“Don’t Repeat Yourself”

During the course of a project, or between projects, I have found patterns that repeat themselves. Since I am the true believer of
the DRY principle, I started collecting them, and created a project whenever I see that the benefit
outweighed the cost.

The result are the following projects.

BuildMaster

http://buildmaster.rubyforge.org

The project that can reduce the size of your project release script greatly.

Also the project that can help build a HTML based web site easily, so that you can deploy them to ANY server that supports HTML. This
site is also powered by BuildMaster.

Cotta

http://cotta.sourceforge.net/

A lightweight Java File IO related framework with the principle of Domain Driven and Test Driven.
See Cotta Power for the initial thoughts.

This is also the project that embraced the Behaviour Driven Development.

Selenium-Ruby

http://selenium.rubyforge.org

A ruby project that wraps the popular Selenium RC project into a gem and provides additional classes for
using Selenium ruby driver to write web testing. This is where I started experimenting the idea of Domain Based Web Testing

jBehave

http://www.jbehave.org

A testing framework created by Dan North that carries the mission of bringing test-driven development to its full potential:
Behaviour Driven.

I am currently a committer on this project.

Eclipse plugin for IntelliJ keymapping

A little ‘keymap setting’ plugin that helps anyone who has to use both IDE at the same time. To install, configure your Eclipse to update from http://www.shaneduan.com/eclipse


Old Projects

These are the projects that I am not actively work on at the moment.

DbFixture

http://dbfixture.public.thoughtworks.org/

A lightweight testing fixture framework that helps database related testing using HSQLDB.

The idea of DbFixture came out of two projects that we have worked on, both of which involve building our own
data access layer for special reason. After the end of the second project, we put together the requirement and wrote this library.

FitTask

http://fittask.sourceforge.net

An Apache ANT task for Fitnesse to make the integration of Fitnesse to
Continuous Integration easier.

jbuilder-opentools

https://jbuilder-opentools.dev.java.net/

The projects of JBuilder Opentool community during the period when JBuilder is still JBuilder.

XmlFixture

xmlfixture.html

A small library that can be used for XML content assertions.