Single author mode - no collaborative contributions.
هزار سلام و درود! خوب هستین انشاالله؟ سلامتید؟ رو به راهید؟ به پروژه خودتون خوش اومدین راستی! امیدوارم هر جایی که هستین، در بهترین و خوشترین حال خودتون باشید. خب! این آودیتوریوم هم بالأخره اومد! با اینکه خیلی پروژه سنگین و عظیمی نیست، امّا برای من تکمیل کردنش مدّتها طول کشید و بالأخره در تاریخ سوّمِ آبانماه سال ۱۴۰۴ خورشیدی (معادل ۲۵ اُکتبرِ ۲۰۲۵)، ساعتِ ۶:۱۶ صبح منتشر شد؛ با اینکه آودیتوریوم هنوز خیلی خیلی خیلی خیلی با اون چیز آرمانی و ایدهآلی که مدّ نظر خودمه فاصله داره، امّا تا اینجا همین بیلد کافیه و همینم با آخرین پروژههای من، از لحاظ پیچیدگی فنّی، استاندارد بودن و پیشرفته/مُدرن بودن زمین تا آسمون فاصله داره؛ به قول یک ضربالمثل شیرینِ زبان کُردی: «هەر فەقەت خوایان یەکێکە!/Her tenya Xwedayê wan yek e!» (معادل فارسی: «فقط خداشون یکیه»؛ اشاره به اینکه اختلافشون بسیاره در حدی که تنها چیزی که بینشون مشترکه خداشونه که یگانهست.)
کمی میخوام براتون داستان تعریف کنم. حقیقتاً مسیرِ آودیتوریومی که الآن میبینید، یه مسیر تقریباً میشه گفت پنجماههست امّا ریشههای این پروژه خیلی پیچیدهتر و عجیبتر از چیزیه که تنها در پنج ماه پیگیرش بشم. من از بچگی به دنیای تک علاقه عجیبی داشتم و واقعیتش رو بخواید الآنم چیزی از این علاقه کم نشده؛ فقط از رُباتیک تبدیل شده به نرمافزار (در این مرحله از عمرم.) جرقه شروع این پروژه فقط این نیست. چیزای مختلفی دست به دست هم دادن تا آخرسر این پروژه ساخته بشه؛ حالا شاید فکر کنید که خب مگه این پروژه چیه اصلاً چرا انقدر پیچیدهش میکنه! امّا به من اعتماد کنین؛ این پروژه بسیار بسیار از یک بلاگ ساده پیچیدهتره. در این مقیاس شاید مشخص نباشه امّا آودیتوریوم واقعاً چیزی فراتر از یک بلاگ سادهست.
ضمناً میان کلام، یک مهم رو اضافه کنم. برای من آزادی یک اصل بنیادی و بسیار مهمه. متأسفانه بنا به دلایلی (که میدونید چه دلایلی) نمیشه اونطوری که باید در آودیتوریوم آزاد بود و برای همین آودیتوریوم فعلاً به سمتی هدایت میشه که صرفاً و فقط خدمتگزار جامعهٔ فرهنگی و آکادمیک باشه. حالا در ادامه، به تعریفِ اساسی آودیتوریوم هم میرسیم. اصلِ این موضوع که آودیتوریوم دقیقاً چیه.
فرایند توسعهٔ آودیتوریوم برای من گاهی فرایند خوشایندی بود گاهی هم سخت و طاقتفرسا. واقعیّت اینه که به طور کلی پنج ماه ایجاد این پروژه، پنج ماه سختی بود و بیشتر اوقات آودیتوریوم برای من مثل یک مسکن و یک نور عمل میکرد. یکی از منشأهای پروژهٔ آودیتوریوم این بود که من احساس کردم حرفام پیچیدهتر و سنگینتر از این شده که بشه در قاموس یک چنل تلگرامی ساده بشه ارائهشون کرد (چنل آودیتوریوم که هدف و کاربردش کاملاً با پروژهٔ آودیتوریوم فرق داره.)
از طرفی من همیشه، دوستانی همیشهکنجکاو داشتم و حس کردم اونها هم بدشون نمیاد اگر پروژهای باشه که بشه حرفای فرهنگی و آکادمیک رو توش زد؛ چه بسا اگر این پروژه رو خودمون کامل نوشته باشیم و از ایدههای خودمون نشأت گرفته باشه و منشور و مانیفست پروژه هم مطابق ایدههای خودمون کار کنه؛ این میشد اصلِ جنس. حالا در نظر بگیرید آودیتوریوم فقط هم برای نوشتن نیست! در آیندهٔ نزدیکی در آودیتوریوم، میشه سؤال مطرح کرد، بحث مطرح کرد، پروژه ارائه داد و همکاری کرد، و هزاران کار دیگری که میتونه جامعهٔ و کامیونیتی گرم و بامزهای از ماها ایجاد کنه. کی میدونه! شاید یه روز آودیتوریوم شد خونهٔ کلّی آدم مثل من.
آخرین چیزی که من رو در نهایت به سمت نوشتن این پروژه سوق داد (که کاش هرگز اتفاق نمیافتاد)، وفات دوستِ مرحومم، دنیا فرهادی عزیز بود که زندگی من رو (و بنیاد و خود من رو) به کل عوض کرد؛ پس از مدت زیادی انزوا و شک، بالأخره با شروع کردن دموی این پروژه، سعی کردم به زندگی برگردم و حدأقل من مسیر اون رو ادامه بدم؛ که راجع به این مهم، در دلنوشتههام به وفور صحبت کردم و اینجا دیگه جاش نیست.
من خیلی بچه بودم وقتی پایتون و بعدش جنگو رو شروع کردم. همیشه، اندکی از فرانتاند میدونستم و دانش توسعهٔ سرورم بیشتر بود (ناگفته نماند همین الآنم اینطوریم.) وقتی آودیتوریوم پیشین رو شروع کردم، واقعیت امر انگیزهم فقط و فقط بهبود حال خودم پس از وفات رفیقم و چند اتفاق سخت دیگه در زندگیم بود، میخواستم هر جوری شده فقط و فقط به زندگی برگردم. شروع کردم کُد زدن. یک ماه کامل کد نوشتم. نتیجه یک بلاگ کاملاً ساده و یک وباپ کاملاً کلاسیک بدون کوچکترین پویاییای بود (کسی هم جز اصل نویسندههای پروژه نمیتونست محتوا بذاره.) یک دموی خیلی ریزهمیزه برای اینکه امید و انگیزهٔ شروع کار داشته باشم، که یهو خوردیم به امتحانات نهایی و یک وقفه زیاد برای کُدنویسی آودیتوریوم اتفاق افتاد. از اوایل تابستون یواشیواش کُدنویسی بیلد اساسی و اصلی آودیتوریوم رو شروع کردم اما سوادم برای چیزی که مد نظرم بود خیلی کم بود؛ (هنوزم کمه). اگر قدیمتر بود، شاید بیش از حد میترسم و شروع نمیکردم اما این بار یک چیز اساسی فرق میکرد: وجود AI. این AI عزیز باعث میشد خیلی سریعتر به منابع مختلف دسترسی پیدا کنم و راحتتر بتونم برای پویاسازی (داینامیک کردن) سواد کامپیوترم، اقدام کنم. نمونه بیارم براتون، پروژهای که در حال حاضر میبینید، برای مدیریت انواع و اقسام کُدهای ارسالی و Message ها از Redis استفاده میکنه و برای هندل کردن تاریخهای انتشار از Celery؛ ابزارهایی که برای یک پروژه سطح متوسط و یا نسبتاً خوب جنگویی معمولاً رایج هستند و برنامهنویسها باید مسلط باشن. اما نکته اینه این ابزارها برای من خیلی ترسناک بودن! قدیم تر، وقتی خامتر بودم، خیل وسیعی از ابزارهای مختلف برای من پیچیده و غیرقابلدسترسی به نظر میرسیدن در حالی که الآن، در آودیتوریوم کنونی دیگه اصلاً اینطوری نیست. حتی بدون AI هم این ابزارها اونقدری که من فکر میکردم پیچیده نبودند اما خب! یه مانعی توی ذهنم وجود داشت که نمیذاشت من به راحتی مرز دانشم رو توسعه بدم و یه جورایی میترسیدم از اینکه یاد بگیرم، که خب، کار اشتباهیه! شما هرگز این کارو انجام ندید. برای خود من فرایند توسعه آودیتوریوم، این شکلی بود:
در نمونهٔ پروژهٔ آودیتوریوم، سیستم احراز هویت و ثبتنامش رو میتونم براتون مثال بیارم که سیستم نسبتاً پیچیدهای داره. سیستم احراز هویت آودیتوریوم از چنین الگوریتمی (که معماریِ مختص خودم هست، یه جورایی امضاست) تبعیت میکنه:
سیستمی که مشاهده فرمودید، کاملاً با الگوی بالا و کُلّیبار تکرار کردنش بالأخره پیاده شد؛ در حالی که من وقتی به پیاده کردن این سیستم فکر میکردم اصلاً Redis بلد نبودم!
(این بخش رو واقعیّت هنوز تصمیم نگرفتم بنویسم یا ننویسم، شاید بذارم برای وقتی که محور افکار اضافه شد.)
به طور کلّی و بسیار منسجم بخوام عرض کنم خدمتتون، آودیتوریوم «پروژه آزاد و متنباز ایدهها و افکاره»؛ چیزی که شعار اصلی خود پروژه هم هست (در صفحه اصلی به چهار زبانِ انگلیسی، فارسی، کُردی مرکزی (سُورانی) و کُردی شمالی (کُرمانجی) میتونین مشاهده بفرمایید.) این جمله شاید در نگاه اول کافی به نظر بیاد، امّا واقعیت اینه که نیازمند یک توضیح کامل و مفصله.
در آودیتوریوم دو نوع آزادی وجود داره: ۱. آزادی عمل و ۲. آزادی محتوا؛ در واقع بهتره اینطوری عرض کنم: آودیتوریوم به دو تعریف از آزادی پایبنده، آزادی عملِ کاربر، که از سمتِ مایِ توسعهدهنده نرمافزار و ایدهپردازها تنظیم میشه؛ ۲. آزادی محتوا که از سمت ما تعیین نمیشه و بنا به مسائل حقوقی، بخش وسیعی از محتوا رو باید سانسور کنیم. اما آزادی عمل و پیشرفته بودن از لحاظ فنی، بهعلاوه تأمین یه فضای کامل فرهنگی و آکادمیک از دست ما توسعهدهندگان پروژه بر میاد. برای نمونه، یکی از آپشنهایی که هنوز در پروژه تکمیل نشده و در حال حاضر که دارم این پست رو مینویسم در دست تکمیله، این آزادی رو نشون میده. کاربران پروژه آودیتوریوم، میتونن آپشن Collaboration Status رو برای پستهاشون روشن کنند تا کاربر دیگری که پیشنهادی برای پستشون داره، ارائه بده؛ این اصلاحیه + توضیحاتش برای نویسندگان اصلی پست ارسال میشه و اونها میتونن با بررسی دقیق تغییرات، تغییرات رو ریجکت کنن یا بپذیرن. در صورت پذیرفتن تغییرات، قسمت تغییر داد شده + کاربری که تغییر رو ارائه داده به صفحه پست در بخش Writers اضافه میشن و با کلیک کردن روی نام اون نویسنده، بخشی که نوشته هایلایت میشه.
متنباز بودن یک نرمافزار یک تعریف فنّیه و من نمیخوام اینجا روش مانور برم، با سرچ کردن به اطلاعات بسیار کاملی دست پیدا میکنید، امّا بهطور کلّی سورسکُدِ (کُدهای آودیتوریوم) در دسترس عموم قرار داره و همه میتونن ببیننش، بخوننش، ازش یاد بگیرن، کپیش کنن و یه توزیع دیگه ازش ارائه بدن و یا همین پروژه اصلی رو بهبود بدن.
به طور کلی آودیتوریوم خودش رو در دو محور ایدهها و افکار تعریف میکنه. محور افکار هرآنچه هست که کاربر میتونه بنویسه؛ «فکر» اینجا بیشتر مجاز از انتزاعی بودن شیئی هست که کاربر در سایت قرار میده، نه صرفاً افکار کاربر. محوریت ایدهها هم هرآن محتوای حقیقی هست که کاربر میتونه آپلود کنه. برای نمونه کاربر در این محوریت میتونه پروژهشو در سایت به اشتراک بذاره، شما ببینی، خوشت بیاد، لایک کنی و به پروفایلت اضافه کنی و بقیه هم این پروژه رو ببینن. این ایده میتونه اصلاً یک پروژه نباشه! میتونه به شکل مطرح کردن یه ایده کاملاً کلیتر باشه و افراد دیگری به ایده شما جذب بشن. حالا شما همتیمی و همایده پیدا کردید و میتونید با هم در فضاهای کُدنویسی آنلاین کار کنید. به این دلیل صرفاً از «پستها»، «بحثها» و «پروژهها» استفاده نشده، چون واقعاً آودیتوریوم فقط بلاگ نمیخواد باشه. میخواد فراتر و پیچیدهتر از یک بلاگ ساده باشه. شاید این هدف الآن و این مرحله از آودیتوریوم خیلی دور به نظر بیاد امّا کاملاً ممکنه و به احتمال زیاد هم میتونه به این درجه برسه.
آودیتوریوم، بهعنوان یک پروژه آزاد و متنباز افکار و ایدهها، در حال حاضر به لحاظ فنی مشابه یک بلاگ عمل میکنه که قابلیت شبکهاجتماعی بودن هم داره (البته اکثریت بلاگهای خوب و استاندارد امروز هم دارند.) هدف آودیتوریوم، برای این فصل از زندگیش، گذاشتن تأثیر آکادمیک و فرهنگیه به شکلی که بالاتر اشاره شد؛ آودیتوریوم دوست داره به لحاظ فنی یک پروژه بسیار غنی، کامل و قوی، و از لحاظ اثرگذاری هم پروژهای اثرگذار و صدایی تازه باشه. اینکه در آینده چی میخواد بشه مشخصه و گفته شده، امّا اگر واقعاً بشه این مسیر رو رفت و آینده این پروژه روشن باشه.
در نهایت، این فقط شروع پروژهٔ آودیتوریوم برای منه و کار من هیچ که تموم نشده، بلکه تازه شروع شده. شاید چون سال کنکورمه، نه برسم درستحسابی توی آودیتوریوم بنویسم نه برسم توسعهش بدم. گرچه آودیتوریوم متنبازه و هر کسی خواست ادیتی روش انجام بده، پروژه تماماً در اختیار شماست.
برای من، جایجای آودیتوریوم خاطرهست، خاطرهٔ بد، خاطرهٔ خوب، خاطره از تغییر، از اینکه برای مدت زیادی به سختی بتونم نفس بکشم و حتی صدامم در نیاد، واقعاً یه دنیا خاطره. در طول توسعه آودیتوریوم با دوست عزیزم و ایدهپرداز پروژه، آقای مانی واشقانیفراهانی کلی خندیدیم، اتفاقهای بدی که افتاد اما بهطور مداوم ادامه دادیم، چه خاطرات عجیبی که از پشتصحنه پروژه وجود داره، و چه لحظات بامزه و خندهداری! نقلقول دقیق کنم، شب قبل از لانچ، برنامه داشتیم به پیشنهاد دوست عزیزم و ایدهپرداز آودیتوریوم، آقا مانی، پروژه رو آنلاین کنیم روی یک دامنه خصوصی که کسی دسترسی نداشته باشه و بریم قشنگ دیباگ کنیم. از ۱۰:۳۰ شب ما تا ساعت ۱:۱۵ توی میت بودیم و نشد که نشد؛ باگهای عجیبغریب موقعِ استقرار (دیپلوی) پروژه روی سرور یه دنیا بودن! هیچی دیگه، ۱:۳۰ ما پروژه رو اجرا کردیم و فقط ویسهای من رو پیوی مانی بشنوید. قول میدم تصورتون از من به کل عوض میشه (:
تشکر از Raven و Mojî و GH و آکام عزیزم! دوستای خیلی گلم که کلی در طول این پروژه عشق و انگیزه و ایده دادن و دور و نزدیک از من حمایت میکردن تا پروژه رو تکمیل کنم و به سرانجام برسونم؛ کمکهای شما خیلی فراتر از آودیتوریومه، من هرگز فراموش نمیکنم. تشکر از آقا امید و آقا بهزاد گل که هر بار انقدر با شوق و اشتیاق منتظر پروژه بودن که انگیزه من برای تکمیل کردن پروژه هزار برابر میشد.
و در نهایت تشکر گرم و صمیمانه و ویژه میکنم از عزیزان محمّدمتین علمی، ایدهپرداز پروژه که اگر نبود واقعاً مشخص نبود آودیتوریوم فقط و فقط یک پروژهٔ وباپ ساده میموند یا تبدیل به این چیزی میشد که الآن هست؛ با اینکه در حال حاضری که این پست رو مینویسم دعوا داریم ولی هرگز زحمات، پیگیریها و ایدهپردازیهای دلسوزانهش برای آودیتوریوم فراموش نمیشه، مانیِ عزیزم که صبورانه مرحله به مرحله پروژه رو پیگیری کرد و خصوصاً این آخرا برای دیباگ و پروموشون پروژه هر چی از پسش ب اومد رو انجام داد، دوست بسیار بسیار عزیزی که از دور کار برادر بزرگتر رو برای من میکنه و در شرایط فوقالعاده عجیبی پشت من موند؛ و آخرین نفر، مِدی عزیزم، که واقعاً نمیتونم توصیف کنم این بشر چقدر در حق من و آودیتوریوم خوبی کرد؛
و تشکر از همهٔ عزیزانی که دور و نزدیک کمک کردند تا پروژه به این نقطه برسه.
کل این شبهایی که در طول پنج ماه نخوابیدم و در نهایت کل این پروژه، از ازل تا ابدش رو تقدیم میکنم به دوست مرحومم، دنیا فرهادی عزیز؛ که امیدوارم اگر دنیای دیگری هست و در بهشتی این پست رو میبینه، حدأقل کمی درد و رنج و اندوه این دنیای فاسد رو فراموش کنه و با دیدن اینکه برای جاوید کردن نامش و ادامه دادن راهی که اون قرار بود بره، خوشحالتر باشه.
در نهایت، این تازه شروع پروژه آزاد و متنباز آودیتوریومه و ما هنوز با هم کار داریم عزیزان دلم! باز هم عرض میکنم: به پروژهٔ خودتون، آودیتوریوم، خوش اومدین!

ارادتمند و دستبوس شما،
نوید رحیمزاده.
Please log in to leave a comment.
Describe why you think this item should be removed from marketplace
Dedicated to my beloved friend, Donya Farhadi.
No comments yet.