The end of last November saw a very successful first conference for PHPNW08 with a little bit of sponsorship and attendance from Plusnet. PHPNW (there's a clue in the name) is a group for PHP professionals in the North-West, normally they have monthly meet-ups much like GeekUp but this was a bit more ambitious. So, given that PHP powers the majority of our platform it made sense to check it out, even though it meant getting up at 6:30 on a Saturday morning (which is practically a holy day for me). Derick Rethans, author of the indispensable Xdebug extension, kicked off the day with his KISS keynote which was a nice reminder of some user-friendly practices we should always have in our heads. He also included a cute localisation example which shows even Google gets it wrong some times, you can find the presentation on Derick's Talks page if you want to know more. After some much needed coffee the conference split into two tracks and I went off to see Rob Allen talk about Zend Framework. I've tinkered with a few of the tutorials before but never got too far into it, this was an encouraging kick to start looking at where we might be able to take advantage of some of their libraries. His Zend_Cache example instantly made me think of an internal project that was one of my babies, but speed-wise has always been something of a problem child (don't worry, it's a lot better now but there's always room for improvement ). Next up was Zoe Slattery with quite an in-depth comparison of the Lucene indexing as implemented in PHP versus the original Java. This brought up some interesting statistics on the speed of method calls in PHP - they're incredibly slow! There were two important lessons here: picking the right tool for the job, and playing to the strengths of your language. As one of our developers here is fond of saying, "If you're going to code PHP that looks like Java, why don't you just code in Java?". While you might be able to write a pretty efficient indexer in PHP, you won't be doing it using a heavily object-oriented approach. This was definitely a good talk to have just before lunch, as I think it fuelled most of the discussion through it. So, after a few more coffees and exchanging sticker space on my arm for a delicious jam doughnut from PHPWomen it was time to sit down for more talks. Next up was Stefan Koopmanschap with a talk on refactoring, this was mostly familiar ground for me but it did a good job of fully defining the term and that people will often say "refactoring" when what they really mean is "rewriting" (or occasionally "ripping it all down and starting again" ). The final talk of the day for me was from Stuart Herbert, one of our friends from Gradwell. Those of you on Twitter will remember when they shut off their SMS service for the UK, Gradwell realised they were in a good position to jump in and fill the gap. Stuart's talk provided a clear illustration of how they took this and went from concept all the way through to a launched product, not only looking at the coding of it but touching on the management, marketing, and financial aspects as well. As us engineers are never happy to admit, putting a successful product out there requires much more than just a solid technical solution! With all the talks done, we finished off the day with questions to a discussion panel consisting of Steph Fox, Ivo Jansch, Scott MacVicar, and Felix De Vliegher. We were tempted to run a little pool as to how long it was going to take before someone brought up the use of "\" as the new namespace separator, but it took a fair bit longer than I expected. The discussion could have got ugly (and we hadn't even got to the bar yet) until Scott (in a voice that made me think he was about to go all Trainspotting on someone) came back with, "Patches... are welcome." Flawless Victory. Had the day ended there, I would still be here giving the conference a glowing review - but we topped everything off with a trip to Revolution for Mario Kart and what seemed like a near limitless bar tab (Why yes, I will have another Russian Bride if you're offering). Ludicrous drinks aside, it really showed how open and friendly the rest of the PHP community is - curious about the engine internals, just wander over and ask the people who wrote it! On top of that, we realised that some of the stuff we do here is also pretty interesting to the rest of the community - so we've been prompted to submit a couple of presentation ideas for PHP UK, so *fingers crossed* you might just see us on the opposite side of the podium there, and if not... well, I'm sure they'll have a tab there as well.