Follow me on Twitter

الخميس، 30 يونيو، 2016

تطبيق Linuxian Diaries على أندرويد بواسطة python و Kivy

تطبيق Linuxian Diaries يوميات لينكساوى النسخة الإنجليزية على أندرويد الآن

قمت ببناء التطبيق بواسطة لغة بايثون Python و مكتبة kivy التى تكلمت عنها فى تدوينة سابقة

أتمنى أن تقوموا يتحميل التطبيق وتجربته وتقييمه وعمل Rate له






الأحد، 15 نوفمبر، 2015

كيفية ثبيت نظام أوبونتو يدويا ubuntu

السلام عليكم

يسألنى العديد من المبتدئين فى كيفية تثبيت نظام Ubuntu .. ولو يعلمون فإن مسألة تنصيبه أسهل مما يتوقعوا فما عليك أن تقرأ خطوات التثبيت لتعرف ما تفعل.

كنت دائما أنصح بعملية تثبيت أوبونتو بشكل يدوى حيث واجهتنى قبل ذلك عدة مشاكل منها أنه عند تثبيت أوبونتو فإنه لا يقرأ ويندوز أو Partitions الموجودة على الهارد Hard Disk .
لذلك إذا قام بتثبيت Ubuntu حينها فإنه فى الأغلب المشاكل يقوم بمسح جميع البيانات التى على الهارد لذلك ألجأ لعملية التثبيت اليدوى.

فإذا كنت أمتلك نظام ويندوز Windows وأردت تثبيت Ubuntu بجانبه فما علىّ إلا أن أقوم بقطع مساحة خالية من أى Partition على الهارد بواسطة أداة Disk Management المتواجدة فى نظام ويندوز عن طريق اختيار أمر Shrink لتصبح هناك مساحة خالية Free Space وأتركها كما هى ثم أبدأ فى تثبيت أوبونتو بشكل يدوى.

ستجد عملية تثبيت أوبونتو بشكل يدوى فى إجابة سؤال على موقع AskUbuntu ..




الجمعة، 13 نوفمبر، 2015

الحكومة البريطانية تتبنى المصادر المفتوحة باستخدام LibreOffice



فى تحول جديد للأحداث، قامت المملكة المتحدة "بريطانيا" بالاعتماد على المصادر المفتوحة من خلال الحزمة المكتبية ليبر أوفيس LibreOffice وذلك لتحل محل الحلول التقنية الحالية ففى مارس الماضى كان قد تحوّل مكتب رئاسة الوزراء البريطانية من استخدام مايكروسوفت أوفيس MicroSoft Office إلى استخدام تطبيقات Google المكتبية (لأكثر من 2000 مستخدم) وذلك فى إشارة واضحة للتخلص من تراخيص مايكروسوفت أوفيس.

بل خمّن أيضا .. أن تطبيقات Google المكتبية تدعم صيغة الوثائق المفتوحة ODF  لذا فالإنتقال بينها وبين ليبر أوفيس LibreOffice يعتبر سهلا فى التطبيق، وما عليك إلا أن تقوم بحفظ الملف بصيغة odt ثم قم برفعها على Google Drive وتحويل صيغة الملف odt إلى صيغة ملف جوجل Google Doc Format .

لنفترض .. إذا كنت اخترت  MS Office 365 لعمل تجارى مكون من 100 موظف فإنك ستدفع 825$ وإذا تطّلب الأمر منك أن تستخدم النسخة Premium فإنك ستدفع 1250$ لنفس العمل التجارى السابق .. إذن فأنت بين أن تدفع مبلغ يتراوح بين 9900$ إلى 15000$ لاستخدام عدة تطبيقات مكتبية يمكنك أن تقوم بتحميل البديل لها مجانا لأى عدد من المستخدمين كما تريد.

أليس تم إستهلاك الكثير من الأموال بما فيه الكفاية !!

كما أن شركة Collabora Productivity المنتجة لبرنامج ليبر أوفيس تقدم العديد من المزايا التى تُسهل وتجذب المستخدمين على استخدام ليبر أوفيس مثل التوافق مع مايكروسوفت أوفيس وتطبيقات جوجل المكتبية والدعم الذى قد يصل إلى 5 سنوات والتحديثات أمنية والصيانة والإصدارات السنوية للبرنامج.


مصدر الخبر



الثلاثاء، 19 مايو، 2015

تأثير فلسفة لينكس linux philosophy

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

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

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

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

على سبيل المثال فإن فلسفة نظام التشغيل ويندوز Windows تشبه نظام التشغيل VMS. وهى تتلخص فى حماية المستخدمين من كل شىء قد يسبب لهم ورطة  _أو من وجهة نظرى منع المستخدمين من كل شىء قد يسبب لصاحبى أنظمة التشغيل ورطة_ . يرجع هذا التشابه بالتأكيد أن المطور الأساسى لنظام Windows NT هو نفس الشخص الذى طور نظام VMS.

كما أن نظام التشغيل MAC لا يختلف كثيرا، فكونه هو ونظام التشغيل ويندوز Windows يوفر GUI لسطح المكتب، في رأي الكثيرين، يوفر للمستخدم تجربة أكثر اتساقا وتكاملا، وأكثر سلاسة لتجربة المستخدم User Experience. كلا النظامين يوفران أيضا سطر أوامر Command Line Interface 'CLI' للتفاعل على مستوى منخفض بين المستخدم ونظام التشغيل لكنها بالتأكيد محدودة بعدد معين من الأوامر خاصة حين تُقارن بأنظمة لينكس ويونكس.

لكن الجدير بالذكر أن سطر الاوامر CLI لنظام التشغيل MAC وهو عبارة  Bash Shell يمدك بقدر كبير من القوة كما فى لينكس لكنه يعتبر مدفون داخل النظام تجعل من الصعب العثور عليه إلا إذا كنت تعرف بكونه موجود فى مكان ما.

المفهوم الجذرى Radical concept

أثناء قيام تطوير أنظمة يونكس UNIX في أواخر الستينات وأوائل السبعينات، عزم المطورين على بناء نظام تشغيل مختلفا إلى حد كبير عن أنظمة التشغيل التي سبقته. كانت فلسفة يونكس UNIX مختلفة اختلافا كبيرا عن أنظمة التشغيل الأخرى. وتم استمداد فلسفة لينكس Linux مباشرة من فلسفة يونكس UNIX.

لقد وجدت النص التالى فى فصل مقدمة عن فلسفة يومكس بكتاب Linux and the Unix Philosophy للكاتب Mike Gancarz يقول فيها :
"إن نظام التشغيل بطبيعته يجسد فلسفه صانعوه، فصانعى نظام التشغيل يونكس UNIX بدأوا بمفهوم جذرى وهو: أنهم أفترضوا أن مستخدم نظامهم ذو ثقافة جيدة بالكمبيوتر من البداية، ففلسفة يونكس UNIX تدور حول فكرة أن السمتخدم يعرف ما يفعل."

حقا.. هل قالوا ذلك !! لكنها ليست الحقيقة، فالعكس تماما هو الصحيح فى الواقع.
 أحد العبارات المفضلة لدى عن يونكس والتى تنطبق أيضا على لينكس وتنسب إلى شخص يدعى Doug Gwyn وهى جملة رائعة :
"لم يُصمم يونكس ليوقف مستخدميه من القيام بأشياء غبية، لأن ذلك أيضا سيمنعهم من القيام بأشياء ذكية"

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

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

التنوير Enlightenment

حاول العديد من الأشخاص على مر سنوات فى تنوير البقية منا  بتدوين جوانب مختلفة من فلسفة لينكس، فقد كتب Mike Gancarz أولا  فلسفة يونكس "The Unix Philosophy" ثم تبعها بفلسفة لينكس ويونكس Linux and the Unix Philosophy حيث تسرد هذه الكتب 9 مبادئ رئيسية و 10 معتقدات تقريبا.

كما قام Eric Raymond بكتابة 17 قاعدة ليونكس فى كتابه "The Art of Unix Programming"

بأخر المقال قائمة بأسماء المراجع التى تكلمت بتفصيل عن فلسفة لينكس ويونكس بالإضافة إلى آثارها.

الطرفية Terminal 

تتلخص فلسفة لينكس فى سهولة الوصول إلى سطر الأوامر CLI وذلك عن طريق محاكى يسمح لك بذلك لتستخدم سطر الأوامر بقوته. هناك العديد من اوجه سطح المكتب GUI Desktop يختار من بينها المستخدم ما يحبه ويتناسب مع استخدامه وعمله. ستجد لكل واجهة سطح مكتب الطرفية Terminal الخاصة به والتى يسمح الكثير منها بفتح أكثر من Tab لتنتقل بينها وكل منها تستخدمها فى أداء عملية معينة بصلاحيات مختلفة عن الأخرى كما تريد.

بكل بساطة سطر أوامر لينكس Linux CLI يجذبك بقوته ومرونته، بل سيغير فى الطريقة التى يمكنك أن تستخدم بها الكمبيوتر.

التحكم الكامل Complete control

لن يقيدك لينكس فى شىء. فإنه يفترض أنك تعرف ما تفعل حين تقوم بتنفيذ أمر ما  لذا لن يسألك إن كنت تريد تنفيذ ذلك حقا. إنه يعطيك تحكم كامل.


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

التوجّه الأساسى للينكس The Linux prime directive

لقد وصلت إلى قناعة بالنظر إلى كل الحديث عن فلسفة لينكس إلى كلمة بسيطة :

معاملة كل المستخدمين باحترام
Treat all users with respect


المراجع :
1- كتاب The Art of Unix Programming للمبرمج Eric Raymond
2- كتاب Linux and the Unix Philosophy لـ Mike Gancarz .. معلومات عن الكتاب : Digital Press, 2003, ISBN 1-55558-273-7

-------------------

السبت، 13 ديسمبر، 2014

بناء تطبيقات الهواتف الذكية باستخدام لغة Python وأداة Kivy



السلام عليكم

تحدث فى تدوينة سابقة عن دور لغة البرمجة python فى مجال تطبيقات الهواتف _أندرويد _ مع SL4A باستخدام API التى يوفرها لك لكنى كنت أريد أن أجرب نوعا آخر خاصة وأن معلوماتى عن SL4A أنه سيوفر لى سكربتات يتم تشغيلها على أندرويد بعد تنصيب SL4A على الهاتف وهذا ما لا أرضاه، فإنى أريد توفير البرنامج المكتوب بلغة بايثون على هيئة حزمة APK يمكنك تنصيبها على أى هاتف دون الحاجه لتنصيب برامج أخرى أو مكتبات أى يكون البرنامج الذى تم بنائه بامتداد APK مدمج به أدوات اللغة ومكتباتها التى يريدها.

ثم بعد فترة وفقنى الله فى معرفة إطار Kivy وهو الذى وفّر لى تلك المزية التى ذكرتها، فإطار Kivy استطاع أن يوفر لى القدرة على بناء برامج بلغة بايثون ويمكن استخدامه فى بناء حزم بامتداد APK ليتم تنصيبها على الهواتف الذكية بما فيها بناء تطبيقات متعددة اللمس multi-touch.

وكون Kivy يتم وصفها كإطار  لكن ذلك لا يمنع وصفها بأنها مكتبة مثل مكتبات بايثون يمكنك أن تستدعيها وتستدعى أدواتها باستخدام import.

توفر لك Kivy لغة جديدة تسمى kv Language وهى تستخدم فى تصميم واجهة التطبيقات وكيفية التفاعل معها وهى تتميز بالسهولة والاعتمادية، فهى تسمح لك بإنشاء واجهة رسومية تطبيقك بشكل وواضح ومنفصل عن logic الخاص بتطبيقك مع الربط بين الواجهة الرسومية و logic الخاص بالتطبيق، وسيساعد ذلك فى سرعة تطوير التطبيق وسهولة صيانته.

موقع kivy

للبدء مع kivy .. من خلال Getting Started :

لتحميل Documentation :

صفحة لألعاب وبرامج تم تنفيذها بواسطة kivy :

كما يوجد كتابان يتناولان إطار kivy وكيفية استخدامها لإنشاء تطبيقك من الصفر مع أمثلة متقدمة ومفصلة . اسم الكتابين :
Creating Apps in Kivy, Dusty Phillips 
Kivy: Interactive Applications in Python, Roberto Ulloa

أتمنى أن تستمتعوا بإستكشاف kivy ^_^

الأحد، 17 أغسطس، 2014

بناء تطبيقات الهواتف الذكية باستخدام لغة Python وأداة SL4A


السلام عليكم



ما هى SL4A .. وما دورها فى مجال تطبيقات الهواتف بلغة بايثون ..


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



حين تتحدث عن استخدام لغة بايثون Python فى تطبيقات الهواتف فلا يجب أن تقدم الأفضلية لأداة عن أخرى .. فلكلٍ مستخدميها، ولكل أداة هدف صممت من أجله .



أولى الأدوات التى سنتحدث عنها هى Scripting Layer for Android أو ما تعرف اختصارا بـ SL4A



أداة SL4A هى عبارة عن تطبيق مفتوح المصدر تمكنك من كتابة برامج بلغات برمجة مفسرة Interpreted Languages لتعمل على أندرويد، فهى بمثابة الوسيط و"Layer" بينك وبين أجهزة أندرويد بما تملكه من API تسهل عليك التعامل والتفاعل مع أجهزة أندرويد.



تعتبر SL4A سهلة التنصيب .. ولا تحتاج لأن يكون الجهاز فى حالة root لاستخدامها



اللغات التى تدعمها SL4A هى بايثون Python ، روبى Ruby، بيرل Perl، جافاسكربت JavaScript، Lua ،BeanShell ،و Tcl .



ما الذى يجعل SL4A مختلف "مترجمة من المقال":



لكى تكتب تطبيقات تعمل على أندرويد فلن تجد أفضل من SL4a لما تقدمه لك من مميزات ومرونة، فالبدائل تركز على كتابة تطبيقاتك كـ native Apps -بعضها يفعل ذلك جيدا- .

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



تسمح لك أداة SL4A بتحزيم برنامجك كملف Apk ونشره على متاجر أندرويد .. لكنه يظل خيارا لك .. فمسألة التحزيم تم تقديمه كخيار فضلا على أن يكون هدفا .. فأغلب ما يُكتب بلغة بايثون عبارة عن سكربتات تستخدم لأغراض محددة وعادة لا يتم نشرها فى المتاجر .. فما تحتاجه -الهدف- هو تمكينك من كتابة عدة أسطر من الأكواد بلغة بايثون لأداء غرض محدد وحفظها وتشغيله متى أردت.



لبدء التعامل مع SL4A ولغة البرمجة التى تريدها -بايثون فى حالتنا-:

قم بالدخول على صفحة Downloads ،وقم بتحميل آخر إصدار لـ :

1- SL4A

2- Python for Android "Py4A"

تفتح Python for Android لتضغط على Install وتقوم بتحميل نسخة البايثون، ثم تفتح SL4A لتعرض قائمة Interpreted الخاصة باللغات المضافة وتتأكد من تواجد حزمة بايثون ورقم إصدارها









رأيى : تحدث الكاتب -فى الفقرة المترجمة- عن إطار kivy الذى يستخدم فى عمل Native Apps موجهة لمنصات متعددة، وتعامل معها وكأنها عيب لكن من ينسى أن جافا تعمل على JVM وتستطيع أن تكتب بها برنامج احترافى موجه لمنصات متعددة .. إذن الأمر يجب أن يُنظر له من وجهة نظر هل تم استيفاء متطلبات المبرمج من خلال تلك الأدوات ليكتب برنامج احترافى أم لا !!



الثلاثاء، 29 يوليو، 2014

لغة البرمجة بايثون python فى تطبيقات الويب

أكمل كلامى عن لغة البرمجة بايثون .. بايثون من اللغات التى يمك أن يطلق عليها بالعامية "ليها فى كل خرابة عفريت" ..

تستطيع أن تستخم بايثون فى بناء مواقع ويب قوية عن طريق Frameworks كتيرة منها Django و Pyramid و Flask (تعرف على الباقى عن طريق ويكيبديا ) ولكن أشهرها هو Django أو جانجو بالعربى.

Django عبارة عن إطار ويب مفتوح المصدر ومكتوب بالبايثون، ويعتبر من أقوى أطر الويب للغة بايثون .. تم تنفيذ مواقع عديدة بواسطته يمكنك تصفحها عن ذلك الموقع ( ستجد بعض المواقع تقدم الشفرة المصدرية الخاصة بها )
https://www.djangosites.org

يمكن أن تبدأ الآن فى تعلّم Django من خلال وثائق الموقع الرسمى (النسخة 1.6 هى النسخة الرسمية حاليا ، والنسخة 1.7 لسه بيتا )
https://docs.djangoproject.com/en/1.6/

موقع كتاب THe Django Book

http://www.djangobook.com

ودروس أخرى من موقع Tutsplus
http://code.tutsplus.com/categories/django http://code.tutsplus.com/articles/diving-into-django--net-2969

صفحة Django resources
  ttps://code.djangoproject.com/wiki/DjangoResources

وأكيد الانترنت عبارة عن مصدر مفتوح لك يمكنك البحث فيه كما تشاء .. استخدمه فى البحث عن مشكلتك وزيادة معلومتك..

يمكن معرفة أيضا Frameworks أخرى للبايثون وذلك من خلال صفحة الويكيبديا ..
  http://en.wikipedia.org/wiki/Python_%28programming_language%29#Use

‫#‏اتعلم‬ ‫#‏بايثون‬ ‪#‎Python‬ ‪#‎Django‬