۱۳۸۷ خرداد ۱۹, یکشنبه

Bash Scripting 1

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

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

مثال: برنامه‌ی اجرایی a.out را می‌خواهیم به ازای پارامترهای مختلف اجرا کنیم. این برنامه سه آرگومان می‌پذیرد:
$./a.out 0.8 100 0.0
آرگومان اول باید عددی مثل pp باشد که مقادیر آن ۰.۸ ٬ ۰.۷۵ ٬ ... تا ۰.۵ هستند. آرگومان دوم باید یک عدد صحیح مثبت مثل A باشد و باید به ازای صد ورودی متفاوت اجرا شود. آرگومان سوم هم باید صفر باشد.

حال برنامه‌ی ساده‌ی زیر به راحتی این تعداد اجرای مورد نیاز ما را انجام می‌دهد.
for i in $(seq 1 100); do
for pp in 0.8 0.75 0.7 0.65 0.6 0.55 0.5; do
./TPexe ${pp} ${i} 0.0
done
done

کافی‌است که این چند خط را در یک فایل متنی با پسوندِ sh ٬ مثلا test.sh ذخیره کنید. سپس باید این فایل متنی را به یک فایل اجرایی تبدیل کنید:
$chmod u=xrw test.sh
سپس برنامه را شبیه به یک فایل اجرایی اجرا کنید:
$./test.sh

با این روش شما می‌توانید کارهای بسیار متنوعی را به راحتی انجام دهید. یک سایتِ نمونه که ممکن است به درد بخورد:
http://people.cs.uchicago.edu/~bomb154/154/maclabs/bash-script-lab.html

واژه‌نامه
-----------------
Bash scripting, extension, argument, executable, open source

۱۳۸۷ خرداد ۸, چهارشنبه

نصب کردن فارسي-تک٬Farsi Tex

بالاخره فارسی-تک رو روی کامپیوتر ردهت اینترپرایس نصب کردم. یعنی مراحلی که توی این سایت نوشته بود رو دنبال کردم و نصب شد.

http://www.farsitex.org/index.php?page=linux.inc

البته با خطِ فرمان باید فایلِ فارسی تک رو کامپایل و اجرا کنم٬ هنوز کامل نیست! ولی کلا خوبه.

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

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

Dag Wieers

RPM packages for Red Hat, RHEL, CentOS and Fedora

http://dag.wieers.com/rpm/
http://dag.wieers.com/rpm/packages/rpmforge-release/

------------------
واژه‌نامه

FarsiTex, Command line, Redhat Enterprise, Update, Suse,

GNU Octave و MATLAB: تفاوت در چیست؟

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

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

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

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

http://www.gnu.org/software/octave/

------------
Octave, Matlab, Command line, FFT, Gnuplot

۱۳۸۷ اردیبهشت ۶, جمعه

دستورات متني لینوکس

یه لینکِ جمع و جور که دستورات متنی لینوکس رو یکجا گردآوری کرده٬ همراه با توضیحات مختصر. ممکنه به درد بخوره!.

Linux Commands - A practical reference

http://www.pixelbeat.org/cmdline.html

۱۳۸۶ اسفند ۲۳, پنجشنبه

سايت تبيان و آموزش نرم افزار Matlab

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

برای دسترسی به این اطلاعات باید به سایت تبیان به آدرس::

http://tebyan.net/

و در شاخه‌ی دانلود

http://tebyan.net/download/

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

واژه‌نامه:
Matlab, Photoshop, Flash, Download

۱۳۸۶ اسفند ۱۰, جمعه

معرفی لینوکس، نسخه ی CentOS

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

مشخصات:
Community ENTerprise Operating System
CentOS
http://www.centos.org/

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

جماعت سنتوس، اقدام به ابتکاری جالب زدند. آنها نسخه ای شبیه به لینوکس اینترپرایس ارائه کردند که شامل همهِ مزایای لینوکس ردهت اینترپرایس بود، فقط لوگوی آن متفاوت بود! آنها همان کدهای اصلی را برمیداشتند و باز نویسی میکردند، و در نهایت باید لوگوی آنرا نیز عوض می کردند، به خواطر اینکه ردهت به آنها اجازهُ استفاده از آنرا نمیداد.

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

لازم به ذکر ست که تعدادی از کمپانیها اقدام به پشتیبانی مالی این نسخه کرده اند.

واژه نامه:
Linux, Enterprise, Red Hat, Fedora, Linux Cluster, Parallel Computing

۱۳۸۶ اسفند ۶, دوشنبه

مرورگر ie در لینوکس

حامد سید علایی این نرم افزار و معرفی کرد که چیز ِ خیلی خوبیه:
همانطور که می دانید مرورگر اینترنت ویندوز (ie)در لینوکس نیست٬ و از اونجایی که بعضی از جاها
(مثلا دانشگاه ما که صفحه‌ی ورود مشخصات افراد٬ ثبت نام دانشجویان و غیره رو اصلا بر طبق مرورگر ویندوز طراحی کرده‌اند) مردم با مشکلاتی دست به گریبان هستند. برای انجام یک دسته از کارها٬ مجبور به خروج از لینوکس می شوند چون مثلا با فایرفوکس و اینها٬ این کارها قابل انجام نیست.

راه حل استفاده از نرمافزار زیر است.

مشخصات:
IEs4Linux:
نرم افزاریه که بدون مشکل می توانید مرورگر اینترنت ویندوز رو در لینوکس داشته باشید. فقط من هنوز با نوع فونتی که به کار می‌بره مشکل دارم. اصول کارش بر اساس نرمافزار واین است که می تونه فایلهای اجرایی ویندوز رو در لینوکس اجرا کنه. ضمناٌ برای اکثر نسخه های لینوکی دستور نصب رو در سایتش نوشته.

منابع:
http://www.tatanka.com.br/ies4linux/page/Main_Page

http://www.tatanka.com.br/ies4linux/page/Installation

واژه‌نامه:
Internet Explorer (ie), Mozilla FireFox,

مدرسه ی Hight Performance Computing

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

نقطه‌ی شروعی که فکر میکنم همه را بر آن داشت که این نوع کارها را دنبال کنند.

خیلی چیزها یاد گرفتم٬ که سعی میکنم به مرور در وبلاگ وارد کنم٬ شاید مورد استفاده قرار بگیرد.

۱۳۸۶ آذر ۱۹, دوشنبه

Red Hat Enterprise MRG و محاسبات موازی و محاسبات روی گرید

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

نسخه‌ی بتای این سیستم عامل٬ اکنون قابلِ دانلود است.

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

Red Hat Enterprise MRG supports the full spectrum of distributed tasks, including:

* High-speed, reliable, or large file messaging
* Parallel & cycle-stealing scheduling
* High Performance Computing (HPC) and High Throughput Computing (HTC)
* Distributed workload management

Red Hat Enterprise MRG can run across multiple platforms but also takes deep advantage of Red Hat Enterprise Linux capabilities like clustering, IO, and virtualization for optimal performance and qualities of service.

مرجع:
http://www.redhat.com/mrg/?intcmp=70160000000HEmC
http://www.redhat.com/mrg/grid/

۱۳۸۶ آذر ۱۲, دوشنبه

آمار تصادفات رانندگی در ایران - تحلیل دُرُشکه‌ای

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

مکانیزم یادگیری رانندگی توی ایران بیشتر از نسلِ قبل (مثلِ بابا و عمه و دایی و غیره) بوده است. نتیجه اینه که آدمها بدون توجه به لاین بغل٬ و اینکه ماشین می‌آید یا نمی‌آید می‌پیچند٬ ولی همین آدمها وقتی پیاده راه می‌روند و مثلاً می‌خواهند تغییر مسیر بدهند٬ احتمالا به بغل خودشون یه نگاهی می‌اندازند (شاید هم نه!).

بد نیست یه نگاهی به همین آدمها یا معلمهایِ رانندگیِ اونها در حدوداً سی یا چهل سال قبل بیندازیم. این آقا (یا خانم) سوار یکی از وسایل نقلیه مانند الاغ٬ اسب٬ قاطر٬ و یا درشکه و کالسکه بوده٬ و توی یک جاده‌ی خاکی می‌رفته. احتمالا کسی تویِ لاین بغل نمیرفته که تصادف نمی‌شده! (یا اصلاً لاین بغلی نبوده). ولی اگر این بنده‌ی خدا ناگهان‌ تصمیم می‌گرفته که تغییرِِ مسیر بده٬ افسارِ قاطر یا اسب خودشو می‌کشیده! (البته به صورت ناگهانی٬ مثل امروز که ناگهان فرمون رو می‌چرخونند). ولی اگر توی اون لاین دیگه٬ در همون لحظه کسی یا وسیله‌ای می‌اومده٬ و یا اینکه کسی بوده٬ این قاطر و یا اسبِ بی‌زبون اون رو می‌دیده و از دستور سوارِش و یا درشکه‌ران اطاعت نمی‌کرده. نتیجه این بوده که سوارش احتمالاً چند ضربه شلاق نثار جان حیوان زبان بسته می‌کرده و تعجب می‌کرده که چرا حیوان ازش اطاعت نمی‌کنه*. حیوانِ زبان بسته هم به خاطر تصادف نکردن شلاق می‌خورده و چیزی نمی‌گفته.

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

------------------------
* بعضی از حیوانات را یا استفاده از محدود کننده‌ی دید٬ زاویه‌ی دیدشون رو کم می‌کنند٬ که یکی از نتایج اون اینه که حیوان فقط می‌تونه جلوی خودش رو ببینه! لذا فرمانبُرداری اون بیشتر میشه!