Archive for Adam Trachtenberg

author photo

Adam Trachtenberg is the Director of the LinkedIn Developer Network, where he oversees developer relations and marketing for the LinkedIn Platform. Before LinkedIn, Adam worked at eBay in platform product management and marketing. Even earlier, he co-founded Student.Com and TVGrid.com. Adam is the author of PHP Cookbook and Upgrading to PHP 5. He lives in San Francisco.

PHP 5 SOAP Hacking

My new favorite PHP 5 SOAP feature is the classmap option. By default, ext/soap converts complexTypes into stdClass objects. However, that’s only useful for reading the data.

Using the classmap option, you can specify how ext/soap should map complexTypes to PHP classes. This allows me to write methods to implement iterators and pretty-printing of objects.

I hope I can construct a series of model classes (similar to what Services_Ebay), so if you have an User object from populated from the output of, say, GetUser, you’ll be able to call a GetFeedback method on that object, and have it make a GetFeedback API call and fill in the necessary data based on what’s already stored within the object as properties.

Ideally, I’ll be able to do some magic __call() overloading, so I don’t even need to explicitly define these methods, but I can just write one magic base class. I’m not sure if that will work, but it’s my weekend hacking project.

Also, while I’m at it, I’m having problems getting the compression option to work. I get a nasty SoapClient::__doRequest(): SSL: fatal protocol error when I try. It looks as if zlib is enabled, so I don’t know if SSL and Gzip don’t play nicely together, or if my SOAP server is busted, or what. I’ll work on debugging this, but if anyone else has something to share, I’d be happy to hear it.

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.

ZendCon Day 2

I had to head into the office in the morning, so I arrived at ZendCon right after lunch and in time for Marc Andreessen’s keynote talk. The first half was a review of 50 years of computing in 30 minutes.

For me, the key takeaway is that computers are much faster than before. Seems obvious, but I think lots of programmers still have that mainframe mindset where you need to squeeze out every inch of performance, and they don’t consider that sometimes the correct solution is throwing hardware at the problem instead of developer resources.

The idea that sometimes performance is vital, but not as often as you think is something I’ve been trying to sell for a long time.

The second half of the talk was open session for Q&A and the questions were all over the map. People asked about the early days of Netscape all the way to “what’s the next big thing?”. I think the highlight for me was, during a question about the benefit of standards and the Netscape/Microsoft HTML wars, when Marc said (after a reasonable preable about innovation vs compatibility): “when I added the image tag to HTML, the HTML purists got all mad at me, too.”

When we first started Student.Net in the summer of 1995, I do remember a 30 minute conversation about whether it was acceptible to use HTML tables as part of our design. Not because we were CSS presentation zealots, but because we weren’t sure we could count on all browsers supporting tables! Finally, we decided the layout would degrade (somewhat) gracefully, so it was okay.

After that, I skipped out on the Oracle keynote to grab a bite to eat and catch up with Chris and Marcus and the NYPHP gang. I also saw George and Wez.

I only made it to one afternoon session — the one on PHP and Windows. The speaker from Microsoft was actually quite good and interested in using PHP on Windows. It was a good fit, as unlike lots of other conferences with a PHP track (such as OSCON), the audience was actually using PHP on Windows servers. I remember the debate when we chose this talk. We were afraid it would be a lot of .NET/C# spin, but it was totally the opposite, so chalk one up for Microsoft.

I snuck out early from the talk to set up the eBay / PayPal joint Developers Program booth. Dave, Alan, and myself were staffing the booth, with extra-special guest PB.

We had a good turn out. Lots of people interested in eBay and PayPal. Given the business focus of the conference, I wasn’t too surprised, but I was still happy to see it. In particular, I think PayPal’s recent purchase of Verisign’s Payment Gateway Business will be a boon for their Developer Program.

After the Expo Hall closed for the night, Zend threw a (slightly belated) PHP 10th birthday party. PayPal provided the DJs, who were actual PayPal Developers Program employees.

Today looks to be a fun day. I’m going to congratulate Michael on the birth of his son. Another project successfully launched. And later today is my talk. I’m doing the intro and then Andrew from Terapeak/DataUnison is doing the rest.

Zend/PHP Conference

In the conclusion to my month-long series of local conferences and speaking engagements, today’s the first day of the Zend/PHP Conference.

I’ll be heading down in the afternoon for a little while, and then coming back again from 6-8 for the opening night reception. I’ll also be there parts of Thursday — I can’t miss Empowering eBay Research with PHP & Web Services — and I’ll try to sneak by on Friday morning.

If you want to hook up, let me know. I will try and be at the eBay booth when the exhibit hall is open, but we’re running a staff rotation system, so it’s best to schedule something.

How eBay Uses Metadata to Enhance Its Web Services

Alan Lewis has a great article up on XML.com on embedding meta-data inside WSDL files.

Since we rev our Web services API every two weeks, we run into versioning problems that aren’t well covered by existing practices. For example, we define a whole set of complexTypes, but those types can morph overtime and we want to maintain backwards compatibility whenever possible. Or, a piece of data may be mandatory in one call, but optional in another.

Seeking a standards-based solution, our documentation team turned to the appInfo element defined as part of XML Schema. It’s quite a nice idea, and also allows us to auto-generate reference documentation from the WSDL file itself. We’d love for other companies who encounter a similar problem to take a similar approach, so that we can pool resources.

If you’re interested, check out Alan’s piece.

How to get your conference proposal accepted

There’s been a little discussion lately on how to get more female speakers at technical conferences. This post is more aimed at new speakers in general than female speakers in particular, but I think it applies pretty well to both topics.

First of all, my tech conference experience is pretty complete: I attend shows as a participant, I speak at shows, I select sessions for shows, I exhibit at shows, and I run a show. Sometimes I will do multiple parts, such as speak and exhibit, but not the others. I’ve even selected sessions for a show that I never attended.

I actually speak at a lot of shows because it’s my job. In the past two weeks, I spoke at CTIA and Web 2.0. In the next two weeks, I will speak at the SD Forum Etech SIG, 4D Summit, and Zend/PHP Conference. Later this year, I’ll be speaking at ApacheCon, and a few more places that I still need to line up.

I also chaired the PHP track at OSCON and was on the planning committee for the Zend/PHP conference. On top of that, I run the evangelism team for the eBay Developers Program, and we put on a three day conference every June, with 4 tracks running in parallel. Our eBay Developers Conference gets bigger every year.

Okay, enough of all that shit. Let’s just say I think I have a pretty good perspective from all sides on this issue, and I agree with Kathy 100%.

When I’m putting together a schedule, I want a wide range of people and topics. Sure, I need some A-list celebs, but I also want some new blood. I’m going to do my best to be proactive and reach out to the people I want to talk, but that’s only because I want a great show. If you can help me make that happen, then I want you to participate.

I do my best to make people feel comfortable and even go so far as to tell them the decision criteria and what I am and am not looking for. I’m not sure if people listen, but I can’t help that.

I strongly encourage people new to speaking circuit to submit multiple proposals because sometimes I don’t select a talk because of anything bad with the speaker or the proposal, but because I have a much better speaker for that position. If you want to talk about, for example, “What’s new in PHP,” but I can get Rasmus to give that talk, then I’m going to pick Rasmus 100% of the time. You might know everything there is about what’s new in PHP, but that’s not the point.

However, if you also submit “PHP and Web Services,” then there’s still a chance you can get selected for that slot. Unless, of course, I get a proposal from someone who wrote the SOAP extension.

Therefore, the more quality topics you offer up, the better chance you have.

I had never heard of Neil Green before he submitted talks to the Zend Conference, yet he ended up getting a slot on “Elements of an Enterprise PHP Framework.” Neil submitted at least three different proposals, and also indicated that he was open to similar topics, if they turned out to be a better fit. Well, we decided we really wanted a MVC-style talk, and his proposals looked the best, so we reached out and came up with a topic that worked for everybody.

One common problem is that people often submit really specific talks about topics nobody cares about. For example, there are too many database abstraction layers already for PHP. Yours may be better, but if you don’t have a community of people using it to prove that to me, I’m never going to select it over a talk on PDO, PEAR::DB, ADODB, or even MDB. You need to give me a topic that when other people read about it in the program, they say one of a few things:

  1. That’s interesting, and I want to learn more about that for personal enrichment. (For me at OSCON, this was Brian Aker’s talk on the open source PBX, Asterisk.)
  2. That’s interesting, and I want to learn more to share with others or for work. (For me at OSCON, this was Jason Hunter’s talk on XQuery.)
  3. That’s interesting, and I want to learn more to tell my boss I learned more, so he’ll let me come back to another conference. (For me at OSCON, this was a number of talks on Firefox extensions, including XUL and Greasemonkey.)

That’s why I always try and schedule talks on security and scalability. They’ll great for selling tickets and justifying the trip back home. (Oddly enough, none of these talks was on PHP.)

Another word of advice. I know you get more money when you give a tutorial, but don’t waste your time submitting them unless you’re sure somebody on the conference committee knows who you are and will agree that you’re either the expert on the topic, or a good speaker who will give a strong three hour talk.

I have very few tutorial slots. People pay lots of money to attend those sessions. It’s really hard to put together three hours worth of material, and it’s even harder to deliver it well. I can’t afford to waste a spot with a bozo.

Now, you might be great, but if I don’t know for certain, I’m far more risk adverse when it comes to selecting tutorials. Also, since tutorials do cost more, I like to schedule more celebrity-style speakers in those slots, since it helps with the marketing. (They have to be good speakers, of course. There’s nothing lower than sitting through three hours of your idol giving the world’s worst talk.)

I don’t know if this will end up getting more women to speak at shows, but I hope it at least stimulates someone beyond the usual suspects to submit proposals the next time their favorite show comes around.

Party like it’s 1999

With all the recent purchases and the Web 2.0 conference, I’ve read a lot about how 2005 is shaping up to be the second coming of 1999.

I was skeptical, but I just had the largest 1999 moment since, well, early 2000. It begins by me admitting that I was reading an article in Wired Magazine, but ends when I tell you they served me a banner ad for Tripod.

Then again, if AOL just paid $25 million for Weblogs, Inc., Lycos’s purchase of Tripod, which at the time was the 8th largest site on the Net, for $58 million was a total bargain.

Can you believe Tripod was the 8th largest site on the Net in 1998? And how did Bo Peabody put out a book last Christmas without me knowing?

Blue Screen of Death

One advantage of having a corporate IT staff is that when your laptop starts giving you the blue screen of death, you can file a trouble ticket and somebody comes by, copies the data off your machine, replaces your hard drive, and returns it to you. If you’re lucky, they might even install the hardware upgrades and new software you request.

Of course, I would never be using Windows if I wasn’t at eBay, but there’s crappy sys admin stuff for Mac OS X and Linux, too. I hate being a sys admin. It’s my least favorite part of using my computer.