123
 123

Tip: 看不到本站引用 Flickr 的图片? 下载 Firefox Access Flickr 插件 | AD: 订阅 DBA notes --

2008-05-11 Sun

18:31 有趣的数值溢出(一) (603 Bytes) » yangtingkun
在论坛看到一个有趣的帖子,是关于ORACLE的NUMBER类型溢出的。原文出自:http://www.itpub.net/thread-984938-1-1.html Oracle的数值类型NUMBE包括0、正数和负数。其中正数的范围是从1E-130到9.9999999999999999999999999999999999999E125。而负数的范围是从-1E-130到-9.9999999999999999999999999999999999999E125。Oracle的数值范围是由于NUMBER类型的存储结构决定的,下面看一下这些边界数值的DUMP值就会明白:SQL> SELECT DUMP(1E-130) FROM DUAL;DUMP(1E-130)------------------Typ=2 Len=2: 128,2SQL> SELECT DUMP(0) FROM DUAL;DUM...
11:47 最长寿的树木 (5241 Bytes) » Fenng's shared items in Google Reader

  据BBC报道,瑞典于默奥大学的科学家2004年的时候在瑞典达拉纳(Dalarna)省的山区发现了从同一棵母树上的残桩上长出的一丛二十株左右的欧洲云杉,最近他们对其根系做了碳14同位素测定,意外地发现这丛云杉的母树的年龄竟然高达9550年左右,一举刷新了最长寿的树木的世界记录。

  要测定树木的年龄,并不是件容易的事情。最容易想到的办法是把树砍倒,通过数断面上的年轮数来判断其年龄;但这种做法无异于杀鸡取卵,尽管树木的根系往往不会死去,可以像这棵云杉一样再发出新芽,但是既然原先挺拔的树干和树冠已经消失,在人们的心目中,这棵树无疑已经死了。

  于是植物学家们想出了一个类似医学上的穿刺活检的办法,即可以看到年轮,又不用砍倒树木。他们把一根叫做生长锥的金属管钻进树干中,钻取一段木芯出来,只要数清楚木芯上有多少条纹(显然,这些条纹是年轮的一部分),就知道这棵树有多少年龄了。这种办法对于年龄较小的树木几乎是百试百灵的,但对于老树就又不适用了,因为老树的增粗比幼树慢得多,较新的年轮会紧密挨在一起,即使用显微镜也不容易分辨。

  在这种情况下,人们又发明了几种新的测定树龄的方法,其中比较简单易行的就是碳同位素测年。原来树干中并不是每一个细胞都是活的,在树干最内部,因为养分难于供应,这里的细胞最后都会死亡;细胞一旦死亡,其中的碳14就会停止更新,其数目也就因衰变而不断减少。只要钻取到这些最老的死亡组织,测出碳14减少的数目,就可以算出它的死亡年龄——这基本也就是树龄了。瑞典那棵云杉的年龄就是这样测出来的。

  欧洲云杉是一种裸子植物。裸子植物不形成果实,种子成熟时直接裸露于外,因而得名;与之相对的是能够开花结实的被子植物,其种子被包藏于果实内部。裸子植物比被子植物古老得多,早在古生代泥盆纪的时候就出现了,在中生代达到了繁盛(所以有人说中生代是“裸 子植物与恐龙的时代”);但自从被子植物在中生代出现之后,裸子植物就被迅速排挤,大部分种类都灭绝了,到今天只剩下了几百种,主要是松、杉、柏类。

  现存很多裸子植物都有较长的寿命。比如日本的屋久岛有一棵日本柳杉,据说年龄高达7200岁;它萌芽时正当日本的新石器时代“绳文时代”,因而被称为“绳文杉”(可惜的是,由于没有经过科学测量,这个年龄并不为世人公认)。美国加利福尼亚州有一棵叫“玛土撒拉”(《圣经》中的著名长寿人物)的刺果松,经测定其寿命达4768年,是现在的吉尼斯世界记录承认的已知世界上最老的树。在我国,“古松”“古柏”遍地都是,很多都超过了千岁。在非洲南部更有一种叫百岁兰的植物,一生的绝大部分时间里只有一对叶子,可以和整棵植株共同活几百到上千年之久,这可谓是植物界最长寿的叶子了。

  但是,如果说长寿是裸子植物的特点,就显得片面了。被子植物中同样有许多长寿的种类,比如龙血树也常常可以活几千年。以今类古,我们可以想象,在被子植物出现之前,裸子植物也应该是丰富多彩的,有长寿的,也有短命的,它们共同构成了一个景观和今天迥异、但同样生机盎然的世界。只不过,被子植物的出现成了裸子植物的噩梦,在和被子植物的竞争中,短命的裸子植物最先支撑不住而败下阵来,凄惨地绝灭了;只有生长在寒冷地区的耐寒、寿命较长的种类保存下来,这样就形成了裸子植物长寿的假象。我们还可以想象,如果时间再推移下去,一定也会有耐寒的被子植物出现,到时候裸子植物家族就要遭受新一轮的灭门了。

  只不过,人类的出现改变了这个状况。我们用“寿比南山不老松”之类的诗句热情地讴歌长寿的裸子植物,从而把许多分布区狭小、甚至已经濒危的裸子植物重新种遍了整个世界。在人类的干预之下,垂垂老矣的裸子植物,又重新焕发了勃勃生机。

 

2008.04.23

(《新京报》2008年4月27日)

 

参考文献:

1. BBC: Swedes find ‘World’s Oldest Tree’.

2. [英]克里什托夫·科利尔、巴瑞·托马斯著,王祺、高天刚译《植物化石:陆生植被的历史》,桂林:广西师范大学出版社,2003年。

3. http://www.plantzafrica.com/plantwxyz/welwitschia.htm(对百岁兰的介绍)。

11:45 蜜蜂的危机 (4835 Bytes) » Fenng's shared items in Google Reader

  对于数码照相机爱好者来说,CCD是一个很常用的术语,指的是“电荷耦合器件”。但是这个缩写对欧美的养蜂人来说,却意味着一场灾难,因为它也是“蜂群崩溃失调病”的英文缩写。2006年冬至2007年春,这场蜜蜂的瘟疫袭卷了美国22个州,以及法国、瑞典、德国和澳大利亚等国。发病的蜂群中的成年工蜂会在短时间内飞得无影无踪,既不归巢,也找不到尸体,结果留下蜂王和幼年工蜂在巢中嗷嗷待哺,最终被活活饿死。虽然科学家们怀疑一种名叫“以色列急性麻痹病毒”的病毒嫌疑最大,但是CCD的发病原因至今仍没有完全揭开。
  蜜蜂的危机还不仅于此。美国弗吉尼亚大学学者何塞•福恩特斯(Jose D. Fuentes)率领的团队最近在《大气层环境》杂志上发表了他们的一项研究成果。这项成果指出,由于空气污染,自然界中花朵散发的芳香再也不能像以前那样传播很远的距离了,这就让蜜蜂和野生蜂类的采蜜变得困难。工蜂必须花费更多的时间和精力去追踪花香,寻找花蜜,这不仅使它们采回的花蜜量变少,而且增大了工蜂的死亡率,于是大大影响了蜂群的繁衍。同时遭殃的还有另一类重要的植物传粉者——蝴蝶,而蜂类和蝶类种群的衰退,反过来又影响到了靠昆虫传粉的野生植物的繁殖和栽培植物(如苹果)的结果,于是形成了一个恶性循环。
  空气污染为何会影响花香的传播呢?这就和花香的化学成分有关了。花的芳香来自于花部器官(通常是花瓣)分泌的挥发性的芳香油,这些芳香油的分子常常含有一种叫做双键的基团,此外还常常含有氧原子。比如闻名于世的保加利亚玫瑰的芳香油的主要成分有1-香茅醇、牻牛儿醇、橙花醇、1-芳樟醇等,其中1-香茅醇含有1个双键和1个氧原子,而后三者都含有2个双键和1个氧原子。双键含有离域电子,氧原子则含有孤对电子,它们都是自由度比较高的电子。当芳香油分子接触到人鼻子内的嗅觉感受器的时候,这些电子就会刺激感受器,使人产生嗅觉。昆虫虽然没有鼻子,嗅觉是来自头前方的触角,但是它们闻到花香的机理是和人类近同的。
  然而,含有这种高自由度电子的基团,很容易被一种叫做自由基的物质破坏,整个分子也就因此遭到破坏。而重工业和汽车排放的废气中,恰恰就有大量的自由基。这些自由基在空气到处游荡,遇见花香分子就把它破坏掉。这样造成的结果,是使原本可以在空中传播1-1.2千米的花香,如今在大城市中只能传播200-300米。虽然花朵释放的香气总量并没有变,可是能被人闻到的香味却变淡了;同样,能被昆虫感受到的香味也变淡了——上文所述的新的生态危机,便这样产生了。
  不过,也许这场生态危机并不会发展到无可挽回的程度。因为昆虫不光靠嗅觉寻找花蜜,也靠视觉寻找花蜜。很多花的花瓣上有斑点或条纹(如鸢尾、美人蕉),还有不少看上去是纯色的花在紫外线下一照也能显示出斑点或条纹,这些图形都可以帮助昆虫准确找到花蜜(蜂类和蝶类都可以看到紫外线),因而被称为“蜜导”。可以设想,空气污染的结果将使昆虫和植物都禁受一场自然选择,视觉更敏锐的昆虫,和蜜导更明显的植物,将在这场残酷的优胜劣汰的竞争中生存下来。
  但是,对于这种乐观的结局,并没有人敢打包票;何况,就算是能出现这样的结局,也改变不了现在已经出现的传粉昆虫种群衰退的生态危机的本质。所以,是再次喊那句公众耳熟能详的口号的时候了:减少空气污染,保护生态环境!

 

2008.04.16

(《新京报》2008年4月20日)

 

参考文献:

1. 苏松坤等《蜂群崩溃失调病(CCD)研究进展》。

2. TerraDaily: Flowers' Fragrance Diminished By Air Pollution.

08:42 又是栀子花开时节 (3804 Bytes) » Oracle Life

©作者:eygle 发布在 eygle.com

一直很喜欢栀子花的芬芳,去年就曾经买过一盆栀子花,买的时候满树的花,结果回到家里,只开了一朵花,后来整棵树都枯了。

前几天在花店看到栀子花,忍不住又买了一盆,同时也买了一盆栀子花专用的花肥,这一次终于摆脱了上次的失败。
栀子花不断绽放,满屋子都是馥郁的香气。

栀子花一株的花期约为1个月,这两个月都可以在满屋花香下生活了:

栀子花还可以使用,并且具有药用价值,网上有很多食谱,比如以下这款栀子花鲜汤

栀子花150克,猪瘦肉100克,榨菜丝30克,葱花、姜丝各适量。栀子花去杂洗净,稍焯,沥干水;猪肉切丝;锅中加水,煮沸后投人栀子花、猪瘦肉、榨菜丝,再煮至猪肉漂起,撇浮沫,加葱花、姜丝及其他五味佐料,盛人汤碗中。此汤鲜香清爽,具有养胃补中,清热利肠的功效。适用于体虚纳差,肠风下血,大便不畅,咳嗽咯痰,牙龈肿痛等病症。

南朝梁·萧纲曾有《咏栀子花》诗云:
"素华偏可喜,的的半临池。疑为霜裹叶,复类雪封枝。日斜光隐见,风还影合离。"

唐·杜甫也有《栀子》诗云:
"栀子比众木,人间诚未多。于身色有用,与道气相和。红取风霜实,青看雨露柯。无情移得汝,贵在映江波。"

宋·朱淑真《水栀子》:"一根曾寄小峰峦,苫葡香清水影寒。玉质自然无暑意,更宜移就月中看。"
明·李东阳《栀子花》:"抽白媲黄总称才,谁遣山栀入画来?似为诗家少知己,杜陵吟罢不曾开。"

-The End-

相关文章|Related Articles

评论数量(1)|Add Comments

本文网址:

07:36 photoshop强人 (2302 Bytes) » Fenng's shared items in Google Reader
Shared by 剑语者
哈哈

  八九年前,我在公司做设计,当时就已经做到技术总监,Photoshop是自学的,当时觉得全世界比我Photoshop强的人也不在多数。

  七年前,我有机会到大学里教Photoshop,没办法,只好买了本书看看,结果发现自己水平是狗屎,根本就是Photoshop盲。不过教了两个月后,发现自己有飞速的提高,当时私下想,全国能比的上我的水平的应该不会有几个了。

  四五年前,我有机会写第一本Photoshop书,当时一下就晕了,因为我发现自己的水平简直不值一提。于是买了很多书来看,那几个月里,攻下了几千页的书,感觉自己的Photoshop水平像吃了激素似的,飞速提高。写完之后,我的感觉是,在本省内,应该没有几个比我水平更高的了。

  三四年前,我开始录视频教程,这东西是要现场讲的,而且受众非常多,我又再一次坠入了无限的底谷。因为不但要会,还要非常熟,才能在实际录制的时候不紧张,不会演示错误。 我躲在小屋里录了小半年,觉得自己真是无敌于市区三环以内了。

  最后,一两年前,我到门口的打字社复印东西,看到那里的底层技术工人,在飞速的用Photoshop处理着照片,几乎都不带用鼠标的,跟六指琴魔有一拼,简直牛X死了!

  于是顿悟,就算在我家方圆200米之内,我都不算Photoshop最高的。真正的高手都藏匿在民间... ...

  我打听他的工资多少,他说上个月扣扣不到500块(那意思就是450了,别不好意思说),理论上每天早8点到晚8点,但几乎天天加班,无双休日,节假日休息算请假,我当时就晕了... ... 从此放弃Photoshop,改当老板了。

  左岸语:这不仅仅只是个笑话,这是很多技术员的迷茫,包括我!
07:02 那些日子(十一) (11967 Bytes) » Fenng's shared items in Google Reader

《大话西游》一边运营着,大家改着 bug ;另一边,2.0 版开始筹备了。

还记得深秋的那个夜里,已经很晚了。丁磊一通电话问我睡了没有,没睡的话去淘金路上一间小茶馆喝茶。聊天不去酒吧,不符合老丁的风格嘛。我依着短信上的提示,找到了那家别致的小店。包间里就两个人,丁磊和 dingdang 。dingdang 从不泡酒吧,他不喜欢喝酒,这我是知道的。

后来聊了什么完全不记得,我只是知道,以后的工作由 dingdang 来主持了。这次长谈,颇有些战事不利、临阵易帅的味道。

之后,渐渐的,micro 没有什么事情可以做了。几年前,他就在办移民加拿大的事情,需要定期坐移民监。没多久,micro 回了加拿大。dingdang 坐进了那间办公室。不过他的笔记本通常放在外面的老地方,我们还是很晚一起回家。

dingdang 工作很勤奋,也依旧在工作间隙褒着电话粥。桌子上放着 Nokia 5110 的手机,很古老的型号,上大学时我用过。打久了电池很热,但想必没有心里头热。第二年的某一天,有人提醒我看看对面 dingdang 敲键盘的手,赫然多了一枚戒指。

没有见他请婚假,没有通知同事,没有办酒席,没有度蜜月。只是接下来一个周末,我在家附近的世贸楼下吃面条。丁磊的女朋友瞅见了我,给我打了个电话,说他们正在楼上日本料理呢。我打包了面条上楼。只见四人两对,相谈正欢。那天我认识了 dingdang 的妻子。从谈吐中就能识得,真是天造地设的一对。

dingdang 上任后,寻了三个人来。一个是他的堂弟詹东,据说时下在北京网易工作,也是写程序的。另两个从 36 楼挑选的两名程序员,都是网易技术部最优秀的程序员之一。kyo 和 ruiheng 。

kyo 和我同届,暨南大学学物理的,未毕业便在网易兼职,做公司最早的产品:邮件系统;ruiheng 高我一届,华南理工计算机科班毕业,稍晚一些入职网易,他早期的产品对网易也颇为重要:网易社区论坛。此二人,完成大话二之后,kyo 转去做天下的主程;ruiheng 则任技术部经理。

我们四人开始重新制作大话西游的新版 client ,谓之曰:2.0 ,项目代号 xy2 。


在 ruiheng 的推动下,我们从 vss 移到 cvs 下工作,不久之后又转到 svn 。这次,我们每人每天都要求 update 到最新的 client 代码,保持和主干同步。

服务器那边听说也在重构,我不清楚是否犹如 client 这样彻底。但新的版本是由 dingdang 和 ten 一起主持的,并加入了新的人员,比如 陈 。大话的服务器开发历程我不了解,不便多说,暂且搁在这里好了。

继续谈新版的 Client 。

UI 模块的问题,我已经在最后那两个月完全解决了。UI 的底层是个非常繁杂的东西,要求设计人有足够多的经验才能把接口设计的好。做了这么些年软件,我觉得最复杂的东西莫过于此了。稍有不甚,就会把接口弄的污秽不堪。就连 Windows 的最为出色的界面系统,不也是发展了 20 多年才成现在这个样子,依旧被开发人员所诟病。虽然那个时候,我的想法也不成熟,可也经过一年多的思考沉淀,比大话一立项初期有把握的多了。

这次是由詹东取代古越的位置做逻辑那块东西,我依然写底层。只是这次范围更广一些,不仅要实现图象和声音这些的基本驱动(其实在大话一里已经很稳定了,延续下来用即可),还要负责 UI ,以及游戏中的逻辑对象的管理,消息分发等。

大家不约而同的想法是,新版的 client 一定要嵌入一个脚本语言,以应付连绵不绝的后期需求变化,以及用于描述多变的界面。

我首先想到的是自己实现一个解释型 C 语言,这个在北京时就着手做过。但是考虑到时间不允许,也就放弃了。当时也想过使用 CH 一个解释型的 C ,大家觉得不够好,作罢。

甚至我考虑过 java ,但网上尚没有成熟开源的 java VM ,我甚至想自己实现一个。这个想法来至于前几年一个叫做《吸血鬼》的 3d 游戏,如果你解开它的数据包,就会发现大量的 java class 文件。

还有 javascript ,因为被 IE 的事情弄出些恐惧症来,大家也不支持。

kyo 给我推荐了 python ,说是跟 java 齐名的语言。还有 ruby 等等。那时我们对这些日后名声大振的动态语言,都没有什么特别的感觉。一视同仁的去评估。因为嵌入式脚本,在国内同行中没有什么先例可供参考(早期大多数开发团队都是自己开发脚本语言),只能是靠自己的感觉来办。

最后大家一起看中了最为小巧易于嵌入的 lua 。网上比较多 lua 的相关工具,不过是针对 lua 3.2 的,当时 lua 4.0 发布不久,我们最终决定选用最新的版本,不去理会配套的第三方工具。

詹东开始研究 lua 的 C API ,以及怎样嵌入,这个工作很顺利,得益于 lua 的简洁。kyo 琢磨如何把 lua 和我写的底层桥接起来。当他最终用纯粹的 lua 代码驱动起第一个游戏内的界面对话框,我们都很高兴。ruiheng 则作力于 lua 的控制台调试器,他是 unix 背景的程序员,做出来的那个东西更像 gdb ,挺好用。哦,我做了个控制台的模块,支持彩色的信息输出。前一版的惨痛经历告诉我,一定要有一个好用的调试控制台。

说起 bug ,《大话西游一》的教训是非常惨痛的。最让我心痛的是,明明知道 bug 在那里,就是不知道该怎么改。往往改动一处,会引发新的问题。我想找到一种方法可以杜绝这种现象。所以在新版本里,引入了一种新的机制来解决。那就是给引擎加入录象功能。

所谓录象,就是让引擎记录下所有输入的消息以及发生的时刻。由于游戏 client 可以严格按帧来区分时序,时刻即帧序。所谓输入,无外乎网络包输入和键盘鼠标输入。这些只需要按次序写入记录文件即可。当有了这些数据,就可以无限制的回放给引擎。每次操作 client 玩上一段时间的游戏,只产生极少量的输入消息,而回放即可再现第一次游戏时的种种(甚至可以加快速度播放,只需要关闭和逻辑无关的显示模块即可)。这个功能是纯粹实在在引擎底层的,更上层建筑无关,顾而能为开发人员方便的使用。

如果不懂技术的读者看到这里还不明白,请联想暴雪游戏中的对战录象,星际和魔兽都支持的。

ps. 这一点是我以后做项目必须要求的基础设施。不支持录象功能的引擎是不合格的。我曾几次三番的要求服务器也加入录象功能(这比 client 更简单)但都没能如愿,直到我自己开发服务器。也有 3d 项目抱怨 3d engine 的复杂度而不能加入录象,其实没有什么道理。录象仅仅是记录操作,能不能加进去只跟 engine 处理外部输入的设计有关,跟图象呈现方式没有联系。

简单表述录象对调试的重要性,可以这样来解说。

即使我们拥有交互式单步跟踪的调试手段,当错误发生时,我们也只能向后运行程序,观察计算机内部的状态变化。而对之前发生的事情,仅仅只得一个内存快照而已。这是静态的信息,而变化的过程已经丢失。当然,内存快照已然非常有价值。比如在 unix 系统上,一个进程挂掉,可以生成一个内存快照文件,被称之为 core dump 。gdb 这种调试工具则可以分析 core dump ,还原当时的现场,程序员可以根据现场情况进行分析。

录象的威力则更进一步,不仅可以轻易拿到错误现场的快照(只需要重新回放一次),还可以让时光倒流,让你看到之前发生了什么。因为只要设计合理,每次回放,内存里任何一个对象的地址空间都不会有变化。如果我们拿不准出错时的问题是由什么前导因素造成,只需要重新回放一次在更早的时机中断下来观察即可。

有了这么一样利器,我们遇到的每个 bug 几乎都可以在当天找到根源,并修正。当 bug 是单个的出现,并迅速一个个的解决时。比同时面临多个 bug 要轻松的多。每次解决问题也都是从根源入手,而不是简单的使用 walk around 的方案。每解决一个 bug 当然不会引发新的问题了。

大话西游 2.0 的 client 非常稳定,以知的 bug 都已排除。那些日子,每天下班时我都可以这样骄傲的宣布。


那几个月,工作有条不紊,大家意气风发。我们甚至每天可以乘坐公交车回家。kyo 没结婚前住的很远,和我有一小段同路,当他转车赶上末班地铁,基本上我已到家。而他的归途一半都没走完呢。我们不再需要加班到太晚。

詹东常住北京,只是需要交流的时候才来广州住几天。大家分工明确,甚至不需要每天在一起写程序。(我想,异地合作也是我们抛弃 vss 的一大原因)所以,初期的设计比后期的实现更为重要。设计的好了,甚至缺少沟通都能把项目做好,反之,再多人再好的沟通也没有用。

甚至我都在想,这不三个月就把活干完了吗?赶快把大话换下来吧。但是 dingdang 说,不急,还不到时候。


渐渐的,开始有旧人陆续离开,先是古越接着 micro 而去,然后是果子。

古越的离开有些无奈,我没有问,因为新的项目已经没有让他参于,我想离开是必然的吧。(后来回头看,他有网易不少股票,公司股价涨到那么高,我想即使从收益上权衡,在网易干的一年也值了。可能让他遗憾的是,没有一起参与大话的起死回生吧)

果子辞职,还是有些舍不得的。他是个挺有想法的人,动手能力也很强。当时说想回家休息一下。等到再来看望我们的时候,手上居然拿着车工教材。我是学机械的,很好奇他怎么干这个起来了。他说他买了个小车床,放在家里做些东西玩。果子是个军事迷,喜欢仿真枪械。当时下载了一张德国二战时期的手枪图纸,在家自己摆弄。那天,他还给我欣赏了他自己车的枪管,很精细,比我的手艺强多了 :D 。

时不时的总能收到一些他的消息,先是说他买了部 polo ,整天大街小巷的乱窜,一天能在市区开 400 公里,堪比出租车司机;而后说是开车时用笔记本不方便,自己设计制作了一个笔记本支架,固定在坐驾里。听起来过的挺开心。

几年后,我介绍大学室友去他和古越一起开的经营短信业务的公司里写程序,果子请我吃过一顿饭,之后就联系不多了。

我不喜欢照相,相片很少。不过找到一张那段日子留下来的。好象是果子买了个摄像头,我拿过去试试拍的一张。纪念一下:


谢绝转载

那些日子(目录)

05:28 IMG_9955 (286 Bytes) » Uploads from dbanotes

dbanotes posted a photo:

IMG_9955

05:28 IMG_9903 (286 Bytes) » Uploads from dbanotes

dbanotes posted a photo:

IMG_9903

05:18 IMG_0076 (286 Bytes) » Uploads from dbanotes

dbanotes posted a photo:

IMG_0076

05:15 IMG_9976 (286 Bytes) » Uploads from dbanotes

dbanotes posted a photo:

IMG_9976

05:11 IMG_9974 (286 Bytes) » Uploads from dbanotes

dbanotes posted a photo:

IMG_9974

05:10 IMG_9927 (286 Bytes) » Uploads from dbanotes

dbanotes posted a photo:

IMG_9927

05:05 IMG_0044 (286 Bytes) » Uploads from dbanotes

dbanotes posted a photo:

IMG_0044

05:01 IMG_0012 (286 Bytes) » Uploads from dbanotes

dbanotes posted a photo:

IMG_0012

04:37 那些日子(十二) (15681 Bytes) » Fenng's shared items in Google Reader

dingdang 上任不久,我们开车去珠三角转了一圈。拜访深圳,珠海的许多公司。有点新公司成立、四处拜山头的意思。

丁磊和雷军私交不错,据说还经常私设赌局,赌各自产品能做到多少人在线。嗯,有些遥远的故事,记忆模糊,还是不加详述。我们一行人自然也去了金山。当时他们在做《天王本生》,买的 LithTech 的 3d engine 。赵青是开发团队的 leader 。我和赵青颇有些交情。

事情源于 1998 年,一帮梦想在互联网上联合开发 RPG 的小子,成天泡在 irc 频道里 YY (也不完全是,我们还真做了不少东西)。其中,我是唯一的一名程序兼职小组网站制作。我们给开发小组定了个名字“风魂”。后来小组解散,为了纪念这段历史,我把这个名字延用在了后来那个引擎上。

今天为写这篇,还专门翻出了当年我们的策划 Gary 做的故事背景社定。更完整的版本在 irc 的聊天记录中,早已遗失。这个 Gary 半年后加盟珠海金山,担任《剑侠情缘2》的主策划。

99 年的暑假,我去珠海拜访 Gary ,他介绍了剑侠情缘2 的程序王炜、赵青,以及著名游戏音乐人罗晓音与我认识。还记得那天黄昏,我们几个人晚饭后步行来到海边,坐在草地上遥望对面的澳门。大家交流技术经验,畅谈着国产游戏的希望。王炜是个仙剑迷,把仙剑翻来覆去的研究了个透彻,还为此制作了专题个人网站;赵青则回忆着红警如何吸引着他进入游戏这一行。

2001 年金山的食堂里,很多朋友围坐在一起。Gary 和王炜已经离开,赵青平时话不多,但在老朋友面前依然健谈。还有许多新面孔。

网易和金山的这种友好关系一直延续了下去,之后,金山的同行也曾经率领大部队来广州回访交流经验。我们的程序员也曾有过合作(精灵的反外挂程序是由金山一名程序员常驻广州完成的)。再之后,赵青领着一队人,过来网易组建了新的方舟工作室,似乎也没太损坏公司之间的友谊。我们还保持着互访的传统,几年后,我个人就几次拜访过已迁往成都的罗晓音。

再往后,网游市场产品竞争激烈,对于一些影响到玩家群的公众事件的内幕,虽也有些耳闻。但那些就是市场营销方面的事情了,无损程序员之间的友谊,不提也罢。

在深圳,有很多游戏开发公司,如正在制作《百花物语》的联志软件,还有完成了《最初幻想》的万智源。在万智源所在的公寓前,一个大胖子迎接的我们,居然是陈重,那个曾在金字塔有过一面之缘的小子。我们寒碜了几句,感叹圈子之小。

可能是因为网易做网游项目时间长了,居然自然而然的泛起这种念头:怎么还有这么多家游戏公司在做单机游戏呀。虽然我自己不喜欢玩网游,也喜欢单机游戏能继续红火。可看到这么多公司依旧为单机游戏投入资金和人力,不免奇怪。我对自己这种思想的转变也颇有感慨,看来,网游取代单机游戏的市场已不可逆转了。

最后去的是在深圳的 gameone 。这是一家港资公司,老板施仁毅。虽然 gameone 的员工对老板颇有些牢骚,但我个人还是挺喜欢这个人。认识他也满长时间的,据说他早年跟黄易是同事,有些交情。我读大学时喜欢看黄易的小说,他信势旦旦的说去把《大唐双龙传》要过来给我做 RPG 的剧本 :D ,后来又颇为无奈的告诉我,就晚了两天,游戏改编权被智冠抢走了。之后,他谈成了古龙小说的游戏改编权,我本想做这个《古龙群侠传》的程序,应该是考虑到当时我一个在校学生,全职做主程不太靠谱,最终是交给金字塔去做的。

99 年第一次见风老总(施仁毅在 icq 上的网名)的时候,他请我吃饭,口若悬河的讲述他在《万王之王》中的势力。并一再强调网络游戏的美好前景。想必后来的《古龙群侠传 online》也是蓄谋已久的了。

那天在深圳的 gameone 办公室,风老总不在,不过我见到了另一个老朋友郭伟。

郭伟,我们都管他叫郭老。其实郭老并不老,也就比我高两届。最早也是业余做游戏的,大家通过 email 做过一些交流。早年网上流传过他们业余小组做的一个游戏 demo ,名字我不太记得了。是一个斜 45 度视角的 2d 动作游戏。曾经他找过金字塔投资继续开发,我在大众软件封底还见过这款游戏的小广告。

见到郭老的时候,他给我演示了《古龙群侠传》,原来一直是他在做这款游戏的程序。效果很好,颇有暗黑破坏神的味道。我们很兴奋的讨论了一下关于光影效果的优化等。之后,dingdang 私下跟他谈了很久,看起来早有接触,我想 dingdang 是想挖这个人。

一年之后,郭老坐到了我的旁边。一起工作了三年。我们配合非常默契,他就是《梦幻西游》客户端的主程。06 年的时候,《梦幻西游》的主策划徐波带着一拨人离开,接受了金山的投资。我听到这个消息后,立刻给 dingdang 打了电话,第一句就是问,“郭老走了没有?”,dingdang 说没有,然后我长舒一口气。我知道从 05 年初开始,郭老做的并不太开心,他话语很少,可能就数我们工作上聊的多。他有许多想法,但是无从施展。更多时候只能跟我聊聊。给我看看他写的一些东西,包括他用 python 做的游戏服务器。或许那时我最能理解他写的那些程序。我跟 dingdang 说,不如让郭老跟我一起干,可是那时他已经结婚,不会离开广州。

最终他还是离开了网易。我问 dingdang ,知道郭老去哪了吗?是不是去徐波那里了。dingdang 说,应该没有吧,他走的时候说不去的。公司里很多人很关心徐波他们离开后做的新产品,担心对梦幻西游造成竞争。我对很多同事说过,只要郭老不帮徐波写程序,我对他们新产品能否顺利完成表示怀疑。

郭伟后来还是跟徐波一起干了,现在他们的《梦想世界》的运营情况我不甚了解,这些已经是这两年的事情,另一段故事。


该回到我们的故事主线了。时间已经迈入了 2002 年,对网易至关重要的一年。

网易找到了一根救命稻草,那就是短信业务。我想,公司的发展主线是一脉相承的,而不是外界评论中,丁磊无意中拣到了宝。按我的理解,我想丁一开始就不太相信单纯靠在网站上打广告就能维持一个大公司的全部开支并赚到钱。做公司只做概念,光烧钱而无进帐,是不可能长远发展的。这个道理如此浅显,想必每个人都明白。

国内的网上支付体系那个时候很不健全,大多数网民还没有在网上消费的习惯。如何从直接用户那里收到钱,是经营者们日夜考虑的事情。网络游戏是第一步,原本希望借此推广网易一卡通,以此进一步的促进网民在网站上的消费。没想到游戏业务一开始很不顺利,大话西游过了头几天的 5000 人同时在线的高峰期后,停留在 3000 人的水平,半死不活了。

手机短信无疑是一种小额代收费的好途径。我想丁是瞅准了这一点,才全力进军短信业务的。并成立了无线事业部。

对于短信的赢利,丁显得很兴奋。有一次朋友一起喝酒时,丁拿着我的手机给他的朋友演示怎么订阅网易的天气预报,喜悦之情溢于言表。

以前在北京做手机平台开发时的一个合伙人去了中移动。那段时间他来广州找我聊天。我抱怨过我们的大话西游原来可以通过手机做小额冲值,没做多久就被取消了。他给我解释说,其实移动相当不愿意充当帮人收费这个角色。移动希望在无线网络上有更多的内容,让用户去消费;而仅仅只做代收费,没有什么利润,且要承担许多资金风险。这种傻事是不会干的。

我想这个道理,丁磊更明白。所以网易应该没有把这项业务发展壮大的远期计划。毕竟是为人做嫁衣,就算做好了能赚到钱,也被移动分去了一半;做坏了,风险是自己的。只是,钱来的很快,我想是超预期的,公司还是加大了无线事业部的投入,一直做下去,直到现在。

2002 一开年,NTES 在 nasdaq 上复牌。那天晚上,丁兴奋的请我去喝酒。等到美国股市开盘,迫不及待的用手机查了下,高兴的宣布,我们公司的股价又回到了 1 美圆以上。“看吧,我们又活过来了。第一天就比 sina sohu 的价格都高呢”。


我时常跟 dingdang 讨论游戏,比如研究游戏里玩家盘店的情况。我觉得系统做的不好,完全表达不出虚拟的经济系统。dingdang 说玩法是继承于西游记的 mud ,其实那里面玩家盘店挺有趣的。不过 mud 毕竟同时在线玩家少,跟现在的网游决然不同。

由于制作 client 的缘故,我也试玩了正在重制的大话西游,始终找不到 RPG 的感觉。无论是战斗还是日常闲逛。向 dingdang 抱怨这些,我说,反正我现在闲着,如果日后做第二版,让我试试重新做游戏设计吧。dingdang 挺高兴的答应了。然后我开始写策划案。

大话西游虽然玩的人不多,但是还是配备了相当数量的客服人员。丁磊希望可以在服务方面做好,弥补开发上的失误。首批招聘来的客服都是游戏玩家,他们以三班倒的方式在游戏里 7*24 小时的值班,并真心喜欢这个我眼中问题多多的游戏。

因为我在筹备写游戏的策划案,很可能还是以大话西游这个品牌推出,所以我跟这些忠实的游戏玩家交流。其中有一个人让我很感兴趣,他时常以徐宥箴为笔名在玩家论坛跟玩家辩论发帖,公司里大家直呼他的真名徐波或是更亲切一点叫他老徐。因为我在公司比较习惯叫他徐波,下面就这么称呼吧。

显然徐波玩过很多游戏,我也是。我们一起怀念 sfc 上的机器人大战,四狂神传说,浪漫沙加,风水回廊记等等许多。我那时对和我一样对单机游戏玩的多而杂的人挺感兴趣,因为可以交流的东西比较多。比较而言,网易当时的程序员喜欢玩游戏的人比例要少许多,许多人玩的话也是固定几款。还有一些人,谈起来都是 mud 长 mud 短,可我偏偏就不玩 mud 。

几天后,我找到 dingdang 说,徐波这个人对游戏挺有想法,不如不要让徐波做 GM 了,让他跟我一起做新游戏的策划吧。dingdang 说他也对这个人挺有好感,就按我的意思办吧。

按我的要求,徐波先写了一份简单的战斗系统设定稿让我看看。这两天,我从一个旧的 U 盘上翻出这两份旧文档。一份 txt 档的草稿的创建时间是 2002 年 1 月 8 日,另一份 word 档正式一点,2002 年 1 月 9 日。

还有一份我自己当年写的策划案草稿,最后一次修订时间,2002 年 1 月 15 日。


dingdang 让我主持一次策划会议,把我跟他聊过的一些想法讲给大家听。并且听一下策划的意见。1 月中旬的那次会议,到了许多策划,我们在大会议室里讨论。我没有做 ppt ,只用了块白板。前天夏的策划,也是大话西游的主策月心,依旧抱着他最喜爱的紫砂茶壶在下面静静的听,时不时泯一口茶。我对他的记忆不多,更多的是他离开公司后留下的几本策划案的打印稿。封面上敲着他的标志戳——“机密”,呵呵。

还有黄华(大话2 开始的主策,以及日后游戏市场部的负责人),狂狮(后来天下二的策划之一),等等。徐波也在场。

会上谈了许多我对网络游戏的看法,主要是关于经济系统的。我觉得网络游戏既然是一个虚拟社会,必然存在经济系统。这个应该是我们设计的重点。然后说了一些我的观点,比如应该想办法紧缩虚拟货币的供应等等。许多东西放到今天是再普通不过的话题了,当时我想也有许多同事想到这些。这些应该是在制作网游一段日子后,制作人自然而然的想法。

我提了许多关于控制虚拟经济系统的具体观点,现在已经记不清了。记得好多人提出了反对意见,到今天几乎都没留下印象,但徐波的发言我是记的清的。因为只有他指出了我的一处逻辑错误。虽然无关整体框架,可印象深刻。因为徐波的敏锐,让我觉得这是个聪明人,而且也在考虑我正在考虑的这些问题。


做策划的那段小插曲没过多久就结束了。每天依旧有很多程序问题围绕在我的身边。最终我放弃了自己来写策划案的想法(或许根本就没有开始过?)。做一个自己设计的网游,一搁就是好几年。

之后,我便全力投入到大话西游 2.0 的 client 开发中。随着开发工作顺利的开展,游戏部也逐渐补充进新的血液,有美术,有策划,也有程序。头一年,我在 36 楼参加了一次应届毕业生招聘的活动,那一次我们是分组进行的。我负责的组里有两个人,让我最后在他们的简历上化了圈。一个是曾强,一个是许扬。

当这两人毕业正式入职时,进入了游戏部。小强被分派到《精灵》的筹备工作中去,打理那些服务器,再之后转入天下二。许扬则划归大话组,配合 kyo 做界面方面的开发。

大话西游二项目的早期就是这样,因为很顺利,异乎寻常的顺利,所以也显得平淡。

多年之后,个人总结大话西游二的成功,从我参于部分的角度,归纳为这么几点:

  1. 有完整的美术资源。这些从第一版遗留下来,不需改动就可以使用。这避免了美术方面的工作拖累程序的开发进度。

  2. 程序底层稳定,关键模块都已经完成,并通过了前一版的公众检验。少数底层的 bug ,经过大量的用户被动测试,都找了出来。我们在编写上层代码的时候非常放心。几乎不会出现 bug 出现位置难以判定的情况。

  3. 事先有技术上的合理规划,有了充分的准备才开始动手。并且期望值不高,有明确的目标:复制原有的功能。

  4. 有更强的技术力量支持。

  5. 漫长的测试期,并没有在制作基本完成后匆匆上市。

待到下次继续谈梦幻西游,我会说,它的成功是大话西游二的翻版,以上诸点都成立,且做的更加好。


谢绝转载

那些日子(目录)

04:04 最好的母亲节礼物 (4518 Bytes) » Fenng's shared items in Google Reader

【转载按语】今天是母亲节,感谢网友周一一投递的这条新闻。我对新闻里的马彦军大叔只有两个字:膜拜。和他相比,今天买一点礼物、送一点钱回家,都显得太轻了。更让我赞赏的是他的巧思,啤酒瓶组装成太阳能热水器,一个聪明的孝子是多么难得啊!他的发明,可以说是本年度最好的母亲节礼物,也是最富创意的母亲节礼物。

标题: 为让母亲洗上热水澡
来源:西安晚报

本报榆林讯 米脂县银州镇农民马彦军用空啤酒瓶“捣鼓”出一种简易的太阳能热水装置,让身居大山深处的母亲洗上了热水澡,安享健康幸福的晚年。如今,他将这一成果免费推广到周边20多户农家,使更多的农村老人从中受益。

啤酒瓶上找到灵感

马彦军住在大山深处的米脂县姬桥村,42岁的他自小学毕业后就下地劳动,成家后学得一手木工活。此后,他辗转西安等地打工谋生。2002年前后,由于长期在外辛苦打拼,马彦军患上了浅表性胃炎,从此回到了老家米脂县。

农村生活条件差,人们在挥汗如雨的劳作之后,连洗澡解乏这样最起码的卫生习惯都成了一种奢望。看着母亲整日为自己忙里忙外,赋闲在家的马彦军决定自制一个太阳能热水器,让全家人每天都能洗上热水澡。但用什么材料制作,成了他日思夜想的一个老大难问题,最后终于在啤酒瓶上找到了灵感。

2005年春天,马彦军正式开始为这一设想四处奔忙。他先收集来大量的空啤酒瓶,又购置了钻头等必要的加工设备和材料。随后,他将自己原来做木工用的一台电锯进行了改装,把钻头安上去,用于在啤酒瓶底上钻孔。根据自己绘制的草图,马彦军将啤酒瓶相互套起来,为防止漏水,又在每一个接口处都用上了健康环保的软塑料管,然后将这些套好的瓶子装进木框里固定。在上下两组啤酒瓶上各连接一根塑料水管,各个瓶口或孔内插入一截儿支管,这样就形成进出水循环。

一切准备就绪后,马彦军在屋顶上放置了一个用于盛水的大铁桶,水热后通过热水器另一端的管子输入室内,接入喷头。这样,一个简易的太阳能热水器就算完成了。

“农民发明”受到关注

2007年夏天,马彦军的这一研制成果迅速在当地传播,山民们纷纷赶来看稀奇,对这个“洋玩意”品头论足。当地媒体、科技部门来人来电要求他转让技术,同时也引起了国内一些太阳能生产厂家的关注。海尔集团在得悉马彦军的家境和他这个发明创造后,迅速派人赶到姬桥村,向他赠送了一台海尔太阳能热水器。

马彦军说,没想到自己的举动会有这么高的关注度,起初他自造太阳能热水器,一方面是出于关照行动不便的母亲,另一方面确实手头紧,买不起市场上的太阳能热水器,看到厂家免费送货上门,他还真有点不好意思。

马彦军73岁的老母亲高兴地说,现在身上一热就冲澡,生活起居跟城里的老人差不了多少。

希望农村母亲们都能洗上热水澡

姬桥村村民杨巨喜家刚刚加工完一台“啤酒瓶太阳能热水器”,他打开喷头,流出的水热乎乎的。杨家人高兴地说,这就是马彦军的杰作,从加工到组装安放完成仅3天时间。

据了解,像杨巨喜这样的“用户”,目前在当地已有20多家,全部是马彦军免费推广安装的。马彦军说,虽然这个热水器比较简易,但对农村人来说还能将就着用,他希望能把这一成果免费推广到全国去,让所有落后农村的母亲们都用上热水器。下一步如果资金允许的话,他准备还用啤酒瓶,在村里建一个公共浴室,让村里所有的老人都能洗上热水澡。 

文/图 记者 杨永存

03:11 密码强度规则(仿 google) (1368 Bytes) » Fenng's shared items in Google Reader

一、密码长度:

  • 5 分: 小于等于 4 个字符
  • 10 分: 5 到 7 字符
  • 25 分: 大于等于 8 个字符

二、字母:

  • 0 分: 没有字母
  • 10 分: 全都是小(大)写字母
  • 20 分: 大小写混合字母

三、数字:

  • 0 分: 没有数字
  • 10 分: 1 个数字
  • 20 分: 大于等于 3 个数字

四、符号:

  • 0 分: 没有符号
  • 10 分: 1 个符号
  • 25 分: 大于 1 个符号

五、奖励:

  • 2 分: 字母和数字
  • 3 分: 字母、数字和符号
  • 5 分: 大小写字母、数字和符号

最后的评分标准:

  • >= 90: 非常安全
  • >= 80: 安全(Secure)
  • >= 70: 非常强
  • >= 60: 强(Strong)
  • >= 50: 一般(Average)
  • >= 25: 弱(Weak)
  • >= 0: 非常弱

源自:《How to Make a Password Strength Meter Like Google v2.0》

2008-05-10 Sat

19:30 一周遇到两个Oracle Bug » AnySQL.net
18:53 体检归来~ » Think in 88
06:00 雅黑字体 for Windows XP » Fenng's shared items in Google Reader
03:32 CPU usage » Oracle Scratchpad
02:15 金牌是这样练出来的 » Fenng's shared items in Google Reader

2008-05-09 Fri

22:36 国家干部和烦人 » 玉面飞龙的BLOG
22:08 婚礼 » Uploads from dbanotes
11:40 Friday round-up » Red Hat Magazine
10:57 邀请您与YUPOO合作 » Fenng's shared items in Google Reader
09:37 Log Buffer #96: a Carnival of the Vanities for DBAs » Pythian Group Blog » Log Buffer
06:13 Manual Optimisation - 2 » Oracle Scratchpad
05:15 大表驱动hash导致额外物理读 » Alibaba DBA Team