سأصبح إنساناً أفضل “الآن”

في مكان ما داخل عقولنا توجد حاجة غريزية تجعلنا نربط رغابتنا في التغير للأفضل بأحداث زمانية، وغالباً ما يكون بداية العام الجديد هو الوقت الأفضل لذلك، هذا النوع من الربط بين بداية عام جديد و بين الرغبة في التحسن مشهور لدرجة أن الغرب يعرفونه بإسم New Year Resolutions ! و مشهور لدرجة أن الشيخ محمد الغزالي أشار إليه في بداية كتابه القيم “جدد حياتك”.

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

*مصدر الصورة

مشاريع تخرج مزعجة & خطوات عملية لمشروع متميز

الأسئلة الصعبة كثيرة جداً، واحد منها أن يتقدم لك أحدهم و يسألك: هل لديك أفكار لمشروع تخرج؟ نعم يا عزيزي لدي أفكار لمشاريع تخرج كثيرة لكن طالما أنك إبتدئتني بهذا السؤال فأنا أتوقع أنك لاتقدر على أحد منها ! آسف على الصراحة، لكنها الحقيقة !

في التدوينة السابقة تحدثت بشكل مبعثر عن بعض الأفكار التي تدور في رأسي حول مادة “مشروع التخرج”، و فضّلت أن أفرد تدوينة خاصة بمسألة إختيار فكرة المشروع لأهميتها و لكثرة السؤال عن هذا الجانب بالذات.

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

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

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

النوع الآخر من المشاريع التي تزعجني، أطلق عليها لقب “مشاريع المتفلسفين!“، حيث يأتي الطالب أو الطالبة و يقترح تطوير نظام لإكتشاف الأورام السرطانية (أعاذنا الله و إياكم) بإستخدام الخوارزمية الجينية (قصة حقيقية!)، أو نظام للتعرف على مشاعر الأطفال من خلال حركة عيونهم .. الخ من المشاريع العجيبة، هل تعرفون لماذا أعتبرهم متفلسفين؟ لأن سؤالهم التالي بعد مفاجئتك بمشروعهم القومي يكون: إيش أفضل لغة برمجة لهذا المشروع؟ وقتها، يمكنك أن تشد شعرك أو أن تمزق ثيابك من القهر. أستطيع أن أتفهم أن بعض المصطلحات التقنية، خصوصاً المرتبطة بمجال الذكاء الإصطناعي تشعر الإنسان بنشوة عجيبة، فخوازمية مثل Genetic Algorithm (الخوارزمية الجينية) أو الشبكات العصبية (Neural Networks) أو مجال مثل تعلم الآلة (Machine Learning) يمكن أن تصنع طبقات من الخيال العلمي في عقل المتلقي الغير مطّلع عليها، لكنها كذلك تخفي خلفها طبقات من التعقيد و تتطلب مستويات متقدمة من المعرفة و القدرة على التعلم الذاتي، لذلك عندما يسألني الشخص عن لغة البرمجة الأنسب بعدما يقترح مشروع من هذا النوع، فإني أرجح أنه لن يكون قادر على تعلم هذه الأمور بنفسه وأنه لم يقرأ عنها بما فيه الكفاية.

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

قواعد عامة لمشاريع التخرج

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

خطوات عملية للوصول إلى مشروع متميز

الخطوة الأولى: تحديد المسار لعام للمشروع
حتى تصل لفكرة مشروع متميزة، يجب أن تمر بعدة خطوات، الخطوة الأولى هي تحديد المسار العام للمشروع، و بشكل عام يوجد مسارين يمكنك إختيار احدهما:

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

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

الخطوة الثالثة: تحقيق التوازن
الآن و قد إخترت مساراً عاماً للمشروع و قرأت عنه، يجب أن تتأكد من تحقيق التوازن بحيث يكون المشروع في متناول اليد، فلا يكون ضخم جداً ولا هزيل جداً، و لا يكون مشروع بحثي معقد لا يمكن تنفيذه إلا بواسطة طالب دكتوراه، ولا يكون مشروع بسيط يمكن تنفيذه بواسطة شخص تعلم البرمجة قبل يومين.

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

الآن و قد مررت بهذه المراحل الثلاث أعتقد أنك جاهز لكتابة مقترح المشروع لمشرفك و مناقشتك إياه، ستكون لك اليد العليا لأنك قرأت عن الموضوع بطريقة متعمقة فتستطيع أن تتفاوض معه بطريقة مرضية لكليكما، و لأنك حققت التوازن في الخطوة الأخيرة فسيجد مشرفك حرجاً في طلب الكثير من الطلبات الخارجية.

خاطرة حول مشاريع التخرج لطلاب علوم الحاسب

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

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

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

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

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

المهارات التقنية واضحة، وهي قدرة الطالب على تنفيذ فكرة مشروعه و تقديم برنامج متكامل يغطي جوانب فكرته بشكل صحيح. هذه المهارة تشمل قدرة الطالب على تعلم كل مايحتاج تعلمه لتنفيذ مشروعه خلال الوقت المتاح له.

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

إذا تم إستثمار مادة “مشروع التخرج” بشكل جيد من قبل الطالب، فستكون بمثابة نافذة يرى من خلالها كيف تكون المشاريع الحقيقية، و يجرب بعض المشاكل التي يمكن أن تواجهه بعد الجامعة. شخصياً أرى مشروع التخرج بوابة لمن يريد أن يشعر بطعم المشاريع الريادية، و بوابة أيضاً لمن يريد أن يتذوق طعم القيام ببحث علمي.

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

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

أفكار عملية لمادة “مشروع التخرج”

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

طريقة آلية متميزة لإكتشاف مشاكل قابلية الإستخدام (Usability)

قرأت قبل ثلاث سنوات تقريباً بحث علمي نشره مجموعة من الباحثين من جامعة ستانفورد و شركة قوقل يتعلق بموضوع قابلية الإستخدام، حاز البحث وقتها على جائزة أفضل بحث علمي في واحده من أرقى المؤتمرات العلمية في مجال Human-Computer Interaction بل وفي مجال علوم الحاسب بشكل عام، شدني البحث لدرجة أنني لازلت أستشهد به و لازال عالق برأسي حتى الآن.

قابلية الإستخدام
“قابلية الإستخدام” هو مجال يجمع بين العلم و الفن، يقوم فيه المتخصصون بإختبار و تقييم تصاميم المواقع و واجهات البرامج لإكتشاف المشاكل التي يمكن أن يواجهها المستخدمين، الممارسين الحقيقين و أصحاب الخبرة في مجال قابلية الإستخدام يستخدمون عادة طرق منهجية منظمة لإجراء إختبارات قابلية الإستخدام ثبت بالتجارب العلمية أنها تؤدي إلى نتائج جيدة، لكن توجد أيضاً إختبارات بسيطة يمكن لغير المتخصص إتباعها للحصول على نتائج مرضية، الكاتب المبدع Steve Krug المتخصص في هذا المجال ألف كتابين الأول بعنوان Don’t Make Me Think و الآخر جديد نسبياً بعنوان Rocket Surgery Made Easy يشرحان و يقدمان بطريقة ميسرة خطوات يمكن إتباعها لإجراء إختبارات قابلية الإستخدام، و الأخ مشهور الدبيان يقدم محتوى عربي متميز عن هذا الموضوع في مدونة قابلية الإستخدام.

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

أبعاد الفكرة
رغم بساطة الفكرة إلا أن لها أبعاد واسعة يمكن أن تجرنا للتفكير في تصرفات أخرى يقوم بها المستخدمين عندما يواجهون أحد المشاكل، فمثلاً لو أننا تأكدنا (بطريقة آلية) أن المستخدم يعاني من مشكلة مع واجهة الإستخدما فقد نستطيع مساعدته أو تقديم تلميح بسيط له بطريقة لا تعيق مايقوم بتنفيذه (هذا مشابه نوعاً ما مع مايقوم به الباحثون في مجال Adaptive User Interface) هذا النوع من التفكير قد يقودك لفكرة مبتكرة تساعدك على إكتشاف مشاكل موقعك أو برنامجك بطريقة آلية، لكن يجب التنويه و التحذير من أنك يجب أن لاتتدخل و تعيق المستخدم بطريقة آلية إلا إذا كنت متأكد أنك تقوم بالشيء الصحيح، و حتى إذا كنت متأكد فلاتعيق المستخدم ولكن حاول مساعدته بطريقة مؤدبة.

إضافة “الرد على الكل في تويتر” لمتصفح كروم

قمت ببرمجة هذه الإضافة التي تساعد مستخدمي تويتر على الرد على أكثر من شخص بفعالية، يمكن تحميل الإضافة عن طريق موقعها http://rod.3600.ws. هذه الأداة تقوم بجمع كل الأشخاص الذين تقوم بإختيارهم في رد واحد، الفيديو التالي يشرح في دقيقة تقريباً كيفية استعمال الإضافة و كيفية تثبيتها:

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

مبرمج الألعاب Notch و القدرات الخارقة (سوبر مبرمج)

بالرغم من أن لعبة Minecraft تستخدم رسومات بسيطه تعطي إنطباع أنها بُرمجت قبل عشرين سنة. إلا أنها حققت أرباح تقدر بحوالي الأربعين مليون دولار، و كثيرين يجدونها لعبة يُدمَن عليها بسهولة. مبرمج هذه اللعبه شخص سويدي في الثلاثينات من عمره يدعى Notch، شخصيته لطيفة و له شعبية كبيرة بين محبي اللعبة و بين كثير من المبرمجين و يتفاعل بشكل جميل جداً مع متابعيه في تويتر.

قام Notch في أكثر من مرة بعمل بث حي لشاشته أثناء برمجته لبعض الألعاب، عندما رأيته يبرمج لأول مره تغيرت لدي كثير من القناعات حول “البرمجة بفعالية”. في أحد المرات، كان Notch مشارك في مسابقة لبرمجة لعبة خلال 48 ساعة، وأتذكر أنه واصل البرمجة لمدة يومين لم يتوقف خلالها إلا لسبعة ساعات تقريبا. إن أفضل وصف أجده لهذا الشخص هو: “المبرمج الخارق”.

هذا المبرمج الخارق لديه من الثقه بالنفس مايجعله يقوم ببث حي لشاشته أمام الآلاف من المبرمجين وهو يبرمج بعض الألعاب، ومن جرب برمجة الألعاب يعرف كيف أنها واحدة من أصعب أنواع البرمجيات و أكثرها تعقيدا.

هذا بعض ما لاحظته وأنا أشاهده يبرمج:

  • فترات تركيز طويلة:
    هذا من أبرز ما لاحظته أثناء متابعتي له خلال البث الحي، كان يقوم بالتركيز على البرمجة لفترات طويلة جدا لا يقطعها بمتابعة تويتر أو فيس بوك أو غيره، البعض علق و قال أن لديه شاشة ثانية يتصفح فيها، لكن الحقيقة حتى إن كانت لديه شاشه ثانية فهو يظل يركز على كتابة الأكواد دون إنقطاع أو تشتت.
  • لغة Java:
    كل المشاريع التي أعرفها لهذا المبرمج الخارق قام بتطويرها بلغة Java، هذا الأمر جعلني أعيد التفكير في بعض قناعاتي عن لغات البرمجة، نحن غالباً نبحث عن لغة البرمجة الأنسب، لكن Notch ببساطة اختار لغة البرمجة التي يجد نفسه أكثر احترافية فيها، أيضاً لم يركز على جعل اللعبة تستخدم Flash أو أي منصة أخرى بل ببساطة قام بنشرها كـ Java Applet، بالرغم من كل الإنتقادات التي يمكن أن تسمعها من أن Java Applet بطيئة و غير عملية و غيره.
  • أدوات تطوير بسيطة:
    بعض المبرمجين “القيكس جدا” يركزون عىل الأدوات البرمجية أكثر من البرمجة نفسها! أما Notch فقد كان يستخدم بيئة Eclipse بطريقة أشبه ما تكون بالبدائية، حتّى أن بعض الناس انتقدو عليه عدم استخدامه لكافه الإختصارات في Eclipse، لكن كان يعرف كيف ينجز وهذا هو المهم.
  • طرق إختبار سهلة:
    كان هذا المبرمج الخارق يبرمج دالة معينة ثم يقوم بتشغيل برنامجه و إيقافه عند نقطة ما (طريقة الـ Debugging المعروفة) ثم يستخدم آلية تسمى Hotswap تسمح له بتغير الكود الخاص بالدالة ثم إعادة تشغيلها مرة ثانية دون الحاجة لإعادة عمل كومبايل أو تشغيل لكامل البرنامج، لك أن تتخيل أهمية مثل هذه الآلية عند برمجة شيء معقد مثل الألعاب.

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

تحديث 1: هذا فيديو مسجل لبث حي قام به Notch أثناء برمجته لأحد الألعاب لمدة تجاوز الـ 12 ساعة:
http://www.twitch.tv/notch/b/293132744
المقطع يحتوي على موسيقى!

Paul Graham يتجلى في مقالة جديدة

Frighteningly Ambitious Startup Ideas

تحتار عندما تصف Paul Graham، فهو متخصص في علوم الكمبيوتر و مبرمج له بصمته، وهو مستثمر يقف خلف واحدة من أهم و أكبر شركات الإستثمار في مجال الإنترنت، Y Combinator الشركة التي كانت خلف الكثير من مشاريع الإنترنت المشهورة على رأسها Dropbox و Reddit، وفوق هذا و ذاك تجده صاحب قلم مميز، كتابته يظهر عليها بوضوح أثر خبرته العميقة و التي تتمحور عادة حول مواضيع ريادة الأعمال و التقنية و النصائح الحياتية الشخصية.

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

إذا كنت ريادي أعمال في مجال التقنية خصوصا فأنصحك أن تتابع كتابات Paul Graham، مقالاته ليست طويلة و غالبا تناقش مواضيع مهمة، كذلك الشخص يعتبر من أصحاب الرؤية المستقبلية الطموحة للتقنية و ستبهرك طريقته المميزة في تشجيع ريادي الأعمال على هز عروش الشركات الكبيرة مثل قوقل و آبل و هوليوود!

نقد موضوعي لطريقة التدريس في Khan Academy

Khan Academy: It’s Different This Time

في هذه المقالة الطويلة يناقش الكاتب بشكل موضوعي و ببعض التفصيل مشكلة طريقة التدريس المستخدمة في مواقع مثل Khan Academy و هو موقع تعليمي مشهور يحتوي على عدد ضخم جداً من الدروس في مجال الرياضيات و العلوم. ابتدأ الكاتب بالإشارة إلى أنه لايكاد يخلو حديث عن تطوير التعليم إلا و تذكر تجربة موقع Khan Academy، بينما في الحقيقة هي تجربة فاشلة و قد تكون من أكثر طرق التعليم خطورة هذه الأيام! تحدث الكاتب عن عدة مشاكل جانبية مثل أن معظم العاملين في Khan Academy هم من المبرمجين و المتخصصين في الكمبيوتر و ولايكاد يوجد فيهم متخصصين في التعليم، مشكلة أخرى وهي فكرة جمع النقاط للحصول على شارات كما في الألعاب (Gamification) وهو أمر لم يستسيغه الكاتب. لكن المشكلة الأساسية التي تركز عليها هذه المقالة هي أن موقع Khan Academy يتبع منهجيه في التعليم أثبت فشلها بحسب دراسات أجريت قديما.

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

مأساة مكتبة Library.nu الإلكترونية

The shutdown of library.nu

قبل أسبوع تقريبا أعلن المسؤول عن أحد أشهر المواقع التي كانت تقدم دليل للكتب الإلكترونية (Library.nu) عن إغلاق الموقع نظراً لضغوط قانونية من مجموعة من الناشرين، الموقع كان يحوي على قرابة النصف مليون كتاب، معظمها مقرصنة، كثيرين شبّهوا هذا الحدث بحادثة إحراق مكتبة الإسكندرية، و أنا أشبهها بحادثة إحراق مكتبة الإسكندرية و مكتبة بغداد و مكتبة قرطبة، الثلاثة مجتمعة، لا أشجع بأي حال من الأحوال على القرصنة ولا على الطريقة التي كان يعمل بها الموقع، لكني أشير إلى أن شركات النشر لازالت تفكّر بعقلية متحجرة لا تواكب متطلبات العصر.

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

وثيقة مشاركة الأفكار

الرابط الدائم لوثيقة مشاركة الأفكار

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

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