نفسى أكون من تانى نفسى

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

VN:F [1.8.1_1037]
Rating: 0.0/5 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Post to Twitter Post to Delicious Post to Facebook

Advices for software team leaders

Being a Team Leader is not easy and so different than being a developer/senior or even an analyst, the job is a mix between management, planning and programming, the biggest meaning of team leader is to “deliver” team work in the matter of time, dead lines, quality and accuracy. Here are some tips:

  • Talk to your team too much, they will love you but be sure not to waist their time.
  • Be flexible about timing and not about time management.
  • Don’t write long emails, don’t force them to write long reports and don’t use the calendar option too much.
  • Don’t make meetings boring, just be creative of giving your meetings another dimension even once in a month, as easy as bring up unconventional topic about something different and unexpected, or just start a small competition about work or a client needs (Be sneaky, no problem to bring them Ice Cream too!)
  • Force your team to use pen and paper, this will invoke their imagination and logic.
  • Speak up with your team comprehensively and in accurately way and don’t ever rely on emails and chat only.
  • Whenever you get asked, don’t reply quickly or inaccurately, be sure you got the meaning of the question.
  • Don’t speak up management options with your team (Give the bread to its baker), just bring up topics as it doesn’t matter, you’ll get better responses and feed backs.
  • Programmers, developers are always in need of compassion and sympathy (Don’t be a mother too!),  just show that you care and not because of work.
  • Encourage them to compete with each other and make sure they never compete with a client or management.
  • Be sure that your team is not getting distracted by internet without mentioning that, just be sure making them always busy of work or learning (Don’t control their connection either!)
  • Encourage them to learn new technologies in a proper and organized way.
  • Be sure you’re using as easy as possible tools of development management and bug tracking.

I hope this would be a benefit for every team leader and for every developer/programmer, I’ll be so happy if you’d ask any question, or to add something that I forgot or I didn’t learn yet.

VN:F [1.8.1_1037]
Rating: 0.0/5 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Post to Twitter Post to Delicious Post to Facebook

وصية عمنا صلاح جاهين

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

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

VN:F [1.8.1_1037]
Rating: 0.0/5 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Post to Twitter Post to Delicious Post to Facebook

Like insane

Like a tree crying leaves in the autumn of lifetime… Like a mirror reflecting tears of a dusty rain… Like a vampire devoted to the bloody pain… Like a neck chain, a pantomime playing emptiness bonded with vain… Like a thorn causes grime… am I insane?

VN:F [1.8.1_1037]
Rating: 0.0/5 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Post to Twitter Post to Delicious Post to Facebook

PHP: الدليل على أهمية التحديث

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

و ﻷستطيع بيان وجهة نظرى سوف أذكر حالة حدثت بالفعل فى PHP  و سببت ثغرة أمنية إعتبرت فى ذاك الوقت خطيرة ليس على PHP وحدها (و لنا فى هذا مقال إن شاء الله)

أى برنامج يأخذ القيمة المدخلة بواسطة المستخدم و يضعها فى متغير و الذى بدوره تقوم PHP بتخزينه فى الـSTACK (عذراً فلم أستمزج أن أقتنع بترجمة معينة لهذة الكلمة – كما هو الحال مع الـPARAMETER) ، و على افتراض أن القيمة النصية المدخلة أكبر من المساحة المخصصة للمتغير فى الـSTACK و بما أن حجم المتغير لا يتم تحديده فى PHP ، و هذا يعنى أنه نظرياً ممكن يكون بأى حجم ، و لكن عملياً هو محدد بحجم الذاكرة المتاحة على الخادم (أبسط تعريف ممكن) ، فى عام 2006 و تقريباً فى الشهور الأخيرة (لا أذكر التاريخ تحديداً) تم اكتشاف ثغرتين فى PHP من أهم و أخطر الأشياء التى حددت مستقبل اللغة فيما بعد ، و الثغرتين هما: htmlspecialchars و htmlentities

هما “وظيفتان” – كما يحلو لى ترجمة FUNCTIONS  أو “دالتان”  بالترجمة المتعارف عليها – من ضمن البنية الأساسية لـPHP و فكرة عملهما أن وسوم HTML لا تكون أكثر من ثمانية أحرف و هذا صحيح فى معظم الأحيان ، و (لكن) و عند استخدام UTF-8  و قيام PHP بالتدقيق على البيانات التى سوف تقوم بتمريرها هذه “الوظائف” و تجد أنها (البيانات) تزيد على الثمانية أحرف فإن PHP و بكل بساطة تزيد المساحة بمقدار حرفين (أصبح الناتج عشرة أحرف) و تحدث الثغرة بدءاً من تمرير إحدى عشر حرفاً (و هو ما يتمكن عن طريقه المهاجم أو “القرصان” من تمرير أى شفرة يرغب عن طريقها فى الحصول على بيانات بطريقة غير مشروعة).

و هنا يجدر بى الشرح قليلاً لموضوع الأحد عشر حرفاً (غاية فى الأهمية) و هو الـUTF-8 ، إحدى أساليب معالجة تشفير اللغات  فى الـUNICODE بما يسمح باستخدام الأحرف من خارج الأبجدية الرومانية لعرض الـMULTIBYTE LANGUAGES مثل العربية و الروسية و لغات أخرى ، و تقريباً تشمل الـUNICODE القياسية كل اللغات المتداولة ، و هى لغات كل حرف فيها يتم رسمه بأكثر من BYTE واحد و إخترعت فى الأساس لحل مشاكل محدودية جدول الـASCII و جدير بالذكر أن ASCII 128 (و هى الجدول المستخدم فى الحوسبة عموماً) تحتاج فى تشفيرها للحروف إلى BYTE واحد فإذا عادلنا حرف من جدول الـASCII بالـUTF-8 نجده ما زال حرفاً واحداً ، و الـUNICODE القياسية تحتاج إلى ثلاثة BYTES لتتضمن (افتراضياً) معظم الأحرف المستخدمة فى كل اللغات تقريباً كما سبق و ذكرنا ، و فى الـUTF-8 نجدها تحجز أربعة BYTES و لا نعتقد أن الـBYTE الرابع فارغ أو غير ضار (و هو ما سنحاول اثباته فى كتابنا ان شاء الله).

نخرج من هذه القصة العريضة (أعتذر عن الإطالة) بحتمية تحديث الـPHP كلما توفرت نسخة مستقرة و مراعاة تحديث الأنظمة و ملفاتها و مكتباتها الأساسية و الفرعية كلما أمكن ذلك ، و المحصلة أنه بما أن هذه المشكلة أو القصور قد كان و تم التعامل معه فى PHP 5.2 و ما بعدها فإن هذا لا يعنى عدم وجود مشكلات أخرى قد تكون أكبر و لكنها مختفية أو لنقل أنها لم تظهر بعد ، و الغريب أن نفس المشكلة ظهرت من قبل فى وظيفة أخرى قبل هاتين الوظيفتين و هى wordwrap وقد تم حلها. المقصود أيضاً من كلامى أنه لا يمكن الإعتماد على PHP وحدها لإبقاء برامجنا آمنة و خالية من القصور و المشاكل الأمنية ، بل لابد لنا من الدفاع عن شفرة برامجنا و بياناتنا بأساليبنا البرمجية التى قد تكون فى بعض الأحيان معقدة لخدمة غرض آخر أكبر و أهم و هو “الأمن”.

ملحوظة: هذا المقال لا يعنى شيئاً بلا مناقشات حقيقية حول أساليب الحماية البرمجية و للحديث جزء آخر عن إعدادات الـPHP.ini

المراجع

  • The web applications hackers handbook
  • أخطاء المبرمجين الأمنية (كتابنا الذى لم ننته منه بعد) إدعوا لنا بالتوفيق
  • php.net
  • unicode.org
VN:F [1.8.1_1037]
Rating: 0.0/5 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)

Post to Twitter Post to Delicious Post to Facebook



Get Adobe Flash playerPlugin by wpburn.com wordpress themes