開學前的隨筆

這篇很長,很長

 

===========================================

 

只能說歲月不饒人,轉眼之間大學四年就這樣過去了

接下來讀碩士的這兩年

可以說是求學的最後階段了

雖然身為一個資訊人要有一輩子學習的心理準備

但是就某種程度上來說

這應該會是我最後一次以"學生"的身份待在校園裡面了

過了這個階段,就真的要上戰場了

 

===========================================

 

Review

 

回想這四年的大學生活

在成大的這些時日

應該算是我學到最多東西的一段時期

因為自小在封閉的家庭環境裡成長

大學生活的自由與多樣化真的是讓我開了眼界

也讓我認識了各式各樣的人,見識到了許多不同的生活方式

更重要的是這段日子裡我學到了如何自己管理自己的生活

而這樣的自由,也在一定程度上提升了我在學習上的表現

以前在家裡父母總是會限制我的休閒時間,導致在讀書的時候總想著要玩

可在大學不一樣,想玩就玩,該念書的時候自然就會念

在休閒與讀書的份量取得平衡的情況下

反而讓我覺得自己在大學的這段時間裡,學習的效果是最好的

 

人們常說台灣的大學生都要修的三學分: 課業,愛情,社團

關於這點我是完全沒在鳥的 

因為我覺得在大學最重要的是要能夠學習自己想要學的東西

而不是看見大家都在做什麼你就跟著去做什麼

大家都所嚮往的生活並不就代表那是你所嚮往的生活

也正因為如此,我的大學生活跟其他人有著極大的不同

不過我覺得這就是個人的選擇問題,選擇自己想要的才是最重要的

 

培養生活技能,吸收專業知識

來到大學,一切都是為了要學會如何生存

 

===========================================

 

大一,一個從屁孩向少年時代道別,轉趨成熟的一年

 

不得不承認在大一時有些時候還是蠻屁的

不管做什麼事情,都還是會帶點幼稚的心態和愚蠢的行為

現在想想自己在那個時候還真是白目(不堪回首啊...

不過我覺得之所以會這樣子

主要還是因為在上大學之前接觸的事物過於稀少

以致於自己在做人處事方面都呈現各方面的不成熟

不過這樣的現象在自己參與一些系上的活動之後

慢慢得藉由與人相處中,發現自己的缺點和許多需要改進的地方

經由一點一點的改善,慢慢的消失殆盡

而且自己也在參與活動的同時,學到了許多有用的東西

"辦一個活動"和"參加一個活動"是完全截然不同的經驗

很慶幸自己在大一的時候能夠體會到這些東西,獲取了相當多的經驗值

 

課業方面,因為上大學之前從未深入接觸電腦這個東西

以致於大一的時候不管學什麼都感到力不從心

尤其是在經歷過人生的第一項程式作業之後

感覺一整個就是震撼教育

也驚覺到如果再不努力,恐怕以後就得上街頭要飯了

幸好之後在學習程式的過程中

一位上清大資工的高中強者同學幫助了我許多

也因此打下了不錯的基礎

至少讓我在寫程式這方面不至於落人後

 

之後在下學期,首次接觸到了算是在我的大學生涯中相當重要的東西 -- ACM

一開始只是經由高中強者同學介紹了高中生程式解題系統

想說大一上的時候感覺程式還是學得很不紮實

於是大一下開始,就想說藉由這個系統練習寫程式

從零開始練,能練多少算多少

結果沒想到這一寫,竟然就寫出興趣來了

有一陣子每天晚上就是泡在網站裡面瘋狂練習寫程式

不過也因為這樣,讓我的功力突飛猛進

大部分的底子都是在那個時候打下來的

此外也在那個時候,參加了人生第一次的程式競賽 -- 南區大專院校程式設計競賽

也讓我見識到原來參加比賽是這麼累人的事,雖然經驗值也成長許多就是了

 

不過也因為在大一時太過追求於自己所喜歡的事物

導致在成績方面顧得不是很好,簡單來說就是不在乎過頭了

結果在大一下的一次直屬聚,跟學長聊過之後

才發現其實成績也是要顧好

也因此在大二時,決定退掉所有系上的活動,專心拼成績

卻也沒有想到這卻是另一項悲劇的開始

 

===========================================

 

大二,一個過於追求成績,反而忘掉初衷的一年

 

大二上一開始參加了 NCPC 的系內賽,結果是被學長慘電

震撼的同時也下定決心下一次一定要討回來

不過也因此,早早結束了有關於ACM的競賽

取而代之的是拔山倒海而來的課業潮

 

這學期修了網頁程式語言設計

承襲跑營隊時就有接觸的 HTML 和 Javascript

加上CSS, PHP, 以及 AJAX

基本上整個大二上就是在和網頁與資料結構這兩科搏鬥

也在這學期,體會到了第一次的團隊 project 實作經驗

第一次跟別人合作網頁 project, 完全沒有經驗

結果就隨便找了 Dropbox 當作 code 儲存平台和開發筆記的交流處 (那時還不知道 GitHub...)

結果收到不錯的的效果

也讓我一直到熟悉 GitHub 之前,都一直用 Dropbox 當作團隊 project 的開發平台XD

 

不過網頁 project 那次也讓我感受到進度控制的重要性

不管是分工還是監督組員,都要確實執行

當時因為完全沒有經驗,選擇相信組員

結果就是最後整個 project 有 90% 的東西都是我做的...

當然實力也是因此增加不少啦,但是勞累的感覺真的很不好

甚至還讓我因此錯過了第一次的投票選舉 = =

 

二上因為有認真的關係

成績大幅躍進前十

卻也因為看到這樣的成績

不斷的想說要精益求精

反而在大二下的時候,把搞得自己很累,也搞得自己很不開心

首先這學期修了六門主科,壓力頗大

加上 ACM 學長開課,造成課業,比賽兩頭燒

尤其修了多處理機平行程式設計和視窗程式設計

兩門都是coding份量佔很重的課,加上其他主科的考試作業也是一堆

結果就是一個疲於奔命的一學期

ACM 雖然有學長開課,但是嚴格來說這畢竟是第一次學

也因此有蠻多演算法的東西我都不是很了解

結果就在學藝不精的情況下,在系內賽被刷掉,失去了出去比南程盃的機會

課業方面,比較有心得的大概也只有視窗程式設計的期末 project 了

因為有前一次的經驗,所以再度是用 Dropbox 當作開發平台

也有確實督促組員完成份內的分工

但是還是有幾點必須改進 -- 時間控制和程式碼版本控制

前者無可厚非,十天前才開始做這完全是自作自受

後者就是屬於那種"只有自己體驗過一次才知道有多痛"的經驗了

最後在整合 code 的時候因為沒有做好版本控制,導致一直整合到錯誤的 code

也讓我體會到了版本控制的重要性

不過撇開這些不談,期末 project 還是獲得了教授的青睞,獲得了破表的全班最高分

也總算有了滿足的感覺,辛苦得有成果是再好不過的了

 

但是也因為這種追求完美的心態

導致當時的我對於分數有了過份的執著

造成了不管哪一科的分數出來,只要有問題就是往助教所在的實驗室跑

加上某科的助教有發生一些批改分數上的瑕疵 (簡單來說...就是有失公允...)

結果就是心態上產生了某些的變化,讓我開始厭惡這樣的自己,也開始厭惡台灣這種用分數評定任何標準的狗屎制度

幸好過了這一學期,利用放假的時候好好的反思了一下

覺得我大一的時候過於不在乎,結果成績糟糕透頂

以致於大二的時候過於追求成績,造成了現在這種心態

於是決定從大三開始,要取個平衡,成績固然重要,但是沒有必要過份執著

重點在於要能夠學到自己想學的東西

 

===========================================

 

大三,一個既不幸運,又很幸運的一年

 

二年級時被班上選為學藝

結果因為口碑不錯(?

以致於班上同學決定無視於不得連任的規定

再度把我推進了火坑(=w=

其實我覺得做學藝還蠻不錯的

至少會讓你自己去時時刻刻注意每一堂課的資訊和進度

幫助同學的同時也順便幫助自己顧好課業

 

不過即使如此,大三上卻是我個人認為,大學四年裡過的最不爽的一學期

 

首先就是宿舍隔壁房搬進了一個非常沒品的人

時常甩門不說,最主要的就是他常常無視於宿舍規定

帶同學進他房間嬉鬧,甚至到了半夜還在那邊聊天,大笑

對於隔音設備沒那麼好的宿舍來說,住在隔壁房根本就是折磨自己

上大學基本上沒與人發生過什麼衝突,這麼惱怒的感覺還是第一次

之後就是請宿舍副理進行調解,勸說,希望他能夠尊重其他房客

沒想到他還是我行我素,依然故我

再再印證了"會考試跟有教養完全是兩碼子事"的道理

出門在外會遇到形形色色的人,其中一種就是這種不懂得尊重其他人的垃圾

最後在努力爭取自己的權益的情況下,成功讓這個沒品人士搬走了

也讓我感覺到,很多事情不要怕麻煩

如果妨礙到自己就要趕快說出來,否則不會有人理你

 

宿舍問題是其一,課業問題是其二

這學期不知怎麼的,修到的課都讓我覺得這門課真的是修錯了

要嘛就是事情多到不合理,要嘛就是教的東西跟課程完全無關

甚至曾經讓我有過想退選得念頭

不過最後想了一下,還是決定撐下去,畢竟這也是一種態度的要求

學到想學的東西最重要

 

這學期除了學到跟課程無關的 Android 程式設計之外

比賽方面也是挫折的一學期

首先是 ACM, 在系內賽的時候以第四名的成績出線

代表成大去中山大學打 NCPC, 成績卻是慘不忍睹的 0 題

也讓我開始思考 ACM 是否是我的興趣所在

還是只是為了增強程式能力才接觸這項東西呢?

這個時候,發生了另外一件改變我人生的大事: 金盾獎

 

記得第一次聽到金盾獎是在大二上的時候

當時系上的學長們組隊去參加,拿了個第三名回來

好奇之於 google 了一下,才發現原來是有關於駭客的比賽

只是當時因為比賽已經結束,加上當時還只是一個小嫩咖

所以暗自決定一年之後要去嘗試看看

 

只是對於資安知識0的我來說

根本完全不知道該怎麼準備這項比賽

跟學長打聽完後,也只能先去買書來看

從頭開始學習

還有就是組員問題

因為感覺系上對於資訊安全有興趣的人少之又少

找到最後就是三個傻蛋一起讀書,一起討論,然後一起去被電 = =

最後初賽的結果也差4分無緣進決賽

在失望之餘卻也發現自己並不是沒有機會

也才有一年之後的捲土重來

 

度過了疲累的三上,到了三下似乎是轉運的開始

首先因為前幾學期不小心修太多學分的關係(?

以至於這學期開始我的學分數變得很少

加上系上開了一門 ACM 的選修課

因此這學期的重心基本上就擺在了 ACM 的競賽

不過說穿了就只是覺得接觸了那麼久的 ACM,不拿個什麼獎的好像說不過去

也因此學的時候格外用心,加上學長教得不錯

這學期一口氣參加了三項 ACM 的競賽,而且全部都有得獎

此外也參加了 google code jam 和 PTC 及 CPE,成績也都不錯

總算有種 "如釋重負,努力終於有了回報" 的感覺

最後還在期末辦了個 ACM 馬拉松

超過 12 小時的解題真的是讓人覺得很過癮

不過也在這場 ACMarathon 辦完之後,我在大學跟 ACM 基本上就緣盡於此了...

 

除了 ACM 之外系內的課業也是沒閒著

計算理論和 compiler 這兩科真的是讓我見識到了不同的藝術

學這兩科的時候真的有種 "原來是這樣做的啊!" 的感覺

另外就是專題的出現,這東西整整讓我一倍感壓力了一整年 = =

要從無到有想出一個有用的東西,並兼具理論和實作

實在是一項大挑戰,加上跟的專題教授,研究領域跟我和組員想的有落差

所以其實做得還蠻痛苦的,雖然也是學到許多東西就是了

 

大三基本上算是蛻變的一年

無論是在心理還是在實力方面,都有顯著的成長

之所以會說"既不幸運,又很幸運"

是因為覺得這年發生了許多壞事,也發生了許多好事

算是大學四年裡成長最多的一年

 

===========================================

 

大四,一個決定開闢,並走向屬於自己的道路的一年

 

升上大四,除了要忙專題之外

推甄也是一大考驗

藉由整理自己的備審資料,一點一點審視自己在大學的時候做了哪些事情

找教授寫推薦信,則是考驗著自己的人際關係處理能力

總覺得在"收成"自己在這四年中所學到的東西與成果

最後因為各種貴人的幫助,加上自己也夠爭氣

成功爭取到進入夢寐以求的交大 DSNS Lab 的機會

 

當然,還是要講講課業的事

四上修了一門個人覺得相當重要的一門課: 計算機系統與網路管理

也就是俗稱的 SA & NA

這門課真的讓我學到了許多東西,讓我學習到了如何管理一個"系統"

shell scripting, 架FTP, samba, proxy, NFS...等等

這些東西到我進了DSNS Lab的時候都還有用到,真的是兼具理論和實務的有用課程

 

此外比賽方面,今年的 NCPC 和 ICPC 很不幸的就這麼跟金盾獎的初賽和決賽衝到

也因此向來對駭客有憧憬的我選擇了後者,畢竟當初就是因為駭客讓我選擇了資工系

這樣的決定也讓我多少感到遺憾,畢竟當初南程盃拿到第三名

擁有直接保送 ICPC 的資格最後卻放棄掉,實在可惜

 

有了前一年的經驗,在準備初賽上相對來講輕鬆許多

加上有 SA & NA 的加持,正巧加強了許多的觀念

也因此今年以3分之差驚險進入了決賽

欣喜之餘,也感到些許的感慨....

 

不過準備決賽的過程就跟去年準備初賽一樣

完完全全的0經驗

這點也只能依靠學長的經驗傳授

加上自己去各大 wargame 網站練功來彌補

想當然耳這當然是不夠的,決賽當天還是被電翻了

不過也因此又多了許多的經驗值,希望今年能夠好好的報一箭之仇

 

四下接觸了更多不同的課程

其中自由軟體和嵌入式是第一次接觸

另外就是 Java (充學分用的XD)

這門課終於體驗了第一次用 GitHub 開發專案

效果不錯,希望之後能夠有多一點這樣的經驗

 

不過由 jserv 開的嵌入式系統開發實作課程

卻是一門結果讓我極度失望的課程 (這裡先聲明不是課程或是 jserv 老師的問題,是我的問題 )

我本來是想藉由這堂課,來學些我沒接觸過的東西

加上 jserv 的名氣,所以想說來嘗試看看,見識一下嵌入式系統

 

結論就是,很多事情,不是一句 "興趣是可以培養的" ,就可以解決的

 

jserv 教得很好,不管是理論或是實務都有兼顧到

不但讓我們熟悉 GitHub, GNU toolchain 等工具

還讓我們去研究各個 open source 的 embedded system OS

讓我們去實際了解嵌入式系統在實作各功能時,他的程式邏輯以及可以應用的地方

並要我們編 wiki 將這些知識分享出去

不定時還會邀請人來演講,期末時甚至陪學生做期末 project 到日出...

 

都做到這樣了,為什麼還是一門令我失望的課呢?

事實上我感到失望的,不是這門課,而是我自己

 

因為我發現我完完全全沒有興趣做這些東西

 

我在學期初就有跟 jserv 提到這個問題

jserv甚至找了時間跟我面對面談了幾十分鐘

當時的結論我已經記不清了,只覺得好像該再撐一下看看

 

可是最後還是沒有辦法,還是不行

 

我很努力的想培養興趣,很努力的想體會做這些東西的樂趣

可是我就是完全無法投入到這裡面

我完全無法從我做出來的成果,或是學習到的知識裡面,獲得任何的成就感

有的只是對於這門科學的無力感

因為我就是無法體會,看到自己開發出來的版子裝在四軸飛行器上面飛,有什麼好玩的

因為我就是無法體會,看到自己開發出來的版子裝在機器人上控制其行走,有什麼好玩的

因為我就是無法體會,看到自己開發出來的版子有辦法彈空氣吉他,有什麼好玩的

 

我想這就跟有人總是無法體會

寫出 shellcode 並利用 buffer overflow 的漏洞獲取系統權限有什麼好玩

或是利用 python 寫出一個 BlindSQL injection 的程式去獲取網站密碼有什麼樂趣

或是利用 Wireshark 和 Aircrack-ng 破解 WEP 無線加密有什麼了不起

或是利用 IDA Pro 和 Ollydbg 去逆向破解一個執行檔有什麼好爽之類的

 

一樣的感覺

很不幸的,我是屬於興趣很狹窄的那一種人

而且對於一件事物,只要我沒興趣,我就會完全沒有做下去的動力

我的興趣在於資訊安全,不在於嵌入式系統

也因為如此,我最後放棄了那堂課

當然還是有學到許多東西,只是最後沒有參與到期末 project 的開發經驗

讓我覺得相當惋惜

也讓我深深體會到

"興趣是可以培養的" 這句話,並不是適用於所有人的身上

有些東西,不管你再怎麼培養,沒有興趣就是沒有興趣

只能說人各有志,不需要人云亦云

還是好好研究自己有興趣的東西比較實在

 

綜觀整個大四,過得還算是順利

推上了目標的研究所,比賽方面也有不錯的表現

雖然留下些小遺憾,但是還算是令人滿意的一年

 

===========================================

 

What now?

 

從暑假一開始進實驗室到現在也有兩個月了

覺得研究生和一般學生還是有差

一般學生只要專心顧好課業就好

研究生卻還有實驗室的工作要用

進來兩個月就已經被分配到許多的工作

包括管 server (感謝 SA&NA ),實驗室的計畫,自行開發的軟體...等等

算是不同的體驗吧

想繼續讀碩士的其中一個原因也是因為想說自己目前還是太嫩

希望能夠在接下來的兩年培養出更為堅強的實力

讓自己能夠在出社會之前做好各方面的準備

 

 

8月中的時候連續體驗了 HITCON CTF 和 HITCON X PLG

CTF的部分真的是讓我開了眼界

因為幾乎全世界的資安高手都齊聚在台灣一較高下

這樣的感覺真的很特殊,也很榮幸自己是其中的一份子

尤其是和學長,同學及其他實驗室的學生組成了 Bamboo Fox 出征

竟也出乎意料的拿下了第9名

只是自己貢獻的甚少,希望明年能夠成為 carry 別人的那群XD

 

HITCON X PLG 的部分則純粹是去試水溫

自己一路從新竹搭區間車+捷運到台北

到了現場之後就是四處逛,感覺頗新鮮,圖個經驗這樣

 

IMAG0089  

 

IMAG0084  

 

寫到這裡,想了很多,也思考了很多

總覺得自己的人生雖不是一路順遂,卻也沒那樣的顛簸

只是從小的生長環境對一個人的影響真的很大

去了一趟 HITCON, 遇見了許多的大神

幾乎都是從小就開始接觸電腦這塊,並靠著自己的努力與熱忱

練就了一身強大的實力

讓我不禁想說,如果我從高中,甚至國中就開始接觸的話

現在會是什麼樣子呢?

 

可惜小時候父母要求我的就是只有讀書考試而已

總是要我用考試成績來換取自己的休閒娛樂時光

很多時候我對一樣事物產生興趣,想要學習,研究它的時候

得到的卻是一身的冷水

"你不適合啦"   "這個東西對你不好啦"  "你不要搞些有的沒的專心讀書就好了"

然後一些我完全不感興趣,不想學的東西,他們反而硬是要我學

結果除了浪費時間之外就是讓我的童年充斥著"學習",幾乎沒有所謂的玩樂放鬆的時間

這種感覺在跟好友們分享自己的童年之後尤其明顯

不禁感嘆台灣的父母總是要我們贏在起跑點

卻忘記最重要的是要贏在終點線

口口聲聲說這事對我們好,卻從不去理解孩子們最想要的是什麼

很多時後,一件事情,不是你覺得怎樣就是怎樣的

即使今天我們做出了錯誤的選擇,也讓我們為自己的人生負責

俗話說得好,沒被電過不會知道自己還有哪裡不足

讓一個孩子成長,讓他能夠承擔重責大任

這才是正確的教育方式吧

而不是只會要求我們要做什麼,卻不讓我們自己去勇於嘗試

這樣的教育真的是最失敗的

要知道照著寫好的計畫過活永遠是最無趣,最無聊的人生

人生下來並不是為了要照著計畫走,而是要活出自己創新,獨特的人生

 

===========================================

 

Goal

 

最後這段是要寫給未來的自己看的

記住最重要的一點

別人所追求的,並不一定就是你想追求的

沒有人規定人的一生就是要讀書,考試,工作,結婚,生子...

自己過自己想過的生活才是最重要的

不需要去羨慕別人,也不需要人云亦云

也不必去在乎其他人的眼光

正因為你與眾不同,才顯現得出你的特別

好好得去思考什麼才是自己想要的,好好得做自己

現在的我是這樣的人,希望以後的我也會是這樣的人

 

剩下的兩年

好好增強自己的實力,做好未來出社會的準備

好好得達成自己的目標

最重要的,請一定要好好得活著

 

加油吧 :)

 

創作者介紹

Tube's World

Tube 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • guest
  • Thanks for sharing. Helpful for a CS-major freshman like me. Glad to see someone who enjoys learning.
  • no problem :)

    Tube 於 2014/12/07 00:46 回覆

找更多相關文章與討論