Sunday 16 October 2016

Crazy Code (Part 1)

This is first Crazy Code about reflect in java this code when run the out put is
love love love love yes it is due to reflection and java string treat the same value of string also same offset in memory so it replace all try to run
       
import java.lang.reflect.Field;
public class TestCodes {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        String str = "hate";
        String str2 = "hate";
        String str3 ="hate";
        String str4 = "hate";
        Change(str2);
        System.out.println(str + " " + str2 +" "+str3+" "+str4);
    }
    public static void Change(String original) {
        try {
            Field stringValue = String.class.getDeclaredField("value");
            stringValue.setAccessible(true);
            stringValue.set(original, "love".toCharArray());
            stringValue.setInt(original, 5);
        } catch (Exception ex) {
            // Ignore exceptions
        }
    }
}


the second code in C++ it print I Love you
#include<stdio.h>     
void main()
{
system("color fc");
char *ilu="STILL THINKING HOW I DID IT?\
!r/g.g#i.g/g!j/g.g#i.g/g+g!q0g!mag/h(g!m]g+g!p<g!h`i!l`g!k`g!h\
<g+g!p}g!i}g!i}g!h0g!g]g}g!g}h`g!h}g+g!p<g!h`g}g`g!h}g`h]g`g0g}\
g0g!g}g`g!h<g+g!q]g!n`g!o0g+g!r]g`h!g]g`g0h!g]g}g!g}g!j0g+g!n`g!\
i0g!h}g!g}g!g]g`g0g]g`g0g!h0g(g+g!m}g!g]g!h]g0g`g0g]g!n0g(g+g!m]g\
`g]g}g!g0g!g`h!gag]g!j0g(g+g!p]g0g`g0g\
g.i-g]g(g.g(g!g0g";
//}g]h+g!u]g0g";
for(i=28;l=ilu[i++];)
for(u=(*(ilu+++i)-((1<<6)+(1<<5)+(1<<2)+(1<<1)));u--;)
putchar(!((l-11)^(1<<5))?l-1-(1<<5):l-1);
}
 
Every week I will posted some crazy or open source code for developers if there are any misunderstand write comment and i will replay 

Saturday 15 October 2016

مستقبل البرمجه في مصر *الاسبوع الرابع

كيفيه تطوير المبرمجين لانفسهم

ثم تبدا مرحله جديده مرحله البحث عن عمل بعد التخرج وكيفيه  التعامل مع هذه الفتره الصعبه ان طالت واليائسه ان امتدت فلذلك لابد من استغلالها افضل استغلال وتتعامل معها بعده اشياء ثابته منها لاتضيع وقت في التردد في اي مجال تعمل استثمر في اي شي انت تعرف فيه بمعني لو كنت تفهم اكثر في مجال معين طور نفسك فيه بجميع مشتقاته حتي تذيد فرصتك في العمل في فرص افضل واستخدم مواقع مفتوحه المصدر (Open source)مثل sourcecodester.com   وغيرها مثل github.com  الخ.. ليس من الضروري ان تفهم كل المكتوب في الكود انما ان تعدل عليه وتجعله كمصدر سابقه اعمال لك (portfolio) ومع متابعه اكثر الوظائف الموجوده في بدايه عملك  من صفحات المواقع الاجتماعيه اومواقع التوظيف اوLinkedin.com  ولا تبحث عن المال كبدايه وايضا لا تبحث عن الهلكه والاستعباد في العمل حتي تكون سعيدا علي الاقل في اول سنه عمل حاول بقدر الامكان الا تعمل خدمه عملاء وان عملت قلل ساعات عملك واجعلها دائما فتره انتقاليه ان سائت الظروف لذلك حتي توفق في ايجاد فرصه عمل مناسبة .

وتبدا بعد ذلك مرحله العمل حسب اختياراتك الاولي لاتفكر في تغيير التكنولوجي التي اشتغلت بها في بدايه مشوارك المهني وتطوير نفسك في مجال اخر الا بعد ان تتمكن في عملك الاساسي  ويصبح اغلبه روتين بالنسبه لك حتي لا تترك شي ورائك اجتهدت فيه لا تعرف عنه الكثير وايضا حتي لاتشتت نفسك في فتره تقييمك الوظيفي و حاول دائما ان تستغل كل وقت فراغ وراحتك ان كانت ساعه  فنصف ساعه تكفي وان تخرج يوميا بالاسبوع  فثلاثه تكفي وان كان مره في الاسبوع  فمره في الشهر تكفي وهكذا ولكن هذا الوقت يكون في تطوير نفسك  ليس في راحتك ونومك وقرارك وعملك هو ما يدفعك الي العلا اما طريق التطوير فلابد ان تضع عده اشياء منها الا تفوت عليك فرصه تطوير (open source)  منها (php,android,jquery,…)  ثم تتمكن في مجال اخر ولكن لاتفوت ابدا تعلم (open source ) هذه الاولي  اما الثانيه عمل freelancer  حاول ان تبدا فيه من اي اتجاه لانه يطور تفكيرك واحتكاكك اكثر بسوق العمل ومتطلبات العميل لاتدخل مجال اداري قبل ان تبدا في العمل كموظف اولاا حتي تكون ابعد من الفشل اذا فهمت سيكلوجيه الموظفين والتكنولوجيا الموجوده بمجالك ولاتنس تعلم لغه واحده علي الاقل واخذ شهاده دوليه فيها حتي تواكب مجالك بصوره افضل من فديوهات بغير العربيه 

الغريب انه من الصعوبه تطوير نفسك في لحظه يائس فيها وفعليا قليل جدا من الخريجين الجدد من يطور نفسه قبل العمل واقل منهم من يطور نفسه في العمل يرجع لعده اسباب منها قبل العمل ومنها في العمل اما قبل العمل اولها  يكون الخريج في حاله تفاؤل في الغالب وانه تعلم الكثير في فتره الجامعه حتي لو كان عنده فكره ان الدارسة الجامعيه لاتستمد مناهجها من سوق العمل الا قليلاا  وثانيها ان كل فتره تمر بدون عمل تذيدك ياس واحباط وتقليل سقف الاماني وثالثها ان اهدافك كثيره بدون تركيز منها ما يهدف الي شهرة ومنها الي اموال ومنها الي علم وذكاء وقوه عمل  اما في العمل اولها انه لايوجد وقت كافي ثانيها المواصلات والزحام والتعب والارهاق ثالثها انه بيوم الاجازه الراحه شي مقدس مالحل لقد ذكرت قبل ذلك اننا نضع اولاا المشاكل كلها في كل مرحله حتي تتوحد رؤيه المشكله ثم نضع الحلول   .. يتبع 
Written by Technical Manager at highcoder

Tuesday 4 October 2016

مستقبل البرمجة في مصر *الأسبوع الثالث

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

تبدا قصه التطوير في الكلية بدون  خبره في التطوير ذاته عن طريق حلول البرامج المطلوبة في المادة لكل محاضره عملي ثم التخرج ويبقي في اي شركه بعد ذلك ويشتغل بدون راحه بدون تفكير الا في حل مشكله معينه لن يفيق الا بعد فوات الاوان او يفيق في مشروع ذو خبره مختلفة في شغله او شركته وقد يرجع لغيبوبته مره اخري و من المؤسف ان التطور والخبره في مجالنا هذا  لمعظم الشباب مجرد سنين تمر ولا يذيد خبره الا سرعه عمل لمجموعه مشاريع عمل بها من قبل بدون تطويرها وايضا سرعه في كتابه الكود وزياده عليها خبره افضل في السيرش لكن بدون قدره علي حل مشكلات عالميه لن اقل غير محلوله انما محلوله اصلاا وايضا غير قادر علي كتابه ما هو افضل في نفس مجاله وطريقه كوده واحده من بدايه كتابته للكود لم تتغير الا طفيفا ربما في التنظيم ربما في التركيب مجرد عامل هندي يجيد سرعه وانجاز مشروع روتيني هل تسائلت بكل التعب الذي انت به وكل الخبره التي تراها في نفسك وكل المشاريع التي عملت بها والمشاريع التي تكبرت بها  ان سوق مصر برمجيا صفر  وان ليس لك كود مستخدم علي مستوي عالمي او حتي محلي دعني ولا تتعبني زوجتي  وقلة ووقتي وولدي وتعبي وفشلي كلها امور واهيه ليس لانها سهله انما لانها طبيعة عاديه في الكل ليس بك وحدك و ان النجاح ليس مجرد انك تاخذ مرتب محترم وفي شركه قواعدها سليمة وليس الفشل ايضا انك في البيت يائس الامور محبط كل شي حتي تشك في دينك ونفسك امسح الماضي وارحم نفسك ودعنا نكمل مجدا سعينا اليه 
 اكثر الامور شيوعا في تطوير المبرمج لنفسه هو كيف يبدا واي لغه برمجيه يتعلمها الحقيقه ان هذا اتفه امر قد تواجه في بدايه وكل بدايه لكن مالذي يجعله صعبا هو واقع الحال الذي نحن فيه بأن المبرمج ينظر الي كسب المال فقط ثم توافر العمل ليس علي اساس شغفه او امل هو اراد ان يفعله العيش بمعني ادق ولكن السعي وراء المال فقط متعب وصاحبه متردد متاخر في قراراته وبالتالي حياته واي مجال ابدعت فيه يخلق لك المال والعمل وتبدا اختياراتك بعده اشياء.
      اولا اقسام الكليه شبكات(IT) او علوم حاسب (CS)او نظم معلومات (IS) او  الانظمه المدمجة ( (Embedded System
قسم الشبكات : هو نظام توصيل الاجهزه او سيرفرات ووضع احسن تركيب لها بوضع عده اعتبارات منها الحمايه منها السرعه منها التحمل(reliability) ولكن لاتوجد كليه  في مصر تعطيك كل مادتها العمليه بمعني ستكمل بعد ذلك فتره كورسات و قد تطيل المده كي تبحث عن عمل فلا يدخل هذا المجال الا اكاديمي في الغالب ولكن اذا اردت الاستمرار فيه لابد ان يكون لديك عده قواعد اولها انك لاتبحث سرعه التوظيف ثانيا ان يكون عند اهلك سيوله اموال لكي تعلمك باقي الكورسات ثالثها انك علي درايه بالمجال قبل الكليه في البحث عن اخر تطوراته  رابعها ان هذا المجال ليس له علاقه بالبرمجة اصلاا  فان توافر بك كل هذه الشروط  ادخل المجال بلا تردد
علوم الحاسب : هو المعني الحقيقي لكلمه مبرمج بمعني انه مجال برمجه في المقام الاول سواء desktop   system, services, database ,web application, وغير ذلك ايضا حتي برمجه الموبايل ولكي تدخل هذا المجال لابد ان تتوافر بك عده اشياء اولها انك تحب البرمجه عموما بغض النظر اي لغه برمجيه تعمل بها ثانيها انك تحب التعرف كل مايخص لغه برمجه معينه وتحب الكتابه بها ثالثها انك محترف في البرمجه ومعروف بين زملائك علي الاقل وليس في نفسك ليس الحب وحده يكفي بمعني ان البرامج المطلوبه في الكليه سابقا  تحلها بنفسك في الغالب وليس تاخذها جميعا من زملائك فكن بهذا المجال بدون تردد ولن تندم فأن كنت غير ذلك لاتدخل هذا المجال الا اكاديمي فقط
نظم المعلومات : المشهور عنه برمجه الويب عموما و وقواعد البيانات (database)  هذا المجال مناسب جدا لعموم المبرمجين لتوافر العمل فيه وقله التفكير فيه من ناحيه حل المشكلات واذا ايضا كنت ضعيف في البرمجة ولكن تحبها فسيكون هذا المجال تطوير لك وربما تتفوق فيه وهذا الغالب ومعظم عمله تركيب اكواد وهذا المجال تدخله اذا توافر فيك عده اشياء ايضا منها اولها انك تحب البرمجه عموما  ثانيها ان يكون مستواك مقبول او فوق المقبول فيها ثالثها انك تحب انجاز العمل السريع وتحب ان تري ناتج عملك في وقت قليل اما ان كنت غير ذلك فلا تدخل هذا المجال
الانظمه المدمجه :  هذا المجال مخصوص لمن يحب الهاردوير والسوفت وير ودقيق اكثر في عمله لا يتطلب ان تكون محترف كثيرا ولكنه مجال مختلف عموما بحيث انك تري ما صممت من برامج علي واقع الطبيعه من ربوت يتحرك او آلات معينه له عمل كثير ولكن ليس في مصر الا قليل واذا اردت ان تدخل هذا المجال له عده اعتبارت لابد ان تتوفر فيك اولها هو ان تاخذ كورسات لكي تذيد فرصتك في الحصول علي عمل ثانيها ان تكون مستعد ان تصرف علي فعل شي اذا تطلب الامر ذلك ثالثها شغفك بهذا المجال
اما اذا كنت بدون هدف او متردد في كل شي وتخاف ان تاخذ قرارا خاطئا فادخل مع اصحابك في نفس قسمهم ربما تحدد بعد ذلك ولان اصحابك غالبا في نفسك تفكيرك وايضا لان اختيارت الكليه ليست مصيريه لهذه الدرجه ويوم تحدد هدفك هو يوم صيامك عن لذاتك ومتطلباتك في سبيل الحصول عليه ويوم تحصل عليه هو يوم فرحك بالعيد ليس بالضروري ان يكون لك هدف في البدايه انما تجعل هدفك هو العمل  لذلك ساكمل الاسبوع القادم كيفه قضاء وقت البطاله حتي تحصل علي عمل وكيفيه تطوير نفسك في العمل لانه هذا هو الاساس وهي ايضا القرارات المصيريه منها يجعلك في كندا واوربا ومنها مايجعلك في مصر ومنها مايجعلك في دول اكثر تخلفا منا .
       يتبع الاسبوع القادم في باقي العوامل في الاختيار
Written by Technical Manager at highcoder

Oracle requires a subscription to use Java SE NOW

May be licenses won’t be available for Java SE 8 or later, but separate support contracts also go away after Microsoft acquire G ithub...