夢想
身處這令人絕望的世代,看場五月天的電影,中和一下最近成指數性暴增的負面消息,才不會愈來愈覺得這個國家沒救了。
夢想,總是要有被實現的一天。做就對了。
身處這令人絕望的世代,看場五月天的電影,中和一下最近成指數性暴增的負面消息,才不會愈來愈覺得這個國家沒救了。
夢想,總是要有被實現的一天。做就對了。
上了三天的 Testing & Refactoring Workshop,藉由大量的 coding 來體會之前一直很沒有感覺的 TDD (Test-Driven Development)。基本上就是先寫 test case,再寫對應邏輯的 code,然後三不五時測一下以確保程式還維持在正確的狀態。由於有 100% 的 coverage rate,中間可以放心地配合 refactoring 來把不好的 code smells 改好。而為了減少測試成本,test case 都盡量是 microtesting,甚至遇到 I/O 或 loading 重的部份也盡量改用 mocking 來模擬,除了成本考量,也減少測試上的 dependency。
這種感覺有點熟悉,原來在 design thinking 或是 scrum 也都是類似的想法。Design thinking 裡面先從 empathy 開始,user 的感受就是一個 idea 的 test case,經由發散收斂產生出許多 ideas,透過快速的 prototyping 以及 user 實際操作得到的 feedback 來驗證這個 idea。Scrum 也有同樣的 pattern,planning meeting 定下來的照理說不能再更動的 tasks 就是之後要驗證的 test case,daily sync-up meeting 算是每天都小小測試一下目前做的方向對不對,retrospective meeting 則是一個 sprint 下來的整體總測試。大致上都是把一個很大的項目切成小塊各個擊破,除了可以迅速調整方向,避免不必要的錯誤投資,也讓整個大項目較為模組化,提供許多彈性、擴充性、以及可維護性。
TDD 原來是這麼一回事啊!
太久沒看書,面目可憎!先來幾本沈重的,再來幾本歡樂的。
《海鮮的美味輓歌(Bottomfeeder)》,藉由一場全球性的海鮮探索之旅,揭發人類是如何過度捕撈海洋生物,甚至嚴重破壞海洋生態平衡。70 億人口對於海鮮的龐大需求,導致漁民用盡各種方式捕撈、養殖盡可能多的海洋生物。其中包含足以將海底像刮鬍刀一刀刀鏟平的底拖網,珊瑚、海扇、海綿以及一些存活百年的脆弱生物,就這樣被刮掉,原本的海底叢林,也瞬間變成海底沙漠。養殖漁業方面,就跟養雞場或養鴨場面臨一樣的問題,要在最短的時間讓牠們長大,勢必得使用一些禁藥,同時大批魚蝦擠在狹小的空間內,也造成水質不佳以及傳染病散播等問題。當然,最後這些問題終究會回到人類身上,要不是海洋生物逐漸瀕臨絕種最後貴到人類無法負擔,就是吃下在惡劣環境下服用一堆禁藥長大的養殖海鮮。最後作者也建議大家多食用一些生物鏈底層的海鮮,像是水母、牡蠣、烏魚、鯡魚、沙丁魚、魷魚等,除了含汞量較少之外,食用底層海鮮也比較不會影響整體生物鏈。
《醫院不肯說的抗癌真相(The Secret History of the War on Cancer)》,也算是人類自食惡果的一部詳實記錄,大致描述了人類工業化以來,製造了許多化學、輻射線、電磁波相關產品,在既得利益者的主導下,相關致癌研究大都受到埋沒,這些研究使用基因與人類相似程度及高的白老鼠作為實驗對象,也多半能證實這些外在影響與罹癌的相關性。可惜的是,最後還是只能經由大量人體實驗統計,也就是有夠多的人在接受到類似的化學、輻射線、電磁波環境下罹癌死去,這樣的傷害才逐漸會受到重視。透過作者的揭露,除了讓我們了解現實的醜陋面外,也要提醒自己對於已知危險的致癌化學產品要多加留意,如苯、鉛、石棉、氯乙烯、甲醛、香煙產生的焦油等,同時也盡量避免購買生產過程中會散發出這些化學物質的產品,如某些化妝水、清潔劑之類的,畢竟方便我們使用的代價,就是製造工人的罹癌死亡,慎之!慎之!
《白袍醫師的黑心履歷》,是不願具名的藥師作者,在經歷大醫院、診所、藥局的歷練後,將其中不為人知的醜陋面揭發出來。說穿了,藥師們在現行制度下,為了生存、為了面子,不得不採取一些黑心手段。大眾們還是得作點功課,才不會花了冤枉錢,甚至吃錯藥、打錯針,壞了自己的健康。
《我在 MIT 燃燒物理魂(For the Love of Physics)》,不多說,看看 Professor Walter Lewin 的線上物理課吧!這就是物理魂阿!
《為什麼 E=mc2?》,生動地描述當初推導 E=mc2 的來龍去脈。一切都從 Maxwell 的電磁波方程式開始,在光速恆定的前提下,相對運動中的兩個物體必須在時空上產生扭曲,才能維持數學上的正確性。這大概是讀這本書獲得的最大收獲了吧!畢竟後來的一些公式已經超越自己能理解的範圍了,更不用說後來提到的希格斯粒子。總之,能用淺顯的方式了解困難的東西,是很令人開心的一件事。
《賈伯斯的信件匣(Letters to Steve)》,收錄了許多人和 Steve Jobs 往返的信件,透過側面多了解這位科技聖人私底下的一面。
《設計的法則(Universal Principles of Design)》,收錄了 125 則設計上常用的原則,圖文並茂,算是一本不錯的設計參考書。
對一個電腦人來說,一輩子一定要去的地方之一,大概非矽谷莫屬了吧。很幸運地,剛進公司不久就獲得到總部接受新人訓練的機會,也因此得以踏上這塊頂尖人才集散聖地,大口呼吸充滿創新活力的灣區空氣。
Yahoo! HQ 到此一遊!
這間公司和前幾間公司有個很不一樣的地方,就是不管任何活動或是內部資料,都會在一開始的地方聲明 "This information is confidential. No forwarding or copying. No online copying." 之類的警語,讓人不得不時時警惕自己的發言。也因此這趟旅程中許多公司方面有趣的見聞,就只能留在腦中以及分享給同事們了。
雖然不像 Google Mountain View campus 有二三十棟辦公室那麼囂張,不過有七棟辦公室的 Yahoo! Sunnyvale campus 也算頗氣派的了。
和 Marissa Mayer 合照,大概會是這輩子所能合照的對象裡最大咖的人物了吧!
撇開公司見聞不談,難得到矽谷一趟,總是要到處朝聖一下的。
長得很像資料庫的 Oracle HQ!
其實招牌背面是 Sun 的 Facebook HQ!
超大一片逛不完的 Google HQ!
離 Google 不遠的 Linkedin HQ!
地址是無窮迴圈 1 號 (1 Infinite Loop) 的 Apple HQ!
Steve Jobs 車庫,Apple 的搖籃!
聰明又有錢才能念的學校 - Stanford University!
除了朝聖,週六的舊金山一日遊,感謝在當地念書的小 k 帶路。
漁人碼頭 - Pier 39!
起大霧的金門大橋!
週日則是 Vacaville Outlet + Napa 酒莊一日遊。
Vacaville Outlet!
Castello di Amorosa!
朝聖、觀光行程雖然已經很充實了,不過個人認為這次旅程最大的收穫部分,卻是在這些硬體背後的矽谷文化。課堂中,有俄羅斯人、墨西哥人、印度人、華人等不同背景的同學,茶餘飯後以不同口音聊著各自家鄉的情況。課堂外,有來自台灣的美國同事熱情招待和聚餐,讓我們有機會認識彼此,並了解當地的生活狀況。在參訪 Apple 時,也聽帶路的嘉宏兄談了許多矽谷的創業風氣和環境,或許只有在這種所有人都有共識並傾全力在創新的環境下,矽谷才能成為矽谷吧。反觀一些政府、企業,光是要搞政治、搞內鬥、搞利益分配就已經精疲力竭了,哪有多餘的精神和時間去創新、去研發、去做真正有價值的東西呢?
能有這麼棒的新人禮物,要感謝的人實在太多了,希望未來能將這些有形無形的經歷,化作有用的貢獻,才不會辜負大家的一片用心。