The short version… I’ve been programming since the late 1970’s. I’ve worked in many different problem domains.
Open Source Projects
These are projects I created. I’ve made small contributions to several other projects over the years.
Back in the early years of the millenium, I created a web-based agile project management tool called XPlanner. XPlanner was a web-based project planning and tracking tool for agile development teams, primarily eXtreme Programming (XP) and Scrum teams. XPlanner was implemented using Java, JSP, and Struts, Hibernate and MySQL.
I developed the tool while working on a distributed XP team. At the time, it created a fair amount of controversy since the XP community was strongly pushing paper note cards for project planning and tracking.
It’s difficult to know for sure, but based on SourceForge statistics, it appears the number of XPlanner installations were probably over 100,000 around the world at one point.
I was the founder and the original development lead for the pure Java port of the open source QuickFIX FIX protocol engine. QuickFIX/J and the FIX protocol are widely used for financial market connectivity around the world.
The project is still active and being led by MacDonald Associates, an electronic trading software company.
These didn’t really get much traction, but I thought they were interesting at the time.
JMS Distributed Object Framework
The JMS Distributed Object Framework (JMS-DOF) was an experiment in supporting distributed object communication using the Java Messaging Service. The framework was intended to provide an alternative to technologies like CORBA and RMI in distributed applications that are centered around JMS-based communication. This was used in production at an electronic trading company.
Tornado/DB was a very lightweight (< 55 KB compiled) object-relation mapping (ORM) engine for Java. This library supported a commercial transaction processing application for years. The library was implemented using Objectivity D/B and was converted to Oracle with very minimal application changes. The library also provided the object mapping layer for the XPlanner project — a planning support tool for Xtreme Programming teams.