Other than the Rude Boy Enterprises suite of Web sites, I have created and worked on several other Web-based technologies and sites throughout the years. Here are just a few of the more ambitious projects. A few of my favorite of these projects, which are not listed in the 'projects' section of this site, are listed below.
- Senior project on Rapid Compression and Comparison (SPORC^2)
Link: (permission pending)
The Idea: Determine whether the normalized compression distance can be calculated faster on modern graphics hardware (GPUs), and determine the optimal compression algorithm for execution on the GPU.
The Challenge: Originally, my partner and I planned on porting existing compression code to work on nVidia graphics cards, but found out most of the existing code would not be suited to port. We determined that creating our own compression algorithm, based on existing algorithms and specifically suited for modern GPUs, would be more efficient and give us the control we needed.
- The North Carolina Academy of Sciences
The Idea: With the NCAS site, I used server-side includes to create a basic "wrapper" to enable ease of updates. I called this wrapper, "coccoon" (yes - two 'c's). I then used coccoon as a basis for the (current) redesign of the main Rude Boy Enterprises site, and added a host of other features, including theme support.
The Challenge: NCAS is made up of three sections, so I needed a mechanism to enable customization of each section while retaining the look and feel accross all three. Using this mechanism, NCAS can add as many sections as it needs, and still retain uniformity.
- The Summer in Spain Program
The Idea: Dr. Will Derusha was in charge of the 2008 Summer in Spain program and had created a basic web site using Dreamweaver. Since Dr. Derusha was not available for the 2009 program, the site needed to be updated.
The Challenge: The original site was written using an old standard for page layout - tables. This is fine if one person is maintaining the site and if it will not be viewed by many others. However, according to the W3C specifications, tables are only to be used as a means of displaying tabular data - not layout. Nested tables make for updating the site extremely difficult. So I started from scratch and redesigned the site to look, pixel for pixel, exactly like the original.
I added in a few Web 2.0 features, as well. There is now a Google Map embedded in the Housing page, which shows the location of the houses, all relevant transit stops, and all locations listed in the itinerary. There is also a Google Calendar with the itinerary, which students and faculty can use with their mobile devices. Upon finishing, I guided the faculty as to how to use and update these features.
The Challenge: I needed a way to enable other, non-technical people to use these effects without hassle. So I started using the excellent jQuery toolkit to more easily develop this idea. It allowed me to use classes to determine what effect to apply to what element; for example, image rotation is applied to any element that has a class of webFX_Rotation. This simply rotates all the child elements, using a fade in/out routine.
- The Bit Engine
The Idea: A few semesters ago, I was taking a class in Web Development (I know - easy 'A'), as well as a class in database design. For each class, we could choose our own final project project. I decided to create a Web-based task manager, as I was having to keep a written log at work and wanted something more flexible than paper.
The Challenge: Since this project had to satisfy both the requirements for my database class and for my web design class, I had to design this project with several parties in mind. I also had to create a means for my bosses to check the site so they could keep track of my progress on the many tasks I had at work. I used the LAMP stack for this project, as I already had the facilities available on my server. The 'P' for this project was Perl, and set up SSL on my server for that subdomain.
Recently, I have updated my Web server's software and had to update all the database routines for the new libraries' APIs.