Weekly report #6

2010/06/28 at 8:57 pm (GSoC 2010, Planet Gentoo)

Another iteration finished, demo updated, some new features implemented. The new features are:

  • Support for returning developers – it’s simply allowing recruiters to demote mentors back to recruits.
  • Support for project lead approval – each user can have nick (his/her nick as Gentoo developer). Recruits are given (possibly many) “project acceptances”. Project can be marked as accepted or not-accepted (begins as not-accepted).  Acceptance also has a nick of user who can change it’s state. Application has listings of recruits waiting for you acceptance.

I rewrote seed to make it cleaner (and moved user and question data to external YAML files).

I made the gem adding OpenID support to Hobo work. I had to make a little fix to Hobo to achieve it, so currently it works only with version of Hobo from GitHub. The bad thing about it is that I decided to work on OpenID story after it turned out to be problematic on my own. I should have written to mentors that I have problems with OpenID and ask them what to do in this situation. The result is I spent 12h working on OpenID (I planned 4) and didn’t finish it (just having it work isn’t enough).

Permalink Leave a Comment

New terminal prompt

2010/06/22 at 7:58 pm (2010, Linux, Planet Gentoo) (, , )

When I was preparing to use Cucumber I watched a screen cast. I saw a cute promt there: it was single-char green happy face if last command was successful (returned 0) or single-char red sad face if it wasn’t. This motivated me to change my own prompt which was default prompt for Gentoo:

login@hostname /full/path/to/current/dir $

It wasn’t bad but it could get really long if I was deep in directory structure and I really know my login and host… My current promt is

current_dir HH:MM :)

If last command was succesful and

current_dir HH:MM :(

if it failed. I changed prompt for just my user by adding to ~/.bashrc

export PS1="\[\e[34m\]\W \[\e[0m\]\`if [ \$? = 0 ]; then
echo \[\e[32m\]\A \:\)\[\e[0m\];
else
echo \[\e[31m\]\A \:\(\[\e[0m\]; fi\` "

And a screenshot so you can compare how much space I’m saving when I’m in some deep directory:

Permalink 4 Comments

Weekly report #5

2010/06/22 at 5:08 pm (GSoC 2010, Planet Gentoo)

I feel the fifth week of my project was better than weeks 3&4. May be because I finished my exams (I still have some things to do at my Universities but they use far less of my time).  I was a few hour behind schedule at end of week 5. I think it was mainly because I severely underestimated time required to switch from fixtures to Factory Girl in tests (it was a simple task but a big one ).  I added two features visible from user perspective:

  • Listing of recruits with all questions answered.
  • Support for mentor comments for recruit answers

I didn’t finish preparing gem adding OpenID support to Hobo because I need to include taglib and there are problems with including taglibs that come with gems other than Hobo. For details see bug report and discussion. I think I can work around this problem but I wanted to do things I knew I could do first.

I changed a few things not visible from user perspective:

  • Started using Cucumber for integration testing. I think this will really improve my work. I already had problems because my ap was missing view layer tests and I forgot to check something manually. I didn’t write Cucumber features for already implemented functionalities but I wrote features for all new stories I implemented.
  • Switched to Factory Girl for tests. And tests have really become better because of that I think.

Permalink Leave a Comment

Weekly summary #3 and #4

2010/06/14 at 4:08 pm (GSoC 2010, Planet Gentoo, WebApplication)

Last two weeks I had some problems both outside project(electricity broke for one day, Internet access breaking) and inside project (too late started merging feature branches with master (and forgot merging time in planning iteration), commits were pushed too late). Those problems resulted in scoping some stories out from 2nd iteration and stretching 2nd iteration time.

Even so I did implement some features in week #3:

  • Finished support for reference answers for questions.
  • Added email notifications.
  • Users can add categories of questions they should answer (not have recruiter add it).
  • Recruiters (not only admins) can promote users from recruits to mentors.
  • Mentor can approve and disapprove answers of recruits they are mentoring. Newly created answers are disapproved, when user edit answer it becomes unapproved.

I started a gem adding OpenID login support to Hobo. For now you can download sources from repository at GitHub, build it and install it on your own. I shall release gem after my mentors will have a look at sources.

Week #4 was mostly fixing sources (incl. merging and after-iteration fixes).

P.S. It turned out one problem I solved last week is back, preventing me from making hobo_openid gem more details in discussion on hobo user mailing list.

Permalink Leave a Comment

Weekly report #2 – middle of second iteration

2010/06/01 at 1:27 pm (GSoC 2010, Hobo, Planet Gentoo, Programming, Ruby on Rails, WebApplication)

Second iteration is a bit longer then the first one – it’s two weeks long. The demo was not updated (I’ll update it after iteration), work is going better this time – it takes about as much time as I predicted. Last week I completed a few tasks:

I cleaned code up after first iteration. I removed a broken answers counter (together with whole answers index which was useless), rewrote some functions to do filtering in SQL query not in Ruby after fetching results and fixed broken permissions.

I added seed data so you can start testing application easily and added instructions on how to get it running to README file.

I moved to shoulda to make some tests cleaner. I wrote and started using methods that set many permissions to avoid code duplication.

I make use of yeban’s work and replaced email+password login with OpenID login. If you want to use OpenID with Hobo you can use updated version of plugin from here.

I also upgraded the way answers are shown (now you can see question you are answering/ you answered) and added support for reference answers.

Permalink Leave a Comment