Components
Zend Framework 1.9.5
A PHP MVC application framework. I really like the architecture and completeness of this framework. The documentation is superb and it promotes best practices for the development of PHP web applications.
jQuery 1.3
Lightweight Javascript library. This helps relieve the headaches that usually come with writing Javascript (DOM traversal, effects, class manipulation). This is hosted at Google AJAX Libraries API.
Subversion
I maintain this site's source code on subversion. Hopefully this will help visitors learn how to get a basic site running with the Zend Framework. It also keeps me especially mindful of the code I write since it is available to the public. The subversion server is provided by Dreamhost. I also maintain a changelog of updates which are read from svn log.
Google AJAX Libraries API
I use this to offload the loading of SWFObject and jQuery.
JW FLV MEDIA PLAYER
Player provided through Dreamhost.
Hosting

Their webpanel can't be beat. I also have unlimited storage and bandwidth.
Validation
Software
Zend Framework provides a great model for creating a well structured and maintainable website. I leverage the MVC pattern to organize the presentation and logic of this site.| Zend Framework 1.9.5 Module | Usage |
|---|---|
| Zend_Cache | I use Zend_Cache to both cache the table metadata fetched by Zend_Db_Table and to do full page caching. I use a cache that does not expire and I just manually clear the cache when I want to move an update from development to production. The performance gains are significant but are still limited by the lack of a PHP bytecode cache. The current performance improvement would be most noticeable under high load. |
| Zend_Config | I store the database credentials in an .ini file that is parsed by Zend_Config. |
| Zend_Controller | The (C) in MVC. All URL dispatching is done through Zend_Controller. |
| Zend_Db | The (M) in MVC. Currently only musings are stored in the database. Initially I did not want to have a database component, but after realizing that musings had more metadata then a code file could manage, I decided to use a database table. I quelled my performance worries by using Zend_Cache. |
| Zend_Feed | I created a custom feed to serve musings in ATOM format. |
| Zend_Form | Zend_Form is minimally used to drive the contact form. |
| Zend_Layout | The header and footer of the site are managed with Zend_Layout. It is quite helpful to manage the entire site's layout with a single file and well positioned placeholders. |
| Zend_Loader | Zend_Loader::registerAutoload(); is used on this site. This feature is quite welcomed since it keeps me from writing lists of require_once'es. Though, without a competent use of a PHP bytecode cache (Dreamhost does not provide PECL and the custom PHP installation does not work for me) this can impede the performance of the site. |
| Zend_Mail | This is used to mail me messages submitted through the contact form. The usage is remarkable short yet accomplishes all I need. |
| Zend_OpenId | |
| Zend_Session | Zend_Session is simply used to keep track of the last header image the user has seen to prevent them from seeing the same header image multiple times in a row. |
| Zend_View | The (V) in MVC. |
