opensource.google.com

Menu

Gulliver powers Lonely Planet’s Trippy travel planning apps

Tuesday, November 30, 2010

Gulliver is an open source platform from Google that helps users plan trips in real time with their friends. Using Gulliver, you can create applications for mobile, iGoogle, and mobile web platforms that make it easy to build and share itineraries using Google Maps resources and Lonely Planet recommended itinerary items.

You can use Gulliver to:
• Create, share, and sync trips between the AppEngine web application, iGoogle, and the Android application
• Create scheduled and unscheduled trips
• See Lonely Planet recommendations for hotels, activities, sights, restaurants, and more for top destinations
• Seamlessly show parallel Google results when there are no Lonely Planet results
• Rate and comment on items
• Create custom items
• On iGoogle, drag and drop items from the map into the itinerary list
• On Android phones, take photos from within the app
A fully functional consumer app has been built on the Gulliver code base: Lonely Planet’s Trippy. Trippy combines the travel expertise of Lonely Planet with the power of Google web search and Google Maps.

Trippy for iGoogle (click image to enlarge)

Trippy for mobile web (click image to enlarge)

Guilliver was created as a 20% time project, a well-known part of our philosophy and company culture which enables engineers to spend one day a week working on projects that aren't necessarily in our job descriptions. We can use the time to develop something new, or if we see something that's broken, we can use the time to fix it. And now you can take these open source apps and run with them! We’re making that possible by rolling them out to the open source community under the Apache license.

Want to get involved with Gulliver and help us make it an even better application? Join the Gulliver team! To get started, just visit our project page, join the community, and download the code.

By David Yu Chen and Alex Cuthbert, Google Gulliver 20% time team

Life after Google Summer of Code

Monday, November 29, 2010

My name is Oscar Castañeda, I am a student from Guatemala currently doing a master’s in Computer Science at Delft University of Technology (TU Delft) in The Netherlands. For the 2010 Google Summer of Code I completed a project with the Google Open Source Programs Office as my mentoring organization and professor Michel van Eeten (TUDelft) and Nitin Bhide (Founder SVNPlot) as my project mentors.

In my research I study behavior in code production for all open source projects in the Apache Software Foundation (ASF) from 2004 to 2009, and this research was the subject of my Google Summer of Code project. I contributed to SVNPlot, a tool that creates various type of graphs and statistics from Subversion logs. My contributions enable SVNPlot users and developers to generate networks of file co-authorship that can be used to study behavior in code production, like the graph below which shows code production in the Apache Hadoop community and sub-communities in 2009.

After having finished my project in August, one remaining goal I had was to give a talk about my project, so presenting at ApacheCon NA this year was a good opportunity to accomplish that task.

I was able to travel to Atlanta and attend ApacheCon thanks to sponsorship from the ASF’s Travel Assistance Committee (TAC). The experience has been outstanding and packed with lots of fun. Other students and open source enthusiasts from all over the world were also sponsored by the ASF. We assembled into what became known as the “TAC Team.” As part of the TAC Team, we were in charge of chairing conference sessions, hosting Meetups and helping out behind the scenes. Best of all, we could attend the full conference and all the fun events that followed.

For me the experience was particularly interesting because I met many of the committers that power the ASF. Having done research on how ASF developers organize into communities, attending ApacheCon allowed me to put faces to usernames several times.

My challenge at ApacheCon was to give a talk to the very people whose code production behavior I had studied. The approach I took was to practice, practice, practice.

BarCamp offered an initial ice breaker in the preparations for my talk. The unconference style of BarCamp made it easy to propose a topic to talk about for 30 minutes. I simply posted a sticky note on the white board with the title “What is Meritocracy?” As soon as my slot started I noticed that BarCamp would be an interesting experience. Rather than just a presentation, the BarCamp talk I had proposed turned into an active exchange of ideas where I received many challenging questions.

Chairing conference sessions also helped me prepare for my talk. As session chair I was introducing speakers and assisting them with time management. In addition, I was sitting in on sessions, and seeing the speakers present helped me get into the flow of speaking at a conference. I found extraordinary examples in talks on Hadoop, Tuscany, and Mahout. And finally, the day came for me to present.

I was scheduled for the first morning session in the community track. It was a pleasant surprise to see that over 30 attendees showed up for my talk. All of them were well-prepared with mugs full of coffee, ready to listen to my morning talk. And in the end I found that practice does pay off. I wasn’t nervous and felt confident giving my presentation, a feeling that was reinforced when I saw that the audience was actually awake! However, deeper into the session I lost track of time. Luckily a fellow TAC team flashed the 20 minutes card, showing me that I could finish all my slides and still leave time for questions. The slides and a recording of my talk are available for those who want to know more.

Overall the experience has been very gratifying. I met lots of interesting people and learned more about open source and new developments there from the developers themselves. I highly recommend future Google Summer of Code students to consider including presenting their project at a conference as one of their project goals.

By Oscar Castañeda, 2010 Google Summer of Code Student

Objects in mirror...

Wednesday, November 24, 2010

Nearly a year in the making, kernel.org has announced four new machines coming online in November of 2010. This is quite the change in infrastructure, covering two new "heavy lifting machines" and two new backend machines to round out kernel.org's infrastructure of 12 boxes running worldwide.

As many people know, particularly if you are reading this blog, kernel.org runs the infrastructure that the Linux Kernel community uses to develop and maintain a core piece of the operating system. That said, kernel.org provides a lot more services than just a couple of git repositories and a place to download kernel releases. It hosts the Android source, provides Internet bootable utilities and installers, one of the fastest and most comprehensive mirrors of Linux distros, a plethora of wikis, and the Linux Kernel bugzilla. It also hosts and maintains a variety of other websites that are central to the development of the Linux Kernel or to the greater Linux ecosystem.

The four new machines that have fully come online in November were donated by Google with a generous discount from HP, and they are some impressive pieces of hardware to say the least!

Mirrors1 and Mirrors2, the two machines in the United States that service mirrors.kernel.org, fully replace machines that had been in service for 5 years. The new machines live up to their names of the “heavy lifting machines” (both because they move the most data for kernel.org, but lifting 6-10u worth of equipment is actually quite heavy)! Specs for those are:

Mirrors1:
DL380 G7
2 x E5640 Intel Xeon Processors
144GB DDR3 ECC RAM
2 x MSA70 external drive chassis
2 x P812 Array controllers
66 x 300GB 10K RPM SAS drives

Mirrors2:
DL380 G6
2 x X5550 Intel Xeon Processors
144GB DDR3 ECC RAM
2 x MSA70 external drive chassis
2 x P812 Array controllers
66 x 300GB 10K RPM SAS drives

Each setup uses up 6u of space now, saving us about 4u per-setup over our old equipment, and they give us a lot more storage space and a lot more RAM to be able to handle mirroring for so many people.

We also upgraded the master backend machine for kernel.org, and took our still-awesome previous master backend and turned it into a live spare should anything ever happen to the primary machine. We added a second dynamic web infrastructure box as well, to help host the wikis and things like bugzilla, giving us an active fail over as well as a load balanced system.

With these two additional boxes coming online, kernel.org reached a milestone as we now have a redundant machine for everything currently in our inventory. We've been quite successful with the redundancy we have with our frontend facing machines, and now we have that same level of redundancy available to us on our backend machines.

master:
DL380 G6
2 x X5550 Intel Xeon Processors
32G DDR3 ECC RAM
1 x MSA60 external drive chassis
2 x P812 Array controllers
8 x 300G 10K RPM SAS drives
12 x 300G 15K RPM SAS drives

dynamic web box 2:
DL380 G6
2 x X5550 Intel Xeon Processors
32G DDR3 ECC RAM
1 x MSA60 external drive chassis
1 x P812 Array controller
8 x 300G 10K RPM SAS drives

Needless to say we can talk a lot about specs and numbers. But really, a photo is worth a thousand words:


Those are the new backend boxes hosted at OSUOSL.

Our thanks go out to Google and HP for helping make this happen, with special thanks going to
Chris DiBona of Google for making this happen, Shawn Pearce of Google for putting up with with me through all of this, and Bdale Garbee of HP for helping us get the equipment we need and being such a great friend of kernel.org for so many years!

To quote our saying on mirrors.kernel.org, “Objects in mirrors may be closer than they appear!”

By John “Warthog9” Hawley, Chief Kernel.org Administrator

Google Code-in: Contest is Open!

Monday, November 22, 2010



We’re pleased to announce that today marks the start of the Google Code-in contest. Students who are at least 13 years old and not more than 18 years old and are currently enrolled in a pre-university school on November 22, 2010 are eligible to participate. Start claiming tasks to work on for our participating mentor organizations right now.

Tasks are sorted according to organization, difficulty level, type of task, and point value. If you are considering participating, take a look at the tasks list and see what you’re interested in claiming. You can comment on the task if you have questions about the task for the organization.

For successful completion of just one task you will receive a t-shirt and certificate of participation. For every three tasks you complete you’ll receive $100, up to a maximum of $500. Our 10 contestants with the most points at the end of the contest win the Grand Prize: an all-expenses paid trip with a family member to Google’s Headquarters in Mountain View, California!

The contest ends on January 10, 2011. So don’t delay, claim a task today!

If you have questions, please review our Frequently Asked Questions and the Rules page, or take a look at the video above. You can also join our discussion list and ask your question there.

Have fun, and meet you on the list or in Mountain View!
By Carol Smith, Open Source Team

TYPO3’s Huge Summer Success

Friday, November 19, 2010

After having participated in Google Summer of Code for the second time, TYPO3 is now looking back at a truly successful summer where five students worked on projects for TYPO3 4.x, FLOW3, and TYPO3 5.0. Now that the summer has come to an end, we would like to give you an overview of the achievements our students made this summer.

Enhanced Usability for the List Module
Nuwan's proposal for the project included ideas to introduce collapsing and expanding tables in the list module by using AJAX, introducing modal dialogs for detailed information instead of the currently used pop-up windows, in-place editing, drag & drop sorting, and a quick search feature. At the end of the summer Nuwan completed all the tasks except the quick search, but added dynamic selection of columns to display on top of the planned feature set. Being completely new to TYPO3 Nuwan first struggled with current documentation, missing tutorials, and getting into TYPO3 development in general. Thanks to the help by his mentors, Thomas and Tobias, he got moving in the right direction. The feature is available as an extension and Nuwan is looking forward to finishing the missing features and providing more extensions for the core.

Generic i18n and l10n strategy for FLOW3 and TYPO3 v5
Karol reports that Google Summer of Code was a great experience, as it made him learn many new things and improved his programming skills. Looking back to his initial proposal he completed most of the tasks. Some details changed during implementation while others became harder than expected and again other tasks turned out to be easier. For more details you can take a look at Karol's weekly reports. As it looks now, Karol will also stay around with the FLOW3 project, taking further care of his project. All of Karol’s code has been integrated into FLOW3.

Enhanced Media Content Element with oEmbed
Aishwarya was not able to reach all of the goals for the enhanced media content element, but the finished ones are quite nice. It now supports oEmbed, which allows you to use a video's page URL like YouTube URLs to embed the video on a page, whereas before you needed to know the exact URL of the video file itself. For such videos the media content element will now also fetch preview thumbnails where possible. The feature is integrated in TYPO3 core and will ship with version 4.5 in January 2011.

Modular Community System
Pascal managed to create a community extension based on extbase and fluid. As he had experience with the new MVC framework for extension development he found it quite easy. Most of the basic features for a community system are implemented. However, to eventually make everything work we need to wait for two issues in extbase to be fixed. The extension is available at http://forge.typo3.org/projects/show/extension-community.

Private Resource Handling for FLOW3 / TYPO3 5.0
Andreas and his mentor Robert discussed implementing a solution for content security in general, as resources in FLOW3 are represented by persisted “Resource” objects. They came to the conclusion to first implement a solution for generic security policies for persistable objects. Andreas found a solution to automatically rewrite queries by using FLOW3's AOP mechanism so that now there is no need to explicitly write security constraints for queries to the persistence layer anymore. The publishing process is also intercepted using AOP and their publishing path is being extended by a security component to eventually protect private resources from unauthorized access. The publishing feature was finished for the FLOW3 release at T3CON10 in Frankfurt.
Looking back at what has been achieved by the students and having won new contributors for the TYPO3 project we see this year's Google Summer of Code as a huge success for TYPO3 and its community. Students come for the code, then stay for the fun and the great community. All the students passed the final evaluation, so congrats to all of them! We’d also like to express thanks to the mentors who helped the students to find their way into TYPO3 and offering a guiding hand.

By Ingo Renner, TYPO3 Google Summer of Code Mentor

Cross posted from the TYPO3 blog
.