Feng's profileChen3feng's spacePhotosBlogListsMore Tools Help
    June 25

    皮蛋金枪鱼粥

    每天晚上在公司附近吃,今晚实在不想了。回来看到上次买的松花蛋,想做皮蛋瘦肉粥,没瘦肉,又懒得下去买,却还有金枪鱼,反正也是瘦肉,试试看。
     
    据说要松花蛋切得很细,不过还没切很细我就觉得有点恶心了。
     
    最后就是这个样子。
    June 24

    博物馆周末游计划正式启动

    北京的旅游热门景点多数都去了,但是博物馆们还没去过,出去散散心,并长长见识。
     
    今天去了天文馆和古动物馆,本来还想去军博的,没想到过去一看,关门维修,faint。
    下周计划航空博物馆和自然博物馆,
     
    今日行程
    人大->天文馆->古动物馆->军博->大北窑->潘家园->大北窑->五道口->公司->回去。
    很累,腿疼。

    昆虫世界

    不错的片子,法国人拍的,很喜欢,前年道明传给我的,一直放着。
     
    去年海龙的时候看到卖笔记本的展示,放片子,其中一段,很多毛毛虫排队,然后两队変一对,很神奇。
     
    回来以“毛毛虫排队”为关键字搜索,才知道我已经有这个片子了。
     
    简介:
     
    生命如歌:法国影片《点虫虫 MICRO COSMOS》《昆虫世界》
    “点虫虫”是法国人用了两年时间拍摄的一部昆虫纪录片,1996年曾获多个电影节大奖。该片最大的特点是用微距镜头拍摄昆虫世界,用音乐作为陪衬,不需语言解说(全片法语不超过10句话,日本“先锋”另添了一条声轨并加了许多日语解说)。本片用昆虫的视角看世界,雨点落地如敲鼓,鸡叮蚂蚁像打桩。通过本片你可以了解到蚜虫向蚂蚁行贿以驱逐瓢虫的腐败行径,还有毛毛虫排队像火车,蚂蚁亲嘴相濡以沫,蜗牛作爱如胶似漆(本片的高潮,同时响起咏叹调式的主题歌)……
      由于这部片子画面精美,别开生面,目前日本、台湾都拿它作为顶级效果测试碟!惟一缺点是原片用胶片拍摄,日本鬼子做成DVD时没有用数码特别处理,大场面有灰雾感,特写镜头则清晰到不能再清晰。D版的分段、字幕、声轨与正版完全相同,没有加入任何垃圾。是D得效果非常理想的一张D版碟,比特速率达到8,比故事片好N倍。
      我的很多朋友至今不能原谅我,就为了我曾向他们热情推荐过这部特别的片子。
      我的推荐词很简单:“拍了二十年,最后剪成六十四分钟。从头到尾,没有哪个演员穿过衣服。全部都是──”
      于是所有人都浮想联翩,都甜言蜜语地前来求借,然后很快归还,还附上不少的悻悻之词。
      我知道我忘了说明一件事──
      这部法国影片中译名是《点虫虫》,直接译来就是《昆虫世界》。
      ……
      然而这真的是一部值得反复观看的影片。我这么说,不仅仅是因为它获得了第49届嘎纳电影节高等技术委员会大奖,法国凯撒奖最佳监制最佳摄影指导最佳剪辑最佳音乐最佳音响效果五个奖项,还有当年度法国音乐大奖,法国马天尼罗西大奖以及瑞士洛迦诺电影节公众大奖。
      我这么说,因为这是一部技术精湛但没有被技术主宰的影片,一部筹备十五年,设计器材两年,餐风饮露拍摄三年的影片。短短的六十四分钟里,我们感受到的是诚意,耐心,对大自然的信仰,对我们昆虫兄弟的一往情深。
      人类的一天时光等于昆虫世界的一个季节,而它们的一生只是我们一生中的几个星期。所以,当银幕上出现一只月下展翅的螳螂,一只静静饮水的蜗牛,一只栖栖止止的蜻蜓,一群匆忙赶路的蚂蚁,我们要知道,它们的生命已经静静画上句号。
        
      还记得于·列那尔的《笔记》吗?
      它是个小心翼翼的单身汉,在家里一遍又一遍给闹钟上着发条,出门前将钥匙在锁孔里转了一圈又一圈──作者是这样刻划蟋蟀及其鸣奏的。
      还记得法布尔的《昆虫记》吗?
      四年黑暗中的苦工,一个月阳光下的享乐,这就是蝉的生活。我们还能厌弃它歌声中的一点喧嚣吗?──作者是这样为蝉的生存方式辩驳的。
      《昆虫世界》的两位导演,克鲁特纽希辛尼和玛丽贝克芬也是法国人,和列那尔一样,和法布尔一样。这些法国人都那么喜欢凝视昆虫,并将这种凝视的结果与全球分享。
      对这样的电影工作者,要再三地致以敬意。因为他们在拍摄过程中,没有破坏自然界的生态平衡,没有刻意营造或阻止任何一只昆虫的死亡,尽管那样会使拍摄更简单更轻松。    
      他们只是守候,任月升月落,任云卷云舒。对他们来说,一片洼地,一片草丛,也都是一座教堂,他们象教徒一样,缄默地礼拜着。
      于是,我们从他们的镜头里看到了生存的意义,以及人性的光辉。是的,人性的光辉。既然人的身上可以看到不少兽性,那么鸟兽昆虫的身上,也该能看到一点人性吧──我们看到一只蜣螂推着粪球执着向前的时候,看到它不动声色地选择了上坡路因而一次次前功尽弃的时候,我们感受到的是阿甘式的从容和信心,以及西西弗斯式的光辉;
      我们看到两只蜗牛为了交配而缠绵地拥抱在一起的时候,似乎也可以联想起《廊桥遗梦》的聚而复散,联想起情感与责任的冲突;或者干脆回味着《失乐园》的散而复聚,联想起作为一种出路的殉情。
      最后,还会忆起那些久违的日本影片──《南极物语》讲述狗的忠诚在主人的辜负下愈显高贵;《仔猫物语》讲述自然界对一只流浪小猫的友善要远超我们想象;《狐狸物语》讲述狐狸父母为了子女的成长牺牲了太多太多──都是有心人拍摄的影片,让我们把视角放到最低,去理解生活和自然。  
      
      而我们的电影人肯定还不习惯刻划这样的主人公,他们最多可以拍一拍军犬,拍一拍战马,因为军犬战马曾自觉自愿为我们奉献一切。对这样的电影人我也无意苛求,因为他们还是在热爱和讴歌动物,尽管是用牵强的方式和唯我独尊的心态。
      我所不能理解的那样一些电影的那样一些镜头──
      那些烈马从悬崖上摔下的镜头,摔得奄奄一息的镜头(怎么了,《东归英雄传》里的英雄一定要这样陪衬?蒙古人不都是爱马的吗,是谁强迫蒙古族电影工作者塞夫与麦丽丝同志一再重复这种镜头?)
      还有那个捆绑着的黄牛作为祭品,一路哀鸣着坠入黄河巨浪的镜头(是我记错了吗?这位冯小宁导演在拍摄早期作品《大气层消失》的候,曾赋予那么多动物以语言功能,让观众们知道它们也有知有觉有生有命,他还设计让小男孩手捧垂危小鱼去找寻它可以栖身的水洼,让观众们为之牵肠挂肚屏息静气。也许当时他还不了解什么叫“视觉冲击力”,朝一悟,杀机顿现?)    
      搞不懂啊搞不懂,搞不懂啊搞不懂,搞不懂沧海为什么会变成桑田,搞不懂电影厂为什么会变成屠宰车间。
      最后想起了奥威尔的《动物庄园》,那里面可有一句千古名言:“所有动物一律平等,而有些动物比其他动物更加……平等。”
      所以“其他动物”怕是陆续都要担起营造视觉冲击力的责任,慨然赴死,无须回顾。
     
      所以“其他动物”的结局,怕是只能依鲁迅先生所言──“自行失足落水”为上。
    by smpony @21cz
    June 23

    民工的层次(抄别人的)

    特等民工不出力,
    一等民工出巧力,
    二等民工出脑力,
    三等民工出体力,
    我是末等民工,出傻力!
    June 22

    摩托罗拉发粽子

    摩托罗拉公司给每个外籍员工昨天发了粽子,今天有个老外很感谢的说:你们发的点心很好吃,谢谢,就是外面的生菜有点硬。

     
    June 14

    关于康神的报道

    可惜记者搞错了康神的名字,发指。

    http://it.sohu.com/20070614/n250575190.shtml

     
    李开复解开谷歌人才本地化魔咒
     

      对谷歌的李开复来讲,今后面临的最大挑战不是产品也不是运营本身,而是人才的挑战。

      天极ChinaByte6月14日(熊海燕)对谷歌的李开复来讲,今后面临的最大挑战不是产品也不是运营本身,而是人才的挑战。

      在过去的一年半中,谷歌从2005年底的几个人发展到2006年底的200多人,再到今年底期望的500多人,谷歌的人才扩充进入“加速跑”状态。李开复向ChinaByte透露,去年谷歌招聘了100个工程师,今年将会加倍。

      谷歌的埃立克.施密特曾说过一句话,谷歌的发展受限于一件事,就是能否足够快地找到足够好的工程师,用世界上最难的难题去激发他们。

      昨天,前运通副总裁正式加盟百度,而谷歌也一改低调,李开复将谷歌的数员研发大将带到媒体面前。

      刘骏曾是美国微软自然语言方面的总监,现在主管谷歌搜索方面的工作;周杰是谷歌管理团队里唯一一个从谷歌总部搬回来的人,也是总部最年轻的华人总监;林彬是来自于微软亚洲工程院的总监;简立峰是中文搜索研究的“鼻祖”,曾在1999年最权威的4个杂志上发了有史以来第一篇中国搜索的文章;王劲是Ebay负责中国所有研发的负责人。

      张智威是加州大学教授,机器学习的专家,也是位优秀的诗词作者,将在谷歌做互联网方面的基础科研工作,谷歌将在北京、上海招聘做基础研究的人员,在张博士的带领下做基础研究。

      据李开复透露,今年6月,谷歌从业界对手那里挖到了多位优秀人才,杨文洛来自于英特尔亚太研发中心,过去负责英特尔所有的中国研发工作;周志来自于美国微软,负责Windows Moblie团队;徐广泰是雅虎搜索的创始人之一,曾经是雅虎亚太区总工程师。

      目前,王劲和杨文洛任谷歌工程研究院副院长,他们将一起负责谷歌上海R&D的研究与开发,谷歌将于6月25日正式运行上海R&D三证。

      谷歌同时从谷歌美国引进“文化火种”。仅去年,Google就有15位美国工程师回国,今年底,谷歌将会有30位工程师回国。

      在谷歌新招聘的工程师中,有2003年世界编程冠军周健,有清华大学2001年毕业生康小明,在清华大学外号“康神”,被公认为编程能力像神一样;还有2006年初中国编程比赛中国区冠军徐川,他从1.35万人里脱颖而出。

     

    查看 gcc 预定义的宏

    一行命令
     
    [cf@sohu hostinfo]$ cpp -dM /dev/null
    #define __DBL_MIN_EXP__ (-1021)
    #define __FLT_MIN__ 1.17549435e-38F
    #define __CHAR_BIT__ 8
    #define __WCHAR_MAX__ 2147483647
    #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    #define __FLT_EVAL_METHOD__ 2
    #define __DBL_MIN_10_EXP__ (-307)
    #define __FINITE_MATH_ONLY__ 0
    #define __GNUC_PATCHLEVEL__ 2
    #define __SHRT_MAX__ 32767
    #define __LDBL_MAX__ 1.18973149535723176502e+4932L
    #define __linux 1
    #define __unix 1
    #define __LDBL_MAX_EXP__ 16384
    #define __linux__ 1
    #define __SCHAR_MAX__ 127
    #define __USER_LABEL_PREFIX__
    #define __STDC_HOSTED__ 1
    #define __LDBL_HAS_INFINITY__ 1
    #define __DBL_DIG__ 15
    #define __FLT_EPSILON__ 1.19209290e-7F
    #define __LDBL_MIN__ 3.36210314311209350626e-4932L
    #define __unix__ 1
    #define __DECIMAL_DIG__ 21
    #define __gnu_linux__ 1
    #define __LDBL_HAS_QUIET_NAN__ 1
    #define __GNUC__ 3
    #define __DBL_MAX__ 1.7976931348623157e+308
    #define __DBL_HAS_INFINITY__ 1
    #define __DBL_MAX_EXP__ 1024
    #define __LONG_LONG_MAX__ 9223372036854775807LL
    #define __GXX_ABI_VERSION 1002
    #define __FLT_MIN_EXP__ (-125)
    #define __DBL_MIN__ 2.2250738585072014e-308
    #define __DBL_HAS_QUIET_NAN__ 1
    #define __tune_i386__ 1
    #define __REGISTER_PREFIX__
    #define __NO_INLINE__ 1
    #define __i386 1
    #define __FLT_MANT_DIG__ 24
    #define __VERSION__ "3.4.2 20041017 (Red Hat 3.4.2-6.fc3)"
    #define i386 1
    #define unix 1
    #define __i386__ 1
    #define __SIZE_TYPE__ unsigned int
    #define __ELF__ 1
    #define __FLT_RADIX__ 2
    #define __LDBL_EPSILON__ 1.08420217248550443401e-19L
    #define __GNUC_RH_RELEASE__ 6
    #define __FLT_HAS_QUIET_NAN__ 1
    #define __FLT_MAX_10_EXP__ 38
    #define __LONG_MAX__ 2147483647L
    #define __FLT_HAS_INFINITY__ 1
    #define linux 1
    #define __LDBL_MANT_DIG__ 64
    #define __WCHAR_TYPE__ long int
    #define __FLT_DIG__ 6
    #define __INT_MAX__ 2147483647
    #define __FLT_MAX_EXP__ 128
    #define __DBL_MANT_DIG__ 53
    #define __WINT_TYPE__ unsigned int
    #define __LDBL_MIN_EXP__ (-16381)
    #define __LDBL_MAX_10_EXP__ 4932
    #define __DBL_EPSILON__ 2.2204460492503131e-16
    #define __FLT_DENORM_MIN__ 1.40129846e-45F
    #define __FLT_MAX__ 3.40282347e+38F
    #define __FLT_MIN_10_EXP__ (-37)
    #define __GNUC_MINOR__ 4
    #define __DBL_MAX_10_EXP__ 308
    #define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
    #define __PTRDIFF_TYPE__ int
    #define __LDBL_MIN_10_EXP__ (-4931)
    #define __LDBL_DIG__ 18
    June 12

    为什么要把代码写成库

    和atppp聊天,他说当初参加 ACM竞赛,合伙的一个人算法很牛,什么常用算法很快就能写出来,十分惊叹。我们多数人没这么牛,往往记不了那么多,还容易犯错误,写出来的代码需要花精力去测试和调试,因此需要把花费精力做出来的东西搞成库,而牛人就不需要,需要什么顺手就写出来了。
    June 06

    用 alias 简化 SVN CI 操作

    公司最近用了 SVN 替代 CVS,kirbyzhou 在服务器端加了个提交的 hook script,不许空的 commit comment,有时候实在麻烦,用赵立洋的方法搞一把:
    在 ~/.bash_profile 中加入这条命令:
    alias svnci='svn ci --message="modified at `date`"'
    这时候 commit comment 就自动设置为
    modified at 三  6月  6 20:18:10 CST 2007
    之类的,省事。
     
    善用 shell,节省精力。

    看来的 BUG

    有意思
     
    有一个类,
    有个方法 GetMatchedStrings
    支持用通配符去匹配已有的字符串,
    于是伊写到 obj.GetMatchedStrings("abc-???-xyz");
    然后伊抓狂了。
     

     
    June 05

    发现 gcc flexible array member 一个 bug

    #include <stddef.h>
    #include <stdio.h>
    struct A
    {
        int a;
        char b;
        char c[];
    };
    int main(int c, char** argv)
    {
        printf("%d\n", sizeof(struct A));
        printf("%d\n", offsetof(struct A, c));
    }
    输出
    8
    5
    应该都输出5
    具体原因 C99 标准 6.7.2.1描述得很清楚,struct 最后一个成员的类型可以是不完全数组,称为 flexible 数组成员,这时结构的大小等于同样的结构把
    flexible arrar member 换成为制定长度的同类型数组时的到这个成员的便宜量,还举了例子:
     
    struct s { int n; double d[]; };
    struct ss { int n; double d[1]; };
    sizeof (struct s)
    offsetof(struct s, d)
    offsetof(struct ss, d)
    三者应该相同。
     
    而 gcc 不同,因此不符合标准,VC 虽然不支持 C99,但是支持 flexible arrar member,测试的结果和 gcc 一样。
     
    June 03

    Larry Page 不理我,:(

    从栗子那里得到 Larry Page 的 MSN,加了,对方却一直不上线,不理我,唉。当初他还给例子推销广告呢,怎么对我这么冷淡,难道是因为栗子是老板而我不是?郁闷。
     
    要不你也试试? larrypage@google.com
     
     

    To be or not to be, that is the question.

    哈姆雷特说过,To be or not to be, that is the question.
    程序员说,这个问题不难解答,答案就是255,因为 0x2B | ~0x2B = 0xFF.
    但是用下面的程序去验证,却得不到期望的结果:
     
    #include <stdio.h>
    int main()
    {
        printf("0x%X\n", 0x2B | ~0x2B);
    }
    为什么?