۱۳۸۹/۰۵/۰۴

میلاد حضرت صاحب‌الزمان (علیه‌السلام) مبارک باد


 از امام صادق علیه السّلام روایت شده که پدر بزرگوارشان در پاسخ کسی که از فضیلت شب نیمه شعبان از ایشان پرسیده بود فرمودند:

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

۱۳۸۹/۰۴/۱۷

کتابخانه جبرخطی Armadillo برای ++C

همانگونه که می‌دانید ++C کتابخانهٔ ریاضی قوی ندارد. Armadillo یک مجموعه توابع برای جبرخطی در ++C فراهم کرده است.
به همراه این کتابخانه مثالهایی هم هست که می‌توان اجرا نمود و لذت برد. برای بسیاری از عملیات ماتریسی MATLAB معادلی هم در آرمادیلو وجود دارد. گرچه که به گفته سایت آن، نیازی به LAPACK,BLASS نیست و این دو فقط برای افزایش کارایی می‌توانند در کنار آرمادیلو استفاده شوند، لیکن من در اجرای تابع solve آن با مشکل روبرو شدم که نیاز به LAPACK,BLASS داشت. روش رفع مشکل را در اینترنت نیافتم. خوشبختانه مشکل به صورتی که گفته خواهد شد قابل رفع است. اگر شما هم با چنین مشکلی مواجه شدید کافیست
  1. LAPACK,BLASS را از اینجا دانلود نموده و فایلها را باز کنید.
  2. سپس مسیرهای LAPACK و BLASS را به مسیر مورد جستجوی لینکر اضافه نمایید. به عنوان مثال در Code::Blocks در Project->Build Options->Search Directories->Linker
  3. فایل lapack_win32.lib را در قسمت تنظیمات لینکراضافه کنید.
  4. فایل config.hpp  در مسیر Armadillo PATH/include/armadillo_bits را باز نموده و دستور زیر را را از حالت انتخاب شده خارج نمایید:
#define ARMA_USE_LAPACK



۱۳۸۹/۰۴/۱۲

ابزار CImg برای پردازش تصویر


قبلاً در این پست راجع به نصب OpenCV که یک مجموعه از توابع متن باز برای پردازش تصویر است، مطلبی نوشته بودم. به جز OpenCV ابزارهای دیگری هم هستند که از جمله می‌توان به CImg اشاره کرد. این مجموعه بسیار جمع و جور است و من در اجرای مثالهای آن در Code::Blocks مشکلی نداشتم. فقط یک نکته و آن اینکه در تنظیمات لینکر باید libgdi32.a را اضافه کنید وگرنه با خطای undefined reference to SetDIBitsToDevice@48 مواجه می‌شوید.
ضمناً با باز کردن تصاویر jpeg مشکل دارم و پیام خطایی مبنی بر یافت نشدن gm.exe در مسیر temp ویندوز دریافت می‌کنم که هنوز رفع نشده است ): یکی فهمید به من هم بگوید بی‌زحمت.
خودم فهمیدم: ظاهراً CImg برای کار به تصاویر jpeg به ImageMagick نیاز دارد.

۱۳۸۹/۰۳/۰۲

نسخهٔ ۲ افزونهٔ پیوست منتشر شد (Attachments 2.0)

قبلاً در این پست افزونهٔ پیوست را که برای سنجاق نمودن فایل به مطالب سیستم جوملا استفاده می‌شود معرفی کرده بودم. اخیراً آقای جاناتان کامرون نسخهٔ دیگری از آن با قابلیت‌های جدید عرضه نموده‌اند. این افزونه و فایلهای فارسی آن (برای جومفا) را می‌توانید از اینجـــا دانلود نمایید. قابلیت‌های اضافه شده به این نسخه به قرار زیرند:
Release 2.0 is major update.  Attachments 2.0 has been significantly
     refactored and enhanced.  It adds many new features and improvements
     including simplified installation, ability to "attach" URLs, improved
     options to control where attachments are displayed, files are saved in
     separate directories (no more prefixing!), more flexibility to "Who can
     see" and "Who can update" options, unicode handling in filenames,
     significant improvements in the adminstrative back end, and a new
     capability to add attachments to content items other than articles (with
     additional plugins).

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


عنوان این پست را از متن این پست آقای بازرگان گرفته‌ام که دقیقاً مرا به یاد دیدارم از معبد لانگ‌هوآ (Long Hua) در جنوب غرب شانگهای انداخت که حدود دو سال پیش رفته بودم. گرچه که تا حالا بیشتر مطالب این وبلاگ مرتبط با کامپیوتر بوده است اما گذاشتن چنین مواردی خالی از لطف نیست.
مطابق قانون دانشکده مهندسی کامپیوتر دانشگاه علم و صنعت، هر دانشجوی دکترا برای داشتن مجوز دفاع باید حداقل دو مقالهٔ ISI و یک ارائه مقاله در خارج داشته باشد که من هم به کنفرانس Life System Modeling and Simulation برای ارائهٔ یکی از مقالاتم رفته بودم.
عکس زیر تصویر ورودی معبد را نشان می‌دهد که برای ورود باید بلیط می‌گرفتی .


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



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






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

۱۳۸۹/۰۲/۲۷

برنامه کنترل بازبینی Mercurial

در ابتدا سالروز شهادت حضرت فاطمهٔ زهرا (سلام الله علیها) را تسلیت عرض می‌کنم.

من مدتی است که از SVN برای نگهداری تاریخچه تغییرات برخی فایلهایم استفاده می‌کنم. قبلاً در این پست در مورد مشکل جابجايی Repository این برنامه نوشته بودم. اخیراً آقای خلیقی مرا با Mercurial که یک Revision Control Software توزیع شده است آشنا کرده است. SVN و Mercurial تفاوتهایی دارند که شاید مهمترین آن متمرکز بودن اولی و توزیع شده بودن دومی باشد. (برای مقایسهٔ برنامه‌های مختلف کنترل نسخه و منجمله این دو برنامه این صفحه از ویکی‌پدیا را ببینید).

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

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

یک توضیح مختصر برای شروع به کار:
اگر رابط کاربری آنرا هم نصب کرده باشید خیلی راحت است. روی شاخه محتوی فایلهای پروژهٔ خود (مثلا myProject) ، کلیک راست کرده، از منوی TortiseHG گزینه Create Repository Here را انتخب می‌کنید. حال فایلهایی از این شاخه که می‌خواهید کنترل شوند را انتخاب نموده، از گزینه‌ها HD Add Files را انتخاب نموده و پس از آن Commit را انتخاب می‌کنید. یک توضیح (مثلا Initial Commit) نوشته و دکمه Commit را می‌زنید.
اکنون مخزن شما به صورت محلی آماده است.
پس از ایجاد حساب در bitbucket، یک مخزن مثلا با نام myProject ایجاد کنید.
روی شاخه myProject دستگاهتان کلیک راست کرده و HG Repository Explorer را انتخاب کنید. از منوی synchronize گزینه Configure path را انتخاب کنید. گزینه synchronize را انتخاب و دکمه Add را زده و مشخصات مخزن خود روی سایت را وارد کنید. حال دکمه سبز روبه بالا با یک خط بالاش (Push) را می‌زنید و فایلها به سایت متقل می‌شوند.

این همه دنگ و فنگ مربوط به اولین بار است. در سایر دفعات برای ارسال تغییرات به مخزن محلی کافیست Commit کنید و سپس برای ارسال تغییرات به سرور Push کنید.

اگر رابط کاربری را نصب نکرده‌اید با دستورات خط فرمان هم می‌شود این کار را کرد (به نقل از آقا سیدرضی):
به فرض حسابی در bitbucket ساخته‌اید؛ ابتدا در ترمینال دستور زیر را وارد کنید:
hg clone http://bitbucket.org/youraccount/myProject
در پوشه جاری شما یک پوشه با نام myProject ایجاد می‌شود. حالا تمام فایل‌های کار خود را در این پوشه جدید کپی کنید و دستورات زیر را در ترمینال اجرا کنید:
cd myProject
hg add
hg ci -m "your description for this commit (Initial Commit)"
hg push


داشتن سرور الزامی نیست. تاریخچه در خود شاخه نگهداری می‌شود.

یک کپی از مخزن را در هر جا و منجمله یک هارد اکسترنال نیز می‌توانید داشته باشید.
کافیست TortoiseHG Clone را انتخاب و مسیرهای مبدأ و مقصد را مشخص کنید تا یک کپی در مقصد ایجاد شود.
اگر در مقصد فقط می‌خواهید یک کپی از مخزن (مثلا به عنوان پشتیبان) داشته باشید گزینه do not update the new working directory را انتخاب کنید. در این حالت فایلهای مخزن شما در مقصد باز نخواهند شد، اما قابل استراج هستند.

۱۳۸۹/۰۲/۲۴

جالب ترین خطای دید


با اینکه به خطای دید اعتقاد دارم ولی پذیرش اینکه در شکل روبرو دو مربع A,B همرنگ هستند برایم خیلی سخت بود و تا وقتی با نقاش ویندوز چک نکردم باورم نشد!!!
تصویر از وبلاگ آقای محمدی گرفته شده و در وبلاگ آقای فرهادی نیز به آن اشاره شده است.
برای خاطرجمع شدن به نظرات وبلاگ آقای محمدی یا این صفحـــه مراجعه فرمایید.