Friday, August 22, 2008

فونت

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

اول: فونت های پیش فرض معمولا خیلی بد قیافه هستند، مخصوصا وقتی برای زبان فارسی به کار می رود. برای همین توصیه می کنم همین جوری یک نرم افزار را باز نکنید و شروع کنید به تایپ کردن. توی خیلی از نرم افزارها فونت پیش فرض Times New Roman هست که وقتی فارسی بنویسید خیلی زشت به نظر می رسد.

دوم: فونت های Arial و Times New Roman فونت های رسمی لاتین به حساب می آیند. به نظر من Arial خیلی قشنگ تر از Times New Roman هست. سعی کنید توی متون ساده انگلیسی از Arial استفاده کنید.

سوم: متون رسمی فارسی غالبا با فونت لوتوس یا نازنین نوشته می شوند. اگر در وسط متن فارسی شما کلمات لاتین استفاده شده، از Arial برای آن کلمات استفاده کنید. این نکته را هم فراموش نکنید که اندازه فونت لاتین در این موارد معمولا 3 یا 4 شماره کوچکتر هست. مثلا اگر فارسی را با اندازه 14 نوشته اید باید لاتین را با شماره 10 یا 11 بنویسید (این را سر کلاس شیوه ارائه دکتر ملکیان یاد گرفتم).

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

پنجم: توی وب Tahoma استفاده کنید. فکر نکنید که یک صفحه وب که با فونت لوتوس می نویسید همه جا همین طور به نظر می رسد. ولی Tahoma تقریبا روی همه کامپیوتر های پیدا می شود. مضافا این که Tahoma فارسی و انگلیسی اش نسبتا قشنگ هست.

ششم: "زشت ترین موجود دنیا تاهومای بولد هست!"، این جمله آقا مصطفی هیچ وقت از یادم نمی رود (این آقا مصطفی را اگر نمی شناسید، من توصیه می کنم بروید بشناسید). این را هم به یاد داشته باشید که Tahoma کوچکش قشنگ هست. وقتی اندازه اش از 10-11 بزرگتر بشود خیلی خوب به نظر نمی رسد.

هفتم: فونت های دیگری هم توی دنیا وجود دارد. فکر نکنید که همه فونت های دنیا همان هایی هستند که با ویندوز نصب می شود. مثلا توی فارسی فونت های تیتر، کامران، کودک و یکان فونت های قشنگی هستند (این ها را از کاوه یاد گرفتم که معمولا متن هایش را با فونت های عجیب و قریب و جدید تایپ می کند). توی انگلیسی هم فونت های قشنگ خیلی زیاد هست.

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

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

لینک های مرتبط

پارس فونت

فارسی وب

فونت فارسی آزاد

دانلود فونت نستعلیق

دافونت

Sunday, August 17, 2008

پلت فرم های توسعه وب

تا به حال چندین نفر از من در مورد تکنولوژی های توسعه وب (Web Development Technologies) سوال کرده اند. بیشتر هم توقع داشته اند که به آن ها بگویم مثلا J2EE بهتر از PHP هست، بروید آن را یاد بگیرید. می دانید که تکنولوژی های زیادی برای این کار وجود دارد. اسم PHP، J2EE یا همان JavaEE و .NET را همه شنیده اند. به هر حال بخث خیلی مفصل هست. اینجا و اینجا را ببینید.

راستش را بخواهید دو سه سالی هست که به طور جدی روی توسعه برنامه های وبی کاری انجام نداده ام. ولی به عنوان کسی که سه چهار سالی با J2EE کار می کرده و با PHP، .NET و برخی تکنولوژی های دیگر آشنایی مختصری دارد، گفتم شاید چیزی بنویسم که به درد کسی بخورد. ولی به هر حال مطالب این پست را به قول خارجی ها as is در نظر بگیرید.

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

این را هم بگویم که بحث خیلی مفصل هست. در مورد هر کدام از تکنولوژی ها و راه کار آن ها برای حل مسئله می شود به اندازه چند کتاب صحبت کرد. ولی نه من آن قدر بلد هستم و نه اینجا جای نوشتن کتاب هست. فاکتور های خیلی زیادی در تصمیم گیری برای انتخاب تکنولوژی دخالت دارند. اینکه زمان یادگیری آن چقدر هست. اینکه هزینه و زمان توسعه آن چقدر هست و بعدا چقدر هزینه برای نگه داری صرف می شود. اینها همه بستگی به نوع پروژه دارد. مثلا توی یک پروژه ای که زیاد با پایگاه داده کار می کند ممکن است تکنولوژی A بهتر از B باشد. به علاوه خیلی وقت ها عوامل غیر فنی شما را مجبور می کند تصمیم خود را تغییر دهید. مثلا مشتری دلش می خواهد شما پروژه را با .NET انجام بدهید که کلاس بالاتری داشته باشد! شما هم هیچ طوری نمی توانید به او بفهمانید که در مورد این مسئله شما باید تصمیم بگیرید. ولی عموما این طور نیست که این پروژه را با این تکنولوژی انجام دهید و آن یکی را با آن. منطقی است که توی هر شرکت یا تیم، پروژه ها را با تکنولوژی ای که بر آن تسلط دارند توسعه بدهند.

توی دنیای دات نت معمولا کار اینطور شروع می شود. شما یک کتاب ASP.NET می خرید و یک سی دی ویژوال استدیو دو هزار و چند از رفیقتان قرض می گیرید یا یکی از این چیچی اکسپرس ها را از سایت مایکروسافت دانلود می کنید. بعد از اینکه سی دی را نصب کردید از صفحه اول کتاب شروع می کنید و توی فصل اول کتاب هم نوشته که چطور بروید توی منوی فایل و یک پروژه جدید بسازید. در ادامه کتاب هم نوشته چطور از کجا کدام چیز را روی صفحه drag کنید و بعد از جدول Properties کدام ویژگی را تغییر بدهید و اف چند را با کدام انگشتتان بزنید که پروژه اجرا شود. این خیلی خوب هست؛ از این جهت که شما بعد از خواندن یک کتاب چیزهای خوبی یاد می گیرید و می توانید پروژه های نسبتا خوبی را انجام دهید.

دنیای PHP شاید در شروع کار از این هم ساده تر باشد. اگر شما از HTML، JavaScript و CSS سر در بیاورید و قبلا با یک زبان برنامه نویسی هم کار کرده باشید، خیلی ساده و در عرض چند روز می توانید کار کردن با PHP را شروع کنید و در زمان کوتاهی تا حد قابل قبولی بر آن مسلط شوید. البته بلد بودن HTML، JavaScript و CSS که مهارت های پایه ای توی وب به حساب می آید، یادگیری هر تکنولوژی وبی را آسان تر می کند ولی نیاز به دانستن آن ها وقتی PHP کار می کنید بیشتر حس می شود.

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

این را هم بگویم که دنیای PHP و دات نت خیلی با هم تفاوت دارد. تفاوت اول یک جورهایی سیاسی یا فرهنگی است. دات نت یک تکنولوژی در انحصار (proprietary) مایکروسافت هست ولی پی اچ پی تفکرات و فرهنگ اپن سورس را با خودش دارد. استفاده از دات نت یعنی این که شما باید از ویژوال استدیو و ویندوز استفاده کنید (من تا به حال شرکتی را ندیده ام که از mono تحت سیتم عاملی غیر از ویندوز به جای اس دی کی مایکروسافت استفاده کند، دوستان دات نتی نظر بدهند). پی اچ پی یک جور هایی با My SQL و Apache و تا حد زیادی با Linux گره خورده. این مسئله موقعی اهمیت پیدا می کند که می بینیم این فرهنگ توی پروژه ها و کتابخانه های موجود برای این پلت فرم ها هم نفوذ کرده. تعداد پروژه های اپن سورسی که با PHP انجام شده خیلی بیشتر از پروژه های اپن سورسی است که با دات نت انجام شده و تقریبا برای هر کاری که تصور بکنید یک کتابخانه اپن سورس که با PHP نوشته شده باشد پیدا می کنید.

تفاوت دوم یک تفاوت فنی هست. پی اچ پی زبانی هست اسکریپتی که اصولا برای کار وب طراحی شده. در حالی که توی پلت فرم دات نت معمولا از C# و یا VB.NET که زبان هایی همه منظوره و کامپایلری (Compiled) هستند، برای نوشتن کدها استفاده می شود. من شخصا اینجا PHP را بیشتر می پسندم و فکر می کنم برای کار وب یک زبان اسکریپتی خیلی بهتر از یک زبان کامپایلری و Statically Typed مثل سی شارپ یا جاوا هست. در این رابطه اگر فرصت شد بعدا بیشتر توضیح می دهم.

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

Friday, August 01, 2008

آدم ها موجودات جالبی هستند. بعضی هایشان عجیب. بعضی هایشان فوق العاده. اصلا نمی توانم تصور کنم رندی پاوشی(Randy Pausch) که محرم سه چهار ماه پیش به من معرفی کرد، حالا مرده باشد. فیلم Last Lecture او توی دانشگاه Carnegie Malone خیلی مرا تحت تاثیر قرار داد. آدمی که می داند چند ماه دیگر در این دنیا نیست، اینقدر امیدوار و خوشحال است. محرم توی وبلاگش صحبت حکیمانه ای کرده: "به هر حال باقیمانده زندگی همه ما محدود است چه چند روز باشد چه چندین دهه! مهم نحوه استفاده مطلوب از این فرصت محدود است.". توصیه می کنم فیلم Last Lecture رندی پاوش را حتما ببینید. می تواند تاثیر خوبی توی زندگی شما داشته باشد.

Sunday, May 18, 2008

فوتبال

دوست دارم با یک نگاه اجتماعی این پست را بخوانید، نه ورزشی!

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

Tuesday, April 29, 2008

نمای 320 درجه از آزمایشگاه پردازش موازی، جایی که هفته ای 50 ساعت از عمرم در آن می گذرد. با گوشی جدیدم عکس گرفتم :)