بایگانی برچسب: s

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

بحث از جای جالبی شروع شد. من گفتم رنگ های ایرانی بامزه هستن چون موارد خیلی کمی داریم که توش یک اسم خاص برای یک رنگ استفاده شده باشه. مثلا «زرد» یک اسم خاص است که به یک رنگ اشاره می‌کنه ولی «آبی» یعنی چیزی که به رنگ آب است. برای بررسی این نسبت، سری به صفحه رنگ های ویکیپدیا زدم و بعد از حذف رنگ‌های تفسیری (خودم اسم می ذارم دیگه!) یعنی مثلا «سبز لجنی» یا «آبی درباری» و حذف پسوندهایی مثل «تیره» و «سیر» و … و موارد مشابه به این هشتاد و یک رنگ رسیدم:

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

هوم.. برنامه یا دست؟ برنامه.. هر چی باشه ما هکریم! بذارین آخر هر چیزی که «ی» هست رو بشمریم و نگاهی بندازیم که اشتباه نشده باشه:

jadi@funlife:/tmp$ grep ".*ی$" colors.txt  | wc -l 
71

jadi@funlife:/tmp$ grep ".*ی$" colors.txt  | xargs echo | sed 's/ /، /g'
آبی، آجری، آلبالویی، اُخرایی، ارغوانی، استخوانی، بادمجونی، برگ سنجدی، برنجی، برنزی، پرکلاغی، پوست پیازی، پوست گرگی، تاج خروسی، تریاکی، جگری، حنایی، خاکستری، خاکی، خردلی، خرمایی، دارچینی، دودی، دوغی، دلفینی، روناسی، زرشکی، زعفرانی، زغالی، زیتونی، سدری، سربی، سرخابی، سرمهای، مشکی، شرابی، شفقی، شکلاتی، شنگرفی، شیرشکری، شیری، صورتی، طلایی، طوسی، عنابی، فندقی، فولادی، فیروزه ای، فیلی، قهوه ای، کله غازی، گردویی، گلبهی، گیلاسی، لاجوردی، لجنی، لیمویی، ماشی، مرجانی، مسی، مغزپسته ای، نارنجی، نخودی، نقره ای، نوک مدادی، نیلی، هلویی، یاسی، یاقوتی، یخی، یشمی


jadi@funlife:/tmp$ grep -v ".*ی$" colors.txt  | wc -l 
10

jadi@funlife:/tmp$ grep -v ".*ی$" colors.txt  | xargs echo | sed 's/ /، /g'
آل، بژ، بنفش، زرد، سبز، سرخ، سفید، سیاه، قرمز، کرم
jadi@funlife:/tmp$ 

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

‌ آل، بژ، بنفش، زرد، سبز، سرخ، سفید، سیاه، قرمز، کرم

در اینجا «آل» یک جور قرمز است و بقیه هم که مشخصن. پس از بین ۸۱ رنگی که داشتیم،‌ ده رنگ اسم خاص خودشون رو دارن و ۷۱ رنگ به چیزهای مختلف برای توضیح رنگ ها اشاره می کنن.

colors

و نکات جالب؟

  • رنگ های باحالی داریم مثل دوغی، یخی، دودی و البته تریاکی!
  • سفید یخچالی جزو رنگ ها است که البته اینجا نشمردیم چون بخشی از «سفید» است ولی جالبه که قبل از ورود یخچال به اون رنگ چی می گفتن
  • من همیشه به شوخی از آدم ها می پرسیدم کدوم رنگ است که فقط به چشم اشاره می کنه و نه چیز دیگه! جواب «میشی» است.. ظاهرا دلیلش اینه که کلا «میشی» اسم رنگ نیست و اشتباه مصطلح است. رنگ درست «ماشی» است (:
  • نوک مدادی هم بامزه است (در کنار قرمز ماتیکی یا کالباسی مثلا!) چون منطقا این چیزها خودوشن نیازمند تفسیر شدن رنگ هستن. یعنی خود مداد رو باید بگیم چه رنگیه بعد بگیم اون رنگ رنگ مداده (:

راستی! معلومه که فرض اولیه این مطلب وقتی منطقی می شه که با بقیه زبون‌ها هم مقایسه کنیم ولی خب در همین حد برای من فان بوده (:

برنامه‌نویس‌ها در نقاشی‌های نقاشان کلاسیک

تامبلر نقاشی‌های کلاسیک از برنامه‌نویسان ایده جالبی داره که مطمئنا می تونه برای اکثر مخاطب‌های من بامزه باشه: تفسیر مرتبط با دنیای امروز برنامه نویسان نقاشی های کلاسیک. مثلا اینها:

ruby

«کارگران برنامه نویس در حال نگهداری اپلیکیشن مبتنی بر روبی آن ریلز»
– ارو یارنفلت. رنگ روغن روی بوم. ۱۸۹۳

return

«مدیر بخش مهندسی از جلسه بودجه باز می‌گردد»
– ایلیا رپین. رنگ روغن روی بوم. ۱۸۸۸

emacs

«ایمکس علیه ویم»
– گویا. ۱۸۲۰ تا ۱۸۲۳

javautil

«java.util.Date»
– سالوادور دالی. رنگ روغن روی بوم. ۱۹۳۱

root

«مدیر سیستم به یکی از توسعه دهندگان وب بر روی سرور پروداکشن دسترسی سودو می‌دهد»
– آندرآ دل وروچیو و لئوناردو داوینچی. رنگ روغن روی بوم. ۱۴۲۵ تا ۱۴۷۵

scala
«بازنمایی تصویری زبان برنامه نویسی اسکالا»
– هیرونیموس بش. رنگ روغن روی چوب بلوط. ۱۴۹۰ تا ۱۵۱۰
(پنل سمت چپ نمایشگر قابلیت‌های فانکشنال زبان، پنل اصلی سیستم تایپ و پنل سمت راست اجزای شئی گرای زبان را نشان می‌دهند)

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

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

return

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

همینه که خوندن رمان و دلسپردن به هنر ارزشمند خونده می شه: آشنا شدن با لایه ای عمیق از روابط انسانی.

یادتون نره که از نقاشی ها و شوخی های تامبلر برنامه نویس ها در نقاشی های کلاسیک لذت ببرین (:

درس‌هایی از استیج! وقتی امین میگه «حالا ببین اگر من تو ایران بودم…»

amin

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

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

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

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

از اونطرف فرض کنین انتخابات در ایران «آزاد» بود. احتمالا رای های سیستم حاکم بدون داشتن تبلیغات انحصاری و بودجه حکومتی و … از ۲۰ به حدود ۱۰ یا ۱۵ درصد می رسید ولی مطمئنا رای های «اصلاح طلب‌ها» خیلی خیلی کمتر می شد. معلومه که اگر یک سیستم قبلا مشخص نمی کرد مردم به کی اجازه دارن رای بدن و به کی اجازه ندارن رای بدن، در کنار افرادی مثل حسن خمینی (در نقش نوه امام) و خاتمی (که هشت سال رییس جمهور بود) و غیره آدم های بسیار معتبرتری هم وارد بازی می شدن و احزاب بالاخره واقعیت پیدا می کردن و حرف هایی رو میزدن که مردم واقعا بهشون علاقمند هستن و گوشه‌هاییش رو در افق های محو اصلاح طلبی می بینن. این آزادی انتخابات احتمالا اصولا اصلاح طلب های فعلی رو از میدون خارج می کرد و بخش عظیمی از ۵۰٪ رای خاموش و ۲۵٪ رای به اصلاحات تقسیم می شد بین احزاب پیشرو در سطوح مختلف.

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

استیج درس های زیادی داره؛ حتی اگر اول هر بحثی در موردش بگیم «من که نمی بینم ولی…»

مرتبط:
درس هایی از استیج: وقتی سندی می گه پانیدا غربیه ولی ما ایرانی ها ریتم شرقی دوست داریم

معرفی دو فیلم در خلاف جهت زمان که احتمالا یکیش رو دیدین

نوروز است و روزها و ساعت هایی که خیلی ها خیره می شن به ساعت تا ببینن زمان چطوری پیش می ره و دقیقا کی به لحظه تحویل سال می رسه. اما زمان همیشه هم رو به جلو نمی‌ره، فیلم‌هایی زیادی داریم که توشون زمان یکهو به جایی دیگه – مثلا وسط سرخپوست ها یا سال ۲۰۵۰ – پرتاب می شه و بعدش طبیعی به پیش می تازه و فیلم‌های کمتری هم داریم که توشون زمان عقب عقب حرکت می کنه. من این هفته دو تا از این فیلم‌های معکوس رو دیدم.

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

یکی از فیلم‌ها بسیار مشهور بود و یکی از فیلم‌ها – تا جایی که من می دونم مهجور – و تقریبا مثل همه داستان های دراماتیک، اونی که مهجورتر بود، دیدنی تر بود اما بسیار سنگین تر.

Memento

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

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

Irreversible (غیرقابل برگشت/تغییر)

irreversible

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

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


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

اگر حوالی کرمان هستین از کنسرت محسن شریفیان لذت ببرین و اگر دورین، آلبوم دینگو مارو پیشنهاد می شه

sharifian

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

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

نکاتی چند:
– هی دست دست کردم این رو بنویسم یا نه چون معرفی و تبلیغ وبلاگ زیاد شده ولی البوم دینگو مارو اینقدر باحال بود که حیفم اومد این معرفی رو از دست بدم.
لینک آلبوم دینگو مارو در بیپ تونز
سایت گروه موسیقی لیان که بسیار قشنگه و پیشنهاد می شه سری بهش بزنین

چرا گنو/لینوکس رو دوست دارم: اضافه کردن اسم فایل به تبلچرهای گیتار

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

من تعداد زیادی فایل تبلچر (شیوه اجرای آهنگ) گیتار دارم که اسم خواننده بالاشون نوشته نشده. در نتیجه من نمی تونم سریع توی ذهنم بیارم که آهنگ چه شکلی است. مثلا وقتی بالای آهنگ نوشته شده «عسل» کمک بسیار بزرگی است اگر Ebi رو هم بالاش ببینم. این Ebi اسم فایل است پس من یکسری فایل عکس دارم که می خوام اسم فایل رو روی عکس فایل اضافه کنم

بله! لینوکس که ترکیبی از ابزارهای قدرتمند است، راه حلی عالی داره. اما یک برنامه نویس خوب همیشه اول مسائل رو در ساده ترین حالت حل می کنه و بعد مساله رو پیچیده می کنه. فرض کنیم اصولا فقط یک عکس داریم که می خوایم روش بنویسیم My Happy Text. اسم فایل هم هست Bijan Mortazavi 006. اگر بتونیم این مساله رو حل کنیم، یک قدم جلو افتادیم. در اصل من دارم مساله رو به سه بخش تقسیم می کنم:

1- اضافه کردن یک متن دلخواه به یک عکس
2- در آوردن اسم یک فایل
3- ترکیب کردن دو قدم قبلی برای هر چند تا فایل که داشتیم

قدم اول: نوشتن روی فایل

ساده است. بسته Image Magick ابزاری داره به اسم convert که می تونه تقریبا هر کاری با یک تصویر بکنه! مثلا این تصویر:

Ebi 005

با دستور

$ convert Ebi\ 005.JPG -pointsize 43 -background Khaki label:'My Happy Text' +swap -gravity Center -append out.jpg

تبدیل می شه به:

out

جذاب نیست؟ بخصوص که روی تصویر چیزی ننوشتیم بلکه بالاش کمی تصویر اضافه کردیم! حالا می ریم سراغ قدم دوم.

قدم دوم: درآوردن فهرست فایلها

من احتیاج دارم اسم فایل ها رو بگیرم. اولش که ساده است؛ به لینوکس می گم همه فایل هایی که تهشون JPG هست رو بهم بده:

$ find . -name "*JPG" 
./Bijan Mortazavi 005.JPG
./Ebi 015.JPG
./Ebi 018.JPG
./Ebi 016.JPG
./Darush 007.JPG

بعد کافیه بگم اون /. اول رو حذف کنه:

a$ find . -name "*JPG" | sed "s/\.\///"
Bijan Mortazavi 005.JPG
Ebi 015.JPG
Ebi 018.JPG
Ebi 016.JPG
Darush 007.JPG

و چیز دیگه که بهش احتیاج نداریم اون JPG. آخر است:

$ find . -name "*JPG" | sed "s/\.\///" | sed "s/\.JPG//"
Bijan Mortazavi 005
Ebi 015
Ebi 018
Ebi 016
Darush 007

و قدم دوم هم تموم می شه!

قدم سوم: چسبوندن قدم های قبلی

اینجا گزینه ها خیلی زیادن. بریم جلو ببینیم چی می شه. مثلا من می تونم با دستور xargs ورودی قدم دوم رو استفاده کنم. اصل صفرم برنامه نویسی جادی رو یادتونه دیگه؟ «برنامه پیچیده ای که کار می کنه، برنامه ساده ای بوده که کار می کرده» پس بذارین در ساده ترین حالت، هر کدوم از خطوط ورودی رو بدیم به یک دستور اکو:

$ find . -name "*JPG" | sed "s/\.\///" | sed "s/\.JPG//" \
    | xargs -L1 -I THIS echo my command will work on \"THIS\" happily 
my command will work on Bijan Mortazavi 005 happily
my command will work on Ebi 015 happily
my command will work on Ebi 018 happily
my command will work on Ebi 016 happily
my command will work on Darush 007 happily

عالی! ما قهرمانیم. الان ورودی قدم دوم رو خط به خط دادیم به دستور اکو. (سوییچ I می گه این خط ورودی باید کجای دستور قرار بگیره). بذارین یک ضرب سعی کنیم اصل برنامه رو اجرا کنیم و خروجی رو بریزیم توی دایرکتوری out و البته قبلش طبق همون اصل اول برنامه نویسی جادی، با گذاشتن یک echo جلوی دستوری که ساختیم یک تست هم می گیریم:

$ find . -name "*JPG" | sed "s/\.\///" | sed "s/\.JPG//" | xargs -L1 -I THIS echo convert \"THIS.JPG\" -pointsize 43 -background Khaki label:\'THIS\' +swap -gravity Center -append \"out/THIS.jpg\"
convert "Bijan Mortazavi 005.JPG" -pointsize 43 -background Khaki label:'Bijan Mortazavi 005' +swap -gravity Center -append "out/Bijan Mortazavi 005.jpg"
convert "Ebi 015.JPG" -pointsize 43 -background Khaki label:'Ebi 015' +swap -gravity Center -append "out/Ebi 015.jpg"
convert "Ebi 018.JPG" -pointsize 43 -background Khaki label:'Ebi 018' +swap -gravity Center -append "out/Ebi 018.jpg"
convert "Ebi 016.JPG" -pointsize 43 -background Khaki label:'Ebi 016' +swap -gravity Center -append "out/Ebi 016.jpg"
convert "Darush 007.JPG" -pointsize 43 -background Khaki label:'Darush 007' +swap -gravity Center -append "out/Darush 007.jpg"

بله ظاهرا که همه چیز عالیه. بزن بریم! اکو رو حذف می کنم ولی با اینکه دستورهای بالا درست هستن، به دلیلی که نمی دونم چیه دستورات درست اجرا نمی شن. پس کارم رو راحت می کنم:

$ find . -name "*JPG" | sed "s/\.\///" | sed "s/\.JPG//" | xargs -L1 -I THIS echo convert \"THIS.JPG\" -pointsize 43 -background Khaki label:\'THIS\' +swap -gravity Center -append \"out/THIS.jpg\" > commands.sh
$ sh commands.sh 
$ ls out/
Bijan Mortazavi 001.jpg  Bijan Mortazavi 005.jpg  Darush 003.jpg  Darush 007.jpg  Darush 011.jpg   Delkash 003.jpg  Ebi 004.jpg  Ebi 008.jpg  Ebi 012.jpg  Ebi 016.jpg
Bijan Mortazavi 002.jpg  Bijan Mortazavi 006.jpg  Darush 004.jpg  Darush 008.jpg  Darush 012.jpg   Ebi 001.jpg      Ebi 005.jpg  Ebi 009.jpg  Ebi 013.jpg  Ebi 017.jpg
Bijan Mortazavi 003.jpg  Darush 001.jpg           Darush 005.jpg  Darush 009.jpg  Delkash 001.jpg  Ebi 002.jpg      Ebi 006.jpg  Ebi 010.jpg  Ebi 014.jpg  Ebi 018.jpg
Bijan Mortazavi 004.jpg  Darush 002.jpg           Darush 006.jpg  Darush 010.jpg  Delkash 002.jpg  Ebi 003.jpg      Ebi 007.jpg  Ebi 011.jpg  Ebi 015.jpg  Ebi 019.jpg

بله. دستوراتی که درست کرده بودم رو می ریزم توی یک فایل و بعد فایل رو اجرا می کنم و می بینیم که دایرکتوری out پر شده از فایل هایی که لازم بود این بلا سرشون بیاد. مثلا:

www.guitarestan.com

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