卡尔波普曾说:“生活就是解决问题”。确实,在生活中,我们时时、处处都在解决问题——吃饭问题、睡觉问题、学习问题、工作问题……于是,“解决问题”本身也成了需要解决并且极有价值的问题。迪特里希·德尔纳的《失败的逻辑》,就是论述“如何解决问题”的一本小书;这本书虽薄,然而“麻雀虽小、五脏俱全”,详细介绍了解决问题的通用步骤,以下结合我的个人经验来谈谈。 解决问题的第一步,是认识问题。这一步往往容易被人忽视,认为是多此一举,因为“问题就摆在那里”,所以许多人上来就跳过这一步,直接动手解决,结果大都收效不佳;究其原因,往往忽略了认识问题。比如听到有人说“要求更高的生活质量”,首先应该提问,“更高的生活质量”是什么?是交通状况更好,还是娱乐设施更多,还是商业更繁荣,学校更普及?到现在为止,这些问题并没有明确的答案,唯一清楚的是,现状不尽如人意。这时候要做的,是在了解清楚情况的基础上明确地设定一个目标。这道理看起来简单,真正做起来却并非如此,许多人并不愿意去寻找真正的答案,反而相对随意地“找”了一个目标:面对“更高生活质量”的要求,有些人会根据自己的经验,想当然地认为这是教育资源不够,所以花大力气整顿教育——其实,这么做的人并没有解决真正需要解决的问题,仅仅是依照自己的能力,解决了自己最熟悉、最顺手的问题,并且“以为”这就是真正的问题。 解决问题的第二步,是认清问题。认清问题与认识问题的区别在于,认识问题只是准确地看到一个点,认清问题是从这个点发散开去,联系到更全面、更深刻的内容。比如某人挨了老板的骂,心里不爽,于是他很清楚问题是“心里不爽”,第一步已经做到了。要解决这个问题,可以找朋友出去大吃一顿,排遣郁闷;也可以好好反思一下,到底为什么挨老板的骂,想通了也就舒坦了。两种办法,都可以解决“心里不爽”的问题,长期的效果却大不相同。还有些时候,我们需要认识到,自己是在一个复杂的系统里解决问题,只解决一个点上的问题,很可能导致其它方面的问题,因为许多因素是此消彼长的——比如为了解决旱灾或者发展需要,大量抽取地下水,初看是保证了用水,但这样做下去,会导致地表沉降等一系列其它问题。所以,仅仅认识问题是不够的,还要能发散、联系四方,认清问题。 解决问题的第三步,是了解信息,制定计划,也就是找到可行的、抵达目标的路径,并将它拆分为若干小部分。在这一步,我们并不能保证自己面对的都是已经已经解决过的问题,可以拿出胸有成竹的方案,所以抽象思维能力非常重要——所谓抽象,就是把具体的问题提升到比较模糊但是通用的形态,经由此关联到已有的知识。一个人或许没有制造手表的经验,也不知道如何制造手表,但他在卷烟厂工作过,所以知道需要原料,按照一定的工序,还需要工人和能量。看来,制造手表也需要采购原料,按照一定的工序组装,并且需要有专业经验的人,并且需要能源支持。在这个例子里,他通过抽象,将手表制作提炼到“原料、工序、人员、能源”的形态,嫁接上了自己之前的经验。 解决问题的第四步,是估量时间序列。一般认为,我们生活在三维空间,所以我们对于空间问题,往往有强烈的直觉;然而,时间同样在我们的生活中扮演着重要的角色,可是我们经常忽略时间结构,即便在时间方面进行了考虑,直觉也非常有限。多个实验和大量事实已经反复证明,人的直觉,在估量时间序列时往往有很大的偏差,即便我们知道疾病的发病率,还是会低估感染者的人数,即便我们知道复利的利率,还是不愿意存钱,因为觉得收益太少。准确地说,普通人往往根据线性模型来进行时间推演,专业人员则清楚,增长函数有宽得多的范围,所以他们往往能选择最合适的函数模型,而不是盲目地根据“感觉”或“直觉”来做判断,所以能做出更准确的预测和规划。 或许有人说,这样做是简单问题复杂化了,把事情“机械化”到这种程度是没有意义的,但是我不这么看,做这种细细的分解,正是为了更有效率、更有效果地解决问题。 《战争论》的作者克劳塞维茨曾说:“战争,从他的最高角度来看,不是由大同小异的无数细小事件构成,而是由需要分别处理的,具有决定意义的各个重大事件构成。战争不像长满庄稼的田地,收割时不需要考虑每颗作物的形状;战争更像长满大树的土地,在砍伐每一颗树时,都需要注意到它的形状和方向”。同样,每天我们都需要解决大量的问题,这些问题各不相同,解法也不能千篇一律。如果非要有什么“以不变应万变”的秘诀,只能是针对每个问题,都能做到认识问题、认清问题、制定规划、估量时间序列这写步骤,并把它们养成习惯,内化到每一次行动当中,才可以做到有所针对地“砍伐大树”而不是简单机械地“收割庄稼”,真正解决“如何解决问题”的问题——随着信息技术的飞速发展,计算机已经承担了越来越多的“收割庄稼”的工作,这时候,能够“砍伐大树”才最能体现人类的价值。
我刚接触计算机的时候,总是为它强大的计算能力所折服,又有些不服气:计算机不就是靠“傻算”取胜嘛——简单重复操作,人类无论怎么锻炼,速度都不可能提升太多,芯片的处理能力却可以按照摩尔定律持续增长。换句话说,计算机算得比人快,“无它,手快尔”。 可是后来,我逐渐发现,用计算机解决许多问题,依靠的并不是“傻算”加上生搬硬套生活中的直观方法,而是“别开天地、自成一体”。我曾经遇到过一个每日运营数据分析的程序,需要10小时才能计算出结果(在当时的业务环境下,这速度完全不可接受),其思维就是生活中的直观方法。我花了一天时间来改进算法,最后只需要5分钟。这个例子我记忆犹新,它充分说明:强大的计算能力,并不能直接带来充沛的解决问题的能力;用计算机解决复杂问题,必须懂得计算机的“玩法”,理解计算机的逻辑,然后才谈得上妥善运用计算能力。 怎样才算懂得计算机的“玩法”,理解计算机的逻辑呢?可以举个排序的例子来说明。 排序,这几乎是我们每时每刻要遇到的问题,对普通人来说,排序就是把一堆东西按大小顺序组织起来;对应的,许多变成语言提供了现成的sort函数,对某些程序员来说,排序就是查找语言文档,调用这种函数即可。但是,事情真的这么简单吗? 为进行排序,需要定义一种关系R用来比较任意两个元素,以常见的小于(<)关系为例,a < b 可以表示为 a R b;现在要做的是,对于排序结果中的任意两个元素Xi, Xj,如果i < j(也就是说Xi在Xj之前),必然存在关系Xi R Xj。 这段话看起来繁杂,意义却很重要。常见的数值类型”天然“就可以进行小于计算,所以对不少程序员来说,a < b中的 <,和返回true或者false的布尔运算符没有区别。这样“凑合”确实可以解决简单问题,却无法处理复杂对象的排序,把人按照身高排序,把货物按照发送的远近排序,把向量按照夹角排序;因为这些时候,排序的对象并不是身高、距离、夹角的度数,而是人、货物、向量。还有些人,大概了解关系的概念,但没有考虑“对排序结果中的任意两个元素,关系都成立”,所以排序结果经常出现“局部有序,全局无序”的情况。…
曾经有个流传甚广的问题:前些年程序员都想去做项目经理,现在都想去做产品经理了,这是为什么呢?我看到的一个答案是:因为程序员都被产品经理折磨疯了。 这是一个许多人都赞同的答案,而且从此细想开去,可以发现很多问题:早先的程序员,并不是不会被产品经理折磨,而是几乎根本没有产品经理来折磨。在开发还主要服务于具体问题,以定期发布一版软件为主要形态的阶段,功能的有与无是最大的问题;而在开发深入到生活的细节领域,计算机用来解决各种问题,持续发布成为常态,竞争又日趋激烈的情势下,产品的重要性才日渐凸显出来——我们都习惯了不仔细翻阅说明书,凭直觉使用各种功能,我们也习惯了在系统的各种“提示”下直抵问题的核心。这些便利,很大程度上是赖产品经理所赐。也正因为如此,越来越多的人投身于产品经理,在这种爆发性增长的阶段,鱼龙混杂,难免苦了在一线开发的程序员。与其忍气吞声,不如取而代之,产品经理由是成了许多程序员的选择。 然而就我所见,许多人不是产品经理时苦不堪言,真正坐上了位子却左支右绌,这种例子并不少。究其原因,或许还是经验太过片面,细节计较太多,内心没有棋局。产品经理的工作重点是什么?属于哪个部门?职责边界在哪里?需要着力培养哪些方面的素质?应当与哪些部门沟通,如何沟通?这些关于产品经理本身问题看似有些“虚”,但若回答不好就去做产品经理,却绝难说是称职的。 要回答这些问题,国内已经有不少优秀的产品经理原创作品可以参考,我愿意同时推荐的,是Marty Cagan写的《启示录:打造用户喜爱的产品》。作者是eBay的高级产品经理,在这一领域着力多年,这本书却绝非巨细靡遗的大部头,而是论述产品经理若干核心问题和经验的精当小册子——实际上,我是在火车上花两小时看完的,但深深记住了产品经理职责的三方面:人员,指负责定义和开发产品的团队人员的角色和职责;流程,指探索和开发产品时,反复应用的步骤和成功的实践经验;产品,指富有创意的产品应具有的鲜明特征。 相应的,这本书也分为三个部分,针对每一个方面细致列出若干主题,比如在“人员”部分,就总结了产品经理的职责,与相关职位的差别及边界,产品经理应具备的素质,工作中应当注意的问题等等。这是我非常喜欢的编排方式,看过Effective C++/Java的人都知道,这种编排方式确实是Effective(有效)的;难能可贵的是,作者并没有止步于这些“务虚的探讨”,还根据经验分析了常见各种选择的优劣,比如将产品团队归入技术部门,往往会埋没于细节之间,归入市场部门,又混淆了产品营销和产品管理的职责;再比如产品经理太听信客户或者太过干涉设计细节,往往容易被“怎么做”迷惑,忽略了“做什么”。如果靠自己提炼这些知识,恐怕得有足够多的经理,吃过足够多的亏,经过足够多的反思;不过有了Marty的书,有志从事产品工作的人,肯定可以少走很多弯路。 当然,也正如书名所说,是“启示”而不是“操作手册”,它并没有提供繁复全面的指引。读完第一遍,我收获了很多启示,要完善正确的产品意识,甚至成长为称职的产品经理,还有很长的路要走;不过我想,我会时常翻一翻《启示录》,带着经验来看它,是常看常新的。
算起来,我也算有一些翻译经验的人了,最近接连做了两次关于翻译的分享,发现很多人都对翻译有兴趣,索性将分享中关于翻译的经验做个总结。 我是在2003年接触翻译的,当时美国对伊拉克动武,国内的报道非常奇怪,为了在论坛上争论,加上自己还在读书,时间比较多,就开始翻译一些外国媒体的报道,发在论坛里。初做翻译的最大感受是堵得慌,从来没想过要把意思表达明白会这样困难,就好像要说话,却发现舌头不受自己控制。所以一千字左右的译文,需要花费四到五个小时,而且完成之后大汗淋漓,心力交瘁。在这段时间,我陆续“义务”翻译了十万字左右的资料,因为是“兴趣所在”,所以不但不觉得累,还愿意花心思去琢磨。另外要特别感谢秋风先生和林猛先生,他们愿意花精力修改我刚入门的译文,指出各种问题,并且指明了很好的学习书籍和词典。回想这段经历,我最大的收获是,许多有意义也值得做的事情,一开始不可能带来明显的回报,甚至都看不到有什么明显的回报,但这不是拒绝投入的理由;另外,精当的指点也是非常重要的,这样自己可以少走弯路,迅速提高(也正因为如此,我不太赞同译言网之类的翻译社区里互相夸赞安慰的风气,没有批评和挑错,译者很难进步)。 但这些还只是开始,我自己翻译最大的收获,还数翻译《精通正则表达式》(第3版)。当时接这本书的翻译,也是有点不知天高地厚,70万字,500页的书往桌上一放,才感觉苦上心头。等到煎熬过去,真正完成,才发现最大的收获并非来自文字本身——技术书籍的语言比较简单,而且,今天看来这本书的译文还有很多可以改进的地方;也并非来自经济收入——《精通正则表达式》2007年面世以来,重印7次,我拿到的版税其实非常有限。让我意想不到的最大的收获在于,如何面对庞杂的任务,鞭策自己日复一日地去执行,最终实现自己的目标。 (more…)
题记:今天看到吴晓波先生的《中国工人阶级的忧伤》,有感而发。对苏东改革有兴趣的读者,可以去看秦晖、金雁两位关于苏东改革的专著,逻辑严密,数据扎实,值得阅读。 2011年7月17日早上,我在上海正大广场星美影院看《钢的琴》;下午,父母在株洲千金电影院看《钢的琴》——若我在家,一般会三人同去观影,若不在,一般是异地协同。之后我问他们,感觉如何。答曰:片子不错。 《钢的琴》确实是近年来我感觉比较满意的国产电影,写实,有现实关怀,完整,构成周全抓人的故事;它不像那些豪华巨制让人感觉莫名其妙,又没有《疯狂的石头》系列那么戏谑超脱,也没有贾樟柯系列电影灰暗沉重的压抑,只是讲了一个现实、正常的故事:陈桂林是东北一家钢厂的下岗职工,老婆跟卖假药的人跑了,离婚判决带走女儿,女儿的态度是,谁给买钢琴就跟谁走,明知买不起钢琴的他,纠集昔日工友,铸造了一架钢的琴。 真正的钢琴有八千多个零件,所以故事稍有点超现实色彩,片中也确实有一些超现实的片段(比如雪夜下的独奏),但并不影响观众入戏,至少我感觉是如此。空旷的厂房,褪色的口号,零落的标牌,破败的生活区,都是记忆中准确的样子——株洲是交通枢纽,也是重工业集中的城市,我从小在这样的环境中成长,亲戚朋友也多分布于各个厂区,集中居住的生活区,各形各色的工人,厂办幼儿园、子弟小学、子弟中学……现在似乎只需要用“大而全”几个字就可以轻描淡写,也只需要喊喊“甩包袱”的口号,它们便一家又一家地破产、倒闭。 我记得那些朝夕相处的形象:有人是老中专生,说话做事认真得紧;有人兴致高雅,业余将我们一帮小孩子叫去他家教授书画;食堂的两位师傅,一位红案一位白案,手艺不错,却为“天师”的诨名而争风斗气……忽然间单位便破败了,大家如鸟兽散,自谋活路;爱好琴棋书画的那位,几无活路;稍好一点的,一把年纪还要当联防队员,忍着酷暑寒冬,赚生活费。 这种境遇,该怪谁呢?怪他们不是生活的强者?可是工人很长时间内分明一直是社会的“中坚力量”啊。怪他们没有早做准备?可是他们年轻的时候,谁敢设想工厂会一夜巨变,真敢的话,估计没有人会坦然接受“低收入高福利”“低收入高积累”政策。怪苏联带了坏头?可是苏联不说对工人,对农民都有良好的保障,工业发展之后主动“反哺”农民,完善了农村福利和医疗体制。 当然,最流行的说法是,这就是改革必要的成本,也是工人应该接受的命运?持这种论调的人很多,我倒觉得这堪称最荒谬的结论了——常有人对比中俄,可是不要忘了,东欧各国大都(比如波兰、捷克、匈牙利)度过了转轨的阵痛,维护了公正,也恢复了经济;俄罗斯若不是搞半截子休克疗法,也不应该有这么长期的衰退。在我看来,许多“必要成本论”者甚至连“休克疗法”有什么具体举措都不知道。作为官员,他们可以完全漠视公正,作为学者,他们只醉心于研究假问题,得出假结论。但是,他们把持了这个社会,把持了那么多人的命运。 而且我猜,这些人甚至把持了更多的内容——我与父母之间,除去对电影的印象比较一致,观影的环境也一致,放映厅里都只有寥寥落落的几个人。问问周围的人,对这段历史,没经历过的人不感兴趣,经历过的人,不知道也不太相信有这样的电影。没有禁播,没有禁言,但在生活的压力下,在虚假叙事的重复之下,在似是而非的论证下,记忆会“自然”地枯萎、褪色、消逝。
题记:完成正则表达式的书稿,对许多事情不再麻木,慢慢恢复写点东西的意识。虽然对网络没太多钻研,但从97年至今,自己上网的历史也有十多年了。在我眼里,这些年来网络呈现出两个趋势:从同步到异步,从匿名到实名,所以写了这篇散记。 先说从同步到异步(这里借用了计算机专业中的两个术语,有必要为不熟悉的读者做一点解释:异步是一种松散的通讯模式,一方发送消息之后,不需要等待对方回复,即可以接续处理,电子邮件就是最常见的异步通讯模式;同步则是较为紧密的通讯模式,一方发送消息之后,需要等到对方回复,才可以接续处理)。长期以来,以QQ为代表的同步通讯是主流方式,它的主要特点是,双方关系紧密到一定程度,必须同时在线,交流非常密集。相对传统的异步通讯方式(比如邮件)来说,它更加可靠,之前邮件往往容易丢失;更及时,邮件发送之后往往不知对方何时才能收到;也更亲切,比较容易打发当代人的无聊和孤独。但是,它只擅长维系关系紧密的网络,许多时候你会觉得,添加某个人为好友,长时间没什么话说,不添加,又联系不上。这其实是由交流的性质决定的:同步性越强,关系就越紧密。观察电话(最强)、IM(次之)、邮件(再次)、SNS网站(需要双向确认)、微博(单向确认即可)可以印证。 但是互联网上,人与人之间并非只有紧密的联系,还有大量的松散联系,这是IM软件(同步交流)力所不及的,倒是异步交流形式非常适合这种关系,所以近些年来,异步通讯重新抬头,在我自己和周围朋友的生活中,IM的使用比例在不断下降,邮件/微博的使用比例在不断上升。究其原因,一方面是网络基础设施已经大大发展,邮件不再容易丢失,而且移动终端保证了随时在线,收到消息可以迅速发出提示,把人从“轮询”的状态下解放出来,放心自由地去做自己的事情;另一方面,也是因为“松散”的交际范围远远大于“亲密”的交际范围,而异步交流方式非常适合维系”不亲密“关系。以微博为例,仔细观察就会发现,一般人的微博关注人数(非僵尸粉),远远大于IM好友人数;而且因为不需要及时回复,这种交流完全不会对使用者造成困扰。也就是说,微博提供了一种大范围、松散、但可控的联系方式。而且,它已经够用了,以前大家交流到最后或许要互换QQ号码,现在则只需要保持微博关注即可,相比SNS网站,甚至不需要对方确认。 再说从匿名到实名。网络实名制已经喊了很多年,大家的看法各不相同,我的看法是,实名制或许没有必要,但网络使用实名却是有意义的,其比例也的确在不断提高。 早期的互联网的热点在于体育、娱乐,与现实的联系并不紧密,大家也习惯取一些别致的网名;后来网民逐渐开始在互联网上论政、撰写时评,到现在,互联网已经深入到民生有关的各个细节。网民可以发表言论、讨论的领域在不断增加,对现实的影响也在增加,为保证言论的份量和质量,对信誉的要求也在不断增加,在这一点上,匿名显然不如实名。 而且,今天的互联网已经不再是之前各个网站自成封闭体系的格局,但帐号积累的信誉和影响力多还局限于各个孤立的网站,无法转移——即便同样主题同样领域的两个网站,信誉的迁徙都非常困难,更不用说全网范围了。但使用实名,却可以解决这类问题,实名的好处是大家认同的不再是这个id而是个人,尤其是在有中国特色的大量转载中,实名更会带来巨大的好处——读者记住的作者不再是某论坛某id,而是某个人。在有了微博之后,就更是如此——微博几乎没有任何话题限制,你可以对所有领域,随意发言,而这些各类发言累积的影响和信誉都会归化到帐号,如果是实名,则会反馈到真实的个人,带来收益。 如果这两点没错,自然的结论就是,无论是同步到异步,还是从匿名到实名,微博符合这种趋势,是在合适阶段出现的合适形式,这或许可以从一方面解释微博为什么这么火。 实际上,我觉得微博就应该是这个玩法,它应该更像一个松散的平台,不会IM化或者SNS化成小圈子而限制了交际的范围;另一方面,它也应该是一个开放的平台,不对信息设任何门槛和限制,这样才更容易吸引大家实名参加,积攒信誉的同时,提供更有份量更高质量的信息。 或许未来的微博更像一种基础设施,一条消息总线,消息可以很方便地发布,而没有太多私密性(真正私密的信息价值往往不大),也可以很方便地追溯到人,又可以很方便地从这个人的历史发言,做出评价。至于在此之上,如何按照不同的维度(时间、话题、人物),整理、归纳各种消息,这就是各种应用该做的事情了。
正则表达式的书稿终于结束了(暂定名《正则导引》),关上电脑细细思考,写完这三十万字,最深刻的感受是什么?我的回答是:后悔。 从2009年初我打算写这本书,到2011年年中正式写完,一共花费了两年多时间,期间虽然经历了许多变故,有些事情也无可避免,但其实不用花费这么长时间——最初是在周筠老师的鼓励下决定动笔,当时是有想法,没规划。之后在徐定翔编辑和卢鸫翔编辑的配合下,尝试写了几章,又遇到困难停住。多亏李笑来老师说“暂时解决不了的问题,先绕过去,接着写后来的部分”,于是零零散散地继续写下去。到2010年末潘爱民老师对我说:这个状态可不行,这么随意地写,就算写出来,也不会是好书,不如不要写了。明知潘老师是在用激将法,我还是心甘情愿地上了套,为争一口气,日复一日地写,半年左右,终于完成。 回头看这段时间,却感到一丝荒谬:其实真正“笔耕不辍”也只有半年的时间,之前两年在干什么呢,这两年里,我心理总惦念这这本书,因此放弃了太多其它,然而其实并没有真正做什么事情。况且,翻看日记,真正笔耕不辍的时间,其实并不到半年::3月12日,状态不好,早点休息…3月20日,要办的事情太多,又没有规划好,书稿明天再写…4月16日,做了好几张图,做到有排斥情绪,看电影… 这类情景比比皆是。套用《少有人走的路》中的分析方式,这类因果关系其实都经不起推敲。认真分析起来,状态不好时,专注做一些事情,是可以让自己状态慢慢好起来的;要办的事情太多,没有规划好,完全是因为“没有规划”而不是“意外太多”;做图做到有排斥情绪,是因为把几张图集中在一天做,其实分几天完成并没有问题……虽然每次写日记发现自己浪费了时间,都提醒自己要从明天开始认真,但往往坚持不了几天,又因为各种理由松懈下来。我想来想去,原因就在于,我总以为“认真”是一种态度,从不认真到认真,只要端正态度就可以,然而认真其实是一种能力,如果你不具备,即便想施展,也未必施展得出来。 关于“能力”,我曾与一个朋友深入讨论过,结论是:只有当你能施展出来的时候,才真正具有这种能力,否则其实就是没有——你的思维很犀利,却没见真正解决过什么问题,其实就是思维不犀利;你的英语很好,却没有真正用英语学习过其它知识或与外国人交流过,其实英语就是不好;你理解能力很强,但不去真正学一点东西,其实就是没什么理解能力。这个道理,在书稿的写作上也是这样:我曾经信心满满地认为自己做事态度足够认真,所以有能力坚持写完这样一本书,即便有所懈怠,也可以迅速回到正轨;然而真相却是,依靠着各位师友的指点,并且在很多次想要放弃的边缘挣扎着坚持下来,才真正完成。所以,“认真”其实不是种态度,而是种能力;这种能力,自己其实还比较欠缺。 后来认真读了点心理学,才明白惰性更类似某种本能,是“野火烧不尽”的,会从生活的各个角落顽固地冒出来,滋生繁衍,这或许是种本能,只能依靠日复一日地贯彻“认真”来扫除它;惰性侵入的区域越多,“认真”的能力就越弱,就越难做到“认真”。可惜的是,这个道理,大多数人未必明白,我(或许也可以说“我们”)时常安慰自己说,某某事情不是不去做,也不是不认真去做,只是觉得没有必要罢了,实质是把能力问题错认作态度问题。在一两件事情上这样做或许无可厚非,长此以往的结果却是“认真”能力退化,惰性张扬。对我自己来说,日常生活中欠缺较真的细节,造成的恶果在需要“认真”写作时集中爆发——意志薄弱,时常找些借口自我放松;心神散漫,写一段又要看看邮件,上上twitter;缺乏规划,不能合理划分任务,照顾自己的情绪……所以才会在完稿时后悔不迭:我本可以早些完成的。 另一方面,我也体会到,在值得认真的地方认真,培养“认真”这种能力,是可以辐射到其它许多方面,让自己受益的。比如为了确认Unicode编码的某个细节(其实这仅仅是书中的一个脚注),我认真阅读了Unicode编码的长篇文档,终于弄清了这个问题。这样做看似不值得,却在其它方面带来了意想不到的好处——比如,我再也不会厌烦为弄清细节而查证长篇文档了,在这之前却会因为厌烦而抵触。这种“厌烦”,看似是态度问题,说到底还是能力问题,没有能力把认真贯彻下去(至少,依照自己现有的英语水平和理解能力,没有足够“认真”到克服厌烦心理)。 平心而论,自己和许多人一样,希望过上“有意义的生活”,可究竟什么是“有意义”呢?太过随意的生活,“意义”总是要打折扣的,真正有价值的“意义”,总是是长期努力追求的结果。而认真的能力,就是这种长期努力追求的必要因素。 Update:感谢豆瓣的朋友Clyde.L向我推荐了这篇文章,Gumption Traps and Gumptionology,我也向大家推荐。老外的文章往往更讲究方法论,也更细致,他把Gumption Trap分了三类,并给出了对应的解决办法,值得一读。
许多年前,我第一次读到《第三次浪潮》,里面有一句话非常激励人:在第三次浪潮面前,知识已经取代了资本,变为生产力提升的最重要因素。我读到这个观点,总觉得平添了无穷的力量,它比从小就耳熟能详的“知识就是力量”更加有说服力,更令人向往。 而且,我逐渐发现,知识与资本相比,其实是一种更独特,也更坦诚更健康的力量:资本的力量往往是独属于个人,或某个小团体的,固守起来,价值并不会贬低,知识却不是如此,知识的价值和增值,更多体现在交流与分享之中,“保守秘密“的做法,反而得不偿失。 举个自己经历的例子吧:上中学的时候,有一些同学对自己使用的复习资料守口如瓶,似乎这样就可以保住自己的名次和优势,我当时觉得这类做法有点奇怪,但也有朴素的味道,可以理解。 到了大学才发现天外有天,更深刻觉得这种做法真是不太好。一来因为大学里能人太多了,在中学觉得很“了不起”的东西,在大学显得非常稀松平常,往日那些“绝学”立刻显得很苍白了;二来大家都住校,基本没什么秘密可言,你看什么书,花多少精力学习,旁人不可能完全不知道。“固守自己绝技”或许能建立一些的优势,但总的来看,还是不如心态开放、愿意交流和分享的同学,尤其是,不少愿意分享的同学本身也学的很不错。 毕业以后工作了,逐渐发现自己经常在某些方面浪费了很多时间:比如非常简单的技术问题,因为不熟悉,或者没有想明白,总是“不得其门而入”,若有人点拨,往往很快就能解决了。但许多时候,人家“就是不告诉你”,甚至自己就“觉得”人家不会告诉,因而都不好意思去问。 2007年,我翻译了《精通正则表达式》,此后常常遇到各路朋友关于正则表达式的问题。平心而论,我也只是用过一点正则表达式,多一点经验而已,而且正则表达式,实在不是什么高深的技术。但是,我却发现不少朋友乃至技术高手所问的,往往多是这类看来比较简单的问题,只是没有遇到过,或者不熟悉而已,所以他们也“不得其门而入”。换位思考,我逐渐体会到,简单的问题,解决起来未必简单,其实是因为“术业有专攻”而已。没有人能做到面面俱到,即便是某个领域的行家,在不熟悉的领域,也难免被简单问题困住——我问他人的问题是如此,他人问我的问题,也是如此。 或许,也正是因为有这样的情境,“固守自己绝技”的做法,才体现出价值?我不知道。 可是再后来,见的再多一点,读的书再多一点,我却越来越否定“固守自己绝技”的做法了,因为无论从个人,还是从社会来说,其实都是得不偿失的。 从个人来说,长期来看,我们的脑细胞一直在不断减少,但智力却没有明显的下降,甚至会上升。这是因为,通过不断的学习和思考,脑细胞的突触会增加,脑的结构也会不断变化,知识体系的索引结构也在不断优化。所以,质量的提升取代了数量的下降(可以参考Richar Restark博士的Think Smart)。而固守自己绝招,不愿与人交流的人,大都满足于守住自己的一亩三分地,却忽略了不断的学习和思考。这样的生活,或许过得确实“不错”,无可厚非;但我相信,在另一个平行宇宙中,很可能有一个同样的人,却更善于学习新知识、思考新问题,他的生活,或许“更不错”。我想做的,是那个“更不错”的人。 从社会来说,一个社会要想运转正常,让成员生活幸福,必须是一个足够有效率的社会。分属熟悉不同领域的人,通过交流知识,节省了彼此的时间,这就是为社会的效率做出了贡献。也就是说,作为社会的一分子,我们所能利用的他人的知识越多,这些知识的质量越高,利用的难度越低,我们自己工作生活的效率就越高,他人为我们提供服务的效率也就越高。伟大的经济哲学家哈耶克早就发现,社会中除了存在劳动的分工,还存在知识的分工,社会发展、达致均衡的过程,就是把分散在个人之间的知识顺利协调起来的过程。 就我对中文技术资料的了解,哈耶克的观点真是伟大的洞见——网上的中文技术资料,细心整理的很少,“无责任转载”居多,即便有交流,许多也局限于小圈子的彼此欣赏。其直接后果,就是大家时常为了一个简单的问题费尽周折,也导致论坛里总是出现重复的问题……中文开发世界的整体水准不尽如人意,缺乏高质量的知识协作,肯定是原因之一。 故而,我时常为自己没有能迅速发现和利用其它知识,浪费了时间而惋惜,同时也为被正则表达式困扰的朋友而惋惜;基于此,就更加感激坦诚贡献自己的知识,指点、帮助我解决不熟悉领域问题的朋友。所以,我要把自己关于正则表达式的经验悉数总结出来,整理好,写成一本书。它或许比不上《精通正则表达式》,但终归是自己的知识总结,除去讲解了功能,还点出了自己学习时犯过的错误,更提供了常见开发问题的解决方案:正则表达式问题的分类和解决步骤、URL转发的规则、中英文混排文本的处理、正则表达式中使用Unicode的细节…… 其实,这也是我长久以来的梦想:我不希望看到更多的朋友同仁,为了这类已经有现成答案的问题,再浪费时间和精力,尤其是在大家生活压力都很大的今天。我可以尽力为大家写各种表达式;但我更希望这本书能成为“木牛流马”,跨越时空的距离,为更多的人送去便利。当然,其中也有一点私心——如果这本书真的能帮到大家,它也可以分担我亲自帮各位同仁解决正则表达式问题的压力;这样,我也有更多的时间,再学点新知识,再思考点新问题罢。
在很长的时间里,我都认为真正要做一点事情,只能来自日复一日的钻研,如“水滴石穿”那样,心无旁骛地持续做下去,才可能成功。可是,这样的生活必然又很枯燥乏味,许多人看来甚至不可理喻——那么,那些既能把事情做成做好,生活又充满趣味的人,他们到底是怎样生活的?除去运气,他们还有怎样神秘的力量?这些问题我想了很久,也实践、反思了很长时间,后来逐渐得到的一个结论:仅仅日复一日的钻研,苦行僧的做法,其实是不够的,更重要的因素,恐怕是自我管理。 “自我管理”听起来是个大词,细说起来,却并不难。古话说,没有规矩,不成方圆。那意思是,无论形态如何,总是要有一定的规则和模式。任何一个组织:学校、公司、单位、社会,总需要这样或那样,硬性或柔性的规则来约束,才能维系,才不会散架;但是个人的生活,往往在这方面有所缺乏,所谓“自我管理”,可以理解为,认识、培养、建立、维护自己生活的规则和模式,然后才能让自己的生活变成某种样子(恐怕没有人希望自己的生活是一盘散沙,毫无章法可言)。 以我的经验来说,“自我管理”主要包括以下三个方面: 一,自我认识。认识自己,需要培养“旁观”能力,建立看待自己的全新视角。我们都有感觉,自己有时会“莫名其妙”做一些事情。许多人把这类行为归结为“感性”,但这并不正确。许多“莫名其妙”的行为,其实是自己的理性未能充分发挥的结果。我自己就有很多经历:明明可以准备周全再动手的事情,却“稀里糊涂”就开工了,结果多费许多时间精力;再比如,犯困了就认为自己休息太少,而没有认真想过提高休息质量,增加体育锻炼,其实也可以保证精力。这类事情发生在人家身上,我们可能很容易看出是“不够理性”,但发生在自己身上,就往往找出各种理由。可是,自己的情况到底是怎样,自己其实是最有可能认识清楚的,所以,学会旁观自己,加深对自己的认识,生活就可以少走许多弯路。 而且,即便是“感性”的行为,也可能是有章可循,可以认识的。仍然拿我自己做例子:生活中,情绪会起伏,有时开心,有时失落。以前我总觉得,这些是无可避免的,“坦然面对”就好。但后来我尝试去思考,遇到什么样的事情,我会开心;遇到什么样的事情,我会失落。这些事情,到底值不值得我开心或失落?为什么有时候听了其他人几句话,自己的情绪就会大不一样,我能不能自己想到这些话,这样就不用再借人家的口说出来?必须承认,思考这样的问题确实有些困难,可是一旦你认识了自己情绪的规律,许多问题就迎刃而解了,想放松的时候可以更尽兴(不用背着包袱去开心),生活的负担也减少了很多(大可以“清醒”地装糊涂,忽略许多事情)。 二,自我克制。认识自己到一定程度之后,我们就摸清了自己生活的特点和边界。与自己期望的生活对比,就容易看出有多少重复,哪些地方要扩展,哪些地方要收敛。一般来说,扩展的难度并不大——是你真正想做的事情,总会有动力去做的;收敛的难度却大得多,许多东西,我们已经“习惯成自然”了,改变习惯,不是容易的事情;更重要的是,社会上,诱惑总在不断地冒出来;生活中,惰性总在不断地渗透出来。这时候,自我克制的重要性就体现出来了:诱惑也好,惰性也好,往往并不是我们真正期望的,必须把它们拒之门外。 而且,自我认识更深刻,自我克制的力量也就更强。比如说,长假的前几天,往往是工作和学习最松懈的时候,大家都“无心”,更多地在消磨时间。但是我仔细想想,自己正处在怎样的阶段,还有哪些事情要做(即便近期手头的事情做完了,也可以提早开工长期的、以后的计划),如果发现“无心”地消磨这些时间,自己其实并没有太多收获,反而可能需要将来多花更多时间来弥补,就更能克制自己——不仅仅是意志的力量,还有理智的力量。 三,自我提醒/监督。必须承认,我们都是固执的,习惯的养成,生活的改变,都不是一蹴而就的。有些问题,即便我们能认识清楚,也足够克制,仍然不能迅速解决,这时候就需要对自己的提醒和监督了。它们可以提供持续不断的反馈,在反复的刺激下,习惯才能养成,生活才可能改变。 自我提醒/监督的有效办法是要不断地反思、总结。我刚开始开车的时候,“自然不自然”地喜欢急加速、路口抢红灯,虽然能想明白这样并不好,也有足够的克制力,但还是有时候“无意识”地做这类事情。为了戒除这不好的习惯,我每次熄火下车,都要想想自己这一路有没有急加速,有没有抢红灯,如果有的话,一定要再三提醒自己,以后不能这么干。这样过了一段时间,我确实能够“自然”地、心平气和地开车了。再比如,我时常会给自己制定一些专业书的阅读计划,预计是每天都要看,但往往因为各种原因中间有空隙、间隔。为了避免这种情况,如果昨天坚持阅读了,我会在当天的日记里给自己一些积极的反馈,否则就要说明理由,提醒自己今天绝不能空缺。这样持续地提醒/监督下来,即便计划中有错漏,有变故,也不会影响整个局面(要补充的是,写日记确实是非常好的提醒/监督手段,这是我的亲身体会)。 看到这里,有人可能会说,即使做到上面这三方面,能够自我管理,生活不是同样枯燥乏味吗?答案却是否定的。前面说过,没有规矩,不成方圆。大多数人都希望自己的生活能变成理想的样子(即便做不到,也要接近),这样内心才更舒服,更满足。身为成年人,你基本不能指望依赖他人来约束和管控自己——即便有人愿意这么做,你也未必会舒服。这时候,自我管理的重要性才体现出来。 而且,自我管理也不等于苦行僧式的生活。有个笑话说:程序员为什么要在床边放两个杯子,一个有水,一个没有水?因为他不知道自己夜里是要喝水,还是不要喝水。从另一个侧面来看,它也说明一个道理:不管要不要喝水,至少要有个杯子。同样,生活可以很随意很闲适,也可以很充实很匆忙,无论它是什么样子,你至少要能如愿管理自己的生活——该放松的时候要能放得开,该收拢的时候要能收得拢。而这,正是自我管理的意义所在。