WaSP: در نبرد برای استانداردها

این متن ترجمه بخش Mission از سایت Web Standards Project است.

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

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

بسیار سر راست و معقول به نظر می‌رسد، پس مشکل کجاست؟ چرا یک پروژه استانداردهای وب وجود دارد؟

مشکل

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

فقدان پشتیبانی یکسان برای استانداردهای کلیدی W3C مصرف‌کنندگان را ناامید رها کرد: وقتی‌که از مرورگر «نادرست» استفاده می‌کردند، بسیاری نمی‌توانستند محتوا را مشاهده کنند یا تراکنش‌های مورد نظرشان را انجام دهند. در میان آنها بیشترین آسیب‌دیدگانِ مکرر افراد ناتوان یا با نیازهای خاص بودند.

سرگردانی‌ها و هزینه‌ها

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

بازار از هم گسیخته مرورگرها حداقل ۲۵٪ به هزینه توسعه همه سایت‌ها افزود. بخاطر نبود بودجه، بسیاری از توسعه‌دهندگان سایت‌هایی ارایه دادند که مانع مشتری‌های بالقوه می‌شدند. بسیاری از توسعه‌دهندگانی که استانداردها را می‌شناختند هیچ امتیازی در توسعه سایت‌هایی برای مرورگرهایی که آنها را پشتیبانی نمی‌کرند ندیدند. دیگران استانداردها را اندک می‌شناختند یا اصلا نمی‌شناختند—و بسیاری هنوز نمی‌شناسند، شامل آنهایی در بنگاه‌های چند میلیون دلاری که به نظر میرسد ASP، جاوا، Flash MX و .Net را فهمیده‌اند، هنوز تقریبا هیچ چیزی از نشانه‌گذاری ساختاری و معنایی، شیوه نامه‌ها و اهمیت جداسازی ساختار از نمایش نمی‌فهمند.

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

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

چگونه با Bash شاد کام باشیم (2)

یا علایم خاص در Bash

در قسمت قبل به بحث completion در Bash پرداختیم. این بار بحث شیرین Special Characters را خواهیم داشت. کاراکترهای خاص برای ایجاد قابلیتها و کاربردهای خاصی طراحی شدند که در امور روزمره کار با shell و همچنین در داشتن shell scriptهای بهینه‌تر به ما کمک میکنند.

Pipe (|)
این کاراکتر (که با Shift+\ قابل دسترسیه) همونطور که از اسمش پیداست کار ارتباطی انجام میده، به این شکل که با استفاده از pipe میشه خروجی (stdout) یک دستور رو به دستور بعدش فرستاد. کاربرد این موضوع زمانی هست که بخواید داده‌ای رو با استفاده از چند دستور یا برنامه پردازش کنید و خروجی فیلتر شده یا متفاوتی داشته باشید.
مثال ساده: برای دیدن یک پروسه خاص از لیست پروسه‌ها:

ps aux | grep apache2

دستور ps با پارامترهای داده شده فهرستی از پروسه‌های فعال در سیستم به ما میده. این فهرست معمولا طولانی هست. دستور grep هم عبارت داده شده رو داخل خطوط یک فایل یا ورودی پیدا میکنه و کل خط رو برمیگدونه. حالا نتیجه ترکیب این دو دستور با pipe اینه که خطوط حاوی عبارت apache2 از بین لیست طولانی پروسه‌ها جدا میشه و نمایش داده میشه. Pipe میتونه به تعداد نامحدودی در یک دستور خطی استفاده بشه:

cd /home; du --max-depth=1 ./ | sort -nr | head | awk '{ print $2 }' | cut -d/ -f2

که این دستور لیست 10 شاخه‌ای که بیشترین فضا رو در شاخه home اشغال کردند نمایش میده.

ًRedirections (>,<,>>)
این کاراکترها برای تغییر مسیر ورودی (stdin) و خروجی (stdout) و یا حتی خطاها (stderr) کاربرد دارند. برای مثال میتونید از یک فایل حاوی داده به عنوان ورودی استفاده کنید و بعد از پردازش لازم نتیجه رو در فایل دیگه‌ای ذخیره کنید یا به انتهاش اضافه (append) کنید.
کاراکتر > برای استفاده از محتویات یک فایل (معمولا متنی) به عنوان ورودی (stdin) استفاده میشه. کاراکتر < برای ذخیره خروجی (stdout) یک دستور در یک فایل و کاراکتر << برای append کردن خروجی به انتهای فایل استفاده میشه.
برای مثال از فایلی به نام ‘results’ حاوی لیست نمرات و اسامی دانش‌آموزان سطرهایی حاوی عبارت ali را جدا کرده و در فایل list ذخیره میکنیم:

sort -nr < results | grep -in ali > list

از این کاراکترها برای تغییر مسیر stdout به stderr و بالعکس هم میشه استفاده کرد، مثلا برای دستوراتی که به طور خودکار (مثلا cron) اجرا میشند گاهی این کار انجام میشه:

some_command 2>&1 >> /var/log/command_output

Tilde (~)
این کاراکتر همواره به شاخه خانگی (home directory) کاربر فعلی (که شما دارید باهاش کار میکنید یا دستور به نام اون اجرا میشه) اشاره میکنه. در مسیر دادن به کار میاد:

cd ~/projects → cd /home/ali/projects

ادامه‌ی خواندن

خلاصه‌نویسی CSS

ممکنه تا به حال کدهای CSS زیادی دیده باشید که خیلی کوتاه و مفید نوشته شدند و شاید گاهی هم ازشون سر در نیاورده باشید. اکثر طراحان بعد از پشت سر گذاشتن مراحل اولیه یادگیری کدنویسی و بعد از تسلط نسبی، سعی میکنند به کارشون سرعت بیشتری بدهند و کدهای کوتاه‌تر و تمیزتری بنویسند. به این علت خلاصه نویسی دستورات اهمیت پیدا میکنه. استفاده از کدهای خلاصه، کد شما رو ساده‌تر، کوتاه‌تر و تمیزتر میکنه. [از نظر من] نگهداری این نوع کد ساده‌تر هست و اگر مسلط باشید حتی خوندنش هم سریعتر خواهد بود!

Margin/Padding
margin و padding برای هر عنصر از چهار جهت قابل تعریف هستند و صورت پیش فرض مقادیر به این شکل هست:

margin-top: 1px;
margin-right: 3px;
margin-bottom: 6px;
margin-left: 8px;

همین مقادیر رو میشه به این شکل نوشت:

margin: 1px 3px 6px 8px;

که در واقع ترتیب به صورت ساعتگرد از بالا هست. تمام صورتهای کوتاه‌نویسی margin و padding به این شکل هست:

margin: top right bottom left;
margin: top right/left bottom;
margin: top/bottom right/left;

مورد دوم حالتی هست که سه مقدار برای margin نوشته شده. که اولی برای بالا، دومی برای چپ و راست و سومی برای پایین هست و مورد سوم هم حالتی هست که دو مقدار نوشته میشه و اولی برای بالا و پایین و دومی برای راست و چپ هست. در نهایت هم اگر تنها یک مقدار نوشته بشه به هر چهار جهت اعمال میشه.

Background
background مقادیر و حالات زیادی میتونه داشته باشه. به طور مثال:

background-color: #f00;
background-image: url(background.png);
background-repeat: no-repeat;
background-attachment: fixed;
background-position: 0 0;

که صورت کوتاه شده‌ به شکل زیر هست:

background: color image repeat attachment position;

که حالت خلاصه مثال بالا به این شکل میشه:

background: #f00 url(background.png) no-repeat fixed 0 0;

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

border: 1px solid #000;

مقدار اول قطر (width) حاشیه، مقدار دوم نوع حاشیه (مثل dashed یا double) و مقدار سوم رنگ حاشیه  رو مشخص میکنه.
اگر لازم باشه borderهای متفاوتی برای جهت‌های مختلف یک کادر داشته باشید میتونید از border-top، border-bottom، border-right یا border-left استفاده کنید. که باز هم طرز نوشتن مقادیرش به شکل بالا هست: قطر نوع رنگ. ادامه‌ی خواندن

نشانی‌هایی بدون www

آیا تا به حال به این اندیشیده‌اید که این سه دبلیو در ابتدای نشانی سایتتان چقدر مضر است؟
دلایلی هست که بنده و خیلی‌های دیگر نشانی‌هایی بدون www را ترجیح میدهیم. اول اینکه به خاطر سپردن و رجوع مجدد به نشانی با 4 حرف کمتر ساده‌تر است! خیلی‌ها شاید ندانند که احتمالا سایت شما بدون www اول هم درست کار میکند. خیلی‌ها هم شاید به طور حسی – غریزی – همینجوری نشانی‌ها را همانطور که هست به خاطر میسپارند! در نتیجه حذف www از نشانی، آنرا کوتاه‌تر کرده و از اشغال چند بیت اضافه از حافظه مردم جلوگیری میکند! غیر از این حتما تا به حال بارها تلاش بی‌وقفه و دلیرانه و بعضا مفتضحانه مجریان صدا و سیما را برای خواندن نشانی‌های www دار شنیده‌اید. واقعا ملال آور نیست که هربار عبارت “دبلیو دبلیو دبلیو نقطه” را اول هر نشانی بشنویم؟ تازه به فرض اینکه زبان گوینده در بین دبلیوها گره نخورد! علاوه بر اینها، فعال بودن همزمان دو نشانی سایت شما، با www و بدون www برای ranking شما در موتورهای جستجو هم نسبتا مضر است. چون برخی لینکها با www و برخی بدون آن ثبت میشود و در نهایت در اغلب موتورهای جستجو به عنوان دو نشانی جدا ثبت شده و rank جداگانه‌ای خواهند داشت. در واقع rank شما بین نشانی‌های با www و بدون www تقسیم میشود.

اصلا این wها از کجا آمده‌اند؟
در عهد عتیق اینترنت، www مهم بود و از قسمتهای اساسی یک نشانی به شمار میرفت. چون شما را به سرور درست هدایت میکرد. در واقع در گذشته نیاکان ما از www در ابتدای نشانی برای اشاره به web server استفاده میکردند. همانطور که از ftp برای اشاره به سرور ftp و از mail برای سرور mail. شاید در اوایل عهد اینترنت، IP یک چیز فله‌ای به شمار میرفته و به وفور در دسترس بوده است. در نتیجه هر کدام از این سرورها به طور جداگانه IP مخصوصی داشتند و این پیشوند در ابتدای نشانی‌ها در سرور DNS به IP هر یک از این سرورها تفسیر میشد. در واقع نیاکان ما IP based کار میکردند و ما الان معمولا به دلیل ذیق منابع، Name based کار میکنیم.
در عهد حاضر، همانطور که شرحش رفت اغلب همه سرویس‌هایمان روی یک IP و سرور است و از این مهمتر، الان در اغلب سرورها به طور پیش‌فرض، domain به web server هدایت میشود. (حتی معمولا پیشوندهای ftp و mail نیز کشک بوده و مستقیما در dns zone مربوطه به IP مشترک اشاره میکنند. یعنی همانجایی که www اشاره میکند!). پس اغلب به لحاظ فنی نشانی‌های با www و بی www هردو یک کار را میکنند و به یکجا اشاره میکنند و مساوی هستند، مگر اینکه خودتان نخواسته باشید و تغییری در تنظیمات مربوطه داده باشید.

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

چگونه؟
شما به روشهای مختلفی میتوانید بازدیدکنندگان را redirect کنید. روش بهتر و معمول، استفاده از امکانات web server برای redirect است که سرعت بیشتر و مصرف منابع کمتری نسبت به روشهای دیگر دارد. برای کاربران Apache کافیست یکی از کدهای زیر را در فایلی با نام .htaccess در شاخه اصلی سایتشان قرار دهند:

برای تغییر مسیر نشانی با www به نشانی بدون www:

RewriteEngine on
# no-www
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

و برای تغییر مسیر از نشانی بدون www به نشانی با www:

RewriteEngine on
# yes-www
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

بدیهی است که باید دامنه خود را به جای example.com بنویسید!
پ.ن: آقای فرهادی در قسمت نظرات کد بهینه‌تر و کامل‌تری معرفی کردند که در این نشانی توضیح داده شده.

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

در این روزهای برفی، برای همه آرزوی سلامت و موفقیت دارم!

IE8 و استانداردهای وب

این روزها خبر (تقریبا) مسرت بخشی برای طراحان و توسعه دهندگان وب منتشر شده. خبر اجرای موفقیت آمیز آزمون Acid2 در IE8! اما آیا واقعا برای همه مسرت بخشه؟

سازگاری کامل با استانداردها و Backward Compatibility
اول اینکه ادعای تیم توسعه IE مبنی بر اجرای درست آزمون، به این معنی نیست که همه مشکلات IE برطرف شده باشه. همونطور که خودشون اشاره کردند، آزمون Acid2 همه جوانب استانداردهای وب رو پوشش نداده و اجرای صحیحش نمیتونه تضمینی برای انطباق کامل با استانداردها باشه.
IE مشکلات ریز و درشت بسیاری در موتور Rendering خودش داره که اصلاح برخی از این مشکلات به معنی از دست دادن Backward Compatibility هست که توسعه‌دهندگانش با امیدواری خبرش رو میدند.
مشکل IE فقط عدم پشتیبانی از استانداردها نیست. که این موارد به خودی خود مشکل آفرین نیستند. چون با اضافه شدن امکاناتی جدید به مرورگر، سایتهایی که قبلا بدون در نظر گرفتن این امکان طراحی شدند تغییری نخواهند کرد. مشکل، درست جایی شکل میگیره که IE طرز تفسیر و نمایش غلط و متضاد با استانداردها داره. این موارد (که کم هم نیستند) برای رفع شدن، Backward Compatibility را زیر سوال میبرند. چون سایتی که سابق بر این به اشتباه و غیر استاندارد، تنها متکی بر نمایش صحیح در IE از شکل خاصی از کدنویسی استفاده کرده، در نسخه جدید با تغییر رویه تفسیر و نمایش اون کد (استاندارد شدن تفسیر) به شکل دیگه‌ای نمایش داده میشه و باعث میشه به هم بریزه.
برای مثال، در IE نسخه 6 و قدیمی‌تر، قابلیت hover فقط برای عنصر لینک (a) تعریف شده بود. در حالی که در CSS2 برای هر عنصری میشه hover (و سایر pseudo selectorها) را تعریف کرد.
این قابلیت در IE7 اضافه شد. سایتهایی که قبل از انتشار IE7 طراحی شدند یا از hover برای عناصر غیر از لینک استفاده نکردند. یا در صورت استفاده جزئی و تزئینی بوده. همین سایتها با IE7 -که این قابلیت تازه اضافه شده را داره- اغلب مشکلی نخواهند داشت و شاید کمی بهتر هم به نظر برسند. اما همه موارد به این شکل نیست. خیلی از مشکلات IE نظیر box model، تفسیرهای نادرست float و موارد متعدد دیگری هستند که به سادگی و با حفظ سازگاری با نسخه‌های قبلی قابل اصلاح نیستند.
ممکنه بازهم توسعه دهندگان IE دست به شیرین‌کاری‌هایی مثل hasLayout یا Conditional Comments بزنند. اما به هر حال سایتهای غیر استاندارد قدیمی، (همونطور که با تغییرات اندک IE7 دیده شد) اغلب بدون تغییر، درست نمایش داده نمیشوند.

روند توسعه روبه‌جلو یا بازی تبلیغاتی؟
اما از جنبه دیگه‌ای هم میشه به این موضوع نگاه کرد. مایکروسافت طی سالهای اخیر به خاطر انحصار نسبی در بازار مرورگرها (سهم حدودا 90 درصدی) نیاز چندانی به رقابت و نوآوری در مرورگر قدیمی و کهنه و خارج از رده خودش (IE6) نمیدید. با ظهور فایرفاکس و فشارهای بیشتر شرکتهایی مثل Opera، مایکروسافت IE7 را به عنوان یک مُسکن موضعی منتشر کرد. چیزی که تقریبا میشه بهش مجموعه patchهای IE6 گفت! اما طی چند ماه اخیر اتفاقات دیگه‌ای افتاده که باعث شده مایکروسافت مجددا خودش را وارد جنگ مرورگرها بکنه و به هر ترفندی جایی بین رقبا باز کنه.
در نیمه نوامبر 2007 شرکت Apple نسخه جدید موتور Rendering مرورگر Safary، یعنی Webkit را معرفی کرد. با امکانات جدید و پیشرفت‌های زیادی در زمینه کیفیت و امنیت و انطباق با استانداردهای وب. در همین روزها اولین نسخه بتا از نسخه جدید مرورگر Firefox بنیاد Mozilla منتشر میشه. که همراه خودش امکانت جدید و بهبود چشمگیری در بازده و کیفیت داشته و همچنین موتور Renderingش را ارتقا داده. بعد از اینها به شکایت شرکت Opera از مایکروسافت میرسیم که درست چند روز قبل از اعلام خبر IE8 و Acid2 طرح شده.
شرکت Opera شکایتی در اتحادیه اروپا علیه مایکروسافت طرح کرده که به دو موضوع اصلی اشاره میکنه. یکی همان دعوای قدیمی برای جدا کردن IE از ویندوز یا حذف IE به عنوان مرورگر پیش‌فرض سیستم عامل مایکروسافت. و دیگری اعتراض به استاندارد نبودن مرورگر IE. هر چند که Opera مورد دوم (استانداردهای وب) را بهانه و دست آویزی برای پافشاری بر ادعای اول خودش قرار داده. ولی به هر حال عامل تحریک کننده مایکروسافت هست.
عده‌ای انتشار این خبر از جانب مدیر تیم توسعه IE را واکنشی مستقیم به شکایت Opera میدونند. که باعث میشه مایکروسافت در این دعوا در جایگاه بهتری قرار بگیره. ولی منهم مثل Joe Wilcox، عقیده دارم این اقدام مایکروسافت پاسخی به همه عوامل ریز و درشت جنگ مرورگرها بوده. در واقع ممکنه این ادعای تیم توسعه IE در حد یک بازی تبلیغاتی باشه یا حداقل در خوشبینانه ترین حالت منجر به تغییرات نه چندان اصولی مثل IE7 بشه. من قصدم این نیست که کل این موضوع را زیر سوال ببرم، بلکه فکر میکنم این ادعا (یا واکنش) کمی اغراق شده و آرمانیه، تا اجرا شده و دست یافتنی!

از IE8 هنوز هیچ جزئیاتی منتشر نشده و انتشار اولین نسخه بتای IE8 در نیمه اول سال 2008 وعده داده شده، چیزی که با توجه به سابقه مایکروسافت ممکنه به اواخر 2008 هم برسه. به همین خاطر هنوز نمیشه اطمینان داشت ادعای پشتیبانی از استانداردهای وب (یا حتی ادعای اجرای موفقیت آمیز Acid2) به واقعیت نزدیک باشه.
به هر حال آرزوی تمام طراحان وتوسعه دهندگان وب اینه که استانداردهای وب به طور گسترده در مرورگرها و ابزارهای طراحی پشتیبانی بشه تا مدت زمانی که همواره صرف رفع ایراد طراحی در مرورگرهای مختلف میشه، صرف پرداختن به خلاقیتها و نوآوری‌های طراح بشه.
من هم به امید اون روز، چشم به جنگ مرورگرها دارم. شاید روند کاهش کاربران IE یا شکایتها، قلقلکی به مایکروسافت بده. :)

بازی گیکی؟!

تا به حال توی جو و جریان وبلاگ بازی نبودم و از این کارها نکردم. اما حداقل به عنوان بهانه‌ای برای نوشتن و خلاص کردن شما از باغم! بد ندیدم زورکی هم که شده به بازی geekها بپیوندم :)

کلمه geek به فردی میگند که خوره یک چیز باشه! یعنی اول علاقه داشته بعد خوره شده! البته نه از نوع علاقه‌ای که مثلا خیلی‌ها به یانگوم دارندها! نه! بیشتر علاقه به فناوری و امور تکنولوژیک منظور بوده! ;) البته لازم به تذکر نیست که من geek نیستم ولی geekهارو یکمی دوست دارم!

  • همیشه آرزوم بوده روزی برسه که لازم نباشه یک پنجم زمان طراحی پروژه‌ها رو برای رفع ایراد مرورگرهای مختلف (خصوصا ie) به هدر بدم! یا خیلی از ایده‌ها و خلاقیتهای طراحیم به گِل بشینه وقتی نتونم به راحتی با همه مرورگرها نمایشش بدم! واقعا آروزی دور از دسترسیه؟ واقعا خواسته زیادیه رعایت و اجرای استانداردهای وب در مرورگرها؟ (در همین راستا مطلبی در دست تهیه دارم!)
  • چقدر آرزو دارم سطح اطلاعات و دانش مردم و (خصوصا) مسئولین از IT و مسائل مرتبط ارتقا پیدا کنه و لازم نباشه برای مسئول مربوطه توضیح داد 128 کیلوبیت خیلی نیست! یا اینترنت فقط سایت غیر اخلاقی و بی ناموسی نیست یا دیگران بفهمند کامپیوتر وسیله جدید بازی مثل آتاری و میکرو نیست و ایضا نیاز به توضیح نباشه کسب درآمد از اینترنت همون شبکه‌های هرمی نیست یا … میدونم که حداقل این آروزی بزرگیه!
  • آرزو دارم درک و شناخت مردم از open source بیشتر بشه. هم از این نظر که استفاده از برنامه‌های بازمتن به جای برنامه‌های پولی کرک شده رایج بشه و هم اینکه روحیه و اخلاق open sourceی کمی در جو نرم‌افزار و IT ما بیشتر بشه.
  • آرزو دارم روزی همه با لینوکس کار کنند و سیستم عامل مایکروسافت رو کلا به لای باقالی‌ها بفرستیم! در نتیجه دیگه هر از گاهی یکی از دوستان و آشنایان رو با یک کیس زیر بقل نبینم که با چهره آشفته و فرتوتی به سمتم میاد و میخواد ویندوزش رو عوض کنم! (مطمئنا منظورم از لینوکس همون لینوکس ملی و اینها نیست ها! همین اوبونتوی خودمون یا شایدم پارسیکس!)

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

من به دعوت دوست عزیز آقای منیری به این بازی کشیده شدم! اما به دلایلی ترجیح میدم در ادامه کسی رو دعوت نکنم. شاید نمیدونم چه کسی رو چطور انتخاب کنم یا …

باغ من

autumnآسمانش را گرفته تنگ در آغوش
ابر، با آن پوستینِ سردِ نمناکش.
باغ بی برگی،
روز و شب تنهاست،
با سکوت پاک غمناکش.
سازِ او باران، سرودش باد.
جامه‌اش شولای عریانی‌ست.
ور جز اینش جامه‌ای باید،
بافته بس شعله‌ی زر تارِ پودش باد.
گو بروید، یا نروید، هر چه در هر کجا که خواهد، یا نمی‌خواهد؛
باغبان و رهگذاری نیست.
باغ نومیدان،
چشم در راه بهاری نیست.
گر ز چشمش پرتوِ گرمی نمی‌تابد،
ور به رویش برگِ لبخندی نمی‌روید؛
باغ بی‌برگی که می گوید که زیبا نیست؟
داستان از میوه‌هایِ سر به گردونسایِ اینک خفته در تابوتِ
[پستِ خاک می‌گوید.
باغ بی‌برگی
خنده‌اش خونیست اشک‌آمیز.
جاودان بر اسبِ یال افشانِ زردش، می‌چمد در آن
پادشاه فصلها، پاییز.

م‌.امّید – تهران، خرداد‌ ماه ۱۳۳۵