Blog

  • My friends hate Star Wars

    minimalist-star-wars

    Credit : Olly Moss

    أنا من هواة سلسلة أفلام Star Wars وهو من الأفلام القليلة التي شاهدتها مرتين و لكن كلما يظهر جزء جديد و أشاهده مع أصدقائي (وهم يشاهدونه اكراما لي) أتلقى وابل هائل من التهزيق والتقطيع بعد نهاية الفيلم .

    هو ليه الأشكال المقرفة كدة ؟

    هى ليه الناس بتحارب بعضها بالسيوف و هما عندهم سفن فضاء بتعدى ملايين السنين الضوئية ؟

    مش هندخل معاك تانى .

    سر مشكلة المصريين مع سلسلة أفلام Star Wars من وجهة نظري سببين :

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

    amidala

    [Spoilers Alert : فى السطور القادمة ساقوم بذكر بعض أجزاء الفيلم ]

    أما السبب الثانى هو أن كثير منا لا يملك الصبر أو رفاهية الوقت لمشاهدة 6 أجزاء لتفسير قصة هذا الرجل المقنع الذي يتنفس بصوت مرتفع  خاصة أن مخرج الفيلم George Lucas بدأ السلسلة من المنتصف ابتداء بالجزء الرابع في السبعينات ثم تبعه الجزئين الخامس والسادس وفي التسعينات ظهرت الأجزاء من الأول إلى الثالث ثم في 2015 أكمل القصة بعد الجزء السادس وفى 2016 كان Star Wars: Rogue One قصة دارت أحداثها بين الجزء الثالث و الرابع . سبب هذا الترتيب المقلوب   حسب رواية المخرج  أنه بدأ من الجزء الرابع بسبب ضعف التكنولوجيا السينمائية وقتها بالإضافة إلى أنه فضل استخدم أسلوب معين في الرواية  in media res يبدأ القصة من الذروة و يستخدم الفلاش باك للايضاح مع مرور الأحداث و ذلك يخلق نوع من الاثارة و التساؤلات في ذهن المتلقي  لكن هناك وجهات نظر أخرى أنه كان لم يقم بهذا الترتيب عن قصد.أيا كان سبب هذا الترتيب فهو السبب الرئيسي الذي أثار اهتمامي لكي أتعرف على الفيلم . فكنت مضطرا أن أشاهد الأجزاء التى صدرت فى السبعينيات (تنبيه: تحتاج الكثير من الصبر وعصير الليمون لكي تتابع فيلم خيال علمى بتكنولوجيا السبعينيات) , ثم شاهدت أجزاء التسعينيات .

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

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

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

    يعيب الفيلم بشكل أساسى سطحية الشخصيات و ضعف الإخراج اللى كان ممكن يكون أحسن من كدة بكتير خصوصا أن الرواية ملحمية و المخرج كان أدامه مدة طويلة يبنى فيها الشخصيات و يحبك التفاصيل فاذا مثلا كان المخرج هو Christopher Nolan أو Peter Jackson كنا شفنا كلام تانى خالص و لكن ده ممكن يظهر فى المستقبل بعدما السلسلة هتتحرر من George Lucas .

    لكن بشكل عام هي سلسلة تستحق المشاهدة على الأقل لمرة واحدة ( و ممكن ت skip أجزاء السبعينات لأنك غالبا مش هتستحمل ) و مش هتندم أوى على الوقت اللي ضيعته .

  • Where is me ?

    It has been a lot since I really wrote anything here . Seems that I don’t have anything new to say or as one grows older he just tends to bla bla bla less.

    Anyway, I have some great ideas in mind now and I think I will get back to action soon and maybe in the meantime I will keep writing short book reviews.

  • Chess Life Lessons

    chess_game-wallpaper-1366x768

    – Strategy(Having a plan) is as important as good tactics (good decision-making) , sometimes more important

    – TIME is very critical.

    – Be aggressive , Attack .. Attack !! (Take every opportunity)

    – Don’t defend against a move, always counter-attack (Don’t let life corner you down , think of smart alternatives)

    – Never lose hope , play for the last piece , FIGHT for the last second. FIGHT !

    – Manipulate ! Manipulation is a killer , you can easily take down an opponent if he doesn’t know where the next hit is coming from

    – Sacrifices , make sacrifices as long as they will pay off in the near future.

    – If you are pinned weigh you options , and take the least damaging move.

    – There are always better moves, it’s only a matter of how long you think . THINK !

    – Even the weakest piece can be of a great power in the right situation (Put every member in the right team)

    – Spread you pieces in the board (Always have more alternatives , A LOT OF alternatives )

  • السفر للصعاليك

    تجميع لشوية بوستات مهمة بدل ما تضيع فى زحمة الفيس

    5 خطوات لزيارة اسبانيا للمتشردين و الفقراء فقط

    دليل السفر والسنكحة للغلابة والصعاليك (1) ..

    دليل السفر كامل

    من هنا

  • الوصايا السبع

    – “من تتبع عورات الناس تتبع الله عورته” ..

    – “من حسن اسلام المرء تركه ما لا يعنيه” .. كل واحد/واحدة حر ..

    – ” يَا أَيُّهَا الَّذِينَ آَمَنُوا إِنْ جَاءَكُمْ فَاسِقٌ بِنَبَأٍ فَتَبَيَّنُوا” شير.. شير .. شير

    – “يَا أَيُّهَا الَّذِينَ آَمَنُوا لَا يَسْخَرْ قَومٌ مِنْ قَوْمٍ عَسَى أَنْ يَكُونُوا خَيْرًا مِنْهُمْ” .. الخرفان .. عبيد البيادة , “وَلَا تَنَابَزُوا بِالْأَلْقَابِ” .. المارشالجية .. النكسجية ..؟

    – “وَلَا يَجْرِمَنَّكُمْ شَنَآنُ قَوْمٍ عَلَىٰ أَلَّا تَعْدِلُوا اعْدِلُوا هُوَ أَقْرَبُ لِلتَّقْوَىٰ ” .. اعدل مع عدوك قبل ما تعدل مع صديقك .. العدل مش عدل لو طبقته على اللى بتحبهم بس ؟ .. “وَإِذَا خَاصَمَ فَجَرَ”

  • Serial Communication with FTDI D2xx API on Windows

    I was performing some testing on the FTDI throughput and I wrote this simple program that measures the throughput of FTDI chip if you connect its Rx pin to the Tx pin.

    You are free to use it for any application with FTDI, it proved to be actually faster than using Windows VCP API but remember you need to install D2xx driver and make sure that your FTDI is actually using this driver and not the default ًWindows VCP driver

    Note that the D2xx API uses a different method than conventional

        hSerial = CreateFile("COM9",GENERIC_READ | GENERIC_WRITE,
                                  0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);

    , it uses a string name instead that you can get from
    device manager >> Right click on COM >> Details >> From the scroll list choose Device instance id >> you will find it after VID and PID

    Code on github 

     

     

     

     

     

  • Fast DES C++ code

    I found an old undergraduate project in a Security course, I and some friends implemented DES encryption algorithm. I don’t remember much but what I do remember is :
    – We were Group Number 4 😀
    – We tried to optimize it as much as possible to be fast , degrading the code readability and actually our algorithm was the fastest among the class.
    – Compile it in Release mode

    Code on github

  • الفتايين نقصوا واحد

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

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

    و ممكن تكون مهمة و مسلية فى نفس الوقت

    شوف الفيديو ده مثلا

    أو تابع الصفحة دى Awkward Yeti

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

  • الأبارتهايد الإسرائيلى – الفلسطينى … فى 8 صور : لماذا اسرائيل دولة عنصرية ؟

    هذه الصور مقتبسة من الموقع الإلكترونى VisualizingPalestine.org المهتم بتوثيق حقائق التفرقة العنصرية فى اسرائيل فى شكل انفوجرافيك *

    ملحوظة : اضغط على الصورة لتعرضها بحجم أكبر.

    1.  إلى المنفى ..

    يعمل الصهاينة بشكل مستمر على تضييق كل سبل العيش على الفلسطينين لإخراجهم من بلادهم .
    اليهود in .. الفسلطينيون out

    2. التهجير المستمر ..

    لا يكتفى الصهاينة باخراج الفلسطينين من بلادهم .. بل يعملون باجتهاد لاخرج القلة الباقية من منازلهم

    3. عنصرية حتى فى الموت ..

    لا تتوقف ماكينة القتل الإسرائيلية عن استهداف الأبرياء .. الموت يرى الفلسطينيين بنسبة 6 : 1

    4. لكنهم يحرقون أشجار الزيتون ..

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

     

    5. اللوحات الصفراء تعنى رحلة سعيدة ..

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

    6. الجدار العازل ..

    متجاهلة كل الأعراف و القوانين الدولية تستمر سلطات الاحتلال فى تطويق الضفة الغربية بجدار ليفصل بين “الفلسطينيين” و “البنى أدمين”

    7. حقوقك حسب بطاقة هويتك ..

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

    8. تفتيش .. تفتيش .. تفتيش ..

    اذا كنت فلسطينيا فمن المرجح أنك ولدت فى نقطة تفتيش مقارنة بأقرانك فى الدول الأخرى

    * : الصور منشورة تحت رخصة Creative Common license و تبيح الرخصة اعادة النشر و التعديل بشرط أن تنسب العمل لصاحبه الأصلى
    * : فكرة المقال مستوحاة من مقال انجليزى بنفس العنوان .

  • OCRA : OCR for Arabic Cursive Text is now open source !

    Hi,
    I was working on a MATLAB implementation for Arabic OCR on graduate course project and I decided to release it as as open source software under GPL license.

    Disclaimer

    This implementation was a part of a graduate course project and actually it achieves very poor results, you can’t rely on it for any real OCR but it will be useful as a starting point to learn from and build on.

    Details

    You can learn all about it here : My github repo