上周在深圳见朋友,聊天时仍然把“正则表达式”和我联系在一起,这真让人惭愧,因为我已经很久不写正则表达式了,甚至有些生疏。估计是Jeffrey Fridel的《精通正则表达式》写得太好,身为译者的我也沾了不少光,收获不少虚名。为避免误解,撇去虚名,有必要专门写写我和正则表达式的故事。
我和正则表达式的缘份,始于我的第一份工作。那时我刚刚离开学校,除了在学校里认真写过些程序实现书上的理论和练习,根本没做过实际的项目。找工作当然也不顺利,尤其不是北京的高校毕业,在北京找工作更加困难。好不容易找到一家公司愿意收留我,周四上午面试、下午复试、周五就签合同,通知“下周一来上班”了。
我清楚地记得,上班的第一天,为了不让其他人看穿自己其实没有项目经验,我特意带了那本厚厚的影印版《the Java Programming Language》,一来充门面,二来也抱抱佛脚,之前在学校写的都是C++程序,Java确实不熟悉。而且,上午确实没太多事情干,这本书救了我的命。
好日子在下午就到了头,项目经理给我们做培训。当我满心欢喜地参加培训,希望通过培训来“软着陆”时,等来的却是高强度的信息轰炸:一小时内讲完了JBuilder、JUnit、Ant三样东西,我完全没有接触过,但公司要求“明天就开始使用”。读书时虽然不排斥学习新的知识,毕竟习惯“循序渐进”,这种“培训”闻所未闻,结束之后只觉得大脑一片混沌。在QQ向同学吐槽说“公司这么不讲道理,纯粹血汗工厂”,答复却出乎我的意料:“赚翻了,赶紧学,我们想用还不让用呢”。在当时,被“堵”的感觉特别糟糕,但转念一想,这么说也有道理,所以我拼命忍住反感,硬着头皮学习。
到了周三,我终于可以稍微熟练地掌握周一培训的三样东西时,想稍微可以喘口气之后,项目经理又扔来实际任务了:写程序从页面上抓取需要的信息。结果我又紧绷起来,虽然之前也学过HTML,也做过网页,却从没想过“反过来”的事情,对于“从HTML代码里拿到需要的信息”这回事,我毫无概念。不过既然安排了任务,当然不能不敢说不会做,因为之前曾有同事说“不会做”被教训了——“这是什么理由,不会赶紧学”,所以我还是一口应承下来,虽然完全没有头绪。
这样漫无头绪地干熬了两天,到周四快下班的时候,项目经理问我“快做好了吗?”,我说“快了,还差一点”,他说“好,你多用Google吧,查查正则表达式的资料”。于是,“(遇到问题)多用Google”和“正则表达式”成了我当天听到的最有信息含量的两点。我从下午6点开始学习正则表达式,弄懂基本的例子已经是9点多了,这时候我已经可以确认,沿着正则表达式这条路走下去可以完成任务,所以我决定熬夜把程序调出来。结果,刚工作那个周五下午的阳光,特别的明亮和耀眼。
这就是我和正则表达式结缘的开始。后来,因为工作中经常要用到正则表达式,而我又对这个玩意比较感兴趣,所以决定花点时间专门学一学。当时网络上的资料还没有今天这么多,所以学习很多时候还得靠专门的书籍,找好书的有效办法就是上亚马逊搜索看书评(当时亚马逊还没有中文站),评价最高的书一般都不错,同时还得保证这本书有电子版,所以我选了那本Mastering Regular Expression。开头几章还能和自己的工作结合起来,后来就越来越深入缥缈了,但我舍不得中止,索性把atomic grouping, lookaround, anchor等等功能都囫囵吞枣看完了。或许是当时年轻的缘故,所以即便用不上,看过之后仍然有比较深刻的印象,觉得正则表达式的功能着实强大,并时常憧憬以后可以用上这些功能。
过了一年多,通过很偶然的机会知道武汉博文视点的周筠老师正在找人翻译Mastering Regular Expresson这本书(后来才知道,是当时《程序员》杂志的主编孟岩推荐引进的这本书)。既然读过这本书,对这本书也很有些感情,我便报名参加了试译。认真而惶恐地递交自己的试译稿之后,焦急地等了两个礼拜,博文视点的编辑问我“你能不能独自翻译这本书?”,我开心地一口应承下来(又是后来才知道,本来是计划找多名译者合力翻译的),这才有后来《精通正则表达式》简体中文版的翻译出版。
现在想起来,自己但是能获得这个机会,有相当大的偶然成分:通读《精通正则表达式》是偶然,掌握了点翻译知识也是偶然。翻译是我在大学时考完GRE之后“无所事事”时找到的兴趣,曾经想通过翻译赚点外快,翻译稿是被人家认可了,可因为不好意思一手交钱一手交货,并没有拿到报酬。不过以此为契机,我觉得自己的翻译可以被人认可了,所以更有兴趣学习和练习。加之当时网友大多古道热肠,秋风(如今仍然是活跃的知识分子)和林猛(现在在北京师范大学任教)两位前辈给了我很多翻译的建议和指引。所以在正式接手翻译《正则表达式》之前,我已经积累了十多万字的翻译经验,其中很多还是被批评后反复修改、讨论的结果。这些经验没有为我赢得什么实质的报酬,却是日后争取到翻译《精通正则表达式》机会的宝贵积累。
出于一系列的偶然因素,我才与正则表达式结缘,而且主要的缘份也到此为止,后来并没有写过太复杂的正则表达式,也没有机会密集使用正则表达式。所以如今,每次听到大家把“正则表达式”和我联系到一起,我都感到非常惭愧。复习GRE提高了英语,热心前辈的建议和指引帮我提高了翻译水平,公司的“高压”让我有机会认识并迅速掌握正则表达式,项目经理的严格培养了我通过Google自学的能力,亚马逊的书评和电子版的存在让我选择《精通正则表达式》作为学习资料……只要其中任何一个条件发生变化,我可能都不会与正则表达式结缘。我真正能掌握的,只是掌握自己认为有价值的工具,练习自己认为有价值的技能,学习自己认为有价值的知识。
如果要问我什么是“有价值”,我想说“有价值”就是开动脑筋,学习合适的工具、正确的方法去解决问题。上大学的时候,我读到马尔萨斯的《人口论》,绞尽脑汁也不知道该如何破解自然资源增长速度与人口增长速度不匹配的难题,直到后来才恍然大悟,原来马尔萨斯忽略了科技和智慧的作用。对这个问题,计算机科学的例子不胜枚举:同样复杂的问题,开动脑筋,换套解法,消耗的能量没有变化,时间却大大缩短了。把智慧运用到各种问题上,把它做得更好,就是我认定的“价值”。
From Life Sailor, post 纯属偶然——我和正则表达式的缘份
之前我写了一篇《坚持了两年之后,小朋友突然不想去打冰球了…》,本来是无心之作,没想到收到了很多留言,我自己也获益不少。 本来,我以为解决了小朋友的问题,此事就这样过去了。没想到的是,暑假过后,冰球训练重开,他又老调重弹:“我不去了,我不想打冰球了……”。 这可叫我如何是好?听到他嘟嘟囔囔说这一切的时候,我心里百感交集。 成年人的生活里总是有忙不完的事情,对应的,也希望一切井井有条、按部就班。因此,这样“意外”的变数,总是第一时间让人心生无奈和烦恼:天哪,怎么会这样呢?为什么会这样呢? 不过,基于之前的经验,借鉴大家的留言,这次我显然更有心理准备一些,起码不会慌乱。 之前我写过,如果父母多阅读一些高质量的育儿专著,有助于把自己的期望水平“降”到合适的程度,就不会那么焦虑甚至抓狂。 (more…)
认识Michael很偶然,但我也很幸运,因为我见证了一个“打冰球的好孩子”的成长。 最早认识Michael是在冰球队的夏季体能训练上。那时候这群孩子还只有六岁左右,每次训练都是家长送来,在旁边观看陪伴,再接回家。但是,我很快发现有个孩子不一样,家长送他来就回家,他靠自己换好全身装备,训练完自己洗澡更衣,再由家长接回去。看起来,他好像完全没有其他孩子那种“害怕独处”的感觉。 于是我问他:“小朋友,你这么勇敢,你叫什么名字呀?” 他说:Michael。 我尝试复述他的名字,好几遍都不成功,因为我总听成“米歇”,最后他耐着性子慢慢说,我仔细听才发现最后还有个音节,嘴要更扁一点,舌头往上垫,才可以念出来,类似“米歇-厄尔”。其实这个名字写出来大家都认识,英文里读作“迈克尔”,无奈德语的发音规则很严格,字母i不会像英文那样有两种读音,结尾的el又一定要发音,所以就成了“米歇-埃尔”。 (more…)
偶然刷到一篇文章,说的是“贵族家长”群体给小朋友安排的活动:冰球、马术…… 我有点诧异,原来“冰球”也被贴上了“身份”的标签。想想自家小朋友的情况:赶上打折花了400多欧元买的全套护具,80元买的二手冰球包,每个月60欧元的俱乐部费用……想了想,似乎很难和“贵族”联系起来。 只不过,他已经坚持打冰球到了第四年,我们的生活确实有不小的变化。写下来,既是对自己有个交代,也可以作为“贵族运动”的现身说法。因为在我看来,如果非要说它是“贵族”运动,也只能“贵”在高(时间)投入、高产出而已。细细想来,我们的生活,已经被冰球深深的影响了。 (more…)
一 很多人关心,我们父子给M写了道歉信之后,对方是否有回应。 答案是:到目前为止,还没有任何回应。不过比较特殊的是,写完信之后德国小学就开始放秋假,学生不用去学校,既然见不到,也就不可能收到任何回应。 老实说,我觉得对方父母是有点反应过度的。这些年我的一条深刻经验是,如果出现分歧、矛盾,越早、在越低的层面直接面对,就越容易解决。许多小的矛盾之所以越闹越大甚至无法收场,往往都是经过了很多演绎、传话,而没有在一开始就开诚布公地面对。 试想,如果自己的孩子收到写着“我要杀了你”的信件,哪怕一开始很惊慌甚至愤怒,但仔细想一想,毕竟还有很多信息是未知的——比如对方是谁,平时言行如何,为何要写这样的信…… 更好的办法或许是先去直接寻求这些问题的答案,而不是直接把信交给家长委员会,走“公事公办”的路子。 我当然承认,“公事公办”无可厚非,对方家长也有这样的权利——所谓权利,就是“有资格做对方不喜欢的事情,人家还拿你没办法”。既然有这样的权利,就需要尊重。 所以,“严于律己,宽于待人”的确是与人相处的重要法则:我不会选择这么做,但我能理解和尊重你这么做的权利。 也有人问,那将来你遇到M的父母,会不会紧张? 答案是:不会。 (more…)
一 收到S老师邮件的时候,我刚刚胆战心惊地做完第一次德语技术分享,还在享受着同事们的鼓励。猛然间就收到一封邮件:“您的孩子在学校参与了一起性质严重的事件,您必须来学校面谈,请从以下时间段中选择……” 什么?“性质严重的事件”?我揉了揉眼睛,确认自己没有看错。再把这段文字贴到谷歌翻译里,确认自己没有理解错。 我没有看错,也没有理解错,就是“性质严重的事件”。好吧,既然“性质严重”,那谈话肯定是越早越好,最早的日期是第三天。我紧赶慢赶,回信确认了最早可能的谈话时间,虽然德国人通常都不期待能这么快收到回复。 去接他回来的路上,我发现他一切正常,完全看不出任何异样。于是,我也没有表现出任何异样,只是依照惯例,问他当天发生了什么,在学校开心不开心。 得到肯定的答复之后,我心生疑惑,看起来和“性质严重”完全不搭边。那会是什么事情呢? 我又问他,有没有和同学吵架、打架,是不是被人欺负了不敢说。但是,答案全都是“没有”。 我满心怀疑,又按捺不住,直接问:“既然一切都挺好,为什么S老师给我发信,说让我来学校跟她谈话呢?”我担心“性质严重”会吓到他,故意隐去了这个词。 他的满面春风在那瞬间凝固了,喃喃低语道:“好吧,原来是那件事,我还以为她不会跟你说。” (more…)
在2024年之前,我从来没想过自己有一天还可以加入乐团,甚至参加音乐会演奏。我只是个普通中年人,在之前文章里说过,上世纪八十年代随大流弹了十年手风琴,考过六级(当时最高八级)之后就彻底放弃了。直到二十多年后,在上海工作时才重新开始弹琴,当时有幸跟夏老师学了两年,打开了感官,懂得了音乐的世界远远比考级要广阔和美妙。再往后,就是自己看Youtube学习了一些乐理知识。因为德国几乎每个城市都有很多音乐学校,2023年末,我给本市的音乐学校写信,询问是否可以参加手风琴课程。通过回信我才知道,原来不只是“每个城市都有很多音乐学校”,而且“每个城市都有很多乐团”,哪怕是手风琴乐团。就这样,阴差阳错的,2024年初,经过简单的试奏,我加入了本市的手风琴乐团。虽然我是乐团新人,仍然有很多要学习的,但是一年下来,确实有不少感受。如果读者朋友也对音乐感兴趣,或者想让孩子学习音乐,也许我的感受可以提供一些参考。 (more…)
View Comments