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 pear.php.net, 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.
Better code quality through easy access to tools
(Reposted from the Empower Campaigns blog)
When developing an application, one of the keys to maintaining high productivity and quality is to make sure that you not only have the right tool set, but that you have easy access to it. With web applications, the usual needs are things like running Selenium tests, running unit tests and checking code coverage, profiling, and having links to documentation. Though I've talked previously about the cost of maintaining 100% code coverage, I'm convinced that it's worth it if you not only get proficient at the tools, but make them very easy to use. So when I started as the first developer here at Empower Campaigns a couple of months ago, I wanted to make sure these needs were addressed early on, before we had a large development team.
Importing foursquare checkins into SimpleGeo with PHP
SimpleGeo recently blogged about exploring foursquare check-ins on a map with their service. I'd been looking for an excuse to play with their API, so I decided to port the example in their blog (which is in python) to PHP. Read their blog first, as it covers the process in more detail. Just substitute their examples with the ones below.
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.
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 last.fm.
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 http://explosionsandboobs.com, but put my own spin on it. The result?
Twitter
Github
LinkedIn
Facebook
PEAR