关于
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]
文章
- 重构英语:第 20 个月
- 《Refactoring English》:第19个月
- 重构英语:第 18 个月
- Refactoring English:第 17 个月
- Refactoring English:第16个月
- Claude Code 发现了一个隐藏 23 年的 Linux 漏洞
- Refactoring English:第 15 个月
- Refactoring English:第 14 个月
- Eversource 电动汽车补贴计划泄露马萨诸塞州客户数据
- 我独立创业的第八年
- 重构英语:第 13 个月
- 初试 MeshCore 离网通信的第一印象
- 在 OPNsense 上添加一个 VLAN,只需 26 次点击、跨 6 个界面
- 重构英语:第 11 个月
- 先别急着升级到 Litestream 0.5.0
- 用 JavaScript 阅读我的博客
- 重构英语:第十个月
- 获取 2 倍分辨率的 xkcd 漫画
- 2 倍分辨率 xkcd 漫画列表
- 我曾在《The Old New Thing》上露过脸
- 《Refactoring English》:第九个月
- 送给伴侣一份礼物:夫妻共享邮箱域名
- 通过命令行刷写 AirGradient ONE
- 重构英语:第 8 个月
- 将 ZFS 存储池从 RAIDZ1 迁移至 RAIDZ2
- Refactoring English:第七个月
- goHardDrive 泄露数千名客户的个人数据
- 我对 Gleam 的第一印象
- 从 Gleam 调用 Elixir 库的简单示例
- 重构英语:第 6 个月
- 做 Web 开发,我该学哪门新语言?
- Simon Willison 做客《Software Misadventures》访谈笔记
- 重构英语:第五个月
- 作为自出版技术作者,我拿到的6000美元预付款
- 别和播客托管平台绑死:自己托管 RSS 订阅源
- 重构英语:第四个月
- 我的新书预售差点就失败了
- 不再是我最喜爱的 Git 提交
- 重构英语:第三个月
- 永远别付第一张账单 Marshall Allen
- 我的 VS Code Zig 配置
- 重构英语:第二个月
- 在免费的 Oracle Cloud 虚拟机上安装 NixOS
- 我作为独立创业者的第七年
- Cline AI 助手令人着迷
- 如何在 OPNsense 中解析本地主机名
- 如何提高发给我的冷邮件的回复率
- 搞定三星安全擦除的那些坑
- 重构英语:第一个月
- if got, want:写出更好 Go 测试的简单方法
- 约翰·华盛顿《开放边境的主张》
- 陪产假:第四个月
- 我对 Hello Base 的反馈
- 在 NixOS 上运行一个简单的 Go Web 服务
- 陪产假:第三个月
- 删掉静态博客中的时间戳
- 用 Nix 搭建 netconsd 的 Fuzz 测试工作流
- 我第一次退出的教训
- 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 个月
- 搭建我的第一个家庭实验室机柜
- 为什么一个多余的构建步骤让我的 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 个月
- 在树莓派 4 上安装 NixOS 的失败尝试
- 在树莓派 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 个月
- 我该投资I债券吗?
- TinyPilot:第 26 个月
- 面向自筹资金企业的求职者跟踪系统调研
- 修复我的 Golang Web 应用中的内存耗尽 Bug
- TinyPilot:第 25 个月
- 无需解锁即可备份加密的 ZFS 数据
- 我后悔花4.6万美元重做网站
- TinyPilot:第 24 个月
- TinyPilot:第 23 个月
- 打造平价家用实验室 NAS 服务器(2022 版)
- TinyPilot:第 22 个月
- TinyPilot:第 21 个月
- TinyPilot:第 20 个月
- TinyPilot:第 19 个月
- 作为自筹资金创始人的第四年
- TinyPilot:第 18 个月
- TinyPilot:第 17 个月
- TinyPilot:第16个月
- 《Badass:让用户了不起》—— Kathy Sierra
- TinyPilot:第 15 个月
- TinyPilot:第十四个月
- 戴尔·卡耐基《人性的优点》
- TinyPilot:第13个月
- TinyPilot:第 12 个月
- 《目标》——艾利·高德拉特
- TinyPilot:第 11 个月
- TinyPilot:第十个月
- Litestream 如何让我以每月 0.03 美元的成本省掉了数据库服务器
- TinyPilot:第九个月
- 《鞋狗》——菲尔·奈特
- 与我合作的自由开发者工作指南
- TinyPilot:第八个月
- TinyPilot:第七个月
- 我做独立开发者的第三年
- TinyPilot:第六个月
- 伊布拉姆·X·肯迪《如何成为一名反种族主义者》
- 如何让你的代码评审员爱上你
- TinyPilot:第五个月
- 《独自打保龄球》——罗伯特·D·帕特南
- TinyPilot:第四个月
- 搭建家庭实验室虚拟机服务器(2020 版)
- TinyPilot:第三个月
- TinyPilot:第二个月
- 《Traction》 加布里埃尔·温伯格、贾斯汀·马雷斯 著
- 我如何从无良商家那里追回欠款
- TinyPilot:第一个月
- 史蒂芬·R·柯维《高效能人士的七个习惯》
- TinyPilot:不到 100 美元自制 KVM over IP
- Is It Keto:第 13 个月
- Key Mime Pi:把树莓派变成远程键盘
- 《波斯王子》诞生记 —— 乔丹·麦其纳
- Is It Keto:第 12 个月
- 历时八年数字化45盘录像带之旅(下)
- 我历时八年数字化45盘录像带之旅(上)
- 使用 MediaGoblin 剪辑和分享家庭视频
- 马歇尔·B·卢森堡博士《非暴力沟通》
- Is It Keto:第 11 个月
- 更新:Stripe 对用户追踪问题的回应
- Stripe 正在其客户网站上悄悄记录你的浏览行为
- 意外重启的一个月
- WanderJest:第二个月
- WanderJest:第一个月
- 作为独立开发者的第二年
- 追寻一份我热爱的事业
- 使用 Vue + Nuxt 构建简单的预渲染 Web 应用
- 马尔科姆·格拉德威尔《异类》
- 我可能只是在拖延
- 消除社交媒体、电子邮件和 Stack Overflow 带来的干扰
- Is It Keto 第 10 个月
- PyGotham 2019 参会笔记
- Is It Keto 第九个月
- 招聘内容写作者:第四部分——与写作者合作
- 招聘内容写手(五):解聘写手
- 招聘内容写手(二):撰写详尽的职位描述
- 招聘内容写手:第一部分——寻找写手
- 小企业聘请内容写手指南
- 聘请内容写手:第三部分——筛选候选人
- Is It Keto 第 8 个月
- 我外包过最蠢的一件事
- What Got Done — 第三个月
- 罗布·菲茨帕特里克《The Mom Test》
- What Got Done — 第二个月
- 通过向无人发送周报来保持动力
- What Got Done —— 第一个月
- 如何快速增长却始终无法盈利
- 《混乱猴子》安东尼奥·加西亚·马丁内斯
- 恢复之月
- Web 应用端到端测试:无痛指南
- PyTexas 2019 参会笔记
- Is It Keto:第七个月
- Is It Keto:第六个月
- Is It Keto:第五个月
- 我作为独立开发者的第一年
- Is It Keto:第4个月
- 从一个笨拙骗子身上学到的关于 Upwork 的事
- 无需改动一行代码,为应用接入云存储
- Is It Keto:第 3 个月
- 《Start Small, Stay Small》——Rob Walling
- 为什么优秀的开发者会写出糟糕的单元测试
- 我是如何把自己骗到迟迟才发布的
- 纳西姆·尼古拉斯·塔勒布《随机致富的傻瓜》
- 《深度工作》——卡尔·纽波特
- 复活一个已废弃的代码库:第三篇——重构
- Zestful:第五个月
- 复活废弃代码库:第二部分——稳定化
- 《快乐城市》——查尔斯·蒙哥马利
- 复活一个已死的库:第一篇——复苏
- Zestful:第 4 个月
- 辞职之后,我在做什么
- 后续与 Space Duck
- 我为什么辞掉谷歌的工作,选择单干
- 如何雇一位漫画师,让你的博客不再枯燥
- KetoHub 更新:第 3 个月
- 外包 MVP 的陷阱
- KetoHub:第 2 个月
- Sia 与 Minio 集成事后复盘
- 如何像人一样做代码评审(下)
- 如何像人一样做代码评审(上)
- 使用 Sia 和 Nextcloud 自建低成本云存储应用
- 我是如何为博客聘请自由编辑的
- GreenPiThumb:基于树莓派的智能浇花机器人
- 我如何盗走了你的 Siacoin
- Siacoin 挖矿新手指南
- 搭建家庭实验室虚拟机服务器
- 外包历险记:用 TaskRabbit 请人做饭
- 用 ProsperBot 实现 Prosper 自动化投资
- 使用 Selenium 测试 Ansible Web 应用角色
- 使用 Ansible 自动部署 ClipBucket
- 通过 Docker 在群晖 NAS 上运行 Sia