Sunday, April 22, 2007

یادگیری از اینترنت در سه دقیقه

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

خوب جستجو کنید: خیلی مهم است که که چه کلمات یا عباراتی را برای جستجو به کار می برید، گاهی ممکن است کلمه نامربوطی در عبارت جستجوی شما وجود داشته باشد که شما را از هدفتان دور کند. گاهی اوقات لازم است قبل از اینکه به دنبال موضوع اصلی بگردید کمی به دنبال کلید واژه های مربوط به موضوع مورد نظرتان بگردید. در دست داشتن کلید واژه های مورد نظر اولین گام برای جستجوی درست است. از این گذشته سعی کنید زبان پرس و جوی(Query Language) موتور جستجویتان را خوب یاد بگیرید تا بتوانبد از او سوالات خوبی بپرسید. معمولا موتور های جستجو قابلیت هایی بیش از آنچه ما می دانیم دارند. برای یاد گرفتن زبان پرس و جوی گوگل اینجا و اینجا و اینجا را ببینید

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

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

کتاب الکترونیک: اگر بتوانید eBook مناسبی درباره موضوع مورد نظرتان پیدا کنید می توانید خوشحال باشید. شاید بتوانید کتاب مورد نظرتان را در flazx یا ebooksclub پیدا کنید. اگر موفق نشدید سعی کنید از یکی از نرم افزارهای p2p استفاده کنید(emule، edonkey، shareaz، ...).

سایت مجلات و کنفرانس های تخصصی: در هر زمینه ای از علم، مجلات و کنفرانس های معتبری وجود دارد که می توانید اطلاعات مفیدی از آنها به دست آورید. کنفرانس ها عموما ارائه دهنده آخرین دستاوردها در آن زمینه هستند و مجلات عموما معتبر ترین مقالات را در آن زمینه خاص ارائه می دهند. در رشته کامپیوتر معتبر ترین مجلات و کنفرانس ها توسط دو موسسه ACM و IEEE ارائه می شود. متاسفانه برای دسترسی به این سایت ها باید هزینه پرداخت کنید یا username/password داشته باشی، ولی چون ما ایرانی ها خیلی اهل پرداخت هزینه نیستیم معمولا سعی می کنیم یکی از این username/password های سرگردان پیدا کرده و از آن استفاده کنیم. البته بعضی از دانشگاه های کشور دسترسی به برخی سایت ها را در داخل دانشگاه امکان پذیر ساخته اند. مثلا داخل دانشگاه تربیت مدرس می توانید از sciencedirect استفاده کنید.

Google scholar: بخش scholar گوگل برای پیدا کردن مقالات معتبر خیلی بهتر از خود گوگل عمل می کنید. اگر موضوعی که دنبال آن می گردید بیشتر از اینکه کاربردی باشد علمی هست، google scholar می تواند نتایج بهتری در بر داشته باشد. مشکل اصلی بخش scholar گوگل این است که خیلی اوقات مجلاتی را ایندکس می کند که دسترسی به آن ها عمومی نیست(مثل همان IEEE و ACM که گفتم). برای حل این مشکل گوگل در کنار هر مقاله ای که پیدا کرده یک لینک با برچسب Web Search قرار داده، وقتی بر روی این لینک کلیک کنید گوگل توی وب دنبال همان مقاله می گردد. این ویژگی از این جهت مهم هست که احتمال دارد که همان مقاله ای یک جای دیگر توی وب هم قرار داشته باشد و شما از این طریق می توانید به آن مقاله دسترسی پیدا کنید، ولی استفاده از این روش همیشه جواب نمی دهد.

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

سایت های کلاس های درس: خیلی از دانشگاه ها و اساتید منابع مناسبی را بر روی سایت های خود معرفی می کنند، بررسی سایت دروس از دو جهت مفید است، اول اینکه فردی با تجربه منابعی را به شما معرفی می کند، دوم اینکه این منابع برای آموزش جمع آوری شده و احتمالا درک آن برای شخصی که آشنایی مناسبی با موضوع ندارد مناسب هست. برای پیدا کردن منابع درسی به چند صورت می توانید عمل کنید، یکی اینکه توی گوگل دنبال عبارت مورد نظرتان به همراه یک کلمه کلیدی دیگر که نشان دهنده دوره آموزشی باشد بگردید، مثل "Computer Science Course"، دوم اینکه توی همان گوگل دنبال عبارت مورد نظرتان توی domain های .edu بگردید، مثل "computer science site:.edu". دانشگاه ام آی تی هم منابع برخی از کلاس های خودش را روی OpenCourseWare قرار داده که ممکن است چیزهای بدرد بخوری میان آن ها پیدا شود.

Friday, April 20, 2007

دزدی از عابر بانک ها

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

عموما توی سیستم های کامپیوتری، روش های احرازهویت (Authentication) بر اساس این سه اصل هست:

1. "What you have": مثل همین کارت های عابر بانک، Security Token یا هر وسیله دیگری که بتواند هویت کاربر را اثبات کند.

2. "What you know": متداول ترین مثال در این دسته همان رمز عبوری است که روزی صد بار از ما پرسیده می شود.

3. "What you are": فاکتورهای بایومتریک مثل اثر انگشت یا اثر قرنیه در این دسته قرار می گیرند.

البته روش های دیگری مثل احراز هویت بر اساس مکان (Where you are) هم وجود دارد که خیلی عمومی نیستند.

معمولا در جاهایی که حساسیت زیادی در مورد احراز هویت وجود دارد، سعی می شود از روشی به نام احراز هویت دو یا سه فاکتوری (Two/Three Factor Authentication) استفاده شود. در این روش برای بالا رفتن امنیت دو یا سه روش از روش هایی که قبلا گفتم با یکدیگر ترکیب می شود.

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

در کارت عابر بانک ها از تکنولوژی نوار مغناطیسی استفاده شده. با داشتن شماره حساب و یک Writer کارت به آسانی می توانید یک کارت، مثل کارت صاحب حساب درست کنید. به گفته آقا دزده قیمت Writer توی بازار حدود ششصد هزار تومان است. شماره حساب هم که جزء اطلاعات مخفی محسوب نمی شود و با کمی زحمت می توانید شماره حساب هر کسی را بدست آورید.

پسورد عابر بانک ها هم که فقط یک عدد چهار رقمی هست که دیدن آن موقع وارد کردن پسورد خیلی سخت نیست*. ولی حتی اگر آن را ندانیم معمولا حدس زدن آن خیلی سخت نیست(پسورد 70% مردم 1234 هست ، 60% بقیه هم پسوردشان با 13 شروع می شود!)

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

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

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

Monday, April 16, 2007

Cellular Automata

چند وقت پیش یکی از دوستان کتابی به من نشان داد که برایم خیلی جالب بود، موضوع کتاب در مورد Cellular Automata بود و در توصیف آن روی جلد این جمله نوشته شده بود "A New Kind of Science".

Cellular Automata یا CA یک مدل محاسباتی است که جدیدا توجه زیادی به آن شده. با استفاده از CA می توان بسیاری از مسائل ریاضی، فیزیک، بیولوژی و ... را آسانتر و موثرتر از هر روش دیگری مدل کرد. حتی ادعا می شود که جهانی که ما در آن زندگی می کنیم خود یک Cellular Automaton بزرگ است و ادعا می شود که اگر ما بتوانیم یک CA به اندازه کافی بزرگ درست کنیم می توانیم حیات را در آن تحقق دهیم!

امروز به طور اتفاقی توی Google Video به فیلم سمینار آقایی با نام Stephen Wolfram برخوردم. آقای Wolfram توسعه دهنده نرم افزار Mathematica و نویسنده کتاب A New Kind of Science است. اگر کمی وقت دارید توصیه می کنم اول صفحه مربوط به CA توی ویکیپدیا را بخوانید و بعد فیلم سمینار را از اینجا تماشا کنید. مدت فیلم یک ساعت و نیم هست.