دورات مميزة من دون مقابل: فرصة قد لا تتكرر!

تبدأ في الشهر الميلادي القادم عدة دورات مجانية تقيمها اكثر من جامعة (منها stanford و berkeley) وبعض المواقع الأكادمية بإذن الله، ويتباين مستوى الدورات المقدمة من البسط (مثل udacity.com/cs#101) الى المتخصص (vision-class.org و nlp-class.org).

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

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

ملاحظة: vision-class.org وnlp-class.org تتطلب خلفية في الحسبان والجبر الخطي والبرمجة.

الحلويات والخنازير

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

عندما رجعت اليوم الى بيتي وجدت علبة حلويات “Poptarts Frosted S’mores” (أمريكي الإنتاج) على الطاولة وصورة المارشميلو “marshmellow” تتوسط العلبة، فهممت ان اقرأ التعليمات لأنني على يقين بأن معظم منتجي المارشميلو يستخدمون جيلاتين لحوم الخنزير لصنعه (يستخدمون فضلات مسالخ اللحوم ومصانع الجلود. (إسأل الشركات ان لم تصدقني).

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

U.S. products containing pork gelatin include Kellogg cereal products with marshmallow additives (i.e., Kellogg’s® Marshmallow Froot Loops cereal and Kellogg’s Smorz® cereal) and all varieties of Kellogg’s® Rice Krispies Treats® Squares and Special K® Protein Snack bars.

U.S. products containing beef gelatin include all varieties of Kellogg’s® Frosted Pop-Tarts®, Kellogg’s® Frosted Mini-Wheats® cereal, and Kellogg’s® Rice Krispies Treats® cereal.

(لحوم الخنزير محرمة، ولحوم البقر مشبوها (يسبب طريقة قتلها) وينصح أهل العلم باجتنابها)

أين مراقبي البلدية من هذا؟ وكيف وافقت الوزارة على إدخالها؟ ألم تتحق من المكونات؟!!

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

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

والسلام عليكم ورحمة الله وبركاته.

[ملاحظة: لا أدري ان كانت هذه الحلويات من مركز سلطان ولكني اتذكر ارسال رسالة الى مركز سلطان قبل عدة اعوام احذرهم فيها من المنتجات المصفوفة في متاجرهم، لكني لا اتذكر ردا منهم.]

اسبت جهازك ثم اجعله يفيق بعد فترة

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

اسبت جهازك وإستخدم الـRTC والـBIOS كي تجعله يفيق دُقيقات قبل وقت رن المنبه. أضغط هنا للمزيد وللتعليق.

اعلان سهل الإرسال عن تغير في نطاق المدونة من الطرفية

السلام عليكم ورحمة الله وبركاته،،

اود اخطاركم بأن نطاق هذه المدونة انتقل من sigtermer.wordpress.com إلى النطاق العجيب و”اللماعي”
seininn.wordpress.com .

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

كيف ترسل رسالة من الطرفية

 ارسال الرسائل من الطرفية او من اي شيء آخر يتطلب امرين: البرنامج المرسل والخادم الذي سيرسل الرسالة بالإنابة عن البرنامج. الأول سهل امره، اما الثاني فليس بنفس السهولة. لحسن حظك، يمكنك تجنب وجع تهيئة خادمك الخاص اذا كان مزود الخدمة الذي تشبك من خلاله محترم[1] [2].
بإستخدام خادمهم، يمكنك تجنب مشكلة الخادم وان تشرع في إرسال الرسائل مباشرة. (قد تحتاج لبعض البيانات من مزود الخدمة).

بعدما تحصل على بيانات الخادم يمكنك إرسال ما تشتهيه نفسك (ويسمح به مزود الخدمة) من الرسائل بإستخدام nail:

echo "
هل ركضت اليوم؟ يمكنك اركض اليوم مقابل 13د.ك. بالساعة.
" | nail -v -r reply@example.com -s "هام! الركض مفيد للصحة" -S smtp=smtp.isp.net poor-recipient@example.com

ما ترسله لـ”nail” من خلال مجرى الإدخال الإفتراضي هو محتوى الرسالة.  -v لطباعة تفاصيل إرسال الرسالة. إقرأ صفحة manpage إن اردت التعمق في البرنامج أكثر.

[1] من الممكن إستخدام stmp.google,com، ولكنه سيغير عنوان المراسل الى عنوان بريدك، وهذا يعني انك مضطر لكتابة بياناتك الشخصية  في الطرفية. إستخدم حساب غير حسابك الخاص ولا تنسى إستخدام TLS لتعمية او تشفير الإتصال.

[2] لدى مزود الخدمة الذي تعاقدت معه خادم مخصص لنا: stmp.qualitynet.net. لا داعي لإسم المستخدم او بيانات اخرى، ولا يغير عنوان المراسل.

0×2009: مرمز فراغات

0×2009
WEB

جماعة الـTL;DR ستحب هذه التدوينة:

  1. السلام عليكم
  2. عذر لتسليم ورقة الواجب بيضاء هنا
  3. الوصف القياسي هنا
  4. مشاركتي هنا :)
  5. English version here.
  6. والسلام عليكم ورحمة الله وبركاته

استعد ملفاتك (الفيديو) المُزالة رغماً على انف Adobe (الجزء الثاني)

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

في الطريقة القديمة (والتي لا انصح بها بتاتاً)، كنت اقوم بإستخدام debugfs لإنشاء رابط hardlinks للملف برغم من ان عدد الـهاردلينكس 0 (الشكر موصول لادوبي طبعا). هذا يسبب اختلافات بين البيانات في النظام. ان كان نظامك حديث، يقوم لينكس بفصل النظام (mount as readonly) ويقوم بإخبارك بأن نظام الملفات متناقض (inconsistant)، تستطيع إصلاحه بسهولة بضغطة زر. اما اذا كان نظامك قديم، أعتقد بأن المسألة لن تكون بهذه السهولة.

هناك عيوب اخرى تشوب تلك الطريقة: يجب ان يكون نظام الملفات من عائلة ext، وتحتاج الى صلاحيات فائقة. وكلاهما يمكن تجنبهما نظراً الى ان npviewer.bin (مشغل الفلاش) يعمل بأسم المستخدم الذي تستخدمه انت، وبتالي لا يحتاج الى صلاحيات إضافية. وبما ان فلاش يستطيع الوصول للملف، فأنت تشستطيع كذلك بغض النظر عن نوع نظام الملفات الذي تستخدمه.

هناك المزيد! كي تستطيع نسخ\مشاهدة الملف، يجب ان لا يغلق npviewer الملف (غلق الصفحة) ولا يُغلق npviewer اصلاً.

لم اكن رضيا تماما عندما كتبت عن تلك الطريقة كما انني غير راضي تماما عن المخطوطة التي سأريكم إياها هنا، ولكن بخلاف الطريقة السابقة، هذه المخطوطة آمنة ولا تشتكي من أي عيب من العيوب السابقة. سبب عدم رضاي عنها هو عدم توفر الخيارات للمستخدم (لا اريد تضييع الكثير من الوقت عليها). اذا اراد احدكم تطويرها فليفعل! (public domain).

طريقة عمل المخطوطة بسيطة ويمكن تلخيصها في عبارة واحدة: /proc/{PID}/fd/. تقوم المخطوطة بالبحث عن الملفات المزالة ونسخ اول ملف تعثر علية الى دليل (directory) عمل المخطوطة.

يمكنكم الحصول على المخطوطة هنا، والسلام عليكم ورحمة الله وبركاته.

إستعمال:

./getflash.sh                   #ينسخ اول ملف مزال في اول برنامج فلاش يعثر عليه
./getflash.sh -a                #يقوم بعرض جميع برامج npviewer.bin في النظام
 2401 ?        00:06:59 npviewer.bin
17024 ?        00:05:26 npviewer.bin
./getflash.sh -p 2401           #ينسخ اول ملف مزال في البرنامج 2401

انقطاع مؤقت للثرثرة التقنية المعتادة: فايرفوكس

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

الآن بعد كل هذا الوقت والألفة اذ انا أفاجىء بمصيبة لا يرضها بها اي انسان غيور على دينه. لا اود ان اريكم هذه الصفحة التعيسة ولكنني مضطر حتى ابرئ ذمتي: اذا كان كتصفحك فايرفوكس او احد مشتقاته، وجة المتصفح الى about:mozilla

من لديه خلفيه بسيطة عن الإنجيل (على هيئته الحاليه) او حتى عن ترجمات القرآن الكريم سيلاحظ ان هذا استهزاء صريح بالكتب السماوية الذي لا يرضا به اي مسلم او كتابي. يبدأ الإستهزاء بتسمية “الكتاب” الذي يحوي هذه “الآيات” بكتاب موزيلا، ويستمر بعرض “الآية” مع رقم “السورة” و “الآية”. والمحزن ان هذه الآفة لم تبدأ مؤخرا بل تمتد مع بداية Netscape1.1 الذي اصدرته شركة نتسكيب عام 1995.

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

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

والسلام عليكم ورحمة الله وبركاته.

مصادر ومراجع

صفحات متعلق بالصفحة اللعينة

تحديث 27-7-2011: أزلت بعض اجزاء هذه الصفحة لحين ما تصل الفتوى، الأسلام لا يخضع لرأي شخص واحد، ولا اريد ان انشر شيء إلا بعدما اتأكد قطعا. سأحدث هذه الصفحة عندما تصل الفتوى واتأكد.

إذا اردت رؤية الصفحة قبل التحديث، جرب هنا.

تحديث 27-7-2011:
وصلة لنقاش هذا الموضوع على آيدنتيكا: http://identi.ca/conversation/76542918

تحديث 14-9-2011:
صدور فتوى خاصة بالموضوع: http://www.islamweb.net/fatwa/index.php?page=showfatwa&Id=2316618&Option=QuestionId&lang=A

اكتساح الطرفيات: حل محتمل

من فلم Starwars episode  II: The attack of the clones

من فلم Starwars episode II: The attack of the clones


السلام عليكم ورحمة الله وبركاته، موضوع اليوم لمن بعاني من ظاهرة اكتساح الطرفيات المتكرر لسطح المكتب. كتبت مخطوطة تقوم بضمان عدم فتح اكثر من طرفية على سطح المكتب. فأن تعودت على ضغط Ctrl+Alt+T كلما اردت استخدام الطرفية (كما هو الحال معي)، فقد تكون هذه المخطوطة هي الحل :)

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

ما عليك سوى تحويل وظيفة Ctrl+Alt+T من تشغيل الطرفية الى تشغيل المخطوطة.

تجد المخطوطة في جعبة المخطوطات.

سي ليست بتلك الصرامة التي تتوقعها

السلام عليكم ورحمة الله وبركاته،

قبل فترة لاحظت امر غريب عندما كنت اكتب برنامج سي. انظر للمصدر التالي:

#include <stdio.h>
int i;
int inc(){ return ++i;}
int main(){
    i=0; printf("i,inc(): %d,%d\n", i, inc());
    i=0; printf("inc(),i: %d,%d\n", inc(), i);
}

عندما تقوم بتصرفه بإستخدام gcc و تشغيله يأتي بالمخرجات التالية:

i,inc(): 1,1
inc(),i: 1,0

تمعن جيدا بترتيب مدخلات printf و ترتيب تنفيذها وقارن المخرجات بما تتوقعه. مذا تلاحظ؟
المخرجات ليست مثلما توقعت، اليس كذلك.

ففي السطر الأول من الخرجات، ترى ان القيمة الأولى 1 على الرغم من ان ‘i’ لم تمس (بحسب ترتيب مدخلات printf في اول سطر بـmain). أيضا، ترى في السطر الثاني ان القيمة الثانية بقيت صفراً بالرغم من سبق inc() إياها. اي ان في كلا سطري المخرجات تختلف قيمة ‘i’ عن القيمة التي نتوقعها.

لم اجهد نفسي في البحث عن الإجابة او تفسير لهذه الظاهرة بل انتهزت الفرصة كي اختبر مجتمع لينكس العربي، ولم يخيب ظني. فقد فسرها اخي مؤيد السعدي بأن مدخلات الوظائف (functions) تخزن في اكوام (stacks) وان المدخل الأخير يعاين قبل سابقه، وهذا بلا شك يفسر هذه الظاهرة وهو تفسير صحيح. الأن السؤال يطرح نفسه: هل هذه الطرقة في معاينة المدخلات (اي تخزينها في اكوام) معرفة قياسيا في c89 او c99 ام هي طريقة انتهجها مصمموا gcc وقد تختلف من مصرف لآخر.

بحث سريع اظهر الحقيقة المرعبة التي تهز ثقتك (بقياسية؟) اللغة ان التعاريف القياسية (c89 و c99) لا تحدد ترتيب معاينة مدخلات الوظائف!

مع ذلك ما زلت أحبها ♥ <- وهذه ايضاً

افضل الحلول في الغالب ابسطها

السلام عليكم ورحمة الله وبركاته.

wget ♥

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

عتدها تبين لي ان اسماء الملفات تحتوي على مقاطع متكررة تمييز فترة الإمتحان ونوعة، وان الطرفية لها.
فرزت الملفات بتنفيذ عدة اوامر في الطرفية وطبعت الإمتحانات وحضرت المحاضرة. الآن السؤال المهم: كم كان سيستسرق مني الوقت لفرز نفس الملفات بإستخدام وندوز؟

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

والسلام عليكم ورحمة الله وبركاته.

ملاحظة لطلاب جامعة الكويت: لدي جميع امتحانات مادة حسيبان-ب و فيزياء-2 وجبر خطي. فمن ارادهم راسلني على sigtermer@gmail.com او ارسل لي رسالة على identi.ca