UW–Madison News — February 1, 2010 — “I have this bumper sticker that says, ‘Python will save the world. I don’t know how, but it will,'” says Nicholas Preston, a University of Wisconsin-Madison postdoctoral researcher.
On Jan. 14, Preston got his chance to use the powerful programming language to help earthquake victims in Haiti.
Although it wasn’t quite saving the world, he and fellow members of the UW-Madison student computing organization The Hacker Within and staff of the UW-Madison Healthscapes project worked day and night to help convert Sahana, an established Web-based disaster-management tool, from the Web-scripting language PHP into Python. A free, user-friendly, all-purpose programming language, Python seamlessly enables developers to add functionality and integrate modules to their existing websites.
Sahana launched in response to the December 2004 Asian tsunami, and now the free, open-source system enables aid organizations to coordinate the logistics of disaster response and management, including tracking missing people, managing volunteers, mapping and communicating among various groups.
When the Haiti earthquake occurred, Sahana developers were in the midst of converting the tool from PHP into Python. Since text messages pleading for assistance were pouring in from Haiti, Sahana developers needed help – fast – so earthquake victims and aid organizations could use the tool in rescue and recovery efforts.
When they received the Sahana request for help via a UW-Madison listserv, The Hacker Within members were fresh off an intensive, three-day Python “boot camp” they’d presented to about 70 interested UW-Madison faculty, staff and students.
“We were celebrating the end of a successful boot camp and this message came, and everyone was in,” says Preston, who works as a programmer for Healthscapes under Jonathan Patz, a UW-Madison professor in the Gaylord Nelson Institute for Environmental Studies and Center for Sustainability and the Global Environment.
The UW-Madison group spent an evening becoming familiar with Sahana and the programming technologies they’d need to tackle their part – a request management system that adds pleas for aid, as well as the locations of those requests, to a database so that aid organizations can respond.
“We were able to add this functionality that was specific to this disaster,” says Preston.
For Haiti, the system was particularly useful because it potentially enabled aid organizations to plan en route.
“The aid was slow to get there, but the information wasn’t,” says Preston.
“So before aid teams were already on the ground, groups like ours were trying to make sense of the information coming out of there and organize it in a way that could make the response more efficient.”
Programmers worldwide contributed Python code to eight Sahana modules. In Madison, about seven students worked virtually around the clock for a week to finish writing the majority of the request management system.
Because Sahana and Python both are open-source tools – meaning they are publicly accessible and collaboratively developed – the students could develop and document parts of the code and then upload those pieces to a repository called Launchpad, where other developers could add new code.
After a bit of sleep, the students could review those changes and pick up where the others had left off.
The students also used real-time Internet text messaging, called Internet Relay Chat, or IRC, to guide their work.
“Because of the open-source nature of this, we went on IRC and we were instantly in contact with the lead developer of Sahana and the president of the Sahana Foundation,” says Milad Fatenejad, a UW-Madison engineering physics Ph.D. student who co-founded The Hacker Within. “We were chatting with them on IRC, and it was only because of this process and these open-source tools that we were within two days actually contributing code into Sahana. And that for me was really amazing.”
Even though Haiti earthquake rescue efforts have become long-term relief initiatives, the UW-Madison students are still writing code for Sahana – an endeavor they find both personally and professionally rewarding. “At one point, I was on the chat room, and I commented to someone, ‘I’m learning so much, I feel like I should be paying you tuition,'” says Fatenejad. “I got an education, and we got to help people.”
– Renee Meiller, 608-262-2481, firstname.lastname@example.org