Filed under: 八卦杂谈
本来以为这东西和Live Space很难结合,因为Live Space不让随便添加Custom HTML,我的live space上之前的Custom HTML模块也只是一个Powertoy,也就是微软程序员开发着玩的,不提供技术保证,今天添加Similog的代码的时候才发现,这个Custom HTML已经不是Powertoy了,可以登陆后直接在"Customize->Add Modules"中间看见这个模块,不知道Live Space什么时候升级成这样的。不过,很遗憾,Custom HTML模块中依然不能添加java script,所以无法通过Live Space做广告赚点外快 ,也无法使用Google Analytics统计网站访问情况。
Similog有意或者无意的考虑到很多网站不容许这样,所以嵌入的代码不是javascript,而是flash,不让迁入javascript可以说是为了安全考虑,不让迁入flash也就太老土了,毕竟连Live Space都支持迁入flash了。
Filed under: 电影电视
连Desperate Housewives也与时俱进了一把,最新的第四季第12集中有一句台词:“Tibetan monks remember the pie thing”,当然制作字幕的同志也不落人后,在第11集结尾处,字幕显示“Tibet Was, Is, And Will Always Be Part of China”。
Filed under: 技术体会
虽然入行就知道TDD(Test Driven Development)这回事,但是直到最近才真正在工作中这么做,有一整子会议特别多,几乎每日一会,正在写code屏幕上突然跳出要开会的提示,赶紧去开会,回来的时候要半天才弄清楚之前写到哪了,这可挺难受的,所以只能玩TDD了,每次回到座位上,先跑一下所有的Unit Testcases,不管是编译出错还是运行出错,立马能知道自己应该从哪里继续开始,当然没错最好:-) 现在没那么多会要开,但是这个习惯保留下来了,应该说这是一个好习惯。
TDD就和他的支持者们宣称的一样,是一件很容易让人上瘾的东西,人生经验告诉我们,什么东西容易上瘾,一定有陷阱,技术性的东西也不例外。
既然TDD,有一个指标就是Code Coverage,看你的Unit Test能够覆盖到多少被测的Working Code,如果你声称“我们已经实践了TDD了”,然后一看你的UT Code Coverage,只有1%,这和没有UT有什么区别,但是我们要不要争取100%的Code Converage呢?玩TDD很容易被这样的目标诱惑:运行,看xUnit的进度条全绿,Code Coverage 70%,找到一些没有被Cover到的Code,添加几个case让这块code,再运行,xUnit进度条变红了,修改一些code,再运行,xUnit全绿了,Code Coverage达到72%了,继续添加case增加Coverage……就和为了高分打游戏一样,程序员为了获得高code coverage孜孜不倦地修改和添加case,为了最高分——100%,我就曾经这样狂热,这好吗?不大好。
首先,Code Coverage高未必表示Code质量高。软件开发很复杂,不能用单一的标准来衡量,code coverage一定程度上能体现软件质量,很自然我们对70%被测过的code要比30%被测过的code更有信心,好歹开发人员用心关注了质量,但是这只限于cover到了,未必是按照实际情况cover到了。打个比方,修一座桥,最后测试的时候,你开一辆奥托上去碾来碾去,把每一寸地都轧到了,100% coverage,结果正式通车的时候,上来一辆解放牌大卡,桥塌了。
其次,为了达到高Code Coverage会让Testing Code复杂。
Testing Code对Working Code说:“不用怕,有我来掩护(Cover)你。”Working Code说:“那谁来掩护你呢?”
保持UT case简洁才是正道,不然,很有肯能写出本身就有问题的cases,那反复跑这样的cases只会重复错误。而且,达到100%Code Coverage,可能会造成很白的白盒测试(Whitebox Testing),这样会让Testing Code和Working Code联系过于紧密,当你想要修改working code的结构的时候,很容易break testing code。
最重要的,Code Coverage太高会导致ROI(Return of Investment)下降。资源永远都是有限的,有限的程序员,有限的时间,有限的精力,如何有效的分配这些资源获得最大产出是很重要的,把Code Coverage从0%提高到70%(这个数字并不具有代表性)的过程,ROI肯定会很高的,但是之后,ROI会下降,从99%到100%实在不能获得什么有意义的Return,而Investment却是巨大的。程序代码中总会有一些异常情况处理,我们应该尽量模拟这些异常情况,但是不要过了,比如某个函数入口处检查参数是否为null,如果是就抛一个异常,肉眼都能看得出来逻辑的正确性,实在没有必要造一个case看其在参数为null时的行为。
总之,不要追求100%的Code Coverage,而应该把精力集中在模拟code的实际使用情况上,就上面造桥的例子说,考虑清楚这座桥实际中会有什么样的use case,有哪些车会过,最多会有多少车会过,然后模拟这样的情况,这比开一辆奥托轧遍整个桥有意义得多。
Filed under: 工作心情
最近,Bill Gates在一次公开讲话中称谈到Open Source,称OS会导致“Nobody can ever improve the software”。有的国内媒体把这段话翻译成“没人能够提高软件性能”,我看不出原话有强调性能的意思,这些媒体的编辑的专业能力让人生疑。
BillG的说这话的上下文是在说今后Microsoft将致力于计算机技术和生物技术的结合(制造生化机械人吗?:-) ),而公司要生存和继续研发,就必须赚钱,而Open Source会导致赚不到钱,所以不能Open Source,程序员和BillG也要吃肉,肉都买不起了,怎么会有心情去improve software呢?
BillG的这个观点,真的是非常…既然BillG是老板,还是给他留点面子吧…比较荒谬!
看看事实,Open Source社区对软件的推动是有目共睹的,我觉得没有必要去一一列举了。至于吃肉的问题,当然不少在OS中作贡献的人士既有钱又有闲,有的还有大公司养着做全职OS,但是也有落魄程序员做OS软件的,比如BitTorrent。
我觉得这次BillG的这次失言可比当年那句“640K software is all the memory anybody would ever need on a computer”。
Filed under: 电影电视
此片要延续《指环王》的三部曲风格,但是故事情节本身就远没有《指环王》强,属于鸡肋片。片中小女孩的叔叔是最新一代的007扮演者,出场就让人感觉气度不凡,不过留了胡子都不认识他了。
Filed under: 电影电视
抵制家乐福的事情还没有尘埃落定,又看见抵制法国电影的事情。
张曼玉的前夫奥利维耶·阿萨亚斯拍了个电影《登机门》,最近VeryCD上也有了,有趣的是,在留言部分居然出现了“抵制法国电影”的口号,这就有点莫名其妙了哦:) 就像政治不应该绑定奥运一样,政治也不应该绑定电影,法国有不少电影还是不错的,当然也有不少垃圾作品,就这个《登机门》,我还没来得及看,但是据说就是一个垃圾。在VeryCD上已经有人回应了:“你这个傻瓜,我们在这看的哪个电影交了钱?反正都是D版,我们看得越多,法国电影损失就越多…”这段评论似乎已经被删除了,咳咳,这个哥们说话太直白了:)
补:今天看了,烂片一个,鉴定完毕。
Filed under: 八卦杂谈
Filed under: 城市丛林
为了迎接奥运,让外国人看到一个整洁的北京,最近到处可以看到修饰靠近街道房屋外观的工程。今天在路上看到好几个工人和蜘蛛侠一样在外墙工作,够辛苦的。不管怎么样,借奥运的东风, 北京市民的环境得到了一些改善,还是获得一些好处。
Filed under: 山河好大
不过,我们来看一下拿破仑的原话,只找到英文版,因为这话是对英国人说的,很有可能原话就是英文陈述的:“Let China sleep. When she awakens, the world will be SORRY.” 注意原话中用的是Sorry,不是Shocked或者Surprised,也有一种说法是“…She will shake the world”,我很怀疑这是杜撰,还有一种说法是拿破仑紧接着说“…虽然,她没有苏醒过来的迹象”。不管怎么样,有一点可以确认,拿破仑说这话的时候,已经被囚禁在大西洋的圣赫勒拿岛上三年了,肯定过得很不爽,这时候一个英国人从中国回来,根据所见所闻,觉得有必要靠武力敲开中国的大门,在回国报告之前,路过圣赫勒拿岛,就想去拜访一下拿破仑找点建议,当这个英国人说了他的想法之后,拿破仑就说了上面的话。我觉得这时候的拿破仑的精神状况估计很不高,处于你和他说东,他就说西的状态,处处和人反着干,他对中国的了解到底有多少,能够断言中国的命运?现在我们也没法确认拿破仑到底为什么说这句话了,不过,就在说这话之后不久,鸦片战争爆发,中国的苦难开始了。
不管拿破仑原意如何,中国人普遍认只要自我觉醒,世界就会震动,事实也的确如此。在电影《精武英雄》中,编导还安排了两个日本人的对话:
“日本现在就好比一只强壮的蚂蚁,它现在能够在中国占一点便宜,是因为中国这只大象还没有醒。”
“不过中国这只笨大象目前也没有要醒过来的样子。”
“但是她终究会醒的。”
话说回来,拿破仑说什么又有什么关系呢,他说这话的时候,中国被人欺负,他作古几百年了,中国终于开始强壮了,他的同胞后代们也坐不住了,让我深信当初拿破仑说的是SORRY,所以,走自己的路,让别人说去吧。
Filed under: 山河好大
如他所说,为什么不能放下有色眼镜,用平等的姿态和别人对话呢,可是就是有人不愿意这样做,而且西方世界这样的人还不少,这样的形势下,国人只有自强不息,做好事情就是最好的反击。