Repost Code Was Never the Hard Part Is an Insult to All Programmers

原始链接 https://blog.senko.net/code-was-never-the-hard-part-is-an-insult-to-all-programmers 附: HackerNews 摘要的AI 总结 https://t.me/hacker_news_zh/23810 软件开发行业正处于剧烈的变革之中。随着 AI 革 命的推进,编程工作面临转型。许多人近期常说 “大语言模型(LLM)擅长编程,但软件开发从来 就不是难点”或“编程很容易,搞清楚要编写什么 才是难点”。作者 Senko Rašić 认为这种观点是对 所有程序员的极大侮辱。 如果编程很容易 如果编程真的很容易,为什么程序员多年来一直 供不应求且薪资高昂?为什么在 AI 出现之前,程 序员就面临巨大的压力、过度劳累和职业倦怠? 如果初学者就能轻松完成工作,为什么公司还要 通过复杂的算法面试来寻找顶尖开发者? 作者通过一系列反问来驳斥编程容易论: • 为什么会有《代码整洁之道》和《程序员修炼 之道》这类厚重的专业书籍? • 为什么计算机科学需要专门的学位或高强度 的训练营? • 如果编程简单,为什么会出现像约翰·卡马克 或法布里斯·贝拉这样被公认为天才的人物? • 如果编程简单,为什么人们会对 AI 抓取自己 的代码感到愤怒? • 如果编程简单,为什么现在的软件依然充满 了漏洞(Bug)? 关于“弄清楚建什么才是难点”的质疑 针对“确定产品需求才是最难的部分”这一说法, 作者提出了以下质疑: • 如果决定建什么是难点,为什么产品经理的 薪水通常没有开发人员高? • 为什么市场研究人员、可用性专家和客户成 功经理在软件公司中不被视为明星员工? • 如果寻找需求更难,为什么程序员在销售人 员为了签单而随意承诺新功能时会感到沮丧? • 如果实现过程很简单,为什么大家不直接构 建十个版本来测试哪一个更受欢迎? 关于程序员角色的误区 另一种陈词滥调是“软件开发的大部分工作是与利 益相关者沟通”。作者指出,现实中很少有程序员 愿意直接与客户打交道。有些开发者标榜自己是 “解决客户问题的人”,但他们转身就开始讨论单 子(Monad)、内存安全等技术细节,而对客户需 求的理解仅停留在虚构的用户画像上。 作者认为,理解用户和解决问题对项目成功至关 重要,但编写高质量代码同样是一门需要技能、 耐心和经验的工艺。这两者并不对立,优秀的开 发者应该努力兼顾对系统的深度理解和对构建目 的的深度认知。 ...

August 9, 2026 · 1 min · Me

通往幸福的十个步骤

介绍 来自HackerNews的一次推送 原文链接 简短的个人感想 人年龄越大,经历得越多,可能越能感受到这些点吧 和阿德勒心理学也有异曲同工之处 大家共勉 原文 原网站访问可能有一点点慢,我把原文贴在这里 pieterhpieterh wrote on 29 Sep, 17:57 (3949 days ago) battery_full.png Today, I’m going to explain ten simple steps you can take towards being happier, and making those around you happier. It takes no money and no magic. Just a shift in how you see the world, yourself, and others. As the 14th Dalai Lama said, “Happiness… comes from your own actions.” ...

July 22, 2026 · 4 min · Me

AI 时代的数字平权

SLOP预警/DISCLAIMER 这篇文章主旨和论据均由人类古法提供,但论述细节大量由AI填充,再由人类微调 前言 这两年大家都在聊 AI,聊 LLM,聊 Coding Agent,聊失业,聊焦虑,聊“以后是不是人人都能写软件”。 我自己的答案是:也许还没到“人人都能把软件写好”的程度,但至少已经到了“很多人都可以把自己要的东西做出来”的程度。 这件事在我看来,比什么“十倍程序员”更重要。 因为它指向的不是单纯的效率提升,而是一种更朴素、也更稀缺的东西:数字平权。 不是每个人都要去创业,不是每个人都要做 SaaS,不是每个人都要把自己活成 Product Hunt 上的独立开发者。我的意思更简单一点: 你终于有机会,不再只能吃厂商喂给你的屎了。 门槛确实在下降 先把话说在前面:我不是在吹什么“AI 已经替代程序员”这种鬼话。 软件工程当然不只是写几行代码。需求、架构、测试、性能、安全、维护、演进,这些东西一个都没消失。尤其是在那种纯许愿式的 Vibe Coding 里,AI 写出来的东西很多时候也就是“能跑”,离“靠谱”还很远。当然,如果你自己知道自己在做什么,把它当成助手而不是许愿池,情况就另说了。“软件质量”这笔账,暂时先按下不表。 但即便如此,一个事实还是很明显: 基础开发的门槛,真的在下降。 以前很多人脑子里有个想法,最后都死在第一步: 我不会写代码 我不会做前端 我不会打包 我不会调 API 我不会搞 Android / iOS 算了,麻烦死了 现在不一样了。你可以不会,但你可以一边问 LLM 一边做。报错了贴给它,UI 丑了让它改,数据结构不懂让它解释,哪怕最后代码一团乱麻,至少那个东西有机会先长出来。 这件事非常重要。 因为“能不能先做出来”本身,就是一道很高的门槛。现在这道门槛被削平了很多。一个普通人,一个没有系统学过计算机的人,一个只是“我就想做个自己能用的小玩意”的人,也终于有了入场券。 是的,做出来的东西可能不优雅,可能有 bug,可能丑,可能非常不工程化。 但它是你的。 而且它第一次让很多人意识到:原来软件不是天上掉下来的,不是只能被大公司、平台、应用商店、产品经理和广告系统垄断定义的东西。 我们真正需要的功能,可能没那么多 现在很多 App 根本不是“软件”,而是某种注意力收割器套了个工具壳。 最离谱的是,很多纯工具软件也开始这样。 前段时间我打开用了很久的欧路词典,结果发现默认界面里居然开始塞短视频了。那一刻我的第一反应不是愤怒,甚至都不是惊讶,而是失望。 因为这种事已经太常见了,甚至欧路已经做得非常克制,它还提供了比较直接的设置可以调整展示顺序以及是否展示。 但也正因为太常见了,一个本来该老老实实做工具的软件也开始往这个方向滑,才更让人难受。你明明只是想查个词,结果它想要的是你的停留时长、你的注意力、你的点击、你的路径数据、你的习惯,最好再顺手把你的大脑一起格式化成一个适合被推荐流驯化的形状。 这就是现在很多软件的基本逻辑: 功能当然要有,但不是第一位 第一位是留存 第二位是转化 第三位是广告位 你的需求?放后面再说 所以软件越来越臃肿,越来越吵,越来越像商场门口、路边推销的、Tony老师那些不厌其烦拦着你办卡的人。 618 期间这种感觉尤其明显。很多 App 只要你切出去几秒再切回来,哪怕根本没有退出,它也得重新给你弹一遍开屏广告。简直像在提醒你:别忘了,你不是用户,你是流量。 更搞笑的是,同样的 App,外区下载的版本居然往往干净得多。 ...

July 2, 2026 · 2 min · ChaosNyaruko

数字自留地

写这篇的起因是周围有朋友陆陆续续问过类似的问题:想在家里或者私人设备上跑点服务,不知道从哪里入手,也搞不清楚要花多少钱、麻不麻烦。所以整理了一下自己的实践,算是入门引导——不讲操作步骤,更多是帮你想清楚「要搭什么」「为什么」「怎么选」。 核心出发点只有三个:便宜、可控、数据是你的。 为什么要自己搭 动机其实很朴素。 云服务现在确实方便,iCloud、Google Photos、OneDrive 开箱即用,每个月收点小钱,大多数情况下够用了。但这里有个前提:你信任对方,而且愿意接受对方可以随时改规则、涨价、停服。国内网盘删库、限速、关停的新闻不是没有,国际服务也有账号被封、区域限制的问题。 自托管的核心价值是主动权在你:数据存在你的硬件上,随时可取,随时可迁移,功能自己决定要不要开。代价是维护责任也在你——硬件坏了、服务挂了,得自己处理。所以这条路比较适合对这件事本身有点兴趣的人;如果完全不想折腾,云服务是更合理的选择。 但是,和ChatGPT聊过后,感觉这些可能也只是表面 数字自留地不一定意味着拥有所有基础设施。 它意味着你始终拥有迁移、备份、恢复和退出的能力。 我对云保持警惕,但我也不想把家里塞满硬件和服务器。 因为我真正反感的不是云,也不是硬件。我反感的是: 当某个东西出问题时,我没有选择。 硬件 迷你主机 / Mac mini 市面上 N100 这类低功耗 x86 迷你主机,功耗在 10-15W 左右,7×24 小时全年电费大概在 100-200 元,算是家用服务器的性价比首选。价格从几百到一两千都有,性能跑绝大部分常见服务没有问题。如果本来就有 Mac mini 常驻家里,顺手兼做服务器也完全可以。 有一点要配置好:断电后自动启动。在 BIOS(找「AC Power Loss」相关选项)或 macOS 的节能设置里打开,不然停电来电之后需要手动开机,很烦。如果预算允许,搭一个家用 UPS 电源,应对短时停电更从容。 旧笔记本 旧笔记本自带电池,本身是一个丐版 UPS——停电了服务还能继续撑一段时间,这是很多人没想到的优势。缺点是功耗比迷你主机高,散热噪音可能也大一点,长期运行建议设置合盖不休眠,或者干脆不合盖。 Linux 在旧笔记本上往往状态更好。我自己一台 2019 年的 Magicbook 装了 ArchLinux,内存占用从 Windows 的 70%+ 降到 400MB 左右,拿来当小服务器跑得很顺畅。 VPS(可选) 如果你想对外提供服务,或者没有公网 IP,一台低配 VPS 可以做公网入口。便宜的配置(1 核 512M-1G)一个月几十块,量力而行,不是必须的。 另一个场景是存储型 VPS:有些云服务商有挂载大磁盘的低配机器,对计算要求不高但存储容量大,适合拿来做备份节点,比单独购买对象存储有时候灵活性更好,看具体需求选择。 基础设施:Tailscale 在讲具体服务之前,先说一个基础问题:怎么安全地从外网访问家里的服务。 Tailscale 是我目前的方案。它基于 WireGuard 协议,把密钥管理和 NAT 穿透都自动处理掉了,装上之后几分钟内就能把所有设备组进同一个虚拟局域网,从外网访问家里的服务就像在局域网里一样。免费计划对个人够用(100 台设备、3 个用户)。 ...

June 9, 2026 · 2 min · ChaosNyaruko

我的工具箱

写在前面 这类文章在互联网上其实已经泛滥了,我本来也不打算写。但一方面某些工具确实改变了我的工作方式,值得记录一下;另一方面我有不少朋友问过我类似的问题,与其每次重复解释,不如写成文章。 先说清楚一点:工具这种东西有非常浓厚的个人色彩,没有好坏优劣之分,只是每个人看重的东西不一样。「差生文具多」这句话本质上是一种自嘲,不是用来攻击别人的武器;同理,用某个工具也不应该成为你炫耀的资本。把工具本身当成某种身份符号,反而本末倒置了——有点像崇拜那个你在哪里读书而不是你读了什么书一样。求同存异,工具服务于人就好。 我的选型理念 大概有这么几条原则,按重要程度排列: 开源优先:不是为了装,是为了在厂商「喂屎」的时候有得选。《自由软件,自由社会》我虽然没完整读过,但那个道理我是认同的。商业公司不是慈善机构,功能阉割、涨价、后门——当你的迁移成本高到一定程度,你就只能吃屎。 跨平台:我同时在用 macOS 和 Linux,偶尔还要连一些 Linux 服务器,一个只能在一个平台用的工具对我来说打折扣。Windows 现在用得少了,但也不是完全不接触,选工具时的标准是至少「能用」就行,不需要体验完美。Windows 上 CLI 生态和 UNIX 系确实不在一个量级,如果真要在 Windows 上做点什么,基本上也是开个 WSL 解决,而不是指望 cmd/PowerShell 那边。 不被 vendor locked:和开源有关联,但不完全一样。核心配置最好是纯文本的,这样我可以用 git 管理,随时迁移,不依赖任何厂商的同步服务。 不 all-in-one:一个工具做好一件事(UNIX 哲学),然后组合使用。把所有东西塞进一个超级 App 听起来很方便,实际上某一部分拉垮了你整个工作流都得跟着受苦,还有隐私风险集中的问题。 极简+实用主义,CLI 和 GUI 并用:能用 CLI 解决的问题不一定非要 GUI,但有好的 GUI 我也不排斥,不存在「用 GUI 就是不够 hardcore」这种奇怪观念。 当然,有些领域受制于现实情况,或多或少会违背上面的原则。特定场景特定分析,后面会提到。 操作系统 / 设备 主力设备 工作:公司发的 Mac(具体型号懒得说,反正不是自己买的,用着就行) 个人:自己买的 Mac mini + 一台装了 ArchLinux 的老笔记本(Magicbook 2019)+ 一台 2019 款 MacBook Pro(发热降频严重,但内存相对大,勉强还能用,主要用来跑一些对算力有一定要求的本地任务) 手机:Android 日常 + 老 iPhone 备用,基本只用来打电话、刷视频、MFA验证之类的 小型 VPS:自建一些服务用 为什么用 Linux 之前专门写过一篇:笔记本折腾Linux碎碎念。简短版本:Windows 在这台老机器上已经烂到不可接受,而且微软近年来的所作所为(Recall、强制更新、莫名其妙的后台服务……)让我实在没有继续用的理由。装 ArchLinux 之后内存占用从 70%+ 直接降到 400MB,老机器焕然一生。 ...

May 28, 2026 · 3 min · ChaosNyaruko