اثبات و تجربه

مواظب باگ های کد بالا باشید، من فقط ثابت کرده ام کد درست است ولی هنوز امتحان اش نکرده ام.

تشکر از کمک همه

(در ادامه مطلب قبلی که از دوستان خواسته بودم فرم رو پر کنند)

واو… تشکر از همه دوستانی که با اونهمه دردسر فرم رو پر کردند. راستش من خودم تایپ شده فرم رو ندیده بودم و فکر می کردم به راحتی در ورد قابل پر کردن باشه ! نگو به جای مربع قابل علامت زدن، عکس مربع غیرقابل علامت زدن داشت ((:

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

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

بازم از همه ممنون. احساس کردم دوستان خیلی خوب و زیادی دارم و لذت بخش بود خیلی. ببخشید که دفاعیه دعوتتون نخواهم کرد چون وقتتون تلف می شه (:

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

کمک به جادی و آینده اش !

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

به شکل فایل word پیوست کردم به همین مطلب. خیلی خیلی لطف می کنید اگر دانلود کنید و پر کنید و بعد برام ایمیل کنید به jadijadi@gmail.com !

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

شبکه بی سیم روی لپ تاپ لینوکسی

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

من یک لپ تاپ vaio s580 یا همون vaio s5 دارم که روش فدورا پنج نصب است. بعد از مدت ها امروز تصمیم گرفتم شبکه بی سیم ام رو هم راه بندازم تا اگر یکهو رفتیم جایی که شبکه بی سیم داشت بتونیم استفاده کنیم (شاید یک هفته برم خارج رو بگردم ببینم چه خبره توی این خارج!).

کارت wireless من وقتی که با root دستور lspci رو می زنم به عنوان Intel Corporation PRO/Wireless 2915ABG MiniPCI Adapter نشون داده می شه. پس کرنل کارت wifi رو شناخته. مثل اینکه fedora 4 به بعد همه این کارت ها رو تحت عنوان lpw2200 می شناسه. آفرین !

حالا دگمه wifi رو روشن می کنم و به Add/Remove software می رم و دنبال lpw2200 می گردم چون می دانم که علاوه بر درایور باید firmwire رو هم نصب کنم. این جریان به برنامه اضافه می شه. یک بار کامپیوتر رو restart می کنم تا مطمئن باشم همه چیز سر جای خودشه (احتمالا اگر سواد کافی داشتم احتیاجی به این کار نبود).

حالا از منوهای گرافیکی به بخش adminstration Network می رم و در hardware می بینم که کارت بی سیمم نشون داده می شه. حالا کافیه یک device جدید تعریف کنم و بگم از نوع wireless است و کارتم رو انتخاب کنم و مشخصات شبکه (اسم شبکه و کد رمزگشایی) رو بهش بدم.

در نهایت device جدیدی که ساخته ام رو active می کنم و ip می گیره و بعد از قطع کابل شبکه، هنوز هم به شکل بی سیم وصل هستم ! لذت بخش و ساده.

راستی !‌ حالا که این کارها رو کردم و به اینترنت هم وصل هستم و اینها رو هم نوشتم بر می گردم سر کار ! قبل از رفتن به سفر باید مثل دایناسور کار کنم !

تصویر دسکتاپ

چند روزی است توی فروم ایرانی لینوکس (TechnoTux.ir) بچه ها دارند تصاویر دسکتاپشون رو می گذارند. من هم گفتم بذارم. فایل رو که آپلود کردم گفتم اینجا هم بذارم. البته من جزو اونایی هستم که دسکتاپ واقعا براشون میز کاره. در نتیجه کل علاقمندی های این چند وقت و کارهایی که می کنم و … (به جز Snow Crash.pdf) روی دسکتاپم قابل بررسی است (:‌ تصویر اصلی ضمیمه نامه است و تصویر کوچیک این شکلی:

بهینه سازی MySQL روی لینوکس

اشاره : این یک متن نیمه فنی است درباره بهینه کردن یک سرور MySQL روی لینوکس. مخاطب عمومی ندارد هرچند که خواندن اش بی مزه هم نیست (:

در حین کار رسیدم به جایی که باید روی بانک اطلاعاتی ای با حدود چهار میلیون رکورد حدود صد و شصت هزاربار جستجو و نتایج را ذخیره می کردم. برنامه مورد نظر را نوشتم و کار را شروع کردم. بعد از یکساعت تخمین زمانی اتمام کار حدود ۳۴ روز بود !

برنامه را اصلاح و بهینه کردم و بعد از اجرای دوباره تخمین اتمام کار حدود ۳۱ روز شد !

برنامه را MultiThreatMultiThreatd نوشتم (تقریبا به این معنا که برنامه می تواند به شکل موازی چندین بار اجرا شود) و اجرا کردم ولی زمان اتمام کار همان ۳۱ روز ماند ):

به کامپیوتر نگاه کردم و دیدم چراغ هارد یک نفس روشن است یعنی کل جستجو دارد از روی هارد انجام می شود. Bottle Neck پیدا شد: سرعت هارد. سعی کردم بانک اطلاعاتی چهارصد مگی را روی حافظه ببرم. اینترنت را به دنبال mysql optimization گشتم و در نهایت برای اینکار در فایل /etc/my.cnf دو خط زیر را اضافه کردم:

</pre>
[mysqld]

key_buffer_size=300M
read_buffer_size=300M
</pre >

و سرویس بانک اطلاعاتی را restart‌ کردم و برنامه را اجرا. سرعت بیشتر نشده بود ولی با نگاه کردن به /proc/meminfo می شد دید که بانک اطلاعاتی به حافظه منتقل شده است ولی به دلیل کمبود حافظه کماکان هارد به عنوان swap‌ کار می کند.

در مرحله بعد از مدیرم خواستم حافظه کامپیوترم را به 2GB ارتقاء بدهد. بعد از انجام این کار دوباره برنامه اولیه را اجرا کردم و به چراغ های کامپیوتر نگاه کردم. چراغ هارد برای چند ثانیه روشن بود و بعد کلا خاموش شد (همه بانک اطلاعاتی به رم منتقل شده بود). زمان متوسط اجرا رسید به چهار روز. حالا برنامه بهینه شده سه روز وقت می گرفت و نسخه multithread فقط یک و نیم روز. حالا برنامه در حال اجرا است.

ورزش وبلاگستانی : گذاشتن اولین کامنت وبلاگ ها

وبلاگستان مثل هر جای دیگه فرهنگ خودش رو داره. بخشی از این فرهنگ هم مربوط است به ورزش های وبلاگستانی. یکی از این ورزشها که مورد علاقه خاص افراد است اینه که اولین کامنت گذار یک وبلاگ باشند. شیوه این ورزش عموما اینطوری است که دنبال عباراتی مثل «این اولین پست منه» یا «از امروز می خوام وبلاگ شروع کنم» می گردید و به وبلاگ هایی می رسید که یا تازه تاسیس شده اند یا در صورت قدیمی بودن متروک هستند و بعد چک می کنید که اون وبلاگ کامنت داره یا نه. اگر هیچ کامنتی نداشت براش یک پست می گذارید. مثلا من برای اینکه برای نوشتن این مطلب خودم را گرم کنم کمی ورزش کردم و برای وبلاگ Lost Hacker اولین کامنتش رو گذاشتم. لازم به ذکره که اولین و آخرین پست سعید هکر – که مشخصا هیچ کامنتی هم نداشت – مربوط می شه به ۲۴ آبان سال ۸۲ : من ليستی از آيدی های هک شده توسط خودم رو اينجا می نويسم! ((:‌ می بینید ؟ این ورزش در عین حال بسیار هم مفرح است (:‌

گزارش وبلاگستان فارسی در مرداد ماه 1385

نکته: این بررسی مبتنی است بر وبلاگ های حاضر در doxdo.com. در بررسی قبلی (تیرماه)‌ چند تن از خوانندگان به این مساله اعتراض کردند که چرا فقط وبلاگ های حاضر در دو در دو بررسی شده اند. علت این امر این است که این سایت کاملترین سایتی است که مطالب وبلاگ های فارسی را پوشش می دهد. این احتمال وجود دارد که در ماه های آینده پوشش بهتری داده شود. در عین حال دو در دو این مزیت را دارد که تا جایی که من احساس کرده ام به شکل بی طرف از همه گروه ها مطلب دارد ولی در عین حال با جدیت به خاطر دوستی و مرام و … کسی را بی دلیل به بانک اضافه نمی کند.

در این پست می خواهم کمی روش مندتر درباره وبلاگستان فارسی در مردادماه صحبت کنم. برای بررسی وبلاگستان فارسی در ابتدا باید مواد خام فراهم شود. فراهم کننده این مواد خام سایت خوب است. در ابتدای کار با استفاده از دستور wget لینوکس و یک اسکریپت کوتاه به زبان پیتون کل آرشیو مرداد ماه سایت دو در دو را دریافت و در یک فایل حدودا سیزده مگابایتی (دقیقا ۱۳۱۱۸۸۳۵ بایتی) ذخیره اش می کنیم.

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

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


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

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

ایده بعدی بررسی وبلاگ ها در مرداد ماه، بررسی کلمات مورد استفاده است. بگذارید ببینیم چه کلماتی بیشتر از همه در پست ها استفاده شده اند. دوباره یک برنامه کوچک پیتون و حذف هر چیزی جز تیتر و متن مطالب و بعد مراحل قبل و در نهایت حذف دستی کلمات مرسومی مثل «با»، «است» و … و ایجاد نمودار. فکر می کنید پر کاربردترین کلمه چه چیزی باشد ؟


«ایران» ! برای من که جالب بود. دومین کلمه «وبلاگ» است با ۵۰۹ بار استفاده و سومین کلمه «امروز» است با ۲۶۷ بار. «قرار» را چک کردم و معمولا به این صورت استفاده شده که «قرار بود فلان چیز بشود» یا «قرار است فلان کار را بکنم». «جنگ لبنان» هم مورد توجه وبلاگ نویسان بوده است. در کل بیشتر کلمه های خاص، در حوزه جنگ و وضعیت جهان و ایران و آمریکا و اسراییل و .. هستند. جایگاه «حزب» با ۱۴۶، بیست و سوم است، جایگاهی که من هیچ وقت برایش حدس نمی زدم. خوشحالم که این لغت و «روزنامه» و «سازمان» هم جزو کلمات اصلی هستند. «الله» هم به شکل معجزه آسایی در رتبه مقدس چهل قرار دارد و از آن معجزه آساتر تعداد تکرار آن است:‌ صد و چهارده بار ! الله اکبر !

دارم روی طرحی کار می کنم که بتوانیم روند حرکت یک کلمه در پست های یکسری وبلاگ را دنبال کنیم. فعلا بیش از حد مقدماتی است و به این ماه نمی رسد. مثلا می خواهم ببینم چرخش / پیشرفت بحث در مورد شروع وبلاگ نویسی توسط احمدی نژاد چگونه است. ایده این است که پست هایی که هم «احمدی نژاد» دارند و هم «بلاگ» یا به وبلاگ او لینک دارند را جدا کنیم و بعد ببینیم روند نوشته شدن آن ها (از نظر زمان یا لینک یا … ) چگونه است. نمودار نهایی فعلا بیش از حد شلوغ و نسبتا بزرگ است. یک نمونه از قسمتی از آن به این شکل است:


امیدوارم تا زمان نوشتن گزارش شهریور، برنامه را تکمیل تر کرده باشم.

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