Main · About this site · Contact · Search · 
21 Nov 2008
 
Login

Register
Main Menu
Home Comics Pictures Recipes
Search

Other WOP Links
Matthew's Pages
del.icio.us
Error retrieving bookmarks from del.icio.us
Terror Alert
Terror Alert Level

About this site

What follows is a somewhat technical and highly geeky account of how this site is run and what programming languages I use to maintain it. Read it at your own risk!

This site uses a variety of open source technologies. For those of you unfamiliar with the term, I suggest reading the Open Source Definition and the Free Software Definition. Basically, open source technologies are usually free, both as in beer (cost) and in speech (liberty). They allow the end user to:

  1. Use the program for any purpose
  2. Study how the program works (this implies that the source code for the program will be freely available)
  3. Redistribute the program to others (freedom to copy)
  4. Modify the program and release the changes to the greater community (again, the implication that the source is made available)

I originally began this site as a personal web portal so that I could view information I needed for the work I do. However, when my family and I moved across the country from Montana to far northern New York, and later, Vermont, I discovered I needed a way to let my friends and extended family see pictures of the family and kids. I also realized I needed a way to meaningfully interact with these people across great distances.

I could have used PHP-Nuke or PostNuke, but both have a lot of extraneous features I didn't want to use (additionally, I now also know entirely too much about the lack of security in many of these products). So I came up with my own solution.

And then I did it again. And again.

This site currently utilizes the following technologies:

The site used perl in a previous incarnation.

At one point, the site is built using Cgiapp, a PHP library I ported from the perl module CGI::Application. This library is used to create controller classes when using the MVC Design Pattern. You can read more about Cgiapp on my blog.

Due to my involvement with Zend Framework, and specifically its MVC components, as well as my growing expertise with PHP 5's featureset, I have rewritten the site on ZF. It uses a variety of Zend components, including:

It makes heavy use of PHP 5's SimpleXML extension, which makes working with XML incredibly easy, as well as creative uses of Zend_Config and INI files. The result is a very performant site that can adapt to new needs and demands fairly easily.

The site uses several templates along with Cascading Style Sheets (CSS) to ensure a consistent look-and-feel across the site.

On a final note, all portions of the site that I have written now conform to XHTML 1 Transitional and CSS Level 2 specifications. this means that these pages will degrade gracefully. Ideally, you will see the layout as intended when viewing in IE 4+, Netscape 6+, Mozilla, Opera, and KHTML-based browsers (Konqueror, Safari); in other browsers, such as Netscape 4.x, text-based browsers, and handheld devices, you will see all the content, but not in the intended layout.

For more information, visit the World Wide Web Consortium web page.