電腦科學家教你如何用最佳解「整理包包」:從快取、排程到解決大腦內耗與失憶。
原來終極生產力高效的秘密,來自於電腦PC裡工作管理員的各種執行任務演算法。
我一直以為自己算是很少讀文學或是故事的人,沒想到我跟同事聊關於阿基里斯腱的故事,他們完全沒有聽過。回家又問我老婆有沒有聽過阿基里斯腱? 我老婆反而問我那是什麼地方?O.O?
怕大家不知道阿基里斯腱,就來迅速閒聊小故事。
一切從我同事問了我:「最近我騎單車的時候,阿基里斯腱有點痛。你有過嗎?」
我:「正常來說,除了職業運動員之外,一般人的阿基里斯腱是不會痛的,會痛可能代表兩件事,1)你過度使用;2)你騎車的方式不對。」
我接著問:「那你知道為什麼那邊要叫阿基里斯腱嗎?」
我同事:「沒聽過。就大家這麼叫,就這麼叫了。」
我(用不可置信的眼神):「真的假的?」
接著我就說起了,阿基里斯這個半神半人血統英雄的故事,講到特洛伊木馬屠城記吧拉吧啦。
阿基里斯當年執行特洛伊攻城任務尾聲時,被特洛伊王子用弓箭射到了阿基里斯腱,然後,阿基里斯沒辦法走路之後,被其他的士兵圍攻,最後戰死在特洛伊。
然後,我就說起阿基里斯之所以無敵,是因為他的媽媽。
她在阿基里斯小的時候,為了讓他成為無敵的英雄,就讓阿基里斯浸泡冥河的水。但為了不讓阿基里斯掉進冥河,就抓著他的腳踝讓他用倒吊的方式浸泡,阿基里斯真的成為刀槍不入的英雄,但是腳踝沒有泡到河水,就成為他唯一的弱點。
好了…或許有點好笑…但我知道的阿基里斯故事版本就是如此。
切回正題,快一個月沒發電子報。
本週要來分享,我所發現原來終極生產力高效的秘密,來自於電腦PC裡工作管理員的各種執行任務演算法。
電腦「工作管理員」蘊含生產力演算法的秘密
上次電子報提到《決斷的演算》這本書,我原本不推薦讀。但我錯了,這本看似講述電腦科學枯燥乏味的書,書中的各種演算法,來自於數十年電腦科學家、數學家們終其一生,耗盡腦力在設計如何讓電腦不會當機的演算法。神奇的是這些演算法也適用於人類用來解決生產力失效的問題。
最終,作者想透過這本書傳達,現代人應該向電腦科學家們學習「運算思維」的概念。
「運算思維」是什麼?運算思維是從電腦科學家的角度,來思考、拆解和解決問題。
好比說:我們每天出門帶的包包,小孩上學的書包要裝什麼?
用「運算思維」的角度,包包該攜帶什麼物品是就是「快取」(最常使用的物品),每天揹的包包容量該有多大,就是「緩存」。
管理電腦作業系統運行的核心(kernel),就是電腦工作管理員(Mac是活動監視器 (Activity Monitor)的工作。
身為使用者的我們,完全不需要去管用哪個程式會不會造成電腦當機,反正所見即所得,每一次移動滑鼠、敲打鍵盤,電腦就要有反應。
工作管理員為了讓系統不被使用者搞到當機,直接罵爛電腦之前,就大量使用各種演算法來避免系統崩潰。很神奇的是這些演算法,或多或少都可以應用在生活之中。
電腦科學家的演算法同樣適用於現實生活
有趣的是,如果把大腦看成是機器的話,人腦跟電腦差異不大,執行跟接受任務安排都是同一部機器。
而且都遇到一樣問題,「每一次切換任務都會產生系統資源內耗(白做工)」。
電腦會損失記憶體空間、CPU運算資源、還有磁碟空間(緩存)。
人腦則會損失專注力,當人們因切換任務或被打斷(例如查看電子郵件或訊息通知)而離開原本的工作時,大腦平均需要花費大約 23 分鐘(確切數字為 23 分鐘 15 秒)才能完全重拾專注力,並回到原先被中斷的任務上,研究出處。
電腦科學家,為了讓作業系統執行任務效率極大化,絞盡腦汁開發出各種演算法去優化系統效能,符合使用者的認知和習慣。一邊讀這本書的過程中,我學到了跟現實生活有關的演算法:
分類與排序:先分類在排序,用於收納是很簡單直覺的方法。
快取(貝雷迪演算法):每天背出門的包包,裡面攜帶的物品就是快取,通常也是自己最常使用的物品。
排程:這是學問,應用在不同情境,電腦科學家用演算法解決了大部分的排程問題。以下列舉三個。
想要準時把所有工作完成,就要先處理期限最早的工作。
如果任務太多,想盡可能減少延遲的工作,就必須先完成截止日最早的工作。
如果想提升完成的任務數量,就要採取SPT演算法,最短處理時間的任務先做(GTD原則)。
插件:用插隊的方式,讓已經排程好的任務有彈性。
往復移動:面對承接超過自己能夠負荷量的工作,就是使用待辦清單,隨機挑選一個任務來做,避免一直在工作,但什麼也沒完成。
以上每一個演算法,都能一定程度我遇到的生產力問題。
當閱讀陷入往復移動陷阱
當我看書的速度比不上,我買書的速度,等同陷入往復移動陷阱的狀態。
現在,我還沒看完的書超過50本(我也懶得數),每看完一本的過程中,又會發現有2-3本書真的很不錯想看,就列入書的待購清單。以目前的閱讀速度,我這輩子應該看不完所有已購買的書,這就是經典的陷入往復移動的陷阱。
我以前想過有兩種方式:1)加速瀏覽的方式速讀一本書;2)捨棄閱讀不重要的書。
速讀掃過一本書的方式也不適合我,因為我沒有要說書、也不想讀第二遍。光重要的書就塞爆我的待讀清單,所以兩個方法都失敗。
另外值得一提,我閱讀是為了解決生活或工作上的問題,通常會深入閱讀一本書,一邊用a6筆記本寫下重點和想法。最後,透過寫作,輸出成一篇文章,藉此重整大腦的記憶模組,實用書上的經驗和技巧。
所以,我直接利用解決往復移動的演算法,設定一個待讀清單,定時在每天中午固定閱讀一個章節,(如果沒有閱讀完成,就想辦法在今天把他讀完),選書就是採隨機,選一本比較沒那麼厚的書來看。
目前,至少就閱讀方面,執行起來還算ok。
「這是我使用工作管理員背後的運算思維,來解決閱讀困境的方式。你呢?是否也同樣遇到生活上懸而未解的問題?不知道怎麼辦? 你打算如何用運算思維來解決? 在下方留言或回覆郵件與我分享你的第一個行動!」
希望你還喜歡今天這封信,如果你也有相關經驗或問題,歡迎點擊表單回覆,和我分享
*或許是在閱讀方面有了進展,我也打算娛樂方面也同步執行於Netflix的口袋名單、遊戲除了《鳴潮》(3.0好期待)之外,開始玩《原神》、《絕區零》,然後一邊等著《異環》上市。哎呀~好忙好忙!

