N76试用一周小记

尽管有点奢侈,抱着尝尝鲜的心情,我还是选择了N76,体验一把S60。

操作上,S60v3和S40基本一样,但是多出来4个键,让我一下子不能适应。系统菜单和多媒体键就不多了,还是蛮好用的,C键也非常方便,不过编辑键就土了一点,虽然能进行选中、复制、粘贴等操作,但是大多数时候是按下去没反应的,真应该考虑给它多安排点事做。还有一点不爽的是,在看短信的时候,按选择键,出来的菜单第一条是呼叫,而确认键的菜单第一条才是回复,明显不合理,这么方便的一个选择键,居然被安排到了呼叫,确认键又是那么得远=.=

外屏可以用来看短信、听音乐、拍照片,相当的好用,不过就是从口袋里拿出来的时候,容易按到键。

还有它自带的Realplayer太嫩了,我同事发来一个视频,在他的N73上放一点都不卡,但是在N76上就非常卡,换了个coreplayer,就一切都搞定了=.=

目前为止就发现这些问题,以后发现了再补。

加班奇遇……

上周五被拖去打了一会篮球,导致有一点事情没做完,所以今天从彭浦回来之后就直奔公司,把事情做完……

从公司出来的时候,发现下雨了,而且没带伞,郁闷……刚出楼的时候,看到一辆黑车和一辆taxi,于是飞奔过去,但是那两个司机居然没看到我,把车开走了T_T。无奈,只好走了很长一段路,到大路上。然后等了很久,才看到一辆空的taxi,上车之后,司机和我说,他的雨刮坏了……无语……挣扎了一下,如果我下车的话,可能还要等5-10分钟,衣服可能就全湿了,我的羽绒服不防水,估计明天就只能窝在家里了;如果我不下车的话,就是冒着生命危险乘3公里的车……最终还是没下车,没有雨刮真是刺激下,前方一片模糊,什么都看不见,不过还好一路上没什么车,也没什么人,基本上就是闭着眼往前开了……HOHO,很爽……

现在终于明白,为什么雨刮是一项伟大的发明了=.=

该是更新一下数码装备的时候了……

很早就许诺了要换手机了,但是由于工作到现在都比较挥霍,一直买不起=.=发现身边很多人都换手机了,心也有点痒,也想把手机换掉,然后再买个DC。

手机方面,我一向是Nokia的fan,其它品牌从来不看的。其实说白了手机最主要的用途是打电话和发短信,顶多再加个拍照,其它功能都是浮云,这样的话S40平台足够了,不过用了N年S40,总有点想换S60的冲动,但是S60的直板机大多键盘都很小,看不去不太好用,于是倾向于翻盖机,目前看好N76。高端机就算了,心有余而力不足=.=

DC方面,由于我那个不可思议、经常被BS的消费理念,DC可选的牌子只剩下为数不多的诸如Samsung和Kodak之流,虽然Kodak曾经是照相产业的龙头老大,不过它在DC方面的表现实在不怎么样,于是选了Samsung。由于我非常缺乏DC的知识,所以只比较了数字大小,选了Nv20,暂时就先这样吧……

这两个东东的价格都是2500+,接近3000的样子,目前的现金流刚刚好有点吃紧,唉,我忍,不就还有三周么,很快的=.=

没有最安全,只有更安全

目前木马和盗号在中国已经成为一种产业,据说世界上80%的木马出自中国。各种需要安全的网站纷纷采取了一些很恶心、BT的方法来防范木马。ActiveX插件就不说了,这个BT的东西造成了中国的网银无法用firefox访问。其它的最先看到的是工商银行的矩阵卡,它的实质是把密码的个数由一个变成了N个,从而造成盗号者收集数据的困难,但是这种方法并没有从本质上增加安全系数,WoW的密保卡很快被攻破,并产生了更牛的木马。而且矩阵卡大大降低了用户体验,与轻微的安全提升相比是得不偿失的。然后各大银行开始使用U盘,使得安全性上了一个台阶,但是用户成本也稍微提高了一些,而且如果有多个银行的账户的话,经常换U盘也不是一件方便的事。而且,U盘就真得安全么?

从网站的角度来说,目前能做到的最安全的手段也只有类似U盘一样外接硬件的技术了,估计很多公司都恨不得自己开发一个终端,然后扔给用户使用,保证没有病毒……

从用户的角度来说,其实防病毒的方法很多:

1、[简易]:装杀毒软件,定期升级、打补丁,不上乱七八糟的网站,不接收外来的可执行文件。

2、[中等]:在Administrator用户下把系统环境装好,然后切换到User账号下使用,可以确保系统目录的安全。

3、[困难]:有了病毒不要怕,手工删就是了。首先把可疑进程都关闭,然后把注册表启动项里的可疑项都删了,有一些可能无法关闭和删除,则重启然后重复上述操作,直到全删完为止。然后进Windows目录,把Windows目录和WindowsSystem32下的所有隐藏的和修改目期接近当前目期的exe和dll文件全删除。注:Windows下不会无缘无故附带隐藏文件,exe和dll也不会无缘无故修改自己。这样可以清除大多数病毒。

4、[终极]:格式化硬盘,重装系统,然后立即重复上述3条。

百度之星 2007 决赛

到达宾馆的当天晚上就有试机时间,坐定之后我赫然发现桌面上有CS1.6和CS1.5的图标=.=,然后就在我开始找有哪些IDE和可用资源的时候,主持人说:接下来我们开始分组打CS吧。巨寒……然后我们就按分组打CS了,我所在的1组由于实力非常牛,轻轻松松割掉了对面的2组。玩的时候有几个其它的客人在WTommy后面讨论:“你说他们这是在干什么那”,“游戏比赛嘛”,“不对,门口的牌子上面写的是‘程序设计比赛’”,“哦,他们在编程打CS”……由下文看来,这段话印证了一条古语:旁观者清,当事者迷。

第二天早上,比赛正式开始,题目上写着:实现一个CS1.5的Bot。于是大家都明白了,第一天的比赛是有原因的……然后下载了一个压缩包,包括MinGW的编译器、一个make程序、Half Life和Podbot的SDK,压缩包有27M,其中可以修改Podbot中的两个文件,每个文件包含5个函数,用于T和CT的买枪、枪械瞄准、手雷瞄准和一个基于A*的寻路算法(只允许改其中的g、h函数)。玩过CS的人都知道,这5个函数并不能实现CS的常规策略。对T而言,最简单的策略是全部冲向一个雷区,由于CT要分守两边,以多打少的胜率会相当大,实现这个策略需要对那个寻路算法和CS的路点机制非常了解,在比赛时间内做到这一点基本不可能;对CT而言,面对T的冲击,需要队员之间的通讯才能更好地防守,而CS的通讯机制我基本没看懂=.=

比赛中没有提供任何的API文档和说明,程序框架只能自己看代码,核心代码至少有几千行,我研究了2小时左右发现看懂框架不是5小时能完成的任务,于是放弃,只找有用的API。而且测试起来非常麻烦,一个完整的测试过程是:先把源代码make成dll,然后覆盖掉原来的文件,启动CS,开一个新游戏,加bot,观察bot行为,结束之后完全关闭CS。基本上主要的时间不是用在写代码上,而是在看bot打架和开关CS上。

原始压缩包中的代码是可以通过编译并且正常运行的,只不过运行出来的bot比较傻,但是只要在代码上修改一个参数,就可以使bot在三枪之内杀死一个人(某些威力极小的枪除外),由于CS的对战原理,这样的bot在1v1的情况下,谁先开枪谁赢,而且根据CS对bot的控制,“谁先开枪”是随机的。另外,评测的三个地图中有两个是埋雷地图,由于CT近乎弱智的拆雷AI,导致了CT唯一的赢面是在T没埋雷之前把带雷包的T干掉,然后守雷包,而CT能不能和带雷包的T相遇,基本上也是随机的。综上,评测的结果带有很大的随机性,多运行几次测试结果就很有可能改变,换句话说,决赛是拼RP的比赛。

比赛过程中最不爽的一点是主持人在不停地讲解比赛规则和透露代码细节,使我不得不边写代码边竖起耳朵听,还不能去洗手间,生怕漏掉点什么。比赛规则显然是可以在赛前就公开的,没必要放在比赛过程中说,貌似比赛组织者认为比赛毫无秘密可言,各种细节可以被选手猜出来,从初赛开始,很多问题都无法在赛前获得定论,比如STL的使用问题。而在比赛过程中透露代码细节,更是莫名其妙,比赛一开始主持人就说:这次比赛,阅读代码的能力也是考察范围之一。但是之后又不断的透露关键代码内容,看上去潜台词就是“一定要按我的思路走”。

颁奖典礼被放在了第三天的晚上,冠军是来自SJTU的某同学,据说是复赛第50名=.=。颁奖典礼除了颁奖就没其它的了,连个决赛的录像都没,难道选择CS做为比赛平台不是为了演示?只是在典礼结束的时候应广大选手的要求重新模拟了几场比赛,而比赛的结果也证实了其不可预料性。

比赛之外的活动还是相当不错的,滑雪、高尔夫、游泳,虽然我一个都不会=.=。滑雪的教练不错,很详细地讲解了各种细节,基本上滑雪过程中没出什么大问题。高尔夫就比较挫了,电视里看别人打高尔夫是非常休闲的运动,我们一上去就变成了体力活,要么打空,要么打到地上,相当地累=.=。游泳就不提了,说是说XX海洋世界,本以为会像热带风暴那样,结果就是一个水池,玩的东西都没有=.=。

第三天的时候还去参观了百度公司,见到了老Boss李彦宏。我不常用百度的产品,也就没提出什么有新意的问题,不过百度在中国的人气是不言而喻的,Google在中国的市场一时半会还无法和百度抗衡,曾经听说有人上百度之前先要上Google搜百度的网址,然后再去用百度搜索。不过百度的外文搜索能力比较差,就我个人而言,经常要搜索一些英文资料,百度显然是不能胜任的,而且大多数专业都是英文文献比较多,所以百度要想占领高端市场的话,还是要加强外语的搜索能力。

总体而言,决赛的组织和安排工作做得很周全,看得出一些细节方面是经过研究的,只不过经常拖时间,有点印度的感觉=.=。明年争取继续进决赛,争取拿熊^_^

屏蔽“应用程序错误”对话框

这件事的起因是我想把原来用Java写的SimpleJudge搬到.Net下,原先Java在调用本地应用程序的时候,如果应用程序出错,是不会弹出一个框说出错的,但是在.Net下,由于和Windows关系比较好,会直接把Exception扔给Windows,然后就弹出个“应用程序错误”的对话框。说实话这个框蛮烦的,内容就是一大堆地址,对绝大部分用户来说一点用都没有。

屏蔽的方法如下:

修改注册表(Win+R -> Regedit):HEKY_LOCAL_MACHINE\System\CurrentControlSet\Control\Windows\,然后修改ErrorMode项,其值为:

0:对所有的错误弹出对话框(默认值)

1:仅对应用程序的错误弹出对话框,即系统错误不弹出

2:对任何错误都不弹出对话框

修改完就OK了。

域名设置真麻烦

本来想把原来的bibtx.org的DNS直接设置到GoDaddy的server上,设置完之后,等了20几个小时,发现域名指向的IP一直在变,一会指向GoDaddy,一会指向原服务器,很郁闷,而且百思不得其解。后来偶然用whois查了一下bibtx.org,发现DNS列表里有4个服务器,前2个是原服务器的,后4个是GoDaddy的,于是明白了,由于代理商的缘故,前2个DNS应该是不能改的,太挫了。

后来想到域名转移到GoDaddy这里,GoDaddy要我提供一个Authorization Code的东西,查了一下中文叫“域名转移密码”,然后顺便发现网上有人说新网不提供域名转出服务,=.=,不就是个域名么,干啥这么想不开……

然后就重新注册了一个域名bibtx.com,然后在原来的空间做了重定向,暂时解决了这个问题。 大不了等bibtx.org到期了再在GoDaddy注册下,新网有必要做得这么挫么……