السرية، أكبر عائق للتقنية

السلام عليكم ورحمة اللهlock

في اﻵونة اﻷخيرة أصابت حمى السرية والتأمين عدداً من الناس الذين يعملون في مجال التقنية. لكن قبل أن نتكلم عنها لابد أن نّذكّر الناس أولاً بماهية التقنية وأهدافها.

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

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

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

في هذه المقالة لا أريد التكلم عن السرية عموماً، لكن أريد أن أتكلم عن اﻵثار السلبية التي جلبتها السرية للمبرمج.

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

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

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

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

قوانين السرية والتأمين المطبقة في الشركات والمؤسسات أثرت في إنتاجيتنا كمبرمجين وأثرت سلباً على المشروعات وزادت من زمن تنفيذها وبالتالي زادت من التكلفة اﻹنتاجية زيادة كبيرة جداً دون أن يكون هناك معنى مقبول وعائد في المقابل.

في الختام أتمنى أن يُعاد تقييم موضوع حماية البيانات والتأمين والسرية وأن لا يبالغ في الاستثمار فيه، فمن اﻷفضل الاستثمار أكثر في اﻹتاحة وليس المنع.

فترات التدوين

السلام عليكم ورحمة اللهpapers

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

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

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

اﻷطفال واﻹجازة الصيفية

السلام عليكم ورحمة الله

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

سوف أتكلم في هذه المقالة بإذن الله عن تجربتنا في اﻹجازة الصيفية الماضية والتي انتهت اﻹسبوع الماضي.

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

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

الكُتب

في أول أيام اﻹجازة ذهبت بهم لمكتبة الدار السودانية للكتب لاختيار عدد من الكتب لكل واحد منهم، أيضاً أهدت لنا خالتي والتي تعمل في الخارج عدد كبير من الكتب المفيدة. في بداية اﻹجازة كانوا يقرؤون من هذه الكتب خصوصاً اﻷكبر سناً (9 سنوات و10 سنوات) أما صهيب (6 سنوات) فلم يكن لديه رغبة كبيرة في قراءة الكتب. في وسط ونهاية اﻹجازة تركوا القراءة وذلك لانشغالهم باللعب باﻷجهزة الإلكترونية المختلفة. .

books

تربية الكتاكيت

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

checkens

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

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

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

checken2, اكتشفنا كذلك أن الدجاج يميل أكثر لأكل اللحوم، ففي إحدى المرات دخلت إليهم عصفورة صغيرة فقاموا بقتلها وتقطيعها ثم أكلها، وكانوا يحبون اﻷسماك، فأصبحنا نقوم بإطعامهم باقي السمك، وفي السابق كُنا نقوم برميه للقطط والتي تنتظر فوق المطبخ عندما تشم رائحة هذا السمك. في هذه الفترة أصبحت هذه الغنيمة مشاركة بينهم وبين الكتاكيت. في الحقيقة هذه ليست أول مرة لهم في التعامل مع الطيور، حيث تعودنا منذ فترة طويلة بأن نقوم بنثر باقي الخبز الجاف في حوش المنزل ليأكل منه عدد من الطيور أكثرها العصافير وطيور القمري والتي وجدنا أنها لا تخاف كثيراً من الناس، حيث لا تطير إذا مر أحد منا في حوش المنزل وهي تأكل. ويقول الله تعالى عن اﻷنعام ” وَلَكُمْ فِيهَا جَمَالٌ حِينَ تُرِ‌يحُونَ وَحِينَ تَسْرَ‌حُونَ” أيضاً هُناك نوع آخر من الطيور يأكل بطريقة غريبة حيث يبتلع الطعام ابتلاعاً ولديه صوت جميل، لكن لم أعرف اسمه، وهذه هي صورته:

UnknownBird

اللابتوب

في هذه الإجازة قمت بتجهيز اللابتوب القديم لهم وحمّلت فيه عدد من اﻷلعاب، وكُنا في بداية اﻹجازة نتيحه لهم فقط أيام الخميس والجمعة، لكن في نهاية اﻹجازة سمحنا لهم باستخدامه معظم أيام اﻹسبوع.

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

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

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

اﻷجهزة اللوحية

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

في نهاية اﻹجازة اشتريت جهاز لوحي صغير (7 انش) للاستخدام العام في المنزل وقمت بتثبيت برامج تعليمية فقط ولم أفم بتثبيت أي لعبة فيه.

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

بداية المدارس

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

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

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

صعوبة تبنّي لغات برمجة جديدة

السلام عليكم ورحمة اللهlanguages

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

نأخذ الخمسة عشر عام الأخيرة كمثال (من عام 2000 إلى عام 2015) فلانجد أن هناك لغات جديدة بدأت من الصفر في هذه الفترة وتبناها سوق البرمجة بصورة كبيرة. ماعدا عدة لغات ولها أسبابها. من هذه اللغات C# وفيجوال بيسك .net. والسبب أن هاتين اللغتين جائتا كبديل للفيجوال بيسك الذي كان له قاعدة كبيرة جداً من المستخدمين. فقامت ميكروسوفت بتحويل تلك القاعدة من المبرمجين إلى لغتي سي شارب وفيجوال بيسك .net

أيضاً هناك حالة أخرى وهي لغة   Swift اللغة البديلة للغة Objective C حيث قامت شركة أبل بإصدارها في عام 2014. قامت شركة أبل بتبني استخدام لغة البرمجة Swift لإنتاج برامج لمنصتها المشهورة iOS كبديل للغة Obective C لذلك نجد أن هذه اللغة الجديدة في تقدم في قائمة Tiobe المشهورة، ولغة Objective C في تقهقر بعد أن كانت أكثر لغة برمجة صعوداً في عامي 2011 و 2012

التجربة الثالثة  – والتي لم تنجح إلى اﻵن- هي لغة Go والتي اصدرتها قوقل كبديل للغتي C و C++ لكن بما أن هاتين اللغتين ليستا من إنتاج شركة قوقل فليس لها طريقة أن تقوم بإيقافهما، لذلك لم تنجح إلى اﻵن ولم يتبناها المجتمع بصورة كبيرة مثل لغات C# و Swift والدليل أنه لا وجود للغة Go إلى اﻵن في دليل Tiobe

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

التجربة الخامسة، كانت من نصيب الفيسبوك بعد أن اشتقت لغة Hack من لغة البرمجة PHP. كان هذا في عام 2014 لكن لم نجد له أثر في السوق بعد ولم تُعتبر تهديد للغة PHP التي لا تملكها فيسبوك

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

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

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

تغيير جميع الموظفين في المؤسسات دورياً

السلام عليكمemployee

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

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

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

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

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

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

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

نقاش حول تعلم لغات البرمجة في الجامعات

السلام عليكمlanguages

دار بيني وبين اﻷخ المقداد نقاش حول تعلم لغات البرمجة في الجامعة. فأحببت أن أنقله في تدوينة منفصلة حتى تعم الفائدة:

المقداد

استاذ معتز لدي تجربة خارج نطاق الموضوع اريد مشورتك فيها ، قبل مدة بدأت في تعلم اساسيات البرمجة من حلال احد الدورات الاجنبية ، الدورة فعلا كانت مميزة وزاخرة بالكثير من المعلوامات عن الاساسيات البرمجية مثل الشروط والحلقات التكرارية ومفهوم كتابة الكود بشكل صحيح وجعله مقروء سواء اكان لك او لغيرك من المبرمجين وتعرفت ايضا علي مفهوم تنظيم الكود وتنظيفه من اجل التخفيف وعدم الاكثار من الكلاسات في البرنامج للتقليل من استهلاك الموارد ، فعلا معلومات قل ما تشرح في محتوي عربي ، بعدها انتقلت الي السي شارب في دورة اخري لكن واجهتني مشكلة كبيرة في التعامل معها فالسي شارب تحتاج منك لمعرفة كبيرة بالكائنات واستخدامها , واغرب شء لم انتبه له هو ان لغات الدوت نت هي لغات من فئة الـ manged language التي تحتاج الي مكتبات خارجية حتي تعمل ففكرت هل عند كتابة برنامج لشخص ساحتاج عند التحزيم الي اجبار المستخدم باستخدام حزمة اضافية ليعمل برنامجي عنده هنا اقتنعت بجدوي اللغات الـ native وتذكرت كلامك عن موضوع الـ Free pascal لذا ساعاود الكرة معها من اجل بداية جديدة معها لتعلم البرمجة عبرها , ساعطي نظرة علي كتابك املا في ايجاد ما اطمح اليه ، فعلا الكثير من المبرمجين يبدأون في تعلم لغة ما وتجد بعد تعبهم النتيجة غير مرضية بسبب عدم اخذ معلومات كافية عن اللغة قبل البدء وضياع الكثير من الزمن والجهد مثل الذي حدث معي .

معتز

في الحقيقة كل لغة برمجة لها إمكاناتنا ومجالها. وإنت في الجامعة عليك تعلم أكثر من لغة برمجة وأكثر من نوع، أي نوع managed ونوع آخر native وثالث script language في مجال العمل سوف تجد استخدامات لها الثلاثة

المقداد

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

معتز

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

المقداد

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

علي علي العموم هذا مثال لدورة في اعادة صناعة الكود البرمجي موجه للمبرمجين ، ما يعجبني في اسلوب دورات الشخص انها زاخرة بالمعلومات التي تضعك علي مسار صحيح وتغير من طريقة عملك علي البرنامج ككل , درست له في السابق دورة متعلقة بالاساسيات البرمجية , لكن هذه الدورة مختلفة فهي موجهة للمبرمجين , علي العموم هذا رابط الدورة علي الموقع الرئيسي واذا احببت رابط التحميل سارفقه لك : http://www.lynda.com/Developer-Programming-Foundations-tutorials/Foundations-Programming-Refactoring-Code/122457-2.html
ولي عودة ان شاء الله

.

المقداد

خطوتي الاولي مع الـ ObjPascal :

بعد يومين من تجربتي لقراءة كتابك الخاص ابدأ مع اوبجكت باسكال بدأت في تصفح الكتاب وفعلا معلومات زاخرة جدا ويشرح المكونات بشكل دقيق وايضا وجدت التجانس في الدروس من حيث التعقيد فانت تصعد بسلاسة في كل مرة .
ما اعجبني ايضا في الباسكل اكتشفت انني لست غبيا كما كنت اعتقد في السابق حين جربت السي شارب ، اصبحت اتفهم الاخطأ جيدا واطبق البرنامج دون ظهور اي خلل وحتي في حال ظهور اجدها اخطاء غير منطقية او الـ logical error وبدأت اهتم اكثر بنظافة الكود وترتيبه من اجل الراحة في فيما بعد ونتيجة كتابة الكود النظيف علمتني مهارة جديدة الا وهي تصيد الاخطاء حتي قبل تنفيذ البرنامج فصرت اعرف انني اخطاءت في السطر الفلاني ونسيت شيئا هنالك وهكذا ،
ايضا اصبحت افكر في محاول تعقيد الكود بوضع بعض الفرضيات مثلا برنامج المطعم ماذا لو اضفنا رسالة للزبون تخبره اذا كان يريد عصيرا بعد طلبه لوجبة .:)
ايضا من الملاحظات التي لاحظتها هي عند استخدامك لعبارة الشرط مع الـ else لاحظت ان اضافة الـ semicolon عند نهاية التعابير تؤدي الي خلل عند ترجمة البرنامج بعتبار ان دورها يخبر المترجم بانتهاء العبارات لذا كنت اكتبها في اخرعبارة او statement ينتهي عندها التعبير وهو الشيء الذي لم تذكره في الكتاب .
برنامج الاوزان وجدته معقدا بعض الشيء وخاصة جزئية اضافة الدالة التي اضطررت الي اضافتها بعد مجموعة من الاخطاء والرسال من مصحح الاخطاء بعدم وجود الـ idefiner وتم حل المشكلة بعد اضافة المكتبة ، ايضا حاولت فهم كيف تم التفكير في هذا البرنامج بعد البحث وجدت انها معادلة رياضية قديمة تم صياغتها في شكل برنامج .
طبعا كل هذا الكلام ولم اتخطي الصفحة الـ 26 من الكتاب لكن احببت طرح تجربتي مع اللغة كمبتدي فيها .

معتز

لغة الباسكال هي لغة غنية تجمع بين سهولة التعلم واﻹستخدام الحقيقي في بيئة عملية، وهي مثال حقيقي للغة برمجة Native وتجمع بين الطريقتين structured و object oriented
بالنسبة للـ semicolon مع عبارة IF فهي مشكلة حقيقة، وقد حدثت لي مرة أن قمت بإضافتها في نهاية الشرط فكان يتم تنفيذ الشرط في كل اﻷحوال. سوف احاول ذكر هذا الموضوع عند التعديل القادم بإذن الله

المقداد

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

الصناعة اﻷصلية ذات النوعية الرديئة

السلام عليكم ورحمة اللهusb-hub

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

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

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

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

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

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