Skip to content


Whirlwhind review of php|tek 09

It's been a simultaneously long and fast week for me. I flew into Chicago last Sunday, ready for the PHP core developers meeting that we had planned for the Monday and Tuesday. My journey went like a charm; perfect timing had me parked at the airport, immediately on the shuttle bus to the terminal, straight through security and to my gate just in time to start boarding. The only minor hiccough was in finding the shuttle from Chicago to the hotel; it was extremely poorly sign-posted.

Anyway, I got to the hotel and ran into the British contingent of the conference, and we eventually found our way to a Mexican restaurant not far from the hotel, and then to the bar across several lanes of traffic from the hotel, where a fair quantity of alcohol was consumed by all.

The next day we headed downtown to the Microsoft offices for day 1 of the core developer meeting, where a number of internals issues around PHP 6 were discussed. This was a very productive session, and we earned the drinks that followed at the Map Room, although I opted out of the bulk of those and headed back to the hotel (yes, I'm getting old)

Tuesday was day 2 of the core developer meeting, and thankfully was held in the conference hotel; the journey downtown took the better part of an hour and I was glad to skip it. The agenda for this day was to look primarily at what we could clean up in the code for PHP 6 and whether we might need to introduce a PHP 5.4 to aid in that transition.

We also touched on PDO 2; the short of it is that it might be about time to see if the vendors are willing to play with us again, and where the original plan was to have all the major vendors on board, we may well be looking at cutting out the less flexible vendors from the baseline PHP distribution. I'll do what I can to help facilitate a PDO 2, but don't anticipate having much free time in the coming months.

After a low-key dinner in the hotel sports bar (thanks Chris!) I retired to my room to catch up on a bit of work and put some finishing touches on my presentation deck. I returned to the bar a bit later to see who was around, and was surprised that most folks had turned in early; another sign that we're collectively getting older.

Wednesday was the start of the conference proper, and Andrei's keynote reminded us of the humble beginnings of the world-wide-web and took us through the various incarnations of PHP-past as a lead-in to PHP 6. As is usual with Andrei's sessions, I was left feeling a little jealous of the beautiful photography and humor he manages to find to complement what would otherwise be a somewhat dry technical presentation.

Later in the afternoon, it was my turn to present my new talk, which is partly best practices (really what I consider to be the baseline practices for any serious commercial development shop) and partly a re-hash of an internal presentation I gave to my team at Message Systems when I became Director of Engineering. I was pleased (perhaps even a little surprised) to find that I had a very full room for the talk, and happy that I seemed to keep everyone well engaged through to the end. I've had some good feedback and welcome constructive criticism so that I can improve it for the next time I use it; you may comment (anonymously if you wish) via the page for that session.

I sat in on Maggie Nelson's talk on ORMs, which was an interesting comparison of PHP ORMs. Personally, I think that ORM is one of those niceties that is, unfortunately, a bit too far divorced from the ugly reality of making things work well under load in the real world. There are some articles out there on the impedance mismatch that leads to most of the problems, and some interesting work from my colleagues at OmniTI in the form of a Relucant ORM for Perl that avoids the major pitfalls.

After dinner, an open bar and a series of lightning talks put pretty much everyone in high spirits (that and consuming spirits...) that carried over into the wee hours of the following morning.

The next morning was largely playing catchup for me; both with some work and with various folks around the conference; new acquaintances and old friends. I was interviewed by Keith Casey about what went on in the PHP Developers meeting, and I think this is my first appearance on YouTube (and don't I look a little caffeine deprived?)

I caught Lorna Mitchell's session on Linux-Fu for PHP Developers which made me think that the growing number of self-taught Linux users, and the common develop-PHP-apps-on-windows-deploy-on-unix scenario does warrant some attention on what might be considered fairly basic unix know-how from PHP conference organizers. It was a good session and well presented.

After lunch, I had the (somewhat dubious!) pleasure of experiencing Eli White's gratuitous use of Knight Rider clips to highlight that you can make just about any programmer better if you give him the right tools.

The final session I attended was Chris Cornutt's session comparing a number of the popular PHP frameworks, which I found to be quite a useful comparison of their strengths. There was some drama towards the end when rival framework proponents in the audience had a somewhat heated discussion between themselves.

And shortly after that, I set out on my journey home, which was sadly rather more traumatic that the outbound journey, starting with a hot and sticky Chicago airport, a slightly delayed flight, which also had faulty air conditioning and the coup-de-grace in the form of a dead battery and faulty alternator in my car (actually Juliette's car; I let her use my car while I was away).

After a couple of assists from the airport transportation folks and local police(!), I got the car running and re-enacted my own version of the movie Speed, except that I had to keep the engine revving above 2000rpm or my electrics would fade out and the engine stall. This had me riding both the accelerator and brake pedals at the lights around the airport before I could get out onto the highway; something I think would have been easier to deal with if the car had been a manual transmission.

As ever, it was great to catch up with the usual suspects, and also to finally meet some of the younger blood in the PHP community face to face. I don't know if it's just that the majority of my fellow speakers are becoming increasingly senior in their respective jobs, or if there has been something of a shift in the industry, or if it's just me being focused into more of a managerial role in recent times (or some combination of these), but it seemed to me that there was more of a focus or awareness on practical engineering at this conference than I recall in past conferences.

I think this is a good thing because the typical PHP developer does not usually have a rigorous background in computer science or other "equivalent" scientific or engineering discipline. A few of us had a lunchtime discussion about how even the schools that are teaching computer programming tend to be skimping on applied software skills (the meat and potatoes of getting the work done, rather than just the raw programming theory), and how programming as a profession could benefit from having something akin to an apprenticeship scheme. It will be interesting to see where this train of thought leads.

Anyway, in summary: php|tek 2009, two thumbs up.

Thanks to Microsoft for hosting part of the developers meeting, Marco, Elizabeth and Arbi for the rest, Keith for the unconference, everyone whose photos I've linked in from flickr, and everyone else that attended for making the event what it was. I'm looking forward to the next time that I can attend :-)

I'll be at ZendCon 2008

Busy times here mean that I'm leaving it a bit late to say this, but I'll be at ZendCon this year too. I'll be giving the usual talk on PDO, but my main reason for attending this year is to sync up with other PHP folks and talk about where PHP is at and where it's going.

ZendCon has been consistently good, and I look forward to attending again this year... see you there?

OSCON 2008

OSCON 2008

I'm pleased to announce that I'll be speaking at OSCON again. I have the pleasure of co-presenting an Extending PHP tutorial session with Marcus Boerger, giving a new talk entitled Hot Chocolate: Creating Cocoa apps with PHP, and the tried and true PDO Talk. As always, I'm looking forward to catching up on what's going on outside of my usual stack of software, meeting up with friends and making a visit to my favourite restaurant. I hope to see you there :-)

PHP London 2008

I was scheduled to appear at PHP London 2008, but due to unforeseen circumstances, I've had to cancel my trip and back out from the conference. I don't like doing this, but unfortunately don't have much of a choice. Thankfully, the PHP London folks have managed to find replacement speakers for the two sessions that I was going to give.

If you're going to be in or around London on the leap day (February 29th), or are within commutable distance, then you might consider attending the conference; it's a one day conference with a number of expert speakers from the PHP Community. If you sign up now, the early bird rate is only GBP 90. Find out more at their web site.

I was really looking forward to this conference, and I'm sorry that I'm going to miss it; I hope you have fun!

ZendCon 2007

It's been a long week, but, as is usual for ZendCon, it was worth it.

Short version:

If you're looking for the slides from my Best Practices for Sending Mail from PHP talk, they are available here.

Highlights: Microsoft announces their first PHP extension (for talking to SQL Server) and go-live for their FastCGI support, Terry Chay on Ogres, new Trading cards and a couple of really nice drinks courtesy of Christian Flickinger and Curt Zirzow. Oh, and Joel Spolsky on something that had nothing to do with PHP, but was good fun all the same.

Things I'd rather forget: the Yahoo disco with obnoxiously loud and crass comedian and crappy beverages--your choice of Bud or Bud Light (which ran out), mediocre (at best) lunch offerings.

Long version:

I got in on Sunday at around noon, and had 3 hours to kill before I could check into my room. That was mildly irritating, because it meant hanging around in a "well travelled" state--it would have been nice to have had a shower a little sooner. I met up with some familiar and some not so familiar faces in the sports bar, and later over dinner. I persuaded Sara to procure a 4-pack of Red Bull for me (BTW, if anyone from Red Bull is reading this and is considering people for sponsorship deals, I'm an extreme programmer :-), and we planned some finishing touches for our tutorial session.

The Extending PHP tutorial was the next day; one full day of internals hackery featuring Marcus, Sara and myself. Usually these sessions attract 20-30 people, of which maybe 2-5 people admit to having developed in C or written their own extension. This particular session had 40-50 people at the start and a good 30+ had done C or extension development. I forgot to ask how many of those people work for Yahoo, but I'm guessing that a significant portion did. The turnout and qualifications of the attendees made for a very good session; there were good questions at the right places.

The next day I went to Terry Chays talk on Ogres. He also mentioned that simplicity is the new complexity and how complex is the new simple. I wasn't quite sold on the analogy, which got confusing when he used the word simple on a later slide (did that really mean complex? ;-) It was an entertaining talk, and I think I got the gist of what he was trying to say, which, simplified (complexified!?), is something along the lines of: you can build elegantly complex systems from simple building blocks, and those systems will have a comparatively low complexity compared to over-engineered systems. You could also say KISS, and remember the Pareto principle.

Later that day I gave my Mail talk to approximately 50 people in the big room used for the keynotes, which had a camera at the back and some big bright spotlights shining on the podium to illuminate the speaker. If you've ever been on that side of the room before, you'll know that those lights make things difficult because you can't see anything but silhouettes beyond the second row, and that makes it quite hard to read the body language of your audience for cues such as sleeping, nodding off, laptop use and actually looking at you. Despite this, I think the session went quite well, with good questions being asked throughout.

I don't really remember exactly what I did on Wednesday, aside from work, but recall helping Elizabeth Marie Smith with a build issue, Joe Stagners session on PHP-and-Windows, Lauras best-practices talk and sitting in on a Silverlight un-conference session.

I was in a meeting all day Thursday, so I missed the conference sessions, and saying goodbye to the folks at the conference. I was up at 3:30am the next morning to make sure that I made it to the airport for my flight home, touching down later that evening, just in time for the sunset.

It was great to have some more "face time" with people that I don't see too often, or that I've been corresponding with over email. I've been working in a fixer/advisor capacity towards a couple of PHP related things over the last few months, and this was an excellent opportunity to follow up on those things.

A lot of hours were spent talking, and I greatly value the conversation and the company. It might sound like these conferences are a week-long party, but they're hard work because the intensity level is so high. A typical day has me up around 6-7am and down for breakfast in under an hour, and then the whole day is spent talking or listening to people talking up until around 2am. I am by nature a fairly quiet person, so I find these events especially taxing, but it's worth it.

So thanks to everyone that shared their time with me at the conference, and I hope to see you next time!

Getting ready for OSCON 2007

I'm excited for OSCON, so much so that I don't mind my 5am start tomorrow. I'm in good spirits; we reached a big milestone at work a week or so ago and I've had a couple of days vacation, so I'm feeling rested and receptive for what I think is the best OpenSource conference out there.

As I mentioned in an earlier post, I'll be co-hosting a tutorial on extending/embedding PHP with Marcus Boerger bright and early on the Monday. If you're planning on attending, I strongly recommend pre-caffeinating yourselves as it will be an intense 3 hours! You can also see me doing my usual PDO talk (when people stop asking me to give it, I'll stop giving it!) on the Thursday.

Aside from getting together with the usual crowd again, I'm hoping to make some new friends. I'm also looking forward to some fun social events around the conference, and particularly looking forward to visiting my favourite restaurant in the whole world (I'm not going to tell you what it is until after I've been thereā€”it's mine, all mine!).

After the conference I'm bouncing up to Seattle for a Sushi-and-Xbox-360-on-120-inch-screen party with friends and colleagues from OmniTI. And after that, I'm bouncing down to San Jose for a couple of days before red-eyeing it back to the office.

A busy schedule ahead, and just over a week away from home; I think it's going to be a good combination of fun, busy, tiring and restful all at the same time.

If you see me there, stop me and say hi!

Wez @ ZendCon 2007

I've been a little tardy in mentioning this, but I'll be at ZendCon this year.

I'm co-hosting a mega tutorial session on Extending PHP with Marcus Boerger and Sara Golemon (this time, we three really are all there!), and giving my talking on best mailing practices for PHP.

That's right, no PDO talk this time around; it will make a nice change for me (not that I don't like giving that talk, it's just that I've given it so many times over the last couple of years!).

I like ZendCon; it has a good balance between business and dev. If you can persuade your boss, or you are the boss, you could do worse than book yourself into the conference.

OSCON 2007

This year, join Marcus Boerger, Sara Golemon and myself in an intense 3 hour tutorial covering everything we can possibly fit in the slot on the topic of Extending/Embedding PHP. Just in case you didn't know it, the three of us form something of a power trio when it comes to PHP internals, so who better to give such a tutorial eh? Having given my share of talks on this topic in the past, I'm not joking when I say it isn't for the faint hearted; there's a lot of material and 3 hours is short (we wanted a longer slot, but we'll take what we're given). Oh yes, it kicks off at 8:30am on the first day. Make sure you are suitably caffeinated for the kick-off and throughout.

Later in the week, at the more respectable time of 1:45pm, I'll be giving my PDO talk again. I've been given a 45 minute slot again, which is a tad tight, so I'll do my best to avoid spilling over into the next talk.

OSCON is my favorite conference; there's a lot of diversity in the content and the people which makes an excellent melting pot for ideas. It's interesting and a lot of fun; the conference highlight of the year. I'm looking forward to it, and to perhaps seeing you there.