من في الصورة؟

2010/01/14

😀

Advertisements

ما الحل برأيك؟

2010/01/04
من العادات الجيدة عند برمجة تطبيق أو موقع انترنت الأخذ بعين الاعتبار أن المستخدم لا يعرف، من الممكن أن يرتكب أخطاء لا تخطر بالبال، فمثلا وارد جدا أن يكتب البريد الاكتروني بالشكل http://name@sheshgleh.com و من الممكن أن يستخدم اختصارا لملف على أنه الملف …
و لهذا يتم الاعتماد على تنبيه المستخدم أنه ارتكب خطأ ما، رسالة تحوي نص قصير يصف الخطأ أو المشكلة التي حدثت و تضع أمامه خيارات نحو نعم و لا و طبعا يعتمد اختيار المستخدم نعم أو لا على ما قرأه في الرسالة و اتخاذ القرار المناسب، فمثلا ممكن أن تكون الرسالة: “لقد قمت بإدخال ارتباط خاطئ، هل تريد المتابعة على أية حال؟”.

المشكلة أنه نادرا أن يقرأ المستخدم الرسالة، و يضغط نعم أو لا حسب ما اعتاد و من ثم فإنه يراجع المبرمج ليخبره بأن “رسائل خطأ تظهر لي في البرنامج”.

طيب، يعني كيف السبيل لإجبار المستخدم على قراءة الرسالة القصيرة التي تظهر للتنبيه عن شيء ما؟

استفسار عن سلوك لـubuntu

2009/12/28
لمن لديه معرفة، حالة غريبة تحدث هي التالي:
عندي نظامين ubuntu 8.04 و Windows XP SP2 و عند الإقلاع أختار.
ما يحدث هو عندما أعمل على ubuntu و أغلق الكمبيوتر ثم أدخل في وقت لاحق إلى Windows أجد أنه تم تغيير أسماء بعض الملفات إلى أسماء مثل 000 أو 001 بدون امتداد، و هي لا تُنسخ ولا تحذف ولا تفتح … (لا بتاخد و لا بتعطي ** ***) …
أعود إلى ubuntu و أذهب للملف المذكور أقوم بتشغيله (لأني أعرفه)، أقوم بإعادة تسميته و إعطائه الامتداد المناسب له في ويندوز mp3 غالبا هي الملفات.
و تعود المشكلة، كلما تكرر السيناريو، و الأغرب من هذا، أغنية محددة هي تعاليم حورية دائما يغيرها إلى 000 حتى أني ذات مرة نسختها إلى 3 أماكن في الأقراص و اكتشفت لاحقا أنهم صاروا 9 أصفار يعني كل منهم 000 !!!

فيعني أتمنى مساعدة من يعرف السبب و لـ(ـه، ـها) الشكر.

استكمال النوافذ

2009/12/13
( يتبع )

ولا يختلف كثيرا تعامل الكثير من الناس مع “رؤوسهم” عن تعاملهم مع نوافذ “السرفيس”.

تعريب أم تعريص

2009/11/19

نافذة

2009/11/18
مشهد 2:
أحدهم قام بإغلاق النافذة (غالبا بقوة)، الكل ،كأنما أُيقظ، يلتفت حوله ليغلق نافذة بجانبه إن مفتوحة كانت و موجودة.

مشهد 1:
أحدهم قام بفتح نافذة، تغير الجو داخل “السرفيس”، البعض التفت، البعض امتعض، لا أحد فكر بأن يفتح النافذة بجانبه.

موسيقى – مقطع من الأوديسا

2009/10/29

للاستماع

$fx

2009/10/28
نحتاج عند تطبيق مؤثرات باستخدام جافا سكريبت إلى تغيير خصائص عناصر في الصفحة (خصائص CSS للعقد في بنية XML) و يتم ذلك عن طريق DOM و الأحداث.
فمثلا لو فكرنا كيف نصنع حركة تقوم بتكبير صورة بشكل حركي مع تغيير موضعها لتصبح في منتصف الصفحة فوق كل العناصر الأخرى، نجد أن ذلك كفكرة يتم بتغيير كل من width,height,left,top مثلا و هذا التغيير عند جعله تابعا للزمن سيصبح أفضل من تغيير القيم من القيمة البدائية إلى النهائية فقط.
مثال آخر عند استعراض صور متلاحقة مع مؤثر مثل تغيير الشفافية فيمكن النظر لذلك بأننا نقول بتغيير الخاصية opacity للصورة (filter من أجل Internet Explorer) بين قيمتين.
المهم، هناك كثير من المكتبات التي توفر توابع جاهزة للقيام بمؤثرات متنوعة مثل jQuery مثلا و لكن إن كان المطلوب من المكتبة فقط تحقيق مؤثرات و لن نستخدم إمكانياتها الأخرى مثل Ajax أو التحقق من الحقول أو … فالأفضل هو بناء المكتبة فقط لهذا الغرض أو استخدام مكتبة صغيرة.
هنا سأتحدث قليلا عن مكتبة صغيرة هي $fx تحوي بعض التوابع التي تفيد في إعداد مؤثرات حيوية.
لاحظ الصفحة الرئيسية للموقع و حركة الغيوم مثلا، تؤمن هذه المكتبة عدة توابع هي مشروحة هنا.
سأكتب مثالا صغيرا عن كيفية تحريك div إلى موقع آخر في الصفحة مع تغيير الموضع و الأبعاد و الشفافية، إضافة لذلك كيفية تنفيذ تابع آخر عند انتهاء التحريك.

CSS Code:

#p{
position:absolute;
width:100px;
height:100px;
background-color:#F9F1D2;
border:1px solid #F1DF98;
text-align:center;
right:70px;
top:10px;
z-index:10;
}

Javascript Code:

//<![CDATA[
(function(){
window.onload = function(){
var p = document.getElementById("p");
zoomin(p);
function zoomin(id){
id.onclick = function(){
$fx(id).fxAdd({type:'right',from:70,to:410,step:20,delay:1}).fxRun(null,1);
$fx(id).fxAdd({type:'top',from:10,to:66,step:4,delay:1}).fxRun(null,1);
$fx(id).fxAdd({type:'opacity',from:22,to:100,step:7,delay:1}).fxRun(null,1);
$fx(id).fxAdd({type:'width',to:520,step:30,delay:1}).fxRun(null,1);
$fx(id).fxAdd({type:'height',to:380,step:20,delay:1,onfinish:function(){
zoomout(id);
id.innerHTML = 'Hello !';
}}).fxRun(null,1);
};
}
function zoomout(id){
id.onclick = function(){
$fx(id).fxAdd({type:'right',from:410,to:70,step:-20,delay:10}).fxRun(null,1);
$fx(id).fxAdd({type:'top',from:66,to:10,step:-4,delay:10}).fxRun(null,1);
$fx(id).fxAdd({type:'opacity',from:22,to:100,step:7,delay:1}).fxRun(null,1);
$fx(id).fxAdd({type:'width',to:100,step:-30,delay:10}).fxRun(null,1);
$fx(id).fxAdd({type:'height',to:100,step:-20,delay:10,onfinish:zoomin(id)}).fxRun(null,1);
};
}
};
})();
//]]

XHTML Code:

<div id="p"></div>

لتحميل مكتبة $fx النسخة المضغوطة من هنا و لتحميل المصدر من هنا، الملفات تخضع لرخصة MIT و GPL.
و لتحميل هذا المثال البسيط من هنا.

مظاهر

2009/10/21
رآني أحدهم أستمتع بالاستماع إلى مارسيل خليفة، و بعض الناس يحبون ما لا يحبون كي يقولوا بما أحبوا لأسباب متنوعة، طلب مني أن أعطيه أغنيات لمارسيل خليفة، و برغم أني لم أكن أنوي أن أعطيه لأنه لن يقدّرها حق قدرها و لسوف تجده يضع منها ما وضح إبداؤه بأنه من ذلكون كـ رنّة لهاتفه القابل للحمل، إلا أني أعطيته مجلّدين كل منهما هو ألبوم للفنان الكبير مارسيل خليفة.
رآني بعد أيام، و في وقت مستقطع للكلام غنّى كلمات لأغنية لمارسيل، و بتلحين خاطئ سألني: بتعرفا لهالغنية؟

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

حدثني صديق لي ساخرا من مديره في العمل كيف حاول ذلك المدير تفويته في الحائط بإنزال ما لزم و ما لم يلزم من المصطلحات نحو “سيستم” و “إن بوت” و “آوت بوت” و “انفورميشن” و “ديفيلوبمنت” و …

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

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

كي تكون ذا شخصية معتبرة و ملفتة (خصوصا للآنسات) احمل بيديك (موبايل، باكية دخان جيتان أو أعلى، قداحة، نظارات شمسية و رزمة من المفاتيح) هذا معيار لشب فايت بالحياة و هو لها مواكب.

كنت منذ فترة في مجلس متنوع، و حدث أن رغبت بالملاحظة أو المراقبة، كانت إحداهن لا تدع حديثا يطرح إلا و تبدي رأيا فيه و تتركه بمجرد أن سمعت حديثا آخر يدور بين آخرين في محاولة يشوبها الكثير من النفاق لتكون شخصية اجتماعية و “فهمانة”.

بدك تصير “مثقف”؟ بسيطة
احفظ عناوين لمؤلفين مشهورين هذا الوقت أو إذا أحببت اقرأ لهم أو عنهم (أمثلة: أحلام مستغانمي، جبران خليل جبران، …) و حدّث بهم، كما ستكون خطوة قوية أن تنتقد الأدب السوفييتي مثلا.

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

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

بين التلال و ثمرات العناب
كانت تجلس وردة
غطّت أشواكها حصى البحر
و تبكي الغيوم طول الغياب

بين عينيه و يديه كان دُخانْ
قدمت أوراقي و أغصاني حطبا لمدفأته
أحبني من فرط ما أحس بالدفئ
لم يجدني…
فحما كنت قد صرت
استخدمني فحما لأركيلته
و عاد الدُخانْ

تجريبيا PickedLinks.net بدأ العمل

2009/09/18

انتهيت مبدئيا أمس الخميس 17 أيلول 2009 من برمجة موقع يحمل عنوان “روابط مفضلة” و قمت بنشره (الفترة هذه ستكون تجريبية) فقد تظهر أخطاء أو ضرورات لتحسينات معينة.
الموقع هو مفضلة اجتماعية بالمعنى الشائع أي يمكن للمشترك أن يضيف روابطا مفضلة لديه إلى حسابه بحيث يمكنه الوصول إليها أينما تولّى، كما يستطيع المشترك و غير المشترك الاطلاع على الروابط العامة التي يضيفها المشتروكون الآخرون.
برمجياً، اعتمدت على نفسي فقط في برمجة و تصميم الموقع (التصميم جدّا بسيط)، على الرغم من وجود تطبيقات مفتوحة المصدر كثيرة في هذا المجال أو إمكانية تخصيص العديد من تطبيقات إدارة المحتوى لغرض كهذا إلا أنني فضّلت أن أبرمج الموقع بأكمله لغايات في نفسي.
كنت أنوي أن أجعل الموقع بالكامل يستخدم Ajax لكن أجّلت الفكرة إلى وقت لاحق و اكتفيت بأن يكون ذلك فقط أثناء إضافة أو تعديل أو حذف الروابط، حاولت تخفيف التصميم قدر الإمكان و جعله قياسيا XHTML & CSS إضافة لجعل الروابط نظيفة Clean URLs، بالنسبة للبرمجة سيخضع باستمرار لتحديثات.
أما من حيث الأداء، يمكن استعراض الروابط الموجودة بشكل عام، يمكن عرض الروابط الخاصة بمشترك محدد كما يمكن عرض الروابط الموصوفة بكلمات محددة Tag و كذلك الاثنين معا (لمستخدم محدد + تصنيفات محددة)، هناك روابط للخلاصات Feeds لكل من الروابط الأخيرة أو خلاصات المشترك أو الموصوفة بكلمات محددة.
صفحة المشترك تحوي بياناته التي يضيفها و هي معلومات بسيطة كلّها اختيارية عدا اسم المستخدم (البريد الالكتروني لا يظهر للعموم)، الصورة الرمزية يجب ألا تتجاوز 10 كيلو بايت كما لا يتجاوز قياسها 100×100 (الوحدة بكسل) و تحتمل الصيغ png,gif,jpg.
يمكن للمشترك دوما حفظ نسخة احتياطية من الروابط التي أضافها و ذلك من ملفه الشخصي.
أعلم أن هناك مواقعا تحوي نفس الفكرة و هي تعمل بشكل ممتاز، لكن رغبت بإعداد موقع بسيط خاص بهذه الغاية و عربي.
أرحب بشدّة بالتعليقات حول الموقع و أشكر كثيرا من يرسل لي بأنه اصطدم برسالة خطأ غير متوقعة أو أية مشكلة فكما قلت الموقع في بدايته و مهما كنت قد اختبرته قد لا يزال يحوي أخطاء.
يمكن متابعة ما يتعلق بالموقع على تويتر من هنا.

فليت ركاب القوم لم تقطع الغضى

2009/09/16
و ليت الغضى ماشى الركاب لياليا

😐

قصة أغرابي

2009/09/14
كان أغرابي يجلس في ظل لافتة إعلان ضخمة يتحدث (الإعلان) عن حفلة لمطرب هابط1، مرّ أحدهم و وقف أمامه و قال: حبيبي، بعد إذنك، ممكن أحكي تلفون من موبايلك أنا ما معي وحدات تكفي؟
قلو: لك ولو، أي ما تكرم عيناك (الأنف الأفطس بينهما2)، خود احكي براحتك.
تناول الأحدهم الهاتف المتنقل و أخذ يكتب الرقم ثم صار يبتعد قليلا ببطئ، لم يخطر ببال الأغرابي إلا أنه يبتعد لأن موضوعا خاصا سوف يناقشه مع من سيتصل به.
ابتعد و ابتعد و ابتعد ثم ابتعد أكثر !
قال له من بعيد: هع هع ضحكت عليك و أخدتلك موبايلك ههااي و انطلق مسرعا ليمتطي دراجة نارية أغلب الظن أنه حصل عليها بطريقة ذكية كما حصل على الهاتف.
قام الأغرابي و صاح بأعلى صوته: ولوووووووووووو ، لكككككك ولاااااااااااااااك كر، يا بغل رد، ما بدي الموبايل بس حكيني كلمة.
توقف ذلك اللص الذكي و قال له: نعم ماذا بدك؟

قال الأغرابي: شغلتان، الأولى ترجعلي البطاقة، و التانية ما تقول لحدا عن الطريقة اللي سرقت فيها الهاتف مني حتى ما تشيع بين الناس و ما بقا حدا يعطي موبايلو لحدا رغم حاجته.

انتهت القصة القصيرة و لم تنته القصص…

هذه قصة محدّثة بتصرف لقصة أعرابي أقلّ أحدهم على حصانه أو حماره أو … و لكن هذا الأخير (ما الحمار) سرق الحصان فناداه الأعرابي من بلاد بعيدة (ليضحك ربات الحداد البواكيا3) أن ما تخبر حدا (إني بحبك من زمان4) بفعلتك حتى لا تُفقد المروءة و مساعدة الآخرين.

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

قد يلجأ شخص محتاج لشخص كريم ليساعده، و لكن قد يلجأ للسرقة عندما لا يجد كريماً و إن لم يكن بنيّتِه السرقة، فأحيانا الفقر أو الحاجة تدفع للسرقة لتلبية الحاجات الشديدة خصوصا عند ضعاف النفوس.

لك بغض النظر، هل شخص قليل المروءة أفضل من لص؟
و إن كان إخفاء عملية سرقة قد تؤذي بعض من يتعرضون لعمليات مشابهة لاحقا، ألا تؤذي قلة المروءة كل من يحملها (قلة المروءة يعني) إضافة لمن يحتاجون فلا يجدون؟

حقيقة، أنا مع الأعرابي و مع الأغرابي أيضا، يعني بموضوع عدم نشر عملية النصب، لكن هم أنفسهم يجب أن يحذروا، يعني و يكون للواحد نظرة.

ملحوظة: الحكي السابق إن اعتبرناه قصة قصيرة فقد كنت قد كتبتها كمشاركة في أحد المنتديات منذ فترة.

———-
1 أغلب الظن أنه تامر حسني.
2 شي مشابه لـ عيناك الدمع الأسود بينهما …
3 بيت شعر للمتنبي يقول فيه: و مثلك يؤتى من بلاد بعيدة ليضحك ربات الحداد البواكيا
4 من أغنية لـ أماني السويسي بعنوان ما تخبر حدا.

متابعة ما وجدنا عليه آباءنا…

2009/09/05
لا آراء حول مسلمات مقترحة، طيب، أظن أن لا خلاف بين المسلمين على القرآن الكريم مثلا، هل يمكننا اعتبار القرآن الكريم (للمسلمين) مكان يمكن أن ننطلق منه؟

لا أحاول القول بأن نبحث عن ما يجمع فرقا أو طوائف أو … لا، ولا أدعو أحد بأن يتحول عن معتقده الموروث و لكن إن سلمنا بما هو موروث دون علم فنحن ممن تليق بهم الآية الكريمة (وجدنا آباءنا كذلك يفعلون)، لكن أدعو أن نقرأ و نفكر بما هو لدينا منطلقين مما لا يقبل الشك بالنسبة لنا غير متأثرين بعواطف أو خوف.

عند ذلك قد نصل لمرحلة نؤمن بها بما هو موروث لدينا من معتقدات أو قد نكفر بها، المهم أننا فكرنا و آمنّا عن قناعة أو كفرنا عن قناعة، فالله أعطانا القدرة على التفكير لنفكر لا لنقلد.

———–
أحيانا فكرة صغيرة تتخرب عندما يتم تكبيرها أو التوسع في قولها.

بدي أعمل حملة

2009/09/05

لا أهداف للحملة، كما لا زمان أو مكان لها

لا تساهم بدعمها بعدم وضع شعار الحملة