Sikap hacker penting, tapi terlebih penting lagi keahlian. Sikap bukan pengganti keahlian, dan ada seperangkat keahlian menggunakan perangkat tool yang perlu Anda kuasai sebelum orang bahkan bisa berpikir memanggil Anda hacker.
Perangkat tool ini perlahan-lahan memang berubah seiring teknologi yang menciptakan keahlian baru dan membuat keahlian lama tidak berguna. Misalnya, dulu keahlian pemrograman bahasa mesin termasuk, dan kemampuan HTML belum dan hanya baru-baru ini saja. Yang jelas saat ini yang termasuk adalah:
4.1 Pelajari pemrograman.
Ini tentunya merupakan keahlian hacking yang fundamental. Jika Anda belum pernah belajar bahasa pemrograman mana pun, saya sarankan mulai dengan Python. Disainnya bersih, terdokumentasi dengan baik, dan cukup mudah bagi pemula. Meski menjadi bahasa pertama, bukan berarti Python hanya mainan, Python amat ampuh dan fleksibel dan cocok untuk proyek-proyek besar. Saya menulis evaluasi terhadap Python yang lebih mendetil. Tutorial Python bisa dilihat di situs web Python (terjemahan Indonesia).
Java juga bahasa yang baik untuk belajar pemrograman. Lebih sulit dari Python, tapi menghasilkan kode yang lebih cepat dari Python. Menurut saya Java amat bagus sebagai bahasa kedua. Perlu diingat bahwa dengan satu dua bahasa pemrograman saja Anda tidak akan mencapai tingkat keahlian seorang hacker, atau bahkan seorang programer — Anda perlu belajar cara memandang pemrograman secara umum, tidak bergantung pada satu bahasa mana pun. Untuk menjadi hacker sejati, Anda perlu mencapai tahap di mana Anda dapat mempelajari bahasa baru dalam beberapa hari, dengan menghubungkan apa yang ada di manual dengan apa yang telah Anda ketahui. Hal ini berarti, Anda perlu mempelajari beberapa bahasa yang jauh berbeda satu dengan yang lainnya.
Jika ingin serius dalam pemrograman, pada akhirnya Anda harus belajar C, bahasa inti sistem operasi Unix. C++ terkait erat dengan C; jika tahu yang satu, belajar yang lain tidak akan susah. Namun keduanya bukan bahasa yang cocok untuk dipelajari pertama kali.
Bahasa lain yang juga penting untuk hacker antara lain Perl dan LISP. Perl patut dipelajari untuk kebutuhan praktis; Perl dipakai secara amat meluas untuk halaman web aktif dan untuk administrasi sistem, jadi meskipun nantinya Anda tidak akan membuat program dalam Perl, Anda sebaiknya belajar cara membaca Perl. LISP patut dipelajari karena akan memberikan pengalaman ‘membuka pikiran’ jika Anda telah menangkapnya, dengan mempelajari LISP, Anda akan menjadi seorang programer yang lebih baik, meskipun dalam kenyataan Anda akan jarang memakainya.
Paling baik sebetulnya mempelajari semuanya (Python, Java, C/C++, Perl, dan LISP). Selain merupakan bahasa-bahasa terpenting dalam hacking, masing-masing mewakili cara pendekatan pemrograman yang berbeda, dan tiap bahasa akan memberi Anda pelajaran-pelajaran berharga. Tentu saja, di sini tidak mungkin saya memberi petunjuk lengkap cara memrogram — pemrograman merupakan keahlian yang kompleks. Tapi, satu petunjuk yang saya berikan: buku dan kursus saja tidak akan membuat Anda menjadi seorang programer (banyak, mungkin hampir semua hacker terbaik itu belajar mandiri). Anda akan menjadi programer dengan (a) membaca kode dan (b) menulis kode.
Belajar membuat program adalah seperti belajar menulis dalam bahasa alamiah. Cara terbaik untuk melakukannya dengan membaca tulisan yang dibuat oleh para ahlinya, membuat tulisan sendiri sedikit, membaca lebih banyak lagi, menulis lebih banyak, dan mengulanginya sampai di tulisan Anda mulai terbentuk semacam kekuatan dan kemahiran penggunaan kata seperti di tulisan-tulisan yang semula Anda teladani.
Dahulu sulit mencari kode yang baik untuk dibaca, karena dulu hanya sedikit program-program besar yang terdapat dalam bentuk source untuk bisa dibaca dan diutak-atik hacker-hacker pemula. Sekarang kondisinya jauh berbeda: software open-source, tool pemrograman, dan sistem operasi (semua dibuat oleh hacker) kini banyak terdapat. Dan ini mengantar kita pada poin berikutnya…
4.2 Cari, pelajari, dan jalankan salah satu versi Unix open-source.
Saya anggap Anda memiliki, atau memperoleh akses ke komputer pribadi (anak-anak sekarang mudah sekali mendapatkan akses ). Kalau ada satu langkah terpenting bagi pemula untuk mendapatkan kemampuan hacker, itu adalah mendapatkan satu salinan sistem operasi Linux atau salah satu Unix BSD, meng-install-nya di komputer sendiri, dan menjalankannya. (Tidak saya sarankan meng-install Linux sendirian jika Anda pemula. Cari klub komputer atau kelompok pengguna Linux di daerah Anda dan mintalah bantuan; atau hubungi Linux Internet Support Co-Operative. LISC mengurus channel-channel IRC tempat Anda dapat bertanya). Tentu, di dunia ini ada banyak sistem operasi selain Unix. Tapi sistem-sistem operasi tersebut didistribusikan dalam program jadi (binary) — kodenya tidak bisa Anda baca, sehingga sistem operasi tersebut tidak bisa Anda modifikasi. Belajar hacking di DOS atau Windows atau MacOS adalah bagaikan belajar menari dengan seluruh tubuh digips.
Lagipula Unix-lah sistem operasi Internet. Meski tentu bisa belajar menggunakan internet tanpa mengenal Unix, Anda tak akan mampu menjadi hacker Internet tanpa memahami Unix. Untuk alasan inilah, budaya hacker saat ini cukup cenderung berat ke Unix. (Ini tidak selalu benar, beberapa hacker zaman dahulu tidak menyukai kenyataan ini, tapi simbiosis antara Unix dan Internet telah menjadi kuat sehingga bahkan otot Microsoft pun tak mampu membengkokkannya.)
Jadi, buatlah sistem Unix — saya pribadi menyukai Linux tapi tentu saja ada yang lainnya (dan ya, Anda bisa menjalankan Linux dan DOS/Windows di mesin yang sama). Pelajari Unix. Jalankan Unix. Bermain-mainlah dengan Unix. Berhubungan dengan internet melalui Unix. Baca kodenya. Modifikasi. Di Unix Anda akan menjumpai tool pemrograman yang lebih baik (termasuk C, Lisp, Python, dan Perl) ketimbang di sistem operasi Microsoft manapun, Anda akan bersenang-senang, dan Anda akan mendapat pengetahuan lebih dari yang Anda sadari sampai kemudian ketika mengenang kembali Anda telah seorang hacker ahli.
Lebih jauh tentang mempelajari Unix, lihat The Loginataka.
Untuk memperoleh Linux, lihat Where can I get Linux.
Bantuan dan resource BSD Unix bisa Anda lihat di www.bsd.org.
Saya menulis pengantar dasar Unix dan Internet.
(Catatan: Saya tidak menganjurkan menginstal Linux atau BSD sendirian jika Anda seorang pemula. Untuk Linux, carilah sebuah kelompok pengguna lokal Linux [KPLI di Indonesia] dan mintalah bantuan mereka; atau hubungi Open Projects Network. LISC memaintain daftar IRC channel yang bisa Anda datangi untuk memperoleh bantuan.)
4.3 Pelajari cara menggunakan World Wide Web dan cara menulis HTML.
Kebanyakan hasil budaya hacker bekerja di belakang layar tanpa diketahui orang banyak, membantu mengoperasikan pabrik, kantor, dan universitas, tanpa ada pengaruh yang jelas pada cara hidup para non-hacker. Web adalah satu kekecualian, bahkan para politisi pun mengakui bahwa barang mainan hacker yang besar dan berkilauan ini telah mengubah dunia. Untuk satu alasan ini saja (dan juga banyak alasan bagus lainnya) Anda perlu mempelajari cara pengoperasian Web.
Maksudnya lebih dari sekedar cara menggunakan browser (sebab kalau itu siapa pun bisa), tapi mempelajari cara menulis HTML, bahasa markup Web. Bila Anda belum menguasai pemrograman, lewat menulis HTML Anda akan diajari beberapa kebiasaan mental yang akan membantu Anda belajar pemrograman. Jadi, buatlah home page.
Hanya dengan membuat homepage tidak akan membuat Anda menjadi (bahkan dekat pun tidak) seorang hacker. Web penuh dengan home page. Kebanyakan hanyalah kotoran tanpa arti, tanpa isi — kotoran yang tampak indah, tapi tetap kotoran (lebih jauh tentang ini, lihat The HTML Hell Page).
Agar bermanfaat, halaman Anda harus mengandung content — harus menarik dan/atau berguna bagi hacker lain. Dan ini mengantar kita pada bahasan berikutnya…