Related link: http://www.apachecon.com

I enjoyed my first time at ApacheCon. As usual, it’s the people who make
the conference, even more than the location or the sessions.

Las Vegas can be fun, but it doesn’t do much for me as a conference
destination. There’s really no place to go unless you want to gamble or
shop. But gambling is no fun alone (nobody else was stupid enough to
waste their money playing blackjack besides me) and the stores are all
chains. That’s one of the reasons I loved OSCon. Portland rocks!
Likewise, I didn’t make it to php{con West earlier this year because I
had no interest in hanging out in Santa Clara.

I really did not attend many of the sessions on the first two days. It
was all “Java this” and “Java that” and I’m just not that interested in
Java. So, I hung out and talked shop with Chris and Nat and others.

The third day, however, was the PHP and Perl track. This not only
motivated me to listen to speakers, but it even had me up in time for an
8:30 talk: Geoff Young’s “Writing Tests with Apache-Test.”

I’ve recently taken a big interest in test-driven development. Geoff’s a
mod_perl guy and the mod_perl developers extensively use Apache-test in
mod_perl 2.0. Apache-test seems really cool because it lets you define
custom Apache httpd.conf settings for each test. Then, when you run your
tests, Apache-test automatically starts up a new copy of Apache using
your exact settings, runs the test, and then shuts down Apache. And it
does this for each test, so there’s no side effects among tests.

PHP has its own testing framework (and PHP works with more Web servers
than Apache, unlike mod_perl). However, I’m interested to see if there’s
some synergy between the two projects.

The following talk was again given by Geoff: “Why mod_perl 2.0 Sucks!
Why mod_perl 2.0 Rocks!” Geoff developed this talk from his experiences
(i.e. frustrations) trying to port his mod_perl 1.3 application to
mod_perl 2.0. It turns out mod_perl 2.0 Sucks! because it’s really hard
to transition from 1.0 to 2.0. On the other hand, it’s much more
powerful than 1.0; therefore, mod_perl 2.0 Rocks! Or does it suck rocks?
Hard to say. (Sorry Geoff.)

I remember moving from php/fi to PHP 3 and then again from PHP 3 to PHP
4. I’m interested to see how the move from PHP 4 to PHP 5 goes. Maybe
I’ll end up writing “Why PHP 5 Sucks! Why PHP 5 Rocks!” Who knows? (Or
maybe Chris will do it, since it was his idea first.)

Speaking of Chris Shiflett, his “PHP Attacks and Defense” talk was the
most intesting presentation of security that I’ve ever attended. He
walked through developing applications that minimize the risk of
Cross-Site Scripting (XSS) and Cross-Site Request Forgery (CSRF)
attacks. It’s amazing to learn how even “secure” pages really aren’t
secure at all.

There was one interesting moment when someone asked a question that
proposed “fixing” HTTP to prevent one type of attack, but before Chris
could answer someone jumped up and said “I wrote the HTTP specification
and it specifically says you’re not supposed to use GET to do these
types of things.” For a moment, I was a little worred for Chris, but he
handled it really well by shifting the blame away from HTTP and onto how
it’s implemented by Web browsers.

I guess the “Localizing BBC News for a Global Audience” talk was good,
but I mostly sat in the back and checked the Internet. Sorry. I was
mostly interested in serving up multiple languages using the same code
base and the talk turned out to be about writing an Apache module to map
URLs to different pieces of content.

Last, I heard “PHP 5 and Databases” by Marcus Börger. I’m already
playing around with SQLite and Iterators, so that part wasn’t too new.
However, I picked up a little bit about PDO, yet-another database
abstraction layer.

All in all, it was definitely worth it.

What did you like best about ApacheCon?