Archive for the ‘Ahmed’ category

Cloud Niners is seeking the best in Mansoura

August 25th, 2010

C9 Quest for the Best

CLOUD NINERS® is a multinational cloud computing software development enterprise.

From the day of foundation by a group of Information Technology veterans; CLOUD NINERS® has been providing software products and solutions, enabling any business to become an E-Business with faster and more efficient operations, real-time information flow and greater responsiveness to customers. CLOUD NINERS delivers value to its customers by linking information technology to business parameters such as productivity, quality, cost and time.

At CLOUD NINERS® we have made it our mission to challenge the ordinary. Through our extraordinary precision and our exacting quality, we strive to continuously deliver enticing experiences and lasting impressions

Cloud Niners is seeking top notch engineers to join C9′s next-generation cloud computing application research and development team.
Engineers will get a chance to work on C9′s patent-pending cloud-based technology. As a C9′er you will specialize in building world-class products using cutting edge technologies over C9′s cloud-based patent-pending platform

No matter which Cloud Niners team you join, you’ll be building something big and new. You won’t simply be finding answers; you’ll be framing questions that no one has ever asked before – and identifying unprecedented opportunities. We welcome pioneers. In fact, we insist on them! » Read more: Cloud Niners is seeking the best in Mansoura

رمضان ٢٠١٠

August 11th, 2010

كل عام و انتم بخير و اللهم تقبل صيامنا و قيامنا و صالح اعمالنا و اغفر لنا ذنوبنا و اصلح حال المسلمين في مشارق الارض و مغاربها. اللهم اهدنا فيمن هديت و عافنا فيمن عافيت و بارك لنا فيما اعطيت و اصرف عنا شر ما قضيت برحمتك يا ارحم الراحمين

اتمني من الله ان يكون العام الجديد من بعد رمضان هو عام صلاح في اخلاقي و اخلاق المسلمين اجمعين و ان يجمعنا الله على طاعته و ما فيه صلاح ديننا و دنيتنا و آخرتنا

انا بجد احبكم في الله و اتمني من اللي زعلان مني انه يعفو عني و يصفح و يدعو لي بالصلاح و المغفره

من كان يحبني في الله فليدعو لي في هذا الشهر الكريم

The good and bad about web2py

July 29th, 2010

a few months ago I was looking for a web development framework that is less painful and fun. Earlier I’ve been using web2py and I was partially satisfied of what it can do in a very short period of time. However, after I started to use web2py in production I was hit by the following facts that made me completely unhappy

Disadvantages of web2py

  • web2py doesn’t support unit testing, it supports doctests which is far from being optimal for a testing freak like me and is too limited in terms for the scope, you cannot really do the same level of tests you used to do in normal server side or desktop programs.
  • web2py does use Python which is my favorite scripting language so far and the one that I have been using for the last couple of years continuously. While Python is a great language it was used in a twisted way to design the framework, Python magic was all over the place, variables defined globally are allover, you cannot see real OO in the design, plus the code follows PEP-8 which I hate its do_blah_function style (lots of underscores). » Read more: The good and bad about web2py

What does VirtualBox need to be production/enterprise ready?

July 22nd, 2010

I’m a VirtualBox fan and I’ve been using it a few years now and my satisfaction varied from highly disappointed in some situations and at some points, to highly satisfied at others. I’ve also used the Python API for VirtualBox and it has been a not-so-good experience especially when it comes todocumentation, I would say that the API is poorly documented and there are several functions missing proper documentation or missing any documentation at all.

However, through my journey with VirtualBox, I fell in love with VirtualBox and while doing that and I wanted to take the love to the next level :) I wanted to use VirtualBox in a server environment as a virtualization server, where I failed miserably.

I failed not because I couldn’t do it, but because it wasn’t easy for the administrator to configure and monitor the system.

VBox Auto Control

First, I wanted to start some machines on boot and I couldn’t find any straight forward way to do that from the VirtualBox GUI or from the CLI and the only way was to write my own shell scripts that still did not give me all the features I was looking for. I expected to find some easy way to do that as in VMWare but I had to do that manually.

So, I decided to write a controlling service for vbox that uses a simple configuration file to spawn and save/shutdown machines on boot/poweroff which should make our life easier when we try to use vbox as virtualization host hypervisor.

Enterprise-class Management GUI

That’s one big issue with VirtualBox, people tend to look at the GUI as a meter to measure the features of the hypervisor in hands and VirtualBox fails miserably because of its very basic user interface that lacks 70% of the features provided by any decent hypervisor offerring like VMWare and that is really shocking for people who are looking forward to using this in production.

The following is a list of some of the things you cannot do from the GUI but you can do either from CLI or the API:

  • You cannot choose the type of the virtual disk (either vdi, vmdk, or raw)
  • You cannot monitor machines performance (IO, CPU, Network, etc)
  • You cannot configure the DHCP servers running for NAT network mode, you cannot also configure any of the NAT features (port forwarding, redirection, DNS proxy, etc)
  • You cannot clone disks, snapshots, etc.
  • You cannot see any of the tele-transportation features in the GUI.
  • You cannot change the BIOS logo.
  • You cannot control any of the configuration parameters for the guest clock and timers.
  • You cannot control the automated guest logons features in the guest addons.
  • You cannot set any limites to CPU, Network, Disk IO for the virtual machines.
  • You cannot bind virtual cores with physical CPU cores.
  • You cannot overcommit memory allocation.

And many more, VirtualBox is really fruity but everything is hidden behind this ugly GUI that doesn’t show except the basic stuff for the below average user.

Testing and Release Management

VirtualBox lacks the production-quality testing process and they have been seeing many regressions lately and releasing minor updates quite often, which is fine but doesn’t work well with the enterprise-class sector in the market. VirtualBox should be covered more by tests and the release management should be more careful for regressions and the too-frequent updates they are throwing to the end  user.

During my journey with VirtualBox, I’ve seen many many crashes in the hypervisor where it fails to start a machine or restore a snapshot and I’ve seen many cases where VirtualBox got stuck while changing the state of the virtual machine, most of the those cases happened in a tight memory environment where the host didn’t have plenty of free memory available for VirtualBox. Still, more testing is needed and some bug reporting tool is required to make things easier for users to submit or issue tickets for bugs.

العلاقات العامة لأسرائيل

June 4th, 2010

حاجة غريبة جداً لاحظتها و انا بدرس ازاي اسرائيل بتروج و بتبرر عبر الاعلام الالكتروني و جيشها الاعلامي على الانترنت و لقيت حاجة غريبة قوي ، اسرائيل عندها حساب علي تويتر للعلاقات العامة اسمة IsrealGlobalPR@ و الغريب اني شفت فيه كام رساله اثارت انتباهي جداً اثناء موضوع اسطول الحرية

Sneak preview of our impartial investigation: “Israel’s response was proportionate and justified”

بمعني “نظره سريعة علي تحقيقنا النزيه (طبعاً قبل عملة): رد اسرائيل كام متناسب و مبرر

Friendly reminder to those deported, before speaking to the media remember that Israel has you names, addresses & identities

تذكره لمن تم ترحيله ، قبل التحدث مع الاعلام تذكر بأن اسرائيل لديها اسمائكم و عناوينكم و هوياتكم

US citizens from the flotilla have been released. USA, please try to control our taxpayers

المواطنون الامريكيون قد تم الافراج عنهم ، امريكا ، من فضلك حاولي التحكم في دافعو الضرائب لنا (اي من يدفعون لنا الضرائب)

Israel apologises for the death of a US citizen aboard the flotilla, however we must state that the individual was not white

اسرائيل تعتذر عن موت واحد من المواطنين الامريكين علي السفينه، علي العموم يجب ان نقول انه لم يكن مواطن ابيض!

الحقيقة مش مصدق نفسي ، هي دي الطريقة اللي اسرائيل بتكلم بيها العالم يا جماعة ، انا محتاج اسمع ارائكم و نفكر بطريقة استراتيجية في ردودنا عشان دلوقتي الحرب مش بس بالبنادق ، الحرب بالانترنت

و على فكره حماس واضح انها عندها واحد زيه HamasGlobalPR@ و نلزلين طحن في بعض لكن انا اعتقد انه اسرائيل اللي عاملاه لأن فيه كلام كتير اهبل و مش ممكن يكون من حماس فعلاً

NoSQL Introduction

May 26th, 2010

NoSQL introduction — The road to infinite scalability.
CAT Scope 11

Video:

Slides:

العباقرة يصنعون لا يولدون

May 9th, 2010

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

العباقرة يصنعون لا يولدون — سأحاول تلخيص المحاضرة في هذه المدونة بإذن الله

توماس اديسون يقول

العبقريه هي ١٪ الهام و ابداع و ٢٩٪ نصيحة و ارشاد و ٧٠٪ مجهود

فكيف نجعل من انفسنا عباقرة و نحن في امس الحاجة لصناعة عباقرة في وطننا الاكبر “الوطن العربي”

و هذه هي الشرائح (slides)

محاضراتي القادمة

May 5th, 2010

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

سأبدأ بمحاضرتين في كليه الهندسة — جامعة المنصورة

يوم السبت الموافق ٨ مايو ٢٠١٠

عنوان المحاضره: العباقرة يصنعون لا يولدون
مده المحاضره ٤٥ دقيقة
مكان و زمان:  قاعة الاستاذ الدكتور رشاد البدراوي الساعه ١١:١٥ صباحاً

يوم السبت ١٥ مايو ٢٠١٠

عنوان المحاضره: الطريق الي قواعد بيانات لا متناهيه الحجم
مده المحاضره: ساعة
مكان و زمان: قاعة الاستاذ الدكتور رشاد البدراوي الساعة ٣:٠٠ مساءاً
تفاصيل المحاضره:  http://catreloaded.net/scope/2010/05/ahmed_soliman/

كيف يمكن للمشاكل الامنية في موقعك ان توثر على حياة الملايين

April 13th, 2010

اذا كنت من مبرمجين الويب سواء حديثاً او مخضرماً فيجب ان تتعلم كثيراً عن الحماية و الامان في برمجة الويب و هو الجانب الذي يهمله كثير من المبرمج خاصةً العرب بدون فهم لتداعيات اختراق المواقع او الاسباب التي تدفع المخترقين للاستيلاء علي معلومات قد تتخيل انها ليست مهمة ، فدعني اشرح لك اكثر لتتخيل الامر بصورة اوضح

كلمات السر

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

الكثير يتخيل ان بمجرد استخدام اسلوب تشفير بسيط او حتى غير بسيط فقد حقق الحمايه الكاملة لكلمات السر و قد يتخيل انه بمجرد استخدامه للتشفير الاحادي الاتجاه (one way encryption) فقط حقق اعلى درجات الامان و هذه كلها معلومات خاطئة ، فليس معنى انك لاتستطيع فك كلمات السر المشفرة في قواعد بياناتك بأن لا احد آخر يستطيع ، بالعكس هذا معناه ان هناك شخص اكثر علماً و مقدرهً يستطيع. ايضاً المشكلة هي تأمين كلمة السر ليس فقط في قواعد البيانات و لكن يجب ان تفكر في الحمايه من الطرف للطرف (end to end) بمعني هل كلمه السر مؤمنة من بدايه كتابتها و حتى وصولها لقواعد البيانات؟ فكر في كل النقاط التي تمر عليها كلمة السر في الجهاز و الشبكة و اسأل نفسك هذا السؤال دائماً

بياناتك الشخصية

قد لا تتخيل ابداً ان هناك شخص مهتم ببياناتك او بيانات المشتركين في موقعك الشخصية و لكن انتظر ، هل فعلاً هي بيانات غير مهمة؟ و اذا كانت غير مهمة اليوم هل ستكون مهمة غداً؟ فهل اذا اصبحت بعن عده سنين مديراً او وزيراً ، هل ستتغير بياناتك الشخصية مثل تاريخ الميلاد و رقم البطاقة الشخصية او اسمك بالكامل و غيرها؟ بالطبع لا

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

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

مصدر الصورة

Introduction to Algorithms and Data Structures Using Java

April 5th, 2010

After my latest survey on my Training Courses post, I decided to announce a state-of-the art course in algorithms and data structures in java course in Mansoura (My Second love, after Alexandria).

The course is a life-changing experience and will allow you to advance from being a coder to a computer scientist programmer. The course is 36 Hours of hands-on experience on algorithmic challenges using the Java programming language.

The course is pure computer science and can be applied on any programming language either functional or object oriented but all examples will be applied on the Java programming language to meet the vast majority of the programmers-base as the java language is the most common open source programming language and almost known to every programmer. » Read more: Introduction to Algorithms and Data Structures Using Java