Working

OSCON + NYPHPCon Call For Papers

I just submitted by proposals for OSCON and NYPHPCon. I hope they get accepted, as I’m quite excited about both shows.

OSCON is my favorite conference of the year. There’s nothing else that provides such a wide range of interesting speakers and topics. I love learning about PHP, but I find it even more fascinating to see what the Perl and Python and Ruby guys are hacking on, or pick up JavaScript and AJAX tips, or heckle the Java programmers. :)

The past two years, I’ve been on the OSCON PHP track conference committee, so it was my job to write friendly reminders in my blog. I’m not doing that this year, so you can count on this as a unbiased plug for the show.

There are lots of topic areas beyond PHP, such as Web applications and Security, so you don’t need to be a PHP guru to submit. You just need to be doing something that other people will find interesting that you can share in an interesting way. The key is that when a conference attendee reads the description of your talk in the program that they say: “Cool! That sounds neat. I think I’ll go hear this talk.”

Last year, I wrote a short post about getting your conference proposal accepted. That’s just my personal philosophy, but I think it holds mostly true for all good conferences. There’s always the “I want the biggest names I can get” philosophy, but if that’s the case, then there’s nothing you can do about that anyway.

Proposals are due Monday, so hurry up and submit.

It’s the first year for NYPHPCon, but Hans and the whole NYPHP crew are great guys, so I know they’ll put on a teriffic show. When I still lived in NYC, I attended NYPHP user group meetings on a semi-regular basis, and they were even kind enough to let me present once or twice.

In fact, I gave my very first Web services presentation to NYPHP back in February of 2003. I don’t know if eBay would have hired me as a Web service evangelist if I hadn’t started down the path of learning about Web services for NYPHP. So, I owe them a big debt of thanks.

Besides, New York City is the best city in the world. Sorry Bay Area neighbors. Although, I certainly don’t miss the 22.8 26.9 inches, or .58 .68 meters for my non-US readers, of snow that got dumped on the city last night. Have I mentioned it’s 65 degrees (18 celcius) today in San Francisco?

Oh, I almost forgot to mention what talks I submitted. All of them will have an eBay theme, but none of them are 100% eBay advertisements:

  • Consuming Web Services Using PHP 5
  • Dirty secrets of PHP 5’s ext/soap extension
  • Abracadabra and hocus pocus: Magical methods and PHP 5

I really like my abstract for the that last talk:

PHP 5 provides a number of so-called “magical methods,” methods that are automagically invoked to secretly manipulate objects. These __methods() are cool, but when, if ever, are they actually useful? Using an eBay Web services SOAP client as my example, I’ll demonstrate how a little slight-of-hand and misdirection leads to shorter and more intuitive code.

Right now, my eBaySOAP code uses __construct(), __set()/__get(), __call(), __isset(), __toString(), and the IteratorAggregate and ArrayAccess interfaces. If I can get Dmitry to add the hook he promised to ext/soap, I’ll also add __wakeup(). I’m sure there are a few more things I can do, but the trick is to only implement useful and intuitive methods, so we’ll see.

Another eBay Blog

Lots of new eBay blogs popping up in the past few months. I just discovered “Tsunami Alert in the Great Salt Lake“, written by Cindy Purvance, my favorite person in eBay customer support. Go Cindy!

ApacheCon Review and Slides

I got back from jApacheCon last night. I like the show, but the ASF has certainly shifted over the years from programs written in C (httpd, mod_perl, PHP) to programs written in Java (Ant, Axis, Beehive, Cocoon, Geronimo, Jakarta, Struts, etc.).

This has caused the show to have an increasingly large amount of Java content — Day 1 and Day 2 were almost 100% pure Java. Since I can’t even figure out what an application server does (serve up applications?), most of the sessions are wasted on me.

The nice Java programmers try to explain how their sites take advantage of all these nifty Java projects, and I’m always forced to apologize that I really have no idea what they’re talking about. Seriously, what are Tomcat and Jackrabbit? I don’t know.

This has caused the PHP crowd to dub ApacheCon with new names. Chris prefers JApacheCon; Andrei likes JAvacheCon; I want either ApacheCon4J or jApacheCon.

However, Day 3 was a nice mix of PHP, Ruby, and Michael’s httpd talks. Fun stuff.

I think my talk on “Consuming Web Services Using pHP 5” went over well. I was a little rushed at the end because there was a 5 minute delay getting started due to technical difficulties reassembling the sliding wall panels used to split up the ballroom into the separate session halls. It was also the first time I gave the talk, so I didn’t quite have the timing and pacing down pat. (I was also way hopped up on the six glasses of iced tea I drank during lunch.)

I usually find that I need one slide for every two minutes of session time. However, I had 43 slides for a 60 minute talk, which was about 5 too many today. Fortunately, I intentionally put some slides I could skip quickly by at the end of the deck, so there was a few minutes for Q&A. Still, I wish I had left more time for audience participation.

For those of you who are interested, here is a PDF of my slides.

There’s a short over view of REST and SOAP; three increasingly complex REST demos: reading a del.icio.us RSS feed, searching flickr and creating an image gallery, and adding tags to a flicker photo; and an eBay SOAP example leading up to my eBay Motors Google Maps mashup. The final few slides are my overall takeaways from playing around with Web services for the past 18 months.

Afterward, I answered questions for a bit and then managed to stand by for an earlier flight — getting me back to San Jose at 6:30 instead of 8:30 — and letting me drop in on our holiday party at Zibibbo.

John Battelle at eBay

While I’m down in San Diego for ApacheCon, king of search author John Battelle is visiting eBay. I missed the talk, but Alan Lewis has a write up of the Q & A.

Re: Web 4.0.1

My cow-orker Jason Steinhorn has lept ahead to Web 4.0.1. Here are my initial thoughts on his ideas.

I think a key take-away is that big web companies with large data stores shouldn’t focus on creating one giant web site application.

Instead, they should make a number of applications that layer on top of their platform powered using the unique information and processing capabilities they have. Each application takes from and contributes back to a different, but complimentary, set of data.

[Insert cool picture here with overlapping circles]

I think Yahoo! does the best job of this on the Web right now. Some of their new services blend together more pieces than just their shared authentication system. (I really like the Travel Trip Planner site.)

This allows you to build up a larger and more robust data store that hits many segments of the population. If you just build the “it’s right for the middle 80%” application, you can get large, but you miss the long-tail of data. (Drink.)

The best way for this to happen is for that company to think of itself as another developer on the platform. Maybe not a co-equal developer, but a developer with benefits, so to speak. This helps ensure your platform is designed in a flexible and scalable manner — because you’ll be eating your own dog food — and you’ll be annoyed when your platform is a limiting factor.

Yet, at the same time, you’ll also be enabling others to build first class applications on the system — the key part of a vibrant platform — all of which contribute back to the data store. And, as Tim O’Reilly says, “Data is the Intel Inside of Web 2.0”.

Joel Spolsky’s Management Training Program

Joel Spolsky just released the first cut of books for his Software Management Training Program. There’s a good mix of product design books along with a lot of company specifc (Dell, Microsoft, Google, PayPal, Amazon, etc.) text. He’s also thrown in a good mix of general MBA texts (Getting to Yes, The Goal, etc.)

Here’s how I score out on the curriculum.

Books I have read (or at least own):

I would also add the following books to his list:

Of the remaining books, these interest me the most:

What would you add or remove?

My 30 seconds of ZendCon Fame

As part of ZendCon, Zend interviewed a number of their friends and partners for a short video montage. They played it during the first day opening keynote, which I had to miss, unfortunately.

Happily, they’ve placed it online. Now you can watch my 30 seconds of fame. Don’t worry, I am first out of the gate, but stick around — fellow PayPal Evangelist Dave Nielsen is second, and Yahoo! buddy Michael “new dad” Radwin is third.

Special thanks to Brian “VS2K5” Goldfarb for his kind e-mail comments about the clip.

ZendCon Days 3 and 4

Yesterday was a good day at ZendCon. I arrived in the morning and sat through Michael’s excellent talk on Yahoo! and PHP. If you’re into PHP or large-scale web site architecture, it’s worth your time to read the slides.

Later, I introduced the “Empowering eBay Research with PHP & Web Services” session. Andrew Sukow gave a nice overview of all the data mining and analysis tools he’s writing to help eBay sellers and other people learn what’s going on in our marketplace. Lots of data makes for lots of fun. He got a huge Postgresql database. I think he says we send him 6 GB every day, and he’s got 3-4 months worth of back data.

After the show ended, I went to dinner with a number of PHP developers and Microsoft. At my table I had Joyce Park, Cal Henderson, Chris Shiflett, Christian Wenz, a bunch of Microsoft employees, and a few other people who I’m sure I forgot. (Sorry!) It was fun trying to explain to Microsoft that PHP doesn’t have any of those fancy ASP.NET 2.0 features, but actually that’s on purpose. The infamous Sterling “super-pimp” Hughes made a cameo appearance, but I didn’t get a chance to talk to him about street light censors, alas.

This morning, I heard Joyce’s talk, and then sat through Adam Bosworth’s keynote. I was happy he made a bunch of nice eBay mentions. Always good to have someone from outside your company speaking nice about you. After opening up with a more technical first half, Adam moved into “Health.” His claim is that if only we could do some form of healthcare social network or community sharing of data then we might actually be able to save lives. I guess it was more textured then that, but that’s the one sentence gist.

Overall, I think the Zend guys were very happy with their first conference. The attendance was quite strong, and while I didn’t get a chance to go to too many talks, the ones I went to were interesting. I know how tricky it is to arrange all the moving parts of a big show such as this, so I give them hugh credit for pulling it off at this scale.