關於
Michael Lynch 是一位獨立開發者、技術作家與部落客。他畢業於哥倫比亞大學電腦科學系,曾先後在 Microsoft 與 Google 擔任軟體工程師,並在 NCC Group 擔任安全工程師。
2018 年,他從 Google 離職開啟全職獨立創業生涯。他從零創辦了知名的開源硬體 KVM 產品 TinyPilot,並在營運四年後成功出售。他著有面向軟體工程師的英文寫作指南《Refactoring English: Effective Writing for Software Engineers》。
自離職創業以來,他長期在個人網站 mtlynch.io 上以高度公開透明的方式記錄每月創業複盤(Monthly Retrospectives),分享關於獨立產品營運、代碼審查(Code Review)實踐、網路安全與軟體工程思考的深度文章。
你還可以在這些地方發現 Michael Lynch 的蹤跡
- 個人網站: https://mtlynch.io
- Twitter: @deliberatecoder
- GitHub: mtlynch
- Bluesky: @mtlynch.io
- Mastodon: m.mtlynch.io/@michael
- YouTube: https://www.youtube.com/@mtlynch
- Email: [email protected]
文章
- Refactoring English:第 20 個月
- Refactoring English:第 19 個月
- Refactoring English:第 18 個月
- 《Refactoring English》:第 17 個月
- Refactoring English:第 16 個月
- Claude Code 發現潛藏 23 年的 Linux 漏洞
- Refactoring English:第 15 個月
- 重構英文:第 14 個月
- Eversource 電動車補助計畫外洩麻薩諸塞州客戶個資
- 我獨立創業的第八年
- Refactoring English:第 13 個月
- Refactoring English:第 12 個月
- 我對 MeshCore 離線傳訊的第一印象
- 在 OPNsense 新增一個 VLAN,只要 6 個畫面點 26 下就好
- Refactoring English:第 11 個月
- 先別急著升級到 Litestream 0.5.0
- 用 JavaScript 閱讀我的部落格
- Refactoring English:第 10 個月
- 提供 2 倍解析度的 xkcd 漫畫清單
- 以 2 倍解析度取得 xkcd 漫畫
- 我曾出現在《The Old New Thing》上
- 重構英文:第 9 個月
- 送給另一半一份禮物:夫妻共用的 Email 網域
- 透過命令列刷寫 AirGradient ONE
- Refactoring English:第 8 個月
- 將 ZFS 儲存池從 RAIDZ1 遷移至 RAIDZ2
- Refactoring English:第 7 個月
- goHardDrive 外洩數千名客戶的個人資料
- 我對 Gleam 的第一印象
- 從 Gleam 呼叫 Elixir 函式庫的簡單範例
- Refactoring English:第六個月
- 網頁開發該學哪個新語言?
- Simon Willison 在《Software Misadventures》訪談中的筆記
- Refactoring English:第五個月
- 自費出版技術書籍,我的 6,000 美元預付款
- 別跟你的 Podcast 託管平台綁死:自己託管 Podcast Feed
- Refactoring English:第四個月
- 我的新書預售,驚險過關
- 不再是我最喜愛的 Git Commit
- Refactoring English:第三個月
- 《永遠別付第一張帳單》馬歇爾·艾倫
- 我在 VS Code 中的 Zig 設定
- Refactoring English:第二個月
- 在免費的 Oracle Cloud VM 上安裝 NixOS
- 我作為自給自足創業者的第七年
- Cline AI 助理令人著迷
- 如何在 OPNsense 中解析區網主機名稱
- 如何提高你寄給我的陌生開發信回覆率
- 克服三星安全抹除的各種坑
- 《Refactoring English》:第一個月
- if got, want:寫出更好 Go 測試的簡單方法
- 約翰·華盛頓《開放邊界的主張》
- 育嬰假:第四個月
- 我對 Hello Base 的回饋
- 在 NixOS 上執行簡單的 Go 網頁服務
- 育嬰假:第三個月
- 刪掉靜態部落格裡的時間戳
- 用 Nix 打造模糊測試 netconsd 的工作流程
- 我的第一次退場所學到的事
- 從 Charles Marohn《Escaping the Housing Trap》一書得到的啟示
- Nemotron 的一次失敗實驗
- 使用 Nix 對 PDF 解析器進行模糊測試(下)
- 用 Nix 模糊測試 PDF 解析器(上)
- 麻薩諸塞州居民可以因垃圾郵件起訴線上商家
- 育嬰假:第二個月
- 育嬰假:第一個月
- 我還是搞不懂 Base
- Noah Bragg 的首次 Stoke Fire 直播
- 教育產品:第二個月
- GUI 是反社交的
- 想買下 Is It Keto 嗎?
- 教育產品:第一個月
- 在 Nix 環境下設定 Git Shell 提示字元
- 重置之月
- 加入我的六週部落格課程
- 重置之月
- 我賣掉了 TinyPilot,我第一間成功的事業
- 誠徵:部落格特約漫畫家
- 透過 Ollama 試玩 Llama 3
- TinyPilot:第 45 個月
- 打造我的第一座 Homelab 機櫃
- 為什麼多餘的建置步驟會讓我的 Zig 應用程式快 10 倍?
- TinyPilot:第 44 個月
- TinyPilot:第 43 個月
- 身為自籌創業者的第六年
- 強韌城鎮
- ArchiveBox 超酷
- 如何轉載或改作本站內容
- TinyPilot:第 42 個月
- 不加入 Git 也能使用 Nix Flake
- 用 Zig 為 C 應用程式撰寫單元測試
- 使用 Zig 呼叫 C 程式碼:字串
- TinyPilot:第 41 個月
- 用 Llamafile 與 LLaVA 1.5 的粗略實驗
- 從 Zig 呼叫 C 函式庫的簡單範例
- TinyPilot:第 40 個月
- 在 TrueNAS Core 上安裝 Jellyfin
- 用 Nix 打造每個專案專屬的開發環境
- TinyPilot:第 39 個月
- 在 Proxmox 上運行 NixOS
- TinyPilot:第 38 個月
- 在 Nix 中從 URL 匯入
- Aardvark'd:18 年後再看 Fog Creek 紀錄片
- TinyPilot:第 37 個月
- 在 Raspberry Pi 4 上安裝 NixOS 的失敗嘗試
- 在 Raspberry Pi 4 上安裝 NixOS
- TinyPilot:第 36 個月
- 在我的 TP-Link 網管型交換器上除錯 VLAN
- 我對 Nix 的第一印象
- TinyPilot:第 35 個月
- Cory Zue 2023 年 5 月直播寫程式的心得整理
- 在 Fly.io 雲端伺服器上部署 Syncthing
- 向潛在的第三方物流(3PL)廠商該問哪些問題
- TinyPilot:第 34 個月
- TinyPilot:第 33 個月
- 設計理想的自籌事業
- TinyPilot:第 32 個月
- TinyPilot:第 31 個月
- 我作為自籌創業者的第五年
- TinyPilot:第 30 個月
- Mat Ryer 著《Go Programming Blueprints》
- TinyPilot:第 29 個月
- TinyPilot:第 28 個月
- 談從 Cypress 遷移到 Playwright
- TinyPilot:第 27 個月
- 我該投資 iBonds 嗎?
- TinyPilot:第 26 個月
- 給自籌資金企業的應徵者追蹤系統總覽
- 修復我的 Golang 網頁應用程式中的記憶體耗盡錯誤
- TinyPilot:第 25 個月
- 不用解鎖就能備份加密的 ZFS 資料
- 我後悔花 4.6 萬美元改版網站
- TinyPilot:第 24 個月
- TinyPilot:第 23 個月
- 打造平價 Homelab NAS 伺服器(2022 年版)
- TinyPilot:第 22 個月
- TinyPilot:第 21 個月
- TinyPilot:第 20 個月
- TinyPilot:第 19 個月
- 我自籌創業的第四年
- TinyPilot:第 18 個月
- TinyPilot:第 17 個月
- TinyPilot:第 16 個月
- Badass:把使用者變厲害 — Kathy Sierra 著
- TinyPilot:第 15 個月
- TinyPilot:第 14 個月
- 戴爾·卡內基《如何停止憂慮,開創人生》
- TinyPilot:第 13 個月
- TinyPilot:第 12 個月
- 《目標》 — 艾利亞胡·M·高德拉特
- TinyPilot:第 11 個月
- TinyPilot:第 10 個月
- 我如何用 Litestream 以每月 0.03 美元取代資料庫伺服器
- TinyPilot:第九個月
- 菲爾·奈特《鞋狗》
- 與我合作的接案開發者指南
- TinyPilot:第八個月
- TinyPilot:第 7 個月
- 獨立開發的第三年
- TinyPilot:第六個月
- 伊布拉姆·X·肯迪《如何成為反種族主義者》
- 如何讓你的程式碼審查者愛上你
- TinyPilot:第五個月
- 羅伯特·D·普特南《獨自打保齡球》
- TinyPilot:第四個月
- 打造 Homelab 虛擬機伺服器(2020 年版)
- TinyPilot:第三個月
- TinyPilot:第二個月
- Traction/Gabriel Weinberg 與 Justin Mares 著
- 我如何向無良商家討回欠款
- TinyPilot:第一個月
- 史蒂芬·R·柯維《與成功有約:高效能人士的七個習慣》
- TinyPilot:不到 100 美元自製 KVM Over IP
- Is It Keto:第 13 個月
- Key Mime Pi:把你的 Raspberry Pi 變成遠端鍵盤
- 《波斯王子》誕生記 Jordan Mechner 著
- Is It Keto:第 12 個月
- 我花了八年將 45 卷錄影帶數位化(下)
- 使用 MediaGoblin 編輯與分享家庭影片
- 我的八年長征:將 45 卷錄影帶數位化(上篇)
- 馬歇爾·B·盧森堡博士的《非暴力溝通》
- Is It Keto:第 11 個月
- 更新:Stripe 針對使用者追蹤的回應
- Stripe 正悄悄記錄你在其客戶網站上的一舉一動
- 意外的重整之月
- WanderJest:第二個月
- WanderJest:第一個月
- 獨立開發者的第二年
- 追求我真正熱愛的事業
- 使用 Vue + Nuxt 打造簡單的預先渲染網頁應用程式
- 《異數》 — 麥爾坎·葛拉威爾
- 我大概只是在拖延
- 擺脫社群媒體、電子郵件與 StackOverflow 的干擾
- Is It Keto — 第 10 個月
- PyGotham 2019 筆記
- Is It Keto — 第九個月
- 聘請內容寫手(二):撰寫詳盡的工作說明
- 聘請內容寫手:第四部分——與寫手合作
- 聘請內容寫手:第五部分 - 終止合作
- 聘請內容寫手:第三部分——篩選候選人
- 聘請內容寫手:第一篇——尋找寫手
- 聘請內容寫手:中小企業指南
- Is It Keto — 第 8 個月
- 我外包過最蠢的一件事
- What Got Done — 第三個月
- 《媽媽測試》— Rob Fitzpatrick
- What Got Done — 第二個月
- 寄給沒人看的進度更新,卻讓我保持動力
- What Got Done — 第一個月
- 如何快速成長,卻永遠無法獲利
- 《混亂猴子》Antonio García Martínez 著
- 復甦之月
- Web App 端對端測試:無痛指南
- PyTexas 2019 筆記
- Is It Keto:第七個月
- Is It Keto:第六個月
- Is It Keto:第五個月
- 我作為獨立開發者的第一年
- Is It Keto:第 4 個月
- 從一個笨拙的騙子身上,我學到的 Upwork 教訓
- 不改一行程式碼,為應用程式加裝雲端儲存
- Is It Keto:第 3 個月
- 從小開始,保持小而美 — Rob Walling 著
- 為什麼優秀的開發者會寫出糟糕的單元測試
- 我如何自欺欺人,導致產品太晚才上線
- 《隨機騙局》——納西姆·尼可拉斯·塔雷伯
- 深度工作 — 卡爾·紐波特
- 復活已死的函式庫:第三部——重整
- Zestful:第 5 個月
- 讓已死的函式庫起死回生:第二部——穩定化
- 查爾斯·蒙哥馬利《快樂城市》
- 復活一個已死的函式庫:第一部——搶救復甦
- Zestful:第四個月
- 離職後,我都在做些什麼
- 後續與 Space Duck
- 為什麼我辭掉 Google 的工作,選擇為自己工作
- 如何聘請漫畫家,讓你的部落格不再無聊
- KetoHub 近況更新:第三個月
- 外包 MVP 的陷阱
- KetoHub:第 2 個月
- Sia-Minio 整合事後檢討
- 如何像人一樣做 Code Review(下篇)
- 如何像人一樣做程式碼審查(上篇)
- 用 Sia 與 Nextcloud 打造你的低成本雲端儲存應用程式
- 我如何為部落格聘請一位自由接案編輯
- GreenPiThumb:用 Raspberry Pi 打造的園藝機器人
- 我如何偷走你的 Siacoin
- Siacoin 新手挖礦指南
- 打造 Homelab 虛擬機伺服器
- 外包歷險記:用 TaskRabbit 幫我下廚
- 用 ProsperBot 自動化 Prosper 投資
- 使用 Selenium 測試 Ansible 網頁應用程式角色
- 使用 Ansible 自動部署 ClipBucket
- 透過 Docker 在 Synology NAS 上執行 Sia