Here are some projects that I have online. Being in the Nintendo generation with the attention span of a hamster on crack, I like playing with lots of technology. It seems that my code only survives if it is on a remote version control system, so I like to have even the most trivial projects up online.

Kant Builder | zero configuration build goodies

Kant builder is an extremely thin veneer atop ant. It all started by me attending a session at JavaOne 2007 that covered lots of neat tools for doing code analysis and reporting. Fast forward a couple weeks, I was on the job and a co-worker informed me that he spent a few hours debugging some code I wrote that looked something like this:

  if(condition);
  {
  	a += b;
  }

Okay, not the end of the world, we've all done it. But it's 2007, there's gotta be solutions out there.

I decided to play with a bunch of different code analysis tools in ant but I didn't want the limitation of applying it to just one of my projects. So I wrote it so it could be applied to any Java project (that conforms to my way of setting up directories) without doing any configuration.

By conforming Java project I mean your source is in src, your tests are in test, your jar files are in lib. You get the idea. So going into any conforming Java project and running 'kant' without doing any configuration and you get....

http://code.google.com/p/kant-build/

Java Sandbox | playing with Java

Java Sandbox is a place for me to just play with Java features and APIs that I want to learn or even simple JDK stuff. Like when Java 5 came out I wanted to play with the new for loop, generics and all that.

http://sourceforge.net/projects/javasandbox

Spring Sandbox | playing with Spring

Spring Sandbox is just a project to play with Spring. There is a lot to Spring. I've done plenty of dependency injection with it but other than that I don't know too much. This is an ongoing effort to change that.

http://code.google.com/p/springsandbox

Borg 9 | Java persistence

Before there was Hibernate I was doing J2EE development and we had a custom persistence layer that served the purpose of mapping objects to the relational database. It was a lot of code, today we would obviously use Hibernate. But there were some good things about the framework; a very predictable API and adherance to the DAO/ DTO pattern as well as the query by example pattern.

Borg9 was my attempt to see how easy I could get Hibernate to behave the same way. I was surprised, the persistence layer required very little code. This code base is pre-annotations so I use XDoclet to create the Hibernate mapping file. This doesn't represent the state of the art in the Hibernate world.

http://sourceforge.net/projects/borg9

Pix | web gallery in Python

Pix is a web based gallery system written in Python. There are lots of great projects that do the same thing a lot better but they can be complicated to set up and configure.

Gallery (the cadillac of online image systems) has an amazing web based UI for managing your photos. I wanted a system that was all file based. I like working on the command line, I want to organize things in directories. So Pix just sucks up a directory, traversing it to figure out your structure.

I stopped using Pix because I really like the social aspects of Flickr. Another coder developed a system based on Pix called QuickyPix, it handles video as well, kinda cool.

http://sourceforge.net/projects/pix