軟體工程師,相信 AI 與 Infra 是開發者的未來。擅長用文字記錄學習,希望可以寫到 70 歲

Joined July 2018
49 Photos and videos
Jun 15
關於主動學習的認知負荷 上一篇提到,「計時」是我保持學習紀律的方式——尤其是全職學習階段 那全職準備時,究竟一天或一週該學習多少小時才夠呢?這個答案,依據我不同的人生階段,有著不同的數字 早期準備國家考試(書記官、律師)的時候,大概是每週 25 到 30 小時,考前甚至達到 35 小時——但這是不可持續的 轉職軟體工程師的時候,降到 20 到 25 小時。而現在,大概就「只有」15 小時,從 3 月到現在都是每週 15 小時左右 這個變化來自於我對學習的理解:時數只是學習的其中一環,高強度的學習對認知負荷很高 像 CKA 題目的練習、理解與筆記,一天 2 到 2.5 小時就差不多是極限了。其他時間搭配「相對被動」的學習,以一天 3、4 小時為目標 完全符合 Oliver Burkeman 的〈The three-or-four-hours rule for getting creative work done〉——強烈推薦大家去看原文 那怎麼衡量學習的強度和密度呢?這就沒有一個標準答案了,但我覺得 Oliver Burkeman 在《人生 4000 個禮拜》中的看法也很有啟發,非常值得借鑑: 「重要的事總是讓人很想逃避」 這可以拿來衡量你學習的效率,如果學習的方式可以輕鬆就一天超過 4 小時,比如一直看線上課,那麼我們可能還沒有真正挑戰到自己 而這樣的學習,往往是低效且船過水無痕的。有強度的學習,就是真的讓人想要逃避XD 若對該書有興趣,也歡迎參考我寫的書評〈《人生 4 千個禮拜》筆記(一)病態的生產力〉與〈《人生 4 千個禮拜》筆記(二)抗拒「重要性中等」的誘惑〉
9
72
3,924
May 26
全職學習如何保持紀律?我的答案很簡單:計時 一直以來,無論是準備書記官、律師考試,還是轉職軟體工程師,在沒人監督的情況下,我都是用「計時」這個方法讓自己持續前進,避免半途而廢 計時算是一種量化的手段,讓我能夠清楚看到自己在學習上的投入和進步 計時的另一個好處是,它讓你不再「高估」自己的產出——實際的學習時數,往往比你想像的要少,這很正常,應該說,這才是現實 如同我在〈關於寫程式到 70 歲的想像〉一文中提到的,以往我是用 Google Sheets 作為記錄的載體(計時工具則是 Toggl) 但現在不需要了!我直接寫在普通的 Markdown 檔案內,把時間寫清楚就好了,因為 LLM 可以輕鬆解析與統計這些內容 我感覺這樣的記錄方式更加自由,而且搭配提示詞,隨時能產出像附圖這樣的統計摘要
8
9
48
2,695
May 22
前天 Google I/O 大會,發布了 Antigravity 2.0 這個 2.0 基本上是「砍掉重練」,而且長得跟 OpenAI 的Codex app 有 87% 像XD 對此,許多已習慣用 1.x 的開發者表示非常不滿,因為它已經完全不是以前那個 Antigravity 了 而我則感到十分欣慰,立刻下載來用! 簡單講,它第一版是給軟體開發者用的,是 VS Code 的 fork 版本,對一般不寫程式的人很不友善——介面太複雜、功能太多 Google 顯然意識到,這會不利於推廣 反觀隔壁 OpenAI 的 Codex app,做得風生水起(目標用戶是一般白領上班族),甚至有趕超 Claude Code 之勢,那我還不趕緊抄起來? 沒錯,於是 Antigravity 2.0 aka Google 版 Codex app 就此誕生! 作為 AI Pro 的訂戶,終於有機會好好消耗我的 token 了!
10
1,561
May 19
「How to quit vim?」 「I don't know...」 但現在必須 know 了! 以前看過一些文章,說用 Vim 可以完全不碰滑鼠,有點羨慕。但一想到學 Vim 就要放棄已經熟悉的 VS Code 快捷鍵,我就失去動力了 更別說是以「學習曲線陡峭」聞名的 Vim 但現在沒辦法,CKA 考試只能用 Vim 或 nano——總不可能用 nano 吧 XD 所以我終於打開了 Mac 的 Vim。結果一打開,天啊怎麼這麼醜!沒有行號、沒有 syntax highlight,感覺回到了 90 年代 原來是少了 .vimrc,設定好之後,總算順眼多了,請看圖片的 before / after!
4
3
325
May 15
讓 Logseq 再次偉大! 2020 年左右,受卡片盒筆記法(Zettelkasten)的啟發,各種「雙向連結」筆記軟體如雨後春筍般誕生,Roam Research、Obsidian,還有我正在用的 Logseq 儼然有一種筆記軟體就要範式轉移的趨勢 但計畫趕不上變化,後來 AI 時代來了。受惠於 AI Agent 搜尋能力與 RAG 機制的強大,我認為雙向連結用來組織文本的優勢已經不再明顯——甚至不必要XD 即使不考慮這些,我總覺得雙向連結,終歸只是筆記形式中的陽春白雪,曲高而和寡,甚至還寫了一篇〈逐漸被我遺忘的卡片筆記〉,來說明我對它的興趣已經逐漸減退 但投入 DevOps 轉職之後,我又把 Logseq 打開了——不是為了雙向連結,而是為了閃卡(Flashcard) DevOps 領域有大量零碎知識:K8s 元件名稱、kubectl 指令、debug 判讀流程,它們未必都要求深度理解,但你就是要記住。閃卡剛好適合這種像「背單字」的場景 而 Logseq 的閃卡功能,是我用過製作成本最低、摩擦力最小的閃卡工具,寫筆記的同時就能標記成卡片,不用另外整理 我只能說:比 Anki 好用太多了😂
1
9
544
May 13
該來的還是要來 經過九週的自主學習(前六週為 Kubernetes),昨天試做 Udemy CKA 課程最後附的 mock,結果第一題就傻住了XD 題目要建一個三 container 的 Pod,加 shared volume 和 env from fieldRef 課程肯定是一步一步都有教,不過我後來都用 WeaMind 自己學 Kubernetes,沒再看課程,所以這些考試細節根本沒實際演練過 kubectl run 能帶哪些參數?為什麼要 --dry-run=client?我全都不熟。我都是 get、describe、apply 耶XD 以為自己學了 6 週 K8s,結果連第一題都做不出來,真是個震撼教育🐥 後來知道,這是 CKA 考試的 pattern:用指令建立 YAML,然後 vim 編輯,最後 apply。知道歸知道,但當下還是很震驚
6
219
May 8
大家看過古古的這篇〈終身免費的 VM 服務!Google Cloud 免費方案分享〉嗎?文中手把手教你如何建立和設定 GCP Free Tier VM 說真的,以三大雲端供應商的 VM 價格來看,這樣的免費 VM 絕對是堪稱大方! 後來她更新文章說有個設定沒寫到,會扣一點錢——我有發現,後來就先把 VM 刪了 刪了之後,我就再也沒有重新建立過。一來是在 Hetzner(來自德國的雲端服務商)上已經有一台規格更高的 VM 在跑了,沒有急迫需求 二來則是……那些「click」實在太麻煩了XD,要小心翼翼地點一堆設定,想想就有點懶 但現在不同了——因為我學了 Terraform! 這週實作 Terraform,練習對象正是這台 GCP Free Tier VM。region、machine type、disk、network tier,全部寫在 .tf 裡,不用再對照文章、盯著 Console 怕點錯 一個「terraform apply」就能重建,想刪掉也只要「terraform destroy」,真是太舒爽了🥰
1
6
174
May 5
我感覺在 AI 時代,像 yadm 這樣的 dotfiles 同步工具,重要性大大提升了 以前 dotfiles 就那幾個老面孔,什麼 bashrc、vimrc、config 目錄,對多數開發者而言,同不同步影響不大——可能只有後端 geek 才覺得很重要XD 但現在,我打開 Home 目錄,滿滿都是 AI config:.claude/、.codex/、.gemini/ 有各自的 User Global Prompt 不說(主要是 CLAUDE.md 和 AGENTS.md) 在 Agent Skill 成為事實上的標準之後,更是雪上加霜!我大部分 Skill 都是 User Level 的,跟特定專案無關,所以都放在 `~/.agents/skills/` 3 台 Mac 要同步這些,不用工具就會很麻煩 yadm 對我來說已經不只是 dotfiles 管理工具,更像是 AI 時代的開發環境同步基礎設施 之前寫過一篇〈yadm 教學:實作 macOS 與 Linux 的 dotfiles 跨平台同步〉,有興趣可以參考
2
202
Apr 29
做完 Grafana Dashboard 後,才知道 panel 不是附送的 前天終於把 WeaMind 的 Grafana dashboard 做完了 直到真的把圖拉出來,看著它開始定期更新,我才第一次感受到,能直接看到自己 app 的監控數據,原來是這麼微妙又有趣的事☺️ 大部分時間都花在 app 的 dashboard 設計上,畢竟 node 早就有 stack 內建的 Prometheus Exporter,基本的 metric 全都有,而且還很漂亮! app 相較之下就麻煩多了,除了 metrics 要自己寫(或 AI 寫),dashboard 也要從頭開始拉 我本來還天真地以為,metrics 有幾個,dashboard 大概就會長出幾個 panel。做完才知道事情沒這麼簡單!metric 只是原始資料,panel 還要自己決定要用哪個 PromQL 角度去看它 而且 Grafana 作為一個資料視覺化大平台,哪怕是 GUI,複雜度也實在不低,光做好第一個 panel 就不知道耗去我多少時間(一邊罵說怎麼這麼不直觀 XD)
1
3
153
Apr 26
這週陪女友去花蓮慈濟捐骨髓,學習暫停了兩日,回來後繼續趕工,終於在星期六晚上做出了生平第一個 Grafana dashboard——的其中一個 panel 整個過程的第一個感受是:Grafana 真的好複雜XD。難怪可以作為鐵人賽的主題 為此,我在 WeaMind app 中實作了 4 個 metrics 結果才拉完第一個 LINE webhook events 的 panel,就看到一個很怪的現象:明明我沒怎麼操作,半夜卻還是一直冒出 20 到 30 個 postback 事件,也就是 LINE rich menu 的點擊 這顯然不合理!內心不禁有些挫折,可觀測性真是博大精深啊 經過一番 debug,最後定位到是 uvicorn 的 multi-worker 模式 prometheus_client 的 in-memory counter 聚合問題,才解開這個謎團 了解到其中的緣由後,我感覺自己的信心又回來了!😂
5
264
Apr 16
《從異世界歸來發現只剩自己不會 Kubernetes》筆記(三)AI 時代的閱讀之道 清明連假我把《從異世界歸來,發現只剩自己不會 Kubernetes》讀完了,這是一本好書! 和以往不同的是,我的讀書方式改變了 我在圖書館邊看書邊開著 Claude App,直接問它這段值不值得深入、跟我現在的學習主線關係如何、適不適合加入後續實踐的 to-do list 換句話說,現在讀書的主軸已經慢慢從內容本身變為「我可以做什麼」 畢竟 Kubernetes 的實作還是非常重要,而且 AI 能夠在實作時提供即時的判斷與建議,這樣的學習方式更符合我現在的需求,也更有效率 但書依舊有其獨特的價值,我認為是作者的經驗(我很喜歡看裡面的作者碎碎念)、系統化的整理,尤其是那些對初學者而言的 Unknown Unknowns
3
141
Apr 14
《從異世界歸來發現只剩自己不會 Kubernetes》筆記(二)Dashboard 退場後的選擇 上一篇提到,書中推薦了 Kubernetes Dashboard。於是我也照著去裝,結果才發現它早就在今年 1/21 被官方封存了😂 但我對 GUI 的熱情不減!趁這個機會,乾脆把當前值得參考的 Kubernetes 視覺化工具整理成一篇文章,幫剛開始學 Kubernetes 的朋友們縮小選擇範圍 本文比較了 Headlamp、Lens、Rancher、K9s 等選項,以及各自適合什麼情境,最後說說我自己目前的選擇 如果你剛開始學 Kubernetes,還在猶豫要用哪款 GUI 工具,這篇應該能助你更快做出判斷 blog.kyomind.tw/kubernetes-g…
1
7
193
Apr 6
這些年,我訂閱的 AI 聊天服務(一)ChatGPT 2023 年開始訂閱 ChatGPT Plus 時,真的有一種撿到寶的感覺。每月「只要」20 美元,聊天、生圖、語音對談,功能強大。 我在〈2023 那些我已不可或缺的「付費訂閱」推薦〉一文中甚至表示: 「如果你問我,我對這個服務目前為止的定價接受度上限為何?我可能會說是每月 40 美元——可見我確實離不開它。」 3 年下來,我依舊訂閱中。但 GPT-5 剛上的那陣子,我覺得它變得有點難用,一度認真思考要不要退訂 現在則退不掉了。一來是 GPT 5.4 的表現確實又回溫了,二來則是有了 Codex 的使用需求 原本我主要靠 GitHub Copilot,但有時改文件改太頻繁,額度還是會吃緊,Codex 恰好補上了這個缺口。而且說真的,給的額度還蠻大方的☺️ 看樣子,ChatGPT 對我來說,雖然不再是唯一,但也沒有離開牌桌
2
331
Apr 5
今年以來,我用 Codex 的頻率明顯變高了,而且很多時候不是拿來寫程式,而是拿來學 Kubernetes、學英文,或整理文件 剛好女友也有訂閱 ChatGPT Plus,我就想說這額度放著不用太浪費,乾脆幫她裝一下 Codex。拿來改文件、整理心得,甚至做一點簡單的 Vibe Coding,都很適合 一開始我直接幫她裝 CLI,但實際弄了才發現這不太行。對不懂程式的人來說,CLI 的距離感太重了,根本不會想打開XD 好在,後來 OpenAI 推出了 Codex 的 macOS App,這樣使用門檻就大大降低了。為了教她怎麼用,我自己得先試用看看 沒想到……現在我用 Codex App 的時間,超過 VS Code 裡的 extension,更不用說 CLI 本來是幫別人裝的工具,最後用最兇的是我😅
1
6
686
Apr 2
想學 Kubernetes,究竟該從哪種環境開始? 一番比較之後,我選擇了 K3s——它保留了足夠真實的建置細節,又不會讓維護複雜度過高 本文分享我為什麼選擇 K3s、它的優點,以及不同工具各自適合的使用情境 blog.kyomind.tw/k3s-for-weam…
4
10
286
Mar 31
《從異世界歸來發現只剩自己不會 Kubernetes》筆記(一)Kubernetes Dashboard 上星期四去圖書館開始讀,作者在開篇不久處就推薦了 Kubernetes Dashboard 這個工具。他說: 「Kubernetes Dashboard 不得不說是一個初學者以及指令苦手的救星……有很多唾棄 GUI 的指令神人會覺得圖形化工具會寵壞工程師,但莫忘世上苦人多,更多的是對較高的學習門檻打退堂鼓的平庸小白。」 對此我深有同感。畢竟我自己就是一個 GUI 愛好者:Git 盡可能用 GUI、AI 輔助開發也持續用 VS Code 的 GitHub Copilot Chat,Codex 也是用 extension 或 app——就是不用原生 CLI 雖然軟工世界總不乏 CLI 信徒(通常以 Vim 為首 XD),彷彿不用純指令就不夠「哈扣」。但作為一個 GUI 愛好者,我必須說:「咱們 GUI 派絕對不能輕易退縮!」😝 面對 Kubernetes 這樣的龐然大物,GUI 確實對學習有幫助。不是說它能取代 CLI,而是它能讓你在還搞不清楚指令的時候,先從視覺上掌握「這個叢集裡到底有什麼」。降低入門門檻,本身就是價值 於是我也去安裝了。不過沒想到……(待續)
2
5
443
Mar 30
最近開始明顯感覺到,AI 用太多也會有副作用 以前沒有 AI,一個人學習很辛苦,也很容易放棄 現在有了 AI,很多事情都可以跟它反覆討論,先跟 Claude 聊、再跟 ChatGPT 講,甚至再用 GitHub Copilot Agent 打造各式各樣的學習流程,讓 AI 發揮最大效用 整體而言,效率確實提升了,但也帶來新的、巨大的認知負擔 因為 AI 太強大,反而讓我不知不覺陷入「完整性的誘惑」,總覺得可以再優化一下、再補一個環節、再建一個系統 說來諷刺,我可是花了超過 10 小時寫了〈為什麼你「不需要」所謂的人生管理系統〉這篇文章的人 AI 真正危險的地方,也許不是讓人偷懶,而是讓人一直處在「看起來很努力」的狀態裡 這些事情看起來都很像在前進,但有時候回頭看,才會發現自己花了很多時間優化學習、改善流程,卻不一定真的更接近學會
8
8
129
16,300
Mar 27
考上公務員後,人生就穩了嗎? 我當了五年多的書記官,最後還是決定離開 這篇聊聊我為何最終(不得不)放棄了,原本以為會走一輩子的法律之路 blog.kyomind.tw/orange-days-…
1
1
6
188
Mar 25
你用 AI 寫程式,我用 AI 學習 現在你只要打開 YouTube、X、Threads,幾乎整個世界都在教你怎麼用 AI 輔助開發、Vibe Coding,怎麼把原本要做兩個禮拜的工作壓到一天做完 我最近的兩個學習主軸,一個是 Kubernetes,一個是英文。你可能想不到,我拿來學這兩樣東西的工具,剛好就是大家最常拿來寫程式的 GitHub Copilot 和 OpenAI Codex(當然我也會拿它們來寫程式啦😅) 別人用它們大量產出,我反而拿它們慢慢學習。這點真的很有趣,也有點上癮XD 以前學東西,常常是看文件自己猜,或者卡住之後再去問人。現在我可以一邊做,一邊被修正、提問;不管是 K8s 的設定理解,還是英文語感,這種回饋密度真的是以前不能比的
3
237
Mar 24
ChatGPT 剛誕生的前兩年,各種「提示詞技巧」蔚為風潮,甚至還有所謂的「提示工程師(Prompt Engineer)」,我對此不太以為然——覺得這熱潮遲早會退 我當然也有學,甚至也花了不少時間研究怎麼寫 prompt、怎麼做 GPTs,但我心裡一直覺得,這應該不是什麼長期能力 我相信,等 AI 產品越做越成熟,普通人最後根本不用懂這些,因為真正有用的東西,遲早都會被包裝成產品,你只要動動嘴就好 但後來自己真的寫了越來越多 Prompt、用 AI 大量輔助程式開發,甚至工作中開發 AI 應用,我的心態就慢慢變了 因為真正會被產品化的,通常只有高度通用的場景。剩下大多數 99% 情境,還是你自己的小問題、小流程、小需求,沒人會替你寫好適合該情境的 Prompt 現在我可以承認,Prompt 不是 buzzword,而是 AI 時代的溝通能力
1
4
415