Blog posts

2026

今夏,看球去

Published:

今天是 2026 年 6 月 11 日,北京时间凌晨,墨西哥城阿兹特克体育场的灯光会一齐亮起——第 23 届世界杯,正式开幕。

这届世界杯很有意思,由三个国家联合主办,美国、加拿大、墨西哥,16 座城市,48 支球队,104 场比赛。比卡塔尔那届多出整整 40 场。换句话说,接下来的一个多月,几乎每天都有球可看。

World Cup 2026

重要的时间点

关键时间点:

阶段日期
小组赛6 月 11 日 – 6 月 28 日
1/16 决赛(32 强)6 月 28 日 – 7 月 3 日
1/8 决赛7 月 4 日 – 7 月 7 日
1/4 决赛7 月 9 日 – 7 月 11 日
半决赛7 月 14 日 – 7 月 15 日
三四名决赛7 月 18 日
决赛7 月 19 日

揭幕战在墨西哥城,决赛在美国新泽西的大都会人寿球场。从北美大陆的最南到最北,从太平洋到大西洋,这一个多月,足球会在 16 座城市间不断转场。

48 队、12 个小组,每组 4 队。小组前两名加上 8 个成绩最好的小组第三晋级,共 32 队进入 1/16 决赛。也就是说,淘汰赛比以前多了一轮。

小组只踢三场,前两名出线,意味着大多数强队踢一场就基本稳了,后面容易出现”算账球”。但也许这正是扩军的代价——让更多国家有机会站上世界杯的舞台,本身就是一件好事。

还记得 1998 年第一次看世界杯的场景,我们在大学宿舍里围绕着一个小破黑白电视机,看了一场又一场比赛。后来的世界杯比赛印象都很模糊了,除了喝酒忘记了比赛,很少熬夜看比赛了。

至此短文,用以怀念,怀念曾经的青春。。。

微信读书 Skill

Published:

我把 微信读书 SKILL 安装到 Claude 中了,有一些功能还挺实用的。比如帮我整理某一本书的划线内容。

Claude Skill

Prompt: 整理社会心理学这本书中划线的内容到 markdown 文档中

那年夏天,我们还是孩子

Published:

六月的风又吹来了,空气中带着滚滚的热浪,树枝在风中摇摆,院子里一群孩子在奔跑着,今天是孩子们的节日。

可是我们早已不是孩子了。

记得那时候,快乐是一件很简单的事。一根冰棍,一场大雨,一只蜻蜓停在指尖,都够我们高兴半天。放学铃一响,书包往背上一甩,整个世界都是我们的操场。我们追过夕阳,踩过水坑,在巷子口疯跑到天黑,直到母亲的喊声穿过整条街——”回家吃饭了!”

那时候不懂什么叫烦恼。考试没考好,哭一场就忘了;和小伙伴闹了别扭,第二天又勾肩搭背。夏天的晚上躺在凉席上数星星,以为日子会永远这样慢下去,以为长大是一件很遥远的事。

可长大这件事,它不跟你商量。

等你回过神来,冰棍变成了咖啡,奔跑变成了赶路,而那些一起疯玩的人,散落在各自的生活里,朋友圈里偶尔点个赞,便算是问候。

我们学会了体面,学会了沉默,学会了在深夜独自消化所有的疲惫。可是偶尔,真的只是偶尔——听见楼下孩子们的笑声,闻到一阵熟悉的泥土气息,或者在某个六月一号的早晨醒来,心底会忽然涌起一种说不清的东西。

不是悲伤,是怀念。

怀念那个不知道未来会怎样、却从不害怕的自己。怀念那段没有滤镜、不需要修饰、只管用力活着的时光。

儿童节快乐。说给孩子们,也说给我们心里住着的那个小孩。

愿你走过半生,归来仍有少年气。

儿童节

Driving in Beijing

Published:

I have been driving in Beijing for nearly twenty years. Until this year, I had only been involved in three traffic accidents with other cars before this year.

This year, however, is different. I have already had three incidents.

The first happened when I was waiting at a red turn signal. A cyclist hit me from behind, and then the girl just turned her bike and rode away.

The sencond time,a woman on a motocycle hit my car. She didn’t stop and just rode off. Then yesterday, another woman driver aggressively cut into my lane and crashed into my car.

It feels like there are more and more reckless drivers on the road these days.

Driving In Beijing

电话线上的魔术师

Published:

那是 1996 年的夏天,南方的空气像蒸笼一样闷热,电风扇吹出来的风都是滚烫的。

我刚参加工作不久,在一家小公司上班。那时候电脑还是个稀罕物件,办公室里仅有的几台 486 和奔腾机,是全公司的宝贝疙瘩。谁的机器出了毛病,那简直比停电还让人着急——毕竟停电了大家一起歇着,电脑坏了是你一个人的灾难,活儿可不会等你。

我有一位朋友叫阿杰,比我大几岁,瘦高个,戴一副厚镜片眼镜,说话不紧不慢的。他在邮电局上班,整天跟交换机和线路打交道。但他真正厉害的本事,是在电脑上。那个年代,大多数人连开关机都战战兢兢,他已经能自己攒机器、装系统,还会编程。我们几个朋友私下都叫他”阿杰大师”,他听了只是笑笑,从不接话。

那天下午,另一个朋友老陈急匆匆地打来电话,声音里带着哭腔:”完了完了,我的电脑打不开了,开机就黑屏,什么都没有。”老陈是做小生意的,好不容易咬牙花了一万多块钱配了一台电脑,装了 Windows 95,平时用来记记账、打打字,宝贝得不行,连键盘上都铺着一层绒布。可偏偏就是这台金贵的机器,说罢工就罢工了。

我和阿杰赶到老陈家里。客厅的茶几上摆着那台米白色的台式机,显示器像一只闭着眼的大眼睛。老陈愁眉苦脸地坐在旁边,烟灰缸里已经堆了好几个烟头。

阿杰没说话,先弯腰看了看机箱背面的接线,又按下电源键,听了听机器发出的几声”嘀”。他点点头,像个老中医号完了脉。

“系统坏了,”他说,”硬件没事,得重装。”

老陈一听就慌了:”我那个 Windows 的光盘不知道塞哪儿去了,你们谁有?”

我们面面相觑。那个年代,正版光盘是稀缺品,盗版光盘也不是随手就有的。更关键的是,老陈家离最近的电脑城骑车要四十分钟,这大热天的,谁也不想跑那一趟。

就在这时,阿杰做了一件让我至今难忘的事。

他环顾四周,目光落在墙角的电话机上——一台墨绿色的拨盘电话,老陈家还没换按键的那种。但电话旁边有一个调制解调器——就是那种”猫”,拨号上网用的。那是老陈之前说要”上网冲浪”时买的,其实从来也没怎么用过。

阿杰把电话线从电话机上拔下来,插进了调制解调器,又接上电脑。他从口袋里掏出一张叠得整整齐齐的纸条,上面密密麻麻写着一些数字和英文。他打开机器,进入 DOS 界面——那台电脑虽然进不了 Windows,但 DOS 还能勉强跑起来。

然后,他开始操作了。

Fixed

他的手指在键盘上噼里啪啦地敲着,黑底白字的屏幕上滚动着我完全看不懂的命令。调制解调器发出一阵刺耳的握手音——”滋——叽——呲——”,像两台机器在用外星语言对话。几秒钟后,连接建立了。

“拨上了,”阿杰头也不抬地说。

在那个下午,他通过一根电话线,以每秒几千字节的龟速,从远端的一个服务器上一点一点地往下拽文件。那时候的网速,下载一首歌要半小时,更不要说一整个操作系统了。但阿杰似乎早有准备,他并不是在下载完整的 Windows 安装包——那在当时的网速下是天方夜谭——而是下载了一些关键的系统文件和引导程序,配合硬盘上残存的数据,像拼拼图一样把系统一块一块地修复、重建起来。

老陈和我在一旁百无聊赖,泡了茶,磕了瓜子,聊了半天闲话。电风扇呼呼地转着,阿杰的额头上沁出了细密的汗珠,但他的注意力始终钉在屏幕上,偶尔皱皱眉,偶尔嘴角微微一扬。

窗外的光线从白亮渐渐变成橘黄。大约三个多小时后,阿杰靠在椅背上,长长地吐了一口气。

“好了,重启试试。”

老陈赶紧凑上去按下电源键。”嘀”的一声,屏幕亮了,熟悉的蓝天白云渐渐浮现——那是 Windows 95 经典的开机画面。老陈激动得差点把烟灰缸碰到地上。

“阿杰!你太神了!这都行?”

阿杰笑了笑,把眼镜往上推了推:”就是拨了个号,下了点东西,没什么。”

那天晚上老陈请我们吃了一顿大排档,啤酒喝了不少。阿杰依然话不多,只是在碰杯的时候说了一句:”以后这种事会越来越简单的,等宽带普及了,网速快了,什么都能在网上解决。”

后来的事情果然如他所说。宽带来了,光纤来了,智能手机来了,云计算来了。曾经需要一个高手加一根电话线花三个小时才能完成的事情,如今任何人点几下鼠标就能搞定。系统坏了?U 盘插上,十分钟重装。甚至根本不用重装,一切都在云端。

而阿杰,早已转行做了别的。那个时代的技术高手,很多都是这样——他们的本事,恰好生长在一个笨拙而蛮荒的年代,像荒野里的猎人。等文明的公路修到了家门口,猎人的那些绝技,便悄悄地不再被需要了。

但每当我看到电脑出问题时,还是会想起那个闷热的下午:一根电话线,一台旧电脑,一个安静的年轻人,和一个从黑屏中渐渐亮起来的蓝天白云。

那是属于那个年代的手艺。

Old Code

Published:

🎵 Old Money is one of my favorite songs. I asked an AI to write song lyrics about an aging programmer left behind in the age of AI, in the style of Lana Del Rey’s “Old Money”. The song is titled “Old Code”.

▶️ Old Code ,created by Udio AI Music.

Background Notes:

Lana Del Rey is an American singer-songwriter known for her cinematic, melancholic style that blends dream pop, baroque pop, and Americana. Her music often evokes nostalgia, vintage Hollywood glamour, and themes of tragic romance, wealth, and disillusionment with the American Dream. Her sultry vocals and atmospheric production have made her one of the most distinctive voices of the 2010s–2020s.

“Old Money” (from Ultraviolence, 2014) is a standout ballad that exemplifies her aesthetic at its purest:

  • Musically, it’s sparse and orchestral — built on gentle piano and swelling strings, with a melody adapted from Nino Rota’s theme for Romeo and Juliet (1968). The arrangement feels like a film score rather than a pop song.
  • Lyrically, it’s a wistful elegy for lost love and a vanished gilded era — “blue hydrangea, cold cash, divine” — name-dropping Hyannis Port and evoking Kennedy-era Americana. The narrator longs for someone to “come back to” her, mixing romantic yearning with class consciousness.
  • Vocally, Lana stays in a soft, breathy register, which heightens the song’s intimacy and fragility.

It’s often cited by fans as one of her most underrated tracks — quieter than her singles, but emotionally one of her most concentrated works.

Prompt: Write a song lyric about an aging programmer left behind in the age of AI, written in the style of Lana Del Rey’s “Old Money”.

Old Code

(in the style of Lana Del Rey’s “Old Money”)


[Verse 1]
Blue monitors, cold coffee, vim
Summer mornings when the world was thin
Stack traces falling like Manhattan rain
Will you still know my name?

Green cursors, warm servers, mine
Floppy disks and the Bell Labs shrine
They called me lightning, they called me bright
On every Friday night

[Pre-Chorus]
But where have you gone, my love, my craft?
Where have you gone? Where have you gone?
The compilers hum, but they don’t laugh
The way you did, the way you did, the way you did

[Chorus]
And if you call, I’ll run, my friend
Through every model, every prompt, again
I’ll write you sonnets out of C
Out of Lisp, out of memory
If you come back to me
If you come back to me

[Verse 2]
The juniors don’t read the manuals now
They whisper to a ghost; it tells them how
My twenty years, a folder on a drive
That no one will archive

I was the architect, the quiet kind
The kind who left no fingerprint behind
Just elegant little functions, pure and small
Now no one calls at all

[Pre-Chorus]
But where have you gone, my love, my trade?
Where have you gone? Where have you gone?
The terminals glow, the deadlines fade
And I move on, and I move on, and I move on

[Chorus]
And if you call, I’ll run, my dear
Through every layer, every weight, every year
I’ll write you symphonies in Go
In assembly, soft and slow
If you come back, I’ll know
If you come back, I’ll know

[Bridge]
The boys in the lobby talk in tongues
Of agents, prompts, and lungs of silicon suns
I smile, I nod, I sip my tea
The river runs without me
The river runs without me

[Outro]
Old code, old nights, old light
Old keyboards clicking through the night
Will you remember me, my love,
When the machines have learned enough?
Will you remember me at all,
When the last man lets the last line fall?


创作小记:

  • 意象的对位:原曲用”blue hydrangea, cold cash, divine”营造旧贵族世界,这里换成”blue monitors, cold coffee, vim”——同样是三件物的并置,把”老钱”的优雅替换成”老程序员”的清贫与执念。
  • 核心句式的致敬:原曲反复唱”If you come back to me”,这里保留了同样的回环结构,把”旧爱”换成了”旧手艺”——程序员对代码、对时代的爱。
  • 桥段的意象:”The river runs without me” 致敬 Lana 常用的水/时间意象,暗喻 AI 时代奔流向前,而主人公已被留在岸边。
  • 结尾的留白:”When the last man lets the last line fall” ——最后一个人,敲下最后一行代码——为整首歌画上一个安静的休止符。

孔乙己

Published:

中关村科技园的咖啡馆,格局和别处不同。

临街是一个曲尺形吧台,台面上常年摆着几台展示用的咖啡机,银亮的机身在灯下泛着冷光,随时能做拿铁、美式。来喝咖啡的,多是附近写字楼里的程序员。午后花二十八块钱,买一杯冰美式,靠在吧台边站着,掀开笔记本电脑,用 Cursor 或者 Claude Code 敲几段提示词,十几秒工夫,一个功能模块便生成了,连测试用例都附得齐齐整整。

这些程序员之间的谈话,向来很有意思:谁用了什么新模型,谁靠 AI 一个人顶了从前五个人的活,谁的 AI 创业公司又拿到了新一轮融资。

他们中间,唯有孔乙己与众不同。

他身材很高,常年穿一件洗得发白的格子衬衫,背一个鼓鼓囊囊的双肩包,鼻梁上架着黑框眼镜,镜片上总留着几道怎么擦也擦不净的指痕。每次来到店里,照例买一杯美式,坐下,打开一台旧ThinkPad。那机器贴满了历年技术大会的贴纸,密密层层,像一堵褪色的勋章墙。

然后,他便端端正正地敲起代码来。

键盘声极有节奏,啪嗒,啪嗒,清脆而固执。他从不用 Copilot,也不用任何 AI 工具,只一行一行地手写,他不像是敲击键盘,更像是把玩键盘。

Coffee

他对人说话,总满口“单一职责”“开闭原则”“依赖倒置”,教人听得半懂不懂。

他一来,咖啡馆里便总有人看着他笑。

“孔乙己,你脸上又添黑眼圈了!”

他不回头,只盯着屏幕,慢慢说道:

“一个工厂模式,叫你们用 AI 生生写成这个样子……根本不符合里氏替换原则。”

“那你怎么连需求都交不出来?听说你们组上周又垫底了。”

孔乙己顿时涨红了脸,额上青筋微微绽起,争辩道:

“架构的事,怎么能叫交不出来?这是技术沉淀……技术沉淀,你们懂么?”

接着便是什么“领域驱动设计”“六边形架构”“整洁架构”之类,引得众人哄笑起来。店里店外,一时充满了快活的空气。

听人背后议论,孔乙己原先确是阔过的。

他毕业于国内顶尖高校,早年在 GitHub 上开源过一个颇有名气的框架,拿过上千颗星;也在大厂做过架构师,手底下带过十几个人的团队。那时他说一句“这样设计不对”,会议室里便没人敢轻易反驳。

只是后来,AI 编程兴起,人人争着拥抱新工具,他却偏像铁了心要和时代作对。

他逢人便说:“AI 写的代码,没有灵魂。”

别人问什么叫灵魂,他便从 SOLID 原则讲到二十三种设计模式,能讲上整整一个下午。

渐渐地,团队缩编,项目砍掉,他也离开了大厂。后来辗转几家中小公司,听说没有一处待得长久。

孔乙己喝完一杯咖啡,脸色往往便会好看些。

有一回,一个年轻人端着电脑凑过去,屏幕上是一段 AI 生成的代码,恭恭敬敬地请教:

“孔老师,您帮我看看,这段写得怎么样?”

孔乙己只扫了一眼,眼睛便亮了。

这是他最得意的时候。

他推了推眼镜,把自己的电脑转过去,逐行讲解:

“你看这里,违反了迪米特法则;这个类承担职责太多;这里该用策略模式,把这些 if-else 全拆掉……”

他说得很细,手指在屏幕上点来点去,声音也渐渐高起来,像个重新站上讲台的老教师。

年轻人听完,笑了笑,却没说什么,只把那段代码往 AI 对话框里一贴,敲下一行:

“请按 SOLID 原则重构以上代码。”

不过三秒,一份结构清晰、注释完整、模式规范的代码便跳了出来。

孔乙己张了张嘴,脸上一阵青一阵白,半晌,才低低说道:

“这……这不过是形似。它不懂为什么要这样写。”

可年轻人已经合上电脑,转身走了。

又过了些时日,他再来时,整个人已瘦了一圈。格子衬衫空荡荡地挂在身上,肩线都塌了。

他买了咖啡坐下,打开电脑。旁边的人瞥见,桌面上密密麻麻开着招聘网站的标签页,旁边摊着几份打印出来的简历。

可他仍旧固执地打开IntelliJ IDEA,一个字母一个字母地敲。

有人忍不住问:

“孔乙己,你当真不会用 AI?”

他沉默了许久。

“会一点……不是不会。”

声音很低,像从很远的地方飘来。

“我只是觉得,手写的代码……是有温度的。”

这一次,旁边的人没有笑。

那天下午,咖啡馆里出奇地安静,只听见制冰机偶尔发出一声轻响。

此后很长一段时间,再没人见过孔乙己。

后来听说,那一带写字楼空了大半,不少公司搬走了,也有许多人转了行。时代的浪潮经过中关村,不知卷走了多少人。

至于孔乙己,有人说在回龙观的出租屋里见过他,接些零散外包,一行一行手写代码,做着别人用 AI 十分钟便能完成的活;也有人说,他早已回了老家。

大约孔乙己的确是不在这个行业里了。但他的代码还在。只是如今,很少再有人看它。

直到如今,偶尔有人打开某个老项目的代码仓库,还会翻到他留下的几段代码。

注释工整,命名严谨,设计模式用得恰到好处。它们安静地躺在那里,像一件精心雕琢的旧家具,置身于满屋 AI 生成的轻巧板材之间,显得格格不入。

却又有一种说不出的好看。

二〇三〇年四月二十八日

我们这一代人无论身处哪里都有一种悬浮感

Published:

和身边的朋友聊天,共同的感觉: 我们这一代人无论身处哪里都有一种悬浮的状态,脚下没有扎实的土地,精神上也没有可依附的地方。

就像电影《树先生》中的树一样,那无处安放的手,像极了我们无处安放的心灵。

Hello Tree

vibe coding

Published:

AI 编码将从 0 到 1 的成本压缩到几乎为零,从 1 到 100 的成本(可维护性,稳定性,安全性,团队协作)又被放大。

AI 没有让代码贬值,而是重新分配了工程师的价值权重:

  • 过去:手写实现能力 + 调试经验
  • 现在:系统思维 × 问题拆解 × 质量把关 × 持续交付

2025

AI时代程序员的出路在哪里

Published:

James Gosling, the father of Java, described it as a ‘Blue Colar Language’ that was a ‘Pretty Simple’ in 1997.

24年前,那时 Java 程序员并不多。随着互联网泡沫结束,一些新兴的公司选择了 Java 做为企业级应用开发语言,那可能是 Java 程序员最好时机,那时没有人会觉得 Java 是蓝领语言,这个时候我也从 VB/Delphi 程序员转向了 Java 程序员。

经过了互联网,移动互联网两个阶段,科技的进程来到了 AI 时代。在 AI 时代之前,尽管技术不断变化,但编程逻辑没有变,都是程序员设计数据结构,用代码实现算法,完成业务需求。 AI 时代,人工智能会参与到每个环节中来,它可以设计数据结构,可以写代码,它能做很多,而且不知疲倦的去工作。。。 无论将人工智能视为助手还是竞争者,事实上他们都在和程序员存在竞争关系。企业主更愿意使用高效且不知疲倦的机器做事情,年轻的程序员还有一些工作机会,年龄大一些的程序员,大部分大龄程序员必然失去在这个行业继续工作的机会,他们中有些人做到某个领域的顶尖人才,仍然可以继续下去,但这样人毕竟是少数。大部分程序员所从事的工作只是将业务需求翻译成业务代码,业务代码也是基于内部框架基础上来完成的。 也就是通常能看到一些程序员虽然写了很多年 Java ,但对于底层的类库,方法或 JVM 并不了解,因为如果不主动去了解这些也不影响业务开发。程序员像是工厂中的一个工人一样,在设计好的精密机床上做好自己的事情就行了。这也是程序员被称作“码农” 的原因,就像很多年前,Java之父说的那样: Java 是一个蓝领语言。是的,在 AI 时代大部分程序员已经沦为拧螺丝的蓝领码农。

随着 AI 的发展,将来会出现两个极端: 顶尖的创新科技,人文相关领域和最底层很脏很累的行业,不会被 AI 代替,中间很多岗位都会被 AI 直接或间接取代,大部分程序员就处在这个中间群体中。

程序员的出路必然在程序之外的领域,然而大多数程序员长期和机器打交道,缺少和人沟通的经验,通常视野不大,做事情有一定的局限性,不太容易找到新机会。

年轻的程序员应该为自己的将来做好储备,积累自己程序世界之外的能力。

Working Day

Published:

Today is the first day of work in the Year of the Snake. After a long holiday, my body and mind are reluctant to return to work. It typically takes 2-3 days to settle into the work environment before I can fully immerse myself in my tasks.

Wishing everyone a great start to work. Run Stably, Free of bugs forever!

HAPPY NEW YEAR

Published:

Today is the first day of the Chinese Lunar New Year, Zhēngyuè Chūyī.

Wishing everyone Happy New Year, joy for the whole family, good health, and great success in all things.

Talent And Repeat

Published:

If you don’t have natural talent, just keep practicing.

Talent can be an advantage, but it’s not the only path to success. If you’re not naturally gifted at something, don’t worry.

The key is repetition. Important things should be said three times: repetition strengthens memory. By practicing regularly and staying consistent, you can improve over time. If you engage in deliberate practice, it’s a highly efficient learning method, allowing you to improve more quickly.

Every mistake teaches you something, and every repetition makes you better. Success doesn’t always come instantly, but with hard work and perseverance, you’ll achieve your goals.

Remember, even the most talented people had to put in a lot of practice to get where they are. If you don’t have talent, just keep repeating the process. Your effort will pay off.

My Life with Two Beautiful British Shorthair Cats

Published:

I have two cats, one is a British Shorthair, and the other is also British Shorthair.These elegant, adorable, and docile creatures have become an integral part of my daily life. Whether I am sleeping, reading, or engaging in other activities, they are always by my side, providing companionship and joy. I love them dearly and feel fortunate to have them as part of my family.

Usually,they can take care of themseves,but they need special attention. Owning cat is almost like being a parent. I think about what they are need and provide food,water,a safe home and toys like cat teasers to play with them.

The cats curl up on the sofa or on foot of the bed, when they feel content, they purr. for example, they purr when I give them cat treats or play with them. Sometimes they run around the room in bursts of energy, a behaviour known as the “zoomies”.

When they’re frightened, they arch their back,their hair stands on end, and their tails puff out like a big brush! If a stranger enters my home,they run away and hided under bed or in a corner, observing from darkness.

Not everyone shares an immediate love for cats. My wife, for instance, used to afraid of them. She was heisiant to get close to any cat,let alone touch or hold one.This changed after we brought our first cat home. Initially,she kept her distance,observing the cat from afar.But as time passed, she began to see the cat’s gentle and friendly nature.after long, she was touching cat and holding it. Now she’s not afraid of cats anymore!

My Cat

My Cat

My Cat

My Cat

I restarted writing my blog

Published:

I started building websites in 2000 on platforms like 263.net and 163.com and began writing blogs. Many years ago, I used WordPress to create blogs, but all of them were deleted because I forgot to renew the hosting service. Recently, it suddenly occurred to me to start writing again—about life, books, technology, and other topics. So, I decided to rebuild my blog using GitHub Pages.

there are several versions of the screenshots to preseve memories. by Web Archive

2003 year

2005 year

2013 year