جورچین فانوس خیال

این فانوس خیال را که درست کردم به نظرم رسید که می‌توانم با زحمت کمی ازروی کد پیشتر نوشته‌شدهٔ کاشی‌چینی یک بازی جورچین آنلاین بر اساس آن درست کنم.

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

همانطور که فکر می‌کردم کار سختی نبود و با کپی کدها در یک پروژهٔ جدید و تغییر ارجاعات عکس‌ها از تصاویر تعبیه‌شده داخل برنامه به نشانی‌های اینترنتی کار آماده شد. اسمش را هم فانوس خیال گذاشتم.

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

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

خاطرات و خطرات

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

آن زمانها کامپیوتر را از نزدیک ندیده بودم اما احتمالاً ایدهٔ درستی راجع به توانایی‌های آن داشتم. این روزها آن ایده را خیلی جدی نمی‌گیرم و فکر می‌کنم هر کسی از تجربه‌های شخصی خودش هر چه بگوید و بنویسد غنیمت است و تکراری نیست.

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

نمی‌دانم این دو مقدمه چه ربطی به اصل آنچه می‌خواهم بگویم دارد اما به نظرم ربط داشت و نوشتم. من -که احتمالاً استثنا نباشم- علاقهٔ عجیبی به خواندن نوشته‌های خودم دارم. علاقه‌ای در حد جنون. یک نوشته را بارها و بارها می‌خوانم و از آن لذت می‌برم تا کار به حس آسیب فیزیکی می‌رسد و وقتی در سرم فشار احساس می‌کنم به زور بازخوانی را متوقف می‌کنم. علی‌رغم آن که نوشته‌هایم پر است از جمله‌های طولانی که چون وسط نوشتنشان تصمیمم تغییر کرده و فعل پایانی جمله را تغییر داده‌ام بسیار پیش آمده که گنگ و نامفهوم از کار درآمده.

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

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

حذف روخوانی‌های من از گنجور

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

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

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

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

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

اما این سناریو منطقی به نظر نمی‌رسید. چه کسی چنین دانش عمیقی از ساختار داده‌ها دارد؟ و این شخص باید از صدای من به شدت متنفر باشد!

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

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

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

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

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

یک باگ در میانهٔ راه باعث شده بود که حساب اصلی من به طور کامل حذف نشده باشد. دوباره بررسی کردم و دیدم که تمام نظراتم هنوز موجود هستند.

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

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

پیاده در گشت شاهنامه

می‌دانید؟ من تا پایم را روی زمین جایی نگذاشته باشم احساس نمی‌کنم آنجا رفته‌ام، هر چند از آنجا سواره بارها عبور کرده باشم! و از آنجاهایی که پا بر زمینشان گذاشته‌ام؟ خاطرهٔ چندانی ندارم! همینقدر پوچ!

سالها پیش در سرم افتاد که بوستان و گلستان را بخوانم.

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

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

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

من در دوران بچگی از روی یک دورهٔ چهارجلدی برگردان مثنوی (که در ذهنم نام محمد محمدی ری‌شهری به عنوان مؤلف آن ثبت شده!) و جایزه یا هدیه گرفته بودمش مثنوی را –سواره– خوانده‌ام. اما شاهنامه را هیچگاه نخوانده‌ام.

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

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

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

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

محض خالی نماندن عریضه پس از یک ماه سکوت تحریر شد!

داستان یک داستان: گنج‌نامهٔ حاجی‌جلال

فکر می‌کنم سال دوم کرونا بود که به دلیل گرفتاری اعضای خانواده به این بیماری مدتی نزدیک به دو ماه را برای پرستاری شهرستان سپری کردم و خدا را شکر گرفتاران ما از آن بیماری به سلامت رهیدند.

علی‌رغم آن که دورکار بودم پروژهٔ کاری فعالی نداشتم و ساعات آزاد زیادی برای پروژه‌های شخصی داشتم. احتمالاً به همین دلیل تصمیم گرفتم که یکی از ایده‌های قدیمیم را عملی کنم: داستانی بنویسم که در آن قهرمانان داستان به دنبال یافتن گنجی از روی یک گنج‌نامهٔ منظوم هستند. باید بدانید که من داستان‌نویس نیستم: اگر قرار باشد به عنوان چیزی‌نویس معرفی بشوم برنامه‌نویس می‌توانم باشم. از این جهت این کار هم بیشتر برای من شبیه یک پروژهٔ برنامه‌نویسی بود: یک ایده از آن داشتم و با ویژگی‌هایی که خودم از آن در ذهن داشتم می‌خواستم آن را به خروجی برسانم.

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

تصمیم گرفتم که با یک تیر چند نشان بزنم که از آن جمله‌اند:

۱. نقش دوم داستان به عمد و از روی علاقه‌ای که به پدر خدابیامرز و زادبومش دارد با لهجهٔ غلیظ سِنِجانی (اراکی) صحبت می‌کند. وقت قابل توجهی را صرف پانویس کردن کلمات محاورات این شخصیت کردم. تصمیم گرفتم که بیشتر داستان در قالب گفتگو روایت شود و خوب، به نوعی به خیال خودم مستندی برای لهجهٔ محلی خودم تولید کنم. مزیتی که دو لهجه‌ای بودن مکالمات داشت آن بود که نیاز نبود بگویم این را این گفت و آن را آن گفت.

۲. نقش اول داستان در تک‌گویی‌ها و گفتگوهایش مثالهای ادبی بزند و راجع به ادبیات و شعر محتوای آموزشی ارائه کند (مثلاً نام کسی که گنج از او به یادگار مانده در ابتدا حاجی بلال بود و در یکجا توضیح می‌دادم که بلال به کسر ب درست است و نه فتح ب، بعداً که طرح دیگر گونه شد دیدم جایی برای این نکته نیست و بلال را جلال کردم تا جای بحث نماند!).

۳. بخشهایی از تاریخ استان مرکزی (اسماعیلیه در انجدان و همینطور تاریخ مدرسهٔ صمصامی بیات اراک) را در حین داستان بازگویی و تعریف کنم.

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

بعد از پایان کار آن را به نوبت برای سه ناشر معروف فرستادم که دو تای آنها آن را رد کردند و سومی پاسخ داد که در آن مقطع زمانی پذیرش اثر ندارد.

گذشت و بعد از چند ماه فاصله تا تکمیل نسخهٔ اولیه تصمیم گرفتم شاهکارم را بازخوانی کنم که متوجه شدم چقدر خواندنش سخت است و چقدر نچسب و بی‌کشش و نخواندنی است. به طور خاص مکالمات با لهجهٔ محلی حتی برای خود من که این لهجه لهجهٔ مادریم محسوب می‌شود انرژی زیادی برای بازخوانی نیاز داشت. گفتگوها مصنوعی و غیرطبیعی بودند و در دنیای واقعی خیلی بعید بود اتفاق بیفتند.

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

این نسخه را هم برای ناشری فرستادم و چون بیشتر از یک ماه گذشت و از آن خبری نشد آن را هم رد شده محسوب می‌کنم.

در نهایت تصمیم گرفتم نسخهٔ بازنویسی شده را روخوانی کنم تا اشکالات نگارشی و تناقض‌های منطقی آن را با بلندخوانی راحت‌تر پیدا کنم و محصول نهایی را شخصاً تست کنم.

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

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

حاصل کار را به عنوان اولین تجربهٔ داستان‌نویسی بلندم اینجا و داخل کانال تلگرام خودم می‌گذارم شاید مخاطبی داشته باشد و اوقات فراغت کسی را پر کند.

متن داستان:

گنج‌نامهٔ حاجی‌جلال

روخوانی متن:

فصل اول
فصل دوم
فصل سوم
فصل چهارم
فصل پنجم
فصل ششم
فصل هفتم
فصل هشتم
فصل نهم
فصل دهم

پی‌نوشت: این نسخهٔ اولیهٔ داستان است که به بیشتر در قالب گفتگو روایت می‌شود و زواید فراوان دارد و البته در روند داستان هم تفاوت‌هایی با نسخهٔ نهایی دارد.

زبان (انگلیسی و ترکی) با ترانه

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

آیکون قبلی برنامه را هم که به کمک تصویرساز بینگ ساخته بودم و به نظرم زیبا و گویا بود تغییر دادم تا این تغییر در آن منعکس شود. این آیکون پیشین برنامه است:

ترکی با ترانه

و این نشان جدید که این هم با همان ابزار ساخته شده:

زبان انگلیسی یا ترکی استانبولی با ترانه

این هم فرمان ساخت این نشان:

برای یافتن ترانه‌های مشهور انگلیسی زحمتم کمتر از ترکی استانبولی است و همگامسازی متن با صوت ترانه -علی رغم آن که انگلیسی عموماً در این آهنگ‌ها ریتم تندتری دارد- برایم راحت‌تر است. هر چند کار در نهایت دقیق در نمی‌آید اما در تستهای خودم کارایی کافی دارد. این هم ویدیویی به یادگار از این کار مشقت‌بار:

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

امکانی هم برای گوش کردن به پلی‌لیست یا فهرست پخش آهنگهای دریافت شده به آن اضافه کردم.

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

تلخ شیرین

این که می‌دزدم نگاهم رو
از تو از اینه که می‌دونم:
سیری از چشمات 👁 ممکن نیست!،
محو چشمای تو 😳 می‌مونم!
*
از صدای خنده‌های 😄 تو
-که از اون چیزی رهاتر نیست-
هیچ آهنگی 🎶 و آوازی
توی گوشم خوش‌نواتر نیست
*
تو عجیبی! حیرت‌انگیزی!
من ندیدم مثل تو جایی!
بس که بی نقصی و بی عیبی،
بس که خوبی، بس که زیبایی
*
انقدر خوبی که شاید هم
از توهمهای من 💊 باشی!
آخه شک دارم! نمیشه «تو»
توی این دنیای بد جا شی!
*
نغمهٔ جادویی عشقت
داره روحم رو جلا میده
مثل خون 🩸عشقت خودش رو سخت
داره تو رگهام جا میده
*
آخر این داستان تلخ
گر چه می‌دونم رسیدن نیست،
قصه‌ای شیرین‌تر از این عشق
تو کتاب قصهٔ من 📖 نیست
*

حمیدرضا محمدی

ترکی استانبولی با ترانه

در نوشتهٔ پیشین اشاره کردم که بیشتر با هدف درک معنی ترانه‌های ترکی استانبولی دوولینگو (DuoLingo) را استفاده می‌کردم و در نهایت تا به حال به آنجا که باید نرسیدم.

شاید برنامهٔ لینگوکلیپ (با نام قدیمی لیریکس‌ترینینگ) را دیده باشید. با این برنامه می‌توانید متن ترانه‌های در دسترس از طریق آن را مشاهده و تمرین کنید و در بازی پر کردن جاهای خالی یا تایپ کلمات جاافتاده در آن شرکت کنید.

به نظرم رسید با توجه به آن که بیشتر ترانه‌ها و خوانندگان ترکیه‌ای که ما ایرانی‌ها با آنها آشنا هستیم در این برنامه غایب هستند و این که یوتیوبِ جاسازی شده داخل این برنامه اخیراً با بعضی وی‌پی‌ان‌های در دسترس ما مشکل دارد برنامه‌ای بسازم که این ایده را بدون یوتیوب و با ترانه‌های آشنا برای خودمان ارائه کند.

یکی از چالش‌های پیش رو این بود که چطور متن ترانه‌ها را در سطح کلمه با خود ترانه همگام کنم. تلاش مختصری کردم و یکی دو ابزار مشهور و پیشنهادی چت‌جی‌پی‌تی را آزمایش کردم و به نتیجهٔ مناسب نرسیدم.

از این جهت مثل گذشته به فکر اختراع مجدد چرخ افتادم 😉 -تقریباً مطمئنم ابزار مناسبش وجود دارد و من خوب نگشته‌ام، اما خوب شاید به جای گشتن سرهم کردن ابزاری که این کار را برایم انجام دهد با عادت و روال من همخوانی بیشتری دارد-. به امکانات همگامسازی گنجور رومیزی امکان همگامسازی بر اساس کلمه را اضافه کردم و خروجی مناسبی برای استفاده توسط برنامهٔ خارجی هم به آن اضافه کردم (خروجی json که یک فایل متنی ترجمه هم در حین تولید می‌گیرد).

همگامسازی بر اساس کلمه در گنجور رومیزی

بیشتر کارهای مربوط به ترجمهٔ متن و لغات را هم با استفاده از سرویس ترجمهٔ گوگل یا چت‌جی‌پی‌تی انجام داده‌ام و برنامه در حال حاضر با ۸ ترانه در دسترس است (اینجا).

تصاویری از امکانات فعلی برنامه را می‌بینید:

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

کد مخفی

ترکی با ترانه را از کافه بازار دریافت کنید.

آیا امروز کافی بودم؟!

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

اما حالا فکر می‌کردم باید متناسب با هزینه‌ای که برای خرید این دستبند کرده‌ام از آن استفاده کنم. این شد که شدم پاپی ثبت رکوردهای روزانهٔ پیاده‌روی با آن. روزی دست کم ۸۰۰۰ قدم. بوستان ولایت تهران حدود یک کیلومتری خانه است و من تصمیم گرفتم که روزانه به جای تاکسی‌سواری تا سر کار از داخل پارک پیاده به یکی از دو ایستگاه متروی نزدیک پارک بروم و برگشت هم از همان مسیر بیایم.

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

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

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

زنجیرهٔ دیگری را که بعدتر شروع کردم زنجیرهٔ تمرین‌های روزانهٔ دوولینگو (DuoLingo) بود. انگیزهٔ اولیه؟ فکر کردم بد نیست متن ترانه‌های ترکی استانبولی را که به نظرم شیرین و دوست‌داشتنی می‌رسید بفهمم و یاد بگیرم. آن زنجیره هم چند باری شکسته شد اگر چه الان و امروز روز ۵۸۱م آخرین زنجیرهٔ شکسته‌نشده‌اش را پشت سر می‌گذارم و دورهٔ ترکی استانبولی آن را تمام کرده‌ام. آیا الان متن ترانه‌ها را می‌فهمم؟ خیر! آیا به اندازهٔ کسی که یک دوره را تمام کرده ترکی بلدم؟ آن هم خیر! چقدر بلدم؟ دانم من این قدر که به ترکی است آب سو!

چاره چیست؟! قطعاً آغاز یک زنجیرهٔ دیگر با یک برنامهٔ دیگر و درست کردن برنامه‌ای برای تمرین متن ترانه‌های ترکی (که در نوشتهٔ بعدی راجع به آن صحبت می‌کنم)!

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

کارنامهٔ گیتهاب امسالم

خفتیده افتو (شعر به لهجهٔ سنجانی :) )

دِ آقل گربه‌مُن خفتیده افتو
ملوچّا غوره می‌چّینن گَلِ مو
شلنگه ورگیر او لقا بشن او
هنکش کن که گربا وخسه از خو
هناش کن گربَه‌آ بش باگو بدو
که ایفتاده همه جا پشت سرت چو
که گفتن شوئرت درآرد سرت هو
یه هوّ دم دراز زرد چش کو *
که مرد اووه زن او مثل بلگو
که بفته تو‌ دل گربا مگر تو
که ایجوری که ای ایفتاده اینجو
همیجور خووه تا شو وخت مفتو
مث دوشو، پریشو، پس پریشو
برو بعدش بنیش به دختن گو
از اولا وخ بریم امخت سر کو
باکنیم پامنا از کو دلنگو *
تمُشا باکنیم خنآ از او لو
یخ و برفی که افتو می کنه‌ش رو
که وخت عید و سالی که میشه نو
زیمین اوشا بده به گندم و جو

* مصرع‌های ستاره‌دار بعداً اضافه شده‌اند و در روخوانی شعر نیستند

معنی بعضی کلمات:

دِ آقل گربه‌مُن خفتیده افتو
دِ: در
آقل: حیاط
خفتیده: خوابیده
افتو: آفتاب

ملوچّا غوره می‌چّینن گَلِ مو
ملوچ: گنجشک

شلنگه ورگیر او لقا بشن او
او لقا: اون گوشه
بشن: بیفشان، آب بپاش
او: آب

هنکش کن که گربا وخسه از خو
هنک: خنک
وخسه: بلند شود
خو: خواب

هناش کن گربَه‌آ بش باگو بدو
هنا کردن کسی: کسی را صدا زدن
باگو: بگو

که ایفتاده همه جا پشت سرت چو
ایفتاده: افتاده
چو: شایعه

که گفتن شوئرت درآرد سرت هو
درآرد: آورد
هو: هوو، زن دوم

چش کو:
چشم کبود (کسی که چشم سبز یا آبی دارد)

که مرد اووه زن او مثل بلگو
بلگو: چیزی که در مسیر آب میگذارند تا مسیر آب عوض بشود، درپوش
ضرب المثل سنجانی هستش میگن: مرد اووه زن بلگووه یعنی مرد مثل جوی آبه و زن مثل چیزیه که مسیرش رو تعیین میکنه

که بفته تو‌ دل گربا مگر تو
بفته: بیفته
گربا: گربهه
تو: تاب، دل آشوب و نگرانی

که ایجوری که ای ایفتاده اینجو
ای: این
اینجو: اینجا

همیجور خووه تا شو وخت مفتو
شو: شب
وخت: وقت
مفتو: مهتاب

مث دوشو، پریشو، پس پریشو
دوشو: دیشب

برو بعدش بنیش به دختن گو
بنیش: بشین
دختن: دوختن، دوشیدن
گو: گاو

از اولا وخ بریم امخت سر کو
اولا: آن سمت
وخ: بلند شو
امخت: اونوقت
کو: کوه

دلنگو: آویزان

تمُشا باکنیم خنآ از او لو
تمُشا: تماشا
خنآ: خانه ها را
لو: لبه

یخ و برفی که افتو می کنه‌ش رو
رو: روان، ذوب

که وخت عید و سالی که میشه نو
وخت: وقت

زیمین اوشا بده به گندم و جو
زیمین: زمین
اوشا: آبش را

شعر و عکس‌ها و صدا خودم

دوبیتی‌های سِنِجانی ;)

به جز تو هوشکیا مو دوس ندارم
ناماخام هوشکیا یادم بیارم
شم از بس کی که گوربستم به یادت
مریض حال ایفتادم کرم خمارم

***

بیا تک مو حالم جا بیایه
هنام کن تو تن مو نا بیایه
چی شی میشه که تو شوگار تارم
مث تو مفتویی روشنا بیایه

***

دلم تنگ صداته ای قناری
همه ش یاد تنم ای یادگاری
دلت آخر نشد که رحم بیایه
بافرسی زنده ای؟ هسی؟ تیاری؟

***

جلو چشمامه دیم قری تو
موای بافته ی فری تو
خجالت کشتنت از چشمای مو
فرار و تعجیلی و شری تو

***

بیا تکم بنیش آروم بگیرم
برم شوغات باگو که خو نمیرم
دلم اشکشته، غیر از تو تو دنیا
کسیا ناماخام از همه سیرم

***

زمسون چش به را وقت باهارم
که از صرا برت شودر بیارم
به بونه ی شودری شنگی روباسی
بنیشی بینمت جختی کنارم

***

خوشا فصل باهار حال ملوچا
صدای بازی بچا تو کوچا
زیر زن مرزه موزول نورس
رو دندن ترشی غورا آلوچا

***

شعر و صدا و عکسها از خودم 😉