تصویر دسکتاپ

چند روزی است توی فروم ایرانی لینوکس (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 فقط یک و نیم روز. حالا برنامه در حال اجرا است.

معجزه لینوکس و جادی کلاه آبی

انگار کم کم باید یک طبقه بندی «لینوکس» باز کنم. یکی از خواص خوب این سیستم عامل انسانی اینه که دائما در حال بهتر شدن است. یعنی شما ممکنه یک روز کامپیوترتون رو روشن کنید و مشکلی که دیروز داشته خود به خود حل شده باشه ! مثلا من تا دیروز لپ تاپم امکان تصویر سازی سه بعدی نداشت و در نتیجه نمی تونستم از یکسری امکانات بسیار جذاب لینوکس (از جمله ScreenSaverهای فوق العاده اش) یا مثلا GoogleEarth و … استفاده کنم.
امروز که داشتم باهاش کار می کردم بهم گفت که یک کرنل (هسته سیستم عامل جدید) اومده. من هم دریافت اش کردم و کامپیوتر رو ریست کردم (بر خلاف ویندوز، لینوکس رو فقط وقتی ریست می کنید که سیستم عامل – و نه برنامه ها – رو ارتقاء داده باشید). کامپیوتر که بوت شد احساس کردم کمی کندتر کار می کنه ولی بعد از چند لحظه همه چیز سرعت عادی خودش رو پیدا کرد و یکهو(!) متوجه شدم که تصاویر سه بعدی دارم !!! جل الخالق !

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

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

عکس های جشن نصب لینوکس

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

دستور از بالا

توضیح: توی لینوکس اگر جلوی هر دستوری sudo بزنید، سیستم عامل اون رو به عنوان «دستور از مقامات بالا» برداشت می کنه. یعنی دستوری که باید با بالاترین دسترسی اجرا بشه. اگر به کسی دستور دادید ساندویچ درست کنه و نکرد سریع جلوش یک sudo بگذارید !
منبع کاریکاتور: http://xkcd.com/c149.html