Rob Allen’s profile

Author of Zend Framework in Action. Husband. Father of two sons.

Latest Comments


(Blowing my own trumpted here a little, sorry Chris!)

My Shorter Links WordPress plugin creates HTTP headers (X-Rev-Canonical and Link) along with the <link> element. An example can be seen at



Posted in Save the Internet with rev="canonical".

Sun, 12 Apr 2009 at 21:39:58 GMT


Of course, without a rel parameter, it is unclear what the purpose of the Link is, unless everyone uses the same URL in the rev section. i.e. I could use:

Link: <>; rev=""

but who would know what that link was meant for?


Link: <>; rel="alternate"; rev=""

would give clients a hint that this link is another view of the same document. Of course, the client would have to infer that the lack of type, lang and media parameters meant that it was another link to the same document.

Clearly it's simpler if "shorter" is registered :)

The advantage of an X- header is that it's not out-of-spec, but, like Ben, I'm not a fan of rev="canonical", so would have preferred X-Link-Shorter myself.

As an aside, Simon Willison's bookmarklet is brilliant!



Posted in A rev="canonical" HTTP Header.

Sun, 12 Apr 2009 at 08:28:18 GMT


Personal attacks are disappointing to see, regardless of if they are aimed at a "big gun" like Tim O'Reilly or someone small like my friend's blog with 50 odd readers. You'd think in this day and age that people could be civil!

I can't help feeling that CMP/O'Reilly set themselves up for this one by not mentioning that they had TM'd the name that they were "talking up" over the last 3 years. Pointing out their trademark to the world via a laywer's letter to a non-profit in another country is hardly the right way to let the world know that you are enforcing this. Especially when they already know about such issues as shown by the Camel licensing page!

Posted in Mob Mentality and Web 2.0.

Wed, 31 May 2006 at 19:20:18 GMT


Congratulations Chris!

Posted in OmniTI Acquires Brain Bulb.

Tue, 16 May 2006 at 20:57:48 GMT


Just need someone to confirm that Oblivion runs smoothly and then all I need is a lot of cash!

(btw, the "remember info" checkbox doesn't!)

Posted in Windows on Mac.

Wed, 05 Apr 2006 at 15:35:59 GMT



That's the problem: you have to remember to use the eprint() function. If you forget and use echo or print or whatever, it all still works; except that you have a possible security issue.

So far this is the only advantage to smarty that I've found. In Smarty you can set it up so that the default display a variable construct of {$var} will automatically escape and if you need a variabled not escaped you have to use {$var|smarty:nodefaults}. I quite like this idea as the simplest way to output a variable is automatically safe.

Posted in Zend_Filter Reviewed on SitePoint.

Thu, 30 Mar 2006 at 08:17:18 GMT


Escaping at the input filter side would be a nightmare.

I'd like to see Zend_View escape by default though so that additional effort was required for the times that you don't want the data escaped, rather than the other way around.

No idea how to do though :)

Posted in Zend_Filter Reviewed on SitePoint.

Wed, 29 Mar 2006 at 18:52:58 GMT


I'd like to see either Zend_InputFilter::isset() or the getXXX functions to accept a default to use if the key isn't in the array.

Posted in Zend_Filter Reviewed on SitePoint.

Wed, 29 Mar 2006 at 13:11:12 GMT


I like it!

It's clear that you are a "writer", if that's what you consider to be "written in haste"! My efforts have taken blood and sweat to do the writing bit - the coding investigation was easy :)


Posted in Zend Framework Tutorial.

Tue, 07 Mar 2006 at 23:12:59 GMT


Chris, I agree that depending on Zend.php isn't necessarily a problem, especially as it contains the registry. However it does introduce more coupling as you are then forced to keep the basic directory structure so that loadClass() works.

Posted in Zend Framework Preview.

Sat, 04 Mar 2006 at 20:31:26 GMT


  • Twitter: @akrabat
  • Location: Worcester, UK
  • Joined: February 2005
  • Comments: 16