Life at Cornell Tech (2/4) 5/2/20242nd quarter has ended
Life at Cornell Tech (2/4)

Yo!

睽違已久的更新!在交完這學期的最後一個作業,這學期終於要結束啦,依照傳統,來寫一篇回顧和順便檢討一下越來越軟爛的自己哈。

Courses

上學期大部分是一些一年級的必修課,蠻多時候都覺得自己在浪費時間,這學期比較少強制的必修課,都是自己選的有興趣的課,所以這學期的修課體驗挺滿意的。不過我都選偏 hardcore 的 CS 課,真的差點累死自己...

挑幾堂喜歡的課來講。

Blockchain And Smart Contract

這學期最喜歡也上的最認真的課。在來之前就有看到這堂,然後上學期也被學長推薦,剛好我本來就對 Blockchain 蠻有興趣,就滿懷期待地來修了。長話短說,真的是目前修過最有料的課之一,少數讓我覺得學費繳的值得的課。

首先老師 - Ari Juels - 是真的大神。雖然原本就有聽說這件事,但有一次他在課堂中 show 出他跟 Ethereum inventor Vitalik V神的合照,又再次嚇到,真的是位大人物。還有他也被懷疑過是 Satoshi Nakamoto,再次說明他真的是個狠角色 lol。

除了有名的老師以外,課程內容真的蠻豐富的,從 Bitcoin 出發,講到 Hash function, Cryptography, Consensus Protocol 的演變,最後講到 Smart Contract, ZK Proof and Oracle。知識量滿到有點太多,我甚至有點沒辦法好好全部吸收 lol。作業部分也設計得很有趣,在痛苦的過程中學會了 Solidity 的 best practices & anti patterns,蠻有趣的,對 Blockchain 有興趣但不知道從何學起的話大推,即使是非新手也很推薦來多問大神老師問題。

Security and Privacy

有點被低估的好課(會不會是 Cryptography 或 Security 聽起來一點都不潮?),滿少人修這堂的。Anyway,對於本來就對資安有點興趣的我來說收穫滿滿,跟上面那堂一樣滿到我後面有點快跟不上了哈。從 High level 的 application layer 的 Authentication, Vulnerability & Countermeasure,慢慢越來越底層,開始講 Network layer 的攻擊方法,最後講到 OS Level 的漏洞我已經快扛不住了,密碼學和 Computer Architecture 真的很重要,大學學完就忘光光,可惜。

作業部分也是很有趣,通常都是要扮演 Hacker 去攻擊某些 service 或找到漏洞,最有印象的是第三次作業用 Padding Oracle Attack 破解 CBC Encrypted 的 Ciphertext,破解的當下一方面覺得自己很神,一方面覺得想出這些 attack 的人也太聰明了吧。最後一次作業的 buffer overflow attack 也蠻有趣,雖然是用 C 寫然後需要用到我非常 rusty 的 Computer Architecture 知識有點嚇人,不過寫出來真的很有成就感。

Distributed System

遺憾被我停修的課,課程內容很有趣,我覺得對於 SWE 職涯幫助也很大,但作業 loading 有點太大加上作業設計的不太好,考完期中考後忍痛中途放棄了。

題外話,老師真的瘋狂勸退不會寫 C 的人快點退選,從一開始教室坐滿大概 100 人到學期中間慢慢變成 10 個人左右 XD

Blockchain Club

雖然上學期就有參加過一些社團活動,但這學期才開始很 active 得參加 Blockchain club 的活動。交到了蠻多朋友,辦了一個很大的 Conference,學到了許多知識,~~拿到一些免費的 swags~~,真的蠻值得的。

題外話 again,這學期某個志工活動是幫 Brooklyn high school 的學生上 Blockchain 課程,我負責主講其中一堂課,真的讓我跨出舒適圈一大步。雖然整體課程內容很淺,然後不確定到底有多少學生有認真在聽哈哈,但畢竟是第一次用我的破英文幫別人上課,前一天緊張到不行,當天緊張到衣服穿反沒發現。

Tezos Hack

學期初參加了我的第二個 Hackathon。Not gonna lie 真的是個蠻鳥的 hackathon,當天只有四組 team,然後總共也只有四個獎,萬人響應,四組到場。然後評審不夠 technical 都是 consultant 搞的比較像是比商業競賽,蠻傻眼的。 Anyway,雖然很荒謬但還是有贏了 3000 美金,勉強接受。

這學期跟著某位教授做的 Project,內容是什麼就不多說了,懶。有興趣的可以看一下。 雖然內容並不是太有趣,但因為至少是個規模大到可以放在履歷上的 side project,然後這剛好也是一個機會讓我持續實驗和精進 web dev,所以還是做得挺認真。蠻開心過程中 pick up 好多以前就想研究的小工具,像是 Nx (Monorepo tool)、學會 semantic versioning、學會 Nest.js、TRPC 等等,然後解決許多大大小小 AWS & CI 的坑,學到了很多。

Random thoughts

Courage to talk

這學期開始有意識的上課多舉手回答問題,我覺得挺好的,練英文還有練在公開場合發言的膽量。我覺得這對於一個講著破英文缺乏自信的 international student (就是我)來說蠻不容易的,所以 well done。Kudos to myself!

作息崩了

學期初維持著早睡早起的作息,到學期末越來越崩壞,本來天真的以為可以堅持到學期結束,但還是破功了,後來隨著越來越忙,越來越晚睡。也許是我在找藉口,但我覺得晚睡這趨勢有點不可抵抗哈哈,睡覺和起床時間只往後平移了半小時到一小時左右已經是不錯的成果了,沒有像上學期其一樣都三四點睡,還是做得挺不錯的,吧。

時間和期望管理

學期末有段時間心情有點低落,一部分是因為太忙,一部分是對自己沒有好好執行學期初制定的計畫有點失望。常常想做和想學的事太多,但進展速度不如預期,對於課程 loading 的計算也沒掌握好,後來太忙好多想做的事情都得先放在旁邊,我都會想檢討到底是哪裡出了問題,真的是忙到這麼誇張還是輸給自己的惰性呢,我是不是在用“太忙”來找藉口?真的好想變強啊,想在自己規劃好的路線上全速衝刺,往目標邁進。就是這樣急著想變厲害的心情引起的吧,我覺得 takeaway 就是做好期望管理,認清自己終究不是機器人,不可能以等速高速前進,進度時快時慢都蠻正常的,所以還是要放過自己然後好好照顧自己,不要讓自己 burnt out 倒在半路。

© 2024, Shu-Wei Hsu. All rights reserved.