A Harmful Project

9 minute read

這篇文章敘述了一個在 2018 - 2020 纏身我兩年的 harmful project 的故事,一個得來不易的機會想不到竟然是惡夢纏身的開始,而之所以稱作 harmful,是因為他對我心裡狀況產生了很大的負面影響,總之我把我所有關於這個 project 的負面想法都倒在這篇了,不建議閱讀。

如果你很不幸的是這個 project 的成員之一,請不要告訴我你曾經看過這篇文章。

A Harmful Project

要說起這個 project 的開始,是在某次因緣際會下,我的老闆有個機會可以送人去 Carnegie Mellon University (CMU) 訪問,也因此開始了我三個月的 CMU 訪問學者之旅。基本上這段訪問的過程,我預期會做的事情大概就是像專任研究助理,或是博士生的工作一樣,全職做三個月的移地研究。

我負責研究的主題是在某次我們跟老闆一起拜訪 CMU 時決定的,當時我有幾個主題可以選擇,但因為當時的我剛升上碩一,對於學術研究可以說是毫無經驗,我用刪去法挑掉不想做的 project,最後選了一個 desktop and mobile tracking project,現在想起來還真是後悔莫及。

這個 project 我可以言簡意賅的解釋一下,研究的主題是探討不同網站在遇到使用電腦的人 (desktop) 以及使用手機 (mobile) 的人是否會有不同的差異?這裡的差異 focus 在網站的廣告、追蹤行為,此外為了盡可能的模擬真實情況,這個 project 使用真的手機來做這件事情,而不是像其他 related work 用 VM 模擬的。

然後這個 project 就這樣,纏身了我大概兩年的時間。我都會笑說這是 harmful project,因為他對我的心裡狀況產生了蠻大的負面影響。

Research and Engineering

記得大三加入 NSLAB 的時候,老闆問我,難道不會覺得發表學術論文、發現新的東西很有吸引力嗎?我大言不慚的跟老闆說:比起投稿上 top conference,我可能還比較希望有個 GitHub 1000 顆星星的 project,我希望我做的東西能被很多人使用。

老實說,在 CMU 的三個月我其實做的還算開心,記得有天跟同學們一起吃完潛艇堡的時候,我開心的跟大家說我現在做研究做得很開心。不過現在回首,我才發現我當時開心的原因並不是所謂研究「發現新事物」所帶來的快樂,而是我成功開發出東西所帶來的「成就感」所致的快樂。

有時候我很羨慕那些果斷選擇研究,走上 PhD 之路,或是果斷選擇工作投身業界的人,因為很不幸的我沒有這麼絕對,我對於學術研究這件事情一直很迷惘,有時候覺得自己熱愛研究,但又好像沒有這麼喜愛。一切直到這個 project 之後我才比較明朗,對我來說開發東西、實做系統能給我帶來的成就感比我想像中的大,而研究的本質,所謂「發現新的事物」這件事情對我似乎沒有這麼有吸引力。

Mental Health

CMU 訪問結束後,這個 project 仍然持續,我們以 remote 的方式遠端合作。在年末申請季節,我按照原本的計畫要申請美國碩士,所以要一邊準備托福,還要趕 conference 的 deadline ,好在我最後因為其他人生規劃,沒有要繼續申請美國碩士了,但那幾個月還是我碩士最痛苦難熬的日子。我們的 meeting 在每週一,我還記得好幾次禮拜日的晚上,作夢甚至都會夢到這個 project 的人事物,壓力大到快要喘不過氣來。

此外,每次的 meeting 也讓我挫折感很重,我認為一些有趣的、值得探討的問題,似乎都不受重視,反倒是教授不停的提出他們認為有趣值得深究的問題,我卻不以為然,最後這個研究的走向距離我原先設想的方向,已經是差了十萬八千里,我之前以為研究可以做自己喜歡的東西,往自己想研究的地方探討,不過在這種合作的 project 實則不然。此外 CMU 教授對於細節的重視程度,已經到令人毛骨悚然的地步,有次我們要在 Windows 10 上跑爬蟲,希望把 Windows update 關掉,他卻建議我們為了電腦的安全不要這樣做……. 加上他們喜歡朝令夕改實驗的設定,今天是跑某些瀏覽器,下次要改版本,之後要換 OS,這些都一點點的在消磨我的熱情。

加上這種分析的研究,很多時候都需要人工下去 case study 嘗試看原因,這是一件非常耗費精神的事情,我要在幾千行的 html 與 javascript 中嘗試猜測他背後原因,做了幾個之後我就感覺到巨大的疲累感。而分析資料的部份,因為 measurement 的 work 大多都是有一堆資料,然後去跑各種冷冰冰的數據分析,最後嘗試給出一個合理的 story 跟解釋,我對這件事情完全提不起動力來做。

Procrastination

基於以上種種原因,我在每次的 meeting 之間幾乎完全沒有辦法花費時間在這個 project 上,每次都會拖延到最後幾天才開始加緊趕工,也就是 procrastination。這讓我研究產出的品質非常低落,我又開始自責為什麼做不出什麼東西,然而這樣的想法無疑只是加重這個 procrastination 的循環,讓情況更為惡化。

我嘗試閱讀了好多關於 procrastination 的文章嘗試找出原因並解決問題,嘗試設定獎勵、丟棄負面想法、把 task 分解成小的 subtask ….. 然而大部分的解法對我都不適用,直到有天我看到某篇文章提到,有些任務短期的回饋很低,而長期的回饋很高,例如健身就不是一蹴可幾的事情,但長期下來確實能改變體態,於是我找了一張白紙,寫下這個 project 給我的長期回饋是什麼。

我發現我寫不出來。

  • 為了 CMU 的推薦信?不需要,我已經沒有打算申請美國碩士。
  • 為了我畢業的碩士論文?我不是第一作者,這不適合當作碩論。
  • 投稿頂級期刊?這點對我的吸引力太低了,我不是第一作者,更何況這個研究早已偏離我原先預想的方向。

我還在這個 project 的唯一理由,只剩下這是我老闆第一次跟 CMU 教授的合作 project,我算是看在老闆的面子上繼續維持這個良好的關係。現在仔細想想這樣做完全是錯誤的,當某件人事物已經對我的 mental health 產生影響的時候,就應該想盡辦法離開它,我大一曾經也犯過類似的錯誤,但到了這時候我還是沒有學會。

7 / 24

由於這個 project 用真的手機在跑實驗,這些手機三不五時會出問題,為了不延宕實驗進度,我甚至掛了 Slack bot 可以即時回報狀況,好讓我可以 24 小時 oncall,某種程度上就是化身一日設備工程師。我記得教授還要求我把 slack bot 接到某個公開的 channel 裡面,我用各種理由搪塞過去,讓教授知道實驗故障的訊息意味著我必須要馬上處理,這壓力絕對是會讓我崩潰的。

某次的週一的例行 meeting,我週末擅自寄了一封信告訴大家要請假,原因是我要參加某一場 CTF,想不到我老闆有點生氣的在 slack 告訴我說,用比賽當理由來跳過 meeting 很不恰當,所以之後的 meeting,無論我有多忙,期中、期末、中秋、端午節、出國打 CTF 、或是各種假日與假期,我都盡可能排開事情參加,頂多是延後幾天 meeting 而已,因此那個學期,我幾乎沒有喘息的空間,就這樣被這個 project 纏身。

無論是在上海 、日本、美國,這些類似渡假或是比賽的行程,我都從未真正的放鬆過。我曾經在日本大阪的青旅拿著手機 ssh 機器重跑爬蟲,我也曾經在美國拉斯維加斯的廁所跟教授們 meeting。

最慘的一次是在 Google CTF Finals,那是我人生第一次造訪英國,基於上次打 CTF 請假被老闆罵的經驗,我選擇硬是把 meeting 排在了比賽後某一天的晚上。當天我們白天的行程,是去世界知名的大英博物館參觀,但因為我晚上要 meeting ,我必須有點產出才能討論,而我又不想要放棄一睹大英博物館的機會,最後我花了半小時安檢進入大英博物館的大門,在大廳打開筆電寫 code,放棄了一睹世界知名文物的機會。

現在想起來真是可笑,不知道之後還有沒有機會造訪英國呢?

Top Conference

這個 project 後來投了兩次的 tier 1 conference,一次是 USENIX 而另一次是 NDSS,可惜的是兩次都沒上。

我只有投稿 short paper 的經驗,這兩次 USENIX 跟 NDSS 是我的第一次丟 full paper,而且是到 top conference,我第一次知道 reviewer 的 comments 是多麼的尖銳,雖然認為對方的評論勉強算是合理,不過用字真的是很直接:

  • results are not interesting
  • didn’t make clear scientific contributions
  • underwhelming and unremarkable
  • methodology is relatively straight-forward
  • beyond a deluge of numbers, no tangible findings

我自認是心裡素質強健的人,如果是心裡素質普通又是第一次被 reject 的人,應該難免會有些打擊吧。

這兩次投稿下來,我開始理解到「研究題目」的重要性。這個 project 題目的部份可以說是 0 分,選了一個非常糟糕的題目。在 2019 年,雪上加霜的是,很不幸的我們看到了不少 related work 的題目與我們類似,或是做掉了我們題目的某個部份,這些都讓我認為這個 project 已經是病入膏肓,我對這個 project 徹底失去希望與動力,我恨不得讓他們把我從作者欄中移除,然後我可以從此不用再碰這個 project。

如果你問我好的研究的定義是什麼,我認為一個好的研究,一半來自一個好的題目,一半仰賴好的研究品質。

The end?

在我碩三的學期初,我鼓起勇氣正式像 CMU 表示我不會在繼續參與這個 project ,但仍然會繼續維護爬蟲與手機,(沒辦法,因為我是作者之一),我老闆護航表示,會努力 recruit 要找下一個可以接手的人,我自然是打哈哈帶過,幸好我抗壓性夠強,換成是其他人大概會有憂鬱症吧。

現在回首被這個 project 纏身的兩年,我能撐過來真是不可思議,當時的心裡狀態真的是非常糟糕,我騎著腳踏車沿著大安森林公園飆速時,好幾次都有想法閃過,如果不幸摔車,是不是就可以不用參加每週一的 meeting 了?慶幸的是自己有認知到這個潛在想法的危害性有多大,隨即放慢了速度。

2020 12 月初,我們把這個 project 整理了一下 resubmit 丟了 tier 2 的 PETS,結果尚未出爐。

我希望這篇 paper 可以不用 rebuttal。