Bill Shupp Software engineer, photographer, musician, space geek


GitHub Pages + Pirum = Easy PEAR Channel

I prefer managing my non-PEAR PHP dependencies (such as Zend Framework and PHPUnit) through PEAR channels when possible.  It's much easier to manage component installation, upgrades, etc..  Managing and hosting a PEAR channel (using the Chiara_PEAR_Server) is not always that simple, and can add too much overhead for small projects.  I like how Zend Framework leveraged google code to host its PEAR channel, and was able to update it simply through pushing to SVN, avoiding a web interface.  Since I've been accumulating some components recently that really don't fit into, I figured it was time set up a PEAR channel for distributing them, but didn't want to host it myself or have to use a web interface.   Turns out, it's really easy to do now.

Please follow and like us:

Pragmatic tips for unit testing in PHP

Recently I've been hearing a lot of differing opinions about unit testing.  Some people just don't believe in it at all, others think the value it provides is only part of the picture, and that its cost should be weighed accordingly.  Some think that 100% test coverage should be the goal for high quality software.  I personally think the cost of unit testing 100% of your code is worth it, but only if you can do it efficiently.  And that's the catch; there's a learning curve to become proficient at unit testing, especially with PHPUnit, the most prominent unit testing framework for PHP.  Unit testing should never take more than 20-30% of your overall coding time, if you do it right.

Please follow and like us:

MogileFS, Zend Framework, Boobs, and Kittens

An upcoming side project of mine requires the use of MogileFS and Zend Framework.  MogileFS is an open source distributed file system, meant to scale up to many millions of files without a single point of failure.  It's currently used by the likes of Digg and

Though I was already familiar with using MogileFS clients in php and python at work, the operations team actually runs the servers.   I wanted to get some experience with managing MogileFS itself (trackers, mogstored, mysql), and hopefully have a better understanding of how it all worked together.  While I was already familiar with Zend Framework, I'd never used it to serve images.  So, I figured I should build a quick prototype using both.  But what to build?  I decided to take inspiration from the notorious, but put my own spin on it.  The result?

Please follow and like us:

2009 Year in Review

I've been thinking about starting a blog for a while, and since it's the beginning of a new year, I thought I'd start out with a list of highlights from last year.  So here's my 2009 Year in Review:

Please follow and like us: