مدرک گنو/لینوکس درسنامه

نیازی بهش نبود. چون همه چیزایی رو که میگفت بلد بودیم. ولی کلا دوره خوبیه و میشه برای شروع ازش استفاده کرد. برای آموزش نصب و استفاده، از مینت استفاده کرده بود که اتفاقا منم با اون شروع کرده بودم! :)

انتقادی از مطلب "گنو، انحصاری به نام آزادی"

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

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

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

این قضیه توهین رو کمی موافقم. بعضی وقتا کمی عصبی میشیم و کمی توهین میکنیم. این دیگه ربطی به گنو نداره، خیلی از مقاله‌های انتقادی که طرف واقعا نفرت داشته باشه، توهین میکنه. این دیگه به خونسردی طرف ربط داره، نه به گنو! ولی یه چیز یادتون باشه: به دزد، نمیشه گفت مهمون! دزد دزده!

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

چیزهایی که میخوام یاد بگیرم و کارایی که میخوام بکنم

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

نصب توزیع‌های آرچ، دبین و اسلکور

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

یاد گرفتن زبان پرل

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

یاد گرفتن پی‌اچ‌پی

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

و بالاخره، یادگیری راه‌اندازی سرور لینوکس

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

هک بازی‌ها در لینوکس یا چرا نرم‌افزارهای آزاد؟

توی لینوکس، برنامه‌ها از فایل‌ها برای ذخیره اطلاعاتشون استفاده میکنن. بازی‌ها هم همینطور. واسه همین، اطلاعات بازی‌ها از جمله امتیازو تعداد مراحل رفته شده رو میشه از این فایل‌ها تعیین کرد. مثلا من بازی Chromium B.S.U رو طوری کردم که تا مرحله 25 باز باشه. درحالی که تا به حال نتونستم مرحله 13 رو رد کنم! چطور؟ خیلی ساده، از این فایل:

~/.chromium-bsu

معمولا این فایل‌های تنظیمات توی دایرکتوری خانه هستن. ولی بعضی مواقع توی /etc هم قرار میگیرن.

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

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

بیشترین کامندهای مورد استفاده من

امروز یه چیزی به ذهنم رسید. اینکه ببینم از۵۰۰ تا کامند توی هیستوری، کدومشون استفاده بیشتری داشتن؟

خوب، اول تمام تاریخچه رو میریزم به یه فایل:

history > history

بعد این کامند(ها) رو میزنم:

afterpc@apcubuntu 05:10:16 PM  ~ $ cat history | awk '{ print $2 }' | sort | uniq -c | tr -s ' ' | sed "s/ //" | grep [0-9][0-9]' ' | sort | tac

اول بگم چی میگذره اینجا. cat، فایل history رو میخونه و میده به awk. اونم دومین کلمه که میشه همون کامندمون. بعد sort به ترتیب حروف الفبا مرتب میکنه و اونیکی میگه که هر کلمه چند بار تکرار شده. بعد tr همه اسپیس‌ها که دو بار یا بیشتر کنار هم اومدن پاک میکنه و فقط یکی میذاره و اون sed میاد اون یدونه رو هم پاک میکنه. بعد با grep دورقمی‌ها رو جدا میکنم و دوباره با sort مرتب میکنم و با tac برعکس میکنم که بیشترها بالا باشن. و نتیجه:

79 c 76 ls 38 sudo 23 rm 21 downloader 18 emacs 18 cat 14 echo 11 man

واو! جالبه! c که درواقع یه alias (اسم مستعار) clear هست، بیشتر از همه استفاده شده! ls هم با سه تا تفاوت! بعدی sudo هست. بعدش rm! زیادی پاک میکنم انگار! اوه! اسکریپتی که با اون دانلودام رو شروع میکنم رتبه پنجمه! بعدش ایمکس و cat و echo. بین پونصد کامند، یازده‌تاش هم man هست. زیادی دوست دارم یاد بگیرم یا فقط سرسری یه نگاه میندازم میرم؟ :)