أهم أقسام المدونة

الصفحات

الجمعة، 29 أغسطس 2014

استئناف


استئناف 

استوقفتني اليوم كلمة استئناف، فبحثت عنها في لسان العرب..

وكان ما توقعته صحيحا: مادة أنف تدور حول الأنف ومعاني مشتقة منه كالأنفة ويأنف الطعام أي يعافه وما شابه.. ونظرا لأن الأنف يكون في مقدمة الوجه، فهذه المادة أيضا تحمل معاني السبق والبدء.. وكلمة الاستئناف تعني الابتداء.. ولو أخذناها من الأنفة، لكان معناها الكراهية والنفور: "كأْسٌ أُنُف لم يُشرب بها قبل ذلك كأَنه اسْتُؤْنِفَ شربها"، ولا يوجد في معاني الاستئناف أي معنى قريب يجعل هذه الكلمة توحي بالاستكمال كما نستخدمها اليوم!!

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

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

من لسان العرب:

-  اسْتَأْنَفَ الشيءَ وأْتَنَفَه أَخذ أَوّله وابتدأَه وقيل اسْتَقْبَلَه.. والاسْتِئنافُ الابتداء وكذلك الائْتِنافُ

-  وفي حديث ابن عمر رضي اللّه عنهما إنما الأَمْرُ أُنُفٌ أَي يُسْتَأْنَفُ استئنافاً من غير أَن يَسْبِقَ به سابِقُ قضاء وتقدير وإنما هو على اخْتِيارِك ودخولك فيه.

-      استأْنفت الشيء إذا ابتدأْته وفعلت الشيء آنِفاً أَي في أَول وقت يقرُب مني.

-      واسْتَأْنَفَه بوعْد ابتدأَه من غير أَن يسأَله إيّاه.

-      وأَنْفُ الشيء أَوّله ومُسْتَأْنَفُه

-  والمُؤْنَفَةُ والمُؤَنَّفةُ من الإبل التي يُتَّبَعُ بها أَنْفُ المَرْعى أَي أَوَّله، ورجل مِئْنافٌ يَسْتَأْنِفُ المَراعي والمَنازل ويُرَعِّي ماله أُنُفَ الكلإِ.

-      والمؤَنَّفَةُّ من النساء التي اسْتُؤْنِفَت بالنكاح أَوّلاً.

 

الخميس، 28 أغسطس 2014


البرمجة متعددة الطبقات
 


أقرأ حاليا عن MVVM (اختصار لـ Model-View-ViewModel)، وهو نمط من أنماط تقسيم مشاريع WPF إلى طبقات متعددة n-Tier شبه مستقلة عن بعضها Loosely-Coupled.. وهذا قادني إلى مكتبة الكود المسماة "Prism 5" التي تقدمها ميكروسوفت كأداة مساعدة لإنشاء مشاريع مركّبة Composite Applications تتكون من مجموعة طبقات منفصلة، وتدعم عدة أنماط برمجية من بينها MVVM.

هذا التوجه البرمجي ليس جديدا، فقد بدأ بـ:

-      النموذج التصوري في LinQ To SQL و Entity Framework.

-      مشاريع MVC (Model-View-Controller) الخاصة بـ ASP.NET.

وهذا النمط يحقق الكثير من الفوائد، منها:

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

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

-      يمكن تنفيذ وحدات الاختبار Unit Tests عليها بسهولة.

سأحاول أن أقدم هذه المفاهيم في كتب WPF القادمة بإذن الله.. من لم يبدأ منكم في تعلم WPF فعليه ألا يتأخر أكثر من ذلك، فالبرمجة تتطور بسرعة كبيرة، والبرمجة الكائنية التقليدية OOP قد صعدت درجة لأعلى إلى مستوى البرمجة متعددة الطبقات n-Tier المعتمدة على بعض مفاهيم هندسة البرمجيات Software Engineering مثل: الارتباط السائب Loose Coupling وفصل المسئوليات Separation of Concerns .

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

- WPF.

- Entity Framework.

- Prism و MWWM مع المشاريع الكبيرة القابلة للتطور مع السنين.

أما بالنسبة لمشاريع الويب، فإصدار ASP.NET vNext على الأبواب، وهو يدمج أحدث تقنيات برمجة الويب مثل MVC و Web API و Web Pages في إطار عمل جديد اسمه MVC 6.

 

الاثنين، 25 أغسطس 2014

أبابيل


(14) 

·      أبابيل:
طابورُ جياعٍ خلفَ فُتاتِ الخبزْ
جُمجمةُ السلبيةِ رَمزْ!

بعض من تجليات الألف
(صفحات مهربة من معجم مفقود)
محمد حمدي غانم، 2000

إبريق


(13) 

·      إبريق:
مِلْ عليَّ  واسقِـني      بالحنـانِ المُمـكنِ
الفُـؤادُ مَـلَّــني      في اشتياقي المُزمنِ 

بعض من تجليات الألف
(صفحات مهربة من معجم مفقود)
محمد حمدي غانم، 2000

الأربعاء، 20 أغسطس 2014

تشغيل البرنامج تلقائيا عند تشغيل الويندوز


س: كيف يمكنني أن أجعل برنامجي يعمل على جهاز المستخدم تلقائيا عند بدء تشغيل الويندوز Run at Windows Startup؟

 

ج: استخدم الكود التالي في حدث تحميل النموذج Form.Load لتسجيل مسار البرنامج في مسجل قيم الويندوز Registry:

VB.NET:

Dim RegKey = Registry.CurrentUser.OpenSubKey(

     "Software\Microsoft\Windows\CurrentVersion\Run", true)

RegKey.SetValue(Application.ProductName,

      Application.ExecutablePath)

 

C#:

var RegKey = Registry.CurrentUser.OpenSubKey(

      "Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);

RegKey.SetValue(Application.ProductName,

      Application.ExecutablePath);

الأربعاء، 13 أغسطس 2014

الرسم والتلوين والصور والمجسمات لمبرمجي C#


كتاب مجاني:
الرسم والتلوين والصور والمجسمات لمبرمجي سي شارب (C#)
إعداد م. محمد حمدي غانم 


للتحميل من ميديا فاير:

للتحميل من فورشيرد:

بقراءة هذا الكتاب، ستتعرف على ما يلي:
- كائن اللون Color Structure
- مربّع حوار اختيار اللون ColorDialog
- رسم الأشكال بوسائل كائن الرسوم Graphics Object
- كائن مسار الرسوم GraphicsPath Object
- الألوان المتدرّجة Gradients
- تحويل الإحداثيّات Coordinate Transformations
- قص منطقة الرسم Clipping
- رسم النصوص
- مربّع الصورة PictureBox
- كائن الصورة Image Object
- رسم الصور باستخدام الوسيلة DrawImage
- الصور النقطيّة Bitmaps
- إبقاء الرسوم على النموذج والأدوات
- تغيير نقاط الصورة
- التعامل مع نقط الصورة في الذاكرة مباشرة
- تغير لون معيّن في الصورة إلى لون آخر
- رسم الدوال
- إنشاء أدوات خاصة Custom Controls
- بناء أدوات بأشكال خاصّة
- مقدمة حول Microsoft DirectX 9.0
- مفاهيم أساسيّة للتعامل مع المجسمات
- استخدام Direct3D9
- مشروع تعليميّ لرسم مكعبين مجسمين يدوران حول بعضهما.

 

الثلاثاء، 5 أغسطس 2014

المدونة في أربعة أعوام


المدونة في أربعة أعوام

 

أنشأت هذه المدونة يوم الأربعاء، الموافق 4 أغسطس، 2010.. وها هي بحمد الله تتم عامها الرابع وتبدأ عامها الخامس.. هذه بعض إحصائيات المدونة:

-      الأصدقاء المسجلون في المدونة: 226 متابعا.

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

-      عدد المواضيع: 1366 موضوعا (بمتوسط 28 موضوعا شهريا).. نصف هذه المواضيع أدبية، والأخرى مقالات في البرمجة والسياسية ومواضيع أخرى.

-      عدد التعليقات: 958 تعليقا.

-      عدد زيارات مواضيع المدونة تجاوز 254 ألفا، بمتوسط 173 زيارة يوميا.. في العام الأخير كان متوسط الزيارات الشهرية أكثر من 5 آلاف زيارة، واستمر لعدة أشهر أعلى من 6 آلاف زيارة، وهبط منذ فترة الامتحانات إلى 4 آلاف زيارة.. معظم كلمات البحث التي تقود إلى المدونة تتعلق بالعروض والبرمجة، وأكثر المواضيع زيارة وتعليقات هي المواضيع الخاصة بكتبي في البرمجة، ثم دروس العروض.

 

 

السبت، 2 أغسطس 2014

تقلان عليا جدا


تقلان عليا جدا 

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

 
محمد حمدي غانم
1/8/2014
 

الجمعة، 1 أغسطس 2014

بلا خوتة


بلا خوتة!

 

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

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

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

على سبيل المثال لا الحصر:

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

- خاتَه يَخُوتُه خَوْتاً: طَرَده

- والخَواتُ والخَواتةُ الصَّوْتُ.. وخص أَبو حنيفة به صَوْتَ الرعد والسيل.. وأَنشد لابن هَرْمَة:

ولا حِسَّ إِلاّ خَواتُ السُّيول

- وخَواتُ الطير صَوْتُها.. وقد خَوَّتَتْ.

- وقيل كلُّ ما صَوَّتَ فقد خَوَّت.

- قيل الخَواتُ لفظ مؤنث ومعناه مذكر دَويُّ جَناح العُقاب.

- وخاتَتِ العُقابُ والبازي تَخُوتُ خَواتاً وخَواتَةً وانْخاتَتْ واخْتاتَتْ إِذا انْقَضَّتْ على الصَّيْدِ لتَأْخُذَه فسمعتَ لجناحَيْها صَوْتاً.

وفي حديث أَبي الطُّفَيْل وبناءِ الكعبة قال فسمعنا خَواتاً من السماءِ أَي صوْتاً مثل حَفِيف جناح الطائر الضخم.

- وخاتَتْه العُقابُ تَخُوتُه وتَخَوَّتَتْه اخْتَطَفَتْه.

- والخَوَّاتُ بالتشديد الرجلُ الجَريءُ.. قال الشاعر:

- لا يَهْتَدي فيه إِلاَّ كلُّ مُنْصَلِتٍ من الرجال زَمِيعِ الرَّأْي خَوَّاتِ.

- وتَخَوَّتَ مالَه مثل تَخَوَّفه أَي تَنَقَّصَه..

- وقال الفراء ما زال الذِّئْبُ يَخْتاتُ الشاةَ بعد الشاة أَي يَخْتِلها فيَسْرِقُها.

- وفلان يَخْتاتُ حديثَ القوم ويَتَخَوَّتُ إِذا أَخَذَ منه وتَخَطَّفَه.

- وإِنهم يَخْتاتونَ الليلَ أَي يَسِيرون ويَقْطَعُون الطريقَ.

- قال ابن الأَعرابي خاتَ الرجلُ إِذا أَخْلَفَ وعْدَه

- وخاتَ الرجلُ إِذا أَسَنَّ

- أَخَتَّ الرجلُ فهو مُخِتٌّ إِذا انكسر واسْتَحْيا وقد تقدّم والمُخْتَتي نحو المُخِتّ وهو المُتَصاغِرُ المُنْكَسِرُ

متوجة في سماوات عشقي


مُتوَّجةٌ في سماواتِ عشقي 

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

 

محمد حمدي غانم
31/7/2014

لن نلتقي


لن نلتقي 

إذا ما التقينا ـ ولنْ نلتقي! ... فلا تسْأليني أماني هَوَاكْ
لأنّي تَحطَّمَ فيَّ طُموحي، وأَرْدَيْتُ طيْرًا علا في سَماكْ
لماذا نُحبُّ ونحنُ خُطوبٌ تعاني خُطوبًا لِوَقْتِ الهَلاكْ؟
لماذا تُناجي الفُؤادَ الأماني، وثوبُ المَنايا وَئيدًا يُحاكْ؟
أَكُلُّ جميلٍ حُطامٌ تَخَفَّى؟.. أَكُلُّ سرابٍ طموحُ امتلاكْ؟
ألا يذْبُلُ الورْدُ في راحتيْنا؟.. ألا تَمْـتَلي بالأسَى مُقْلتاكْ؟
فلا تعْجبي مِن طقوسِ التَّرّدِّي، فهذا الذي تَدْفنينَ فَتَاكْ!

تُحبّينَ شكْلي الذي لنْ يَدومَ؟!!.. تُحبّينَ صمْتَ التّمنّي الطويلْ؟!!
تُحبّينَ عينيَّ، حينَ أقولُ لعينيكِ شِعْرًا نديًّا جميلْ؟!!
تُحبّينَ رُوحي التي تحتويكِ، وتُبْحرُ في سِحْرِ رَوْحِ الأصيلْ؟!!
تُحبّينَ ماذا، وهذا رِدائي يُلمْلِمُ أَشْلاءَ حُلْمٍ قَتيلْ؟!!
أفيقي!.. وهيّا احتويني سريعًا بعينيكِ، قبلَ ابْتداءِ الرّحيلْ

سأذْكرُ هذا الذي كانَ عُشًّا لِطَيْرينِ هاما بِحُبَّ السّماءْ
إذا هلَّ طيفُكِ في أُمْسياتي ولمْلمْتُ نفسي ببردِ الشّتاءْ
سأذْكرُ هذا الذي كانَ حبًّا بريئًا جريئًا قويَّ الرّجاءْ
إذا سالَ دمْعي وهاجَ ارتعاشي، حزينًا على حَشْرَجاتِ المَساءْ

وسوفَ أقولُ لنفسي التقينا!.. وحقَّ الإلهِ الْتقيْنا وكنّا
نَعِـمْنا بِكِلْماتِ حُبٍّ تُغنّي، ضَحِكْنا مِن القلْبِ حتّى ثَمِلْنا
وقُلْنا: "سَنبْني قُصورًا"، وقُلْنا "تَدُومُ الأماني" وقُلْنا وقُلْنا!
وسوفَ أقولُ التَّذَكُّرُ غَوْصٌ يَصيدُ لآلِي التَّصَبُّرِ مِنّا

تَأكّدْتِ أنّي سأُخْلصُ دوْمًا؟.. دَعيني أُعاني جُنوني إذنْ!
وقومي انْفُضي عنكِ عَفْرَ الأماني، وواري رُفاتي بهذا الكَفَنْ
وهيّا احْملي ذكْرياتي بعيدًا، وخِيري لنفْسكِ أَنْأَى وَطَنْ
إذا ما افْترقْنا بحبٍّ نَضيرٍ سنضْمنُ لا يَعْتَرِيهِ العَفَنْ!
سيبْقى، ويبْقى، ونَفْنَى، ونحْيا لِنذْكرَه في ثنايا الزَّمَنْ
وداعًا، لأنّا إذا ما التقينا سيدْفعُ نبْضُ هوانا الثَّمَنْ
إذا ما التقينا ـ ولنْ نلتقي! ... فلا، لا تعودي لهذا الوَثَنْ!

محمد حمدي غانم ـ 1998
 

ارحلي


ارحلي 

هيا اذهبي
وتحرّري مِن مَذهبي
ألقي بعيدًا نبضَ شِعري المُذْهَبِ 

وتَغَرَّبي
خَبّي ضياءَكِ واغرُبي
لُمّي شُعورَكِ واهرُبي
تُوهي كَطَيفٍ في ظلامِ الأَدْرُبِ 

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

محمد حمدي غانم
25/7/2014