vcs

First used: 
2007
Experience: 
4

When I first started at BDI, there was no VCS used on any systems and a lot of development work was done live on the server. I quickly fixed this and implemented CVS on all systems to better manage projects and prevent live edits from impacting customers.

After a few months of CVS, I quickly became annoyed with the system and it's tagging / branching system and transitioned all systems over to subversion. I much preferred the way subversion handled tagging in an arbitrary fashion and stayed with it for several years.

In 2011, I was forced to learn git when I began the statepicker module, since that was on Drupal.org. I had a github.org profile already but had not used it. I loved the distributed nature of git and began my new projects on git and began to transition away from subversion.

Fusion

Fusion is a browser based space shooter written in JavaScript and making heavy use of the HTML 5 canvas element. It began life as a Space Invaders clone, but has shifted more towards a Tower Defense style game as it is developed. I wrote nearly all of the code, and the art was done by George Emond.

You control your ship by using the left and right arrow keys and fire by hitting the space bar. Your goal is to protect your generators from the waves of incoming ships. Between each wave, you are able to purchase upgrades for your ship, shields and generators.

Corporate Intranet

During my time at BDI, I built and maintained a large corporate intranet that managed over 7,000 clients and 500 employees (as of Nov 2011). The system was built from scratch on a custom PHP framework that was heavily modified over the years to handle the changes in requirements. The system started as a pure PHP / HTML system, but incorporated XSL in 2008 when I began to use that heavily. The system allows both employees and clients to log on to view their status, post support tickets, view notes and many other features.

DOMi

DOMi is a PHP library that uses the facade pattern to blend the DOMDocument, DOMXPath, and XSLTProcessor into a single object. It also adds additional functionality for converting PHP data types of any complexity into an XML tree and for rendering this XML tree with an XSL stylesheet.

The project was started due to a lack of a good library for working with XML within PHP. At the time, my company was using XML and XSL for our intranet system. In order to more easily work with XML, DOMi was created to simplify the process of converting an object to an array.

Tools: