Home Google Perl and Python – Two Nights in Silicon Valley

Perl and Python – Two Nights in Silicon Valley

One of the well-touted advantages of living in Silicon Valley is that it is a crucible of talent. Along with colleagues, conferences and unconferences, there are many regular user groups in the valley, of which I’ve attended several. This past week, I decided to check out the local SF Perl Mongers and BayPIGgies (Python) which both had meetings.

Night One – SF Perl Mongers

I’ve been to two YAPCs but this was my first SF Mongers meeting and I was pleasantly surprised. As it happens, the talk was being given by Ingy döt Net, the creator of YAML, who I met briefly several years ago. I also got to meet up with Larry Wall and Miyagawa, both of whom I last spoke with at YAPC::NA, as well as new acquaintances including Catalyst core team members Tom Doran (who I recognized from his Gravatar) and Florian Ragwitz (rafl). Tom and Florian were here from Europe courtesy of Google for their participation in the Google Summer of Code.

Ingy’s talk was on Acmeism, his movement to simultanenously write code in multiple object-oriented languages including JavaScript, Perl, PHP, Python and Ruby among many others. The genesis of this project seemed to be from his experience with YAML where each language would have it’s own, often slightly different, implementation. With Acemeism, changes could be pushed out to multiple languages with one code update. I can see the advantage of Acmeism for a cross-language library that requires interoperability. For example, it would be great if there was only one interoperable version of LZF compression; however, it seems that not only does each language have a non-interoperable implementation, there may be multiple non-interoperable implementations per language. More generally, I’ve been interested in the compilation of interpreted code to C/C++ for the performance boost, a la Facebook’s Hip Hop, and did mentioned this to Larry in the context of Moose and Perl 6.

Afterwards, we went over to 21st Amendment Brewery for some drinks and dinner.

Night Two – Python BayPIGgies

This meeting was run by a few folks from Google, including JJ Behrens, from the YouTube API team, and Wesley Chun, a developer advocate based in SF. Both JJ and Wesley were held up so we were treated to a talk by Alex Martelli the #2 ranked “Famous Python Programmer at Google” according to Wesley’s slides he was giving. Alex, JJ and Wesley all provided great talks and insights.

Some good takeaways from the night included:

  1. The original spidering code for the crawler was done in Python by a part-timer who received a 5% equity stake.
  2. Back when Google Video and YouTube were competitors, the YouTube team was out-innovating the Google team because they were using Python while the Google team was using C++.
  3. While Python is one of the approved deployment languages, it is used mostly in the back-end sysadmin, deployment and QA code. The user apps are either in C++ or are moving that way which can provide up to a 20% speed up.
  4. PyPy was recommended by Wesley as a faster version of Python that is also faster than CPython on many tests. Digging into PyPy a bit afterwards, I was pleasantly surprised to learn it’s written in RPython, a statically-typed restricted version.

From Google’s perspective, it seems like Python is great for rapid prototyping and competitive feature deployment as well as back-end work; however, once the feature set is relatively stable, there are performance gains to be had from porting the user-facing applications. While perhaps not the approach, everyone would take, it’s interesting to hear their perspective.

Afterwards we broke up and went our own ways. There did not seem to be the same desire to hang out afterwards as in SF.

Both presentations were posted online:

  1. Wesley’s Python @ Google (IO 2011) presentation
  2. JJ’s YouTube for Business presentation


I was impressed by the people and knowledge gained at both meetings. They were intimate in size so it was easy to get to know people and engage in conversation. I’m looking forward to more meetings in the future.

 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments