الاثنين، 12 مارس 2012

نقد تفصيلي لفيديو "انكسار الضوء"، إنتاج تحرير اكاديمي

مقدمة

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

بعض المبدعين يحاول اصلا التخلص من الاعتماد على الرموز في التعليم، مثل مشروع Kill Math لكن هذه "ثورة" لم تحدث بعد ولم تظهر ملامحها. نحن مازلنا نتكلم عن العلم بصورته التقليدية مع تبصير بالعين للظواهر قيد المناقشة.

هنا يكون المعيار الأساسي بالنسبة لي في الفيديوهات التعليمية هو: هل نرى الظاهرة التي تمثلها القوانين؟ وبالنسبة لهذا الفيديو الجديد من تحرير اكاديمي فإن الإجابة عندي هي: لا.

أين رسم الظاهرة؟

إن كانت هناك سمة عامة تميز الفيديو، فهو ان رسوماته جميلة جداً، لكنه يرسم كل شيء إلا الظاهرة العلمية التي يشرحها.

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

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

يبدو كأن مخرج الفيديو يعترف للجمهور بشيء؛ كأنه يقول "انا لم ارسم الظاهرة الحقيقية ورسمت شيئاً آخر بدلا منها، ولكن على الاقل اخبرت الجمهور ان الرسمة ليست هي الظاهرة الحقيقية!".

كيف نصلح الفيديوهات؟

لكي يكون نقدي بناء، سأقدم ما اراه تحليل لسبب المشكلة مع اقتراح لحلها: اعتقد ان السبب - في رأيي - ان فريق الفيديو مكون فقط من الgraphic designers، وربما فيه مدرسون، لكن ليس فيه كثير من العلماء-- فلذلك نرى الرسامين يعتمدون على ما تقدمه لهم مواهبهم الطبيعية: الديناصورات...الخ.

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

الكل يعرف فيلم Wall-E، أليس كذلك؟ جزء كبير من الفيلم يحدث في الفضاء وانعدام الجاذبية...الخ، ولتحقيق هذا الهدف يعرف منتجوه شيئاً عن فيزياء الحركة في بيئة عدم جاذبية، واخذوا من طبيب فكرة تضاؤل العظم البشري في بيئة microgravity، واستعانوا بخبراء اضاءة من اجل styles معينة لانعكاس وانكسار الضوء، واستعانوا بمصمم الiPod ليحكم فعلا هل شكل الروبوت EVE "مستقبلي" أم لا، وبنوا الموضوع فعلاً على أساس علمي. لقد قرأت الجزء الخاص بإنتاج هذا الفيلم منذ يومين على الويكيبديا، وبصراحة تعلمت منه الكثير عن دور العلم والdesign في الإنتاج الفني.

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

الاطفال اذكى مننا كلنا اصلاً. حتى ذوي السنوات الخمسة :)

الأحد، 11 مارس 2012

الأجهزة الالكترونية المبرمجة وتطوير التعليم

تكلمت قبل ذلك عن تعليم الاطفال البرمجة والتفكير الحوسبي وتطوير المدارس بطرق ابداعية. الآن سأتكلم عن افكار مرتبطة بالhardware وليس مجرد البرمجة. كي لا يغضب عشاق الembedded systems أو هندسة ;)

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

المقال هذه المرة لم ابذل فيه مجهوداً كبيراً بقدر ما هو تجميع لمشاريع موجودة بالفعل...

الصانع الآلي (Makerbot)

هذا المشروع عبارة عن جهاز تكوين ثلاثي الأبعاد 3d printer، أي تصمم النماذج وهو يشكلها امامك من البلاستيك. تخيل نفسك تصمم اللعب مع اطفالك ثم تنتجها فوراً! أو حصة "رسم ثلاثي الأبعاد" في المدرسة، أو حصة اختراع، أو...أو...

فطيرة التوت (Raspberry Pi)

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

هناك فكرة ان الطالب ينبغي ألا يتعلم إلا البرامج التي سيعمل عليها حين يكبر (يعني excel, word...)..هذا تفكير قصير المدى؛ انت لا تعلّم الطفل كيف يقرأ البطاقة الضريبية...أنت تعلمه كيف يقرأ! ثم بعد ذلك يطبق معرفته على كل مجال موجود أو حتى لم يخترع بعد. اعتقد ان مثل هذا الجهاز خطوة جيدة في العودة لفكرة الكمبيوتر المنزلي المتاح للجميع. اعتقد ايضاً اننا ينبغي ان نبدأ بفكرة Raspberry ونطور فيها بشدة ولا نكتفي بالموجود! تخيل كمبيوترات رخيصة ذات كاميرا أو دوائر صوتية أو تشبيك WiFi أو...أو...

لا تفكر في الهاردوير فقط، بل الأهم أن تفكر في التطبيقات: بوجود هذه الدوائر ماذا سيتمكن الطفل المبدع أن يفعل؟ تخيل الطفل يمسك الكمبيوتر في يده كأنه مسدس (وهو كمبيوتر صغير ورخيص) ويستخدم الدائرة التليفزيونية ليراجع البرنامج تصويب الهدف على "الأعداء"...الآن تخيل هذه النوعية من اللعب وقد صممها الطفل بنفسه بوجود حاسوب رخيص بكاميرا + مكتبة معالجة صور قوية سهلة الاستخدام..

الأفكار في هذا المجال تكتب نفسها أصلاً...فقط تخيل!

حركات Kinect

نحن نعرف جهاز Kinect الذي يعمل على الX-box، ويرصد حركات يد، جسم، وجه...المستخدم ليتحكم بهم في اللعبة. الذي قد لا يعرفه الجميع هو انه هناك تيار لاستخدام الكينكت في التعليم التفاعلي وهذا موقعها.

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

البرمجة للأطفال مع الاجهزة: سكراتش.

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

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

س = سيارة جديد
س: اتصل.بالجهاز( )
س: تحرك.امام(5)
س: انعطف.يمين(18)

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

...ثم حين يكبرون يصممون السيارة التي تقود نفسها :)


خاتمة

لا أريد أن يكون هذا مجرد مقال، بل أريده نداءً: الوطن العربي لا يخلو من المبرمجين والمهندسين وهواة الالكترونيات والembedded systems ومطوري التعليم المبدعين..

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

السبت، 10 مارس 2012

سنوات قطر - مصر التي لم أرها

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

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

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

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

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

(أشعر ان هذه القصة العامة مازالت موجودة في الافلام المصرية المعاصرة..لكني لا اشاهد افلاما مصرية لأتأكد).

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

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

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

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

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

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

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

نعود إلى ذكرياتي في قطر...

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

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

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

شيء آخر - قام امير قطر (خليفة بن حمد وقتها) بزيارة لمصر، والصحفيين المصريين يسألوه عن كل شيء، ثم سألته احدى الصحفيات "هل هناك مساعدات ستقدمها قطر لمصر؟ مساعدات سياسية، مساعدات كذا، مساعدات مالية؟"

(كانت الصحفية تتحدث صوتيا لكن كلمة "مساعدات مالية" كانت مكتوبة بالخط الثقيل مثلما كتبتها أعلاه، صدق او لا تصدق)

نظر الشيخ خليفة اليها نظرة تقول "من علم هذه مهنة الصحافة؟؟؟" ثم رد رداً دبلوماسياً لا اذكره على غرار "من الطبيعي ان تتحدث الدول عن التعاون الاقتصادي أو ان تعاون الدول بعضها عند الضرورة". كان يتكلم بعصبية لأن السؤال فعلاً....!!

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

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

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

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

كفانا حديثاً عن السياسة. ربما في الجزء القادم اتحدث عن مدرستي في قطر مرة اخرى أو شيء :)

الجمعة، 9 مارس 2012

All about pointers: part 2

So now you learned pointers from part 1, right? What can we now do with them?

Well, we can use pointers in two ways:
1- As an abstraction over variables.
2- As just a memory location.

Abstraction over variables

Normal variables let us abstract over values; meaning "do something with x whatever value it has". Well, pointers let us store variables in variables, so to speak, and thus abstract over them.

For example, there is no pass by reference in C, but we can emulate it with pointers:

void readInt(int *x) {
cin >> *x;
}
main() {
int t;
readInt(&t);
}

The function main is passing the location &t (by value) to readInt. When readInt modifies *x, this means "go to the address stored in x, and in that address, store whatever comes from cin >>". This modifies the value of t; which is what we wanted.

This pass-by-value works for anything that has a memory location; not just simple variables:

main() {
Point p;
readInt(&(p.x));
}

This will take the address where p.x is stored, and pass it to readInt; so it will be the address where readInt will write.

Is there another use of 'abstraction over variables' other than pass by reference? Well, this depends on your imagination. We can do things like this:

void getAge( ) {
int x = 8;
dialog.scrollBox1.setBinding(&x);
showDialog( );
cout << x;
}

Here we can imagine the setBinding function storing a pointer to an integer (pointing to x in the example) and whenever the user slides the scroll bar, the content of the address stored in the pointer is changed. Therefore after the showDialog function ends we find the value of x automatically reflecting the scroll bar position. It is as if we passed the variable itself as an argument to the setBinding function.

Pointers as memory locations

We can also treat a pointer as just a location in memory, not associated with a named variable that already exists. This is helpful in situations like:

1- Dynamic memory.
2- Reading and writing buffers.
3- Accessing hardware devices.

Dynamic memory:

Local variables in functions are automatic variables; the size needed for each function's vars is calculated at compile time and space for all vars is allocated at function call, deallocated at function exit. This is useful for most programs but sometimes we want full control of memory allocation at runtime:
- Perhaps we have an array with non-fixed size.
- Perhaps we're using a linked list; where memory must be allocated only when we need to add to the list.
- Perhaps we're creating an interpreter for our own programming language, where the user's program will allocate memory.

In all cases, memory allocation takes a form like this
myPointer = malloc(memSize);
or
myPointer = new type;
or
myPointer = new type[numElements];

...and I can access the content of the pointer normally with *myPointer = xyz;

We are here using the pointer to store the address of a hypothetical variable that wasn't declared in the code. A 'run-time' variable if we may say. And since they need not be declared at compile time we can have as many of them as we wish and at the time we wish.

I think this has a theoretical aspect; and relates to theory of computation: think of turing machine and the infinite tape that gives them their computational power; and of finite state automatons and the finiteness of their states, as if they were 'compile time' memory :)

anyway...

Reading and writing buffers

Think of the fread function in C:

main() {
Point p1;
fread(&p1,myFile, sizeof(Point));
}

Here the fread function doesn't care if it's reading a point or not: all it needs is a memory location and the number of bytes to read, and it will fill that memory with data from the file. Here the pointer is treated purely as an address.

Accessing hardware devices.

In the good old days of DOS, you could do stuff like this:

// note: just a sample value
#define START_OF_VIDEO_MEMORY 0xA000

main() {
char *v = START_OF_VIDEO_MEMORY;
*(v + 5) = 60;
}

This would write the value 60 at five bytes after the start address of video memory. With code like this a developer could write directly to the video card; do tricks, make fast games....etc.

In modern operating systems this is impossible due to virtual memory. In a system like 32-bit Windows each program sees memory as 4GB all of it available to itself. The operating system does a lot of work to keep programs from taking each others' memory and keep each program thinking it owns all memory on the machine. This means that the address 0xA000 no longer means anything special; it's just a part of the virtual address space that could be valid or invalid for the running process (if it's valid, writing to it will change some unknown part of your program; if invalid your program will crash).

This leads to things like DirectX...etc to make game programming faster on Windows; but does that mean pointers for direct access are no longer useful?

Well, sometimes they're still useful. For example some hardware devices (sensors, robot controllers...) will take the virtual memory system to their advantage; the device's driver will map some memory on the device itself to memory in your program! This means you can use pointers to read or write directly to the device memory. It usually goes like this:

#include "sensor.h"
main() {
char * p = sensor_map_memory( "mySensorDeviceName");
// do what you want with p...
sensor_unmap_memory(p);
}

We've taken a nice journey now, and saw why C has a reputation for being suitable for low-level code; took a look into abstraction and dynamic memory, and hopefully understood pointers at a deeper level. I hope you liked the article!

All about pointers

Everyone, including myself, thought at some time that pointers are some complex, difficult-to-understand feature of C. It's much simpler than you think. You just need to know how the hardware & the C compiler deal with variables.

In C, all data are basically bytes: a char is 1 byte, an int is four bytes, a pointer is four or eight bytes...etc. The difference is what those bytes mean.

Also, during compilation variable names are replaced by numbers. So when your program is being compiled the variable 'x' is replace by (say) 1000. And this number refers to a location in memory.

Let's say your C program is this:

main()
{
int x, y;
x = 5;
y = x;
y++;
}

The compiler will choose an address for each variable (say address of x is 1000, address of y is 1100) and replace all your variable names with these addresses. The machine code generated from the compiler would be like this, in the form of instructions to the CPU:

put 5 into address 1000
read content of address 1000 & put a copy of this content into address 1100
increment the content of address 1100

But those addresses are invisible to us the programmer; we cannot see the 1000, we see only x, right? Well, being a powerful language, C allows us to peek behind the scenes and play with the addresses themselves. This is done via the 'addressOf' operator, also known as &

if I add to the above program
z = &x
it will mean the following (assuming Z is in address 1200):
put the address 1000 in the content of the address 1200

Do you notice a difference? We did not say "read the content of address ....", we directly said "put the address....". This is basically what pointers are: addresses.

The type of z would be a "pointer to int", which means "you know those int variables? I want to store their addresses, not their content". Notice that for int, float, char....etc all pointers are the same size; since all variables are in the same memory space, which has the same type of address.

ok, another example:

main()
{
int x;
int *z;
x = 8;
z = &x;
}

What can we now do with z? We want to read and write to the address it stores. So we can do this:

main()
{
int x;
int *z;
x = 8;
z = &x;
*z = 12;
}

This will generate machine code like this (assume again x is address 1000, z is address 1200; actually you can run this code in debug mode, put a breakpoint, and look at x, z...etc in the watch window; you'll see their actual addresses)

put the value 8 in the memory location 1000
put the value 1000 in the memory location 1200
read the content of the memory location 1200, use that value as a memory location, and go there and write 12

Oh! Did you see that? We did not put 12 in the address 1200, no! We took a peek in 1200, found another address, and went there and put 12.

What was the location written in 1200? It was 1000. And we know that 1000 is actually another name for x. If we did a cout << x we would have found it to be 12 and not 8.

In summary:
  • &a means "the address assigned to the variable a"
  • *b means "read the contents of b, use it as an address for reading and writing".
  • * has another meaning when declaring variables: type *x means x is a pointer to a variable of the type.
All this looks more confusing that it actually is. If you find it confusing, read it again with a pencil and papers, and try to draw memory and its locations/contents.

What is the benefit of all this? It's a long story about abstraction over variables and dynamic memory and more...I discuss it in the second part of this article. Just learn pointers first :)

هل تحارب لغات البرمجة العربية؟ عندي لك اخبار جيدة :)

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

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

ومعنى ذلك أنه حين تفشل خططي (وأنت واثق طبعاً أنها ستفشل) لن يكون الموضوع رأي مقابل رأي وإنما تجربة علمية -- سوف يمكنك وقتها أن تقول للجميع "الم تسمعوا عن محمد سامي؟ لقد صنع لغة برمجة عربية في 2010 ووضع فيها كل خبرته ومجهوده وكفاحه ثم فشلت!" وسيكون هذا اقوى سلاح لديكم في محاربة الفكرة.

أما لو تأثرت الآن برأيكم وتوقفت عن تطوير اللغة، فقد يأتي شخص في المستقبل ويقول ان سبب فشل كلمات كان الآراء المحبطة والمثبطين وان الفكرة نفسها جيدة، ثم يقوم هذا الشخص بمحاولة عمل لغة برمجة عربية ويبدأ الكابوس من جديد :(

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

الخميس، 1 مارس 2012

خدعوا انفسهم وقالوا واقعية

أنت تعرف هؤلاء الواقعيين أليس كذلك؟
  • حين يرون أحداً متفائلا بشأن مستقبل المجتمع يسخرون منه.
  • السياسة يفترضونها مرادفاً للخداع، لدرجة أن يعرفوا ان سياسيا ما قد كذب متعمداً فيثنون عليه لأن الكذبة كانت متقنة.
  • حين يتحدث احد عن تعريب العلوم يعتبرونه متخلفاً عقلياً. كيف يفكر - بل كيف يجرؤ - أن يقول "ميكانيكا الكم" بدلاً من quantum mechanics؟
  • كذلك حين يجدون شخصاً طموحاً يريد فتح شركة مثلاً. يقولون له "انت في مصر!!"، وهذه في مفهومهم تكفي ليسكت كل فاتح شركة.
وأني اقترح أن يتوقف هؤلاء عن عاداتهم الحوارية التي وصفتها، ليس اقتراحي هذا دعوة للتفاؤل بل هو - صدق أو لا تصدق - دعوة للواقعية! المشكلة انهم في غمرة الحماسة نسوا أن يسألوا عن معنى الواقعية فأضفوا عليها شيئاً غير معناها الأصلي. ما هي الواقعية؟ هي ان تبني آراءك وقراراتك من ملاحظة الواقع، وليس من انطباعات شخصية أو تحيزات مسبقة. هل هذا ما يحدث؟ همم....

- حين يرفضون فتح الشركات في مصر...هل قاموا بعمل إحصائية عن حالة السوق ورؤوس الأموال والقدرة الشرائية...الخ...الخ؟

- حين يتحدثون عن استحالة تعريب العلوم، هل بنوا رأيهم هذا على أساس علمي؟ هل جربوا مثلا تعريب كتب في علم معين، ثم تدريس مجموعة اختبارية بالنسخة العربية ومجموعة ضابطة control group بالنسخة الأجنبية ومقارنة النتائج بين هذه وتلك؟ هل نشروا نتيجة التجارب في مؤتمرات؟

- وحين يقولون ان المجتمع لن يتطور إلا بعد مائة سنة (إن تطور اصلاً في نظرهم)، كيف عرفوا؟ هل جاؤوا بخبراء سياسة واقتصاد واجتماع وقانون، وقدموا دراسة مستفيضة من جميع الجوانب، ظهر منها ذلك الاستنتاج القوي؟

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

الذي لم يدركوه انهم قد استبدلوا انطباعاً شخصيا مفرط في التفاؤل بانطباع آخر متشائم، لكنها في الحالتين انطباعات: لم يصيروا واقعيين.

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

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

Some people have compassion, others don't even have empathy

"يا يحيى خذ الكتاب بقوة وآتيناه الحكم صبياً. وحناناً من لدنا وزكاةً وكان تقياً"
سورة مريم

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

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

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

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

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

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

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

ما موضوع مقالي؟ موضوعه هو ان جزءاً كبيراً من الcompassion يأتي من الempathy. لو فهمت كيف يحيى الإنسان وكيف يفكر ومم يخاف...فسيزداد عطفك وكرمك معه.

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

ابنك الصغير في الرابعة الذي يزعجك طوال الوقت، لِمَ يفعل هذا؟ هل جربت كيف يفكر الابناء؟ ربما هو موهوب ويريد جمهور لموهبته، أو ربما يشعر بالوحدة، أو لديه مشكلة، أو ربما....يحبك!

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

بعض الناس لديها compassion، والبعض لا يملك حتى الempathy.

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

خاتمة اخرى: تبرعوا لسوريا.

الثلاثاء، 28 فبراير 2012

دولة المسئولية

كانت الدولة الإسلامية قديماً تستشري فيها فكرة المسؤولية. الدولة مسؤولة عن المواطن. ليست مجرد مسؤولة اقتصادياً أو أمنياً أو قانونياً -- مسؤولة عن المواطن. هل المواطن سعيد؟ هل هو راض؟ هل هو بصحة جيدة؟ هل يربي ابناءه بلا مشاكل؟

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

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

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

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

الاهتمام فيها ليس فقط بما يسمى "الصورة الكلية" من تقارير بورصة وما شابه بل على مستوى أشياء حقيقية: هل الخضروات واللحم يزيد سعره باستمرار ام يجد الناس ما يأكلون؟ هل الاطفال يتعلمون بالفعل في المدارس؟ هل يزداد قبول الموظفين للرشاوي؟ هل الفقر والإحباط يدفعان الناس للشجار في الشوارع أو قراءة الصحف الصفراء؟

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

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

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

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

ولماذا لا ينسق المجتمع كي لا يكون جائع يوم العيد، بأن ينسق المتبرعون مع الدولة مع المطاعم لكي تكون هناك وجبة لكل من يدخلها برقم البطاقة مثلا او بكوبونات تصرف لمن يستحقها؟

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

ولماذا لا يشعر كل منا، فرداً وموظفاً وحاكماً، بالمسؤولية تجاه الآخرين؟