XMLPipeDB is an open source tool chain for importing XML data into relational databases, designed and developed in collaboration with Dr. Kam Dahlquist. It includes GenMAPP Builder, an application for creating GenMAPP database files from UniProt and Gene Ontology (GO) data sets.
Recourse is set of teaching methods that integrates elements of open source development (and good software engineering in general) into the undergraduate computer science curriculum. The teaching methods are accompanied by a hardware/software infrastructure that provides electronic and automation support for Recourse.
Partial support for this work is provided by the National Science Foundation’s Course, Curriculum, and Laboratory Improvement (CCLI) Program, Award No. 0511732.
Shag is a set of reusable classes that add to the functionality of Java Swing. The classes are meant to work with Swing and not to replace it. Features include enhanced modal dialogs, multiple concurrent activities, and a simple application framework.
openSourcePACS is a free, open source image referral, archiving, routing and viewing system. It adds functionality beyond conventional PACS by integrating wet read functions, implemented through DICOM Presentation State and Structured Reporting standards.
OpenJSGL reimplements key parts of OpenGL in JavaScript to allow 3D graphics in a Web browser without plug-ins. OpenJSGL uses the <canvas> tag as its viewport, and works in browsers that support <canvas>, such as Firefox, Safari/WebKit, and Opera.




Batchboard is an authoring/scripting application that exposes traditional command-line, stream I/O-based programs as graphical objects that can be operated upon using direct manipulation. Batchboard consists of two distinct applications: an authoring application scans available programs and analyzes available documentation such as command-line help and man pages to build a structured library of programs. The second application is a visual scripting environment, which uses the library produced by the authoring application to allow the user to browse and construct scripts via direct manipulation.



