I’m coming up to my 5th anniversary of blogging and looking at my stats, I’ve written around 150 posts per year for most of that time, although in 2010 I “only” wrote 102 posts, possibly because one or two other things happened in my life. So many people tell me they want to blog, or they have a blog but can’t find the time to write, that I thought I’d try to give some pointers for those resolving to blog this New Year.
Author Archives:
Launching Links in Opera from Command Line
To launch a link into a new tab in an existing Opera window, I simply used this:
opera --remote 'openURL(<url>, new-page)'
Where the <url> is the address to access; the same trick works in other programs too. For example I use irssi for IRC, with the openURL plugin, and this can do the same trick. To launch the link I simply set the http handler like this:
/set openurl_app_http opera --remote 'openURL($1, new-page)'
Since I have to look these settings up every time I want them, I thought I’d blog them for next time – and of course for anyone else who finds this useful between now and then!
Speaking at DIBI
I love it when really fantastic events happen in the north, especially because I’m based in Leeds and have ties to the North East, so I’m very excited to be speaking. Tickets go on sale in the New Year and I hope I’ll see lots of you at the Sage on 8th June!
Preparing for ZCE 5.3

OAuth Google API for Unregistered Applications
To make this work, when you sign your OAuth request Google will accept some default values for consumer key and secret – see their documentation on signing oauth requests. To do this, set both consumer key and secret to the value “anonymous”, and proceed as you normally would. The only difference so far as I can see is that the user will be shown a more cautious message when they are prompted to grant access to your application. Personally I think this is a great approach, particularly when prototyping ideas. Registering the applications though is simple and quick so I’d recommend registering for most applications once they get beyond concept stage.
ZCE 5.3: Worth Doing?
Updated Syllabus
The main thing that annoyed me about teaching people for the 5.0 exam in the last couple of years is that it had a topic on the differences between PHP 4 and PHP 5. Personally, I have never worked commercially with PHP 4, and that’s true for lots of developers that I meet. So I ended up trying to teach PHP 4 which seemed silly! Happily that is gone now from the 5.3 Syllabus.
There are some new topics and I’m pleased to see the Web Features topic being added. This brings together some HTTP concepts and overall client/server architecture stuff that really helps round out the syllabus. I consider that studying for the exam is in the interests of all PHP developers, these topics are all useful and relevant.
Declaring Static Methods in PHP
- Static functions can be called dynamically
- Dynamic functions generate an E_STRICT error if called statically
This made a lot more sense when I thought about it a bit more and wrote some toy code:
Retrieving Data from Google Analytics API using PHP
Skills Analysis for Teams
PHPUnconference Comes to Manchester
A great feature is the contributions and interests section – if there’s some content that would be particularly useful to you, or a talk you think would be a good fit, then you add it on this page. All the attendees can vote for which sessions we want to see and so we crowd-source the best lineup possible :)
If you fancy some more structured PHP training then hang around in Manchester after the event because thePHPcc are bringing their PHP Days training to Manchester on the Monday and Tuesday following the weekend event, which is pretty exciting :)
Hope to see you in Manchester, all I need to do now is work out which topics I want to see/give talks about …