Slide 1

Slide 1 text

Hackerdom Introduction

Slide 2

Slide 2 text

駭客道 黑客道

Slide 3

Slide 3 text

Hacker 的定義 1. 專精於某一技術或某特定領域的行家 2. 熱衷於解決問題、克服困難及突破限制的人 3. 對於 Hacker 文化/社群做出貢獻並被其他 Hackers 認同的人

Slide 4

Slide 4 text

Hacker 的起源 ● MIT Artificial Intelligence Laboratory ● 一群整天想賴在電腦前的阿宅們(? ● 愛吃中國菜 ● 為了在半夜偷用 lab 電腦自學開鎖技能 ● MIT 鐵道研究社,為了土炮鐵道模型自學各種 電路 推薦書籍: 黑客列傳:電腦革命俠客誌

Slide 5

Slide 5 text

廣義 VS 狹義 ● 廣義的 Hacker 適用於任何領域中擁有 Hacker 精神的人 無論是科學、藝術或其他各領域等等 ● 狹義的 Hacker 專指 computer hacker 我們接下來主要提及的是狹義的 Hacker

Slide 6

Slide 6 text

Hacker VS Cracker Hacker 創造;Cracker 破壞 Hacker 們創造了 ○ 第一台 time-sharing minicomputer ○ ARPAnet ○ Internet ○ UNIX ○ Usenet ○ World Wide Web (WWW) ○ Many computer games !! ■ Ken Thompson’s space travel game!

Slide 7

Slide 7 text

Cracker != Hacker H4ck32s n3v32 D13!

Slide 8

Slide 8 text

態度 1. 這世上充滿著許多迷人的問題等待被解決 2. 一個問題只應該被解決一次 3. 單調無聊的工作是罪惡 4. 自由萬歲 5. 態度無法取代能力

Slide 9

Slide 9 text

態度 1. 這世上充滿著許多迷人的問題等待被解決 身為一名 Hacker,你必須有辦法從 ● 解決問題 ● 磨練技術 ● 腦力激盪 中得到樂趣,儘管必須花費許多時間與氣力

Slide 10

Slide 10 text

態度 2. 一個問題只應該被解決一次 ● 大腦的思考時間是很寶貴且有限的。 ● 解決問題並於 Hacker 社群公開其結果,使其 他人能把時間花在解決其他新問題上。 (深深影響了 Open Source 的精神)

Slide 11

Slide 11 text

態度 3. 單調無聊的工作是罪惡 ● 重複性的工作代表著並沒有解決新問題 ● Hacker 會嘗試將這類工作自動化 (寫成腳本) ● 有創造性思考能力的人不該做些無聊的工作 ○ 例外:為了熟悉該技能而反覆練習

Slide 12

Slide 12 text

態度 4. 自由萬歲 ● Hacker 是天生的反獨裁主義者 ● 對審查和保密等資訊不公開的行為保持敵意 ● 並非向所有權威挑戰

Slide 13

Slide 13 text

態度 5. 態度無法取代能力 ● 只具備 Hacker 的態度不能使你成為 Hacker ● 需要智力、實踐、奉獻、努力 ● 必須學會質疑事物並尊重各種能力 ● 涉及腦力、技巧、專注力且越少人會的能力越 好

Slide 14

Slide 14 text

技能 1. 學習如何寫程式 2. 學習如何使用並執行開源的 Unix-like 系統 3. 學習如何使用 WWW 並撰寫 HTML 4. 如果你不懂那些術語的英文,請把它學會

Slide 15

Slide 15 text

技能 1. 學習如何寫程式 ● 寫程式是身為一個 Hacker 的基本技能 ● 如果不會任何一種程式語言建議先學 Python ● 獨立於任何語言之外的抽象思考 ● 在幾天內透過手冊掌握一門新語言 ● 閱讀書本或程式碼,邊讀邊寫 ● Python, Java, C/C++, Perl, LISP

Slide 16

Slide 16 text

技能 2. 學習如何使用並執行開源的 Unix-like 系統 ● 在個人電腦上安裝並使用 Linux 或 BSD 系統 ● 其他 Unix 系統可能不利你研究程式碼 ● Unix 和 Internet 的關聯非常緊密 ● 學習閱讀系統程式碼並修改程式碼

Slide 17

Slide 17 text

技能 3. 學習如何使用 WWW 並撰寫 HTML ● 不是只會用瀏覽器上網(這誰都會) ● 學會讀懂並撰寫 HTML 等 markup language ● 建立一個對其他 Hacker 有實質幫助內容的網 站 (分享解決問題的過程等等)

Slide 18

Slide 18 text

技能 4. 如果你不懂那些術語的英文,請把它學會 ● 英語是 Hacker 們溝通的語言 ● 非英語系母語的 Hacker 仍用英語討論技術 ● 英語相關技術書籍的翻譯都令人不甚滿意 (看看那些中文翻譯的原文書課本...) ● Linus Torvalds 是芬蘭人,但他用英語註解他 的程式碼

Slide 19

Slide 19 text

文化 1. 撰寫開源的軟體 2. 幫忙對開源軟體進行 testing 或 debug 3. 發表有幫助的訊息 4. 幫忙維護 infrastructure 的運行 5. 貢獻 Hacker 文化

Slide 20

Slide 20 text

現況 1. Hacker 與 Cracker 之間的差別已被媒體混淆 2. 最後的 Hacker - Richard Stallman

Slide 21

Slide 21 text

Well-known Hackers John McCarthy - AI, Lisp, ALGOL, timesharing Bill Joy - Sun, BSD UNIX, vi Donald Knuth - TAOCP, Father of analysis algorithm, TeX Dennis Ritchie (dmr) - C, Unix, K&R Paul Graham - Lisp, THN, Y Combinator, Hackers & Painters Alan Kay - OOP, GUI Ken Thompson - Unix, B, C, Plan9, Go, Regex, UTF-8 Richard M. Stallman (RMS) - Free Software, GNU, Emacs Linus Torvalds - Linux, Git Larry Wall - Perl, patch Guido Van Rossum - Python

Slide 22

Slide 22 text

Reference How to become a hacker - esr The Jargon File Coolshell Unix 傳奇

Slide 23

Slide 23 text

Hacker Nowadays 現在的駭客? http://en.wikipedia.org/wiki/Hacker_ (computer_security) Anonymous AVTokyo

Slide 24

Slide 24 text

Hackers in Taiwan CHROOT http://www.chroot.org/ NISRA http://www.nisra.net/

Slide 25

Slide 25 text

Hackers always say 『我不是駭客,我只是個資安顧問』 『我不是駭客,我只是個資安專家』