معرفی پروژهٔ تنزیل

چندی پیش یکی از اعضای پروژهٔ قرآنی ذکر، پیامی به گروه فرستاد جهت تولید نرم‌افزار مشابه ذکر برای اندروید، پس از اون با پروژهٔ Quran Android آشنا شدم که در همین راستا گام برداشته‌اند در حین کار با این نرم‌افزار با پروژهٔ قرآنی تنزیل که توسط دکتر حمید ضرابی‌زاده تأسیس شده است، آشنا شدم.

همان‌طور که در صفحهٔ ویکی پروژه ذکر شده، این وب‌گاه در نظر دارد یک متن دقیقِ استاندارد از متن قرآن کریم را بر روی اینترنت قرار دهد. این کار از سال ۲۰۰۷ شروع شده و تا کنون بسیاری از برنامه‌نویسان از این منبع برای دسترسی به متن قرآن از آن استفاده می‌کنند.

تنزیل سالیانه چیزی حدود ۸۸٫۵ میلیون صفحه قرآن کریم را نمایش می‌دهد که حدوداً برابر است با ۱۴۶ هزار بار نمایش تمام صفحات قرآن کریم. سالیانه ۷۰۵ میلیون آیه توسط این پروژه شنیده می‌شود که برابر است با ۱۱۳ هزار بار تمام قرآن کریم. سالیانه ۷۷ ترابایت پهنای باند مصرف می‌کند که حدوداً برابر است با ۱۱۸ هزار سی‌دی صوتی که برای برپایی و نگهداری تنزیل، سالیانه دو هزار و پانصد دلار هزینه می‌شود. نکتهٔ قابل توجه دیگر اینکه به قول تنزیل:

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

معرفی بیشتر تنزیل را با ذکر چند پیوند مفید به پایان می‌رسانم:
متن قرآن کریم.
فراداده‌های قرآن کریم.
ترجمه‌های قرآن کریم به زبان‌های گوناگون
چگونه تلاوت جدیدی به پروژه اضافه کنیم؟
چه پروژه‌هایی از تنزیل استفاده می‌کنند؟

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

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

Comments (11)

دریافت صوت جلسهٔ نقد مستند خط و نشان رهبر

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

پیوند دریافت صوت جلسه از وب‌گاه بسیح دانشجویی دانشگاه امام صادق علیه السلام

در صورت بروز مشکل هنگام دریافت پرونده‌های صوتی این جلسه از دو پیوند کمکی زیر استفاده کنید:
دریافت قسمت اول – ۶ مگابایت
دریافت قسمت دوم – ۶ مگابایت

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

در این مورد بخوانید:

  1. بخش اول: 6 دروغ تاریخی بنی صدر پیرامون آیت الله خامنه ای
  2. بخش دوم:پاسخ 11سال قبل معصومه ابتکار به bbc و ‌بررسی چند دروغ دیگر از مستند بیطرفانه!
  3. بخش سوم: نقش دولت خاتمی در قتلهای زنجیره ای، حصر منتظری، شارلاتانیزم مطبوعاتی و …
  4. بخش چهارم: طفره رفتن خاتمی از مناظره با فرهادنظری، بازخوانی 18 تیر، تناقضات مزروعی و خلجی و…
  5. بخش پنجم: چگونگی انتخاب موسوی به نخست وزیری،تقطیع سخنان رهبری و بررسی چند دروغ تاریخی دیگر

Comments (6)

ستون رایانش ابری در هفته‌نامهٔ عصر ارتباط

چند هفته‌ای است که در هفته‌نامهٔ عصر ارتباط ستونی به نام رایانش ابری (Cloud Computing) در دست دارم. دوستان علاقه‌مند به موضوع رایانش ابری می‌توانند یادداشت‌هایم را هر هفته در صفحهٔ ۳۰ این هفته‌نامه دنبال کنند.

یادداشت‌های که تا به حال چاپ شده‌اند:

  1. سر در آسمان
  2. خدمات رایانش ابری
  3. انواع پیاده‌سازی ابر
  4. ویژگی‌های اساسی رایانش ابری
  5. رایانش ابری مجازی‌سازی نیست.
  6. رایانش ابری و رایانش مشبک، آیا این دو یکسانند؟ (قسمت اول)
  7. رایانش ابری و رایانش مشبک، آیا این دو یکسانند؟ (قسمت دوم)
  8. ذخیره‌سازی ابری چگونه کار می‌کند؟
  9. ناسا به رایانش ابری روی آورد
  10. رایانش همگانی (قسمت اول)
  11. رایانش همگانی (قسمت دوم)
  12. آیا رایانش ابری می‌تواند شما را از حملات DDos نجات دهد؟
  13. ریچارد استالمن، بنیانگذار گنو، هشدار می‌دهد؛ سیستم‌عامل گوگل کروم به معنای از دست دادن کنترل داده‌هاست
  14. کاهش ۳۸ درصدی مصارف انرژی مراکز داده در سال ۲۰۲۰ توسط رایانش ابری
  15. آمار رشد روزافزون ابر
  16. گارتنر پیش‌بینی می‌کند نرم‌افزارهای مبتنی بر ‹نرم‌افزار به عنوان سرویس› ۱۰.۷ میلیارد دلار بازار داشته باشد.
  17. بزرگ‌داده و ۱۰ پیش‌بینی برای سال ۲۰۱۱
  18. مدیریت توافق‌نامه سطح خدمات
  19. ابرها عملا چگونه کار می‌کنند
  20. رایانش ابری، تنها یک شعار و یک مد تبلیغاتی دروغین
  21. ابر صخره است نه سربالایی
  22. انتقال داده‌های دولت آمریکا به ابر
  23. آمریکا اولین دولت ابری
  24. سالی ابری اما بدون بارندگی
  25. زمین‌لرزه‌ها و رایانش ابری
  26. سالی ابری اما بدون بارندگی
  27. زمین‌لزره‌ها و رایانش ابری
  28. قطع جیمیل: آیا رایانش ابری مقصر است؟
  29. چند-مستأجری چیست؟
  30. قطعی آمازون
  31. درس‌هایی از قطع ابر آمازون
  32. آیا رایانش ابری مخالف آزادی کاربران است؟
  33. خطر پنهان جاوااسکریپت‌های انحصاری
  34. روشی برای مهاجرت برنامه‌های کاربردی به ابر
  35. سه لايه رایانش ابری
  36. سه چیز که ارایه‌دهنده ابری‌تان به شما نمی‌گوید
  37. چگونه ابر واقعی را از ابر جعلی تشخیص دهیم
  38. آیا ابر عمومی انتخاب مناسبی خواهد بود
  39. آیا ابر خصوصی انتخاب مناسبی است
  40. ابرهای آمیخته ترکیبی از ابرهای عمومی و خصوصی

Comments (6)

هر چه بگندد نمکش می‌زنند وای به روزی که بگندد نمک

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

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

  • سکوت یک سال و نیمه در اجرای طرح سیستم عامل ملی. ۹ دی ۱۳۸۳
  • دبیر شورای عالی فناوری اطلاعات: ضعف اصلی آی تی در ایران نبود شبکه اینترنت ملی است. ۶ بهمن ۱۳۸۴
  • عضو كمیته‌ مخابرات مجلس: اینترنت بومی سال آینده راه اندازی می شود. ۷ بهمن ۱۳۸۴
  • اینترنت ملی نیامده ۱۰ میلیارد تومان بودجه گرفت. ۱۷ بهمن ۱۳۸۴
  • واگذاری طرح ملی نرم افزارهای متن باز و لینوکس فارسی به دانشگاه شریف. ۲۴ مهر ۱۳۸۴
  • تلفن همراه ملی. ۲۳ خرداد ۱۳۸۵
  • معاون صدا و سیما: ۴۵ میلیارد تومان هزینه پورتال ملی عدد بزرگی نیست. فاز اول پورتال ملی راه‌اندازی شد.  ۲۹ خرداد ۱۳۸۵
  • گزارش فارس از توقف زودهنگام طرح رایانه ملی. ۱۷ تیر ۱۳۸۵
  • وزیر ارتباطات: برای بهره برداری از اینترنت ملی دو سال دیگر صبر کنید. ۳۱ شهریور ۱۳۸۵
  • ده میلیارد تومان هزینه مونتاژ گوشی ملی موبایل. ۱ مهر ۱۳۸۵
  • وزیر ارتباطات: اینترنت ملی به سه سال زمان نیاز دارد. ۱۳ آبان ۱۳۸۵
  • شبکه اینترنت ملی به شبکه ملی اینترنت تغییر نام یافت. ۲ اردیبهشت ۱۳۸۶
  • نقدعملکرد مرکز تحقیقات مخابرات در طرح ملی نرم افزارهای متن باز. ۱۰ اردیبهشت ۱۳۸۶
  • آغاز عملیات اجرایی شبکه اینترنت ملی. ۱۶ خرداد ۱۳۸۶
  • وزیر پیشنهادی ارتباطات هم به دنبال اینترنت ملی است. ۹ شهریور ۱۳۸۸
  • پس از هشت سال انتظار دیتاسنتر ملی تا یک ماه آینده راه اندازی می شود. ۱۶ شهریور ۱۳۸۸
  • متقاضیان اینترنت ملی به مخابرات استانی مراجعه کنند. ۱ مهر ۱۳۸۸
  • بعد از اینترنت ملی نوبت به ایمیل ملی رسید. ۱۷ آذر ۱۳۸۸
  • سیستم‌عامل ملّی لینوکس و ۸ سال بلاتکلیفی. ۲۱ آذر ۸۸
  • اجرای طرح ملی تامین محتوای دیجیتال کشور. ۲۷ آذر ۸۸
  • مدیرعامل شرکت فناوری اطلاعات: مسدود شدن جیمیل مردم را به ایمیل ملی هدایت میکند. ۱۹ بهمن ۱۳۸۸
  • وزیر ارتباطات: راه‌اندازی شبکه‌ی ملی اینترنت از سال ۸۹. ۵ فروردین ۱۳۸۹

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

«فرق پروژه‌های ما با پروژه‌های آن‌ها این است که ما پروژه ملی تعریف می کنیم و به جایی نمیرسیم، آن‌ها پروژه دانشجویی تعریف می کنند و دنیا را تکان می دهند.»

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

از طرفی دیگر طرح‌های بسیار خوبی هم اجرا می‌شوند و واژهٔ مقدسِ «ملی» نیز به آن‌ها افزوده می‌شود ولی پروژه نیمه‌تمام متوقف می‌شود که نتیجه‌اش می‌شود همین پروژهٔ سیستم‌عامل ملی که از بهمن سال ۸۱ شروع به فعالیت کرد اما به دلیل عدم حمایت از طرف وزارت ارتباطات این پروژه نیمه‌تمام مانده است. در حالی که روزانه شاهد اخبار متعددی در ارتباط با مهاجرت سازمان‌ها و دولت‌ها در دیگر کشورها به مستندات و نرم‌افزارهای آزاد هستیم؛ هنوز در ملی کردن سیستم‌عامل‌های سازمان‌هایمان ناتوانیم.

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

Comments (10)

به پویش مستندات باز بپیوندید

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

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

  1. مستندات، صفحه‌گسترده‌ها و ارائه‌هایی که در قالب محلی ورد یا اکسل مایکروسافت ارسال شده‌اند، انحصاری و متناقض آزادی می‌باشند.
  2. در حال حاضر، مستندات باز، به صورت آزاد در قالب نرم‌افزارهای گوناگونی همچون OpenOffice.org به صورت رایگان در اختیار شما قرار دارند و کاربران آن می‌توانند مستندات باز را بدون هیچ محدودیتی ایجاد کنند.
  3. مستندات باز، به عنوان یک قالب استاندارد جهانی پذیرفته شده است.
  4. مستندات باز، محدود به سکوی خاصی نمی‌باشند و چون قالبی آزاد هستند تمامی توسعه‌دهندگان نرم‌افزارهای اداری قادر به تجهیز نرم‌افزارهای خود به این قالب آزاد می‌باشند و در نتیجه سند شما محدود به سیستم‌عامل ویندوز مایکروسافت یا اپل نیست بلکه روی تمامی سیستم‌عامل‌های معتبر قابل اجرا می‌باشد.
  5. دولت‌ها و سازمان‌های سرتاسر دنیا در حال پذیرفتن این قالب استاندارد هستند. بیشتر بخوانید.
  6. به دلیل این‌که قالب محلی مایکروسافت انحصاری می‌باشد، مایکروسافت هر زمان که بخواهد، می‌تواند آن را به نسخهٔ دیگری تغییر دهد و بالطبع کاربران مایکروسافت ورد مجبورند نسخهٔ جدید نرم‌افزار را خریداری کنند.

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

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

منابع بیشتر برای مطالعه

  1. نرم‌افزار متناسب با سیستم‌عامل خود را بارگیری کنید.
  2. قالب‌های انحصاری را نپذیرید.
  3. روز آزادی مستندات
  4. روز آزادی مستندات از وب‌نوشت دنیای بدون دیوار
  5. روز آزادی مستندات در گنوایران.ارگ
  6. خبر: Sun و IBM ابزارهایی برای ODF راه اندازی میکنند.

پی‌نوشت: پویش برگردان فارسی واژهٔ campaign می‌باشد. خبرنامهٔ شمارهٔ ۸ فرهنگستان زبان و ادب فارسی

Comments (3)

راه‌اندازی wireless بعد از خواب زمستانی

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

هر وقت چینن مشکلی براتون پیش آمد دو فرمان زیر را اجرا کنید.

sudo service networking restart
sudo service NetworkManager restart

Comments (3)

نصب TexLive 2008 در لینوکس

بالاخره تصمیم گرفتم وارد دنیای TeXnician‌ها شوم و حداقل چند صفحه‌ای را با TeX ایجاد کنم. خیلی وقت پیش با FarsiTeX آشنا شدم. سعی کردم اون را روی لینوکس نصب کنم اما به اون صورت نتونستم با اون کار کنم روزها گذشت تا همین چند روز پیش فرصت کردم توزیع‌های دیگر TeX را بررسی کنم. به پروژه‌ی XeTeX برخورد کردم که فارسی را پشتیبانی می‌کند. بعد از نصب اون روی Ubuntu 9.04 متوجه شدم که با بسته‌ی نرم‌افزاری TeX Live 2007ی که در مخازن Ubuntu 9.04 موجود هست تداخل دارد و مشکل درست عمل نمی‌کند. مجبور شدم که Tex Live 2007 را پاک کنم و نسخه‌ی به روزتر آن را به صورت دستی نصب کنم. برای نصب TeX Live 2008 به صورت دستی دو روش وجود دارد.

روش اول: بسته‌ی install-tl-unx.tar.gz را بارگیری کنید و پس از خارج کردن آن از حالت فشرده فرمان زیر را اجرا کنید:

cd /your/download/directory
sudo perl install-t
d (directory settings)
1 /usr/local/texlive/2008 (your installation directory)
2 /usr/local/texlive/texmf-local (your local hierarchy)
r (return to main menu)
i (install)

در صورتی که نصب از طریق خط فرمان را نمی‌پسندید می‌توانید نصاب را با install-tl -gui اجرا کنید. در این صورت باید بسته‌ی Perl/TK را نصب کرده باشید:

sudo apt-get install perl-tk

در ضمن در صورتی که minorی را می‌شناسید که به شما نزدیک‌تر است و سرعت بهتری دارد می‌توانید از فرمانی شبیه فرمان زیر استفاده کنید:

sudo perl install-tl –location http://mirror.example.org/its/ctan/path/texlive/tlnet/2008

پس اجرای مراحل بالا نصاب TeX Live شروع به بارگیری بسته‌های مورد نیاز خود می‌کند. این عمل بسته به سرعت شبکه‌ی اینترنت شما متفاوت می‌باشد.
پس از نصب TeX Live باید متغیر‌های زیر را به پرونده‌ی ~./profile اضافه کنید:

PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH; export INFOPATH

حال یک بار Logout/login کنید و جهت اطمینان از نصب TeX Live در خط فرمان وارد کنید:

$ tex –version
TeX 3.1415926 (Web2C 7.5.7)
kpathsea version 3.5.7
Copyright 2008 D.E. Knuth.
Kpathsea is copyright 2008 Karl Berry and Olaf Weber.
There is NO warranty. Redistribution of this software is
covered by the terms of both the TeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the TeX source.
Primary author of TeX: D.E. Knuth.
Kpathsea written by Karl Berry, Olaf Weber, and others.

روش دوم در این روش می‌توانید ابتدا دی‌وی‌دی توزیع TeX Live را از اینجا دانلود کنید. پس از باز کردن آن از حالت فشرده فرمان زیر را جهت اتصال آن به سی‌دی‌رام اجرا کنید:

sudo mount -o loop  texlive2008.iso /media/cdrom

حال مثل روش اول می‌توانید TeX Live را نصب کنید.

Comments (5)

سربرگ جدید بعد از سربرگ جاری (Firefox)

در Epiphany وقتی می‌خواهیم سربرگ جدیدی ایجاد کنیم این سربرگ دقیقا بعد از سربرگ فعلی باز می‌شود و به دلیل اینکه عادت به ایجاد سربرگ‌های زیاد در من به یک بیماری تبدیل شده به فکر چاره‌ای افتادم تا در Firefox نیز سربرگ‌های مرتبط با یک موضوع در کنار هم باز شوند و نتیجه‌اش یک جست‌وجو ساده و افزونه‌یTabs Open Relative بود.

پ.ن. کوتاه‌ترین اما پربارترین نوشتار بنده!!

Comments (8)

راهنمای جامع کامپایل برنامه‌های C و C++

اگر به دنبال یک راهنمای سریع، مختصر و مفید هستید پیشنهاد می‌کنم ابتدا نوشتار «راهنمای کوچک برنامه‌نویسی با CODEBLOCK» مطالعه کنید، اما اگر از درد و سر خوشتان می‌آید پس بفرمایید:

برای کامپایل برنامه‌های C++ نیاز به یک کامپایلر می‌باشد. لیست بزرگی از کامپایلر‌های موجود برای C++ و دیگر زبان‌ها را می‌توانید در این مقاله از ویکی‌پدیا ببینید. خیلی از اساتید دانشگاهی برای شروع درس برنامه سازی پیشرفته در همان روزهای اول بدون توضیح در مورد کامپایلرها و تنوع آنها به دانشجویان کامپایلر‌های Turbo C++ یا Borland C++ و در نهایت Visual Studio را پیشنهاد می‌کنند.

کمی دست نگه دارید تا بیشتر در مورد کامپایلر‌ها آشنا شویم، سپس انتخاب با خودتان. دوباره به لیست همگردان‌های C++ در ویکی‌پدیا نگاهی بیاندازید.

قبل از هر چیز در مورد دو واژه‌ی مهم توضیح بسیار مختصری بدهم:

  • Compiler: كامپایلر برنامه یا مجموعه‌ای از برنامه‌های كامپیوتری است كه متنی از زبان برنامه نویسی سطح بالا (زبان مبدا) را به زبانی سطح پایین (زبان مقصد)، مثل اسمبلی یا زبان سطح ماشین، تبدیل می‌كند. خروجی این برنامه ممكن است برای پردازش شدن توسط برنامه دیگری مثل پیونددهنده مناسب باشد یا فایل متنی باشد كه انسان نیز بتواند آنرا بخواند.
  • IDE: مخفف عبارت انگلیسی Integrated Development Environment است و عبارت است از محیطی عمدتاً گرافیکی که تمام یا شماری از ابزارهای لازم برای توسعهٔ نرم‌افزار (بخش‌هایی یا تمام زنجیره ابزار توسعه) را خود دارد. در IDE دسترسی به ابزارها و اعمال آن‌ها در پروژهٔ جاری تسهیل شده‌است.

۱-تفاوت بین IDE و Compiler در چیست؟

کامپایلرها بر دو نوع اند. کامپایلر‌های خط فرمان و کامپایلر‌های همراه با IDE. کامپایلر‌های خط فرمان هیچ گونه محیط کاربری (GUI) ندارند و تمامی مراحل کامپایل از طریق خط فرمان سیستم عامل انجام می‌شود. اما در کامپایلرهای همراه با IDE اکثرا کار کامپایل و Link و Builld را ساده کرده‌اند و تمامی مراحل را به طور خودکار برای کاربر انجام می‌دهند. برای مثال کاربر کافیست پس از نوشتن برنامه در ویرایشگر کامپایلر، کلید F6 را فشار دهد.

البته یک IDE (محیط توسعه‌ی مجتمع) در اصل یک نرم‌افزار گرافیکی می‌باشد که با ابزارهای برنامه نویسی از جمله پیوند دهنده‌ها (Linker)، همگردان‌ها و نرم‌افزارهای کنترل نسخه (Version Control Software) و … ارتباط برقرار می‌کند و یک محیط بسیار راحت را برای برنامه‌نویسان ایجاد می‌کند.

یک محیط توسعه‌ی مجتمع معمولا امکانات زیر را در اختیار برنامه‌نویسان قرار می‌دهد:

اما به نظر من استفاده از IDE برای تازه‌واردان برای توسعه‌ی نرم‌افزار و برنامه‌نویسی بسیار اشتباه است. بهتر است ابتدا سعی کنید با مفاهیم کامپایلر آشنایی پیدا کنید. خطاها و پارامترهای آن را به خوبی بشناسید و چند هفته (چند ماهی) از IDE دوری کنید و سعی کنید تمام مراحل کامپایل یک برنامه را به روش های گوناگون به خوبی یاد بگیرید. برای مثال ابتدا سعی کنید از برنامتان یک فایل Object درست کنید سپس با Linker آن را با دیگر کتابخانه‌های سیستمی پیوند دهید و فایل اجرایی را تولید کنید.

سعی کنید با ساختار فایل‌های Makefile و هنچنین کتابخانه‌های دینامیک و استاتیک آشنا شوید و همه‌ی این مراحل را بدون استفاده از IDE با یک ویرایشگر ساده و خط فرمان اجرا کنید. پس از یادگیری این مفاهیم به سراغ SCM و همچنین VCS یا همان سیستم کنترل نسخه (Version Control System) بروید. پس از اینکه با تمامی این مفاهیم آشنا شدید می‌توانید به سراغ یک IDE مناسب بروید و طراحی نرم‌افزار را با آن تجربه کنید.

در ضمن برای مقایسه و بررسی لیستی از IDEهای مختلف می‌توانید از این پیوند استفاده کنید.

۲- برنامه نویسی C++ با مجموعه کامپایلر گنو

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

GCC از ابتدا مخفف Gnu C Compiler بود ولی از زمانی که توانست زبانهای دیگری غیر از C از قبیل C++,Ada,Java,Objective C و Fortran را کامپایل کند به Gnu Compiler Collection تغییر نام داد. پدید آورنده اصلی GCC ریچارد استالمن است کسی که بنیانگذار پروژه Gnu محسوب می شود. نخستین نسخه GCC در سال 1987 انتشار یافت که یک پیشرفت مهم محسوب می شد زیرا محصول جدید اولین کامپایلر بهینه سازی شده قابل حمل ANSI C به عنوان یک نرم افزار آزاد محسوب می شد. در سال 1992 نسخه 2.0 کامپایلر GCC عرضه شد. نسخه جدید قابلیت کامپایل کدهای ++C را نیز داشت. در سال 1997 یک انشعاب آزمایشی در GCC به نام EGCC به منظور بهینه سازی کامپیایلر و پشتیبانی کامل تر از ++C ایجاد شد. در ادامه EGCC به عنوان نسل بعدی کامپایلر GCC پذیرفته شد و تکامل آن باعث انتشار نسخه سوم GCC در سال 2004 گردید. چهارمین نسخه از کامپایلر GCC در سال 2005 عرضه شد.

۲.۱ -کامپایل برنامه‌های C و C++ در سیستم‌عامل Linux

در صورتی که از سیستم‌عامل لینوکس مبتنی بر توزیع Debian استفاده می‌کنید وارد خط فرمان سیستم عاملتان شوید.

برای اطمینان از نصب کامپایلر GNU C++ فرمان زیر را در خط فرمان وارد کنید:

$ g++ –version

g++ (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)

Copyright (C) 2007 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

پیغام بالا به منزله نصب بودن g++ بر روی سیستم‌عامل می‌باشد. در صورتی که g++ بر روی Linux شما نصب نمی‌باشد فرمان زیر را اجرا کنید:

$ sudo apt-get install g++ build-essential

حال توسط یک ویرایشگر متنی در Linux برنامه‌ی زیر را بنویسید. بهتر است برای نوشتن برنامه‌ها استفاده از ویرایشگر Vim را یاد بگیرید. برای اطلاعات بیشتر به این مقاله مراجعه کنید.

۱. کامپایل برنامه‌های C

#include <stdio.h>

int main(){

printf(«Hello World!\n»);

return 0;

}

برنامه‌ی بالا را با نام hello.c ذخیره کرده و با فرمان زیر کامپایل کنید:

$ gcc hello.c -o hello

اگر هیچ خطایی از فرمان بالا صادر نشد و هیچ پیغامی صادر نشد فرمان زیر را اجرا کنید تا برنامه ی hello اجرا شود:

$ ./hello

پیغام Hello World! در پایانه چاپ می‌شود.

۲. همگردانی برنامه‌های ++C

برنامه‌ی زیر نوشته و با نام hello.cpp ذخیره کنید:

#include <iostream>

int main(){

std::cout << «Hello World!» << std::endl;

return 0;

}

برنامه‌ی بالا را با فرمان زیر کامپایل کنید:

$ g++ hello.cpp -o hellocpp

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

$ ./hellocpp

توضیحات:

۱. کامپایلر زبان C، برنامه‌ی gcc می‌باشد.

2. کامپایلر زبان C++ برنامه‌ی g++ می‌باشد.

۳. واضح است که بیان hello.c در فرمان gcc یا g++ به معنای کامپایل hello.c می‌باشد. در صورتی که همراه با این پرونده نیاز به کامپایل پرونده‌های دیگری از جمله کلاس‌ها و توابع دیگر می‌باشید. نام آنها را به صورت پارامتر لیست کنید.

فرض کنید برنامه‌ی شما از فایل‌های main.cpp math.h math.cpp تشکلیل شده باشد برای کامپایل این برنامه باید از خط فرمان زیر استفاده کنید:

$ g++ main.cpp math.cpp -o main

۴. در فرمان‌ بالا کامپایلر ابتدا برنامه‌ی شما را به پرونده‌ی Object تبدیل می‌کند و سپس آن را توسط پیوند دهنده (Linker) به پرونده‌ی اجرایی تبدیل می‌کند. که در حقیقت کامپایلر مرحله‌ی میانی را به صورت خودکار برای شما انجام می‌دهد. برای تبدیل یک برنامه به پرونده‌ی Object فرمان زیر را اجرا کنید:

$ g++ -c main.cpp

۶- Wall: این option به معنی all warnings است و تمامی اخطار ها را به شما نشان می دهد. توجه کنیدکه اخطار با خطا فرق داره! مثلا اگر شما به جای استفاده از == از = استفاده کرده باشید یا متغیری از نوع لوکال رو مقدار دهی اولیه(initiaze)نکرده باشید یا موارد مشابه اون رو به شما گزارش می دهد. توصیه می شود که همیشه از این option استفاده کنید. چون واقعا سرعت شما را در debug کردن افزایش می دهد.

$ g++ -Wall main.cpp

۷- با فرمان زیر می‌توانید برنامتان را به کد Assembly تبدیل کنید.

$ g++ -S main.cpp

۲.۲- کامپایل برنامه‌های C و C++ در Microsoft Windows

مجموعه‌ی کامپایلر‌های gnu در ابتدا برای سیستم‌عامل GNU/Linux نوشته شد اما پس مدتی پروژه‌ی Cygwin شروع به port کردن کامپایلر gnu به سیستم‌عامل Windows نمود. هدف پروژه‌ی Cygwin از همان ابتدا پیاده‌سازی تمامی System Callهای Unix در Windows، بر اساس استاندارد Posix بود و تا به حال نرم‌افزارهای بسیاری در Linux با استفاده از Cygwin به نسخه‌ی Windowsی تبدیل شده اند. برای مثال نرم‌افزارهای OpenOffice.org و Mozilla Firefox و sshd و TeX و Apache و … با استفاده از Cygwin از نسخه‌ی linuxی به نسخه‌ی windowsی تبدیل شده اند.

MinGW از نسخه‌ی1.3.3 نرم‌افزار Cygwing جدا (fork) شد و به دلیل اینکه MinGW از Win32-API استفاده می‌کند، نمی‌تواند تمام استاندارد‌های Posix را پیاده‌سازی کند. وقتی MinGW را با MySYS ترکیب کنیم یک محیط بسیار راحت شبیه محیط های Unix برای کار با خط فرمان ایجاد می‌شود و به دلیل داشتن این ویژگی کار با MinGW راحتتر از Cygwign می‌باشد.

دو راه برای نصب MinGW وجود دارد.

۱. می‌توانید آن را از پایگاه رسمی‌اش دریافت کرده و نصب کنید.

۲. MinGW به همراه بسته‌ی نرم‌افزاری CodeBlock نصب می‌شود.CodeBlock یک IDE قدزتمند برای C++ می‌باشد و به دلیل آنکه در آینده به این IDE نیاز پیدا می‌کنیم بهتر است از روش دوم استفاده کنیم.

نسخه‌ی CodeBlcok به همراه MinGW را از اینجا دریافت و نصب کرده و سپس MySYS را از این پیوند دریافت و نصب کنید. پس از اینکه نصب MySYS تمام می‌شود یک پنجره‌ی cmd باز می‌شود چندین سوال می‌پرسد.

ابتدا از شما می‌پرسد که آیا به ادامه‌ی نصب نرم‌افزار راضی هستید؟ کلید y را فشار داده و سپس Enter را بزنید.

سوال بعد می‌پرسد که آیا شما MinGW را نصب کرده‌اید؟ کلید y را فشار داده و سپس Enter را بزنید.

محل نصب بسته‌ی نرم‌افزاری MinGW را می‌پرسد. جواب این سوال آدرسی است به صورت زیر:

C:\Program Files\CodeBlocks\MinGW

پس از طی مراحل بالا یک Shortcut روی Desktop شما به نام MYSYS ایجاد می‌شود. با اجرای MYSYS شما وارد یک محیط خط فرمان شبیه خط فرمان‌ Linux می‌شوید و می‌توانید همانند قسمت ۲.۱ همین راهنما برنامه‌های C و C++ خود را کامپایل و اجرا کنید.

حال پس از مدتی که با فرمان‌ها و هشدارهای کامپایلرهای GCC و g++ آشنا شدید می‌توانید یک IDE مناسب به سلیقتان نصب کرده و برنامه‌هایتان را در آن نوشته و کامپایل کنید. هم اکنون محیط توسعه مجتمع CodeBlock روس سیستم شما نصب می‌باشد. می‌توانید با اجرای این IDE و کار با آن از برنامه‌نویسی لذت ببرید.

در برای مقایسه‌ی IDEهای موجود در دنیای برنامه‌نویسی می‌توانید به این آدرس در ویکی‌پدیا مراجعه کنید.

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

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

Comments (17)

KDE Bug 4.2 Release Party

دیشب اصفهان‌لاگ مجلس شیرینی خوران بود. بسی لذت بردیم. روزبه جان بازم از این کارا بکن.

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

راستی گذشته از اینها واقعا با دیدن KDE 4.2 بسیار خوشحال شدم که تیم توسعه‌ی KDE اینقدر با سرعت به جلو پیش می‌روند.

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

برای یک بار دیگه هم که شده از به دلایلی از روزبه جان تشکر می‌شود. روزبه برای انتشار بعدی منتظریم :دی

پ.ن. جان من به تیتر این پست گیر ندید. چیز دیگه‌ای به ذهنم نرسید

Comments (11)

Older Posts »