Posts from April 2009

Report from Day 1 of the Linux Storage and Filesystems Workshop, April 6-7, 2009

Thursday, April 30, 2009

My karma was apparently very good three weeks ago. In the last minute I secured an invitation to Linux Storage and Filesystems Workshop 2009 (LSF). This year the invitation-only workshop was hosted by the Linux Foundation on April 6-7 in San Francisco, CA. It was, as always, an intense 2 days of non-stop information exchange and decision making. I've attempted to summarize what I took away as the most interesting and important discussions of the first day. These are my opinions, and your mileage may vary.

The group of about 50 developers were nearly all present when Zach
(Oracle)welcomed us and reminded folks about the ground rules of the event. Share the brownies. Wash your hands, ...just kidding. This event remains small so folks can participate and we were pretty "cozy" in the small conference room with 5 good sized round tables. First step was to turn off the projector. :)

Chris Mason and James Bottomley then did a great summary and "scoring" of promises made at LSF2008. IO stack was up first and had some good initial scores with high points for Power management, Request Based Multipath, BIO's TRIM/ERASE support, T10 DIF/DIX (complete) and FCoE (also complete). Chris Mason managed to nearly match that with 4/4 points for Barriers, BTRFS (upstream but not stable yet), IPV6 NFS, NFS RDMA.

The first problem/topic was how to cache device scanning in the kernel or how to properly export an API for device scanning. General problem is there are several methods the kernel exports info and it's very time consuming on large systems. This was followed by Async IO and Direct IO discussion led by Zach Brown (Oracle) and Jeffrey Moyer (Redhat). Zach has been the AIO maintainer "forever" and made it clear AIO was async in only a very few circumstances that happen to suit database developers.

Joe Eykholt gave a summary of "FC/SCSI Targets", how to get initiator *and* target mode support from one FC HBA at the same time. Interesting stuff. Nick Bellinger gave a concise summary of state of "LIO/iSCSI" code and the "tgt" driver.

I was interested in Tejun Heo's "libata status and issues" discussion. First we talked about the status of several patches: mvsas updates, "ATA Bus" transport class, SFF vs Native transport classes from my co-worker Gwendal Grignou, and a pile of power management patches from Kristen Accardi (Intel). Tejun then dove into the "Spurious Power Off" problem. The cause seems to be short loss of power from the PSU is causing massive FS corruption. He's documented 5 incidents so far. Additional symptoms are "clicking" sounds and START/STOP count increments (reported via SMART data). Tejun suspects the FS is issueing a FLUSH to all disks simultaneously. We further speculated that the drives might be in a low power (slower RPMpossibly) and suddenly all come to life. Currently no fix is available.

Some possible workarounds we considered:
- disable Write Cache Enable (and take a write perf hit on loads that are single threaded)
- disable power management.

He moved on to discuss ambiguities around libata/block layer data structures (e.g. hard_ vs w/o hard_ ) fields that have similar (but not the same) names.

One of the last issues was something I raised: Can we reduce the CPU utilization of the block layer? I was asking since several new flash technologies are under development and they are all capable of 200+ *thousand* IOPS. The answer was Jens Axboe was working on this already since about December 2008 had committed his initial results to his own git tree already. I just need to find the git tree and proper branch now. :)

That wraps up day one. I hope you find the information useful. If you want to read about day two, please leave a comment and if demand warrants it, I'll cover that in a future post.

Student Applications Open for 2009 OpenUsability Season of Usability

Wednesday, April 29, 2009

Inspired by Google Summer of Code™, the OpenUsability Season of Usability is a series of sponsored student projects to encourage students of usability, user-interface design, and interaction design to get involved with Free/Libre/Open Source Software (FLOSS) projects. Students experience the interdisciplinary and collaborative development of user interface solutions in international software projects while getting into FLOSS development.

If you are a student of design, usability, human factors, or other HCI-related field and you are interested in working on an open source project, you could work with an experienced usability mentor on a fun and interesting design project! As a bonus for working 10-15 hours a week between June 1 and August 31, there is a $1000 USD internship stipend at the end of the project.

The OpenUsability Season of Usability will be supporting 10 students to work on 10 open source projects during the June 1 - August 31 2009 season.

* Amarok
* Drupal
* Gallery
* Kadu
* KOrganizer
* SemNotes
* Ubuntu

Student applications are due May 20 2009. See for more information on the projects, student requirements, and how to apply. Questions about the projects or application process may be directed to

Distributed Version Control for Project Hosting Users

Friday, April 24, 2009

Love our Open Source project hosting service but wish it supported distributed version control? Pine no longer! You can find full details about Mercurial support for hosted projects on the Google Code Blog.

For those of you who are Git fans, you may want to check out these articles: Develop with Git on a Google Code Project and Exporting a Git Project to Google Code.

Happy hacking!

Ed. Note: Post update to correct link.

Now Accepting Nominations for the 5th Annual Google-O'Reilly Open Source Awards

Wednesday, April 22, 2009

The Google-O'Reilly Open Source Awards are back again for 2009! These awards recognize individual contributors who have demonstrated exceptional leadership, creativity, and collaboration in the development of Open Source Software. Past recipients for 2005-2008 include Angela ByronAndrew TridgellHarald WelteJulian SewardKarl FogelMartin DougiamasPamela Jones and Paul Vixie.

The nomination process is open to all, so please send your nominations to Nominations should include the name of the recipient, any associated projects or organizations, suggested title for the award ("Best Hacker", "Best Community Builder", etc.), and a description of why you are nominating the individual. Google and O'Reilly employees are not eligible for the awards, though we thank you if you thought of us.

Nominations close on May 22, 2009. The awards will be presented during the kickoff ceremonies for OSCON 2009. We look forward to hearing from you and having your help to honor those community members who make Open Source that much better for all of us!

Announcing Accepted Students for Google Summer of Code™ 2009

Monday, April 20, 2009

Students in 70 countries are now celebrating their acceptance in to the Google Summer of Code 2009 program! For our fifth year running the program, we've paired 1,000 students with mentors in more than 65 countries with more than 150 Free and Open Source software projects. Check out the program website for more details on each accepted student project. We're looking forward to bringing you more news about our accepted applicants in the coming weeks, but for now here's a peek at the top 5 countries for accepted student applicants: United States (212), India (101), Germany (55), Canada (44) and Brazil (43). In addition, the following countries are represented for the first time, each with 1 student: the Dominican Republic, Iceland, Luxembourg and Nigeria.

For those of you who aren't participating in the program, now is a great time to continue working on your project ideas and learning about Free and Open Source software. Each participating project is well placed to provide you with assistance in getting up to speed as a new contributor; take advantage of this opportunity to fix some bugs, hone your skills and, if you'd like, prepare for future instances of the program. 

Congratulations to all students whose proposals were accepted, and many thanks to all of our applicants. The community bonding period starts today, and we'd love to hear from all of you how you plan to spend this time getting ready to start coding in six weeks. Feel free to post a comment and share your thoughts.

"Common Sense" at Open Everything, NYC

Wednesday, April 15, 2009

Google's Leslie Hawthorn is a featured speaker at the upcoming Open Everything NYC 2009 conference this Saturday. The conference is at the UNICEF House in New York, USA and she'll be talking about Common Sense.

"The talk explores some areas in which the concept of Open could be most broadly useful, where it is taking hold successfully and where we still must journey to achieve the promise of an Open world."

Although the event is free and open to the public, the organizers ask that you register ahead of time. Leslie will be taking time to hang out with Open Sourcers afterwards, so stick around after the conference!

Writing Talking Applications for Android

Tuesday, April 14, 2009

Toward the end of last year, we released an Android binding to eSpeak, an Open Source Text To Speech (TTS) engine that provides support for a large number of languages. Since then, we have seen significant interest among the developer community. Many have stepped up to using the Text To Speech service for a wide variety of end-user scenarios.

Based on our implementation experience, we've once again updated the TTS service and the update is available from Android Market as before. In addition to the source code, you can find extensive documentation, including an online tutorial on using the TTS API on the Eyes-Free project site. You might also want to subscribe to our Eyes-Free Android YouTube Channel or check out Marvin, the Eyes-Free Shell for Android. Marvin provides a useful launchpad for developers creating eyes-free applications using spoken output via the TTS API.

We'd like to thank the eSpeak developers for a versatile Open Source TTS engine, and look forward to turning Android into a productive eyes-free environment!

A Beginner's Guide to Google Summer of Code™

Monday, April 13, 2009

Adam Rakowski, Polish Society of Electrical Engineers (SEP) student and Google Summer of Code 2008 student working on Tux4Kids, organized a meeting on March 23rd, 2009 to present "A Beginners Guide to Google Summer of Code." The meeting was held in the Department of Computer Science at West Pomeranian University of Technology in Szczecin, Poland, and between 70 to 120 potential Google Summer of Code 2009 students showed up to learn more about the program.

The agenda for the evening proceeded as follows:
  • What is Google Summer of Code? (aims, conditions, rules, general idea)
  • How to apply to Google Summer of Code
  • Eligiblity, conditions, and documents
  • Programming languages and commonly used tools
  • Writing a good application - What is important? What are typical mistakes?
  • Timeline
  • Review of Google Summer of Code 2009 ideas
  • Summary & questions
Thanks to Adam for spreading the word about Google Summer of Code!

Google Update Goes Open Source

Friday, April 10, 2009

Keeping software up to date is very important. Not only does it mean that users will always have all the cool new features that we work so hard to develop; it also means that any bugs or security vulnerabilities can get fixed very quickly, everywhere that the software is installed. We're happy to let you know that we're sharing our updating software, Google Update, with everyone. Google Update is the shared infrastructure used by Google Chrome, Google Earth and other Google software on Microsoft Windows, to keep our products up to date on users computers.

We're releasing Google Update under its codename Omaha. Omaha's functionality allows us to automatically update software without interrupting or distracting the user, which makes for a better user experience. Omaha checks for updates in the background, when it won't interfere with the user, even if an application isn't running. Doing so means that we avoid using a computer's resources when it first starts, avoiding a common bottleneck in computer performance experience. Omaha does not perform updates when an application launches, because we understand people want to use the software when starting it up, not perform maintenance tasks first.

Use of Omaha allows us to add features seamlessly and address any bugs or security problems, all without concern that these updates will disrupt our users. Omaha allowed us to ship 12 versions of Chrome beta in 4 months, without requiring Chrome users to work hard to keep their browsers up to date. Such behavior is very useful for new features, but essential for security vulnerabilities. When software, particularly network-enabled software, has known vulnerabilities, it can become a platform for malware and/or spam distribution as described in this research paper. Keeping your software up to date can help other people too!

We're releasing the source code for Omaha in addition to recent enhancements to Omaha functionality, to provide both transparency and control around the update process. Since Google Update is always running on your system, there's no simple way to stop it, and since it's a fundamental part of the Google software that needs it, it's not explicitly installed. Some users can be surprised to find this program running, and at Google, we don't like disappointing our users. We've been working hard to address these concerns, and releasing the source code for Omaha is our attempt to make the purpose of Google Update totally transparent. Obviously, we understand that not everyone is both willing and able to read through our code, but we hope that those of you who do will confirm for the rest that Google Update's functionality serves well to keep your software up to date.

Finally, we also know that keeping software up to date is hard. So if you're thinking of developing your own auto-updater, or have already started, we hope that the code we are releasing today will be helpful to you! So far, Omaha supports many Google products for Windows, but there is no reason for it to only support Google products. We hope you'll find the source code and Developer Startup Guide useful, and we look forward to your feedback and participation in our Discussion Group.

London Open Source Jam 12: On a Budget

Thursday, April 9, 2009

After a somewhat longer than usual hiatus, the Google London Open Source Jam was back to its usual Thursday night. With the G-20 in town, and the finances of the world a hot topic, what better to talk about than "Open Source - On a Budget"? We had a good mix of on (and off!) topic discussions, project updates, invites, and calls for help set the tone for some excellent discussions.

The five minute talks came fast and thick. The following folks shared more with all of us about their latest and greatest adventures into Open Source:

Matt Godbolt: Matt talked about his experiences working with FFMpeg on YouTube Mobile , and asked is "Free software really free?" (Conclusion: It's not free but probably saves a lot of work.)

Matt Godbolt's Inaugural OSJam

John Ripley: John helped us to build our own consumer electronics. John talked about turning your old toaster into an mp3 player. Why would one do this, you may ask? Well, if you've asked then this likely isn't the best project for you.

Matthew Bickerton: Matthew discussed TikiWiki, a multilingual Content Management System/wiki, how he got involved and why it's a good project for people who are just getting started in Open Source.

Carl Harroch: Carl gave us an update on the London Android meetup and invited everyone to come along for the next go 'round.

Tav: Does Tav have the lead on Web 4.0? He proposed "Peer Computing not Cloud Computing" while giving us an overview of the Plexnet platform.

Sam Mbale: Sam shared his thoughts on how he's getting people excited about Open Social in Africa.

Stephen Colebourne: Stephen gave us the inside track on Java Specification Request (JSR) 310 - Date and Time. What's the cost of developing a JSR? Is it really nearly 47,000 GBP?

Alp Toker - Alp, a WebKit developer, talked about the cost and compatibility problems that surround conflicting coding standards.

Simon Stewart: Simon presented some answers the age old questions "Isn't maintenance dull?" and "It's a real shame that writing code is so easy, but maintaining it so hard and expensive. How do we make it cheaper?" He talked about writing good end to end tests (possibly with WebDriver), and the benefits of the Model View Presenter coding pattern.

Simon Stewart, WebDriver Master

Chris - Chris shared a case study on saving a local business money by switching to some Open Source software. Chris' advice? Don't force the change, let the software stand on its merit, and Open Source does work.

Shaun McDonald - Shaun is works with Open Street Map to plan cycle routes without buying expensive data and routing software. Now we know how to do cycle routing on the cheap.

We hope our guests found the evening as fun and informative as we did. If you are in or around London, you are welcome to join us for the next Open Source Jam. Keep your eye on our London Open Source Jam site for an announcement of the next meeting.

India <3 Google Summer of Code™

Wednesday, April 8, 2009

This year Google Summer of Code had 610 students apply from India, the second highest number of applicants after the United States. The Google Summer of Code community in India has always been active, and this may be part of the reason India's application numbers have been so strong.

One example of such community activity occurred on March 28, 2009. Asia Pacific Institute of Information Technology SD India student Ajay Kumar, a Google Summer of Code 2008 student for Sahana, organized a meetup at Cafe Coffee Day on the Indian Institute of Technology Madras campus. Ajay was joined by fellow Google Summer of Code 2008 students S. Sudharshan (Openmoko) and Arun Chaganty (GNOME) to answer questions, give advice, and encourage six aspiring 2009 students. Rounding out the mix was a member of IIT Madras' Linux User Group. Together they discussed proposal writing guidelines, communication guidelines, eligibility, choosing a project, and most of all, how much fun Google Summer of Code is!

Take a look at some of the photos from the event, and check out the Google Summer of Code - Indian Community group for more information about upcoming events.

by Ellen Ko, Open Source Team

Secrets for Android

Tuesday, April 7, 2009

Secrets for Android is an application to securely store and manage passwords and secrets on your Android powered phone. It uses techniques like strong encryption and auto-logout to help ensure that your secrets remain safe, assuming you've chosen a good password! Context-sensitive tips guide you along through its operation, making it easy to use.

Secrets for Android also serves as a great example for developers learning to program on Android, as its well documented source code illustrates how applications can perform file I/O, use the crypto APIs, and do some simple 3-D view animation.

Check out the code or participate in the discussion group with feedback, suggestions, or bug reports. Hope to see you there!

Student Applications for Google Summer of Code™ 2009

Monday, April 6, 2009

Our mentors for Google Summer of Code 2009 have a busy two weeks ahead of them. As of last Friday's student application deadline, we received nearly 5,900 proposals from just under 3,500 student applicants. Folks who have followed the program over the years will note that the number of student applicants and proposals submitted is a bit down for 2009.

We expected some decrease this year, as we heard from many of our mentoring organizations that past experience had helped them refine their application process and that they'd instituted new requirements for applicants, such as submitting a patch. A quick survey of our mentoring organizations, with 96 out of 150 organizations responding, revealed that 60% of organizations who had participated in past instances of Google Summer of Code received higher quality applications this year, with only 3% responding that application quality had decreased. We'd also heard that the number of completely untargeted applications this year decreased dramatically.

We're pleased to see that we're reaching students in even more locations this year, as we received applications from 93 countries, up from 90 last year. In terms of overall numbers of applicants, our top five countries for this year are the United States (744), India (610), China (202), Canada (138) and Brazil (135). We're looking forward to bringing you more details about our student applicants in the coming weeks. Keep your eye on the Google Summer of Code 2009 site for updates, as we'll be announcing the list of accepted student proposals there on Monday, April 20, 2009.

So what should students be doing over the next two weeks? Keep in contact with your mentors about your proposal and respond to comments on what you've submitted. You can subscribe to updates to your proposal to receive notifications when a mentor asks for more information. You'll also find that the next couple of weeks are a great time to read documentation, fix bugs, and generally show yourself to be the enthusiastic future contributor you plan to be during this Google Summer of Code.

More Summer Love at Cal State L.A.

Thursday, April 2, 2009

In order to help spread the word about Google Summer of Code™, former students and mentors have been holding info sessions to promote the program across campuses around the world. Grady Laksmono from California State University, Los Angeles recently organized one such event on March 27, 2009. A group of 27 students, mostly from Cal State L.A.'s Computer Science department, gathered to discuss Google Summer of Code, Open Source software, and software engineering.

The event began with an introduction and presentation about Google Summer of Code by Grady, who was a 2008 student working on the Moodle IDE. His talk was followed by a guest presentation by Jon A. Cruz, who mentored projects for Inkscape and OpenICC in 2008. Afterward, attendees enjoyed enjoyed pizza, soda, and some Google goodies while chatting and exchanging advice.

Thanks to Grady for helping to get the word out about Google Summer of Code by hosting such a great event! Check out his Google Student Ambassador page for more info about Google events at Cal State L.A.

By Ellen Ko, Open Source Team

Google Summer of Code™ by the Numbers

As the fifth instance of Google Summer of Code gets underway, we thought it would be interesting to look back at the first four years. Our team is frequently asked things like, "How many countries are represented by the participants?", or "Did anyone from X school ever participate?" so we decided to compile some statistics and make them available for everyone.

There are several reports available to you:

Number of Mentors per Country by Year
Number of Accepted Students per Country by Year
Number of Accepted Students per School by Year
Degree Sought by Accepted Students by Year
Participating Projects by Year
Summaries of #s by Year

Google Docs will let you sort by column to organize the data as you want, so slice and dice to find what interests you. Please let us know what you think - we welcome your comments.

Announcing Eyes-Free Shell For Android

Wednesday, April 1, 2009

Project Eyes-Free aims to enable fluent eyes-free use of mobile devices running Android. Target uses range from eyes-busy environments like driving, to use by people who are unwilling or unable to look at the visual display. You can get a high-level overview of more potential use cases for Eyes-Free from this recent New York Times article. As described in the article, we are releasing components from project Eyes-Free as they become ready for end-user deployment.

Though the underlying source code has been available for some time from our repository on Google Code, we've now posted the first public release of the eyes-free shell on the Android Marketplace. Users of the eyes-free shell can conveniently launch talking applications. Along with this release, we've also made available a collection of applications to turn mobile devices running Android into eyes-free communication devices.

Each of these applications have been written to be useful both to end users and as a means of helping the developer community come up to speed quickly as they develop eyes-free applications for Android:

Talking Dialer

A key innovation is the use of the touch screen to enable one-handed, eyes-free dialing of phone numbers using the touch screen. The dialer comes with a talking phone-book that enables users to quickly select a desired contact using the touch screen.

Knowing Your Location

This mini-application announces your present location based on information acquired via GPS and the cell network. It speaks your current heading using the built-in magnetic compass, looks up the current location on Google Maps, and announces the location in terms of a nearby address and street intersection.

Device State

This mini-application announces useful information such as battery state, signal strength, and availability of WiFi networks.

Date And Time

This mini-application provides single-touch access to current date and time.

We will be uploading video tutorials demonstrating the use of these applications to YouTube over the next few weeks. Please see the Eyes-Free project home page for these links as they become available. As always, we welcome your feedback and look forward to hearing from you in our discussion group.

by Charles Chen, Software Engineering Team and T.V. Raman, Research Scientist