Gmail的故事:Founders at Work节译【续一】

欢迎转载,转载请注明出处。

Founders at Work, Chapter 12

Yurii 翻译

Livingston:这么说,你花了一天来做Gmail,而你不知道自己在做的事情的意义——之后呢?

Buchheit:很长时间里就只有我一个人,然后Sanjeef Singh加入进来。但是,在Google更换项目,尤其是那时候的Google更换项目,并不容易。不是说,某一天你就忽然去做一个新的项目了。那时候他正在做企业搜索,所以他还得花很多时间在企业搜索上。过了很久,Sanjeef才把大部分时间用在Gmail上。所以有很长的时间,Gmail的进展非常慢。
开始主要是我,然后是我和Sanjeev,之后另一个家伙Jing Lim也来了。团队的增长非常缓慢。做一个email那样迥然不同于Google传统的东西,这想法人们还是不太确定。

Livingston:你宣布:“这是了不起的东西,我们要发布了”。这是什么时候?

Buchheit:是发布几天以后。这项目很大。有些时候,我们似乎根本不可能完成它。

Continue reading Gmail的故事:Founders at Work节译【续一】

Gmail的故事:Founders at Work节译【待续】

Founders at Work是一本有意思的书,讲述了若干有意思的创业故事,我看得兴起,顺手把访谈Gmail创始人Paul Buchheit的一章翻译出来,给有兴趣的朋友看看。

欢迎转载,转载请注明出处。

Founders at Work, Chapter 12

Yurii 翻译

Paul Buchheit是Google第23名员工。他创造并领导开发了Google的Web邮件系统,Gmail,该产品引领了当今所谓“Web2.0”的众多特性。除此之外,Buchheit开发了Adsense的第一版原型,Google依靠这个程序在其它网站显示广告。在2000年一次关于公司价值的一次会议上,他提出了现在众所周知的公司信条:不做恶(Don’t be evil)。

尽管Buchheit算不上创始人,但他对Google的贡献,可能比其他许多创始人在创业时的贡献更大。Gmail其实是在Google内部诞生的——这是一个传奇般的项目,起初,它并不是公司的主要业务,只是由一小群人发起,而且,许多人开始并不看好它。

Livingston:讲讲事情的开头吧。Gmail是非正式项目(side project)还是公司指派的任务?

Buchheit:实际上两种因素都有。我很早就在做Email软件,当时大概是1996年,但只是个小项目。但Gmail的想法从来没有实现过。奇怪的是,大概因为一些别的理由,那时候我似乎就想叫它Gmail。这只是凑巧——它并不必然是Gmail的前身,却是我一直在思考的,因为我长久以来就对email不满意。
那时候我在学校念书,还没有hotmail。要看邮件,你得回宿舍。我想,这可真够傻的,我应该能在任何地方检查邮件。所以就想做基于web的邮件。我真的不知道那时候自己在干嘛,因此也没什么结果。我写了点程序,但一直没什么用处,也从来没投入实用。
中间内容就不提了,直接说最后:我到了Google,为Google Groups工作,groups和email不完全一样,但是有关系。等Google Groups的第一代产品差不多完善之后,他们问我,是否愿意开发某种email或是针对个人的产品。这只是一个粗略的意向。他们只是说:“我们觉得这类东西有点意思”。当然,我很高兴干这个。

Continue reading Gmail的故事:Founders at Work节译【待续】

技术的力量

现实的世界这么复杂,上帝到底起了什么作用?
有人说,上帝就是创生世界的第一因,他是这个因果链条的第一环,然后世界就“自顾自”地出现了;
也有人说,其实因果链条上的每一环,表面看来是逻辑联系,其实都是上帝的意志;

这个问题我们不回答,我们能确定的是,在这个高科技的社会,生活中的各种事务,背后都是技术的“意志”;正因为如此,温伯格在《技术领导之路》中说,在这个时代,技术人员拥有强大的力量,只是需要发掘自己技术(技术知识)的价值,所以他还会花专门篇幅讲到力量转换。

今天写上面的话,是因为今天又看到有朋友在不厌其烦地详细介绍wordpress的维护。我想说的是,作为技术人员,不妨多动些脑筋,想想如何依靠技术解决更广泛的问题。譬如Wordpress的维护,我之前也饱受折磨,某天终于发现,PHP可以直接调shell,shell里面又可以直接调mysqldump——这样,只要简单几个Web页面,就可以完成wordpress的升级、文件备份、数据库备份和恢复,再通过Cron,就实现了blog的定期备份和日常维护,从此高枕无忧。

技术的力量,其实无所不在。

Beta技术沙龙记

俗话说“无巧不成书”,还真是这样。上周末的“巧”,就是RSS:周六跟抓虾的朋友们聚餐,周日下午Beta技术沙龙的主题就是“网易有道RSS阅读器”。

Beta技术沙龙在詹膑老师的“奇遇花园咖啡馆”举行。在车水马龙的西直门,能找到这样一个安静的地方,实属不易(当然也很难找,我们开玩笑说还应该开一家“齐秦菜园餐馆”)。装修也别有味道:明亮的落地窗,颀长的红色窗帘,极高的天花板……第一次去的时候,我瞥见高架上堆放着一排白色的书:“看那样子,应该是川端康成的《雪国》和《伊豆的舞女》吧?”,詹老师微笑颔首。

“有道”这个品牌,最早应该是作为博客搜索引擎出现的,07年末又诞生了有道阅读器。如今RSS在线阅读器日趋流行,有道赶上了好时候,又可借助网易的资源,相对其它一些阅读器,条件好得有点让人嫉妒,但是能在一年多的时间里做到今天这样的程度,也确实下了不少工夫。此次来的三位嘉宾,胡琛、王焱和刘懿,分别从运营、技术和产品三方面介绍了有道阅读器,包括遇到的问题,解决的办法,对未来的思考……看得出来,他们的准备非常认真仔细。
当然,既然名为“技术沙龙”,参与者最关心的,还是技术的方面:系统的架构是怎样的、采取了怎样的策略、出现问题如何解决……看他们的PPT,我最深刻的感觉是“天下大同”:各家的技术,或许细节上有所差异,但总的思路和方向,大抵不会相差太远。当然,最让我羡慕的还是他们可以使用网易的存储系统,轻松备份超过20T的数据,高枕无忧,这太让人嫉妒了(曾经有天晚上,我因为太困误删了极为重要的用户数据。当时已经十一点半,就准备休息了,结果惊出一身冷汗。而且之前没有及时备份,所以只能想法从四处导出数据“拼”回来,折腾到四点才算写完恢复程序,让它正常运行,第二天总算没让用户发现,那次事故印象太深刻了)。

整个沙龙的气氛轻松而随意。主题演讲结束之后,主持人说:“下面大家自由开小会吧”,于是会场瞬间热闹起来。坊间传言:“沙龙的成功程度,取决于小会的热闹程度”,这样看来,沙龙是很成功了。

这次活动还有点小意外——有位素不相识的朋友(原来是Robin)很意外“没想到《精通正则表达式》的译者也在场”。是的,我们都没想到,这倒正合咖啡馆的名字:奇遇花园。

现场图片(如果这是一张世界地图,我就在新西兰的位置:))

北京,我喜欢的三家湘菜馆

某次跟一位北京土著“湖南女婿”聊天,他提到“以前在北京吃湘菜,只觉得湖南菜就是辣,这次来了湖南,才觉得湖南菜不是那样的,有种特别的香味在里面。”
我说,你触到了湘菜的真谛。

湘菜不光是辣,正如川菜不光是麻一样。多放辣椒就是“湘菜”,多放花椒红油就是“川菜”,只能说明厨艺拙劣。湘菜要做得地道,讲究还是很多的,譬如炒青菜,须得把水沥干,大火猛炒,迅速出锅,如此才有鲜爽的口感,水稍多一点、时间稍长一点就成了煮菜,味道相差甚远;腊肉也最好是带皮的,肥瘦相间,肥肉多一些更好,切成稍厚的条,蒸出锅就直接上桌,而绝不应当是普通餐馆里那种“橡皮泥”的样子……

北京的湘菜馆众多,但我印象最深刻的有三家,下面一一介绍:

湘德楼

湘德楼在德外关厢,临街的两层小楼,老板是长沙人,厨师也是长沙人,算的上“原汁原味”了。
有几个朋友非常喜欢这家的鱼头,火候把握很棒,确实很鲜美(推荐不点米饭,鱼头吃完点一份面,就着鱼头的汤汁,极其可口)。但说实话,“剁椒鱼头”算是湘菜,我还是2003年才知道的,现在它倒成了湘菜的代表了。其实湘菜除了剁椒鱼头,还有很多可口的,只是不为外人知晓。湘德楼做的大蒜叶炒黑木耳、青椒炒油渣、剁椒蒸芋头、白椒腊牛肉、香辣米豆腐,口味非常地道(或许不是大家印象里的“经典”湘菜,但确实具备湘菜的神韵),而且色、香、味俱全,更难得的是,许多“湘菜馆”根本吃不到这几样菜。有兴趣的朋友,不妨去尝一尝,绝对让你耳目一新。

潇湘味道

潇湘味道在东四四条,从西头进去大概30米就能看到,门口挂着一排灯笼,另有一块招牌是“虾酷:专业治虾”。
我之前并不知道这家馆子,第一次去,才听说许多名人都喜欢来这吃饭。门面很小,装修也简单,但是有雕花、青竹,冬天屋里还有火盆烧木炭,供人取暖,家乡的味道很浓。
这家的老板、老板娘也是株洲人,每次去都会打招呼,很热情。老板之前是株洲一家很有名气的宾馆的厨师,与如今的“新派”厨师相比,还延续了不少传统:譬如蛋卷(是蒸的,而不是炸的,如今基本没有厨师会做了),一定是要叫“头碗”的,因为照惯例,年夜饭的第一道菜就是蛋卷,所以得名。也正因为如此,这里还能吃到些“小吃”,譬如长沙著名的糖油粑粑,做得相当的正宗。我总以为,如今的厨师厨艺日渐精致,可是不少传统菜肴、小吃的做法和惯例,却毫无了解,这相当可惜。
除了口味,值得一提的是,潇湘味道用的餐具非常地道,上菜用的许多碗都是真正乡里用的碗,造型、花纹,都会带给你熟悉的气息——当然,这得有过经历的人才知道,这一点,也可以算作“吃文化”吧。

恰来恰克

懂行的人看到这个名字,往往会心一笑:在长(沙)株(洲)湘(潭)地区,吃、喝、抽等等一系列动作,说出来都是一个“呷”(发音是“恰”,第二声):呷饭、呷菜、呷烟、呷酒、呷好处……,所以“恰来恰克”,也就是“吃来吃去”的意思,但多出几分随意和亲切,招牌黄底色上歪歪扭扭的“恰来恰克”四个字,更加重了这种感觉。
恰来恰克位置很偏远,在北二外北校门附近,也是两层的小门面,老板也是株洲人,人称“灿哥”。灿哥自己介绍,在北京苦心寻觅,终于找到一个做米粉(是湖南米粉)的厂子,就把馆子开在了米粉厂附近。日常除了学生来解决吃饭问题外,不少都是湖南老乡,大老远跑过来,就为尝一尝米粉(而且是扁粉)。
除了米粉,这里的另一大特色是湖南火锅。湖南火锅与其它地方火锅不太一样,汤料是精心调制的,肉在下锅之前就是做熟的,而且会切得厚一些,下锅只是把鲜香的味道煮进去,吃这种火锅,热气腾腾、香气扑鼻,更美妙的是,越煮越入味,越到后来吃得越爽,那种感觉,完全不同于如今泛滥的“涮锅”——只可惜北京很难买到带皮的羊肉,也就无法体会从火锅里捞出一大块带皮羊肉,几口吞下的畅快淋漓了。

《精通正则表达式》勘误列表Excel版

承蒙各位读者喜爱,《精通正则表达式》2007年出版至今,已经三次印刷了。不少读者在来信提供勘误建议的同时,也反映原有的勘误列表结构不够清晰,勘误没有区分版次,使用起来不够方便。每次收到这样的来信,我都深感惭愧。

所以我制作了Excel版本的《勘误列表》,列出了到目前为止收集的所有勘误,并列出各个版次所对应的勘误,希望能给广大读者提供方便。

《精通正则表达式》(第三版)勘误列表下载:MRE_errata.xls

P.S.

要感谢博文视点的晓菲,她帮我调整了Excel的版式。

怎样翻译更地道:再见,使字句

使字句,也就是“xx使xx如何如何”的句型,已经在译文中泛滥开来。不信,随手挑几篇译文,使字句随处可见:

玉米的高产使玉米价格的大幅度下降,从而常常使农民如果得不到政府补贴就无法继续维持玉米的种植。
她的名字叫雷切尔,正是这个名字使我虚度了整个中学时光。
曾有一次,她给我寄去了一张身着泳装的照片,使得我对她的爱痴狂得简直想入非非了。使常规的活动多样化更有利于减弱享乐性适应的影响。

“xx使xx如何如何”,对不少译者来说,已经如膝跳反射一样正常。使字句泛滥的现象,众说纷纭,这里不多讨论;我想说的是,真正流畅通达的高质量译文,往往很少出现使字句——即便使字句的已经成为“约定俗成”的语法现象,大多数情况下,还是会造成思维的梗阻,因为“xx使xx如何如何”的思维,并不完全符合中文的习惯。

我们翻阅词典,会发现很多动词都解释为“使xx”,在英文中,这是没有错的。因为英文惯用名词做无生物主语,即便不明确使用make、enable、prevent、keep之类的动词,在直接翻译成中文时,要衔接顺畅,也离不开“使”字,下面举几个例子(需要指明的是,我们说英文时,必须特别留意这样“名词做无生物主语”的情况,才能说的地道,“洋味才浓”):

If you take this medicine, you will feel better.
This medicine will make you feel better.

He can do anything because he is rich.
His wealth enables him to do anything.

Whenever I see the orphan, I remember her parents.
The sight of the orphan reminds me of her parents.

We could not start because of bad weather.
Bad weather prevented us from starting.

以上四组例子,前一句是“中式英语”,后一句是“地道”的英文,按照时下流行的翻译思路,必然离不开“使”——“使你觉得”,“使他能够”,“使我想起”,“使我们不能”。

那么,翻译成中文,难道离得开“使”吗?况且,中文本身也有“使动”的用法啊。

不错,中文的确有“使动”的用法,譬如大家耳熟能详的“既来之,则安之”和“劳其筋骨,饿其体肤,空乏其身”,但是据我观察,一方面,中文的“使动”并不常见,至少不如现在翻译体的使字句那么常见;另一方面,中文的“使动”,并没有英文“使”句型那么严谨的逻辑关系:“安”、“劳”、“饿”、“空乏”,并不用于连接两个对象,更多的是描述状态的改变,与英文中“A导致B”的固定形式还是有所不同的。
英文的“使动”拿到中文里会显得别扭,原因或许就在这里。

那么,我们在翻译时,该如何避免泛滥的“使”字句呢?这个问题困扰了我很久,以前也写过《“使”来“使”去,“使”向何方?》,但还是不够满意,最近似乎想明白了点,把结论写在这里,供大家参考。

英文中的“使”字句,一般是表示“A导致B”的情况,也就是两件事情之间的逻辑联系;明确了这一点,遇到大部分“使”字句,我们不妨快刀斩乱麻,只需要理清头绪,把两件事情前后列出来即可,甚至可以省略连词(不用“因此”之类就可以表示因果关系,也是中文的特点之一,正如英文一定要有and,而中文可以直接说“笔墨纸砚”、“柴米油盐”一样):

仍然是上面四组例句,以下分别列出用“使”的翻译和不用“使”的翻译:

这药会使你觉得好些。
你吃了这药就会好些。

他的财富使他能够做任何事情。
他有钱,什么都能做。

见到那孤儿,使我想起了她的父母。
一见到那孤儿,我就想起她的父母。

糟糕的天气使我们无法动身。
天气很糟糕,我们无法动身。

常有人说,语言是活的,有如河流;可是我想,活,不等于无规矩可循,纵使河流,也须依河床前行,恣意放纵,也会泛滥成灾(英文也是如此,blond hair不能说yellow hair,heavy rain不能说strong rain,虽然“意思”是没错的)。这个处理“使”字句的办法,可以应付日常翻译中遇到的大部分“使”字句了,有兴趣的读者,不妨一试。

做翻译,我的几点建议

我以为,要做好翻译,以下几个方面,是很值得注意的:

首先,要有良好的英文阅读能力。

切莫以为能“大致看懂”原文,再查查字典,就可以做翻译了。我们做翻译,通俗点说是要“改换形式,传达相同的信息”,而信息在传导过程中必然会有损失,译者应当竭力避免这种损失:“断断续续”地听人说话,或许能大概明白意思,但这并不是说,原文的意思只需要“断续”的片段就可以表达,而且如果我们把这些“片段”再次表达出来,原文的意思就损失得更多,留下的也就更少了——结果,译文的读者只能接受到“片段之片段”,自然无法理解。

良好的英文阅读能力,要求译者能够基本完整准确地理解原文——包括文章要传达的思想,单词的确切含义,结构的组织,以及“文字之外”的其他内容,譬如语气、双关、典故……这样才能保证译文读者尽可能多地接受原文的信息。当然,要做到这些很有难度,但是,我们不能忽视这些信息——至少要能感觉到:你或许不明白典故的来龙去脉,但至少要能判断出这里有一个典故,然后才有可能去弄清楚这个典故,而不是置若罔闻、视若无物。

缺乏英文阅读能力,译文也可能很通顺,但根本谈不上翻译,仅举两例:

the longest bar(sell drinks)翻译成“最长的酒吧(卖饮料的)”。我们都知道,bar可以指“条、棒、酒吧、吧台”,原文作者也清楚这点,为了避免混淆,特地注明是“卖饮料的”,所以理所当然是“吧台”,翻译成“卖饮料的酒吧”,就是没有弄懂原文。

economics in one lesson翻译成“一个教训中的经济学”,仅仅从字面来看,这是算不上错的,但如果我们具备基本的英文阅读能力就会知道,真正的意思应当是“一堂课就能说明白的经济学”(“经济学一点通”更直白,当然这是后话)。

Continue reading 做翻译,我的几点建议

别做光鲜行业的蠢苦力

我很小的时候,在外出差的父亲给我写信,说“玩也要动脑筋”,这真让我头疼:玩就是玩嘛,动脑筋,那肯定是跟学习有关的,这怎么能扯到一起呢?我百思不得其解,甚至去找外婆评理。
父亲出差回来解释说:玩也要动脑筋,就是不要老停留在一个水平上,要想办法玩得更好,更有意思。
于是我明白了,“动脑筋”不只是跟烦人的学习有关的,各种问题其实都可以“动脑筋”。这些年来,随着经历的增长,我越来越深刻地体会到当年父母的一片苦心,也体会到四处“开动脑筋”的重要性。

去年,我有幸翻译了温伯格的《技术领导之路》,在书中,我遇见了同样的道理:

尽管风格各有不同,解决问题的领导都有一个共同点:他们都相信,总有更好的办法(there’s always a better way)。
这信念源自何处?伯特兰•罗素曾说,信念就是不需要证据的相信。尽管解决问题的领导可能是讲逻辑的,他们也不能用逻辑来证明信念。也许它源于他们之前的成功:聪明孩子能把坏事变成好事。这种成功强化了孩子对于思维的信念。以这种信念为依托,孩子就更可能想到更聪明的办法,解决下一个问题。熟能生巧,成功带来更大的成功,最终成就了解决问题的领导。

看来,“努力把事情做得更好”的重要价值,是大家公认的。然而,努力践行这一点,也是非常有难度的,这一点,我深有体会。
就拿我所从事的软件行业来说吧,工作中,我时常会有这样的想法:软件开发顶着朝阳产业的华盖,然而内部的规范性和秩序性实在不容乐观,甚至到了“粗陋”的地步,远远赶不上传统的工匠:设计随意、文档混乱、沟通缺乏、配合失当、效率低下、维护困难……,许多的所谓“高科技产业”,只是“使用高科技工具胡乱拼凑出来的劣质产品”而已(刘未鹏写过一篇有趣的文章《我们都是信息时代的远古人》,我看不妨借用这个标题:我们都是光鲜行业的蠢苦力)
究其原因,一方面是软件开发本身的问题(须知,软件乃是纯粹依靠人类的智力,“凭空”构造出来的复杂系统);另一方面,也与我们对自己工作的思考深度有关——即便软件开发本身是困难的,我们仍然能够开动脑筋,总结、反省、提高,一点点做得更好。这样的思考和反省,本身就是非常难得也非常可贵的,但正是这样的思考和反省,提醒我们,自己位于向前延伸的时间轴之上,而不是一次次地在起点重复。
更可惜的是,长久以来,关于这些问题的论述,都被外国人所垄断。在中文世界里,“如何做好软件”,或许有许多人在思考,但经验的交流都还局限于口耳相传的方式,在知识的整体性、层次性和交流效率上,都很可惜。所以,当我看到《走出软件作坊》的时候,实在是大为惊喜。

我手上这本书,是在面世签售的前一天晚上,博文视点的周老师赠送的。赶回家已经是夜里两点来钟了,但捧起这本书就很难放下,这是一本包罗万象的书——从程序到架构,从售前到售后,从开发到管理,从销售到维护,完全涵盖了当前国内软件开发的各个方面。我相信,任何IT从业者都能从中见到许多困扰自己的问题,而且许多未曾接触过的问题,也会看得饶有兴致,并且为其中的某些观点、做法叫绝。看技术类的书籍,很久没有这种畅快的体验了,于是我想,这本书一定能吸引很多人的兴趣。

果然,这本书面市之后,引发了大量的关注。无论评价如何,这些关注本身,就证明书已经挠到了软件开发的痒处(正如它的英文名:The Itch of Software Workshop),引发了大家的思考。我以为,针对中国软件行业的现状来说,这就已经是重要的价值了。

《走出软件作坊》或许不是一本圣经,但它无愧于一个起点,为了走出作坊,我们需要这个可贵的起点。