This is the second day of conference coverage. The first day is available here.
This morning opened with a keynote from the creator of PHP himself, Rasmus Ledorf. He started off by giving some background on how PHP came about and busting a few PHP arguments. The single best explanation was when he described the very first implementation of a for loop. Not being a cs-type, he would simply parse the file loading things onto the stack. When he came to the beginning of a for loop, he would add this disk location to the stack, process the rest of the loop, check the condition and do an fseek (yes, spin the disk) to go back to the beginning of the loop. Therefore, when people would complain about loop speed in the early days, he'd ask “How fast is your disk?”
Next, the first argument was the “why the $%#*@ are php (variables, functions, etc) so inconsistent!?”. (Yes, I've been on that bandwagon for quite a while now.) His argument was hilarious and sneakily devastating, so I'll leave it to saying that there are other languages which are worse and have no intention of changing.
Finally, he laid out a simple strategy for “Getting Rich with PHP” by making the killer site. The whole point of it was interesting though. Instead of focusing on business ideas, the killer site, or anything non-technical. Instead he laid out some strategies and tactics for analyzing your code and the rest of the system to prepare your systems for supporting hundreds of users. He walked through a demo building for being able to support 17 requests/second (284ms latency) with a default install and with just a few config tweaks, tweaking some includes, and adding somesimple caching was able to support approximately 1100 requests/second with a 3.6ms latency. Nice… yet another thing to add to the dotProject todo list. 😉
The next session I attended was Mike Schrenk's presentation about spiders and bots. He gave a great overview on why bots are useful in the first place, some bots he's familiar with, some he's built, and some that have more nefarious purposes like pokerbots. Although he scratched the service of the evil things(tm), he carefully turned the conversation towards legitimate purposes… He also expanded the discussion into some basic practices, code snippets, and tactics for making some simple decisions. It was pretty interesting all the way around and the conversation left quite a bit of room for conjecture…
The last session before lunch was Mike Naberezny's discussion on Internet/Intranet services. He walked through some information on REST, SOAP, and XML-RPC covering some of the good and bad of each. He even referenced some other REST presentation. 😉 Anyway, he went into some detail the aspects of making PHP applications play well with Java via Web Services, bridges, and application servers like Caucho Quercus. I believe this is hugely important as it becomes more and more common to see formerly 100% Java organizations to start implementing various PHP interfaces and tools to play well together.
The highly esteemed Mike Ho – creator of the QCodo Framework -presented how to work with SOAP in a reasonable way. The latest release – Beta 3 – can now generate much of the code and effort required for dealing with SOAP… which suddenly makes both a bit more useful. Nice addition.
I completely missed the next session. I spent the entire time talking with a couple people working for organizations taking the PHP plunge. It was an interesting discussion as they each have the opportunity to start things off on the right foot. Their teams are still small and just beginning their PHP efforts… so the bad habits are few and possibilities enormous. Sounds like fun.
The final session was another from Elliot (Eli) White about “Top PHP Features You Didn't Know Existed” (slides available here). Did you know about PHP's similar_text? Or metaphone? Or even soundex? That's the thing I love about these conferences, you learn something new and useful all the time.
Finally, it was the closing session of the conference… an open panel discussion including Bram Vogelaar, Eli White, and Rasmus moderated by me. We covered a variety of topics ranging from the state of PHP, some of its strengths and weaknesses, and a lively discussion about why excluding Computer Scientists from software development can be useful. Eli – as our token Computer Scientist – raised a few counter points and managed to raise a few other issues.
Despite the conference being over, a number of us – including Rasmus, Eli, Patrick and Kevin from Viget, and Maggie from Schematic – spent a bit of time in the bar sharing stories, relaxing, and waiting for traffic to disipate. Yes, all of their companies are hiring PHP developers. 😉