Mahesh's Blog

Pages

My Project Proposal for GSoC 2015 with Fedora

Friday, March 27, 2015

 

Contact Information

Name : Mahesh Bandara Wijerathna

Email Address : m4heshd@gmail.com

IRC Nick : m4heshd

Introduction to myself

I'm Mahesh Bandara Wijerathna from Sri Lanka & i'm 21 Years old. Currently i'm a Software Engineering student at National Institute of Business Management Sri Lanka.
This is my second time of applying to GSoC, so i really hope to code the whole summer in dedication to fedora project with my good mentors. I can assure that i have done every research regarding to this project and i have the full potential to complete this project with 100% success.

Why Fedora Project?

I've been a FOSS lover since 2007. Started with Linux OSs itself. Since then what i always wanted is to be a part of it. So i've contributed to many open source projects in past years and as i think what better organization there's to contribute than Fedora. 

Past Involvement in Free Open-source software

Linux operating systems were the first step to my Open-source experience. By the time i started using Linux i had no clue about how to use it or where does they come from. But by the time got comfortable with the operating system i digged deep into birth of Linux & Programming for Linux. That happened very fast. When it comes to me i'm a really curious guy. I love collecting knowledge about things i have the interest in. I Started using Gnome with ubuntu.

After few months here I am, developing with GTK+. C and GTK+ are the best combination of languages i've ever written in. My brother was my mentor in this part of my life because he had experience in Linux way before me. He was the one who pushed me into this path & specially to Fedora. I wrote so many applications using C language and also with C++ and GTKmm. That's when i started contributing to Gnome, CCExtractor & few other local projects. Even in my start, i got an understanding by Overhauling complex projects like evince, vlc & CCExtractor. More can be found on my Blog.

Fedora and Me

By the time i got to fedora i was a lot familiar with Debian based operating systems such as Ubuntu. I was kind of frightened to change to an rpm based OS even though it's just a different package manager & few bash command differences. But with Gnome and the time pass by, i got used to fedora very quickly. First i got to use Fedora 15 just after Gnome 3 came out. Mostly why i love fedora is how they admire community members. Each and everyone is treated as a contributor. So I thought what if i really contribute some of my knowledge to Fedora since i've been enjoying the product for so many years. My inspiration for that was GSoC.

Future contribution toward Fedora Project

My ultimate goal is to contribute to Fedora as much as i can and be a big part of it by Being an Ambassador. We currently have 5 ambassadors in my country and i know every single one of them. I even have contacted all of them. I hope everyone in the Fedora community will help me to achieve my goal. 




Project Proposal (AskFedora UX/UI & Functionality Overhaul)

Overview

Fedora never suffered from lack of support for users over all these years because of AskFedora and the contributors who make AskFedora alive. I've used AskFedora personally and i got answers within minutes i posted the question. I watched the rate of submission of questions by users per day and it's an average of 25. So anyone can understand how popular is this.

With all these facts we can agree on giving the users a new experience just like askUbuntu or Stackoverflow. Currently askFedora in on Askbot's default UI and it doesn't seems to be neither much attractive nor responsive. A really smooth core application or backend isn't enough for a user to interact with a product. The interface matters very seriously. I quoted following from the wikipedia page about GUIs

"Designing the visual composition and temporal behavior of a GUI is an important part of software application programming in the area of human-computer interaction. Its goal is to enhance the efficiency and ease of use for the underlying logical design of a stored program, a design discipline known as usability."

I also think the AskFedora application also needs an update because it runs on Askbot version 0.7.49. There is a minor update for version 0.7.50. I've tested the new version and it seems to be working really good.

Why current UI/UX doesn't work

In the part of contribution, AskFedora has came a long way to the current status. But if we compare the User experience and the unique design of AskUbuntu to AskFedora there's a considerable difference. I've used both AskUbuntu and AskFedora and i can understand each difference one by one.

Fedora has it's own unique set of colors and shapes that has been developed for years now. The only product related to Fedora that doesn't inherit this uniqueness is AskFedora. Why leave that alone?

AskBot's default UI doesn't match the Unique Fedora designs in any way. And for the User experience users needed to be guided in a well manner when using the forum. Just like in StackExchange products. How do you earn the badges, how does the karma is collected....etc.

In points,
  • Colors are not attractive and doesn't match the fedora Uniqueness
  • Usage of fonts are not very good. Need to be changed.
  • Pages are responsive but not in the way we need it.
  • Most of the elements are out of the alignment.
  • Users that doesn't at least have 20 of karma shouldn't be allowed to create new tags.
And just for the technical part
  • Useless usage of variables in Django code should be modified.
  • Usage of bootstrap grid system is needed.


My Current Experience regarding the project

First i got my hands on AskBot & different versions of it. I used both askbot-devel and pip install of Askbot. Digged deep into the coding of every version in Askbot. Referred all the CSS files and got a complete idea about the whole project. As following..
  • What is already there?
  • What is to be done?
  • What can i add more?
I've seen that some of bootstrap components are currently used. Compared the default UI with Suchakra's Mockups and got into some editing. Edited CSS to match Suchakra's mockup and most importantly i added Google's Material design CSS and JS to some elements in the askbot. Here's the ask button working with material design.
Please follow this video to inspect my current work on AskFedora (Unfortunately the hosting plan i own doesn't allow apache mod_wsgi & the openshift also failed to run. I'll be looking at those soon)




Why 'Google Material Design'?

Google Material Design was first implemented in Android 5.0 that blew users minds. I was sitting at the Google I/O when they were announcing it and what first came to my mouth was "WOW". I heard everyone saying things like that. Because it's just amazing. Attractive solid colors, Amazing animations and transitions, Layered design.. etc. 
Everyone loved the new approach of Material Design. It gives the user a complete idea about what happens in the UI. I've never seen anyone who disliked this UI. So i thought implementing this design in web pages will be a really good way to attract people and give them a way better experience. I found few open source projects that took an effort on making it happen. 
From all those projects i've selected Materialize because it's really simple and does not mess up any of the original codes.

What benefits does this proposal have for AskFedora

The plan of giving a whole new UI/UX to all types of users such as Registered Users, Contributors and also the visitors will improve the rate of usage in AskFedora just initially by at-least 25%. Users doesn't need to visit StackExchange to solve issues regarding Fedora or Fedora related applications.
Other than implementing the improvements suggested by the community my proposal assures to implement much more powerful and advanced UI/UX features to improve the experience of the user. As a day to day user of these services i always would prefer the most user friendly and most attractive of all. These features aren't just Eye candy. They actually are responsible for the performance of the application, Resource usage meanwhile giving the best experience to the user. 
This proposal also assures that a new update to the Askbot application will be done matching to the DB queries & also cleaning out the whole django coding by throwing out the garbage codes that aren't essential to AskFedora. 

Prioritized Final Deliverables 

  • High Priority
    • Brand new UI created by taking apart the template of the Askbot
    • Modified Django coding to couple with New UI
    • Final documentation for the improvements done by me
  • Mid Priority
    • New user guidelines for the new UX just like in AskUbuntu
    • New easy to use navigation system for users. (Similar to StackExchange)
    • Updated Badges system
    • Modified permissions to new users such as "Adding new tags is not allowed until the user receives >20 karma"
  • Low Priority
    • Cleaned out Django codings
    • Updated application to Askbot Version 0.7.50

My qualifications to take the Responsibility of this Project


  • I'm a well achieved, Well dedicated student at NIBM Sri lanka.
  • I have experience in usage & Development in Linux operating systems including Fedora since the year 2007.
  • I have shown the abilities of very Fast learning & gaining experience over the past years continuously.
  • Well experienced and well practiced in Computer Programming since when i was 11 years old. Also written many commercial web & desktop application since then.
  • I've Expertise in programming languages such as C, C++, GTK+, GTKmm, JavaSE, JavaEE, python, HTML, php, Javascript, ajax, Django, Visual Basic 6.0, .Net..etc
  • In past years i've experience in contributing to FOSS organizations such as Gnome. More can be found in my blog. And also my GitHub. Most of my work is on private repos at bitbucket. I'm not allowed to make them public. :(
  • I have the Guidance of all current Fedora Ambassadors from Sri Lanka.
  • I'm also guided by professors from my institute.
  • I went through all the things that related to this project and i can assure that i have a 100% understanding about the project. In fact i have done some of the developing related to this project. [Video]

My time commitments

I'm currently completing my Diploma level in software Engineering. So i'll be attending lectures on on saturdays. I assure that I'll be dedicating all the other time to this project.

My plan of implementation

Tools i'll be using to make this project a success
  • Python & Django (obvious)
  • Inkscape, Balasmiq & Gimp (For mockups)
  • VirtualBox and KVM with Virt Manager (For virtualizing purposes in testing)
  • Openshift (For online instance of Askbot)
  • GitHub (For version tracking)
  • Sublime-text 3 (For file editing purposes)
  • Materialize (An open source project to bring the Google Material Design to HTML. Will be used to implement the Material design to Askbot)
  1. First level (UI)
    • Taking apart the Askbot source and going through each and every part of the coding with my mentors. (Partially done)
    • Come to an agreement with mentors on a mockup.
    • Editing of CSS, HTML & Django to match the selected mockup.
    • Adding new styles and HTML, Django elements.
    • Replacing the old elements with Amazing Google Material Design elements.
    • Adding attractive JS transitions for areas that my mentors suggest.
  2. Second level 
    • Getting hands on the mobile view and checking on the responsiveness.
    • Upgrading the responsiveness with Bootstrap Grid system.
    • Checking the pages with different user agents.
    • Looking at errors occurred in python while implementing the new UI
    • Modifying Askbot Macros, Methods, Functions to resolve errors.
    • Creating new macros because there are instances that some functions can't be edited. (Such as getting the user's Gravatar. If we modify the img element in the macro to be appear as a circle to be used in the header, it appears everywhere rounded because same macro is used to retrieve the Gravatar.
  3. Third level
    • Running a test period on an openshift instance to start the low level debugging process.
    • Tracing the bugs and resolving them by discussing with mentors.
    • Trying for an Update of the Askbot application. Looking for any DB clashes or code mismatches.
    • Finalising the project by discussing with mentors.
I'll be documenting every single one of above mentioned events in my blog.

The Timeline

I'll be following the Agile Iterative Development method to make this project a success. The reason for using this methodology according to my knowledge, is to test out a working portion of the Askbot after every implementation with my mentors. 
Warm up period (27th March - 27th April)
  • I'll be studying bit more advanced parts of Django & Python. Also will be practicing WSGI on apache for more understanding in the module. Will be spending time on openshift a lot. More knowledge never hurts. :) 
  • Will be Going through Askbot doing modifications till i fill my mind up with askbot structure. Even though i have a complete understanding about the askbot i could use some memory for tracing bugs later. 
Community Bonding period (27th April - 25th May)
  • I'll be talking with my potential mentors and evaluating any work i've done in the warm up period. I'll be taking all the advices from my mentors. 
  • I'll do a rough flow chart of the process upon the agreements with my mentors. 
  • If it's possible i'll show my modifications to the community approved mockup and get a confirmation on the UI.
Iteration #1 (25th May - 1st June)
  • I'll be deploying a fresh copy of Askbot on my Virtual machine and on Openshift. 
  • Will be initializing a Git repo for the use of me and my mentors.
  • If any mockups were confirmed i'll be starting the work on Askbot Landing page (/questions)
  • If mockups were not confirmed i'll be getting the mockups approved by my mentors.
  • Will be upgrading the responsiveness of the questions page with bootstrap or without(with respective to conditions like {%- if request.user.is_authenticated() -%} )
Iteration #2 (2nd June - 15th June)
  • Adding the Burger Menu with Material Design transitions.
  • I'll be editing existing CSS classes to resolve clashes in Materialize, Bootstrap & style.css
  • Start working on 'Ask your question page'. Adding the unique colors & shapes. Especially on the Secondary Header.
  • Try to improve the tag suggestion system like Askubuntu.
  • Will be doing modifications to WMD editor if needed to match the UI.
Iteration #3 (16th June - 26th June)
  • Will start working on the User profile page.
  • Arranging the content inside the user profile page in a proper manner and reducing the font sizes.
  • Will be changing the notification system Along with the inbox UI 
  • I noticed a bug that Number of answers of a user does not exceed 100. I'll be looking into solving that.
  • Will change the listing of questions and answers on user page. Currently it lists 100 answers and all the questions. That's way too much for a single page.
Iteration #4 (27th June - 3rd July)
  • Will be doing the final touch ups for the Mid term evaluation with my mentors.
  • Debugging as much as i can.
Iteration #5 (4th July - 24th July)
  • I'll be working on the users page.
  • Changing the search users feature to be working on a LIKE clause instead of an EQUAL. SO the users doesn't have to know the whole username to search a user.
  • Looking at the possibility of changing the search trigger for every key press instead of waiting to hit the return key.
  • Getting the Hands on CSS to implement Media Queries + Bootstrap to get the responsive UI on mobiles and many other user agents.
Iteration #6 (25th July - 10th August)
  • I'll be completing the mobile views and testing them.
  • I'll be improving the help documentation and help page.
  • Looking at the possibility of implementing a top navigation bar to switch between fedora services like in stack exchange.
  • Also will be looking at the possibilities of updating the application before or after the modifications.
Iteration #6 (11th August - 28th August)
  • I'll be debugging all the UI issues, DB errors and Django error occurrences.
  • Will be running the long period test on openshift for bug tracing with my mentors.
  • Finalizing of the documentation will be done.
  • Will  be creating a patch with modifications to the corresponding askbot version.
  • Finalizing the project for the final evaluation.
I'll be proceeding further with my mentors to get this project evaluated by community members and get it live. 

Handling of any unexpected issues

There could be some unexpected instances like personal issues, Getting sick, Family emergencies, losing of computer, Sudden announced examinations by the institute..... within this few months of participating in GSoC. So i could be losing the time that has to be spent on this project.
I'll be handling these kind of problems in well manner by being ready for every single one of those instances. For an example: Having a backup PC set up for the project with backed up data in case of a sudden break down of my current PC. 
In any case i'll have to do travelling, i'll be occupied in this project on the road using my laptop.
Like this I'll manage my problems in well manner without doing any harm to the project.

Potential Mentors

 Kushal Das, Suchakra & Sarup Banskota will be my potential mentors. I've spoken with all three of them and i'm really glad to work with them further more.
I hope this proposal meets the maximum potence that a student in my skill level can dedicate for an Open Source Project. 
Read more ...

My Project Proposal for GSoC 2014

Wednesday, March 19, 2014

Linux, OSX GUI and output Language Translation for CCExtractor

19 March 2014

 

 1. A bit about myself

I’m Mahesh Bandara Wijerathna and I'm a Software Engineering student from National institute of Business Management Sri Lanka. I’m currently at my Diploma level. My age is 20. This is my First time in GSoC and I really look forward to this opportunity.


My contact details:

 

  •       Freenode IRC Nick      – m4heshd


My work related links:

 

 

2. My academic background

I finished my college education with great success by achieving passes to all the subjects in the very first time. Then I started my higher education as a Software Engineering student at National institute of Business Management Sri Lanka. Currently I'm completing my Diploma Level in Software Engineering. 

 


3. My Goal of this Proposal

Currently CCExtractor is an amazing tool in command line mode as it is. But what a simple day to day Linux or OSX user missing is a GUI that does the same process of service for them. So my ultimate goal of this proposal is to make CCExtractor User Friendly as much as I can for all the Linux and OSX users out there. Because unique users know what a useful tool this is for them and there are many other users that searching for the same tool with a GUI. This implementation will save twice the time that a user will take to use the command line version of the CCExtractor. Simply I want to make CCExtractor from amazing to a more amazing life saver.

 

 

4. What components/modules will the proposed work modify or create

This implementation will create a completely new GUI based on GTK+ that can be compiled to work on both Linux and OSX.

I will be adding a whole new Output Translation feature to the program. 

 

 5. Why is this GUI very important 

The main goal of a GUI is the Ease of use. Specially for CCExtractor. The fact is that, as a percentage nearly 60% of Linux users are very unfamiliar with command line tools because they always have used to Graphical user Interfaces mostly on Microsoft Windows platform.

Here are a few practical facts from my own researches: 

  • 80% of the people Like to try a Linux distribution on their PC
  • A 75% of above people decide to leave Linux because of they get frightened of command line tools. They say that it’s very uncomfortable to deal with command lines.
  • 90% of my batchmates have no idea about bash or command lines.
  • Truly I personally was very uncomfortable with command lines when I was new to Linux.

As I think this reason must be on the top for the fact that there are only 1.48% of average Linux users in the world compared to other OSs. With all these facts anyone can figure out that most of regular level users do not like to get involved in command lines. But developer level users are. That is the point. A tool like CCExtractor is not targeted only for developers to use. These tools make a normal user’s day to day life much easier. We don’t know how many users search for a tool like CCExtractor then find CCExtractor and just skip it because it’s a command line tool. This particular problem force the user to switch back to Microsoft Windows or at least use a virtual machine. The faq also says that a GUI is not much important. But with my facts I can prove that the GUI is the most important part for the current Linux and OSX version of CCExtractor.



6. What benefits does this proposal have for CCExtractor

As I checked currently total number of downloads are near 130,000. But only near 4000 of that downloads are owned by Linux and near 5000 by mac.  As I explained in the above topic the count of users for the Linux and OSX version is definitely will increase with a GUI on. Much users get hands on CCExtractor, much it becomes popular. There is always a higher rate of getting contributions for a popular product.

The main fact, just like every other open source software CCExtractor also need some help to run with. The rate of donations for a product is always based on the happiness of the user. What user will not be happy with a Nice GUI to work on? :)



7. My plan to achieve the successful completion of the project

According to the facts I mentioned earlier it is in my best interest to make CCExtractor a more amazing and more attractive free product. So I want to and I will finish the project with a 100% success with all the help from my potential Mentor. I have came up with a sketch plan to achieve that success. Also I’ll be referring to learning matter if there’s anything out of my skill level in the process of completing.


Before 19th May (before the beginning of student’s coding)

I will be doing a continues research on Closed Captioning. To achieve the success I’m going to need more knowledge from developer’s eye on closed captioning. And I will dig more deep into the coding from older versions to newer versions. I need to know exactly what implementations and how they are done in time.

From 19th May to 25th May

I will be having a lot of conversations with my mentor and will be taking every single advice need for the start and throughout the project. Then I’ll be doing a simple flow chart to make my work more efficient. Finally I’ll configure a Git repository dedicated to my work on CCExtractor so that my mentor can inspect everything I do and what time i did them to the finest bit.

From 26th May to 21st June

I’ll complete the Gtk+ based GUI in the finest manner as similar to the GUI of the Microsoft Windows version. Also I’ll do everything that’s possible to make the GUI look more attractive to the user alongside with the less usage of resources. After that I’ll start combining the GUI to the command lines. Then I’ll be taking advices from my mentor with the current coding and make it ready for the midterm evaluation.

From 27th June to 5th August

I’ll be finishing all the Gtk signals, Gtk radio button controls, Gtk check button controls and all other widgets connecting to CCExtractor command lines with a system() call. I must double check everything from one to one because of the vast range of user options. Then I start to take the outputs from the shell using popen with standard libraries to the Activity widget, ProgressBar and the preview widget using --gui_mode_reports.

From 6th August to 10th August

I’ll be doing the debugging process with my mentor.

From 11th August to 18th August

Finalizing the project by discussing with my mentor and achieve the 100% success to the Packaging level of the final product.


The main process will be Like this 

  • Other than above instances I’ll be looking at my own idea on Implementation of direct translation of outputs using Google Translate or any other Free translate API if my mentor approves that. I'll be touching the main coding of the program with that idea.

 

 

8. Why do I think I’ll be the best person to work on this project

First of all I have to say that I’m very happy and very excited for this project because my burning interest in contribution for Open Source Software. And specially I took a lot of advantages out of CCExtractor as a regular user and I know I can be a part of that same happiness of others.

Secondly I can prove that I have a very good academic background and I’m a quick learner.

I can assure that I have enough knowledge in C and Gtk+ programming to finish this project with a 100% success. Also I can say that my level of communicating in English language is also very good.

I don’t have much C++ knowledge as I have in C. But I can understand any coding in a little bit of time by going through the source.

I have to mention that this is the best project that meets my level of knowledge in computer programming. I’m so much interested in this particular project because that it has always been my favorite part of coding is the “Building a GUI for the console applications” part.

My level of knowledge can be inspected using following links.

Please check my codings and commits in my GitHub repositories.

https://github.com/m4heshd

My other Gtk related contributions for Open source Software (Gnome)

https://bugzilla.gnome.org/show_bug.cgi?id=593650

I have gained a lot of knowledge in project related languages and so much experience working with more experienced people by contributing to Open Source Software organizations.

I started using CCExtractor for extraction of Closed captions out of Wrestling shows. More of my experience as a user in Open Source Software can be found in my blog.

http://m4heshd.blogspot.com/2014/03/into-open-source-world.html

I have to say that my inspiration for Contributing to CCExtractor was GSoC 2014. I can assure and it’ll be in my best interest to be a big part of CCExtractor as a Developer for my entire life because it’s worth the happiness of freedom.


9. My time commitments 

I can make sure that I will be able to commit 6 days a week for the summer project and it’s full time. I attend my lectures only on Saturdays and I have no any other work.

--------------------------------------------------------------------------------------------------------------------

A rough mockup of the Final product

 

*A special point that has to be mentioned is this Gtk based GUI can also be compiled to work on OSX without any problem.

*And Please consider the fact i'm planning to do more than this GUI. Consider my own idea on Implementation of direct translation of outputs using Google Translate or any other Free translate API

 

A simple explanation about how i'm going to do the translation


Translation can be done perfectly. My plan is to use Google Translation. I'm going to do the translation but not directly through the API. Because we all know that Translation API is not FREE now. It's a paid service.

So the translation will be done through an API controlled URL. I'll be using libcurl for this task. We send the URL with particular parameters and it'll return a text file with JSONP content. It'll look like this

 

This process happens in an average time of 14 milliseconds :)

Next step is reading the "trans": field. It'll be done with a strtok() call. Finally everything is in hand.

How do i apply this function to the CCExtractor output?

The parameter for the translation will be like --translate_subs source_lang traget_lang

Languages will be defined with standards like "en" for English, "es" for Spanish etc... 

Let's take an example. Our file is a EIA-608 .ts file. And our output is a .srt file.
Then lets take related source 608_srt.cppWe'll execute the translation just before we write the Line buffer to the file. So that we can take the Length of the Translation.

 
 

Like this we're going to translate lines one by one. We're not gonna translate whole files in chunks. That'll mess everything up.

For the function i'll be writing a separate Header with the coding.

I hope this proposal meets the maximum potence that a student in my skill level can dedicate for an Open Source Project. 

Read more ...

Into the Open Source world!!

Friday, March 14, 2014
I've started programming from age 12. That start was for a school related Software competition. That's moment i knew i need an inspiration to do something great. Since then i developed a lot of programs and all of them were Microsoft Windows related. Even in that time i haven't had much connection with the open source world.

When i was like 16 i got in touch with Linux. Most likely Ubuntu. I worked out with it for a while but i didn't get myself really into it because i was more familiar with Microsoft Windows and i was afraid of change. But one day i digged really deep into it it and found it amazing. I saw how low the resource usage is, How stable and how fast it is. I started to feel that i could take more out of it. Of course i've Fallen in love <3 with Linux. I've looked into more distributions and i knew i'd fit with Ubuntu.



So after all of this, while i was wondering through i found something called Gnome Desktop. That was the most interesting part of the journey :). I installed  Gnome desktop and VoilĂ ! exactly what i was looking for. Everything with Gnome was much easier. And i found that a lot of Ubuntu applications are also related to Gnome. I was missing PhotoShop, using a lot of online photo editors and that's when i got into Gimp. And i was using many more open source software such as LibreofficeCode::Blocks, VLC player, PCSX2CCextractor, Git, GCC etc. I played a lot with Gnome, extensions and all other things. As a user i got 100% familiar with Gnome, Linux terminal and other open source software.

As a Linux user we have to get very Familiar with Bash commands or Linux terminal which is almost same to unix shell. My sources of getting familiar with command lines are mainly apt-get, curl, SSH, CCextractorGitGCC and many other.

At those times i was doing a lot of C programming. And i was into WxWIdgets too. But i was not happy with it. Libreoffice is of my day to day use and one day i wondered how those GUIs are coded. That's when i found Gtk+. That was the Happiest me, Programming with Gtk. I used Code::Blocks for doing my coding with Gtk. I didn't think for once Everything i using was Free and they had a lot of work done into them to get them working. But when i found the relationship between Gnome, Gimp and Gtk, it was the time everything finally made sense to me. There are lots of people that work so much hard to make the world better and full with Freedom.

So in this time my inspiration was work in my 
class. As it was started i had a thought to do some contributions. I thought to start contributing from Gnome. First i was very confused with how do i do those things. Everyone gotta be. But good people at Gnome put a lot into me and then..... Here's me ended up doing Contributions for Gnome. ^_^. The first contribution i have done, That was the Happiest day of my life as a Developer. I have to remind again that the Experienced developers, users and all other people at Gnome were very kind and helpful to me.

Gnome is just my start. There thousands of other organisations that need contributions to build up. My plan is to contribute to as much organizations as i can.

So this is my story of getting involved in Open Source world. I wish everyone could be a part of it and feel that Freedom. We gotta Keep in mind that we always have a much to learn.

"WHEN YOU GET SOME LOVE KEEP IN MIND TO GIVE SOME"

Happy coding!!! :)
Read more ...