How To Become A Hacker (Eric Steven Raymond - Copyright 2001)
Lời người dịch:
Đây là bản dịch của tài liệu "How To Become A Hacker" của Eric Steven Raymond. Bản gốc có ở http://catb.org/~esr/faqs/hacker-howto.html.
Tôi dịch tài liệu này với hy vọng phần nào cung cấp thông tin nhằm mục đích giải toả một số ngộ nhận về cái gọi là 'hacking'.
Cá nhân tôi cho rằng Eric Raymond có một cái nhìn cực đoan thể hiện
qua những điều anh ta định nghĩa và phân tích trong tài liệu này. Có
nhiều điểm anh ta cố tình (hay vô ý), càng về sau, càng đưa tính chất
hacking hướng về việc đóng góp và phát triển cộng đồng mở nguồn và đây
là một cái nhìn (theo tôi là) thiên vị. Tuy vậy, tài liệu này của Eric
Raymond đã đưa ra những điểm giá trị về cái gọi là "thái độ" và khả năng
tư duy một hacker. Những điểm bàn về "phong cách" và thói quen của
hackers là những điểm lý thú.
Theo tôi, hacker và hacking không có biên giới rõ ràng về hệ điều
hành, về software, về môi trường.... Hacking là việc thay đổi tính chất
và khả năng làm việc của một sự thể và "sự thể" này không có giới hạn
Microsoft, Linux, BSD, Solaris.... Hacking cũng không nhất thiết phải là
những đóng góp cho cộng đồng mã nguồn mở. Bất cứ nơi đâu, hacking để
giải quyết trở ngại, để cải thiện công việc, để nâng cao chất lượng....
đều là hacking. Rất mong bạn đọc với cái nhìn tỉnh táo.
Tại sao có tài liệu này?
Là chủ biên của mục http://www.ctb.org/jargon
và một số tài liệu nổi tiếng có tính chất tương tự, tôi thường nhận rất
nhiều e-mail từ các newbies hỏi cách "làm sao tôi có thể học để trở
thành cao thủ hacker -1-?" Quay về năm 1996, tôi thấy chẳng có FAQ -2-
hoặc tài liệu trên web giải đáp câu hỏi tuyệt đối cần thiết đó, bởi thế
tôi bắt đầu với tài này. Ngày nay, rất nhiều hackers cho rằng tài liệu
này là một kim chỉ nam -3-.
Nếu bạn đang đọc một bản lưu nào đó của tài liệu này, phiên bản hiện lưu có ở: http://catb.org/~esr/faqs/hacker-howto.html
Có khá nhiều bản dịch của tài liệu này cho các thứ tiếng: Ả Rập,
Bulgary, Catalan, tiếng Hoa (giản thể), Đan Mạch, Hoà Lan, Farsi (tiếng
Iran), Phần Lan, Đức, tiếng Do Thái thuộc nhánh Hy Lạp, Ý, Nhật, Na Uy,
Ba Lan, Bồ Đào Nha, Romania, Nga, Tây Ban Nha, Thổ Nhĩ Kỳ và Thụy Điển.
Xin lưu ý vì bản chính thỉnh thoảng có thay đổi nên các tài liệu dịch có
thể bị lỗi thời ở mức nào đó.
Năm chấm trong chín hình vuông được dùng để trang trí trên tài liệu này được gọi là glider. Nó là một mẫu đơn giản có các giá trị đáng ngạc nhiên của một quy trình simulation toán học được gọi là http://dmoz.org/Computers/Artificial_Life/Cellular_Automata/Conway's_Game_of_Life/
đã làm nhiều hackers kinh ngạc nhiều năm qua. Tôi nghĩ nó có thể dùng
để làm một biểu tượng tuyệt vời cho những điều hackers ưa thích - tính
trừu tượng -4-, thoạt tiên có vẻ mang một
chút bí ẩn, nhưng đó là cổng vào một thế giới đầy logic của riêng nó.
Bạn có thể đọc thêm về biểu tượng glider ở http://www.catb.org/~esr/hacker-emblem/.
Hacker là gì?
Trên mục http://www.catb.org/jargon có
chứa một mớ định nghĩa cho từ 'hacker', hầu hết liên quan đến khả năng
kỹ thuật và cái sướng sau khi giải quyết những trở ngại và vượt qua các
giới hạn. Nếu bạn muốn biết cách trở thành một hacker, chỉ có hai định nghĩa là xác hợp.
Có một cộng đồng, một nơi có thứ văn hoá chia xẻ của các chuyên
viên lập trình và các cao thủ mạng từ nhiều thập kỷ trước, từ thời các
tiểu vi tính -5- lần đầu được tung ra và từ
thời ARPAnet còn hoang sơ. Các thành viên của cộng đồng này tạo ra từ
'hacker'. Hackers xây dựng nên Internet. Hackers tạo ra hệ điều hành
UNIX ngày nay. Hackers điều quản Usenet. Hackers làm cho World Wide Web
hoạt động. Nếu bạn là một phần của cộng đồng này, nếu bạn đã đóng góp
cho nó và những người trong cộng động này biết đến bạn, gọi bạn là
'hacker' thì bạn chính là hacker.
Tư duy của một hacker không giới hạn trong khuôn khổ văn hoá 'software-hacker'. Những người này đã áp dụng thái độ
của hacker vào những việc khác ví dụ như trong điện tử hoặc trong âm
nhạc - thật sự ra, bạn có thể thấy điều này ở đẳng cấp cao nhất của lãnh
vực khoa học hay nghệ thuật. Dân Software hackers nhận ra được mối liên
hệ đồng cảm ở những lĩnh vực khác và có thể gọi họ (những người ở những
lĩnh vực khác) là 'hackers' - vài người cho rằng bản sắc tự nhiên của
hacker thật sự độc lập với thể trạng mà hackers làm việc và tiếp cận -6-.
Phần còn lại của tài liệu này chúng ta sẽ tập trung vào khả năng và
thái độ của software hackers và các truyền thống của nền văn hoá chia xẻ
đã tạo ra từ 'hacker'.
Có một nhóm người khác luôn tự cho họ là hackers một cách ầm ĩ
nhưng thật sự họ không phải là hackers. Những người này (phần lớn là các
cậu ở tuổi đang lớn) là những người "ghi bàn" được một vài cú thâm nhập
vào máy tính và lừa lọc hệ thống điện thoại. Những hackers thực thụ gọi
loại người này là 'crackers' và họ (hackers) chẳng muốn dính dáng gì
đến đám người này. Hackers thực thụ hầu hết cho rằng đám 'crackers' lười
nhác, vô trách nhiệm và không thông minh cho lắm. Việc có thể bẻ gãy cơ
chế bảo mật chẳng biến anh thành một hacker; cái này chẳng khác gì khả
năng 'đề' xe (không cần chìa) -7- biến anh
thành một kỹ sư xe máy. Không may, quá nhiều phóng viên và cây viết đã
bị ngu hoá với việc dùng từ 'hacker' để mô tả crackers; điều này làm cho
các hackers thứ thiệt cực kỳ khó chịu.
Điểm khác biệt căn bản là: hackers xây dựng, crackers đánh đổ.
Nếu bạn muốn trở thành hacker, tiếp tục đọc. Nếu bạn muốn trở thành
cracker, hãy đến với news:atl.2600 newsgroup và sẵn sàng lao vào để tìm
thấy rằng bạn không khôn ngoan như bạn tưởng. Và đó là bấy nhiêu điều
tôi muốn nói về crackers.
Thái độ của Hacker
Hackers giải quyết trở ngại và xây dựng vật thể, và họ tin tưởng ở
tự do và tự nguyện chia xẻ, giúp đỡ lẫn nhau. Để được tiếp nhận như một
hacker, bạn phải tự trọng như thể chính bạn có thái độ này. Và để tự
trọng như thể bạn có thái độ ấy, bạn phải thật sự tin vào thái độ ấy -8-.
Nhưng nếu bạn nghĩ rằng chỉ cần bồi đắp thái độ để được tiếp nhận
vào xã hội này thì bạn đã ngộ nhận. Trở thành một người tin tưởng vào
những điều này là điều quan trọng cho bạn - bởi lẽ, từ việc giúp
đỡ, chính bạn sẽ học hỏi và duy trì động lực cho chính bạn. Cũng như với
các lĩnh vực nghệ thuật, cách hữu hiệu nhât để trở thành bậc thầy là
bắt đầu với tư duy của bậc thầy - không chỉ ở khía cạnh trí thức mà còn ở
khía cạnh tinh thần.
Hoặc, như một đoản thơ Thiền như sau:
Theo lối dẫn:
ngẩng nhìn thầy,
đi theo thầy,
đi cùng thầy,
nhìn thấu thầy,
trở thành thầy.
Thế, nếu bạn muốn trở thành hacker, lặp đi, lặp lại các điều sau cho đến khi bạn tin vào chúng:
1. Thế giới đầy những trở ngại kỳ lạ đang chờ được giải quyết.
Làm một hacker có nhiều điều vui, nhưng những điều vui này đòi hỏi
rất nhiều cố gắng. Cố gắng tạo động lực. Các vận động viên tìm thấy động
lực từ những điểm thú vị trong việc khiến cho cơ thể của họ hoạt động,
trong việc tự đẩy họ vượt qua chính giới hạn thể lực hiện có. Tương tự,
để làm một hacker bạn cần bắt lấy những niềm thích thú nho nhỏ từ việc
giải quyết được những trở ngại, tinh luyện khả năng và thực tập trí
thông minh của mình.
Nếu bạn không phải là dạng người có cảm nhận những chuyện này một
cách tự nhiên, bạn sẽ cần biến mình thành một người như thế thì mới có
thể trở thành hacker. Nếu không, bạn sẽ thấy năng lượng hacking của mình
bị những thứ dễ làm chi phối như tình ái, tiền bạc và danh tiếng....
cắn xé tơi bời.
(Bạn cũng cần phát triển một thứ niềm tin với khả năng học hỏi của
chính mình - một niềm tin, ngay cả có thể bạn không biết mọi điều cần
thiết để giải quyết trở ngại, nếu bạn chỉ cần lao vào để giải quyết một
mảnh trở ngại rồi học hỏi từ điểm ấy, bạn sẽ học đủ để giải quyết mảnh
kế tiếp - và như thế, cho đến khi bạn hoàn tất.)
2. Không có trở ngại nào nên được giải quyết hai lần
Những khối óc sáng tạo là những thứ quý báu, có giới hạn. Chúng không nên bị phí phạm trong việc tái tạo những thứ đã có sẵn -9- trong lúc có quá nhiều trở ngại lạ kỳ đang đợi được giải quyết ngoài kia.
Để có thái độ như một hacker, bạn cần tin rằng thời gian suy gẫm
của các hackers khác là những thứ quý giá - quý giá đến nỗi, đối với bạn
nó trở thành trách nhiệm đạo đức để phải chia xẻ thông tin, giải quyết
trở ngại và sau đó chia xẻ giải pháp để giúp những hackers khác có thể
giải quyết những trở ngại mới thay vì họ phải thường xuyên tái xét những trở ngại đã được (ai đó) giải quyết.
Tuy vậy, nên nhớ là câu "không có trở ngại nào nên được giải quyết
hai lần" không ẩn dụ rằng mọi giải pháp hiện có đều quý giá, hoặc chỉ có
một giải pháp đúng đắn cho một trở ngại. Thông thường, chúng ta nghiên
cứu một trở ngại nào đó chưa từng đối diện trước đây bằng cách hình
thành một giải pháp tức thời. Điều này không có gì sai và thường là cần
thiết để giúp quyết định một cách tốt hơn. Điều không hay nằm ở chỗ trở
ngại thuộc giới hạn kỹ thuật trá hình, pháp luật hoặc các hàng rào cản
tập đoàn (như mã nguồn đóng) làm ngăn cản giải pháp tốt được tái dụng và
buộc mọi người phải tái tạo lại những thứ đã có sẵn.
(Bạn không cần phải tin rằng bạn bị buộc phải chia xẻ mọi
sản phẩm sáng tạo của bạn, dẫu rằng những hackers làm việc này là những
người được nể trọng nhất trong đám hackers. Việc duy trì thu nhập cho
thức ăn, tiền trọ, chi phí cho máy tính là chuyện cần thiết. Bạn dùng
khả năng hack của mình để hỗ trợ gia đình hoặc ngay cả làm giàu, đều tốt
cả, miễn sao bạn đừng quên sự gắn bó của bạn đối với cái đẹp bạn tạo ra
và đối với những bạn hackers đồng hành cũng đang làm như thế).
3. Chán nản và đơn điệu là ám chướng
Hackers (và những người sáng tạo nói chung) không nên bị cảm thấy
chán nản hoặc đơn điệu trong khi làm những việc mang tính lặp đi, lặp
lại một cách ngu xuẩn, bởi vì khi cảm giác này xảy ra có nghĩa họ không
làm những điều họ đáng làm - giải quyết trở ngại. Sự lãng phí này làm
hỏng mọi người. Bởi thế, chán nản và đơn điệu không chỉ không thú vị mà
còn là ám chướng.
Để có thái độ như một hacker, bạn cần tin vào điều này, đủ để tự
động hoá những công việc nhàm chán càng nhiều càng tốt, không chỉ cho
riêng bạn mà cho mọi người (đặc biệt cho những hackers khác).
(Có một ngoại lệ hiển nhiên cho điều (số 3) này. Hackers đôi khi
làm những chuyện có vẻ như lặp đi lặp lại hoặc chán phèo để đóng vai như
một quan sát viên cho công việc "tẩy não" hoặc để thu thập kiến thức
hoặc kinh nghiệm nào đó không thể có được nếu không làm như thế. Nhưng
việc này tùy người - chẳng có ai nên bị đẩy vào vị thế chán chường.)
4. Tự do là điều tốt
Hackers có bản tính tự nhiên là những người chống cửa quyền. Bất cứ
ai có thể ra lệnh cho bạn đều có thể ngăn bạn làm công việc giải quyết
trở ngại mà bạn đam mê - và, bộ não của những kẻ có quyền lực thường nảy
ra những lý do ngu xuẩn và buồn nôn để ngăn trở bạn. Thế nên, thái độ
của kẻ cửa quyền cần được công kích bất cứ nơi nào bạn thấy có, hãy làm
cho nó tan biến khỏi bạn và những hackers khác.
(Đây không phải tương tự như chống đối luật pháp. Trẻ con cần được
uốn nắn và tội phạm cần được kiểm chế. Một hacker có thể đồng ý một thể
dạng luật pháp để đổi lấy cái gì đó anh ta muốn thay vì thúc thủ tuân
lệnh. Nhưng đây là chuyện có giới hạn, mặc cả tỉnh táo; một dạng chấp
nhận trao đổi bán chính thức giữa kẻ có quyền lực và bạn.)
Những kẻ có quyền lực thích bồi đắp khả năng ngăn cản và tính bí
mật. Và thế, họ không tin vào thái độ tự nguyện hợp tác và tự nguyện
chia xẻ thông tin - họ chỉ muốn 'hợp tác' theo kiểu họ khống chế. Bởi
thế, để có thái độ như một hacker, bạn cần phát triển phản xạ chống trả
với thái độ ngăn cản, thái độ bí hiểm bằng vũ lực hoặc ép buộc. Bạn cần
có ý chí để làm chuyện này.
5. Thái độ không thay thế thực chất khả năng
Để làm một hacker, bạn cần bồi đắp một số thái độ như thế. Nhưng
chỉ có thái độ sẽ không đủ biến bạn trở thành một hacker hoặc một vận
động viên vô địch hoặc một ngôi sao nhạc rock. Trở thành một hacker cần
kiến thức, thực hành, bền bỉ và chăm chỉ.
Bởi thế, bạn cần hoài nghi 'dáng điệu' và thật sự tôn trọng thực
chất khả năng. Hackers không để cho những kẻ làm dáng lãng phí thời gian
của họ, ngược lại (hackers) thường tôn thờ thực chất khả năng - đặc
biệt là thực chất khả năng hacking và thực chất khả năng làm bất cứ việc
gì có giá trị. Thực chất khả năng cho những nhu cầu ích lợi (mà không
hiếm người đạt được) là điều rất tốt, và thực chất khả năng cho những
nhu cầu đòi hỏi sự linh mẫn của trí tuệ, khéo léo và độ tập trung là tốt
nhất.
Nếu bạn đã có sẵn thực chất khả năng, bạn sẽ phát triển nó một cách
thích thú - chăm chỉ và chuyên cần sẽ tạo nên trạng thái căng thẳng và
sẽ không có chỗ cho sự uể oải. Thái độ này là điểm tối quan trọng để trở
thành một hacker.
Kỹ năng hacking căn bản
Thái độ cần thiết của hacker là điểm quan trọng nhưng kỹ năng lại
càng quan trọng hơn. Thái độ không thể thay thế cho khả năng thật sự, và
một số "đồ nghề" -10- căn bản mà bạn phải có trước khi một hacker nào khác gọi bạn là hacker.
"Đồ nghề" này thay đổi dần dần theo thời gian khi công nghệ hình
thành những cái mới và làm cho cái cũ trở nên vô dụng. Ví dụ, trước đây
thường bao gồm việc lập trình bằng ngôn ngữ của máy -11- và gần đây, việc dùng HTML chẳng hạn không còn đòi hỏi này nữa. Ngay lúc này 'đồ nghề' gồm có những thứ khá rõ ràng như sau:
1. Học lập trình
Hiển nhiên đây là điểm nền móng cho kỹ năng hacking. Nếu bạn không
biết một ngôn ngữ lập trình nào, tôi đề nghị bạn bắt đầu với Python.
Ngôn ngữ này được thiết kế gọn, sạch, tài liệu đầy đủ và khá nhẹ nhàng
cho những người bắt đầu. Mặc dù thích hợp cho ngôn ngữ đầu tiên, nó
không phải là đồ chơi; nó rất mạnh mẽ, linh động và có thể thích hợp cho
các công trình lớn. Tôi đã viết một bài chi tiết http://www.linuxjournal.com/article.php?sid=3882 (đánh giá Python). Các bài http://www.python.org/doc/Intros.html có chất lượng có ở http://www.python.org.
Java cũng là một ngôn ngữ tốt để học lập trình. Nó khó hơn Python
nhưng cho phép tạo code nhanh hơn Python. Tôi cho rằng nó là một chọn
lựa rất tuyệt cho ngôn ngữ thứ nhì. Không may, phần nền của Java vẫn
thuộc dạng "đóng". Điều này không phải là vấn đề gì với chính ngôn ngữ
Java cả, nhiều bộ biên dịch nguồn mở chất lượng cao cho Java có trên
mạng; vấn đề thật sự với Java là các lớp thư viện phải luôn luôn đi kèm
với ngôn ngữ -12-. Các lớp thư viện nguồn mở
cho Java thường bị tụt lùi sau bộ thư viện của Sun. Bởi thế, nếu bạn
chọn Java, nên chọn một ứng dụng nguồn mở thay vì bị lệ thuộc vào nguồn
đóng của Sun.
Nhưng coi chừng một điều, bạn sẽ không đạt được mức kỹ năng cần
thiết của một hacker hoặc ngay cả một lập trình viên nếu bạn chỉ biết có
một hoặc hai ngôn ngữ - bạn nên học cách suy nghĩ đến những trở ngại
lập trình một cách tổng quát, không phụ thuộc vào bất cứ ngôn ngữ nào.
Trở nên một hacker thật sự, bạn cần đi đến chỗ bạn có thể học một ngôn
ngữ mới trong giới hạn tính theo ngày bằng cách liên hệ từ những gì có
trong tài liệu chỉ dẫn và những gì bạn đã biết. Điều này có nghĩa bạn
nên học rất nhiều ngôn ngữ.
Nếu bạn muốn đi sâu vào lập trình một cách nghiêm túc, bạn sẽ phải
học C, ngôn ngữ cốt lõi của Unix. C++ liên hệ rất gần với C; nếu bạn đã
biết cái này, học cái kia sẽ không khó. Tuy vậy, chẳng có cái nào tốt
hơn để học trước cả. Và thật ra, càng tránh lập trình trên C, bạn càng
năng suất.
C rất hiệu năng và hiệu dụng cho tài nguyên của máy. Không may C
đòi hỏi bạn phải thực hiện rất nhiều công tác quản lý tài nguyên ở mức
cấp thấp và bằng tay (trong phần bộ nhớ chẳng hạn) để đạt được mức hiệu
năng đó. Tất cả mã nguồn ở mức cấp thấp rất phức tạp và dễ tạo lỗi,
chúng dễ hao tổn cả khối thời gian của bạn cho việc tìm lỗi. Với độ mạnh
mẽ của máy tính hiện nay, việc đánh đổi (thời gian) thế này là điều
không hay - dùng một thứ ngôn ngữ tốn kém thời gian của máy, thiếu hiệu
xuất nhưng lại tiết kiệm thời gian của bạn có lẽ là chọn lựa thông minh
hơn. Như: Python chẳng hạn.
Những ngôn ngữ khác cũng không kém phần quan trọng đối với hackers như http://www.perl.com/ và http://www.lisp.org/.
Perl đáng để học vì lý do thực dụng; nó được sử dụng rộng rãi cho ứng
dụng web và công tác quản lý hệ thống, thế nên, ngay cả bạn không bao
giờ viết Perl, bạn cũng nên học cách đọc nó. Nhiều người sử dụng Perl để
tránh dùng C với những công việc không đòi hỏi mức hiệu năng của C, tôi
nghĩ nên dùng Python thì thích hợp hơn. Bạn cần phải hiểu code của
những người khác.
LISP đáng để đề cập đến vì một lý do khác - đó là cảm giác "phê"
khi bạn nắm bắt được nó. Cảm giác này sẽ biến bạn trở thành một lập
trình viên tốt hơn, ngay cả bạn không bao giờ dùng LISP. (Bạn có thể nắm
bắt được kinh nghiệm dùng LISP khá dễ dàng bằng cách viết và điều chỉnh
chế độ điều chỉnh cho Emacs -13- hoặc Script-Fu plugin cho GIMP -14-.)
Tốt nhất là nên học luôn cả năm ngôn ngữ: Python, C/C++, Java, Perl
và LISP. Ngoài lý do chúng là những ngôn ngữ lập trình quan trọng nhất
cho hacking, chúng còn đại diện cho các hướng tiếp cận rất khác nhau cho
việc lập trình và mỗi ngôn ngữ này sẽ giáo dục bạn bằng những cách có
giá trị khác nhau.
Tôi không thể cho bạn cách thức học từng ngôn ngữ ở đây - đây là
một thứ kỹ năng phức tạp. Tôi có thể cho bạn biết rằng những cuốn sách
và các khoá học cũng sẽ không chỉ cho bạn cách rèn luyện (rất nhiều, có
thể nói là hầu hết các hackers chiến nhất là những người tự học).
Bạn có thể học tính năng của ngôn ngữ - phần kiến thức - từ sách vở,
nhưng phần tư duy giúp chuyển hoá kiến thức vào kỹ năng thật sự trong
đời sống chỉ có thể tìm được qua thực hành và rèn luyện. Đó là những thứ
(a)đọc code và (b) viết code.
Peter Norvig là một trong những hackers đứng đầu của Google -15- và là đồng tác giả của cuốn sách giáo khoa phổ biến nhất cho về AI -16-, đã viết một tài liệu sáng giá có tên gọi là http://www.norvig.com/21-days.html (tự dạy lập trình trong mười năm). Đây là "công thức để thành công trong lập trình" của ông ta, một tài liệu đáng chú ý.
Học cách lập trình giống như học cách viết một thứ ngôn ngữ tự
nhiên. Cách tốt nhất là đọc một ít những thứ đã được các bậc thầy viết,
rồi tự bạn viết cái gì đó, đọc nhiều hơn nữa, viết thêm chút nữa, đọc
nhiều hơn nữa, viết nhiều hơn nữa.... và lặp lại cho đến khi những thứ
bạn viết bắt đầu hình thành sức mạnh và giá trị mà bạn thấy được từ
những mẫu người bạn noi theo.
Trước đây, tìm code hay để đọc là điều rất khó bởi vì rất ít có
chương trình đủ lớn mà có luôn mã nguồn để các hackers mới gia nhập có
thể đọc và táy máy. Điều này đã thay đổi rất nhiều; các chương trình mở
nguồn, các công cụ lập trình và các hệ điều hành (tất cả được hackers
xây dựng) lúc này có sẵn khắp nơi. Điều này dẫn tôi đến phần tiếp
theo...
2. Lấy ngay một cái Unix nguồn mở và học cách sử dụng và điều khiển nó.
Tôi giả định bạn có máy tính cá nhân hoặc có thể sử dụng một cái ở
đâu đó. (Hãy suy gẫm chốc lát để cảm thấu điều này. Văn hoá hacker
nguyên thủy biến thiên từ lúc máy tính thật đắt tiền đến nỗi rất nhiều
người không thể làm chủ nổi một cái). Bước đầu tiên và quan trọng nhất
cho bất cứ newbie nào để có thể vươn đến kỹ năng của hackers là lấy ngay
một bản Linux hoặc một bản BSD-Unix hoặc OpenSolaris, cài nó lên máy và
chạy nó.
Vâng, có nhiều hệ điều hành khác trên thới giới ngoài Unix nhưng
chúng được cung cấp ở dạng binary - bạn không thể đọc được mã nguồn và
bạn không thể điều chỉnh nó. Cố học hack trên máy chạy Microsoft Windows
hoặc trên một máy chạy hệ điều hành nào thuộc dạng mã đóng cũng giống
như cố học cách khiêu vũ trong lúc cơ thể đang bó bột -17-.
Có thể dùng MacOS X nhưng chỉ một phần của hệ điều hành là nguồn mở
- bạn hẳn sẽ sa vào hàng đống bế tắc và bạn cần cẩn thận để tránh lâm
vào thói quen xấu là phải dựa dẫm vào mã nguồn có bản quyền của Apple.
Nếu bạn tập trung vào phần Unix bên dưới, bạn có thể học được vài điều
hữu dụng.
Unix là hệ điều hành của Internet. Trong khi bạn có thể học cách sử
dụng Internet mà không cần biết đến Unix, bạn lại không thể là một
Internet hacker nếu không hiểu Unix. Vì lý do này, văn hoá hacker ngày
nay tập trung khá mạnh ở Unix. (Điều này không phải lúc nào cũng đúng,
và một số hacker thời trước vẫn không vui với chuyện này nhưng mối quan
hệ cộng sinh giữa Unix và Internet đã trở nên đủ mạnh khiến cho cả bắp
thịt Microsoft không đủ sức làm xước được nó).
Thế, mang Unix vào câu chuyện - bản thân tôi thích Linux nhưng có những cách khác (và vâng, bạn có thể
chạy cả Linux và Microsoft Windows trên cùng một máy). Học nó. Chạy nó.
Máy mó nó. Trao đổi trên Internet với nó. Đọc mã nguồn. Chỉnh mã nguồn.
Bạn sẽ có những công cụ lập trình (bao gồm C, LISP, Python và Perl) tốt
hơn bất cứ một hệ điều hành Microsoft nào mơ tưởng để có được. Bạn sẽ
vui thích, bạn sẽ bồi đắp thêm kiến thức nhiều hơn mà bạn có thể hình
dung (bạn chỉ có thể thấy) lúc nào đó, khi nhìn lại trọn bộ quá trình
như một hacker bậc thầy.
Để có thêm thông tin về việc học Unix, xem http://catb.org/~esr/faqs/loginataka.html. Bạn cũng có thể cần xem http://catb.org/~esr/writings/taoup/.
Để mó tay vào Linux, xem http://www.linux.org/;
bạn có thể tải đồ từ đó hoặc (tốt hơn nữa) tìm một nhóm người dùng ở
địa phương giúp bạn cho việc cài đặt. Đối với người dùng mới với Linux.
tất cả Linux Distribution đều tương tự như nhau.
Bạn có thể tìm thông tin giúp đỡ và tài nguyên về BSD Unix ở http://www.bsd.org.
Tôi cũng đã viết một bài tổng luận về http://en.tldp.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/index.html (căn bản về Unix và Internet).
(Ghi chú: Tôi thật lòng không đề nghị việc tự cài Linux hoặc BSD
một mình nếu như bạn là newbie. Với Linux, tìm một nhóm người dùng Linux
ở địa phương bạn để được giúp đỡ.)
3. Học cách sử dụng World Wide Web và viết HTML
Hầu hết hackers xây dựng những thứ giúp cho công việc không hiển
hiện cụ thể, họ giúp điều khiển nhà máy, văn phòng và trường đại học mà
chẳng để lại ảnh hưởng cụ thể gì đến đời sống của những người không phải
là hacker. Web lại là một ngoại lệ to lớn, web là một món đồ chơi khổng
lồ và lấp lánh khiến cho ngay cả đám chính trị gia -18-
cũng phải thừa nhận rằng nó đã thay đổi thế giới. Chỉ cần mỗi lý do này
(và nhiều lý do đáng giá khác nữa) đủ để bạn cần học cách làm việc với
Web.
Điều này không có nghĩa học cách sử dụng trình duyệt (ai cũng làm
được việc này), nhưng học cách viết HTML, thứ ngôn ngữ hình thành Web.
Nếu bạn không biết cách lập trình, viết HTML sẽ dạy bạn một số thói quen
tinh thần ích lợi cho việc học lập trình. Thế nên, làm vài trang web.
Cố bám vào XHTML, một dạng HTML sạch hơn dạng HTML cổ điển. (Có rất
nhiều bài thực tập hay trên Web; http://htmldog.com.
Nhưng chỉ có vài trang chủ thì chẳng đủ thiếu gì để biến bạn trở
thành một hacker. Web tràn ngập những trang chủ. Chúng hầu hết vô ích,
ngập ngụa trang trí nhưng hoàn toàn không có nội dung - rất hào nhoáng,
rất ngập ngụa, bạn phải biết, sự ngập ngụa này y hệt như nhau (xem thêm ở
http://catb.org/~esr/html-hell.html (trang HTML gớm giếc).
Để đáng công sức, trang của bạn phải có nội dung - nó phải lý thú và/hoặc hữu dụng cho các hackers khác. Điều này dẫn dắt chúng ta đến phần kế tiếp...
4. Nếu bạn không có tiếng Anh ở mức đủ dùng, học.
Một người Mỹ và nói tiếng Anh như tôi, trước đây tôi đã từng ngần
ngại khi đề nghị điều này, e rằng sẽ bị ngộ nhận như một thứ văn hoá chủ
nghĩa đế quốc. Nhưng hàng loạt những người có tiếng mẹ đẻ là tiếng Anh
và các thứ tiếng khác đã thúc đẩy tôi nên nhấn mạnh rằng tiếng Anh là
thứ ngôn ngữ dùng để làm việc của xã hội hacker và của Internet, và bởi
thế, bạn cần phải biết nó để có thể làm việc và sinh hoạt trong cộng
đồng hacker.
Quay lại khoảng 1991, tôi được biết có nhiều hackers dùng tiếng Anh
(là thứ ngôn ngữ thứ nhì của họ) trong các cuộc thảo luận kỹ thuật ngay
cả bằng khẩu âm của tiếng mẹ đẻ. Tôi được cho biết khi đó tiếng Anh có
từ vựng kỹ thuật phong phú hơn nhiều ngôn ngữ khác nên nó trở thành chọn
lựa thích hợp. Cho những lý do tương tự, các bản dịch từ những sách kỹ
thuật được viết bằng tiếng Anh thường thiếu sâu sát (khi chúng được hoàn
thành hay chăng nữa).
Linus Torvalds, người Phần Lan, chú thích mã nguồn của anh ta bằng
tiếng Anh (hiển nhiên anh ta chưa hề làm khác hơn thế - chú thích bằng
tiếng Phần Lan). Sự nhuần nhuyễn tiếng Anh của anh ta là một trọng điểm
cho phép anh triệu tập cộng đồng phát triển nhu liệu của toàn thế giới
cho Linux. Đây là một ví dụ đáng để noi theo.
Là một người có tiếng Anh là tiếng mẹ đẻ không bảo đảm bạn có đủ kỹ
năng ngôn ngữ để hoạt động như một hacker. Nếu lối viết của bạn thuộc
dạng thiếu hụt, không có văn phạm và đầy lỗi chính tả sẽ khiến cho nhiều
hackers khác (kể cả tôi) có xu hướng làm ngơ bạn. Dù rằng lối viết bừa
bãi không hẳn là biểu thị của lối suy nghĩ lộn xộn nhưng chúng tôi
thưòng thấy mối liên hệ này khá gần - và chúng tôi chẳng có chỗ cho
những người có lối suy nghĩ lộn xộn. Nếu bạn chưa thể viết một cách mạch
lạc, hãy rèn luyện để viết như thế.
Vị thế trong xã hội Hacker
Tương tự như hầu hết các dạng xã hội không dùng tiền nong làm tiêu
chuẩn, hacker hoạt động dựa trên uy tín. Bạn đang cố giải quyết một số
trợ ngại lý thú, nhưng chúng thật sự lý thú thế nào, và liệu những giải
pháp của bạn thật sự tốt, có cái gì để chỉ có những người đồng đẳng kỹ
thuật với bạn hoặc những người ở mức cao hơn mới có thể đủ sức đánh giá
những giải pháp này?
Theo đó, khi bạn chơi trò chơi hacker, bạn học cách ghi bàn chủ yếu
dựa trên nền tảng các hackers khác nghĩ thế nào về kỹ năng của bạn (đây
là lý do tại sao bạn không thực sự là một hacker cho đến khi khác
hackers khác thường xuyên gọi bạn là một hacker). Sự thật này trước đây
bị lu mờ bởi hình ảnh hacking như một hoạt động đơn độc, và cũng bởi
trong thâm tâm các hacker chống lại những quan điểm cho rằng động cơ làm
việc là niềm kiêu hãnh hoặc sự công nhận từ bên ngoài (quan điểm này đã
dần dần đã bị suy thoái từ những năm cuối thập niên 1990 nhưng vẫn còn
ảnh hưởng ít nhiều).
Một cách cụ thể, sinh hoạt hacker là một thứ mà những chuyên gia xã hội học -19- gọi là văn hoá cho tặng -20-.
Bạn đạt được vị trí và uy tín trong xã hội này không phải do đè nén
những người khác, không phải vì ngoại diện đẹp đẽ mà cũng chẳng phải do
có những thứ vật chất khiến những người khác thèm muốn nhưng vì sự hiến
tặng. Cụ thể hơn, do bạn hiến tặng thời gian của bạn, khả năng sáng tạo
của bạn và hiến tặng cả kinh nghiệm của bạn.
Có năm điều căn bản bạn có thể làm để được các hackers khác kính trọng:
1. Viết chương trình mã nguồn mở
Điều đầu tiên (cốt tủy và truyền thống nhất) là viết những chương
trình khiến những hackers thấy vui và hữu dụng, và hiến tặng mã nguồn
của chương trình cho cả cộng đồng hacker sử dụng.
(Trước đây chúng tôi gọi nó là "free software", nhưng từ này làm
nhiều người lầm lẫn và không xác định rõ "free" là thế nào. Hầu hết bây
giờ chúng tôi dùng cụm từ http://www.opensource.org/ software).
Những đại cao thủ -21- trong thế giới
hacker là những người đã viết các chương trình to lớn, có khả năng đáp
ứng những nhu cầu rộng lớn và hiến tặng chúng để mọi người có thể dùng.
Tuy vậy, có một điểm lịch sử tinh tế ở đây. Hiện tại, các hackers
tìm trong cộng đồng phát triển mã nguồn mở để chọn ra những người
"chiến" nhất, nhưng trước bán thập niên 1990, hầu hết các hackers làm
việc với mã nguồn đóng. Điều này vẫn còn đúng ngay khi tôi viết bản đầu
tiên của tài liệu HOWTO này vào năm 1996. Sau 1997 luồng mã nguồn mở mới
thật sự trở mình. Ngày nay, "cộng đồng hacker" và "những người phát
triển mã nguồn mở" là hai biểu dạng cho cùng một văn hoá và dân số -
nhưng đáng để nhớ rằng đây không phải là điều luôn luôn như vậy trước
đây.
2. Giúp thử nghiệm và tìm lỗi mã nguồn mở
Những hackers cũng đóng góp trong việc tìm lỗi cho software mã
nguồn mở. Trong thế giới thiếu hoàn hảo này, chúng ta không tránh khỏi
việc phải mất hầu hết thời gian trong phân đoạn tìm lỗi của cả một quá
trình phát triển software. Đó là lý do tại sao bất cứ một tác giả của
phần mềm mở nguồn nào có suy nghĩ thường cho bạn biết rằng những người
thử nghiệm phó bản đều được xứng đáng hưởng trọng lượng của họ ngang với
số lượng hồng ngọc (đây là những ai biết mô tả tình trạng rõ ràng, phân
vùng những trở ngại rạch ròi, có thể tiếp nhận lỗi trong một bảng công
bố nhanh (quick release), và sẵn sàng áp dụng một số chu trình kiểm tra
đơn giản). Ngay cả ai đó có thể giúp thay đổi trong phân đoạn tìm lỗi,
một phân đoạn mất thời gian và mệt nhọc thay vì kéo lê, chẳng đi tới đâu
cũng đáng ca ngợi.
Nếu bạn là một newbie, thử tìm một chương trình đang được phát
triển mà bạn thích và làm một người thử nghiệm phó bản xem sao. Có một
sự biến thiên từ việc giúp thử nghiệm chương trình đến tìm lỗi chương
trình và điều chỉnh chúng. Bạn sẽ học rất nhiều theo cách này và tích
đức -22- cho những người họ sẽ giúp bạn về sau.
3. Phổ biến thông tin hữu ích
Một cách rất hay là sưu tập và chọn lọc những thông tin hữu ích và
lý thú để tạo các trang web hoặc các tài liệu như "Những câu hỏi thường
gặp" (FAQ) và phổ biến chúng một cách rộng rãi.
Những người bảo trì các FAQ kỹ thuật quan trọng được nể trọng như những tác giả tạo mã nguồn mở.
4. Giúp duy trì cơ sở hạ tầng
Xã hội hacker (và những cơ cấu kỹ thuật) được các tình nguyện viên
điều hoạt. Có rất nhiều công việc cần thiết nhưng không "xôm tụ" cần
được gánh vác để xã hội này tiếp tục hoạt động - quản lý mailing lists,
điều hợp newsgroups, duy trì các site software lưu trữ, phát triển RFC -23- và các tiêu chuẩn kỹ thuật khác.
Những người làm các loại việc này rất được nể trọng bởi vì mọi
người biết rằng loại công việc này ngốn không biết bao nhiêu là thời
gian và không lý thú như việc táy máy với mã nguồn. Làm những việc này
chứng tỏ sự đóng góp lớn lao.
5. Phục vụ chính văn hoá hacker
Sau chót, bạn có thể phục vụ và phát triển chính văn hoá này (bằng
cách, ví dụ như viết một bài tổng luận về cách làm thế nào để trở thành
hacker ). Đây không phải là điều bạn có thể làm được cho đến khi đã sinh hoạt ít lâu và đã được biết đến với một trong bốn điểm ở trên.
Văn hoá hacker không có các vị lãnh tụ, nói một cách chính xác,
nhưng nó vẫn có những vị anh hùng và những "già làng", những sử gia và
những phát ngôn viên. Một khi bạn ở trong bộ lạc đủ lâu, bạn có thể trở
thành một trong những người như thế. Coi chừng: hackers không tiếp nhận
dạng người tự phụ trơ trẽn trà trộn trong nhóm "già làng" của họ, bởi
thế, thấp thoáng với tới "danh phận" này có phần nguy hiểm. Thay vì phấn
đấu để được lấy nó, bạn nên an nhiên, khiêm tốn và hài lòng với chính
vị trí của mình.
Mối quan hệ Hacker/Dân gạo cội -24-
Ngược với những điều thường được bàn tán, bạn không cần là một tay
"nerd" mới trở thành hacker. Nó có phần ích lợi và nhiều hackers quả
thật là những tay "nerd". Đôi khi bị tách rời khỏi xã hội thông thường -25- giúp bạn tập trung vào những điều quan trọng như suy nghĩ và hacking.
Vì lý do này, nhiều hackers tiếp nhận nhãn hiệu "geek" như một loại
phù hiệu để hãnh diện - đó là cách để công bố tính độc lập với các dự
tưởng xã hội thông thường (cũng là một cách chuộng những thứ khác như
khoa học giả tưởng và các loại game chiến thuật cũng thường đi đôi với
những ai là hacker). Từ "nerd" được dùng trước đây theo tinh thần này
vào những năm 90, khi mà 'nerd' là một dạng bị từ chối hạng nhẹ và
'geek' là dạng nặng hơn; một lúc nào đó sau năm 2000, chúng đổi chỗ, ít
ra là với văn hoá phổ thông của Mỹ, và hiện nay, một thứ văn hoá 'tự hào
geek' càng lan tràn trong đám người không phải là dân kỹ thuật.
Nếu bạn có thể làm cách nào để đủ tập trung vào hacking hoặc giỏi với chuyện này mà vẫn có một đời sống sinh hoạt bình thường -26-
thì đây là điều rất tốt. Chuyện này dễ dàng hơn nhiều ở thời nay so với
thời tôi còn là newbie vào những năm 70; xã hội chính thống bây giờ có
thiện cảm với đám 'kỹ thuật gạo cội' hơn rất nhiều. Thậm chí số người
tin rằng đám hackers thường là những người yêu tuyệt vời và những người
phối ngẫu lý tưởng.
Nếu bạn bị lôi cuốn vào hacking bởi vì bạn không có một đời sống
bình thường, điều này cũng tốt cả - ít ra bạn sẽ không bị trở ngại với
việc tập trung. Có thể bạn sẽ có một cuộc sống bình thường về sau.
conmale dịch và chú thích từ nguyên bản "How To Become A Hacker" - 14/9/2006
Chú thích:
-1-: Nguyên bản "wizardly hacker", tạm dịch là "cao thủ hacker" cho gần với tinh thần tiếng Việt. Dịch sát có thể có nghĩa là "phù thủy hacker".
-2-: FAQ (Frequently Asked Questions), các câu thường hỏi.
-3-: Nguyên bản "definitive",
một tài liệu hoặc hướng dẫn mang tính thẩm quyền và có giá trị xuất sắc.
Tạm dịch là "kim chỉ nam" và tôi giả định rằng nó vẫn còn giá trị này.
Tuy thế, tôi không chiếm giữ trọn bộ thẩm quyền các vấn đề thuộc chủ đề
này; nếu bạn không thích những điều đọc được ở đây, hãy tự viết bản của
mình.
-4-: Nguyên bản "abstract". Tạm
dịch sát nghĩ là "tính trừu tượng". Thật ra tinh thần abstract được đưa
ra ở đây không đơn thuần là trừu tượng, nó mang nặng tính khái niệm, nó
tách rời lý thuyết và các ứng dụng thực tiễn. Tính "abstract" ở đây xoáy
vào khía cạnh tư duy hơn là ứng dụng.
-5-: Nguyên bản "mini computers". Tạm dịch là "tiểu vi tính" để phân biệt với các "super computers" như mainframes.
-6-: Nguyên bản "the hacker nature is really independent of the particular medium the hacker works in".
Tạm dịch là "bản sắc tự nhiên của hacker thật sự độc lập với thể trạng
mà hackers làm việc và tiếp cận". Câu này tác giả nhận định rằng, hacker
không chỉ là những người làm việc với CNTT mà ở mọi lĩnh vực. Tư duy
của một hacker thật sự là tư duy của một người có khả năng suy luận và
hình thành giải pháp cho mọi vấn đề.
-7-: Nguyên bản "hotwires cars".
Tạm dịch là "'đề' xe (không cần chìa)". Hình ảnh này ám chỉ cho dạng
người hay "chôm" xe máy bằng cách đột nhập vào xe và khởi động máy bằng
cách chập hệ thống điện của bộ đề. Dạng này rất thường thấy ở các nước
Âu Châu, Mỹ và cách nước có nhiều xe máy.
-8-: Nguyên bản "To be accepted as a
hacker, you have to behave as though you have this kind of attitude
yourself. And to behave as though you have the attitude, you have to
really believe the attitude". Tác giả muốn nói rằng, ngay cả bạn
thật sự không hoặc chưa trang bị đúng thái độ của một hacker, bạn cũng
nên tỏ ra mình có thái độ này và tin tưởng vào thái độ này thì mới có
thể được tiếp nhận như một hacker.
-9-: Nguyên bản "re-inventing the wheel". Tạm dịch là "tái tạo những thứ đã có sẵn".
-10-: Nguyên bản "toolkit of skills". Tạm dịch "đồ nghề" cho gần gụi với tiếng Việt.
-11-: Nguyên bản "machine language". Tạm dịch là ngôn ngữ của máy. Thật ra nó ám chỉ loại ngôn ngữ ở tầng thấp nhất để gởi chỉ thị cho máy thực thi công việc.
-12-: Tôi không đồng ý hoàn toàn quan
điểm này của Eric. Bởi lẽ, bất cứ ngôn ngữ mạnh mẽ và phức tạp nào cũng
cần có bộ thư viện thì mới làm việc được. Hay chăng Eric cho rằng Java
JDK không được cài sẵn ở mức hệ điều hành? Eric bị mâu thuẫn trong câu
này. Nếu các ứng dụng mở cho Java thường đi sau Sun thì lý do thoả đáng
nào để dùng ứng dụng mở thay vì dùng bản của Sun?
-13-: Một text editor phổ biến và mạnh
mẽ trên *nix. Nó tạo cảm giác "khó dùng" cho những ai quen "point &
click" (như trên hệ điều hành Windows) như sau khi vượt qua được cảm
giác này. Emacs là một công cụ tuyệt vời cho nhu cầu xử lý text, lập
trình...
-14-: GIMP, một công cụ nguồn mở dùng để xử lý hình ảnh gần như là tiêu chuẩn trên các Linux Distribution.
-15-: xin đừng lẫn lộn với các tiểu xảo
thường gọi là "google hacking" bằng cách dùng các phối hợp từ khoá trên
Google để 'hack' (theo ý nghĩa không đúng về cái gọi là 'hack'). Peter
Norvig là một trong những người 'đẻ' ra Google. Ông ta 'hack' ở đây có
nghĩa là (cùng với các hackers khác) suy tư, thiết kế, thử nghiệm và
kiến tạo giải pháp cho công việc tìm kiếm (searching) và đã hình thành
nên Google. Trang chủ của Norvig ở: http://www.norvig.com/index.html
-16-: AI viết tắc của cụm "Artificial Intelligent",
một công nghệ kỳ thú và đa diện. AI tạm mang nghĩa tiếng Việt là "trí
tuệ nhân tạo" nhưng tôi không dịch hẳn ra như thế mà vẫn dùng AI vì hai
lý do: 1) AI là thuật ngữ quá đặc thù với lĩnh vực này, dịch ra tiếng
Việt sẽ làm hỏng tính đặc thù ấy. 2) "trí tuệ nhân tạo" không đủ lột tả
"artificial intelligent" bởi vì viết một software bình thường cũng đòi
hỏi "trí tuệ" và cũng "nhân tạo". Bởi thế, tôi đành để nguyên AI.
-17-: Nguyên bản "learn to dance while wearing a body cast".
Tạm dịch là "học cách khiêu vũ trong lúc cơ thể đang bó bột". Tác giả
muốn ám chỉ việc học 'hack' trên một hệ thống mã nguồn đóng hết sức hạn
chế.
-18-: Nguyên bản politicians, có nghĩa là "các chính trị gia". Từ này theo nghĩ đen chẳng có gì đặc biệt nhưng tác giả để nó ở dạng chữ nghiêng
để nhấn mạnh nghĩa bóng. Đây là chi tiết lý thú để khẳng định thái độ
chống cửa quyền đã nêu ở mục 4. Đối với những người làm khoa học thuần
thành, họ rất xem thường các chính trị gia, đặc biệt là ở các nước phát
triển. Các chính trị gia là những người chỉ ngồi trong văn phòng và tìm
cách kiếm phiếu thay vì làm những việc ích lợi và thiết thực. Họ không
quan tâm mấy đến những phát kiến ngoại trừ chúng có lợi cho họ (chủ yếu
là việc kiếm phiếu). Ở đây, web cũng khiến cho các chính trị gia quan
tâm, có nghĩa là mức ảnh hưởng của nó có biên độ và cường độ đáng kể đến
các chính trị gia.
-19-: Nguyên bản anthropologists, là những chuyên gia / khoa học gia chuyên về xã hội học.
-20-: Nguyên bản gift culture, tạm dịch là "văn hóa cho tặng". Thật ra, cụm từ được dịch ra ở đây không đủ lột tả tinh thần gift culture
bởi vì trong một xã hội, vật chất khuynh đảo mọi khiá cạnh của xã hội,
tính "cho tặng" ở đây là một hiện tượng hoặc một thứ văn hoá đặc thù và
độc đáo.
-21-: Nguyên bản "revered demigods",
tạm dịch "đại cao thủ" cho gần gụi. "revered demigods" hàm chứa sự tôn
trọng và vinh dự cao cả của một người được xếp hạng như thế.
-22-: Nguyên bản "karma". Tạm dịch là "tích đức" theo đúng tinh thần Phật giáo (theo từ karma).
-23-: Nguyên bản RFC hay là
"Request For Comments", là những tài liệu đề xuất các tiêu chuẩn ứng
dụng kỹ thuật. Chúng được dùng như kim chỉ nam để tạo sự đồng nhất và
tương quan giữa các ứng dụng có chung tính chất.
-24-: Nguyên bản "nerd". Tạm
dịch là "dân gạo cội" chỉ cho những cá nhân hết sức cần mẫn, chăm chỉ và
rất có khả năng. Hình tượng "nerd" là hình tượng một cá nhân (thường là
nam giới) gầy gò, mang cặp kính mắt rất dày và tỏ ra hiểu nhiều, biết
rộng.
-25-: ở những nước Tây phương, những ai
"bị" xếp vào dạng "nerd" thường ít nhiều bị tách rời khỏi các sinh hoạt
bình thường như bạn bè, tiệc tùng, giao tiếp. Đây có lẽ là một thứ "nếp
sống" và đây không hẳn là một thứ quan niệm đúng đắn.
-26-: Nguyên bản "have a life".
Tạm dịch "đời sống bình thường". Tôi thú nhận không thể dịch cụm "have a
life" sang tiếng Việt và chuyển tải đầy đủ hàm ý của nó. Cụm "have a
life" chẳng những hàm chứa một cuộc sống bình thường mà còn an hưởng và
thoả mãn với nó.
<21 data-blogger-escaped-a="" data-blogger-escaped-b="" data-blogger-escaped-c="" data-blogger-escaped-ch="" data-blogger-escaped-i="" data-blogger-escaped-m="" data-blogger-escaped-n="" data-blogger-escaped-ng="" data-blogger-escaped-ngh="" data-blogger-escaped-nh="" data-blogger-escaped-s="" data-blogger-escaped-t="" data-blogger-escaped-th="" data-blogger-escaped-u="" data-blogger-escaped-v="" data-blogger-escaped-vi="">
Nguồn: HVA
Phần 2: http://junookyo.blogspot.com/2012/12/bai-dich-how-to-become-hacker-2.html