الثلاثاء، يناير 18، 2011

الجيل المتطرف -- عبد الرحمن العشماوي

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

من كان خوانا وكان المشفقا

المصدر: الموسوعة العالمية للشعر العربي

الجمعة، ديسمبر 10، 2010

راجع ما كتبته في البرنامج قبل لوم الآخرين

بسم الله و الحمد لله و الصلاة و السلام على رسول الله و بعد...
لازلنا مع كتاب "97 مسألة ينبغي على كل مبرمج أن يعلمها"....

9- راجع ما كتبته في البرنامج قبل لوم الآخرين
  • يعتقد الكثير من المبرمجين أن برامجهم لا يمكن أن يكون بها أخطاء! بل يسيئون الظن بالمترجمات compilers و أنظمة التشغيل operating systems ... إلخ و يحسبون - في كثير من الأحيان - أنها سبب المشاكل في برامجهم!
  • و الحق أن المترجمات compilers و أنظمة التشغيل operating systems و مكتبات البرمجة الجاهزة software libraries ... إلخ هي برمجيات في النهاية, و لذلك من الوارد أن يكون فيها أخطاء, خاصة إذا كانت في مراحل تطويرها الأولية alpha or beta releases. أما إذا كانت هذه البرمجيات ناضجة mature, و مستخدمة بكثرة, و هناك الكثير من البرمجيات التي تعتمد عليها, فالأخطاء في مثل هذه البرمجيات تكون نادرة جدا, و من الأجدى - في مثل هذه الحالة - أن تبحث عن المشكلة في برنامجك أنت.
  • فمثلا إذا علمت بوجود مشكلة في برنامجك, اعرف خطوات الاستخدام التي أدت إلى حدوث هذه المشكلة, قد يكون برنامجك استُخدم بطريقة لم تحسب لها حسابا, أو بخطوات غير التي توقعتها!
  • و من أكثر مصادر المشاكل في البرامج: تعدد المسارات multi-threading, و طرق اكتشاف المشاكل debugging و اختبارات فحص الوحدات unit test وحدها لا تكفي لاكتشاف مصادر المشاكل في مثل هذه الحالة؛ و لذلك فالحاجة هنا إلى تبسيط تصميم البرنامج و برمجته تكون أكثر إلحاحا.
يمكن قراءة النص الأصلي من هنا

الجمال في البساطة

بسم الله و الحمد لله و الصلاة و السلام على رسول الله و بعد...
لازلنا مع كتاب "97 مسألة ينبغي على كل مبرمج أن يعلمها" ...

5- الجمال في البساطة
  • البرمجة الجميلة لها مظاهر عدة, أهمها "البساطة", فبغض النظر عن كبر البرنامج أو تعقيده, إذا كانت أجزاء البرنامج "بسيطة": صغيرة, و لها مسئوليات محدودة, و أسماء معبرة, و ترتبط ببعضها بروابط بسيطة أيضا, فالبرنامج جميل!
  • و البساطة في البرمجة لها مميزات أخرى, منها أن البرنامج البسيط يكون سهل الفهم, سهل الاختبار testable, و سهل الصيانة maintainable كذلك.
يمكن قراءة النص الأصلي هنا

السبت، نوفمبر 27، 2010

عرض كتاب نقد الجذور الفكرية للديمقراطية الغربية


بسم الله و الحمد لله و الصلاة و السلام على رسول الله و بعد...

كتاب "نقد الجذور الفكرية للديمقراطية الغربية", ألفه الأستاذ الدكتور محمد علي مفتي, و طبعته مجلة البيان سنة 1423 هـ / 2002م.
و قد استهل المؤلف بحثه بقول الله عز و جل "أفحكم الجاهلية يبغون و من أحسن من الله حكما لقوم يوقنون" [المائدة: 50] و ختمه بقوله "فلا ديمقراطية في الإسلام, و لا إسلام في الديمقراطية" و بين الاستهلال و الخاتمة كتب بحثا ماتعا في 118 صفحة, لخصه في خاتمة الكتاب, في آخر ثلاث صفحات, فقال (بتصرف يسير جدا):

قدمت الدراسة تحليلا نقديا للجذور الفكرية للديمقراطية الغربية؛ بهدف بيان أن الديمقراطية نظام سياسي قائم على مرتكزات, و مرتبط بشروط محددة لا بد من وجودها لتتحقق الديمقراطية. و قد ناقشت الدراسة أهم تلك القواعد أو المرتكزات و التي منها:
  • "سيادة الأمة"؛ أي حق الأمة المطلق في تبني نظام الحياة الذي تراه مناسبا من منطلق كونها تمثل المرجعية العليا في الدولة,
  • و "الحل الوسط" الذي يعد أسلوبا دائما لحل جميع المشكلات في الدولة. و يرتبط "الحل الوسط" بالعلمانية التي يقوم عليها النظام الديمقراطي. و ينطلق من افتراض أن مصالح المرء المتعلقة بالمباديء و القيم و المصالح المادية لا بد أن تسوى بـ "الحل الوسط" عند نشوء نزاع في الدولة بين الأفراد. و هذا يعني بالضرورة عدم فرض قيم اجتماعية أو عقيدية على المجتمع؛ لأن ذلك يؤدي إلى الاستناد إلى المرجعية العقيدية أو الأخلاقية في حل المشكلات الاجتماعية, و هو ما يتعارض مع ديمقراطيات الحل الوسط.
  • أما "الحرية": التي تمثل جوهر الديمقراطية فتقوم على النظرة الفردية للإنسان, و على جعله المرجعية العليا في الدولة.و تتحق حرية المرء في النظام الديمقراطي عن طريق إقرار "حرية العقيدة"؛ أي حيادية الدولة تجاه العقيدة, و هي تعني حق الأفراد في تبني ما يشاؤون من عقائد دون تدخل من أحد. و "حرية الرأي" التي تعني - كذلك- حق الأفراد في تبني ما يرغبون من أفكار و مفهومات و معالجات. و قد انبثق عن حرية الرأي "التعددية السياسية"؛ لتعبر عن حق الجماعات المختلفة عقديديا و فكريا في العيش المشترك, و في التنافس السياسي للوصول للسلطة انطلاقا من قاعدة تادول السلطة بين الجماعات المختلفة التي تقوم عليها التعددية السياسية.
و قد بينت الدراسة أن الديمقراطية نظام قائم على "فصل الدين على عن الدنيا". و تؤكد قواعد الديمقراطية - المشار إليها أعلاه - علمانية النظام, فجعل الفرد المرجعية العليا في النظام مرتبط بإنكار هيمنة الدين على شؤون الحياة, و بناء الدولة على الحرية و الحل الوسط يدل على أن الدولة الديمقراطية تختلف عن غيرها بحياديتها العقيدية و بفسحها المجال لحرية الرأي لكل أفراد المجتمع.
فالحرية في تبني الآراء و الدعوة إليها - أيا كان مصدرها و نوعها - مكفولة للجميع في ظل النظام الديمقراطي. كما يعبر الحل الوسط بصدق عن علمانية النظام الديمقراطي؛ و ذلك بإخضاع كل شؤون الدولة للمساومة؛ حيث تخضع جميع القرارات - العقيدية منها و الأخلاقية و المصلحية - للحل الوسط الذي يعد ركيزة رئيسة من ركائز الديمقراطية الغربية العلمانية.
و نظرا لما للفكر الديمقراطي من أثر على الساحة السياسية و على الكتاب و المفكرين المسلمين؛ فقد قدمت الدراسة تحليلا لمواقف عديد من الإسلاميين و الحركات الإسلامية من الديمقراطية. و قد تبين أن [الكثير من] (في الأصل: معظم) الكتاب و المفكرين الإسلاميين المعاصرين ينادون بتبني الديمقراطية؛ إما بالقول بأن تبني الديمقراطية يعد ارتكابا لأخف الضررين, فالديقراطية العلمانية "أقل شرا" من العلمانية الاستبدادية, كما يقولون. أو بالقول بأن الديمقراطية لا تعارض الشريعة الإسلامية, أو بإلباسها ثوبا شرعيا و جعلها جزءا من تعاليم الشرع الإسلامي. و قد أدت المناداة بتبني الديمقراطية إلى إقرار القواعد السياسية التي تقوم عليها كالتعددية السياسية, و التعددية الحزبية, و المشاركة في السلطة, و تداول السلطة عن طريق الانتخابات الدورية.
و بناء على ما سبق؛ نادى الإسلاميون الديمقراطيون بضرورة التعددية السياسية المتمثلة في إفساح المجال لكل التيارات السياسية في لعب دور في الساحة السياسية انطلاقا من حق الجماعات المتبياينة عقيديا في الوجود و في التعايش مع غيرها, و حقها في التنافس من أجل الوصول إلى السلطة. و قد أدى هذا الموقف من التعددية إلى المناداة يالتعددية الحزبية؛ أي إقرار وجود أحزاب سياسية شيوعية و علمانية و غيرها في المجتمع, و السماح لها بالمشاركة في الانتخابات, و في طرح برامجها للتصويت عليها من منطلق حقها في الوجود في مجتمع تعددي.
و قد بينت الدراسة خطأ جعل الديمقراطية أساسا للعمل من أجل استئناف الحياة السياسية الشرعية. فالدولة الإسلامية دولة شرعية يقوم نظامها على تطبيق أحكام الإسلام في واقع الحياة من منطلق سيادة الشرع, و ليس على التعددية أو الحرية السياسية. و في نظام الإسلام السياسي لا يجوز إقرار التعددية الحزبية أو السياسية بالمفهوم الغربي لتعارض ذلك مع قواعد الإسلام السياسية, و الدولة الإسلامية لا تقوم بالرجوع إلى الديمقراطية العلمانية بل بالرجوع إلى أحكام الإسلام و معالجته السياسية المتعلقة بنظام الحكم الشرعي, و غياب نظام الإسلام السياسي لا يجوز أن يؤدي إلى تبني النظام الديمقراطي العلماني مهما سيقت له من حجج و قدمت له من مقدمات؛ ذلك لأن الديمقراطية, و العلمانية, و الاستبداد السياسي, و الدكتاتورية و أنظمة الطغيان كلها "طاغوت" لا يقره الشرع الإسلامي, و لا يدعو إليه بحال من الأحوال.
و قيام بعض الإسلاميين بالدعوة إلى الديمقراطية و تسويغ تبنيها يتقريبها من الإسلام لا يدل بحال على أن الإسلام يجيز تبني الديمقراطية؛ "فلا ديمقراطية في الإسلام, و لا إسلام في الديمقراطية". ا.هـ.

الجمعة، نوفمبر 26، 2010

حكم المشاركة في الانتخابات

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

الأحد، نوفمبر 07، 2010

أنت لست مستخدم البرنامج

بسم الله و الحمد لله و الصلاة و السلام على رسول الله و بعد...
لازلنا مع كتاب "97 مسألة ينبغي أن يعرفها كل مبرمج"....

3- أنت لست مستخدم البرنامج
لا تحسبن - أيها المبرمج - أن مستخدم برنامجك يفكر مثلك, أو أنه سيستخدم برنامجك بنفس طريقتك. فإن فعلت فلا تلومن غير نفسك إن كانت برامجك صعبة الاستخدام.
و أفضل طريقة لمعرفة سلوك المستخدم هي مراقبته! أي مراقبته و هو يؤدي نفس الوظيفة في برنامج مشابه مثلا, فإن كان سيتخدم برنامجك فانتبه لمواضع تعثره, و لا تساعده لتتمكن من معرفة سلوكه. و بمراقبة عدة مستخدمين سيتبين لك أوجه تشابه السلوك في استخدام البرنامج, و هذا التشابه هو الذي ستبني سهولة استخدام برنامجك عليه.
و إليك بعض الفوائد التي تساعدك في جعل برامجك سهلة الاستخدام:
  • إذا تعثر مستخدم برنامجٍ, فكن على ثقة أن ملفات المساعدة هي أسوأ شيء يمكن أن يلجأ له المستخدم, بل دائما سيتركز تفكيره في الخروج من عثرته بالبحث داخل الشاشة التي هو فيها. فإن كنت و لا بد ستحتاج لنصوص توضيحية, فاجعلها قريبة من موضح المشكلة؛ و لذلك فالتلميحات tooltips التي تضعها على أجزاء البرنامج مناسبة جدا في هذه الحالة.
  • أن تجعل طريقة واحدة, واضحة, سهلة, لعمل وظيفة واحدة في البرنامج, خير من أن تجعل عدة طرق مختصرة shortcuts لعمل نفس الوظيفة فتشتت المستخدم.
  • إذا سألت المستخدم عم يريد, سيخبرك عن أشياء, فإذا راقبته ستجده يفعل أشياء مختلفة, و لذلك فاجلس مع المستخدم ساعة تراقب سلوكه خير من أن تجلس يوما تخمن ماذا يريد!
يمكن قراءة النص الأصلي من هنا.
و للحديث صلة إن شاء الله تعالى...

الخميس، نوفمبر 04، 2010

ترجمة كتاب 97 مسألة ينبغي أن يعرفها كل مبرمج 97 things every programmer should know--2

بسم الله و الحمد لله و الصلاة و السلام على رسول الله و بعد...
2- استفد من مباديء البرمجة الوظيفية
بالرغم من زيادة الاهتمام بالبرمجة الوظيفية functional programming في الآونة الأخيرة, إلا أن هذه المقالة ليس غرضها حثك على تعلم إحدى اللغات الوظيفية, بقدر حثك على الاستفادة من مبادئها, و أهم هذه المباديء ما يسمى بالشفافية المرجعية Referential transparency. و التي تعني أن البرنامج متى استُدعي من أي مكان سيعطي نفس النتيجة طالما أخذ نفس المدخلات و, قد تحدثنا عنها في المقالة السابقة, فلتُراجع لزاما.
من أهم مشاكل البرامج, تلك الأخطاء الناتجة عن تغيير قيم المتغيرات variables من أكثر من مكان في البرنامج, و هناك دائما قواعد في لغات البرمجة تحدد أي جزء في البرنامج يمكنه الوصول إلى أي معلومة (Visibility semantics), لكن هذه مرتبطة بمدى حِذق (مهارة) المبرمج في استخدامها.
يمكن تجنب هذه المشاكل إذا استطعنا تحقيق "الشفافية المرجعية" في برامجنا, عن طريق الإكثار من تقسيم البرامج إلي أجزاء أصغر numerous smaller functions, كل منها له مسئولية محدودة, و يتعامل مع البيانات التي تمرر له فقط passed arguments من غير التعامل مع بيانات مشاعة بين كل أجزاء البرنامج. هذا الأسلوب سيقلل المشاكل و سيسهل اكتشاف الأخطاء أيضا. و لن تتمكن من تطبيق هذه المباديء باحتراف ما لم تتعلم إحدى لغات البرمجة الوظيفية, حيث هذا الأسلوب في البرمجة هو الأسلوب الافتراضي.
عند برمجة واجهات الاستخدام User Interfaces لن يكون هذا الأسلوب مجديا, بل الأجدى أن تستخدمه عند برمجة "لب البرنامج", أي طبق هذا الأسلوب عند برمجة الوظيفة الفعلية للبرنامج و ليس واجهة استخدامه.
و هذا هو النص الأصلي للمقالة.