2009年10月18日星期日

2009年哲思自由软件峰会


     今天非常的high,偶像级别的人物出现在了咱身边,那就是Richard Stallman!自由软件之父!

     我一个星期之前才知道这个事情,非常期待。俺们老大是这个活动的组织者,所以我有很多机会可以几乎是和Stallman独处。因为昨晚又是三点才睡觉,今天上午很无语的一直睡到中午十二点,错过了和Stallman在小小的视频会议室里聊天讨论问题的机会,很不甘心,于是从中午开始就干脆在演讲大厅的后台吃盒饭,准备守株待兔,和大牛近距离接触。

     下午的演讲很多人,金山十四楼的大会议室座无虚席。但是,大牛竟然迟到了,大概是中午和省市领导吃饭来着。我非常无语的看着他们直接从大厅走向座位,然后只能站在会议大厅里听演讲。

     此行来珠海的不止Richard Stallman一个大牛,还有一位叫Akira Urutashibata的日本小牛。这位日本友人出生在东京,在美国长大,很喜欢中文,能写简体汉字。他还送给我同事一本日本高中的汉语教材,内容包括《石壕吏》、《长恨歌》等经典。今天感觉他很友善,只是有些拘束。当时觉得可能是Stallman大神的气场太强大了,大家都无视他了,现在想起来可能日本人在中国还是有些不安或者负罪感的吧,特别是我们这种不问政治的技术人员。Akira第一个上台,讲的是黑客运动的历史。我心中期待着偶像的演讲,直接和同事去打乒乓球去了……

     Akira之后是WPS的技术总监杨刚,演讲的题目是WPS领导的开源项目UOF Open SDK。演讲结束之后据说反响非常热烈,很多人提问,多到以至于只能硬生生的掐断提问时间。当然,“据说”是因为我们在打乒乓球,无视了。

     Richard Stallman在珠海金山的演讲很精彩,给我印象深刻的有两点:



第一:什么是自由软件?


     大家平常都说开源,都说Linux,但是这个中有什么区别?在开讲之前我和两个同事还在讨论这个问题,但是都没有说出个所以然来。Stallman先生在
今天的演讲中着重提到了这一点,阐明了什么是软件的四种自由以及我们为什么需要它们;详细的介绍了什么是自由软件、自由软件运动、自由软件基金会和
GNU;说明了GNU和Linux的区别,FSF和OpenSource的区别。虽然看起来这只是字面上的不同,但背后却深深隐藏了理念上的不同。
Stallman先生对于软件自由的信仰感染了我,我相信也感染了在座的所有人。



第二:自由软件与教育


     这一点是戳到了中国的痛处了。Stallman先生打了一个比方,将微软让学生使用它的软件比作让人吸毒(当然,他没有指名道姓的说这是微软,但是大家都
知道),第一口都是免费的,让你上瘾,让你依赖,然后再向你收费榨干你。其实大家都知道微软的这种伎俩,也都感到了这种策略的危害,但是只有像
Stallman先生这样的大牛直白的指出来,很多人才愿意正视这个问题。在中国,99%的计算机用户都在使用Windows,绝大多数人都只知道
Windows。以中国现在的状态,微软今后即使什么都不干,光靠在中国打官司赢的钱都足够生存很久了。更可怕的是中国现在的以及未来的技术人员的思想都
陷入了以Windows为核心的微软生态系统的牢笼之中,这种遗毒的影响时间只会更长更广。


     演讲最后,Stallman先生化身为“英雄”,身边开启“自由软件之力”的光环,大家都被笼罩了,哇……(其实具体是啥样没去的同学自己想象吧,哈哈)


     Stallman讲话的语速很慢,用词也很平实,甚至简单,就是为了让更多的听众能够理解和接受他的理念。最后大家一窝蜂冲上去和偶像照了一个全家福。我手头现在没有任何照片,收集全了下次再贴。
     晚上所有志愿者和Urutashibata、Stallman一行去吃饭,我厚着脸皮跟去蹭饭成功。饭桌上Stallman对饭菜赞不绝口。只是后来大家聊的很高兴,几乎忽略了两位外国友人的存在,酒足饭饱才想起来把人家无视了,囧。

2009年10月7日星期三

用Screen和Vim进行结对编程

小廖同学在google reader上共享了一篇《Remote Pair Programming with Screen and Vim》,突然想起来这正是我们上个月在体验结对编程时使用的一个技巧。

Screen是个非常强大的终端工具。强大之处之一就在于有个 -x 参数,能够连接到已经存在的screen会话之中。那天老大从2009敏捷中国年会上回来,让咱们试试结对编程。我们没有Google或者Fog Creek那么好的条件,那就挖掘一下现有工具的潜力吧。

两个人用同一个用户ssh到一台工作机上。一个人用screen启动一个会话,另一个人用screen的 -x 参数连接到那个会话上去。这样,每个人的动作都会即时的反映到另外一个人的屏幕上去,没有主从关系,任何操作,也并不限于Vim。这里我们只是可以用Vim做结对编程,实际上用这个做一下shell的教学啥的也很不错。

这样做的好处是可以远程结对,没有空间限制。当然,结对编程的一个好处就是两个人在一起可以随时沟通,这个就是另外的讨论了。