my portfolio
4Monmouth.com
http://4monmouth.com
Written on the Zend Platform this community portal site offers a number of features including the ability to create and administer ones own 'miniweb'
All end user administration is done on the front end using AJAX and JSON while a robust backend CMS allows the owners to update data and administer a complete business logic including updates and user rights.
Playboy Store
http://playboystore.com
This was a site on which I performed strictly back-end work, the most technical being the integration of the Epsilon data tracking system.
Due to platform changes the entire logistics of how the MySQL 4 database was drilled for the large chunks of information required had to be rewritten to accommodate for weekly statistical feeds. This was accomplished by writing a library of php 4 objects (many of which went on to streamlinie other projects). In addition, to compensate for legacy data obtained before the platform switch I was responsible for remapping and porting over 9 million records to our production servers.
I was also assigned the task of integrating the Linkshare affiliate system into the site, multiple modifications to the checkout process and was on the team responsible for the platform cutover.
i711
http://www.i711.com/vlogs/logs.php
It's easy to forget just how shortly ago streaming video was all the rage. To capitalize on this, and also reach the deaf community I was asked by i711.com to lay the groundwork for a weekly streaming video blog. At the time Flash 8 had yet to be released, and so I wrote the prototype in Flex but the idea was rejected since no other in house developers were yet versed . As a result I took to building/extending components to achieve the goal.
In doing so I looked to extend the FLVPlayback Component to give the user the choice of captioned video via the use of cue points. I did further research to discover a free program (Magpie) for the deaf that let them caption video and export the captions to an xml format. The next logical step was to have the cue points fired by the imported XML file. Within a short time it was completed and working like a charm.
Once the proof-of-concept was in place a Flash Media Server service was secured and I became responsible for the handling of video content, including storage, compression and small amounts of editing.
With the front end in place attention was then turned to the backend where I implemented communication between the Flash Movie and php/mySQL via javascript to track all pertinent statistics (ex, who came, where did they come from, did they watch the complete vlog, at what point did they click out, etc..). The information was regularly used by marketing to improve the vlog product. It has gone on to be a successful venture drawing many users and increasing the number registered users since registration is required to comment.
On the slightly more mundane side I also implemented the 'WEB 2.0" features ( sliding boxes, no refresh POSTS ), that marketing so loves, using a combination of the prototype and scriptaculous javascript libraries.
The captioning option has since been removed as the film producer started to actually place the captions inside the movie but the rest of the project is still going strong in it's second year.
Rutgers University
http://fasn.rutgers.edu
The buzzword here was 'Administration'. Basically Rutgers needed a small customized CMS to control news, events, the calendar and most importantly the navigation system.
To begin, the nav was to be written in Flash and so I would need to write a nav component that was populated at runtime and could be controlled and edited on the backend by an easy to use interface. This was accomplished via a mixture of php and mySQL, integrated with Flash on the front end and AJAX on the backend. The menu is easy to arrange and edit while harboring the ability for unlimited category nesting.
The news and announcement tools are pretty straight forward html/php/mysql. News/announcements are entered into a database and retrieved via php depending upon certain conditions set in the POST/GET variables. The backend is a nice little tricked out WEB 2.0 administrative interface with access control that lets users arrange and edit items as if using a software program versus a web interlace. No page refreshes and items can be dragged into order.
For the calendar section I implemented a solution that allows those with permissions to ftp their iCalendar file to the server and have the events automatically added to the public calendar interface. This allows users to create calendars locally and use them for multiple purposes.
Finally, all of this was written for portability as these components will eventually be used for multiple departments. That being said, minus a few small config details, the code is essentially drag and drop
Go America HAC sStore
http://secure.goamerica.com/store/index.php
In this case I was given a mach-up, html frame, small style sheet and about 3 weeks to get this site up.
This left me pretty much responsible for inserting all copy and writing forms, css, and javascript, while ensuring cross-browser standardization. For the back end I needed to write all dynamic content in php interfacing with stored procedures on an MSSQL server.
At the time I was playing around a lot with the whole ROR thing so I approached the php aspect from a similar paradigm. Records are pulled from the database, extended with a base set of methods and evaluated as objects themselves within the code. A controller is responsible for handling the merge of the seperate model components with the view scripts. All code is written in php5 and encapsulated into organized libraries. During the process I was required to implement shipping API's and internal interfaces that determined the price of contracts. Finally it all had to interact with the XML based order processing system.
As usual prototype and scriptaculous were an intricate part of my js toolkit. I wouldn't go as far as saying this is a js intensive site but the stuff that is in there was written by me.
HOA
http://www.hoannj.com/hoa/index.php
This was a pretty fun job at the time since the world was still getting used to AS2 and the issue of tying a flash movie into the browser was still of concern and experiment. Now days that happens by default but at the time it was a serious knock on flash that users were denied the ability to navigate forward and back by 'traditional' means.
In this case the client wanted to get around that AND the additional downfall of not being able to tailor the metadata to the requested information. I was awarded the job after presenting my concept on how to accomplish that task.
The solution was two fold. After doing some research I read about tracking history via an iframe and so I went about my take on this method. In this case a flash remote object is used to communicate state changes to the root movie. These interchanges of information are controlled by triggering the iframe via flash and js, then directing it to render a hidden page whose job is to take a snapshot of the state and pass it when the time comes. This creates a record in the browser history which can now be navigated via the browser controls, each jump causing the iframe to change and communicate the state (captured via GET vars) to the remote object and eventually the root movie.
In addition, each nav item is given an id at run time that can be used to enter the movie at a given state, eliminating the need for the user to enter at the movies intro every time. This also gives the additional benefit of being able to control metadata and help search rankings. Now if a link containing one of those entry points is posted and a spider follows that it will receive metadata tailored to that sub category, whereas without this ability the spider would always receive the same tags.
Buoy Bar
http://richardmowatt.com/zips/BuoyBar.zip
'Real programmers can write assembly code in any language.' -- Larry Wall (creator of PERL)
These were some of the first words I read when I got interested in programming (through PERL of course). With them in mind, and some PERL projects under my belt I decided to take a foray into the exciting world of Microsoft, choosing VB.NET as my framework.
I was really excited to build an actual software application and found VB easy to use and understand after only a few dives into the documentation.
Living at the beach at the time and being an avid surfer I decided to write a desktop ticker that would communicate with a server side script via XML and report back on swell and storm conditions. Having grown up on the water I know that weather information rules the day since no one wants to miss the hidden swell! VB.net allowed me to separate the logic between application and information which was important to me since I did not want someone to specifically have a browser open for this report. The ticker would be an install and run independent of any other application.
On the server side I had a cron running a PERL script I had co-written to parse 4 local NOAA buoys (essentially indicators of wave height) for data of specific concern to surfers, boaters and fishermen (this was pre-RSS). A complex set of regular expressions went and searched the html for specific indicators, these lines were returned and eventually written to an XML file which the desktop software queried in 15 minute intervals for updates.
In addition the bar allows complete customization including adjusting the scroll speed, background and text colors as well as offering a number of quick links relevant to users. These links are also pulled from remote XML files so that updates can be centralized and implemented w/o a software update.
Unfortunately at the moment, due to changes in the structure of the reporting sites (remember this was 5 years ago, eons in dev time!), and a lack of time to rewrite the regex, the XML hasnt been updated in quite a while. I hope to get back to this since it was met w/ great enthusiasm. In the meantime a sample is available here.



