Git Cherry Picking: Move small code patches across branches

December 4, 2009

I just performed my first 'git cherry-pick'. And it was great. A cherry-pick, in Git parlance, is an operation which moves a specific glob of changed code from one branch of the VCS to another. Not sure what that means? Read on for an explanation and an example. <!--break--> Git is a distributed version...

Streamlining Iterators in QueryPath 3.x

December 1, 2009

Work has officially begun on QueryPath 3.x. The upcoming release is focused on implementing and supporting many of the new features introduced in PHP 5.3, including enhanced SPL support, namespaces, closures, and phar archives.

In an earlier article, I examined the performance of various iteration...

Dave Hall: Review of "Drupal 6, JavaScript, and jQuery"

November 30, 2009

Dave Hall recently reviewed my Drupal 6, JavaScript, and jQuery book.

I found this observation particularly apt: This book is definitely not for the copy and paste coder, nor the developer who just wants ready made solutions they can quickly hack into an existing project. Some may disagree, but...

Iteration Techniques and Performance in QueryPath

November 26, 2009

QueryPath provides multiple methods of iterating. This article demonstrates the performance impact of various looping types. In this article, we are going to look at four different ways of iterating through the items wrapped by a QueryPath object:

  • Using QueryPath's iterator
  • Looping through DOMNode

Installing XDebug 2 on Mac OS 10.6 Snow Leopard (with PHP 5.3)

November 22, 2009

A while back, I wrote an extensive article on installing XDebug on OS X with MAMP. Now that I have Snow Leopard, I am making a new attempt at working with XDebug on OS X. This article discusses working with XDebug 2.0 or greater on Mac OS 10.6 with PHP 5.3, as packaged with OS X. Continue on for step...

PHP Developer's Snow Leopard Upgrade Notes

November 21, 2009

I'm upgrading to Snow Leopard, and I intend to switch from MAMP to the built-in PHP/Apache 2 configuration. As a PHP developer, there are several notable things that I wanted to track as I performed my upgrades. This article tracks those changes

My current OS 10.5 toolchain for PHP was this:

QueryPath Performance Optimizations on Reduncery

November 20, 2009

Continuing a trend on the non-evilness of optimization, this article discusses some methods of improving performance in QueryPath.

Early this week, a Twitter analysis tool called Reduncery was launched by a friend of mine. Reduncery calculates how much of a "redunce" a particular user is -- that...

The Fallacy of Premature Optimization - A must-read

November 19, 2009

Sir Tony Hoare historically remarked that, "premature optimization is the root of all evil." Have we let this view (or a mis-application or misinterpretation of it) dictate too much of our programming methodology? In his article The Fallacy of Premature Optimization, Randall Hyde argues that we have...

Reduncery: Calculating retweet idiocy

November 18, 2009

Ever get irritated by reading the same tweet multiple times, retweeted by the same old people? Ever wondered how effective re-tweeting is? Are new people really reading the tweet, or are the same people just being notified multiple times? You can now find out for sure with Reduncery.

Reduncery...

Creating a Custom Phing Task

November 17, 2009

Out of the box, Phing provides numerous features for creating high-powered source code management scripts. In an earlier post, I talked about metaprogramming in Phing, merely scratching the surface of what Phing can do. In this article, I want to illustrate how easy it is to extend Phing.

Phing can...