I am not a newcomer to Sahana, having participated as a Google Summer of Code in 2011 as well. However, I dismissed last year’s Sahana Annual Meeting as something way over my head, and not applicable to me. How wrong I was.

The Sahana Software Foundation makes a provision to accommodate their Google Summer of Code students at the Annual Meeting, as a laudable move to bring new blood in to the organization. I must admit, after attending the meeting and seeing first-hand (or in some cases, second) all the great work and innovation that goes in to building Sahana and keeping it going, I believe I would never be inclined to leave this wonderful and exciting organization.

The Sahana Annual Meeting for 2012 was held from 26-28 May in New York. Being a Sri Lankan, it was an unbelievably exciting prospect for me to be able to attend such a prestigious event while being able to visit the Big Apple at the same time. When Mark sent out an email inviting GSoC students to participate, I was quick to take up the offer.

I arrived in New York on the 24th, tired and disoriented, but had the opportunity to meet Martin Thomsen, Dominic König and Michael Howden at Mark’s place, where we were all gracefully accepted by Mark’s family as guests.

On the next day, I went along with the others to attend the last day of SahanaCamp NYC, and although I am not that familiar with Sahana Eden which we were hacking on that day, I had fun talking to Jeremy, a Wikipedia/Debian veteran who is one of the latest additions to the Sahana Community. Meeting Fran Boon, who is quite a character, was fun as well. Bhaavan Merchant, another Google Summer of Code student from India who was attending the meeting, turned up that day, and we became fast friends.

The next 3 days were a blur of discussions, arguments and ideas as I dove in head-first in to the world of Sahana beyond simple coding, and I found out that developing Sahana products is only a minor part of what the Sahana Software Foundation does. There is so much more of planning, communication and interaction with the people who need Sahana that goes in to delivering the humanitarian services that the Foundation provides.

For me, some points that really stood out during the meeting were:

  • The decision for the Sahana Software Foundation to become a member of OASIS.
  • A major re-structuring of the way the Foundation functions and provides support for each of its products.

It was an honor to be sitting with the top brass of the Sahana Software Foundation and to hear their personal stories of how they became involved in the development of the Foundation. There were many laughs and hilarious moments proving to me that this is an organization built on the shoulders of kind-hearted people totally committed to saving the world.

Bhaavan and I were put up at the Pennsylvania Hotel in the heart of New York by the Foundation, and we went on many sightseeing trips accompanied by Pat Tressel, who was quite interesting to travel with and talk to.

At the end of it all, it was with sadness in my heart that I boarded the plane from JFK Airport to return home, and would like to thank the Sahana Software Foundation for having me for their Annual Meeting. It would be wrong if I did not thank Mark and his wonderful family for taking great care of me as their guest. I hope to see them again soon. I would like to express my immense gratitude to the members of the Foundation who attended the meeting as well; you made my experience a colorful one.

The Sahana Software Foundation’s Annual Meeting was a truly novel and important event in my life. I can assure you that, after this, the Sahana Software Foundation has me for life. I want to help save the world.

 

If you are a Sri Lankan involved in the field of Information Technology, it is inevitable that you will someday hear about, and be inspired by, the Sahana project. It is renowned for being a community software project that was born in Sri Lanka and has now moved out in to the world, unifying developers from different nations in a common noble goal: to help alleviate disasters faced by mankind.

It was the weight of these facts that convinced me to apply for Google Summer of Code in 2011 under the Sahana Software Foundation. Having more experience in PHP development than anything else, I thought of applying for one of the Agasti projects for the summer. However, the first project I applied for, that of building an ‘app store’ of sorts on a CMS platform for Agasti, got scrapped because apparently there wasn’t enough planning done for that project to go properly forward. However, I persisted and applied for another project, that of re-integrating Pootle translations in to Sahana Agasti Vesuvius.

The evolution of Sahana has been very eventful is an interesting story, which I learnt by asking around in Sri Lanka, where there are still quite a few Sahana contributors remaining. I learnt of the 2 main branches of Sahana: Eden and Agasti. Of the two branches of Agasti itself, Vesuvius is managed by the National Library of Medicine in Bethesda.

Pootle, which is the software I would end up eventually building support for in Vesuvius, is a translation engine where you can organize a collaborated effort to translate a particular software application. In order for this to be possible, you need to have all the strings within the software isolated and put in to a separate functions that can be accessed by Pootle so that they can be translated like this:

Pootle works as a translation platform to help people collaborate to translate software

The mentors assigned for the project were Greg Miernicki and Glenn Pearson, and from the outset (even before I was selected to participate as a student), they were extremely helpful and gave me a very clear idea of what should happen in this project. The requirements weren’t exactly as simple as I outlined above; there were different modules such as the Resource Pages module that needed restructuring and re-integration with translations and Greg and Glenn were also considering the inclusion of some usage of Google’s Translate API. I knew that I would have my work cut out for me.

Throughout the next few months, I was hard at work on the project, looking through code, finding out about new hacks and methodologies that we could use and generally having a good time innovating, as I like to think of it, for the good of Sahana. The weekly meetings with Greg and Glenn were always pretty intense technology-wise, while being fun at the same time. There were many instances where all three of us were grinning (I imagine Greg and Glenn were grinning as well) at some weird pun or joke that one of us brought up. During this period I worked intimately with the Google Translate API, the PHP gettext library, and the GNU xgettext terminal command as well as with Pootle.

There were quite a few occasions when I was up most of the night, working on fixing annoying bugs that cropped up and chatting with Greg about programming, gaming on Linux, and gadgets. He is a truly remarkable mentor with a flair for making his protégés feel relaxed and ready to tackle any problem. As a seasoned developer, he simply exudes the joy of programming, and I must say the feeling is infectious.

Finally, having successfully completed what I had to do (although there is quite a long way to go towards the 0.9.2 release of Vesuvius, at which point we hope to integrate the new translation code in to the package), it was time to end my GSoC work for the year. I was genuinely sad at the end of the summer as a I wrapped up the project, knowing that one of the defining experiences in my life had come to its end. However, I am, and always will be, determined to keep working with Sahana to do my best not only to develop and improve the code I added to it, but to answer the call to help develop the best Disaster Management System in the world.

I would like to thank the Sahana community as well for their unwavering support, and Darlene for handling the Google Summer of Code Program so masterfully over the course of those fateful 3 months.

The world is not always the best place for us humans, but together and through working towards something positive, we can strive to make it a better place for all.

 

P.S. Link to the wiki page for my project