02 2007存档
《要塞》是我玩过的建设类游戏中最满意的,从结构、图像、音乐各方面来说都是一款不可多得的PC游戏。在02年打通了游戏后我一直期盼游戏开发商firefly再推出一款类似的游戏,当然,如果他能超越原来的我更高兴。终于在05年3月的时候《要塞2》出来了,但是玩过之后我非常失望。
现在不管什么PC游戏(也不管自己是什么类型的游戏),动不动就搞成3D,好像都成了显卡厂商的帮兄,连战棋这种图像无关紧要关键是策略的游戏都要用3D,真是一群混蛋!《要塞2》改成了3D,我的机器运行起来简直像看早期电影--画面断断续续,于是只好把效果关到最低,结果游戏里的人都成了一群四处跑动的多边形(很抽象派)。
不光是3D的问题,游戏中的生产系统、战争系统和第一代没有什么太大差别,稍有创新的就是领主通过吃饭穿衣可以获得光荣度,这些光荣度是招募士兵所必须的。
总体感觉没有什么进步,而且因为盲目跟风(做成3D),在用户群和游戏流畅性上还不如上一代。唉,《要塞2》,太让人失望了。
现在不管什么PC游戏(也不管自己是什么类型的游戏),动不动就搞成3D,好像都成了显卡厂商的帮兄,连战棋这种图像无关紧要关键是策略的游戏都要用3D,真是一群混蛋!《要塞2》改成了3D,我的机器运行起来简直像看早期电影--画面断断续续,于是只好把效果关到最低,结果游戏里的人都成了一群四处跑动的多边形(很抽象派)。
不光是3D的问题,游戏中的生产系统、战争系统和第一代没有什么太大差别,稍有创新的就是领主通过吃饭穿衣可以获得光荣度,这些光荣度是招募士兵所必须的。
总体感觉没有什么进步,而且因为盲目跟风(做成3D),在用户群和游戏流畅性上还不如上一代。唉,《要塞2》,太让人失望了。
今天不知道是什么节庆,晚饭时间到处都在放鞭炮,震得头晕。
26号就要出发去杭州,27号晚上就要坐火车回来,这安排,真是....
看了美剧《以防万一》(In case of emergency)的第一集,觉得还挺有趣,一群衰人的故事我最喜欢了。
26号就要出发去杭州,27号晚上就要坐火车回来,这安排,真是....
看了美剧《以防万一》(In case of emergency)的第一集,觉得还挺有趣,一群衰人的故事我最喜欢了。
从05年底起就在看美剧《罗马》,虽然情节有一点点拖沓,但其真实冷酷的对历史事件的完整再现很对我的胃口。昨天看到屋大维大败安东尼后,安东尼狼狈撤退,但仍然豪气不减,誓言击败屋大维这个“小子”,观者都能感受到这个强人最后的尊严。其实安东尼很难算上英雄,恃勇打仗还行,治理罗马却是一团糟,个人生活也骄奢糜烂,活像个政治流氓,但不管他英雄也好、狗熊也好,他总是一个人,是人就有尊严,影片能如此中立而公正的还原各历史人物的自尊,我非常欣赏和佩服。
恺撒击败了庞贝,庞贝逃到埃及结果被法老所杀,恺撒追回庞贝尸首给予厚葬并在葬礼上痛哭。我不觉得恺撒的眼泪是在做样子,那个时代还有比他的敌人庞贝更了解他的人吗(恺撒是庞贝一手栽培的)?可以说庞贝既是恺撒最大的敌人也是他几乎唯一的朋友,他岂能不痛哭?法老王是个彻头彻尾的流氓,他之前居然向恺撒提议羞辱庞贝的尸首以为恺撒会很乐意,结果恺撒极为愤怒的打断了他的“提议”,其怒状与自己受辱完全一样。这才是大英雄——尊重自己,也尊重自己的敌人。
忍不住又要说说那部《举起手来》,不知道冯小宁同学一世英明,怎么会拍出这样烂的电影,这部片子把日军描写成了一群白痴,但一部战争片如果把敌人描写成弱智就等于把自己描写成弱智,既不尊重历史又不尊重观众,侮辱了那场战争,也侮辱了导演自己。
恺撒击败了庞贝,庞贝逃到埃及结果被法老所杀,恺撒追回庞贝尸首给予厚葬并在葬礼上痛哭。我不觉得恺撒的眼泪是在做样子,那个时代还有比他的敌人庞贝更了解他的人吗(恺撒是庞贝一手栽培的)?可以说庞贝既是恺撒最大的敌人也是他几乎唯一的朋友,他岂能不痛哭?法老王是个彻头彻尾的流氓,他之前居然向恺撒提议羞辱庞贝的尸首以为恺撒会很乐意,结果恺撒极为愤怒的打断了他的“提议”,其怒状与自己受辱完全一样。这才是大英雄——尊重自己,也尊重自己的敌人。
忍不住又要说说那部《举起手来》,不知道冯小宁同学一世英明,怎么会拍出这样烂的电影,这部片子把日军描写成了一群白痴,但一部战争片如果把敌人描写成弱智就等于把自己描写成弱智,既不尊重历史又不尊重观众,侮辱了那场战争,也侮辱了导演自己。
好像自从google发家,几乎所有技术人员都盯上了它“发”出来的那几篇论文,比如gfs的、mapreduce的。它的技术确实漂亮,因为这些技术和框架都是它根据自己实际需要量身定做的,用在它自己那里当然是非常合适,但却不一定能用在别人身上。比如它什么都用分布式,那是因为搜索引擎有那么大量的数据要实时处理故而不得不如此,并不是因为分布式真的是解决海量计算的灵单妙药,更不是包治百病的万金油。但现在大家似乎动辄就谈分布式,好像身在互联网行业,如果不搞点“分布式”跟别人见面都不好意思打招呼。
前几天分猪肉(我们管分任务叫“分猪肉”),我领命处理大量数据(其实也不太大,估计也就几十G,和搜索引擎比真是小儿科了),马上就有同事提议用“分布式”,我倒不是反感分布式,我是心疼服务器和电费:我们的数据十天半个月才需要处理一次,就算是拿一台破点儿的服务器慢慢算也未尝不可;要是搞分布式,先得来个四五台服务器放着,平时都用不上,几个星期才让它算一次数据....太不环保了。没有最顶尖的技术,只有最合适的技术。
我没有反感google的意思,像google这样的技术型公司平地崛起,是我等技术人员拍手称快的好事,但正因为google是英雄,所以我们更要识英雄重英雄,而不只是一个劲的膜拜。
前几天分猪肉(我们管分任务叫“分猪肉”),我领命处理大量数据(其实也不太大,估计也就几十G,和搜索引擎比真是小儿科了),马上就有同事提议用“分布式”,我倒不是反感分布式,我是心疼服务器和电费:我们的数据十天半个月才需要处理一次,就算是拿一台破点儿的服务器慢慢算也未尝不可;要是搞分布式,先得来个四五台服务器放着,平时都用不上,几个星期才让它算一次数据....太不环保了。没有最顶尖的技术,只有最合适的技术。
我没有反感google的意思,像google这样的技术型公司平地崛起,是我等技术人员拍手称快的好事,但正因为google是英雄,所以我们更要识英雄重英雄,而不只是一个劲的膜拜。
奥匈帝国时期,一个人在首都维也纳高喊:“皇帝是个白痴 !”,几个秘密警察冲过来抓住了他,此人马上辩解:“我说的是德国皇帝”,警察却说:“别骗我们了,我们知道谁是白痴”,然后把他带走了。
怎么样?感觉和计算机没有什么关系?是有关系的,这个笑话的创作者就是冯.诺依曼。
怎么样?感觉和计算机没有什么关系?是有关系的,这个笑话的创作者就是冯.诺依曼。
到今天为止我已经搜集了三个例证证明《解放》有歪曲历史的情节。
上个世纪95年是二战结束50周年的纪念年,当年的夏季电视里经常播出反映二战的记录片、书店里讲那段历史的书也是猛然暴增,正巧那时我刚开始对历史感兴趣,所以大大的研究了一番。当时很想看看前苏联的二战电影比如《莫斯科保卫战》、《解放》等,但这些父辈们已经看腻了的电影那时候却偏偏没有放映。直到95年冬天厂电视台才突然放了一部《世纪的悲剧》,这可是前苏联二战电影的集合片,我等爱好者当然不会放过,但当时正赶上期末考试,没法儿看。后来高二(97年)总算零星碎散的看了《解放》,那时差不多是暑假,看得高兴极了。
我是很向往《解放》里那种英雄主义和革命乐观主义精神的,比爱情电影更豪气,比国内的战争片更大气(国内的战争片当时也就是土枪土炮,不如老毛子的坦克重炮来得爽)。但做为一部国家投资的宣传电影,它很难完全按照史实拍,更何况出于民族感情,他们当然会把自己描写为“欧洲的解放者”。
《解放》的后面几集,大概是倒数第二集:苏军已攻入德国国境,一个苏联将军在一个村子里的空地上看地图,突然一声枪响——有人想暗杀他,几个警卫冲出去抓回来一个十几岁的德国小男孩,“就是他刚才在放枪”警卫说:“将军同志,怎么处置他?”,将军看着这个灰头土脸的小男孩,“带他回家吧,让他妈妈....让他妈妈好好教训教训他!”。
事实上,苏军对投降的德国人常常是枪决,比如德国的223步兵团,全部就地枪决,固然因为他们杀害了卓娅,但全团被杀也太过残忍。俄国有托尔斯泰、有高尔基这的大文豪,他们笔下的俄国人民是何等忠厚何等善良,但俄国人或者说前苏联政府对战俘可从来不客气,德国投降的五万多战俘先是拉到莫斯科游街(在游街的时候居然有民众给这些战俘送吃的,毕竟还是有善良的人),再是运到西伯利亚的战俘营饱受折磨,后来遣返回德国的战俘不过几千人,其它人不是累死就是病死。难怪二战快结束时很多德国士兵都更愿意向英美联军投降。如果在真实战场,那个英勇的德国小男孩免不了挨一枪。
倒数第二集:朱可夫进攻柏林时,打开了上百盏探照灯,一方面给装甲部队引路,另一方面用强光给德国守军带来巨大的心理压力,苏军摧枯拉朽的冲破了德军的防线。
其实德军已经熟悉了朱可夫的打法,又猜准了苏军开打的时间,所以把阵地后撤了几公里,苏军进攻前的炮轰根本没有发挥效果,那些探照灯的作用也大打折扣。苏军后面的进攻其实很艰难,全靠强大的钢铁洪流才冲破敌军防线。
最丑恶的谎言在最后一集:希特勒为了阻止苏军通过地铁攻占总统府,下令放河水淹没地铁通道,在地铁里躲避战争的柏林居民惨遭厄运。
最近看的一个军事节目说:苏军进攻柏林时,遭到德国狙击手的不断射杀,而他们大多靠地铁来活动,所以苏军放开水闸淹没了地铁通道,造成了地铁里难民的惨重伤亡....到底是谁在“放水”?
其实,宣传电影本质上拍的只是神话而已,《解放》其实就是一部前苏联拍摄的二战版的《魔戒》,很难说哪里是史实,哪里是谎言。
上个世纪95年是二战结束50周年的纪念年,当年的夏季电视里经常播出反映二战的记录片、书店里讲那段历史的书也是猛然暴增,正巧那时我刚开始对历史感兴趣,所以大大的研究了一番。当时很想看看前苏联的二战电影比如《莫斯科保卫战》、《解放》等,但这些父辈们已经看腻了的电影那时候却偏偏没有放映。直到95年冬天厂电视台才突然放了一部《世纪的悲剧》,这可是前苏联二战电影的集合片,我等爱好者当然不会放过,但当时正赶上期末考试,没法儿看。后来高二(97年)总算零星碎散的看了《解放》,那时差不多是暑假,看得高兴极了。
我是很向往《解放》里那种英雄主义和革命乐观主义精神的,比爱情电影更豪气,比国内的战争片更大气(国内的战争片当时也就是土枪土炮,不如老毛子的坦克重炮来得爽)。但做为一部国家投资的宣传电影,它很难完全按照史实拍,更何况出于民族感情,他们当然会把自己描写为“欧洲的解放者”。
《解放》的后面几集,大概是倒数第二集:苏军已攻入德国国境,一个苏联将军在一个村子里的空地上看地图,突然一声枪响——有人想暗杀他,几个警卫冲出去抓回来一个十几岁的德国小男孩,“就是他刚才在放枪”警卫说:“将军同志,怎么处置他?”,将军看着这个灰头土脸的小男孩,“带他回家吧,让他妈妈....让他妈妈好好教训教训他!”。
事实上,苏军对投降的德国人常常是枪决,比如德国的223步兵团,全部就地枪决,固然因为他们杀害了卓娅,但全团被杀也太过残忍。俄国有托尔斯泰、有高尔基这的大文豪,他们笔下的俄国人民是何等忠厚何等善良,但俄国人或者说前苏联政府对战俘可从来不客气,德国投降的五万多战俘先是拉到莫斯科游街(在游街的时候居然有民众给这些战俘送吃的,毕竟还是有善良的人),再是运到西伯利亚的战俘营饱受折磨,后来遣返回德国的战俘不过几千人,其它人不是累死就是病死。难怪二战快结束时很多德国士兵都更愿意向英美联军投降。如果在真实战场,那个英勇的德国小男孩免不了挨一枪。
倒数第二集:朱可夫进攻柏林时,打开了上百盏探照灯,一方面给装甲部队引路,另一方面用强光给德国守军带来巨大的心理压力,苏军摧枯拉朽的冲破了德军的防线。
其实德军已经熟悉了朱可夫的打法,又猜准了苏军开打的时间,所以把阵地后撤了几公里,苏军进攻前的炮轰根本没有发挥效果,那些探照灯的作用也大打折扣。苏军后面的进攻其实很艰难,全靠强大的钢铁洪流才冲破敌军防线。
最丑恶的谎言在最后一集:希特勒为了阻止苏军通过地铁攻占总统府,下令放河水淹没地铁通道,在地铁里躲避战争的柏林居民惨遭厄运。
最近看的一个军事节目说:苏军进攻柏林时,遭到德国狙击手的不断射杀,而他们大多靠地铁来活动,所以苏军放开水闸淹没了地铁通道,造成了地铁里难民的惨重伤亡....到底是谁在“放水”?
其实,宣传电影本质上拍的只是神话而已,《解放》其实就是一部前苏联拍摄的二战版的《魔戒》,很难说哪里是史实,哪里是谎言。
昨天看了电影《波拉特》 ,我很久没有笑得这么开心了。虽然影片中的讽刺笑料过于恶毒,甚至有点恶心,但不管怎么说,它讽刺的都是现实中的事,比起《举起手来》的拿一群根本不存在的弱智寻开心,《波拉特》可是要好得多。
这次重构爬虫的过程中遇到了一个不小的麻烦,由于FreeBSD-4.11对线程的支持非常不佳(gethostbyname等系统函数不可重入),而使用多进程又太占内存,所以目标就定在“一个进程多个连接”。没有直接用socket而是用的libcurl中的multi_curl,当然“select()”还是免不了的。
麻烦很快就来了,建立连接的时候会阻塞在gethostbyname调用上,如果是多进程爬虫这种阻塞只影响一个进程,而现在在多个连接初始化的时候,它浪费的却是大家的时间。
为了让gethostbyname不再阻塞,我们试了dnscache、dnsmasq等DNS缓存软件,但问题还是存在,即对于一些不存在的域名dnscache不缓存,下次解析的时候程序还是会阻塞。这个cache有点名不符实。
折腾了两天后,我们终于采取了最后的方案:把libcurl中调用gethostbyname的函数替换为自己写的一个内存cache,不存在的域名也留记录,免得又阻塞。虽然动作大了点,这最后一招终于起作用了。
但很快发现虽然不阻塞了,但爬取速度连原来的一半都不到,而且如果curl数量太多,它们会都不返回(即用select始终问不到任何结果)。我郁闷之际,发现这个爬虫程序一跑,机器上的网络操作就无法进行。会不会是机器本身网络就有问题?问了问夏辉,原来开发机有400个连接数的限制。换用专门的测试机跑了一遍,搞定,速度够快且没有在DNS解析上阻塞。
麻烦很快就来了,建立连接的时候会阻塞在gethostbyname调用上,如果是多进程爬虫这种阻塞只影响一个进程,而现在在多个连接初始化的时候,它浪费的却是大家的时间。
为了让gethostbyname不再阻塞,我们试了dnscache、dnsmasq等DNS缓存软件,但问题还是存在,即对于一些不存在的域名dnscache不缓存,下次解析的时候程序还是会阻塞。这个cache有点名不符实。
折腾了两天后,我们终于采取了最后的方案:把libcurl中调用gethostbyname的函数替换为自己写的一个内存cache,不存在的域名也留记录,免得又阻塞。虽然动作大了点,这最后一招终于起作用了。
但很快发现虽然不阻塞了,但爬取速度连原来的一半都不到,而且如果curl数量太多,它们会都不返回(即用select始终问不到任何结果)。我郁闷之际,发现这个爬虫程序一跑,机器上的网络操作就无法进行。会不会是机器本身网络就有问题?问了问夏辉,原来开发机有400个连接数的限制。换用专门的测试机跑了一遍,搞定,速度够快且没有在DNS解析上阻塞。