More servicesWindows Live
HomeHotmailSpacesOneCare
 
MSN
Sign in
 
 
Spaces home  Aimingoo's 网上空地PhotosProfileFriendsMore Tools Explore the Spaces community
July 24

啥美,细致之美……


大概是在一年多前,一个朋友在MSN上与我聊天,忽然说道:我发现你做事也太细致了,连MSN
聊天的时候,每句话后面都要打句号。我那时惊讶莫名,于是翻过去看历史,的确如此,绝大
多数情况下,我的聊天记录都是标点符号正确的。
 
与此相同的,我后来把与王昊等几个朋友关于佛学的聊天记录摘下来,除了调整一下先后顺序
之外,只字不改,便可以作Blog文章发表了。这便是所谓细心。
 
跟出版社打交道久了,便知道出版中尤其需要细致。一出点错,那就是几千册上万册的损失,
印成实体书出来了,作者或许缘于对出版社的体谅,不去细究,但在读者那里却也不是买帐的,
墨印得不好就是不好,纸用得差就是差。一分钱一分货,花了钱买了书,还得面对勘误来一页
页校,对他们实在不公。于是,有了这种心思,第一次见博文的周筠老师时,便送她了一套自
己刻的视频教学光盘,里面只讲三个话题,就是管理、细节和用人。她说她看过,我不再讲话。
 
其实,读者总是把钱交给书店之后,才拿到书的。所以不管怎样,就算是有人骂娘,钱还是赚
到的。但丢掉的就是下一本的声誉。于此,精明的商人都知道,只要不是做一锤子买卖,大家
都还注意着这个,所以面子上,大家都还喊着“质量第一”。但就如同矿井天天喊“安全至上”,
却还有人死一样,窟窿总还是有的。
 
根本的原因,不在于口号喊到多响,而在于实做的人的意识是怎样。今天写到这篇文字之前,
就看到海猫的一篇博客,是《周末杂谈:数据、现场与意义》,讲的内容大体是这样:
-------
对官方博客的维护和管理一直不甚理想,本周简单分析了1个月以官方博客的统计数据,并和
竞争对手的官方博客进行了对比,问题和不足一目了然……
-------
 
其下两段,全部讲述的是关于这个博客的数据、对比与措施。看到这篇博文之后,我恍然对博
文官方博客的一些窘境有了深刻的了解。记得在近一个月前,我曾经问海猫,为什么这个在CSDN
官方博客总是不注意排版?总是有这样那样的问题?海猫答我说是“CSDN的博客不好用,前次加
了一篇文章,光为了调版式就用了两个小时,还最终没调好”。我当时默认了——CSDN的博客难
用是事实。但我随即问了一个问题:如果版式仅仅是你们调不好,还只是技术问题,那么为什么
博客中用的图片很多死链呢?死链总是改改就好的,链不到目标图片,就把图片下载过来放在CSDN
的图片库再链接,总是可以的吧。无论如何,这不是“CSDN好不好用”可以推托的,这是个态度
问题。海猫当即称“是”。
 
于是我便开始等着,看着那篇文章里的图片到底会在何时能被改好。我安安静静地等着,看着这
事件的反馈速度。然而时至今日,我看是等不到了。也许那篇过时的博客已经无人再访,无人再
问起。但那总是这个官方博客上的一篇文章,总是官方颜面的一部分,总会被搜到看到。所以,
失去了维护确是有些不妥的。而如今我看到海猫的这篇博客,才知道,如果人们只关注这些流量
数据,天天要的是数据报表或者数值上与对手的差异,那么真正关注品质的人就会渐渐被埋没、
流失。这种风气一旦形成,也就只有字表上数字的虚实,而真实的品质就不复存在了。
 
再前一次的这种等待也与CSDN有关,这大概得是在三年前。当时,CSDN首页偶尔会出现死链,多
是程序代码导致的。也不知是哪位程序员很开心地在错误页面上写着“你看到这个页面,证明是
代码出错了……”,或类似于此的“随性之笔”。于是我找到蒋涛(或是韩磊兄,记不清了)说,
既然这是官方的商业网站,还是用一个有点水准的吧,官方态度还是要诚肯些。当时蒋涛也是诺
诺称是,但我便一直等着、等着,看着CSDN的错误一天天地出现,直到过了两年这个问题才被修
掉。那已经是CSDN拿到了融资、增加了人手、强化了管理之后的事了。
 
所以追究根底,事情的结果总是会反应做事的人的状态的。我回顾博文的官方博客,再去看看博
文的十几个(我所知道的)编辑的个人博客,每一个都比这个漂亮,排版整齐、图片没有死链,
连出个文字错误也能快快地被修改掉。个人的颜面在这时节,显得确是要紧些。然则我不知道这
个官方的,可有人去维护打理,可有人去关注提醒,我只知道结果:官网现在版面全乱掉了,而
各位看客们自己的博客,好的依旧地好着,火的也依旧地火着。
 
还是有人会跳出来说“CSDN的博客烂啊,搞不定”,笑话,图灵刘江兄的博客也在CSDN上,怎就不
乱呢?仔细看看,该排版的排版,该有图的有图,就是加粗一下字体以便作为子标题这样的细节
也没放过。所以归结到底,是人的问题,不是CSDN博客的问题——尽管这个博客烂也是事实。
 
说完这半段,再回来说CSDN。CSDN与博文两家,都是我于公于私都交情甚好的公司,所以这里批
评也就讲到实处,不怕得罪人。这个话题得从另一篇文章开始。“苹果是怎么吃到的”这篇文章发
在《程序员》2008.03期。后来 CSDN大概觉得不错,就转载在vipnews.csdn.net上了。这份转载
初看起来不错,排版、标题等等都很好。但是我自己读去,就发现一个问题:其中有一个字标题是
“有苹果吗?是苹果树吗?能吃吗?”,这三个连问其实是一个标题的,结果被折成了两行。这就
令人困惑了。后来有很多网上的转载也都使用了这个版本,而又没有加粗字体,所以前一行就变成
了标题,而第三个设问,却就成了正文,失了原意。
 
这个问题是怎么出现的呢?拿着《程序员》2008.03期这份杂志就知道,那一期的排版上,因为这
个子标题太长,被折成了两行。所以接下来就顺理成章了:网站的编辑直接COPY了杂志上的原文。
所以,看起来正确的东西,仅是换了个地方,就未必正确了。
 
另一个话题,我年初给了《程序员》两篇稿件,前后两份正好跨在我离职盛大的前后。所以我特
地给《程序员》的编辑讲,要改改个人简介,不能再用“盛大网络架构师”的身份。很好,原本后
投的稿先发在了第三期,改掉了;而先投的搞发在了第四期,却又没改。这一来,变成了我三月
份离职,四月份又成了“盛大网络架构师”了。这小小的困扰倒还真有人关注,后来有朋友问,我
不得已又解释了一番。所以呢,看起来正确的东西,仅是换了个时间,就未必正确了。
 
这还是不细心。这不细心可能不仅仅是态度问题了,还有大意的成份在里头。大意了,也就失了
荆州,这个,是有历史教训的。伟人如此、神人如此,我等俗人自也不免。前两天又读到《程序
员》最近的一期,拿到杂志便给孟老师讲开了,说“你们也太不小心了,你看看篇首的文字,引
了人家阿朱的文字,其中两段的题头居然一模一样。就算是人家写错了,也不要照搬嘛”。话讲
到这里,我也就是发发牢骚,因为我毕竟被《程序员》聘成了名誉顾问,不发发牢骚人家说我没
干活。结果呢,孟老师过了一会儿不好意思地给我回过来一个消息:这篇稿子是她审过的。
 
哎,真是是人就出错,孟老师给我的印象是极严谨细致的一个人呢。所以,粗心大意谁都会犯,
时时省身便是最佳良方。我自拿自说,总觉得自己够谨细了吧,前些日子写了一篇稿子,给一
个学文的毕业生一看,嗯,批点了十来处错误。细节究去,人家都还是对的。所以,我这厢里
是要给我的朋友们提醒,私底下还得揪着自己的耳朵骂猪头。
 
当然,这剩下的所有时间里,我就来看着,那些既有的问题可在渐而渐地改进着。我改而进,人
改而进,便是共同前行了,也不枉我敲下这百千字的文章。
June 25

纪念际强

纪念际强

——突闻海浩网于际强兄噩耗,遂匆匆作文,以此纪念。
----------------------------------------
于际强, 男,汉族,河南人,后定居新疆克拉玛依
生于1974年腊月23,1975年2月3号,
逝于2007年腊月24,2008年1月31号,遭遇车祸不幸离去.年满33岁.
生前为海浩网创办人.
----------------------------------------

在来海浩之前,我就知道际强兄,但来了海浩之后,我反而不知道了。

我可以算是个疯狂的下载者,因此我的印象中有一些与下载站相关的名字,例如最早的高春辉、华军乃至于天网,也有于际
强。至于这个名字是什么时候进入我的脑海里的,我却不得而知,他来过了、留下了、存在了,就是这样。

不知道际强兄为何许人,没打过照面,没打过交道,下了许久的软件,也没给人家一封邮件道个谢。网络就是这样,关心不
关心,关注不关注都是浮在表面。如同我关注下载,只看到那些文件链接的表面,却离背后的真实很远。

来到海浩则是因为飞扬——又是一个我没见过,甚至连性别都没能确实的网友。飞扬找我来海浩逛逛,是因为那篇《纯酒》。
而来到海浩之后,我便一直只在文学版,但连这里有几个版主大概也没记得清楚,只是这么混着。在我的视线中,海浩就是
有一个不太热火,但也绝不沉静的文学版而已。以至于我后来写了一篇检讨:
http://bbs.highot.net/viewthread.php?tid=105490

有一搭没一搭地来着这里,看着些些十天半月也不更新的文章,连登录的热情也难激发起来。偏巧我又不关心公务,凡在版
面上置顶的一概无视,所以直到今天才注意到那篇《纪念论坛创始人-于际强》。一刹那之间,才发现十年来在我心底一直还
活着一个名字,这个名字叫于际强,这个名字活着的原因,仅仅是因为背后真实的那个人,是那样的无私。

我突然强烈地想要了解这个人了,我知道高春辉去了金山,我知道华军被招安了,而我却不知道这个于际强,现在却已经不
在了人世,已经不能再实现他为人民服务的理想了——很多人现在看这个理想是多么的可笑啊,就如同“做程序员”现在已
经成为了一种可笑的理想一样。然而在一生努力践行它的逝者面前,一切置疑其可笑的人又是多么的可笑啊。我从网上搜到
的信息中,我了解到这样的一个真实的际强兄。他写道:
------
但你没当过站长怎么会知道站长的难处呢?你收到过律师信吗?给人陪笑脸当孙子借过空间吗?因为放了盗版的东西被软件
公司查到网管头上,被网管像骂儿子一样骂过吗?在四十度的高温下一天内坐车(当然钱自己出)往返900多公里维护过机
子吗(我在新疆)......
------
而这时,际强还说道:“凡事都要有个度,偶尔公布一回无所谓了……”。这一刻,我看得到际强兄的宽容。

际强之当时的境况呢?他写道:
------
虽然我是发了点牢骚,但我的FTP不还是开着的吗?!现在还准备再扩硬盘和升级CPU,当然还是掏自己的腰包了。你做得
到吗?我也不是什么大款,我只是个月薪不到千元的小打工仔而已……
------
那时是2002年,“月薪不到千元”的他还自己掏着腰包做着一个非商业的网站。这一刻,我看得到际强兄的执著。

我宽容而执著的际强兄啊,你便去了。当我知道这一噩耗的时候,已距您离开数月之久的,伤感未因时间而减,未因距离而
减,未因你的无名而减,未因我的无知而减。我之此时此刻,突地悲从中来,突起发起些些气力来,写下一段短短文字,说
说我这从未谋面的兄长,说说我们这位无私厚德的朋友。啊,远去的远去,消逝的消逝,总有一些东西留下,例如一个名字:

于际强。


一个只下载不留名的网友 周爱民(aimingoo)
2008.06.25
April 30

朋友们,我的D2之行

D2开始了,然后又结束了。很快,但留给我深刻的印象。这一届D2,我遇到了一些旧的
朋友,看到了一个新的开端。一些故事发生了,很快在消失。然而D2,很快的又会到下
一届了,我想……


一、故事的开始
==========

来到北京之后第一次上网,就从我的MSN空间里看到一条消息,是克军发来的。克军,我
并不认得,但他在消息中提到一件事:约我做第二届D2的讲师;提到一个人:Hedger Wang。

至于克军是Who,大家去看他的相册好了。满满当当的一大柜子:
http://flickr.com/photos/kejun/tags/d2

先说Hedger Wang。大概是在四年之前,或者再早一点。我大概是在做一个项目时,用到
了Hedger的一段JavaScript代码(是图遍历的),于是加了他的MSN,给他知会一下,征
求他的同意。随后我们成了朋友,我知道了他是在台湾Yahoo,而他知道了我是一个用Delphi
来做程序的开发人员。

后来Hedger就去了美国Yahoo,他去Yahoo之前我们还一直联系着,交换着旅游的照片,我
给他看西藏、内蒙,他就给我看台湾的照片,哈哈,很开心的一段时间。聊着天,讲着台
湾的选战……后来他就去了美国Yahoo。因为时差的缘故,我们能一起在MSN的时间就很少
了。而过了不久,因为一点非常意外的原因,又在MSN上认识了他哥哥。一谈起来,我们
的兴趣又有接近的地方,于是……


(有了绿叶,后面的Hedger就更夺目了~~)

然而毕竟还是不太常见Hedger了,最没想到的是Hedger会来D2做讲师,而巧合的是我也在
被邀请之列。于是,当然的,不因为别的任何原因,我也要去的。所以我回了个消息给克
军,不久便确定了我在D2上的演讲主题。


二、主题
==========

克军之所以找我,大概会与我在SD2C大会上做的《JavaScript引擎技术》有关,也或许是
出于另外一些朋友的推荐。但他没有限定我在D2上讲什么话题。而我呢,其实向来不喜欢
不停地讲同一个东西——从这一点上说,我做不了专职讲师或某某领域的布道者,所以我
的确不打算重复SD2C上的内容,或者以新书《JavaScript语言精髓与编程实践》为话题
——因为事实在SD2C上的讲演就是以这个为话题的。

既然不打算讲JavaScript开发方面的技术问题了,那么总得讲点什么。而我大概在三年前
就开始写一本名为“B端开发”的书,但后来放弃了(变成了现在这本新书)。而所谓“B端”
就是“浏览器端”,其实讲的就是前端开发,其中有很大一部分是设计思想相关的。后来,
在05年到07年我在盛大任架构师期间,参与了盛大盒子平台设计,这个过程中对用户界面
设计、功能设计、用户流程、用户体验等设计技术,以及有关将UI从应用功能中分离出来
的实现技术都有较长时间的涉及,这促使我在这次D2中将话题选在“设计与设计思想”上,
而不是某种具体、以实现方法为中心的设计技术或开发技术。

克军当然是不了解我这样选择的背景的,不过他还是支持了我的选择。尽管我认为他和Hedger
一样,对我的这个选择充满了担心。事实上,在D2第二天,Hedger就问我为什么会选设计
话题而不是技术开发呢,因为他觉得那本《JavaScript语言精髓与编程实践》上的内容就
很好,就很值得一讲。而我当时的回答,就是“不想讲重复的东西”。

当然,还是有一点私心的。我习惯自己做总结,对过去做过的事、或者历经过的思考做反
思——我想,一个人的经历是重要的,而不是这些经历的结果。而这些所谓经历的体现,
便是个人的反思了。所以这次我在D2中讲演,其实就是我的反思。


(D2开讲)


三、三本书
==========
作为一点小小的宣传,我带了三本书到现场。另外还给Hedger带了一本。因为来得比较
早,于是跟joy找了个位置坐下,不久便远远地看着Hedger来了,过去跟他打打呼的时候,
一点都不陌生,然后随便地聊天。他很惊讶我在书中讲到的用JavaScript实现Aspect,我
则告诉他不但有Aspect,还有完整的Interfaces。哈哈。

随后就是开场、讲演。我的段落控制得还不错,时间刚刚好。用了三个问题,把三本书送
了出去。三本书的签名是很有趣的。第一本签的日期是2008.03.29,是这本书发布的时间,
而且的确是当天(就是CSDN的英雄大会那天了)给china-pub签售时签的,当时自己买了
两本,留给自己的,没想到用上了。而第二册签的是D2大会的当天时间,第三册则没有签
时间。我当时解释说,我希望今后还能有机会见到大家,如果这样,我可以再把第三册的
时间签上。

事实上,这三本书也是一个“源、流、汇”的意思,不知道得到赠书的朋友可有留心这点
小小的设计。至于那个“汇”字,在古文中是与“会”通假的,也算是大家能再会于D2的
一个期愿吧。


四、源、流、汇
==========

源、流、汇其实是这次的一个非常重要的话题。但我临时地缩减了它的时间,因为这毕竟
相对更“空”一些,不太适合在一个技术为主的论坛上多讲。所谓源、流、汇,其实首先
是以内容为中心的互联网络的一个抽象。你可以看到WEB的核心就在这三个字上头,因为
事实上WEB的核心就是内容。

做源的有没有?有,例如每一次变革的这些先驱者们——在所谓WEB2.0的时代,你不认为
那些RSS、Ajax技术等等的倡导者就是“源”吗?就如同当年TCP/IP、以及URL之类的协议
被创生的时代,谁又能洞见到今天WEB的发展呢?然而,正是那些TCP/IP、URL等才是WEB
之源。

再如流与汇,实际是一个事物的常态与瞬态的关系。汇其实总是流的一部分——没有真正
的汇,它只是瞬态的。我之所以拿Yahoo来做汇的例子,便是想说Yahoo把一个瞬态的东西
做成了常态,没有变化——只能试图无限地做大,而又不能真正地“无限”,所以结果是
它的发展道路上总是有阻碍的。而这阻碍,就好象冰之于水露,石之于河泽,如果你看成
是瞬态,就解脱了;看成是常态,就僵死了。

很高兴还是有人从这个话题中看到了佛禅的味道,看到了我想说的一些东西。这,我已经
很是满足了。大家不访看看putcn的博客:
http://putcn.spaces.live.com/blog/cns!8E4E6BD4CF08FC13!994.entry

源、流、汇引导出的话题,就是WEB1.0是以内容为中心的。然而,接下来的话题是WEB2.0,
我表达的观点是:WEB 2.0是以用户为中心的,从内容粘性走从功能粘性,从广告模式走向
体验店模式。这是基本的观点,在这个观点之后展开的,就是WEB 2.0中的设计方法与关注
点。这些就是具体的技术话题了。

然而那样漫长的讲演之后,可有人想过一个问题吗?——所谓功能,难道不是内容的一种形
式吗?所谓“以用户为中心”,如果看成“以满足用户需求的功能——这样一种内容”为中
心的话,那么整个的模式不仍旧是源、流、汇的问题吗?

任何东西,简单到一定的程度时,便没人会留意到了。例如源、流、汇,原本只是水流的形
式,水无常形,势无常态,而这三个字,却概念了全部的水系。为什么呢?


(被偶然拍到的三人组,偶听讲的时候也很认真地...)


五、UC/UCC/D2,E2,C2
==========

我并不是太喜欢搬概念的一个人,我读书的时候就尤其痛恨概念。但是,在我开始思考问题
的时候,我不得不借用或创生一些概念名词。只有有了这些名词,我才能把问题陈述清楚。
我后来专门地看过思想方法的书籍,这是因为抽象思维的第一要素就是概念定义——如果没
有明确的概念与定义,那么不可能进行有效的抽象思维。

所以我不得不将我这两年多来的工作定义在UC/UCC之样的名词上。其实说穿了,所谓“玩虚
的”,就是因为那些一直在“做实”的人看不明白:那些所谓的虚,其实是做实之后的总结。
到了一个两个的名词上的时候,已经是精化了——所以也就显得虚了。

我完全不反对说“深入浅出”。然而于我自己而言,仍然在反思的阶段,仍然在“定义名词
概念并深入思考”的阶段,我又何能给大家“浅出”呢?所以我一再强调,D2上的话题,是
我的反思。但于听众而言,能理解多少,取决于经历了多少,以及反思了多少。我没有办法
把这些讲得更“浅出”,因为我的功力还不够。

那么UC/UCC/D2,E2,C2是什么呢?下面这张图就讲的是这个,看幻灯的朋友可以翻到第55页。
听说过些天现场的录像要出来,那就更好了。——我说过,我不喜欢重复讲,所以大家便去
听好了。哈哈。
图呢,在Borin的博客里有,我就不单贴了。在这里去看便是:
http://rlog.cn/234
这套幻灯比较大,我找不到地方放了,回头等D2官方发布吧。这里应该会有新消息:
http://club.cn.yahoo.com/day2

六、朋友
==========

中午吃饭的时候叫了克军,但他却坚持要跟Yahoo的同事们一起坚守战线,所以未能成行。博
文这次安排了几位编辑策划过来,她们对我讲的话题倒是很有兴趣。只可惜午饭没能约在一起
——Hedger下午还有讲演,急急地便促着要走了。

正好看到了图灵的总编刘江老师,便拖到一起,满天满地地找饭馆happy去了。与Hedger谈笑
之间,才知道台湾人民对大陆的误会有多深。因为Hedger见到一本外版书被国内翻译出版了,
出版社是“人民邮电出版社”——就是图灵的上家了,便认定是“盗版”了,说他认为出版
社不可能由“邮电”这样的机构来做,肯定是盗版者随便取的名字。

哈哈。刘江老师大大地喊冤。是啊,在台湾或许是不能。但在大陆,出版机构最早都是国企
或政府机构下的单位,象清华出版社这种挂在院校下的并不象想见的那么多的。要按照Hedger
的理解,大概机械工业、电子工业这些,也全成了盗版总源头了。哈哈哈。

所以刘江老师便跟Hedger谈开了整个中国出版业的发源与经历,什么体资改革呀之类,也不
管我们的台湾朋友听不听得懂。不过说实在的,Hedger对中国近代的、以及建国以后的历史
很感兴趣,我们谈得很广泛。相互推荐了很多的书。

下午再回会场,又见了月影。在前端开发者的会议上,要是不出现他,大概就是不正常的了。
跟他聊了聊他的书,聊了聊一些JS的东西,他便要到前排去听Hedger讲了。我在听Hedger的
内容时打了个盹,没法子,他讲的前半部分是基于PHP的RPC,我很早先便用过。而后半段,
则讲的是客户端数据(请求)缓存,以及相关问题的解决方案。这倒是很有些新意的。

在听Hedger的讲时,Nate Koechly坐在我的旁边。他总是面带笑意的,很亲切。但我的E文
实在不过关,尝试问了一下他能否用中文交流后,放弃了——我居然用中文问他的,哈哈,
他要听得懂才怪,后来想想,这个E文的问句我还讲得出来,只是不习惯,所以当时便没这
么讲。Nate给我发了一个YUI的即时贴,很有趣,他的本本上全是贴的类似东西。后来Nate
的讲演我全程听了,结合着他的幻灯,他讲的内容我大概还听得明白。简单的说,就是YUI
很好很强大。往复杂里看去,大家去找视频吧。顺便做个广告,他的讲演是当天最好的,
幻灯也做得最好。哈哈。

总的来说,吃了好几顿饭。台湾朋友的礼数总是很讲究,我请了Hedger饭饭,他便非要回请
不可,这个就不跟他争了,成人之美,也是好事。这顿饭约在周日晚上,席间有两位Yahoo
的工程师作陪,可惜他们没带名片,Hedger也没有一一介绍,所以尽管我们谈得很欢,但名
字却没有记得。哎~~~朋友嘛,一定要知名的么?

所以,名字并不重要,重要的是我们成了朋友。下一届D2,我们再会。如同我最后签名的那
本书一样,时间并不重要,重要的是我相信这个时间一定会到来的。


(我与笑呵呵的刘江老师)

March 31

再会英雄

 
因家事之扰,辞去了在盛大的工作,携妻(joy)一同来到北京。这已经是一月之前的事了,一个月来,搬家、租房、办理网络……以及我兄长在北京的一些私务事,忙得焦头烂额。现在总算安顿了下来,正这时CSDN英难会的邀请函也寄了过来。哈哈,当然得去,不过再也不是什么架构师的头衔了。
 
毕竟人在北京了,不必如去年一般经受飞机的惊骇,本以为可以欣然而往,但好事多磨:我忘了带邀请函了。于是joy只好再开着车回到租住处,这一来一回地折腾,到会场时已近10点。
 
立即被博文的海猫兄拉去:我的《JavaScript语言精髓与编程实践》也在这时做首发。有趣的是,上一本《大道至简》也正是在去年的英雄会上首发,时隔一年,正好发布一本新书。首发归首发,签售我是不敢做的(自认还不够格),不过答应了海猫做一些签名本,于是抱了一些书到旁边的会议室,偷偷摸摸地写签名。老实说,我读书时还练过五、六年字,但到现在,大概得有十来年不怎么用笔写字了,所以这书法实在烂得可以,因此,拿到签名本的兄弟不要骂我便好。
 
签完出来,来到china-pub的展售点:自己写的书,还是要弄本来看的。不过这付费成了尴尬事:博文的、互动出版的朋友不少,我这作者自己的首发书还得掏钱下单打折扣……这个这个~~ 我一心要当自己的第一顾客,余广和海猫兄在旁边抢着要把书送给我……俣哈哈,还是joy聪明:算我买的好吧,我要做老公的第一个读者。光当,这才都没得争了……

再见老朋友们,第一件事就是发名片,第二件事就是收名片。这次来了北京,换了联系方法,也换了个人身份,所以名片重印了。又是请好友colorme的设计:一点墨迹沁在宣纸上的效果,那墨迹特地被裁去了一部分,时时提醒着自己“你并没有那么多墨水”。这张名片可是得了许多朋友的好评,另一方面也讶异着我为何来了北京,于是乎又一遍一遍地解释……

如此往复大概一个来小时,我也没能进了会场。待进了会场,又发现空气闷得可以,呆了一小会儿便拖了joy出来,在外边找了沙发聊天。后来发现,这沙发选的位置真的是好呀:就在厕所旁边。各位大牛大侠大仙有能耐不吃不喝,可没有能耐不上厕所,于是乎一会儿蒋涛来了,一会儿曾总来了,一会儿某某老大又来了,不一会儿,这个休息点旁边便围上了N多人然后东拉西扯不知端的……
 
也不知是谁怎么着地说了声“饭饭”,随即人群便作鸦雀散了。午餐时间,跟钱宏武在一桌上,看着他超级无限好的胃口,我实在是觉得自己太亏欠了自己的胃肠。不过这个耳界眼界却是大开:钱宏武能侃能讲,思维又跳跃。我的基本结论是:他的大脑是集群的,而嘴大概是超线程,或独立多核……哈哈。

然后是下午场。下午场真正的重头戏是在两个论坛上,周前辈的讲话很强大很精彩很直接,刘韧的主持仍旧很赤膊很暴力很冒泡,各位嘉宾的表现之出色更是无需我多言,所以我也不多言了,有兴趣的狗狗一下官方新闻便好。我还是小众地跟大家白活一下闲天,例如joy如何做了博文的托儿,以及《编程之美》的八作者难题(注意不是八皇后问题)。

说到手上的这本《JavaScript语言精髓与编程实践》,其实也没有留下多久,就送给了在会场外碰见的徐建明。这兄弟总是要与众不同,去年送他的《大道至简》签名本上就多写了句“有趣的话”,哈哈今年当然也不例外。不过这“有趣的话”是什么,有心要追问的可以找他去看,这里我先卖个关子。

随后仍是跑去厕所外的休息处与一群人聊天,只不过现下这个群体中多了孟岩欧阳,话题便也跑得没边没沿地了……又不久,梅子和几位朋友一起过来,没想到的是51js里的月影便在其中,直到一会儿月影发了短信过来,才知道自己有眼无珠啊~~又失去了一次认识月影MM的机会,实在是差点悔得肠子都青了。于是又打电话邀了月影过来一起聊天,不过不过,至于月影是GG还是MM的问题,有涉及人家的隐私,大家自作自想或者到51js里头去翻老贴子好了,我这里只透露一点无关紧要的:月影真的很瘦很秀气,哈哈哈哈。

答应过月影要送一本《JavaScript语言精髓与编程实践》的,于是又让joy去买,这一下弄了两本来,除了赠给月影的,另一本也没留下多久。再后来又买一次,又买一次……乌拉,这joy是不是博文安排的托儿呀~~

《编程之美》的作者有八个之多,这我以前也是不知的——起码没有一一地去数过,所以听到铁锋说起来的时候,还是很惊讶。周筠老师在一边帮场,说出版社的规定是书上的署名不能超过四个,而这八名作者谁也不愿意抢了功劳,于是只得署成“《编程之美》小组”。不过这样的署名,其实很难得读者认可的。铁锋随后说,这八个人署名的问题真令人挠头……我便在旁边说,再版的时候,倒是可以把它当成面试难题:如何在封面上署名而又不让八个人存在争议呢?话音还没落呢,旁边的某某老师就说了,可以署成赵钱、孙李、周吴、郑王这样,每人名字中取一个字就可以了;然后封面上做一副图,包含着八个人的名字……

我彻底地被雷到了。因为我原本想着,要有一个排序算法或者优先权算法,然后由一套可以网络化、自维护的规则驱动着,在网上公开征集个十天半个月,最后得到一个完全客观的排名……类似于此的种种种种想法,然而最终的答案,原本可以简单得只用赵钱孙李来排排就好。哎~~然而随后我又小心眼了一下:即便是赵钱孙也有个姓氏的排名啊,这个排名又如何顺序呢?再则图形也有个方位呀,比如上下左右也是分主客的,这又如何排座次呢?——直到英雄会结束,这个问题都困扰着我,恨只恨没能拿这个问题请教下下各路神仙,没准数据库有数据库的解法,BS有BS的路数,总比眼下拿了个赵钱孙方案,心下惴惴惶惶的好。
 
玩笑归玩笑,就当我顺道儿给《编程之美》做个广告好了。再说回英雄会,其时已经是宴散了,看着各路山寨兄弟、江湖大佬、豪侠奇士们依稀散去,回顾周立功老师所讲事业之难、英雄之艰,彼等种种啊,哪又能是一个会场、几句笑谈可以讲得全的。

是时概叹吁唏:昨夜方泸闵,此时已京中。将相王侯府,笑谈作一梦。回见来时路,山峦几多重。俯仰清声处,执手是英雄啊。不过感概归感概,照例地还是拖了几个老朋友,找了个小馆子,点了些小酒菜,谈笑间不是微软就是IBM。哈哈,怕也就在这酒桌之上,还能寻回一些程序员的本色味道来罢。
 
 
又,拍的照片都被joy征用了,有兴趣的不妨去看她的blog:
December 10

楚人失之,楚人得之

这两天的MSN签名写着:失之,得之。天道。
这来自于一则寓言,
 
楚王在云梦泽打猎,不小心把自己心爱的弓丢失了。左右的侍从立刻要去寻找。楚王制止道:“楚人失之,楚人得之。不必找了。”孔子听说此事后评论说:“为什么要把‘楚人’与‘人’区别开来呢?不妨说:”人失之,人得之。’这样就符合仁义了!“老子听说了孔子的评论后说道:”为什么要把‘人’与‘天地’区别开来呢?不妨说:“失之,得之。’这样就符合天道了!”
 
我深以为然。但这两天想,如果是佛陀来评论呢?思而想之,觉得大概佛陀会只着一字,曰“之”。因为物之从属或时时改变,而其本属从未因得失而改变。得与不得,失与不失,与物无关,亦非关天道。所以,“之”就够了。
 
于是又去Google之,果然佛家对此亦有评论。明朝的莲池大师在《竹窗随笔》中评价说:楚弓楚得、人弓人得,仍“不能忘情于弓”。说的是“弓乃身外之物,本来就无所谓失,也无所谓得。但看到这一点仍然不够,因为这样仍然是‘不能忘情于我’”。
 
忘情于弓、忘情于我,正是佛家四大皆空的境界。如此而来,便是一自由自在的“之”字便足了。
July 29

理发

老实说,我不喜欢理发。与发型师没太大关系,主要是那个电推子,一动起来我牙根就痒痒,就象指甲抓玻璃的那种感受,所以总是能不理就不理。
 
有一次总算碰到一个发型师,问他能不能不用电推就纯手工剪。人家答应了,一手好剪子下来,真的好爽。中间就问到为什么手工剪发的都没了。人家说,剪子太贵,好的发型师的剪子就更贵,得上千块的。但是纯手工剪的话,废得太快,剪几次头,还不抵个剪子钱。——当时那个我呀,瀑布汗~~结果付了十块钱,走了。下次再去,那个发型师就不在了,原来是人家临时请来串场的~~~难怪水平是高。
 
这么些年了~再也没怎么遇到好发型师。当然,我也不值为那几根头发花上几十几百的~跟一把剪子较劲,不划算。再加上,现在前额的头发越来越少了,也越来越不舍得剪。趁着现在的样子还不象谢顶的,多留几天是几天吧~~哎~~~ 
July 09

能力要成体系

这两天关于我那篇“架构师的能力模型”的BLOG上的讨论终于停歇了,所有的几十个回复我都一一看过。大多数不是在第一时间看到,也差不远了。正好CSDN的blog又新添了回访的功能,于是一一回访,看了看批评我的,或者赞许我的都是些谁。
 
但是我一篇也没有回复,回访时也没给人家留个信儿。以前的或许是懒,或者是没想说的,这次却不是。这次真的是故意不回。这有原因。
 
今天要讲这个话题,一方面是因为这篇“架构师的能力模型”的blog,另一方面则是看到了另一篇名为“真的汉子”的blog。后面这个,稍后会再讲它的关系,我们这里还先说我的这篇博客所反映出来的信息。
 
我调查了一下回复者的先后,大概是越到后面,赞同的或者基本赞同的就越多;越在前面反倒是批评者众。这个顺序很重要,因为它正好反映了一种架构师能力,就是谨慎。
 
我们先来说这套“架构师的能力模型”的图。批评者要么认为这套图在求大求全,是超人模型;要么在认为这是不切实际,追求完美。其实都不是。首先大家对我所指的“架构师”要有个概念。我们很多人都有设计工作,比较做数据库设计或者具体功能的设计。这些设计中也有“架构”和“框架”的概念,例如插件架构/框架。但是,这是“架构设计”,不是“架构”;是一种技术,而不是一种能力。在我的架构师模型中,这些大概只占到“实现能力->设计能力”中的很少一部分。
 
因此先强调我说的“架构师”不是指“一个能做架构的人”。前者是把架构师当职能,后者是当工人。
那么我到底说的是怎样的“架构师”呢?comiunknown给了一个稍稍接近一点点的答案:
--------------------
1、3年的coder;
2、1年的客户沟通工作;
3、1年的team leader;
4、无限的学习、思考期,学会分析别人的系统,思考为什么这么设计的原因,如果
   让我来设计,那些地方可以改进;
5、还要有一定的天赋/灵气,能够从纷乱的客户要求中挖掘出真正的需求。
--------------------
后面两条我基本同意,事实上也言及了我给出的能力模型图中的几个分支。但前三条,却正体现了一种行业积弊:浮躁。连Peter Norvig都在说“十年学会编程”了,那么我们那些“招聘五年开发经验的Web架构师”的小广告是不是该撤了?
 
那么,我们那种两年三年开发,或者从某某学校毕业就想当架构师的想法,是不是也该放下了?
 
然而,我也得承认有绝顶高手。大家智商不一样,没准儿Peter Norvig要十年才学会编程,某些人三年两年也学得会、学得好。当然了,这个我说服不了大家。但是要清楚的是,我们在这里说“架构师”,而“开发能力和设计能力”只是架构师能力的很少一部分,即使有人比Peter Norvig(或其它更多的大牛们)更牛,那么起码也不能说自己“学会写程序”就成了架构师吧。
 
还是没解释“什么是架构师”对不?当然。我就来说说“什么是架构师”,而什么又是“做架构”。
 
做架构差不多就是画图纸。象UML这样的东西就是制图元素,基本上你能用好一些建模语言,能构画出一个房子的基本骨架来,就是“会做架构”了。这些东西在学校能学、书上能教,照猫画虎个三年两年来,没有虎的威风,也有虎的样子的。这在“能力模型”中也有,大概在“实现能力->设计能力->设计期语言”、“实现能力->模型化”以及一些其它很小的分支里头。
 
而要有虎的威风气势,这起码要看过虎,而且要有面对真虎凛然不慎的心胸。在架构设计中,这样的能力也可以先从学习中来找,这是模型中“实现能力->设计能力->了解既有系统或模型”的主要内容,在“实现能力->设计能力->设计评估”中,也有大部分内容是关于这一点的。
 
在“设计评估”里有一句“懂得欣赏的才是艺术家”,我们这里在说让你学会欣赏的“法子”,却不见得你有品评者的心胸。所以类似于“学会肯定别人的设计”这些也成了你的能力,而你应该注意到,这里的“学会肯定……”已经不单纯是技术能力的范畴了,它已经涉及到你的性格修养。
 
当然有人说“架构是一门艺术”。作为艺术性格很强的高手、专学者或者“精英”,很多人并不会肯定别人,而是拘于自我认为自己是超人。这样的人中国自古就不缺,也有善评称其“雅士”或“独特”的,其艺术作品也大多成就斐然。但是有这样品质的能力,虽然不能说不好,却一定不能拿来做架构师。
 
因为他只会“做架构”,或者说只能“做非常好的架构”。却不懂得如何“推行架构”。
 
架构真的是“好不好”的问题吗?如同我对工程的理解一样,架构的问题的根源,也并不在于它是不是完美或者漂亮,而是在于是否合用。因此,架构师必须对实施架构的团队,以及实施的过程有充分的了解,知道他们的能力缺陷,知道实现过程要消耗的资源,清楚每个环节可能的故障以及先兆。只有这样,架构师才能设计一个让这个团队能实现,而且在实现过程中能受控的架构。
 
要知道,你作为架构师被请来,不是画几张图纸交给项目经理,说:你们去做吧,做不出来是你们不会做。即使你可以身体力行,在这个团队中教大家、培养大家,那么公司的开销呢?风险呢?这些东西难道就不考虑了?项目的周期因为实现的复杂程度而无法控制时,项目就死掉了。那么,追根究底来说,是不是架构师的问题?是啊,你为什么会做了一份“不合用”的架构呢?
 
所以这一部分能力,是在要你的开发经验、团队经验以及用人识人的经验中去找的,这些大概包括在模型图的“实现能力->设计能力->了解你的主要沟通对象”和“实现能力->架构推行”中。
 
你看我们说了这么多,还只讲了几个小的分支,主要还是在“实现能力”中打转。大多数人的问题是:我们为什么要了解“决策背景”,以及类似于“谈判”、“沟通”、“风险”等等这些方面的能力呢?
 
我们说过“做架构”不同于“是架构师”。问题的关键就在于规模。如果你只是为一个几人小组而设计一个架构,那么没关系;大概你还会是实施人员,因此更是没什么问题。但是,“架构师”应该面临的是大规模项目,是百人、数百人规模的团队的实施工作。架构师身边,除了具体的实现人员,还是更多的设计师、项目经理、技术专家、老板、客户……面对这些问题,你还能说“我会做架构”就够了吗?
 
要知道,上述的每一个角色,都会对架构造成“伤害”。我在做架构实施过程中说得最多的,就是“架构伤害”这个词。因为每个角色都会对架构有疑问、有想法。对于公司、客户高层来说,即使你是最权威的专家,在没能把你的设计讲述清楚之前,他们也是不会盲目地通过项目的。因为专家拍脑袋的教训,从(包括传统行业在内的)历史上来看,真的是血淋淋的。
 
架构必须面临的是决策者的思想以及方向,你得明白他们为什么是要做一个架构,希望这个架构支撑多长时间周期的持续开发和经营。然后,你得抺平这些“高端的思想”,把它变成一个可以具体实施的方案,因为具体到开发人员来说,他们是以完成任务为目标的,而不是去憧憬那些“高端的思想”。
 
作为架构师,你要站在一个既务实也务虚的角色上,你得理解项目经理、产品经理和开发人员最切实际的实施方案,也得了解战略决策者们为将来做出的规划。重要的是,架构师这个角色,对体系的保障正是面向这些规划的——你看看,“可持续、可移植、弹性、集成性……”这些不都是对战略的阐叙么?
 
现在你会还认为那些“超人能力”是不需要的吗?你还坚持三年两年就可以成就一个架构师这样美妙的的构想吗?当然,如果你要在一个小规模团队中担任架构角色,实现一些架构的设计工作,那么固然是行的,但请将眼光放开,想一想我们一直为大型团队而烦恼的那些问题……国内的软件行业,在大型团队上来说,真的是没有多少积累和思考的。
 
我们现在来说那些很快就回复的,以及回复时对上述问题根本没有思考的人朋友,他们犯下的,不正是这幅模型图最上面的那个分支中表现出来的问题吗?在“学会交谈”中就清清楚楚地写着“学会听”和“不要急于表达,以及肯否”。在这个例子中,真正的问题是:急于表达可能是个性问题;而急于肯否,则关乎于性格修养了。面临一件事物时,过早的肯否,其实是使你失去了更深地了解它的机会。
 
我们现在看到的这幅“架构师能力模型”,其实表达了个人能力、性格与心理素质的一种组合,这绝不是单独某个方面的提高或者补强。作为一个“工作型角色”(例如开发人员)来说,大要在技术方面擅长就很好了,专精更是不错。这也是我们技术角色的一贯思维。但对于“职能型角色”(例如一定管理职务或者管理链条上的中间环节)来说,“能力要成体系”就是重中之重了。
 
所以这又变成一个角色问题了。我们要从工作型角色变成职能型角色(例如做技术变成做管理),那么根本之处,便在于从专精能力变成有体系的能力培养。这就是我开始提到那篇“真的汉子”的博客文章的原因。周筠老师在讲她的这篇博客时说,她的一些编辑在面对MSRA的这位作者时,表现很紧张、很怯,基本上已经到了“不敢接微软那位‘汉子’的话”的地步。我听到这个故事的第一反应,是说:
--------------------
Aimingoo said (0:36:04):
这与胆量没多大关系。
 
Aimingoo said (0:37:32):
1、承认错误 2、据理力争
就这两条,就可以跟这个人打好交道了。
 
 
但细想下去,我又接着说:
--------------------
Aimingoo said (0:38:26):
随便说,第三条是“有礼有节”。这看起来是外交辞令。但是真的很有用。因为据理力争是必要的,但把握不好尺度,事就会砸。
而对于很多人,这三条是一条一条过来的。
 
imingoo said (0:40:43):
先是做不好承认错误,什么事都认为自己对;接下来做不到据理力争,是性格软弱的一面;
最后是不懂礼节,是缺乏教育的一面。
这三件做好,就算业务能力上有欠缺,也是人才了。
:)
 
然而我们看到,这里提及的三条,却正是技术人员,以及我们前面讲到的那种“艺术性格很强的高手”通常的问题。换在这样的故事里,就是技术再强再好,也不会跟这位先生打好交道。所以,这真的是要当成“个人能力体系的不足”来看,而不能单纯地“练练胆量”就可以了。
 
在我们讲“架构师能力模型”这个话题时,很多人认为这个模型求大求全,然而正是他们应该“太大太全”的那一部分能力是他们所缺的;很多人认为这是超人模型,然而这正表现了他们对“架构师”这个角色(而非“做架构”的能力)的盲目。同样,面对周筠老师所说的这位“汉子”,那些露怯者是不是“有一部分能力缺失”,或者对自己所处的“职能”(而非技术或职业)角色有些盲目了呢?
 
所以能力的体系问题,爱立信的这个模型是对的。随便说,这个三角模型将“个人内在素质”放在最中间,而这正好是我在“架构师能力模型”图中基本不讲的,这个问题便留给大家去思考好了。正所谓省是自省,得是自得,做人便要越活越浅,知已不足方能厚补,从而显得有力。而“做架构师”以及“做好职能角色”这两件事,合在一起便是一个自省自得,自我修养的功夫。放在表皮来看,用我常说的话来讲,就是“能力要成体系”了。
 
 
===============
我的其它相关文章:
May 17

《大道至简》的幕后故事:终结篇、勘误和PDF下载

《大道至简》的幕后故事共写了七节,其中的前五节都已经用BLOG的形式公开在CSDN上了。这里一次性的将全部的章节放出来,并做成了PDF文件。敬请下载。;)

《大道至简》幕后故事的全文PDF下载地址:

http://groups.google.com/group/qomo/

下载文件:
behind_the_curtain.part1.rar
behind_the_curtain.part2.rar

 
新加的两节是:
---------
幕后故事(6):“愚公移山记”历史文化篇 
幕后故事(7):“愚公移山记”撰修杂事篇

此外,在这个PDF版的文件中,还添加了前后两版的“愚公移山记”作为附录,大家可以对照着看(因为撰修杂事篇》中讲到了很多未修改前版本的内容)。

PDF中也将《大道至简》一书中的“再版前言”公开了,这主要是因为里面提及到了第二版新增了哪些内容,以及这些内容的安排与组织。这对第一版的读者来说,是一个不错的参考。我当然希望大家能够购买第二版来阅读。——这除了是不让出版社亏本的广告词之外,也是我个人希望更多人了解到我的一些新思,以及文字上的增改。

《大道至简》添加的两章三节的目录,可以从china-pub的目录中看到,为了方便大家对照,这里也公开一下。

----------------------------------
第6章. 谁是解结的人
1. 是谁的问题
2. 正视你的成功
3. 总得先做点儿什么吧
4. 你不是团队的腿
5. 三鼓而竭
6. 先人后已
7. 自相矛盾
 
第8章. 你看得到工具的本质吗
1. 利器何以为先
2. 神乎其技又有什么用呢
3. 工具的本质
4. 惟手熟尔
5. 鲁班带了个坏头
6. 工匠思想
7. 化而用之,融通与融同
8. 南橘北枳
 
第4章 流于形式的沟通
3. 沟通的三层障碍
 
第9章 现实中的软件工程
5. 审视AP和XP
 
第10章 是思考还是思想
7. 细解“法”与“式”
----------------------------------

最后,由于部分读者可能不愿意阅读这些“乱七八糟”的东西。那么,我想至少一份《大道至简》的勘误是对读者有益的。因此,我将这份勘误抄在下面,如有其它错误,请与我联系,并致谢意。

    《大道至简:软件工程实践者的思想》勘误表

位置
错误
正确
封底
内容简介与版权页中的不一致。
按“版权页”所载。
文前页(xxi)
标题处的英文错误。
Engineering Hierarchy Model
正文P46
以口头的形式回复了这封E-email
以口头的形式回复了这封E-mail
正文P79
楚人有卖盾和矛的人
楚国有卖盾和矛的人
正文P115
每种解决方案都会来新的问题
每种解决方案都会带来新的问题
正文P155
本页第一行是多余出来的。
 
正文P156
本页最末少了一行。
添加如下行:
未能出乎于端木长的智谋机变。
正文P157
也不是经商时那样地迷乱于钱帛的虚妄
也不似经商时那样地迷乱于钱帛的虚妄
正文P162
列子仰而叹曰
列子仰首而叹曰
正文P162
后虢灭魏,晋伐虢灭虞之事
后晋灭魏、伐虢灭虞之事
(
注:白话文需相应更改)
漫画P36
北野
广野
May 01

《大道至简》的幕后故事(5):“愚公移山记”军事谋略篇

引子
==========
 

上一节写的地理,这一节只讲策略。我自己读时,时时觉得《大道至简》一书写到末了,未见得有一篇古文精彩,只是这篇古文,愿细读的人并不太多罢了。
这篇军事谋略,与工程全然无关。你可以把它当作做人、做事或者做事业的参考,对于做工程,却没有什么意义。
顺便说,我没有读完过“三十六计”,我自己也不并是什么高明之士。所以,这些策略高妙与否,并不重要,也无佐证。读的人自作自想去便好了。
 
  
1. 端木长出山第一策:藏器待时
========== 
 京城宜见晋王把公输同关了起来,要问死罪,急急地跑回来求计于端木长。一方面,他说公输同获罪,是当年两家的老爷子没有阻拦工程实施而犯下的错。这被端木长一顿批驳,说先辈人这样决策,以及今天公输同判有罪,都是世局变化的缘故,因此不要妄议先人的得失。况且,端木一家早就把钱财分散了,而这个目的,正是为了今日能用上它。
京城宜一听当然高兴了,但还是没明白其中的端倪——当日藏钱与今日用钱,以及搭救公输同有什么关系呢?
  
端木氏藏钱之时,是为了避祸。谁都知道端木一家是靠着愚公挖山起的家,而且也是愚公家族的支持者。话说树大招风,等到愚公一家有祸时,端木一族必然大受牵连。追根求底地查起来,要挖路的、要扩建的,还都是端木氏的肇因,同愚公一样定个死罪,也不为过。但反过来,如果端木一家无钱无权无势,等到公输同都封了大官了,端木家却只留下了吃饭的家底儿,估计也就没人来找事了。因此端木氏将钱财分散到各地,从而“富而不显”,是为避祸。明知大祸将至,明哲而保身,谋定而后动,至少算个聪明人。
  
而接下来,端木长又说藏这钱是为了今天来救公输一家,这救又是什么救法呢?是晋王下令要杀,你送上金银人家也不稀罕,说不定还招来罪祸。因此钱尽管是要用在救公输同身上的,却不是行贿受贿这样简单。固而这时端木长开始在冀、鲁、燕、齐这些藏钱的地方奔走,但却没有人知道他在干什么。
端木长还在等待一个时机。什么时机呢,也就是“(晋)王三伐广野,未果”——晋王数次发兵去征讨广野,却搞不定,这才是端木长要的机会。这个机会有什么特点呢?首先这时晋王的锐气受挫,急需解决广野的问题,因此听得进良言;再则数伐广野,军需财力都噬待补充。这种情况下,端木长赠金资军,才有价值,也才最为有利。
  
即使如此,端木长也不能送去十车黄金、三军之甲,然后就说:“晋王,你放了公输同罢。你若不放,我这些东西就不送了。”换作商业经济的社会,或许还行得通。但放在那个时代,这种逼宫的事,是做不得的。果然,当端木长献上黄金、甲胄,紧接着说“公输一家不是存心通敌,希望能宽恕他”的时候,晋王只消一句“你就不怕我也责你通敌吗”,就几乎将端木长陷入死局。
这时,我们才看到端木长藏金的真实价值。端木长说:“如果我通敌,那么我又何必来资助晋国的军队呢?”这一步最取巧的地方在于:现在晋国打了败仗,我还来资助晋国,那无论如何也不能说我是在通敌呀。——退一步来讲,如果端木长在晋国打败仗之前就拿出来些东西来,就未见得有这个效果了。
这才是端木长“藏器待时”的真实目的。这个目的就是在这种局面下先求保身。因为如果不能先洗脱自己的“通敌”之疑,那么还未能使公输同免罪,自己便要先被砍头了。所以端木家的黄金,其实并不是直接用来救公输同,而是先用来正言正身的。
果然,晋王神情稍见缓和(意稍懈)。
  
 
2. 端木长出山第二策:授人台阶
========== 
三十六计里都是制胜之策,或是败中求胜,或是取势求胜,但是没有一个法子让别人占得便宜自己又不吃亏。
这看来起是兵家之忌。因为打仗嘛,总是趋利的,哪能便宜了别人。但如果你让端木长用三十六计的法子跟晋王干仗(如果那会儿有这三十六计的话),最终掉了脑袋的一定是端木长。因为晋王就是晋王,跟晋王谋利,可以称勇,但未见得是智。
  
我们看看端木长“正言正身”后又是怎么干的。他先用了“自相矛盾”这个故事,来说明两个事物之间的冲突,并不是事物本身导致的,而是出自参与者的主观判断或假设。因为矛、盾自已并不相攻,是你自己要让他们相互击打,这才成了解不开的问题。端木长据此推论出“广野者,取道而伐,据关而守,若守若攻,唯在王尔”。也就是说,广野挖开了,也可以是有利(于晋国讨伐别国)的。但这个有利与无利,全在于晋王对这件事的判定或者假设。
接着,端木长又设下了一个陷井。他说:大王今天因为他而烦恼,明天则可能因为他而欢喜。那么如果你今天杀了公输同,今后又怎么来奖赏他呢?换而言之,如果你以自已的喜忧来论赏罚,那就不是一个好的君王了。
这个陷井有两个目的。一方面看晋王如何解决这个反诘,另一方面则给晋王留下了一个台阶。这个台阶是:如果你放了公输同,反倒会是一个不以喜忧论赏罚的明君。
显然,这种局面下晋王放了公输同也是可以的。但是,晋王显然不是那么好糊弄的。因为他其实也发现了端木长的论辩中的问题:如果不以当下之事来论得失,那么就无所谓得失了;如果不以当下之事来论赏罚,那就没法论赏罚了。——很显然,看起来是塞翁失马焉知非福,但如果这样治国,那么杀人者也可以无罪:安知被杀者明日是否犯下更大的罪恶?
所以晋王就只问了一句:不审察于此时此事,那么刑法又有什么用呢?又或者此时没有战争,那么甲胄的作用就不存在了吗?
显然,晋王并不想顺着端木长给他的那个“不以喜忧论赏罚的明君”的台阶下来。因为顺着那个台阶下来,他反倒是做了一个被人忽悠的傻子。晋王抬出法典,意在说法典便用来治“此时之罪”,便如同甲胄用来防“它时之敌”一样,不因为时效而度有无。
  
端木长这时说出来的话,便有些讨价还价的意思了。他说:那是你不会用,要不然让我来试试,如果我不拿甲胄就搞定敌人,那你也能不拿法典来治公输同的罪吗?——哈哈,话的意思是这样子,但端木长说话却是客气得多了。他说“惟在用法而已”,便先设了一个台阶,就象是说,法典是人制的,也是人用的,用得不同便效用不同。
这个台阶看起来好象没有开始那个台阶漂亮。但这也是一个台阶,它的第一重要之处在于,这时正好需要这个台阶:晋王急需解决广野的战争问题。第二重要之处,则在于这个台阶出现的位置,是在一个论辩的后面。就如同说我们在讨论问题,你总要给我证明自己的论点的机会吧。这便成了晋王给端木长的一个机会。原本是端木长跟晋王讨价还价的事,换了一个场景,便可以看着晋王有胸襟气度,让端木长来证实他的观点。
所以事实上这个台阶比刚才那个台阶更高明。第一个台阶是给傻子的,第二个台阶则是给聪明人的;第一个台阶是给那个见眼前之利的,第二个台阶则是给谋治国之术的。
  
晋王是聪明人,杀个公输同有什么用呢?解决晋南的问题才是关键。公输同有可杀之罪,也有不杀之理,何况端木长不但给了“不杀之理”,还给了“不杀之利”。
于是,“王诺”。
  
 
3. 端木长出山第三策:借势谋子
========== 
我们刚才说的“授人台阶”,是造势之策,用在二者取利的场景里。但接下来端木长的问题是他还是一介草民,人轻言微,做事时必有所碍。而且,他要做的事是不以兵戎而弥战端,这个事用鼻子想也能想出来:是游说。但人家一国之君,三军之帅,岂能随便由你游说去了?
这话其实也不全对,因为那时也有一介草民跑去自荐,而后被委以重任的。但这取决于你要做的是什么事,端木长在这里要做的事(具体的事下一小节再讲),就需要一个合适的政治身份。
  
端木长这次不再象前面准备黄金、甲胄那样秘密行事(无人知其事),他直接向晋王陈述说:“你在曲沃定都,是要镇守西边,而广野却象犄角一样远在东边。但你去东边讨伐广野,西边的虞、魏这些国家又来骚扰你,这是你不能取胜的根源。”这一番话一针见血,很见军事根基,我们前面花了一大堆文字来讲军事地理,其中一半便是为了说清楚这句话。简单的说,就是“左顾右盼”,所以打不胜。端木长这番推论的目的,是要推出一个结果:打不胜就先不要打。只有这个条件先成立了,他后面的“游说”才行得通。
晋王果然认可。接下来端木长的计谋,便是说在邘国的更东边有雍国,“与其交好,以共谋邘”,那么晋国就安全了。这里的关键,并不在于这个计策本身有多好,因为其实没有谁能一下子就听晋国的话,一起去打邘国,所以“游说得成不成”还很不好说。但“游说”则是必然的。
游说之势一旦形成,端木长可以顺理成章地拿到一个身份:使臣。在这一策上,端木长所谋的,未必是某个计谋得到晋王的许可,而是形成游说的形势,并合理的出使雍国。因为使臣是国与国交往的代表,使臣出面是代国而言事,这是至关重要的。
  
端木长借势谋子,所谋的不过是“使臣”的这个身份。那么这个身份又有什么用呢?
  
  
4. 端木长出山第四策:无中生有
========== 
而现在,端木长已经得到晋王的信任,他必然要找出个法子,来解决晋南的问题,否则是说破天也没用的。他面对的局面,是各各争利的战争;他能用的办法,不过是游说而已。
端木长游说雍国,看起来有点象政治上的“远交近攻”(也是三十六计之一),但事实上略有区别。因为端木长的主要目的,在于“衡势”。他并不打算交好于晋南,也不打算征讨晋南,他的目标只是使晋南的力量相对平衡,互相牵制或者消解,不来攻打晋国就好了。
  
端木长使雍去了,他代表是晋王的意思,他向雍王进言说:“跟我们一跟打邘国去吧,邘国好呀,有粮食有土地。”但雍王会答应吗?
其实雍王答应与不答应并没有关系,因为端木长真正要做的是“令京城宜往邘”。京城宜去邘国看来就没有用什么身份,因为这里说的是“往邘”而不是“使邘”。京城宜跑去跟邘王说:我从东边来啊,我看见雍国的人都热情高涨,等着你们跟晋国打仗,你们打疲了,雍国就好乘机来攻打邘国了。
注意这里京城宜没有什么身份,因此他就是一介草民。他不过是从东边(的雍国)路过,看到了这么一些现象,为邘国感到担忧,跑来通风报信来了——这看起来很合情合理。如果京城宜从晋国来,那么邘王就不免猜疑了。当然,即使如此,邘王也不会就信了这个草民的话。因此还是要打探的。果然,“未几,刺得晋人果欲助雍伐邘”。这里的“刺”,就是刺探。
所以,端木长出使雍国,要的并不是雍王答应攻打邘国;京城宜去报信,也不要让邘王真的相信。但是当邘王真的打探到一个晋的使臣已经在跟雍王谈联盟的事时,京城宜的假消息也就有了真的成份,而一旦邘王认为雍国要助晋国了,那么雍国也就非攻打邘国不可了。
  
端木长无中生有,促成了邘雍之隙。从此雍邘互制,瓦解了广野之盟的中坚力量。但是,原、苏等国还在一侧,他们还需要一个撤兵的理由。况且他们不撤兵,安知邘国会不会利用联盟的优势,先灭了雍,再举伐晋?
  
 
5. 端木长出山第五策:狐假虎威
========== 
端木长接下来要解决原、苏这些小国。他所倚仗的,却首先是地理条件。
我们前面讲地理的时候,已经把原、苏、单等国标在上面了。大家会发现这几个小国家都不远,事实上他们也都不大。但在它们更往南的地方,有一个重要地方,就是洛阳——图上只标了“孟津”,洛阳在其,相距仅13公里,比孟县到沁阳的距离还短2/3。
洛阳是当时周朝的东都,是用来安定东方地区的王城。原、苏、单这些小国其实都是东都王城的“畿内封国”,也就是王城所属领地内的封地。当王城有危险时,他们是要保护王城安定的。因此原、单这些地方,其实都封给了与周王朝为亲近的家族或王室——苏国却并不是王室内亲,而是降国,在原地上向天子称臣的。
这其中最至近的,就是这个单国。单国的封王是姬姓,也就是周朝天子的亲族,在数百年间、二十余世为官。在许多事务上,周天子也要听单公的劝谏。因此,单公之重任,便在于安定像苏国这些小国,以及镇守东都。所以“愚公移山记”中才说“(单)公辅天子以定王畿”,说他是安定王城的,这与史实相符。
  
显然,以单公的职责来讲,他是不希望王城周围打仗。因为打来打去,总会有一家坐大,有一家坐大就会危及王城。王城周边,最好就是些小国家,随时可奉天子令调遗。如果换成了象晋这样的大国,那么随时就有兵发王城,挟天子令诸候这样的事发生。
所以端木长出使单国,就说了一句“若晋兵决意向南,则必贻天子忧”。单公立即就明白了其中的意思。晋国不想往南方打仗,打胜了天子要怀疑;打败了自己又吃亏。所以端木长就说:广野的战局已经危害了晋国的利益了,我们如果真要打,到时候单公也没法子交待的。
单公既是重臣,既是留在这里守家园故土的,那么自然能得了天子之助。周天子令出,原、苏这些小国便也不敢在王城里征战不休了。
  
单之小国,兵不足以征,将不足以守。端木长出使单国,用的是王城安危的名义,要的是单公与周天子的关系。单公假天子之威,所以原、苏从此不敢再盟,也不敢再伐。广野的局势,就再无忧扰了。
  
  
6. 端木长出山第六策:以饵啖之
========== 
果然,广野安定下来。晋王大喜,便要赐端木长的官了。按理说,端木长解了广野之危,愚公的事情也就算有了着落,不必要费心了。
但端木长却说:“虞国和魏国的危险还在旁边,所以说现在不过是苟安一时罢了。”这里面还有一层问题:如果虞、魏主动来打晋国,又怎么能保证原、苏这些国家不借机在广野分一杯羹呢?今日有天子之威撑着,哪天局势乱了,晋南既不还是麻烦?所以端木长看得还是长远:晋南要安定,不能偏安一侧,而要解了“左顾右盼”的劣势才成。
  
当晋王再次求计时,端木长说了一句经典的话:“邘王性疑,予故制之以诡。而虞王短视,犹待以饵啖之。”这其实就象今天的心理分析一样,端木长一言道出了前面“无中生有”计诈邘王的本实:如果邘王不疑,那么那个计策就不会有什么效果。同时,他也道出了虞王的弱点:短视。他的策略是“对短视者,就用眼前之利来蒙蔽他”。
接下来端木长“潜使”京城宜去虞国。潜使的意思,就是暗中派京城宜去。这样一来,京城宜有受命,却没有身份。没身份有没身份的好处:京城宜反而变成了虞国请出的说客,要来游说晋王了。
这是怎么做到的呢?
  
京城宜先给虞王说:打晋国,对虞国来说是无利可图的。因为大家都要抢的地方,就难于长久占领。要想长久占领,就得有足够充沛的兵力。然而“虞无一师之兵”,也就是连几千人的军队都没有,可见虞国之弱小。这一点点兵力,打胜了的时候,守不住;打败了的时候,又抵挡不住晋的反攻。因此,战争对虞国来说,是不利的。
这里京城宜就利用到了虞王的短视。简单的说:虞国现在兵少将寡,但如果在战争中争取利益,扩大地盘,那还是有机会由小渐大的。虞王短视,也就没有这种开疆拓土的雄心,所以不这样想,也是自然。
接下来,京城宜又说:“你现在帮魏国打晋国,其实是拿钱去资助敌人,让他来打自己。”接来下,京城宜又解释到:“晋国在虞的北面,于南而言,虞就象晋的脚一样重要;虞国在魏的北面,于北而言,虞就象魏的咽喉一样危险。”这个解释利用了中国地理条件中的“北高南低”的特点,因此当国家处于北面的位置时,是宜于南下攻伐的。所以呢,当晋国要攻打魏国时,虞就是要塞;当魏国要打晋国时,虞就是险关。