چگونه بازی‌ساز شویم؟

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

در سال ۹۶، حدود دو ماه در استودیویی مشغول کار شدم، بعنوان «آهنگساز» برای بازی کامپیوتری. اول که قرار بود کار آهنگسازی و دیزاین صدا به واسطه کامپیوتر رو براشون انجام بدم. یعنی طراحی ساندترک های بازی (موسیقی متن) و طراحی ساند افکت (صداهایی که می‌شنویم، مثل باد، صدای دستگاههای عجیب و غریب آخرالزمانی یا صدای هیولا و … ) ولی کم کم بخاطر کمبود نیرویی که به کار صدا وارد باشه، رُل «صدا گذار» هم به من داده شد. حالا دیگه صرفا کسی که کل روز وقتش پشت FL باشه نبودم و باید در یونیتی انجین کد میزدم و Sound Object و … وارد میکردم و با میکسرهای یونیتی بازی میکردم. برای من سخت بود چون اولا که به من گفته نشده بود قراره صداگذاری کنم، دوما زبان یونیتی سی شارپه و من هم چندان دل خوشی ازش ندارم. پس به شدت سعی میکردم تن ندم و از زیرش دربرم (حتی نیروی کمکی هم با خودم برده بودم 😀 ). ولی باگ قضیه این نبود. باگی که در این سیستم بود فراتر از این ماجراها بود. که در این مطلب قراره در موردش توضیح بدم!

از کجا شروع کنیم؟

برای بازی سازی، ما رُل های متعددی داریم. از برنامه نویسان و متخصصین هوش مصنوعی گرفته تا رُلهای کاملا سینمایی مثل نویسنده و کارگردان، همه حیاتی و مهم هستند و باید در یک تعادل حساس، کنار هم قرار بگیرند. نه این که یک یا دو نفر سعی کنند همه این رُل ها رو داشته باشند. حداقل وقتی که قراره بازی پدرمادر دار و درست و حسابی بسازیم، نیاز داریم برای هربخشی یک متخصص (یا یک تیم متخصص) داشته باشیم. در این قسمت، با هم کمی نقش ها رو بررسی میکنیم. از یک «ایده» ساده تا یک «بازی» کامل.

ایده خام

اگر همین لحظه که این متن رو میخونید یک دقیقه متوقف بشید و سعی کنید برای «موضوع آزاد» انشاء بنویسید، چه خواهید نوشت؟ مثلا آیا «یک سرباز رومی گرفتار شده در ایران» یا «یک سردار صفوی گرفتار شده در عثمانی»؟ یا حتی ساده تر، «کودکی که از سر کنجکاوی وارد یک قلعه ویکتوریایی شده». همه این ها جذابن. ولی زیادی خام هستند، شما نیاز دارید که کمی این ها رو پرورش بدید تا برسید به «ایده خام».

بیاید به «کودکی که از سر کنجکاوی وارد یک قلعه ویکتوریایی شده» رو با هم کاملش کنیم. میگیم «کودکی داشت در یکی از خیابانهای لندن، توپ بازی میکرد. ناگهان توپش درون قلعه افتاد. هیچ کس از بزرگترها – به خاطر داستانهایی که از آن قلعه شنیده بودند – داخل نمی‌شدند تا توپ را برای کودک بیاورند. حالا کودک بخاطر شجاعت و نترسی کودکانه‌اش، این خطر را به جان خرید و وارد قلعه شد». تا اینجا یک ایده بسیار خوب داریم. حالا لازم شد که روی ایده کار کنیم. پس این ایده رو با یک «نویسنده» در میان میگذاریم (یا خودمان، اگر توانش رو داریم، روی بسطش فکر میکنیم).

نویسندگی و بسط ایده

تا اینجا، ساخت فیلم و بازی بسیار شبیه بودند. اما از اینجا به بعد قراره که متفاوت تر بشن. بازی یک نوع رسانه «اینتراکتیو» یا «تعاملی» به حساب میاد ولی فیلم نه. کنترل بخشی از بازی دست پلیره ولی فیلم نیست. بنابراین باید اول تصمیم بگیریم «کجا قراره بازی مثل یک فیلم روند خودش رو طی کنه» و «کجا قراره بازی دست پلیر بیفته». حالا میتونیم ایده ها رو کنار هم بچینیم. ولی قبل از چیدن این مسائل کنار هم، نیاز داریم که یک سری المان ها را به خوبی کنار هم قرار بدیم :
۱. پیش زمینه و تاریخچه از موضوع کلی (چرا مردم حاضر نیستند در اون قلعه برن؟ حتی وقتی توپ کودک معصومی آنجا افتاده؟)
۲. طرح سوال کلی و شروع داستان (ورود کودک به قلعه)
۳. ایجاد تنش (رو به رو کردن کودک با چیزی که تا به حال با اون مواجه نشده، دیدن موجودات ماوراء الطبیعی و …)
۴. حل سوال توسط قهرمان و پایان داستان (جنگیدن کودک با توهماتی که درون قلعه با آن دچار شده، جنگیدن کودک با طرز تفکر مردم و غالب شدن یک طرز تفکر جدید).
بسیار خب، حالا بیایم با هم کل ایده رو به «طرح کلی» یا همون «پلات» تبدیل کنیم :

«سالیان سال، قلعه‌ای ویکتوریایی در جنوب شهر لندن بود که مردم منطقه شبها از آن صدای جیغ و داد می‌شنیدند. گاهی هم مردمی که در روز از کنار آن قلعه عبور می‌کردند، صدای گریه و زاری زنی را می‌شنیدند، گویی که به سوگ فرزندش نشسته باشد.
روزی، «آلن» ، کودک ۱۰ ساله‌ای که ساکن جنوب لندن است، به تنهایی با توپ خود بازی میکند، ناگهان توپ او از  دریچه قلعه، به درون آن میفتد. پسربچه از چند بزرگتر خواهش میکند که توپش را برای او بازگردانند، اما همه آنها با اتکا به اتفاقاتی که در آن قلعه افتاده است، می‌ترسند که داخل شوند؛ چرا که هراس از «زنده برنگشتن» در وجود آنان نهادینه شده است.
آلن، دیگر از دست آن آدم بزرگها به ستوه آمده و خودش وارد قلعه می‌شود. در اولین نگاه، اسکلت زنی را می‌بیند که با لباس عروسی کهنه و تارعنکبوت بسته، روبروی یک دست آینه و شمعدان نقره نشسته است؛ نماد های سلطنتی مجارستان و انگلیس را می‌بیند که تارعنکبوت بسته و از رنگ و رو افتاده اند. محو تماشای شکوه از دست رفته خاندانهای سلطنتی شده که ناگهان یادش میفتد به دنبال توپش آمده.
وقتی آلن در قلعه به دنبال توپش میگردد، ناگهان پایش روی یک چیزی – مانند یک تکه استخوان – رفته و صدای جیغی در محیط می‌پیچد. تمام افرادی که سالها در آن قلعه حبس شده و مُرده بودند، زنده می‌شوند و حالا وظیفه آلن است که به داستان آنها گوش دهد و و وقتی که به صورت کامل، هم داستانها را شنید و هم نامه ها و خاطرات را خواند، تازه می‌تواند از قلعه خارج شود و خارج از آن قلعه، ماجرای زنی که به انتظار دامادش نشسته بود را، برای آدم‌بزرگها تعریف کند و پلیس نیز جرات کند به قلعه ورود کرده و سپس ماجرا در تمام دنیا، پخش شود».

چیزی که در بالا خواندیم، یک پلات ساده بود. این پلات رو من بداهه نوشتم و شاید پلات درستی نباشه، ولی ممکنه سالها بعد به یک بازی تبدیل بشه. حالا نکته مهم اینه که این پلات باید به فیلمنامه تبدیل بشه، مثلا گشت و گذار صرف توی یک قلعه به اندازه کافی هیجان انگیز نیست، پس یک جا لازمه که مثل بازی «لایه های ترس» ، از بُردهای «وی‌یا» (برد Ouija که از دو کلمه Oui فرانسوی و Ja آلمانی تشکیل شده و برای احضار ارواح استفاده میشه) برای ارتباط با ارواح یا حل یک معما استفاده کنیم. یا مثلا، در کشوی میزکار افسر آلمانی – که چندین روز مهمان آن خانم ثروتمند و نجیب‌زاده بوده – یک کلید قایم کنیم که مربوط به یکی از درهای اصلی قلعه باشه. پس اینجا کار نویسنده به «طراحی گیم‌پلی» تغییر میکنه. معمول هم اینه که طراح گیم‌پلی شخص متفاوتی از نویسنده باشه، مگر این که تیم ما به قدر کافی بزرگ نباشه. بعد از این که گیم پلی طراحی شد، و حالا داستان و گیم پلی پخته ای داریم، وقتشه که از دو نفر کمک بگیریم : هد تیم برنامه نویس ها و کارگردان.

شروع به ساخت و کارگردانی

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

برنامه نویس ها هم وظیفشون ایجاب میکنه که در محیط بازی‌سازی (مثلا یونیتی) داستان رو به کد تبدیل کنند. انیماتور ها بخش های «غیر اینتراکتیو» رو میسازند و برنامه نویس بخش اینترکتیو رو. بعضی وقتها هم با هم همکاری میکنند (مثلا وقتی که قراره کاراکتر وارد یک Trigger خاصی بشه و مثلا سقف بریزه) و این مرحله تولید هم به خوبی پیش میره. تا این که یک بازی کامل ولی بدون صدا داریم. حالا وقتشه که «بازیگران صدا» و «صدا بردار» و «صدا گذار» هم وارد بشن. حالا بازی ما هم صدا داره هم گیم پلی. هم مکانیک بازی به خوبی در محصول ما پیاده شده. پس در «پس تولید» چه میکنیم؟

پس‌تولید

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

توی این مرحله از خوره بازی ها، کسانی که اون ژانر رو دوست دارند و حتی «کسی که صرفا بازی رو دوست داره ولی نه گیمره و نه اهمیتی به محتوای بازی میده» دعوت میشه که بازی رو تست کنن. تست هم معمولا یا از طریق اینترنت اطلاع رسانی میشه (تا جایی که میدونم فن‌افزار چنین کاری کرد) و یا از تیمهای دیگر درخواست میشه که تسترهاشون رو در اختیار تیم بذارن. تسترها تست میکنن. بازی میکنن و میگن «فلان جا بهتر بود معما سخت تر میشد» یا «بهمان جا موسیقی به صحنه نمیخورد». پس یک بازنگری میکنیم و اونجاهایی که واقعا توی ذوق میزنه رو تعویض میکنیم، اونجاهایی که از قصد یک تناقضی ایجاد کردیم (مثلا قرار دادن موسیقی جز امریکایی روی یک صحنه قتل پر خون) رو توضیح میدیم.

حالا وقتشه که بازی رو منتشر کنیم. چه روی استیم، چه مستقل، چه روی بازار یا هیولا، فرقی نداره. مهم اینه که باید مارکتینگ خوبی داشته باشیم (در مورد مارکتینگ خوب بازی کامپیوتری و جذب نیرو در استدیو هم خواهم نوشت) که مشتری جلب کنیم. با خارجی ها در ارتباط باشیم (چون اونها هم منتقدان خوبی دارند!) و فقط به داخل ایران محدود نشیم. ولی یادتون نره «نقدها باید شنیده بشن ولی الزامی در عمل کردن به اونها نیست». و آماده بشیم برای پروژه های بعدی.

یک کلام، برای بازی ساز شدن باید چه کار کنیم؟

اگر نظر من رو میخواید، هم باید بازی کنید، هم فیلم ببینید هم کتاب بخونید. خوندن داستانهایی مثل IT یا «برج سیاه» از استفن کینگ، دیدن فیلمهایی مثل «سگ اندلسی» از لوییس بونوئل یا حتی دیدن فیلمهای پرهیاهو و تجاری مثل «دانکرک»، بازی کردن بازیهای مستقل مثل «اینساید» یا «لایه های ترس» یا بازی های تجاری مثل «رزیدنت اویل» همه و همه کمکه. ایده ها از کره مریخ در ذهن ما نمیان، با دید ما از دنیای اطراف ساخته میشن. علاوه بر این آشنایی و کار با موتورهای بازی سازی (بخصوص یونیتی) شدیدا مهمه. حتی اگر شما صرفا تهیه کننده هستید و قرار نیست حتی یک خط هم کد بزنید، لازمه که آشنا باشید.

 

 

 

 

Share

شروع مجدد در سال نو؟

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

داستان از اینجا شروع میشه که چهارساله که دارم در مقطع کارشناسی «مهندسی کامپیوتر» و گرایش «سخت افزار» تحصیل میکنم. اونقدری به پایانش نمونده و موقعی رسیده که واقعا باید یک سری علامت سوال از ذهن و زندگی من، رفع بشه. چه علامت سوالهایی؟ مثل این که آیا واقعا قصد دارم تحصیلات عالیه داشته باشم؟ آیا قصد دارم همین کامپیوتر رو ادامه بدم؟ آیا قصد دارم رشته دیگری رو از صفر شروع کنم؟ و هزاران سوال دیگر. سوالاتی که شاید ذهن خیلی هایی که در مقطعی حساس از زندگیشون هستند رو درگیر کنه. همین الان که این پست رو می‌نویسم، دوستی که به مباحث علوم انسانی علاقه داره (و کامپیوتر میخونه) از من پرسید «به نظرت انصراف بدم برم جامعه شناسی بخونم؟» و خب بعد کلی بحث نتیجه‌ش شد که فعلا دست از این کار بکشه (بعدا در مورد این موضوع هم مفصل توضیح میدم در وبلاگ!)

قبل از این که این سوالات پیش بیاد باید یک علامت سوال بزرگتر رو رفع میکردم. این که «چرا کامپیوتر یک باره فرع زندگی من شد؟»! فکر کنم هرکسی که این وبلاگ رو از مرداد ۹۰ (یا ۹۱؟) خونده باشه و قبلتر من رو از وبلاگهای قبلی، فروم اوبونتو یا حتی انجمن آیفون بشناسه، می‌دونه که من شدیدا علاقمند به مباحث علوم و مهندسی کامپیوتر بودم (و هستم! و حتی با تقریب درست و زیادی خواهم بود 😀 ) ولی مدتهاست در این زمینه خبری از من نیست. نه به شکل قدیم پروژه هایی رو تعریف میکنم و پیش می‌برم، و نه مثل قدیم به صورت فعال وسط بحث های تخصصی حضور پیدا میکنم و سعی میکنم یاد بگیرم.
موضوع از اینجا شروع میشه که مدت زیادیه که از پروژه های کامپیوتری دور شدم و به «موسیقی» رو آوردم. موسیقی خوب و لذتبخشه و حقیقتا لازمه که هر آدمی، درجه خاصی از هنرمندی رو در خودش داشته باشه. حالا یا موسیقی یا خوش‌نویسی یا نقاشی یا آشپزی و … . مهم این نیست که شما چقدر وقت صرف هنر میکنید، موضوع اینه که میخواید عنوان اصلی شما در جامعه «هنرمند» باشه؟ یا مثلا «مهندس»؟ خب طبیعیه که من بعنوان کسی که مهندسی میخونه (و حقیقتا کم هم بابت این عنوان مهندس خرج نشده، چه هزینه دانشگاه چه وقتی که صرف شده) و رشته انتخابیش رو دوست داره، دوست دارم قبل از این که بهم بگن «هنرمند»، «مهندس» خطابم کنن.

موسیقی ذهن من رو درگیر کرد، آهنگسازی رو در این مدت یاد گرفتم (به صورت درست و علمی)، دوباره کلاس گیتار رفتم، حتی قطعاتی که ساخته بودم رو در اینترنت منتشر کردم و … . ولی این توانایی در آهنگسازی رو از کجا آوردم؟ به نظرم بخاطر تسلطی که روی کامپیوتر داشتم. اگر به این اندازه به زیر و بم کامپیوتر وارد نبودم (گرچه ادعایی هم ندارم درش)، نمیتونستم توی نرم افزاری مثل FL Studio راه بیفتم و کارایی مثل ساخت موسیقی الکترونیک، میکس و مستر و … رو یاد بگیرم. حتی استفاده از گیتار الکتریکم بعنوان یک MIDI Synthesizer .

خب برگردیم به موضوع! این «شروع مجدد» چه چیزی میتونه باشه؟ به خودم قول دادم که در این ایام نوروز، که ماشالله ترکش های تعطیلیش تا اول اردیبهشت هم اصابت میکنه 😂 ، یکی از موضوعات مرتبط با رشته‌م رو مطالعه کنم، و سعی کنم تا جای قابل قبولی فرایند یادگیری و تمرین رو براش انجام بدم. حالا یا دوباره یکی از موضوعات مورد علاقم رو میخونم (سیستم عامل، معماری کامپیوتر، ریزپردازنده و …) یا این که یک موضوع جدید رو باز میکنم و سعی میکنم درش به یه حداقلی برسم (که میتونه از برنامه نویسی جاوا یا آندروید رو شامل بشه تا شبکه های عصبی و پردازش موازی یا حتی متدهای رسمی در مهندسی نرم افزار :|) و احتمالا کل امسال رو وقف همون موضوع کنم و در تابستان هم بتونم یک مقدار نوآوری درش داشته باشم!

نتیجه‌ش چه خواهد شد؟ این که من باز به اون اصالت کامپیوتری خودم برگردم. وقتی قراره به عنوان «مهندس» در جامعه حضور داشته باشم نیاز به «دید مهندسی» هم دارم، و دید مهندسی هم چیزی نیست که الکی و یک شبه به دست بیاد. پس امیدوارم امسال، برای من سال «دید مهندسی» و «مهندس بهتر شدن» باشه 🙂

Share

فرمول شهرت (چگونه در دو دقیقه مشهور شویم)

شاید برای ده سال پیش، نمیشد انقدر راحت «فرمول شهرت» رو بیان کرد یا نسخه ای برای شهرت و مشهور شدن افراد پیچید. اما اگر به جای ده سال، به پنج سال پیش استناد کنیم راههای فراوانی هستند که میتونن ما رو به طرفة‌العینی به شهرتی که همیشه آرزوش رو داشتیم برسونن …
مدتها پیش ویدئویی از یک ویدئو بلاگر ایرانی به اسم «علیرضا ۲۴» در وبلاگم قرار دادم که راه مشهور شدن از طریق فیسبوک رو توضیح داده بود. اما فیسبوک کجا، دو ابزار امروزی‌تر «اینستاگرام» و «تلگرام» کجا. فیسبوک سالهاست که بدون استفاده از پراکسی، وی‌پی‌ان و … دسترسی بهش ممکن نیست ولی اینستاگرام و تلگرام بدون این ابزارها هم در دسترسند، فیسبوک دیگه مثل سابق بین ایرانی ها پرطرفدار نیست و خب به جز عده خاصی، دیگه کم پیش میاد در فیسبوک فعالیت های اونطوری ببینیم. ولی متاسفانه، در اصل قضیه تفاوتی نشده، کل ماجرا اینه که تازه افرادی که همون کارها رو در اینستاگرام یا تلگرام میکنن دیگه آدم های مضحک یا چیپ به حساب نمیان، بلکه با عناوینی مثل «اینفلوئنسر» و «واینر» و … ، به خودشون هم اعتبار میدن!

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

فرض کنیم یک روز صبح از خواب بیدار می‌شیم، میریم که اعلان (Notification) های تلگرام و توییتر و فیسبوک و … رو چک کنیم. در تلگرام پیامهای زیادی از دوست و آشنا و فامیل می‌بینیم که از کانالها فوروارد شدن. همه این پست ها هم یک سری ویژگی مشخص دارند :
عنوان کانال + یک متن (عموما جوک، یکی از وقایع اخیر ایران یا جهان، یک شایعه کاملا بی اساس با هرچیزی شبیه این) + یک لینک یا آیدی کانال.
و مثلا می‌بینیم که سه نفر برای ما یک جوک فرستادن، جوک یکسان اما کانالها متفاوت. با بررسی کانالها هم می‌بینیم که هرکدوم دست کم هزار عضو دارند. چه دلیلی باعث میشه که انقدر این کانالها رشد داشته باشند؟ و چرا مثلا یک کانالی که اطلاعات روزمره ولی علمی و درست (با استناد به منابع و مقالات معتبر) منتشر میکنه انقدر طرفدار نداره؟ شاید بشه دلیل عمده‌ش رو در رفتارهای بنیادین مردم پیدا کرد، اما ما اینجا میخوایم به این مقوله بپردازیم که «چطور با کانال تلگرامی میشه مشهور شد؟».

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

  1. ایجاد کانال تلگرام با یک اسم و آیدی مسخره (اسم و آیدی مسخره خودش به خودی خود میتونه مخاطب رو به کانال شما بکشونه)، برای انتخاب اسم یا آیدی هم روشی هست به اسم «احمقانه ترین ایده ممکن». وارد جزییات نمیشم میتونید در پستهای قدیمی تر تشریح این موضوع رو ببینید
  2. انتخاب عکس مناسب کانال! در زمان فیسبوک مردم کمی خلاق تر (و شاید با حوصله تر) بودن، یک مربع در paint درست می‌کردن، و با بدترین فونت ممکن اسم پیج رو درونش مینوشتن. اما الان اکثر کانالها عکس یک کمدین معروف، یا یک ویدئویی که در اینترنت ترند شده رو بعنوان عکس کانال انتخاب میکنند.
  3. تولید محتوای مناسب!!! این هم از اون مواردیه که واقعا نمیشه بهش گفت «مناسب» ولی خب، از اونجایی که قراره با این ترفند به شهرت برسیم، محتوامون هم باید مناسب باشه. یکی از راهها، کپی کردن مطلبه. مثلا شخصی جوکی برای شما ارسال کرده، شما سریعا متن جوک رو کپی میکنید و در کانالتون میذارید (به همراه آیدی کانال) ، یا تشریف می‌برید توییتر و توییت های «فیو استار» (توییت هایی که بیش از یک حد خاصی فیو خوردن و دست به دست شدن، ژانر خاصی رو پدید آوردن و …) رو کپی میکنید در کانال خودتون! یا از همون جوکها و اصطلاحات قدیمی فیسبوک کپی برداری میکنید! بهرحال محتوای اورجینال ، زیر صفر 🙂
  4. و در آخر، برای این که در راه سخت شهرت موفق باشید، فقط میتونم بگم «تا میتونید اسپم کنید». یعنی چی؟ یعنی یک ایموجی 😕 در کانالتون قرار بدید بعد این رو به همه گروه ها فوروارد کنید! یا نه، کمی پیشرفته تر عمل کنید! یک شایعه بی‌اساس (مثل فولان ویروس که توسط یک گروه تروریستی در خرما و زیتون وارد ایران شده) یا یک خبر مرتبط با یک کشور دیگه (مثلا آفریقای جنوبی) رو در گروههایی که میدونید این چیزا رو دوست دارند (عموما هم گروه های خونوادگی 🙂 ) فوروارد کنید و منتظر رشد چشمگیر بازدید و عضوهای کانال خودتون باشید!

اگر اون چهاربند رو رعایت کنید می‌تونم با تقریب درستی بگم ظرف دو یا سه هفته میتونید به ۴-۵ هزار عضو برای کانال خودتون برسید، و اون موقع احتمال زیاد با توجه به تعداد اعضا، می‌تونید تبلیغ هم بگیرید و حتی کسب درآمد هم بکنید!

ولی بعنوان موضوع آخر، باید بگم که واقعا این نوع از شهرت، خوب نیست. دلیلش هم واضحه، درسته که شما شناخته شدید ولی آیا واقعا اونقدری که باید مفید هم واقع شدید؟ یا این که شهرت شما به بودن یا نبودن یک سرویس آنلاین مرتبطه؟ امیدوارم که بعد از خوندن این مطلب و این پارگراف به فکر فرو برید، هر محتوایی رو تولید و منتشر نکنید، هر محتوایی رو بازنشر ندید و از همه مهم تر، محتوای دیگران (مثل توییت) رو برای افزایش عضو یا بازدید، کپی نکنید …

موفق باشید 🙂

Share

اقتصاد رمزپولی و ویرگول؛ بازگشت وبلاگ نویسی

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

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

و اما ویرگول! درست همین «،» ساده که هیچوقت نفهمیدیم ویرگول اسم درستشه یا کاما، شده اسم یک سرویس ایرانی برای میکروبلاگینگ (لینک) و بسیاری از وبلاگ نویسهای قدیمی که در «وبلاگستان» فعال بودند، دوباره سمتش اومدند و شروع کردن به نوشتن.
چه اونهایی که پست های مینیمال دو سه خطی می‌نوشتند، چه اونهایی که مثل من عادت به روده‌درازی و طومار نویسی داشتند. بهرحال تریبون کسانی که به دور از فیسبوک و توییتر و … میخوان که شنیده و دیده و خونده بشن، همین وبلاگهاست. همین فضاهای چند مگابایتی روی اینترنت!
از ظهور ویرگول خوشحال شدم، چون خیلی وقت پیش تلگراف (لینک) رو دیده بودم که عموما به زبان انگلیسی می‌نویسند (چندین پست از پاول دوروف، مدیرعامل تلگرام اونجا خوندم) و فهمیدم یک شکل جدید از وبلاگ نویسی رو به بازار عرضه کرده، در این فکر بودم که چرا فارسیش نیست؟ و حتی به فکر پیاده سازی یکی از اونها افتادم که دیدم ویرگول به خوبی و زیبایی پیاده سازی شده.

خلاصه، این یک مطلب طولانی و شاید غیرعلمی بود که پس از مدتها نوشتم، برای نویسندگی در وبلاگ برنامه های زیادی دارم 🙂

Share

مرگ وبلاگ نویسی، گشت و گذاری در سرویس های وبلاگ فارسی

شاید حدود ۱۰ سال پیش، وقتی به تازگی وارد ۱۲ سالگی شده بودم، شروع به ساخت وبلاگ در یکی از قدیمی ترین سرویس های وبلاگدهی فارسی، یعنی بلاگفا کردم. بلاگفایی که تا همین یکی دو سال پیش، به معنای واقعی از پرترافیک ترین وبسایت های فارسی به شمار میرفت.
دقیقا همان روزها، بلاگفا در صفحه اصلیش، دست کم دو تبلیغ نشان میداد، اخبارش و وبلاگ های بروز شده را لیست می‌کرد و گهگاه در شکل خبرهای فوری، امکانات حذف یا اضافه شده به سیستمش رو اطلاع رسانی می‌کرد. به این شکل مثلا فهمیدیم که مدتی blogfa.ir هم در دسترسه، و هر وبلاگی که شما بسازید هم در زیردامنه blogfa.com و هم blogfa.ir قرار میگیره.
البته، آن روزها پرشین بلاگ (قدیمی ترین سیستم بلاگدهی فارسی) و بلاگ اسکای و … هم رونق زیادی داشتند. در واقع، هرکس که میتونست هزینه های یک سرویس بلاگدهی (بخاطر سرور و منابع بالایی که نیاز داره و … ) رو تامین کنه و دانشی از برنامه نویسی وب داشت، یک سیستم بلاگدهی بالا میاورد. اما اونهایی که خیلی مطرح بودند، همین بلاگفا و بلاگ اسکای و پرشین بلاگ بودند.
دوستانی هم بودند که ترجیح میدادند – علیرغم فیلترینگ – از سرویس هایی مثل وردپرس یا بلاگر استفاده کنند، و ما هم با سختی و زحمت هایی که اون زمان برای عبور از سد داشتیم، وبلاگ ها رو میخوندیم و گهگداری هم اینتراکشنی داشتیم.

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

گرچه، دلیل «مرگ وبلاگ نویسی» مشخصه، دیگه کسی نمیره از بلاگفا سرویس بگیره و بلاگ بنویسه، معمولا یه کانال تلگرامی میزنن و حرفاشون رو اونجا میزنن، دریغ از این که نمیدونن موندگار نیست، حداقل اونقدری که وبلاگ های روی بلاگفا هستند!

Share

به بهانه روز چپ دست ها

امروز، ۱۳ آگوست، در تقویم به عنوان روزجهانی چپ دست ها (لینک) معرفی شده. دلیل این که چپ دست ها (از جمله خودم) روز مخصوص به خودشون رو دارن یک چیزه : تبعیض علیه چپ دست ها. ما کلا ۱۰٪ جمعیت کره زمین رو تشکیل میدیم و خب، طبیعیه که همه چیز برای اکثریت باشه، اون هم ۹۰٪ راست دست. در این تاپیک، میخوام کمی در مورد چپ دست بودن بگم و بعد بریم سراغ چپ دست های معروف و کمی هم برای مشکلات چپ دست ها غر بزنم 🙂

چپ دست یا راست مغز؟

حقیقت اینه که مدت نسبتا طولانیه که «راست مغز» و «چپ مغز» بودن بین مردم رایج شده، در صورتی که کاملا غلطه، هیچ وقت اینطور نیست که مغز ما فقط از یک قسمتش (یا یک درصد خاص) استفاده کنه. کل مغز در کنترل بدن و احساسات ما دخیله. پس این رو فراموش کنید که «راست مغز» هستید! بلکه اگر چپ دست هستید مغز شما «راست برتر» هست اون هم نه حتما، ولی اکثر موارد چنین اتفاقی میفته.

edbb745db9515447ff39243209c08fe1--right-brain-the-brainهمونطور که از تصویر بالا مشخصه، افرادی که مغز راست برتر دارند احساسی ترند، تخیل قوی تر دارند، و تفکرشون خطی نیست. در صورتی که در افرادی که مغز چپ برتر دارند، دقیقا عکس این قضیه داره اتفاق میفته. پس، نتیجه : چپ دست ها در کارهایی که نیاز به خلاقیت و هنر و … داشته باشه بهترن. البته این هم الزامی و ۱۰۰٪ نیست. ولی وقتی برسیم به چپ دست های مشهور شاید اوضاع کمی فرق کنه!

بهرحال، چپ دست بودن نشانی از «خاص» بودن من یا شما نیست؛ این صرفا یک تفاوت کوچک با بقیه‌ست که داریم و خب همین تفاوت میتونه باعث بشه که خیلی از ابزارهای ما متفاوت از بقیه باشه. حتی شاید نوشتار یا مدلسازی متفاوتی نسبت به بقیه داشته باشیم.

معروف ها!

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

زیرخاکی ها

napoleon-i-9420291-1-raw

اولین چپ دست، از معروف های تاریخی، که در این مطلب قراره معرفی کنم کسی نیست جز «ناپلئون بناپارت». ناپلئون رو همه میشناسیم، امپراتور فرانسه که در دو دوره بر فرانسه حکمرانی کرد و در دوران حکمرانیش، در امور سیاسی و نظامی و مدنی، کلی ایده و نوآوری داشت. این شخص، از چپ دست های مشهور هست که اکثر مقالات و مطالب مرتبط با چپ دست ها بعنوان یکی از معروف ها، بهش اشاره میکنن.

Nietzsche187aاین آقا هم که معرف حضور هست، فیلسوف برجسته آلمانی فردریش نیچه. نیازی به توضیح زیاد در موردش نمی بینم 😀 .

رهبرها

Leaders

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

رئیس جمهورها

Presidents

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

هنری ها

Tony-Lommi

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

دیگر معروف ها؟

جای افرادی مثل «اینشتین» یا «ادیسون» یا «بتهوون» یا حتی شاعر آلمانی «گوته» در افرادی که در این پست معرفی شدند، خالی نبود؟ راستش رو بخواید نه! چرا که این اشخاص به وفور معرفی شدند، بیشتر در نظر داشتم که افرادی رو معرفی کنم که حدس میزدم نمیدونستید چپ دست بودند.

… و اما مشکلات چپ دست ها!

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

و اما بدترین مشکل «به زور راست دست کردن» هست که همچنان ادامه داره. زمانی چپ دست ها شیطان صفت و جادوگر و … بودند و به این خاطر خیلی اذیت میشدند، الان هم افرادی هستند که با باورهای غلط در مورد چپ دستها، انتظار دارند که چپ دست ها راست دست بشند.

حرف آخر؟

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

Share

تجربه هایی از یک پروژه – StrongPC

پروژه های فان، که یک دفعه جدی میشن، همیشه هستند. بعضی وقتا ممکنه یک عده دانشجو بشینن دور هم و بگن خب ما میخوایم یک سیستم عامل بنویسیم و … ، نتیجه‌ش بشه سیستم عاملی که همه بهش یه طوری محتاجن! و خب از این دست پروژه ها در هر رشته و گرایشی در دنیا، کم نیستند. حالا من هم از این قاعده مستثناء نبودم در ایجاد این پروژه های فان و خب پروژه هایی هم بودند که جدی شدند و کمک های زیادی هم برای من بودند. یکی از این پروژه ها، پروژه StrongPC هست که البته اوایل به اسم LadyBug ایجاد شده بود.این پروژه خیلی خیلی آکادمیکه و خب، اولین قدم هاش هم کاملا فان برداشته شد. در این پست، تقریبا تجربیات مفید این پروژه رو میگم و همچنین مطرح میکنم که «چرا باید ادامه‌ش بدم».

اولین قدمها

همیشه اولین قدمها مهم ترین قدم ها در شکل گیری یک ایده یا پروژه هستند، چیزایی که باعث میشن شما بیش از پیش علاقمند به تحقیق و توسعه بشید و بیش از پیش؛ کار کنید. اولین قدم های پروژه هم از اینجا زده شد : طراحی یک کامپیوتر ساده. دوست عزیزی، کتابی با عنوان But How Do it know رو بهم داده بود که معماری کامپیوتر رو خیلی ساده توضیح میداد و چیزایی که من از کتاب یاد گرفتم، همه‌ش در این پروژه ساده پیاده شد. یادگیری معماری کامپیوتر با اون کتاب، نه تنها کمک کرد که این پروژه ساخته بشه، بلکه در درسهای مدار منطقی؛ معماری، ریزپردازنده، الکترونیک دیجیتال و حتی زبان ماشین هم کمک بسزایی به من کرد. در سال ۲۰۱۶ بود (طبق چیزی که از وبسایت StrongPC هم بر میاد ، ژوئن ۲۰۱۶) که پروژه StrongPC با اسم LadyBug استارت خورد و خب این اولین دیزاینی هست که برای پروژه انجام شده. و حتی دیزاین رو صفحه اول وبسایت هم قرار دادم :

 

و همونطور که می بینید، یک دیزاین ساده از یک پردازنده RISC هست. این ها اولین قدم ها بودن و خب همیشه خوشحالم که این قدم ها رو برداشتم. اما بعدش چه کردم؟

هدف پروژه

شاید هدفی مثل «تولید کامپیوتر» یا حتی تولید بخشی از اون، اون هم در ایران کمی دور از ذهن باشه. گرچه نشدنی نیست ولی خب کمی دورتر از چیزی هست که الان داریم. شاید خب این که یکی از ایده هایی که هزاران بار پیاده شدند رو برای بار ۱۰۰۱م پیاده کنیم، یک اپ آندروید بزنیم و روز دوم سقوط کنیم و بعد ۴ سال توی لینکدین بنویسیم «دارای سابقه ۶۲ استارتاپ شکست خورده» ، بسیار ساده تر باشه. اما بهرحال عقیده شخصی من اینه که «مطالعات و کارهای آکادمیک» همیشه نیازن. این ها نباشن، اون ها (استارتاپ ها و …) هم نیستند. هدف پروژه هم مطلقا چیزی مثل تولید CPU نیست چون مطمئنا بازار قوی ای مثل اینتل نخواهد داشت. ولی یک «معماری آزاد» میتونه داشته باشه که خب این خودش به خودی خود، قابل قبول و خوبه! و این «معماری آزاد» میتونه بیاد روی FPGA و … اجرا بشه. یه جورایی هدف پروژه این شد که بشه یک مرجع آکادمیک یا بهتر بگم «بستری برای یادگیری».

دستاورد پروژه؟

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

چرا باید ادامه پیدا کنه؟

دلیل ادامه پیدا کردن اینه که هرچی بیشتر برم جلو، بیشتر یاد میگیرم و میتونم بیشتر پیاده سازی کنم؛ به این شکل میشه گفت خیلی از مباحثی که در مهندسی سخت افزار مطرح شده رو به خوبی میتونم پوشش بدم و خب اگر بعدها کسی پرسید «چرا سخت افزار بخونم؟» جواب درستی براش داشته باشم. یا اگر کسی پرسید «سخت افزار چطور ساخته میشه؟» باز هم بتونم جواب درست و درمونی بهش بدم. امیدوارم که این پست، برای شما هم مفید واقع شده باشه!

Share

کد هایم را دزدیده بود، آقای قاضی…!

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

services_operating_procedures

چیزی که در شروع پست خوندید، یک داستان بود. از شخصی که احتمالا به ایران دعوت میشه و می بینه که محصول خودش، داره به عنوان محصول دانش بنیان و ملی و … در یک استارتاپ به مردم فروخته میشه. این چیزی هست که قراره در این پست در موردش به طور مفصل توضیح بدم. اصلا میخوایم ببینیم این کانسپت دزدی چی هست و چطور داره مثل یک غده سرطانی؛ بازار نرم افزار رو میخوره.

حدود سال ۲۰۱۰ بود که من یک iPod Touch خریدم و همون موقع ها، وارد وبسایت های مرتبط با محصولات Apple شدم. دوستان زیادی اونجا پیدا کردم و با خیلی از اون دوستان، دوستی من تا الان ادامه داشته. ولی خب چیزهایی هم دیدم که واقعا باعث شاخ در آوردن من شد. اگر اشتباه نکنم حدودای سال ۲۰۱۲ بود که iPhone 4S معرفی شد و چیزی که این گوشی رو متمایز میکرد؛ دستیار صوتی Siri بود که میتونست جوابهای دقیق و درستی بده. همون موقع ها، کاربران زیادی بر آن شدن که این اپ رو برای نسخه های قدیمی تر iOS هم پورت کنن. یک روزی از همین روزها یکی از کاربران ایرانی مدعی شد که این کار رو کرده (لینک) و خب مدتها با این حرف داشت برای خودش ارزش و اعتبار میخرید و حتی لینک Donation هم گذاشته بود که یک شب، یک لینکی در فرومی منتشر شد که بله، این آقا دزدی کرده! کار کار خودش نبوده و به اسم خودش در کرده. این اولین بار بود که با «دزدی» اثر نرم افزاری روبرو شدم. اون موقع به شدت ناراحت شدم؛ ناراحتی من از اون هکری که واقعا سیری رو تونسته بود پورت کنه شاید حتی بیشتر شد.

حالا در همون سالها، من پروژه جبیر رو راه اندازی کردم. پروژه ای که علیرغم خیلی از حواشی ای که داشت؛ کلی هم دوست جدید، کلی تجربه و کلی بار علمی و عملی برای من داشت. جبیر چی بود؟ اوایل یک اوبونتوی کاستوم شده (و صد البته Rebrand شده) و بعد ها هم یک FreeBSD کاستوم شده و Rebrand شده. این پروژه رو من در یکی دوتا از فروم های اپلی هم معرفی کردم و خب به «دزدی» و «جا زدن کار دیگران به اسم خود» محکوم شدم. در صورتی که لایسنس هایی که این دو نرم افزار، یعنی اوبونتو و FreeBSD بر اساس اون منتشر میشن؛ دقیقا به من این اجازه رو میدن که rebrand کنم و به عنوان یک محصول جدید به بازار ارائه بدم. در صورتی که درمورد اون Siri پورت شده (و خیلی از کارهایی که تو کامیونیتی فارسی اپل رخ میده) چنین چیزی صدق نمیکنه.

33-122-598-08البته هنوز این اتفاقات رو نتونسته بودم هضم کنم؛ که فهمیدم گروه «آشیانه» معروف هم چنین کاری میکنه، لینوکس رو میکنه توی جعبه و به اسم فایروال میفروشه. این کمی برام منطقی تر به نظر رسید؛ حداقل کمی وقت میذاشتن و یه حداقل پیکربندی ای ارائه میدادن. ولی باز هم داشتند خلاف لایسنس (GPL ) پیش میرفتند، سورس کد و خیلی چیزهای دیگه رو از دید کاربر مخفی میکردند. همین باعث شد که بیش از پیش سعی کنم انسان بهتری حداقل در این آشفته بازار نرم افزار در ایران باشم. حداقل دزدی نکنم یا اگر از کار شخص دیگری استفاده کردم، بهش کردیت بدم.

این موارد خیلی وقت بود که دیده نمیشد، یه جورایی میشه گفت خیلی وقت بود که از سیستم های کثیف دور بودم؛ تا این که چندروزه سیستم کثیف به سراغ ما اومده! شخصی مدعی بود که اولین (این لفظ هم خیلی وقت بود نشنیده بودم) سیستم یکپارچه مجازی سازی و کنترل سرورهای مجازی رو ایجاد کرده (لینک وبسایت ایرانی) و خب مدتهای زیادی با تبلیغاتش ما رو اذیت کرد، امروز دوستی به من لینکی داد که نشون میده حتی این هم دزدی از کار یک خارجی هست (لینک). واقعا نمیدونم چرا عادت نداریم وقتی ادعا میکنیم کاری رو خودمون انجام دادیم، واقعا خودمون انجامش داده باشیم؟! و یا این که چرا انقدر راحت حاصل زحمات یک نفر یا گروه دیگه رو مصادره میکنیم؟

بعنوان پاراگراف آخر، دوست دارم که از همه کسانی که این پست رو میخونن خواهش کنم که این سیستم رو ادامه ندن (اگر تا الان به این سیستم مشغول بودند) یا اگر هم قصد کاری دارند؛ اگر از کد، طرح یا ایده افراد دیگه دارند استفاده میکنند کردیت رو بدن. واقعا در اخلاق یک انسان نمیگنجه که بخواد با زحمات دیگری، برای خودش تولید ثروت کنه.

Share

آغاز به یادگیری هوش مصنوعی

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

  • الگوریتم:
    این که بتونید برای یک برنامه، یک الگوریتم بهینه پیدا کنید یا پیشنهاد بدید، مهم ترین عامل در یادگیری و انجام پروژه های هوش مصنوعی به حساب میاد. اگرچه این مورد، همه جا کاربرد داره و کلا برای برنامه نویس و دولپر خوب شدن لازمش داریم؛ ولی اینجا لازمه که به الگوریتم و الفبای موضوع مسلط باشیم. پس، باید یاد بگیریم که چطور با استفاده از الگوریتم ها یک برنامه بسازیم. خب برای یادگیری الگوریتم (اگر بلد نیستید) پیشنهاد من کتاب CLRS هست. هم ترجمه این کتاب در بازار موجوده و هم زبان اصلیش در اینترنت هست.
  • برنامه نویسی :
    برای این که بتونید پروژه هوش مصنوعی انجام بدید باید برنامه نویسی بلد باشید؛ بهرحال بخشی از کامپیوتره و نمیشه ازش در رفت. گرچه ممکنه شما صرفا ایده پردازی یک پروژه هوش مصنوعی رو انجام داده باشید ولی موضوع مهم اینه که شما بتونید همون ایده رو هم چندین بار تست کنید و بعد ارائه‌ش کنید به یک تیم. پس، برنامه نویسی بلد بودن هم از شرایط یادگیری و انجام پروژه در هوش مصنوعی هست. پیشنهاد من هم برای یادگیری زبان، پایتونه که الان تبدیل شده به ابزار شماره یک پروژه های هوش مصنوعی.
  • علوم شناختی :
    علوم شناختی یا Cognitive Science ترکیبیه از روانشناسی، فلسفه ذهن، زیست شناسی مغز و علوم کامپیوتر. البته انقدر ها هم خلاصه نیست و من دارم انقدر خلاصه میگم. برای این که بتونیم پروژه های هوش مصنوعی بزنیم؛ لازم داریم که بلد باشیمش. گرچه طوریه که در حین یادگیری هوش مصنوعی هم، این موضوع رو یاد میگیریم. خیلی از ایده ها و … که در هوش مصنوعی (به ویژه شبکه های عصبی مصنوعی) مطرح شده، حاصل کار دانشمندان شناختی بوده.
شبکه عصبی مصنوعی
شبکه عصبی مصنوعی

 

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

هوش مصنوعی چیست؟

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

artificial-intelligence-risk-reward-now-labs

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

در سیستم سنتی کامپیوتر، ما وقتی بخوایم که یک برنامه بنویسیم، چی کار میکنیم؟ میایم راه حل در میاریم براش و با اون راه حل، ورودی هایی که بهمون داده شده رو به خروجی تبدیل میکنیم. این سیستم، سیستم خیلی خوبیه و همیشه و همه جا هم کاربرد داره. ولی یه جاهایی هم نمیتونه کاربردی بشه، چرا که مثلا مثل «تبدیل هر ورودی به عدد ۳» نمیشه ساختار الگوریتمیکی برای مساله پیدا کرد یا پیشنهاد داد. نتیجتا میایم و از یه سری تکنیک استفاده میکنیم که به اون جواب میرسن، ولی هیچوقت جواب کامل و دقیق نمیشه. دقیقا همونطوری که اکثر کارهای روزمره ما در زندگی پیش میره. این میشه کاربرد هوش مصنوعی. مثلا بخوام ریاضیاتی تر و کامپیوتری تر در موردش صحبت کنم، میتونم بگم که ما یک مساله داریم که پیچیدگی زمانی n داره، خب این قابل حله (هر قدر هم مزخرف باشه؛ باز با همون راه حل های سنتی قابل حل شدنه). ولی یک مساله داریم با پیچیدگی زمانی های تخیلی (مثل NP ) که در این حالت، هوش مصنوعی به ما کمک میکنه. خروجی مورد نظر ما رو ماشین دریافت میکنه و یاد میگیره که حدود اون یه خروجی تولید کنه.

چرا انقدر واسمون مهم شد؟

«اتوماسیون» یا خودکار سازی، فازهای مختلفی داشتند که در زمان های مختلف بشر سعی کرده انجامش بده. از خودکارسازی و اتوماسیون هایی که صرفا روی کاغذ پیشنهاد شدن (توسط ریاضیدانان و فلاسفه و …) و بعد از اون دوره طوری شد که این اتوماسیون ها شکل مکانیکی پیدا کردند و ماشین ها به کمک انسان اومدن که همین الان هم شما میتونید تاثیرش رو ببینید (فکر کنید مثلا یک پیچ رو بخواید بدون پیچ گوشتی باز کنید؛ یا حتی اصلا بخواید بدون خود پیچ، دو قطعه چوبی یا فلزی رو بهم متصل کنید!). یک دوره دیگه، اتوماسیون توسط کامپیوتر صورت گرفت که ما الان دقیقا وسط همون دوره داریم زندگی میکنیم. از زبان های برنامه نویسی که برای حل مسائل ابتدایی پیشنهاد شدند تا پیشنهاداتی برای تغییر در لایه های زیرین و سخت افزاری کامپیوتر. در دهه ۶۰ میلادی، پیشنهاد شد که برای کامپیوتر هوش و قدرت تفکر هم قائل بشیم و بسازیمش. اگرچه اون دوران (و حتی الان!) شدیدا به این موضوع نقد میشه (شاید بعدها در موردش بنویسم که چرا بهش نقد میشه و چرا اکثرش غلطه) ولی خود هوش مصنوعی، به خودی خود قدمی بزرگ در شکل گیری اتوماسیون های بهتر بوده.

چند مثال از کاربردهای هوش مصنوعی …

  • تشخیص تصویر : با بینایی ماشین یا Computer Vision و همون Image Processing خیلی از کارهای ما، ساده تر شده. مثلا در یکی از پروژه های IoT که مربوط به دوربین های ترافیکی میشده، ظاهرا سروری وجود داشته که وضعیت ترافیک رو بررسی میکرده، اون رو با تقاطع های دیگر مقایسه میکرده و در نهایت؛ میتونست یک زمان بندی برای قرمز و سبز شدن چراغ های اون تقاطع ها پیشنهاد بده. این به خودی خود، یک پیشرفت بزرگ در زمینه ترافیک و مهندسی شهری به حساب میاد.
  • تشخیص ساده تر بیماری ها : اگر ما نتایج آزمایش ها، اسکن ها و … رو بعنوان داده به یک کامپیوتر بدیم، و مطمئن باشیم که نتایجی که میدیم همه یک بیماری به خصوص (مثل دیابت یا سرطان) رو داشتند، فقط کافیه نتایج آزمایشات و اسکن های بیمار جدید رو به کامپیوتر بدیم، کامپیوتر با الگوهایی که بدست آورده (که اصطلاحا بهش Pattern Recognition هم گفته میشه) ، اون ها رو مقایسه میکنه و مثلا به ما میگه «شما دچار بیماری نیستید» یا میگه «از ۵۰ نشانه شما تنها ۳ نشانه دارید که نشان از این بیماری نمیدهد» و … . یعنی هوش مصنوعی، میتونه به پزشک ها و متخصصان این حوزه ها هم کمک زیادی بده!
  • ساختن اتوماتیک چیز ها : هرچیزی که فکرش رو بکنید، میتونه توسط یک کامپیوتر هوشمند به صورت اتوماتیک ساخته بشه. جمله زیادی اغراق آمیزه ولی یک حقیقته. مثلا این ویدئو ، نشان میده که چطور یک سیستم هوشمند، میتونه برای ما موسیقی بسازه، اون هم با دریافت فایل های MIDI از آهنگ های معروف . همین قضیه در مورد ساختن نقاشی و … هم موثره.

مثالی عملی تر؟

حالا به یک مثال عملی تر و شاید حتی ترسناک از هوش مصنوعی برسیم. شوی دیدنی House of Cards یا همون «خانه پوشالی» ، با استفاده از «داده کاوی» و پردازش داده های کاربران سرویس Netflix ساخته شده (منبع)، و این دقیقا همون راهیه که اسپاتیفای به ما موزیک پیشنهاد میده، گوگل نتایج جست و جو هامون رو حدس میزنه، یوتوب ویدئوهای پیشنهادی رو برای ما لیست میکنه و فیسبوک به ما دوست پیشنهاد میده! به نظرم مثال از این ها عملی تر نداریم!

[ File # csp7448789, License # 1399958 ] Licensed through http://www.canstockphoto.com in accordance with the End User License Agreement (http://www.canstockphoto.com/legal.php) (c) Can Stock Photo Inc. / iDesign

 

از کجا شروع کنم؟

برای شروع یادگیری هوش مصنوعی، به نظر من بهتره شما با مطالعه «جبر بول» و بعدش «طراحی الگوریتم» شروع کنید. برای یادگیری این مسائل کتاب CLRS ، یکی از بهترین مراجع و منابعه. بعد از این که این رو یاد گرفتید «الگوریتم ژنتیک» رو سعی کنید یاد بگیرید، چرا که این الگوریتم یک الگوریتم «بهینه ساز» هست ؛ در پست های بعدی بیشتر در موردش توضیح خواهم داد. بعد از یادگیری این مباحث شما میتونید به هرشاخه ای که میخواید وارد بشید، مثلا شخصا یادگیری عمیق برای من موضوع جذاب تری بوده و سعی دارم که یادش بگیرم! شما شاید بخواید برید سراغ دیتاماینینگ و دیتاساینس و … .

و آیا هوش مصنوعی برای ما خطرناکه؟

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

موفق باشید 🙂

Share