Friday, August 29, 2008

اضافات فایرفاکس

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

Application: Firefox 3.0.1 (2008070208)

Total number of items: 29

  • /Find Bar/ 1.0.1
    Firefox 2.0b1 - 3.1a2pre
    A souped up findbar with regular expression capabilities
  • Adblock Plus 0.7.5.5
    Firefox 1.5 - 3.1a2pre
    Ads were yesterday!
  • Aging Tabs 0.7.1
    Firefox 3.0 - 3.1a2pre
    Makes unused tabs fade with age and highlights the selected tab.
  • BugMeNot 2.0
    Firefox 2.0 - 3.0.*
    Bypass compulsory web registration with the context menu via www.bugmenot.com.
  • CacheViewer 0.4.7.1
    Firefox 2.0 - 3.0.*
    Allows searching and sorting cache files
  • Clipmarks 3.5.0
    Firefox 1.5 - 3.0.*
    Clip and save just the stuff you want from any web page.
  • Copy Link Text 1.3
    Firefox 1.5 - 3.0.*
    Right-click a link to copy its text
  • CustomizeGoogle 0.75
    Firefox 1.0 - 3.1a2pre
    Enhance Google search results and remove ads and spam.
  • DownThemAll! 1.0.3
    Firefox 2.0.0.8 - 3.0.*
    The mass downloader for Firefox.
  • ErrorZilla Mod 0.34
    Firefox 2.0 - 3.0.*
    Implements a useful error page when a website cannot be reached.
  • Extended Statusbar 1.5.1
    Firefox 1.5 - 3.0.*
    A Statusbar with speed, percentage, time and loaded size (similar to Opera's one)
  • Extension List Dumper 1.14.1
    Firefox 1.5 - 3.0.*
    Dumps a list of the installed extensions.
  • FireFTP 1.0.2
    Firefox 3.0 - 3.0.*
    FTP Client for Mozilla Firefox.
  • Fission 1.0
    Firefox 2.0 - 3.0.*
    Progress bar in the address bar (Safari style).
  • Flagfox 3.2.8
    Firefox 1.5 - 3.0.*
    Displays a flag depicting the location of the current server
  • GoogleEnhancer 1.63
    Firefox 1.5 - 3.0.*
    Adds numbers, highlighting and favicons to Google searches
  • Grab and Drag 2.7.4
    Firefox 2.0 - 3.0.*
    Enables Adobe Acrobat-style grab and drag scrolling in Mozilla applications.
  • Link Alert 0.8.2.1
    Firefox 1.5 - 3.0.*
    Changes the cursor to indicate the target of a link.
  • New Tab Button on Tab Right 0.5.3
    Firefox 3.0 - 3.0.*
    Adds a new tab button like IE7.
  • OPIE 1.2.1
    Firefox 2.0 - 3.0.*
    Import/Export extension preferences
  • PicLens 1.8.0.4280
    Firefox 2.0 - 3.0.*
    Discover More
  • Quick Preference Button 0.1.8.1
    Firefox 1.5 - 3.0.*
    Adds menu button for quickly accessing common preferences.
  • QuickProxy 2008.08.24
    Firefox 1.0 - 3.0.*
    Quickproxy creates a statusbar button to quickly turn the proxy on and off.
  • Save Link in Folder 1.4.2
    Firefox 1.0 - 3.0.*
    Easily save links in personally customized folders.
  • ScrapBook 1.3.3.7
    Firefox 2.0 - 3.0.*
    Helps you to save Web pages and organize the collection.
  • Tab Scope 0.2.2.8
    Firefox 1.5 - 3.0.*
    Preview and navigate tab contents through popup.
  • Taboo 0.5.5
    Firefox 2.0b1 - 3.0.*
    The cure for tabitis
  • Yahoo! Mail Notifier 1.0.0.12
    Firefox 0.9 - 3.1a2pre
    This extension notifies you when new messages arrive in your Yahoo mailbox.
  • YouPlayer 0.9.8
    Firefox 2.0 - 3.0.*
    Advanced video-site player and download tool

اگر با فایرفاکس کار می کنید، توصیه می کنم حتما این add-on ها را امتحان کنید ولی اگر با فایرفاکس کار نمی کنید، توصیه می کنم با فایرفاکس کار کنید و این add-on ها را هم امتحان کنید. از بین اینها من خودم به Grab and Drag علاقه خاصی دارم.

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 رندی پاوش را حتما ببینید. می تواند تاثیر خوبی توی زندگی شما داشته باشد.