مشاريع

|

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

مدونة عبدو الفضولية

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

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

ويكي عبدو الفضولية

“ويكي” شخصية مرافقة لمدونة عبدو الفضولية أكتب فيها بشكل مشتت أكثر وأكثر أريحية وإيجازا. هدفي من عملها هو أولا عمل مخزون شخصي عن كل ما أتعلمه وأعرفه يتكون من منشورات قصيرة يمكن ربطها والإحالة إليها بسهولة. بدأت مؤخرا بكتابة منشورات مؤرخة على شكل “يوميات” مثل منشورات مواقع التواصل الاجتماعي.

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

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

إثراء المحتوى العربي حول طرق التعلم واستخدام التقنية لتعزيز التعلم

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

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

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

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

المساهمة في المشاريع مفتوحة المصدر

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

إضافات Anki

من أكبر نقاط قوة Anki (بجانب جعل الذاكرة خيار لحد ما) هو كونه مفتوح المصدر وقابل للتخصيص كيفما تريد. البرنامج يدعم نظام إضافات (add-ons) يمكن من خلالها تخصيص كل شيء تقريبا في البرنامج. هناك مجتمع نشط لحد ما من مطوري الإضافات ومستخدميها. بدأت بتعلم عمل إضافات بسيطة لاستخدامي الشخصي منذ سنوات، لكن مؤخرا تعمقت أكثر وبدأت أكتب إضافات أكثر تعقيدا وأشاركها مع الناس. بدأ الأمر عندما طلب مني شخص في مجموعة التلجرام الآنفة الذكر أن أعدل على إضافة LPCG المستخدمة لاستيراد الأبيات لكي أعربها وأضيف ميزات إضافية لها لاستيراد المنظومات. عدلت الإضافة ونشرتها وهي الآن تستخدم في المجموعة لعمل زرم بطاقات Anki ومشاركتها مع المستخدمين: ARLPCG (مستورد المنظومات والقصائد)

واجهة إضافة ARLPCG

عملت بعدها على بعض الإضافات المفيدة للمستخدمين العرب خصوصا، منها:

ARQImporter (مستورد الأسئلة العربية)

إضافة مشتقة من ARLPCG لاستيراد الأسئلة العربية المميزة من ملفات نصية مميزة برموز معينة.

واجهة إضافة ARQImporter

ArMajor (نظام المذكرات الصوتي للعربية)

نظام مذكرات مستوحى من كتاب الأسماء كلها.

واجهة إضافة ArMajor

Dawwen Importer (مستورد دوّن)

مستورد لملحوظات تطبيق دوّن.

BiDi Tools

إضافة للتعامل مع النصوص التي تكتب من اليمين إلى اليسار مثل العربية.

واجهة إضافة BiDi Tools في محرر أنكي

نشرت بعدها عدة إضافات لتعلم اللغات خصوصا أذكر منها:

Aglish

إضافة لاستخدام خدمة YouGlish داخل بطاقات أنكي. YouGlish هو موقع لتعلم لغات يوفر محرك بحث لمقاطع اليوتيوب التي تتوفر لها ملفات ترجمة (captions).

Wiktionary

واجهة إضافة Wiktionary

هذه الإضافة تساعد على ملء البطاقات بتعاريف المفردات والجمل باستخدم قواميس مشروع Wiktionary الضخمة. طورت الإضافة لعميل في موقع Fiverr.

TRDict

واجهة إضافة TRDict

هذه الإضافة توفر قاموس وميزات مفيدة لمتعلمي اللغة التركية.

AnkiApp Importer

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

InContext

واجهة إضافة InContext

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

إضافات أخرى

نشرت وما زلت أنشر عديد من الإضافات الأخرى يمكن الاطلاع عليها هنا: https://github.com/abdnh?tab=repositories&q=anki&type=&language=&sort=

مشاريع برمجية أخرى

لدي مشاريع أخرى صغيرة أغلبها ليس مفيدا لأحد غيري: https://github.com/abdnh?tab=repositories&q=&type=source&language=&sort=