2007年11月29日星期四

begin with the Prisoner's Dilemma

相信很多人都听说过囚犯两难问题,那是几乎在讲纳什均衡时必讲的例子。在亚当•斯密的假设下,这个问题有解,而且有初等的证明。如果你对这个问题本身兴趣,可以看这个网址
用我的话来说,就是你和他两个人在斗心眼儿,如果你坑他,那么两个人都得倒霉,如果你一上来就服软,则会被他弄死,他就很High,如果你保持不卑不亢,则他也不会怎么样。vice versa 。纳什说,如果你有理性,那么你就会保持不卑不亢。

这周自然辩证法的课上有个同学提到了另一个有趣的两难问题,关于上帝与石头的,相信也有很多人都听说过。其实这个是无神论者的诡辩,如果你对问题本身感兴趣,可以看这个网址,这个网址比较强
问题的提法是:如果上帝是万能的,那么他是否可以造出一块自己也搬不起来的石头?
形式上和罗素悖论很像:所有集合的全体不是集合。(请给出这个命题的证明,re贴证对了的有奖,上过集合论的除外,哈哈)

今天在某人的日志发现了一个生活中的两难问题,这个问题不是人为构造的,而是活生生的存在在每个人的成长道路上的。
如果真的了解我,就不需要我过多解释;
如果不了解我,那我就更没必要解释了。
于是误会就这么产生了。
从逻辑上看,没人会相信这种推理能够成立。但是生活中时不常又会陷入这种尴尬的局面。
解?可能说起来容易做起来难吧——主动沟通。

谨与 遇到和遇到过这个两难问题的人 共勉。

2007年11月22日星期四

SWT图模型可视化工具包

以前在Swing下用prefuse很爽,如今需要用SWT了,只好又在sf.net上寻觅良久,终于找到了"梦中情人"――JUNG
也许,图模型可视化算法在计算机图形学或计算机模拟中也是一个问题吧。记得当时看到prefuse里面有Force类,Spring类,很诧异它何苦为了一点交互可视化效果引入如此sophisticated的力学模型。印象最深刻的是,作者在NBodyForce 类的注释中非常学术地写道:
/**
* <p>Force function which computes an n-body force such as gravity,
* anti-gravity, or the results of electric charges. This function implements
* the the Barnes-Hut algorithm for efficient n-body force simulations,
* using a quad-tree with aggregated mass values to compute the n-body
* force in O(N log N) time, where N is the number of ForceItems.</p>
*
* <p>The algorithm used is that of J. Barnes and P. Hut, in their research
* paper <i>A Hierarchical  O(n log n) force calculation algorithm</i>, Nature,
*  v.324, December 1986. For more details on the algorithm, see one of
*  the following links --
* <ul>
*   <li><a href=" http://www.cs.berkeley.edu/~demmel/cs267/lecture26/lecture26.html">James Demmel's UC Berkeley lecture notes</a>
*   <li><a href=" http://www.physics.gmu.edu/~large/lr_forces/desc/bh/bhdesc.html">Description of the Barnes-Hut algorithm</a>
*   <li><a href=" http://www.ifa.hawaii.edu/~barnes/treecode/treeguide.html">Joshua Barnes' recent implementation</a>
* </ul></p>
*
* @author <a href="http://jheer.org ">jeffrey heer</a>
*/

如今的"用户"比较仁慈,他说不需要交互,我终于大松一口气,可以不用再去管弹簧啦!
然而打开JUNG的Layout引擎的代码,我又被他折服了。先看看类定义,非常OO
public class FRLayout extends AbstractLayout implements LayoutMutable
再看一眼注释,非常简短两行
/**
* Implements the Fruchterman-Reingold algorithm for node layout.
*
* @author Scott White, Yan-Biao Boey, Danyel Fisher
*/

搜一下这个算法,发现也是有来路滴~
T. Fruchterman and E. Reingold
Graph drawing by force-directed placement.
Software--Practice & Experience, 21 (11), pp. 1129-1164, 1991.


2007年11月21日星期三

迅雷的明天会更好,后天呢?

上周讨论班,竟然讨论的是迅雷。
我非常看好迅雷,因为中国互联网一向是流氓的天下。我用迅雷有着充分的并且简单的理由,就像我用QQ一样:我用QQ是因为我的朋友在用QQ,我喜欢GTALK但是我的朋友不用,我用迅雷是因为用迅雷什么都能下而且下得就是快,我喜欢eMule但是用它下东西太慢。
健明不同意,他把迅雷比作垄断资本主义,把电驴比作人民公社。当然,他赞赏的是电驴的共享理念,人文精神。不过,在我看来,人文精神在初级阶段提,太超前了。迅雷更懂得最广大网民的迫切需要,他是一个工具,好用的工具,大家就用了。我敢打赌,在可以预见的相当长一段时间里,迅雷还会增长。
健明指出,迅雷缺乏滥用网络资源,走的是一条不可持续发展的道路。确实,当迅雷包揽了所有的下载入口,那些下载网站的广告位就没人要了,所以有人指责迅雷是盗链王。而且,当迅雷支持BT和ED2K以后,eMule社区、BT社区都很不爽。我也发现,VeryCD的资源用电驴下还不如用迅雷下快。
迅雷潜在问题,在缺乏用户粘性。假设存在一个开源的绿色软件,比如叫FreeThunder,迅雷能下的他都能下,而且下得不比迅雷慢,就是没广告,你说大伙儿用哪个?我相信中国程序员的反汇编能力,相信已经或即将有一个像珊瑚虫一样的去广告版迅雷。(然后出现一堆打着去广告版迅雷的旗号发放去广告带木马版的迅雷的垃圾软件……)
为增加用户粘性,社会化下载是出路吗?我以为不然。下载者关心的资源的丰富和下载的速度,也许并不关心朋友们在下载什么,或者更多时候下载者并不希望朋友知道自己都在下载些什么。

迅雷的P2SP技术可以给我们很重要的启示,那就是拿来主义。其实很久以前就有博客搬家工具,Facebook等SNS支持msn联系人导入等,都是把其他原有的服务资源、内容直接复制过来。拿来,为我所用,是新事物扩张的有力手段。但是,损人利己、零和博弈不是我们愿意看到的。我们希望互联网的使用价值总和是增加的,比如,当迅雷用户下载电驴资源的时候,也默认允许电驴用户下载迅雷的资源,即真正的对等共享。这样才能实现两个P2P下载阵营的双赢。互通有无,取长补短,合理竞争,共同提高。踩着别人的脑袋往上爬,损人品。
SNS阵营其实也并非不能实现共赢。比如提供跨社区实体绑定,可绑定的实体包括用户、好友、Blog等。YY一下:
我在Fanfou上留了一条消息,然后我在hainei上绑定的帐号下,也多了一篇新的迷你博客,同时xiaonei的我也多了一个新的日志。
我在xiaonei上加了一个小学同学,xiaonei发现他也用hainei,然后我和他自动也成为hainei的好友了。
一天我在手机版hainei的朋友换手机号了,然后,我的手机通讯录里他的号自动更新了。
……

统一通讯的梦已经做了很多年,还没有实现。现在又做起了统一社区的梦,不知道opensocial能走多远,还是成为openid一样的鸡肋?
迅雷的启示,预示着统一下载的梦离现实越来越近了。
期待着,天下大同。

2007年11月5日星期一

笔记:体验项目经理

笔记:体验项目经理
前天去听了一个讲座,下面是整理的笔记

时间:11.3(周六)晚上7:00-9:00
地点:就业中心报告厅2
嘉宾:管延放,微软亚洲工程院资深项目经理
Alvin Guan
ATC Mobile Media Team
05年春毕业,PM至今

一、四种PM
1.Feature PM
带领2~3(小)5~10(大)人的开发团队
Tester:Dev=2:1

2.Partner PM
与外部合作伙伴沟通

3.Release PM
协调多个Feature team为一个发行版工作

4.杂
部署等其他事宜

软件工程三要素:质量、费用、进度


二、PM的使命
predictable
glue the team
cover all(大家都没想到的你要想到)
让大家能专注与自己的工作
用通俗语言回答上级领导的问询

任务
在大家开始工作之前做visioning,考虑市场、客户、对手
管理开发进度
做communication hub
解决疑难问题,处理问题升级

小兵也要有全局意识,主人翁意识,看到问题及时报告,才有机会提升
说服别人:对比分析,学会在必要时放弃自己的偏见,合并大家的意见
不要什么都自己扛
技术专家才是真正的leader
项目可以失败,团队不能失败,不要压榨他们,学会诱导他们主动加班
让他们认识到工作的重要性,培养主人翁精神,才能调动他们的积极性

在微软有一半的人一辈子专注于一个领域的技术

三、PM三大基石
理解技术
理解用户需求(知道最有价值的用户需要什么,而不是自己认为好的)
会管理团队

上层建筑:leadership,communication(言辞达意)

四、PM成长要素
7工作中摸索2与别人交流1training
微软公司内部有Mentorship的机制,类似一帮一,师傅带徒弟(由HR组织)

正反馈循环:
做事情
经验丰富
能力提高
升职
做更重要的事情

pm->vp
pm v.s. ae:pm偏向于需求与沟通,ae关心架构,是资深dev出身。pm->ae > ae->pm

图为与pm有关的组织结构,虚线方块包围的部分表示一个feature team