تماشای ریحان

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

این مجلد قرآن کریم موسوم به مصحف ریحان به جناب آقای مهندس حمیدرضا محمدی اهداء می‌گردد - بهرام سالکی

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

سورهٔ قدر در قرآن ریحان

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

کتابت قرآن ریحان هشت سال طول کشیده است

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

قرآن ریحان
قرآن ریحان
قرآن ریحان
قرآن ریحان
فتبارک الله احسن الخالقین

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

نشانی ناشر

ضمناً استاد سالکی شاعر هم هستند و مجموعه‌ای از اشعار ایشان در گنجور رومیزی در دسترس است. جهت کسب اطلاعات بیشتر و دریافت اشعار ایشان اینجا را ببینید و اشعار را در این نشانی دریافت کنید.

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

تکه‌های مهم؟!

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

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

hamidreza clipmarks backups

سال ۹۱

سالی که گذشت همانند سال قبلش بیشتر برای من به کار -در محل کار 😉 – گذشت:

لوح تقدیر پردازش موازی سامان در سال ۹۱

و همانند سال قبلش نه فرصت چندانی برای فعالیتهای مربوط به گنجور و طرحهایی که حالا شاید بشود گفت سالهاست در ذهن دارم فراهم شد و نه البته به لحاظ موقعیت جغرافیایی و مشکلات مخابراتی و … امکان دسترسی دائم به اینترنت برای صرف کردن اوقات فراغت به اینجور برنامه‌ها. در حال حاضر بعد از دو سال صندوق پستی گنجور پر است از کلی ایمیل پاسخ داده نشده و عمدتاً ستاره زده شده و … اما باز هم در این سال در گنجور بیشتر از سایر جاهای غیرکاری فعال بودم (بایگانی تازه‌های گنجور در سال ۹۱)

با این حال، با توجه به آن که کارهایم در محیط کاری به نظر خودم بسیار مؤثر و مفید بودند و با اطمینان می‌توانم بگویم که از لحاظ حجم کاری دو یا شاید سه برابر آن ظرفیتی که از خودم انتظار داشتم کار کردم سالی که گذشت را یکی از پربارترین سالهای زندگیم می‌دانم.

به امید سالهای بهتر برای خودم و برای همهٔ دوستان!

سبیت ۲۰۱۳

The only downer for Peter Schnautz is the non-participation of the Iranian partner Hoda Systems: “Throughout history vibrant trade relations were often the driving force for political changes – why should it not occur on this occasion?” remarks Peter Schnautz and continues: “technologically this is a great loss. Hoda Systems is one of the few suppliers in the market that offers a premiere ICR engine for Arabic characters. ”

منبع

یادگاریهای شرکت گاز

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

اتوران سی دی آت آشغال ۲

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

یک رباعی مربوط به دورهٔ نوجوانیم با شعلهٔ آتش رقصان ;)

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

ادامه خواندن “یادگاریهای شرکت گاز”

گنجوروید

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

گنجوروید

لطفاً خودتان را تکرار نکنید!

Mr Smith In Matrix Reloaded : Repeated himself and failed!

یک اصل یا قاعده یا توصیهٔ برنامه‌نویسی هست که علی رغم آن که عموماً جماعت برنامه‌نویس با آن آشنایی دارند -به نظرم- التزام به پیروی از آن موجب رستگاری همگان در همهٔ کارها خواهد شد ;).

این اصل که به طور خلاصه «DRY» خوانده می‌شود (و متضاد آن «WET» است! ؛ اولی مخفف Don’t Repeat Yourself و دومی مخفف Write Everything Twice) به طور ساده (به زبان برنامه‌نویسان) می‌گوید هر قسمتی از کدِ برنامه که ممکن است لازم باشد در جای دیگری مجدداً استفاده شود؛ لازم است به جای تکرار، به شکل یک کد قابل استفادهٔ مجدد (تابع، کلاس و …) درآید و هر جا لازم شد فراخوانی شود. البته این اصل تعریف پیچیده‌تر و دقیق‌تری هم دارد که درکش مستلزم سوزاندن فسفر بیشتری است: «هر بخشی از دانش در یک سیستم باید یک نمایش یکتا، غیر مبهم و معتبر داشته باشد».

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

همیشه طوری کدنویسی کن که انگار کسی که قرار است کد تو را نگهداری کند یک قاتل زنجیره‌ای روانی است که نشانی خانه‌ات را می‌داند!

Dexter

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

شأن نزول این مطلب آن بود که خود من مدتها است که دارم تاوان عمل نکردن به این قاعده را برای خطای متداولی روی گنجور رومیزی می‌پردازم:

ایمیلهایی که گزارش خطایی با راهکار یکسان برای رفع خطا را در گنجور رومیزی به من داده‌اند

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

در آستانهٔ سال نو

سال ۹۰ هم رو به پایان است، سالی که برای من توأم با تغییر محل کار و به تبع آن تغییرات دیگر بود. تغییراتی؛ عمدتاً ناخواسته که نهایتاً خوشایندم بود و باعث می‌شود که این سال را سالی توأم با اتفاقات خوب به حساب بیاورم. سالی که البته از کارهای فوق برنامه -گنجور و …- دور ماندم و از این لحاظ از این سال یادگاریهای زیادی ندارم. امیدوارم سال آینده سال پربارتری باشد.

لوح تقدیر تدبیر

سال نو پیشاپیش مبارک!

آمدید، نبودم؟

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