My Github Page

Here you'll find all sorts of code and projects I've unleashed upon the world. A lot of it is quite old to be honest, but it was just sitting on my server at home not doing anyone any good, so I figured I'd throw it up on good 'ole Github just in case it's of use to anyone. Not ALL of it is old, though: you'll also find the code for my various books, and some of my open-source projects that are listed below there as well. Highlight: I was an Arctic Code Vault Contributor, so my digital insanity will survive World War III and thus can be laughed at by future generations of proto-humans that emerge from the radioactive wasteland of Earth's history. I expect some of the Commodore 64 stuff will be of particular interest to them when they get around to re-inventing 8-bit computers.


The Java Web Parts (JWP) project (includes APT)

JWP is a project that provides small, reusable and largely independant Java components of interest to all web application developers. You can think of this project as being similar to the Jakarta Commons projects. JWP is comprised o f a number of packages, each supplied in their own individual JAR, with little (ideally no) cross-dependency. The most famous package, and by far the most popular, is the AjaxParts Taglib (APT), which allows for adding Ajax functionality to JSP-based webapps without having to write ANY JavaScript yourself. Frank founded and still leads this project.



DataVision is an Open Source reporting tool similar to Crystal Reports. Reports can be designed using a drag-and-drop GUI. They may be run, viewed, and printed from the application or exported as HTML, XML, PDF, Excel, LaTeX2e, DocBook, or tab- or comma-delimited text files. The output files produced by LaTeX2e and DocBook can in turn be used to produce PDF, text, HTML, PostScript, and more. DataVision is written in Java and runs almost anywhere. It can generate reports from databases or text data files. Any database with an available JDBC driver should work: Oracle, PostgreSQL, MySQL, Informix, hsqldb, Microsoft Access, Progress, and more. Columns read from text files can be separated by any character. DataVision was originally developed by Jim Menard but is now maintained and developed by Frank.


Struts Applications

The goals of the Struts Applications Project are to provide e xample Struts applications, to host Struts extensions and utilities, and to put the code out where the Community can use it, fix it, and maintain it. Frank has contributed a number of applications including the original Struts-centric version of AjaxTags, and AjaxChat, a chat server/client written on top of Struts and utilizing Ajax techniques.


Struts Web Services Enablement Projects (StrutsWS)

This project provides a simple mechanism whereby existing business logic components of a Struts-based application can be exposed as rudimentary Web Services without the need to change any existing application code. Frank established this project but is not actively developing it at this time.



PocketFrog is *THE* game library to rapidly write blazing fast games on the Pocket PC platform. It is implemented in C++ with an object oriented design. If your application needs to harness the raw power of your Pocket PC graphics, PocketFrog is for you. Frank contributed some updates to this project and set up the SourceForge project for it and serves as administrator there.



Planet Yazaar creates and maintains community-supported additions to the Yahoo! User Interface (YUI) Library (Yahoo + Bazaar = Yazaar). Yazaar offers three key services to the YUI community: A vehicle for accepting and maintaining contributor extensions in a common location, either in the form of code or documentation ... 'Soup to nuts' project documentation, including as coding style guidelines and build systems ... A public repository with version to version change logs. Frank contributed an example application and is a committer on this project.


Struts2 DataVision Plugin

A Struts2 plugin providing integration with the open-source reporting package DataVision. This plugin provides a new Result type and package for Struts2 that allows you to easy integrate with DataVision. Configuration is very easy (nearly everything has an intelligent default, you could literally get away with only a single configuration parameter) yet flexible (there are multiple ways to configure all parameters). With DataVision in your Struts2 application, you can produce PDF, Excel, LaTeX, DocBook, comma-separated and other formatted output for display or download quickly and easily. Frank created this plugin and set up the Google Code project.


Struts2 APT Plugin

The AjaxParts Taglib (APT) is a component of the Java Web Parts (JWP) project that allows for 100% declarative (read: no Javascript coding required!) AJAX functionality within a Java-based webapp. It is especially a great solution for situations where you have an existing application that you need to add some AJAX to (but it's very good for new development too of course!) This project is a plugin for Struts2 that allows quick and easy usage of APT with Struts2 in a typical plugin form. Frank created this plugin and set up the Google Code project.


Apache Commons IO

I've had a few patches accepted and committed in this project (no details here, you'll have to dig through the commit logs or the source code itself to find out!)


Palm webOS Examples

A project I started that is meant to be a repository for Palm webOS code examples. Currently it hosts a first cut at a benchmark app for the Pre, specifically to research performance issues around the canvas tag and GC impact on game development, but will host more later (one other developer has now joined, if anyone else wants in, contact me!)


Palm GitHub Project

I'm not actually a member of this project per se, but I did contribute some code there, specifically the webOS game Far Out Fowl that I wrote an article about for Palm's Developer Network (see the section on books and articles for information and link).


Packt Publishing Open Source Awards

JavaScript Library Judges

In 2010 I was one of the judges in the Packt Publishing Open Source Awards in the JavaScript Library category.