شعری از کریمی – شاعر آذربایجان

9 10 2008

کریمی شاعر آذربایجانی است که در شهر مراغه به دنیا آمده است. او شعرهای بسیاری به زبان ترکی گفته است و استعداد خاصی در سرودن شعر های طنز دارد.

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

Sağlığımda məni yad et əxəvi,
Mən öləndən sonra cırma yəxəvi.
Sağlığımda məni dindir dilinən,
Gəlmə tarhimimə tac-o-gülünən.
Sağlığımda əlivi cək başıma,
Yaxma burnun zılığın baş daşıma.

Ta varam üzmə əlimdən əlivi,
Nə qara gey nə uzat səqqəlivi.
Qoy yanım mən sənə, səndə mənə yan,
Sən mənə can de, deyim mən sənə can.

Sallama qəbrimə şalvar bağıvı,
Dayama bövrümə sik daşşağıvı!
Dilim olsaydı bozardım tağıvı,
Əlim olsaydı kəsərdim ağıvı.

Sağlığımda qoluyun boynuma sal,
Gah gahi busunan göylümü al.
Heç gəlib qəbrimə yad etmə məni,
Başıma çalma qələt fatihəni!
Qalama şəm’ilə tonqal götümə.
Ölmüşəm yaxmamışam bal götümə.

Kaş gorkan qoya qəbrimdə dəlik,
Mənilə dəfn ola bir canlı cəlik.
O adamlar ki gəlir fatihəyə,
Sağlığımda mənə çıxmazdı diyə,
Uzadaydım kəfən altdan çəliyi,
Zor verəydim gənələrdi dəliyi!

Baba sağlıxda mənim gül üzümə,
Müştəri ol sözümə həm özümə.
Məni təşviq elə xəl’ətlər ela,
Göylümü şad elə də’vətlər elə.

El gərək qiyməte əş’arı bilə,
Niyə İranda gərək şair ölə?
Sənəte şe’ri çəkiblər fəsada,
Düşdü bazare fəsahət kəsada.

Bir qəzəl li gəlir eşqiylə başa,
Kim alır bir qəzəli bir lavaşa?

Sə’di, Hafez, Baba Tahir, Xəyyam,
Səhərin etdi nahar, naharsız axşam.
Geymədi əyninə qiymətli qəba,
Salmadı çiyninə bir tazə əba.

Şəhryarın adı dillərdə gəzir,
Təzə Heydər Baba əllərdə gəzir.
Bir kiçik evdə günün verdi başa,
Qaldı bir manqalı, bir hoqqa maşa.

Ey xuda ver bizə bir əql o şu’ur,
Şairi eyləmiəx zində be gur!

برگرفته از وبلاگ دوست خوبم علی





ویژگیهای جدید در CSS 3 بخش اول

5 10 2008

در این مقاله کوتاه می خوام که شما رو با تعدادی از ویژگی های استاندارد CSS 3 آشنا کنم.

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

در حال حاظر مرورگر FireFox 3.1 نسخه آزمایشی و Opera 9.5 و Safari نسخه آزمایشی بسیاری از موارد زیر را پشتیبانی می کنند. متاسفانه IE در زمینه خیلی ضعیف عمل کرده و آخرین نسخه آن یعنی IE 8 beta 2 پشتیبانی کاملی از موارد زیر ندارد.

تعدادی از ویژگی ها با صورت لیست وار

بخش اول

  • Selector ها – انتخاب کننده های عناصر
  • text-shadow – سایه در زیر متن
  • border-image – تصاویر برای حاشیه عناصر
  • border-radius – خمیده کردن حاشیه عناصر
  • box-shadow – سایه در زیر یک کادر
  • text-overflow – از محدوده خارج شدن متن
  • word-wrap – خط شکن در متون طولانی
  • resize – قابلیت تغییر اندازه کادر ها توسط کاربر
  • outline – خطوط پیرامون اشیا

بخش دوم

  • @page – انتخابگرهای صفحه
  • multiple backgrounds – چندین زمینه برای اشیا
  • background-origin و background-clip – تعیین محدوده و موقعیت به صورت پیشرفته برای پس زمینه ها
  • Opacity – تعیین شفافیت یا آلفای یک شیئ
  • رنگهای HSL و HSLA و RGBA
  • Multi-column – چند سطونی کردن متون
  • Web fonts – فونت های سفارشی برای سایت
  • Speech – برای تعیین نحوه خواندن متون توسط نرم افزار

توضیح پیرامون ویژگی های فوق

Selector ها
یکی از مهمترین بخش های CSS انتخابگر ها هستند که برای انتخاب عناصر در صفحه مورد استفاده قرار می گیرند. برای گسترش توانایی ها، چند ویژگی جدید در نسخه 3 به CSS اضافه شده که به صورت خلاصه توضیح میدم.
انتخاب کننده [att^=val]
در این حالت عناصری انتخاب خواهد شد که مقدار ویژگی att آن با val شروع شده باشد. برای مثال

a[title^=»ho»] {background: green;}

که مشخص می کند لینک هایی که مقادیر title انها با حرف ho شروع شده باشد رنگ سبز رو به عنوان پس زمینه بدهد.

انتخاب کننده [att$=val]
در این حالت عناصری انتخاب خواهد شد که مقدار ویژگی att آن با val پیان پذیرفته باشد. برای مثال

a[title$=»t»] {background: green;}

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

انتخاب کننده [att*=val]
در این حالت عناصری انتخاب خواهد شد که در ویژگی att آن مقدار val یافت شود. برای مثال

a[title*=»ont»] {background: green;}

که مشخص می کند لینک هایی که در مقدار title انها عبارت ont یافت شود، رنگ سبز رو به عنوان پس زمینه آنها قرار گیرد. در این حالت لینکی که در ویژگی title خود عبارت contact قرار داشته باشد در شرط مذبور صدق کرده و زمینه آن سبز خواهد شد.

تست این موارد بر روی FireFox 3.1 و Opera 9.5 به خوبی کار کردند ولی IE 8 بدترین نمره را کسب کرد. برای تست این که مرورگر شما کدامیک از انتخاب گر ها را پشتیبانی می کنه از لینک زیر استفاده کنید: http://www.css3.info/selectors-test

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

text-shadow
برای ایجاد سایه در زیر متون مورد استفاده است. یکی دیگر از ویژگیهای جالب که با ترکیب آنها می توان سایت های جذاب را خلق کرد.

تصویر زیر را مشاهده کنید که از ترکیب چندین سایه تشکیل شده است. کد این تصویر:

multiple-shadows

نتیجه اعمال چندین سایه با استفاده از text-shadow

text-shadow:0 0 4px white, 0 -5px 4px #FFFF33, 2px -10px 6px #FFDD33, -2px -15px 11px #FF8800, 2px -25px 18px #FF2200;

توضیحات کامل: http://www.w3.org/TR/2003/CR-css3-text-20030514/#text-shadows

ادامهٔ مطلب »





عید فطر مبارک

1 10 2008





کشتار شبانه

26 09 2008
کشتار شبانه

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

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

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

دست به کار شدیم و از پشت به ورودی پناهگاشون نزدیک شدیم. یه نگاهی از ته دل بهش کردم و گفتم حالا! و نفت ها رو ریخت رو ورودی و من آتیششون زدم. صدای داد و فریاد اون ها بلند شد. مثل اینکه زیاد نبودند. چند تایی که تو ورودی بودند در حالی که شعله های آتیش داشت ازشون بلند میشد به بیرون فرار کردند. دو تا از دشمن ها تونستند سالم از پناهگاه فرار کنند. اولی در حالی که داشت فرار می کرد با یه ضربه پای من از گردنش بیهوش شد و دومی رو هم برادرم غافل گیر کرده بود. همه جا رو دود گرفته بود. رفتیم و پناه گرفتیم که مبادا دشمن دیگه ای کمین کرده باشه. کسی نبود. از خوشحالی پیروزی بر دشمن نمی دونستم که چیکار کنم و چند تا تیر هوایی در کردم.

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

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

پایان!

پس و پیش نوشت ها:
*- نصفه شبی رفته بودم آب بخورم که متوجه رفت و آمد سوسک ها شدم.
*- اون شب برق ها رفته بود.
*- اسلحه من دمپایی بود.
*- تیر هوایی= دمپایی ها رو به هم زدم.

حالا که اصل قضیه براتون مشخص شد داستان را دوباره بخونید.





زیر میزی

7 09 2008

به نظر شما چه فرایندی زیر میز اتفاق میافته یا چه چیز و چیزهایی رد بدل میشه که پشت میزی ها اینتقدر به اون علاقه دارند؟؟

این سوال مدتیه ذهن منو به خودش مشغول کرده و خوشحال میشم من رو راهنمایی کنید.





Don’t Send فارسی از Visual Studio

5 09 2008

مدتی قبل که داشتم رو پروژم کار می کردم سیستم خیلی سنگین شده بود و مدت زیادی بود که داشتم با سیستم کار می کردم.

در حال بررسی یه خطای منطقی بودم که خیلی اذیتم کرد و معلوم نبود از کجاست. به خاطر همین مجبور بودم که مرتب به حالت debug سوئیچ کنم. نمی دونم چی شد که در بعضی موارد باعث ایجاد خطا تو visual studio شد و سرور وب داخلی اون یعنن WebDav به هم ریخت و پیغام خطا داد.

تا اینجا که همه چی به نظر عادی می رسید که دیدم پیغام خطا که همون don’t send معروف بود به فارسی نمایش داده شد.

تصویر زیر رو ببینید:

پیغام خطای فارسی WebDav

پیغام خطای فارسی WebDav

این هم تصویری از سایر اطلاعات خطا هست که البته اینها هم به فارسی هستند:

پیغام خطای فارسی WebDav

پیغام خطای فارسی WebDav

ماجرا به اینجا ختم نشد و مدتی بعد که خود visual studio هم دچار مشکل شد. خطای اون هم فارسی بود:

پیغام خطای فارسی VisualStudio 2005

پیغام خطای فارسی VisualStudio 2005

جالب قضیه اینجاست که چرا باید اینچنین پیغام اعصاب خورد کنی فارسی باشه!

این رو هم بدونین که پیغام خطای نمایش داده شده توسط برنامه DW20.exe نمایش داده میشه و زبان نمایش توسط این برنامه تایین میشه.

من علت این موارد رو نصب پکیج فارسی سازی مجموعه office می دونم. البته این پکیج رو فقط برای غلط گیر فارسی اون نصب کرده بودم، که البته می تونه همون برنامه DW20 رو هم تحت تاثیر قرار داده باشه. متاسفانه در اون زمان که این اشکالات پیش اومد وقت رسیدگی به موضوع رو نداشتم ببینم علت چیه و مسائله حل نشده باقی موند.

شاید ندونید ولی visual studio تمامی تنظیمات زبان خوش رو از ویندوز می گیره. یعنی اگر زبان ویندوز خودتون را در هنگام نصب یا از طریق control panel رو فارسی تنظیم شده باشه و اگر نسخه فارسی از visual studio نصب می بود مطمئنن به طور خودکار محیط برنامه رو فارسی نشون می داد.





طراحي پيشرفته FireFox

1 09 2008

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

اين مورد رو به طور اتفاقي وقتي که داشتم تو لیست موارد about:config نگاه مي کردم پيدا کردم و خيلي جالبه.

مرورگر Firefox خودتون رو باز کنيد و در آدرس بار مقدار زير رو وارد کنيد:

chrome://browser/content/browser.xul

در کمال تعجب خواهيد ديد که يک محيط فايرفاکس جديد در Tab نمايش داده خواهد شد.

توضيح اين مطلب:
آدرس chrome رو که به عنوان نام پروتوکل در آدرس بار وارد شد به فايرفاکس اعلام ميکنه اين يک فايل منبع داخلي براي فايرفاکس است و داده ها بايد از منابع داخلي خوانده شود.
در مورد مذکور فايل browser.xul در داخل فايل منبع browser.jar در در پوشه chrome همراه فايرفاکس قرار داره. اين فايل شامل تمام موارد مورد نياز براي طراحي ظاهر فايرفاکس مورد استفاده است.
با استفاده از برنامه WinAce مي تونيد فايل browser.jar را از حالت فشرده خارج کنيد و ويرايش مورد نظر را انجام داده و مجددا با WinAce عمل فشرده سازي با فرمت JAR رو انجام بديد.

اما توضيح فايل browser.xul:
اين يک فايل XUL است که مخفف XML User-Interface Language استاندارد طراحي ظاهر براي چندين سيستم عامل است که توسط Mozilla ايجاد شده است. و از ويژگي هاي پيشرفته اي که در FireFox و مرورگر Mozilla در اون استفاده شده است و باعث انعطاف پذيري باور نکردني و قابليت حمل فراوان اون شده است. راز اجرا شدن فایرفاکس در چندین سیستم عامل هم تو همین XUL هست. تنها چیزی که لازم خواهد بود مفسر برای اجرا در هر سیستم عامل هست. اطلاعات بيشتر در مورد XUL در اينجا: http://www.xulplanet.com

نتيجتا وقتي ما آدرس chrome://browser/content در مرورگر فايرفاکس وارد مي کنيم از نظر فاير فاکس اين يک روند عادي به شما ميره.
و نتيجه نهايي اينکه تمام فرمهاي FireFox نوعي Browser هستند با اين تفاوت که امکانات استاندارد مرورگر نمایش داده نمی شوند و حذف شده اند.

در تصوير بالا چندين محيط FireFox رو در تو در تو وارد کردم ميتونيد ببينيد. (به تعداد خطاهاي Javascript توجه کنيد که البته طبيعيه)

همه اينها مزيد بر علت شد تا پيش از پيش FireFox را به خاطر طراحي کم نظيرش دوست بدارم.
ساير نمونه هايي که ميتونيد امتحان کنيد:

Firefox: chrome://browser/content
Page info: chrome://browser/content/pageinfo/pageInfo.xul
preferences: chrome://browser/content/preferences/content.xul
Manage search engine: chrome://browser/content/search/engineManager.xul
Print page setup: chrome://global/content/printPageSetup.xul

و نکته اي که يادم رفت بگم و جالبتر هم هست اينکه تمامي عمليات با استفاده از JavaScript انجام ميشه:
مثلا عمل جستجو:

chrome://browser/content/search/engineManager.js





هر سن یک آفتابه

28 08 2008

این عکس مربوط به خونه یکی از اقوامه که رفته بودیم.
کـپ کردم!!

رعایت انصاف و عدالت حتی تو توالت!





به یاد زمستان

22 08 2008

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

حالا که طبق این پست مجبورم که اینور اونور بدوم و کلی کار انجام بدم، اون هم تو این گرما که هیج نایی برام باقی نمیذاره. طوری که وقتی میام خونه نمی تونم کار خاصی انجام بدم و مثل یه آدم های منگ تو اینترنت چرخ میزنم و بعد می خوابم؛ اون هم ساعت یازده و نیم. منی که تا ساعت یک و دو کار می کردم.

به هر حال این شد که به یاد زمستون افتادم. البته زمستون هم مشکلات خودش رو تو ایران(!) داره.

این عکس رو وقتی که می خواستم اول صبح به محل کارم برم گرفتم:

به یاد زمستان

به یاد زمستان





قطعی برق، گرما و کار

6 08 2008

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

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

خلاصه اینکه موندیم تو این گرما با قطعی برق و بیکاری!!!