PHP London Conference 2009

From this truly excellent conference, I took away some good memories, some new ideas and a nasty bout of conference flu. There’s nothing quite like being in close proximity to a few hundred people to really spread things around…
Highlight for me was Aral Balkan‘s keynote. It’s always nice to see someone showing plain enthusiasm, and I couldn’t agree more with him about the “lost magic” of computing. Had a chat with him afterwards about AMEE and other things. He also seems to have put together some odd but dull things that I had noticed a need for – EU VAT codings and ISO language references as web services!
I didn’t really enjoy David Soria Parra’s talk on sharding. It all came across as very negative and many of the ways of doing it and coping with the fallout were not really discussed. No mention of MySQL 5.1’s partitioning (which is limited, but is at least a start), or more radical approaches like Sequoia.
David Axmark’s talk on Drizzle was more interesting than I expected, nice to see effort being put into this direction.
Microsoft really does seem to be trying a bit harder these days – their CSS test suite for IE8 is very welcome, and the effort they are putting into PHP, apache and other projects benefits many people. It has to be said that while it’s not a mainstream product, Surface is really pretty cool to play with.
Chris Shiflett’s talk was excellent too; his demos and examples were particularly good, and entertaining.
The post-conference social was great fun, I met lots of nice new people. After our move to France I suspect it will be harder to get to events like this, so I should make the most of them while I can!
I’ve had several ideas for talks that I’d like to do (I get sick of email sometimes!), so I guess I need to get a bit more proactive on actually submitting them to a call for papers.

Genius on Experts Exchange

I finally got my ‘Genius’ rank in PHP on Experts Exchange today. It’s taken about 3 years and in that time I’ve answered over 1,000 questions and participated in over 500 others, making about 3,300 posts. I think I’ve helped a lot of people, but I’ve learned a lot too. And I get a free T-shirt. Now why did I choose such a silly user name?

PHPLondon08 follow-up

I think it was Juliette that was asking me about spam filtering in PHP. I didn’t think that was such a great idea (spamassassin is slow enough!), however, it seems that some others do.

The framework shootout session was very interesting. It was nice to see Toby jumping into CodeIgniter with such ease – it contrasted markedly with my own difficult initiation into CakePHP! There was mention of Kohana which I’d only seen a couple of weeks previously, but looks pretty good – I had always been put off CI by its support for PHP4, so a PHP5-clean version is very appealing. This article spells out the differences.

The shootout was, um, augmented by a heckler who had decided that all frameworks were “criminal” because they didn’t conform to the letter of the “rules of MVC” (though MVC is really a pretty loose term AFAIAC). He wouldn’t name his mystery preferred framework, but I later found out it was Agavi when I saw it demo’d by its creator. It is indeed very nice, and has distant ancestry in Mojavi (as used by Symfony). One of the things that I was impressed by is that it uses (of all things) HTML for marking up templates. This is an elegant reversal of what I’ve seen before, where form elements are typically generated by helpers (requiring syntax that you don’t know). Why mark up a form input like this (vaguely CakePHP style):

<?php echo $htmlhelper->textinput(‘name’, ‘name’, 20, 50); ?>

when you could do:

<input type=”text” id=”name” name=”name” size=”20″ maxsize=”50″ />

and still get automatic server and client-side validation and ajaxy feedback goodness, but also have it play nicely with HTML editors like Dreamweaver? It also makes for a great deal of sense when generating non-HTML output. I can’t think why other frameworks have not done this before.

Agavi also has very elegant routing so that a single controller function is available across all access methods, whether HTML, JSON, SOAP, XML-RPC or whatever. Makes CakePHP look very dumb.

Anyway, so maybe this heckler had a point of sorts.

I have to say a big thank you for the compliments I’ve received about my talk. Maybe it wasn’t so bad after all! I’ll get on with doing the remaining audio ASAP…