المحتوى

28‏/12‏/2012

ويكند آب طرابلس

السلام عليكم ,,,

ويكند آب طرابلس ,,,,,, هذا هو الاسم الذي تلمحته في رسالة بعث لي بها صاحبي الصادق , وإذا به مسابقة ستستضيفها ليبيا قريبا ,,,,,


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

فريق عمل , كلمة تطرق أسماعنا كثيرا لكن ياترى هل لها وجود في مجتمعنا الصغير.

فالمجتمع الليبي الصغير قرابة 6 مليون يعيشون وسط عالم يتعدى الـ7 مليار نسمة , يتميز بخصال قل نظيرها حسب اطلاعي , بعضها ايجابي وبعضها سلبي.

ومن وقف قليلا على سلوكيات المجتمع الليبي سيرى اختلافا ملحوظا خلال الـعقدين الأخيرين عنه في السنين الأخيرة على الأقل هذا ماتسنى لي متابعته بحكم عمري (26 سنة).

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

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

قبل انطلاق الثورة كان يراسلني دكتور من أحد الدول العربية وكان يريد أن يرسل لي طرد ,,,, وحين سألني عن رقم البريد الخاص بي ,,,, صمت قليلا وأنا أتحسر على الارقام البريدية الخاصة بكل منزل , فقد أزال القذافي كل سبل الحضارة.

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

حتى متاجر الأقمشة كانت هناك جهات لمتابعة أطوال المسطرة التي يعاير بها الطول , كانت الأوزان تعاير دوريا , كانت وكانت ألخ.

يذكر الليبيين مستشفى نذير في طريق الشط الذي عالج فيه رئيس الإمارات وسجل التاريخ أنه يتمنى أن تكون الإمارات مثل ليبيا.

نعم تلك ليبيا , اسألوا عنها أجدادكم كيف كانت , وإذا بناء اليوم لم نتأخر 40 سنة لأننا قبل 40 سنة كنا نملك مالا نملكه اليوم .....
فاليوم سنبدأ من الصفر لبناء دولة من لاشيء.

تلك هي مقدمتي أيها القراء الكرام لمسابقة ويكند آب طرابلس , هذه هي المسابقة التي أقيمة يوم 20-12-2012 , وقدمت فيها 36 فكرة رشحت 12 فكرة لخوض غمار المسابقة , كانت النتيجة كالتالي:
 التريب الأول من نصيب مشروع: فتش 
الترتيب الثاني: نظملي
الترتيب الثالث: سوق واحد

كنت أحد أعضاء فريق سوق واحد الذي فاز بالترتيب الثالث وهو يتكون من 7 أفراد , رغم كل الصعوبات التي كانت ولازالت , فقد اجتزنا المرحلة الصعبة بنجاح.

ولكن المكسب الأكبر كان التعرف على أصدقاء جدد وبناء شبكة معارف جديدة من أناس تملئهم الحماس والمبادرة.

لخص الحدث صديقنا منير شميلة في مدونته بشكل رائع: ملخص اليوم الأول ومن ثم ملخص اليومين الثاني والثالث
كانت تجربة ممتعة بمعنى الكلمة ,,,, لايسعفني الوقت على الاسترسال في ذكرها , فيوشك أن يؤذن لصلاة المغرب ,,,

لعل الله أن يعين على اكمالها في وقت لاحق ,,,,
 

06‏/11‏/2011

مشكلة وحل في PHP وهو ظهور رسالة خطأ Warning: Cannot modify header information - headers already sent

بعد استخدامي للملفات بالترميز utf-8 لاحظت ظهور سالة خطأ:
Warning: Cannot modify header information - headers already sent
وبعد الفحص والتمحيص تبين لي أن دالتين هما سبب المشكلة : cookies و header بينما تختفي المشلكة إذا كنت تستخدم ANSI
الحل يكمن في التالي:
أن لا يكون هناك أي مدخلات html قبل هاتين الدالتين ولكننا غالبا مانحتاج ذلك لذا قم بوضع الدالة التالية قبل أب كود في الصفحة:

session_start();
وهذه الدالة في النهاية ,,,,,
session_end_flush();

كما يجب أن لا يكون هناك فراغ قبل علامة البدء


ظهرت بعد ذلك المسكلة مرة أخرى وكان الحل هو استخدام برنامج محرر نصوص آخر مثل EmEditor وتخزين الملف بصيغة:
utf-8 without BOM وهنا مدونة جيدة لتوضيح ذلك

أو هناك حل آخر وهو حذف الكود الخفي المضاف للملف باستخدام محرر هيكسا XVI32 وهي الرموز الأولى في بداية الملف وتستطيع الاستفادة من مقالة جيدة هنا.

عموما: توجهت للصفحات التي فيها الدالتين: cookies و header وحولت ترميزهما للـ utf-8 without BOM
فنجح الأمر ونظرا لكثرة استخدامي للدالة header فقمت باستبدالها بدالة meta الخاص بـ refrech


30‏/10‏/2011

المحاذاة ناحية اليمين , مشكلة وحل رياضي

السلام عليكم

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

المشكلة ليست هنا ولكن المشكلة تكمن عندما يكون عرض الصورة غير محدد أي أنه يتغير باستمرار , مثلا عند عمل برنامج يستعرض صور متنوعة ولكن الصور تختلف في العرض !!!

لذا قمت بعمل دالة تقوم بحساب المسافات ,,,,,

والتطبيق كالتالي: يوجد في لغة الPHP مكتبة باسم GD للكتابة على الصور , وميزة هذه المكتبة هو دعمها للغة العربية , إلا أن المحاذاة فيها من ناحية اليسار لذا قمت بوضع الحل لذلك وسأشرحه بما يسر الله:

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

المسافة المطلوبة للاحداثي السيني=المساحة الفارغة التي تترك Q مضافا إليها المحاذاة اليمنى L1
المساحة الفارغة التي تترك Q = المسافة بين المحاذاة اليمني والمحاذاة اليسرى J مطروحا منه المسافة التي تشغلها الكلمة S
Q=J-S

أولا: المسافة بين المحاذاة اليمني والمحاذاة اليسرى J =المحاذاة اليمنى L2 مطروحا منه المحاذاة اليسرى L1
J=L2-L1
ثانيا: المسافة التي تشغلها الكلمة S=المساحة التي يشغلها الحرف Sa مضروبا في عدد الأحرف في الكلمة Ni
S=Sa*Ni

وحيث أن: المساحة التي يشغلها الحرف Sa=المسافة بين المحاذاة اليمنى والمحاذاة اليسرى J مقسوما على عدد الأحرف الكلية التي يمكنها شغل المسافة بين المحاذتان "إن صح التعبير" Nmax
Sa=J/Nmax

وبالرجوع إلى: المسافة التي تشغلها الكلمة S=المساحة التي يشغلها الحرف Sa مضروبا في عدد الأحرف في الكلمة Ni

S=J/Nmax*Ni

وبالرجوع إلى:المسافة الفارغة التي تترك Q = المسافة بين المحاذاة اليمني والمحاذاة اليسرى مطروحا منه المسافة التي تشغلها الكلمة

Q=J-S

وبذلك تكون المسافة المطلوبة للاحداثي السيني X

X=L1+Q
X=L1+(J-S)
X=L1+(J-(J/Nmax*Ni))
X=L1+J(1-(1/Nmax*Ni))

وهذه هي المعادلة ,,,,,,,, تظهر هنا صعبة في صياغتها , ولكن في العمل أسهل من ذلك ,,,,,,
سأضع إن شاء الله صورة الورقة التي قمت فيها بتحليل الأمر ,,,,,,,, خلاصة القول: بإمكاننا وضعها برمجيا باستخدام PHP كالتالي:
$xx_l1=250;
$xx_l2=590;
$xx_j=($xx_l2-$xx_l1);
$xx_n=(strlen($text)-1)/2;
$xx_nmax=40;
$rt=$xx_l1+$xx_j*(1-($xx_n/$xx_nmax));

على اعتبار L1&L2&nmax ثوابت , والمتغير هو عرض الكلمة text والنتيجة هي الاحداثي السيني rt

أترككم مع المعادلة ,,,,,,,, في أمان الله

29‏/10‏/2011

استخدام الترميز UTF-8 في MYSQL باستخدام PHP

السلام عليكم

في المواقع التي صممتها بلغة PHP بقاعدة البيانات MYSQL , كنت أستخدم الترميز الافتراضي ولا أقوم بتعديل محتويات MYSQL من PhpMyAdmin بل كنت أكتفي بالتعديل من أوامر PHP فقط ,,,,,
ولكن دعتني الحاجة لذلك عندما حاولت تصدير محتوى أحد Tables إلى ملف Excel ولكن الترميز لا يدعم العربي ,,,,
وبذلك احتجت لتوحيد الترميز الذي أعمل عليه إلى UTF-8 , وبما أن كل مواقعي السابقة بغير هذا الترميز , فقد لخصت التعديلات التي قمت بها وأحببت مشاركتها في مدونتي , رغم ترددي عن ذلك في البداية لأنني عادة ما أدون البرامج التي أمضي فيها وقت كافي لتجربتها , ولكني سأغير أسلوبي فلعل أحد يستفيد من ذلك أو يعلق على ذلك ويبين لي طريقة أفضل فأستفيد أنا والزوار من ذلك ,,,,,

التعديلات التي قمت بها لاستخدام الترميز UTF-8 في MYSQL باستخدام PHP


أولا: بعد دالة الاتصال بقاعدة البيانات mysql_connect
$connection = mysql_connect(DB_SERVER,DB_USER,DB_PASS);
mysql_query("set character_set_server='utf8'");
mysql_query("set names 'utf8'");

ثانيا: عند انشاء قاعدة البيانات
$result=mysql_query ("CREATE DATABASE ".DB_NAME." DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci");

ثالثا: عند انشاء جدول
$query = "create table ".DB_TABLE." (".$command_name.")"." ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci";

رابعا: في كل صفحة لا تنسى الترميز
meta http-equiv="Content-Type" content="text/html; charset= utf-8"
و
header( 'Content-Type: text/html; charset=UTF-8' );

أخيرا: لا تنسى تخزين كل ملف PHP بالترميز utf-8


27‏/01‏/2011

برنامج منبه النتائج

(خاص بطلبة كلية الهندسة جامعة طرابلس: خريف 2010-2011)

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

لتحميل البرنامج

17‏/01‏/2011

24‏/12‏/2010

برنامج رصيدي نسخة مشجعي نادي الإتحاد

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

يقوم البرنامج بعرض القيمة المتبقية من الحصة الشهرية بالإضافة إلى الأيام المتبقية لنهاية الشهر للحصة الحالية.

برنامج رصيدي نسخة مشجعي نادي الأهلي طرابلس


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


يقوم البرنامج بعرض القيمة المتبقية من الحصة الشهرية بالإضافة إلى الأيام المتبقية لنهاية الشهر للحصة الحالية.



19‏/12‏/2010

برنامج رصيدي ,,,, إصدار جديد


السلام عليكم , هذا هو الاصدار 6 من برنامج رصيدي: الذي يقوم بعرض القيمة المتبقية من الحصة الشهرية لمشتركي خدمتي ADSL و WiMAX بشركة LTT , للتحميل اضغط هنا , تم ايقاف العمل بهذه النسخة والاعتماد على الاصدار الكلاسيكي بدلا عنها
مميزات هذه الاصدارة:
أضفت بحمد الله ميزة جديدة لبرنامج رصيدي ألا وهي معرفة الأيام المتبقية على نفاذ مدة الشهر بالإضافة لميزتي التحميل التلقائي واليدوي ,Auto Update and
Manual Update



12‏/11‏/2010

تصميم موقع خاص بأسئلة الإمتحانات

السلام عليكم

آخر التطورات ,,,, قمت بإماطة اللثام عن الموقع الخاص بأسئلة الامتحانات لقسمي العزيز الذي درست فيه (قسم الحاسب الآلي بكلية الهندسة جامعة طرابلس) ,,,,

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

اسم الموقع الذي اخترته هو نفس اسم المجلد الموجود في مصور التاغرفت بكلية الهندسة وهو مشروع صغير لجمع أسئلة الامتحانات لقسم الحاسب في مصور الكلية ليسهل على الطلبة الرجوع إليها ,,,, وقد كان اسمه: TH109 حيث TH تعني Test Haseb أما 1 فترمز للفصل الخريفي , أما 09 فترمز للسنة 2009 حيث كنا نضع رقم لكل سنة فمثلا خريف 2008 يرمز له TH108 أما ربيعي TH208 وهكذا...

وبسبب شهرت المجلد TH109 تم اعتماده كاسم للموقع الحالي:
http://www.th109.opencpp.net