转至老陈的blog http://www.138soft.com/
程序员,屌丝职业,吃青春饭的,这个已有定论,不再争论。但程序行业,经验是否存在?是否重要?《钢铁侠》很好的回答了这个问题。
故事的关键时刻,主角的能量差不多耗尽,大反派说:哥的是抄你的,但改进了更多。主角就拼命往天空飞,大反派死跟其后。飞到一定高度的时候,主角问对方:你是如何解决冷冻的问题?大反派答:什么冷冻问题?话都没说完,外壳就被深空气流冷冻,接着机器死机,坠落。
站在软件角度看,表面功能一样的软件,但关键时刻,经验的重要才能显示出来。就像IBM的笔记本电脑,在普通环境下,它跟其它品牌的没有什么区别,但去到西藏这种地方,只有它能启动,其它的都无法开机。
最后转帖一篇文章作为结尾:
我认识一个共享软件的作者,近十年来都在开发他的虚拟光驱的软件,不时给这个软件添加一点新的东西。我对此觉得很奇怪,对他说,我觉得虚拟光驱是一个很简单的东西。用一个映象文件容纳光盘上的数据,并开发一套驱动接口让系统以为这是一个光驱。下载网上开源的代码,应该不超过5000行。为什么他要为此耗费这么多年的精力呢?
他举了个例子说:国外知名的虚拟光驱Daemon,它的强项在于兼容性。几乎任何软件都能正常使用它的虚拟光驱,并当做真正的光驱来访问。而普通的开源的虚拟光驱,就有很多不支持了。
他曾经发现一种游戏,要求用户插入光盘。用他自己编写的虚拟光驱来模拟,总是不行。同样的映象文件,换了Daemon就一切OK。这让他大为诧异。碰到这样的情况,他根本就不可能到网上去搜索“为何我的虚拟光驱不支持某某游戏”这样的傻问题,也不可能在某处找来一段代码拷贝一番就解决。他必须找到问题的实质,才能找到对策。
花去漫长的时间,最终分析的结果是,原来因为该游戏希望每个用户都购买正版光盘,它就用了一种特殊的策略来分析用户所用的是不是真实的光驱。大家都知道硬盘的读取速度一般都比较快,而且事实上也更加稳定。光驱读盘的速度比硬盘相对慢一些,而且读取数据的速度有一定的不稳定性。比如说,数据读取的速率可能会以某种数学模型所定义的曲线为轨迹发生波动。而这个软件就根据这种不稳定性的匹配程度来进行检查。如果虚拟光驱提供的数据是不匹配这种特征的,则它很简单地禁止游戏继续运行。
而Daemon则在内部插入了这样的模拟函数,有意对数据的读出进行各种延时的处理,使之看上去非常像真实的光驱读出的数据。
总而言之,他开发的是一个逼近世界顶尖品质的好东西。当然代价是汗水与时间。