在Blog上面集成Facebook Connect

刚刚把Facebook Connect在我的中文英文的blog上面实施了一下。这样子,如果你有Facebook的账号,你就可以直接点那个Facebook的按钮,你的Facebook的信息,就自动填在评论的表单里面,你的评论旁边就有了你在Facebook的头像,而且接下来,我还可以让在这里的评论自动发表在Facebook里面,可以让别人看到。

做这些事情还是需要一点简单的JavaScript的编程。我有两个惊讶的事情:第一,Facebook的编程模型的确诡异,几乎所有的函数调用都接受一个回调函数作为最后一个参数,函数执行不是以返回结束,而是通过调用回调函数结束,这样就出现了迷宫一样的一个函数潜逃一个函数的状况,以及结束时候多达10个的右花括号或者右括号。第二,Facebook如何在一个Blog站点上面集成这样一个通用的应用,居然在他们的网站上面没有例子。如下的几行代码,倒还真是让我花费了一段时间,直搞得我眼花缭乱,耗时2个小时才搞定。所以想我应该把过程记录下来,以便其他blogger可以借用,同时也显摆一下,说明Hello World级别的编程,我还是可以的。

步骤

假设你有一个blog,无论是MovableType架的,还是WordPress,或者自己写的,只要你有一个留评论的表单,应该都可以使用这个办法。这是一个纯JavaScript的应用,不需要服务器端的编程。

  1. 看看这篇文章《尝试Facebook Connect(英文). 按照里面的第一步 (包含8个小步骤),和第二步,注册一个新的API密钥,然后设置一下你的回调文件所在的文件夹。我设的是:http://home.wangjianshuo.com/scripts/facebook folder。这个里面放着Facebook给的xd_receiver.htm文件。按道理我应该复述一下步骤的,不过复述步骤是在99年的时候做微软的支持工程师的几年做腻了的事情,不想再做了。大家移步到那里去看吧。
  2. 进入你的编辑器,来编辑模板。MovableType中要改的是“Invidivial Arcihve Page”,其他的工具应该也有类似的名字。
  3. 把HTML的根tag html从

    <html xmlns=”http://www.w3.org/1999/xhtml”>

    改成

    <html xmlns=”http://www.w3.org/1999/xhtml” xmlns:fb=”http://www.facebook.com/2008/fbml”>

    。注意,就是添加一个fb的命名空间。这个可的确是不容易理解。不理解也罢。

  4. 找到输入名字,邮件和URL的地方(通常是一些input),把下面的代码粘贴进去。这个主要是一些格式上的东西,让你的那个Facebook的按钮在输入框的右边。我最终还是觉得用table来布局远比用CSS float等方式要来的直接和不容易出错。这段代码里面真正重要的,只有Facebook登陆按钮那一段,我用红色粗体表示。

    <table width=”80%” cellpadding=”0″ cellspacing=”0″>
    <tr><td valign=”top” id=”authorInfo”>

    Name: <br />
    <input name=”author” /><br />
    Email Address: (will not show)<br />
    <input name=”email” /><br />
    <input name=”url” /><br />
    </td><td width=”50%” align=”right” valign=”top” style=”border-left:1px solid #336699″>
    You can optionally sign in<br/> with your Facebook account.<br/>
    <fb:login-button autologoutlink=”true” length=”long”></fb:login-button>
    </td></tr></table>

  5. 把下面的一段贴在整个表单的后面,主要把apiKey,和xdPath替换成你自己的。我假设你的表单叫做comments_form,你的应该叫其他的名字。


    <script src=”http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php” type=”text/javascript”></script>
    <script type=”text/javascript”>
          var apiKey = “655b6e2e042a5426d8f0b13dca4708fa”;
    var xdPath = “/scripts/facebook/xd_receiver.htm”;
          FB.init(apiKey, xdPath);
          FB_RequireFeatures([“Connect”, “Api”], function() {
                      FB.Facebook.init(“655b6e2e042a5426d8f0b13dca4708fa”, xdPath);
                      FB.Facebook.get_sessionState().waitUntilReady(function(){
                                  FB.Facebook.apiClient.users_getInfo(new Array(FB.Facebook.apiClient.get_session().uid), [“name”,”proxied_email”, “profile_url”, “pic_small”], function(result, ex) {
                                              if(result.length > 0) {
                                                    document.comments_form.author.value = result[0].name;
                                                    document.comments_form.email.value = result[0].proxied_email;
                                                    document.comments_form.url.value = result[0].profile_url;
                                                    document.comments_form.author.readOnly = “readOnly”;
                                                    document.comments_form.email.readOnly = “readOnly”;
                                                    document.comments_form.url.readOnly = “readOnly”;
                                                    var authorInfo = document.getElementById(“authorInfo”);
                                                    var img = document.createElement(“img”);
                                                    img.src = result[0].pic_small;
                                                    var td = document.createElement(“td”);
                                                    td.appendChild(img);
                                                    authorInfo.parentNode.insertBefore(td, authorInfo);
                                              }                                    
                                        }
                                  );
                            }
                      );
                }
          );
    </script>

  6. 保存并且重新build一下你的文件

如果幸运的话,你看到的应该和我的这个blog的样子一样。不过。。。因为Facebook的异步和跨域通讯特征,我觉得一次调试成功的几率不大,尤其是根据这份极为简略的攻略来做。

如果有任何问题,可以留言。

不同的行业

看起来一模一样的东西,一不小心本质上分到了不同的行业。

我看,YouTube是在视频分享行业,而国内很多的视频网站其实是在VOD行业(Video on Demand)。视频分享都是用户创造的小视频,盈利是靠广告的;VOD行业传统上是在互联网上面看连续剧,按照每集几块钱付钱的。不适用P2P技术的免费的VOD,很难用广告去填VOD的大窟窿。

分类搜索挺热门的,但是放眼全球的地理范围,过去10年的历史范围,只见到非常盈利的分类网站,却还不见分类搜索的巨头。恕我眼拙,可能还需要等一些时间吧。

现实中比分类搜索更大,更被认可的有一个行业,叫做比较购物,我倒宁可把分类搜索纳入比较购物这个还大一点的行业里面去。比较购物里面又有几个比较大的小行业,一是机票搜索,酒店搜索等旅游搜索行业,一是购物搜索,还有就是分类搜索等相对小一点的小行业。

我觉得比较购物行业要想发达,必须有两个前提:第一:买家习惯于在互联网上购买某种商品,就是说市场要大;第二:像Google Adsense,DoubleClick等等的CPC,CPA网络的成熟。

对于机票,第一个前提成立;第二个前提,因为中国只有大概十几家航空公司,一个一个去谈,自己也还能凭空建立起来,所以机票搜索还是有相对容易起步的。酒店?第一个前提还在形成中,但未来不错。

对于购物搜索,全球比较大的就是shopping.com。在我仔细研究了shopping的模式以后,觉得它不该叫比较购物引擎,叫Google AdSense搜索引擎可能更加贴切一点。因为shopping.com的模式,远非我以前理解的,像是雷锋一些样,帮助用户搜到最便宜的好东西。其实,绝大多数的结果点击或者之后购买以后,商家都会和shopping分成。可以说,shopping.com上面,不从中赚钱的链接是不多的。不过千万不要觉得这个不好,就好像机票搜索很少有航空公司不付渠道费用一样,在我说的第二个前提成立的时候的在线购物,就是这个样子的。而最便宜的东西,的确就在shopping能够找到的这些愿意分成的商家哪里,用户和商家双赢。

对于分类搜索,如果分类网站赚到钱,分类搜索就一定能赚到钱。

后注:最近看到哪吒推出的广告平台,觉得比较好玩,在哪吒上投放2周的我的博客的广告,试试看这个广告的效果会怎么样。谢谢Jim支持!

YouTube成功的秘诀

那天在Sand Hills路上的星巴克,有幸和YouTube的投资者Roalef聊了一个小时的天。除了一些相互介绍和互相展示家庭成员的照片之外,我问了一个每个人一定会问的问题:

YouTube成功的秘诀是什么

他的回答还是给我启发挺大的,摘录如下:

简单

他是用iPhone的,他指着这个手机说,为什么这家公司那么成功?整个iPhone就只有四个按钮。有很多手机都可以做到比它复杂。。。简单是互联网上最重要的法则。

拷贝95%还不是原来的东西

很多人拷贝YouTube,但是都只拷贝了一部分。一个网站就像一幅画或者一段音乐。95%的部分是好的,还有5%不好远不是一个好的作品,就像听音乐,如果100个音符里面错了一个,听起来就很不舒服。这里面就是对细节的关注。

举几个YouTube的细节

自动播放

“其实这是个简单的不能再简单的功能。用户收到一个链接,点击,打开浏览器,这里面的视频应该是自动播放,而不是需要用户再点一下。”

老实说这是个让我非常吃惊的地方。“就这么简单?”Roelof说,就这么简单,这一点点,让YouTube容易了很多。

分享的链接

还有一个就是在每个视频旁边都有一个让用户可以粘贴到MSN或者网页里面的代码。其实这个URL在浏览器的上面也有,用户可以把鼠标挪上去,但是把这个链接放在视频的右侧,就那么近,那么容易看到,容易明白,容易拷贝,就也一个很重要的功能。

“啊?就这么简单?”Roelof说:“是呀,就是这么简单”

短URL

YouTube的视频的URL很短,像http://www.youtube.com/watch?v=Lcfx7v-z-JE这样就是确保在IM或者邮件里面,不会折行,从而影响打开。

任何东西都有原因

Roelof还说了很多这样让人听起来好像简单得不能再简单的“秘密”。听完以后,我特别想说一句话,任何的成功都有原因在后面。

Roelof表示同意,他说,“我最不认同的一句话就是YouTube成功仅仅因为幸运。不错,YouTube非常幸运,但不仅仅是幸运”。 我也同意。

规则里面的那条线

定规则容易,定大家一听就听得明白,没有歧义的规则不容易。定规则的时候,怎么把那一条线清晰的画出来,是一个要不断的摸索的过程,反复尝试的过程。

电子设备

飞机起飞前乘务员总要宣布,关闭一切电子设备。

但是什么是电子设备?我的石英表算不算?我的助听器算不算?还有很多算不清楚的东西,不知道是不是该关闭呢?

不过一次在美联航的飞机上面,听到一个乘务员说,

如果您有任何带有开和关的按钮的设备,请把它放置在关的位置。

这显然不是最严肃的定义方法,但至少对于每天的上百名乘客,这位乘务员一定试过各种说法,觉得这种说法最省事,乘客的问题最少。

食品药品

还有一个也和旅行相关。进入美国海关的时候边防检疫人员一直说

所有的食品和药品都需要拿出来检查

这也是一个比较费解的概念。要我就能轻易说出来一些不知道到底算是食品还是药品的东西,比如茶叶,口香糖等。

我也见过比较有趣的,就是一个老头,反复强调

凡是能够放到嘴巴里面的东西,都要拿出来给他看一下

与此同时,他还不断的做着往嘴巴里面放东西的动作。

这条线显然画得过于宽泛了些,比如假牙或许也要拿出来。不过在这个环境中,倒还算是一条合理的线:宁可让乘客多拿出来些东西备检,也不要让他们不理解而在后面的检查中被罚款几百美元。

实践才能找出那一条线

我们制定法规的时候,如何画一条通俗易读,少玩些概念多一些失效的线,实属不易,却大有必要。而我又不相信有人可以聪明到拍脑子想出来。我更相信像空姐或者边防检疫这样每天要向成百上千人说一样的规则的人,更容易摸索出一个被广泛接受的说法出来。

为好朋友的女儿征名

顾春华7月22日喜得千金。在此祝贺!祝贺!祝贺!第一时间就收到了他的短信:

各位好友,今天早上十点十八分,我的女儿来到了这个世界,体重六斤,小卷发,双眼皮,她向你们问好,母女平安!谢谢关心!

这不,又开始发愁想名字了。我2007年逸凡出生的时候,我天天在想名字的情景。

小顾同学托我在我的blog上面为他的心肝宝贝征集一个备选的名字,我非常高兴的答应了 – 这个事件好事情。

关于小小顾同学:

女孩
7月22日早上10点18分出生
巨蟹座
父亲姓顾
母亲姓舒

祝愿小家伙有一个好名字。

鸵鸟政策

昨天晚上,范范很苦恼。

范范说:怎样才可以不要去想这些烦心的事情呀?
我说:睡觉。

范范说:可是明天早上醒了,还是要想呀?
我说:睡懒觉。

结果被她好好的笑话了一顿。

民主的实践从小区开始

比较美国和中国,发现一个很有趣的现象,就是美国的“城市”,和中国的“小区”其实是很类似的概念。而美国的“郡”,反而和中国的“城市”很像。为什么我这么认为呢?

第一从人口来说,两者有可比性。以美国加州为例,很多的城市人口仅仅是几万,而上海的稍微大一点的小区,人口也要这么多。前一段Google要为整个Mountain View这座城市安装无线网络,炒得全世界都知道,好像是多大的事情。如果仔细一看的话,发现Mountain View只有7万多人,几乎和我所在的小区一样大。

第二从政府的组成。如果我们把美国的政府和中国的物业管理公司相类比,倒是让我们可以看明白很多事情。现在上海的很多小区,都会成立业主委员会,而物业管理公司由业主委员会选聘,并靠业主的物业管理费(美国叫做稅 :-))开展工作。说白了,现代政府本来就应该是物业管理机构,并没有像皇帝一样的权力,只不过中国在国家层面还没有形成,在小区里面这种小范围里面,已经开始形成了。

第三就是从政府的组织成员。美国的很多城市的权利都来自于city council市政委员会,小城市比如Palo Alto的市长基本上都是兼职的,周六开会的时候才出现,城市的财务等很多人也可以兼职的,这和我们的业委会成员也多是兼职的很类似,虽然是兼职,却是业主的代表,是真正拥有权力的人(因为业主全体的大产证上白纸黑字的写着,这块地方,由这些人拥有),物业管理公司的职员虽然是全职,却仅仅是被雇佣提供服务的人,他们(如果不是恰好是业主的话)并不拥有这块土地上面哪怕一点的权力,甚至连他们使用的洗手间,从严格意义上讲,也是大产证上面规定的人所有,而他们仅仅是被业主委员会授权使用而已。

第四从外观上来看,你不觉得上海一些管理比较好的小区,已经和美国的城市街道(纽约芝加哥这种超大级城市除外)很像了吗?比如标志清晰,车位管理井井有条,保安和蔼可亲,业主安居乐业。这些场景,离开了保安把守的小区,到了真正我们的城市的大街上,就常常不是那么回事了。

我们常常谈中国的民主,我倒是对于国家层面的民主还没有太大的兴趣,反而对于小区层面的民主非常关心,因为我相信,只有小区层面的民主得以解决,才是更高层面的民主思想基础。

我热心的作为普通业主参与我们的业主委员会,在业委会刚刚成立的时候,发生过很多争执,甚至是拳打脚踢的动武事件(多次)。主要的原因在于,业委会里面从成立很快形成了几个派别。比较显著的保守渐进的(被另外一方成为“亲物业派”)业主和激进的业主(主张立刻解雇现在的物业公司)。尤其以激进的业主派坚持,必须把不同意见的业主“清理”出业主委员会,才可以真正开始讨论问题。更多的人也同意,要先“统一了思想”,才可以开展工作。

我认为,民主的本质就是很多持有不同意见的人,在一起冲突,折中,妥协直到达成共识的过程。业主会里面,就应该有有各种不同观点人在一起,通过一定的议事日程,来解决问题。一个人可以有他的想法,但他不能因此就要求先把其他的想法“清除”干净才可以,就像历次的学生运动中,很多学生激进的阻止其他学生复课一样,口头上要民主,却实质上没有摆脱专政的思维。

我理想中的未来,应该是以承认土地的所有权为基础(现在承认50年的使用权已经是一个不错的法理的基础),承认在中国的土地上一定的面积内(现在以小区的建筑红线以内),所有的居民集体的拥有对于这个小区内一切法律规定的民事权益的权力。也就是说,这个小区里面的发生的事情,应该由这个小区里面所有的居民说了算,而不是由其他一些不知道住在什么地方的人说了算,更不是由这些人的上级单位说了算。

至于小区里的几千人到几万人,一定有上百种观点,怎么叫大家说了算,这本身并不是一个容易的话题。简单多数不叫民主,就好像大家决定在张三家门口修一个垃圾场,很有可能几千家同意,一家反对的方式通过一样,这不叫民主,这仅仅叫多数者独裁。现在的比较广泛接纳的方式,就是成立民选的业主委员会,并由它代理执行权力,选聘物业管理公司,并且要求物业管理公司提供服务,或者授权其代为强制执行某些制度。

更进一步说,业主委员会,虽然现在还不是,但是将来,从严格意义上说,就是政府。它不是民间机构,再说一遍,它就是政府。一个一个小区的业主委员会,就是一个个小区(或者借用美国的概念,叫做“城市”)的政府。它的权力并不是由一个镇,城市,或者中央政府施舍的,它本身就拥有权力(虽然这个权利因为土地的最终国有,现在还不能从法理上说的那么顺,但至少在50年以内,还是可以说一说的)。

这样子,一个上海(我一直拿上海为例子,仅仅因为我对这里比较熟悉一些)就被划分成一个个小的区域,而每个小的区域,就是一个小政府。几个小区联合在一起,需要管理一些小区之间的公共事务,比如班车,公共街道等等,就必须成立小区联合政府,而这些小区间的政府(我们不妨称之为区政府)的管辖权,仅仅在各个小区的建筑红线以外的约定的公共区域,这个政府,是没有权利管辖小区内部的事物的,除非各个小区自己的政府共同签署一些条约,并且在本小区推行此条约。这样,小的政府和大的政府之间的关系,不是从属关系,而是并列关系,我相信这样的一个结构,对于渐进的推进民主,会有帮助。以此类推,以小区的自治,可以推到大区,到城市,由城市到省,由省再到国家。我相信只有在小区层面的民主得以实现,并一层层而上,才是真正稳固的民主架构。

我现在持有的观点,比较倾向于历史上的一种无政府主义的流派,甚至有些小国寡民的影子。绝不认为自己说的就一定对。希望能够和各种流派的思想在同一个流程和框架下,进行妥协,折中,直到得出可以执行的方案。

后注:不过经过很多思考,越发认为美国的模式,中国可以借鉴,如果照搬一定会乱。美国有自己的历史,有来自欧洲的文化传统,有两百年的无数次轰动全国的高等法院判决推动复杂的进步;中国的历史和文化沿革更加复杂,更漫长,我们的任何思考变革,一定要顺着这个地方的一条主线前行;两条线,只能相互借鉴,却不可照搬。

专注

做公司很长时间,越到后来,越发现专注的重要。最近一些CEO的朋友聊天,都提到了专注这个词。

昨天晚上和小伟在杭州文华酒店的顶楼聊天,他提到一个我感同身受的观点:“策划是毒药”,或者用更公允的说法,应该是“不专注的策划是毒药”,因为主意出来很容易,但是会有牵涉进去非常多的设计,产品,开发,市场,客服,甚至是管理者的时间进去,而方向,一不小心就偏离公司应有的航道。

小伟举了个例子,很有意思:

比如说我动身要去西湖,也就是4小时的步行路程。
出了门,忽然朋友拉住,说要请吃饭,吃饭也就吃了,反正是白吃。
刚吃好饭,酒足饭饱,忽然又有人说,恭喜中奖,那边有一万块钱领。
有钱不领好像不是正常人的行为,于是跑过去,兴高采烈的拿了一万块钱回来。感觉很有成就感。
于是一路上,左拐一下,右拐一下。到西湖估计两天都过去了。

对于我们的诱惑也很多,一会儿是CCTV,一会儿是这个门户,一会儿又是电信。。。各种各样的机会,好似免费的晚餐,天上掉的钱,如果不专注,很容易左一个原型,右一个谈判的,让我们远离正常的轨迹。

除了抵御外部的诱惑,还要抵御外部干扰。刘韧最近写了关于论坛里面雇枪手的事情,就说的是这回事儿。时不时的,会有些负面消息在不用注册的匿名论坛里面蹦出来。对于这些事情,也要专注。我总觉得这些事情,好像在高架上面开车的时候,一遇到堵车,总有人习惯性的用前大灯闪呀闪呀,恨不得让前面的车都长了翅膀飞出去。遇到这种主,忽略后面的闪灯和喇叭是唯一正确的行动。若是亮起刹车灯,他另外一个车道,你加速堵住,两个人干上,危险不说,还有可能走错了路。何必呢?

专注做一件重要的事情,不要理会诱惑或者干扰,坚持时间长了,就有收获。

王建硕的朋友圈

2002年,我开始写博客,原因是因为有一个陌生人在MSN上面问我一些关于中国的问题。我以为他是记者,而他告诉我他是一个blogger。我说,并blogger是什么,他把他自己的blog地址给我看。从此,我知道什么是blog,并且知道了MovableType这个工具,并在几个月后在自己家里的机器上架起了MovableType,试着写了第一篇blog,关于如何在Windows机器上上面架设MovableType的经历,从此,我成了blogger。

最近,刘韧邀请我加入5GSNS.com,我发现是自己架设SNS是一个很好的主意,好朋友在一个网络上面更新动态,就像一个自己的facebook。

我试过很多的SNS网络,无论Facebook, MySpace, LinkedIn,还有众多的中国SNS,却始终没有办法找到适合我的。这种感觉,就像Blog到处搬家一样,对于真正认真的人来说,总是有种不安定的感觉。

想到这里,我忽然意识到一直困扰我的如何保存我最珍贵的资产 – 我和我的朋友的关系问题 – 或许有了一个完美的答案。

通过5GSNS,我发现UCenter Home的存在。感谢Discuz团队做的这个好东东,让个人的SNS已经开始成为大家的一种选择。我知道,我最好的办法,就是自己架设一个SNS服务器,就像我曾经架自己的blog一样。我并没有野心成为facebook,就像我的blog从来没有想法成为blogger.com一样。Blogger.com或者Facebook.com做的是平台的事情,我做的仅仅是软件使用者来满足自己的需求的事情。这本来就是两码事。

这就是我的自己的朋友圈的诞生(网址暂且保密)。

对于自己安装的这个SNS,我希望有几个准则:

1. 所有人用中文名真名。这个是当然的事情。
2. 我会非常有选择的添加我自己的朋友。我的一个目标,就是所有我添加的朋友,我一定会有一张和他的合影。一定。我希望,我和我的每一个朋友,也因此至少有一张合影。
3. 每天添加不多于一个朋友。我可以坚持六年每天写blog的一个重要的原因,就是得益于很久以前我给自己定的一个准则,每天不可以写超过一篇blog,这样我在开始的两个月里面,总有写东西的冲动,所以脑子里的话题永远大于我写blog的天数,等到想写的话题都写完的时候,写blog已经和吃饭一样是戒不掉的习惯了。所以,我希望添加为我的朋友的,都是我严肃和认真的认为是自己宝贵的朋友的人,而不是直接把我的通讯录里面上万个人一下倒进去。
4. 我的朋友也可以使用我的这个服务器,就像我的一些朋友也在公用我的这个MovableType安装一样。不过,我建议我的朋友如果有技术能力和资金能力的话,还是尽早在自己的域名下用自己的软件架设自己SNS,因为以后你不会因为早期把blog建在别人的域名下而后悔。不过如果你愿意使用我的这个,欢迎。但是,希望你可以同样坚持我所坚持的上述三条。这不是强制,比如你可以加任何人,也可以每次添加多个,但是,不希望你添加任何你自己不熟悉的人为自己的朋友(为了你好),每天最多也不要多过三个。拜托。

好了。我的朋友们,欢迎来到王建硕的朋友圈。我为认识你而感到高兴!

注:下午和陈实聊天,他倒是提到这个主意,给了我很多启发,所以擦有了我的这个主意。

智商与社会的标准

在从慈溪回到上海的路上,我和朋友谈到关于智商的问题。这其实是一个很好的开端,让我逐步想到了与智商以及社会的标准等诸多问题。

智商

谈起智商,我一直有些说不清道不明的感情。可能是因为我不知道自己的智商,也很少有人知道。甚至到底什么是智商,大家都有些隐约其词。作为一个概念提出来倒也罢了,居然还有人像模像样的推出了测试的题目,还给人打一个80-140分数。小的时候还挺相信有智商这种东西的存在,坚信智商越高就越聪明,不过现在,智商这东西对于我,并不显得比通过星座或者血型预测未来更为准确。

我倒是相信,人的性格,特质,和能力有个体的差别,研究这种差别是有科学的必要的,但是因为这种差别就认为对于预测未来有任何的帮助,就有些不合理了。

以智商为例。有的人的脑子就是偏向于事实的收集,细节的关注,而另外一些人就是比较善于理论,善于总结和归纳,在细节中间找出规律来。而智商测试,其实就是测量偏重于“总结“这个能力的测试。把智商叫做“归纳总结因子”倒还是准确一点,如果叫做“智力因子”就不靠谱了。测出来智商高的人,的确能够在1, 2, 4, 7, ___ 这个空中填上11,或者在 | \ — / __ 里面填上|。不过,仅此而已。除了能够说明这种特定的能力比较强以外,真的并不说明太多其他的东西。

是不是有这种能力就更容易成功呢?说不定,要看我们这个社会的标准了。说到这里,让我花些时间,阐述些不着边际的想法。

不平等的社会

人类社会到现在为止,还是一个不平等的社会。只不过,我们从根据是否足够强壮到在决斗中胜出的古罗马社会,进化到根据一个人的血统来分配的封建社会,甚至我们还曾经比较搞笑的根据“出身”来决定到底是又红又专的“贫下中农”,还是应该除掉的“地主”的社会,最终,我们来到了一个理论上根据人的才学来做不平等分配。我们还是为了解决社会财富分配问题上用了不平等的方式,仅仅是不平等的根据有些变化而已。

比如今天正在进行着的高考。我的问题是,根据考生的父亲是不是市长或者主任来录取显然已经不能被人接受,但根据学生能不能知不知道第一产业到第三产业的定义就决定他的前途,虽然进步了一些,但是不是依然那么有道理呢?是不是只有可以解出复杂的二元一次方程的人,才更优秀呢?从单一的教学的角度来说,是的。但是,就像智商一样,它仅仅是衡量了人的一种能力,而我们根据这个能力的衡量,就决定了他的一生,就不尽合理。如果说很多成功的企业家并非正统教育出身其实就已经暗示,这种衡量体系的偏颇所在。

不平等中的平等

1948年的联合国人权宣言里面,对于这个问题的回答是现在各国都在实行或者努力实行的样板:通过尽量控制在中等教育以及之前的教育的平等机会,给予每一个足够长的起跑期,然后在高等教育或者以后的工作中,采取根据考试和才智来做不平等的分配。这也是不平等和平等的折中。也就是说,先给予平等,然后在平等的基础上进行选拔,并根据此选拔结果,给予不平等的对待。

对于一个考不上大学的人挺难以回答的难题就是:“请告诉我,为什么你和其他学生一起学习了12年,获得了平等的教育,却不能考出同样的成绩?”这个问题的确让人尴尬,却无法正面回答。对于成人的世界也是一样。如果中国明朝的农民家里一贫如洗,他或许还可以狡辩“我并非生于王侯将相之门,纵使我聪明,有能力,我也只能贫苦”,而在现在的中国,尤其是竞争更加公平,公开的沿海地区,甚至取消了高考的分省录取,户口制度不再阻挡人的流动,如果一个人没有钱,就挺难回答同样的诘问:“亲爱的穷光蛋,请问为什么你被给予了同样的机会,同样的教育,同样的不加歧视的招聘机会,你却依然这么穷呢?”。在明朝的时候,如果说贫穷仅仅代表着物质匮乏而带来的痛苦这一件事情的话,现在的贫穷,就不仅仅要忍受物质匮乏带来的痛苦,而且更是一种精神上的羞辱了

所以回到智商的问题上,测出来的智商高,仅仅说明在无数种能力中的一种出众,决不可认为是全面的出众;而这个社会,也切不可仅仅以一种才能就决定一个人的未来,否则虽然打着平等的口号,却可能和封建社会仅仅根据出身就决定一个人的未来一样可笑。

多样的社会标准

经过几个世纪的进化,很多社会终于可以认可人本身的多样性,用多样的方式来衡量一个人的能力,并且给予响应的认可。比如在高考分数的维度上,就以少得可怜的几门课的规定的几百个知识点作为考核,而身体强壮与否没有关系;而在奥运会上,是不是算得出排列组合的题目,或者肤色,国家已经不重要,而仅仅考核身体的强壮。当社会提供了更多的标准可供选择,我们可以根据自己的喜好选择自己要被衡量的标准,这个社会才能人尽其才。

换一个衡量标准,这个世界的人就呈现另外一个样子;用同一个标准衡量所有的人,是社会的悲哀。

《旅行的艺术》是本好书