Posts from April 2009
Report from Day 1 of the Linux Storage and Filesystems Workshop, April 6-7, 2009
Thursday, April 30, 2009
The group of about 50 developers were nearly all present when Zach
Brown (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
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
* GeneMANIA
* GNOME
* Kadu
* KOrganizer
* OLM
* SemNotes
* Ubuntu
Student applications are due May 20 2009. See http://season.openusability.org/index.php/projects for more information on the projects, student requirements, and how to apply. Questions about the projects or application process may be directed to students@openusability.org.
by Celeste Lyn Paul, Season of Usability Mentor
Distributed Version Control for Project Hosting Users
Friday, April 24, 2009
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!
By Leslie Hawthorn, Open Source Team
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 Byron, Andrew Tridgell, Harald Welte, Julian Seward, Karl Fogel, Martin Dougiamas, Pamela Jones and Paul Vixie.
The nomination process is open to all, so please send your nominations to osawards@oreilly.com. 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!
Leslie Hawthorn, Open Source Team
Announcing Accepted Students for Google Summer of Code™ 2009
Monday, April 20, 2009
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.
By Leslie Hawthorn, Open Source Team
"Common Sense" at Open Everything, NYC
Wednesday, April 15, 2009
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!
By Ellen Ko, Open Source Team
Writing Talking Applications for Android
Tuesday, April 14, 2009
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!
By Charles Chen, Software Engineering Team and T.V. Raman, Research Scientist
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
By Ellen Ko, Open Source Team
Google Update Goes Open Source
Friday, April 10, 2009
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.
Post by Myles Jordan, Software Engineering Team and Michael Smith, Product Management Team
London Open Source Jam 12: On a Budget
Thursday, April 9, 2009
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.)
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.
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.
By Zak Cohen, Software Engineering Team
India <3 Google Summer of Code™
Wednesday, April 8, 2009
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 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!
By Roger Tawa, Software Engineering Team
Student Applications for Google Summer of Code™ 2009
Monday, April 6, 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.
By Leslie Hawthorn, Open Source Team
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
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.
By Cat Allman, Open Source team
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.