Friday 26 October 2007
Facebook StumbleUpon Twitter Google+ Pin It

Weekly Google Code Roundup: Leopard day, JavaScript fun, and the open source world.



It's Leopard day. I am really excited to get home to install the new version of OS X. It isn't actually the new operating system itself that excites me, it is the new applications that I know have been waiting for this release to be able to see the light of day. Our own Google Mac team has announced an update for Leopard, so update Google Desktop before you change your strips for spots. When you setup the new Mail.app, consider enabling IMAP in Gmail and using both (I have been looking forward to IMAP support for a long time)!

I was really excited to see our Blogger GData JavaScript client library release. I am particularly proud of the examples that came along with the release as they really show you some of our ideas and give you good starting points for your own secure mashups.

If you want to test GData endpoints, there is help for doing some testing with cURL which we documented for you.

We got to hear to some of the teams too. Bruce Johnson and Joel Webber, members of the Google Web Toolkit team, had a nice interview with Pearson before the upcoming conference on GWT.

Paul McDonald and Rich Burdon of the Google Mashup Editor Team also discussed the nuances of the GME product and where it is heading.

In the Google Maps world Pamela played with clickable Polygons and used the ability to play a game. Also, if you are a Flash-y kind of guy, you can do more with KML and Flash.

We hosted a lot of open source meetings such as:



For those that like to search across open source code, we have a new ability to tell us more about your code via the integration of Google Code Search and Sitemaps.

Fancy some video? We had some great tech talks on campus including:



As always, check out the latest tech talks, subscribe to the Google Developer Podcast and visit the Google Code YouTube channel.

I am now heading out to get Leopard roaring, but a couple of final points. The new Google Finance Gadgets are interesting, and take a look at how our developer team lives in a Mario World.

Thursday 25 October 2007
Facebook StumbleUpon Twitter Google+ Pin It

Podcast with Bruce Johnson and Joel Webber



Last week the folks at Pearson Education sat down with Bruce Johnson and Joel Webber to discuss the creation of Google Web Toolkit and Pearson's December conference Voices that Matter: Google Web Toolkit. Listen to the podcasts to hear Bruce and Joel explain the history of GWT and the challenges of building a cross-browser Java-to-Javascript compiler. They also talk about the sessions that they are most looking forward to attending at the conference, and their upcoming book on GWT. Thanks to Bruce and Joel for sharing their thoughts and to Barbara and Greg at Pearson for putting this together.

Registration for the Pearson conference is still open, but be sure to register before October 27th (this Saturday) to receive the early bird pricing discount. You can review the complete list of sessions and speakers on the conference website.

Wednesday 24 October 2007
Facebook StumbleUpon Twitter Google+ Pin It

Google Hosts CIFS Workshop



Around sixty developers from over twenty different companies converged on Google's Mountain View Campus at the end of September to sample the free food. Oh yes, and also to test their implementations of the CIFS network protocol for interoperability.

CIFS, the Common Internet File System (that's Windows Networking to you and me), is the file sharing protocol build into all Windows versions, and also MacOS X, Linux, HPUX and now Solaris clients. Samba is the best known Free Software implementation of CIFS, and most of the Samba Team were there to help improve Samba3 and Samba4's interoperability along with the other CIFS vendors.

Over the three days much code was written, much beer was drunk, and the air was turned blue with cursing when bugs were found! As the Samba Team were mentoring several Google Summer of CodeTM students, we also got to record a podcast about our experiences participating in the program over the past three years.

Thanks to Google for hosting the event and setting up the gigabit networking required. The endless coffee supply was also essential when dealing with network protocol problems.

The best summary of the success of our testing occurred on the final day of the event, when a sad and frustrated CIFS client programmer wrote the following on our testing notes whiteboard:

"the server *hates* me :-) :-)"

It was great to see everyone coming together, even people from competing companies, to help fix problems with everyone's implementations of CIFS. Look for the resulting improvements in new versions of products and future releases of Samba.


The Samba Team takes a break during the CIFS Workshop.

(Photo Credit: Leslie Hawthorn)

Tuesday 23 October 2007
Facebook StumbleUpon Twitter Google+ Pin It

Updates from the I Free Software Forum



I recently traveled to the I Free Software Forum in Lisbon, Portugal, where I gave two talks. The first was on load balancing and the second focused on "Google e o Software Livre" (Google and Free Software). The main organizer of the conference was Ralf Braga, an old friend of mine from Brazil, who moved to Lisbon few months ago.

Both of the talks were well attended, which was great. During my load balancing talk, I covered things I found out while testing Linux Virtual Server and HAProxy, two open source software load balancing solutions. I explained a bit about the basics of load balancing, and then the pros and cons of each approach.

Lisbon is a very beautiful city. Everyone was chatting about the amazing growth of conferences about "Software Livre" in that country. There will be a total of 6 conferences about open source software around Portugal in just the next few months.

There were around of 200 people attending two simultaneous rooms of talks over two days, and most attendees were university students. One of the sponsors prepared the table for their booth in the same shape as the Ubuntu logo. Really cool. They also had Ubuntu pillows. Do we have Google Code pillows? We should. :)

The organizers are planning the second edition of the conference for next year already. I proposed to the participants that each one of them brings at least one friend who has never been to an free software conference before with them when they return. I know I'm already looking forward to going in 2008!

(The I Free Software Forum site is in Portugese. You can read an English translation.)

KDE 4.0 Release Party at Google HQ



When we met Sebas at the Ubuntu Developer Summit last November, he thought the digs were pretty cool and he asked if Google would be willing to host a release party for KDE's upcoming 4.0 launch. Since Sebas seemed like such a nice chap and we love hosting open sourcerers, we said "Hey, why not?"

While the KDE development team has been hard at work preparing Betas, we've been collaborating with the project's outreach team on details for the release party. The release party, along with typical conference activities like presentations and BoFs, will be rockin' at Google Corporate Headquarters January 17-19, 2008.

If you're looking for more information on the event, check out Troy Unrau's blog. Rumor has it that that KDE e.V., the non-profit organization behind the KDE project, will even fly one lucky KDE community member out for the release party.

We hope to see you there!

Friday 19 October 2007
Facebook StumbleUpon Twitter Google+ Pin It

Blogger GData JavaScript client library released with offline Blogger client example



Near the end of September we announced the release of a new GData JavaScript client library that allowed you to do full read-write access to Google Calendar from JavaScript.

We now have another service for you to have at. A GData JavaScript client for Blogger has been released, which means that you can now do richer mashups with blog content.

We sat down with Ryan Boyd and Pamela Fox to discuss the release and delved into some of the sample applications that have already been written. They include:

  • A tool that takes your upcoming Calendar entries and creates blog posts of the events
  • A code snippet that you can add to your website that enables visitors to your site to click on a link to comment on your content on their own blog
  • Code that allows you to search blogs on various topics, find entries, and again allow users to comment on their own blog


Pamela also worked on Blog.gears, a Blogger client that works offline using Google Gears. She took some time to take a peak at the architecture behind the application, and then walked us through the application itself.

If you have ever wished that you could do writable Blogger mashups without the need of proxy code on your own server, take a peak at the new client library, and listen in:

An interview with Paul McDonald and Rich Burdon of the Google Mashup Editor Team



We had the pleasure of sitting down with two of the Google Mashup Editor team to discuss the product and how developers can use it to build mashups in short order.



We start out by discussing what the product actually is. The term "mashup" is a very overloaded term out there, so a mashup editor could do a number of things. What are the pieces? How does it compare to other tools like Yahoo! Pipes (complementary!)? What are the user and global feeds?

We then delve into practices for building your mashups, and discuss good examples that are out there. We finish up discussing areas that the team would like to delve into as the product evolves.

So, take some time to download the episode directly, or subscribe to the show (click here for iTunes one-click subscribe).

Thanks to Paul and Rich for taking the time to chat with us.

Livin' in a Mario World



I think we all remember the 8-bit awesome that was classic Super Mario Brothers. Most of us in Developer Ops have spent many hours immersed in the pixelated world of question marks, mushrooms, coins, and Koopas. So, when the cube decorating contest (the theme was 'Games') was announced, the course of action seemed obvious.

I recruited a few lieutenants and we had some brainstorming sessions -- complete with design docs sketched out on a whiteboard.



There would be two main areas - the classic Level 1 terrain and an underwater level. We took on this task with typical Google vigor -- 15 yards of blue cloth, 5 rolls of saran wrap, 10 pieces of posterboard, foam, lots of color printer toner, and a few afterwork hours/weekends later, here are some of the results.









They say that a good work environment increases productivity. Where better to seek inspiration than the hardest working plumber ever?

Living the dream.

Stephanie Liu
On behalf of the Developer Operations team

P.S. In case you were wondering, we came in 2nd to Analytics (their theme was Jumanji). They had a motion sensor box that triggered a tiger roar when you walked by though. It was pretty cool.

Thursday 18 October 2007
Facebook StumbleUpon Twitter Google+ Pin It

Tell us about the code on your site with Code Search Sitemaps

We've heard from a number of site owners who want to make sure their public source code is searchable via Google Code Search. To help with that, we extended the Sitemap Protocol to support code files. This makes it possible to specify all the code files on your site, as well as the programming language and software license for each file.

To get started, check out the new Code Search tags for Sitemaps. For complete software packages that are archives (.tar, .tar.gz, .tar.bz2, or .zip), you can create a packagemap file to describe all the individual code files in each package. For example:

  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:codesearch="http://www.google.com/codesearch/schemas/sitemap/1.0">
<url>
<loc>http://example.com/download/myfile.c</loc>
<codesearch:codesearch>
<codesearch:filetype>C</codesearch:filetype>
<codesearch:license>LGPL</codesearch:license>
</codesearch:codesearch>
</url>

<url>
<loc>http://example.com/download/myproject.tgz</loc>
<codesearch:codesearch>
<codesearch:filetype>archive</codesearch:filetype>
<codesearch:license>Apache</codesearch:license>
<codesearch:packagemap>packagemap.xml</codesearch:packagemap>
</codesearch:codesearch>
</url>
</urlset>

Once you've created your Sitemap, post it to a public URL on your site and then be sure to submit it through Google Webmaster Tools.

We hope this effort will help make even more code accessible and useful for developers. Let us know what you think. There's still a lot more code out there, so we'll keep working on improving Google Code Search as a tool for finding it.

Wednesday 17 October 2007
Facebook StumbleUpon Twitter Google+ Pin It

Joomla!Day USA East at Google



Last weekend, Google hosted the first Joomla!Day to be held in New York City. We had around 80 users and developers join us to discuss everything from the GPL to cool new features added to the project's latest release candidate. We had a mix of scheduled talks and unconference-styl breakout sessions, plus a cool hacking lounge open throughout the day. We concluded with a review and collaborative feedback session on the Joomla! sites created by several of the conference attendees.



(Photo Credit: Ben Freda)

If you'd like to hear a bit more about the event and some of the co-conspirators who made our day a success, check out the wrap up post by Louis Landry, Joomla! Project Manager and one of their developers.

Many thanks to all of our guests for joining us and sharing their time and collective creativity!

Monday 15 October 2007
Facebook StumbleUpon Twitter Google+ Pin It

Sigurd Magnusson of SilverStripe on open source and the Summer of Code



Sigurd Magnusson, co-founder of the SilverStripe open source CMS platform, was in town for the mentor summit that wrapped up the Summer of Code.

We used that opportunity to grab him, put him in a Tiki hut, and chat with him about SilverStripe. We discuss life as an open source company, and the experience and advice based on having ten students enrolled in the summer of code program.

Thanks to Ohloh we have statistics on the code produced by the students. Obviously, the lines of code metric is purely quantitative and doesn't show the actual work involved, but it is great to see how these students have produced:



In the chat below you will hear about some of the really cool additions that SilverStripe has in its trunk thanks to the students.

Friday 12 October 2007
Facebook StumbleUpon Twitter Google+ Pin It

Weekly Google Code Roundup: Lots of Geo, feeling Ajax-y and another SoC graduation



Weekly Google Code Roundup: Lots of Geo, feeling Ajax-y and another SoC graduation

It really rained today, which has been the biggest rain that I have seen since moving to Mountain View. I am used to it, since I hail from England, and I have the chance to go back to London to speak on Google Gears at the Future of Web Apps conference. We learned more about Vortex, a simple new offline and sync abstraction on top of Gears.

In other Ajax news, the Ajax API team released a nice new Dynamic Feed Control that has a wizard that helps you find feeds.

The GWT team are looking forward to Pearson's GWT conference which offers dedicated time with GWT developers and core engineers. The Rialto framework also joined the GWT family by creating a GWT wrapper of itself.

The bulk of the news seemed to center around the geo landscape.

Chris Schalk wrote a detailed article on mashing Google Maps with Oracle XML DB and Java.

Pamela announced a new LabeledMarker which supports marker and label toggling, and the Google Mashup Editor team has updated its geo coding in maps.

There were some really fun feature additions too. You can now play YouTube videos from within Google Earth. It is great to zoom in on the Eiffel tower and see videos related to it.

The Earth team have also made it much easier to explore Earth in general. I enjoy the history of London.

If you aren't sure whether it is daytime or not when you drunkenly call your friend who is in europe, flip over to the featured DaylightMap site that always shows you where the sun shines.

We will finish with some interesting news for the newest coders:



As always, check out the latest tech talks, subscribe to the Google Developer Podcast and visit the Google Code YouTube channel.

Trip Report: Gears and the Future of Web Apps



I had the pleasure to head to my home town (London, England) to participate in the Future of Web Apps conference that brought together an interesting set of developers who want to take a glimpse at the future.... and the present.

I gave a presentation at the conference on Google Gears that covered all of the core components (Database, LocalServer, WorkerPool) and also showed off some of the great work that the community has been working on (libraries that work on top of the APIs, great examples, etc).

I really enjoyed the many questions that I got at the end of the talk, and through out the conference. Being in Europe, it was very interesting to see many questions on mobile Gears. The questions came in from app developers, mobile phone vendors, and phone networks alike. It seems that it is a common wish to have the offline abilities on their phones. I quickly realized why this was the case from the Londoners.... the tube! They need to put network repeaters in the tube, but since they have found it impossible to get air conditioning down there, I doubt that will happen any time soon!

I also got to talk to developers about architecture practices around the applications that they are taking offline. As always, it was interesting to talk to developers working with this in the real world.

The Gears project is run very much in the open, so take a peak at the Google Group for Gears and join the fun.

Here are the slides from my presentation:

Google Sponsors Improvements to FreeBSD's Performance Measurement Toolkit

Most CPUs today have built in performance measurement counters (PMCs) that can measure interesting low-level hardware events such as cache misses, branch mispredicts, and tlb misses. FreeBSD's HWPMC(4) driver "virtualizes" these hardware counters, allowing multiple processes to use them, and for multiple hardware counters to be concurrently active. Both simple counting and sampling (profiling) are supported, along with multi-CPU operation. FreeBSD's performance measurement toolset, PmcTools, is built using HWPMC.

PmcTools helps answer the following broad questions:
  • What is the system doing at this point of time? (e.g. "What hardware events are being seen in unusual numbers?")
  • Which part of the system are the symptoms associated with? (e.g. "Which are the 'hot' locations in the source?")

Recently, Google sponsored the development of an oft requested enhancement to FreeBSD's PmcTools: that of capturing the call chains leading to "hot" locations in the code. Call chains provide additional insight into the behavior of the system; in addition to determining the "hot" locations in the code, developers gain insight into why these locations became "hot" in the first place.

HWPMC and associated userland tools have been invaluable to the FreeBSD community in improving the scalability and performance of the upcoming FreeBSD 7 release. Kris Kennaway of the FreeBSD Project notes that "hwpmc is one of our most powerful tools for measuring and understanding CPU performance on FreeBSD. Support for profiling of call graphs was an important missing piece that will simplify the ability of developers to analyze performance bottlenecks in the kernel and in application code". Kip Macy notes that hwpmc has been invaluable in his 10 Gigabit Ethernet tuning efforts, and Arun Sharma notes that this work was particularly successful because it was quickly merged and is available out of the box to users of FreeBSD.

Check out this latest and greatest addition to PmcTools and let the FreeBSD community know what you think!

Wednesday 10 October 2007
Facebook StumbleUpon Twitter Google+ Pin It

Wrapping up Our Third Summer of Code



We just wrapped up our third Summer of Code, and as with 2006 we invited mentors from all successful organizations to Google for our annual Mentor Summit. We spent all day Saturday with our colleagues from the open source community sharing knowledge to improve Summer of Code, fostering collaboration and, of course, having fun! Our attendees proposed and led sessions, unconference style, from "How Do You Transfer an Itch?" to "The Stick, the Carrot and Sushi." Marty once again treated everyone to a day of free association and tinker toys in Casablanca.

Here's the obligatory group photo, and as you can see we've picked up a few more friends since last year.



You might also want to check out some pre and post summit pics from Bart, Seb and Wolf.

Congratulations once again to all of our students and mentors for another stellar showing in Summer of Code. Keep your eye on the program blog in the coming weeks for notes from the mentor summit and more success stories from our students and mentoring organizations.

(Photo Credit: Robert Kaye)

Thursday 4 October 2007
Facebook StumbleUpon Twitter Google+ Pin It

Open Source Developers @ Google Speaker Series: Ben Collins-Sussman and Brian Fitzpatrick



We're pleased to have Ben Collins-Sussman and Brian "Fitz" Fitzpatrick join us once again for the Open Source Developers @ Google Speaker Series. On Thursday, October 25th, Ben and Fitz will cover "What's In It for Me?: How Your Company Can Benefit from Open Sourcing Code." During the evening you'll learn more about various approaches companies use when releasing their software into open source, as well as a bit about the benefits and drawbacks of each method. Plus, you'll get to enjoy the near-legendary repartee between these two Subversion developers.

Like all sessions of the Open Source Developers @ Google Speaker Series, Ben and Fitz's presentation will be open to the public. Doors open at 6:30 PM at our Mountain View campus; guests should plan to sign in at Building 43 reception upon arrival. Refreshments will be served and all are welcome and encouraged to attend. The presentation will also be taped and published along with all of the public Google Tech Talks.

For those of you who were unable to attend our last session, you can watch the video of Michael Still's recent presentation Practical MythTV.