الأحد، 10 نوفمبر 2013

نشأة البرمجيات الحرة مفتوحة المصدر (6)

هذا هو الجزء السادس من سلسلة مقالاتٍ أتحدث فيها عن نشأة البرمجيات الحرة مفتوحة المصدر، و يمكنكم قراءة الأجزاء السابقة من الروابط التالية:
الجزء الأول:
الجزء الثاني:
الجزء الثالث:
الجزء الرابع:
الجزء الخامس:


و أنصحكم بشدةٍ بقراءة تلك الأجزاء قبل قراءة هذا الجزء.

***

السبت، 9 نوفمبر 2013

كيفية رفع مشاركاتك إلى مشروع مفتوح المصدر

في موقع Arabia i/o كان هناك تساؤلٌ تحت عنوان "كيف أستطيع رفع تغييراتي إلى مشروع مفتوح المصدر؟"، يقول فيه صاحبه:
الكثير من المشاريع المفتوحة المصدر توفر لك إمكانية الإطلاع على الشفرة و تنزيلها، و لكن سؤالي هو عن كيفية رفع التغييرات ؟
لنفترض أنني قمتُ بتعديلٍ على شفرة لينكس مثلاً: كيف أرفع التعديلات و أعرف أنه تم الموافقة عليها ؟ هل من برامج معينة أستخدمها ؟

فكانت إجابتي المُختصَرة عليه كما يلي:

الاثنين، 21 أكتوبر 2013

عن إهمال google لـblogger

إهمال شركة google لتطوير منصة تدوين blogger أمرٌ مرعبٌ لي كمستخدمٍ نشطٍ لها؛ فربما يكون دليلاً علي أنها تمهد لقتلها كما فعلت مع خدماتٍ أخريات !، 
بصراحة: أصبحتُ أخشي بشدة من التقلبات المزاجية للشركات التقنية الكبري، خاصةً تلك التي تقدم الكثير من الخدمات المتنوعة، و إلا فانظروا إلي yahoo مثلاً و المذابح التي أجرتها لخدماتها المتشعبة سرطانية العدد !

الأربعاء، 16 أكتوبر 2013

الإثبات عملياً

شاهدتُ منذ فترةٍ فيديو أعجبني للغاية عن تحدٍ أجرته شركة NeXT (التي أسسها "ستيف جوبز steve jobs" بعد أن ترك شركة apple في فترةٍ من الفترات)، التحدي الذي أقيم في أكتوبر من عام 1991م كان مسابقةً بين مبرمجٍ يعمل علي جهاز "NeXTstation color" من شركة NeXT و يستخدم بيئة البرمجة NeXTstep الخاصة بها، و مبرمجٍ يعمل علي جهاز "SPARC station 2GX" و يستخدم برمجيات OPEN WINDOW و DEV-GUIDE (و كل ذلك من إنتاج شركة sun). و تم تكليف الاثنين بعمل برنامجٍ تجاريٍ صغير نوعاً ما، مع إعطائهما مهلةً لمدة ثلاثة أيام لفعل ذلك.

السبت، 12 أكتوبر 2013

دعايات خاطئة لـGNU/Linux

أنا من المستخدمين المحبين جداً لتوليفة "قِنو/لِينُكْس GNU/linux"، و أعتبر نفسي واحداً من المتحمسين له إلي حدٍ كبيرٍ جداً، خاصةً و أن العقلية العلمية لـ "لِينُوس تُرْفالدز linus torvalds" و هو مؤسس مشروع "نواة اللينُكْس linux kernel" تعجبني و تحيرني إلي حدٍ كبيرٍ جداً (أنا أعتبره أكبر شخصيةٍ تقنيةٍ تأثرتُ بها).

لكن كل ما فات لا يمنع من وجود الكثير من الملاحظات لديَّ حول الآلية التي يتم بها بناء كل عناصر النظام المختلفة، و كذلك الطريقة التي يتم بها جمعها و دعمها، و تتعدي انتقاداتي تلك الأمور لتصل إلي الدعايات الخاطئة التي تُتناقَل في العادة بين أوساط المتحمسين للـGNU/linux (سأشير لهذه التوليفة فيما يلي من كلامٍ باسم "لِينُكْس" فقط) بشكلٍ عامٍ و يُحاوِلون بها استمالة مستخدمي الـwindows و الـmac لعالم البرمجيات الحرة free software بالكامل.

و سأتحدث هنا عن اثنتين من تلك الدعايات الخاطئة التي ينشرها محبو اللينُكْس سواءاً أكانوا يعلمون أنها غير حقيقيةٍ أو كانوا لا ينتبهون إلي ما فيها من مُجافاة الواقع:

الثلاثاء، 8 أكتوبر 2013

الترجمة الجزئية

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

و لكن نظراً لحالة الانشغال الشديدة التي لا تسمح بالترجمة الكاملة فقد قررتُ القيام بأمرٍ أبسط من هذا (في مشاريع الترجمة الجديدة بمشيئة الله تعالي)، و هو أن أقوم بترجمة مُلخَّصٍ عن المُحتوَي العلمي الأجنبي بدلاً من ترجمته بالكامل.

الثلاثاء، 17 سبتمبر 2013

الشكل الأقدم للأحداث و متعهداتهن events and events handling في إبداع و أسباب تغييره

مقدمة

هذا المقال يُعتبَر تكملةً لمقالٍ سابقٍ كتبتُه عن الطرق المُختلفة لدعم "الأحداث events" و "مُتعهِّداتها events handlers" في بعض لغات البرمجة (أعني بهن الـ: java و visual basic.net و #C)، ثم قارنتُ حينها بين كل تلك الطرق و بين الطريقة التي يتم بها الدعم حالياً في إبداع؛ بغرض البرهنة علي قوة و بساطة قواعد الأخيرة التي قد لا تظهر عند التأمل البسيط.

لذلك فأنا أفضِّل قراءة ذلك المقال السابق في البداية، ثم يمكن قراءة هذا المقال بعده مباشرةً لتسهيل الربط بين ما فيهما من معلوماتٍ و استنتاجاتٍ و تلميحاتو كذلك لضمان وصول نظرتِي الشاملة فيما يخص الأحداث و تَعَهُّدها إلي القاريء الكريم، و أن يستوعب كيفية خضوع تلك النظرة للقواعد الأصولية التي وضعتُها في كتابي "رسالة البرمجة بإبداععن منهجي فيما يخص تصميم لغات البرمجة.

الخميس، 12 سبتمبر 2013

الوراثة الجزئية partial inheritance

الوراثة الجزئية partial inheritance
المفهوم، المميزات، العيوب


المفهوم و المميزات

حينما كنتُ أقوم بتصميم لغة البرمجة "إبداع" في الفترة الأولي من حياة مشروع البرمجة بإبداع1 (أي منذ حوالي العامين و النصف): كان تصميمها المبدئي يختلف للغاية عن التصميم النهائي الذي استقرَّت عليه حالياً، و الحق أن إبداع شهدت علي الأقل شكلين مختلفين تمام الاختلاف عن بعضهما البعض، لدرجة أنه يمكن اعتبار كل واحدٍ منهما لغةً مختلفةً قائمةً بذاتها !؛ فقد كنتُ في كل فترةٍ أعيد تقييم آرائي العلمية بما يتناسب مع ما حصَّلتُه من معرفةٍ جديدة، و من ثم أقوم بإعادة تقييم التصميم السابق بما يتفق مع ما يستجد عندي من آراءٍ صرتُ أقتنع بها بعد أن كنتُ أري ما يُخالفها.

و أثناء تلك الفترات التي كانت تتغير فيها قَناعاتي وجدتُ أن هناك بعض المُكوِّنات (أعنيقواعد و تعبيراتكنتُ مقتنعاً بأهميتها في الأشكال القديمة من إبداع، و لكن بعد التفكير الجيد فيها وجدتُ أنه من الأفضل ألا يتم ضمها إلي اللغة في نسختها النهائية.

و كان من بين تلك المُكوِّنات التي تم التخلي عنها ما أطلقتُ عليه اسم "الوراثة الجزئية partial inheritance" أو "الوراثة الناقصة incomplete inheritance"، و هو نوعٌ من أنواع الوراثة في البرمجة الكائنية object oriented يبدو غريباً للغاية عند شرحه (كما سترون فيما يلي من توضيح بمشيئة الله تعالي).

الأربعاء، 21 أغسطس 2013

نشأة البرمجيات الحرة مفتوحة المصدر (5)

هذا هو الجزء الخامس من سلسلة مقالاتٍ أتحدث فيها عن نشأة البرمجيات الحرة مفتوحة المصدر، و يمكنكم قراءة الأجزاء السابقة من الروابط التالية:
الجزء الأول:
الجزء الثاني:
الجزء الثالث:
الجزء الرابع:


و أنصحكم بشدةٍ بقراءة الأجزاء السابقة قبل قراءة هذا الجزء؛ حتي تستطيعوا استيعاب الأمور كما يجب، و حتي تعتادوا علي طريقتي في الحكي و الترجمات التي أقدمها للمصطلحات التقنية الإنقليزية :)

الخميس، 18 يوليو 2013

نشأة البرمجيات مفتوحة المصدر (4)

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