درباره مدیر وبلاگ

حسین خسروی، متولد 1360 خورشیدی، تدریس می کنم در دانشگاه.

مجردها ناپایدارند!

شاید یکی از اهداف همه ما انسانها رسیدن به آرامش باشد؛ آرامش تنها چیزی است که، بر خلاف علم، احتمالا از ثروت هم بهتر است! انسان ثرتمند اتفاقا آرامش کمتری دارد چرا که همیشه نگران ثروتش، نحوه‌ی نگهداری از اون، نحوه‌ی خرج کردن و بالاخره نحوه ترک کردن اونهاست. بگذرم اینا مقدمه بود.

مجردها ناپایدارند

حالا این عنوان چه ربطی داشت به آرامش؟

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

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

Share

پنگلیش بنویس فارسی تحویل بگیر

شاید شما هم به سایتهایی برخورد کرده باشید که به شما امکان تبدیل فنگلیش به فارسی رو می دهند. به نظر من این سایتها کمک بزرگی در حق زبان فارسی می کنند که شاید از OCR فارسی هم مهمتر باشه! متاسفانه بسیاری از کاربران وب فارسی زبان به زبان مجعول پنگلیش (نوشتن فارسی با لغات انگلیسی) عادت کرده اند؛ زبانی بسیار مزخرف که خواندن آن برای من یکی که از خواندن خط میخی هم سخت تره! سایت بهنویس که امروز باهاش آشنا شدم به درد من نمی خوره چون خدا رو شکر صفحه کلید فارسی رو از بَـرَم حتی اگر برچسب فارسی نداشته باشه! ولی به درد دانشجوهام حتما می خوره چون ۹۹ درصدشون به طور غریزی فنگلیش کار می کنند؛ {البته با اصرار من این درصد به ۹۰ کاهش یافته و به زودی تک رقمی هم خواهد شد!}

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

Share

تفاوت padding و margin در CSS

آیا margin با padding فرق داره؟

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

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

کدهای این چهار جعبه در زیر مشاهده می شود.

Share

مشکل جوملا با SEF URLs

نسخه‌ی ۱.۵ جوملا قابلیت این را دارد که آدرسها را به صورت مناسب برای موتورهای جستجو (Search Engine Friendly) درآورد (مثلا http://persianreader.com/persian-ocr-silver-edition). برای این کار باید با استفاده از پنل مدیریت، به منوی Site و سپس Global Configuration رفته و در بخش SEO Settings گرینه‌ی Search Engine Friendly URLs را به Yes علامت بزنیم. به این ترتیب آدرس مطالب سایت به صورت کاملا خوانا درخواهند آمد. حتی می توان با استفاده از گزینه‌ی  Add suffix to URLs  به انتهای آدرسها پسوند htm را هم افزود تا آدرسها به صورت استاتیک به نظر آیند.
و اما مشکل:
غالبا با انجام این تنظیمات، سایت به هم ریخته و لینکها یا یافت نمی شوند و یا اگر هم یافت شوند شکل ظاهری سایت به هم می ریزد. برای رفع این مشکل به سایتهای متعددی سر زدم ولی اطلاعات چندانی نصیبم نشد و بعد از چند ساعت سعی و خطا روشی برای رهایی از این مشکل یافتم که شاید به درد شما هم که سایت مبتنی بر joomla دارید بخورد:

۱- اولین کار این است که اگر وب سرور شما آپاچی است فایل htaccess.txt را در مسیر نصب جوملا به .htaccess تغییر دهید(پسوند .txt را حذف کرده و یک نقطه به ابتدای فایل بیفزایید!)
2- گزینه  Use Apache mod_rewrite را در همان بخش seo settings فعال کنید. اگر مشکل برطرف شد که خوش به حالتون اگر نه مرحله ۳ را انجام دهید.
3- محتویات فایل .htaccess را به صورت زیر تغییر داده و ذخیره کنید.

##

# @version $Id: htaccess.txt 10492 2008-07-02 0628Z ircmaxell $

# @package Joomla

# @copyright Copyright (C) 2005 – 2008 Open Source Matters. All rights reserved.

# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL

# Joomla! is Free Software

##

#php_value display_errors on

################################################## ###

# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE

#

# The line just below this section: ‘Options +FollowSymLinks’ may cause problems

# with some server configurations. It is required for use of mod_rewrite, but
may already

# be set by your server administrator in a way that dissallows changing it in

# your .htaccess file. If using it causes your server to error out, comment it
out (add # to

# beginning of line), reload your site in your browser and test your sef url’s.
If they work,

# it has been set by your server administrator and you do not need it set here.

#

################################################## ###

## Can be commented out if causes errors, see notes above.

# Options +FollowSymLinks

#

# mod_rewrite in use

RewriteEngine On

########## Begin – Rewrite rules to block out some common exploits

## If you experience problems on your site block out the operations listed below

## This attempts to block the most common type of exploit `attempts` to Joomla!

#

# Block out any script trying to set a mosConfig value through the URL

RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]

# Block out any script trying to base64_encode crap to send via URL

RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]

# Block out any script that includes a <script> tag in URL

RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]

# Block out any script trying to set a PHP GLOBALS variable via URL

RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

# Block out any script trying to modify a _REQUEST variable via URL

RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

# Send all blocked request to homepage with 403 Forbidden error!

RewriteRule ^(.*)$ index.php [F,L]

#

########## End – Rewrite rules to block out some common exploits

# Uncomment following line if your webserver’s URL

# is not directly related to physical file paths.

# Update Your Joomla! Directory (just / for root)

RewriteBase /
########## Begin – Joomla! core SEF Section

#

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !^/index.php

RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$
[NC]

RewriteRule (.*) index.php

RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

#

########## End – Joomla! core SEF Section

نکته ای که باید متذکر شوم این است که کمپوننت های متعددی مثل sh404SEF یا Open SEF هم هست که روی جوملا نصب شده و همین کار را می کنند و شاید مشکلات فوق الذکر را هم نداشته باشند؛ ولی تا جایی که خود هسته جوملا کار آدم را راه می اندازد چه دلیلی است که از اینها استفاده کنیم. ضمن اینکه اگر روزی خواستید این ماژولها را حذف کنید فاتحه‌ی سایتتان و لینکهایی که دیگران به شما داده اند را باید بخوانید.

Share

Joomla problem with SEF URLs

Three steps to resolve Joomla problem with Search Engine Friendly URLs

Sometimes when we set the option “Search Engine Friendly URLs” in Joomla SEO Settings, it makes several broken links (error 404) and site appearance becomes inappropriate. To resolve this problem I found the followings steps useful:

۱. If your web server is Apache, rename htaccess.txt file in the root of Joomla installation to .htaccess

۲. In Global configuration under “SEO Settings” set the option “Use Apache mod_rewrite” to “yes”. Hopefully the problem will be solved, but if not do the third step.

۳. Change the contents of the .htaccess file to the following and save it. If you still experience the problem I can’t further help you!

##

# @version $Id: htaccess.txt 10492 2008-07-02 0628Z ircmaxell $

# @package Joomla

# @copyright Copyright (C) 2005 – 2008 Open Source Matters. All rights reserved.

# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL

# Joomla! is Free Software

##

#php_value display_errors on

################################################## ###

# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE

#

# The line just below this section: ‘Options +FollowSymLinks’ may cause problems

# with some server configurations. It is required for use of mod_rewrite, but
may already

# be set by your server administrator in a way that dissallows changing it in

# your .htaccess file. If using it causes your server to error out, comment it
out (add # to

# beginning of line), reload your site in your browser and test your sef url’s.
If they work,

# it has been set by your server administrator and you do not need it set here.

#

################################################## ###

## Can be commented out if causes errors, see notes above.

# Options +FollowSymLinks

#

# mod_rewrite in use

RewriteEngine On

########## Begin – Rewrite rules to block out some common exploits

## If you experience problems on your site block out the operations listed below

## This attempts to block the most common type of exploit `attempts` to Joomla!

#

# Block out any script trying to set a mosConfig value through the URL

RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]

# Block out any script trying to base64_encode crap to send via URL

RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]

# Block out any script that includes a <script> tag in URL

RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]

# Block out any script trying to set a PHP GLOBALS variable via URL

RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

# Block out any script trying to modify a _REQUEST variable via URL

RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

# Send all blocked request to homepage with 403 Forbidden error!

RewriteRule ^(.*)$ index.php [F,L]

#

########## End – Rewrite rules to block out some common exploits

# Uncomment following line if your webserver’s URL

# is not directly related to physical file paths.

# Update Your Joomla! Directory (just / for root)

RewriteBase /
########## Begin – Joomla! core SEF Section

#

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !^/index.php

RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$
[NC]

RewriteRule (.*) index.php

RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

#

########## End – Joomla! core SEF Section

Share