الجمعة، ٢ ربيع الأول ١٤٣٠ هـ

مايا - الدرس الثالث - ال CV Curve ومقدمة للألوان

مايا - الدرس الثالث - ال CV Curve ومقدمة للألوان

في هذا الدرس ستتعرف على كيفية استخدام ال CV Curve ورسم مقاطع ومن الأشكال المتماثلة حول محور معين وعمل دوران لها لتعطينا الشكل الكامل كما سنتكلم بشكل بسيط عن كيفية إعطاء الأشكال ألوان رئيسية في المايا


Part 1


Part 2




يمكنك تحميل الدرس:
- الجزء الأول
- الجزء الثاني

الاثنين، ٢٨ صفر ١٤٣٠ هـ

مايا - الدرس الثاني - الأوامر الرئيسية

المبادئ - الدرس الثاني - الأدوات الرئيسية
في هذا الدرس ستتعرف على 7 أدوات رئيسية في المايا:
١. أداة التحديد Selection Tool واختصارها حرف ال Q
٢. التحديد غير المنتظم Lasso Tool
٣. التحريك Move Tool واختصارها حرف ال W
٤. الدوران Rotation Tool واختصارها حرف ال E
٥. تغيير الحجم Scale Tool واختصارها حرف ال R
٦. أداة التعديل الشاملة Universal Manipulator
٧.أداة التعديل اللطيف Soft Modification Tool

اضغط هنا لتحميل ملفات الدرس





لتحميل الفيديو بصورة وصوت أفضل جودة اضغط هنا.

الأحد، ٢٧ صفر ١٤٣٠ هـ

مايا - الدرس الأول - الواجهة الرئيسية

يستخدم برنامج المايا في تصميم الأفلام والألعاب الثلاثية الأبعاد. أنا لست خبيراً بالبرنامج ولكنني أود أن أوثق ما أتعلمه وأقدم مادة دراسية بالصوت والصورة لمن يود أن يتعلم البرنامج.

المبادئ - الدرس الأول - الواجهة الرئيسية






يمكنك تحميل الفيديو بصورة أوضح وأنقي من هنا.

ملاحظة: أعتذر لسوء الصوت في الفيديو, ولكني أعمل على توفير مايكروفون بجودة أفضل. إذا كان لديك أي تعليق أو فكرة لتطوير الفيديو أخبرني بالتعليقات أو من خلال بريدي الإلكتروني

يمكنك متابعة الدروس بالتسجيل في محطتي على اليوتيوب بالضغط هنا.

السبت، ٢٦ صفر ١٤٣٠ هـ

البدء في تسجيلات الفيديو التعليمية

مع محاولاتي في تغطية أكبر قدر ممكن من الأشياء التي أستطيع أن أقدم فيها الفائدة للعالم العربي وطلاب العالم العربي فقد قررت البدء بتسجيل الحلقات التعليمية باستخدام ما أملك من معدات.
للبدء بالتسجيل, حاولت تسجيل فيديو تجريبي, ولكن واجهتني بعض المشاكل, سأذكرها عسى أن يستفيد منها من يود أن يبدأ التسجيلات الخاصة به.
أولاً أنا أستخدم جهاز (Apple MacBook Pro With Mac OS X 10.5 Leopard), عندما حاولت تسجيل صوتي باستخدام المايكروفون الداخلي كان به بعض الضجيج ولم يعجبني ذلك. لذا قررت أن أشتري مايكروفون خارجي بجودة أفضل, ولكن من خلال بحثي عن المايكروفون المناسب, وجدت أن أجهزة الماك تحتاج إلى وصلة بين المايكروفون ومدخل ال (Line in) مثل iMic ولا أعتقد أني سأجد مثلها في فلسطين. هناك بديل لهذا, يمكنك إستخدام مايكروفون تشبك على مدخل اليو أس بي, ولكن يبدو أيضاً أني لن أجد مثلها!

جربت أيضاً أن أسجل الصوت على هاتف نوكيا (6630) وهاتف نوكيا (N73) وهاتف نوكيا (6131) وأقارن بينهم ووجدت أنهم كانوا أفضل من ناحية الضجيج (لم يكن هناك ضجيج) ولكن وضوح الكلام كان أسوأ من المايكروفون الداخلي للماك.

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

اليوم بدأت بتسجيل أول فيديو تعليمي لبرنامج المايا وسأستمر شيئاً فشيء.
لتأخذ فكرة عن ماذا ستكون المواضيع المستقبلية للفيديو التعليمية, فسأحاول أن أقدم فيديو عن هذه المواضيع:
١- برنامج المايا والتصميم الثلاثي الأبعاد.
٢- برنامج الفلاش والأكشن سكربت.
٣- البرمجة بلغة ريلز (Rails, Ror, or Ruby On Rails)
٤- التصميم باستخدام فليكس Flex
٥- مبادئ تصميم الصفحات الإلكترونية (HTML, CSS and JavaScript)

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

الثلاثاء، ٢٢ صفر ١٤٣٠ هـ

دورة الملتميديا والحركة - مايا

قبل حوالي الأسبوعين, قرأت إعلان عن بدء دورة تدريبية, إتصلت على الرقم المعطى لكي أستفسر عنها, وكان المبلغ الذي على المشتركين دفعه 500$ لغير الطلاب و350$ للطلاب. مع ذلك فقد ألغيت هذه الدورة من ذهني لإني لم أكن أملك ذلك المبلغ.

بعد حوالي يومين قرأت إعلان آخر يخص هذه الدورة ولكن كان من عميد كلية تكنولوجيا المعلومات في جامعة بيرزيت, وأن هناك مقعدين مجانيين لطالبين من الكلية وطلب منا بالإعلان إرسال معلومات عنا وأن نكتب في ٥ أسطر كيف سنستفيد وكيف سنفيد الطلاب الآخرين من هذه الدورة؟ بعثت له بالإيميل المطلوب.

اليوم استيقظت على صوت أخي الصغير ليخبرني أن سكرتيرة العميد على الهاتف. تكلمت معها فأخبرتني أنه تم إختياري لأستفيد من هذه الدورة! وأن اليوم هنالك حصة في تمام الخامسة مساءً!

هذه فرصة جيدة فلطالما أردت أن أتعلم تصميم ثلاثي الأبعاد وغيره! سأحاول قدر الإمكان أن أكتب الأشياء التي أتعلمها إن شاء الله.

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

الاثنين، ٢١ صفر ١٤٣٠ هـ

حاسوب محمول لكل طفل - برنامج تطبيقي ١

هذا البرنامج فقط لتوضيع التركيب العام لبرامج الإكس إو, لذا فهو يتميز بالبساطة. الصورة التالية تظهر الملفات النهائية التي يحتاجها البرنامج.

أولاً: المجلد الرئيسي (HelloWorldActivity.activity)
يتم وضع جميع الملفات المتعلقة بالبرنامج هنا. (للعلم أن برامج الإكس إو تسمى Activities)
ثانياً: مجلد المعلومات عن الفعالية (activity)
يوضع داخل المجلد الرئيسي ويجب تسميته (activity) ويحتوي على معلومات عامة عن البرنامج كأيقونة البرنامج واسمه واسم الشركة وغيرها.
ثالثاً: ملف المعلومات (activity.info)
يحتوي هذا الملف على معلومات عامة عن البرنامج مثل: اسمه, الأيقونة ورقم النسخة. في هذا المثال يحتوي هذا الملف على ما يلي:



activity.info
[Activity]
name = HelloWorld
bundle_id = org.laptop.HelloWorldActivity
class = HelloWorldActivity.HelloWorldActivity
icon = activity-helloworld
activity_version = 1
host_version = 1
show_launcher = yes




رابعاً: أيقونة البرنامج (activity-helloworld.svg)
من الملاحظ أنه تم استخدام امتداد (svg) والذي يمكنك من رسم الأيقونة بلغة مشابهة لل (XML). في برنامجنا هذا ستكون الأيقونة عبارة عن مربع, كما يلي:






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

خامساً: ملف البرنامح الرئيسي (HelloWorldActivity.py)
هنا تكتب البرنامج الذي تود تصميمه. في مثالنا هذا نود فقط إضافة زر مكتوب عليه (Hello World). كما يلي:


from sugar.activity import activity
import logging

import sys, os
import gtk

class HelloWorldActivity(activity.Activity):
def hello(self, widget, data=None):
logging.info('Hello World')

def __init__(self, handle):
print "running activity init", handle
activity.Activity.__init__(self, handle)
print "activity running"

# Creates the Toolbox. It contains the Activity Toolbar, which is the
# bar that appears on every Sugar window and contains essential
# functionalities, such as the 'Collaborate' and 'Close' buttons.
toolbox = activity.ActivityToolbox(self)
self.set_toolbox(toolbox)
toolbox.show()

# Creates a new button with the label "Hello World".
self.button = gtk.Button("Hello World")

# When the button receives the "clicked" signal, it will call the
# function hello() passing it None as its argument. The hello()
# function is defined above.
self.button.connect("clicked", self.hello, None)

# Set the button to be our canvas. The canvas is the main section of
# every Sugar Window. It fills all the area below the toolbox.
self.set_canvas(self.button)

# The final step is to display this newly created widget.
self.button.show()

print "AT END OF THE CLASS"






سادساً: ملف تنصيب البرنامح (setup.py)
هذا الملف يحتوي الأوامر اللازمة لتثبيت البرنامج في نظام سكر, يوجد العديد من الخيارات لهذا الملف, ولكن لتبسيط الأمور فقط نود استدعاء أمر البناء كما يلي:


#!/usr/bin/env python
from sugar.activity import bundlebuilder
bundlebuilder.start()





سابعاً: ملف قائمة الملفات (MANIFEST)
هذا الملف يحتوي على قائمة بالملفات التي يتكون منها البرنامج وهي عبارة عن جميع الملفات التي ذكرناها سابقاً لذا ملفنا سيبدو كالتالي:


MANIFEST
activity/activity-helloworld.svg
activity/activity.info
HelloWorldActivity.py
MANIFEST
setup.py


بقي الآن أن نثبت البرنامج لواجهة سكر وتشغيل البرنامج. أولاً علينا أن نعطي بعض الملفات إمكانية التشغيل, بعد نقل الملفات إلى جهاز الإكس إو, شغل هذا الأمر:


$ sudo chmod a+x HelloWorldActivity.py
$ sudo chmod a+x setup.py



الآن علينا تثبيت البرنامج ليظهر في واجهة النظام وذلك بالأمر التالي:

طبعاً هذا المثال بسيط جداً ولكنه كفيل بأن يشعرك بالطريقة التي يتركب منها برنامج لجهاز إكس إو.

$ python setup.py dev

بقي أن نعيد تشغيل النظام بالضغط على Ctrl + Alt + Backspace, بعدها ستجد برنامجك مع البرامج الأخرى, اضغط عليه لتشغيله وسترى البرنامج الذي كتبته

طبعاً هذا المثال بسيط جداً ولكنه كفيل بأن يشعرك بالطريقة التي يتركب منها برنامج لجهاز إكس إو.




حاسب محمول لكل طفل - مشكلة تطوير برامج للابتوب ال XO


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

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

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

في اليومين الماضيين أمضيت وقتاً لأحاول أن أجرب كتابة برنامج (Activity) لهذا الجهاز باستخدام لغة بايثون (Python). ولكني وجدت ان تتطوير البرامج لهذه الأجهزة صعب! تكمن الصعوبة في عدم توفر التوثيق الكافي والمرتب لواجهة البرمجة للتطبيقات (API).

الإنجازات:
من خلال تتبع برنامج بسيط على موقع المؤسسة وآخر من خلال موقع IBM للمطورين, توصلت لبعض الاستنتاجات التي يجب أن تكون موثقة بشكل أفضل!
  • كيفية بناء زر ووضعه على البرنامج
  • كيفية تلقي الأوامر من لوحة المفاتيح والضغط بزر الفأرة!
المشاكل:
يبدو أن هنالك خطأ في البرنامج الذي نشر عبر موقع IBM للمطورين, حيث أنه لم يعمل كما يجب أن يعمل! وهو عبارة عن برنامج لرسم مربعات صغيرة على شاشة الجهاز. حيث أن البرنامج لم يرسم أي شيء!

سوف أحاول أن أدون عن تجربتي في البرنامجين السابقين في موضوع آخر إن شاء الله.

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

السبت، ١٩ صفر ١٤٣٠ هـ

لماذا أكتب باللغة العربية

السلام عليكم ورحمة الله وبركاته
عندما بدأت مدونتي الأولى كانت باللغة الإنجليزية هنالك عدة أسباب لاختياري اللغة الإنجليزية كلغة للكتابة في مدونتي منها:
1- الوصول إلى أكبر عدد ممكن من القراء نظراً أن اللغة الإنجليزية هي لغة عالمية
2- سرعتي في الكتابة باللغة الإنجليزية تفوق سرعتي في اللغة العربية وهذا طبعاً لتعودي على الكتابة والدردشة باللغة الإنجليزية (سواء كانت كلمات إنكليزية أو كلمات عربية كتبت بأحرف إنجليزية)
3- لسبب ما لا أعلمة فإني أرتاح للغة الإنجليزية حتى أنني عندما أفكر يكون تفكيري باللغة الإنجليزية (غريب!)
4- تقوية نفسي باللغة الإنجليزية كتابةً وقراءة

وغيرها من الأسباب

ولكن في الأشهر الماضية اتضح لي أنني مخطئ في بعض الأشياء فمثلاً
1- للوصول إلى أكبر عدد ممكن من القراء يمكنني أن أستهدف العالم العربي وهو عدد كاف لشخص بدأ بالتدوين حديثاً كما أن الإتجاه للغة الإنجليزية لم يكن إختياراً موفقاً وذلك لأن هناك عدد ضخم من المدونين باللغة الإنجليزية الذين أحتاج إلى سنوات للحاق بهم بينما بالسوق العربي هنالك القليل من المدونات باللغة العربية
2- بالنسبة لسرعة الكتابة فهي فقط مجرد تدريب أو تعود لا أكثر فسرعان ما سأجد نفسي بسرعة لا بأس بها باللغة العربية
3- صراحة وجدت نفسي ضعيف أيضاً باللغة العربية فعلي أيضاً أن أقوي نفسي باللغة العربية
4- من أهم الأسباب هو إحساسي بالمسؤولية تجاه اللغة العربية بشكل عام والعرب الذين لا يقرؤون اللغة الإنجليزية بدأ هذا الإحساس بالظهور عندما بدأت بإعطاء دورة تصميم وتطوير الصفحات الإلكترونية لطلاب مدارس وجامعات ومفاجئتي بضعفهم باللغة الإنجليزية وصعوبة الحصول على كتب أو مواضيع عربية لأعطيها إياهم! تضاعف هذا الشعور عندما تكلمت مع موظفة تعمل في جوجل (غزيل هيسكوك) وعندما تناقشنا كيف أن كمية المواضيع العربية في الإنترنت لا تتعدى 2%! لهذا أحسست بمسؤولية تجاه اللغة العربية

لهذا بدأت مدونتي العربية وكتبت السبب كأول موضوع في هذه المدونة عسى من يقرأها يبدأ هو الآخر مدونته العربية

سوف أستمر بالتدوين باللغة الإنجليزية ولكن معظم المواضيع ستكون ترجمة عن الموضوع العربي
يمكنكم متابعة مدونتي الإنجليزية هنا: http://3x-w.blogspot.com