What do developers do in their free time? More development.

As time allows or need dictates I have created various applications and worked on open source projects to fill a void, solve a problem or just plain experiment. Hopefully this list will continue to grow.


Some of these are AIR based applications so you will need the AIR Runtime installed.

Skinnable Minimal Components – A skinnable version of Bit 101′s Minimal Components

If anyone has used Minimal Components by Keith Peters you know what a great set of componets they are. The only knock against them was the fact they could not be skinned. Until now.

In order to make the components more flexible from a visual standpoint yet retain the minimal footprint I developed a basic set of classes for drawing shapes and fills and the required logic to handle skinning was added. If you have worked with Flex 4 or Degrafa it should be quite obvious, after looking at the source code, how the components and skins interact and how skins are created. Using either programmatic (ie drawing api) or embedded images you can now easily skin the Minimal Components to your heart’s desire. You can download the project source from Github.

More info

Flex for Android – Sample applications for Android devices

As a very earlier adopter of Flex (and Flash) development on Android I created a set of sample applications to showcase the various capabilities available to developers on Android devices. The sample applications make use of the following sensors and capabilities:

  • Accelerometer
  • Touch
  • Device Orientation
  • Microphone
  • GPS
  • Camera
  • Keyboard
  • Voice recognition

You can find the source code for all the demo applications here.

More info

XIFF – AS3 Library for XMPP clients

During work on an complex RIA a requirement for instant messaging and sharing became evident. A quick scan of the internet provided no usable AS3 libraries for connecting to XMPP servers, however there was a AS2 version of the XIFF library. Along with a fellow developer, we ported the AS2 version to AS3 and made it available to the open source community. You can download it here.

More info

Data Import Tool

As they say necessity is the mother of all invention. In this case I need a simple tool to prep comma delimited files before importing them into a MySQL database. I had tried using the tools provided in PhpMyAdmin for importing csv and tab delimited text files without any luck. Each file required some tweaks for string delimiting, column names, etc. After a few hours of frustration I decided to create a tool to convert csv and tab delimited text files into import or update SQL statements, which can easily be used in any RDBMS.

More info

Value Object Creator

One of the tedious tasks in creating a data intensive application is having to create value objects for all the business objects the application needs to work with. Typically these objects originate in a database somewhere and there is no easy way to automatically generate value objects that correspond to the database entities … until now. The Value Object Creator allows you to easily convert database entities to AS3 classes. Run a simple SQL query (samples are provided in the application), go through 3 simple steps, and presto, you have nicely formatted AS3 value object classes.

More info

Photo Mosaic

I have always thought image mosaics were pretty neat, not just because of the way they look, but because of the processes that are used to create the mosaic. With a better grasp on what is possible with images using the BitmapData class in Flash and a plethora of images available via the Flickr API I decided to try developing a Flash based image mosaic application.

More info

Url Decoder

I needed to be able to quickly decode long url strings. I tried a few of the browser based tools but you still end up looking at a long url string, it just looks a little nicer with all the html encoding removed. What I really needed was a list of all the name/value pairs.

Cue mother of invention and Adobe AIR. I whipped up a simple little app that takes a url query string and decodes it into a nice list of names and values, much easier to read. You can either paste a query string into the text area or drag and drop one from the browser or anywhere else.

More info