Search This Blog


Thursday, June 6, 2013

Getting back on the rails (with Ruby on Rails)

As computer programmers we must strive to learn new technologies. This summer I am going to learn Ruby on Rails! I will post regular updates on my progress, as well as a few tidbits that I have learned along the way. I must learn two things: Rails and Ruby.

The tutorial I am using is Ruby on Rails Tutorial by Michael Hartl, which is available for FREE here.

Stay tuned!

Saturday, March 16, 2013

Google Summer of Code Information Session at held at CUNY Hunter College

On Wednesday 13 March 2013 Sumana Harihareswara of The Wikimedia Foundation, Daniel Packer (2011 alumnus), and yours truly (three time alumnus and mentor for the past 2 years) ran an information session organized by yours truly to provide prospective students with information about Google Summer of Code.

Students received a fun and informative presentation on Google Summer of Code basics including mentoring organizations, application and program timeline, project structure, and all the awesome benefits of Google Summer of Code.

As promised students received swag provided by the Google Open Source Participation Office (including cool shirts, stickers, pens and notebooks). Fresh pizza and cold, refreshing soda was enjoyed by all.

Sumana, Daniel and I fielded questions from the approximately 30 students in attendance (all of whom showed strong interest in the program). The interests of those in attendance was broad and ranged from bioinformatics to computer vision and just about anything in between.

A trail of links was followed from the Google Summer of Code site to the mentoring organization site, and then to mentors themselves, with a discussion on how to approach particular mentors and projects. Students also enjoyed sending a greeting to the #gsoc IRC channel and receiving replies and cheers from others in the channel. All in all it was a fantastic meeting which promised to result in some excited Google Summer of Code applicants.

All in all, I was very pleased with the outcome. Everybody seemed to have a great time.

I would like to thank my professor Stewart Weiss (for his assistance in getting us a room at Hunter College) and the Computer Science department for the pizza and soda! Specific thanks go to Joseph Driscoll, assistant to the department chair whom without his help this would not have happened.

Daniel Packer (2011 Google Summer of Code alumnus) contributed in part to this write-up.

Wednesday, June 8, 2011

Google NYC Office tour finally happens!

After three years of attempting to organize a Google NYC office visit -- we finally had that happen! The above picture is the Google NYC Reception area.

I must say that the Google NYC office is amazing! There are many places to eat and take breaks scattered throughout their office spaces on many floors -- one of which is Lego themed! They have the usual conference rooms, a computer museum -- with the usual vintage systems placed around. Did I mention the view from one of their kitchens is absolutely breath-taking? Well, it is -- just look for yourself!

I enjoyed the tour very much -- and I am sure that my fellow Google Summer of Code students did as well! For me, Google Summer of Code has been largely social -- meetups are a big component of this program in my opinion -- sure we have to produce code -- but why not have some fun mingling with students who were fortunate enough to get selected in this very selective program? This was a very successful meetup indeed.

Friday, September 3, 2010

Google Summer of Code 2010: Code merged!

Been a bit since an update, most of my updates were sent to the mailing list.

My code has been since merged into sahana eden trunk.

The code in its current state is very buggy and has issues, but most issues were fixed prior to being pushed to trunk. Those issues are mentioned in the user guidelines. It needs to be updated to reflect current issues, those that have been fixed and those that are still outstanding.

Development will continue in my branch and once I feel the feature is complete and stable, it will be merged to trunk.

Monday, May 31, 2010

Weekly GSoC Survey Tool meeting summary

The weekly meeting was held in the #sahana-eden IRC channel on Present were: Mark, Gavin, Michael, and of course whatever spectators:

What was discussed:

  • We removed some of the question types from the functional specification to simplify things
  • Discussed how michael did the ADPC _next stuff and how it can be applied to this project
  • Gavin suggested localization -- a suggested implementation is specified -- this is a "Nice to Have" as it's outside the scope of this project for GSOC.
  • Will discuss on the mailing list how best to generically support "wizard" like uis within S3 elegantly.

What's on the agenda for the next couple weeks (this week will be scarce):

  • Noodle over ways to generically support "wizards" in S3 elegantly
  • Implement the "Template" stage (page 1 of the wizard) [first milestone as per my project plan timeline]

Resources relevant to this meeting for the purpose of this summary:

  1. The functional spec
  2. The project plan timeline
  3. Meeting log [meeting ends at 0109 as per the timestamp in the logs]

Friday, May 21, 2010

Introducing the Task Module for Sahana Eden

Hey Folks,

I needed something simple to get up to speed with Sahana Eden and a Task Manager is simplest. I was able to bang it out in a few days from start to finish. Web2py is an easy framework to work with, and many code examples exist within Sahana Eden that I was able to copy/paste.

You can mosey on over to the demo site and play with it yourself. Just register and you should be set. Do not worry, you won't be spammed and your information will be sold.

I faced one small problem once I saw everything was setup: I couldn't figure out how to get the widgets to select a user (who both started and finished the task -- these could be two different users). The gears were spun and spun and spun until an ah-hah moment occurred: the following function in in the models directory:

def shn_user_represent(id):

if id:
user = db(
if user:
user = user[0]
name = user.first_name
if user.last_name:
name = "%s %s" % (name, user.last_name)
return name
return None

Helped me to see where I needed to be and once I read this code and understood it, it all made sense to me. The following is how you render a drop-down box containing all registered users:

table.started_by.requires = IS_NULL_OR(IS_IN_DB(db,,lambda id : shn_user_represent(
table.finished_by.requires = IS_NULL_OR(IS_IN_DB(db,,lambda id : shn_user_represent(

Where table represents the database table for your model and started_by and finished_by are the fields; the rest is validation. That's it! It was that simple.

Now next week on Monday, May 24 -- the official start of the program begins. At that point and time, this project will take a back burner and I will attempt to post AT LEAST a weekly -- if not every other week about all progress that is made throughout the duration of the program.

Regular updates will be posted to the Sahana Eden mailing list.

You can follow progress via the launchpad bazaar branch.

Monday, April 26, 2010

Accepted to Google Summer of Code 2010: HAT TRICK!!

I have been accepted to Google Summer of Code 2010 for the third year running! This summer I will be working with Sahana Eden.

The Sahana Free and Open Source Disaster Management System was conceived during the 2004 Sri Lanka tsunami. The system was developed to help manage the disaster and was deployed by the Sri Lankan government's Center of National Operations (CNO), which included the Center of Humanitarian Agencies (CHA). A second round of funding was provided by the Swedish International Development Agency (SIDA). The project has now grown to become globally recognized, with deployments in many other disasters such as the Asian Quake in Pakistan (2005), Southern Leyte Mudslide Disaster in Philippines (2006) and the Jogjarkata Earthquake in Indonesia (2006).

The project is now being ported to Python as an experimental fork a replacement for Sahana Agasti so that the software can be extended. Sahana Agasti is written in PHP.

I will be working with Sahana Eden to create a tool to create, enter, and manage surveys. This should be a lot of fun!

Blog Widget by LinkWithin

Support Partners in Health's efforts to help haiti

Stand With Haiti