By Nathaniel Roth and Josiah Schwab.
I’m a graduate student in the Berkeley physics department, and I’ve been part of Compass since the summer of 2010. One aspect of Compass that all of us are very proud of is the fact that our organization is run almost entirely by students. This includes not just our classroom activities and social events, but all of the administrative and logistical tasks to keep a community with hundreds of members organized. This is the first in a series of blog posts in which Compass volunteers will talk about some of the skills they have learned outside of the classroom and the lab as they have worked behind the scenes to keep Compass awesome.
For example, Compass maintains its own web server to handle tasks such as hosting the website and managing the organization’s mailing lists. The most valuable non-pedagogical skills I have learned during my time in Compass have been related to web server administration.
During the Fall of 2011, the Compass technology team made a decision to rebuild the server installation from scratch to improve its sustainability. This was no small task, and at the time, I had virtually no experience in anything like it. For instance, I barely knew what Apache was, the core software at the heart of many servers including our own. Fortunately, I was in the company of talented volunteers such as Allen Rabinovich, Joel Corbo, Josiah Schwab, and Abhimat Gautam; I learned a great deal through their example.
Over the course of several weekends, the five of us huddled together with our laptops and plugged the software together piece by piece. Allen, Joel and Josiah showed me how Apache is configured and how to debug common some common problems that might arise. Josiah took the lead on installing the program Mailman to manage our email lists, a task that was far more intricate than I had imagined. Abhimat spearheaded the wordpress installation that powers our website, using a theme that Allen worked hard to optimize for us. I was tasked with re-assembling our organization’s wiki (powered by FOSwiki, www.foswiki.org). All of these tasks were inter-related to varying degrees, and in the true Compass spirit, we worked together, learning by doing.
I’m also a graduate student in the Berkeley physics department, and I’ve been part of Compass since 2010. As Compass has grown, we have had to deal with new data in new ways. One of the major changes has been our transition to a funding model that has a large donor base. A big part of fundraising is making sure that we have thanked our donors and that we are able to keep them up-to-date with the activities of Compass (for example, by mailing them our newsletter). During the 2012 summer fundraising campaign, we decided that we needed a better way to keep track of those who have donated to Compass.
We wanted to move to a centralized donation-tracking system that we could use for many years to come. I constructed a simple web-based application that helps us to manage this information. This gave me a chance to try out the Python-based web framework Django. This was my first time seriously using Django and not only did I learn a lot, but I had a lot of fun. Nathan helped out by writing a python function that would parse the automated emails we receive when donations are received and would pass this information along to the database. The second generation of this system is currently under development and will allow us to keep better contact with our alumni.