اندرويد و الآيفون في اوبنتو

June 28, 2010 by

انا ضمن الأقلية التي لا تواطن الهواتف النقالة (اترك النقال مطفيء لعدة اسابيع دون شحن). قبل عدت أسابيع جرى نقاش بيني و بين عدة اشخاص عن افضل نقال. منهم من صف مع الآيفون و منهم من صف مع الاندرويد وانا -كلعادة- إختلفت عن الأثنين عندما ذكرت رأيي بأن نوكيا افضل جهاز نقال. وهذا بالفعل ما اعتقدة بعد استخدامي لأجهزتهم؛ فجهاز نوكيا الجهاز الوحيد (من بين الهواتف التي إشتريتها) الذي يؤدي عملة كهاتف! (تعاملت مع أي-ميت(وندوز) وسامسونج و بام تريو(بام) و جميعهم فشلوا كهواتف).

لحظت اني لا استطيع المشاركة نظراً الى انني لم استخدم الآيفون ولا الاندرويد. فكيف لي تحديد الجهاز الأفضل. لذا قررت ان أجرب حظي مع الهواتف “الذكية” مرة أخرى (بعد تجرع مرارة الآي-ميت) عل وعسى قد اصبح وضع تلك الأجهزة افضل.

الآن جاء وقت الإختيار بين آيفون (شركة متخلفة و متسلطة، نظام غبي، جهاز جيد) و اندرويد (شركة شريرة ولكن مفيدة، نظام عادي، الجهاز يعتمد). نظراً إلى انني لا اجد السعادة في تبذير كل مدخراتي على اجهزة ستكون عديمة القيمة خلال عدة اشهر، قررت تنزيل وتنصيب محاكي (مع عدة المبرمجين؛ SDK) لكلى الجهازين. ومقارنة الفرق. هنا برز الفرق الشاسع بين الشركتين والنظامين:

ابل والآيفون

عند بحثي عن عدة المبرمجين للآيفون والتي يفترض ان تحوي محاكي للنظام، فوجئت بأن العدة لا تعمل إلا على أجهزة آبل! بل و يجب ان يكون لديك كلمة مرور حتى تستطيع تنزيل العدة؟!

سبب دهشتي من هذا التصرف ان جميع الشركات (عدا ابل فيما يبدو) تحاول إغراء المبرمجين حتى يطوروا البرامج على أجهزتهم او انظمتهم من خلال تذليل العقبات لهم. فكل الشركات التي تعاملت معها بما فهم سَن (أوركل)، قوقل، و حتى مايكروسوفت توفر رابط مباشر لعدة المبرمجين دون الحاجة للتسجيل، ولم تحدد اي شركة منهم نظام معين تجبر المبرمجين العمل عليه.. إلا ابل. عجرفة بمعنى الكلمة!

ببساطة، فقدة ابل زبون آخر.

قوقل والاندرويد

لم اقدِر قوقل حق التقدير الا بعد تعاملي مع ابل. على الرغم من محاولتها للسيطرة على العالم، إلا ان قوقل تتعامل مع البشر كأنهم بشر. فعدة المبرمجين متوفرة للجميع و على الأنظمة الثلاثة لينكس، ويندوز، والماك. وتُزيل العدة بضغطة زر (بعد الموافقة على الشروط).

بإتباع الخطوات على سوفتبيديا، إستطعت تثبيت العدة (والمحاكي) على لينكس بدون مشاكل تذكر. عل اهم ما يجب ذكره ان العدة تحتاج الى عدة جافة للمبرمجين الأصلية sun-java6-jdk و sun-java6-jre، وليس java6-runtime و java6-sdk. اود أيضاً ان انبه على ان المحرر eclipse غير ضروري بل مستحب.

الآن بعدما ابعدت احتمال اقتنائي للآيفون، استطيع التركيز على الاندرويد، او هذا ما اعتقدته. عندما قراءة عن المحاكي، لاحظت انه مبني على QEMU. عندها توقعت المشاكل .QEMU محاكي رائع يستطيع محاكاة أي معالج و العمل على أي نظام. المشكلة في انه مكتوب بحيث يتجنب التعمق في اي نظام و بتالي يقوم بكل العمل بنفسه دون مساندة من نظام التشغيل وذلك لضمان سهولة نقلة من نظام لآخر. وكان حدسي في محلة فقد كان المحاكي بطيئ جدا بحيث يعلق النظام قبل ان تظهر القائمة. لحل المشكلة، جعلة للمحاكي الأولوية على جميع البرامج الأخرى من خلال تغيير رقم الـnice إلى -20 (أقصى ما يمكن، أولوية حتى على init). ولأن جهازي لديه معالجين (centrino duo@1.83GHz) لم يؤثر المحاكي على باقي البرامج حيث كان يستغل معالج واحد.

على الرغم من بطئ المحاكي، إلا انني إستطعت تجريب اندرويد حيث تعبثت في القوائم والمتصفح وحتى الطرفية. و طريقة “سحب” الصفحات و القوائم مثيرة للإهتمام.
و بالتعبث داخل نظام الملفات، تبين لي ان اندرويد، رغم التغيرات الكبيرة في تصميمة و نقص عدد كبير من الأدوات المعتادة (حتى uname)، لارال يونكس. قم بزيارة /proc لمعرفة قصدي🙂

الطريقة التي تبنيتها في التعامل مع المحاكي (بعد الإنتهاء من خطوات سوفتبيديا):

أ. إفتح الطرفية، ثم حولها إلى دليل tools داخل دليل عدة البرمجة للاندرويد.
ب. نفذ الأمر:

./emulator -shell @[إسم الذي إخترته] 

بدل “[إسم الذي إخترته]” بما فيه الأقواس بإسم الجهاز الذي حددته اثناء تصيبك للمحاكي (في سوفتبيديا). الإظافة “-shell” تفتح طرفية مع صلاحيات root.
ج. (إختياري) إن كان جهازك بطيء، إفتح طرفية اخرى، و إدخل الأوامر التالية:

ps -A | grep emulator

سيظهر لك سطر واحد في أوله رقم. إنسخ الرقم و ادخلة في الأمر التالي (دون الأقواس):

sudo renice -n -20 -p [رقم]

د. انتظر. بعد دقيقة إلى عدة دقائق، ستظهر لك واجهة اندرويد.

بصراحة، طريقة التعامل مع الجهاز جميلة. ولكن هل سيصلح كهاتف ام لا؟
عندما أستخدمت هاتفي اليوم (بعد اسبوعين تقريبأً من الإهمال)، حاولت ان أجد مبرر لشراء اندرويد ولكن لم استطع ان اجد مبرر واحد. فهاتفي الحالي يعمل بشكل ممتاز. يبدوا ان الإجابة على السؤال السابق ستنتظر.

آبل: لأنك لا تحتاج لدماغ

June 20, 2010 by
تنويه:لا أقصد الهجوم على شخص معين بل على المنطق الذي تتبناه آبل في تصميم و ترويج منتجاتها.

بدأت هذه قصة قبل فترة، عندما عثرت على خلفية مميزة (أنظر لأسفل الفقرة) لآبل على أحد المواقع لإستعمالها ضد anxious بسبب حساسيته المفرطة من الشركة. ولكنني أعجبت ببساطة الخلفية و الألوان المستخدمة (ذكرتني بألوان الماك اا).

ولكن مع إستمراري في استخدام الخلفية، لاحظت انها تعاني من مشاكل عدة منها علامة آبل الجديدة و البقعة السوداء في المنتصف. فقررت ان ارسم نسختي الخاصة من هذه الخلفية. وإليكم الناتج:

انا -المؤلف- اهدي لكم هذه الخلفية و اتخلى عن كافت حقوقي المتعلقة بها (public domain). للكل نشرها أو التغيير فيها دون اذن مسبق. قبل ان اختم هذا الموضوع، اترك لكم هذه الوصلة الممتعة.

إحذر! موجة هجمات مقنعة تستهدف معلوماتك الشخصية

May 27, 2010 by

تم النبيه مؤخراً عن هجمات تستغل السلوك المستخدمين السائد في التعامل مع التبويبات في المتصفح. الهدف الرئيسي من هذا الهجوم هو الحصول على المعلومات الشخصية للمستخدم (اسم المستخدم، كلمة السر، …الخ) و يمكن إستهداف اي موقع و لا يعتمد على نظام او متصفح معين.

يجدر بي ان اذكر ان هذا النوع من الهجوم غير فعال على المواقع التي تستخدم صور التي يحددها المستخدم لضمان هويتها. و yahoo خير مثال على ذلك (بشرط انه تم تحديد الصورة مسبقاً).

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

ارجو نشر هذه المعلومات سواء من خلال المدونات او الرسائل او حتى الحديث عنها حتى لا يقع احد فيها لا سيم ان هذا النوع من الهجمات سهلة التنفيذ و يمكن لأي مغفل القيام بها.

المصدر (ملاحظة: يمكنك تجربة هذا الهجوم شخصياً عند زيارة المصدر)

دوائر مربعة تصل للكويت

May 12, 2010 by

بسم الله الرحمن الرحيم.

آخر الأخبار المتعلقة بالمشروع المُكهرِب الذي كتبت عنه في المرة السابقة و الذي لم أحدد إسمه بعد🙄

من ناحية العتاد

وصلت الدوائر المدمجة التي ستتوسط بين البرنامج و الصاعق!

حتى اتمكن من التحكم بالدائرة الكهربائية، احتاج إلى وسيط يصدر إشارات المناسبة. ولو سألتني قبل عدة سنوات عن أفضل طريقة لتحقيق هذا، لأقترحت الـparallel port. فبرمجة هذا المنفذ من أسهل ما يمكن إضافةً على حقيقة انه يوفر 8 قنوات إخراج و 5 خطوط إخراج (دون إستخدام خطوط مزدوجة الإتجاه). و لكن في السنوات الأخيرة، تراجع إستخدام هذه المنافذ لصالح الـUSB. و هنا يأتي دور هذه الدوائر.

دوائر FT232 (من إنتاج FTDI البريطانية) تقوم بتحويل منفذ الـusb إلى منفذ تسلسل أو إلى 8 قنوات مزدوجة الإتجاه. فهي جاهزة للعمل و لا تحتاج إلى البرمجة (على عكس Arduino)، و هي قليلة التكلفة (على عكس Arduino)، و لا أكرهها (على عكس Arduino)😀

من ناحية البرنامج

بصراحة لم أجد فرصة لجلسة برمجة جدية. و لكن انجزة ما يعادل 34.52% من الوضائف المسؤولة عن إكتشاف البرامج المطلوب مراقبتها. للتخزين، أنوي أستعمال sqlite3. لمن لم سمع به (ولا يريد البحث عنه)، sqlite هي مكتبة تمكن البرنامج من إنشاء و استعمال قاعدة بيانات متنقله (بشكل ملف عادي). و لا يحتاج البرنامج أي برامج أخرى مساندة مثل ,mysql (غير المكتبة طبعاً).
أما للتواصل مع FT232RL، أنوي إستخدام المكتبة libftdi عوضا عن مكتبة D2xx لعدة اسباب، عل اهمها ما يلي:

• لا تحتاج إلى تثبيت مكونات إضافية للنظام:
تعتمد libftdi على libusb، و الذي بدوره يقوم بالتعامل بشكل مباشر مع منفذ الـusb. و هذا يعفي المستخدم من تحميل “تعريفات” إضافية للنظام. و بما أن مكتبة libusb تعمل في نطاق المستخدم (و ليس في نطاق النظام\النواة كالـ”تعريفات”)، فإن البرنامج لا يحتاج إلى صلاحيات إضافية للعمل (sudo مثلا)، بالإضافة الى عدم التأثير على إستقرار النظام.
و لكن كل هذه المزايا لها ثمن. فالمكتبة غير متوفرة على أنظمة أخرى (بالأخص MS-Windows). و هذا الحقيقة لا تمثل عائقاً بالنسبة لي لأني أنوي الإعتماد على امور لا تتوفر إلا في لينكس (و يونكس بشكل عام). و لكن هذا لا يمنع من تطوير برنامج لوندوز لا سيم ان D2XX متوفرة و ان الإختلاف بين المكتبتين يكاد يكون معدوم (من ناحية البرمجة فقط).
• المكتبة مفتوحة المصدر: حل مشاكل مكتشفة بشكل اسرع.
• متوفرة من خلال مستودعات أوبونتو: سهولة التثبيت.

ختاماً، إقترح البعض إضافات للمشروع من ناحيتي العتاد(أضوء و أصوات) و البرنامج (طرق بديلة عن الصعق). إضافات على البرنامج سهلة إن شاء الله. و لكن الصعوبة تكمن في تغيير الدائرة بعد وضعها. فإذا أردتم إقتراح أي إضافات للعتاد أو مناقشتها، الآن هو الوقت! و لكن إنتبه الى ان زيادة في المميزات قد يساوي زيارة في حجم الجهاز النهائي.

و السلام عليكم و رحمة الله و بركاته…

غلطتك! لأنك تستخدم فايرفوكس

May 6, 2010 by

السلام عليكم،

قبل فترة قصيرة بينما كنت أقضي وقتي في منتدى تجريبي على موقع q8geeks.org، إقترح أحد الأعضاء فكرة بسيطة للحد من إستخدام الإنترنت و هي عبارة عن طوق يسعق المستخدم إن زاد عن مدة معينة. التالي نص الإقتراح:

firas1886
if dogs can have a dog collar to control their barking

i think i need an internet time wasting collar
if i start typing: “yout”–BZZZT

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

سيتكون المشروع من جزئين، برنامج و دائرة الكترونية\كهربائية، و سيعمل تقريباً كالتالي:
يقوم البرنامج بمراقبة المستخدم من خلال مدة إستخدام البرامج الكلية، و إن تعدى برنامج محدد (يعينة المستخدم بنفسه) مدة زمنية معينة (أيضا، يعينة المستخدم)، يرسل البرنامج رسالة الى العتاد (الدائرة) لكي تسعق المستخدم بتيار مؤلم. و أنوي جعل العتاد مرن بحيث يتعامل مع أي نظام بإستخدام أي برنامج، وذلك لتوسيع دائرة استخدامة: يمكن للبرنامج ان يكون مخطوطة، أضافة فايرفوكس، برنامج c، أو أي شيئ آخر يستطيع التخاطب مع العتاد. الفكرة هنا جعل المشروع متوافق مع أكبر شريحة من المستخدمين.

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

عند القراة عن مدى تحمل الإنسان للتيارات الكهربائية، بدأت التفكير في خطورة الجهاز و ذلك ان التيار، حتى يكون محسوسا، يجب ان يكون كبيراً نسبياً (>5mA). و لكن يكون التيار خطر على الإنسان إذا تعدى 60mA😦 . على كلٍ، سأجرب بنفسي أولا و إن أخطئت بالحسبة سأكون انا الضحية و ليس انتم.

حالياً شرعت في كتابة البرنامج و 50% من القطع الكهربائية و الرقمية موجودة. سأقوم بإخطاركم بالمستجدات (إلا إذا توفيت طبعا :mrgreen:) إن شاء الله.

تخزين كلمات السر في صندوق البريد عادةٌ سيئةٌ

March 20, 2010 by

انا انسان كسول (و اعني هذا بمعنى الكلمة). فلا اتناول الأطعمة المطهية لأن الأمر يتطلب شغلا إضافيا و لا اخرج لشراء اشياء احتاجها لعدم استعدادي لبذل المجهود المطلوب. حتى ان الأمر يمتد الى تعاملي مع الجهاز الذي اطبع عليه الآن. فأن لا امانع هذه النهج.. الا في حالة واحدة عندما يكون او يتسبب في مشاكل.

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

لعلاج هذه المشكلة، إسخدمة gpg (برنامج يقوم بتشفير الملفات). فالبرنامج قوي و التعامل معه بسيط جدا و الأهم من هذا، ان البرنامج منتشر و حر المصدر (يمكن قك الشفرة على اي جهاز/نظام اخر). ولكن تعيبه مشكلة واحدة، الطريقة التي بيتم فيها تحديث او استخراج المعلومات (روتين ممل بمتد من 4 الى 5 سطور).

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

أشترك بتلقيم المشروع للحصول على احدث النسخ لهذا البرنامج (إضافة إمكانيات جديدة، تصليح أخطاء، …الخ)

طريقة الإستعمال

ملاحظة: يوجد فيديو عن إستعمال المخطوطة في الأسفل

الطريقة السهلة: إضغط على الوصلة ثم قم بإختيار و تنزيل احدث ملف المضغوطة. بعد ذلك باشر بإستخراج الملفات منه.
الطريقة المعقدة: إفتح ملف و قم بنسخ المخطوطة (موجودة في الأسفل) اليه و سجله بإسم gpg-get. ثم بإستخدام الطرفية، اضف خاصية الـexecutable للملف من خلال الأمر chmod +x gpg-get في نفس الدليل الذي قمة بتخزين المخطوطة فيه.
بعد الفراغ احدى الطرق، ستكون المخطوطة جاهزة للإستخدام.

إنشاء ملف اسرار جديد:

./gpg-get init

إضافة سطر جديد لملف الأسرار:

./gpg-get add

قراءة الملف:

./gpg-get get

او (للبحث عن سطر معين)

./gpg-get get السطر

هناك العديد من الخصائص الأخرى لهذه المخطوطة ولا يسعني ذكرها بأكملها هنا. لمزيدٍ من المعلومات:

./gpg-get help

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

./gpg-get clean
#! /bin/bash
#Y                          بسم الله الرحمن الرحيم
#Y gpg-get version 0.1
echo "
********************************************************************************
Warning! While runung, this script stores the passwords as clear text in a 
temporary file and then removes it before terminating. If the script was 
terminated midway, the file will not be removed! 
Use the \`clean' option to remove it.
********************************************************************************
"
if [ $1 == "get" ]; then
	gpg access.gpg
	# testing for errors from gpg
	if [ $? -ne 0 ]; then
		echo "* An error accured in gpg! aborting"
		exit 1
	fi
	#testing if access file exists
	if [ -f access ]; then
		if [ -z $2 ]; then
			less access
		else
			grep -i $2 access | less		
		fi
		rm access
		echo "* Removed temporary password file. have a nice day.
		"
	else
		echo "* password file was not found!"
	fi	
	
#adding passwords
elif [ $1 == "add" ]; then
	gpg access.gpg
	# testing for errors from gpg
	if [ $? -ne 0 ]; then
		echo "* An error occurred in gpg! aborting"
		exit 1
	fi
	#testing if access file exists
	if [ -f access ]; then
		cp access.gpg access.gpg.bkup
		echo "enter the new line to append to the access file"
		read passline
		echo $passline >> access
		echo "* re-encrypting gpg file. enter a new (or the same) password;"
		gpg -c access
		if [ $? -ne 0 ]; then
			echo "* An error occurred in gpg! aborting"
			exit 1
		fi
		echo "* Added new entry!"
		rm access
		echo "* Removed temporary password file. have a nice day.
		"
	else
		echo "* password file was not found!"
	fi	

elif [ $1 == "clean" ]; then
	echo "removing passwords file..."
	if [ -f access ]; then
		rm access
		echo "done! bye
		"
	else
		echo "There is nothing to remove, bye.
		"
	fi

elif [ $1 == "init" ]; then
	echo "creating new access file..."
	if [ -f access.gpg ]; then
		echo "encrypted access file already exists! bye
		"
		exit 1
	else
		touch access
		gpg -c access
		if [ $? -ne 0 ]; then
			echo "* An error occurred in gpg! aborting"
			exit 1
		fi
		echo "* Added new entry!"
		rm access
		echo "new access file created!
		"
	fi

else 
	echo "Usage:
   gpg-get ACTION ARGUMENT

ACTION is substitute with:

	init:   creates a new empty password file. only one password file can exist 
           per directory
   get:    To grep a line from the password file. ARGUMENT is the string to 
           search for and is optional.
   add:    Append a string at the end of the password file. can also be used to 
           change encryption phrase. a backup file is automatically created with
           the extension \`bkup'.
   clean:  To remove the clear text file.


Written by Sulaiman A. Mustafa  and 
is provided under the gpl version 3 or (at your option) later.

Post bugs/improvements on our mailing list at:
http://groups.google.com.kw/group/gatog?hl=en

__________
GATOG Team
Adnan Alliance Foundation
http://gatog.adnanalliance.org
"
fi


إليكم فيديو مثال على تثبيت و إستخدام المخطوطة…


المصدر: http://gatog.adnanalliance.org/script-center/gpg-get/media/gpg-get.ogg
لا تتردد في الإستفسار عن اي جانب من هذا الموضوع و لن نبخل عليك بالإجابة إنشاء الله.

كيف تصل إلى جهازك من الإنترنت

February 1, 2010 by
بسم الله الرحمن الرحيم

لكي تستطيع ان تصل للجهاز من أي مكان في العالم، سيتعين عليك فعل امرين:
1- فتح port في الراوتر/فايروال و تمريره الى ip جهازك حتى تتمكن من الدخول إلى الشبكة الداخلية.
2- استخدام خدمة Dynamic DNS (إختياري، و لكن انصح به بقوة) حتى تتمكن من الوصول الى الشبكة الداخلية.

أولا، سأفترض ان الجهاز موصل للراوتر الأساسي في الشبكة (الموصل بالإنترنت مباشرة). سيترتب عليك تحديد ip للراوتر، و يكون في العادة 192.168.1.1 او 192.168.0.1 (إن لم تغيره بنفسك) يمكنك استخدام arp لتحديده. إذهب إلى أي موقع، أفتح الطرفية (xterm للنكس، cmd لوندوز)، ثم أدخل arp للنكس (arp -a لوندوز).

بعدما حصلت على الـip، استخدم متصفحك للوصول إليه. ان طلب منك كلمة السر، يمكنك اجادها على الموقع التالي:
http://www.phenoelit-us.org/dpl/dpl.html

الآن بعد دخولك على صفحة الراوتر، إبحث عن شيء مماثل لـport forwarding أو Applicattions & Gamming في حالة لنكسيس. أدخل ip جهازك و port الويب سرفر (عادة ما يكون 80) و نوع الإتصال tcp. أحفظ التحديثات. و ستتمكن من بعد ذلك الدخول إلى شبكتك.

أما بالنسبة للوصول إلى الشبكة الخاصة و بالتالي جهازك، يمكنك استخدام ip الحالي للشبكة او استخدام Dynamic DNS. المشكلة في الـip هي انه يخضع لإرادة شركة الموفرة لخدمة الإنترنت. و أعلم شخصيا شخص عمل مشروع مماثل للمشروع الذي تقوم به و لكن يوم التقديم لم يستطع الوصول إلية بسبب تغير الـip. إضافة الى ذلك، فإن بعض الشركات تقوم بتغيير العناوين بشكل دوري!
ولكن للتجارب البسيطة يمكنك استخدام الـip للشبكة. و لتحديد الـip، اذهب (و أنت داخل الشبكة) إلى:
http://whatismyip.com

إن أتبعت الخطوات المذكورة حنى الان ستتمكن من الدخول إلى جهازك من أي مكان في العالم (ما لم يتغير الـip) من خلال:http://ip

أضفة الى ما سبق، يمكنك استخدام خدمة Dynamic DNS. هناك العديد منها، كـFreeDNS ( الموقع: http://freedns.afraid.org) و التي استخدمها منذ عدة سنين، و DynDNS (تفرض قيود إستعمال، على عكس FreeDNS). و كلاهما سيعين نطاق خاص لشبكتك يتغير بتغير الـip مثل JehaziAl3ajeeb.mooo.com🙂

يمكنكم الأستفسار من خلال منطقة التعليقات، أو (أفضل) طرح السؤال في القسم المخصص للمنتدى.

Disqus and Arabic

January 31, 2010 by

توفر شركة دسكس خدمة “تعليقات مجانية لمصممي الموقع. يمكنم من خلال هذه الخدمة إضافة طريقة يمكن للزوار من خلالها التعليق على أي صفحة HTML. و هذا بلا شك يُعفي المصمم من عبء كتابة برنامج من الصفر ليقوم بهذه العملية. و على الرغم من توفر وجه باللغة العربية، فأن إتجاه الكتابة لا يزال يتجة من اليسار إلى اليمين لمنطقة الكتابة. و للتغلب على هذه المشكلة ستضطر الى تغيير خصائص css المتعلقة بهذه العنصر.

المشكلة التي تواجة الكثير (بما فهم انا) عند محاولة تغيير هذه الخصائص هي أن مهما جربت من طرق، لا يتغير إتجاه الكتابة. سواء بتغير css للعنصر نفسة (textarea) او للإسم (form-message) او حتى ربط وظيفة جافاسكربت لتغير الcss من خلال DOM بحدث مثل window.onloaad لا يجدي نفعا. و السبب يكمن في عدة سطور التي تسبق العنصر textarea. فمعظم الناس يفترض ان textarea موجود على نفس الصفحة، ولكن في الحقيقة موجود بصفحة أخرى مضافة إلى صفحتك من خلال iframe.

أدرك تماماً ان iframe حذف من HTML4.1 strict، و لكن يبدو ان هذه الحقيقة لم تؤثر على من صمم هذا النظام…

لتغير إتجاه الكتابة او أي خاصية أخرى لـtextarea، سيتوجب عليك كتابة ملف css و إرساله لدسكس من خلال متغير جافاسكربت:

<script type=”text/javascript”>

var disqus_iframe_css = “http://نطاقك/style.css“;
</script>

أن لم يكن لديك نطاقك الخاص، يمكنك الربط بالملف http://adnanalliance.org/css/DISQUS.css. لجميع المتغيرات التي يمكنك ارسالها لدسكس إضغط هنا.
لا تنسى إحاطة الجفاسكربت بأكمله بـdiv (أو أي شيء آخر) لتعديل اتجاه الكتابة لباقي العناصر (التعليقات مثلاً).

يمكنكم الأستفسار من خلال منطقة التعليقات، أو (أفضل) طرح السؤال في القسم المخصص للمنتدى.


Ubuntu users of Kuwait: get your packages 3x FASTER!

January 5, 2010 by
توضيح: تم تحويل النطاق kw.archive.ubuntu.com ليشير الى ubuntu.qualitynet.net. أي انه لن يفرق اذا غيرت نطاق المستودع الى كوالتي نت اذا كانت تستخدم kw.archive.ubuntu.com بالأصل. ولكن الطريقة المذكورة لا تزال فعالة لمن يريد وصلة مباشرة للمستودع أو لمن لا يستخدم kw.archive.ubuntu.com.

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

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

الطريقة المعقدة نسبياً:

(مجربة على أوبونتو 8.04 LTS)

لتحويل الى المستودع الجديد، سيتوجب عليك اللعب بأمعاع الملف “sources.list”. و للإحتياط من أي مشكلة قد تنتج عن أخطاء أملائة او مطبعية، انسخ الملف كمايلي.
(ملاحظة: سيتوجب عليك ان تكون المستخدم ذات صلاحية كافية لكي تستطيع ان تغير في هذا الملف. أي root، او تستخدم sudo):

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

و الان الى العمل، افتح الملف “sources.list” بواسطة برنامجك المفضل (مثال بسيط موضح في الأسفل) و ابحث عن عنوان للمستودع الذي تسنخدمه. على سبيل المثال، العنوان الذي كان في الملف على جهازي يشير الى:
http://kw.archive.ubuntu.com/ubuntu/
قد يختلف هذا العنوان عن العنوان الموجود لديك. بعدما حددت الاهداف، باشر بتبديل كل هذه الوصلات بعنوان مستودع كوالتي:

http://ubuntu.qualitynet.net/ubuntu/
قبل المتابعة، أود التنبيه الى ان هذه العنوان (kw.archive.ubuntu.com) هو الوحيد التي قمت بتبديلها. فتأكد من عدم تبديل أي عنوان اخر، خاصةً العناوين المبنية على http://security.ubuntu.com/ubuntu

لتبديل العناوين بسرعه و سهولة، سأستخدم sed بدلا من المحرر . كل ما عليك فعله هو ادخال هذا الأمر في الطرفية:

sudo cat /etc/apt/sources.list.backup | sed "s/kw.archive.ubuntu.com/ubuntu.qualitynet.net/g" > /etc/apt/sources.list

قم بإعادة تحميل جداول apt:

sudo apt-get update

الطريقة السهلة نسبياً:

(مجربة على أوبونتو 9.10)

في أوبونتو 9.10 يمكنك التحول الى المستودع الجديد بإستخدام الفأرة و البئة الرسومية (طريقة السعبولة المرعصة) …

  • إذهب إلى System –> Administration –> Software Sources.
  • سترى في الوسط قائمة منزلقة بجانبها “Download from”، إضغط عليها و اختر “Other”.

  • ستظهر نافذة جديدة تحتوي على اسماء بعض الدول. إبحث عن “Kuwait”، سترى بجانبها سهم صغير. إضغط عليه و سيظهر “ubuntu.qualitynet.net/ubuntu” فاختره ثم إضغط على الزر “Choose Server”.

  • إنقر على الزر “Close”. سيسألك بتجديد المستودعات. إختر “Reload”.

و الان استمتع بالسرعة الرهــيــــبة😉

مع تحيات فريق GATOG

I may not be a math person, but WOW.. just WOW!

December 19, 2009 by

I don’t like mathematics unless i can see an immediate application in areas of my interest (Electronics, Computer Graphics, and Programming in general). I’m one of those guys that try to make up mathematical functions on the spot without the slightest research whenever the need arose. For example, the color of the sky in 8oori was generated by functions the i developed via trial and error (my preferred technique up until now).

But even a non-super-math-guy like me has to admit, Eureqa is one impressive piece of software!

It’s a tool that can be used to detect “equations and hidden mathematical relationships in your data”. In other words, It attempts to find equations that describe your data as accurately as possible. This simply means no need to waste another morning trying to get the right colors! just put in the values you want, and let the software do the the work for you.

Of course, being incredibly late for most of my deadlines, I couldn’t help giving it a spin..

As a sanity check, I tested it in the realm of the most interesting field of mathematics so far; Trigonometry. Using approximate angles of a full radian cycle and sine (we can’t make it too easy for it, can we) as a data set for Eureqa, I started the detection process. surely enough, after a few seconds the program got it!

The 0.001 error is caused by my crude approximation of the angles😉

no software is perfect, including Eureqa. some of the issues I found were:

  • Restrictive License: I can’t care less about source code, as long as i can use the software as i like, without any exceptions! unfortunately, Eureqas’ license does not allow people to use this version after 2010:

    This license and the permissions to use this beta version of the software expire on Jan. 1, 2011 or at any prior time when the end of the beta is announced by the authors.

  • It doesn’t have a GNU/Linux client to date although the developers stated that they are working on one. so for now, you need to install using wine. install with msiexec

Despite these minor issues, this is one piece of software i’m glad I took the time to explore.