Neo Chang's profile像狗一样流浪PhotosBlogListsMore Tools Help

访问量统计


free web counters
Since 2005.9.15
Photo 1 of 24

Neo Chang 张伟

Occupation
Location
Interests
白衣漂泊四海,随意逍遥自在,自歌自舞自徘徊,无拘无束无爱。

Windows Media Player

像狗一样流浪

Life is tough, but precious.
8/5/2009

上帝、骰子和自助火锅

  是不是这标题让人觉得有“标题党”的嫌疑?要是在几个月前,我这么写了,那十有八九是标题党,但现在,肯定不是。

  前段时间断断续续看了刘慈欣的所有科幻作品(据称是所有,不过我想不排除有漏掉的),其中印象最深、给我最大震撼的,应该是《球状闪电》和《三体》的一、二两部了。看的过程中一直惊讶于作者那恢宏飘逸的想像力,大到宇宙的诞生、文明的演化和生存,小到组成物质的最基本粒子之间的作用及由此产生的各种奇异现象;上至历史有据可考的各个时期,下至遥不可及的未来,事无巨细,都描述的毫不含糊,好像这些并不是想像出来的图景,而是作者本人亲身经历过的事实,现在只是娓娓道来,原原本本把它们说出来一样。

  每天淹没在世俗喧嚣的城市里,突然读到这些,在深深被吸引的同时,不由开始一遍遍反问自己:原来我们习以为常司空见惯的世界还可能是这个样子?尤其这其中以量子物理学的相关概念为基础构建的情节,就算写成灵异事件或鬼故事也完全没问题,可刘慈欣偏偏用最为深入浅出的科学理论把这些解释的让你几乎挑不出什么漏洞,甚至有种错觉:这不是科幻小说吧,我们存在的世界应该就是这样子的,这些事在现实中肯定也可以发生的。比如在看到《球状闪电》里漂亮迷人深沉执着的女主角林云在宏原子核聚变的耀眼蓝光中化为灰烬——其实连灰烬都没有——之后两天,又突然好像实实在在的出现在众人面前并且袒露了她一直隐藏很深的精神世界的时候,会觉得这也太扯了;可继续看下去,却会有种恍然大悟的感觉,哦,原来是这样,果然不是鬼故事,还是符合“科学事实”的。。在那一刻,完全信以为真……一个掷骰子的上帝创造出来的世界,有什么是不可能的呢?

  在《三体》和《三体II——黑暗森林》里,大刘那经过多年思考积淀的对宇宙中最深刻的奥秘——文明的发展、多个文明(如果真的存在的话)之间的关系(“宇宙社会学”?)的描绘,对人类社会甚至我们每个人在各种极端情况下的反应的刻画,都在故事中表现的淋漓尽致。。突然觉得,都是吃五谷杂粮每天为生计奔波忙碌,人家还能空出时间思考这么深奥的问题,实在难能可贵,同时自己也深感惭愧……

  于是在同事的推荐下,借着这些小说勾起的我对量子物理学极大的好奇,又看了曹天元的《上帝掷骰子吗?——量子物理学史话》,同时还补了下课,看了史蒂芬·霍金那著名的《时间简史》。不禁惊讶于自己的无知……原来“量子论”和爱因斯坦的“相对论”一样并驾齐驱,同为20世纪物理学最伟大的理论,只不过相对论告诉我们在宇宙的极大尺度上客观世界的规律,而量子论则告诉我们极小的微观世界——电子、质子、中子等的运行准则(虽然这个准则到现在为止人类都没有完全弄清楚)。更让我惊讶的是,现代科学技术的成果,激光、微电子、计算机、超导等等给我们生活带来实实在在好处和让我们的生活方式产生翻天覆地变化的东西,竟然都可以算作量子论这个发展到后来神奇怪异到看起来像唯心论的学说演化过程中的附属产物……

  按照量子论告诉我们的,其实一切都是不确定的,一切都是概率,上帝他老人家是喜欢掷骰子的。这就意味着像《球状闪电》中那样,处于“量子态”的人理论上在某个时刻可能在宇宙中任何一个地方出现,哪天突然有人在后面拍你的肩膀,转头发现他(她)现在不是应该在千里之外吗,别惊讶,这是量子论起作用了……好吧,其实这是YY。。因为量子论中的一种学说告诉我们另一个原则,这种不确定性只有在没有观察者出现时才会发生,一旦有观察者,像一团迷雾一样不确定的物体马上又变回(塌缩)我们熟悉的实实在在的东西。所以,你回头看到的那个人八成是刚坐飞机或者动车组从千里之外赶回来的。那么是不是存在这样一种我们永远也看不到的景象:你在厨房做饭的时候刚把一个买回来的茄子放到桌子上,当你转身去拿刀的时候,它突然不见了,又或者它拿着毛巾香皂哼着小调开始在水龙头下洗澡,但当你转过身的一刹那, 它又变回茄子了,一个一动不动等着你将它碎尸万段的茄子……

  醒醒,醒醒……好吧,这些我们也许永远也看不到。按照一种学说,宇宙诞生到现在大概有100亿到200亿年;人类文明的历史大概几千年;现代科学的历史更是只有300年左右;而一个人的寿命才区区80年。从整个宇宙看来,别说是一个人,整个人类文明的进程也不过是一瞬间,时间实在太微不足道了。可我们毕竟还是实实在在的活着,所以就是这样微不足道的时间,我们每个人还是能真真切切的感受到它的力量。。至少我是感受到了。就说最近的吧,3个多月前和同事一起在我住处后面一家叫铁木真烧烤自助火锅的餐馆吃饭,30块钱吃的不亦乐乎,还说这个地方实惠以后可以常来,而在同事离职后才短短3个月,前两天下班因为买东西偶然路过的时候,发现那家店竟然倒闭了,也许是“实惠”的过了头儿?……物是人非,这个词也许某种意义上讲,就是描述了这样一个事实吧,类似的例子数不胜数。

  宇宙的起源?它的终点?量子论?不确定性?宇宙的终极奥秘?这些,似乎都太过虚无飘缈。而我们的生活,又太他妈的真实。就算你理解了量子论,早晨上班的时候还是得老老实实做地铁。找个没人看到的角落靠量子效应瞬移到公司这种做法是行不通的…… 虽然出地铁站的时候你能拿着磁卡在卡机上随便一晃,你的2块钱就跑到地铁公司的金库里,这的确又得益于量子论的发展。上帝他老人家依旧微笑着掷他的骰子,可傍晚的时候,保险公司的推销员还是会把你拦下来,略带兴奋的请求说,帮忙填一下这个问卷吧,再差5份就可以回家了。

  不过,尽管有点虚有点飘有点不着边际,可一成不变的工作和生活其实和陶叫兽嘴里的魔兽世界一样,是毒药,是一种迷幻剂,共同的作用是让我们变得麻木,忽视从我们身边流走的年华。而时不时思考一下这些所谓的“终极”问题,或许能让我们重新关注时间和人生的意义。

-----------

5/26/2009

101条经典幽默的计算机编程名言

Devtopis发布了一篇文章,汇编了一些有关计算机编程的经典幽默名言,boxi翻译。都挺有趣的,全部看完,也许你对计算机会有新的认知。

计算机

1、“计算机没什么用。他们只会告诉你答案。”
(巴勃罗·毕加索,画家)

2、“计算机就跟比基尼一样,省去了人们许多的胡思乱想。”
(萨姆·尤因,作家)

3、“他们拥有计算机,他们也还可能拥有其他的大规模杀伤性武器。”
(珍内特·雷诺,美国前女司法部长)

4、“跟计算机工作酷就酷在这里,它们不会生气,能记住所有东西,还有,它们不会喝光你的啤酒。”
(保罗·利里,吉他手)

5、“如果汽车能赶上计算机的发展周期的话,一辆今天的劳斯莱斯仅值100美元,每加仑要跑100万英里,每年还得爆炸一次,把里面的人杀个精光。”

(Robert X. Cringely,技术作家)

计算机智能

6、“计算机总是越来越智能的。科学家告诉我们说不久它们就能跟我们对话了。(这里的“它们”,我指的是“计算机”。我怀疑科学家永远都不能跟我们对话。)”
(Dave Barry,幽默作家)

7、“我最近注意到,在共同文化中,那种对计算机变得智能化并最终掌控世界的妄想恐惧症几乎彻底消失了。据我所知,这跟MS-DOS的发布基本是同步的。”
(Larry DeLuca)

8、“计算机会不会思考这个问题就像问潜水艇会不会游泳一样。”
(Edsger W. Dijkstra,图灵奖获得者)

9、“活了一百年却只能记住30M字节是荒谬的。你知道,这比一张压缩盘还要少。人类境况正在变得日趋退化。”
(Marvin Minsky,人工智能研究的奠基人)

信任

10、“这座城市的中央计算机告诉你的?R2D2,你不该相信一台陌生的计算机!”
(C3PO,星球大战中的翻译机器人)

11、“永远不要相信一台不能扔掉一扇窗户*的计算机”
(斯蒂夫·沃兹尼亚克,苹果联合创始人)
*译者:暗指微软的wINDOWS操作系统

硬件

12、“硬件:计算机系统中可被踢的部分。”
(Jeff Pesis)

软件

13、“今天大部分的软件都很像上百万块砖堆叠在一起组成的埃及金字塔,缺乏结构完整性,只能靠强力和成千上万的奴隶完成。”
(阿伦·凯,图灵奖获得者,面向对象创始人)

14、“我终于明白‘向上兼容性’是怎么回事了。这是指我们得保留所有原有错误。”
(Dennie van Tassel)

操作系统

15、“有两样重要产品出自伯克利:LSD和BSD*。我们不相信这是个巧合。”

(Jeremy S. Anderson)

*译者:LSD是一种药力至强的迷幻剂,BSD-BSD(Berkeley Software Distribution,伯克利软件套件)是Unix的衍生系统

16、“2038年1月19日,凌晨3点14分07秒”
(UNIX中的世界末日*–1970年1月1号之后的2^32秒)

*译者:word跟world发音类似,UNIX用有符号整形数(WORD)表示时间,所以最多只能计时2^31秒,原文的2^32应为错误。

17、“每个操作系统都差不多… 我们都一样的烂。”
(微软的高级副总裁布莱恩·瓦伦蒂尼这样描述操作系统的安全状况,2003)

18、“微软出了个新版本,Windows XP,据大家说是‘有史以来最稳定的Windows’, 对我而言, 这就好像是在说芦笋是‘有史以来发音最清脆的蔬菜一样’ “

(Dave Barry)

互联网

19、“互联网?那个东西还在吗?”
(Homer Simpson)

20、“网络就像是个母夜叉。我每转到一处都会看见小个的按钮命令我提交*。”
(Nytwind)

*译者注:Submit:提交,另一层意思是要求屈服

21、“想想看吧,已经有一百万只猴子坐在一百万台打字机旁,可Usenet就是不像莎士比亚。”
(Blair Houghton)

软件产业

22、“计算机软件产业最为惊人的成就,是其持续不断地放弃硬件产业的惊人成果和稳定性。”

(Henry Petroski)

23、“真正的创新经常来自于那些贴近市场、但无力拥有市场的的小型初创公司。”

(Timm Martin)

24、“人们常说,伟大的科学学科就像是站在其它巨人肩膀上的巨人。人们也说过,软件产业正如站在其他侏儒脚上的侏儒。”
(Alan Cooper,交互设计之父)

25、“这无关比特、字节和协议,而关乎利润和损益。”
(郭士纳,IBM前CEO)

26、“我们是微软。反抗是徒劳的。你会被同化的。”
(保险杠贴纸)

软件演示

27、“不管演示在彩排的时候有多好,一旦在观众面前展示时,演示不出错的几率与观众人数成反比,与投入的金钱总额成正比。”
(Mark Gibbs)

软件专利

28、“专利大多数都是垃圾。浪费时间去阅读这些专利是愚蠢的。只有专利持有人才会这么干,还得强迫自己才会看。”

(Linus Torvalds,LINUX创始人)

复杂性

29、“控制复杂性是计算机编程的本质。”
(Brian Kernigan)

30、“复杂性杀死一切。它把程序员的生活给搞砸了,它令产品难以规划、创建和测试,带来了安全挑战,并导致最终用户和管理员沮丧不已。”
(Ray Ozzie)

31、“进行软件设计有两种方式。一种是让它尽量简单,明显没有不足。另一种是弄得尽量复杂,没有明显缺陷。”

(C.A.R. Hoare)

32、“好的软件的作用是让复杂的东西看起来简单。”
(Grady Booch,UML创始人之一)

易用性

33、“不管那些计算机书籍如何宣称,只需记住,你并非‘傀儡’。真正的傀儡是那些无法设计出易于使用的硬件和软件的那些人,尽管他们是技术专家,因为这是普通消费者赖以生活的东西。”

(Walter Mossberg,科技专栏记者)

34、“软件供应商在努力尝试让他们的软件更‘易于操作’… 迄今为止,他们最好的办法就是翻出所有的老手册,然后在封面盖上‘易于操作’这几个字。”

(比尔·盖茨)

35、“有个老套的故事说有人希望他的计算机能像他的电话机一样好用。他的愿望实现了,因为我已经不知道该如何使用自己的电话了。”
(Bjarne Stroustrup,C++之父)

用户

36、“任何一个傻瓜都会用电脑。很多都会。”
(Ted Nelson)

37、“只有两个行业把客户称为‘用户’*。”

(Edward Tufte,信息设计大师)
*译者注:一个是computer design and drug dealing

程序员

38、“程序员在跟宇宙赛跑,他们在努力开发出更大更好的傻瓜程序,而宇宙则努力培养出更大更好的白痴。到目前为止,宇宙领先。”
(Rich Cook)

39、“你们当中很多人都知道程序员的美德。当然啦,有三种:那就是懒惰、急躁以及傲慢。”
(Larry Wall,Perl发明者)

40、“程序员的问题是你无法预料他在做什么,直到为时已晚。”
(Seymour Cray,超级计算机之父)

41、“那就是这些自认为痛恨计算机的人的真实面目。他们实际上真正痛恨的是糟糕的程序员。”
(拉瑞·尼文,科幻作家)

42、“很长时间以来我一直困惑不已,为什么一些又贵又先进的东西会一点用都没有。直到我突然想起,计算机不就是一台愚蠢之至却拥有难以置信的做聪明事能力的机器嘛,而程序员不就是聪明绝顶却拥有难以置信的干蠢事的能力的人嘛。一句话,他们简直就是天生绝配。”
(比尔·布莱森,旅游文学作家)

43、“不像学学涂涂画画也能让某人成为专家级画家,计算机科学教育不会让任何人成为一名编程大师。”

(埃里克·雷蒙,开源运动领袖)

44、“一个程序员是经历以下事情后仍能证明自己是严格的专家的人:他可以历经数不清的捶打,可取材于无关紧要的文档,用上面的争议数据作出模糊假 设,并以此计算出测微精度的无数片面理解的答案,并由一个不可靠、脑袋充满质疑、公开宣称要让一个倒霉透顶、没有指望、毫无防备,要求第一时间获得信息的 部门狼狈不堪、令人生厌的人使用一台准确度有问题的仪器去实施。”

(IEEE网格新闻杂志)

45、“运气好的黑客能用几个月的时间 - 生产出一个小规模的开发团体(比如说,7-8人)历尽艰辛一起工作了一年多才能做出来的东西。IBM经常报告说某些程序员的生产力要比其它工人高百倍,甚至更多。”
(Peter Seebach,黑客)

46、“最好的程序员跟好的程序员相比可不止好那么一点点。这种好不是一个数量级的,取决于标准怎么定:概念创造性、速度、设计的独创性或者解决问题的能力。”
(兰德尔·E·斯特劳斯,科技作家)

47、“伟大的车工值得给他几倍于普通车工的薪水,但一个伟大的软件代码作家,其价值则要等同于一个普通的软件写手的价格的1万倍。”
(比尔·盖茨)

编程

48、“就算它工作不正常也别担心。如果一切正常,你早该失业了。”
(Mosher的软件工程定律)

49、“靠代码行数来衡量开发进程就好比用重量来衡量飞机制造的进度。”
(比尔·盖茨)

50、“写代码的社会地位比盗墓的高,比管理的低。”
(杰拉尔德·温伯格,软件与系统思想家)

51、“首先学习计算机科学及理论。接着形成自己编程的风格。然后把这一切都忘掉,尽管改程序就是了。”
(George Carrette,杰出软件工程师,开源推广者)

52、“先解决问题再写代码。”
(John Johnson)

53、“乐观主义是编程行业的职业病;用户反馈则是治疗方法。”
(Kent Beck)

54、“迭代者为人,递归者为神。”
(L. Peter Deutsch)

55、“布尔值最好的一点是,就算你错了,也顶多错了一位而已。”
(无名氏)

56、“数组的下标是从0开始好还是从1开始好呢?我的0.5的折衷方案,以我之见,没有经过适当考虑就被否决掉了。”

(Stan Kelly-Bootle)

编程语言

57、“只有两种编程语言:一种是天天挨骂的,另一种是没人用的。”
(Bjarne Stroustrup,C++之父)

58、“PHP是不合格的业余爱好者创建的,他们犯了个小恶;Perl是娴熟而堕落的专家创建的,他们犯了阴险狡诈的大恶。”

(Jon Ribbens)

59、“COBOL的使用摧残大脑;其教育应被视为刑事犯罪。”
(E.W. Dijkstra)

60、“把良好的编程风格教给那些之前曾经接触过BASIC的学生几乎是不可能的。作为可能的程序员,他们已精神残废,无重塑的可能了。”

(E. W. Dijkstra)

61、“我想微软之所以把它叫做.Net,是因为这样它就不会在Unix的目录里显示出来了。”
(Oktal)

62、“没有一种编程语言能阻止程序员写出糟糕的程序来,不管这种语言结构有多良好。”
(Larry Flon)

63、“计算机语言设计犹如在公园里漫步。我是说侏罗纪公园。”
(Larry Wall)

C/C++

64、“搞了50年的编程语言的研究,我们难道就以C++告终啦?”
(Richard A. O’Keefe)

65、“写C或者C++就像是在用一把卸掉所有安全防护装置的链锯。”
(Bob Gray)

66、“在C++里你想搬起石头砸自己的脚更为困难了,不过一旦你真的做了,整条腿都要报销。”
(Bjarne Stroustrup)

67、“C++ : 友人可造访你的私有成员之地也。”
(Gavin Russell Baker)

译者:Friends:C++的友元,是一种定义在类外部的普通函数,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说 明时前面加以关键字friend。友元不是成员函数,但是它可以访问类中的私有成员。友元的作用在于提高程序的运行效率,但是,它破坏了类的封装性和隐藏 性,使得非成员函数可以访问类的私有成员。

68、“罗马帝国灭亡的其中一个主要原因是他们没有0 - 这样他们就没法给自己的C程序指明成功退出的路径了。”
(Robert Firth)

Java

69、“Java从许多方面来说就是C++–。”
(Michael Feldman)

70、“说Java好就好在运行于所有操作系统之上,就好比说肛交好就好在无论男女都行。”

(Alanna)

71、“好吧,Java也许是编程语言的好榜样。但Java应用则是应用程序的坏榜样。”
(pixadel)

72、“要是Java真的有垃圾回收的话,大部分程序在执行的时候就会把自己干掉了。”
(Robert Sewell)

开源

73、“软件就像性事:免费/自由更好。”
(Linus Torvalds)

74、“唯一对免费软件感到害怕的人,是自己的产品还要不值钱的人。”
(David Emery)


代码

75、“好代码本身就是最好的文档。”
(Steve McConnell,《代码大全》的作者)

76、“你自己的代码如果超过6个月不看,再看的时候也一样像是别人写的。”
(伊格尔森定律)

77、“前面90%的代码要占用开发时间的前90%。剩下的10%的代码要占用开发时间的另一90%。”

(Tom Cargill,C++领域中公认的专家)

软件开发

78、“好的程序员绞尽脑汁,务求考虑各种场景,幸得好的指南拯救我们,不必面面俱到。”
(Francis Glassborow,C和C++领军人物之一)

79、“在软件里面,我们鲜有有意义的需求。就算有,衡量成功的唯一尺度也取决于我们的解决方案是否解决了客户对问题是什么的观念的转变。”
(Jeff Atwood,Coding Horror Developer Blog的创始人)

80、“想想我们计算机程序的糟糕现状吧,很显然软件开发仍是黑箱艺术,还不能称之为工程学科。”
(Bill Clinton,前美国总统)

81、“没有伟大的团队就没有伟大的软件,可大部分的软件团队举止就像是支离破碎的家庭。”
(吉姆·麦卡锡,微软VC++总监)

调试

82、“一旦我们开始编程,就会惊讶地发现让程序正常没想象中那么简单。调试不可避免。那一刻我认记忆犹新,当时我就意识到,从今往后我生活的大部分时间都要花在寻找自己程序的错误上面了。”

(莫里斯·威尔克斯 调试探索, 1949)

83、“调试难度本来就是写代码的两倍。因此,如果你写代码的时候聪明用尽,根据定义,你就没有能耐去调试它了。”
(Brian Kernighan,《C 程序设计语言》的作者之一)

84、“如果调试是除虫的过程,那么编程就一定是把臭虫放进来的过程。”
(Edsger W. Dijkstra)

质量

85、“我才不管它能不能在你的机器上运行呢!我们又没装到你的机器上!”

(Vidiu Platon,罗马尼亚的微软最佳学生合作伙伴MSP)

86、“编程就像性一样:一时犯错,终生维护。”
(Michael Sinz)

87、“有两种写出无错程序的办法;只有第三种有用。”
(Alan J. Perlis)

88、“软件质量与指针算法不可兼得。”
(Bertrand Meyer)

89、“如果麦当劳像软件公司那样运作的话,每一百个巨无霸就会有一个令你食物中毒,而他们的回应是,‘真对不起,这是一张额外附送两个的赠券。’ “
(Mark Minasi)

90、“永远要这样写代码,好像最终维护你代码的人是个狂暴的、知道你住在哪里的精神病患者。”

(Martin Golding)

91、“是人都会犯错,不过要想把事情彻底搞砸还得请电脑出马。”
(Paul Ehrlich)

92、“计算机比人类历史上的任何发明都更快速地导致你犯更多的错误–可能除了手枪和龙舌兰酒是例外。”

(Mitch Radcliffe)

预测

93、“能发明的东西都发明出来了。”
(查尔斯·杜埃尔, 美国专利局局长,1899年)

94、“我认为全球市场约需5台计算机。”
(托马斯·沃森, IBM董事长, 约1948年)

95、“看上去我们已经到达了利用计算机技术可能获得的极限了,尽管下这样的结论得小心,因为不出五年这听起来就会相当愚蠢。”

(约翰·冯·诺伊曼,约1949年)

96、“但这又有什么好处呢?”
(IBM先进计算机系统部的工程师对微芯片的评论, 1968年)

97、“我们没有理由让每一个人在家都拥有一台电脑。”
(肯·奥尔森,数据设备公司(DEC)总裁,1977年)

98、“640K对每一个人来说都已足够。”
(比尔·盖茨,1981年)

99、“Windows NT的RAM寻址空间可达2G,这比任何应用程序所需都要多。”

(微软, 谈及Windows NT的开发时所言, 1992年)

100、“我们永远也无法真正成为无纸化社会,直到掌上电脑一族发布擦我1.0*(WipeMe 1.0)为止。”

(安迪?皮尔逊,商界领袖)

*译者注:意思是说难道你大便不用纸吗?

101、“长此以往,除了按键的手指外,人类的肢体将全部退化。”
(弗兰克?劳埃德?赖特,建筑师)

3/9/2009

[转]敏捷开发简介

   前几天和同事们去西交大做校园宣讲,当然我是去帮忙加旁听的。:-)  HR和同事们介绍了很多关于公司的情况,包括文化,价值观,敏捷开发等等,很多东西我都是第一次学习到,后来我对马同学说,你那富有激情的关于公司的敏捷介绍让我收获很大,他说我这句话给他很大的鼓舞,呵呵。

  下面我将马同学的讲解简单介绍一下,首先看下面这个图:

  这两个圆圈表示不同的视角上的敏捷实践,包括开发者视角和项目管理的视角。接下来从里向外进行介绍,因为有些实践我了解得不清楚,如果下面有哪些说得不对的地方也请大家指出。

  Test-Driven Development,测试驱动开发,它是敏捷开发的最重要的部分。在ThoughtWorks,我们实现任何一个功能都是从测试开始,首先对业务需求进行分析,分解为一个一个的Story,记录在Story Card上。然后两个人同时坐在电脑前面,一个人依照Story,从业务需求的角度来编写测试代码,另一个人看着他并且进行思考,如果有不同的意见就会提出来进行讨论,直到达成共识,这样写出来的测试代码就真实反映了业务功能需求。接着由另一个人控制键盘,编写该测试代码的实现。如果没有测试代码,就不能编写功能的实现代码。先写测试代码,能够让开发人员明确目标,就是让测试通过。

  Continuous Integration,持续集成。在以往的软件开发过程中,集成是一件很痛苦的事情,通常很长时间才会做一次集成,这样的话,会引发很多问题,比如build未通过或者单元测试失败。敏捷开发中提倡持续集成,一天之内集成十几次甚至几十次,如此频繁的集成能尽量减少冲突,由于集成很频繁,每一次集成的改变也很少,即使集成失败也容易定位错误。一次集成要做哪些事情呢?它至少包括:获得所有源代码;编译源代码;运行所有测试,包括单元测试、功能测试等;确认编译和测试是否通过,最后发送报告。当然也会做一些其它的任务,比如说代码分析、测试覆盖率分析等等。 在我们公司里,开发人员的桌上有一个火山灯用来标志集成的状态,如果是黄灯,表示正在集成;如果是绿灯,表示上一次集成通过,开发人员在这时候获得的代码是可用而可靠的;如果显示为红灯,就要小心了,上一次集成未通过,需要尽快定位失败原因从而让灯变绿。在持续集成上,我们公司使用的是自己开发的产品CruiseControl

  Refactoring,重构。相信大家对它都很熟悉了,有很多很多的书用来介绍重构,最著名的是Martin的《重构》,Joshua的《从重构到模式》等。重构是在不改变系统外部行为下,对内部结构进行整理优化,使得代码尽量简单、优美、可扩展。在以往开发中,通常是在有需求过来,现在的系统架构不容易实现,从而对原有系统进行重构;或者在开发过程中有剩余时间了,对现在代码进行重构整理。但是在敏捷开发中,重构贯穿于整个开发流程,每一次开发者check in代码之前,都要对所写代码进行重构,让代码达到clean code that works。值得注意的是,在重构时,每一次改变要尽可能小,用单元测试来保证重构是否引起冲突,并且不只是对实现代码进行重构,如果测试代码中有重复,也要对它进行重构。

  Pair-Programming,结对编程。在敏捷开发中,做任何事情都是Pair的,包括分析、写测试、写实现代码或者重构。Pair做事有很多好处,两个人在一起探讨很容易产生思想的火花,也不容易走上偏路。在我们公司,还有很多事都是Pair来做,比如Pair学习,Pair翻译,Pair做PPT,关于这个话题,钱钱同学有一篇很有名的文章对它进行介绍,名为Pair Programming (结对编程)

  Stand up,站立会议。每天早上,项目组的所有成员都会站立进行一次会议,由于是站立的,所以时间不会很长,一般来说是15-20分钟。会议的内容并不是需求分析、任务分配等,而是每个人都回答三个问题:1. 你昨天做了什么?2. 你今天要做什么? 3. 你遇到了哪些困难?站立会议让团队进行交流,彼此相互熟悉工作内容,如果有人曾经遇到过和你类似的问题,那么在站立会议后,他就会和你进行讨论。

  Frequent Releases,小版本发布。在敏捷开发中,不会出现这种情况,拿到需求以后就闭门造车,直到最后才将产品交付给客户,而是尽量多的产品发布,一般以周、月为单位。这样,客户每隔一段时间就会拿到发布的产品进行试用,而我们可以从客户那得到更多的反馈来改进产品。正因为发布频繁,每一个版本新增的功能简单,不需要复杂的设计,这样文档和设计就在很大程度上简化了。又因为简单设计,没有复杂的架构,所以客户有新的需求或者需求进行变动,也能很快的适应

Minimal Documentation,较少的文档。其实敏捷开发中并不是没有文档,而是有大量的文档,即测试。这些测试代码真实的反应了客户的需求以及系统API的用法,如果有新人加入团队,最快的熟悉项目的方法就是给他看测试代码,而比一边看着文档一边进行debug要高效。如果用书面文档或者注释,某天代码变化了,需要对这些文档进行更新。一旦忘记更新文档,就会出现代码和文档不匹配的情况,这更加会让人迷惑。而在敏捷中并不会出现,因为只有测试变化了,代码才会变化,测试是真实反应代码的。 这时有人会问:代码不写注释行吗?一般来说好的代码不是需要大量的注释吗?其实简单可读的代码才是好的代码,既然简单可读了,别人一看就能够看懂,这时候根本不需要对代码进行任何注释。若你觉得这段代码不加注释的话别人可能看不懂,就表示设计还不够简单,需要对它进行重构

  Collaborative Focus,以合作为中心,表现为代码共享。在敏捷开发中,代码是归团队所有而不是哪些模块的代码属于哪些人,每个人都有权利获得系统任何一部分的代码然后修改它,如果有人看到某些代码不爽的话,那他能够对这部分代码重构而不需要征求代码作者的同意,很可能也不知道是谁写的这部分代码。这样每个人都能熟悉系统的代码,即使团队的人员变动,也没有风险

Customer Engagement ,现场客户。敏捷开发中,客户是与开发团队一起工作的,团队到客户现场进行开发或者邀请客户到团队公司里来开发。如果开发过程中有什么问题或者产品经过一个迭代后,能够以最快速度得到客户的反馈。

Automated Testing ,自动化测试。为了减小人力或者重复劳动,所有的测试包括单元测试、功能测试或集成测试等都是自动化的,这对QA人员提出了更高的要求。他们要熟悉开发语言、自动化测试工具,能够编写自动化测试脚本或者用工具录制。我们公司在自动化测试上做了大量的工作,包括Selenium开源项目。

Adaptive Planning,可调整计划。敏捷开发中计划是可调整的,并不是像以往的开发过程中,需求分析->概要设计->详细设计->开发->测试->交付,每一个阶段都是有计划的进行,一个阶段结束便开始下一个阶段。而敏捷开发中只有一次一次的迭代,小版本的发布,根据客户反馈随时作出相应的调整和变化。

敏捷开发过程与传统的开发过程有很大不同,在这过程中,团队是有激情有活力的,能够适应更大的变化,做出更高质量的软件。

原文地址: http://www.cnblogs.com/blusehuang/archive/2007/10/17/926802.html

12/4/2008

《南方都市报》:世界第一的精神病

无可否认的一个事实是,我们这里有着无数的世界第一.古代的四大发明不用谈,什么第一大佛、第一大广场之类的也是小儿科,所以,看见昨天《中国青年报》说 我国可能将成为首个把网瘾列为精神疾病的国家,一点儿都不用意外.其实我倒是奇怪,这么晚才说网瘾是精神疾病,已经耽误了我们在这方面领先世界好几年了.
您看,我们的孩子如果不是超生的话基本是独苗儿,从小就没有兄弟姐妹陪伴长大.好容易长大一点了,上学是应试教育,所有东西都是围着考试打转的.孩子的交际空间与生活目标被这么压缩着,其他兴趣爱好与社交需求也这么简单化,结果这样长大的孩子居然有个网瘾,我应该去烧香还愿、感谢老天爷让孩子如此坚强了.

除了准备给老天爷的贡品以外,还有几个小问题给定义网瘾并且追求世界第一的人们.

其实在社会的转型期,好多东西都被改变了.举个例子来说,电视出现的时候你们的先辈就曾经把电视作为万恶之源来批判,当时叫唤“狼来了”的声音,换个主语就能用在现在你们批判的所谓“网瘾”上,结果狼没来,这些专家也没声音了.我的问题是:愚蠢是不是真的有遗传?而且还可能不是生物学上的,学术愚蠢的遗传是不是也很厉害?

另外一个小问题是,您定义完了以后,打算如何呢?网络的使用已经深刻地改变了我们的社会,越来越多的人从工作到生活都对网络产生了依赖.说到底,网络是一种更加便捷、更加广阔的交流方式、生活方式,就像当年美国的录音电话与现在中国的手机一样,当你有了它之后,就无法想象当年没有它你是如何生活的.如果说戒烟还能不耽误事情的话,您怎么定义必须使用与成瘾的界限呢?要知道,如果没有手机就去上班,那个焦虑的程度按照现在网瘾的定义也足够被定义成精神病了.以后说不定手机也算是成瘾、MP3也在嫌疑犯的名单上,最后连吃饭都会是精神病的表现———在吃不到的情况下.

现代人生活在一个传统社会所不能想象的世界,不论其获取信息的方式还是人际交往的模式都发生了巨大的变化.但就是有那么一帮人,自己看不惯或者认为某些行为不适当,就利用把个案代替全体的方式,试图绑架或者定义别人的生活方式.把主要的因素略过不谈,只把一个工具性的东西作为替罪羊拎出来说事儿.而居然用这个去换世界第一的名头,还真是令人无语凝噎.

所以,这种世界第一除了给自己一个耳光以外,真是没有任何意义,说出去只能是个笑谈.可就是这个笑谈,现在俨然成为了大家讨论的话题.中国的网民数量已经是世界第一了,要是根据我们的经验数字推算,估计将来网瘾精神病的数量也会世界第一.两个世界第一加起来的话,真是旷世奇观啊!
10/29/2008

老牌网络游戏设计师们的经验与建议(节录自机械工业出版社出版“网络游戏开发”一书)

  ---------Daniel Manachi, Themis Group公司
  “线上游戏的世界很复杂,就像一个社会,需要极具远见才能理解这点.当我们考虑往这个世界里添加东西时,不能只仅仅考虑’啊,这样似乎会很棒------’,而是要斟酌’如果我们引入一点小改动,会对长期的平衡造成什么影响?玩家会滥用它吗?’等等。一个优秀、有经验的开发团队知道通常哪里会有缺陷,以及如何在开发过程中尽早预防这些缺陷。而没有经验的开发团队常常连发行日期需要的带宽和硬件设施这么简单的事都会忽略。”
  ------Donald A. Norman
  “大部分好的产品都是围绕人来设计的,而不是技术。”
  ------开发者常见的错误
  开发者常见的错误观点:“某种特征没有顺利运行是因为没有人正确使用它。”
  基于这样的观点,结果常常出现这样的事例:未经双方同意的PVP(玩家PK,被攻击的玩家在这种情况下毫无选择)从1988年起就显示出88%的玩家不欢迎,许多新的开发团队仍然打算把他加到游戏中,他们的理由是这个特征只是过去未被正确使用。
  下面是几个经验丰富的制作人和开发人员对于“网络游戏开发过程中开发团队犯了什么错误”这个问题的回答。
  ------Richard A.Garriott,《网络创世纪》系列的制作人:
  “开发团队通常会咬下一块超出自己消化能力的东西,后果就是一款网络游戏很可能永远无法完成。”
  “开发团队常常会雇用只会纸上谈兵的游戏设计师和单机游戏制作者,但实际上网络游戏开发所需要的独特能力是在其他领域无法找到的。”
  “开发团队为了赶上进度常常忽略程序代码的可扩展性或整体质量,这通常会留下隐患,在后期给他们带来麻烦。”
  “公司常常雇人太快。在你需要那么多的员工之前,还有许多基础工作可以先完成。”
  ------Gordon Walton,EA/Maxis公司《模拟人生在线》的执行制作人:
  “开发团队不作长期规划,也就是说,他们的代码不具有扩展性和可维护性。这使得游戏开始运营之后,维护团队可能将为此付出持续多年的代价,游戏的盈利潜力也被削减了。”
  “开发团队不会将重心放在服务质量上,特别是平均故障间隔时间(MTBF)方面。服务器拒绝上千名用户登陆和客户端出错这样的故障会激怒玩家,令情况变的一团糟。”
  “他们低估了任务的复杂性。工作的机动部分越多,复杂性就越难以预料,而网络游戏正是有许多机动部分。一条经验:一款网络游戏比一款单机游戏庞大3倍,但完成的困难度要大10倍。”
  “他们低估了测试和可伸缩性的重要性。当服务器负载量上升时,便把它当作火警演习一样草草结束。”
  “他们高估了游戏初始内容的价值,高估了这些内容吸引玩家的时间。”
  “他们忘记了一些设计思路在网络游戏领域内是不起作用的,特别是固定内容的解谜和探索部分。这些部分在游戏发行几天后就会在玩家网站上被公布出来,降低了该部分对其他玩家的价值。”
  “他们花太多时间在游戏功能而不是交互机制上。这会造成玩家和其他人一起游戏的困难,不利于游戏的长期运行。”
  “他们忘记客服的需求也是设计和开发中重要的一部分,客户满意度越低,游戏的运营成本也就越高。”
  “他们认为他们只是在构建一个游戏,而不是一个具有游戏元素的小型社会。”
  ------Thomas Howalt,Funcom公司《混乱在线》项目经理:
  “自信固然好,但自控更重要。”
  网络游戏开发是一项巨大的工程,很容易失去控制。不断的检查每一件事,不要接受任何承诺,你必须确保一切都在按计划进行。
  “问题不会自己解决。”
  “一切都在改变。”
  游戏中的一切都有可能要改变,留意不要在程序中放置过多的硬代码(写的很固定、不灵活的代码,一旦需要变动就很麻烦。)
  “请跟我重复:“工具!工具!更多的工具!”
  你需要为一切准备好工具!多雇些开发工具和库的程序员。舍得投掷开发最好的工具。制作最有效的用户交互界面或是图形用户界面(GUI)。并且在程序员们要求工作伙伴之前,让他们使用自己的工具。
  “山高水深。”
  当你要出名时,保持头脑清醒。越是接近发行期,越是要真正了解游戏并且擅长市场推销的人。保持脚踏实地,保持谦虚!记住:一切都是团队的努力成果。
  ------Alex Macris ,Themis Group公司CEO,《荣誉勋章:先头部队》的设计者:
  “他们太注重游戏兴奋度,忽略了参与性。在每周玩20小时的情况下,6个月后玩家都会对你的游戏产生厌倦。除非在游戏运行6个月或1-2年后再出一个全新的3A级游戏,没有其他办法可以让你的游戏更好玩。但如果让玩家在游戏内结成团队,他就会留在游戏中。”
  “每个人都在讨论《无尽的任务》玩法的上瘾度,仿佛它是一台吃币机器,但他们忽略了其后的游戏超越了《无尽的任务》,并且取得了意义重大的成绩。我认为将来《无尽的任务》形式的游戏将会有一段困难时期,因为玩家将不能体会到来自最大游戏的网络效果带来的乐趣。”
  “他们太过注重内容,而忽略了特征。游戏内容可以随时添加进去,但游戏特征要加进去就困难多了。游戏特征的数量比游戏中地牢的数量带来的乐趣多得多。”
  ------Andre Backen,Funcom公司前总裁:
  “我们犯过的最大错误就是高估了在一定时间内可以完成的工作量。”
  ------Jeff Anderson, Turbine Entertainment公司CEO:
  “我所见过的不断发生的最糟糕的事情就是没有重点。开发团队觉得自己被迫投入我所称的“竞争”当中。在制作网络游戏之前,我为一家公司做战斗机飞行模拟游戏。我发现那些游戏的中心从“观众普遍认为有趣”转移到必须在产品包装盒背面印上一些“具有竞争力”的东西。因此,他们不再花宝贵的开发时间来做创新,而是开始关心F-22的物理性能,或是确认自己是否加入了最新款式的激光制导炸弹。或许这样可以做出一个市场效应极佳的游戏。但就游戏性而言却是个败笔。在online领域中,你可以看到这样的例子,热衷于确保自己的游戏具有某些引人注目的特色——甚至忘记前提是让游戏更好玩。”
  ------Damion Schubert Ninjaneering公司创建人,《网罗创世纪2》前期首席设计师和《子午线95》首席设计师:
  “网络游戏领域中常见的一个错误是被我称为“蚂蚁种地”的观点。这个错误就是,开发者们想象着从高处观察这个游戏,觉得这样的试验会有多么棒,但对玩家而言却是一点意思都没有。这些试验包括去观察一些玩家会如何利用其他玩家缺乏知识、经验或是一般判断力做些什么事,而开发者通常对下面这些特征十分抵触,例如“有趣的自发行为”,“信任下的案例研究”或是“具有吸引力的行业策略”,他们真正支持的往往事一些可怕和具有破坏性的事务。”

8/8/2008

..

.
8/2/2008

有史以来最有趣的自述文件?

经常给电脑装软件的人估计都看过不少的Readme文件,一般都规规矩矩的写着发行说明、版权之类的东西。不过,也有另类的——
 
gnome-cups-manager是GNOME桌面中的打印机属性管理工具。但是它的自述文件(README File)可能比程序本身更令人感兴趣:
 
很久很久以前,有一个打印机居住森林里。它很孤独,因为没人知道如何配置它。它希望有人能和它一起玩。
一天,风吹过打印机的小屋,“呼,呼”。打印机开始兴奋起来,也许风可成为它的朋友。
“你愿意做我的朋友吗?”打印机问。
“呼,呼”,风回答。
“什么意思”,打印机问。
“呼,呼”,风回答,它消失了。
打印机搞糊涂了,它把这天剩余的时间都花在思考上,打印纸被卡住了(小小打印机迷糊时就会这么做)。

第二天,一场暴风雨来临。大雨倾盆而下,使早晨的天空变暗,还破坏了打印机的花园。小小打印机很苦恼。“为什么这样对我?”它问。
“噼里啪啦,噼里啪啦,”雨回答。
“你将做我的朋友?”打印机害羞的问道。
“噼里啪啦,噼里啪啦,”雨回答。然后它离开了,太阳露出了脸。
打印机很悲伤,这天剩余的时间它都呆在里面,哭泣,悄悄的打着光信号(小小打印机悲伤时就会这么做)。

又有一天,一个小女孩无意闯入了打印机的领地。打印机看着这种奇特的情景,不知道怎么办。
“你愿意做我的朋友吗?”小女孩问。
“愿意,”打印机回答。
“你叫什么名字?”小女孩问。
“HP 4100TN”,打印机回答。
“我的名字叫gnome-cups-manager”,小女孩说。
打印机很快乐,剩下的时间它在玩和打印文档。小小打印机开心时就会如此。

--------

上面是译文,程序中英文原版的Readme在这里:

gnome-cups-manager
------------------

Once upon a time there was a printer who lived in the woods.  He was a
lonely printer, because nobody knew how to configure him.  He hoped
and hoped for someone to play with.

One day, the wind passed by the printer's cottage.  "Whoosh," said the
wind.  The printer became excited.  Maybe the wind would be his
friend! 

"Will you be my friend?" the printer asked.

"Whoosh," said the wind.

"What does that mean?" asked the printer.

"Whoosh," said the wind, and with that it was gone.

The printer was confused.  He spent the rest of the day thinking and
jamming paper (for that is what little printers do when they are
confused).

The next day a storm came.  The rain came pouring down, darkening the
morning sky and destroying the printer's garden.  The little printer
was upset.  "Why are you being so mean to me?" he asked.

"Pitter Patter, Pitter Patter," said the rain.

"Will you be my friend?" the printer asked shyly.

"Pitter Patter, Pitter Patter," said the rain, and then it left and
the sun came out.

The printer was sad.  He spent the rest of the day inside, sobbing and
blinking lights cryptically (for that is what little printers do when
they are sad).

Then one day, a little girl stumbled into the printer's clearing in
the woods.  The printer looked at this curious sight.  He didn't know
what to think. 

The little girl looked up at him.  "Will you be my friend?" she asked.

"Yes," said the printer.

"What is your name?" asked the little girl.

"HP 4100TN", replied the printer.

"My name is gnome-cups-manager" said the little girl.

The printer was happy.  He spent the rest of the day playing games and
printing documents, for that is what little printers do when they are
happy.

3/17/2008

《财富》专访史蒂夫·乔布斯

转载:apple.us 作者:flypig

今年2月,《财富》高级编辑贝齐·莫里斯 (Betsy Morris) 在夏威夷的柯纳镇 (Kona, Hawaii) 采访了乔布斯。当时他正在那里与家人一起度假。访谈内容涉及了苹果的成功之道、发展障碍以及没有史蒂夫·乔布斯的苹果将会何去何从。

S10584860

关于 iPhone 的起源 我们都用过手机,体验总是极其恐怖。软件烂得一塌糊涂,硬件也不怎么样。我们和朋友聊过,他们也都非常痛恨自己的手机。每个人都痛恨自己的手机。(注:文中的斜体字是《财富》网络版的特有内容,在印刷版中被删去。)于是我们觉得,这些东西完全可以变得更加强大,摆出来也会很有意思。这是一个巨大的市场--我的意思是,每年有10亿部手机被卖掉,这单生意在数量上可比随身听庞大多了,这相当于每年个人电脑出货量的四倍。

这是个巨大的挑战--我们要做出一款可以让我们自己都一见钟情的手机。我们手中有技术,我们手中有源于 iPod 的微型制造工艺,我们手中还有来自 Mac 电脑的精密操作系统。从未有人想过往手机里放进一个如 OS X 般精密的操作系统,看来这确实是个问题。在公司内部,针对我们能否实现这一目标曾经有过大规模的争论。我不得不当机立断地做出决定:"我们可以做到的。让我们试试看吧。"那些最聪明的软件工程师说,他们可以做得到,而我们必须给他们这个机会。他们果然做到了。

关于苹果和消费者之间的联系 我们之所以去做 iTunes ,是因为我们都热爱音乐。我们在 iTunes 身上做出了自认为最好的音乐播放器。然后我们又都希望随身携带全部的音乐资料库。产品团队展开了非常艰辛的工作。它们之所以这么卖命,就是因为我们都需要一个这样的产品。你知道吗?我的意思是,我们自己就是最早期的那几百个用户。

这事儿和流行文化无关,和坑蒙拐骗无关,和说服人们接受一件他们压根儿不需要的东西也无关。我们只是在搞明白我们自己需要什么。而且我认为,我们已经建立了一套良好的思维体系,以确保其他许多人都会需要这么个东西。我们收了钱就是来做这事儿的。

所以你没法走大街上去问别人,你说,下一件牛叉的事情会是什么?亨利·福特曾经有过一句经典语录,对吧?他说:"如果我当年去问顾客他们想要什么,他们肯定会告诉我'一匹更快的马'。"

关于战略选择 我们从不做市场调研。我们不招顾问。这10年来我唯一招过的顾问是家公司,我让他们帮忙分析 Gateway 的零售策略,好让我们不(开设苹果零售店时)犯下与他们一样的错误。但我们从来不招顾问,从本质上说。我们只是想做出伟大的产品。

我们之所以开发 iTunes 音乐商店,是因为我们觉得,能够以电子方式购买音乐会相当了不起,而不是因为我们计划去重新定义音乐产业。我的意思是,音乐发行逐步电子化的趋势简直已经白底黑字地写在那儿了。这再明白不过了,我们凭什么要多花钱啊?音乐行业的油水够肥了。如果你可以简单地通过电子进行传播,为什么还要多花那些冤枉钱呢?

关于苹果员工的动力 人这辈子没法做太多事情,所以每一件都要做到精彩绝伦。因为,这就是我们的宿命。人生苦短,你明白吗?所以这是我们为人生做出的选择。我们本可以在日本某地的某座寺庙里打坐,我们本可以扬帆远航,管理层本可以去打高尔夫,他们本可以去掌管其他公司,而我们全都选择了在这辈子来做这样的一件事情。所以这件事情最好能够他妈的做好一点。它最好能够物有所值。我们觉得它的确还不赖。

关于为什么人们选择在苹果工作 因为你在其他任何地方都做不了你在苹果可以做的事情。在那些电脑公司里,工程学早就没影儿了。在消费类电子产品公司里,他们根本不了解软件层面的事情。所以你现在根本不可能在其他地方做出你能在苹果公司里做出来的产品。苹果是唯一一家将方方面面全盘掌控的公司。

没有其他公司能够造一台 MacBook Air 出来,因为我们不仅控制了硬件,我们还控制了操作系统。得益于操作系统和硬件之间的紧密互动,我们才可以实现目标。在 Windows 和戴尔笔记本之间就没有什么紧密互动可言。

我们骨子里就是一家消费品公司,你的生死存亡掌握在消费者的手中。他们才是我们关注的对象。我们觉得自己的工作就是对整个用户体验负责。如果表现不及格,那就是我们的错。错就一个字。

关于苹果能否没有他 苹果公司人才辈出。我把蒂姆·库克 (Tim Cook) 提拔成了 COO 并将 Mac 部门交到了他手上,他确实成绩斐然。我的意思是,有人说:"哦,老天,如果(乔布斯)被公交车给碾死了,苹果就歇菜了。"不过,你知道嘛,虽然这不是什么值得高兴的事儿,但董事会肯定会为 CEO 这个位置列出一些不错的人选。我的任务就是将整个管理团队都培养成优秀的继任者,我确实在尝试这么做。

关于他苛刻的名声
 我的工作不是对人表现得和蔼可亲。我的工作是让他们做得更好。我的工作是把公司里的各种资源聚拢到一起,清除路障,然后把资源投放到最关键的项目上。我的工作就是把我们手下这些牛人们召集起来然后督促他们然后让他们做得好上加好。怎么做呢?那就只好采取更为极端的思路。

关于苹果的专注
苹果是一家价值300亿美元的公司,但我们的主要产品却少于30种。我不知道这种事情过去有没有发生过。但毫无疑问,过去那些了不起的电气公司都拥有数以千计的产品。我们相比之下要专注得多了。人们以为"专注"的意思就是对你必须关注的事情点头称是。这并不是"专注"的全部内涵。"专注"意味着必须对另外 100 个好点子说不。你必须谨小慎微地做出选择。

对于那些我们做了的事情和那些我们没有做的事情,我都同样引以为傲。这里有一个再贴切不过的例子:很多年以来,我们都迫切地需要做出一款 PDA 产品,而终于有天我意识到,90% 的 PDA 用户只是在路上把信息从里头调出来而已。他们不会把信息放进去。没过多久,手机就实现了这样的功能,于是 PDA 市场就萎缩到了今天的规模。所以我们决定不进入这个领域。如果我们选择了跟进,我们就没有资源去开发 iPod 了。我们基本上会连它的影子都见不着。

关于他的管理风格 在苹果公司,我们有 25,000 人。差不多 10,000 人在专卖店里工作。而我的工作是和最顶端的大约 100 个人协作,这就是我的工作内容。这并不意味着他们都是副总裁之类的领导,他们中的一些人只是贡献卓著的关键个体。所以如果有好点子出现,我的一部分工作就是把它传播开来,问问各人的看法,让人们围绕着它展开讨论,就此争论不休,让想法在这个由 100 人组成的群体里充分循环,让不同的人从不同的层面对它展开无声的摸索,你知道的,就是深入摸索

关于拥有操作系统的好处 这使得我们能够以更快的速度进行创新,而不要像戴尔、惠普和其他所有公司那样看着微软干着急。因为微软有自己的时间安排,或许是出于好意。我说的是, Vista 好像让人等了有个--七八年的?如果你需要等上八年,那为新硬件添加新功能就无从谈起了。而我们则可以自行决定孰轻孰重,从消费者的角度出发以更有整体感的眼光看问题。这也意味着我们不但可以把系统玩弄于股掌,还可以为iPhone和iPod制作特别的版本。而且,你知道的,如果没有操作系统的话,我们什么都实现不了。

关于他马拉松似的周一例会 当你招到了真正的人才,你就必须让他们分担一部分生意,并且充分放权。当然这并不意味着我就不能发表意见了。可是你招他们进来就是为了把接力棒交到他们手里。我希望他们能够做到青出于蓝而胜于蓝。所以要实现这个目标,就必须让他们了解所有事情,而不是停留于自身的业务范围之内。所以我们每周一做的事情就是回顾整个公司的运营情况。我们着眼于之前一周的销售项目,我们着眼于每个正在开发的产品--以及我们那些麻烦缠身的产品,那些需求超出了我们能力范围的产品。所有正在开发中的产品,我们都会回顾。我们每周都做这件事情。在苹果公司,我们没有太多的繁文缛节,但这是为数不多必须雷打不动的惯例之一。

关于排除万难 当我们在皮克斯 (Pixar) 制作《玩具总动员》 (Toy Story) 的时候,曾经有一次,我们不得不承认剧本实在不行。它就是不过关。我们一度将工期暂停了5个月......我们让每个人都拿着工资放大假去了。好好琢磨了一番之后,他们做出了你所看到的《玩具总动员》。假如当时他们没有停下来的勇气,那也不会有最终的《玩具总动员》,甚至也不会有皮克斯的今天。"我们曾称之为 '危机总动员',而且指望着这种事情别再发生。但是你知道吗?每部电影身上都发生了同样的事情。当然我们不再停工5个月,我们找到了更聪明的解决办法。但是总会有那么些山穷水尽的时刻,但是要蒙骗自己其实并不难--说服自己:其实你心里清楚,事情并不是这样的。

好吧,那你知道吗?在苹果,几乎每个大项目都会遇到这种情况......
拿 iPhone 举例。我们曾经有过一个迥异的 iPhone 封装设计,那时候离面世已经为时不远,甚至没有时间再做改动了。在某个周一的早晨,我走进公司说:"我就是不喜欢这个东西。我无法说服我自己爱上这个玩意儿。而这是我们做过的最重要的产品。"

然后我们就按下了重启键。我们重新回顾了曾经做出来的无数款模型机以及曾经有过的想法。最终,我们做出来了今天你看到的 iPhone。相比之下,好得出人意料。那个过程简直是去地狱里走了一圈,因为你不得不当着整个团队的面说:"你们在过去一年里做出来的所有东西,我们都要全盘否定并且重头再来。而且我们必须加倍努力,因为我们已经没时间了。"而你知道每个人都说了什么吗?"算我一个。"

这种情况发生得比你想象的频繁得多,因为这不仅仅是工程学和科学。这也是艺术。有时候当你身处这种危机之中,你无法确定自己是否可以把整件事情推向终点。但我们总是能够到达彼岸。所以我们总是胸有成竹,虽然有时候你会心生疑虑。我认为事情的关键在于,我们在这种时候不会被完全吓倒。我指的是,我们全身心地投入了这些事情之中。

关于 iPod 的引爆点 有段时间我们过得很艰难。Mac 因为各种各样的原因不为众人所接受,这些人选择了 Windows。即便我们全力以赴,市场份额却没有增长。有时候,这会让你怀疑自己是否满盘皆错。或许我们的东西不够好,即便我们相信它已经达标。或许人们对此根本就漠不关心,这会让人心情更糟。

iPod 的出现让我们突破了操作系统的玻璃天花板。事情的美妙之处在于,它证明了苹果式的创新、苹果式的工程学以及苹果式的设计都是至关重要的。iPod 占据了 70% 的市场份额。即便是在多年打拼并见证了 Mac 电脑 4% 至 5% 的市场份额之后,我仍然无法用语言形容 iPod 对于苹果来说有多么重要。它对于所有人来说,都是一剂药效惊人的强心针。

关于他们之后的作为 我们干劲倍增,并且更加努力。我们曾经说过:"这事儿挺不错,让我们搞得更大点。"我的意思是,Mac 的市场份额在每个季度都有增长。我们的增长速度是整个行业的四倍。而且我们正保持着这个势头。我们把英特尔处理器放了进来,而且我们不仅可以跑 Mac 软件,还可以运行 PC 上的应用程序。我认为这件事情最重要的一点在于,人们终于意识到,他们没必要再忍 Windows 了--其实还有另一个选择。我认为在此之前,从来没人这样想过。

关于开设苹果专卖店 很简单。苹果教的伟大光芒会让信徒们开着车子跋山涉水前往同一个幸福的终点站,对吧?他们会开车去一个特别的地方做爱做的事。但是对于 Windows 用户来说--我们就有必要普度众生,让他们皈依Mac门。他们不会开车去什么特别的地方,他们觉得自己不需要Mac电脑,他们甚至都不愿意花上20分钟来开车来瞅瞅,他们担心自己压根儿就不喜欢苹果。

但是如果我们把店面开在大商场里或者大街上,人们会经常走过路过,而我们就可以将20分钟的车程缩短为20步的距离。然后呢,他们进来参观的可能性就大大增加了,因为这样就不用付出什么成本了。所以我们决定将苹果专卖店开到车流密集的区域。它确实奏效了。

关于赶上下一波技术热潮 事情的发展速度其实十分缓慢,这你也知道的。确实如此。这些一波接一波的技术热潮,你早在它们发生之前就能够预见到了。你需要做的,只是精明地选择站上哪一波热潮的风口浪尖。如果你站错队,那么你就会浪费许多精力。但是如果你走对方向,它呈现魅力的速度也是相当之缓慢。这也许要耗费数年之久。

多年前,我们最具前瞻性的观点之一,就是不要涉足任何我们不具备核心技术的领域,这样你会被杀得片甲不留。

我们意识到,对于绝大多数--或许是全部--未来的消费类电子产品而言,软件都将是核心技术。而我们在软件领域实在是得心应手。我们会做操作系统;我们会做 iTunes 这样能够同时在 PC 和 Mac 上运行的程序;我们会做嵌于设备内部的程序,让你放进 iPod 和 iPhone 里面;我们还会做运行于悄无声息之中的后端软件,比如 iTunes。

我们可以编写各种各样的软件,让它们交织在一起并无缝地协同工作。现在你问问你自己,还有哪些其他公司可以做这件事情?肯定寥寥无几。在发现了人们讨厌自己手机的事实之后,我们对自己的手机产品变得极端兴奋,原因在于,我们没发现还有谁有能力做出这样的壮举。没有任何一个掌上设备制造商在软件领域有实力可言。

关于寻找人才 如果要招一个级别够高的员工,那么此人能否胜任就像是在赌博。他们必须智商够高。但对我来说,问题则在于:他们是否会爱上苹果?因为如果他们能够与苹果坠入爱河,那么其他所有事情就会迎刃而解。他们会以苹果的最大利益为工作的出发点,而不是出于个人利益、史蒂夫的利益或者其他某个人的利益。

招聘绝非易事,就像是大海捞针一般。我这辈子经手过的招聘人数大概在 5,000 以上。我对待此事的态度非常严肃。你无法在一个小时的面试里了解足够多的信息。所以在最后,你只能凭借直觉做出选择。我对这个人印象如何?他们在面对挑战时会如何反应?他们现在为什么会来到这里?我问所有人:"你为什么来这里?"答案本身并不是你想要的东西。这只是元数据。

关于失败,目前为止,关于 Apple TV 的失败 说说我的看法。每个人都曾经尝试过为客厅开发一个了不起的产品。微软试过了,我们也试过了--每个人都试过了。我们失败了,在目前看来。

所有人都试过了,所有人都以失败告终,包括我们。而且这就是为什么我将其称作一项"爱好"。它还不可以称作一个生意,它只是一个爱好。

我们已经做出了第二次尝试--"Apple TV, Take 2"是我们在公司内部对它的称呼。我们意识到,我们做出来的第一款产品只是在帮助你从电脑上取得内容,并且通过无线网络发送到 Apple TV 上面。

嗯,事实证明这并不是人们想要的体验。我的意思是,没错,能在大屏幕上看到你的照片也不错--但那是蛋糕上面的霜糖,而不是蛋糕。事实证明,人们真正需要的,是电影。

所以我们开始和好莱坞片商进行对话,并且成功地取得了所有好莱坞大片商的租赁授权。现在 iTunes 里面只能找到大约 600 部电影,但是在今年晚些时候,我们就会拥有数以千计的选择。我们把价格降到了299美元,准备看看效果如何。至于这会不会引发你的共鸣,并且成为你愿意与之共度余生的钟情之物?等着瞧吧。我看行。

关于经济衰退期的管理 我们之前已经经历过了一次,就是在 dot-com 泡沫破灭的时候。我告诉公司的是,我们会在经济衰退期里继续坚持自己的投资思路。既然我们曾经花费了巨大的精力将他们招进苹果,我们就不会裁员。我们不到迫不得已,绝不会裁员。而且我们还将持续拨款。实际上,我们当时计划调高研发预算,这样在度过经济衰退期之后,我们才可以领先于竞争对手。我们确实这样做了,而且行之有效。这次,我们还会做出一模一样的事情。

原文链接:http://money.cnn.com/galleries/2008/fortune/0803/gallery.jobsqna.fortune/index.html

3/14/2008

暴雪年表/暴雪大事记/暴雪威水史 - Timeline of Blizzard Entertainment

 
从1991年创始起至尔湾新总部建成
From its 1991 beginnings to its new Irvine campus

1991:Allen Adham、Michael Morhaime和Frank Pearce 成立 Silicon & Synapse 游戏公司,为其他发行商开发游戏,知名游戏包括摇滚赛车[Rock 'n Roll Racing],失落的维京人[The Lost Vikings]和Blackthorne。
1991: Allen Adham, Michael Morhaime and Frank Pearce start a game company called Silicon & Synapse. The company develops games for other publishing houses. Best known titles include Rock 'n Roll Racing. The Lost Vikings and Blackthorne.

1994年11月:Silicon & Synapse 改名为暴雪娱乐,并发行第一款魔兽游戏,魔兽争霸:兽人与人类,以DOS光盘和软盘为载体,售价45美元。该款游戏荣获1994年PC Gamer编辑选择奖和最佳即时战略游戏。
November 1994: Silicon & Synapse renames itself to Blizzard Entertainment and publishes its first Warcraft game, "Warcraft: Orcs & Humans," available as a DOS CD-ROM and floppy disk for $45. The game wins PC Gamer's Editors Choice award and best strategy game of 1994.

1995年12月:魔兽争霸2:黑暗之潮发行,并荣获PC Gamer年度游戏。该款游戏首周即售出5万份拷贝。
December 1995: "Warcraft II: Tides of Darkness" is released and wins Game of the Year award from PC Gamer. About 50,000 copies are sold in the first weekend.

1996年12月:动作角色扮演游戏暗黑破坏神和战网(早期的多人在线游戏形式之一)发行。前几个月间暗黑即售出50万份,半年内战网注册人数达到70万。
December 1996: Release of action-role-playing game "Diablo" and Battle.net, one of the early forms of multiplayer gaming online. A half-million copies of Diablo sell within the first few months. Within six months, Battle.net registers 700,000.

1998年3月:星际争霸发行,头三个月即售出100万份。
March 1998: "StarCraft" launches, selling 1 million copies in first three months.

2000年:暗黑破坏神2发行,前两周售出100万份,打破PC游戏最快销售记录。
2000: Diablo II is released, selling 1 million copies in first two weeks. It sets the record for the fastest-selling PC game ever.

2001年:暗黑破坏神资料片暗黑破坏神2:毁灭之王发行,第一个月售出100多万份。
2001: An expansion to the Diablo sequel, "Diablo II: Lord of Destruction," is released and sells more than one million copies in the first month.

2002年7月:魔兽争霸3:混乱之治发行,头三周内售出100多万份。
July 2002: Warcraft III: Reign of Chaos released, selling more than one million copies in first three weeks.

2003年7月:魔兽争霸3资料片冰封王座发行,首月售出100万份。
July 2003: An expansion to Warcraft III, "The Frozen Throne" is released. One million copies sold within the first month.

2004年11月23日,魔兽世界发行。美国首日售出24万份,24小时内20万玩家创建帐号,月费15美元。
Nov. 23, 2004: "World of Warcraft" launches. In the US, 240,000 copies sold in first day, with 200,000 players creating online accounts within 24 hours, at $15 a month.

2006年5月9日:魔兽世界真人电影拍摄计划宣布,由出品过蝙蝠侠前传和斯巴达300勇士的传奇影业制作。
May 9, 2006: Plans are announced to develop a live-action "World of Warcraft" movie. Legendary Pictures, the studio behind Batman Begins and 300, will produce.

2007年1月:魔兽世界资料片燃烧的远征发行,首日售出240万份。
January 2007: An expansion pack to "World of Warcraft," called "The Burning Crusade," launches with 2.4 million copies sold in the first 24 hours.

2007年5月19日:星际争霸2宣布。
May 19, 2007: StarCraft II is announced.

2007年8月:魔兽世界资料片:巫妖王之怒宣布。
August 2007: World of Warcraft expansion pack, "Wrath of the Lich King" is announced.

2007年7月24日:魔兽世界注册玩家超过900万。
July 24, 2007: WoW subscribers surpass 9 million.

2007年11月:魔兽世界首部漫画发行。
November 2007: The first comic book series based on "World of Warcraft" is released.

2007年12月:Activision和暴雪母公司Vivendi合并计划宣布,合并后公司名称为Activision-Blizzard。
December 2007: Plans are announced for Activision (creator of "Guitar Hero") and Blizzard's parent company, France-based Vivendi, to merge as Activision-Blizzard.

2007年12月:暴雪总裁和共同创始人Mike Morhaime因“在扩展职业玩家以外的网络游戏玩家中所起的作用”成为美国互动艺术和科学学院名人堂第11位成员。
December 2007: Blizzard Entertainment CEO and co-founder Mike Morhaime is honored as the 11th inductee in the Hall of Fame by the Academy of Interactive Arts and Sciences for "his role in expanding the MMOG audience beyond the hardcore."

2008年1月22日:魔兽世界注册玩家超过1000万,其中欧洲200多万,北美250多万,亚洲约550万。
Jan. 22, 2008: WoW subscribers surpass 10 million – including more than 2 million in Europe, more than 2.5 million in North America and about 5.5 million in Asia.

2008年3月7日:暴雪被Think Services的Game Developer杂志评为世界第3大游戏开发商。
March 7, 2008: Blizzard Entertainment is ranked No. 3 game developer in the world by
Think Services' Game Developer magazine.

暴雪数字
BY THE NUMBERS

2,000:暴雪员工数量,其中1000名在尔湾。(暴雪)
2,000:people employed by Blizzard, with 1,000 in Irvine. (Blizzard)

12亿美元:暴雪2007年收入,比去年增长58%。(维望迪2007年收入数据)
$1.2 billion: Blizzard's 2007 revenues, 58 percent year-over-year growth). (Vivendi 2007 earnings)

每周17小时:2007年魔兽世界玩家游戏的平均时间,是玩的最多的电脑游戏。(尼尔森公司)
17 hours a week:average time World of Warcraft subscribers spent playing the game in 2007, the most of any computer game. (Nielsen Company)

No. 3:暴雪在游戏开发商50强名单上的排名。(Think Services的Game Developer杂志)
No. 3:Blizzard's rank on the top 50 game developers list. (Think Services' Game Developer magazine)

1/8/2008

与骗子的“颠峰对决”……

  今天是个好日子,遇到骗子了。

  早上到公司刚刚打开QQ,上线,没多久,有人发消息过来。一看是之前公司的一个同事,人非常好的一个MM,呃,姐姐。。问我能不能帮个忙,鉴于之前在公司时对我也很好,所以让她说来听听,看我能不能帮的上。可她紧接着说的话却让我有一点小小的吃惊——要我借她一千块钱,说是新戚急用,有事脱不开身。虽然之前是同事,关系也不错,但离职之后就一直没什么交往,QQ上也不怎么说话,突然提出这种要求,让我觉得很可疑,何况她有老公啊,就算帮忙,也不该找到我啊,何况是在QQ上。。所以我的第一反应是:她被盗号了?不过又怕确实是她本人有急事让帮忙,现在一口回绝那显得多没人性,怎么是我们这种有文化有修养有内涵有道德的上过大学的人做出来的事呢=。=…… 所以就有了下面的对话(同事昵称用****代替了):

2008-01-08 11:24:40 ****
你现在忙吗?有点事找你帮忙

2008-01-08 11:24:57 逍遥浪子
什么事?说吧

2008-01-08 11:25:14 逍遥浪子
看我能帮上吗。。

2008-01-08 11:25:17 ****
你现在有时间吗?帮我给我亲戚汇1000元钱,我现在有事走不开明天还给你
( 0.o    -.-! )

2008-01-08 11:25:54 逍遥浪子
现在出不去啊……
(开始拖……我在想,是真是假呢?)

2008-01-08 11:26:14 逍遥浪子
附近银行离的比较远
(继续拖……)

2008-01-08 11:26:20 ****
下午找个时间帮我汇一下可以吗?

2008-01-08 11:26:23 逍遥浪子
要出去就得请假

2008-01-08 11:26:33 ****
麻烦你了请假出去一下吧,我亲戚急用的,

2008-01-08 11:27:44 逍遥浪子
那估计也得下午了。。我手头上也有事要做,我们要做游戏新版本。。赶着更新呢

2008-01-08 11:28:02 ****
我告诉你卡号你记下,下午找个时间帮我汇一下可以吗?

2008-01-08 11:28:20 逍遥浪子
如果你很急用的话,不行就再找找人。。要是可以等等,就得等我把事做完再去了
(再拖……其实一是拖时间,同时对方说的话越多,也越容易判断出来是真是假)

2008-01-08 11:28:52 ****
可以的,今天能汇过去就可以的。

2008-01-08 11:30:22 逍遥浪子
用支付宝行吗?
(这个是旁边同事支的招,说用“非主流”方式,看她(他)什么反应)

2008-01-08 11:30:31 ****
我亲戚是银行卡
(事实证明没反应……)

2008-01-08 11:31:44 逍遥浪子
北京吗?
(继续废话……)

2008-01-08 11:31:57 ****
外地的可能要花手续费
(哈,考虑的还真周到,骗我钱还想着我要多出手续费,谢谢啊……)

2008-01-08 11:34:20 逍遥浪子
我现在马上要开会,过会给我打电话说吧,QQ上太麻烦了
(其实,打个电话,什么都明白了,如果是骗子,肯定不敢打电话给我)

2008-01-08 11:34:48 ****
我电话没在我手,我把卡号给你,你记下卡号下午直接帮我汇过去吧
(嗯,我好像看到了狐狸尾巴..)

2008-01-08 11:35:40 逍遥浪子
????

2008-01-08 11:36:02 ****
6222 0235 0000 5168 105
工商银行   尚春阳
你记下卡号下午直接帮我汇过去吧

2008-01-08 11:37:47 ****
记下卡号了吗?

2008-01-08 11:39:19 ****
我先去忙了记下卡号下午直接汇过去吧

(其实上面回绝了我要她打电话的要求,已经能说明一切了,不过为了证实一下,我给以前的同事,那个姐姐打了个电话(幸亏当时离职时留了电话号码0.o),问她上没上QQ,没想到她马上说,我QQ被盗了,上面和你说什么都别信,我已经报警了,于是,把刚才骗子留下的银行帐号和户名告诉了她。挂了电话,旁边同事说,还等什么呢,开骂吧。。。)

2008-01-08 11:40:26 逍遥浪子
阿拉

2008-01-08 11:40:37 逍遥浪子
1000够么

2008-01-08 11:41:01 逍遥浪子
不够的话我多给你汇点?

2008-01-08 11:41:39 逍遥浪子
这样吧,你上次和我做我给你了 500,你在和我做一次。这钱不用还了。

2008-01-08 11:43:18 逍遥浪子
怎么样?

--------

弄清楚对方是骗子以后,我倒想玩玩了,可惜显然骗子不这么想,所以在说完上面的话以后,我被直接拉入了黑名单……

大家引以为戒,有时候,传统的沟通方式还是很必要的。。

 
感谢访问!来都来了,不踩上一脚,太不厚道了吧。。
Please wait...
Sorry, the comment you entered is too long. Please shorten it.
You didn't enter anything. Please try again.
Sorry, we can't add your comment right now. Please try again later.
To add a comment, you need permission from your parent. Ask for permission
Your parent has turned off comments.
Sorry, we can't delete your comment right now. Please try again later.
You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
Complete the security check below to finish leaving your comment.
The characters you type in the security check must match the characters in the picture or audio.
具体地址估计我写了你也找不着。。到时候打电话给我吧~~
May 23
李顺周wrote:
告诉我你的地址好吧,我想什么时候去拜访你!你经常在那啊~~~~~~~网上
May 19