[image]
&

Google Open Source Blog

syndicated content powered by FeedBurner

Subscribe Now!

...with web-based news readers. Click your choice below:

addtomyyahoo4Subscribe in NewsGator OnlineAdd to My AOL
Subscribe in RojoSubscribe with BloglinesAdd to netvibes
Add to Google[image]

...with other readers:

original feed View Feed XML

Embed this content on your site

Embed with: SpringWidgets

FeedBurner makes it easy to receive content updates in My Yahoo!, Newsgator, Bloglines, and other news readers.

Learn more about syndication and FeedBurner...

Current Feed Content

Uzaygezen: Multi-Dimensional Indexing with Hilbert Curves

Posted: 2008-08-25 09:30:00 UTC-07:00


I'm pleased to announce the initial release of the Open Source project Uzaygezen, a Java library specialised in multi-dimensional indexing based on Hilbert curves. For those who may be wondering about the origins of the project's name, a fellow engineer in Dublin suggested this word from his native Turkish, as Uzaygezen means "space wanderer." The library supports mapping from a multi-dimensional space into one dimension via the Compact Hilbert Index. Additionally, Uzaygezen allows query building for databases with range query functionality, e.g. relational databases and, more generally, B-trees. To find out more and to check out the code, please visit the project homepage.

We always love to hear what you think. Please join the Uzaygezen discussion group to share your thoughts with us.
[image] [image]
[image]

Git and Google Summer of Code

Posted: 2008-08-22 11:30:00 UTC-07:00


Many of you may remember our most recent episode of the Google Summer of Codeâ„¢ podcast, Getting Giddy with Git. Now that we're heading into the program home stretch, we're back with an update on the success (and failures) of Summer of Code within the Git community.

This year Git was fortunate enough to get 6 very hard-working students, focusing on a number of different projects to make Git more portable and run even faster. Among our high-profile projects for 2008, Miklos Vajna's native C port of git-merge entered the main tree on July 8th, just one day after the mid-term evaluation period began. Miklos' work shipped as a key part of Git 1.6.0, released on August 17th. We were also excited to see Marek Zawirski's push implementation for EGit (the Eclipse plugin) enter the main EGit tree on June 28th, weeks before the program mid-term. Difficulties working with SWT caused Marek's GUI implementation to be delayed, but it finally showed up at the last minute as a 31 patch series. We are looking forward to seeing this in the fall EGit release.

To read even more about all of our great student projects, see the mailing list thread Jakub Narebski started during the 'pencils down' period. Jakub offers an excellent summary of every student project, and many of the students provide more detailed updates later in the thread.
[image] [image]
[image]

Sojourning in Szeged? Stop by DrupalCon 2008

Posted: 2008-08-21 16:54:39 UTC-07:00


If you're passionate about web development and will be in or around Szeged, Hungary next week, be sure to stop by DrupalCon 2008. Nearly 500 developers will be descending on the city to discuss all things Drupal, from improving user experience to further growing this CMS' vibrant community. Our very own Leslie Hawthorn, geek herder extraordinaire, will be presenting on Open Source at Google, with highlights from Drupal's participation in the Google Summer of Code™ program and the Google Highly Open Participation Contest™.

If you can make it, be sure to swing by to say hello to Leslie!
[image] [image]
[image]

Zurich Open Source Jam 4

Posted: 2008-08-15 15:00:00 UTC-07:00


In mid-July 2008 we had the fourth instance of the Open Source Jam in Zurich, an event for Open Source developers and users to meet, collaborate and network. This time it was a combined event with Google Summer of Code™ participants.

We had more than 55 people over, some of them giving talks on various projects. These projects included GDAL2Tiles, Tech Drawing Abilities for Inkscape, Libarchive, Mercurial, Mono, OLAT and Osmarender Frontend for OpenStreetMap.

When not listening to the lightning talks given in two blocks, people were talking to each other in small groups, discussing ideas and projects. As usual, you could hear various languages, from English and German to French. These jams are not only great to meet Free Software people like Bram Moolenaar, creator of Vim, but also just to meet people of different cultural background. To make sure nobody was thirsty or hungry, Google provided free beer and food.

The Zurich Open Source Jams are semi-regular events. To stay informed about the details of the next one, or to catch up on discussions about previous ones, join the Open Source Jam Zurich Google Group. To get more information on Summer of Code, visit the program website.
[image] [image]
[image]

SciFoo: 200 of the World’s Top Scientists Meet at Google’s Annual Meeting of Really, Really Smart People

Posted: 2008-08-15 09:30:00 UTC-07:00


Organized in collaboration with Nature Publishing Group and O’Reilly Media (“FOO†stands for “Friends of O’Reillyâ€), and hosted at the Googleplex, the third annual Science Foo Camp (SciFoo) unconference boasts no predefined agenda. Rather, participants are invited to propose their session topics on a giant white board, in various time slots with eight sessions running concurrently.

Most academic conferences are highly specialized and attended time and again by the same people. Here, to promote fruitful cross-pollination, participants hail from dozens of science and technology disciplines, from biology and astrophysics to CS and nano-technology. Attendance is invitation only; in the interest of mixing things up, many of the 200+ participants are not invited twice. “SciFoo allows people at different institutions and from different disciplines to interact with each other,†says Open Source Programs Manager Chris DiBona, who spearheads SciFoo. “It gives them a rare chance to talk freely with each other in a private setting.â€

This year, the conference was attended by Eric, Sergey, Larry Page, and Larry Brilliant of Google.org, along with a bevy of Google organizers and volunteers. The list of "campers" boasted four Nobel Prize winners (Sydney Brenner, Walter Gilbert, Andy Fire, and Frank Wilczek) and a laundry list of champions in the scientific community. Here are just a few: George Dyson (scientific historian), Brian Cox (physics popularizer, spokesman at CERN), Aubrey de Grey (biomedical gerontologist who studies "living young longer"), Eugenie Scott (director, National Center for Science Education), Brother Guy Consolmagno SJ (astromer at the Vatican), Neal Stephenson (science fiction writer), Nick Bostrom (transhumanist philosopher), Dan Tani (NASA astronaut, who has spent 131 days in space), Steward Brand (creator of The Whole Earth Catalog), Jill Bolte Taylor (neuroanatomist, author of the recent bestseller My Stroke of Insight [see TED talk]), notable theoretical physicists Lord Martin Rees (England's Astronomer Royal), Max Tegmark, Paul Davies, Lee Smolin, and renown oceanographer Sylvia Earle. To give the conference some umph, rocket scientist Carl Dietrich brought along a model of his Terrafugia "roadable aircraft," also known as a flying car, and Ian Wright parked his X1 all electric performance car, capable of 0-60 MPH in 3.07 seconds, by the dining tent.

Certain themes recurred. One was the need to do a better job of open sourcing data within the science community, including negative results; such sharing would enable collaboration and prevent scientists from "reinventing the wheel." A number of seminars also addressed the more quotidian concerns of studying science, from navigating office politics in academia to finding ways of making the discipline more exciting to young people. Many talks were also informed by specific social and humanitarian concerns, such as how Google can help detect emerging global pandemics, how genomic testing can help people prevent diseases, and, in a nutshell, what we can all do to ensure the long-term survival of the human race.

“A scientifically literate world is one that’s good for everyone,†DiBona says, summarizing the intent behind the conference. “People who are better educated will better understand what's possible on the Internet. As Googlers, I think it's incumbent on us to try to support basic science research and education around the world."

You can learn more about SciFoo by checking out the blog buzz and news coverage aggregated at Nature.com.
[image] [image]
[image]

Opportunities for Students at the Linux Plumbers Conference

Posted: 2008-08-14 13:30:01 UTC-07:00


We love helping our colleagues congregate together in the spirit of collaborative learning, and we're even more delighted to do so when it gives us the chance to help students learn more about Free and Open Source Software. Google's Open Source Team is a proud sponsor of the upcoming Linux Plumbers Conference, which will be held in Portland, Oregon, USA in mid-September. This first time conference has added a student specific mini-conference focused on providing hands on tutorials and development coaching; full-time students are welcome to attend the tutorial day along with the additional three days of the conference for only 50 USD. Tutorials will be taught by some of the most well-known members of the Linux community, including several of the conference speakers.

Early registration is open through Monday, 18 August. We certainly hope to see you there!
[image] [image]
[image]

Summer of Coders at Google's Bangalore R&D Center

Posted: 2008-08-13 17:12:16 UTC-07:00


At the end of July, several Google Summer of Code™ students got a chance to visit Google Bangalore. This being my first Summer of Code, I was very excited to visit the Google office and get a feel of what life is like when you work at Google. We had a bunch of students visit from all across India, and getting to meet them in person after days of talking on IRC added to the excitement!

Our hosts enlightened us about what Google is all about, the office itself, the company's India operations, and the Google 15 factor because of all the awesome food! We were also treated to a talk on the History of Google. Mr. Rahul Roy-Chowdhury’s presentation showcasing Google’s Vision & DNA gave us insights into how “different†Google’s business has been right from the start. We also got to know how new and innovative things are conceived of at Google and how projects end up in Google Labs, specifically the Google Indic Transliteration engine and Google News.

We all had a fantastic time and left feeling enriched and inspired. Many thanks to Google for hosting us!
[image] [image]
[image]

Keyczar: A New Crypto Toolkit

Posted: 2008-08-11 11:19:35 UTC-07:00


We are pleased to announce the Open Source release of Keyczar, a toolkit that makes cryptography safer and easier to use. For more information, please visit the Keyczar homepage or read more on the Google Online Security Blog.
[image] [image]
[image]

Linux Disk Scheduler Benchmarking

Posted: 2008-08-08 14:00:12 UTC-07:00


Over the last six months, Google has sponsored Gelato@UNSW to take a close look at the disk schedulers in Linux, particularly when combined with RAID.

We benchmarked the four standard Linux disk schedulers using several different tools (see our wiki for full details) and lots of different workloads, on single SCSI and SATA disks, and on hardware and software RAID arrays from two to eight spindles (hardware raid) and up to twenty spindles (software raid), trying RAID levels 0 through 6.

We had to fix some of the benchmarking tools (the fixes are now upstream), and we developed a new one: a Markov Chain based replay tool, which allows a workload to be characterised and then a similar workload generated.

We found bugs in all the schedulers; the ones in the deadline and anticipatory schedulers we fixed, and the current kernel.org kernel has our fixes in it. CFQ's problems are harder to fix; we are continuing to work on them.

The work was presented at the Linux Storage and Filesystem Workshop, and in January at the linux.conf.au 2008 Kernel Mini-Conference. See our Talks wiki page for links to slides and video.

Our major finding is that the best I/O scheduler to use is very dependent on your workload. The deadline scheduler seems to give a good compromise between bandwidth and bounded latency; but for particular workloads on small numbers of disks AS and CFQ can outperform it by a long way. In our measurements on hardware RAID the benefits of anticipation are negligible with more than three or four spindles; and CFQ's worst case performance (which seems to be very easy to trigger) is orders of magnitude worse than that of any other scheduler.

The most interesting results are outlined on our wiki; full results will be published later this year.
[image] [image]
[image]

distcc's pump mode: A New Design for Distributed C/C++ Compilation

Posted: 2008-08-07 16:15:11 UTC-07:00


For a while now, Google has been using distcc, a distributed C/C++ compilation system, to speed up building software made of millions of lines of code. With distcc, we can build code an order of magnitude faster than we could if everyone had to compile on their own workstation. But even with distcc, compiles could take a long time: compiling the Google Webserver might take 20 minutes. We started looking at distcc to see if we could make it even faster.

We're proud to report that we've succeeded: we've developed an algorithm we call "pump mode", which can be added to distcc to speed it up by a factor of 3. Pump mode works by pushing even more processing onto the servers. Based on an incremental static analysis of the source code, pump mode is able to quickly identify the sets of files needed for the preprocessing phase of compiling C/C++ programs and send them to the compilation servers for preprocessing. This achieves a dramatic decrease in the CPU load of the workstation and of course much better build speed. We have tested pump mode on some open source software and seen improvements in build speed between 50% (the Linux kernel) and 200% (Samba). With simple changes to the project Makefiles, most projects we have looked at would be even faster!

The pump mode extension has been Google's main C/C++ build system for over a year now.

Distcc's pump mode was developed by a small team at Google that included myself, Manos Renieris, Fergus Henderson, and Craig Silverstein. The pump mode extension complements the recently released open source gold linker, which addresses the other basic bottleneck for fast building of C/C++ software.

Distcc's pump mode is included in release 3.0 of distcc. This is the first release since 2004 when Martin Pool, the original author of the code base, released version 2.18.3. Distcc 3.0 contains many other contributions from a variety of contributors, including Avahi Zeroconf support by Lennart Poettering, "lsdistcc" by Dan Kegel, and bug fixes and portability improvements by Nadim Khemir, Maks Verver, Niklaus Giger, Sascha Demetrio, Alex Besogonov, Ben Skeggs, Lisa Seelye, Lei Zhang, Michael Moss, Dongmin Zhang, and others. Disctcc is now maintained by Fergus Henderson.
[image] [image]
[image]

Heading to the 8th Jornadas de Software Libre?

Posted: 2008-07-31 17:56:05 UTC-07:00
By Mario Bonilla, Site Reliability Engineering Team

The 8th edition of the "Jornadas Regionales de Software Libre", a.k.a. JRSL, will happen on this August 20, 21 and 22, in Buenos Aires, Argentina. The JRSL is a Free/Open Source conference that has been held alternately in Argentina and Uruguay since the year 2000, and both the quality of its agenda and the number of its participants define the JRSL as one of the most important events of the region. This year the conference is organized by CaFeLUG (the Capital Federal GNU/Linux User Group), usuaria (the Argentinian Association of Telecommunication and Computer Users) and the University of Belgrano, which is hosting the conference.

Google's Open Source Team will be sponsoring, and I will participate giving a talk about Google and Open Source. The event will also have other important guests, for a total of 80 speakers and 120 sessions.

The conference is conveniently scheduled after the end of the Debconf 8 , which will happen in Mar del Plata, Argentina, and is not too far from Buenos Aires. If you plan to go to the Debconf, or if you just happen to be around Buenos Aires between August 20 and August 22, just remember to register and participate in the JRSL too. I hope to see you there!

[image] [image]
[image]

London Open Source Jam 9

Posted: 2008-08-05 13:35:03 UTC-07:00
Post by Neil Dunn, Software Engineering Team

For the past 2 years, every two or three months, at the Google London Engineering offices, on a Thursday, around 6:30pm, something happens.

That something is the London Open Source Jam!

OS Jam is a free for all, open to anyone, geek night where open source hackers get together to discuss a topic close to their hearts. Last week we hosted the 10th event. The topic was Performance and Scalability. The pizza was hot, the beer was cold and the 5 minute lightning talks came thick and fast.

Here's a summary of the talks:

David Beaumont - What's in an API? - David talked about Java's CharSequence and Appendable APIs and use cases that can kill application performance. His takeaway message - Sometimes the standard APIs just don't fit. It's ok to roll your own.
Tim Cox - Scalability in an ad serving system - Tim discussed the iterations his team went through when building a fault tolerant ad serving system. He concluded that sometimes scalability comes at the cost of precision.
Zoe Slattery - Profiling PHP and Java with open source tools - Zoe discussed the tools she used to compare a PHP and Java implementation of Apache Lucene: XDebug for PHP and Eclipse TPTP for Java.
Douglas Squirrel - 5 minutes of monitoring - The second in a fantastic series of mega lists. Everything Douglas' company monitors and why they do it.
Manik Surtani - Publishing internal benchmarks? - Manik discussed the performance benchmarking framework he has built for JBoss Cache and put a question to the audience: Would it be useful if he published the benchmark results?
John Ripley - Building software for small devices - John asks, can it be done on a small device? Decoding MP3s? Watching MPEG videos? Playing Doom? Will it blend? Yes it can. As long as you know the platform.
Ade Oshineye - Beyond REST - 3 million HTTP requests for 6 thousand photos? Ade weighed in on the issues of RESTful architectures and suggested a few alternatives such as XMPP, the hanging GET, the never ending resource and HTTP callbacks.
Simon Stewart - Perfomant Selenium tests - Don't write them! - Simon says you could you use Selenium RC or Selenium Grid, or maybe HTTP unit, or maybe you could write smaller, faster unit tests instead. Jonathan Chetwyn - Visual metaphors for missing images and static vs. dynamic content - Jonathan brought some questions to the table from his work on openicon.org
Darren Hobbs - Caches! - Rip out all the caches and fix your architecture instead!

If you're near the London area and want to hear about future Open Source Jam Events, join our Google Group or monitor the feed on the OSJam page.

Rock on OS Jam!

Ed. Note: Updated post to correct spacing.
[image] [image]
[image]

Summer of Coders at Google Pittsburgh

Posted: 2008-07-29 17:17:05 UTC-07:00


On Tuesday, July 15th, I had the opportunity to visit the Google Pittsburgh office. I had visited once before for a talk given one evening. I thought it was a great opportunity to meet other participants in Google Summer of Codeâ„¢ along with Googlers that were into free/open source software.

The whole morning was quite informal, with two students and me (a former student and mentor this year) along with four Googlers for most of the day. It was great to hear how the two current students found their projects and to look around the Google offices and meet people working there.


Bina Patel, Jared Wenerd, Brady Hunsaker and me enjoying Google Pittsburgh

After chatting for what must have been over an hour about open source software, coding, programming languages, careers and the pros and cons of Nerf weaponry in the office we enjoyed lunch in the canteen where the conversations continued. The time seemed to fly by and before I knew it we were in the foyer having our photos taken before leaving. Our hosts gave us all Google Pittsburgh T-shirts, which is very nicely stylized.

It's all about the t-shirt.
[image] [image]
[image]

Content Licenses Now Available for Your Open Source Project

Posted: 2008-07-23 14:15:49 UTC-07:00
Open source projects often consist of much more than just source code. Resources like documentation and artwork are a significant component of many projects, but sometimes licenses designed for source code are not very appropriate for sharing these resources. To that end we have now made it possible for projects hosted on code.google.com to choose a content license in addition to their source code license.


Content license choices include the Creative Commons Attribution license and the Creative Commons Attribution-Share Alike license. You can use this setting to indicate the terms under which your project's non-source code materials may be distributed. Just look for the "separate content license" checkbox and select box in the "Administer" tab of your project. The setting is also available when you're creating a project.


If you choose a content license for your project, we will display it along with your source code license on your project's home page. This will make it clear to everyone the terms by which they can share your project's content, including wiki pages.
[image] [image]
[image]

Google XML Pages: A Functional Markup Generation Tool

Posted: 2008-07-23 09:07:20 UTC-07:00


Google XML Pages (GXP) is a templating system we use at Google. Its main focus is markup: we mostly use it for generating HTML and XHTML, but it can work with other flavors of XML, like Atom, KML, and RSS. It also has some support for a few non-markup languages (JavaScript, CSS and plain text), though mostly for embedding them within markup.

GXP's story begins in 2001, when I was working on an early version of Google AdWords. We had been having a lot of issues with the templating system that the AdWords Java frontend was using at the time, so I started looking around for alternatives. I made a list of some features I'd like from a Java compatible templating system, which looked something like this:
Compile time type checking and markup validation.
Convenient parameter passing/modularization. (our old templating system just used "includes")
Automatic escaping of untrusted content (to protect against Cross Site Scripting attacks).
A way to prevent "business logic" from ending up in our templates without being too oppressive.
Easy to use internationalization support.
A lightweight runtime, preferably not tightly coupled to the Servlet API. (so you can use it to generate email, not just web pages)

After investigating a number of templating systems, I couldn't find anything that met our criteria. I started playing around with ideas for what a templating system that met all of these criteria would look like, and I showed my eventual design to some other members of the team. They were enthusiastic about it, and our tech lead suggested that I go ahead and build it.

The original version of the compiler was written in Python and had a very tiny runtime system written in Java. We used this new language when we rewrote the AdWords system. Since then a number of other projects at Google have used GXP, including AdSense, Blogger, and Google Reader.

Over the next few years the language grew: the internationalization support was expanded, XHTML support was added (it originally only generated HTML), and the automatic escaping system was improved to significantly improve protection against XSS. About two years ago I began a complete rewrite of the compiler in Java. One of my hopes was that this would encourage users of GXP to become contributors to the compiler.

Several months into the rewrite, Harry Heymann joined in. Not only did Harry aid in getting the new compiler finished to the point where users of the old compiler could switch to the new one, but he also contributed extremely valuable new features like runtime compilation, instantiable templates, and support for generating non-HTML markup. Over the past several months Harry has also lead the effort to open source GXP.

GXP is now available to the Open Source community. It has been a useful tool for us, and we hope that others can find a use for it as well. Like virtually all software, it is still a work in progress, so we're also hoping others would like to help build on this work. In particular, the new compiler was designed to enable generation of code in languages other than Java. We've started writing a C++ code generator, but it is not yet complete. Working on this, or developing code generators for other languages (JavaScript?, Ruby?, INTERCAL?) could be particularly interesting. Take a look and let us know what you think!

Also, if you happen to be in Portland for the O'Reilly Open Source Convention, stop by for our presentation on Wednsday.
[image] [image]
[image]

... and the winners of the 2008 Google-O'Reilly Open Source Awards are...

Posted: 2008-07-22 20:29:47 UTC-07:00


Hello from OSCON! This evening, we hosted the fourth annual Google-O'Reilly Open Source Awards. I'm pleased to announce, for those who weren't present, the winners of the 2008 awards:
Best Community Amplifier: Chris Messina - BarCamp, Microformats and Spread Firefox Best Contributor: Angela Byron - Drupal Best Education Enabler: Martin Dougiamas - Moodle Best Interoperator: Andrew Tridgell - Samba and Rsync Defender of Rights: Harald Welte - gplviolations.org
Awards were given out by Google's Chris DiBona and Parrot's Allison Randall to the various recipients, with Bryan Williams accepting on behalf of Martin.

For a special treat, Leslie Hawthorn got up and spoke about Angela's award.

As always, we're having a good time and many of us will be working the Google booth on the exhibition floor tomorrow and Thursday. I'll hope you'll come say "Hi!"
[image] [image]
[image]

A Gaggle of Googlers Are Going to OSCON Next Week

Posted: 2008-07-21 13:20:16 UTC-07:00
By Cat Allman, Open Source Programs

The Annual O'Reilly Open Source Convention (OSCON ) is returning to Portland, Oregon, USA next week from July 21-25, and like swallows to Capistrano, Googlers will be there in force.

Between speakers, tutorial instructors, demo-ers of cool stuff in our booth, #116, and attendees, we expect to have upwards of 25 Googlers in attendance. Sessions with our speakers and instructors include:

On MONDAY, July 21st
PHP Extension Writing, Marcus Boerger, and Practical Test-driven Development, Josh McAdams.

On TUESDAY, July 22nd
An Open Source Startup in Three Hours, Gavin Doughtie, Porting to Python 3.0, Anthony Baxter, and People for Geeks, a panel including Brian Fitzpatrick, Ben Collins-Sussman, plus Tuesday evening is the annual Google O’Reilly Open Source Awards.

On WEDNESDAY, July 23rd
Subversion Worst Practices, Ben Collins-Sussman and Brian Fitzpatrick, Code Reviews for Fun and Profit, Alex Martelli, An Open Source Project Called 'Failure', a panel with Ben Collins-Sussman and Brian Fitzpatrick, Google XML Pages (GXP), Laurence Gonsalves and Harry Heymann, and The Google Open Source Update, Chris DiBona and Leslie Hawthorn.

On THURSDAY, July 24th
PLUTO: PL/SQL Unit Testing for Oracle, Josh McAdams, General Lightning Talks, lead by Anthony Baxter, Do You Believe in the Users?, Ben Collins-Sussman and Brian Fitzpatrick, CSS for High Performance JavaScript UI, Gavin Doughtie, Even Faster Web Sites, Steve Souders, and (The Lack of) Design Patterns in Python, Joe Gregorio.

On FRIDAY, July 25th
Open Source and Standards, Joe Gregorio

If you have questions about Google and Open Source, come on down. Hope to see you there.
[image] [image]
[image]

Getting Giddy with Git

Posted: 2008-07-28 14:14:13 UTC-07:00
For Episode 18 of the Google Summer of Code™ podcast, we were fortunate enough to be joined by two mentors from the Git project, Shawn Pearce and Johannes Schindelin. Among other topics, we discussed the pleasures and perils of distributed version control systems, preparing an organization's application for Summer of Code, and some of the amazing work already completed by Git's 2008 GSoCers. You'll also get to learn the secret of Shawn's IRC handle and Johannes' commit messages, in addition to hearing about some great features in Git created by Summer of Coders and useful advice on engaging student developers in your community.

Many thanks to Johannes and Shawn for joining us!

You can download the podcast in mp3 or ogg formats. Alternatively, you can subscribe to it.

Is there a particular Summer of Code mentoring organization you'd like to see us interview? Comment away - we'd love to hear your thoughts!

[image] [image]
[image]

Grand Prize Winners Visit the Googleplex

Posted: 2008-07-17 09:28:57 UTC-07:00
Earlier this year, we announced our ten grand prize winners for GHOP, the Google Highly Open Participation Contest™ — our first initiative to get pre-university students involved in open source software development. The contest brought together more than 350 students from around the world to help ten Open Source projects make improvements to their code base, marketing materials, documentation and user experience research. Last week, all of the winners and their families visited Silicon Valley, and we were pleased to welcome them from as far afield as Poland, Russia, Thailand, South Africa, the United Kingdom and the East Coast of the United States, not to mention our local winner.

We kicked off the festivities with a day of rides, fun and frozen lemonade at Great America. We then reassembled on Friday at Google's Mountain View, California, USA headquarters for an awards ceremony with Alan Eustace, our Senior Vice President of Engineering. Following lunch, all of our winners were treated to talks on Google technology, including Android, Google App Engine, Google infrastructure and software testing from engineers including Jeff Dean, Google Fellow, and Guido van Rossum, the creator of the Python programming language.

our GHOP grand prize winners and their mentors


You might also be interested in the video of the Grand Prize Winner Awards Ceremony, which includes some interviews with our winners and their mentors.

Many congratulations to Daniel Abramov, Woorapat Boonyarittipong, Peter Cawley, Spencer Davis, Tomasz Dobrzyński, Patrick Hulin, Federico Lorenzi, Jarosław Tworek, Wojciech Szkutnik and Jonathan Wilde for their many accomplishments in the GHOP contest!

For those of you wondering when we'll be holding the next Highly Open Participation Contest, all we can say for now is stay tuned. The system to manage the contest is under active development and is completely Open Source, so if you're interested in helping make the next GHOP happen visit the Melange project page and jump on into the code!

[image] [image]
[image]

Check Out Mox, Our Mock Object Framework for Python

Posted: 2008-07-16 15:45:30 UTC-07:00
So you just finished writing a really sweet Python application, and now it's time to do some testing. Or wait, better yet, you're going to write the tests first, then write your application code. It's probably time to pick a mock object framework to make writing tests easy; you definitely don't want to waste your time writing mocks by hand! Well, after many requests from former interns and Googlers working on Open Source projects, I'm happy to announce that now you have another option: Mox!

Mox is a mock object framework for Python developed at Google (and used in hundreds of projects here) that uses the record-replay-verify paradigm you might already be familiar with from library's such as Java's EasyMock. You create a mock object based on a class, record the expected behavior by calling methods on the mock just like a regular instance, then you put the mock in replay mode and run your test. After your test is complete, you can verify that the code-under-test interacted with the mock as expected.

Why would you want / need a mock object framework? In many cases you want to be able to test portions of your code without setting up all of your applications dependencies (databases, file systems, or even just other complex parts of your application). Mox allows you to easily create mock versions of your dependencies (Python classes, even modules) for use in tests. These mock versions only need to know about how they are called (which methods with what parameters), and what they should return. For example, instead of starting up a local copy of MySQL and populating the database with test data just to test that your InsertCustomer method works (or fails elegantly), now you can use Mox to simulate calls to, and responses from the database.

m = mox.Mox()
mock_db = m.CreateMock(database)
new_pk = 12356;
mock_db.OpenConnection()
mock_db.Execute("INSERT INTO Customers (fname, lname, email) VALUES
('Sandy', 'Smith', 's@smith.org'").AndReturn(new_pk)
mock_db.CloseConnection()
m.ReplayAll()

p = PersistenceLogic(mock_db)
actual_pk = p.InsertCustomer('Sandy', 'Smith', 's@smith.org')

m.VerifyAll()
assertEquals(new_pk, actual_pk)

Mox has several other advanced features, like the ability to temporarily stub out any object or module with a mock object — even parts of the global environment.

We always love to hear what you think. Please join the Mox discussion group and share your thoughts with us.

[image] [image]
[image]

Involving Students in Open Source

Posted: 2008-07-15 12:26:03 UTC-07:00


Elin Waring, one of Joomla!'s mentors for the Google Highly Open Participation Contest (GHOP), recently presented at the Computer Science Teachers Association's CS & IT Symposium. Elin spoke to a packed room on Involving Students in Open Source, using Joomla!'s participation in the GHOP contest as a model for discussing engaging younger people in Computer Science and Information Technology. You can read more from Elin about her experiences at the conference, as well as check out the slides from her presentation. You may particularly enjoy some of the quotes in Elin's talk from Joomla's GHOP students about their experiences in the contest.

And for those of you eagerly awaiting all news GHOP, we just hosted our ten Grand Prize Winners last Friday for a day of talks, fun, cake and, of course, awards. We'll have more news, including interviews with all the winners, on this blog later this week. Stay tuned!
[image] [image]
[image]

Check Out the Talks from Eclipse Day at the Googleplex

Posted: 2008-07-10 20:46:48 UTC-07:00


You may recall our recent post about Eclipse Day at the Googleplex. We're happy to let you know that all the talks from the main conference track are now available for your viewing pleasure:

Introduction & Keynote: Eclipse at Ebay by Michael Galpin, with introduction by Ian Skerrett
How Mylyn Changes the Way I Develop by Bjorn Freeman-Benson
Tools Make the Difference: GWT in Eclipse by Bruce Johnson
Plug-in Development Tips and Tricks by Chris Aniszczyk
Wiring Hacker Synapses: Collaborative Coding and Team Tooling in Eclipse by Scott Lewis & Mustafa K. Isik

Enjoy, and let us know what you think!
[image] [image]
[image]

2008 New Zealand Open Source Awards

Posted: 2008-07-10 09:43:00 UTC-07:00


The deadline for nominations for the 2008 New Zealand Open Source Awards is coming up fast. You have until July 18th GMT (remember the International Dateline!) to submit a nomination, either for an individual Kiwi for their contribution to a project or Open Source in general, or for a New Zealand organization for "exemplary use of open source". The award categories are:

- Open Source Contributor
- Open Source Software Project
- Open Source Use in Government
- Open Source Use in Business
- Open Source Use in Education
- Open Source Use in Infrastructure
- Open Source Use for Community Organizations

Google's Open Source Team is a proud sponsor of the 2008 New Zealand Open Source Awards, and we're excited to ask all of you join in the quest to find the best Kiwi Open Sourcerers. The nominees must all be New Zealanders or New Zealand organizations, but you don't have to be a Kiwi to put in a nomination. The organizers of the awards specifically encourage you to interpret "open source" in its widest sense (i.e. it need not refer to specific licenses), but will generally be taken to mean a technological system where open collaboration and innovation prevails, so be as creative as you like.
[image] [image]
[image]

Geeks Find an Alternative Way to Spend a Summer Evening

Posted: 2008-07-09 15:00:30 UTC-07:00


What with the football and the tennis, and the Glastonbury Festival and Reboot 10, we had no idea how many people might turn up at the Jericho Tavern for our latest Oxford Geek Night. So it was with relief that we finally counted around a hundred geeks through the door, thanks to our master-stroke of handing out Moo cards to all-comers, to be exchanged for the Google Open Source Team's kind hospitality at the bar.

Keynote speakers are generally industry experts, standard bearers, or just well-respected enthusiasts in their field. This time our keynote was delivered by Tom Taylor from Headshift, talking about not so much his day job as the “beautiful pointlessness†of mashups and automations he had built in his spare time (turning automatic webservices into Twitter feeds, such as @lowflyingrocks), and how other people’s similar work had inspired his own. This was followed up by a brief announcement from the Oxfordshire branch of the British Computer Society and a short break.

Our usual mini-presentations, a.k.a. microslots, then came in thick and fast, in two batches of three. First up was Andrew Godwin, whose music graphing software LastGraph reduces CPU cycles to smoking rubble; Drew McLellan followed him, accompanied by 1970s British TV characters The Clangers in an explanation of the advantages of microformats; then Matthew Westcott took us into the break with the lowdown on the new AJAX “push†technology Comet, and provided us with a soon-to-be legendary description of long and short polling in relation to a tedious car journey with your dad.

After much poking and prodding while everyone else relaxed, Matthew began the second set of microslots with his live demo of Comet, and from this we moved on to a walkthrough of Google App Engine by Tom Dyson; Simon Whitaker imagined in lurid detail and deadpan enterprise jargon how one might use the OSX address book; and Duncan Parkes finished by taking us behind the scenes of PlanningAlerts, yet another focussed, simple, successful, society-changing application from the mySociety stable. The night was rounded off by a book raffle, back after a brief hiatus for OGN6 thanks to Friends of Ed.

You can check out videos for any of these talks, all of which are linked from the Oxford Geek Night #7 page.
[image] [image]
[image]

Open Sourcing Browser Sync

Posted: 2008-07-08 13:48:28 UTC-07:00


Open Sourcing the Google Browser Sync client was something we'd always planned to do, and we're pleased to say that the code for it is now yours for the taking. Given our recent decision to discontinue support for Browser Sync, we wanted to make sure that the code for it was available for the developer community to use and improve. While we're no longer doing active development, we've released the code in the hopes that those folks who asked for it will use it to develop something cool. For example, it would be great to see the server ported to Google App Engine, or support for Firefox 3 implemented.

You can check out the code using any Subversion client, and we have posted a short tutorial explaining how to build and run it.

Happy Hacking!
[image] [image]
[image]


You are viewing a mobilized version of this site...
View original page here

Mobilized by Mowser Mowser