筆記一下:
列出系統上安裝的過時版本的 Linux kernel:
dpkg -l --no-pager | grep "^rc" | awk '{print $2}'
確認無誤後,一舉移除這些過時版本的 Linux kernel:
dpkg -l --no-pager | grep "^rc" | awk '{print "sudo apt purge -y "$2}' | sh
筆記一下:
列出系統上安裝的過時版本的 Linux kernel:
dpkg -l --no-pager | grep "^rc" | awk '{print $2}'
確認無誤後,一舉移除這些過時版本的 Linux kernel:
dpkg -l --no-pager | grep "^rc" | awk '{print "sudo apt purge -y "$2}' | sh
原先認為投入 Android NDK 是個不錯的轉身方向,但是現在想來,當初實在太過天真。
以為競爭者會比較少,會比較講求實戰經驗與能力,實際上呢?競爭者會比較少,因為需要用到 Android NDK 的單位也沒多少;而在寥寥可數的職缺當中,要求 CS 本科系學位的,卻也並不罕見。
但是這幾個月並沒有徒勞,學會 Kotlin 語言、更新了比較 modern 的 Android 開發思維、把多年前的心願實現、證明自己確實有能力從內部程式到 UI/UX 顧及到各方面,設計出一個產品,找回自信心,都是紮紮實實的收穫。
真要說完全沒有機會找上門,也是有欠公允的。至少在 SNS 上,就有幾個老朋友,或僅有一面之緣甚至素未謀面的網友,介紹職缺給我,只是如果再顧及到工作地點與時間,這些機會需要長途通勤或是有 core hours,都會再回到我疼痛症狀發作的老問題,以及家庭照護的衝突。
如此一來,找沒有限制 core hours 的遠距工作機會,或是自己創業,就成了不得不為之的方向。做 Web 還是做 Android,做純軟還是軟硬整合,在這個方向之下,就都不是前提。
再簡單交代一下,我覺得「不如歸去」的思路:
六月份的時候,筆電的 SSD 壞掉,買了新的來換,也順便在重建系統時,把用了 11 年的 Arch Linux 換成 Ubuntu。
接下來我要講的,很可能肯定會讓我在相關 SNS 被砲轟到體無完膚,不過我還是想說說一些感想。
原本我是因為每次 Ubuntu 升版都會出包,所以才會轉用 Arch Linux(之前我相信 rolling update 小步前進會比一次大幅更新好),這次改回 Ubuntu 也沒例外,GNOME 3 深度整合綁 IBus 輸入法框架至今依然就是有些毛,逼得我還是得手動換成 Fcitx。
不過,解掉這類不順手的地方後,Ubuntu 21.04 還是讓我用得蠻開心的,像是我指定使用 ZFS,在有些操作下,系統會自動幫我建立 snapshot,我就覺得電腦用起來覺得安心許多;筆電的闔上螢幕再打開後,系統喚醒也一直都是正常的,不像之前三不五時叫不醒,得用有點微妙的時間差再次把螢幕闔上、打開,才有可能把電腦叫醒,啊?對,就很像把賴床的人隔幾分鐘後再去叫他起床一樣,充滿了人性。
除了這種預設安裝絕大部分都已就緒可用,還是這種預設安裝絕大部分都已就緒可用,的使用體驗,讓現在已經不想折騰環境建置與設定的我,選擇回到 Ubuntu。現在的我已經不想再當一個 “Arch-based upstream QA”,給我一個基本可用的環境,不求新,但求穩,讓我可以好好做自己的專案開發工作就好。
更何況,有時候,我預期 Arch 會迅速跟上 upstream 的 package(s),實際上更新步調並沒有那麼及時。現實就是 Arch 的 packages packaging 仰賴志工、人工維護,當認養 package 的維護人未能跟上 upstream 的更新步調,我也只能自己改 PKGBUILD 自力救濟。這樣的體驗真的不能說很好。
再者,我自己身體力行,把 Arch 當 desktop/workstation 用,親身當這些 GUI applications / desktop environments 的 upstream QA 時,我發現其他一些人,逢人就把 Arch 誇上天、邀入坑,自己卻只把 Arch 當成 server 用,我就覺得有點…無言,雖然各人有各人的環境場合,但是我認為這種用法,Linux 桌面元年不知何年何月方能得償所望?想想還是算了吧!就連現在的我也不想再承擔這種大義大任,就給我一個「預設安裝絕大部分都已就緒可用」的桌面環境就好。
標題哏來源是〈一位資深工程師的酒後真心話(翻譯)〉,前陣子讀了這篇文,以及剛剛再讀了一次另一篇文〈沒有人會賠你的〉讓我也想寫寫自己的版本。
當老師教你「考上不好的學校沒關係,進去後再努力」時,不要傻傻地在大學裡只顧讀書。你當時辭謝的那些社團活動、學長姐家聚,未來都會讓你後悔,懊惱自己的人際關係處理能力有多麼差勁。
當老師教你「試著生存 Try to survive」他的意思也許更深遠。總之不會只是每個學期的書卷獎,或是學會的獎學金,還是任何的工讀金。
老師要你先做好分析與設計,再做程式設計,真的是有道理的,不是他故意拖著不讓你展露那三腳貓的程式設計功夫。在整個專案當中,程式設計佔的比例確實不高,關鍵部份的程式又更少,但是分析與設計會決定你這關鍵部份的程式寫的好不好。不要單純偏信什麼敏捷、邊移動邊開槍、先幹出 MVP, PoC 再說,除非你對正在處理的 business logic 與 domain knowledge 瞭若指掌,不然這些「觀念」會害慘你,你會寫出三個月後自己都看不懂的糞 code。
程式語言很重要,程式語言卻又沒有那麼重要,你可以用任何語言實作出同一組 business logic,但是如果你的實作語言太冷門,找不到人合作,除了孤單寂寞覺得冷,也可能會讓你陷入「非你不可」的泥淖,你休不了長假,抽不了身,到後來除了孤芳自賞、得到社群「奇才」、「怪傑」的尊稱之外,一點好處也沒有,除非你又能夠把這個冷門語言的社群生態系做大。感謝 DHH,沒有他,我再怎麼愛 Ruby 也沒辦法(曾經、短暫地)靠它吃飯。
你可能很怕「花時間、心血下去學某項別人說很好、很潮的技術,到頭來一場空」遇到這種問題,我現在一律建議你把時間拿去學更實用的生活技能,尤其是語言,我是說自然語言。
你在大學學的資訊檢索、知識架構,還有因為興趣而自學的人機界面,都是讓你跟別人有些不同的瑰寶。
任何讓你更有生產力的工具都是好東西,任何讓你只是看起來像個 geek 的工具,玩玩就好。我很後悔,有很長一段時間,從事開發工作時鄙視使用 IDE。
最後,身心健康真的很重要,真的。