Categories
General

求職或創業方向的期中檢討

原先認為投入 Android NDK 是個不錯的轉身方向,但是現在想來,當初實在太過天真。

以為競爭者會比較少,會比較講求實戰經驗與能力,實際上呢?競爭者會比較少,因為需要用到 Android NDK 的單位也沒多少;而在寥寥可數的職缺當中,要求 CS 本科系學位的,卻也並不罕見。

但是這幾個月並沒有徒勞,學會 Kotlin 語言、更新了比較 modern 的 Android 開發思維、把多年前的心願實現、證明自己確實有能力從內部程式到 UI/UX 顧及到各方面,設計出一個產品,找回自信心,都是紮紮實實的收穫。

真要說完全沒有機會找上門,也是有欠公允的。至少在 SNS 上,就有幾個老朋友,或僅有一面之緣甚至素未謀面的網友,介紹職缺給我,只是如果再顧及到工作地點與時間,這些機會需要長途通勤或是有 core hours,都會再回到我疼痛症狀發作的老問題,以及家庭照護的衝突。

如此一來,找沒有限制 core hours 的遠距工作機會,或是自己創業,就成了不得不為之的方向。做 Web 還是做 Android,做純軟還是軟硬整合,在這個方向之下,就都不是前提。

Categories
General

從 Arch Linux 轉回使用 Ubuntu (2)

再簡單交代一下,我覺得「不如歸去」的思路:

  1. 比起有商業資金挹注研發工作的那些 Linux 發行版本,Arch 本身並不像那些 Linux 發行版本會主動貢獻一些「新玩意兒」來增強 Linux 生態系的各式應用。
  2. 反之,Arch 是把各種 Linux 軟體,包括那些「新玩意兒」從 upstream 那邊拿來,盡可能原汁原味地打包,然後提供給使用者使用,使用者發現什麼問題,也就減少了發行版本在中間自行打補釘、加料的干擾因素,回報給 upstream 時幾乎可以確信是 upstream 本身軟體的問題。透過這樣的正向循環,促使 Linux 上的軟體品質愈臻完善。
  3. 老話重提:「各人有各人的環境場合」、各人有各人的 Arch 用法,只是我個人會覺得,如果要用 Arch,可以盡可能多用一點裡頭包的 packages(無論你是把它當 server 還是 desktop/workstation 在用),然後盡可能地小步前進跟上 rolling update,有問題,回報上游,甚至自己試著修,這是我認為使用 Arch 時對社群發展最佳的方式。
  4. 只是,這麼多年下來,我看到這樣做的人很少,但是自居 power user、用了一個比較 geek 向的 Linux 發行版本就自以為高大上的人很多, 讓我看得心很累。
  5. 而且,我現在的情況,已經無力再繼續當個 “Arch-based upstream QA”,我得走了,我還有更迫切的、攸關溫飽的事要顧。

Categories
General

從 Arch Linux 轉回使用 Ubuntu

六月份的時候,筆電的 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 桌面元年不知何年何月方能得償所望?想想還是算了吧!就連現在的我也不想再承擔這種大義大任,就給我一個「預設安裝絕大部分都已就緒可用」的桌面環境就好。

Categories
General

一位不曉得算不算資深工程師的非酒後但也是真心話

標題哏來源是〈一位資深工程師的酒後真心話(翻譯)〉,前陣子讀了這篇文,以及剛剛再讀了一次另一篇文〈沒有人會賠你的〉讓我也想寫寫自己的版本。

當老師教你「考上不好的學校沒關係,進去後再努力」時,不要傻傻地在大學裡只顧讀書。你當時辭謝的那些社團活動、學長姐家聚,未來都會讓你後悔,懊惱自己的人際關係處理能力有多麼差勁。

當老師教你「試著生存 Try to survive」他的意思也許更深遠。總之不會只是每個學期的書卷獎,或是學會的獎學金,還是任何的工讀金。

老師要你先做好分析與設計,再做程式設計,真的是有道理的,不是他故意拖著不讓你展露那三腳貓的程式設計功夫。在整個專案當中,程式設計佔的比例確實不高,關鍵部份的程式又更少,但是分析與設計會決定你這關鍵部份的程式寫的好不好。不要單純偏信什麼敏捷、邊移動邊開槍、先幹出 MVP, PoC 再說,除非你對正在處理的 business logic 與 domain knowledge 瞭若指掌,不然這些「觀念」會害慘你,你會寫出三個月後自己都看不懂的糞 code。

程式語言很重要,程式語言卻又沒有那麼重要,你可以用任何語言實作出同一組 business logic,但是如果你的實作語言太冷門,找不到人合作,除了孤單寂寞覺得冷,也可能會讓你陷入「非你不可」的泥淖,你休不了長假,抽不了身,到後來除了孤芳自賞、得到社群「奇才」、「怪傑」的尊稱之外,一點好處也沒有,除非你又能夠把這個冷門語言的社群生態系做大。感謝 DHH,沒有他,我再怎麼愛 Ruby 也沒辦法(曾經、短暫地)靠它吃飯。

你可能很怕「花時間、心血下去學某項別人說很好、很潮的技術,到頭來一場空」遇到這種問題,我現在一律建議你把時間拿去學更實用的生活技能,尤其是語言,我是說自然語言。

你在大學學的資訊檢索、知識架構,還有因為興趣而自學的人機界面,都是讓你跟別人有些不同的瑰寶。

任何讓你更有生產力的工具都是好東西,任何讓你只是看起來像個 geek 的工具,玩玩就好。我很後悔,有很長一段時間,從事開發工作時鄙視使用 IDE。

最後,身心健康真的很重要,真的。

Categories
General

記 COSCUP 2021 參與

今年我是以講者身分參加,報名「帶您讀源碼」議程,介紹我在這幾個月做的專案「樸實注音鍵盤」:

如您所見,今年 COSCUP 因為疫情影響,後來決定改成全線上活動,於是我就頭一次玩起剪輯軟體 Kdenlive,製作預錄影片。不得不自我解嘲說大會這突然的需求,讓我在幾週內習得當個 YouTuber 的能力,也算是項收穫。

後來,我發現,大會改成全線上活動,反而讓我這種內向、畏懼社交的人比起在實體場合更活躍。今年使用的 Gather 線上聚會服務,對我來說取得了一種平衡,既可以讓我想露臉才露臉(打開電腦上的攝影機)、想出聲才出聲(打開電腦上的麥克風)、想裝石化狀態、裝不在電腦前,就什麼都不做,自在許多。同時線上提問的 Slido 服務,也讓我這種喜歡用文字斟酌再三後才送出發問問題的人,可以傳達更明確的想法。

而在這之前被影片製作搞到非常焦慮的我,後來也覺得預錄這樣的方式,能讓我在議程進行時,更能好整以暇,掌控時間進度。

為什麼說之前我被影片製作搞到非常焦慮呢?因為原先我手邊的耳麥,無論哪隻(包括網友說效果不錯的 Apple EarPods),錄音效果都奇慘,難以接受這種品質,送到 Audacity 降噪處理後,還是很糟糕。而我已經沒有餘裕去買一隻較好的麥克風,後來我只好用之前在日本買的 SONY ICD-UX560F 錄音筆,錄下我的台詞,結果效果還不錯,去掉了一個心頭疙瘩。

至於議程參與嘛……,我坦白說,因為知道大會日後會將影片釋出,所以那兩天我幾乎沒有即時在線上參加議程,反而是泡在 Gather 上一直逛攤位、找熟人聊天。沒想到對我這樣個性的人,COSCUP 的「m% 聽議程、n% 交朋友,n > m」是直到改用這樣的形式舉辦,我才實現了這樣的作為。

感謝「帶您讀源碼」被我推坑接手議程協調工作的 Wen-Chun Lin 夶、感謝大會全體工作人員,今年大會,我玩得非常自在。