Just got back from the City of Ginormous Escalators, aka Washington, DC. I was there for The 2006 DC PHP Conference. To the right is picture of a typical escalator to the Metro subway system.
The conference was pretty small; about 80 people; in two small-ish conference rooms in the hotel. But everyone was great. Conferences are all about the people anyway. With the small crowd, it meant being able to spend time with a significant percentage of the people there. It was a mix of PHP thought leaders, everyday PHP programmers, and, since it was based in DC, a lot of folks focused on the unique industry that is DC - government.
Here's some notes ...
Writing Maintainable Code with PHP by Laura Thomson of OmniTI. Pretty much standard fare for an old programmer likeme, but good info for new folk. And it never hurts to hear this stuff again.Recommended the PEAR coding standards;arghhh ... spaces instead of tabs ...
PHP Security Testingby Chris Shiflett of OmniTI. This was good; I don't think I've ever reallythought about using a test framework specifically for securitytesting, but it obviously makes a lot of sense. I mean, we always test forcases we know will fail, or are likely to cause problems, as well as for cases we know will succeed. But I've never specifically thought abouttesting for security. Mentioned Selenium, which I've heardof but know nothing about. Note to self, check it out.Chris also gave a talk on general security vulnerabilities and attacks against them, which I couldn'tattend.
ext/soap with eBay Web Services by Adam Trachtenberg of eBay.Fascinating. Numbers: 59% of eBay listings are created from their WS APIs rather thanthrough the web ui. One million WS requests a day. 100K sellers using 3rd partytools that use the WS. eBay wsdl file is 3Mb (the huge wsdl contains human-consumable documentation on the APIs (like JavaDoc)). New version of the APIs roll outevery week, and each lasts a year or so, and there are separate APIs for differentparts of the world; meaning hundreds of versions of the API are available simultaneously (but they don't change all that much). Showed how to build https://www.dudewheresmyusedcar.com/.This was the first positive thing I've heard w/r/t WS-* in a long time.That's great. It's good to see people using this stuff in practicalways. I'm still not convinced it's the best answer though.Side note: Adam asked early on how many people have sold stuff on eBay, and I was embarassedto not be able to raise my hand. So I found something to sell: A pre-owned Metro FareCard.
High Volume PHP & MySQL Scaling Techniques by Eli White of digg.Went over typical clustering techniques, most of which I'm basically familiar with,although memcached, I'm not.Talked about database shards, a term I've not heard of before, but the concept I'm veryfamiliar with. None the less, I can't help associating the term "shard" with a scene with Philip Seymour Hoffman from Along Came Polly;discretion prevents me from explaining more. Eli also presentedTop PHP Feautures You Didn't Know Existed, but I was sitting in thevirtual parking lot that is I-95 South in Northern Virginia on a Friday afternoon instead of attending. Like my eBay n00by-ness, I don't read digg much, so I justadded it to my blogroll. Gotta keep up with the kewl kids!
Rasmus Lerdorf did two presentations in one; one was "Yes, PHP is ugly, get over it. Go solve some problems." The other was the Getting Rich with PHP 5.The first was definitely a pep-rally speech, but you know, I need one of those every now and again with PHP. The second one talked about valgrind/callgrind.Need to look into these.
Enabling Digital Identityby David Recordon of Versign. This was great; I knew almost nothing about OpenID before, and now I know ... something. Anything to get the nastiness of maintaining an authentication system yourself isa big win, as far as I'm concerned. Went ahead andcreated an account at https://pip.verisignlabs.com/,now I just need to figure out what to do with it. Also need to look furtherinto Yahoo's Browser-Based Authentication thing.
- General non-interest in frameworks
- Too much PHP, not enough C code (performance issues)
I was in total commiserate mode on this. Good frameworks are great, but theytake a while to become good. Before that, they're not so good. Do stuff youdon't want. Hard to debug. etc, etc. Maybe I'm just frameworked-outat the moment. There's also some confusion in the air; people callZend Framework a framework, but it's really just a bagof useful classes and functions. CakePHP and symfony and RoR are frameworks.
- Hard to hire good PHP programmers
I think this is true in general, it's hard to hiregood programmers; but PHP has a special problem in that the languageis so approachable that lots of people can 'learn' it, or enough ofit to be dangerous, and not really be ... programmers.
- REST payloads are XML.
I saw this in multiple presentations; REST and XML in close proximityto each other. That's too bad, since adding XML to the REST story justunneccessarily complicates things. JSON == good.
- Web services are only for server-to-server communication.
Not sure whatweb browser-to-server communication is, if it's not web services, but thereyou have it. I was really dumb-founded by this. What is XmlHttpRequestif not a web service? It's time for some serious head-shaping, if peoplethink they can't reuse what they're using between clients and servers, forwhat they're using between servers and servers.