巴别塔上的雇工


Good Luck, Mr. Gorsky
6月 30, 2006, 1:19 下午
Filed under: 八卦杂谈

如果下面的故事是真实的话,我不得不说冥冥中老天真在安排

阅读前请先确认你已经年满18岁

On July 20, 1969, commander of the Apollo 11 Lunar Module, Neil Armstrong was the first person to set foot on the moon. His first words after stepping on the moon, "That’s one small step for a man, one giant leap for mankind", were televised to Earth and heard by millions. But just before he re-entered the lander, he made the enigmatic remark: "Good luck, Mr. Gorsky."

Many people at NASA thought it was a casual remark concerning some rival Soviet Cosmonaut. However, upon checking, there was no Gorsky in either the Russian or American space programs.

Over the years many people questioned Armstrong as to what the "Good luck Mr. Go rsky" statement meant, but Armstrong always just smiled.

On July 5, 1995, in Tampa Bay, Florida, while answering questions following a speech, a reporter brought up the 26 year old question to Armstrong. This time he finally responded. Mr. Gorsky had died and so Neil Armstrong felt he could answer the question.

In 1938 when he was a kid in a small Midwest town, he was playing baseball with a friend in the backyard. His friend hit a fly ball, which landed in his neighbor’s yard by the bedroom windows. His neighbors were Mr. and Mrs. Gorsky. As he leaned down to pick up the ball, young Armstrong heard Mrs. Gorsky shouting at Mr . Gorsky. "Oral sex? Oral sex you want? You’ll get oral sex when the kid next door walks on the moon!"



屠虫战记(2)
6月 30, 2006, 1:04 下午
Filed under: 技术体会

“假如你是一家大型农场的Helpdesk,有一天一个农夫打电话对你说‘我这里一头奶牛站在草地里面不吃草也不产奶’,你该怎么办?“

上面个问题不是用来招聘农场Helpdesk的,而是用来招聘程序员的。看起来很费解啊,搞电脑的要管养牛干什么?其实世界上处理解决问题的哲学都是相通的。

怎么回答那个农夫呢?

“这头牛以前吃草产奶吗?它这样持续多长时间了?”——这牛要是一直就这个德性,天生就不吃不喝,有什么办法

“那块草地和别的草地有什么不同?”——那头牛待在那里应该有个理由。

“这之前什么事情发生在这头牛身上了吗?”——和以前的环境的不同,可能是造成问题的原因。

……

处理这个问题的办法和Fix Bug的办法原则差不多,就应该是首先找出发生问题的原因,怎么找原因呢,就是需要比较一下出问题的环境和没出问题的环境有什么差别,找出了差别,问题的原因也就容易解决了。

这几天我犯了忽视这个原则的错误,碰上一个bug,上来就冥思苦想这个bug的根源在哪里呢,对于简单明显的bug,这招加上一点经验的确好使,但是很不幸我碰上了一个不这么好对付的虫子。有的问题表面上看在东,实际上根源在西,嗨,如我同事所说,也许在南呢,未必在相反的方向

对于这样棘手的bug,就得和分析那头牛的问题一样,先搞清楚这样几个问题,这个bug什么时候出现的?什么情况下可以复现?这个bug出现的release和之前的release相比有什么改变?找出重现bug和不能重现bug的不同之出,找出出现bug和没有bug的版本不同之处,我们就离结果大大接近了。

当然,不同之处往往很多,最后还是要动手Debug进去,抽丝剥茧,找到真正导致bug的不同。



用Word 2007写Blog
6月 30, 2006, 2:25 上午
Filed under: 技术体会

这篇就使用Word 2007撰写发布的,当然,Word 2007只是提供本地的Post编辑功能,然后把Post发布到你自己指定的Blog Provider上面,缺省的Blog Provider列表中,有MSN Space,居然也有Blogger.com,微软真是宅心仁厚 ,竞争对手也列在其中了

虽然因为不同的Blog对界面的支持有差异,不提倡用花里胡哨的排版功能,不过MSN Space和Word是一家,应该没什么问题,让我来试试

  • 小字
  • 中字
  • 大字

可以在Word中选择Category,幸好Blog界还算有点标准,Word可以从空间中提取所有Category。

好了,Publish!

 

看样子工作的不错,但是Upload Photo怎么设置文档里面说的含糊不清,不知道怎么弄,而且不要用同一个文档文件Publish多个Post,后一个Post会把前一个给覆盖的。

Word这个功能最大的好处就是可以在办公室大摇大摆的写Blog了,别人还以为你在写Meeting Minutes呢,哈哈



Techcruch是个不错的介绍Web2.0产品的站点
6月 29, 2006, 1:10 下午
Filed under: 工作心情
Technocruch在Technorati的Blog排名前100,每天都有新的Web2.0产品介绍。我用bloglines订阅了它的RSS之后,才发现外国佬在Web2.0上已经作了不少东西,相对而言,国内做Web2.0的首先就少,而且技术上似乎还是跟不上,比如最近很火的“抓虾”,访问速度很慢,我想可能是AJAX技术实现的不是很简洁,并没有体现出Ajax的好处来。By the way,抓虾上面得热文都比较愤青,过激的帖子不少,再这样下去,估计迟早要被封掉。
 
 


黄健翔,你又没有做错,为什么要道歉?
6月 28, 2006, 1:24 下午
Filed under: 八卦杂谈
也就为了在CCTV干下去,还要养家糊口,认个怂就认个怂吧。
 


血本无归
6月 28, 2006, 12:59 上午
Filed under: Uncategorized
水木BBS上面的维克杯世界杯竞猜,昨天我把之前赚到的23879点全部压在倾向于西班牙的投注上,血本无归啊!
 


搜索引擎不是一切
6月 27, 2006, 5:38 上午
Filed under: 八卦杂谈
 
本来想搜索下载珍藏黄健翔激情解说这一重大的体育娱乐事件,可惜各大搜索引擎都没法搜出来,还是得要人工查找,搜索技术还没有智能到即时发现突发事件的地步。
 
 
 
 
以下为黄健翔终场前解说词实录

  ——亚昆塔,唉!点球!点球!点球!格罗索立功了,格罗索立功了!不要给澳大利亚人任何的机会。

  ——伟大的意大利的左后卫!他继承了意大利的光荣的传统。法切蒂、卡布里尼、马尔蒂尼在这一刻灵魂附体!格罗索一个人他代表了意大利足球悠久的历史和传统,在这一刻他不是一个人在战斗,他不是一个人!

  ——托蒂,托蒂面对这个点球。他面对的是全世界意大利球迷的目光和期待。

  ——施瓦泽曾经在世界杯预选赛的附加赛中扑出过两个点球,托蒂肯定深知这一点,他还能够微笑着面对他面前的这个人吗?10秒钟以后他会是怎样的表情?

  ——球进啦!比赛结束了!意大利队获得了胜利,淘汰了澳大利亚队。他们没有再一次倒在希丁克的球队面前,伟大的意大利!伟大的意大利的左后卫!马尔蒂尼今天生日快乐!意大利万岁!

  ——这个点球是一个绝对理论上的决杀。绝对的死角,意大利队进入了八强!

  ——胜利属于意大利,属于格罗索,属于卡纳瓦罗,属于赞布罗塔,属于布冯,属于马尔蒂尼,属于所有热爱意大利足球的人!

  ——澳大利亚队也许会后悔的,希丁克,他在下半场多打一人的情况下他打得太保守、太沉稳了,他失去了自己的勇气,面对意大利悠久的历史和传统,他没有再拿出小组赛那样猛扑猛打的作风,他终于自食其果。他们该回家了,他们不用回遥远的澳大利亚,他们大多数都在欧洲生活,再见!

 



激情的黄健翔
6月 27, 2006, 2:02 上午
Filed under: 八卦杂谈
昨晚上只看了意大利对澳大利亚上半场,错过了老黄激情解说的直播,今天早上才知道这么回事,我听了之后第一反应觉得真是逗啊,老黄嘶哑的喊叫真是激情四射
 
一看网上评论,不少声讨之声,还有说他体现了民族劣根性,我觉得老黄这段解说虽然不妥,但是还罪不至此吧。余秋雨那次在cctv青年歌手大赛上碰上了那个连国旗都不认识的歌手,当时表示了震惊,但是余老师是文革的过来人,生怕这个老乡受什么打击,第二天去问cctv这个歌手会不会因为这个事降低分数,回答说没有,还是不放心,又去问这个歌手所在军事单位会不会处分这个歌手,回答说不会,过几天这个军事单位发了一个通知,让参加比赛的歌手以后碰上不会得文化课题不会就不回答,不要猜着回答,余老师才松了一口气。如余老师所言:“在一个狞厉的社会中,处处都布满了战场和刑场。在一个和谐和社会中,处处都充满着体谅和宽容。”
 


Automation Compatible Interface的Marshalling被oleaut32.dll包圆了
6月 26, 2006, 11:42 上午
Filed under: 技术体会
COM component动态存在于某个Apartment中,如果需要被其它Apartment的COM component调用,就需要做Marshalling,我理解Marshalling就是Serialization,因为每个Apartment有自己的message Loop,调用其它Apartment的COM接口,就是把调用序列化成message发送出去,异步的让对对方的loop处理,处理完结果再marshalling回来。
 
Marshalling和De-Marshalling的工作都应该有专人负责,也就是Proxy和Stub,Proxy在client端,Stub在server端。在Visual Studio里面新建一个ATL Project,比如MyCom,那么Wizard会自动产生一个MyComPS Project,PS就是Proxy/Stub的缩写。这个PS项目不需要我们去动它,MIDL会根据IDL文件自动更新它的,如果我们的MyCom有attributed支持,连IDL文件都不用写了,直接在C++ code中间添加attribute,编译器会根据这些attribute产生中间IDL文件的,缺省就是_MyCom.idl。所以我们不用太操心Proxy/Stub的生成,实际上,这些自动生成的Proxy/Stub很有可能派不上用场。
 
现在我们做一个COM component,差不多都会让他实现dual interface,因为这样既使得VB/VBS/JS等语言可以通过IDispatch调用,又可以方便C++程序通过指针调用。对于dual interface,函数的参数是受限制的,要求所有的参数类型都能为VARIANT支持,这是一个限制,也是一种简化,简化导致我们可以用一个general的Proxy/Stub实现来处理所有服从这个限制的interface的marshalling,实际上,MS已经提供了这样的实现,就是oleaut32.dll。
 
VS2005对ATL的支持实在惨不忍睹,居然有bug不能够往一个ATL Project里面添加ATL Simple Object,我只好再装了一个VS2003来演练。缺省,每个新添加的nterface都是dual,而且MyComPS都不在Solution的编译之列,所以build之后,在注册表里,接口的ProxyStubClsid32都是oleaut32.dll的GUID。
 
 


《Ice Age2》中间两个桥段的出处
6月 26, 2006, 9:14 上午
Filed under: 电影电视
昨天晚上睡不着觉,在床上胡思乱想,想到最近看的电影《Ice Age2》。往往就是这样,平时怎么都想不到的东西,在恍惚无意识之间,反而发现一些事情的联系。我昨晚在半睡半醒之间就想到,这个电影里面有两个地方模仿了以前电影的桥段。
 
一个是主角们在冰上行进时第一次遭到海怪袭击,在海怪露面之前,有一个俯视的镜头,透过冰可以看见海怪在下面游过去。这个桥段在《狂蟒之灾2》中用过,探险队员在涉水时也是一个俯视镜头,巨蟒就在队员身边游过,他们居然毫无知晓。
 
还有一个,刚开始的时候,动物们离开冰坝前往传说的那条船(我觉得就是所谓“诺亚方舟”,到后来看到只是一棵大枯树,编导有意曲调和主题无关的东西,处理的不错),冰坝上面掉下一块大并,毛象似乎有点感觉,顶着那块水里慢慢转过来的冰看,这时候剑齿虎招呼毛象快走,毛象犹豫了一下还是走了,就在它转身之后,那块冰终于转了180度,里面就是一只海怪,伴着一声尖锐的音乐,海怪的眼睛睁开了。这块我总觉得似曾相识,但时又想不起来出处,就在一边想这个问题的时候慢慢睡过去了……
 
今天在水木BBS上面问了一下这个桥段的出处,根据网友提示,发现这个桥段不少恐怖片里面都用过。比如《哥斯拉》中,一个美军士兵在地洞里搜索,对同伴说,这里没问题,就在他转身走开的时候,哥斯拉的大眼睛在他身后睁开了;但是我觉得《Ice Age 2》是直接模仿《生化危机》:病毒在地下基地泄露的时候,电脑把基地的科学家用各种方式屠杀了,有的是被关在玻璃墙的Office里面被充满的水淹死的,当特勤队员进入基地时,看到注满水的Office里面的漂浮物,说了几句废话就转身走开了,这时候——一个女尸在水中出现,伴着尖锐的音乐,她的一只手搭在了玻璃上。BBS上一个网友还友善的作了补充——“她的眼睛也在那个时候睁开了”TMD,我被他的补充吓了一跳幸好昨天晚上没有想出这段的出处,不然一晚上都不用睡觉了。