همایش آموزش آنلاین – تجربه کار گروهی دانشگاهی

توی هفته‌ای که گذشت، بلاخره بعد از یک ماه دوندگی همایش آموزش آنلاین رو برگزار کردیم، توی این همایش روش‌های یادگیری آنلاین از طریق MOOC ها و سرویس‌های دیگه مثل codecademy و brilliant رو معرفی کردیم. این همایش چون فقط برای دانشجوهای دانشگاه شیخ‌بهایی اصفهان برگزار شده بود، فراخوان عمومی نداشت ولی اگر شما توی دانشگاه شیخ‌بهایی درس می‌خونید حتما از همایش «آموزش آنلاین» خبر دارین.

این که چرا حالا در مورد همایشی که برگزار شده و تموم شده دو تا نکته هست، یکی به اشتراک گذاشتن ویدئو‌های سخنران‌ها که توی وبسایت همایش می‌تونین ببینین. و دیگه این که تجربه‌ی خودم از این همایش با بچه‌های دانشگاه رو باهاتون به اشتراک بزارم.

ایده‌ی این کار سال پیش به ذهنم خورد، وقتی که تقریبا از دانشجوها نا امید شده بودم و از هر استادی که می‌پرسیدم هم تا حالا اسم coursera یا codecademy رو نشنیده بودن! به عنوان کسی که توی ایران زندگی می‌کنه، به نظرم هر دانشجویی از هر رشته‌ای باید این سرویس‌ها رو بشناسه. بهترین‌ها از معتبرترین دانشگاه‌های دنیا بدون این که هیچ هزینه‌ای ازتون بگیرن دارن بهتون درس می‌دن. اگر کسی از این فرصت استفاده نکنه حماقت کرده.

پس یک قرار با بچه‌های انجمن علمی علوم کامپیوتر گذاشتم و پرسیدم که چه مشکلاتی ممکن هست وجود داشته باشه، مسئله‌ی مالی، سخنران‌ها، مخاطب‌ها و …، من سعی می‌کنم مشکل رو توضیح بدم و بگم چه طوری باهاشون کنار اومدم.

آموزش آنلاین
همایش آموزش آنلاین

مسئله‌ی مالی

برای من که در مرحله‌ی اول کاملا خنده‌دار بود این مشکل، هنوز هم هست. چون که واقعا مشکل نیست. انجمن‌های علمی دانشگاه‌ها، گروه‌های غیر انتفاعی هستند. اگه همایشی برگزار می‌کنند و یا فعالیتی دارن قرار نیست از توش پول در بیارن! اگه همین اصل ساده رو بفهمیم تقریبا نصف قضیه حل شده. وقتی ما قرار نیست از فعالیتی پول در بیاریم پس انتظار درآمد توسط هرکسی که توی این کار کمک می‌کنه بی معنی هست. از سخنران گرفته تا طراح و برگزارکننده‌ها و …

ولی به هر حال هر همایشی یک سری هزینه‌هایی هم داره، چاپ پوستر، وبسایت، پذیرایی و … که این هزینه‌ها معمولا از چند صد هزار تومن بیشتر نمیشه. مگر کار خاصی بخواید بکنید که اسپانسرها حمایت می‌کنن. معمولا دانشگاه‌ها علاقه‌ای به هزینه‌ی اضافی ندارند. ولی از فعالیت‌های دانشجویی هم خوششون می‌آد. پس فقط کافیه که این نسبت‌ رو رعایت کنین. و برای مابقی هم لازم نیست از دانشجوها هزینه‌ای بگیرین. با یکمی گشتن توی شهر و صحبت کردن با شرکت‌هایی که از برگزاری همایش شما می‌تونن ذینفع باشن، هزینه‌هاتون رو کاور کنین.

شما قرار نیست از اسپانسر چند میلیون پول بگیرین، چون قرار نیست که چند میلیون پول هزینه کنین… این جوری هر شرکت کوچکی هم می‌تونه اسپانسر برنامه‌ی شما بشه. توی همایش آموزش آنلاین «مجتمع فرهنگی دیجیتال فرشچیان استان اصفهان» اسپانسر برنامه‌ی ما شدند.

سخنران‌ها

یکی دیگه از مشکل‌هایی که هست میگن که خب، حالا یه موضوع مشخص شد، و مسئله‌ی مالی هم حل شد. حالا از کجا سخنران پیدا بکنیم. اولین کسایی که برای سخنرانی خوب هستند، خود بچه‌های دانشگاه هستن. یادتون نره که قرار نیست ما کار حرفه‌ای بکنیم، قراره که کار دانشجویی انجام بدیم پس مهم نیست که سخنران حرفه‌ای باشیم. ولی خب حداقل تجربه داشتن قبلی خیلی خوبه. در مرحله‌ی بعدی، فراخوان برای سخنرانی هست. من برای این همایش به چند تا از همکارهای قدیمی و دوست‌هام معرفی کردم چون قرار نبود همایش بین دانشگاهی باشه. و چند نفر دیگه رو هم با صحبت کردن با استادها و هیئت علمی دانشگاه پیدا کردم. آقای خزائی (دانشجوی دکترای زبان) و پروفسور هیرمن‌پور به همین ترتیب به سخنران‌های ما اضافه شدند.

من هم قرار بود توی این همایش سخنرانی داشته باشم، ولی یک ساعت قبل از همایش به دلیل درگیری‌های بسیاری که برام پیش اومد سخنرانیم رو لغو کردم. پیشنهاد میکنم که برای روز همایش، حتما یک روز قبل تمام کارها رو انجام بدین تا اگه قراره سخنرانی کنین، به مشکل برنخورین.

مخاطب

راستش اول از این مورد خیلی می‌ترسیدم، این که فقط ۱۰ درصد سالن ۲۵۰ نفری پر بشه واقعا ترسناکه. واسه همین خیلی صحبت کردم. اولین پیشنهاد و بدترین پیشنهاد، گرفتن هزینه بابت ضمانت حضور بود. این جوری چون که بابت حضور قبلا پول دادن بچه‌ها حتما حضور پیدا می‌کردن. از طرفی منطقی بود ولی از طرفی «غیر انتفاعی بودن» کار زیر سوال می‌رفت. ما این هزینه‌ای که قرار هست از بچه‌ها بگیرم رو صرف چه کاری می‌کنیم؟ مگه دانشگاه و اسپانسر مسئله‌ی مالی رو از دوش ما باز نکردن؟ پس من کاملا مخالف این قضیه بودم. حتی اگه فقط ۱۰ درصد سالن پر بشه.

به جای این کار روی چند تا چیز دیگه تمرکز کردیم، اولیش گسترده تر کردن مخاطب‌ بود. جامعه مخاطبمون رو گسترش دادم و به جای فقط بچه‌های علوم کامپیوتر و مهندسی کامپیوتر کل دانشگاه رو مخاطب قرار دادیم. چون که آموزش آنلاین فقط به این دو رشته محدود نمیشه. بعد روی تبلیغ کار کردم، پوستر‌های رنگی‌رنگی که دوست خوبم امیرخسرو زحمتش رو کشید. به تعداد زیادی چاپ کردم و روی کاغذ خوب. به تمامی دانشجوها چند روز قبل همایش پیامک دادیم. و نکته‌ی آخری که برای جلب مخاطب کردیم، تبلیغ حضوری بود، تحت عنوان ثبت‌نام برای همایش، توی دانشکده‌های مختلف دانشگاه میز ثبت‌نام گذاشتیم و برای بچه‌ها به صورت حضوری توضیح دادیم که قضیه از چه قراره، بیش از ۱۵۰ نفر قبل از همایش ثبت‌نام کردن.

و جواب گرفتم، بدون این که هزینه‌ای برای ضمانت حضور بگیرم، تقریبا ۶۰-۷۰ درصد سالن پر شد. هر چند که عالی نبود، ولی به نسبت همایش های قبلی که توی سالن شیخ‌بهایی دانشگاه برگزار شده بود و من توشون شرکت کرده بودم، خیلی عالی بود. البته یکی از دلایلی که این تعداد حداکثر نشد، ناهماهنگی با استادها بود، قرار بود استادها توی همایش حضور داشته باشن ولی متاسفانه فقط روئسای دانشکده‌ها حضور داشتند.

نکته‌ی جالبی که بود واقعا توی همایشی که برگزار شد و از نظر مخاطبین و برگزارکننده‌ها، خیلی خوب برگزار شد. این مشکل‌هایی که اول ازش می‌ترسیدیم وجود نداشت. بلکه مشکلاتی وجود داشت که اول از نبودنشون مطمئن بودیم!

نبود مسئول سالن

یکی از اصلی ترین دلایلی که من ارائه‌ام رو لغو کردم همین نبود مسئول سالن بود! مگه امکان پذیره که سالنی که از یک ماه قبل رزرو شده، مسئول صدا و تصویر نداشته باشه؟ و خب اینجا ایرانه … صبح روزی که من رفتم سالن رو تحویل بگیرم، گفتند که مسئول سالن یک هفته هست که از دانشگاه رفته و سالن مسئول نداره!

تقریبا یک ساعت از برنامه عقب موندم تا اینکه یکی از نگهبان‌های دانشگاه که با سیستم‌ها قبلا آشنایی داشته، اومد و سالن رو به من تحویل داد. و من شدم مسئول صدا و تصویر سالن! احتمالا من رو توی ویدئوی سخنرانی پروفسور هیرمن‌پور می‌بینین.

این مشکل واقعا قابل پیش‌بینی نبود، هرچند که ما می‌بایست روز قبل سالن رو تحویل می‌گرفتیم و چک می‌کردیم ولی متاسفانه امکان پذیر نبود. فرض بر این بوده که سالن بدون هیچ مشکلی تحویل داده میشه.

عدم مسئولیت پذیری بچه‌ها

نمی‌خوام باز هم گلایه کنم، می‌خوام اینبار تجربه‌هام رو بگم. توی این همایش، کسایی که من از حضورشون حتی مطمئن نبودم خیلی بیشتر از کسایی که چند ماه قبل به من قول همکاری داده بودن، توی همایش کمک کردن.

و من سوال برام پیش اومد که این اتفاق چرا افتاده، جواب های زیادی براش داشتم، اولیش ممکنه همون فرهنگ اشتباه ترم بالایی و پایینی باشه، یا امتحان و درس‌های بچه‌ها. البته تمام این ها به علاوه‌ی نبود فرهنگ کار گروهی توی تمام مملکت ما هست!

ولی به نظر من بهترین راه‌حل برای برطرف کردن این قضیه، اینه که تمام بچه‌ها نسبت به اون فعالیت گروهی، حس مالکیت داشته باشن. وقتی بچه‌هایی که روشون حساب کردم نیومدن، من از بچه‌های هم گروهیم خواستم که از بچه‌های هم‌رشته‌ایم که فکر می‌کنن می‌تونن کمک کنن بخوان که بیان و این کار گروهی رو با هم انجام بدیم. حالا دیگه فعالیتمون فقط کار انجمن علمی یه دانشکده نبود، بلکه کار گروهی بچه‌های علوم کامپیوتر دانشگاه بود.

و خب فوق العاده بود، بچه‌ها چند تا تماس گرفتن و اونقدر اومدن و کار ها با نظم انجام شد که مهندس ناصری بعد همایش به من گفت که واسه یه گیک زیادی کارها منظم انجام شد! هرچند که سخنران اولمون یعنی پروفسور هم بیست دقیقه دیر تشریف آوردن!

البته، باید بگم که انتظامات دانشگاه هم کم سنگ توی راهمون ننداخت، هرچند که خودمون باید زودتر این بوروکراسی اداری رو انجام می‌دادیم که به مشکلی بر نخوریم ولی خب، انتظار داشتم که بیشتر باهامون همکاری کنن.

همایش آموزش آنلاین
همایش آموزش آنلاین

می‌خوام تشکر کنم از همه‌ی بچه‌هایی که کمک کردن تا این فعالیت دانشجویی رو انجام بدیم! حالا امیدوارم فردا، بچه‌ها گروه‌های درسی آنلاین تشکیل بدن و با هم دیگه کورس‌های بهترین‌های دنیا رو دنبال کنن و فعالیت‌های دانشجویی بیشتری رو انجام بدن!

پی‌نوشت: اطلاعات و عکس‌ها و ویدئو‌های همایش رو توی سایت همایش می‌تونین پیدا کنین، http://shbu.bersam.org

lLyrics – پلاگین ریتم‌باکس

پلاگین‌نویسی به نظرم یکی از جذاب‌ترین نوع برنامه‌نوشتن هست و وقتی که اون پلاگین کدباز باشه و بتونی به توسعه‌اش کمک کنی، اون موقع هست که به اوج لذت این کار می‌رسی. پلاگین lLyrics یک پلاگین مخصوص ریتم‌باکس هست که از سایت‌های مختلف توی اینترنت لیریک و یا متن آهنگ‌ها رو دانلود می‌کنه و توی پنل کنار ریتم‌باکس نشون می‌ده و این پلاگین‌ها رو هم فقط یک بار دریافت میکنه و کش می‌کنه! این پلاگین به زبان پایتون ۲ و برای gtk3 نوشته شده.

البته خود ریتم‌باکس هم یک افزونه‌ی رسمی برای لیریک داره ولی بشدت مزخرفه، مخصوصا با فیلترینگ ما همراه بشه و اون موقع هست که به هیچ دردی نمی‌خوره. lLyrics با استفاده از تگ‌های هر آهنگ و جستجو توی بیشتر از ۱۰ تا سایت انتشاردهنده‌ی لیریک،‌ بعد از پیدا کردن اون‌ها، اضافات هر صفحه رو حذف می‌کنه و یک متن خوشگل و خوانا به شما میده! لینک پروژه توی گیت‌هاب: https://github.com/dmo60/lLyrics

همخوانی با ریتم‌باکس ۲.۹۹

این افزونه تا تقریبا چند روز پیش برای آخرین نسخه‌ی ریتم‌باکس یعنی ۲.۹۹ کار نمی‌کرد و جالب بود که خود توسعه‌دهنده‌اش سه ماه پیش این موضوع رو گزارش داده بود و تا حالا تغییری روش اعمال نکرده بود! من هم که دربه‌در دنبال یه برنامه برای نمایش لیریک‌هام میگشتم یک پیغام براش گذاشتم که پروژه در چه وضعیتی هست، علی‌وا هم که دنبال این پلاگین بود، براش کامنت گذاشت و بعد از کمتر از یک روز، توسعه‌دهنده‌اش نسخه‌ی هماهنگ با ۲.۹۹ رو منتشر کرد 🙂 اول توی یه برنچ آزمایشی گذاشت و بعد از این که من و علی‌وا تستش کردیم و بهش فیدبک دادیم، یک سری اصلاحات انجام داد و توی برنچ اصلی منتشرش کرد!

باگ در اسم خواننده‌ها

خب، در اولین استفاده خیلی عالی عمل میکرد و برای اکثر آهنگ‌ها حداقل یک سایت بود که هم فیلتر نباشه و لیریک رو بیاره، اما یک آهنگ خاص باعث شد که من یک ریپورت دیگه توی گیت‌هاب بفرستم و اون پیدا نکردن لیریک آهنگ معروف Macklemore and Ryan Lewis – Thrift Shop بود! تقریبا اول کار هیچ ایده‌ای نداشتم و فکر می‌کردم مشکل از فیلترنت باشه، پس سعی کردم به اینترنت وصل بشم و بعد دیدم باز هم مشکل داره. با استفاده از آپشن -D ریتم‌باکس رو توی حالت دیباگ اجرا کردم:!

➜ ~>rhythmbox -D lLyrics

خب یه توضیح کوچیک بدم که -d تمام لاگ‌های ریتم‌باکس رو نمایش میده (خیلی خیلی زیاد هستن!) و -D و متنی که به دنبالش هستین فقط لاگ‌هایی که اون عبارت توشون باشه رو نشون میده. بعد از یکمی صبر دیدم که پارسر سایت MetroLyrics که این لیریک رو داره (گوگل کرده بودم!) داره به وبسایت اشتباه میفرسته، مشکلش هم کمی ساده بود، لینکی که ساخته میشد macklemore-and-ryan-Lewis-lyrics-thrift-shop بود ولی توی سایت اصلی and رو حذف کرده بود.

طبیعیه که نمیشه به سادگی and رو حذف کرد، ممکنه and قسمتی از اسم خواننده باشه. چند ساعت بعد توسعه‌دهنده‌اش یه ایده‌ی جالب داد! اون هم استفاده از ‌api سایت معروف last.fm برای اصلاح تگ‌های آهنگ قبل از سرچ کردنشه! و بعد از چند ساعت بعد این امکان رو اضافه کرد و باگ بسته شد!

اضافه کردن یک وبسایت جدید

من کمی پایتون بلدم، داشتم فکر می‌کردم که چه خوب میشه سایتی مثل rapgenius.com رو هم داشته باشیم! از اون جایی که دولوپرش خیلی فعال بود و اگه میگفتم این رو هم اضافه کنیم تا چند ساعت بعدش اضافه میکرد این سری اول اضافه کردم و بعد pull request فرستادم :دی با یکمی “قرائت کدش” به راحتی پارسری که برای MetroLyrics نوشته بود رو برای rapgenius.com بهبود دادم و به برنامه اضافه کردم.

پکیج AUR

خب، این تغییرات همش روی گیت‌هاب انجام شد و هنوز توی هیچ ریپوزیتوری اضافه نشده بود، از اونجایی که پکیج ‌‌AUR  رو کسی هندل نمی‌کرد، من گرفتمش و با اضافه کردن یک دپندنسی و تغییر دادن نسخه و …، یک ‌PKGBUILD که به خوبی نصب و به روزرسانی میکنه پکیج رو فرستادم به ‌AUR!

پانوشت: بلاخره پشتکار امید باعث شد من هم حوس نوشتن به سرم بزنه باز هم و اینجا رو بعد از ۲ سال آپدیت کنم!

آپدیت ۱: از اونجایی که چند نفر با جستجوی آهنگ MACKLEMORE به این پست رسیدن، این لینک یوتیوب این آهنگ هست که حدودا ۵۰۰ میلیون بار پخش شده، ۵۰۰ میلیون بار فقط توی یوتیوب!

ایجاد یک عکس موزاییکی از کاربران ایرانی!

اول بگم که عکس موزاییکی چیه، بعد برسم سراغ طرح عکس موزاییکی کاربران گنو/لینوکس کار ایرانی! :دی
احتمالا باید عکس‌های موزاییکی رو دیده باشین، توی مجله‌ها، توی اینترنت و شاید هم ساخته باشیدشون.
ایده‌ی کلی اینه:‌ یک عکس اصلی داریم و تعداد زیادی عکس کوچیک. با استفاده از برنامه‌های مختلف مثل gimp یا metapixel یا خیلی برنامه‌های دیگه (حتی تحت وب هم دیدم) عکس اصلی رو با عکس‌های کوچیک تولید کنید. طرح خیلی قشنگی می‌شه. این نمونه رو ببینین:
این پرنده با استفاده از عکس‌های مختلف طبیعت و عکس پرندگان دیگه ساخته شده. می‌تونین روش کلیک کنین و عکس‌های کوچیک رو ببینین.
 و اما ایده:
قصد دارم که عکس کاربرای گنو/لینوکس کار ایرانی رو جمع کنم. کسایی که فعال هستن و فعالیت‌هایی برای گنو/لینوکس انجام دادن و بعد توی عکس تاکس یا گنو (یا هر دو؟) یه عکس موزاییکی از کاربرا درست کنم.
تاکس لینوکس
این طرح کلی هست، از بقیه خوشگل تره و خب بامزه تر. تا الان یه تعدادی از بچه‌ها عکسشون رو دارم و چند تایی هم عکسشون رو برام فرستادن. خوشحال میشم که عکس شما رو هم توی این عکس موزاییک بزارم. لطفا عکس خودتون رو توی هر اندازه‌ای، از هر جایی، توی هر حالتی، به من bersam.k توی جیمیل ایمیل کنین!

Xfce را برای برنامه‌های gtk3 تنظیم کنید

خب، بعد از کوچ کردن به Xfce هنوز یک سری تنظیمات مونده تا دسکتاپ دلخواه بشه. مشکل وقتی پدیدار شد که خواستم با استفاده از برنامه‌ی evince برای باز کردن pdfها استفاده کنم. برنامه‌ی evince مثل gedit و rhythmbox با gtk3 نوشته شده و توی آدرس و نحوه‌ی تنظیم کردن تم‌های gtk3 هم فرق می‌کنه. راه حل ساده هست. تم gtk3 رو تنظیم کنین.
 مثل gtk2 توی ~/.gtkrc-2.0 برای gtk3 هم باید فایل:
${XDG_CONFIG_HOME}/gtk-3.0/settings.ini
 بسازید و تغییر بدید. ${XDG_CONFIG_HOME} معمولا همون پوشه‌ی .config توی home هست. مثل سینتکس زیر فایل رو ادیت کنید.

[Settings]
gtk-theme-name = Adwaita
gtk-fallback-icon-theme = gnome
# next option is applicable only if selected theme supports it
gtk-application-prefer-dark-theme = true
# set font name and dimension
gtk-font-name = Sans 10

تم Adwaita با پکیج gnome-themes-standard توی آرچ‌لینوکس نصب میشه. البته این تنظیمات توی Xfce به این صورت احتیاج هست و توی خود گنوم می‌هونین از ابزار Gnome Tweak استفاده کنین.
منبع:

آپدیت۱:
ایده‌ی @Sasan هم بهتر هست، می‌تونین از سری تم‌هایی استفاده کنین که هم gtk-3.0 رو ساپورت می‌کنن و هم gtk-2.0 رو. مثل این دو تا:
http://shimmerproject.org/project/bluebird
http://shimmerproject.org/project/greybird

و البته چون این دوتا زیادی روشن هستن می‌تونین از این تم که تیره هست استفاده کنین:
https://thedeviantmars.deviantart.com/art/Atolm-gtk3-206663190