Tuesday, February 21, 2012

Second life

I have participated in the open source world since I started using computer, mainly as a user and sometimes as a contributor. Firefox, Thunderbird, Google Chrome, Ubuntu, PortableApps are my most favorite open source products and community. I have also contributed to Mozilla Community in the past by creating useful features such as Attachment Reminder and adding libnotify support. That was the time when I used to blog every week. But, I became lazy and stopped blogging. Now, I am starting my blogs again, let's see how far I can go. 

My next blog would be for CodeIgniter Bonefire, a very fast CodeIgniter based  PHP development framework. 

Tuesday, April 21, 2009

Final 1.0 Release

Wow ...

I can't even believe that the semester is over. This semesters has provided me with the best learning experience because I have worked on something real, something that is going to be used around the world. Not everybody gets this oppotunity while studying. I am lucky that I got an opportunity to work on the Mozilla Project and get grades in reply.

Anyways, I am very glad to announce that Attachment Reminder Bug is all set to find its place in the code. Few days ago, Magnus came up with the patch fixing style, convantion errors in my patch. I tested the patch and it worked fine. Finally, the bug is going to have the status "FIXED".

Moreover, I have submitted couple of patches to the Message Compose Window Tango Icons bug. In the latest patch, I have merged all the icon images into one image and used image map technique to use that image in thunderbird. Merging all the images and make single image out of it is very tidious and boring job. But, I had not have to go through that trouble. Magnus prompt me a magic script which does all the merging. Here is the script....
  1. #!/bin/bash
  2. ## Make a collage of the input images.

  3. # Require at least one image argument as imput.
  4. if [ "$#" -lt 1 ]; then
  5. # Ex: ./do_collage.sh *.png
  6. # ./do_collage.sh image1.png image2.png image3.png
  7. echo "Usage: $0 input-files"
  8. exit 1;
  9. fi

  10. let w=16;
  11. let h=16;

  12. let top=0;
  13. let right=w;
  14. let bottom=h;
  15. let left=0;

  16. for file in ${@}; do
  17. if [[ ! -e $file ]]; then
  18. echo WARNING - file not found: $file
  19. else
  20. # Using -tile 1x => will be only one column => only top and bottom need to change.
  21. echo "-moz-image-region: rect(${top}px ${right}px ${bottom}px ${left}px); /* `basename $file` */";
  22. let top+=h;
  23. let bottom+=h;
  24. fi
  25. done
  26. echo -n "File to write to [collage.png]:"
  27. read collagefile
  28. if [[ ! -n "$collagefile" ]]; then
  29. collagefile=collage.png
  30. fi

  31. # Use the imagemagick montage command.
  32. montage -geometry 16x -background transparent -tile 1x ${@} $collagefile && echo Wrote to $collagefile

Hopefully, this script will help you sometime.

Now, my major question is that "is it time to separate from Open Source Community?" I
do not think so! There are lots of opportunities in open source community. Just go on jobvite.com and see number of opportunities.

I guess, this will be my last or second last blog for the course (I will keep writing the blogs, but not for marks!!!). So, ...
Thank you very much !!!
Good Bye ....
Sionara ...
Aavjo ...
Au Revoire ...

Tuesday, April 14, 2009

Presentation 3

I am almost done with my Attachment Reminder Bug.

Here is my presentation 3 for the DPS911 Class based on Attachment Reminder Bug. If you have further questions, feel free to email me on chinu.ptl@gmail.com

Sunday, April 12, 2009

0.9 Release and Planning for 1.0

Thunderbird can Tango!!
As you can see in my previos blog, Thunderbird is merging Tango Icons in its Layout.
Tango Icons Gallery is a collection of icons to be used for software applications in Linux. Tango Icons will bring the same look for all the applicaitons in Linux. It will make the Linux more user friednly.
During the bug, I came to know about lots of different topics: The community, XUL, CSS, Image Merging and much more. The community has been a real help to me. Bryan Clark, the lead Mozilla User Experience Developer, stood by me to get it done. Moreover, Megnus Melin provided me with a script which can merge all this icons in an image. Later on, I am going to use image mapping technic to get the icon from it. This will improve the performance of Thunderbird.

Attachment Reminder!!!
This bug just needs a last release. I am so excited that I am going to finish this bug on time. After a lot of iterations, Megnus melin came up with the patch that had all of my small errors fixed. He also helped me to add a few functionalities in the bug as well. Thank you very much for your help and support.

Final Release Planning:
Firstly, I have to apply the patch of Attachmet Reminder, provided by Megnus, edit it if required and ask for UI review to the Bryan Clark. I am pretty sure that it will finish by the next two weeks.

Secondly, Tango Icon bug requires a lot of work. Before I do anything in the bug, I have to learn how to merge all the icons and create an image out of it. Link all those icons from the image to the Thunderbird compose window. It needs a lot of work. I will try my best to finish it by the end of the semester.

My fingers are crossed for both features to get into the tree !!!

Thursday, April 9, 2009

2nd Presentation for DPS911

I did my second presentation for the class, DPS911, today.

The presentation was all about Tango Icons! What they are? How to use them? and much more! Have a look at it !!!

Wish me luck for my next presentation on Tuesday !!!

Wednesday, April 1, 2009

0.8 Release

0.8 release gave me more workplace skills than coding skills. In this release, I have done the least coding for all of my releases till date. In place of coding, I understand the major concept of open source community.

I am a student and select a bug from the list generated by the professor. But, How do people voluntarily takes up initiative in a bug and fix it? I found that individual doesn't decide the bug and whom it is assigned but the community decides that. What happened to me is I interviewed Bryan Clark, the User Experience Developer, at Mozilla Messaging for one of course in the school. During the talk, I got impress by the kind of work he does. I felt like, I want to do that. Meanwhile, I was not having any bugs to fix and was looking for one. I told him that I am looking for a bug and he urgently replied me that he needs some help with what he is doing. Instantly, I got agreed on whatever kind of bug he wanted me to work on. He sent me the link of the bug. I got it approved from David. Eventually, I ended up doing the bug. The moral of the story is that community members do not go in bugzilla and look for the bugs that interest them. But, they got some reference from other community member for bugs and they fix them. The incident gave me the confidence that I can work on my own.

The bug that I got is "tango icons for message compose window" . In this bug, I have to apply the patch created by a person, Andreas Nilsson, contracted by Thunderbird for a period. Thunderbird people felt that it is very unnecessary to teach Andreas how the hg mercurial works. So tohughtful of them! So, Andreas just creates the regular patches for the file and I have to apply those patches, add images in the hg and submit the exceptable patches.

Finally, I have made the patch and submit the patch. Let's see, if I have understood it correctly.

0.7 Release

I totally forgot to write a blog about my last two releases. Of course, I did my work but writing a blog totally slipped out of my mind.

In my 0.7 release, I spent most of my time on understanding the politics in the open source community. Additionally, I submitted a patch for LIBNOTIFY bug and a patch for "Attachment Reminder Bug ." At the end, I had to leave the LIBNOTIFY bug because they do not want that bug anymore.

In the LIBNOTIFY bug, the whole issue was around notification stuff. Whenever the user gets an email, Thunderbird notifies the user through a pop-up window at the bottom-right of the window. Currently, Thunderbird creates its own pop-up window from the XUL element. In the begining, community wanted to change that by passing that even to the LIBNOTIFY, the UNIX library that handles notification (same as Growl notification in MAC OSX). But, callback method is not available in the LIBNOTIFY library. Lack of callback method will not allow the user to click on the notification and open the Thunderbird. Thunderbird want to have this feature. Finally, this issues remained undecided. Hence unfortunately, I had to leave the bug.

Additional to LIBNOTIFY bug, I worked on "Attachment Reminder" bug and addressed the issues specified in the bug.

At the end of the 0.7 release, I was again looking for a new bug ...