الأحد، 18 ديسمبر 2011

تسجيل محاضرات ثلاثاء عمان التقني

أحببت مشاركة تسجيلات المحاضرات التي ألقيتها في ثلاثاء عمان التقني , و أتقدم بالشكر للأخت هبة اللحام التي تفضلت بتسجيل المحاضرات و رفعها على حسابها في يوتيوب.

كيف تطور نفسك كمبرمج
إدارة النص المصدري 

الخميس، 8 ديسمبر 2011

مشاركتي في ثلاثاء عمان التقني

يوم الثلاثاء الماضي شرفتني المجموعة المنظمة لثلاثاء عمان التقني بأن أكون ضيفا في نسخة المبرمجين و لمعرفتي أن معظم الحاضرين سيكونون من طلاب الجامعات ، قدمت موضوعين مهمين للمبتدئين في عالم البرمجة الأول عن أنظمة إدارة النص المصدري و تحدثت تحديدا عن SVN و المحاضرة الأخرى كانت عن موضوع كتبت عنه سابقا و هو كيف تطور نفسك كمبرمج.

أما بالنسبة لإنطباعي عن  الحدث فقد كان جيد جدا بشكل عام فالحدث كانت سمته البرمجة وهي عالم واسع و فيها تقنيات متعددة و توقعت أن يأتي مبرمجين يستخدمون جميع التقنيات و مع الوقت المقدم و هو 20 دقيقية على موضوعين أثرت السلامة وتوجهت بمحاضراتي للطلاب الجامعات و حديثي التخرج أو العمل و هم السواد الأكبر بين الحضور و أشكر فريق المنظمين و على رأسهم دينا أبو خضر و فؤاد جيريس و باسم عقاد .

و أرفق شرائح العرض لمن أراد الرجوع لها.

الأحد، 18 سبتمبر 2011

إنطباعتي عن مؤتمر ما يكروسوفت الأخير و نظام ويندوز ٨

في السادس عشر من الشهر الحالي إنتهى مؤتمر مطوري مايكروسوفت الذي سمي بي BUILD و الذي يبدو أن مايكروسوفت كانت تعول علية الكثير لإنطلاقة أفضل و إعلاناً لمنتجاتٍ جديدة و أساليب مختلفة لبناء البرامج و منذ بداية المؤتمر حتى نهايته كان محوره الرئيسي نظام التشغيل القادم ويندوز ٨ !
لماذا ويندوز ٨ فمايكروسوفت لم تُحدث ضجة كهذه عند إطلاق و يندروز ٧ الجواب يكمن في الشيئين التاليين

  • الأول : واجهة مِترو و هي خلاصة إعادة بناء واجهة الويندوز من البداية بشكل يجعلها قابلة للإستخدام مع شاشات اللمس و الأجهزة اللوحية و أُعْتُمِد في بنائها بشكل كبير على أفكار و واجهات  Windows Phone 7 و التي لاقت استحساناً و اعجاباً معظم من جربها و اهتمت مايكروسوفت بجعل هذه الواجهة تعمل جنباً إلى جنب مع الواجهة التقليدية لويندوز.
  • الثاني : و هو طبقة برمجية جديدة لبناء التطبيقات لويندوز تدعى Windows Runtime , لقد كانت مايكروسوفت تعاني من التخبط في السنوات العشرة الماضية في إختيار منهجية مناسبة لبناء التطبيقات لويندوز فهي منذ إطلاق الدوت نت في عام ٢٠٠٠ أطلقت ٣ منهجيات لبناء التطبيقات لويندوز من ال Windows Forms مرورا بال Windows Presentation Foundation إلى ال Silver Light و كل منهجية منها كانت تعود بخيبة الأمل على المطورين إذ لم تقم مايكروسوفت بإستخدام هذه المكتبات لبناء التطبيقات في ويندوز أو أوفيس بل على العكس من ذلك إعتمدت دوما على الأخ الأكبر و التاريخ العريق C++ و صديقها العزيز سيد COM+  و ذلك لعدم قدرة هذه المنهجيات على بناء برامج سريعة بالشكل الكافي و يبدو أن هذا هدى مايكروسوفت لإجراء إصلاح ضروري على طبقة الدوال (api)التي يستخدمها المطورين للتواصل مع نظام التشغيل، و عندما عرضت مايكروسوفت أول تجربة لويندوز ٨ قبل عدة أشهر أثارت غضب المطوريين حينما ذكرت أنه يمكن إستخدام جافا سكربت و HTML5 و ال CSS لبناء التطبيقات ويندوز ٨ فقط و هو ما جعل كثير من المطورين يعتقد بأن مايكروسوفت تخلت عن تشغيل الدوت نت على نظام التشغيل لكن الأن بعد وضوح الأمر تبين أنك تستطيع أن تبني تطبيقاتك لويندوز بإستخدام مجموعة مختلفة من التقنيات بدئا من C++ و مرورا بدوت نت حتى جافا سكربت و HTML . حيث سهلت هذه الطبقة الجديدة مناداة الدوال المختلفة لنظام التشغيل بدون صعوبة كما كنا نواجهة صعوبة كبيرة في هذا بالسابق.
بالإضافة إلى هذين الشيئين الرئيسيين هناك المئات من التحسينات الأخرى في كافة الجوانب و حتي في زمن الإقلاع ، ويبدو أن مايكروسوفت بهذه المؤتمر نجحت في إعادة البريق لنظام ويندوز بعد عقد من الرتابة فردود الفعل على واجهة مترو كانت رائعة و جميله أحدهم قال "لأول مرة تكون مايكوسوفت أنيقة و متألقة في مؤتمرها ، إنني أشعر أنني أتابع مؤتمراً لشركة أبل" و مقال موقع Gizmodo الذي عنون ب"إذا كرهت مترو فأنت لا تحب التقنية" و أتمنى أن يبقى هذا الشعور الإيجابي لما بعد إطلاق ويندوز ٨ المتوقع في نهاية ٢٠١٢.

و الأن من جرب منكم نسخة المطورين؟ و كيف أنطباعاتكم عنها؟.


الخميس، 25 أغسطس 2011

بودكاست لريادي الأعمال

أحد الأشياء التي تعلمتها من صديقي عماد العشي هي عادة ملئ فترات قيادة السيارة بالإستماع لبرامج البودكاست المختلفة فأصبحت أحرص دائما على أن أملئ جهاز الأيفون بأخر الحلقات من برامج البودكاست المتنوعة التي أتابعها كي أستمع لها خلال وقت القيادة من المنزل إلى العمل وهي رحلة قد تأخذ مني من 25 دقيقة إلى 40 دقيقة.

 و مؤخرا بْتُ مهتماً بنوع خاص من ريادة الأعمال هو كيفية بناء الخدمات الممولة ذاتياً، أي المشاريع التي يعتمد مؤسسيها على الدخل الذي يكسبونه منها لتطويرها و تنميتها لا على التمويل من المستثمرين وشركات الإستثمار المخاطر و هناك الكثير من هذه المواقع و الشركات مثل 37signals.com و github.com و غيرها التي قامت بهذه الطريقة و لم يقبلوا بإستثمارت حتى هذه اللحظة. لذلك أحببت أن أشاركم الفكرة و أسماء البرامج التي أتابعها.
  • Startup for the rest of us : يقدم هذا البرنامج كل من مايك تابر و روب والينج  اللذين يملكان من الخبرة مع بعضهما أكثر من عشرين عاماً كلاهما يمتلك عده خدمات على الويب إما أنهم طوراها بأيديهما أو إشتروها من أشخاص أخرين و هما في هذا البرنامج ينقلان خبرتهما و فلسفتهما القائمة على تنمية المشاريع المختلفة بدون الحاجة لتمويل من مستثمري مشاريع الويب المغامرين مع الأخذ بالعلم أنهما أنشئا أكادمية لتعليم طريقتهما بالعمل و نشر أفكارهما تدعى Micropreneur Academy  ، طبعا و الفضل يعود لصديقي عماد العشي الذي عرفني على هذا البرنامج.
  • 37Signals Podcast : شركة 37signals بدأت بشراكة بين جيسون فريد هذا العصامي المتفرد من نوعة و ديفيد هاينماير المبرمج المتميز و نتج عن هذه الشركة إحدى أسرع و أفضل بيئات تطوير الويب إنتشاراً وهي روبي أون ريلز و التي أستخدموها في بناء بعض التطبيقات التي يستخدمها مئات الألآف حول العالم لإدارة مشاريعم والتواصل مع موظفيهم و عملائهم، و في هذا البرنامج يعرضان أفكارهم المختلفة الغير تقليدية و التي قاما بتأليف كتابين حولها و هما كتابي Getting Real و كتاب Rework.
و أتمنى أن تستفيدوا من هذه البرامج كما أستفد منها.



الاثنين، 8 أغسطس 2011

شواغر للعمل في الإبداع العربي


مؤخرا قمت و صديق لي بتأسيس شركة في الأردن إسمها الإبداع العربي و نحن نبحث الأن عن شابين حديثين التخرج للإنضمام لفريق العمل يجب أن تتوافر لدى الشباب المهارات التالية
  • القدرة على حل المشاكل و التفكير المنطقي.
  • إتقان مبادئ البرمجة الأساسية.
  • الإلمام بمبادئ البرمجة الكائنية التوجة OOP.
  • المعرفة بالدوت نت تعطي أفضلية بالتوظيف.
  • المعرفة ببرمجة الأيفون تعطي أفضلية بالتوظيف.
 علماً أن من يجتاز المقابلة سيخضع لفترة تجربة وتدريب لمدة ثلاثة أشهر.
فعلى من يرى بنفسه القدرة إرسال سيرتة الذاتية على العنوان التالي omar.qadan[YouKnowWhat]gmail.com


الأحد، 7 أغسطس 2011

التدوين المصغر ومشكلة سيل المعلومات

التدوين المصغر أو ما يدعى بالإنجليزية بال Microblogging يشهد إنتشارا مضطردا مع إنتشار نكهاته المختلفة من تويتر إلى فيسبوك و تمبلر و اللاعب الجديد Google +  وما هي إلا أيام قليلة بعد إستخدام إحدى هذه المنصات إلا و تكتشف كم المعلومات الكبير الذي لا تحتاج قرائته أو لا يدخل في حيز إهتمامك و لكن بسبب أسلوب المصادقة أو الإتباع أو اللحاق فأنت مجبر على قرائته أو المرور على كل ما تجود به قريحة من تتابعهم مع أنك قد تكون مهتم بجزء بسيط مما ينشره.

 سيقول أحدهم أن فكرة الدوائر في Google+ أو القوائم في فيسبوك تحل المشلكة إذ تقوم أنت بتصنيف الناس حسب ما تتوقع أنت!! و أعتقد أنكم إكتشفتم الخلل من الجملة السابقة فأنت من ستقوم بالتصنيف عدا حقيقة أن تدويناتك المصغرة لن تصبح عامة إذا أردت ذلك فهي ستكون فقط للدوائر. 

أتخيل الحل الموجود في منصات التدوين العادية و هي التصنيفات الكثير سيقول و لكنها موجودة من خلال الوسوم (Tags) و الحقيقية أن هذه وسيلة غير فعالة ، ما أريده هو كالتالي أن أكتب تدوينيتي المصغرة و أعين تصنيف تقنية لها عندها سيستقبلها كل من يتبع وسم التقنية لدي و هذا يعني سيكون للمستخدم الحرية في أن يتبعني فيستقبل كل ما يصدر عني أو أن يتبع التصنيفات لدي فيستقبل كل ما أكتبه تحتها و أزعم أنه لا يوجد أي منصة تدوين مصغر تدعم هذا الأسلوب.

الثلاثاء، 2 أغسطس 2011

حلقة جديدة من دوت نت عربي

قام أخي عماد العشي بنشر الحلقة ٢١ من دوت نت عربي و التي يستضيف فيها الرائع محمد المليجي ليتكلم عن distributed source controls مثل git و mercurial و أنصح بالإستماع لهذه الحلقة حتى من مستخدمي التقنيات الأخرى (غير دوت نت ) لأنهم سيجدون فائدة فيها إن شاء الله.

الاثنين، 1 أغسطس 2011

أي تقنية أستخدم لأبني تطبيقي



في الأسبوع الماضي سألني صديق عن كيفية إختيار التقنية التي سأستخدمها لبناء خدمة أو موقع على الشبكة العنكبوتية (الويب) ؟ والحقيقة أن لا أحد يستطيع إعطائك الجواب الشافي، لكنّي في هذه المقالة أحببت أن أُلقي الضوء على بعض العوامل التي قد تؤثر بإختيار التقنية المناسبة .
  • المتطلبات التقنية : مثل عدد الزوار و حجم البيانات المتوقع تبادلها عبر الشبكة  و حجم البيانات المتوقع تخزينها والتعامل معها و مدى سهولة أو تعقيد بُنية هذه البيانات ، و من الطبيعي في هذه الحالة أن تُفضل تقنية على أخرى لأن بعض التقنيات تجعل من السهولة بمكان أن تعالج و تجد الحلول لبعض هذه المشكلات.
  • الكلفة : هل تتوقع أن يُدر المشروع دخلاً ؟ و متى ؟ و إذا كان كذلك هل أنت مستعد للدفع لقاء التقنية التي ستستخدمها؟ و ما نسبة ما أنت مستعد لدفعة مقابل إستخدامها؟ تلك الأسئلة جميعُها يجب أن تجيب عليها خلال فترة إختيار التقنية.
  • توفر الموارد البشرية: فمهارات فريق العمل و ما هو قادر علية و ماهي التقنية التي لدية خبرة بخفاياها ربما يكون من الأشياء الضرورية جداً و أحياناً يكون العامل الأهم ذلك أن كلفة تدريب فريق من المتخصصين ستكون عالية جداً عدا عن الفرق في الأجور لأنك إن إخترت تقنية غير رائجة ستدفع مزيداً من الأجور ليقبل المختصين العمل بهذه التقنية. 
و أنا حاليا أقوم بدراسة لبناء خدمة معينة و الخيارات المطروحة أمامي كالتالي 
  • تقنيات دوت نت.
  • تقنيات جافا.
  • تقنيات المصادر المفتوحة بإستخدام روبي أو بايثون.
  • تقنيات مفتوحة بإستخدام بي أتش بي.
بالنسبة لي أستثني بي أتش بي دوما من النقاش ! ليس لأنها ليست جيدة و لكن لأن كثير من تقنياتها طورت عبر شركة زند والتي هي شركة إسرائيلية بالكامل . و أنا هنا لا أقول أن الشركات الأخرى نقية لكنني عندي هذه القناعة وأنا متمسك بها سموها ما شئتم و هذا ما أنا مقتنع به. و دعنا نطبق الثلاثة معاير على الثلاثة تقنيات الأخرى.

  • المتطلبات التقنية : الثلاث تقنيات تمتلك القدرات الكافية لبناء التطبيق الذي أريد فأنا لا أتوقع الوصول إلى أكثز من  ١٠٠ ألف مستخدم خلال السنوات الثلاث أو الأربع سنوات التالية.
  • نأتي للكلفة : في حالة الجافا بإمكانك التطوير بأدوات مجانية لكنني أحتاج لخبراء في اللينكس و الخادمات الخاصة بالجافا لأني لا أعرف شيئاً عنها ، أما في المصادر المفتوحة فهي مجانية و يفضل إختيار تقنية مجتمعها كبير و ضخم كي لا تحتاج دعما مدفوعا ، و في حالة الدوت نت فمايكروسوفت تقدم لك حسابا للشركة أو حساب مطور يقدم لك مجموعة ضخمة من البرامج و أدوات التطوير مع الدعم مجاناً لمدة ثلاث سنين بعد ذلك أنت بحاجة إلى دفع حساب msdn بالإضافة إلى كلفة بيئة تشغيل الخدمة أو بإمكانك إستخدام مكتبة ASP.Net MVC المفتوحة المصدر و أدوات mono develop و عندها تستطيع تشغيل دوت نت على لينكس و هناك مشرع ناجح عمل بهذه الطريقة و هي ماي سبيس.
  • الموارد البشرية : و هنا أنا أتكلم عن الوضع في الأردن و نسبة الدخول بين هذه المجتمعات في كل من الجافا و المصادر المفتوحة هناك عدد أقل من التقنيين و بالتالي فمعدل دخولهم أكبر نسبيا أما في حالة الدوت نت فأنت تستطيع الحصول على تقنين بكافة المستويات بدئا من طلاب الجامعات حتى المتقدميين في الخبره فعددهم أكبر نسبيا من التقنيات الأخرى بالأردن. 
النتيجة سأحتاج لحساب الكلفة بعد ثلاث سنوات المجانية في حال أخترت تقنيات مايكروسوفت المدفوعة و إن كنت أرى أن الأفضل بهذه الحاله إستخدام mono وتشغيل برنامج الدوت نت على لينوكس  



الثلاثاء، 7 يونيو 2011

حلقة دوت نت عربي رقم ١٩

صديقي العزيز عماد العشي أجرى مقابلةً معي في الأسبوع الماضي ببرنامجه دوت نت عربي  حيث تكلمتُ فيها عن المستجدات  في بيئة الدوت نت بشكل عام. تجدون الحلقة على الرابط التالي و لمن لدية إستفسارات أرجوا طرحها هنا لأن عماد لم يُضْف هذه الميزة لموقعة بَعد 

الاثنين، 16 مايو 2011

إدارة المكتبات البرمجية NuGet

ربما إحدى أهم المميزات التي تعجب المطورين الذين يستكشفون عالم لغة روبي هي عملية إدارة المكتبات البرمجية في نظامك فهناك ما يسمى بال Gem وهي  كال package في جافا أو DLL في الدوت نت حيث هناك موقع واحد يحتوي أحدث المكتبات التي تحتاجها وهو يدار من قبل مجتمع مطوريي روبي و هو موجود على هذا الموقع http://rubygems.org/.

nuget-229x64

لذا حاول الكثيرين نقل هذه التجربة لعالم دوت نت و كان هناك مشروع مثل HornGet الذي كتبت عنه في مدونتي الإنجليزية آو مشروع آوبن راب OpenWrap و مشروع نو Nu وهذا الأخير كان نال إعجاب العديد من مطوري الدوت نت لذا قامت مايكروسوفت بتوظيف الفريق القائم على المشروع و وضع المشروع تحت مظلة CodePlex.org و تم إعادة تسميتة بعد الإطلاق ب Nu Get.

إذا نو قيت هو ببساطة مجمع للمكتبات البرمجية المختلفة التي يحتاجه مبرمج الدوت نت من مكتبات مفتوحة المصدر وغيرها حيث تحصل على أخر تحديث من النسخة التي تريدها و بنقرات أو أوامر بسيطة تحصل عليها و تتخلص من عناء البحث عليها في الإنترنت و تنزيلها من مختلف المواقع.

كيف يعمل NUGET

  • قم بزيارة الموقع التالي http://nuget.org/ و إضغط على هذا الزر installnugetسيقوم يتحميل إضافة تعمل على أ نسخة من الفيجوال ستديو 2011
  • الأن قم بإنشاء مشروع جديد من File=> New => Project  و إختر Console Application و إختر الإعدادات كما يلي.nuget1
  • تم من Solution Explorer تقوم بإختيار المشروع الذي أتشأته و تختار Add Library Package Reference كما يلي .nuget2
  • فيخرج لك الصندوق التالي إختر Online من يسار الصندوق ثم إبحث عن المكتبة التي تريدها تم إضغط Install فسيتم إضافة المكتبة في ال Referances الخاصة بمشروعك وكمثال أنا قمت بإضافة NLog أداة تعقب سير عمل البرنامج المعروفة.nuget3
  • الطريقة الأخرى لتنزيل المكتبة هو بالذهاب إلى View => Other Windows => package manager console فستظهر لك نافذة بأسفل الفيجوال ستديو و هي سطر أوامر للتعامل مع NuGet كما في الشكل التالي.nuget4

هكذا هو سطر الأوامر وهو يوفر طريقة أسهل لمن يفضلون سطر الأوامر حيث يتضمن ميزة إكمال الأوامر عندما تنقر علر زر Tap في الكيبورد.

image

وفي نهاية المقال أثني على هذا الجهد الجميل من مايكروسوفت لجعل الفيجوال ستديو البيئة الأفضل والأمثل للمبرمجين.

السبت، 30 أبريل 2011

طوال الإحدى عشرة سنة الماضية كنت مستخدماً لنظام التشغيل ويندوز في كل مرة كنت أحاول الإنتقال منه كنت أرتطم بصعوبات معينة -و الحقيقة أني لا أستطيع تركة لأني أبرمج لبيئة ويندوز بشكل عام- كنت سابقا أحاول التحول إلى نظام لينكس لكن أخرج من كل محاولة مدحورا خائباً، حتى جاء نظام أبنتو و الذي قدم شيئا معقولاً يمكن إستخدامه.


 أنا كمستخدم ويندوز أتوقع أن أصل إلى كل شئ أريده عبر نقرات بالفأرة لا أن أكون هاكرا و أفتح سطر الأوامر لأكتب تعويذاتي عليه كي أقوم بمهام بسيطة.
مصدر الصورة

ثم دار علي الزمان و أقنتنيت جهاز ماك بوك برو Mac Book Pro و هو يعمل بنظام MAC OS X، لأكون منصفا فالجهاز ورائع و القدرات الرسومية في نظام تشغيلة أكثر من قوية ورائعة وهو مالا يستطيع أن ينكره أحد لكن عندما أعمل على جهازي لا أريد أن يوقفني نظام التشغيل عن مل أي شئ أذا كنت تقتني جهاز يعمل علية ماك أو أس ستعرف ما أقصده .

اليوم مثلا كنت أريد أن أعيد تسمية ملف قمت بتحميله من الإنترنت تتفاجئ أنك لن تجد أمر إعادة تسمية في قائمة أوامر النقرة اليمين من الماوس و لا يوجد هذا الأمر في برنامج فايندر Finder و هو الشبية بمستكشف ويندوز  Windows Explorer !! فماذا سأفعل ؟ بحثت فوجدت طريقة لعمل ذلك في هذه التدوينة لكنها لم تعمل معي لكني أستفتد من التعليقات التي قالت أن كل ما تريد هو إختيار الملف المراد إعادة تسميته ثم أضغط زر الرجوع Enter كي تتمكن من إعادة تسميته.

 ومثال أخر قم بالضغط على زر + الموجود في أعلى أي برنامج أتوقع أنا أن يملئ البرنامج الشاشة وهذا ما لا يحدث ! فبحثت كيف أستطيع أن أحصل على هذا فكان يجب أن أعدل هذه الإعدادات عبر سطر الأوامر !! أو أن تنصب برنامجاً ليقوم لك بذلك .


حقا أريد أن أفهم لما السير في عكس أساليب الإستخدام في ربما ٨٠ ٪ من برامج العالم ؟!!

يبدو أن رحلتي معه ستكون مؤلمة بلا شك :s 

الأحد، 20 فبراير 2011

ضبط جودة البرمجيات من دوت نت عربي

بالأمس و انا في رحلة العودة إلى المنزل إستمعت لأخر حلقة من دوت نت عربي , كانت الحلقة عن ضمان جودة البرمجيات و المقابلة كانت مع فارس صويص و الذي يعمل في شركة  telerik الشهيرة , الحلقة كانت أكثر من رائعة وممتعة و أنصح الجميع حتى ممن يتخدمون تقنيات أخرى غير الدوت نت أن يستمعوا لها.

ملاحظة: أخيرا و بعد طول إنتظار دوت نت عربي على أي تيونز حتى تستطيع مزامنة مع الأيفون و الأي بود و الأي باد و هو موجود على هذا الرابط .