Drupal Google Summer of Code 2010 Proposal

I am submitting a project proposal for Drupal and Google Summer of Code this year. The most recent version may be downloaded using the following links.

Drupal Crisis Management Suite [rev. 5]

Older Revisions

Drupal Crisis Management Module [rev. 2]

Supplemental Q & A

When did you become interested in programming?

Since my earliest memories I’ve always had fun with computers, but I guess I didn’t really become interested in programming until the start of high school. The summer was being a drag so I created a website directory of animated emoticons that people could link to… it didn’t last very long.

What is your favorite editor for development?

TextMate. It has a lot of features but isn’t bloated.

Virtually all programmers defend their coding style or programming language religiously; what denominations do you belong to?

Ha! I’m relatively language agnostic. I do have my likes (ruby) and dislikes (perl), but that doesn’t stop me from using the right tool for the job. As to coding style, I prefer the Allman (ANSI) style with a slight twist: consecutive blocks of code should be smartly spaced. For example, comments should align in consecutive blocks of code. This was taught by one of my early Computer Science professors and I thought she was crazy at the time, but it really does make code easier to read. I absolutely cannot stand styles like Whitesmiths and GNU.

I believe consistency is more important than the specific coding style. A project should establish coding style guidelines and then stick to them. There’s little worse than having multiple styles in a single source file.

What is your favorite source control manager?

SVN, however I have been using Git for more recent projects. There is a rather amusing and informative talk on why Git is better by Linus Torvalds that can be found on YouTube.

You sound familiar, didn’t you participate in Google Summer of Code last year?

Yes indeed! For GSoC 2009 I helped rewrite the File API in Drupal. See my GSoC 2009 page for more info.

If you have other fun or serious questions that I can answer, ask me.