忙碌的5月

2008年的5月是难以忘怀的,有人戏称是上帝的手机不小心开了震动模式了,权当是我们勇敢面对明天的一点自我安慰吧,逝者已矣。这么大的事件,我没帮上什么忙,也没帮上什么倒忙,除了捐了自己微薄的一个月工资以外,几乎什么都没有作,有些惭愧,但我也没闲着,原先考虑的.NET还是PHP?问题基本被消灭掉了,灾要救,其余的工作也要继续,不是么?

这个项目我最终选择了用PHP来作,原因不再说了,正确性让时间去证明吧。工作内容大体分两部分,一个比较简单的子系统和另外一个大一点,逻辑关系和计算规则比较复杂,专业性也较强的子系统。之所以说是子系统,这次开发的内容仍然要和原来.NET的系统一起使用,换个说法就是只升级了一部分,而原来的系统就是.NET和Java混合着用的,现在.NET、Java、PHP全到齐了:-)。

因为只是子系统开发、升级,所以用户管理、验证部分仍然使用原系统中的,省去了这部分的工作量,但需要作一些焊接的工作。

数据库方面,原系统仍然使用Sybase,新系统换到mysql库,为此专门搞了一个单向同步数据的模块,放到cron中每隔5分钟执行一次,效果还可以接受,同步过来的数据也算是对原Sybase的一个备份。不过库结构的命名是全新的,并且除字典表以外,主键全面从identity转向uuid。自定义的uuid按时间排序,还分配了可自定义部分,目前感觉使用效果应该比identity要好,还是需要时间证明了。uuid的调试是麻烦些,需要一点小技巧和烂笔头,还有phpMyAdmin这个好工具。

时间上,大概是从4月初开始的,刚开始连我4个人,其中1个PHP还没学会,另外2个是今年的应届毕业生(项目过程中,5月底左右,才完成论文答辩,领了毕业证)。我除了项目还有其它工作,刚开始帮他们起了个头,中间一直到5月中下旬才全面投入项目。PHP还没学会的这个后来主攻文档和测试、项目协调。

一开始花了大概10天的时间构建系统框架、连入adodb,smarty等类库,以及非常重要的开发规范制定。然后开始作那个比较小的子系统,一来可以不断完善系统框架,二来也算是锻炼队伍。原计划4月底完成,拖到了5月10号左右。

然后开始较复杂的子系统,由于时间太紧迫,又请了两位外援,一位是几乎全能的老手,除了专业业务不熟悉,别的前、后台都没问题,另外一位是一年经验的PHP开发者,速度虽然略慢但代码质量还可接受。

从5月15号开始,几乎是封闭式开发了,每天除了吃饭睡觉和大概一个小时的休息(乒乓球)时间,每天都工作到24点以后。原计划5月底开始测试(并非完成),跳票到了6月10号,还算是在可接受范围之内吧,只是一些非重点非必要的辅助功能都被我们留在以后作了。

项目基本上就是这些情况吧,谈几点感受:

  • 石家庄这种鬼地方,一半用户是微软的盲目崇拜者,一半用户是Java的盲目信仰者,PHP及其它开源技术的土壤简直就是盐碱地。
  • 在较成熟的PHP应用环境下,或者开发团队中有PHP熟练者的情况下,即使是.NET和Java的高手也是可以快速熟悉起来产生生产力的。
  • 不要信仰工具,不管是用什么开发工具,没有我们后来请的两位外援,再有2月也拿不出东西来。
  • 工作经验的确很重要,不仅仅是工作质量的差别,毕业生和有工作经验的人相比,工作精神、压力承受程度、解决问题的思维方式都有很大差别的。好在我们的团队成员在工作态度上还都是一流的,这一点我得感谢他们。
  • 欠缺的知识:在开发工作量测量、开发时间测量上还没有太好的方式,代码质量也没有很好的检查方法。需求表达、结构设计基本上靠文字描述和口头讲解(当然也有时间的原因),没有趁手的case工具。数据库结构设计和维护从原来的PowerDesigner又回归到了原始的sql文件+维护版sql文件,感觉用起来虽然不太方便,效率也不低,多服务器的环境下尤其好用。
  • 花一些时间搭建高仿真的测试环境很重要,我们的测试环境已经运行了3年多,系统和数据都是和生产环境一样的,对开发起到了很好的作用。
  • 拍脑门定工期的方式真的是后患无穷,但也没有更有说服力和科学依据的更好方式,头疼,系统分析这块当年没学好,就是学好了这么多年的发展也用不得了。

小结:很辛苦,但有所得,也很快乐,按照葛优的话说就是即完成了任务,又锻炼了队伍,呵呵。

与所有默默开垦盐碱地的同志们同勉,并对给予我默默支持的家人和同事致以无限感激。

向太空移植生命

人类从来没有停止过探索太空的步伐,无论是科学幻想或者是把什么东东真的送到天上去,可我们不得不面对一个现实,在没有有效的运输工具被发明出来之前,我们基本上只能等着外星人来串门了。

换一个思路,太空中到底有没有生命?虽然现在理论上已经“证明”了这一点,可谁也拿不出有效的证据来。UFO的传言也时常出现但众说不一,美国51区依然神秘。与其这么麻烦,我们为什么不把地球上的生命“传播”出去呢?现在知道的就是原来抛出去过一个留声机什么的,那玩意儿搁现在的地球上都落后了,天知道能被外星人当什么看。再说了,茫茫宇宙,找个星星都困难,发现一台小机器的几率又有多大呢?

所以啊,想增加发现或者被发现的几率,弄不了太大的东西,只能靠数量补,搞“人海战术”了。最小的生命体大概就是细菌、病毒什么的了,这些东西体积又小,又不值钱,最重要的,适应能力强,高温黑暗无氧都难不倒他们,把这些东西传播到太空中,让他们随宇宙里的各种“风”四处传播好了。

不用担心这些东西再被重新传播到地球上,给人类带来什么危害,因为他们本来就产生于地球,既然以前我们能够对付他们,将来也能。

这样一来,也许在将来的某一天,某处的外星人会收到来自地球的礼物,凭借他们强大的科技,追本溯源找到我们,岂不皆大欢喜?另也许在将来的某一天,当我们的后代的后代的后代与外星人相聚的时候,他们会说:“我们在800x年爆发了非典疫情,在900x年流行禽流感,合着都是你们地球人搞的鬼啊?”,呵呵。还也许在将来的某一天,我们会登陆到一个陌生的星球上,发现与我们同一起源,但随着完全不同的进化过程形成的“新人类”,和我们的远方亲戚亲密接触不知感觉如何。

涉及到地球上最早的生命体的问题,有一说是“古菌、细菌和真核生物”,并不影响我的想法的施行,不管科学的答案怎样,扔太空里就是了。一公斤就能装很多哦,超值的“大礼包”。

你能一眼找到下载链接在哪儿么?

Free Image Hosting at www.ImageShack.us

Update @ 2010-08-29

请看这里:微生物在太空存活了553天

更安全的原因所在

继续挑战Gregarius中积攒的未读feeds items,已经追到了2007年8月份,6666/17841条未读信息已经减少到3220/21258项:

吉利数字in my Gregarius

今天才看到fcicq的ActiveX 安全控件 = 不安全,不禁在想,到底什么原因导致ActiveX不安全呢?终于,我发现这并不能盲目归咎于微软产品质量不佳或者是ie的缺陷,也不能说是开发人员水平不行或者是不负责任,终极的原因,居然是小众和大众的区别。

简单说来,ActiveX是闭源的,那么真正了解它的完整工作机制的人必然是少数,每个人的智慧都有局限性,引申开来,每个团队也有考虑不到的地方,那么我们就可以认为,ActiveX必然存在着漏洞,并且小众之外的大众看不到、体会不到,甚至发现了一些端倪也无法判断原因出自何处,在无法得到充分、全面的用户检验的时候,维护团队仅靠一些自身质量控制和用户使用方面的反馈,也就有照顾不到的地方了。漏洞有了生存空间,安全性自然下降。更何况,ActiveX的运行平台,Windows以及ie,也具有类似性质,坏的效果往往不是累加而是乘积式的增长。

搞过一点软件开发的人都知道测试的重要性,初级一点的测试就是模仿用户操作,使用一些极限值、便捷值等来对软件进行检测,而高级一些的测试可不是谁都能作的工作,测试人员不仅要会“操作”软件,还要懂得软件实现的原理和机制,必要的时候要去翻文档、源码,来制定测试方案,这样才能找到一些深层次的问题。回到我们说的小众和大众的区别问题上来,当软件有了1000万用户时,可以把这1000万想像为初级测试用户,他们会反馈一些使用中遇到的问题,协助软件更改,这是闭源软件的方式,在开源软件的运作模式中,这些用户里可能会有万分之一的用户出于学习、好奇或进行改进的原因,去翻阅源码,在阅读过程中自然有一定的检查效果,其中的经验丰富精力充沛者还会进行测试、亲手修改,部分类似与高级测试人员的工作。只要施以得当的管理,让这些测试、修改的效果得以发挥,软件的质量及安全性自然会更高一些。

之所以会想到这些,是因为我记得以前微软还是谁在抨击开源软件的质量和安全性的时候提到过,闭源软件是由高素质的开发团队,有严谨的质量控制管理的情况下生产出来的,所以质量更好,安全性更优。我虽然不能全盘否定这一观点,但这么说太片面了。绝对的安全肯定是一个“无穷大”的数字,每一份努力都能够离这个“无穷大‘更近一些。广大人民的力量是无穷的,更不要说为了薪水工作和为了理想信念干活的结果差异了。

其实,小众和大众的影响在其它很多方面有体现:我们在颁布法律或规章的时候,要开听证会,要征集意见,就是要把小众群体起草出来的东西,让大众去检查、补充、完善;我们要讲团队合作,要讲民主,就是要避免小众决策的片面,能力的局限;我们把重要建设项目的方案公开让大家讨论,也是在借助大众的智慧。人多力量大,众人拾柴火焰高,三个臭皮匠还抵个诸葛亮呢,如果谁坚持要说有限的团队就能够生产出完美的产品,我们大可一笑置之。

最后,小众和大众都是相对的概念,应用的范围要适度,服务器的管理员只设一人是不安全的,公司里人人都是管理员也不安全,监狱安防设计图自然也不能搞什么全民共享,那《越狱》就失去大卖点了 :)。真正安全的方式是要绝对经得起推敲、检验的,在这方面,非对称加密如pgp、gpg堪称典范,充分利用公开的机制达到了保密的目的。

真正的“AI”,是不是可以这样?

看到Cat ChenS.T.A.L.K.E.R中胡侃这个游戏的AI如何优秀,不禁产生了一种念头,一种新的AI实现思路。

AI就是人工智能,通俗一点说就是控制游戏中NPC如何行动的指令,简单的AI很容易公式化,比如反恐精英cs中的bot,基本上都是按照脚本的规定来行动,更复杂和高级的AI会加入思考、互动的因素,也就更“聪明”一些。

AI往高了说,属于计算机科学的尖端领域,但往简单了说,只不过是科学家设计好公式,利用计算机运算速度快的优势来模拟的思考过程罢了,高深也就高深在了公式/算法和了,计算机只是一个跑得比较快,会先飞的笨鸟罢了。但在很多时候,AI还无法达到普通人的程度,这也就是我的念头了,能否在游戏中,用玩家行为来作为AI,或者为AI提供数据呢?

假想一个游戏,分为两个阵营,拉据战的格局,苏、德双方展开坦克大战,攻夺据点。把游戏分为两个服务器,苏服和德服,苏服上的玩家都是苏军,敌人是AI,不过这个AI就是德服上扮演德军的玩家。这样,以往的NPC就不会再笨呼呼的了,而是“像”真实的玩家一样战斗,甚至血少的时候也会偷懒等等。

最关键的,就是要体现不同于单机游戏的,真实的模拟另一个服务器上玩家的行为模式,同时还要和玩家之间对战区分开来。比如坦克的配置是copy玩家数据,而作为AI的坦克被打爆了玩家可不会掉经验等等。能够把这两点都体现出来,现在的游戏好像还没有。

还想到一个更远一点的例子,在mmorpg中打怪的时候,怪物一般都形成规律了,在什么地方、有什么招数,怎么配置队伍就能打倒它,甚至捡到相同的宝贝。。。这样不腻么?为高级玩家开通变身为怪的功能吧。呼呼,别人组队再来打toj的时候,怎么怪物变了?以前都呆着不动的,今天满大街溜达,也不发招。。。如此这般,也等于是在这段时期内用人的智慧让npc更加完善了,如果聪明的玩家还会在变身为怪物的时候,模拟真实怪物的以为,诱骗其它玩家上钩的话就更加有趣了。

想法扯完了,写完再想实现起来还是有些难度的,不过算是一个思路吧,不要一味钻进如何完善npc自身“功能”的死胡同,引入玩家的隐式互动。关于那个苏德坦克大战的游戏,以前倒还真是玩过(直接玩家对抗的),不过好像网站上不去了,http://www.blitz1941.com/,我这里也仅存三张截图,还算有一定代表性,一起怀念一下吧:


Go to ImageShack® to Create your own Slideshow

胡思乱想

本篇为乱文,不喜误入。

15年是个什么概念?6年又是个什么概念?如果我能活到80岁,大概能有5个15年,13个6年。从现在算起,大概还有3个15年,9个6年。有两个人,15年前在一起,最近的一次见面是6年前,其中一个,以后再也见不到了。

15年前,我们算是互相了解,而现在,虽然可以通过电话联系,声音也没有改变,但一种陌生和恐惧却油然而生。陌生是因为不知道他现在是什么状态?什么性格?作什么?想什么?喜欢什么?别人怎么看待他?由这种陌生产生的恐惧,在电话中提现不出来,可真有一天面对面坐下喝酒的时候,会在沉默中冲击心灵。

真是有些“物是人非”,虽然树都砍光了,可路还在;以前的教室虽然从3层扩建成了4层,可样子没变;以前的平房都变成了楼房,可地名没变;以前的人还是那个人,可却已不再熟悉。

人能作的无非就是改变世界和改变自我,在良性循环体系中,天平平衡的两边,一旦天平倾斜,就像水车一样,把水倒了出来,稀里哗啦,天平的指针没有倾斜的概念,一下就到底了,从楼顶到地面。

我们很熟么?未必吧?但15-6=9年的时间并没有改变什么,再次聚会反而觉得更亲近了,大概是上学和工作之后的自由导致的后遗症,毕竟在老家憋的时间太长了,尤其是初中,回头看看和封建社会差不多。那个时代留到现在的,除了成为档案中的几页纸,学习工作的垫脚石之外,就是对朋友的感觉了。

感觉这东西很奇妙,有点像白酒或者普洱茶,怎么放也不变味,反而更纯了,就像一幅画,当你离的很近的时候,一切都能看仔细,会发现很多毛刺、花边和瑕疵,而当距离稍微远一些,这些不好的东西都看不到了,转而欣赏画的整体美,从而赞不绝口。人会很主动的“忘记”不好的记忆,残留的对很久以前的感觉自然是越发的美好。

提问,是要这种模糊的美好,还是要清晰的缺陷?

七百多公里不算远,开车一天,坐火车也是一天,坐飞机估计2小时就到了,可惜家里没飞机场,以前的所谓“飞机场”(记忆中只停过直升飞机,还是极其破旧,不知道是开走还是被汽车拖走的那种,放风筝的好地方)现在早就变小区了,我姐姐就在那里住,另外一个人在地势最低的地方,哦,那地方太黑了,以至于第二天我就忘记具体在哪个胡同里了,也许是酒和太多了的缘故,好在没说错话,也后悔没多说几句,其实也不敢,也不是不敢,是怕说了没用。

就这么点距离,就能让人生产生巨大的变异,时间是散射的催化剂,分道扬镳用在这里再合适也不过了,不过这条条道路并不都是通向罗马的。

如果真的有时间旅行,那么我想逆向运动,生命在于运动,岁数大点无所谓,能回到那个年代就好,比现在的环境好多了。现在的烦你比楼还多,以前的房子稀稀拉拉,烦恼也是稀稀拉拉。

宁愿相信宇宙中存在平行时空,更希望家里有一只机器猫,逼它拿一只望远镜出来,看看另外一个时空的人都在作什么。呃,如果是现在,应该是睡觉呢,不知道会作什么梦。再让机器猫拿个装备出来,到梦里去搅和搅和。除此之外,还能作什么呢。呆头鹅,痴人说梦,不知道眼不见心不烦么。

想什么就写什么,写什么就想什么,这种感觉真不错,只是难为看官了,如果你能逐字看到这里,还真是强人。

清楚的记得一些事,我给你看的东西,现在已经成为现实,我给你说的话,可能当时被你当作笑话,也没有达成传声筒的作用,不过都无所谓了,这些所谓秘密,现在一半在我这里,一半已在地下,永远的绝版了。关于传声筒,还是那句话,物是人非。有一点我望了,是你猜中的,还是我自己说的?实在记不清了。

那个谁,发什么呆呢,说的就是你,就是你,知道不?呆头鹅,不过鹅现在正痛苦并快乐着,岁月的枷锁已经深入骨髓了,可怜啊,谁又不可怜了啊,想起来有些事确实挺郁闷的,郁闷这个词用再这里太合适了,发明这个词的人我很崇拜。

世界上最远的距离大概就是电信和网通吧,不过这是在第一宇宙,在第二宇宙,是两个猪头之间的距离,因为一头并不知道另外一头是怎么想的,唉,希望在第三宇宙能有所改观。相信我,人是一个思维体,其它的都是在matrix中的虚无,都素浮云。思维体之间的沟通就像磁铁,对味儿了就相吸,不对口味就排斥,最痛苦的就是中间路线,上不去下不来,还吃不到茴香豆,百年孤独。

铁路还有换轨、错轨的时候,岁月却是单行道,即使兜个大圈子能回到原地了,却发现其实不在一个时空,不兼容。

突然又有一种更不好的感觉,觉得死去的人还活着,而活着的人已死亡。死亡,是美好事务永保青春的最好方式,so,本文就在这里太监了吧,8月16的月亮值班,我去睡觉了。

流氓软件与流氓

流氓软件,这个名字最近暴光率很高嘛,甚至还成立了一个反流氓软件联盟,还要立法。其实,很多人连什么是流氓软件都不知道捏。别着急,这篇文章就是为你准备的,希望大家能够用生活中的经验来理解软件或者网站,你会发现它们之间有那么多的相似之处。

先说几个容易理解的:

商业软件,共享软件,免费软件,开源软件

  • 商业软件就是正规公司,正常作生意的企业。
  • 共享软件就像公园里的游乐场,进公园不要钱,到要想玩游乐设施,掏钱。(指有限的免费功能,请意会)
  • 免费软件就是义工,不要钱,做好事,公园门口免费理发的。
  • 开源软件就是下岗职工再就业培训中心,什么都教你,但如何赚钱还得靠自己,发展好了自己也可以帮助其他下岗职工。

大网站,小网站,教育网站,个人网站

  • 大网站当然就是大公司了。
  • 小网站是个体户,提供的商品和服务有些并不比大公司差。
  • 教育网站就是教育机构,和现实中一样,除了少数有良知的好老师之外,大部分教育机构都很难让学生学到真正的知识。
  • 个人网站,就是你身边的个人,各自有着不同的爱好或任务,天天从你身边路过。

下面进入正题:

广告软件/网站广告、流氓软件/流氓网站、恶意软件/恶意网站

  • 广告软件/网站广告;广告是正常的,是软件或网站的谋生手段之一,就像大家看电视的时候已经习惯节目之间有些广告了。不过,量变会引发质变,或许你习惯了“走马灯”或者“画中画”式的广告,但我想你无论如何也无法忍受长达半个小时的壮阳药广告在孩子面前播放吧?
  • 流氓软件/流氓网站:这些软件或者网站就是身边的小流氓、骗子一样,想尽一切办法装作正人君子接近你,蒙骗你,比如一些软件告诉你我有若干若干功能,装上我吧,其实就是拿维生素当高级保健品卖的骗子;再比如成天尾随美丽姑娘的小流氓,和那些千方百计想让你把他们设置为首页、加入收藏夹的网站没什么两样,什么“按Ctrl+D有惊喜发现”,别做梦了,那是加入收藏夹的快捷键!
  • 恶意软件/恶意网站:这些就是明偷和明抢啊,钻进你的计算机,赖在你的IE上,死活就是不走,还不如小偷和强盗呢,人家把钱财抢到手之后就跑路了,可恶意软件/恶意网站还要继续QJ用户的电脑。。。

病毒、木马

  • 病毒,特点是传播性,就像家里的蟑螂、白蚁,会自己跑到邻居家一样;当然还少不了破坏性。
  • 木马,现在不打仗了,特洛伊城也早没了,但一说扫黄,有些场所早早就关门休息了,有内鬼通风报信啊。

还有一些或许不着边际的:

  • 大企业也会出次品,不过远没有大网站上的赚钱项目、美女脱衣多啊。
  • 店大欺客,大网站封你的号没商量。
  • 温馨小店,有些小网站不仅内容好,站长还非常热心。
  • 问路收费,有些高人自己办网站讲解高端技术内幕还不收钱捏。
  • 苏州AV女郎都上了医院广告牌了,网上转载一些文章不署名、不加链接算个球!
  • 网上赚钱美女的诱人标题,就和“老同学,好久不见了”这样的短信一样,打开一看不是买枪支弹药就是办证刻章。
  • 著名的“亚洲交友中心”拉下线式的赚钱网站,和传销没有本质区别。
  • 如果看电视广告也按播放次数付费的话,我退休的大姨绝对能拿到年薪10万!

互联网就像现在的社会一样,在大街上一定要瞪大眼睛,提高警惕,注意自身安全,有问题找警察SS。

参考: