Saturday, December 29, 2007

Armenian localization

As you may have noticed, in the beginning of the semester I said I was going to continue with the Armenian localization project but Dave suggested to turn into a three team project to try to create the English-Canadian version of Firefox. This actually ended up turning to be another project which was to create a script to create an l10n regionalised source tree from an l10n source tree.

Anyways, the problem was that I never continued the Armenian localization project and in all of this time I never heard of anybody trying to continue it.

You can check these links:
In all of this months working with the l10n community, I have seen a lot of good changes from the l10n drivers and from it I see myself making things easier for localizers rather than being a localizer myself, since, I am not good at reading and writing Armenian :(

It would great if this project continues with or without me, but I definitively I have interest in see it done.

Monday, December 24, 2007

What Open Souce means for me ...

Andrew Smith has written a good post in the opensource@seneca planet, which has made me rethink on some floating ideas in my mind ...

It is a privilege and a great opportunity that Seneca and Mozilla have met each other and is allowing some "rock star" students (like Andrew Smith and Ben Hearshum) to shine and others to be created. We get prepared before we enter the workforce and we are forced to work in projects which are in the leading edge.
Before we get graduated, we get in touch with incredible software developers from which we can learn their techniques and ways of developing. Most of this world's software developers do not have this opportunity and being prepared before graduating is a big asset. I have few friend's from when I went to University of Malaga (where I was studying Computer Engineering) who are jealous of this course that I have taken.

During this semester I have been studying everyone I have seen and have read the blogs of rhelmer, bhearshum, shaver, pike(Axel) and others..., and tried to learn the way each one of them work and what is their part on this big project.

I have also tried to learn how these people around the globe try to manage/drive/organize different sub-communities of the Mozilla communities. People like Axel and Mic Berman have to organize a HUGE variety of different communities from different countries (since they are part of the l10n drivers) and they even have time for people like me asking silly/innocent questions and knowing that in their part of the community there is so many people that just want to get only their localization out and that's it!

It has also pushed me to move from being an "only Windows developer" to "give me any other OS and I can still develop" developer.
It has also pushed to read, read and read even more (blogs, newsgroups, mailing lists, documentation, source code, etc...) and never give up against impediments!

--------------------
The first part of this post was a "thank you" letter but I would like to get back to the initial post of Andrew Smith.

The relationship of Mozilla and Seneca creates an environment of young developers to have sympathy to Mozilla because they opened their arms to helps us become more experienced developers and braver, and this is a good way of Mozilla to be able to find some gems and get some shelved project to get resumed ... For Seneca, it is a good way to be in the spot and students to earn experience before graduating and be exposed...

The problem to this environment is that it doesn't work without students who get enrolled in college. As Andrew mentioned the number of developers in the world for Open Source are not enough and the amount of Computer Science students enrollment has been continuously dropping year by year in North America and this could affect Mozilla@Seneca if it is not already affecting it.
This could lead to reducing requirements and accepting the developers that you find (this does not just affect Open Source Software Development only) rather than the developers that are prepared.

I believe that taking the Opens Source course does NOT automatically make you "prepared" but if you are lucky it can "awaken" you as a developer as I have seen in others that took the same course with me

Thanks for reading so far since I know that the flowing of my writing on English could be a little difficult ;)

These last days: Reformating, getting ready and Assembla

These days were set aside to reformat my laptop which has Vista on it and was corrupted, but what was to be just few hours become a couple of days, since I also decided to open room for Ubuntu in my laptop but in my playing around with my partitions, I have lost all my videos and music :(

I have also been getting ready for next semester by preparing all the IDEs and others that I am going to need: Eclipse IDE with Php and Svn, Visual Studio 2005 for Asp .Net and C#, set up Appserv as my web server package, Dreamweaver and others ...

I have also discovered an online tool (Assembla) which is for managing developers teams (you can also organize normal teams) and contains a wiki, trac, subversion, time tracking, scrum reports, chats and many others. I believe it is a good tool and I have already set up 3 different accounts (academics, professional and non-for profit organizations).
If you have to organize a team bigger than one member I would suggest you to give it a try (btw it is free as in "free" beer!). It is also a way of finding jobs and showing that you are serious about managing teams.

Friday, December 07, 2007

0.3.3 l10nFork final release

As Rueen and Vince have announced, they completed most of the TODOs that we had in mind for the 0.3 release and thanks to Ben's and Ted's help, I have completed the rest of the TODOs for the 0.3 but ONE (read from a file changes to be applied to an l10n tree), which right now is hard-coded :(

Anyways, I want to say that the project is ready to be evaluated since the BUG has the latest release and the WIKI page has the latest information.

The project will still continue to change since the script can grow much more but for now there will be no more updates until exam's week is done.

I would like to conclude with two last thoughts:
  1. Now that I have spent another full day with python, I can see that the learning curve is a little long but I have started to understand it and it is the best scripting languages that I have found so far (I also have to say that I have only dealt with Perl and PHP). It is really powerful, fully object-oriented and a really complete library!
  2. I believe that the Open Source courses that Seneca offers produces a new kind of open source developers; Ben is a graduated of Seneca and took this course last year, his support has been amazing and every single line he wrote about our script was something that I will fully understand and induce me to research on the right line. Others even though they tried to help (and they did help most of the time), they forget my newness in open source and my lack of knowledge of the language. PLEASE: don't misunderstand me, every single person in the IRC channel has always helped me and a lot (a lot, a lot, a lot...)- I refer to comments on Bugzilla that passed over my head and I can understand that people might not have time to be "educational" or "guide me" on their comments

Monday, December 03, 2007

BTS presentation and open source evangelism

I will probably forget to post this if I keep on delaying it, but it is better now than having to wait for a screen cast accompanying it.

- Who among the Seneca BSD (and CPA) students have not said "I hate Rose!!"?

We have to use the 2001 version of Rose (before it was bought by IBM) and with no expectations of getting the latest version, we struggle so much for several semesters while using it.

We don't know how to use it since it has a lot of usability problems and we are not being taught how to use it properly. After using the software for 3 semesters, I have met fellow students that are in my semester who still pass the rose model to each other sequentially since they do not know how to make the import/export ability to work.

In my team, I was the "merger". I would have to merge everybody's work and after a few semesters I kind of learned how to do it, therefore, I decided to give back to the community, by teaching the 2nd year students (including my friend Zad) what I learned by myself over several semesters of "trial and error".

The benefit of that was that I got rid of a feeling that I was keeping the knowledge for myself if I didn't share it and it felt good to get students saying to me "Thanks, now I know why we are using Rational Rose"

Once, I fed them with a good Rose meal, I decided to give them some open source dessert...
I told them about how far I got by taking the Open Source course and how much I dare to try things that I was always reluctant to try because I was afraid of trying new things. I also told them that it was a really good learning experience if you want to see how far can you push the bar. I warned them that it wasn't for everyone since it is really demanding and requires you to stretch yourself in ways that you have never done before.

This presentation has allowed me to receive appreciation from my classmates and has allowed me to practice my desire to teach in the future, which I think can be a really noble profession if done the proper way.

l10nFork0.3.1 release and concerns

I have posted the attachment in Bugzilla (Bug403215 comment 7) and I have added this comment:
This attachment is supposed to do multiple regular expressions changes to the
DTD and the properties files of an l10n source tree

I think it will be amazing if it could create a parallel l10n tree with the
changes applied to the new regional. We want to get rid of creating .bak files

Inside the file, you can find "todo.txt", "changes.txt", "instructions.txt" and
"release.txt" with plenty of information.
And this is the help I am looking for or what I want to get done by the end of this week:
Please if someone could just give me an idea of how would they:
1) create a parallel l10n tree - (I am thinking of copying from SOURCE to
DESTINATION and then apply changes)
2) read the changes from changes.txt which contains multiple changes and
recreate the regular expressions - (I am thinking of an array with COMPILED
regular expressions and then iterate through them)
I have also asked for help to Ben Hearsum (the master in python ;) and said that he will have a look at it