2007 DCPHP Conference – Day 1

This is the coverage of the first day of the 2007 DCPHP Conference. The Conference wrapped last week, so this is a bit more delayed than usual… Day 2 coverage will be online tomorrow.

The Opening Keynote was from Chris Shiftlett of OmniTI talking about Security 2.0. One of the things that was obvious was the high technical level of the crowd. The core concepts and concerns that he covered seemed like they were pretty well known and understood. Definitely a good sign. Some of the tips and tricks he demonstrated to test and combat the things were new and generated a number of questions and comments.

I skipped the first session of the day to tweak my presentation.

The next session was from Paul M Jones of OmniTI on Framework and Application Benchmarking (slides available here). He raised some solid points on the performance and ability of some of the popular frameworks and how to estimate the highest throughput of a given system. The single thing that I appreciated the most is that he made his entire methodology and the resulting data available. So if you don't believe his numbers, check them out yourself. The single best part is that none of the concepts were exclusive to PHP, so even if you're working with other technologies (like Rails), you can still apply the information.

I skipped the next session to talk with Mike Ho – creator of QCodo, more on that later – about his new venture Uloop and the fun, stress, and differences in building a startup in Silicon Valley vs DC.

The post-lunch keynote was from Christopher Jones of Oracle. Personally, I'm fascinated by Oracle and their moves in the past couple years. Just before ZendCon '05, they purchased InnoDB and I believe the Open Source community was gearing up for a fight. In the months and years since, it seems like they've realized that trying to cripple MySQL wasn't going to work… and instead have engaged with the community by releasing various developers' tools and reaching out to PHP developers. They've even gone as far as releasing a "lite" version that challenges MySQL directly at the lower end… which is powerful when you think about it. When you're just starting off, you don't necessarily have the budget for Oracle even if you have the need… and by the time you have the budget, you're locked into whatever you started with.

I have no interest in Oracle whatsoever, but I think they should be applauded for their engagement. And if you're a DC local looking for the PHP Development kit, the DCPHP Developers' Group has an entire box of them…

Next up was Colin Thorne from IBM discussing their Project Zero. Project Zero seems to be a Java-based virtual machine platform/framework for working in PHP. To my understanding, it has a PHP interpreter rebuilt in Java and can support the same functionality, etc. While this may make PHP more portable, I'm not sure of the need. The only problem I've ever had with PHP is a horribly outdated version… but it's always there.

I suspect I'm missing something key on this one or with this project. If you have information that would let me do it justice, please share.

My favorite session of the day was from Mike Ho using QCodo to generate server-side Ajax. Unlike some of his other presentations where he's built a bug tracking system or SOAP-based Web Services, etc on stage, this time, he build a simple checkbook tracking application. It was yet another powerful demonstration of how code generation of PHP and Ajax can play nicely with real application development. We turned concepts into functional code in moments… and its hard to beat that.

The final session of the day was from Damien Seguy on PHP/MySQL Tips and Tricks. He suggested and demonstrated numerous tricks that allow you to move some of your application logic into your queries instead of within your core application. What's the benefit of this? In most applications, the database is not the bottleneck, so you can shift some processing away from the web server, but it also allows you to work with data and data structures in a more meaningful way immediately without having to query, transform, process.