مدونة مؤيد

غيّر العالم ... أو العب بعيداً

Google Chrome OS : القصة الكاملة

خمس أيام مضت منذ إعلان غوغل عن نظام تشغيلها الجديد، Google Chrome OS، لم يبقى موقع تقني صغير أو كبير لم يذكر الخبر، بتحمس شديد من كارهي مايكروسوفت وبتوجس من أنصارها.   منذ اللحظة الأولى بدأ الكثيرون بوصف النظام الجديد بأنه “ضربة قاصمة” لمايكروسوفت، وأنه سيكون منافس شرس لويندوز بنفس الطريقة التي كان فيها فايرفوكس منافس لإنترنت إكسبلورر من مايكروسوفت وأفقده حصة كبيرة من سوق المتصفحات.   لماذا قررت غوغل بناء نظام تشغيل؟ : يجيب عن هذا السؤال موقع Mashable عن طريق شرح معادلة غوغل للربح، سأقوم هنا بتلخيص تحليل المقالة عن الموضوع :   “غوغل لا تريد بناء نظام تشغيل لتحظى بحصة كبيرة في سوق أنظمة التشغيل، إنهم يريدون بناء نظام تشغيل يجعلك تقضي وقتاً أطولاً على الويب.” في العام الماضي أعلنت غوغل عن ربح بلغ 21 مليار دولار، 95% منها من إعلانات غوغل على المواقع وفي نتائج البحث. غوغل على يقين أن أي وقت إضافي تقضيه على الويب سيؤدي إلى إعلانات أكثر، وبالتالي ربح أكبر، سيؤدي إلى تجميع معلومات أكثر عنك، هدفها (تعليق شخصي: واحد فقط من أهدافها، وليس هدفها الوحيد، مما يجعل الأمر أسوأ كثيراً) هو إظهار إعلانات تستهدف اهتمامك، وبالتالي يمكن تلخيص طريقة غوغل الوحيدة للربح بالمعادلة البسيطة : قضاء وقت على الويب = ربح.   غوغل في جميع منتجاتها تحاول جعل المستخدم يقضي المزيد من الوقت على الويب، وهي تضغط في تلك المنتجات على منافسيها لجعلهم يبنون حلول تعمل على الويب أيضاً، مما يعني بالنتيجة ربح إضافي لغوغل نفسها، وليس متصفح كروم استثناءً هنا، حيث حاول المتصفح جعل المستخدمين يعتمدون على تطبيقات الويب Web applications أكثر وأكثر، ومثال آخر هو Google Docs، الذي شكل ضغط على مايكروسوفت صاحبة حزمة أوفيس وجعلها تسعى لتشغيل لبرامج حزمة أوفيس على الويب.   ما أعلنت عنه غوغل هو أن نظامها الجديد “ستكون فيه أغلب نشاطات المستخدم على الويب” وأن “جميع تطبيقات الويب ستعمل فيه بشكل تلقائي”. من ضمن ذلك الإعلان، قالت فيه غوغل أن النظام سيكون معتمداً على متصفح كروم (حتى أن اسم النظام يحمل اسم متصفح غوغل كروم!)، وهو ما يظهر أن غوغل لا تريد حصة في سوق أنظمة التشغيل، كل ما تريده هوتحقيق معادلة ربحها وذلك ببناء نظام “يجعل المستخدم يبدأ باستعمال الويب خلال ثواني”، إنها ستبني نظام يساعد في دمج الويب أكثر في عمل المستخدم.   ما الذي سيفعله المنافسون؟ تتمنى غوغل أن تقتبس مايكروسوفت وأبل ميزات النظام في العمل على الويب وتصبح تلك الميزات جزءاً من أنظمة التشغيل القادمة للشركتين، وهو ما سيحقق نفس الهدف، جعل المستخدم يقضي المزيد من الوقت على الويب.   النتيجة، نظام التشغيل غوغل كروم لن ينافس ويندوز أو غيرها، لأن هذا ليس هدف غوغل أصلاً، غوغل تريد من هذه الخطوة أن تساعد المستخدم في قضاء المزيد من الوقت على الويب، وتأمل أن يقدم منافسوها نفس المساعدة للمستخدم!

مشروع PwdHash، حل لكثير من المشاكل الأمنية على الإنترنت

PwdHash هو مشروع قديم بدأ العمل فيه في جامعة ستانفورد في العام 2004، ونظراً لأني لم أكن أعلم عنه شيئاً حتى قرأت عنه اليوم، وجدت أن من الضروري الكتابة عنه للذين لا يعلون عنه مثلي!   PwdHash وهو اختصار لجملة Web Password Hashing هو مشروع يقوم عليه خمسة أشخاص من جامعة ستانفورد معظمهم يحمل درجة بروفيسور ومعظمهم يمارس التدريس في ستانفورد، أحد هؤلاء الخمسة هو Blake Ross الذي ندين له بظهور فايرفوكس عندما كان يعمل في موزيلا وكان حينها في التاسعة عشرة من عمره، فقط!   يعالج هذا المشروع مشكلتين خطيرتين في مجال الأمن عند استخدام مواقع الإنترنت، المشكلة الأولى هو الخطأ الشائع الذي يقع فيه حدد لا يحصى من الناس، وهو استخدام نفس كلمة المرور في جميع المواقع التي يسجلون بها، والمشكلة الثانية هي المواقع المزورة والتي يطلق عليها مواقع الـPhishing.   تكمن مشكلة استعمال نفس كلمة المرور في عدد كبير من المواقع بأنه لو تم معرفة كلمة المرور التي يستعملها المستخدم من قبل صاحب أحد المواقع المشبوهة أو من قبل أحد المخترقين الذي استطاع أن يخترق موقع ضعيف الحماية قام المستخدم بالتسجيل فيه لأصبحت كلمة المرور الخاصة به معروفة ويمكن استعمالها في مواقع مهمة كمواقع التجارة الإلكترونية أو موقع المصرف الذي يتعامل مع المستخدم.   وأما مواقع الـPhishing المزورة فهي تقوم بمحاكاة موقع مشهور ومهم (كـPayPal مثلاً) وإيهام الزوار أنها ذلك الموقع نفسه لجعلهم يقومون بإدخال كلمات مرورهم إلى الموقع المزور وبالتالي سرقة حسابهم في الموقع الأصلي.   هذا المشروع يقترح حل على شكل إضافة للمتصفح الذي تستعمله، يقوم بالحصول على كلمة المرور التي تنوي استعمالها في الموقع الذي تزوره، ويقوم بالحصول على عنوان نطاق الموقع، ثم يقوم بعمل تشفير Hash لهذا الزوج من كلمة المرور وعنوان الموقع مما يعطي كلمة مرور فريدة لذلك الموقع، في حال تمت سرقتها فهي لن تعمل إلا في الموقع الذي سرقت منه، وفي حال أدخلتها إلى أحد مواقع الـPhishing فهي لن تعمل على الموقع الأصلي، كونه يختلف في العنوان عن الموقع الأصلي، وبالتالي فكلمة المرور المولدة له تختلف عن كلمة المرور المولدة للموقع الأصلي.   البعض انتقد هذه الطريقة وقال أنه عند سرقة كلمة مرور الخاصة بأح�� المواقع، وعلى اعتبار أن السارق يعلم كلمة المرور المشفرة ويعلم عنوان الموقع الذي سرقت منه، يمكن أن يقوم بتجريب كلمات مرور مختلفة ويشفرها مع العنوان حتى يحصل على كلمة المرور المشفرة نفسها، وبالتالي يكون قد عرف كلمة المرور الأصلية، طبعاً نحن نعلم الصعوبة الشديدة لهذا، وخاصةً مع كلمات مرور معقدة تحوي أرقام ورموز مما يجعل الأمر شبه مستحيل.   هذه الإضافة متوافرة للمتصفحات الشهيرة : Firefox 3.5, IE6/7, Opera، كما أن هناك موقع آمن لإصدار كلمة المرور في حال أردت استعمال الطريقة دون إضافات للمتصفح.

إغلاق التبويبة Tab الأخيرة في فايرفوكس 3.5

بعد لحظات من بدأ استعمالي لفايرفوكس بنسخته الجديدة 3.5، لاحظت أولى التغييرات المزعجة، إن كانت النافذة الحالية تحوي تبويبة (Tab) واحدة فلن تستطيع إغلاق هذه التبويبة دون إغلاق فايرفوكس كله، أو دون فتح تبويبة جديدة وإغلاق القديمة! وإن أغلقت التبويبة الوحيدة (بضغط الاختصار Ctrl+W مثلاً) فستجد أن المتصفح أغلق بكامله. في النسخة الماضية، كان للتبويبة الأخيرة زر إغلاق يسمح بإغلاقها وفتح تبويبة فارغة بدلاً عنها. لا أعرف حقاً ما الذي كان يجول بذهن من ألغى هذه الميزة! ليس هناك خيار يمكنك من تغيير هذا السلوك العجيب وإعادة إظهار زر الإغلاق مرة أخرى، ولكن هناك حل يخفف من المشكلة، وهو يأمر المتصفح بعدم إغلاق نفسه عند إغلاق تلك التبويبة، وذلك بكتابة about:config في شريط العنوان، ثم وعد فايرفوكس بعدم العبث بالإعدادات دون معرفة ما تفعله حقاً، ثم البحث عن المفتاح browser.tabs.closeWindowWithLastTab وضبط قيمته (عن طريق الضغط المزدوج عليه) إلى False. الآن فقط، إن حاولت إغلاق آخر تبويبة (بضغط الاختصار Ctrl+W أو بضغطها بزر الـScroll في الماوس) ستجد أنها أغلقت بنجاح ودون أن يغلق كامل المتصفح! لاحظ أنك - حتى بعد تطبيق هذه الطريقة - إن ضغطت على التبويبة الأخيرة بالزر الأيمن للماوس وظهرت القائمة المنبثقة، ستجد أن الخيار Close Tab مازال لا يعمل! عن طريق : Lifehacker.

أفضل الخلاصات (Feeds) للمبرمجين ومطوري البرمجيات

بعد بحث طويل عن مدونات برمجية لأتابعها باستخدام قارئ الخلاصات الذي أستخدمه (FeedDemon) على اعتبار أنني أحظى بعطلة طويلة (إذن سأعود للتدوين!) وجدت العديد من المدونات التي تستحق الإضافة، *أغلبها* ملخص في قائمة يسميها صاحبها أفضل مئتي مدونة للمطورين : Top 200 Blogs for Developers، وهي قائمة جيدة جداً إن أردت رأيي، لاحظ أن لها توجه لا بأس به نحو ذكر المدونات التي تتحدث عن Agile، كما تذكر لك صفحة Twitter الخاصة بأصحاب المدونات. شخصياً أضيف للقائمة مدونة Scott Guthrie والتي استغربت عدم وجودها في قائمة "أفضل 200 مدونة" تلك، رغم أنها - أي مدونة سكوت - أفضل من كثير من المدونات الموجودة في تلك القائمة. لاحظ أنك ستجد تلك المدونة مفيدة ومثيرة للاهتمام في حال كنت مهتم بتقنيات مايكروسوفت (كسيلفرلايت، ASP.NET، وغيرها) *فقط*.

Google القصة الكاملة : لماذا يترك موظفي غوغل وظائفهم

سبقت أن تحدثت عن بيئة العمل في شركة Google في عدة مناسبات، و قد *كنت* معجباً بما عرف عن هذه الشركة من توفير بيئة العمل المثالية لموظفيها لزيادة إنتاجيتهم إلى أعلى الدرجات، حسناً، همم، يبدو أنني كنت أبالغ إلى حد ما.. السبب في هذا أنني كنت أتحدث عن الشركة معتمداً على المعلومات التي كانت الشركة -وما تزال- تنشرها للتسويق لنفسها ولجذب أنظار المبرمجين و التقنيين من جميع أنحاء العالم، لم أكن الوحيد الذي أعجب بهذه الدعاية، بل هناك الكثيرين ممن تركوا وظائفهم في كبرى الشركات (مثل مايكروسوفت، ياهوو!، و غيرها) و انضموا لغوغل ثم ندموا بعد ذلك، ندموا لأنهم اكتشفوا أن تلك البيئة لم تكن "الجنة على الأرض" كما كانوا ينظرون إلى غوغل قبل أن يروا الشركة من الداخل، كانت مجرد شركة جعلتهم أقل سعادة من شركاتهم السابقة. هناك الكثير من الأسباب: الراتب المنخفض بالنسبة للشركات الأخرى و التعويضات المنخفضة، سوء الإدارة و البيروقراطية أحياناً!، قلة الاحترام لبعض الموظفين، العملية الطويلة جداً التي استغرقها انتقالهم إلى الشركة، ... هذا الكلام هو من موظفين سابقين في غوغل، و أرسلوه إلى غوغل بعد سؤال الشركة لهم عن سبب تركهم لها و رغبتهم في *عدم* تجديد عقودهم معها. إن أردت أن تعرف حقيقة غوغل من داخل الشركة نفسها فعليك بقراءة ما نشره موقع TechCrunch تحت عنوان Why Google Employees Quit و الذي يحوي الكثير و الكثير من المعلومات و الرسائل من موظفين سابقين في غوغل عن سبب مغادرتهم ...

الملفات موجودة بالفعل، NET Compact Framework Cabs.

حاولت تشغيل أحد البرامج على جهاز ويندوز موبايل 5 الذي أستعمله فوجدته يطلب NET Compact Framework 3.5.، بحثت عنه على الإنترنت لأقوم بتحميله فوجدت أن حجم التحميل 33 ميغابايت و هو حجم كبير جداً لأحمله باستخدام خط الإنترنت الديال-آب الذي أستعلمه. السبب في كبر حجم الملف هو أنه يحوي ملفات الـCab لمختلف أنظمة التشغيل و لمختلف أنواع المعالجات و هو ما لن أحتاجه بالطبع، كنت أتمنى أن أستطيع تحميل ملف Cab وحيد لويندوز موبايل 5 بمعالج ARMV4I و بحجم صغير و انتهى الأمر. ما الحل إذن؟ فكرت في Visual Studio 2008، بما أنه يقدم ميزة تطوير البرامج لهذا النظام فلا شك أنه يوفر الملفات الضرورية لتشغيل هذه البرامج على هذا النظام، قمت بالبحث في مجلدات البرنامج، و فعلاً وجدت الملفات كلها في المسار التالي : C:\Program Files\Microsoft.NET\SDK\CompactFramework وجدت في هذا المجلد مجلدين آخرين، الأول و اسمه v2.0 و فيه مجلد آخر اسمه WindowsCE يحوي المجلدين wce400 و wce500 و هما يحويان ملفات NETCF 2.0. لأنواع الأنظمة المختلفة. و أما الثاني و هو v3.5 فهو يحوي في المجلد WindowsCE ملفات NETCF 3.5. لأنواع الأنظمة المختلفة أيضاً. أرجو أن تفيدك هذه المعلومة إن واجهت نفس المشكلة التي واجهتها.

ما الذي حصل؟

لا أعرف!، منذ بداية الشهر تقريباً بدأت تظهر مشاكل غريبة في المدونة لم أعرف ما سببها، ففي البداية ظهرت رسالة "Down for Maintenance" التي استمرت حوالي عشرة أيام ثم تبعها دمار شامل في المدونة، بعض الأحرف العربية تم استبدالها برموز غريبة في التدوينات و التعليقات، لخبطة كبيرة في التصنيفات، مشاكل في الروابط، خلل في القالب و غير ذلك من المشاكل. الحمد لله أن عندي نسخة احتياطية من المدونة قبل المشكلة بفترة قصيرة، و إلا كنت اضطررت لأصلح كل المشاكل يدوياً، المهم، قمت باسترجاع هذه النسخة و ضبط بعض المشاكل الأخرى و استبدال القالب القديم (لأنه أصبح إنكليزياً، من اليسار لليمين) بهذا القالب الجميل. أعتقد أن تدوين تتحمل المسؤولية، فكثيراً ما حصلت مشاكل في المدونة في الآونة الأخيرة، و لم تقم لا بالاتصال بأصحاب المدونات و لا بذكر شيء عن المشكلة أو الصيانة المخططة. حرمتني هذه المشاكل من الحديث عن كثير من الأشياء التي رغبت في الحديث عنها، لذلك سأكتب هنا ملخصاً سريعاً عوضاً عن ذلك : -طرح النسخة الجديدة من موقع In|Structurez العزيز تحت اسم الشبكة العربية لمطوري الألعاب، و هو الآن مختص بتطوير و تصميم الألعاب بشكل أساس��، فإن كنت مهتماً بهذا المجال فقم بزيارته لأنك ستجد معلومات لن تجد مثلها في أي موقع عربي آخر. -إطلاق شبكة محترفي Silverlight، فإن كنت أحدهم فهذه دعوة لك للانضمام إلى الشبكة و التعرف على محترفين آخرين حول العالم. -طرح النسخة Beta1 من Silverlight 2، و يمكنك تحميل الملفات الجديدة من صفحة Get Started من موقع Silverlight. -إعلان نوكيا دعم تطبيقات Silverlight على أجهزة سيميان S60 و S40 و كذلك الـInternet tablets الخاصة بهم و المعتمدة على نظام لينكس.

أخطاء و مشاكل برمجية مدمرة

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

هل Build تعني Compile؟ و مواضيع أخرى

يطرح هذا السؤال العديد من مبرمجي دوت نيت، فلا نجد في Visual Stduio قائمة تسمى Compile، و نجد فيه قائمة تسمى Build تقوم في معظم الأحيان بمجرد عملية Compile، لذلك يبني البعض استنتاجاتهم أن Build تعني Compile. و في الحقيقة أن هذا الاستنتاج خاطئ، فعملية Build تختلف تماماً عن عملية Compile، هذا الاختلاف هو أن الـCompile ما هي إلا جزء من أجزاء الـBuild، الأجزاء الأخرى قد تتضمن إنشاء Installer، نشر البرنامج إلى مكان ما، القيام باختبارات مختلفة عن المشروع، إخبار الفريق بالعملية، و غيرها... و هاهي بعض الروابط التي وجدتها مفيدة : أفضل إضافات تطوير المواقع لـInternet Explorer : لقد تعودنا أن نرى الكثير من الإضافات لمتصفح Firefox، و لكن قلما نرى إضافات لـIE. أكثر من 50 مصدر لطلاب علوم الكمبيوتر : و هي تتضمن كل ما يحتاجون (أدوات، مراجع، نصائح، عمل، ..) في مختلف المجالات (حماية، ذكاء صناعي، برمجة، ...). 40 سبب لموت البرمجيات : و كل سبب هو عبارة عن رابط لمقال آخر مفصل. أفضل مئة لائحة بالـCheet Sheets : و كل لائحة بدورها تتضمن عدة Cheet Sheets في مختلف مجالات البرمجة، صفحة مفيدة جداً. درس في MySQL : درس طويل و مفيد و مفصل لمن يريد أن يتعرف على هذا النظام الشهير. أفضل 10 مواقع لمصممي الويب المستقلين (Freelancers).

Sun تشتري MySQL

في صفقة جديدة من صفقات تلك الشركات الكبرى، أعلنت شركة MySQL أنه تم شراؤها من قبل شركة Sun Microsystems الشهيرة. صفقة مثيرة فعلاً، و نقطة إضافية لمصلحة Sun، تهانينا!