carpeliam @ GitHub

More Details

GitHub is such a nice place to put stuff, particularly code stuff. Here are a few of the things I put on GitHub these days:

  • Governor

    Because "Blogojevich" would be too tough to remember. Governor is a pluggable blogging system for Ruby on Rails v3. It's built for Rails application developers who want to easily tack on a blog to their existing Rails app while still maintaining a fine level of control. There's a built-in plugin architecture in Governor, which allows you to hook in to various plugin points at every level of the service. Check the list of plugins to see what's currently available.

  • labelvis

    Labelvis is a jQuery label visualization plugin for rock stars. You have your choice of pronounciations, either "label viz" or "Lab Elvis". Up to you. Labelvis is similar to other plugins that add labels to your textboxes (like labelify), but when you click inside the text field, a little box with the label slides up and sits nicely on top of the field. This is so you don't forget what field you're editing. This is helpful for really forgetful people, or in large forms that you'll need to edit later, and the default labels will have long since been replaced by whatever content your users have put into these fields.

Eclipse-Based Object Bench

More Details

This was my senior project at WPI that I worked on during my junior year. Professor Gary Pollice was interested in sponsoring an MQP involving porting the Object Bench functionality over from BlueJ to Eclipse. BlueJ is an IDE aimed at teaching Java to students new to computer science. The user edits classes using a UML-like editor, and java code is created in the background. The user can also create instances of objects and place them in an "object bench", and manipulate them in a visual way.

BlueJ is a decent IDE for beginners, but not so much if you actually want to write code. Gary wanted to port the useful functionality of the object bench over to Eclipse, which has an extensive plug-in architecture and is widely popular. My project partner and I ended up developing a very capable version of the object bench in Eclipse that was seamlessly integrated with the rest of the environment.

The Gompei Equation

More Details

In 2002, the WPI Game Development Club wanted to build a Myst-like game set on the WPI campus. I proposed using Flash as a development medium, due to its ease of interaction and rich scriptability, as well as most likely being pre-installed in most client machines. We first worked on a pilot prototype to float by the WPI administration. We had a script and some pictures, and I wrote the necessary code in Flash that made it into a playable game.

After completing the demo and getting some feedback, I assumed the responsibility of Lead Programmer on the project when a few other people came on board. The final product would have a more involved storyline as well as a richer user experience. I sought out to write an API that would allow others to drop in scenes and add to the game without having to know Flash.

The final product ended up being distributed to freshmen at the activities fair. It helped to publicize the GDC as well as help orient freshmen at WPI.


Hungry Worcester

More Details

I was contracted to design and build a website that would bring the restaurants of Worcester Massachusetts into the dorm rooms of college kids across the city. Up until the point that the website was publicly released, I was in charge of building a Ruby on Rails web application that be home to both college kids looking for a bite to eat as well as restaurant owners and site administrators looking to publicize and publish their menus. Features of the site included:

  • building a food search engine
  • a blog to further interaction with users
  • location-aware data (for finding nearby restaurants)
  • time-aware data (for finding restaurants that are currently open)
  • a restaurant rating and review system
  • automatic mobile phone detection (mobile browsers are automatically served a version of the site that is mobile phone compatible)
  • authentication and authorization schemes (making sure that regular users can't edit the menus and that guest reviewers are served a CAPTCHA)
  • plenty more.

WPI Game Development Club

More Details

Despite a role as lead developer with the Gompei Equation mentioned above, I don't consider myself much of a game programmer; I originally joined the WPI Game Development Club so that I might boost my C/C++ skills. Instead, I ended up becoming the first webmaster for the GDC, and implemented a website using Apache's Cocoon 2.0, built on top of Java, XML, and XSLT technologies. I assembled and led both a front-end design team and a back-end development team. As the members of my teams were undergraduate students with varying levels of skills in these areas, I also gave tutorial seminars to bring their skill levels up to the point where they could begin to contribute.

The website was designed to face both members and visitors at the same time, serving the distinctly different needs of both of these groups simultaneously. I had grand ideas to unify the club through the website, where project leaders could administer their projects through the same interface that the secretary posted meeting minutes or the historian posted news articles.

As the club was just getting off the ground, requirements gathering was a deep and on-going process. Various features included:

  • A method for posting events, announcements, and news articles
  • A home-grown forum system, intimately tied to the objects which were relevant to the club
  • An extensible roles/permissisons scheme
  • A method for creating/modifying/displaying development teams and their projects

Many features of an application framework that may now be considered standard were implemented within the application, such as a data layer for both wrapping relational models in Java objects and representing underlying JDBC calls.


VLI/Hungry Worcester

More Details
In addition to building the back-end for Hungry Worcester, I was also responsible for designing various graphical elements, such as flyers, business cards, logos, et cetera. (VLI is the parent company that operates HungryWorcester.com.)


More Details
Over the years, I've engaged in various personal graphic or photographic projects for one reason or another. All of these have been for my own purposes, generally for the purpose of advancing my skillset.