更新UPDATES

听副歌,像读一段命名工整的函数
随笔
写代码久了,听音乐也会走神去想结构。有回听到一首歌的副歌,旋律一层层叠上来,我脱口而出:"这命名真工整。"老婆白我一眼,我没解释——她不懂,那段编排确实像一段 well-named 的函数。 主歌是参数,铺垫情绪;预副歌是校验,把张力攒住;副歌一来,所有变量归位,该输出的输出,干净利落。差的歌像烂代码:主歌还没说清,副歌就急着炸,听的人一头雾水,像读没注释的意大利面。 我审代码有个习惯:先看函数名能不能当注释用。好名字自己会说话。好副歌也一样,旋律一进,你不用懂乐理,身体先懂...
我认真幻想过,辞职去修唱机
随笔
三十五岁那次,我第一次认真幻想:辞职,开个小店,专修唱机。招牌都想好了——"慢转工作室"。白天拆齿轮、校转速,傍晚放张老碟,等懂的人上门。 这念头来得很突然。那天改完一个诡异的时区 bug,窗外天都亮了。我盯着屏幕上密密麻麻的日志,突然很想摸点能拧、能擦、能听见回响的东西。代码跑完是 0 和 1,唱机修好是实打实的"咔哒"一声——那种手感,屏幕给不了。 我知道这是中年男人的标准白日梦,和"去大理开民宿"一个性质。真去了,未必扛得住没社保、没稳定收入。可梦的好处,不在实现,在它...
我妈寄来的种子,比我写的代码活得久
随笔
春天我妈从老家寄来一包种子,油纸包着,里面混着香菜、小葱,还有她手写的"勤浇水"。我随手撒在阳台空盆里,没当回事。 两周后,绿苗齐刷刷冒出来,比我在任何项目里见的"上线"都整齐。我有点惭愧:我写的系统,三天两头告警;我妈一把种子,安安静静就活了。代码要人天天盯,种子只要给点水,自己长。 我妈不懂 git,不懂容器,可她懂另一套更古老的逻辑:时机、土壤、耐心。她不催苗,也不拔苗,只是按时浇水,剩下的交给季节。对比我写代码,需求一变就推倒重来,反倒常把简单的事搞复杂。 那盆香菜长...
洗唱片这件小事,我戒不掉
随笔
新碟到手第一件事,不是听,是洗。鹿皮布蘸蒸馏水,沿纹路转圈,指腹能感到沟槽里细小的阻力。冲干净,晾干,再落针——那声"咔"的进入,比任何开场白都干净。 朋友笑我洁癖,说我洗碟比写单元测试还较真。我承认,这是职业病和爱好的合谋。代码要干净,碟也要干净,区别是代码脏了会报错,碟脏了只是悄悄吃掉细节,你以为本来就那样。 洗碟最治愈的,是它慢。一缸水,一张碟,十分钟只够伺候两三张。手机搁一边,脑子放空,手指替你想事。白天那些解不开的死锁,常在转圈擦拭的间隙,自己松开了。 有回洗到一张...
一个只压了三百张的小厂牌
随笔
📌 虚构示例:下文厂牌、人名、城市均为叙事虚构,如有雷同纯属巧合。 我书架上有一格,专放那些"小到查无此项"的厂牌。其中一张,封套角落印着个几乎看不清的 logo——那是个只压了三百张就倒闭的小厂牌,主理人姓林,据碟内页说,是个嫌大厂太吵的录音师。 林先生在自己的卧室录乐队,用一台二手的立式机,母带直接送压片厂,三百张卖完就关张。没有宣发,没有榜单,连网店都没开。买的人,多半是逛碟市时,被封套上那句"给深夜还醒着的人"勾住的。 我常想,做技术和做音乐,到头来都是同一种冲动:不...
带新人的第一年,我学会了先闭嘴
随笔
组里来了个应届生,小杨,背着双肩包,眼神里全是"我想写个大功能"。头一个月,我几乎每天都忍不住:变量名不对、注释没写、提交信息写的"fix",我一条条指出来,像当年我导师对我那样。 可我慢慢发现,我说得越多,他越沉默。有回我噼里啪啦讲完十分钟,他小声问:"哥,那我到底先改哪个?"我愣了——我给了他一张清单,没给他一条路。 带新人第一年,我最大的教训是:先闭嘴。不是不教,是把"我该怎么说"换成"他现在需要什么"。新手最怕的不是不会,是信息太多,分不清轻重。 后来我改了法子:一个...
我给歌单写了个推荐算法,比写业务还上头
随笔
周末闲得发慌,我没去写那堆技术债,反而给自己的歌单写了个推荐算法。输入是"心情标签+时间段",输出是"今晚该听哪张"。写完跑通那一刻,比上线一个业务模块还爽。 逻辑不复杂:通勤用快歌提神,深夜用慢板收心,周末上午用爵士当背景。可真正费劲的,是给每张碟打标签——"适合发呆""适合吵架后""适合想起某人"。打到最后,我发现自己在用写代码的方式,整理一整个人生情绪库。 程序员的通病,是想给一切建模型。天气、饮食、甚至和老婆吵架的概率,我都偷偷记过表。歌单只是其中一个温和的出口。它不...
我爸学会了扫码,却始终没学会发语音
随笔
我爸今年七十二,去年终于换上智能手机。我远程教了三回,他学会了扫码付款、看天气预报,甚至能自己在拼多多下单买降压药。我挺骄傲,觉得这老头跟上时代了。 可唯独发语音,他始终学不会。每次家庭群,他要么发一长串文字(错字连篇),要么干脆打电话。我教他:"按住这个键说话就行。"他试了,松手太快,只发出半声"喂"。再来一次,又超时被截断。 我有点急,问他咋就不愿用语音。他沉默会儿说:"我说话带乡音,怕你们嫌听不懂。"那一刻我鼻子一酸。我以为他在抗拒技术,其实他是怕打扰,怕自己那点不标准...
加班到十点,楼下的猫比我准时
随笔
加班到十点,走出写字楼,风一吹,人先清醒了半分。地铁口那只橘猫,照例蹲在花坛边,见我来,不躲也不迎,只是甩了甩尾巴,像在说"你又晚了"。 我在这栋楼干了快四年,它比我更守时。我迟到、早退、调休,它雷打不动,每晚九点半到十一点,守着那截暖黄的路灯。有回我出差一周,回来它还在,仿佛从没挪过窝。 年轻时我也熬过更晚的夜,两点下楼,整条街只剩便利店灯亮着。那时觉得拼命是勋章。如今四十五,十点对我已是极限,再晚心跳就乱了节奏,像编译到一半的内存泄漏,慢慢拖垮整机。 所以现在十点准点走,...
深夜重听一张老专辑,听懂了十年前的自己
随笔
深夜十一点半,妻儿睡了,我把唱针轻轻落下,放一张十年前买的首版。前奏一响,整个人像被拽回那个合租的小屋——那时我还没秃,也还没学会对需求说"不"。 那张碟是刚工作第一年,用半个月饭钱换的。封套被我翻得起了毛边,边角还留着当年便利店的咖啡渍。当年听,只觉得旋律好听;今晚听,竟听出了歌词里那句"别把真心用旧了"——十年前我当情话,现在听,像句警告。 人真是奇怪,同一张唱片,不同年岁听出不同味道。年轻时听副歌的爆发,中年听间奏的留白。耳朵没变,是心里装的事变了,把同样的音符,滤出了...
我不再站队数字和模拟了
随笔
早些年我也卷过。论坛里跟人吵:数字无损才是真理,模拟底噪就是落后。对方回:你听得是数据不是音乐。两边谁也说服不了谁,吵到半夜,谁也没多听一首好歌。 后来我两台都留着。手机里存着无损,通勤路上随手播;家里唱机摆着,周末才郑重落针。慢慢发现,争论本身挺无聊——听歌的人在不同场景,本来就该用不同工具。 数字胜在方便、干净、不占地方。加班深夜,躺床上点开一首,立刻拥有,多好。模拟胜在仪式、温度、和那一刻的专注。周末关灯,放一张,你不得不"只为这件事"坐着。 它们不是敌人,是两种语法。...
AI 写代码很快,但没人替我熬那个夜
随笔
组里现在用 AI 辅助写代码,效率是真高。一个函数,三秒出草稿;一个脚本,五分钟跑通。我看了直叹气,当年我为一个正则调一下午的功夫,它眨个眼就过了。 可奇怪的是,活儿是快了,半夜惊醒的次数没少。前阵子线上出了个偶发 bug,日志里只闪一行看不懂的栈。AI 给了三种可能,都对,也都不对。最后还是我,泡了第三杯咖啡,把内存 dump 拉下来,一行行比对,在凌晨四点逮住了那个竞态。 那一刻我懂了:AI 替我写,但替不了我"在场"。它不知道这个系统跑在谁的机器上,不知道上周谁改过那块...
好代码像一首慢板,留白才是精髓
随笔
听交响乐时我最爱慢板乐章。不急着推进,不堆砌音符,留大段休止,让空气自己说话。后来审代码,我竟也用上了这双耳朵。 写得密不透风的代码,像把每个音符都填上的谱子——看似丰盛,实则让人喘不过气。好的实现懂得"留白":该抽的函数抽出去,该注释的地方只写一句为什么,不写废话。读起来有呼吸感,才经得起后人改。 我带新人时常说,别怕空行,别怕短函数。一行塞三十个字符,和一首没有休止的曲子一样,听者累,维护者更累。音乐的张力靠停顿,代码的清晰度也靠停顿。 有回 review 一段老代码,前...
阳台上的薄荷,治好了我的"中年焦虑"
随笔
今年春天,我在阳台随手插了枝薄荷。没当回事,浇水也是想起来才浇。不料它疯长,没两个月就蔓了半盆,风一吹,整片阳台都是凉味。 我四十五了,体力明显不如三十岁那会儿。以前连熬两晚改 bug 跟玩似的,现在过了十一点就犯困,爬两层楼都喘。体检报告上多了几个箭头,医嘱就一句:少熬,多动。 薄荷治不了箭头,却治好了我一点焦虑。你看它,不争不抢,给点水就活,剪一茬长一茬,从不问"我够不够好"。比起我每天在待办里和自己较劲,它活得太从容。 中年之后,我学会把"成就感"从大事里挪出来。写完一...
周末的厨房,是我唯一的"免打扰模式"
随笔
工作日我是对着三块屏的人,消息弹窗比心跳还密。一到周末,我就躲进厨房,把手机扔进抽屉,给自己开个"免打扰"。 不做什么大菜,大多是笨功夫。泡豆、揉面、等水开。这些事没有 KPI,没有 deadline,火候到了就关火,过一秒都老。它逼着我把节奏,从毫秒级,调回分钟级。 我妈总说我做饭像写代码:先列步骤,再准备料,锅热了才下食材,绝不乱序。我承认,这是职业病。可厨房的好处是,它允许"编译失败"——盐放多了?加片土豆。糊了?下次火小点。没有线上事故,只有一碗将就的晚饭。 有回熬汤...