Still a small office

Someone asked me at lunchtime what I thought of the Yahoo! India Software Development Center office. I answered that it reminded me of the Y! office 5 years ago in Santa Clara. It’s still small enough that you can know every engineer, all-hands meetings don’t require a microphone or PowerPoint presentations, and the cafeteria has a payroll-deduction scheme for lunch (instead of a la carte and cashiers like we have nowadays in Sunnyvale).

I thought this was a pretty original insight, but apparently I gave more-or-less the same answer as Zod, Filo, Ash and other old-timers gave. :-)

Only one more day in the office and then it’s back to the US. We’ll probably go back to doing weekly videoconference calls so we can continue the momentum on the project, but it won’t be the same.

Mysore Palace at night

After visiting the temple we came back to the palace to get some nightime pictures. There were thousands of families on the palace grounds walking around or sitting on the grass. We got some boiled peanuts from a guy in the parking lot and then hopped in the car to head back to Bagnalore.

Yahoo!ing in India

I’m currently in Bangalore, India for business. Yahoo! formed a software development center here about 3 years ago, and now the office has about 130 engineers.

P5220201.JPG

I arrived a few days ago, but have been so busy with work that I haven’t had time to post any pictures. This is my first trip to India (actually, my first trip to any part of Asia). The Y! office is located on Mahatma Gandhi Road, which is one of the busiest streets in downtown Bangalore.

P5220200.JPG

Inside the office looks about the same as the Y! corporate headquarters in Sunnyvale. The cubicle walls are lower, but the purple-and-yellow (and grey) color scheme is much the same. Here are Badi and Kalyan in a typical 4-person bullpen cube:

P5210202.JPG

I arrived Wednesday morning, took a tour of the office, met with my team to do a short presentation, and made it back to the hotel around sundown before going to sleep. Thursday and Friday I gave presentations to a larger group of new employees introducing them to a wide variety of proprietary Yahoo! technologies.

On Thursday night after work we went to see a theater group called MISFIT perform three short plays. Very entertaining. We were planning a trip to Mysore today but unfortunately I’m not feeling very well, so we’ll probably go next weekend. I spent the entire day Saturday at the hotel in bed with a fever and dizzyness. Feeling slightly better today, but now I’ve got intestinal issues. Guess I should’ve heeded Venkat’s advice and avoided fresh fruits and vegetables. Hope to be feeling better tomorrow.

One thing I’ve noticed reading the papers here is that Indians really like puns. Coverage of the recent elections has been peppered with groan-inducing headlines like “Singhing in the Reign” and “In Sihkness and in Health.”

My Yahoo! RSS

After 2-3 years of stagnation, My Yahoo! has finally done something interesting. They have added a hosted RSS aggregator feature to the site.

For the time being, I’ll still probably stick to using like Radio Userland better, because it organizes articles by date (regardless of source) and My Yahoo! is very source-centric. However, I’m hopeful that My Yahoo! will improve over time, including the ability to show full content of RSS feeds with inline images.

Add this blog to My Yahoo!

Yahoo! Year in Review

Here’s my own personal Yahoo! Year in Review (i.e. the highlights of my job in 2003):

  • In January, I started my new role as an Engineering Manager, leading my own 3-person team. The change of job responsibilities was just the thing to get me charged up about work again.
  • A month later I finally got rid of my home office and started working in Santa Monica at the Yahoo! LAUNCH office.
  • In March I got the good news that my Targeted Advertising Patent application had been published by the U.S. Patent and Trademark Office. We submitted the application back in the Fall of 2001, but it takes the USPTO a long time to review these things. Hopefully the patent will issue in 2004.
  • That same month I got news from my boss that my group (developer tools and core software infrastructure) was going to be growing in size. We started interviewing candidates, and by the beginning of August my group had grown from 3 to 7 engineers.
  • In July, I spoke at OSCON 2003 in Portland. I got to have a beer with my buddy Sam Jackson who I hadn’t seen in about 5 years, and I met a few cool folks like David Sklar and Adam Trachtenberg.
  • I spent a good deal of time in July and August training Andrei and Ryan, the two newest members of my team.
  • I gave my “One Year of PHP at Yahoo!” talk at PHPCon West 2003 in Santa Clara. This conference was more schmoozing than sessions; I spent quality time with Ze’ev, Rinat, Zak, George, Sterling, Thies, Shane, James, Luke & Laura, and local Yahoo!s Andrei and Brian. I also met Brian from Microsoft, who seemed like a really nice guy.
  • I spent most of the remaining part of the year working on annual performance reviews. It was amazingly difficult and time-consuming, but I’m hopeful that it was worth the effort. The opportunity to reflect upon my group’s work over the past year made me proud of our accomplishments.
  • As a result of my new people-management job, I didn’t manage to write too much code this past year. Our CVSdb checkin database shows that I added 7,257 LOC to the codebase this year, compared to 21,928 LOC in 2002.

There is only an hour and a half until the New Year, so I think that’s enough for 2003.

Cancelled again

apache-feather.gif Ugh. I’ve been cancelled again.

I was planning to give an Apache-releated talk to a bunch of Yahoo! engineers in Sunnyvale next Thursday, but somone else has stolen the conference room from me.

Yahoo! Engineering has a great tradition of “Thursday Lunchtime Tech Talks.” Every Thursday we reserve a big conference room upstairs from the cafeteria and someone gives a tutorial or a presentation on a technical subject while a handful of interested engineers listen and learn. It’s a great opportunity to meet people you’ve only corresponded with over email, and very frequently you learn something about how to solve a particular problem that comes in handy.

In my 5 years at the company I’ve probably done 6 or 7 talks, mostly relating to ad-targeting, Apache, PHP, and our proprietary package-management tool.

I’ve actually been planning to give this Apache talk since early September and have had 3 separate dates reserved for this talk. But each time I’ve been postponed by a few weeks due to a room conflict. Next week there’s some sort of three-day conference that wants to use the room.

So, I’ve been rescheduled for January 8, 2004. I wonder if I’ll get preempted by the Q4 2003 earnings announcement…

How to scale PHP

oscon2003-speaker-125x125.gif With one week to spare, I’m finished with the slides for “One Year of PHP at Yahoo!,” a talk that I’m giving next week at the O’Reilly Open Source Conference in Portland.

The finished product is a quite a bit different than the abstract I submitted, but I think it’s a good thing. This talk ended up being much less about Yahoo! and much more about how to use PHP effectively in a high performance environment.

Here’s the new outline:

  1. Brief introduction to PHP
    • Where PHP fits in a web server architecture
  2. Scaling PHP
    • Five general techniques for high performance
  3. PHP Security
  4. Managing PHP
  5. Open Problems
    • Lessons learned after one year of PHP
  6. Q & A

Folks who come to the talk hoping to learn from an insider about how Yahoo! works are going to be disappointed. The PR group won’t let me give away any secrets this time. :-)

However, if you’re interested in seeing how PHP can be scaled to 1.9 billion pageviews a day, this talk is for you.

This talk is packed with content. I’ve got 30 slides but only 45 minutes of time. I’ll post the slides on Monday once I’ve got the final OK from PR.

[Update 8 July 2003: Slides for the talk are now available online.]