The third day of my attendance at the 2007 MySQL Conference began with a lively keynote from some guy called Rasmus who is touted to be “the father of PHP”. Since PHP is not a biological entity, I pretty sure this is either metaphorical or a blatant lie. If I find out which, I'll let you know.
Rasmus started with his standard discussion of how PHP came about, then moved on to a bit of profiling – Drupal was his target this time, and then began his discussion of how the web is broken. This is a standard discussion of his, but this time he took it further and demostrated a number of Cross Site Scripting attacks live. His two examples consisted of adding his name as a “Super Sponsor” to the Conference website and causing a popup on IBM's “Cross Site Scripting” page. Oops.
The next of the keynotes was from Paul Tuckfield of YouTube. This is him showing the “VI Gang Sign”. Anyway, he talked in detail about some of the scaling problems that YouTube has faced in the past 18 months or so in addition to what his ideal setup is. It was interesting to note that he pushed heavily on the fact that the fastest query you have is the one you don't have to do, aka caching.
The next session “The 7 Stages of Scaling Web Applications: Strategies for Architects” from John Engates, CTO of Rackspace offered some perspective on the stages of scaling up and some considerations on what to take into account. Content-wise it didn't touch the actual implementation side of things but was focused on more of the management and planning issues. While it wasn't directly applicable to anything we're up to, it's something that I'll keep in mind for discussion points.
The final session before lunch was Lukas Kahwe Smith's coverage of PHP 6. He covered some of the functionality already there, some of the stuff on the drawing board, and some of the stuff that has already been removed. While most people expect some software to break between major versions, there seem to be work arounds for many of the changes. Though, some of those work arounds are actually undoing security improvements so it's probably not a good idea.
The final regular session of the entire conference was Damien Seguy's “SQL Kitchen: Spicing Up Everyday SQL”. First of all, if you're a PHP'er at all, you've probably heard of Damien as he does the monthly tracking of PHP versions. Regardless, in this session, he showed a number of SQL tips and tricks he used to analyze this data in addition to a number of commands that simplify other calculations. Most of it was new to me, but all of it was pretty interesting and handles some of the various summary-level operations and oddities that we've learned to program around. The only downside of this presentation was that it would have fit beautifully with Bill Karwin's SQL AntiPatterns talk… but it was two days later.
The final closing keynote of all was about Yahoo Pipes from its lead guy Pasha Sadri. A pipe is basically a flow of information from a source through various transform steps to final output. While the concept of it is pretty simple, the results are what we're all familiar with… mashups. So basically, Yahoo has built a framework and interface for simplifying the creation of mashups. Instead of line after line of code, it can be a series of widgets that fit together. It will be interesting to see where it goes.