منبع :
http://www.catb.org/~esr/faqs/hacker-howto.html
نويسنده: Eric Steven Raymond
مترجم: ميثم فرضعلیپور
بازنگری:۱.۳۱: بیست و دوم مارس ۲۰۰۵
هدف اين متن چيست؟
من به عنوان ويراستار «فايل اصطلاحات هکرها» و نويسندهی تعدادی از مطالب مشهور ديگر مانند آن، اغلب اوقات از مبتديان نامههايی دريافت میکنم که از من میپرسند(به اين مضمون) «من چگونه میتوانم ياد بگيرم که يک هکر ماهر باشم؟»
قبل از اين در سال ۱۹۹۶ من متوجه شدم که فهرست پرسشهای متداول يا متن اينترنتی ديگری که به اين سوال مهم توجه کند، وجود ندارد. بنابراين من نوشتن اين متن را شروع کردم و هماکنون بسياری از مردم آن را به عنوان يک منبع معتبر مطالعه میکنند.
با وجود اين من ادعا نمیکنم که تنها صاحب نظر در اين مورد هستم. اگر شما چيزی را که اينجا میخوانيد دوست نداريد، راهنمای خودتان را برای هکر شدن بنويسيد.
اگر شما اين مطلب را از منبع اصلی آن نمیخوانيد بهتر است بدانيد که نسخهی اصلی آن در آدرس
http://htbh.meisam.info است
توجه: ليستی از پرسشهای متداول در انتهای اين متن وجود دارد. لطفاً آنها را قبل از آنکه برای من سوالی در مورد این متن بفرستيد، -دو بار- بخوانيد.
ترجمههای متعددی از اين متن وجود دارد:عربی،بلغارستانی، کاتالونيائی، چينی(سادهشده)، دانمارکی، هلندی، فارسی، فنلاندی، آلمانی، عبری، ایتاليايی، ژاپنی، لهستانی، پرتغالی(برزیلی)، اسپانيايی، ترکی، سوئدی و انگليسی
قابل ذکر است از آنجايی که اين متن گاهگاهی تغيیر میکند آنها ممکن است به درجات متفاوتی قديمی باشند.
شکل ۵ نقطه در داخل ۹ مربع که اين متن به وسيلهی آن تزئين شده است ،یک glider ناميده میشود. که طرح سادهای با تعدادی خاصيت تعجب آور در نوعی شبيه سازی رياضی به نام زندگی(Life) است. اين موضوع هکرها را برای سالهای زيادی مجذوب کرده بود
من فکر میکنم که آن نشانهی خوبی است برای آنچه هکرها شبيهش هستند:
مجرد، در اول با ظاهری کمی اسرارآميز اما يک دروازه به کل دنيا همراه با يک منطق پيچيده. مطالب بيشتری را در مورد نشان glider اينجا بخوانيد.
يک هکر کيست؟
فايل اصطلاحات هکرها شامل تعدادی از تعاريف برای واژهی هکر است. اکثراً شامل انجام کارها با مهارت فنی و اشتياق در حل مسائل و غلبه بر محدوديتها. ولی اگر شما میخواهید بدانید که چگونه یک هکر شوید، تنها دوتا از آنها به دردتان میخورد.
جامعهای با يک فرهنگ اشتراکی متشکل از برنامهنويسان خبره وجود دارد که پیشینهی آن به دهههای قبل و زمان اولين کامپيوتر کوچک و آزمايشهای اوليهی آرپانت بازمیگردد.
اعضای اين جامعه اصطلاح هکر را به وجود آوردند. هکرها اينترنت را ساختند. هکرها سيستمعامل يونيکس را تبديل به سيستمعاملی کردند که اکنون میبينيد. هکرها يوزنت را اداره میکنند. هکرها وب را به وجود آوردند. اگر شما بخشی از اين فرهنگ هستيد، اگر شما در آن همکاری کردهايد و اگر افراد ديگر اين جامعه شما را يک هکر میدانند، پس شما يک هکر هستيد.
نگرش هکرها محدود به فرهنگ هکرهای کامپيوتر نيست. افرادی وجود دارند که منش هکرها را در موضوعات ديگر مانند الکترونيک يا موسيقی نيز بکار میبرند.
درواقع شما میتوانيد آن را در بالاترين سطح از هر شاخهی علم يا هنر بيابيد.
هکرهای کامپيوتر اين روح اصلی را در موضوعات ديگر نيز به رسميت میشناسند و میتوان به آنها نيز هکر گفت.
- و برخی معتقدند ماهيت اصلی هکر بودن مستقل از واسطههای خاصی است که هکرها با آنها کار میکنند. اما بقيهی اين متن به مهارتها و منشهای هکرهای کامپيوتر و عقايد رايج در مورد فرهنگ اشتراکی که سرچشمهی واژهی هکر است، خواهدپرداخت.
گروه ديگری از مردم وجود دارند که با سروصدای زيادی خودشان را هکر مینامند. اما آنها هکر نيستند. آنها (اکثراً پسرهای نوجوان) افرادی هستند که به صورت غير مجاز به کامپيوترها دسترسی پبدا میکنند يا از سيستمهای تلفن سوء استفاده میکنند.
هکرهای واقعی اين افراد را کرکر(Cracker) مینامند و کاری به آنها ندارند. اکثر هکرهای واقعی معتقدند که کرکرها تنبل و بیمسئولیت بوده و چندان هم باهوش نيستند. اشيايی که میتوانند سيستمهای امنيتی را از کار بياندازند، شما را هکر نمیکنند، همانطور که «روشن کردن اتوموبيل با تکهای سيم شما را مهندس مکانيک نمیکند»، .
متاسفانه اکثر روزنامهنويسان و نويسندگان به اشتباه واژهی هکر برای معرفی کرکرها بهکار میبرند و اين کار هکرها را بسيار عصبانی میکند.
تفاوت اساسی اين است: هکرها چيزهايی میسازند، کرکرها آنها را خراب میکنند.
اگر شما میخواهيد هکر شويد، به خواندن ادامه دهيد. اما اگر میخواهيد کرکر شويد، گروه خبری alt.2600 را بخوانيد و آماده باشيد که به زودی در زندان کارمجانی انجام دهيد. آنوقت متوجه خواهيد شد که آنقدرها که فکر میکرديد، باهوش نبوديد. و این تمام چيزی است که من به شما در مورد کرکرها میگويم.
مرامنامهی هکری
۱-جهان مملو از مسائل جذاب است که در انتظار حل شدن به سر میبرند
۲-هيچ مسئلهای نبايد دو بار حل شود
۳-کسالت و بیگاری مضر هستند
۴-آزادی خوب است
۵-نگرش جايگزينی برای مهارت نيست
هکرها مشکلات را حل میکنند و سازنده عمل میکنند. آنها به آزادی و کمک داوطلبانهی دوجانبه اعتقاد دارند. برای پذيرفته شدن به عنوان يک هکر، شما بايد به نحوی رفتار کنيد مانند آنکه خودتان اين نوع نگرش را داريد و برای اینکه اینگونه رفتار کنید شما باید واقعاً به آن اعتقاد داشته باشيد .
اما اگر شما فکر میکنيد که نگرش اجتماعی هکرها فقط راهی برای پذيرفته شدن در اين فرهنگ است، شما اصل موضوع را فراموش خواهيد کرد. تبديل شدن به فردی که به اين موضوعات اعتقاد دارد، برای کمک به يادگيری و با انگيزه نگاهداشتن شما مهم است. مانند همهی هنرهای سازنده، بهترين راه برای استاد شدن پيروی کردن از خط فکری استاد است. نه فقط به صورت فکری بلکه همچنين به صورت حسی. يا مانند آنچه اين شعر مدرن Zen میگويد:
تا که راه یابی:
به استاد بنگر
به دنبالش باش
با او برو
از نگاه او بنگر
استاد شو
پس اگر شما میخواهيد يک هکر بشويد، جملات زير را تکرار کنيد تا به آنها اعتقاد پيدا کنيد.
۱-جهان مملو از مسائل جذاب است که در انتظار حل شدن به سر میبرند
هکر بودن بسيار هیجانانگیز است. اما اين نوع هیجان به تلاش زيادی نياز دارد و تلاش محتاج انگيزه است.ورزشکاران موفق انگيزهی خودشان را از لذتی که در غلبهی آنها بر محدوديتهای فیزیکی بدنشان در آنها به وجود میآيد، بدست میآورند. بهطور مشابه برای هکر بودن شما بايد انگيزهی اوليه را از حل مشکلات و افزايش مهارتها و تمرين هوش خود بدست آوريد.اگر شما جزو افرادی نيستيد که ذاتاً اينگونه فکر میکنند، برای هکر شدن بايد چنين شويد.
در غيراينصورت شما خواهيد ديد که انرژی هکری شما به وسيلهی عواملی مانند سکس و پول و مشهورشدن تضعيف میشود
(همچنين شما بايد ايمان به ظرفيت يادگيری خودتان را بيشتر کنيد -باور داشته باشيد که حتی اگر تمام چيزهايی که برای حل مسئله لازم است را ندانيد، اگر فقط از عهدهی قسمت کوچکی از آن برآييد و آن را ياد بگيريد، به اندازهای که برای حل مسئله لازم است ياد خواهيد گرفت- و به همين شيوه ادامه دهيد تا مسئله حل شود)
۲-هيچ مسئلهای نبايد دو بار حل شود
ذهنهای سازنده، منابع باارزش و محدودی هستند. آنها نبايد برای دوباره اختراع کردن چرخ تلف بشوند در حالی که مسائل جذاب بسيار زيادی وجود دارد.
برای رفتار کردن مانند يک هکر، شما بايد اعتقاد داشته باشيد که زمان فکر کردن هکرهای ديگر بسيار پرارزش است. بنابراين به اشتراک گذاشتن اطلاعات تقريباً يک کار اخلاقی است. مسائل را حل کنيد و سپس راهحل را منتشر کنيد تا هکرهای ديگر بتوانند به عوض دوباره حل کردن مسائل حل شده، مسائل جديد را حل کنند.
(لازم نيست معتقد باشيد که بايد همهی یافتههای خودتان را منتشر کنيد. گرچه هکرهايی که اين کار را انجام میدهند بيشترين احترام را در ميان هکرهای ديگر دارند. اين با معيارهای هکرها سازگار است که به اندازهی کافی از آنها بفروشيد تا بتوانيد ضروريات خود و نيازهای کامپیوترتان را تامين کنيد. خوب است که از مهارتهای هکری خودتان برای تامين خانواده يا حتی ثروتمند شدن استفاده کنيد. مادامی که وظيفهی خودتان را به هنرتان و هکرهای ديگر فراموش نکنيد)
۳-کسالت و بیگاری مضر هستند
هکرها (و به طور کلی افراد خلاق) هيچ وقت نبايد کسل بشوند يا کارهای سخت و تکراری انجام بدهند. زيرا در اينگونه موارد آنها به کاری که میتوانند انجام دهند (حل مسائل جديد) نمیپردازند و اين بیفايده بودن هر کسی را میرنجاند. بنابراين خستگی و مشقت نهفقط ناخوشايند بلکه واقعاً مضر هستند.
برای رفتار کردن مانند يک هکر، شما بايد کاملاً ايمان داشته باشيد که میخواهيد ناخودآگاه از چيزهای کسل کننده تا آنجا که ممکن است دور شويد.نه فقط به خاطر خودتان بلکه برای هر کس ديگر (مخصوصاً هکرها).
(يک استثنای بارز در اينجا وجود دارد. هکرها ممکن است بعضی اوقات کارهايی را انجام بدهندکه برای يک ناظر تکراری يا خسته کننده به نظر بيايد. به عنوان تمرين ذهنی يا به منظور به دست آوردن يک مهارت يا انجام دادن تمرينات مخصوص، شما به طرز ديگری نمیتوانيد عمل کنيد. اما شما در اين انتخاب آزادی داريد.- هيچ فرد اندیشمندی، نبايد به اجبار در وضعيتی قرار گيرد که او را کسل کند.)
۴-آزادی خوب است
هکرها به طور طبيعی مخالف استبداد هستند. هر کسی که بتواند به شما دستور بدهد، میتواند شما را از حل کردن مسائلی که مجذوبشان شدهايد باز دارد. و مسلماً به طوری که ذهنهای مستبد کار میکند، معمولاً دليلهای احمقانه و وحشتناکی برای چنين کاری پيدا میکنند. پس با روش استبدادی هر کجا که آن را يافتيد بايد مبارزه کنيد وگرنه شما و ديگر هکرها را خفه میکند.
(اين به معنای جنگ با تمام قدرتها نيست -کودکان بايد راهنمایی(تادیب) شوند، خلافکاران بايد محدود بشوند. يک هکر ممکن است موافق باشد که نوعی از قدرت را به منظور به دست آوردن چيزی که او میخواهد، بپذيرد. اما اين يک معاملهی آگاهانه و محدود است. آنجايی که فردی تسليم خواستههای ديکتاتور میشود، يک پيشنهاد نيست.)
ديکتاتورها در سانسور و پنهانکاری موفق هستند. آنها برای همکاریهای داوطلبانه و به اشتراک گذاشتن اطلاعات مزاحمت ايجاد میکنند. آنها فقط مشارکت در کارهايی را میپسندند که خودشان آن را کنترل کنند. پس برای رفتار کردن مانند يک هکر، شما بايد يک دشمنی ذاتی با سانسور، پنهانکاری، فريبدادن و استفاده از زور برای تحت فشار قرار دادن افراد مسئول را در خود پرورش دهيد و بر طبق این عادت عمل کنید.
۵-نگرش جايگزينی برای مهارت نيست
برای هکر شدن شما بايستی تعدادی از اين نگرشها را در ذهنتان توسعه بدهيد. اما کپی برداری محض از عقايد به تنهايی شما را هکر نمیسازد همانگونه که شما را قهرمان ورزشی يا ستارهی راک نمیکند. هکر شدن به هوش، تمرين، از خود گذشتگی و سختکوشی نياز دارد.
بنابراين شما بايد ياد بگيريد که به منش اتکا نکنيد و به هر نوع توانايی احترام بگذاريد. هکرها اجازه نمیدهند که ژستها وقت آنها را تلف کنند. اما آنها احترام زيادی برای توانايی قائلاند. مخصوصاً توانايی در زمينهی هکری. اما توانايی در هر کاری خوب است. توانايی در بدست آوردن مهارتهايی که افراد کمی میتوانند در آن زمينه به درجهی استادی برسند، خيلی خوب است و توانايی در مهارتهايی که مستلزم زکاوت، مهارت و تمرکز هستند بهترين است.
اگر شما به توانايی احترام بگذاريد، از توسعهی توانايیهای خود لذت خواهيد برد و سختکوشی و فداکاری بيشتر از مشقت به کاری مشتاقانه بدل خواهد شد. اين طرز فکر برای هکر شدن حياتی است.
مهارتهای بنيادی هکرها
۱-چگونه برنامه نوشتن را ياد بگيريد
۲-يکی از يونيکس های منبعباز را بدست بياوريد و ياد بگيريد که چگونه آن را بکار ببريد
۳-یاد بگيريد که چگونه از وب استفاده کنيد و HTML بنويسيد
۴-اگر زبان انگليسی شما خوب نيست، آن را ياد بگيريد
داشتن منش هکرها برای هکر شدن حياتی است اما مهارتها اهميت بيشتری دارند. منش جايگزينی برای مهارت نيست. مجموعهای از مهارتهای پايه وجود دارند که شما بايستی برای هکر شدن داشته باشيد. اين مهارتها با گذشت زمان، هنگامی که تکنولوژی مهارتهای جديدی را میسازد و مهارتهای قديمی را منسوخ میکند، به آرامی تغيير میکنند. در گذشته برنامهنويسی به زبان ماشين شامل این مجموعه بود و تا اين اواخر زبان HTML جزو این مهارتها نبود. اما اکنون بهوضوح شامل موارد زیر است:
۱-چگونه برنامه نوشتن را ياد بگيريد
البته اين يک مهارت پايهای برای هکرهاست. اگر شما هيچ کدام از زبانهای برنامهنويسی را بلد نيستيد، من به عنوان شروع پايتون را به شما پيشنهاد میکنم. پايتون با ظرافت طراحی شده و به خوبی مستند سازی شده است و نسبتاً ابتدایی است.
با وجود اينکه پايتون به عنوان اولين زبان برنامهنويسی برای یادگيری خوب است ولی تنها يک اسباب بازی نيست. پايتون خيلی قدرتمند و انعطاف پذير بوده و برای پروژههای بزرگ مناسب است. من يک ارزيابی از پايتون را با جزئيات کامل نوشتهام. منابع آموزشی خوبی در سايت پايتون در دسترس هستند.
جاوا نيز زبان خوبی برای آموزش برنامهنويسی است. جاوا از پايتون مشکلتر است ولی کدهای سريعتری توليد میکند. فکر میکنم به عنوان زبان دوم برنامهنويسی خیلی خوب باشد.
متاسفانه منابع پيادهسازی شرکت Sun هنوز اختصاصی هستند. به علت وجود يک مفسر منبعباز خوب برای جاوا اين امر چندان بحث زيادی به وجود نمیآورد. مشکل واقعی توابع کتابخانهای هستند که با زبان منتقل میشوند. توابع کتابخانهای منبعباز نسبت به توابع Sun ضعيفتر هستند. بنابراين اگر شما تصميم داريد که جاوا را ياد بگيريد، به عوض وابستگی به کد اختصاصی Sun با يک پيادهسازی منبعباز کار کنيد.
اما توجه کنيد که اگر تنها يک يا دو زبان برنامهنويسی را بلد باشيد، به مهارتهای يک هکر دست پيدا نخواهيد کرد يا حتی صرفاً يک برنامهنويس هم نخواهيد شد. شما بايد بياموزيد که بهطور کلی چگونه در مورد مسائل برنامهنويسی مستقل از هر زبانی فکر کنيد. برای اينکه يک هکر واقعی شويد، شما بايد به سطحی برسيد که بتوانيد با ارتباط دادن موضوعات موجود در راهنما به دانستههای خود، در طی چند روز يک زبان را ياد بگيريد. بنابراین شما بايستی چندين زبان کاملاً متفاوت را ياد بگيريد.
اگر شما بهطور جدی به برنامهنويسی بپردازيد، مجبوريد که زبان C که زبان هستهی يونيکس است را ياد بگيريد. زبان ++C خيلی شبيه C است. اگر شما يکی از آنها را بدانيد، ياد گيری ديگری چندان مشکل نخواهد بود. با وجود اين هيچ کدام از آنها بهعنوان اولين زبان برنامهنويسی برای يادگيری خوب نيستند. درواقع هرچه بيشتر از برنامهنويسی با زبان C اجتناب کنبد، بازدهی بیشتری خواهيد داشت.
زبان C بسيار کارآمد است و در استفاده از منابع سيستم بسيار صرفهجويی میکند. متاسفانه زبان C کارآیی خودش را با نياز به کدنويسی سطح پايين برای مديريت منابع سيستم (مانند حافظه) بدست میآورد. همهی کدهای سطح پايين پيچيده و مستعد باگ هستند و وقت زيادی را در مرحلهی اشکال زدايی به خود اختصاص میدهند. با کامپيوترهای امروزی و قدرتی که آنها دارند، اين معمولاً معاملهی خوبی نيست. بهتر است از زبانهايی استفاده کنيم که کمی وقت کامپيوتر را تلف کنند ولی از زمان شما بسيار مفيدتر استفاده کنند. مانند پايتون .
زبانهای برنامهنويسی ديگری که اهميت ويژهای برای هکرها دارندشامل Perl و LISP میشوند. Perl به دلیل کاربردی بودن ارزش يادگيری دارد. Perl به طور گستردهای در صفحات وب فعال و مديريت سيستمها استفاده میشود. بنابراين حتی اگر شما برنامهای به زبان Perl ننويسيد، بايد بتوانيد برنامههايی را که به زبان Perl نوشته شدهاند را بخوانيد. اکثر افراد از Perl در جایی استفاده میکنند که من به شما پایتون را توصیه کردم (خودداری از برنامهنويسی به زبان C در کارهايی که به امکانات C نيازی ندارد). شما نياز پيدا خواهيد کرد که کدهای نوشته شده توسط آنها را بخوانيد.
LISP به دليل ديگری ارزش يادگيری دارد. LISP به روشنفکری عميقی نياز دارد که پس از یادگیری آن را به دست خواهید آورد.اين تجربه شما را برنامه نويس بهتری خواهد کرد. حتی اگر چندان برنامهای با LISP ننويسيد. (شما به راحتی میتوانيد با نوشتن و تغيیر دادن محيط ويرايش Emacs تجربهی مقدماتی با LISP را بدست آوريد)
بهترين روش يادگيری همهی زبانهای گفته شده (پايتون، جاوا، ++C/C، پرل و LISP) است. اين زبانها علاوه بر اينکه مهمترين زبانهای برنامهنويسی در دنيای هک هستند، نمايانگر خط مشیهای متفاوت در برنامهنويسی نيز میباشند و هرکدام معلومات باارزشی به شما میدهند.
من نمیتوانم در اينجا دستورالعمل کاملی در مورد اينکه چگونه برنامه بنويسيد ارائه دهم. کتابها و دورههای آموزشی نيز چنين کاری نمیکنند. (بيشتر و شايد همهی هکرها خودشان مهارتهايشان را ياد گرفتهاند) برنامهنويسی يک مهارت پيچيده است. شما میتوانيد امکانات يک زبان برنامهنويسی -قسمتی از دانش مورد نياز برای برنامهنويسی- را از کتابها ياد بگيريد. اما طرز فکری که اينگونه اطلاعات را به مهارتهای کاربردی تبديل میکند، تنها به وسيلهی تمرين و کارآموزی بدست میآيد و اين يعنی ۱)خواندن کد و ۲)نوشتن کد.
يادگرفتن برنامهنويسی مانند يادگيری خوب نوشتن يک زبان طبيعی است. بهترين روش برای اين کار خواندن برنامههايی است که به وسيلهی استادان نوشته شده است. پس از آن سعی کنيد خودتان برنامههايی بنويسيد و دوباره خيلی بيشتر بخوانيد، کمی بيشتر بنويسيد، خيلی بيشتر بخوانيد... اين چرخه را ادامه دهيد تا زمانی که برنامههای شما قدرت و کارايی برنامههای نوشته شده نوسط استادان را بدست آورند.
سابقاً يافتن سورسکدهای خوب کار سختی بود. به دليل اينکه تعداد کمی کد منبع از برنامههای بزرگ برای خواندن و تغيير دادن در اختيار هکرهای تازهکار بود. اما اکنون اين وضعيت به طرز چشمگیری تغيير کرده است. نرمافزارهای منبعباز، ابزارهای برنامهنويسی و سيستمهای عامل (که همهی ّنها به وسيلهی هکرها تهيه شدهاند) اکنون به سادگی در دسترس هستند. که مرا به نوشتن مبحث بعدی ترغیب میکند.
۲-يکی از يونيکس های منبعباز را بدست بياوريد و ياد بگيريد که چگونه آن را بکار ببريد
من فرض میکنم که شما صاحب يک کامپيوتر شخصی هستيد يا به يک کامپيوتر شخصی دسترسی داريد. همهی کودکان امروزه يک کامپيوتر دارند. مهمترين قدمی که هر مبتدی در جهت بدست آوردن مهارت های هک میتواند بردارد، تهيهی يک نسخه از Linux يا BSD Unix، نصب کردن آن بر روی کامپيوتر خود و به کار بردن آن است.
درست است که سيستمعاملهای ديگری نيز به جز يونيکس وجود دارند اما آنها در قالب دودويی منتشر میشوند و شما نمیتوانيد سورس کد آنها را بخوانيد يا تغيير دهيد. سعی برای يادگيری هک بر روی سيستمهای دارای ويندوز، MacOS و يا هر سيستم منبع بستهی ديگر مانند تلاش برای یادگیری رقص در لباش شوالیه است .
تحت OS/X اين مسئله امکان پذير است اما فقط بخشی از این سيستم منبع باز است و به احتمال زياد شما را به بنبست خواهد کشاند و بايد مواظب باشيد که به کد اختصاصی اپل عادت نکنيد. اگر شما بر روی يونيکس تمرکز کنيد، با چشمان بسته نيز چيزهای مفيدی ياد میگيريد.
يونيکس سيستم عامل اينترنت است. شما میتوانيد بدون دانستن يونيکس از اينترنت استفاده کنيد. اما بدون داشتن درک درستی از يونيکس هرگز هکر اينترنتی خوبی نخواهيد شد. به همين دليل امروزه جامعهی هکرها شديداً يونيکس محور است. (اين موضوع همواره صادق نبوده و برخی از هکرهای قديمی از اين موضوع راضی نيستند.اما همزيستی بين يونيکس و اينترنت به قدری محکم است که حتی قدرت مايکروسافت هم نمیتواند جلوی آن را بگيرد.)
پس يک يونيکس را انتخاب کنيد. من خودم لينوکس را دوست دارم اما انتخابهای ديگری نیز وجود دارند. (شما میتوانيد همزمان لينوکس و ويندوز را بر روی سيستم خود اجرا کنيد) آن را ياد بگيريد، بکار ببريد و تغيير دهيد. به وسيلهی آن از اينترنت استفاده کنيد. سورس کد آن را بخوانيد و تغيير دهيد. شما ابزارهای برنامهنويسی بهتری به دست خواهيد آورد. که هر سيستم ويندوز در رويای بهدست آوردن آنهاست. (شامل C، LISP، Python و Perl) و اين شما را سرگرم خواهد کرد. و شما بدون آنکه متوجه شويد معلومات زيادی کسب خواهيد کرد و هنگامی که مانند يک استاد به مسائل نگاه کنيد به اين موضوع پیمیبريد.
برای بدست آوردن اطلاعات بيشتر در مورد يادگيری يونيکس Loginataka را ببينيد. شما ممکن است مايل باشيد که نگاهی نيز به «هنر برنامهنويسی در يونيکس» بياندازبد
برای بدست آوردن اطلاعات بيشتری در مورد لينوکس، سايت «لينوکس آنلاين» را ببينيد. شما میتوانيد از آنجا لينوکس را داونلود کنيد يا (يک ايدهی بهتر) يک گروه محلی از کاربران لينوکس را بيابيد که به شما در نصب لينوکس کمک کنند. از ديدگاه يک کاربر جديد لينوکس، همهی توزيعهای لينوکس بسيار به هم شبيه هستند.
شما میتوانيد منابع کمکی يونيکس برکلی را در
www.bds.org بيابيد.
من يک متن در مورد اطلاعاتی که مبتديان برای کار با يونيکس و اينترنت لازم دارند نوشتهام.
اگر شما يک مبتدی هستيد من نصب هيچکدام (يونيکس و لينوکس) توسط خودتان را توصيه نمیکنم.برای نصب لينوکس، يک گروه محلی از کاربران لينوکس را پيدا کنيد و از آنها کمک بخواهيد.
۳-یاد بگيريد که چگونه از وب استفاده کنيد و HTML بنويسيد
اکثر دستاوردهای جامعهی هکرها کارهايشان را در پشت پرده انجام میدهند. آنها به کارکرد کارخانهها، ادارات و دانشگاهها کمک میکنند بدون آنکه تاثير قابل رويتی بر زندگی ديگران بگذارند. در اين ميان وب يک استثنای بزرگ است. سرگرمی بزرگ هکرها که حتی سياستمداران اعتراف میکنند که در حال تغيير دادن دنياست. به اين دليل (و دلايل زياد ديگر) لازم است بدانيد که با وب چگونه کار کنید.
اين بدان معنا نيست که فقط استفاده از يک مرورگر را ياد بگيريد. (هر کسی میتواند اين کار را انجام دهد) شما بايد HTML (زبان نشانه گذاری وب) را یاد بگیرید. اگر شما برنامهنويسی بلد نيستيد، نوشتن HTML به شما تعدادی عادت ذهنی میدهد که اين عادات به يادگيری شما درآينده کمک خواهد کرد. پس يک صفحهی خانگی درست کنيد و سعی کنيد که از XHTML که زبان دقيقتری نسبت به HTML سنتی است، بيشتر استفاده کنيد. (آموزشهای مقدماتی خوبی در اين زمينه وجود دارد. مانند اين)
اما صرفاً داشتن يک صفحهی خانگی شما را يک هکر نمیکند. اينترنت پر از صفحات وب است. اکثر آنها بیهدف، بیمحتوا، آشغال و آشغالهای بسيار جذاب هستند. يادتان باشد که محتوای تمام آشغالها يکسان است. (برای اطلاعات بيشتر در اين مورد صفحهی جهنم HTML را ببينيد)
برای مفيد بودن صفحهی شما بايد بامحتوا باشد. صفحهی شما بايد جالب باشد و/يا برای هکرهای ديگر مفيد باشد. اين موضوع ما را به بحث بعدی میکشاند.
۴-اگر زبان انگليسی شما خوب نيست، آن را ياد بگيريد
شخصاً به عنوان يک فرد انگليسی زبان آمریکایی قبلاً از اين پيشنهاد ناراضی بودم.چرا که ممکن بود به عنوان نوعی استعمارطلبی فرهنگی تلقی شود. اما افراد متعددی که زبانهای مادری ديگری داشتند از من خواستند که بگويم انگليسی زبان کاربردی فرهنگ هکرها و اينترنت است. شما بايد برای فعاليت در جامعهی هکرها آن را بدانيد.
در گذشته حوالی سال ۱۹۹۱ من ياد گرفتم که اکثر هکرهايی که انگليسی را به عنوان زبان دوم ياد گرفتهاند، حتی آنهایی که زبان مادری یکسانی دارند نيز آن را در بحثهای فنی بکار میبرند. من فهميدم که زبان انگليسی دايرهی لغات وسيعتری نسبت به هر زبان ديگری دارد و ابزار بهتری برای کار است. به همين دليل ترجمههای کتابهای تخصصی که به زبان انگليسی نوشته شدهاند زمانی که تمام کلمات آنها ترجمه میشوند، اغلب خوب نيستند.
لينوس توروالدز که يک فنلاندی است. کد لينوکس خودش را به زبان انگليسی توضيح داد (او تابحال هرگز به طرز ديگری عمل نکرده است). تسلط او به زبان انگليسی عامل مهمی در ايجاد يک جامعهی جهانی از توسعه دهندگان برای لينوکس بود. اين نمونه ارزش پيروی دارد.
وضع فرهنگ هکرها
۱-نرمافزار منبعباز بنويسيد
۲-به تست و اشکالزدایی نرمافزارهای منبعباز کمک کنيد
۳-اطلاعات مفيد را منتشر کنيد
۴-به انجام کارهای زيربنايی کمک کنيد
۵-در انتشار فرهنگ هکرها همکاری کنيد
مانند اکثر فرهنگهايی که مبتنی بر اقتصاد پولی نيستند، جامعهی هکرها بر پايهی شهرت و اعتبار استوار است. شما سعی میکنيد که مسائل جالب را حل کنيد اما اينکه آنها چقدر جالب هستند و اينکه راهحل شما واقعاً چقدر خوب است، موضوعی است که در آن فقط افرادی که از نظر فنی همسطح شما و بالاتر هستند میتوانند نظر بدهند. هنگامی که شما وارد بازی هکرها میشوید ياد میگيريد که مدارجتان را با -توجه به نظری که ديگران راجع به مهارت شما دارند- بالاتر از ديگران نگاه داريد. (به همين دليل شما يک هکر واقعی نمیشويد مگر آنکه هکرهای ديگر شما را هکر بنامند) اين واقعيت با تصويری از هکری به عنوان کاری در انزوا به فراموشی سپرده شده است.
همچنين با يک تابو در فرهنگ هکری(که البته در حال از بين رفتن است ولی کماکان وجود دارد) برخلاف پذيرفتن اينکه خود فرد يا اعتبار او در بين ديگران در انگيزهی فرد موثر هستند. انسان شناسان جامعهی هکرها را فرهنگ هدیه مینامند. شما اعتبار و مقام به دست میآوريد ولی نه به وسيلهی تسلط داشتن بر ديگران، زيبايی يا داشتن آنچه ديگران میخواهند. بلکه با بخشش مخصوصاً در اختيار ديگران قرار دادن خلاقيت و حاصل مهارتهای خود.
به طور کلی ۵ نوع کار وجود دارد که شما میتوانيد با انجام آنها در بين هکرها محبوبيت کسب کنيد:
۱-نرمافزار منبعباز بنويسيد
اولين(مهمترين و متداولترين) کار، نوشتن برنامههايی که هکرهای ديگر فکر میکنند جالب يا مفيد هستند و انتشار کد منبع آنها در ميان هکرهاست. (در گدشته ما به چنين کارهايی Free Software میگفتيم. اما اين اصطلاح مردم بسيار زيادی که نمیدانستند Free در اينجا به چه معنايی است را گيج میکرد. بنابراين اکثر ما (بر طبق آمار حاصل از محتوای صفحات وب، با حداقل نسبت ۲ به ۱) اکنون ترجيح میدهيم که ار اصطلاح نرمافزار Open Source استفاده کنيم)
محترمترين افراد در جامعهی هکرها افرادی هستند که برنامههای بزرگ و توانمند نوشتهاند که افراد بسياری به آن نرمافزارها احتياج دارند و آن نرمافزارها را در کل جامعهی هکرها منتشر کردهاند تا همهی افراد بتوانند از آن استفاده کنند.
۲-به تست و اشکالزدایی نرمافزارهای منبعباز کمک کنيد
همچنين کسانی که عهدهدار اشکاليابی و اشکالزدايی نرمافزارها میشوند نيز مفيد هستند. در دنيای امروزی ما ناگزیر به صرف بيشتر وقت توسعهی نرمافزارهايمان در مرحلهی اشکال زدايی هستیم. به همين دليل هر نويسندهی نرمافزار منبع باز به شما خواهد گفت که آزمايشگران خوب مرحلهی بتا (آزمايشگران مرحلهی بتا کسانی هستند که میدانند که چگونه علائم اشکال را دقيق توضيح دهند، محل اشکالات را به خوبی مشخص کنند و میتوانند با اشکالاتی که در نسخههای اوليه وجود دارد کنار بيايند و چند روش تشخيص محل عيب ساده را انجام بدهند) به اندازهی طلای هموزنشان ارزشمندند به قدری که حتی یکی از آنها میتوانند مرحلهی اشکال زدايی را از يک کابوس طولانی و خسته کننده را به يک دردسر عبرتآموز تبديل کنند.
اگر شما يک مبتدی هستيد، سعی کنيد که برنامهی در دست توسعه که مورد علاقهی شما باشد، پيدا کنيد و تلاش کنيد تا يک آزمايشگر مرحلهی بتای خوب باشيد. يک فرآيند طبيعی برای پيشرفت از کمک به آزمايش نرمافزارها تا اشکال زدايی آنها و از اشکال زدايی تا تغيير دادن آنها وجود دارد.
به اين ترتيب شما چيزهای زيادی ياد میگيريد و روابط خوبی با کسانی که در آينده به شما کمک خواهند کرد، پيدا میکنيد.
۳-اطلاعات مفيد را منتشر کنيد
يک کار خوب ديگر جمعآوری و انتشار اطلاعات مفيد و جالب در صفحات وب يا متونی مانند «مجموعهی پرسشهای متداول» و در اختيار ديگران قرار دادن آنها است. گردانندگان مجموعههای پرسشهای متداول بزرگ در زمينههای فنی، تقريباً به اندازهی نويسندگان نرمافزارهای منبعباز محبوبيت کسب میکنند.
۴-به انجام کارهای زيربنايی کمک کنيد
جامعهی هکرها (و به تبع آن توسعهی فنی مهندسی اينترنت) به وسيلهی داوطلبان پيشرفت میکند. کارهای ضروری و خسته کنندهی بسياری وجود دارند که برای ادامهی پيشرفت لازم است انجام داده شوند. مانند مديريت فهرستهای پستی، نظارت بر گروههای خبری، مديريت و نگهداری سايتهای بزرگ آرشيو نرمافزارها، توسعهی RFC ها و استانداردهای فنی ديگر نظير آنها.
افرادی که چنين کارهايی را به خوبی انجام میدهند، در بين ديگران بسيار مورد احترام قرار میگيرند. زيرا هر کسی میداند که اين کارها به مقدار زيادی وقت نياز دارند و به اندازهی بازی با کدمنبع نرمافزارها جالب نيستند. انجام چنين کارهايی نشانهی فداکاری افراد است.
۵-در انتشار فرهنگ هکرها همکاری کنيد
و بالاخره شما میتوانيد در انتشار خود فرهنگ هکرها مفيد باشيد. (برای مثال با نوشتن يک مقالهی دقيق و صحيح در مورد اينکه چگونه يک هکر بشويم ) شما هنگام شروع در موقعیتی نيستيد که بتوانيد چنين کاری را انجام بدهيد مگر آنکه برای مدتی در بين هکرها باشيد و به خاطر يکی از چهار شيوهی بالا مشهور شده باشيد.
جامعهی هکرها به طور مشخص رهبری ندارد. اما اين فرهنگ قهرمانها، پيشکسوتان، مورخان و سخنگويان خودش را دارد.اگر شما به مدت زيادی در بين هکرها باشيد، احتمالاً به يکی از اين گروهها خواهيد پيوست. اما مراقب باشيد:هکرها آشکارا پيشکسوتان خودشان را اذيت میکنند. پس مسلماً رسيدن به اين درجه از شهرت، بيشتر از تلاش برای بدست آوردن آن خطرناک است. شما بايد مراقب جايگاه خودتان باشيد و به جای تلاش برای رسيدن به شهرت کاری کنيد که اين موقعيت در مسير شما قرار گيرد. اين باعث پيشرفت شما خواهدشد و سپس در مقام خودتان متواضع و مهربان باشيد.
ارتباط بين هکر و نرد(Nerd)
برخلاف تصور مردم برای هکر شدن لازم نيست که يک نرد باشيد .گرچه اين سودمند است و اکثر هکرها در واقع نرد هستند. داشتن روابط اجتماعی خوب به شما کمک میکند که بر روی مسائل واقعاً مهم مانند فکر کردن و هکری تمرکز کنيد. به همين دليل اکثر هکرها عنوان نرد را برای خود انتخاب کردهاند و حتی اصطلاح غليظتر geek را به نشانهی افتخار به کار میبرند. اين راهی برای نشان دادن استقلال آنها از عرف معمول در جامعه است.
برای بحث گستردهتر در اين مورد صفحهی geek را ببينيد.
اگر شما میتوانيد بهخوبی بر روی هکری تمرکز کنيد تا يک هکر خوب باشيد و هم به زندگیتان برسید، اين خوب است. امروزه اين کار بسيار راحتتر از زمانی است که من يک مبتدی بودم (در دههی ۱۹۷۰).
امروزه برخورد هکرها با افراد مبتدی بسيار دوستانهتر است. همچنين تعداد افرادی که متوجه میشوند هکرها اغلب عاشقان خوب و همسردار هستند، در حال افزايش است.
اگر شما به دليل نرد بودن، به هکری علاقهمند هستيد، اين هم خوب است. حداقل شما مشکل تمرکز حواس نداريد. شايد شما هم بعداً از انزوا خارج شويد.
نکات مهم
دوباره میگويم برای هکر شدن شما ناچاريد که طرز فکر هکرها را يادبگيريد. کارهايی وجود دارند که شما هنگامی که در کنار کامپيوتر نيستيد، میتوانيد انجام بدهيد. اين کارها به هکر شدن شما کمک میکنند اما جايگزينی برای هکری نيستند (هيچ چيز ديگری نيست) اما اکثز هکرها اين کارها را انجام میدهند و احساس میکنند که اينها به نوعی به اساس هکری ارتباط دارند.
ياد بگيريد که زبان مادری خودتان را به خوبی بنويسيد. گرچه اين پندار عمومی که هکرها نويسندگان خوبی نيستند، وجود دارداما تعداد زيادی از هکرها (شامل تمام هکرهای ماهری که من میشناسم) نويسندگان بسيار توانايی هستند. داستانهای علمی-تخیلی بخوانيد و به بحثهايی در مورد داستانهای علمی-تخیلی بپيونديد (اين يک روش خوب برای آشنا شدن با هکرها و هکردوستان است).
يکی از شاخههای هنرهای رزمی را ياد بگيريد. شيوهی پرورش ذهنی که برای هنرهای رزمی لازم است، در بسياری از جهات با کاری که هکرها انجام میدهند، مشابه است. پرطرفدارترين شاخهها در ميان هکرها، هنرهای رزمی بدون سلاح هستند. مانند: نکواندو، کاراته، وينگ چون، آيکيدو و جوجيتسو. هنرهای شمشير بازی غربی و آسيايی نيز طرفداران قابل ملاحظهای دارند. در جاهايی که شليک با هفتتير قانونی است، اين شاخه نيز طرفداران زيادی از اواخر دههی ۹۰ پيدا کرده است. بهترين هنرهای رزمی برای هکرها آنهايی هستند که به پرورش ذهنی، تمرکز اعصاب و کنترل خود بيشتر از قدرت، ورزشگرايی و سختی جسمی اهميت میدهند.
مديتيشن را به طور منظم تمرين کنيد. Zen همواره در ميان هکرها محبوب است. (شما میتوانيد از Zen استفاده کنيد بدون اينکه مجبور شويد به مذهب جديدی روی بياوريد يا از مذهبی که داريد دست بکشيد.) سبکهای ديگر نيز مفيد هستند اما مراقب باشيد يکی از آن سبکهايی را انتخاب کنيد که نيازی به باور عقايد ديوانهوار نداشته باشد.
مهارتهای شنوايی خودتان را در زمينهی موسيقی توسعه دهيد. باد بگيريد که بتوانيد از نوع خاصی از موسيقی را درک کرده و از آن لذت ببريد. ياد بگيريد که چگونه يک ساز را خوب بنوازيد يا چگونه آواز بخوانيد.
مهارت خودتان را در جناس و بازی با کلمات بيشتر کنيد.
هر قدر که تعداد بيشتری از اين کارها را از قبل انجام بدهيد، استعداد ذاتی شما برای هکر شدن به همان اندازه بيشتر است. دليل انجام اين کارها به طور واضح معلوم نيست اما آنها به ترکيبی از مهارتهای نيمکرهی راست و چپ مغز ارتباط دارند که به نظر میآيد مهم باشد. هکرها بايد در لحظهای که به مسئلهای فکر میکنند، هم به تفکر منطقی قادر باشند و هم به نمودهای ظاهری مسئله توجه کنند.
زمانی که کار میکنيد، چنان با شور و شوق کار کنيد که انگار بازی میکنيد و چنان با دقت بازی کنيد که انگار کار میکنيد. برای هکرهای واقعی مرزی ميان بازی، کار، علم و هنر وجود ندارد. اين موضوعات با يکديگر ادغام میشوند تا يک سازندگی سطح بالاو مفرح به وجود آورند. شما نبايد به دامنهی کوچکی از مهارتها محدود بشويد.
گرچه معمولاً هکرها خوشان را به عنوان برنامهنويس معرفی میکنند اما اکثر آنها در زمينههای مرتبط نيز مهارت دارند. مديريت سيستم، طراحی صفحات وب و اشکال يابی سخت افزار کامپيوترهای شخصی موارد رايج هستند. يک هکر که مديريت سيستم را بر عهده دارد، به احتمال زياد در اسکریپت نويسی و طراحی صفحات وب مهارت دارد.
هکرها هيچگاه کاری را نصف و نيمه انجام نمیدهند. اگر آنها در زمينهای وقت صرف میکنند، حتماً تصميم گرفتهاند در آن زمينه بسيار خوب باشند.
و بالاخره چند کار که نبايد انجام بدهيد:
هرگز از نامهای مستعار احمقانه و پرزرقوبرق استفاده نکنيد
هرگز در جنگهای سرزنش ديگران در يوزنت (يا هر جای ديگری) شرکت نکنيد.
هرگز خودتان را يک ولگرد اينترنت (Cyber Punk) نناميد و هيچ گاه وقت خودتان را با کسی که چنين کاری را انجام میدهد، تلف نکنيد.
هرگز نوشتههای پر از غلط املائی و دستور زبانی را پست يا ميل نکنيد.
تنها چيزی که با انجام اين کارها به دست میآوريد، شهرت يافتن به عنوان يک احمق است. هکرها حافظهی طولانی مدتی دارند. ممکن است قبل از اينکه در ميان هکرها پذيرفته شويد، مجبور باشيد که سالها با سابقهی دسته گلهايی که به آب دادهايد، زندگی کنيد.
مشکلات ناشی از اسامی مستعار يا هويتهای مجازی نياز به شرح و توضيح بيشتری دارد:
پنهان کردن هويت خود پشت يک نقاب رفتار بچهگانه (و احمقانه)ی افرادی از قبيل کرکرها، قفلشکنان و گونههايی ديگر از زندگی سطح پايين است. هکرها هيچوقت چنين کاری انجام نمیدهند. هکرها با کارهايی که انجام میدهند، افتخار میکنند و دوست دارند که اين کارها با نام واقعی آنها پيوند بخورد. پس اگر شما نقابی بر چهره داريد، آن را برداريد. در ميان هکرها آن نقاب شما را فقط به عنوان يک بازنده معرفی خواهد کرد.
منابع ديگر
پل گراهام مقالهای به نام هکرهای بزرگ و مقالهی دیگری به نامدر حال تحصیل نوشته است که حاوی اطلاعات زيادی است.
Peter Seebach گردانندهی يک فهرست پرسشهای متداول در مورد هکرها است. اين پرسشها مخصوص مديرانی است که نمیدانند چگونه با هکرها رفتار بکنند.
مقالهای به نام «چگونه يک برنامهنویس بشويم» وجود دارد که يک مکمل عالی برای اين متن است. اين متن توصيههای با ارزشی در مورد کد نويسی، طرز فکر برنامه نويسان و چگونگی همکاری در يک تيم برنامهنويسی دارد.
همچنين من يک مقاله در مورد تاريخ جامعهی هکرها نوشتهام.
من مقالهای به نام The Cathedral and the Bazaar نوشتهام که حاوی توضيحات بسياری در مورد نحوهی کارکرد جامعهی لينوکس و جنبش منبعباز است. من همچنين در Homesteading the Noosphere مستقيماً به نتايج اين موضوع پرداختهام.
Rick Moen مقالهی فوقالعادهای در مورد اينکه «چگونه يک گروه کاربران لينوکس را اداره کنيم» نوشته است.
من با Rick Moen در نوشتن مقالهای به نام «چگونه سوالات خود را زيرکانه بپرسيم» همکاری کردهام. اين مقاله به شما کمک میکند سوالات خود را به روشی بپرسيد که راحتتر به جواب برسيد.
اگر شما به مطالبی در مورد چگونگی کارکرد کامپيوترهای شخصی، يونيکس يا اينترنت نياز داشتيد، مبانی کارکرد يونيکس و اينترنت را ببينيد.
اگر تصميم گرفتيد که نرمافزاری را منتشر کنيد يا الحاقيههايی برای نرمافزارهای مختلف بنويسید، اين راهنمای قدمبهقدم تمرين نحوهی انتشار نرمافزارها را دنبال کنيد.
اگر شما از شعرهای Zen خوشتان آمده، ممکن است مايل باشيد که Rootless Root: The Unix Koans of Master Foo را ببينيد.
س: آيا شما به من هکر شدن را ياد میدهيد؟
ج: از زمانی که برای اولين بار اين مقاله را منتشر کردم، هر هفته چندين درخواست از افراد مختلف دريافت میکنم که از من میخواهند مهارتهای هکری را به آنها ياد بدهم. ولی متاسفانه من وقت و انرژی کافی برای اين کار ندارم. پروژههای هکری خود من و مسافرتهايم به عنوان يک مدافع جنبش منبع باز، ۱۱۰٪ از وقت مرا میگيرد. حتی اگر وقت هم داشته باشم، هکری يک طرزفکر است و مهارتها را بايد خودتان ياد بگيريد.
شما خواهيد ديد که هکرهای واقعی همواره میخواهند به شما کمک کنند اما اگر از آنها بخواهيد که تمام چيزهايی را که در مورد هکری بلدند را به شما ياد بدهند، آنها به درخواست شما اعتنايی نخواهند کرد. اول سعی کنيد که مهارتهايی را بدست آوريد. نشان دهيد که در حال سعی کردن هستيد و اينکه شما توانايی آنرا داريد که خودتان ياد بگيريد سپس از هکرهای ديگر يک سوال مشخص بپرسيد.
اگر شما میخواهيد برای راهنمايی گرفتن به يک هکر ميل بزنید، نکاتی وجود دارد که بايد از قبل آنها را بدانيد:
اولاً ما متوجه شديم افرادی که در نوشتن نامههای خودشان کمتوجه هستند، معمولاً در فکر کردن نيز بیدقت تر از آن هستند که بتوانند يک هکر خوب بشوند. پس دقت کنيد تا کلمات را با املای صحيح بنويسيد و دستور زبان را درست به کار برده و از نشانهگذاری خوب استفاده کنيد. در غير اينصورت احتمالاً به درخواست شما توجهی نخواهد شد.
ثانياً هيچگاه درخواست نکنيد که جواب شما به آدرسی فرستاده شود که با آدرس ايميلی که شما از آن نامه را فرستادهايد، متفاوت است. افرادی که چنين کارهای را انجام میدهند، معمولاً کسانی هستند که از حسابهای دزديده شده استفاده میکنند و ما علاقهای نداريم که به دزدها کمک کنيم.
س: چگونه میتوانم شروع کنم؟
ج: بهترين روش برای آغاز رفتن به جلسات گروه کاربران لينوکس است. شما میتوانيد چنين گروههايی را در صفحهی اصلی اطلاعات لينوکس (LDP) پيدا کنيد. احتمالاً يکی از اين گروهها در نزديکی شما قرار دارد و شايد به يک کالج يا دانشگاه وابسته باشد. اگر از اعضای گروه بخواهيد، به شما يک لينوکس میدهند و مطمئناً به شما در نصب و راهاندازی آن کمک خواهند کرد.
س: چه وقت بايد شروع کنم؟ آيا سن من برای يادگيری بالاست؟
ج: در هر سنی که مشا قصد داريد شروع کنيد،يک سن خوب است. اکثر افراد در بازه سنی۱۵ تا ۲۰ سال علاقهمند میشوند ولی من استثنائاتی را در هر در دو جهت میشناسم.
س: چه مقدار طول میکشد تا من هکری را ياد بگيرم؟
ج: اين بستگی به مقدار هوش و پشتکار شما دارد. اکثر افراد اگر بر روی اين موضوعات تمرکز کنند، مهارتهای مورد انتظار را در طی ۱۸ ماه تا ۲ سال بدست میآورند. اما فکر نکنيد که تصور شما به همين جا ختم میشود. اگز شما يک هکر واقعی باشيد، مابقی عمرتان را به يادگيری و بهتر نمودن مهارتهايتان اختصاص خواهيد داد.
س: آيا ويژوال بيسيک و سیشارپ زبانهای برنامهنويسی خوبی برای شروع یادگيری هستند؟
ج: اگر شما چنين سوالی را میپرسيد، مطمئناً به اين معنی است که شما قصد داريد که هکری را تحت ويندوز ياد بگيريد. اين ايده به خودی خود بد است. هنگامی که من سعی برای هک کردن تحت ويندوز را با سعی برای يادگيری رقص هنگامی که داخل قالبی قرار داريد، مقايسه کردم، شوخی نمیکردم. به طرف ويندوز نرويد چون خيلی بد است و هيچوقت خوب نخواهد شد.
مشکلات خاصی در رابطه با ويژوال بيسيک و سیشارپ وجود دارد. مهمترينشان اين است که کد توليد شده توسط آنها حملپذير نيست (قابل اجرا در سيتم عامل ديگری نيست). گرچه نمونههای اوليهای از نرمافزارهای منبعباز توسط آنها نوشته شده است، اما استانداردهای ECMA به جز دستهی کوچکی از خصوصيات رابط کابری آنها از بقيه پشتيبانی نمیکند. تحت ويندوز اکثر پشتيبانی کتابخانهای دادهها به يک شرکت خاص (مايکروسافت) تعلق دارد.
اگر شما کاملاً مراقب امکاناتی که از آنها استفاده میکنيد -بيشتر از آنچه يک فرد مبتدی میتواند- نباشيد، به طور قطع سرانجام در يکی از سکوهايی که مايکروسافت از آنها پشتيبانی میکند، محدود خواهيد شد. اما اگر شما با يونيکس آغاز بکنید، زبانهای برنامهنويسی خيلی بهتری با کتابخانههای بهتری خواهيد داشت.
ويژوال بيسيک فوقالعاده مزخرف است و مانند بيسيکهای ديگر زبانی است که طراحی بسيار ضعيفی دارد و شما را به روشهای غلط در برنامهنويسی عادت میدهد. از من نخواهيد که جزئيات آن را شرح دهم. اين توضيحات صفحات يک کتاب را پر میکنند. به جای بيسيک يک زبان برنامهنويسی خوب طراحی شده را ياد بگيريد.
يکی از عادتهای بد وابسته شدن به ابزار کتابخانهای و لوازم توسعهی يک شرکت خاص است.
اساساً هر زبانی که به طور کامل حداقل توسط لينوکس يا يکی از BSD ها پشتيبانی نشود و يا حداقل تحت سيستمعاملهای سه شرکت متفاوت کار نکند، يک زبان ضعيف برای هکری است.
س: آيا شما به من کرک کردن را ياد میدهيد يا به من کمک میکنيد تا يک سيستم را کرک کنم؟
ج: نه! هر کسی که بتواند بعد از خواندن اين متن بتواند اين پرسش را بپرسد، احمقتر از آن است که تعليم داده شود. حتی در صورتی که من برای آموزش وقت داشتم. اگر من ايميلی با چنين درخواستی دريافت کنم، به آن توجه نخواهم کرد يا با بی ادبی زياد به آن پاسخ خواهم داد.
س: چگونه میتوانم کلمهی عبور شخص ديگری را بدست آورم؟
ج: اين کرک کردن است.
س: من چگونه میتوانم ايميلهای افراد ديگری را بخوانم يا کنترل کنم؟
ج: اين کرک کردن است.
س: چگونه میتوانم مجوز اپراتوری را در شبکههای IRC بدست بياورم؟
ج: اين کرک کردن است.
س: من کرک شدهام. آيا شما میتوانيد به من کمک کنيد تا