الأحد، نوفمبر 08، 2009

البرادعي رئيساً لجمهورية مصر العربية 2011





الجمعة، يوليو 24، 2009

Documentary: The Israel lobby - The influence of AIPAC on US Foreign Policy



الخميس، يونيو 18، 2009

about the history of hacking

this is a great documentry I found about the history of hacking, involving Steve Wozniak "woz" co-founder of Apple, and captain crunch.




الخميس، مارس 26، 2009

تاريخ السي C

بيل كلينتون يكرم دينيس ريتشي و كين تومسون

السي هي لغة برمجة طورها دينيس ريتشي Dennis Ritchie بين 1969 و 1973 في معامل at&t علشان تساعد في تطوير نظام التشغيل يونكس Unix وتطوير البرامج اللي هتشتغل عليه.

حاليا تعتبر الـ C اللغة الاولى او التانية على العالم من حيث الشعبيه، عدد مبرمجي الـ سي وكمية الكود المتاحة على النت، ونظم التشغيل اللي اتكتبت بالـ سي، من الويندوز لـ اللينوكس، كل ده عظم من مكانة الـ سي وبقت تقريبا الاساس لكل لغات البرمجة اللي اتطورت بعد كده، زي لغة الـ سي++ ++C اللي بدأت أصلا كنسخة من السي لكن محدثة على اتجاه تاني هو الـ object oriented programming (ترجمتها بالعربي سيئه جدا، برمجة الكائنات او حاجه زي كده)، بس الـ سي function oriented programming، وكل نوع منهم ليه مميزاته وعيوبه، وحسب البرنامج واللي مطلوب منه بيتم اختيار اللغة.

الكمبيوتر كجهاز لا يفهم لغة معينة، كل اللي يفهمه هو تسلسلات من الـ 0 و 1 اللي بتمثل قيمتيين من الفولت او فرق الجهد، قيمة صغيرة ممكن 1 فولت هي الـ 0 وقيمة اعلى زي 5 فولت بتمثلها الرقم واحد، باستخدام القيمتيين دول اتبنى الكمبيوتر على نظام ارقام او تشفير هو البيناري binary،وكل شيء بينفذه الكمبيوتر او البروسيسور من أغاني او عرض صور هو في النهاية مشفر بالنظام ده، والماشين كود Machine code او الكود اللي بيفهمه البروسيسور هو عباره عن نظام الارقام ده.

علشان تامر الكمبيوتر انه ينفذ عمليات معينه على بيانات، او تطور برنامج يعني، لازم توصف للبروسيسور الاوامر دي بنظام الارقام الثنائي الـ binary، بعد كده علشان العملية تتسهل طوروا شبه لغه اسمها الـAssembly language او اللغة التجميعيه، وهي عباره عن اوامر محفوظه بتتغير من بروسيسسور لبروسيسور حسب المصنع، وهي لغة صعبه اوي برده.

هنا تظهر الـ سي، عبقرية اللغة دي انها سهلت عملية البرمجه جدا، اوامرها وكلماتها من الانجليزي، وبعد كتابة البرنامج، المترجم او الـ compiler بيترجمه للغة معظم االبروسيسورز اللي في السوق، فالكود واحد ويشتغل على اجهزة مختلفة ونظم تشغيل مختلفه.

اللغة هي عباره عن كلمات محجوزة او key words، محجوزة بمعنى ان المبرمج ماينفعش يسمي متغير مثلا بكلمة من الكلمات دي لان ليها معنى، كلمات زي int-float-if-while، وبالكلمات دي وقواعد معينة اتكتبت المكتبة او الـ library، المكتبه دي تحتوي على ملفات اسمها header files، زي stdio.h و math.h، متعرف في الملفات دي الدوال او الـ functions اللي هتستخدمها في البرنامج، ممكن تكتب ملف header انت وتعرف functions تانية تقوم بنفس الوظايف، بس لو استخدمت ملفات المكتبه هتوفر عليك كتير.

هابقى اكتب اكتر عن تفاصيل اللغة بعد كده، بس هنا انا مهتم بتاريخ اللغة اكتر.

بعد انتشار اللغة، بدات تظهر نسخ مختلفة من اللغة، فكل شركة بتطور compiler بتزود في المكتبه شويه، وتزود شوية قواعد علشان تسهل اللغة فالـ compiler بتاعها ينتشر ويبيع اكتر، وده خطر على اللغة لانها بتتحرف لنسخ مختلفه، في 1983، كونت الهيئه الوطنية الامريكية لمعايير "American National Standards Institute "ANSI لجنة علشان تحط المعايير او النسخة الاساسية للغة، 1989 صدق على المعايير وسميت ANSI X3.159-1989 "Programming Language C."، او ANSI C، وفي 1990 تبنت مؤسسة المعايير العالمية International Organization for Standardization او "ISO" النسخة دي وسميت ISO/IEC 9899:1990. أخر نسخة اقرت في 1999 واسمها ISO/IEC 9899:1999.

في دلوقتي compilers كتير اشهرها GCC و Microsoft visual studio، وفي SUN studio و Geany.

معظم الستوديوز دي اسمها IDE او Integrated Development Environment، لانها بتحتوي علي text editor اللي هتكتب فيه الكود، والـ Compiler اللي هيترجم الكود ده، والـ debugger اللي هيساعدك في تصليح الاخطاء.

الثلاثاء، مارس 17، 2009

مصر محتجالك

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

ياترى لو الواحد حاول ينفذ الكلام ده اليومين دول، وقال لاي واحد في الشارع "مصر محتجالك"، هيرد عليه يقوله ايه؟

الاثنين، مارس 09، 2009

Siftables

أفكار مثل هذه تحدد طريق تقدم التقنية مستقبلاً، وهي التي تجعلني أعشق هذا المجال، تظهر تقنية بسيطة تستخدمها عقول مختلفة لتبني مختلف الافكار المبتكرة، التي تساعد في توجيه الاجيال الناشئه لتبتكر أكثر، فكرة بسيطة لطريقة مختلفة للتحكم بالاجهزة، نتجت عنها منتجات كثيرة، بداية من الآي فون وانتهاءً بالـSiftables.


الجمعة، مارس 06، 2009

some of the new betas

I tried out some of the new beta browsers to take aquike look at the future of the web, and I liked what I saw, I didn't try Firefox 3.1, but I'll try it as soon as possible.

my biggest surprise was Safari 4, the browser took a completely different route, trying to get the best of known browsers, which could give it a boost in the browsing market.


compared to Safari 3, Safari 4 is much lighter -it loads much faster-, like Google Chrome, but with much better interface, an interface copying very clearly from the best in each browser, it does better than Safari 3 in rendering -I'm talking about windows versions-, and it's faster in loading pages too.


but what I liked most was the developer tools included with the browser, just turn on the Develop menu from preferences and you will have a very powerful tool to help you make the best out of your site, like the Resources tool in Web Inspector in this pic, which displays the speed of loading Nasr Misr, and shows the time taken to load each and every element in the page, from the document and styling sheets to Images and script.


IE8 was a good progress for Microsoft too, it has a better design than IE7 with almost the same interface, and it loads faster too, but what I read about IE8 getting closer to support standards is not true, or at least was not as I thought, supporting w3c standards is a very important step that Microsoft needs too take, as you can see from this pic Nasr Misr still has the same error like in IE7, the whole left wrapper is not displayed right and the old Egyptian Flag is not Shown at all, I'll try to find a work around for IE to fix that soon, but I would appreciate it If I didn't have to.


but It wouldn't be fair not to talk about Firefox, the browser which started this war and was the reason of helping the web take the shape it has now, web 2.0 would not have been there if we were still stuck with IE6, I'll try to test drive Firefox 3.1 soon, but what I think Mozilla must work on is making Firefox what I call Chrome-light, making it load faster in windows would save Mozilla a lot of trouble in the coming round.


Google Chrome contributed a lot in the browser war, and made a good point in it's first year addressing the lightness issue, but it still has a lot to do when it comes to it's interface, I don't like it, some times pursuing simplicity could lead to a lot of complications.