A Tale of Two User Groups

This post is probably only relevant if you’re interested in PHP and UK-based. In the next few weeks I’ll be at some user groups that I don’t manage to visit often. On Thursday, 3rd March, I’ll be at PHP East Midlands to talk about Design Patterns. On Tuesday, 12th April, I’ll be at PHP West Midlands, also speaking but this time about OAuth. I may make it to one or other of PHPNW and LeedsPHP user groups in that time as well … and all of those are within 2 hours’ driving of my home! PHP is alive and well where I live, my great respect and thanks goes to all the community leaders who make these groups happen – thank you all :)

PHP Days and PHP Unconference Europe

I spend most of the last week or so over in Manchester for a combination of excellent PHP-related events: PHP Unconference Europe on Saturday and Sunday (with a rather excellent warm-up party on Friday night!), followed by the PHP Days training on Monday and Tuesday.

PHP Unconference Europe

A large crowd gathered very early on Saturday morning at the Pitcher and Piano, and got our briefing on how session voting works (everyone gets 4 stickers, you stick the stickers onto the sessions you want to see, the ones with the most get scheduled).
DSCF4430.JPG

Continue reading

Using Gearman from PHP

I’ve introduced Gearman into a project I’m working on, and since a few people have asked I thought I’d share my experiences. Basically, this application generates some PDFs from a variety of data sources, makes images, and emails it. Since the whole data processing, image handling, PDF generation process is fairly heavy, I’m putting the requests to generate these onto a gearman queue and having some workers process the jobs. The eventual aim is to bring up EC2 instances (or php-specific cloud hosting perhaps? Recommendations gratefully received!) to do this work but right now I have one worker and it’s all on one server.

Continue reading

Ticket Giveaway: DC4D:2

Did you know that there’s a second edition of the DayCamp 4 Developers event coming up in March? The daycamps are a chance for developers to invest a day in their careers, wherever they are, focussing on the soft skills we need to grow beyond coding monkeys and into accomplished and upwardly-mobile professionals. It’s a virtual conference, so you can join us from anywhere in the world!

In the new edition of DC4D, I’m giving a session entitled “Could You Telecommute?”. I have worked from home for three years and if there’s one thing I’ve learned along the way, it’s that it isn’t always easy! Telecommuting doesn’t suit everyone so if you think you’d like to work this way one day, then I hope to give some pointers for how to tell if it will work out, or how to make it work for you. The event is on March 5th but there are also video-only tickets for those people who would rather watch their sessions back at their own pace.

I have a ticket to give away, so if you want to be my guest, leave me a comment and tell me why I should choose you! NB the tickets are only $35 so this isn’t quite as impressive as it might sound, sorry!

I’ll pick winners on 26th February, with a week to go to the event.

27 Ways To Be A Better PHP Developer

Last weekend I was at the PHPBenelux 2011 conference in Antwerp. As conferences go it was pretty awesome, completely surpassing my expectations in many ways! The schedule was published in advance but I somehow forgot how many friends I have in that part of the world and what a wonderful crowd there is at this event. My hearty congratulations to all the organisers and my thanks to everyone who attended – they used joind.in for the feedback and there are plenty of comments on there too, which I now consider a metric of how engaged a community is!

I was at the conference to give a keynote with ex-colleague and good friend Ivo Jansch. We gave our new talk “27 Ways To Be a Better Developer” in the opening keynote slot, which was a lot of fun (even if I did freak out slightly and hide in the middle). Ivo and I have lots of experience of working with developers, recruiting, running teams, and we had a great time working out *which* 27 items to include and how to tell the story. It was a little bit hectic since we had about 50 minutes to give the talk but we had some generous reviews and so many people have come and told me about one or two points that have made a big impact on them. These are the slides:

Thanks again to all who made this event what it was – organisers, sponsors, speakers and attendees!

Number System Primer

I regularly teach the Zend Certification course and one thing that really splits those with a Computer Science background from those without is handling number systems other than decimal. Personally I don’t see it as a major omission, I certainly don’t work with those systems very often in web development! However, ZCE includes decimal, binary, octal and hexadecimal numbers in its syllabus, so I always make sure to stop and teach it. Here’s a quick round-up of how they work:

Continue reading

Preparing for ZCE 5.3

Recently I have been getting to grips with the ZCE since it was updated to take account of PHP 5.3. In the last few weeks I’ve both passed the certificate myself and also taught Zend’s certification training course as a classroom course at NTI Leeds. I thought I’d share my top tips for preparing for taking the ZCE – getting to the standard, last-minute preparations, and also some tips for surviving the day itself (disclaimer: everyone sitting the ZCE signs a declaration not to disclose the contents of the exam, so I can’t actually tell you the questions, sorry!)

Continue reading

ZCE 5.3: Worth Doing?

I recently took (and passed!) the ZCE 5.3 certification. I’ve been a Zend Certified Engineer (5.0) for nearly 3 years, and I know a lot more about PHP today than I did then. Today I speak and write various things related to PHP, and also teach all sorts of topics including PHP certification. I thought I’d share my thoughts on the ZCE, and I’ll write a follow-up post on how to prepare for it.

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.

Continue reading

Declaring Static Methods in PHP

I was confused recently to realise that I had accidentally called a static method in PHP dynamically from another part of my code; I expected PHP to output warnings when this is done. On closer inspection I discovered that:

  • 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:

Continue reading