گزیر

::گاهنوشتهای حمیدرضا محمدی::



دربارهٔ من:

آخرین نظردهندگان:

مشترک شوید:

ایمیل خود را در جعبهٔ زیر وارد کنید و دکمهٔ اشتراک را بزنید.

جستجو:

Valid XHTML 1.0 Transitional RSS Feed

رابط برنامه‌نویسی گنجور رومیزی – بخش اول

۸۹/۱۱/۰۵

یکی از نکاتی که شاید به کار برنامه‌نویسانی بیاید که دوست دارند در گسترش دامنهٔ داده‌های گنجور با استفاده از گنجور رومیزی مشارکت کنند این است که بدانند تنها راه تبدیل منابع اینترنتی یا فایلهای موجود به فرمت گنجور رومیزی کپی دستی اشعار از این منابع در ویرایشگر گنجور رومیزی نیست و می‌توان با استفاده از ‎C#‎ یا هر یک از دیگر زبانهای ‎.NET تقریباً به آسانی فایلهای مناسب برای نمایش در گنجور رومیزی را ساخت.

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

مقدمهٔ کار در ویژوال استودیو، اضافه کردن یک ارجاع به اسمبلی ganjoor.exe است (فایل اجرایی گنجور رومیزی که در مسیر نصب برنامه قرار دارد) تا فضای نام ganjoor در برنامه در دسترس قرار گیرد.*

اضافه کردن ارجاع در ویژوال استودیو
ارجاع به اسمبلی گنجور رومیزی در ویژوال استودیو
[code lang=”c#”]
using ganjoor;
[/code]

پس از این کار به کلاس اصلی مدیریت داده‌ها در گنجور رومیزی که DbBrowser نام دارد دسترسی داریم. تکه‌کد زیر -که به نظرم به اندازهٔ کافی گویاست- نشان می‌دهد که چگونه می‌توان با استفاده از این کلاس (و کلاسهای جانبی فضای نام ganjoor که اطلاعات داده‌ها را در خود دارند) یک فایل سادهٔ gdb یا s3db ساخت که گنجور رومیزی توانایی نمایش اطلاعات آن را دارد:

ادامه »

نوشته شده در ساعت ۱۰:۵۹

سنگ پای قزوین

۸۹/۱۰/۲۸

اسپم تبلیغی برای خلاصی از دست اسپم!

اخیراً دارند از فیلتر جی‌میل هم عبور می‌کنند.

نوشته شده در ساعت ۱۸:۲۴

ای آنها که ندیده‌اید …

۸۹/۱۰/۱۲

به این صفحه بروید و آن عکسهای ماکروی زیبا را از چشم انسان ببینید.

عکس ماکروی چشم انسان

از طریق گیزمودو

نوشته شده در ساعت ۱۹:۲۸

این یک تبلیغ نیست ;)

۸۹/۱۰/۰۷

اگر دوست دارید آلبومهای تصاویر دیجیتالتان را بر اساس چهرهٔ افراد دسته‌بندی کرده، عکسهای خودتان یا دوستانتان را به سادگی یک کلیک غربال کنید ویندوز لایو فتوگالری ۲۰۱۱ را امتحان کنید.

Windows Live Photo Gallery 2011

نوشته شده در ساعت ۲۱:۳۴

اطلاعیه: ساغر

۸۹/۱۰/۰۶

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

نوشته شده در ساعت ۲۰:۳۲

یاریگری هست؟

۸۹/۰۹/۲۷

می‌دانید؟ اخیراً از جایی درخواست یک هدیه کردم (اینجا) و آن را تحویل گرفتم.

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

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

اما دومین و سومین مشکل را، اگر اولین مشکل را حل کردید، دنبالشان باشید: من اسکریپت ساده‌ای برای شماره‌گذاری ابیات در گنجور نوشته‌ام (اینجا را ببینید). این را برایم با جی‌کوئری بازنویسی کنید (اسکریپت را با بازبینی کد صفحات گنجور می‌بینید). مشکل سوم را البته اصراری روی حلش ندارم، احتمالاً سخت است ولی صورت مسأله‌اش این است که این مسأله را با استفاده از جی‌کوئری حل کنید.

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

نوشته شده در ساعت ۲۲:۰۰

برنامه‌نویسی با C++‎ آسان است؟!

۸۹/۰۹/۱۸

البته که نه! برنامه‌نویسی با C#‎ و به کمک سکوی ‎.NET آسان‌تر است. بحث اینجا البته نه C++‎ است نه C#‎، نه سکوی ‎.NET و نه حتی برنامه‌نویسی.

خواستم نکته‌ای را که مدتی پیش یاد گرفته‌ام به شما هم یاد بدهم. سعی کنید عنوان این مطلب را در Notepad ویندوز تایپ کنید. ابتدا آن را راست به چپ کنید و تایپ کنید «برنامه‌نویسی با C++‎ آسان است.» چه اتفاقی می‌افتد؟

جهت C++‎ در جملهٔ تایپ شده درست نیست

چرا این اتفاق می‌افتد؟ آیا این ایراد نرم‌افزاری نوت‌پد است؟ من چنین تصوری داشتم و مطلب را در انجمن رایانش فارسی سؤال کردم (اینجا). پاسخ آن است که خیر این یک ایراد نیست. بر طبق الگوریتم دوسونویسی استاندارد یونیکد (UBA) نویسههایی مانند + و # کم‌توان محسوب می‌شوند و جهت آنها در متن توسط نویسهٔ پرتوان بعدی آنها تعیین می‌شود. به همین جهت اضافه کردن یک نویسهٔ پرتوان استاندارد غیرقابل مشاهده مثل نویسهٔ LRM (Left-to-Right Mark)‎ (قابل تایپ توسط Ctrl+Shift+3 در صفحه‌کلید استاندارد ویندوز در حالتی که صفحه‌کلید فارسی است) مشکل را حل می‌کند (برنامه‌نویسی با C++<LRM>‎ آسان است).

جهت C++‎ به کمک نویسهٔ LRM بعد از آن درست شده است.

نظیر همین مشکل برای تایپ «سکوی ‎.NET» وجود دارد، در این مورد باید نویسهٔ کنترلی را پیش از نقطه گذاشت. البته من راجع به دلیلش مطمئن نیستم. طبق چیزی که بالا نقل کردم باید نویسهٔ بعدی نقطه جهت را چپ به راست می‌کرد، اما این گونه نمی‌شود و نیاز است قبل از آن نویسهٔ کنترلی بگذاریم. احتمالاً دلیلش با بررسی مستندات UBA مشخص می‌شود. اگر از دوستان کسی دلیلش را می‌داند بنویسد (بعدنوشت: جوابش را آقای سید رضی داد: اینجا).

علاوه بر این از نویسه‌های کنترلی LRM و RLM برای تایپ ممیزهای بین اعداد تاریخ طوری که در مرورگرهای مختلف متن نهایی یکسان دیده شود می‌توان استفاده کرد. گویا مایکروسافت ورد این نویسه‌ها را به صورت خودکار در جای لازم درج می‌کند و به همین دلیل کسانی که با ورد تایپ می‌کنند احتمالاً این مشکل را زیاد مشاهده نکرده‌اند.

دنبالهٔ ۱

پیرو بحث پاراگراف اول دربارهٔ تقابل C++‎ و C#‎، بارها دوستان تقاضا کرده‌اند گنجور رومیزی را روی لینوکس یا مک‌اوس بتوانند اجرا کنند. من پیشتر دنبال راه حلهایی مانند مونو بودم (اینجا را ببینید) که به نتیجه نرسید. با ویرایشهای جدیدتر مونو حتی در حد همان دلخوشکنک ابتدایی نمایش پنجرهٔ برنامه هم، برنامه اجرا نمی‌شود. آقای سیدرضی علوی‌زاده در حال تهیهٔ برنامه‌ای سازگار با پایگاه داده‌های گنجور رومیزی با استفاده از Qt هستند که تحت سه سیستم عامل ویندوز، لینوکس و مک اجرا می‌شود. اطلاعات بیشتر راجع به «ساغر» را اینجا بخوانید و تصاویری از آن را ببینید.

دنبالهٔ ۲

از آنجا که حدس می‌زنم عنوان نوشته اغواگر جستجوگران اینترنتی «C++‎ آسان» باشد سایت پی‌سی‌کدنویس را به این دسته از مشتریان نوشته توصیه می‌کنم.

دنبالهٔ ۳

در راستای دنبالهٔ ۱ و بر اساس دلایلی که در اینجا راجع به آن صحبت کرده‌ام صفحهٔ فیس‌بوک گنجور را راه‌اندازی کرده‌ام (http://www.facebook.com/ganjoor). اگر اهل فیس‌بوک هستید و به گنجور علاقه دارید سری به آن بزنید و آن را به دوستانتان بشناسانید.

صفحهٔ گنجور در فیس‌بوک

دنبالهٔ ۴

این نوشته را تقدیم می‌کنم به شیخنا.

نوشته شده در ساعت ۲۰:۰۰

خیام، مسافر تایتانیک؟

۸۹/۰۷/۰۲

مجلهٔ دانشمند این ماه مقاله‌ای دارد با عنوان «تایتانیک چرا غرق شد؟».

تایتانیک چرا غرق شد؟

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

شاید خیلی از ایرانیان ندانند که نسخهٔ اصلی و دستنویس کتاب رباعیات خیام با کشتی تایتانیک به عمق اقیانوس رفت و متأسفانه نابود شد. این کتاب بسیار پرارزش که «عمر اعظم» نام داشت سرگذشت بسیار غم‌انگیزی دارد و سه روایت دربارهٔ آن نقل شده است. بر اساس یک روایت، این کتاب را یکی از شاهزادگان قاجار برای فروش به آمریکا می‌برده است و چون او یکی از سرنشینان کشتی تایتانیک بود این کتاب را با خود به قعر اقیانوس برد و به این ترتیب، برگی دیگر بر ماجرای قاچاق ثروتهای ملی ایران افزوده و یک اثر نفیس نابود شد. روایت دوم نیز دست کمی از روایت نخست ندارد. «بنیامین عمر بوساژ» که باخبر می‌شود نسخهٔ دستنویس رباعیات خیام (عمر اعظم) در دست یکی از شاهزادگان ایرانی است به ایران سفر می‌کند، دیگ طمع این شاهزادهٔ ضدملی را به جوش می‌آورد، کتاب را از او می‌خرد و هنگام بازگشت به آمریکا چون با کشتی تایتانیک سفر می‌کرده است این کتاب به قعر اقیانوس می‌رود و یک اثر نایاب از فرهنگ ایران‌زمین -متأسفانه- نابود می‌شود. و اما بر اساس روایت سوم، صحافی به نام «فرانسیس ستکلایف تلاش» آن را خریداری کرده از نظر صحافی روی آن کار می‌کند و قصد فروش آن را داشته که به علت بحران اقتصادی انگلیس (سال ۱۹۱۲) تصمیم می‌گیرد آن را به آمریکا ببرد، [آن را] به یک مسافر آمریکایی می‌فروشد و چون خریدار مسافر کشتی تایتانیک بوده، کتاب با غرق کشتی به اعماق دریا می‌رود و نابود می‌شود. می‌گویند برادرزادهٔ صحاف انگلیسی، «استانلی»، از باقیماندهٔ کتاب و تصاویری که از آن داشته نسخهٔ دومی -نه به ارزش نسخهٔ اول که به روایتی به خط و نوشتهٔ خود خیام بوده است– تهیه می‌کند که این نسخه نیز در بمباران لندن طی جنگ جهانی دوم نابود می‌شود. وی دست از کار نمی‌کشد و نسخهٔ سومی از طرحها، عکسها و تصاویر نسخه‌های اول و دوم تهیه می‌کند که این نسخه در اختیار همسر و بازماندگان «استانلی بری» بوده است که چند سال پیش به موزهٔ بریتانیا تعلق گرفت. در این کتاب که هم‌اکنون در موزهٔ بریتانیا موجود است، یکهزار قطعه جواهر، هزاران سنگ قیمتی رنگارنگ و چند متر مربع ورقهٔ طلا به کار رفته است. قصهٔ پر غصهٔ کتاب دستنویس رباعیات خیام را بسیاری از نویسندگان جهان که شیفتهٔ این دانشمند بزرگ ایرانی بوده‌اند با درد و اندوه نگاشته‌اند.

مجلهٔ دانشمند، شمارهٔ ۵۶۴، مهر ۱۳۸۹، صفحهٔ ۱۸

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

این مطلب، مرا یاد مقالهٔ دیگری در مجلهٔ اطلاعات علمی، شمارهٔ پیاپی ۳۴۲، مربوط به اسفندماه ۸۶ انداخت. در صفحهٔ ۱۶ این مجله، در مطلبی با عنوان «سرویس اینترنتی به کمک فاضلاب شهری» این دروغ آوریل گوگل که به انتخاب مجلهٔ پی‌سی‌ورلد یکی از خنده‌دارترین دروغهای آوریل گوگل بوده (اینجا) به عنوان یک مقالهٔ علمی و به شکل کاملاً جدی ترجمه و ارائه شده است.

نوشته شده در ساعت ۲۰:۳۳

قابلیتهای گوشیهای ایرانی

۸۹/۰۶/۲۳

منبع

نوشته شده در ساعت ۱۶:۲۱

سوایپ برای نوکیا ۵۸۰۰

۸۹/۰۶/۲۲

چقدر دستتان در تایپ پیامک تند است؟ چند ثانیه طول می‌کشد تا این پاراگراف را با موبایلتان تایپ کنید؟ :

The razor-toothed piranhas of the genera Serrasalmus and Pygocentrus are the most ferocious freshwater fish in the world. In reality they seldom attack a human.

جالب است بدانید که رکورد گینس سرعت در تایپ پیامک برای پاراگراف بالا -گویا- همین یک ماه پیش شکسته شده و ملیسا تامپسون توانسته آن را در ۲۵.۹۴ ثانیه تایپ کند (منبع خبر)!

البته، مسأله‌ای که می‌تواند از میزان شگفت‌زدگی شما از این رکورد بکاهد آن است که او این رکورد را با استفاده از یک موبایل لمسی شکسته (سامسونگ مدل Galaxy S) و خوب، صفحه‌کلید لمسی این موبایل از فناوری سوایپ پشتیبانی می‌کند.

فناوری سوایپ به کاربر این اجازه را می‌دهد که بدون برداشتن دست از روی صفحهٔ نمایش کلمات را تایپ کند. برای نمونه در شکل زیر نحوهٔ تایپ کلمهٔ quick را در یک صفحه‌کلید سوایپ می‌بینید:

swype

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

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

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

نوشته شده در ساعت ۲۱:۳۹