چرا لینوکس رو دوست دارم؟ به خاطر convert و montage

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

مثلا من امروز ۷۸ تا عکس داشتم که می‌خواستم اونها رو در یک صفحه به ابعاد بزرگ کنار هم بچینم. اول باید ارتفاع هر ۷۸ تا عکس تبدیل می شد به ۹۰۰ پیکسل (مستقل از اینکه عرضشون چقدر می شه) پس تایپ کردم:‌

convert * -resize x900 resizedfiles/

و همه فایل ها تغییر اندازه پیدا کردند و رفتند توی دایرکتوری resized. حالا باید یک برنامه گرافیکی باز کنم و یکی یکی فایل‌ها رو توش لود کنم و با دقت بچینم کنار همدیگه؟ نه! این روش زیادی ویندوزی است (: بیاین بزنیم:

montage * -geometry +0+0 page1.png

به فارسی: مونتاژ کن. فاصله بین هر دو عکس رو بذار صفر و اسم نهایی رو بذار page1.png. ساده و سرراست.

نکته دوست داشتنی اینکه یکی از بهترین کتاب‌های انگلیسی مجموعه نرم‌افزارهای بازمتن ImageMagic رو آقای سهیل صالحی نوشته که یک ایرانی است (: به این می گن افتخاری که من رو خوشحال می کنه. کار واقعی و مفید و تقدیر شده در سطح جهانی. دستورات convert و montage از دستوران این ابزار فوق العاده دوست داشتنی هستند.

مرتبط

چرا لینوکس برام جالبه

چرا لینوکس برام جالبه ۲

چرا گنو/لینوکس برام جالبه ۳

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

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

مراحل قبلی رو در چرا گنو/لینوکس رو دوست دارم قسمت سوم نوشتم. حالا هم چیز زیادی اضافه نشده به جز اینکه عکس های اولیه کمی تغییر کرده اند و به دستور convert که شکل رو تغییر می ده بخش زیر اضافه شده:

- fill '#f7d599' -stroke '#f5c06d' -draw 'roundRectangle 4,96 '$scroll',105 2,2'

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

به نظرم خوبه این برنامه چند تا تغییر کوچیک بکنه و کاربرد پسندتر بشه تا بشه برای کارهای دیگه ازش استفاده کرد و برای هر چیزی یک شمارشگر تصویری درست کرد.

چرا گنو/لینوکس برام جالبه ۳

اولین مساله، نکته کاملا به جایی است که دوست خوبم رضا در مطلب قبلی که درباره لینوکس نوشته بودم بهش اشاره کرده بود (سهیل هم نکته دیگه ای رو تذکر داده بود در جواب):

لینوکس هسته سیستم عامل است و گنو (GNU) مجموعه ای ابزارهای دور و بر اون پس درست تر اینه که به جای لینوکس خالی بگیم گنو / لینوکس. منطقا هم هر جا من بگم لینوکس منظورم گنو لینوکس است مگه اینکه تاکید خاصی بکنم که منظورم هسته سیستم عامل (یا همون Kernel) است.

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

اگر نوشتن در وبلاگ باعث بشه دختری که بهش علاقه مند هستین تصویر نادرستی از شما در ذهنش بسازه، و حرف های شما رو بسیار نا مطلوب تفسیر کنه، چکار میکنید؟

من تصمیم گرفتم از امروز 1 آذر که این اتفاق افتاد تا 40 روز ننویسم.

تا چهل روز دیگه‌! چجوری منتظر بمونیم و بگیم نوشتن سینا برامون مهمه ؟ با یک لوگو. لینوکس بهمون کمک می کنه: دستور convert می تونه یک تصویر رو تغییر بده یا چیزی بهش اضافه کنه. پس من اول یک تصویر به این شکل درست می کنم:

درست ؟ حالا کافیه با یک اسکریپت کوچیک bash فاصله این لحظه تا چهل روز بعد از تاریخ پست سینا رو حساب کنم. اسکریپت رو به خاطر شلوغ نشدن اینجا نمی یارم ولی ساده. بعد به لینوکس دستور زیر رو می دم:

convert -draw ’text 40,10 “’$hours’”’ sina.jpg sinawillwrite.jpg

به همین سادگی. حالا تصویری رو دارم که فاصله این لحظه تا لحظه نوشتن سینا رو به ساعت روی خودش داره. لازمه این کار هر یکساعت یکبار انجام بشه. یک cron می نویسیم تا لینوکس بدونه که می خوام هر یکساعت یکبار این دستور رو اجرا کنه. می نویسم:

1 * * * * root /directory/sina.bash

و حالا هر یکساعت یکبار اون تصویر به روز خواهد شد. کافیه هر کس خواست اون رو به سایتش اضافه کنه:


http://jadi.hacked.in/sinawillwrite.jpg

می بینید ؟ لینوکس (منظورم گنو/لینوکس است) یک ابزار قوی است برای اجرای ایده ها و خوشحال کردن دوستان. برای این است که من دوستش دارم و عضو تهران لاگ هستم.

چرا لینوکس برام جالبه ۲

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

در لینوکس من از OpenOffice که یک نرم افزار آزاد و رایگان است به جای Office مایکروسافت استفاده می کنم. اول فایل اطلاعاتم که به این شکل است

texte - 416 bits

رو کپی و پیست می کنم در نرم افزار SpreadSheet که برابر excel است. بعد به سادگی بهش می گم نمودارم رو بکشه. در قدم بعدی کلید PrintScreen رو می زنم و لینوکس ازم می پرسه از صفحه با چه اسمی عکس بگیره. یک اسم بهش می دم و صفحه با اون اسم در یک فایل ذخیره می شه. بعد gimp رو باز می کنم که مشابه photoshop است ولی آزاد و رایگان و بخشی از مطلب رو که می خوام بذارم توی سایتم رو می برم. حالا کافیه وبلاگم رو باز کنم و به اسپیپ بگم فایل متنی بالا و فایل تصویری رو به مقاله اضافه کنه و در با یک دبل‌کلیک در محل مناسب نشون بده (: بامزه است نه ؟



فقط برای کامل شدن بحث

ساعت پنج است و داونلود تمام شده. این هم نمودار نهایی


چرا لینوکس برام جالبه

دوستی می خواست یک سایت کامل رو دریافت کنه و به دلایلی دچار مشکل شده بود. من گفتم براش دریافت می کنم. توی لینوکس به سادگی می نویسم:

wget www.foo.com -k -c -r -p

که یک قدم به یک قدم به لینوکس می گه سایت فلان رو دریافت کن، لینک هاش رو به شکلی تغییر بده که به شکل محلی هم درست دیده بشه، کار رو ادامه بده، همه لینک ها رو دریافت کن و هر فایل (عکس، تصویر، pdf و …) هم که لازم بود رو بگیر و بریز روی هارد.

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

du /home/jadi/download -s

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

crontab -e

و لینوکس بهم اجازه می ده بنویسم که چه کاری رو می خواهم انجام بدم و در چه زمان هایی. من هر ده دقیقه یکبار می خوام دستور قبلی رو اجرا کنم و نتیجه اش رو بریزم توی فایل results تا وقتی برگشتم نتیجه رو بدم به یک برنامه که ازش نمودار گرافیکی بکشه. پس می نویسم:

*/10 * * * * du /home/jadi/download -s >> /home/jadi/download/result

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

چیزی که من دوست دارم

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

نکته لینوکس محیط گرافیکی و مشابه های word و office و firefox و photoshop و … همه چیزهای دیگر را هم دارد (:

پی نوشت. مایوم کو ؟!