Monday, March 4, 2013

7 things I learnt from NYUAD Hackathon 2013 !

Last week, I have been honored by New York University of Abu Dhabi to participate in an annual event which is the International Hackathon in its 2nd edition. There were many students, mentors and judges from all over the world, I met people from the US, Canada, Mexico, Brazil, Denmark, Tunisia, Morocco, Egypt, Jordan, Lebanon, Saudi Arabia, Sri Lanka and India. 

The aim of the hackathon is to gather all these skillful people in one place and build some cool products for social good in MENA region. All of us were brainstorming to select the best sixteen ideas and then everyone joined the team he wants to work with. This step is called "Ready, Set, Pitch!" It's really crazy when you find yourself working with people you just met and you believe that after only three days, you are going to show something publicly and that it should be working!! 

I will try in this article to highlight the most important things I learnt from this amazing and unique experience. So let's start.

1. Be tolerant: 

During the event, there have been students from different countries and continents this means different cultures and religions, it is really nice how they worked together in the same teams without any conflicts and complexes. So one thing to learn is that you can work with people that do not have certainly the same culture like you and do not share the same religious or political views. When you are working for the same goal you can reach it together, you just have to be tolerant and accept the other as it is, just focus on your subject.
When we believe in what we do, we can reach it without having to be have
the same culture/religion/political-views

2. Believe in yourself:

In the beginning of the hackathon when we chose our projects and we started the work I told myself that it's really hard for me to achieve the work in just three days and because I changed the team, It has been a little difficult for me to integrate this new team. But after that, I realized that when you define your tasks in a clear way, you can work on a small idea and move to the second one when you finish it. So you can think big while acting on small pieces and assemble them at the end. After three days only, I was surprised when I saw that we finished the main skeleton of the app, it was really awesome.
Our project's Logic ! (project's name : Marah, in arabic مرح).
I am one of the six people on earth who can understand what's on the picture by the way ! :p

3. #AgeIsJustANumber:

At first when we met in the big room for discussing and brainstorming ideas, I saw a kid between us, instantly, I thought he was a son of someone or something like that.. Than I realized that he was a participant when he started talking about windows 8, windows phone 8 and stuff.. I was just surprised! He joined our table and I talked to him, he is a 14 years old programmer from India and his name is Gautam! We've been in the same team for the two next days. This guy taught me that age is really just a number, that everyone has the ability to start programming at an earlier stage, kids in my country are not used to.. They're just afraid of.
I can assure you he is good at this : Programming !

4. Shut up and go build something useful:

I have participated in many events in Algeria before, events like StartUp weekend, BootCamps and many training sessions. The difference with this one (NYUAD Hackathon) that it's based on the results, I mean that your job is evaluated by your demo, there is not much talk and long speeches with theoretical aspects and business stuff and so on.. It's all about code, teamwork and vision. You have to have a great idea first, than you start working on small parts of it to ensure that you'll have something to demonstrate after three days. There is no need to a long speech and business plans and stuff without any product at the end.
Daniel (Laha team) doing the live demo ! 

5. Never give up:

Another thing I learnt from this Hackathon is that one should never give up when it comes to doing something that he loves. I have been with a team at the beginning than the organizers said that our team was too big so I changed the team, then, in the second day, we completely changed the idea.. I have to confess that at some moment I lost confidence, I was like : "what the hell is happening to me?" because time is moving on. So we decided to keep the two ideas and divided tasks, we wanted to incorporate a game inside our app, but in the third day we realized that it was not evident to port a windows phone 7 game to windows 8!  We decided then to create our own new game.. It was so stressful but it was really funny because the team I was with is the most awesome team I have ever been with!
From Left to right : Me (Algeria), Gautam (India), Dr. Moussa  (Jordan), Alaa (Egypt), Hassan (Abu Dhabi) and Mahmoud (Jordan).

6. Improve your English! You'll need it:

If there is one thing I could advise my peers in Algeria, is to learn and practice English. I am telling you that, because I personally found some difficulties especially at the first time, because here in Algeria we study in french so it's difficult for someone who has never talked in English before to express himself and his ideas with people that does not understand French. So, please, speak in English! Even if you think that you are very bad but just go on and try to practice it with your friends and everyone who can understand you.. or cannot! Because french is not going to help you outside France and some other countries but English is boundless, you can use it everywhere.. Trust me, Start today ! 

7. Don't be too serious! Have fun !

Throwing someone ! (not from the window !! :D)
Here is the list of all the projects! (4.)

Finally, I want to thank all of the organizers for making this opportunity happen in our region, we really need such initiatives! So let me thank prof. Sana' Odeh for the amazing efforts she did for us, all the mentors especially David Tomczyk and Arnaud Sahuguet for their precious help. Looking forward to seeing you again next year.
                                                                                   

Thursday, January 3, 2013

خطواتك الأولى مع أندرويد – الجزء الأوّل : تنصيب الأدوات


سعيا منا إلى إثراء المحتوى التقني العربي على شبكة الأنترنت، بدأنا( وليد و حليم) كتابة سلسلة من المقالات باللغة العربية بعنوان " خطوتك الأولى في التقنية" نسلط فيها الضوء في كل مرة على تقنية من التقنيات ، و كيفية إنشاء أول تطبيق (سنبدأ بالأحرى بتقنيات غوغل)

مرحبا بك في الحلقة الأولى من المُدخَل (Tutorial) عن تطوير تطبيقات أندرويد.
سأحاول في هذا الدرس أن أشرح لك كيفية إنجاز أوّل تطبيق أندرويد.

سنمرّ بعدّة مراحل, بدءا بتنصيب الأدوات اللازمة مرورا بإنشاء مشروع أندرويد جديد و تنفيذ أوّل نسخة للتطبيق.

أيضا, ستتعلم كيفية إنشاء واجهة بسيطة و تتعامل مع إدخالات المستخدم.

لكن قبل ذلك عليك أن تقوم ببعض الخطوات البسيطة لكي تكون جاهزا, ألا و هي:
1- تحميل الـ SDK الخاص بالأندرويد
2- تنصيب إضافة ADT لبرنامج Eclipse (سنستعمل Eclipse خلال كل مراحل هذا الدرس)
3- تحميل كامل أدوات و منصّات ال SDK باستعمال SDK Manager

هذا إن كنت تملك سابقا برنامج Eclipse أو ربما لا تملك إتصال جيّد بالأنترنت, أما في الحالتين الأخريين (سواءا لا تملك Eclipse أو تتوفر على إتصال جيد يسمح لك بتنزيل 399 ميغابايت) فإن غوغل قد قامت بنصف العمل عنك و قدّمت لك ما يسمّى بالـ ADT Bundle و هو عبارة عن ملف مضغوط يحتوي على كل ما سلف ذكره من SDK و ADT Plugin  و أيضا نسخة من Eclipse جاهزة للإستعمال الفوري و هذا ما سنعتمد عليه خلال باقي السلسلة.

كل ما عليك فعله هو التوجّه لهذا الرابط : http://developer.android.com/sdk/index.html
و الضغظ على هذا الزرّ : download sdk bundle

أمّا إذا كنت لا تريد تحميل كل ذلك (إن كنت تملك Eclipse) فيمكنك أن تحملّ فقط الـ SDK من نفس الرابط أعلاه بالنقر على هذا الزرّ:
 only sdk

نفس الشيئ إن كنت تستعمل نطام تشغيل آخر غير Windows, إن كنت تستعمل  MAC OS مثلا أو Linux فقُم بتحميل النسخة المناسبة لجهازك من خلال النقر هنا :
other platforms

بالطبع يجب عليك أن تتأكد من أن جهازك يحتوي على بعض الخصائص اللّازمة لكي تتمكن من بدأ التطوير مثلا لمستخدمي ال Windows يجب على الأقل نسخة Xp, Vista أو Windows 7.

أما فيما يخص Eclipse فيجب على الأقل نسخة Eclipse 3.6.2 - Helios أو أحدث (نسخة Eclipse 3.5 لم تعد موافقة مع آخر نسخة من ADT). هذا بدون أن ننسى JDK 6 - Java Development Kit الذي يمكنكم تحمبله من هنا.

هذا باختصار, أما إن أردت الإطِّلاع أكثر على مُستلزمات نظامك فعلى نفس الرابط أعلاه, أُنقر على الزرّ: System Requirements
requirements

عند الإنتهاء من التحميل اذهب إلى المجلد الذي حمّلتَ فيه الـ ADT Bundle و قم بفكّ الضغط في أي مجلّد تشاء كما في الصورة
extract
بعد ذلك افتح المجلّد adt-bundle-windows-x86_64/eclipse ثم انقر مرتين على eclipse.exe و أنت الآن جاهز تمام الجاهزية لتبدأ رحلتك في عالم تطوير تطبيقات الأندرويد.

لقد وصلنا إلى نهاية الجزء الأوّل من هذه السلسلة ألا و هو تنصيب البرامج و الأدوات اللازمة لتطوير تطبيقات أندرويد.

سأحاول أن أعطيك الوقت لتكون مستعدّا قبل أن نبدأ في الحلقة القادمة لندخل مباشرة في كيفية إنشاء مشروع و استخدام الـ Emulator فكما تعلم أنت لست بحاجة لأن تمتلك جهاز أندرويد لكي تُجرِّب تطبيقاتك بل سنستعمل 'المحاكي' الذي هو عبارة عن جهاز لكنه يظهر على الشّاشة و يسمح لك بعمل كل شيئ تقريبا يمكنك عمله على الجهاز باسثناء بعض الخصائص كالـ GPS مثلا أو Bluetooth فسنحاول في الحلقة القادمة من هذا المُدخل أن نقوم بكتابة الكود الذي يسمح لك بالتعامل مع المستخدم و ما يقوم بإدخاله باستعمال الجهاز.

إلا ذلك الحين حاول أن تُجَهِّز نفسك و لا تنسى أنَّ أساسيات لغة JAVA مطلوبة لكي تتمكّن من إنجاز أوّل تطبيق لكَ

أرجو أن أكون قد أفدتكم بهذا الجزء البسيط من السلسلة. كما يمكنكم و يُسعدني كثيرا إن أدليتم اقتراحاتكم و آراءكم في التعليقات على مدى استيعابكم لهذا الشرح أو عن الطريقة المُنتَهجة من قِبَلي.


ملاحظة: كل ما ذُكِرَ في هذا المُدخَل مصدره الموقع الرسمي لأندرويد.

Saturday, December 29, 2012

This blog, what and why?


I've been thinking about my first blog post since two days, what the hell should it be about? I had many ideas, but i realized that the best thing to talk about as a first Article is the reason of creating this blog and what will it be about; So could know whether it interests you or not.


Well, I always wanted to discuss and share ideas with other people and I'm actually doing it through social networks such as Google+, Facebook, Twitter, Skype and others. But the problem with these social networks is that the information that we write there is not easily found, easily linked to or searchable by other people, it remains in the website's servers but we can not benefit from it after some moments. Unlike blogs, who are generally 'public', 'searchable', 'relevant' and 'topics-oriented'. I’ve been inspired by Scott Hanselman’s blog post about blogging, he said: “Write a few blog posts a week, with useful content, consistently, for ten years. Then write some more”.

The other reason that motivates me to create this blog is my participation in two conferences last week about Arabic content on the internet, this first one was held in Laghouat on Dec 18th, the second one in Algiers on Dec 20th, both of them were celebrating the Arabic Web Days initiative. I talked during these two events about the State of the Arabic content on the WEB and i gave some solution to increase it, one of the solutions I gave was "Creating relevant blogs", I realized then that even me I do not have a blog, Shame on me you'd say !


IMG_20121220_094949473601_447872565271934_2088368213_o

To give you a quick view about what this blog is all about, mainly, I'm going to write about technical staff (informatics to be clear), an important part of them
will be in Arabic. Also, I will write about my personal projects like for example the story Halim and I are writing (في صحراء أُسياط). And of course I'll write
about our beloved group which is GDG Algiers (Google Developer Group Algiers) and its activities, highlighting the great experience we're having together.

I think this is enough for a first post, I hope this hasn't made you bored and thanks for your time, that's all. :)