韩磊@当下

一份特别的生日礼物

我给自己五十岁生日的礼物是用Cursor+claude-3.5/3.7+deepseek+gpt 4o写了个blog系统,并且将基于WordPress的旧blog迁移过来。

整个过程用了大概不到5个小时,我几乎一行代码都没有写。大多数时间用于测试运行、得到(错误的或不够好的)结果、反馈给AI,再测试AI重写的代码。我顺手改了极少数代码,因为这样要比告诉AI要求再得到修改后的代码快得多。多数时候,我就像苛刻的甲方,不停让AI改这改那。

虽然这只是很小规模的编程实践,但AI表现出来的能力与专业度已经令我刮目相看。另一方面,它偶尔冒的错误也非常愚蠢。在这次小小编程实践中,这种愚蠢往往出现在AI没有正确理解我的意思。更进一步说,当我提出两个或两个以上互有关联的要求时,就有被误解的可能。对于有经验的程序员,很容易发现这类问题,但太过依赖AI的话,就会不看AI给出的代码,直接accept all,一键部署到测试环境,结果当然是出错,时间浪费在了验证结果以及和AI沟通来沟通去上。

阅读全文 »

《程序员的7个创新秘诀》(The Creative Programmer)译者序

创造力早已是重要的科学课题。它不是巫术,也不是成功学,更加不是少数人才能拥有的天赋才能。几十年以来的研究表明,创造力可以通过后天努力获得,同时也与时间、空间及人的因素紧密相关。

每天通过写代码改变世界的程序员群体是最需要创造力的群体。可惜的是,过去许多年以来,教育界和产业界都致力于培养程序员的编程技能(包括工程技能)。对软技能的重视虽然已有体现,但将“创造力”作为独立话题和各种软硬技能的汇总点来讲述,还不多见。在这样的背景下,《程序员的7个创新秘诀》就尤其显得难能可贵。

这本书基于作者及其团队的研究成果,围绕创造力七大主题(技术知识、制约条件、批判性思维、好奇心、创造性心境、沟通和创新技巧)展开阐述,点出有效获得和发展创造力的关键路径与方法。由于作者的研究对象是程序员群体,本书的主题不可避免地归结到程序员身上。然而,这七大主题可以说几乎放之四海而皆准,不独对程序员有效。原书标题The Creative Programmer可以说稍微有点谦虚了。

阅读全文 »

《整洁代码的艺术》译者序

这是一本讲述常识的书。

如果你已经有多年职业经验,读到书中内容,不免会觉得都是老生常谈。然而,常识之所以需要被一遍又一遍地普及,正是由于人们总以为自己已经掌握了常识。殊不知我们常常混淆“掌握”与“知道”,拿知道当掌握,不免一遍又一遍地违背常识、吃够苦头。

这是一本讲述编程领域常识的书。自从有软件以来,技术专才们对它的研究和实践产出了各种方法论和流派。最近十来年,“整洁代码”成为其中一支主要思想派别,也成了软件界的主流常识。罗伯特·C·马丁(鲍勃大叔)的“整洁”系列著作被奉为圭臬,拿知道当掌握的戏码又一次上演。我们继续违背常识,写着并不整洁的代码,吃够苦头。

阅读全文 »

Clean Craftsmanship译者序

2021年2月,老朋友张春雨(侠少)在微博上给我发私信,问我有没有兴趣翻译Robert C. Martin(Uncle Bob)的新书。我和侠少平时联系不多,但常常收到他安排寄来的赠书。赠书收得多了,总觉得欠着人情,该用什么方式还一还才好。

这个“什么方式”,也许是几顿酒饭、几杯咖啡,但绝对不是翻译一本书。算起来,截至2020年,我已经有十年没做图书翻译工作。去年翻了一本小书,眼睛和腰椎颈椎都有点不舒服。一定赔本但不一定赚吆喝的事,还是不干为好。

侠少对我了解甚深,他只说了一句话,就成功说服我接下任务。他说,“这是(Bob)大叔的封山作。第一本和最后一本,有始有终,一段佳话!”一下子就勾起我翻译《代码整洁之道(Clean Code)》的回忆。当时我在北京工作,个人能力提升和职业发展都遇到瓶颈,同时还需要考虑家庭常驻地问题。《代码整洁之道》不但带给我关于整洁代码的知识,还令我悟到许多做人做事的道理。对我来说,那是一本优秀技术书,更是一本关于价值观的好书。

阅读全文 »

超哥请客

给超哥朋友圈发了条评论。他回复:聚吗?于是又到他店里蹭了一顿。

超哥其实比我小一岁。朋友之间叫着玩,我叫他超哥,他有时叫我韩老师,有时叫我磊叔,有时叫我磊哥。没有什么特别含义。

超哥前些年是一本杂志的骨干。传统媒体衰败,他也辞职出来,一头扎进餐饮业的苦海,从一家店到两家店和更多店,从席面菜到米粉,生意做得有声有色。就算去年今年有疫情影响,起码还能保本,已经算不错。

阅读全文 »

《UNIX传奇》逸事

2020年5月份,人民邮电出版社的杨海玲老师找到我,问我有没有兴趣翻译一本题为 UNIX: A History and a Memoir的书。我已经十年没有做图书翻译,但了解到这本书作者是Brian W. Kernighan之后,确实有了翻译的冲动。

BWK是谁呢?他是UNIX早期核心开发组成员,和C语言发明人Dennis Ritchie写了经典的C Programming Language图书,是那个璀璨时代的亲历者。

这位老爷子要求几位候选译者发英文简历给他,由他决定谁承担中文版翻译工作。很幸运,我被挑中了。中文版于2021年初面世,总算完成一件有价值的事。BWK在中文版给读者的话及新书发布会视频贺词中都提到我的名字,这令我倍感自豪。

阅读全文 »

《Unix传奇》中“消失”的链接

我2020年翻译了Brian W. Kernighan的Unix: A History and a Memoir一书,中文版书名是《Unix传奇:历史与回忆》。原版中有一些网页链接,根据我国公开出版物相关规范,中文版删掉了这些链接。

我把这些“消失”的链接整理如下,供读者参考:

P46 丹尼斯·里奇介绍肯·汤普森对电脑游戏的贡献的短文:www.bell-labs.com/usr/dmr/www/ken-games.html

阅读全文 »

布莱恩·克尼汉写给中文版读者的话


(本文是《Unix传奇:历史与回忆》一书作者布莱恩·克尼汉为中文版读者撰写的文章。本书将于近期出版面世。)


1969年,肯·汤普森和丹尼斯·里奇在贝尔实验室创造了Unix系统。五十年后,Unix系统在全世界被广泛应用,多数时候以Linux的形态呈现,在从极小到极大的无数种计算机上运行。无论运行于何种计算能力与架构上,Unix都提供了同样方便、富有表达力和极具生产力的环境,以及丰富的程序开发工具。Unix系统构造优雅,使这些工具很好地结合在一起。

Unix是怎么来的?贝尔实验室是怎样的机构?寥寥数位研究员组成的小团队是如何改变世界的?是什么让Unix成为可能,并推动它进化?

我试图在《Unix传奇:历史与回忆》中回答这些问题。本书不仅写到技术内容,还写了许多幕后故事,写了那些天才人物的个性,以及Unix诞生和发展的独特创造性环境。

韩磊翻译的中文版问世,我倍感欣慰。相信它能帮助中国的朋友和同行了解Unix的历史。衷心希望您能享受到阅读的乐趣。

布莱恩·克尼汉

阅读全文 »

《Unix传奇:历史与回忆(Unix: History and Memoir)》译者序

Unix的主要创造者肯·汤普森到贝尔实验室面试时,沿计算科学中心走廊漫步,两边办公室上的名牌写满了他听说过的人名。这就是我读这本书时的感受:书中提到的许多名字,早已如雷贯耳。在我心目中,他们全是大神级人物,高高在上,凡夫不可亲近。

全书译完,这些人从神坛走下来,就地现出极客真面目。无论做出什么非凡成果,原来,他们全是不折不扣的程序员。以我之见,程序员的追求就是让机器听话,让工作自动化,让人类生活更美好。昔年Unix核心团队乃至于贝尔实验室计算科学研究中心的一众精英,无疑都是秉承这个初衷,尽展所长,才做出如此辉煌的成就。

几十年过去,“让机器听话”部分演变为“让机器听得懂人话”。人工智能科技进步巨大,在一些领域,机器展现出可观的能力,替代了相当部分人工劳动。在翻译这本书的过程中,我大量使用了DeepL翻译工具。有时,DeepL给出的译文可以用“惊艳”来形容;就算是那些不够出色的译文,七成也能达意。这意味着,对于非文学类作品,自动化翻译工具已相当接近初译的要求水平。即便不能完全替代人类译者,自动化翻译工具在很近的未来也将成为人类译者的亲密伙伴。人类译者也许最终会变做审校者。

阅读全文 »

由“兆”想起的一些回忆

兴之所至,在微博上评论一篇关于“程序员节”的帖子。想起2003年台湾技术作家侯捷老师到珠海金山讲课,我去看他,一起在酒店喝咖啡。主要话题是请教他技术写作的技巧。谈到两岸技术名词的差异,他问我,为何大陆将mega bytes称之为“兆”。当时未能答出,回家查证后,给侯老师发了一封邮件阐述。侯老师在他的大陆纪行文章中记录了这件事。

于是想找找侯老师原文。孰料jjhou.com早已不再运营。幸而有web.archive.org这个神器,记录了web上的历史存档。赶紧抄下来放在这里,算是一个小小的纪念吧。

以下来自侯捷老师的原文:

阅读全文 »