برجاء تسجيل الإعجاب بالصفحة لتصلك كتاباتي على فيسبوك

المتابعون للمدونة

السبت، 30 أكتوبر، 2010

خَجــلَى


خَجــلَى

لا تَخدشنَّ حياءَها بالنظرةِ المسترسلةْ
يَحمرُّ فيها وجهُها وتروغُ منكَ مُعاجلةْ
ويلوذُ سِحرُ جُفونِها برموشِها المتكاسلةْ
وتَرى ابتسامةَ ثَغرِها بينَ النجومِ الهائلةْ
صِيغَ الحياءُ سَنا لها وستارةً متسدلةْ
***
ويطيرُ قلبُكَ في الهوى باللهفةِ المتهللةْ
وتودُّ لثمَ زهورِها لتهيمَ روُحكَ ذاهلةْ
فتمدُّ كفَّكَ نحوَها رغمَ القيودِ القاتلةْ
وتظنُّ أنّكَ نُلتَها وقِفارُ شوقِكَ ناهلةْ
ثمّ الحقيقةُ إنما تغفو وتحلمُ بالصلةْ!
محمد حمدي، 1995


الجمعة، 29 أكتوبر، 2010

إيصال كتبي المطبوعة إلى راغبيها عبر البريد


للراغبين في إرسال كتبي إليهم داخل مصر:
تكلفة الطرد حوالي 25 جنيها زيادة على إجمالي ثمن أي عدد تريده من الكتب.. على سبيل المثال، يمكن طلب 6 كتب من فيجوال بيزيك بـ 325 جنيها، أو 7 كتب من سي شارب بـ 425 جنيها، شاملة مصاريف الشحن.. من يريد الحصول على الكتب بهذه الطريقة، يمكنه مراسلتي على بريدي:


للاطمئنان على مصداقية خدمة الطرود، أرجو قراءة هذا الموضوع

للراغبين في إرسال كتبي إليهم خارج مصر عبر البريد:
يمكن الحصول على مجموعة كتب فيجوال بيزيك بحوالي 70 دوالارا شاملة مصاريف الشحن، أو مجموعة كتب سي شارب بـ 75 دولارا شاملة مصاريف الشحن.
 
على الراغبين في الحصول على الكتب بهذه الطريقة، مراسلتي على بريدي:
msvbnet@hotmail.com 

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


الخميس، 28 أكتوبر، 2010

حـكــايتـه


حـكــايتـه

شَـايـلْ عُـوده وعـمره iiوهـمّه
 مـاشـي يْـغنّي لْـطوب iiالأرض
خـطـوة بْـغنوة وعـنوة بْـحلمه
 قـلْـبه شْـراعه فْ مـوجة iiمَـدّ
مـاشي الـدنيا الـطول iiوالعرضْ

كـلمة كـتبها فْ ضـحك الـوردْ
 وردة قـطـفها فْ جـنـة خَــدّ
بـسـمة تْـرفرف بـعد 
iiالـحزنْ
 شـمـعة  رسـمها لْـليله iiالـبرد
نـجـمة  فْ لـيله بْـتهتف: 
iiمِـدّ
 تـمشي  وتـوصل تـلقى iiالـمجد
امـشي  الـدنيا الـطول والعرض

سـاخر:  يـبكي ويـرسم 
iiضحكة
 مــن أحــلام الـدنـيا الـفكّة!
سـاحـر: شــقّ الـبحر 
iiبْـرقّة
 وبْـأسـاطـيره يْـنـوّر iiسـكّـة
دايـمًا  يـدّي وعـمره مـا 
iiخـد
 طول ما هو ماشي الطول والعرض

حـتّى فْ حـزنه فـيه شيء 
iiدافي
 بُـكـرة بْـيُغمر حـلمه الـصافي
أمـلـه  بُـساطه لْـقلبه 
iiالـحافي
 والأيّـــام  لـجـناحه جْـنـاح
شـابك  عـزمه لـيل فِ صـباح
 ومـا  بِـيخَفْشِ يْـشوف iiالـخافي
لـسه فْ روحـه فـيه شيء 
iiدافي
 يـقـهر  لـيـل الـبرد iiالـجافي
يـبـقى  إزاي خـطوته عَ 
iiالـقدّ؟
 يـمشي الـدنيا الـطول iiبالعرض!

راحـلْ وسـط طـوفانه 
iiبـطُوف
 بـيـن أوهــام الـدنيا iiيْـطوف
كــلّ مــا يـفتح قـلبه يْـغنّي
 وكـلّ  مـا يـقفل عـينه iiيْشوف!
يـبـني ويـهـتف قـلبه 
iiبْـجرأة
 ويـحضن شِـعره فْ لحظة iiخوف
وأمّــا  يْـهيلوا عـليه الـضلمة
 يْـولّـع  مـن وجـدانه iiحـروف
عـمره  مـا هـايب أيّ 
iiحـتوف
 مـين هـا يْـحِدّ طْـموحه بـحدّ؟
دايـما  مـاشي الـطول والعرض

محمد حمدي غانم، 1996


الثلاثاء، 26 أكتوبر، 2010

9- برنامج لرسم الموناليزا بالصدفة!


أبدع حاسب وأبدع نظام تشغيل
9- برنامج لرسم الموناليزا بالصدفة!

دعنا نتعامل مع القضية كمبرمجين:
افترض أن لدينا شاشة حاسب بأقل دقة ممكنة، وهي 480 × 640 نقطة.
هذا يعني أنّ هذه الشاشة تحتوي على 307200 نقطة.
الآن، نريد كتابة برنامج بسيط لرسم الموناليزا عشوائيا على هذه الشاشة!
لن نقول لك إنّنا سنستخدم 256 لونا، ولا حتى 16 لونا.. بل سنكتفي بالأبيض والأسود فقط.
عليك أن تعرف أنّ بين أن تكون كلّ نقاط الشاشة بيضاء، وأن تكون كلها سوداء، عدد من التباديل يساوي عدد الأرقام الثنائية التي يمكن وضعها في 307200 خانة، أي:
2 أس 307200 = 10 أس (92 ألفا)!!
في الواقع لو نجحنا في تجربة كلّ هذه الاحتمالات، فسنحصل بالأبيض والأسود على جميع اللوحات التي رُسمت أو لم ترسم بعد، وجميع صور الأشياء والأشخاص التي نتخيلها أو لا نتخيلها!
لكنّ المشكلة في هذا الأمر، أنّ تجربة هذه الاحتمالات يحتاج إلى عمر يفوق عمر الكون بمليارات مليارات المرات!!
سنفترض أنّ لدينا حاسبا يستطيع رسم كلّ احتمال من هذه الاحتمالات في جزء من مليار جزء من الثانية (وهو مستحيل عمليا بأجهزة اليوم، لكن سنفترضه).. هذا يعني أنه يستطيع أن يرسم في عام واحد:
مليار × 60 ثانية × 60 دقيقة × 24 ساعة × 365 يوما = 22118400 مليار لوحة في العام، وهو ما يساوي تقريبا: 10 أس 18.
وهذا يعني أننا نحتاج لكي نرسم كلّ اللوحات الممكنة، إلى عدد من الأعوام يساوي: 10 أس (92 ألف) / 10 أس 18
أنت تعرف من الرياضيات أن قسمة الأساسات طرح للأسس.. في الواقع، طرح 18 من 92 ألفا لا معنى له!
دعنا نفترض أنّنا نستخدم مليار حاسب (10 أس 9).. هذا سيعطينا (10 أس 18) × (10 أس 9) = 10 أس 27 لوحة في العام.
ما زال الرقم تافها!
دعنا نفترض أنّ هناك مليار كوكب مثل الأرض على كلّ منها مليار حاسب تشارك في العملية.. هذا سيرفع العدد إلى (10 أس 36) لوحة في العام!
ما زال الرقم تافها!!
هذا سيعني أننا نحتاج في سبيل رسم كلّ اللوحات إلى زمن يساوي:
10 أس (92 ألفا - 36) من السنوات!!
أيّ حوالي مليار مضروبا في نفسه 10 آلاف مرّة من السنوات!!
أما لو حاولنا رسم صور ملونة باستخدام 256 لونا فقط، فسنحتاج في سبيل رسم كلّ اللوحات إلى زمن يساوي:
256 أس 307200 = 10 أس 739811 أو تقريبا 10 أس 700000!!
أي أنه يساوي الرقم 1 موضوعا على يساره 700 ألف صفر!
طيب: حتى لا يظنّ البعض أنّ 480 × 640 هي أبعاد كبيرة للشاشة، دعنا نفترض أنّ دقة الشاشة هي 80 × 80 نقطة فقط!.. هذا سيجعلنا ننتظر 10 أس 2000 من السنوات!!
فلنقلص الشاشة إذن إلى: 20 × 20 نقطة، أي حوالي 5% فقط من أبعاد شاشة الحاسب العادية، أي شاشة قطرها أقلّ من بوصة!!.. طبعا هذا غير كاف لرسم لوحة واضحة المعالم والتفاصيل، لكن سنفرضه!!.. هذا يعني 2 أس 400 = 10 أس 120، وهو ما يحتاج إلى أكثر من (10 أس 80) عاما لتجربتها، أي مليار مليار مليار مليار مليار مليار مليار مليار مليار سنة!!
طيب.. سنفترض أنّ لكلّ لوحة مليار نسخة مقاربة، ناتجة عن اختلاف مواضع بعض النقاط، بحيث يمكن مطابقتها بالصورة الحقيقيّة باختلافات طفيفة.. هذا مستحيل مع لوحة حجمها 20×20 نقطة لكن سنفرضه!!.. هذا لن يغيّر شيئا يذكر في الأرقام المذكورة!!.. سننتظر 10 أس 71 عاما، بدلا من 10 أس 80 عاما!!
فليكن: دعنا نكن أسخياء، ونفترض أنّ لكلّ لوحة مليار مليار احتمال.. هذا سيجعلنا ننتظر 10 أس 62 عاما!!
حسنا.. دعنا نكن عمليين ونجرب.. لقد رأينا كيف نكتب البيانات في صورة Bmp بالأبيض والأسود في الفصل 25.. عدل الجزء الخاص بكتابة بيانات الصورة ليرسم في الصورة نقاطا عشوائية كالتالي:
' كتابة النقاط
Dim Buf As New BitBuffer(Bmp, CByte(255))
Randomize( )
For Y As Integer = 0 To ImgHight - 1
       Dim Y1 As Integer = Int(Y * W / L)
       For X As Integer = 0 To ImgWidth - 1
              If Rnd( ) < 0.5 Then
                  Buf.Add(0)
              Else
                  Buf.Add(1)
              End If
       Next
       If Buf.Possition > 0 Then Buf.Flush( )
       If PadZeros > 0 Then Bmp.Write(RowEnd, 0, PadZeros)
Next
Bmp.Close( )
ويمكنك أن تضع كود كتابة هذه الصور العشوائية في دالة، وترسل إليها اسم الملف الذي تريد حفظ الصورة فيه، وتستدعيها لأي عدد تشاء من المرات وتنظر كيف ستكون النتائج.
الآن علينا أن نسأل:
لو شغلنا برنامجنا العشوائي لرسم اللوحات بدون توقف (بافتراض أنه لن يكرر أيّة لوحة وهذا لن يحدث)، فما هو احتمال أن نحصل على اللوحات الموجودة في متحف اللوفر بفرنسا؟!.. أو حتى على لوحة الموناليزا فقط؟
وماذا سيكون رأي دافنشي لو قال له أحد إن الموناليزا يمكن رسمها ببرنامج حاسب عشوائي تافه؟!
لو جربت البرنامج السابق، فلن تحصل إلا على فوضى من النقاط البيضاء والسوداء كما في الصورة التالية:

    

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

طيب: دعونا نقل التالي لإخوان داروين:
عدد أنواع الأحياء على سطح الأرض يقدّر بنحو 9 مليون نوع.. ما هو احتمال أن نحصل على مجرّد لوحات مسطحة بالأبيض والأسود لأيّ من هذه الأحياء، لو شغلنا برنامجنا للرسم العشوائي؟!
هذا الاحتمال سيساوي 9 مليون / (10 أس 120) = 1 / (10 أس 113)!!!
دعنا نفترض أنّ لكلّ لوحة مليار مليار نسخة مقاربة.. هذا سيجعل الاحتمال 1 / (10 أس 96)!!
أعتقد أنّ كمّ الاستحالات التي تريها لنا الأرقام، يظهر عبثية من يؤمنون بالصدفة المبدعة!
هذا ونحن نتكلّم عن لوحة بحجم صغير (20 نقطة × 20 نقطة) وثنائيّة البعد (مسطحة) بالأبيض والأسود فقط!
فما بالنا عندما نتكلم عن مجسمات ثلاثية البعد؟!
وما بالنا لو لم تكن هذه المجسمات مجرّد رسوم، بل كائنات حيّة من لحم ودم تحمل تركيبا تقنيا معقدا، يستغرق الكلام عنه آلاف المجلدات من حصيلة بحوث العلماء عبر القرون؟!
أريد عاقلا يشرح لي: عن أيّ صدفة نتحدّث بالضبط؟!
من كل الحسابات السابقة نصل إلى هذه الاستنتاجات:
1- فكرة رسم كل الصور عشوائيا فكرة مستحيلة عمليا، حتى لو كانت صورا مصغرة بالأبيض والأسود فقط.
2- الصدفة والتجريب العشوائي، غير قادرين عمليا على ابتكار أي شيء.. وكما لا يمكن بأي حال أن يرسم السحاب لوحة الموناليزا على صفحة السماء، أو ترسمها الرياح على رمال الصحراء، فإنه لا يمكن بأي حال أن يكون هذا الكون وهذه المخلوقات قد ظهرت للوجود بدون تخطيط وتدبير من لدن حكيم خبير، خالق كل شيء، بديع السماوات والأرض، سبحانه وتعالى عما يشركون.
3- علينا الآن أن نزداد إعجابا وتقديرا بكل موهوب رسم لنا لوحة جميلة، أو أبدع لنا قصة مبتكرة، فمن حسابات الصدفة التي رأيناها، يتضح لنا تماما أن هؤلاء المبدعين قد وفروا على البشرية أعمارا هائلة من التجريب العبثي في محيط هائل من القبح والفوضى والعشوائية للحصول على بعض اللوحات أو الكلمات الجميلة!
4- هناك إعجاز حقيقي في امتلاك الإنسان للخيال والابتكار والإبداع، وهو عائق سيظل يعجز أمامه كل من يحاولون صنع إنسان آلي ذي ذكاء صناعي، فالإرادة والمشاعر والخيال والابتكار والإبداع كلها أمور غير خاضعة لمعادلات رياضية، وفكرة برمجة إنسان آلي رسام يجرب كل احتمالات الصور ليحصل على لوحة مبدعة ستجعله يقف مشلولا أمام لوحة بيضاء إلى يوم القيامة!
إننا نتكلم عن إبداع مذهل للخالق سبحانه، الذي منح الإنسان الخيال، والمشاعر التي تعمل كالمرشح لهذه الخيالات فيما نسميه باسم الذوق، والحواس التي تلتقط جمال الكون وجمال المخلوقات لتستقي منها أجمل الإبداعات.. فكيف لإنسان آلي أن يصل إلى هذا مهما احتوى من برمجيات؟
هذا يرد على فكرة فيلم IRobot، فالفيلم يتصور أن بعض الأخطاء العشوائية في برمجة أحد الروبوات ولدت لديه الإحساس والإرادة والذكاء!.. لكن كما رأينا: الصدفة والعشوائية لا توصلان إلى أي شيء على الإطلاق!


الأحد، 24 أكتوبر، 2010

يومًا مــا


يومًا مــا

يومًا ما سنلتقي، لتنبتَ أحلامٌ جديدة.
لنعودَ من جديدٍ زهرتين ناضرتين على غُصنٍ فَينان.
يتلامسُ خدّانا، ونهمسُ كلَّ حفيفٍ بأحلى الأغنيات.
نتحرّرُ مع تنهيدةٍ عطر شاردة، ونحلّقُ في الحُلمِ إلى ما لا نهاية.
تتلامسُ أيدينا، تتشابك، تتعانق.
نبسطُ جناحينا على الوجود.
نصبحُ أحلامًا لا انتهاءَ لها في قلوبِ كلِّ المحبّين.
*****
حتمًا، يومًا ما، سنلتقي.
لأعودَ من جديدٍ أقولُ لكِ كلَّ ما يُؤرّقُني.
تريحُني عيناكِ الرّيفيّتانِ الدافئتان.
تُنسيني نظرةٌ رقيقةٌ منكِ كلَّ أحزاني.
أتمنّى أن أكونَ نَسمةً رقيقةً رشيقة، تداعبُ ملامحَكِ الناعمةَ الحالمة، تتسلّلُ خلسةً إلى رئتيكِ، وتذوبُ في العطرِ الّذي يسري في شرايينِك، حتّى تصلَ إلى سويداءِ قلبِكِ وتعرفَ مكنونَك.
ما زال عندي أشعارٌ كثيرة، أبياتٌ لم أسردْها عليكِ، كتبتُها بعدَ أن افترقْنا.
لم أبْكِ فيها فِراقَك، لأنّكِ كُنْتِ دومًا معي.
فقطْ رحتُ ـ كما كُنْتُ دومًا ـ أغمسُ فرشاتي في جمالِك،  وأرسمُ أحلامي.
أتذكّرُ حينما كُنْتُ أرتّلُ على سمعِكِ كلماتي الصغيرة.
كنتِ تبتسمينَ كماسةٍ وضيئةٍ تُشرقُ على غديرٍ رقراق.
كانت عيناكِ تَخْفُقانِ بتطلّعاتٍ حالمة، وتُرفرفانِ إلى بعيد.. إلى بعيد.. إلى قلبي الّذي تبخّرَ من صدري، ليضحيَ الأثيرَ لحسنِكِ الأثيرِ.
*****
حتمًا ستعودين.
ليسَ لأنّي لا أقوى على الحياةِ بدونِك.
ليسَ لأنّكِ أرقُّ من أن يكونَ عقابُكِ ذبحي.
ولكنْ لأنَّ شيئًا عظيمًا جميلا يحدثُ حينما نتلاقى.
همسةٌ دافئةٌ تسري في سمعِ الوجود، تُذيبُ الجليدَ من قلوبٍ كثيرة.
أنوارٌ تٌسافرُ منّا، وتمنحُ الليلَ معنى الأمل.
حينما نكونُ معًا، كلُّ القلوبِ ترانا، لأنَّ موسيقى صمتِنا، نبضِنا، شِعرِنا، تغمرُ الأحلامَ الغضّة، فتنْبتُ شجرةٌ وارفةٌ مضيئةُ الأوراق، تمدُّ جذورَها في عُمقِ كلٍّ مَن تشبّعتْ نفسُه برحيقِ الرومانسيّةِ والحنان.
حينما نتلاقى، يسيلُ من نظراتِنا نهرٌ فراتٌ قطراتُه ماساتٌ صغيرة، تضيءُ وحْدَها ولو لم يسقط عليها ضوء.
ومن نهرِنا تشربُ كلُّ العصافيرِ الجميلةِ وتروي وجدانَها، وعلى ضفافِه تَنْبُتُ أشجارٌ غنّاء، تنسجُ للعصافيرِ الفضّيّةِ أعشاشًا ذهبيّة، وتُثمرُ للمحبّينَ ظلالَ لقاء.
لا بدَّ أن نعودَ معًا، فلا صوابَ إلا أن نكونَ معا.
*****
حتمًا يومًا ما ستصفحينَ عنّي، وسنلتقي.
حينَها لن نضيّعَ دقيقةً واحدةً في العتاب، لأنَّ كلَّ نبضاتي ستكونُ أشعارَ اعتذارٍ لك.
فقط سآخذُكِ من راحتِكِ إلى حيث أيكتُنا، وأجلسُ صامتًا في محرابِ عينيكِ.
سأعوّضُ العمرَ الّذي مضى بعيدًا عنكِ في عينيكِ، فلحظةُ تأمّلٍ فيهما عمرٌ وإبحارٌ وأسفار.
سأعودُ سندبادَ عينيكِ من جديد، أحكي لكِ في أشعاري عن كلِّ المدنِ الجميلةِ الّتي زرتُها فيهما.
وسأحكي لكِ عن الحوريّةِ الرائعةِ الّتي تمنيت أن أقابلُها في كلِّ مدينة، والّتي تعرفُ جيّدًا أنَّ رحيلي عنها ليسَ ذنبي.
رحيلي عنها يقتطعُني منّي قبلَ أنْ يقتطعَها.
فقطِ الّذي يرحل، هو كِيانٌ من الدّخانِ في حقيبةٍ آدميّة، لن تصمدَ طويلا، فالنارُ الّتي صنعتِ الدُّخَانَ سِرعانَ ما ستُذيبُها.
*****
ستغفرينَ لي حتمًا رحيلي.
وسأراكِ تعودينَ إليّ، جميلةً كما أنتِ، باسمةً كما اعتدْتُك، جنّةً أُزلفَتْ لي، قُطوفُها دانيةٌ لقلبي، رحابُها حتّى مدى خيالي.
حتمًا ستعودينَ إليّ.
وسآخذُ براحتِكِ في راحتي، ونواصلُ رحلتَنا معا.
ولو فرّقَنا القدرُ من جديد، فلنْ نفترقَ إلا لنتلاقى.
إنَّ كلَّ الطرقِ تُؤدّي إلى حُبِّنا، حتّى لو طالتْ وطالَ السَّفر.
*****
حتمًا سوفَ نلتقي من جديد.
هذا فقط، هو ما يجعلُني أعيش.
*****
محمد حمدي غانم ـ 1997


الجمعة، 22 أكتوبر، 2010

8-رواية الحصن الرقمي: دان براون يخدعك!


أبدع حاسب وأبدع نظام تشغيل
8-رواية الحصن الرقمي: دان براون يخدعك!

هناك رواية للكاتب الأمريكي دان براون اسمها "الحصن الرقمي"، بنى فكرتها على وجود جهاز حاسب عملاق يحتوي على مليون مشغل دقيق تعمل على التوازي، تستخدمه المخابرات الأمريكية لحل الشفرات، وادعى المؤلف أن مثل هذا الحاسب قادر على حل أي شفرة في أوقات قياسية مهما كانت هذه الشفرة معقدة، وذلك بتجريب كل الاحتمالات الممكنة لمفتاح الشفرة.. هذه فكرة في منتهى السذاجة وتدل على عدم التخصص، لأننا لو افترضنا أن كلّ مشغل دقيق يعمل بسرعة 3 جيجا هرتز، فإن فك شفرة تتكون من 30 حرفا فقط سيتطلب من هذا الجهاز العمل لمدة قد تصل إلى 126 مليون سنة! (لا تنس أن وجود مليون مشغل دقيق في ذلك الجهاز يجعله أسرع من جهازي بمليون مرة).. هذا مع افتراض أن كل موضع من المواضع الثلاثين في المفتاح يقبل 10 حروف مختلفة فقط، مع أنك تعلم جيدا أن كل موضع يمكن أن يقبل 256 حرفا!!
وبافتراض أن حلقة التكرار For Next فارغة، ولا تفعل شيئا إلا الدوران، بينما أنت تعرف من فصل تشفير وضغط الملفات، أن هذه الحلقة يجب أن تحتوي على الكود المناسب لتكوين المفتاح، ولإرساله إلى دالة فك التشفير لفك النص، وإلى البحث في النص الناتج عن كلمات معروفة في الإنجليزية أو أية لغة أخرى (فالمخابرات الصينية مثلا ستكتب الرسالة باللغة الصينية!!)، وهو الأمر الذي يحتاج إلى وقت ملموس فعليا، سيضاعف الزمن الحقيقي عدة مرات!!
حتى لو افترضنا أن كل مشغل دقيق يعمل بسرعة 3 مليون جيجا هرتز (وهو خارج التقنية المتاحة حاليا بمراحل) فسيظل ذلك الجهاز يحتاج إلى 126 سنة لحل شفرة تتكون من 30 حرفا فقط.. من الواضح أن هذا يجعله عديم الفائدة للمخابرات الأمريكية ولا يستحق المليارت التي أنفقتها لبنائه!
وحتى لو افترضنا أن المجرمين وأجهزة المخابرات المعادية غير محتاطين بالدرجة الكافية، واستخدموا مفتاحا للشفرة طوله عشرة مواضع فقط كل منها يقبل 256 حرفا مختلفة، فإن ذلك الجهاز المهول الذي اخترعه دان براون سيحتاج في أسوأ الاحتمالات إلى تجربة (256 ^ 10) احتمالا، وهي تحتاج إلى زمن فلكي، لأن (256 ^ 10) تساوي تقريبا (10 أس 24)!!
لهذا، ولكي يحقق حاسوب دان براون النتائج المرجوة منه، يجب أن يستخدم الأشرار وأجهزة المخابرات المعادية مفتاحا للشفرة طوله 5 حروف فَقَط، ففي هذه الحالة يمكن كسر الشفرة في 192 يوما فحسب.. أظن أنك ـ وأنت لا تملك أي أسرار ـ تستخدم كلمة سر تتكون من 6 حروف على الأقل!!
آخر سؤال يخص رواية الحصن الرقمي وحاسوبها العبقري: كيف سيعرف جهاز دان بران نوع التشفير المستخدم، ليستخدم المفتاح في فكه؟!!
إن محاولة تجريب عدة خوارزميات مختلفة لفك التشفير، سيضاعف كل الحسابات السابقة عدة أضعاف أخرى!!
لحسن الحظ إذن، أن قراء (دان براون) ليسوا جميعا مبرمجين J .
لعلك تدرك الآن فداحة الأرقام التي نتكلم عنها!
إن عمر الكون ـ كما قدّره العلماء ـ هو حوالي 15 مليار سنة فقط، وعمر مجموعتنا الشمسية هو 4.5 مليار سنة.. أي أنّ عمر الكون يقع في حدود (10 أس 10) سنة فقط!.. واضح أنّ هذه المليارات من السنين لا تساوى شيئا أمام جسامة الاحتمالات التي نتكلّم عنها.. إنها لا تكفي حتى لكي يعد الحاسوب ـ مجرد عد ـ من 1 حـتى 10 أس 30!!
لكنّ الذين يتكلّمون عن الصدفة يستخدمون أسلوبا عاطفيا، استنادا إلى أنّ مليار عام هو رقم مريع بالنسبة لأعمار البشر، لهذا يوهمون البشر بأنه كاف لكي تصنع الصدفة كل الكائنات الحية، بينما الحقيقة أن عمر الكون هو مجرد صفر على الشمال بالنسبة للرياضيات التي شرحناها للتو، ولا يكفي لصنع بروتين واحد بالصدفة، بل ولا حتى لمجرد العد من 1 حتى (10 أس 30) بسرعة الحاسب الآلي دون صنع أي شيء آخر!!
لاحظ أننا كنا نتكلم عن بروتين واحد متوسط الحجم، بينما هناك بروتينات أطول وأعقد منه بمراحل.. فما بالك إذن لو تكلمنا عن خلية حيّة تحتوي على آلاف البروتينات؟
إن احتمال ظهور خلية واحدة بالصدفة ـ كما حسبه أحد العلماء ـ هو 1 من كلّ (10 أس 40 ألف) احتمال!!.. ماذا يا ترى يمكن أن يفعل جهاز دان براون العملاق مع احتمال كهذا؟.. يمكنك أن تقول مطمئنا إنّ هذا الاحتمال يساوي صفرا بلا أدني قلق!
أمّا احتمال أن تترتب 50 تريليون خلية بالصدفة لتشكل الجسد البشري، فهو الجنون بعينه!


الخميس، 21 أكتوبر، 2010

رؤية أشمل لواقعة الاعتداء على طالبة الزقازيق


رؤية أشمل لواقعة الاعتداء على طالبة الزقازيق
ليس دفاعا عن الحكومة.. ولكن دفاعا عن هرم القيم

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


الأربعاء، 20 أكتوبر، 2010

آبدة 6: حقل ألغام!



لوددت أن أعترف لك كم أذوب في حبك، وكيف لا تفارقين خيالي ولو لثانية واحدة.
ولوددت أن أشرح لك كل التعقيدات التي تحول بيننا، وتجعلني عاجزا عن الاقتراب منك.
لكنّ هذا في حد ذاته للأسف، أمر في غاية التعقيد!


الاثنين، 18 أكتوبر، 2010

احتراف VB.NET


احتراف VB.NET

هذا الكتاب مجاني، وهو مزيج من الترجمة والتعريب والتأليف بدأته في نهاية عام 2002 وأنهيته قبل نهاية عام 2003، فهو مرجع ضخم يتجاوز الألف صفحة.. وقد بنيته على ترجمة واسعة التصرف لمرجع Mastering Visual Basic .Net 2002، وهو مرجع شامل يقدم المعلومات الأساسية عن لغة فيجيوال بيزيك وبيئة دونت نت، وأهم فئات إطار العمل، ويعطي قارئه دفعة كبيرة في برمجة نماذج الوينوز، وفكرة جيدة في برمجة قواعد البيانات ونظرة خاطئفة على  برمجة صفحات المواقع ودايركت إكس.. مع ملاحظة أن هناك بعض التغييرات التي لحقت ببرمجة قواعد البيانات، خاصة المعالجات السحرية Wizards التي تسهل إنشاء قواعد البيانات وأدواتها في دوت نت.. أما برمجة صفحات المواقع Web Pages فقد حدثت فيها قفزات وتغييرات كبيرة.. غير هذا، ما زال كل شيء آخر في الكتاب يعمل، مع الإقرار بوجود بعض الأخطاء به، بعضها نابع مني، وبعضها نابع من مؤلف الكتاب المترجم، والتي عدلت الكثير منها في الترجمة، ورغم ذلك أفلت البعض!. وعموما، ليست بالأخطاء الكبيرة، وسيكتشفها القارئ بسهولة إن نفذ الكود عمليا بيده.
ويمكن تحميل هذا الكتاب من هنا:
مع ملاحظة أن البرنامج الذي أنشأت به هذا الكتاب مصمم فقط للعمل على ويندوز XP ويتعامل فقط مع Internet Explorer 6، لهذا لن تظهر صفحات الكتاب على أي إصدارات لاحقة من متصفح الإنترنت مثل Internet Explorer 7 و Internet Explorer 8.. ولحل هذه المشكلة، يمكنك إزالة إعداد نسخة متصفح الإنترنت 7 أو 8 من على جهازك من Control Panel/ Add Or Remove Programs، للعودة إلى الإصدار السادس.

ولمن أراد أن يتعرف على تجربتي الشخصية في ترجمة هذا المرجع الضخم، فليتفضل بقراءة هذا الموضوع:




صفحة الشاعر