Archives

北京租房感受

人生最痛苦的事不是租不到房,也不是房子太TMD贵,人生最痛苦的事是明明你找到好房子了却眼睁睁地看着被别人抢走了!人生最最痛苦的事是,就在你马上就要交钱的时候这事TMD发生了!!

T_T

P.S. low同学昨晚抵京,风尘仆仆地从上海滩过来的。

爱,国

出自:http://599theoldtime.blogbus.com/logs/42051845.html

“我们不可能跑到国外去等着别人把这个国家弄好了再回来,也不可能把自己的孩子送到国外去,等别人孩子把国家弄好了再回来,我们现在就要给每一个中国孩子幸福,要把他们对这个国家曾经失望的爱一点点找回来。”

怎么才算是一个人?

今天上午我一大早起来就跑到电影院去了,把一直没看的《终结者2018》给补上了。

说实话,看了终结者1, 2, 3之后感觉有些枯燥了,情节总是那么类似,不过保持我对《终结者》系列感兴趣的原因有两个:一个是人工智能,里面幻想的机器报复人类过于“乐观”了,时至今日人工智能仍然没有本质上的突飞猛进,实际上,你对计算机了解越多,你就越清楚哪些事情可以由计算机来完成,哪些必须由人来完成;二是时空穿越,里面向我们很好地展示了时空旅行的一个悖论,康纳把他的一个手下送回过去去保护他的母亲,而他母亲和这个人相爱,便有了康纳,试想如果康纳不把他送回过去,他自己会马上消失吗?

可喜的是到了这一部,故事总算是有了新的看点,不再是两个机器人从未来被送回过去去PK了,而是出现一个来自过去的机器人,可它一直以为自己是一个人,直到它看到自己的下半身是部机器时它惊恐不已,所以它应该是天网的一个失误。而当它得知制造它的目的时,它毅然决定扯下自己脑后的晶体,决心当个人类,去拯救康纳。当它看到康纳最后命悬一线时,更是把自己的人类心脏拿出来去救康纳。看着它用它那机器手紧紧地握着旁边那孩子的手时,我感动得稀里哗啦的……

这一部彻底扭转了前三部塑造的机器人和人类为敌的局面,它告诉我们,机器人也有温情的一面,也有像人类一样侠义与正义的一面!这也让我思考究竟怎么才算是一个人?人和机器最大的区别是人类是有感情的,是会受感情左右的,绝大多数人类都是向往正义的,如果一个机器人也能如此,那它也可以算是一个人。相反,如果一个人失去人性,成为杀人不眨眼的恶魔,那他和一部杀人机器又有什么区别呢?

所以,为了防止出现《终结者》里设想的情景,阿西莫夫才先人一步想到了“机器人三定律”,用心何其良苦!


P.S. 《终结者》和《黑客帝国》的背景有不少相似,都幻想了在一个人类被机器统治的时代里人类是如何挣扎的,可见寻求自由是人类永恒的目标。

P.P.S. 这4部《终结者》的情节其实并不复杂,用不复杂的情节都可以拍出这样的电影,那么要用阿西莫夫的机器人系列+基地系列完全可以拍成一部好几季的电视剧了!期待……

总有一天你会接受1984!

youtube被堵,你不用youtube,你不怒,
滤霸横行,你不是儿童,你不怒,
gmail被封,你不用gmail,你不怒,
当有一天,你连互联网都没法访问的时候,你想怒都没办法怒了!
这样下去,总有一天,你会接受1984!!
老大哥万岁!!!

P.S. 我就纳闷了,为什么他们做起这种事儿来每次借口都是儿童?为什么他们拿一些人开刀时措辞总是颠<反河蟹>覆<反河蟹>国家?

随机选择午饭

您是否也像我们一样为吃午饭而烦恼?工作日午饭时间不多,周围的餐馆也不多,翻来复去吃的也就那么几样,而且都快吃腻了!怎么办?

这个脚本可以为您解除这个烦恼,每天为您随即选择午饭,并且会在午饭时间提醒您和您的饭友该去吃午饭!从此您再也不用为午饭该吃什么而苦恼!

注意:

1. 用 crontab -e 来定时,你知道该怎么做。:)
2. sendpatchset是我们发送补丁的一个脚本,你完全可以把它替换成别的,比如mutt。我之所以没用是因为我的那个台式机上没有配置mutt。恩,用git send-email应该也可以。
3. 你如果想用,你知道该修改哪里。

[bash]

!/bin/bash

RESTAURANTS=(‘Ji Tian Xiao Chi’ ‘Lao Jia Rou Bing. Huh?’ ‘-1 floor! Bad bad…’ ‘Xin Jiang Mian Guan’ ‘Kuai Le Jia Yuan’ ‘Tan Zi Rou’)

choice=$((${RANDOM}%${#RESTAURANTS[*]}))
everything=””
for ((i=0; i$choice_file <$control_file <<eof
SMTP: smtp.corp.redhat.com
From: Amerigo Wang
To: xxxxxx@redhat.com
Cc: xxxxxx@redhat.com
Subject: [LUNCH] $subject
File: $choice_file
EOF

sendpatchset $control_file
[/bash]

共和了吗?

我拖拖拉拉总算是把《走向共和》这部历史剧看完了。

本来对这部片子没啥兴趣的,可小公子告诉我它被禁了,所以我才下定决心看看。(所以我们要感谢广电总急啊!每当我不知道要看什么电影的时候,只要在被禁的列表搜搜就知道该看什么了!)

这部电视剧拍得相当不错,细节处理得恰到好处,看似琐碎却正好“影射”当时的氛围。整部电视剧59集,第30集差不多是分水岭,我认为,以李鸿章为界。所以,其实整部电视剧可以用两句话来概括:前半部是,再来一个李鸿章也救不了大清;后半部是,只要一个袁世凯就断送了共和!

整部电视剧有两个看点,一是为李鸿章翻案,二是对国父孙中山的刻画。

关于李鸿章,我们只知道他卖国,却看不到他搞洋务办实业,联系他所在的整个历史背景,我们不难发现,不是他想卖国,而是历史逼得他不得不坐到那个位置上去承担卖国的罪名。所以梁启超在《李鸿章传》里对他评价道:“吾敬李鸿章之才,吾惜李鸿章之识,吾悲李鸿章之遇。”非常精辟!剧中对李鸿章的刻画虽然有过分拔高的嫌疑,但电视剧总归是电视剧,总比那些打着教科书旗号的还要骗人的历史要强得多!

对孙中山的刻画感觉很真实,刚开始看时感觉把我们的国父给演得太猥琐了,可看到了最后我发现,其实这才应该像是一个革命家当年一步一步走出来的真实故事。看孙中山的革命历程就像一部创业史,从无到有,一步一步。孙中山是个很单纯很理想主义的人,可惜他碰到了狡诈的袁世凯,当他向北洋军妥协的时候他没想到,能带领军队向你和解的人自然也能带领军队背叛你。一个妥协的共和是注定要失败的……

我在广州时有幸拜访了国父的纪念碑,瞻仰了总理的遗嘱(见上图,点击看原图),看完这部电视剧我才体会到当年先生的良苦用心!近百年过去了,国父的遗愿至今没有实现……

现在你该知道这部电视剧为什么被禁了吧!

蹦极!蹦极!

我苦寻蹦极已好久,今天终于在十渡如愿以偿了~!

十渡这个地方风景挺不错的,好玩的也挺多,感觉好像有点儿开发过头了。其它的就不说了,直接说说我这第一次蹦极的体会吧。

排了接近两个小时的队才轮到我,我上去以后其实一点儿也没当回事儿。以前登山的时候还感觉有点儿“恐高”,这次蹦极站在那居然一点儿都没有,可能这高度太低了。

我是被后面的管理人员半推下去的,从我下面的同事给我拍的录像来看,好像是被自杀(-_-|)。脚刚离开的那一瞬间感觉很不适应,因为毕竟双脚习惯了重力,突然一下子失去重力,身体适应不过来,本能地第一反应是恐惧,感觉自己要完蛋了,特别想喊出来。快坠落到底时突然就意识过来这只是个游戏,说服大脑没有危险,身体终于放松下来。下面就是弹上弹下,把我的眼晃得天旋地转,等我的视线调整好后基本上就停了。然后就被慢慢放下去到下面的滑艇上,整个蹦极结束,相当地快。

不知道是不是因为第一次的缘故,突然失去重力的“恐惧感”竟然不能克服,我觉得以后多跳几次应该可以克服这个,然后就可以在第一次下落的过程中做一些动作了。:-) 所以以后有机会还会去试试,太刺激了!!

P.S. 蹦完我就马上和同事朋友们回合,他们都已经吃完了,只给我留的烤羊肉串和鱿鱼,我狼吞虎咽地全吃完了!然后我们就去划竹筏去了,我发现划这个东西真是个体力活!不信您来试试!

P.P.S. 我们回去时一路狂奔向火车站,差一分钟就晚了火车!比蹦极还刺激。。。

===========

注:我蹦极的那段视频是用数码相机拍的,质量肯定不咋的,凑合着看吧。压缩包解压密码是我手机号的后四位,视频格式是ogg,5.5M。不知道我手机号的可以给我发邮件问密码,如果你想看的话,有豆瓣的给我发豆油也成!^_^

视频下载地址:wangcong.org/down/my_bungee_jumping.rar

大量图片:http://www.douban.com/photos/album/16293868/

夭折的一个补丁

这个补丁其实本来是我分配到的一个任务,不过在我们内部讨论时被拒了,所以放出来也无妨。再说了,在我们内部提交补丁的第一原则是必须首先在LKML上得到认可,没什么秘密。:-)

这个任务其实很简单,就是要把socket的一些选项给通过/proc导出,这些选项就是通过setsockopt(2)设置的那些。

初看这个任务感觉很简单,无怪乎就是一个/proc下的interface,然后就是通过某种方式把数据传输过来。但仔细一看其实不简单,因为setsockopt(2)并没有把这些数据集中存储起来,而是分散地存放到各个角落,然后通过switch/case的方式逐个判断。所以这里问题就来了,在某种程度上,其实我们要的就是一种“迭代”,而无奈的是,这些数据太过离散而不能迭代!这就是难点所在!

怎么解决呢?我首先想到的是用hash,把这些数据通过链表连起来,用其level和optname作关键字。后来想想其实这样也很麻烦,而且越往下想越麻烦。。。这时我就开始反思是不是该往简单里想想了?我盯住那switch/case,发现它既然能阻止我“迭代”,那我也能用它来“迭代”!对,我的主意就是用fall through!于是下面这个技巧就出来乐~~!

[c]

define BREAK(OPT, val)

   if (optname != SO_ALL)  
           break;          
   len += scnprintf(buf+len, *(int *)optlen - len, "%dt%dt%ldt%dn", 
           level, OPT, (long)(val), (int)sizeof(val))

define STOP() if (optname == SO_ALL) {

                   *(int *)optlen = len; 
                   return 0;       
           }

[/c]

其余的就很简单了,尤其是/proc的函数接口,感觉那块儿代码算是很整洁的,相当值得一读。

当然了,正如开头所说,现实是很残酷的,这个补丁被拒绝了,因为大牛David Miller不喜欢,他说这个是Solaris上有的东西,这并不代表Linux就一定要有,如果真的需要这个功能,我们还有systemtap,而且程序本身有义务自己打印socket的设置选项,如果调试的话。

如果你要有兴趣的话可以试试我这个补丁,但真要用的话还得自己完善一下,尤其是输出格式。:-)

湿一首——《越狱》剧情简介

盼星星,盼月亮,《越狱》总算是出完鸟~~~

为表纪念,小生聊作湿一首,献丑献丑~!

奇异家庭兄弟从小相依为命
哥哥被陷入狱弟弟舍身相救
竟遭跨国追捕弟弟再次入狱
红颜知己相伴为爱奔走相救
为救弟弟哥哥深入龙潭虎穴
恨难忿誓死与公司战斗到底
兄弟手足情深纵母子情难挡
有志者事竟成终获自由之身