2007年10月25日星期四

解决了OGRE中渲染因为浮点数优化会崩溃的问题

使用的是OGRE 1.4.4版本。

当显示一个带有Alpha材质特效的图片时会遇到崩溃,在OgreRenderQueueSortingGrouping.h中172行

    // Different renderables, sort by depth
    Real adepth = a.renderable->getSquaredViewDepth(camera);
    Real bdepth = b.renderable->getSquaredViewDepth(camera); // This line
    if (adepth == bdepth)
    {
        // Must return deterministic result, doesn't matter what
        return a.pass < b.pass;
    }
错误是b中的内容非法。

排查以后,发现原来是这个函数(供STL比较使用)会返回不一致的结果,即第一次比较a & b说<,但是第二次会报>,结果导致STL混乱,错误的将vector中-1位的元素取出进行比较导致崩溃。

这个比较函数结果不一致的原因是renderable在计算距离时会cache到一个float中。而adepth == bdepth进行比较时,因为编译器进行了优化的缘故,实际将adepth这个float和刚刚调用b.renderable返回的double进行了比较,因为精度原因结果不相同。而第二次进行比较时,将renderable中的cache取回,都是float,所以比较结果相同。而进一步比较a.pass & b.pass时恰好和上一次比较结果相反。

Real adepth = a.renderable->getSquaredViewDepth(camera);
104FDF59 mov eax,dword ptr [ecx]
104FDF5B mov edx,dword ptr [esi]
104FDF5D mov eax,dword ptr [eax+20h]
104FDF60 push edx
104FDF61 call eax
104FDF63 fstp dword ptr [esp+10h]
Real bdepth = b.renderable->getSquaredViewDepth(camera);
104FDF67 mov ecx,dword ptr [edi]
104FDF69 mov edx,dword ptr [ecx]
104FDF6B mov eax,dword ptr [esi]
104FDF6D mov edx,dword ptr [edx+20h]
104FDF70 push eax
104FDF71 call edx
if (adepth == bdepth)
104FDF73 fld st(0)
104FDF75 fld dword ptr [esp+10h]
104FDF79 fucom st(1) 

104FDF7B fnstsw ax 

红色处为导致问题的地方。

OGRE 1.4.5解决了这个问题。方案:采用Math::equal进行比较。

2007年10月15日星期一

招聘随笔

在网上遇到一个人求职,交谈了一下,的确让人有些感慨,程序员水平高低是次要的,首要的是先应学会如何去分辨好与坏。

ps:网游数码的《大话战国》做的还是不错的。

QQ上的对话如下,因为并没有征得当事人的同意,所以略去了他的姓名。

doing 20:50:48
帮我写一段程序,求1-100之间所有的素数

doing 20:50:57
直接贴在QQ上就好了

Anonymous 20:51:11
我只会用VC写哈

doing 20:51:57
用C就可以了

doing 20:52:01
我看的是代码

Anonymous 20:52:47
好吧

Anonymous 20:54:08
for(i=0,i<100,i++)

Anonymous 20:56:39
还是用VC写好了

doing 20:57:07
用VC有什么区别么?

Anonymous 20:58:32
我用QQ换行就发出去了

doing 20:59:21
做附件给我好了

Anonymous 21:15:22
#include

int main()
{
    int i,j,flag;
    for(i=0;i<100;i++)
    {
        if(i%2)//不能被2整除
        {
            for(flag=1,j=3;flag&&j
            {
                if(!(i%j)){flag=0;}//如果能被整除就不是
            }
            if(flag)printf("%3d是素数\n",i);
        }
    }
}

Anonymous 21:15:26
看起来蛮小

Anonymous 21:15:32
竟然出了2次错误

Anonymous 21:15:47
题目还是有点难度的

doing 21:16:01
en 你的基本功还需要提高

doing 21:16:13
代码写的还是不够清晰

Anonymous 21:16:31
是是

Anonymous 21:16:45
你哪个公司的啊

doing 21:17:03
我在厦门

Anonymous 21:17:54
做这种题目我的确不熟练

doing 21:18:21
这是看看本身你书写代码的基本功,并不是考察算法什么的

Anonymous 21:18:29
因为算法我就不知道

Anonymous 21:18:38
想了半天才明白的

doing 21:18:42
你在用计算机语言表达方面还是需要提高的

Anonymous 21:18:51
是的是的

Anonymous 21:19:08
多谢指教 呵呵

Anonymous 21:19:37
#include
int main()
{
    int n1,nm,i,j,flag,count=0;
    do{
        printf("Input START and END=?");
        scanf("%d%d",&n1,&nm); /*输入求素数的范围*/
    }while(!(n1>0&&n1
    printf("...........PRIME TABLE(%d--%d)............\n",n1,nm);
    if(n1==1||n1==2) /*处理素数2*/
    {
        printf("%4d",2);
        n1=3;count++;
    }
    for(i=n1;i<=nm;i++) /*判定指定范围内的整数是否为素数*/
    {
        if(!(i%2))continue;
        for(flag=1,j=3;flag&&j
            /*判定能否被从3到整数的一半中的某一数所整除*/
            if(!(i%j))flag=0; /*若能整除则不是素数*/
        if(flag) printf(++count%15?"%4d":"%4d\n",i);
    }
}

Anonymous 21:19:40
这个如何?

doing 21:21:09
没有变化

Anonymous 21:22:18
呵呵 C语言编程百例书上的源码 我咋想不到算法 于是就搜索到参考一下

Anonymous 21:22:32
可能你水平高太多了

Anonymous 21:22:55
我能参考到的代码风格档次可能就不行

doing 21:23:30
基本功欠缺,至少目前你不适合做程序人员,否则你很难出头

Anonymous 21:23:53
呵呵 或许吧.

Anonymous 21:24:15
网游数码的上司可是说我非常适合做程序

Anonymous 21:24:24
思路清晰 逻辑严密

Anonymous 21:25:19
你眼光未免太锐利了一些 从这么小的东西竟然能看出人是否适合做程序 呵呵

Anonymous 21:25:48
我在网游写的那几个软件 老板都夸的不得了 是几个程序员都没搞好的我搞好了.

Anonymous 21:26:35
我不想和你多说什么 你选择程序员的考察方式似乎不是太有效.或许你可能错误其他人才 当然不是我 因为我不想去厦门

2007年10月11日星期四

如何学习过程化语言

什么是过程化语言

首先,绝大部分人只接触过、或者说,只需要掌握过程化语言。所谓的面向对象语言(相对面向过程而言)也是过程化的语言。

目前非过程化的语言有lisp、prolog、verilog等,我们编写应用软件时一般不需要使用它们。

学习时间

应该在一周以内,当然,学习完毕并不意味这我们已经熟练的掌握它,一开始我们还需要使用工具书和各类帮助。

学习内容

我们应该准备一本该语言的教材,尽快完成所有章节以及实例,以掌握以下内容为衡量是否完成学习该语言。
  1. 基本语法(赋值、分支、循环、定义&执行函数/过程)
  2. 基本数据结构:整数、浮点、字符串、结构等
  3. 复合数据结构:链表、数组、映射、集合等
  4. I/O操作
  5. 标准库函数

应用语言

当我们学习完毕以后,应该准备一本该语言的工具书(函数、技巧说明)。利用一门语言开发,主要是有效的组织该语言所有的标准库函数、过程,和集成第三方功能(可以从类似CodeProject等网站查找自己所需要的第三方功能)。

Copied from wiki.g-bits.com

2007年10月8日星期一

我们最缺乏的是服务意识

从10.1开始,长沙机房就不停出问题,导致10几个区每天都有若干次突然断线,导致在线战斗的玩家全体阵亡,损失巨大,玩家意见很大。我朋友把群名修改成了“绝望的问道”,以示不满。

在这个环节中,看上去是因为机房反应速度慢,有了问题没有排查的能力,但是实际上,是全行业缺乏服务意识。
  1. 最直接的,机房人员没有去核查网络是否有问题,我们一直ping都掉包了,他们还认为没有问题;
  2. 其次,运营商对机房人员的催促力度不够,没有把事情太放在心上,也没有采用相应的技术手段去确定故障点;
  3. 最后,作为开发人员也没有用心去了解用户的反馈,发现并解决问题。
其实,从推卸责任的角度来看,每个人都有充分的理由辩解,至少开发人员可以认为:
  1. 这是运营商的事情,他们不去搞定我们有什么办法?
  2. 如果网络都断了,我还能怎么办?
而事实上,用户不会去试图分解问题,并落实责任人,他们看到的只是这个产品有问题。每一个参与这个产品的人都要有服务意识,如何尽自己的能力帮助用户。作为开发人员,我们也有义务去督促运营商,去改进自己的技术,降低意外发生时受到的影响。你只要把用户放在第一位,你总会发现有提供的地方的。

如果说,这个该甲负责,和我无关;那个该乙负责,和我无关。那么,你做的并不比别人更高明,凭什么想获得一个更好的结果呢?

做事,追求的是岗位明确,职责清晰,各人负责好份内所有的事情即可。然而,我们所有人应该有一个意识:用户所有的问题都是我们份内的事情。

2007年10月7日星期日

汉语编程?

今天看了一个帖子,鼓吹汉语编程的。

这个似乎也不是什么新鲜话题,将编程语言汉化好象是由来已久的命题。从我的角度来看,迄今为止,尚没有任何一门有价值的汉语编程语言。事实上我也想不出怎么才能做出一门有价值的“汉语编程”语言。

程序语言只是用某种方法表达出某些逻辑,不管你用什么语言,只要类型相同(比如我们常见的过程式语言 - 不要被什么面向对象給忽悠了,它也是过程式的语言,绝大部分程序员只见过过程式的语言),那么语言本质上没有区别。而用什么方法进行表达,那只不过是形式上的区别。为了简练,语言大量的使用符号表述,所谓的英语编程,其实只是用英文字母拼为单词作为符号而已。目前已有的编程语言除了保留字恰好是一个英文单词,其它方面和英语没有什么任何的关系。基于这点,搞“汉语编程”只能是一个伪命题。

目前看来,只有到了用自然语言编程的时候,才有汉、英之分。

所以我看了这个帖子,真是被震惊了,而且是被震动的惨绝人寰... 这个世界上还有这种专业人士?

原文出处:http://bbs.tiexue.net/post2_2285624_1.html

2007年10月6日星期六

原来邵逸夫还健在...

在我读书的时候,学校有一个逸夫楼,当时还以为他老人家已然作古。

不曾想,原来他老人家现在的确是百年之后了,但是依然健在。

宋美龄走过整个20世纪,张学良几乎也可以算是走过了整个20世纪,百年沧桑,似乎也并不漫长。

邵逸夫相关帖子:http://cache.tianya.cn/publicforum/content/funinfo/1/1019165.shtml
宋美龄相关资料:http://baike.baidu.com/view/6563.htm
张学良相关资料:http://baike.baidu.com/view/4095.htm

个人资料

今天比较无聊,点击了一下个人中心,才发现有很多资料可以填写,于是便一一补齐,这个过程着实反思了一下自己。

1. 我最喜欢的书籍

看了这个,我仔细想了一下,第一个蹦出来的是武侠小说,可是喜欢吗?好像看过就算了。第二个蹦出来的是《十万个为什么》... 现在看上去感觉也一般。于是第三个蹦出来的... 《史记》,恩,这个好,小故事多,当时我看的挺起劲,现在也喜欢看,那就是它了。另外就是《三国志》,记得第一次看是在孙阳家里,无意中看到《三国志》,真是直流口水啊,赶紧去买了一本细细研究,好书,我喜欢。

2. 我最喜欢听的音乐

这个,我身为盖世音盲,迄今为止,除了先天失聪的,好像还没有看到过谁比我更没有乐感,我能喜欢什么音乐呢?但是暗自思来,还是发现有一些爱好的,记得中学做完广播体操的时候,学校播音室播放的就是《命运》,听着很爽,后来还特地买过理查德克莱德曼弹奏的CD,上baidu的mp3搜索重温了一下,果然不错,那就是它了。临来又想起了《土耳其进行曲》,挺有感觉,可以作为二号选手登场。

其实孟庭苇的《风中有朵雨做的云》当时听着也挺喜欢,但是某年春节晚会,孟姐姐眼睛朦胧,相貌浮肿,穿了件睡衣就跑出来唱歌,可把我吓了一跳。央视导演还真是毁人不倦,从此让我对她印象大坏,连带着歌也受了牵连。

屠洪刚的《精忠报国》也颇为不错,很有力度,不过听说他那个啥啥啥,弄得我对他的歌曲也难免有点看法,算了。

3. 我最喜欢看的电影

这个让我颇费心思,我不是一个喜欢看电影的人,记性又坏,对电影大部分都是糊里糊涂的。前两天刚好重温过《Matrix - Reloaded》,感觉还不错,Neo挺帅,不像超人那么土气。那就算上它把,但是我觉得这个无论如何不能排第一,否则我宁可不排。于是我搜索了一遍星爷的片子,感觉有遗憾,又想了一遍冯小刚的片子,仍有遗憾,突然想到《回到未来》三部曲,这个我看过几次,印象上佳,于是便把它排到了第一位,《Matrix》凑合在第二位吧。

4. 我最喜欢的运动

没有疑问,就是乒乓球,要说别的运动我也不行啊。

5. 我最欣赏的人

这个比较难答,要说我鄙视的,倒是一箩筐。不过想想还是找出来一位,墨子这个喜欢搞自然科学的,我比较喜欢。

6. 我其他的兴趣爱好

我就喜欢工作... 总不能拿这个做爱好吧,工作之余?似乎旅游也可以 - 我所谓的“旅游”不如称之为“旅睡”更佳,就是到了一个地方,睡上它几天。

7. 我喜欢的品牌

本来是没有的,可是看看我正用的电脑,似乎我帮衬Thinkpad不是一次两次了,这个实在是居家旅行之必备设备啊,比SONY的VAIO好,于是首先入围。然后考虑了一下,Apple的东西挺好,比较时尚,也够实用,加上一个。想起了Apple,便又想起了BMW,这家伙,丑的有性格,漂亮的也很出众,多算上你一个吧。我们要支持国货,但是国内的品牌我翻来覆去,只能想到四川火锅,好像和品牌也没有什么联系,只好拉个远房亲戚来充数了。当然,东来顺的确不错,很有印象,下次去北京,得狠宰王磊一顿。

2007年10月5日星期五

语不惊人死不休

有些错别字,为了保证原汁原味,就不修改了

doing 22:54:56
我看了下mx世界
风之痕迹 22:55:02
哦?如何?
doing 22:55:06
似乎QQ广告效果也一般
doing 22:55:10
游戏本身我是没什么可说的
风之痕迹 22:55:16
嗯。。。
风之痕迹 22:56:05
其他呢?
doing 22:56:43
我是说QQ广告的效果
风之痕迹 22:56:50
恩,en
doing 22:56:59
你能不能获得一些比较new的消息?
风之痕迹 22:57:02
qq广告的确不如以前了
风之痕迹 22:57:05
哪方面?
doing 22:57:10
mxsj的
风之痕迹 22:57:15
您老人家一交待,俺们就去做
doing 22:57:17
@@
doing 22:57:27
为什么说QQ广告不如以前了呢?
风之痕迹 22:57:34
恩,那回头俺去打听打听了
风之痕迹 22:57:45
恩,这个是广告公司说的
风之痕迹 22:57:49
不敢打包票
doing 22:57:50
做广告,还是要与不惊人死不休
doing 22:58:08
我觉得mxsj的广告词不够煽动
doing 22:58:12
太平淡
风之痕迹 22:58:14
据他们检测的结果,现在qq广告的质量明显比之前有所下降
风之痕迹 22:58:17
恩。。。
风之痕迹 22:58:24
语不惊人死不休
doing 22:58:23
哪个广告公司说的
风之痕迹 22:58:29
腾信
doing 22:58:51
要说自己的游戏就是本世纪最牛X的,投资X亿什么的,就是能吸引眼球
风之痕迹 22:58:58
恩,那倒是
风之痕迹 22:59:07
回头就给问鼎这个宣传词
doing 22:59:11
怎么感觉是藤哥表弟开的
风之痕迹 22:59:16
投资数十亿美金开发的
doing 22:59:20
要王死里吹
doing 22:59:28
那样太弱智了...
风之痕迹 22:59:48
linux系统下面开发的游戏
风之痕迹 22:59:56
投资数十亿美金开发的linux系统下面开发的游戏
doing 23:00:08
要说是投资10亿美金,开发的24部史诗剧作的序章
风之痕迹 23:00:17
哈哈
风之痕迹 23:00:24
恩,这个比较有才
doing 23:00:25
以apple为开发平台
风之痕迹 23:00:36
。。。。。
doing 23:00:59
用的是IBM的服务器,采用了航天飞机的技术,和火星车用的是同一家的平台...
doing 23:01:57
现在大家有福音了,为了广大windows用户,我们奋战了一月,耗资千万... 将它移植到了windows机器上
风之痕迹 23:02:24
奋战了一个月,耗资千万?
doing 23:02:34
没办法,设备贵啊
风之痕迹 23:02:45
恩,我以为你说window系统贵呢
风之痕迹 23:02:47
。。。。。。。
doing 23:02:59
那移植用的机器一跑起来,一天光电费就是20万...
doing 23:03:22
牛吧?
doing 23:03:32
不知道会不会被评为史上最恶心的广告
风之痕迹 23:03:41
恩,而且还需要30万的水费,来做降温
风之痕迹 23:03:54
恩,目前最恶心的好像是如来神掌
doing 23:04:09
我把这段对话贴到blog上去...
风之痕迹 23:04:20
.....
风之痕迹 23:04:41
恩,把我说的删掉就行

请大家应风之痕迹的要求,从肉眼中将他老人家过滤掉...

吾生也有涯而知也无涯

自以为常见字应该都认得,常见的词也都晓得意思。可是今天看电视节目,突然发现“熠熠闪光”头两个字完全没有概念,原来念“yi”,这么简单的字看了不少次,但是从来没有想过如何念的问题。联想起前两天同事问我“鼋鼍”(yuan tuo)怎么念,我当时就是一呆...

语文算是我半个熟悉的领域,有所愚昧或许正常。然而就算是我自认为精通的领域,也有太多不知道的地方。前一段时间,翻看一些C++的FAQ,才发现原来有一些秘籍,我从来就没有接触过,也未曾考虑过。

感慨归感慨,所谓“以有涯随无涯,殆已”,人生在世,寿命有限,学到哪里就算哪里吧。

从“广电总局要求加强审查影视剧中吸烟镜头”想开去的

广电总局总算又干了见好事。

吸烟有害健康,这点没什么可讨论的。虽然一个人在不妨碍他人的情况下有吸烟的自由,不过整个社会有义务不提倡吸烟行为。我一直很奇怪为什么很多影视剧喜欢用吸烟来表达人物的心理行为:

当一个人沉思时,手掐一根烟,面前烟雾缭绕;
当一个人决定时,把烟在烟灰缸中用力戳灭;
当一个人发狠时,将烟头狠狠往地上一扔;
当一个人放松时,深吸一口烟,然后慢慢吐出;

一定要用这种手段来表现吗?为什么不能用其他手段来表现,减少青少年对这种行为的模仿呢?或曰:这样才真实,我看:与其在这里真实,还不如在别的地方下点功夫。如果要真实,为什么在古装戏里还要说普通话,还不是为了让观众更容易理解?现在影视剧里,即使是周恩来、邓小平也要说普通话了,这些无损于影视剧的表现力。想要真实,应该在没有不良提倡、不影响沟通的基础上下功夫。

除了吸烟,影视剧中还有很多不好的细节。比如上车,我很少看到国内的演员会系安全带,然而即使是韩国人的片子,也会有这个下意识的动作,看来我们还不如韩国人啊。


原文出处:http://news.sina.com.cn/c/2007-10-05/012214023565.shtml

假如国庆是6月1日

经过演变,现在我们有三个长假,即春节、劳动节、国庆节。每个节日都是补两天,然后连放七天。其中的间隔是:

春节-劳动节:3个月
劳动节-国庆:5个月
国庆节-春节:4个月

分布还是比较均匀的。基本上,可以说是“隔三岔五”就有一个黄金周。

但是如果国庆不是现在的10月1日,而是和儿童节一天呢?那么黄金周会怎么分布呢?

首先,我看劳动节这个不咸不淡的节日就要胎死腹中了,即便有,最多也是一天。

春节是万节之王,地位不能撼动。国庆倘若在6月1日,相隔是4个月,领走一个名额也是顺理成章的。那么10月份左右还有什么可以拿来放的节呢?似乎只有中秋、重阳有资格竞选,相比之下,可能是中秋更胜一筹。这么说来:

春节-国庆:4个月
国庆-中秋:4个月
中秋-春节;4个月

看上去好像更完美啊。

其实,黄金周这个设定我很不喜欢,一旦到了长假,我躲在家中不敢出门 - 外面是人山人海,这简直就是有意制造出来的系统颠簸。与其这么放,还不如:

春节不用补假,连放9天
儿童节、端午、中秋、重阳各放一天

加在一起也是9天。

2007年10月4日星期四

从普通人的眼里看中国经济

我不能从经济学家的角度来讨论这个问题,首先我不是,其次那未免太严肃。


现在老百姓最关心的就是房价,不管有房还是没房的;其次就是股市,现在手里握着股票的人可是不少,而且每天开户入市的人还以超过20万的数量在增长。

对于房价,我的感觉就是惊天动地,这一轮房价(最近5年),应该是上海领涨,然后杭州、北京飞升,现在是厦门、深圳不甘寂寞,踊跃翻番。

我搜集了一下北京、上海、深圳、厦门的二手房交易和租赁信息(选择二手房的原因是新房为了促销,给出的均价都不准确),大抵如下(受到搜索的技术限制,无法针对同一个楼盘统计)

以现状看来,一般来说,每平方米的交易价格都在1万元左右。100平方米左右的房子就是100万元,想当年百万富翁是一个罕见物,现在城市里矗着一个个“百万富翁”,风吹日晒。

一般来说,房价相当于20年的租金(相当于20倍市盈率)是一个合理值,现在有多少100万元的房子能够租出4000元的价格呢?

先看看从1990年到现在股市指数的走势:



再看看现在的位置,真是高处不胜寒啊。

历史中,类似的暴涨并不是第一次了,92年(看最左面那个峭壁)大涨之后,又被打回原型,之后暴涨暴跌,起起伏伏,这次不过是历史重现而已,我不知道它什么时候掉下来,但是掉下来是毋庸置疑的。如果没有大幅度的通货膨胀,掉到3000点以下才正常。

从根本上,股市是一个投资的手段,如果没有20倍以内的市盈率,还投资股市干嘛?指望倒买倒卖?现在的股市不过是击鼓传花,搏傻而已,看谁接最后一棒。同样一只股票,A股价格比H股价格高几倍,而A股一般还不分红,何其没有天理。

楼市大涨,GDP受益,股市飞升,国民财富翻倍,真没想到总设计师的三步走如此轻易的就达到了。

以我看来,未来可能的变化:
  1. 房价不动,股市稳住,大幅度通涨 - 这一轮下来,相当于啥都没变化,就是人民币汇率暴涨,抑制了出口,反过来打击国内的经济,导致衰退
  2. 房价下跌,股市下跌 - 这可能会有无数坏账,银行装死,放贷幅度减少,百姓恐慌,还是免不了导致经济衰退
真希望是第3种变化。

参考资料:

A股开户人数的相关新闻
http://money.163.com/07/0606/07/3G9ORLB200251LIE.html

北京二手房交易信息(搜房网)




北京二手房租赁信息(搜房网)



上海二手房交易信息(搜房网)



上海二手房租赁信息(搜房网)



(当时截图缺了价格,我搬blog的时候才发现)

深圳二手房交易信息(搜房网)

深圳二手房租赁信息(搜房网)



厦门二手房交易信息(搜房网)



厦门二手房租赁信息(搜房网)

2007年10月3日星期三

QQ广告的效果

昨天在QQ上看到了梦想世界的广告,今天关注了一下Alexa上的流量统计,以观察这个广告的效果。
baidu搜索量



汉字,英文,孰优孰劣?

作为中国人,讨论这个问题可是有点冒天下之大不韪,好在这里人丁稀薄,不会被唾液淹死。

如果是简繁之争,我是铁杆简派。
如果是二零零零年之前,我坚定拥护汉字。
但是现在,我却很难下此定论。

汉语有足够绚烂的文化,但是英语也有优雅的底蕴,以文化评价两个方案的优劣,没有意义。

汉字能锻炼智力,表意文字能够激发想象,可是这点我并没有找到足够多的证据。而且怎么看,英国人、美国人似乎也不笨。

汉字有艺术感。这点的确没错,不过文字是用来交流的,艺术和交流有什么关系?

汉字描述内容,比英文简短。的确如此,但是自从有了压缩算法以后,英文文档并不会比中文更长。确切地说,依据信息学的理论推导,在信息量一定的情况下,用哪种文字表达没有关系。

从计算机的角度来说,汉字比起英语来,处理起来更麻烦。需要考虑制作输入法,字库较大,渲染也复杂,耗费资源多。

看上去,汉字真不如英文吗?

繁体字,简体字,孰优孰劣?

自从第一次简化字诞生以来,这个争议就没有停止过。确切的说,简化字就是在争吵中诞生的。

我是坚决赞同简化字的。

拥护繁体字的拥趸认为:
  1. 繁体字是文化的表现,不应更改;
  2. 繁体字美观;
  3. 简体字合并了一些本来不同含义的字,破坏了原先的含义;
  4. 简体字搞分家,结果现在汉字有两套,甚至计算机编码都不统一,造成混乱。
我的看法:
  1. 文化是积累,汉字从最早的象形文字进化到现在的表意文字,持续进步、沉淀成为文化。如果汉字最后一次变革是进步,那么简体字为什么就不能是?是还是不是,不是由是否变革来决定的,而应该实际考察新方案的优缺;
  2. 都说书法家喜欢用繁体字,美观。我当然赞同,问题在于,那是大字,在小字的领域内,笔划更少才美观。在16x16像素以内的范围内,繁体字笔划经常都挤到一起去了,可谈不上美观;
  3. 语义一直在变化,汉字在演变的过程中,不停的有类似的情况。简体字给我们阅读、传达含义带来了不便吗?我没有看到,既然能够用更少的汉字说明问题,为什么要那么多?别和我谈“那干脆拼音算了”,因为“拼音方案”好不好本身就是有争议的;
  4. 这是政治因素造成的,从客观的角度来看,在制定标准时,我们当初就应该让多方坐在一起商讨方案,只要是大家更搞一套,那就肯定出现不同,即使是没有简体字,也会有两套编码。

2007年10月1日星期一

梦想世界公测了

不介绍它的背景了,如果你关心回合制游戏的开发,自然就应该知道。

公司几个同事上去体验了一下,看法各有不同之处,我只看了看画面和同事的反映,感觉如下:
  1. 画面比较清爽,总之是我喜欢的风格
  2. 界面不错
  3. 玩起来比较轻松,而且能够让人一直玩下去
  4. 论坛上的气氛比较热烈,拥护徐波人比较多
  5. 更新很快,每天一次
有人分析梦想世界能不能成功?我想,首先需要定义一下什么算是成功,这个命题才有讨论的价值。

以我看来,如果梦想世界的团队围绕着用户,不断的解决问题,满足用户的实际需求,养活公司并且迈向更高的一个台阶,并不难啊。目前看来,最艰难的一个槛,就是开始收费的时候。我个人是不赞同限制用户只能用付费方式的。

附:

梦想世界在Alexa的流量图

有关LPC

1. 什么是LPC?

也许这不是一个问题,但是看来,它的确是一个需要询问的东西。通过google,我知道:

"LPC is a small, object oriented type C language developed by Lars Pensj? for LP-MUD"

对我而言,LPC更多的是一个专有名词,来給一个语言命名。

总的来说,LPC是一种面向对象的类C语言,具有C的语法,但是数据结构有着比较大的差异,没有指针、没有结构。

2. 我为什么采用它作为服务器端的基础?

这个来源应该说有点诡秘。如果让我重新做一遍选择,我可能、或者说很可能并不采用它。

在2001-2002年这段时间,我比较清闲。因为以前做过文字MUD,觉得驱动LPC语言的MudOS功能比较薄弱,并且设计上有一些令人不满意的地方。于是我花时间重新制作了一个解释器。到后来,当我进入网络游戏领域时,我便采用了它,事实上,采用VM来驱动服务器是我必然的选择(用C++实现的服务器,呃,那会是一场噩梦),问题是我应该选择哪一款VM。

应该说采用目前这个解释器,至少有以下缺点:
  1. 它不够流行,缺乏很多第三方库的支援,了解的人也比较少
  2. 它还不够成熟,因为是自己写的,开发时间有限,所以很多功能有欠缺
  3. 听起来它不是那么威武,不像Java和C井那么让人尊重,这是很重要的一点,因为你不能出去忽悠人 :)
所以如果让我穿越回2004年跨入网络游戏这个领域的时候,我可能会采用Java。但是现在,我只有义无反顾的坚持下去,因为它还有几个优点:
  1. 比Java容易集成C/C++的库 - 所以第三方的库并不是大问题
  2. 容易掌握,很接近C,学习起来足够简单,以往事实证明,即使是策划也可以堆砌LPC代码
  3. 出错时容易根据Core-file进行Debug,这点JVM做的尚有欠缺
  4. 随着时间的进展,它现在已经足够成熟去实现现有网络游戏的功能了,而且相比之下,它更容易扩展
现在我认为最需要的是 - 一款强大的调试工具。

参考链接:http://www.lysator.liu.se/mud/lpc.html