May 17, 2009
Are interested to contribute to open source development?
Are eager to learn and work with amazing people from around the world?
Do love to work in the benefit to humankind?
Do you want to know how is participating in open source development will be in benefit of you own professional career?
To get answers for all these questions and more, join me in my workshop during the Engineering and Technology Meeting at IUG on May 20th,2009 11:00AM – 12:30PM.
For more inofrmations about Engineering and Technology Meeting at IUG visit: http://prl.iugaza.edu.ps/ex/
March 20, 2009
It’s really hard to make time line for software project and most of software project takes more time than expected, so don’t be surprised when big software vendors delay the release date of their products.
To make time line I usually do the following:
1- Define from where I will start and what the end result I want to achieve.
2- See what tools and technologies I will have to learn in order to achieve my goal.
3- Define the project architecture. It’s good practice that my project architecture follow a well known design pattern like Model-View-Controller (MVC) or whatever is suitable for my project. But if I can’t make my project follow a well known pattern it’s OK design pattterns are not for all type of project. But always try to make your architecture into layers and modules.
4- Divide my big goals into millstones. Each millstone means I have something that can work and can be tested. For example, if I’m following Model-View-Controller (MVC) design Pattern then finishing the model is a millstone and finishing the view is a millstone, also finishing the controller is a millstone, testing is millstone, packaging is a millstone, etc..
5- On each millstone I try to divide it to a smaller tasks like I want to implement class A on day1 and class B on day2, I want to test module X on day 3, etc.
6- Always put some time for catchup in case I didn’t follow the timetable. GSoC is very short programm so I guss you can’t put more than week for catch up.
7- Always Revise the time line you put on the proposal during the Community Bonding period because once I know more about my project I will be able define more accurate time line.
8- Always do weekly progress reports even I don’t made any progress. By this way I always put the time table on mind and do my dest to follow it.
March 19, 2009
Stage Two: Mentoring Organizations is Announced, But Applications didn’t started yet From March 18thto March 23rd
First sorry about my mistake on the date for the first stage, the first stage ends on March 18th not March 13th. On March 18th, Google will announce the participating mentoring organizations and their suggested ideas.
It’s getting more serious now, the final list of mentoring organizations is announced. It’s time to work on your semi-final list of projects. What I recommend to do on this stage is similar to the previous stage, but with two exceptions. First, don’t try to work on patches unless it’s *very very very* simple (by simple I mean just 3 hours or 4 hours of work) or you need just few hours to complete a patch you already started for accepted mentoring organization on the previous stage of GSoC (before March 18th). If you try to work on patches or coding on this stage you will wast your time because no much time is allocated for this stage but do brief look over the source code of projects that you want to put on your short list . Second, the list of mentoring organizations is now final and it is on one place; the official GSoC website, this means now you don’t have to guess who will be in and who won’t be.
Most of you liked putting things in ordered steps, I didn’t change my way and here it are the steps:
- Go through the mentoring organizations list on http://code.google.com/soc and compare it to you preliminary list.
- You may find some organizations in your list but it not accepted by Google, Exclude it from your list.
- Or you may find other organizations are listed you’re more interested on. You can add it to your list. But remember this is semi-final list so don’t make it big I don’t recommend list bigger than five projects and try to select just one project from each organization.
- It’s OK if all the preliminary list is changed. The goal of the preliminary list is to get you on the mode. But I don’t recommend excluding projects that you send patches to it and these patches where accepted because this mean you already get high possibility to be accepted on that project.
- Ask the contacts for each project for more information about the project.But don’t ask trivial questions!. Personally I prefer not to ask “What I should go?” or “Can you please give more information about project X?” because this questions show that I don’t understand anything from the listed Idea and I’m waiting the potential mentor to write the proposal for me. But I prefer to think on the idea and put a vision for the project I want to ask about it then go and ask the potential mentor “I have though of doing 1,2,3 for project X” and then ask really smart question about things that was unclear to me.
- Some project might seem unclear or ambiguous. This might be for two reasons. First, some of the project are intended to be ambiguous because the mentoring organization wants to reveal your innovation. Second, you might don’t have previous experience on the project subject; it’s OK we all here are students and we came to learn new staff, so try to read more about the project and give it some time to think about it. If you have a vision for the project send it to the potential mentor and ask him for his comments, otherwise if you couldn’t put a vision for the project look for another one and don’t worry their is a dozen of projects! But always remember time is critical don’t stuck on one project there is hundreds of ideas and some of it maybe better than you’re currently stuck on.
- For the ideas on you list try to start put a vision for the projects how it going to be implemented during the summer.
- Start working on the proposals. It really important if the organization got a template for the proposal that you follow it, but if it don’t have a template try to make your proposal similar to a good template from other organization.
- Also as the previous stage poke around the mailing list or hang on the IRC channel of the mentoring organizations you are interested on.
- If the organizations on you short list has created mailing list or IRC channel specially for GSoC do subscribe on it and use it to ask your *smart question* and to get know the potential mentors.
Good luck everyone with GSoC. It’s competitive and a lot of work but it’s really fun and you will remember these days for the rest of your life.
You can find the list of the accepted metoring organizations onhttp://socghop.appspot.com/program/accepted_orgs/google/gsoc2009?limit_0=100&limit_1=100
February 24, 2009
Today and last Sunday I held the Google Summer of Code™ Your Way to a Global Mission Workshop. The first day went fine but I expect that I will present better than that; this may be due bad weather it was a very rainy day. On the first day I discussed the open source philosophy and I focused on how to join open source project on the ‘traditional’ way. I emphasize a lot on open source because none of the attended students has participated before on open source and very few of them used open source projects. And I know for sure (because I’m graduated from the same university) that they didn’t introduced probably to open source.

What's open source

MySQL GSoC 2008 Logo

Free Ubuntu CD
The seconad was sunny! and I did better than the first day. On the second day I talk specificlly on GSoC and how to join this program. But I notice that some of the students have some fears from participating such big program some of them might think “Oh, this is Google and the most prestigious FOSS organizations what I’m going to do! “. I belive GSoC is a challenging program in which I pushed my self to the limit. GSoC is designed for students and they know that you’re a student and you’re here to have fun and learn.

GSoC Statistics

February 21, 2009
I’m proud to join GSoC 2008. GSoC was a great experience for me and it really changed my life. I’m writing this post to give the new GSoCer some tips that I hope it will be useful for them. In this series I will give different tips for all the stages of Google Summer of Code™.

Google Summer of Code™ 2009 Logo
- Look at the previous GSoC mentoring organizations, most of them has already published this year ideas list. You might try using Google search engine to search for ‘Google Summer of Code 2009 Ideas’.
- Try thinking of those ideas, see what might interest you. I would remind you that GSoC is about three to four months you don’t have much time for big projects. Also, being ambitious is good but remember you have to be realistic about your project don’t over take projects that are over your capabilities. In GSoC you’re going to learn a lot of things and you mostly you will not have all the knowledge and experience to do the project. But you should got the basics and you have all the summer to learn and work. So, the best thing is to try to balance between what you already have and between what you’re going to learn.
- Make short list about 5 to 7 projects from different organizations. You free to select more, but big list will distract you. Also, try to select projects that have similarities on your advantage, like all the project on your list use PHP and you have PHP experience.
- Start walking around on the mailing lists and IRC channels for these projects.
- It will rise your chance to be accepted if you send patches for those projects, but if you don’t it’s OK.
- If you feel that those projects on the short list is hard and over your capabilities don’t panic. Try thinking again on that project sometimes project look very hard at the first time but when you think of it or discuss it with your friends you will see how easy it is. If you think of the project one time after another and you still find it very hard it’s OK, try looking for other projects.
- Note: not all organizations that apply for GSoC will be accepted. It’s also competitive for the mentoring organizations, so be sure that your short list contain projects from at least three diffrent mentoring organizations.
February 20, 2009
You’re Welcome to attend the workshop at PNINA’s office. This workshop is three days workshop (2 hours per day). The workshop is designed for students who want to participate on Google Summer of Code but they don’t have any previous experience on Open Source.
The First day I will introduce the Open Source and the philosophy behind it. On the second day, I will talk about Google Summer of Code. And on the third day I will talk about Open Source developments and the things that will be useful for students to learn before joining Google Summer of Code.

Google Summer of Code™ Your Way to a Global Mission Workshop Invitation
Note: Each attandant student will get a free copy of Ubuntu Linux from PNINA and will get GSoC sticker from Google
February 1, 2009
Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!