剑锋Jianfeng's profile行行摄摄PhotosBlogListsMore Tools Help

Blog


    November 16

    中庸

    1.天命之谓性,率性之谓道,修道之谓教。道也者,不可须臾离也;可离,非道也。
    2.君子戒慎乎其所不睹,恐惧乎其所不闻。莫现乎隐,莫显乎微,故君子慎其独也。
    3.喜怒哀乐之未发,谓之中;发而皆中节,谓之和。中也者,天下之大本也,和也者,天下之达道也。致中和,天地位焉,万物育焉。
    4.仲尼曰:「君子中庸,小人反中庸。君子之中庸也,君子而时中,小人之反中庸也,小人而无忌惮也。」
    5.子曰:「舜其大知也与,舜好问而好察迩言,隐恶而扬善。执其两端,用其中于民,其斯以为舜乎!」
    6.子路问「强」。子曰:「南方之强与?北方之强与?抑而强与?宽柔以教,不报无道,南方之强也。君子居之。衽金革,死而不厌,北方之强也。而强者居之。故君子和而不流,强哉矫。」
    7.子曰:「道不远人,人之为道而远人,不可以为道。」
    8.言顾行,行顾言,君子胡不慥慥尔!
    9.君子素其位而行,不愿呼其外。素富贵行乎富贵;素贫贱行乎贫贱;素夷狄行乎夷狄;素患难行乎患难。君子无入而不自得焉。
    10.上不怨天,下不尤人,故君子居易以俟命,小人行险以侥幸。
    11.子曰:「射有似乎君子,失诸正鹄,反求诸其身。」
    12.君子之道,譬如行远,必自迩,譬如登高,必自卑。
    13.哀公问政。子曰:「文武之政,布在方策。其人存,则其政举;其人亡,则其政息。人道敏政,地道敏树。夫政也者,蒲卢也。」
    14.故为政在人,取人以身,修身以道,修道以仁。仁者,人也,亲亲为大。义者,宜也,尊贤为大。亲亲之杀,尊贤之等,礼所生也。
    15.天下之达道五,所以行之者三。曰:君臣也,父子也,夫妇也,昆弟也,朋友之交也。五者,天下之达道也。知、仁、勇,三者,天下之达德也;所以行之者,一也。
    16.或生而知之,或学而知之,或困而知之,及其知之,一也。或安而行之,或利而行之,或勉强而行之,及其成功,一也。
    17.子曰:「好学近乎知,力行近乎仁,知耻近乎勇。」
    18.凡事豫则立,不豫则废;言前定,则不跲;事前定,则不困;行前定,则不疚;道前定,则不穷。
    19.博学之,审问之,慎思之,明辨之,笃行之。有弗学,学之弗能弗措也;有弗问,问之弗知弗措也;有弗思,思之弗得弗措也;有弗辨,辩之弗明弗措也;有弗行,行之弗笃弗措也。
    20.人一能之,己百之;人十能之,己千之。果能此道矣,虽愚必明,虽柔必强。
    21.唯天下之至诚,为能尽其性,能尽其性,则能尽人之性;能尽人之性,则能尽物之性;能尽物之性,则可以赞天地之化育;可以赞天地之化育,则可以与天地参矣。
    22.诚者,物之终始;不诚,无物。是故,君子诚之为贵。诚者,非自成己而已也,所以成物也。
    23.君子尊德性而道问学,致广大而尽精微,极高明而道中庸。温故而知新,敦厚以崇礼。是故,居上不骄,为下不倍。国有道,其言足以兴,国无道,其默足以容。诗曰:「既明且哲,以保其身」,其此之谓与!
    24.子曰:「愚而好自用,贱而好自专;生乎今之世,反古之道,如此者,菑及其身者也。」
    25.万物并育而不相害,道并行而不相悖。小德川流,大德敦化。此天地之所以为大也。
    26.君子之道,淡而不厌,简而文,温而理;知远之近,知风之自,知微之显,可与入德矣。
    27.君子内省不疚,无恶于志。君子之所不可及者,其唯人之所不见乎!
    28.诗云:「相在尔室,尚不愧于屋漏。」故君子不动而敬,不言而信。
     
    September 08

    挑战开发极限

    2007/11

    开源社区在拼命修复缺陷的同时,也在推动内核新功能的迅猛发展。让开发减速看来不太可能。

    本文转自:信息周刊http://www.informationweek.com.cn/iarticle/iarticle.asp?articleid=3663 

    最新版Linux内核在本月发布了,同时带来了令人瞩目的诸多变化。内核2.6.23的发布距离上个内核版本发布仅3个月,它整合了对商业应用的良好支持,包括更好的虚拟化技术和重中之重的进程调度升级,当然还增加了常见的新设备驱动和缺陷修复。

    Linux掌门人李纳斯•托沃兹(Linus Torvalds)的“代码树”里代码的数量每隔两到三个月就迅速增加,展现了越来越快的内核开发速度。到目前为止它产生的代码仍然是高质量和可靠的。

    但别误以为托沃兹要把开源的开发策略推向新极限。因为随着内核大小和复杂度的日益增长,快速的迭代周期会对社区测试人员和查找缺陷的志愿者带来压力。

    但有两个因素使托沃兹不能让开发团队丢失了士气。首先,Linux在技术上不能落后,否则它会失去那些挑剔的商业用户。例如新内核对英特尔公司 (Intel)和AMD芯片内置虚拟技术的支持。第二个原因是Linux需要为它的开发者社区提供新鲜感。新的功能特性使程序员免于厌倦,以继续新项目的 开发,这样才能吸引新的优秀程序员,否则他们就有可能因失去兴趣而退出。

    尽管Linux新功能路线图(road map)并不正式也难以预测,但在既要维护质量和稳定性,又要添加新功能特性的压力下,它已蓄势待发。这个已经16岁的开源项目是否能以现在的辉煌再继续 维持下一个16年呢?“没有其他任何开源项目能达到这么大的规模和保持这么快的速度,”一直留意内核开发的国际商业机器公司(IBM)副总裁丹•弗莱 (Dan Frye)的结论是,“它具有第一流的开发人员社区。”

    商业用户需要在这一片混乱中提高Linux的各个方面,除了虚拟化以外,还有电源管理和安全等问题。大多数商业客户使用Red Hat和Novell公司发行的Linux版本,这些Linux厂商可能需要两年才会把快速变更的新内核整合到商业版本中来,这使疯狂的内核开发过程获得 了一个缓冲。然而,内核的变化就代表着Linux的未来。

    速度和质量

    尽管托沃兹以限制加进内核的代码数量为目标,尽可能保持内核的高效性,但Linux每天收到的代码数平均为2000行。Linux模块化的内核是该 操作系统的核心,它处理各种常规任务,如内存管理、CPU请求,输入/输出。在内核之外是数百个可实现各种特定功能的额外软件包,如在Linux和 Windows之间进行文件转换,配置Apache Web服务器以显示文件。但内核需要不断发展以实现更多的功能与支持更多的硬件和用户数。这个在1991年只有12,250行代码的业余作品,现在已拥有 超过8百万行代码了。

    有的人认为现在内核以每小时86行的速度增长已超过软件开发的速度极限。主要维护者之一艾伦•克斯(Alan Cox)警告说某些设备驱动程序在加入内核之前应该进行更充分的测试。资深程序员安德鲁•莫顿(Andrew Morton)在被托沃兹指定为内核总管后得到的绰号是“内核的核心”,就公开批评Linux未能及时修复缺陷的问题。“我宁愿大家花更多的时间在修复缺 陷上,而不是忙着加入新的功能,” 莫顿表示。“我个人持这个观点。”

    但最近在英国剑桥召开的Linux 内核开发者峰会上,托沃兹暗示道,他认为自己以前过于谨慎了。

    缓慢的内核发布会引起提交处理过程停滞,要进入内核需要等更长的时间。志愿者会因为没能从内核维护人员和受信任的专项开发人员那获得及时回馈而变得心灰意冷。(托沃兹不愿意接受我们的采访请求。)

     

    回到加快Linux开发速度的话题上来,托沃兹依赖于开源的基本原则,即频繁发布的代码应该通过更多的用户测试而不是通过更结构化的测试流程才能发 现缺陷。无论是在内核里面还是外面,Linux的缺陷都是普遍存在的,内核在某些硬件平台上可能无法工作,甚或导致其它软件崩溃。提交代码的开发者理应修 复与这些代码相关的缺陷,但他们往往无法做到。

    根据Linux基金会(Linux Foundation)公布的资料显示,内核开发人员乔纳森•科贝特(Jonathan Corbet)说在这个会议上,莫顿表示自己想任命一个“刁钻难弄的人”担任内核缺陷管理员,由此人确定缺陷的归属和“督促不修复缺陷的开发人员。”最后 娜塔莉•波塔塞维奇(Natalie Protasevich)被委任为缺陷管理员,莫顿表示尽管她还达不到自己原先期望的那种性格,但她会强化缺陷修复的纪律。在Linux内核的 Bugzilla(缺陷管理软件)数据库里原来有1500条缺陷提交,现在已经减少到1400条。

    Intel主管Linux和开源技术的德克•亨德尔(Dirk Hohndel)表示,“快速开发过程和完整代码审核之间已经变成一门非常复杂的平衡艺术。”然而甚至在快速发展的阶段,也不是开发人员想要的每个新功能或商业需求都能直接进入内核。

    Linux商业客户对这个过程可能会不满意。位于欧洲的旅行社Amadeus的技术和策略制定副总裁弗莱德•贝希斯(Fred Bessis)分析说,Linux使基础架构上的成本降低了10分之1,所以他们放弃了大型机系统而在 “廉价硬件平台”上运行Linux。Amadeus已经拥有10年的Linux使用经验,它非常了解Linux,并期望那些潜在可用的新功能能逐渐被加进 商业版里去。

    Amadeus的高级系统程序员霍尔格•魏斯波特(Holger Weisbrodt)认为新的硬件和驱动通常能很快进入内核,但新的分析和调试工具“却要花很长时间才能加进来。”他期望能看到更多对常规调试工具的倾斜。

    这次的Linux内核版本发布就充分展现了Linux开发过程中的不可预测性,因为它包括两个新功能,即新的进程调度器,同时加强了对虚拟机的支持,这使内核的变动非常大,无疑会引入风险和复杂度。

    需要厚脸皮

    要让一项新功能进入内核的过程可能具有很大随意性并会引起摩擦。这次发布里最重要的一项改进:内核进程调度也验证了这点。内核进程调度程序努力结合 Unix操作系统的均时、时间共享等特点因为这样能处理众多任务和用户;以及实时系统的抢占式快速中断机制,它对调度以外的突发事件能提供迅速的响应。在 商业操作系统里,这些都是突出的卖点。Linux企图两全其美。

    开发人员已经在调度器上进行了多年努力。但今年夏天,澳大利亚医生康恩•科里瓦斯(Con Kolivas)在一篇被广泛讨论的《澳大利亚个人计算机》(Australian Personal Computer)杂志的文章上宣称由于在开源社区里的不愉快,他退出了Linux开发组。

    康恩•克利瓦斯为内核2.6.23编写的代码为编号“-ck”的补丁集,他的代码由Ingo Molnar(不知道怎么译成中文名)进行审核,Ingo Molnar是受雇于Red Hat(红帽)公司的开发人员,因为之前几次对进程调度器的提交,他成为负责调度器的Linux专家。他发现科里瓦斯的代码在实时调度上还有缺陷,但仍然 把它用到自己开发的多用途调度器了。这样借鉴和使用他人的代码是Linux的通用公共许可证(General Public License)所鼓励的,而内核的维护者也会尽量把功劳归于贡献者。但自己提交的代码被拒的科里瓦斯却觉得这个事情令人难以接受。

    科里瓦斯碰到的问题可能是程序员们都会碰到的障碍。他设想为不同的任务安排不同的调度器。但托沃兹和他的同事们所持的理念是,用简单的方式把任务一 次完成并完成得干净利落,而不是再引申出其他的方式来做。那样能使维护更简单,在内核不同子系统之间的交互也更容易预测。托沃兹对Linux架构推行这套 理念,讨论新代码的邮件列表上的参与者也是这样的观点,导致科里瓦斯的代码受到了邮件列表参与者的攻击。“如果在商业公司里发表Linux内核邮件列表上 对其他开发人员代码的评论,你很可能会被解雇,” 一直关注邮件列表的红帽公司产品管理主管乔伊•伯尔曼(Joel Berman)评论说。

    最终加到2.6.23内核里的是Ingo Molnar的完全公平调度器(Completely Fair Scheduler),而不是CK的SD调度器,完全公平调度器的名字有点讽刺意味,因为它需要牺牲其中一个调度器。和Kolivas的郁闷相仿,那些希 望获得更好实时功能的人也不满意。他们希望明年Linux 内核能在前端性能上获得提高。

    虚拟化驶上快车道

    和在调度器上的纷争形成对比的是以色列开发者艾维•吉维提(Avi Kivity)的故事,他提交了一个庞大的1万2千行代码的KVM(基于Linux内核的虚拟机,Kernel-based Virtualization Driver)虚拟化引擎。他再次提交补丁时引起了内核开发者和维护者的注意,“KVM完全是凭空冒出来的,”莫顿回忆说。“我以前从未听说过他和他的公 司Qumranet。”

    Kivity形容自己是Linux内核邮件列表里的“深度潜水员”,他非常热切地阅读列表,熟悉里面的技术专家们和讨论,而自己却没有提交太多的代 码。他根据自己对内核标准的理解设计了KVM,并使内核文件系统专家们对他的代码开发进度保持了解,并对内核维护者的问题和评论给予迅速回复。KVM迎合 了Linux的一个重要需求,即对虚拟化技术日益高涨的兴趣,它为内核提供了支持Intel和AMD 虚拟化芯片的功能。它技巧的利用了内核的调度器和内存管理,却对操作系统的其它部分影响很少。所以结果就是到去年秋季 KVM在发布不足3个月后就进入了内核。

    莫顿表示,把来自这样一个鲜为人知的作者和初出茅庐的公司的代码并入内核无疑是个冒险。因为无论个人和公司都可能消失,导致代码无人维护。不过因为KVM代码的相对独立性,如果它真的失去了生命力,开发人员只要简单地删除它既可。

    即使象KVM这样的代码能加进内核,但要等到最领先的两个商业发行版Red Hat Enterprise Linux和SUSE Linux Enterprise Server把它加进来可能还要1-2年。(“社区发行版”如Red Hat 的Fedora和 Novell的 OpenSUSE的更新倒是很迅速的。)因为这需要广泛的测试和支持。许多商业公司更欢迎稳定性,所以愿意花时间等到最新最好的内核。

    但Linux走在了前面,也许为了名誉、好奇心甚或金钱,开发人员积极地为内核添加新功能。在最近的28个月里共发布了11个版本的新内核,可统计 的独立提交人数从479人跃升到838人。平均来说,任何一个对代码有共享的人,后面可能需要3到4个人为他提供帮助。这意味着在每个内核迭代周期有 3000左右的人参与了。

    即使现在的内核维护人员、主管Linux各子系统的高级开发人员由谷歌(Google)、惠普(Hewlett-Packard)、IBM、Novell和红帽等商业公司支付薪水,但Linux的发展主要还是靠社区志愿者。

    正是由于社区的存在,所以莫顿才认为在开发速度和现实之间,并不存在“直接的冲突”,因为尽快发布功能就是使它们先面世备受考验,然后才可能进入商用。

    然而,和商业产品比起来,Linux仍然具有缺陷。“我不能说无法预期,但你确实没法保证它的发布日期,” Intel的亨德尔认为。“Linux的代码在准备好的时候就发布了。”

    再过2到3个月托沃兹将会发布有诸多新功能加入的2.6.24内核,并经没有参与本次发布的几百名程序员测试,但无人知道将有多少新功能最终可以进入商业测试版。这的确不是一个正式的产品“线路图”。但到目前为止,它也没有把商业引入歧途。(译/朱筱丹)

    September 06

    让你的创业失败的18个昏招

    让你的创业失败的18个昏招

    翻译: 拙尘


    在最近的一次演讲中,有人问我,哪些错误会导致创业失败。站在那里愣了几秒后,我意识到,这是一个很难回答的问题。它等于是在问:一个初创公司如何才能成功。如果你能避免所有导致失败的错误,那么你自然就会成功。这个问题太大了,很难在那样短的时间里回答清楚。

    后来我又认识到,这个问题如果从另一个角度看,也许是有意义的。假如你有一个清单,列出了所有你不应该做的事情,那么只需要把这个清单取反,你就得到了一张成功的处方。而在实际应用中,这样的清单会更有价值。查觉你正在做不应该做的事情,总比一直记着你应该做的事情更容易些。[1]

    从某种意义上说,导致创业失败的错误只有一个:没人需要你做的东西。如果你在做的东西是用户需要的,那么你应该能够生存下去,其它的问题都无关紧要。但如果你在做的东西不符合用户的需求,那么你死定了,任何事都改变不了这个结局。所以,这个清单里列出的18个错误,实际上是导致初创公司不能满足用户所需的因子。几乎所有失败的原因,都可以归结到这里面来。

    1 孤家寡人 (Single Founder)

    不知你是否注意到,极少有成功的初创公司是由一个人创办的?一些你可能会以为是单一创始人的公司,比如说甲骨文(Oracle),实际上是由多个人一起创办的。这似乎不是一个巧合。

    单一创始人有什么问题呢?最起码,这反映了一种信心的缺乏。隐含的信息是,创始人无法说服他的任何一个朋友跟他一起打天下。这很值得玩味:别忘了,他的朋友是最了解他的人。

    就算朋友们都错了,公司实际上可能很有前途;但是,单一创始人的不利仍然是很明显的。一个人创业实在太难了。就算你无所不能,你也需要同伴们来集思广益,避免愚蠢的举动,以及在遇到挫折时互相鼓励。

    最重要的一点是,创业的过程中你可能遇到难以承受的低点。当你有多个创始伙伴时,彼此信念上的支撑就好比捆成了一捆的箭。每个人都暗暗给自己打气:“我绝不能让我的朋友们失望。”这是一个人最强大的动力之一。而单一的创始人则缺少了这一动力。

    2 缺少地利 (Bad Location)

    并不是所有的地方都适合创业的。硅谷是创业的最佳地点,波士顿其次,再其次是西雅图、奥斯汀、丹佛和纽约。除此之外,几乎没有什么其它的选择了。就算在纽约,初创公司的密度也已经降到了硅谷的二十分之一左右。而在像休斯敦、芝加哥和底特律这样的地方,创业的可能性几乎可以忽略不计。

    为什么会有这么大的差别呢?其实,其它的业界也有类似的情况。全美第六大的时装中心在哪儿?第六大的石油,金融,出版中心又分别是哪里?不管答案是什么,可以肯定,这些中心的规模要远远小于榜首的规模。

    为什么某些城市会成为初创公司的聚集地呢?这个问题很有意思。我想答案与在其它业界得出的结论类似:因为那里聚集了大批的专业人士。那里的专业水准较高;人们对你所做的东西更容易产生共鸣;你能更容易地找到你想要雇用的人;周边工业也较发达;你有更多的机会碰上跟你在一个领域内的人;等等,等等。天知道这些综合因素是怎样促成了初创公司在硅谷的繁荣,又是怎样让底特律这样的城市黯然失色。不过,数字能够说明一切:在硅谷的初创公司密度远远超出了在底特律得到的数字。

    3 领域偏狭 (Marginal Niche)

    在向 Y Combinator 申请风投的团队里,大多数都犯了一个共同的错误:为了避免竞争而刻意选取那些很狭隘、很冷僻的领域。

    如果你看过孩子们打棒球的话,你会发现,在某个年龄段以下的孩子会有些怕球。面对来球,他们的本能反应是躲避。我在八岁的时候当过外野手,不过没有接到过多少球,因为每次球朝我飞来的时候,我总是闭上眼睛,举起手套来保护自己,而不是去力争接到球。

    一个初创公司,如果净是挑选那些偏狭的项目来做的话,就跟我在八岁时对付来球的策略一样。要知道,如果你能够有所成就的话,就必然会有竞争者,早晚都要面对。所以说,如果你不想竞争的话,那么你想出来的点子好不到哪儿去。

    我想,这种遇到大的困难就退缩的举动,往往是人们在潜意识下作出的。这跟你有一个很大的构想但却决定追求一个较小的较稳妥的目标不同,因为你在潜意识里就拒绝大的构想。解决这一问题的办法是假装你在为别人而不是为自己做策划。想想看,有什么好的主意适合某人去进行创业呢?

    4 拾人牙慧 (Derivative Idea)

    我们收到的许多申请都是在效仿一些已经存在的公司。现有的公司的确能够给你一些想法,但绝对不是最好的。如果你回顾一下那些成功的初创公司,很少是从模仿别人起家的。他们的灵感来自哪儿呢?通常是由创始人发现了一些尚未解决的特定问题。

    我们自己的初创公司的业务是编写软件,使之能够生成在线商店的网站。当初我们是独此一家;少数几家支持在线交易的网站都是由互联网的专业设计人员手工编写的,成本很高。我们认识到,一旦在线购物红火起来的话,这些网站必然是要由软件来生成的,所以我们就写了这样一个软件。这个想法的起源很直接,如此而已。

    那些对你个人产生影响的问题应该是最好的问题。苹果(Apple)的诞生是因为斯蒂夫·沃兹尼亚克(Steve Wozniak)需要一台电脑;谷歌(Google)则是由于拉瑞(Larry)和谢尔盖(Sergey)在网上找不到他们想要的东西;而 Hotmail 是因为沙比尔·巴蒂亚(Sabeer Bhatia)和杰克·史密斯(Jack Smith)无法在工作中互发电子邮件。

    所以,不要去照搬 Facebook,在上面做些零敲碎打的工作;你应该到别的方向上去发掘灵感。也不要受已有的公司的影响,去炒他们的冷饭;你应该去找寻未解决的问题,然后设想一下什么样的公司能够解决那些问题。[2] 你需要弄清楚,人们在抱怨什么以及期待什么?

    5 固执己见 (Obstinacy)

    在某些领域里,成功的途径需要你认准了想做的事情并坚持到底,不管遇到多大的挫折。而创业则另当别论。如果你是想要赢得一块奥林匹克金牌的话,那么你应该咬定目标,决不放弃;因为你的目标十分明确。但是,创业更像是从事科学研究,你更应该遵循自然规律而不是主观臆断。

    你应该避免过于坚持原来的计划,因为它可能是错误的。大多数成功的初创公司,最后做的都不是他们刚开始企图做的——而且差别往往很大,以至于你很难把他们同最初的公司联系起来。在创业的过程中,你应该准备好接受任何更好的主意;而最难做到的就是放弃你已有的想法。

    当然,这里也有一个度的问题。每周都换一个想法显然也不可能成功。有什么标准能够帮助你做决定吗?一个办法就是衡量那些新的想法是否代表了某种进展。如果你能够利用大部分你所做过的东西,那么你可能是在一个螺旋式上升的过程中;反之,如果你需要从头开始的话,那就不是一个好兆头。

    幸运的是,你可以向你的用户寻求建议。如果你转向一个新方向,而用户又对此反响热烈的话,那么你很可能押对宝了。

    6 遇人不淑 (Hiring Bad Programmers)

    在早先的清单里我忘了列上这一条了,因为我所碰到的创始人大多是程序员。对于他们来说,这不是什么大问题。就算他们偶尔雇用了一两个差劲的程序员,也不至于天就塌下来了。紧要关头,他们都可以亲自操刀上阵,力挽狂澜。

    不过,当我回溯90年代那些倒闭的电子商务初创公司时,却发现正是差劲的程序员毁了那些公司。很多公司都是由商业领域的人员创办的。他们以为初创公司就是有个好的点子,然后雇用一批程序员来实现它。这真是想得容易做的难。这些商业领域的人员根本就无法区分程序员的好坏。他们甚至接触不到最好的程序员,因为没有哪个程序高手愿意去实现一个商人的构想。

    事实是,这些人招募了一些他们以为是好的程序员(至少这些程序员的简历是这样吹嘘的,什么微软认证的开发人员了,等等),但实际上却难副其实。接下来他们就会很困惑地发现,自己的公司就像老牛拉破车一样吱嘎吱嘎,而竞争对手们却跟坐了火箭一样。这种初创公司具有那些大公司的所有缺点,却没有那些大公司所具备的优势。

    如果你本人不是程序员的话,怎样才能挑选好的程序员呢?我不认为有什么好办法。我本来想说,你可以找个程序高手来帮你做这件事儿。但问题是,你怎么找到这个最初的程序高手呢?

    7 开发平台选取不当 (Choosing the Wrong Platform)

    同上面一条相关的问题是开发平台选取不当(通常差劲儿的程序员都会犯这个错误)。我认为,在经济泡沫时期,很多初创公司都因为在 Windows 的平台上构建基于服务器的应用而身陷泥沼。Hotmail 在被微软收购若干年之后仍然运行在 FreeBSD (译者:一个 Unix 平台)上,估计是因为 Windows 无法胜任其负荷。假如 Hotmail 的创始人选择了 Windows 的话,他们很可能早就失败了。

    PayPal 刚刚躲过了一劫。在同某个dotcom合并后(译者:这里应该是指 eBay,不知道作者同 eBay 有什么过节?:)),新的CEO 想要转到 Windows 上——尽管 PayPal 的联合创始人马克斯·莱文奇恩(Max Levchin)向他展示过他们的软件系统在 Windows 上的处理能力只有在 Unix 上的百分之一。幸运的是,最终他们换了 CEO,而不是操作系统平台。

    平台是一个很模糊的词。它既可以指操作系统,也可以指编程语言,或者是编程语言之上的框架结构。它所隐含的意义,既包含了支持,也包含了限制,就如同房子的地基一样。

    你不得不慎而又慎地选择平台。有些平台,对外行来说,似乎是很好的、很负责的选择,就象90年代的 Windows 一样;一旦你选了他们,就无异于自掘坟墓。Java applets 大概是最典型的例子了。它曾经被人们认为是发布应用的新途径。结果却是,100个对此深信不疑的初创公司里,就有100个被毁掉了。

    怎样选取正确的平台呢?通常的办法是招些好的程序员来让他们选择。如果你自己不是程序员的话,也有一个小窍门:到顶尖的计算机系里参观一下,看看他们在科研项目里都使用什么。

    8 发布迟缓 (Slowness in Launching)

    所有的公司,不论大小,在完成软件之前都会有一段困难时期。从某种意义上说,这是一种固有的特性;软件的完成度永远都是在85%左右。你需要有极大的毅力来推动软件的完成并向用户发布。[3]

    初创公司总是用各种各样的借口来为推迟发布辩解。这些借口跟人们在日常生活中为自己的迟到所找的理由大同小异:总是有一些事儿要在这之前办好。也许吧。不过假如你的软件已经全部完成,按个按钮就可以发布的话,你还会等吗?

    尽快发布的一个目的就是迫使你完成应该完成的工作。一个软件,只要还没有发布,就不算真正完成。不管你认为这个软件已经如何完善了,在临发布之即,总还是有一大堆的事儿要做;这种情形已经司空见惯了。发布的另一个目的就是,只有通过用户反馈,你才能真正明白要做什么。

    有一些问题,同发布延迟是有联系的:工作节奏太慢,没有真正搞清楚问题,惧怕同用户打交道,害怕别人的评论,分心过多,过于完美,等等。解决这些问题,只需要推动自己尽快发布一些东西就可以了。

    9 发布过早 (Launching Too Early)

    发布过早的情况比发布迟缓要少见得多,不过并不是没有。发布过早的危险是有可能毁掉了你的名誉。早期的使用者在试用了你发布的东西后,如果发现什么不满意的地方,他们可能就不会再来了。

    如果你想发布一样产品的话,最低要求是什么呢?我们建议初创公司认真考虑自己想要做的是什么,确定其核心内容;这些核心内容既要本身就能够有用处,又要能够作为基础,在此之上逐渐地拓展成一个完整的项目。一旦确定了这些,就应该尽可能快地完成它们。

    我和很多其他的程序员就是按照这一办法来编写软件的。思考一下总的目标,然后动手编写一些有用的最小模块。这些模块早晚是要写的,所以不用担心作无用功。在大多数情况下你会发现,实现这些模块既能够在精神上获得鼓舞,又能够帮助你对余下的部分看得更清楚。

    其实,你需要打动的那些早期的试用者们是很宽容的。他们并不期待一个新发布的产品无所不能;但是,多少它应该有点儿用处。

    10 没有明确的目标用户 (Having No Specific User in Mind)

    如果你不了解用户,就不可能作出他们喜欢的东西。在前面我曾经提到过,大多数成功的初创公司,都是从解决创始人遇到的问题开始的。这里面有这样一条规则:你所创造的财富是跟你对问题的理解程度成正比的;而你最了解的就是你自己的问题。[4]

    这条理论反过来说就是:如果你试图解决一个你不懂的问题,那无异于往自己的脖子上套绞索。

    但是还是有很多创始人,喜欢假定存在某些用户愿意用他们的产品,至于这些用户会是谁,他们也不很清楚。那些创始人需要这些产品吗?不,他们不能算是目标市场。那么会是谁呢?年轻人?对本地活动感兴趣的人?还是商业领域的用户?什么样的商业领域?加油站?电影制片厂?还是军工采购商?

    你当然可以为与你不同类型的用户打造产品。我们就曾这么做过。问题是,你必须认识到你踏入了一个危险地带。这就好比你在借助仪表在飞行:你自己的直觉将帮不上任何忙。因此你的每一步操作都必须小心谨慎,并且要经常查看你的仪表。

    这种情况下,用户就是你的仪表。你必须遵循“从实践中来”的原则。任何主观猜测都是不允许的;你必须接触用户并考察他们的反应。所以,当你为别人而不是你自己设计产品的时候,你必须去说服一些特定的用户来使用你的产品;如果你做不到这一点的话,那么失败是必然的。

    11 筹集的资金太少 (Raising Too Little Money)

    大多数成功的初创公司到某一阶段都会接受投资。这就跟要有多个创始人一样,从统计上来说,是一个保靠的举措。那么,你应该接受多少投资呢?

    初创公司的资金是用时间来衡量的。每个还没有盈利的初创公司(几乎所有的初创公司在刚开始时都不可能盈利)在钱花光之前都会有一段时间。这段时间有时候被喻为“跑道”(runway)。这是一个很好的比喻,它在提醒你,当你钱花光的时候,要么起飞,要么撞毁。

    太少的钱意味着你没有足够的跑道起飞。当然,起飞的概念也需要视情况而定。通常你需要更上层楼:从仅仅有个想法和正在实现的原型;到有了原型,正在发布;到已经发布了产品,正处于显著的增长期。这也要看投资者的想法,毕竟他们是你在实现盈利前要说服的人。

    如果你是从投资人那里接受资金的话,那么数量至少应该能够支撑你到下一个阶段。[5] 幸运的是,你对下一个阶段是什么以及需要花费多少都有所控制。我们建议初创公司在刚开始的时候把这两项指标都设得低一些:基本上不花什么钱,以及把初期目标定为构造一个坚实的原型。这样做会给你最大的灵活性。

    12 花销无度 (Spending Too Much)

    有时候很难把花销无度和筹集的资金太少区分开来。如果钱不够用了,你既可以说是开销太多,也可以说是筹集的资金太少。区分这两条的唯一办法是跟别的初创公司做个比较。如果你筹集了五百万的资金却还是不够用,那么原因就很可能是花销无度。

    现在那些乱花钱的烧包们要比以前少多了。创业者们似乎已经学到了教训;再加上创业越来越便宜。所以在写这篇文章的时候,我并没有发现几个初创公司是在烧钱。我们投资的公司里一个都没有。(不仅仅是因为我们的投资都比较小,也因为许多公司都进行了多轮筹资。)

    最经典的烧钱方式是雇用一大批人。这么做会对你造成双重伤害:既增加了成本,又减慢了速度。所以说,钱花得越快,你就得想办法让它撑下去的时间越长。许多软件大师们都懂得这一道理;弗雷德·布鲁克斯(Fred Brooks)在他的《人月神话》(The Mythical Man-Month)中作过详细的解说。

    对于招人,我们有三条基本的建议:(a) 能免则免;(b) 用股份代替工资,这样做不仅仅省钱,更重要的是,你希望你的人是愿意把自己的利益同公司的利益挂钩的人;(c)招的人应该仅限于两类,或者写代码,或者出去拉客户,因为刚开始的时候,你只需要做这两件事情。

    13 筹集的资金太多 (Raising Too Much Money)

    筹集的资金太少显然是不行的,那么太多的资金是不是也有问题呢?

    是,也不是。关键不在于钱的本身,而在于随之而来的问题。一个风投曾经说过,“一旦你从我这拿了几百万的资金,那么计时就开始了。”风投们给你投资,并不是让你把钱放在银行里然后整天泡碗面;他们希望钱用在工作上。[6] 最起码,你也要有一个像样的办公室,以及一些工作人员。而这会改变你的工作氛围——并不一定是朝有利的方向。现在,你的大多数人马都是你的雇员了,而不是合伙创始人。他们不可能像你那样投入;他们需要有人来告诉他们做些什么;更糟的是,有人会开始玩起办公室里的那些猫腻。

    当你筹集了很多钱的时候,你的公司就会搬到繁华地段,并且开始拖家带口。

    而更危险的是,一旦你拿到了一大笔钱,那么你就会尝到船大难掉头的滋味。假设你最初的计划是向公司们出售某种产品。从风投那儿拿到钱后,你雇用了一些销售人员来做这事儿。后来你发现,应该把力量投入到消费者身上而不是那些商业公司。销售方式会有根本的不同。这时候,你怎么办?在实际当中,你甚至可能根本认识不到这点。招的人越多,你就越倾向于沿着既定的方向而不做改变。

    争取大笔投资的另一个缺陷就是耗时太长。你能筹到的钱跟你所花的时间是成正比的。[7] 当投资达到上百万时,投资者会变得相当谨慎。风投们从来不会明确地说是或不是;他们会没完没了地约你谈话。因此,从风投那里筹集一笔相当规模的资金是一件很花时间的事情——可能比你创业所需的时间还长。当你的竞争者们争分夺秒于开发产品的时候,我想你不会愿意把你的时间都花在投资人身上。

    我们建议那些寻求风投的创业者一旦遇到合适的协议就接受它。如果你能够从一个有信誉的基金那里拿到一笔基本合理的钱,并且没有什么不合情理的条条框框的话,那么成交好了;然后投入到建设你的公司里去。[8] 就算你能够从别的地方拿到多三成的钱,又怎么样呢?创业是一个要么赚得盆满钵满,要么输得精光的游戏。为了一点点小利而在投资者间四处游走无疑是在浪费时间。

    14 受制于投资者 (Poor Investor Management)

    作为公司的创始人,你应该掌握公司的投资者。你不应该忽略他们,因为他们可能提供有见地的建议。但你绝不能把公司运作交到他们手上;那应该是你的职责。如果投资者对于运作其所投资的公司有足够的见地的话,那他们干吗不自己创立一个公司呢?

    由于忽略投资者而惹恼他们的后果,要比向他们缴械投降的后果轻得多。我们创业的时候,曾经错误地忽略了投资者。结果,跟投资者的争吵牵扯了我们的很多精力。不过,这也要好过投降许多,那样的话,公司可能就完了。一个知道自己在做什么的创始人,就算只花一半的精力在产品上,也比什么都不懂的投资者花上全部的精力要强。

    掌握投资者所花的工夫通常取决于你从他们那里拿了多少钱。如果你筹集的资金有相当规模,那么投资者也相应的得到了相当规模的控制权。如果他们在董事会里占了大多数,那么他们就是你名义上的老板。更常见的情形是,创始人和投资者的权重相等,决定性的投票来自于外部的中立董事。这时候,投资人只需要说服那些中立董事,就获得了公司的控制权。

    如果一切都很顺利的话,那么这也无所谓。只要你的进展看上去很迅速,大多数的投资者不会插手你的事情。问题是,对于一个初创公司来说,不可能指望一帆风顺。就算那些非常成功的公司,都曾经被投资者找过很大的麻烦。最有名的一个例子就是苹果。它的董事会曾犯过一个致命的错误:解雇了斯蒂夫·乔布斯(Steve Jobs)。(译者:1985年,因为权力斗争,Steve 被赶出了苹果电脑;1996年,随着他的NeXT公司被苹果收购,他又回到苹果,并在1997年重掌大权。请参见 wikipedia 词条。)即使是 Google,早期跟投资者也有过很不愉快的经历。

    15 为(不存在的)利润而牺牲用户 (Sacrificing Users to (Supposed) Profit)

    我在一开始的时候就说过,如果你做的东西是用户需要的,那么应该没什么问题。你可能注意到,我没有提及任何关于正确的商业模式的事情。这并不是说赚钱并不重要。我并不建议创业者们搞那些更本就没有希望赚钱的公司,然后希冀着在倒闭前把公司卖掉。我们告诉创业者们不要担心商业模式的最初原因是觉得搞出一个人们需要的东西要比这难得多。

    我并不清楚这件事儿为什么这么难。看起来应该是一件很直截了当的事情。不过,只有为数不多的初创公司做到了这一点。从这儿你就可以看出这件事儿有多难。

    正是因为做出一个人们需要的东西要比赚钱难得多,所以你应该稍后再考虑商业模式的问题,就好比你把一些琐碎而麻烦的功能留给第二版一样。在第一版里,解决那些最核心的问题。对于初创公司来说,最核心的问题就是怎样来创造财富(=人们在多大程度上需要你的产品*需要你的产品的人数),而不是怎样把财富转变为钞票。

    能够获胜的都是那些用户至上的公司。以 Google 为例,他们先是开发了搜索引擎,然后才考虑怎么赚钱。总有一些初创公司的创始人认为,不在一开始就考虑商业模式是不负责任的举动。这些创始人通常是被那些思想僵化的投资者所蛊惑。

    如果说不考虑商业模式是不负责任的举措,那么不考虑产品本身的不负责任性要十倍于此。

    16 自命清高 (Not Wanting to Get Your Hands Dirty)

    几乎所有的程序员都更愿意把时间花在写代码上而另找人去处理商业上与钱有关的龌龊事儿。这并不是因为懒。Larry 和 Sergey 在刚开始的时候显然也是这么认为的。在开发了新的搜索算法后,他们所作的第一个尝试就是找一家公司买下它。

    创办一个公司?算了吧。大多数的程序大师们更满足于仅仅有个点子。不过,正如 Larry 和 Sergey 所发现的,点子是没有什么市场的。没人会去相信一个点子,除非你把它用在你的产品里,并以此获得用户。这样人们才会给你更多的关注。

    也许这一点会有所改变,不过我很怀疑。对收购者来说,没有比用户更具说服力的东西了。这不仅仅是因为风险降低了;要知道,收购者们都是人,他们很难把几百万的美金砸到一堆年轻人身上,就为了他们机灵。当点子被一个公司实现并且拥有很多用户时,投资者们可以安慰自己,他们买的是用户,而不是看不见摸不到的机灵。这对于他们来说更容易接受些。[9]

    如果你想要吸引用户的话,你可能不得不离开你的计算机,到外面去寻找一些用户。这的确不是一项愉快的工作;不过,如果你能够做下来的话,那么成功的几率就大大增加了。2005年夏天,在我们资助的第一批初创公司里,绝大多数的创始人都埋头于编写他们的应用程序。只有一个创始人,花了一半的时间去同手机公司的执行长官们交谈,以敲定一些买卖。对于一个程序员来说,你能想出比这更痛苦的事情吗?[10] 不过,他的付出是有回报的:那家初创公司看起来是那一批里最成功的,他们获得了一大笔订单。

    如果你要创办一家公司的话,就必须面对一个事实:你不可能只是坐在那里写程序。至少你们当中的一位需要花费一定的时间在商业上面。

    17 内部争斗 (Fights Between Founders)

    创始人之间的争斗出乎意料地普遍。我们资助的初创公司中,大约20%的公司都有创始人退出的现象。这种频繁发生的事情让我们更加倾向于股权授让(vesting)。尽管不是必须条件,我们还是建议创始人们授让股权,这样,中途有人退出的话,也不会造成什么混乱。

    一个创始人的离开并不会毁了公司。许多成功的初创公司都有过类似的情形。[11] 幸运的是,离开的通常都是投入最少的。
    假如有三个创始人,其中一个不是很积极的退出了,没什么大不了的。如果有两个创始人,其中的一个走了;又或者离开的那个具备关键技术,那么就可能会有麻烦。就算这样也还不至于天塌下来。Blogger 曾经走得只剩了一个人,但最后又振作了起来。

    如果创始人们能够更加谨慎地选择他们的创业伙伴,那么大多数的争吵都可以避免。多数的争吵并不是因事而起,而是因人而起。也就是说,是早晚会发生的。而大多数因为争吵而一怒离开的创始人,可能从一开始就信心不足,只不过被掩饰起来了。不要掩饰你的疑虑。在公司成立前把问题解决掉要容易许多。所以,不要因为怕疏远你的同屋而拉他入伙;也不要因为某人有某种用得上的技能就一起开公司,而不管你喜不喜欢他。一个初创公司,最重要的因素就是人,所以不要在这上面有什么将就。

    18 不能够全时投入 (A Half-Hearted Effort)

    你所听说过的失败的初创公司,都是一些很特殊的例子。他们实际上是失败者中的佼佼者。最通常的失败者并不是因为犯了这些很特殊的错误,而是因为没有做什么事儿——我们从未听说过这些失败者;他们往往是两三个人,在工作之余,玩儿上一把;从未取得过什么真正的进展,渐渐地也就放弃了。

    从统计上说,如果想要避免失败的话,一个很重要的事情就是辞掉你的日常工作。绝大多数失败的初创公司,其创始人都属于业余性质;而那些成功的初创公司,创始人都是全副身家扑在了上面。假如把初创公司的失败比作是疾病的话,疾病控制中心就会贴出一张告示,警告大家辞掉日常工作。

    这是不是说,你必须辞掉你的日常工作呢?也不一定。我在这里胡乱猜测一下。我想那些还没有辞掉工作的创始人,大多缺少一种创办公司所必需的决心;他们的意识深处是知道这一点的。他们之所以不敢投入更多的时间是因为他们知道,这不是一个好的投资。[12]

    我还猜测,有相当多的人,如果能够迈出这一步而全时去做的话,是能够成功的,可惜的是,他们没有这样做。我不知道这样的人有多少,不过,如果把 成功者/骑墙者/毫无希望者 做个分布的话,那些如果辞掉工作就可能成功的人,要比那些现实中的成功者多出一个数量级。[13]

    如果这是真的话,那么大多数有可能成功的初创公司最终失败的原因都是其创始人不能够全心全意地投入在上面。这跟我所得出的结论也是一致的。绝大多数的初创公司之所以失败,是因为他们做不出用户需要的东西;而之所以做不出来,是因为他们的努力不够。

    换句话说,创业跟做其它事情一样。你可能犯的最大错误就是不够努力。如果有什么成功的秘诀的话,就是不要否认这一点。

     

    注释

    [1] 这个清单并没有列出所有的原因,只列出了那些你能够掌控的因素。有些事情是你没法控制的,比如说,能力不足或是运气不好。

    [2] 好笑的是,从 Facebook 衍化出来的一个可行的点子,就是针对那些非在校学生的 Facebook。

    [3] Steve Jobs 曾试图用“Real artists ship”来鼓动人们。这是一个很漂亮的句子,可惜并不代表事实。艺术里面的很多著名作品都未完成。对于有明确期限的领域来说,比如建筑和制片,这句话可能是对的。不过就算在这些领域里,人们也总是能拖就拖。

    [4] 这里也许还有另一个因素:初创公司的创始人们一般都站在技术的最前沿,他们所面临的问题往往具有很特殊的价值。

    [5] 你所筹集的资金,应该比你认为所需要的要多,大概多50%到100%吧。因为编写软件所花的时间往往比你估计的要长很多。

    [6] 人们有时候会把我们也叫作风投,我这里要声明一下,我们并不算风投。风投的手笔很大,而且花的是别人的钱;而我们花的是自己的钱,数量也很小,更像是天使投资。

    [7] 当然并不是线性的,不然你永远也筹不到五百万美金。不过在实际操作中,你会觉得真的是没个尽头似的。

    就算你把风投不可能投资的情况也考虑进去的话,对于一般情况来说,你也会觉得费时太长。而追求大的投资的危险不仅仅在于花费的时间很长,更严重的是,你可能花了时间却拿不到一分钱。

    [8] 有些风投会故意压低你的价值来试探你有没有胆量去要求更多。这是一个俗不可耐的游戏,不过的确有些风投在玩儿。如果你在同这样的风投打交道,那么应该在估价上进行一番讨价还价。

    [9] 假如 YouTube 的创始人在2005年跑到 Google 说,“你们的视频设计太差了。给我们一千万的话,我们就指出你们犯的所有错误。”那他们肯定会受到嘲笑。可是18个月后,为了买这一课,Google 支付了16个亿。也许部分原因是因为 Google 可以安慰自己:我们是在买一种新事物,一个社区,或是类似的某个模糊概念。

    我并不是挑剔 Google。他们已经领先于他们的竞争者了。那些竞争者可能已经错过了视频这班船。

    [10] 事实上是有的:就是跟政府打交道。不过电话公司会很高兴。

    [11] 这种情况比人们看到的要多得多,因为公司们从来不会宣扬这种家丑。你知道苹果最初有三个创始人吗?

    [12] 我并不是瞧不起这些人。我自己也缺少这种果断。在 Viaweb 之后,我曾经有两次都很接近于开办一个公司,但每次都打了退堂鼓。因为我意识到,缺少了生存危机,我很难承受创业的那份紧迫感。

    [13] 那么你怎么知道你属于哪类人呢?是那些应该辞掉工作的人?还是更大多数的平平稳稳过日子的人?我得说,单凭你自己是很难作判断的。你必须寻求外部的建议。我们自认自己是投资者,不过从另一个角度看的话,Y Combinator 是一项建议人们辞掉或是不要辞掉工作的服务。我们可能会犯错误,而且是经常犯,但至少,我们是根据我们自己的结论来押宝的。


    (原文发表时间:2006年10月)

    September 05

    创业者们的十大迷思

    创业者们的十大迷思
     翻译: gneheix 

     我最近成了一名风险投资人,所以经常可以遇到一些创业者[1]在创业时常犯的错误。为了避免一遍又一遍的重复说教,我想把这些错误在这里做一个总结:

    迷思一:一个好想法就可以让你赚大钱

    事实是好想法对于商业成功既不是充分条件也不是必要条件。微软应该算是获得商业成功的典型,但是在它的整个发家史上却找不到一个完全独创的“好想法”。事实上微软正式通过模仿对手的想法并在竞争中打败对手而一步步发展壮大的。Google确实有一些独创的,像Page Rank,Ad-words,廉价机器集群等。但是这些没有一个是由Larry和Sergey想出来的。这并不是说Larry、Sergey和Bill不够聪明,实际上他们三个比任何人都要犀利。但如果你认为他们只是有一天突然有了一个灵感接着就发财了,那只能说你是痴人说梦。

    迷思二:东西做出来自然会有人用
    有时候事实确实如此。Google就是个好例子。但是像Google这样的公司只是凤毛麟角,更多的公司生产的产品因为这样或者那样的原因卖不出去。我自己就有这样的惨痛经历。那是我在1993年创建的第一家公司,名字叫FlowNet。它同时也是一种新的高速局域网通讯设备的名字。10M的传输速度是当时的标准,但FlowNet提供高达500M的传输速度。在后来的五年中FlowNet一直都是拥有最佳性价比的网络设备。它甚至提供了一个内建的可保证画面质量的视频流媒体服务。如果FlowNet能够得以流行全世界,今天的视频流媒体将比现在的状况要好得多。

    但是尽管FlowNet在技术层面上可以打败任何竞争者,它却在商业上遭受了巨大的失败。我们连一块也没有卖出去。原因很简单:它与局域网标准不兼容。如果当时我们做足功课,做些市场调查,我们就会知道兼容性即使不是致命的也将会是个大问题。那样我们就不会把自己数以万计的美元浪费在专利申请和样片生产上了。


    迷思三:如果你不申请专利,别人会偷走你的想法
    事实上没有人会对你的想法有兴趣,除非你的想法被证明是成功的,但那时对于偷学者为时已晚。即是说真的有人对你的想法非常认同,但是他聪明的话自然会选择跟你合作,如果不是,他做什么都是威胁不到你的。

    有时候专利还是有点用的:它会让投资人感觉很保险。但我强烈建议你自己来处理专利申请,通过一些学习你可以做得比专利申请代理商做得更好,而且可以节省一大笔钱。


    迷思四:你的看法很重要

    事实上你和你的合伙人对你们产品的看法没有任何意义,重要的是客户会怎么看待你们的产品。我们很自然的会假设,如果你和你的伙计们都认为你们的产品很好,那么其他成千上万的人们也会这样认为,事情有的时候是这样,但大多数的时候不是。原因是你是如此的聪明可以设计出这么好的产品,那么你跟那些产品的使用者是不一样的。相对于你,你的客户们要更为平庸一些,他们的口味也会更为平庸一些。如果你的产品是为了迎合那些会在乎你自己在乎的那些东西的人的话,你的用户群将会非常小。


    迷思五:盈利模式都是假的

    就像迷思二一样,有时候这也是事实。像Carl Sagan常说的“预言是失败的艺术”。你永远也无法知道你的生意会赚多少钱,也无法知道要花多少钱去占领市场。需要盈利模式的理由是让你自己做一个全面的思考,并让自己确信投资将会得到回报。如果你经过计算发现,即使只是要保持不亏损你的用户群也必须比现在的市场大十倍,那么你也许就需要重新考虑了。就像艾森豪威尔说的,计划一无是处,但作计划却不可或缺。

    以此为基础,很多创业者们都会犯一个典型的错误。他们常这样说“只要我们占有哪怕是1%的市场份额,我们也会赚大钱”。这样的说法直接暴露出你没有仔细的分析过用户的需求。你也许同样会说“100个客户中至少会有一个客户买我们的东西吧(或者坦白地说,这一点也不能肯定)”。这样想根本无法增强自信心。


    迷思六:懂得的知识比认识的人重要

    你一直都拒绝否认这一点。从小到大,你都相信聪明比什么都重要,你也不会相信妈妈所说的“学会与他人相处比学习成绩更重要”。
    事实是-人际关系比知识要来的重要。这并不是说聪明、有学问没有用。你的学识一定程度上决定了你会被推荐给“谁”。但最终,你认识并信任,更重要的是信任你,的人会比你的学识对你的前程有更大的决定性作用。商业活动是异常复杂的。没有任何一个人有可能具有完成一个商业决定所需要的所有知识和经验,所以精明的人们会把他们的权力下放给其他人。而当他们选择下放的对象是,首先想到的就是他们认识并信任的人。
    <此处略去一段关于C程序员和Lisp程序员的对比>


    迷思七:博士头衔很有用

    实际上拥有博士头衔只能证明你不是低能儿。从我的经验看来,拥有博士头衔只会对获得商业成功产生负面影响。因为在学业上获得成功的方式与在商业上获得成功的方式恰好相反。在学业上,你的同僚决定你的成功,在商业上,你的顾客决定你的成功,而你的顾客,基本上可以肯定的说,不会是你的同僚。


    迷思八:我需要500万作为启动资金

    事实上除非你是做硬件的,否则你根本就不需要任何的启动资金。Paul Graham 说过很多关于这方面的内容,我就不展开了,之说几句:你不需要启动资金,但你必须愿意自己做。你必须自己实现自己的想法,没有人会为你去做,也没有人会出钱雇人为你去做。原因很简单:如果你都不愿意为你想法的商业潜能而放弃你的休息时间,为什么别人要用他们辛苦赚来的钱为此冒险。


    迷思九:有好的想法是我的计划中最重要的部分

    事实上好想法基本上没有任何意义,重要的是:


    谁是你的顾客
    他们为什么要买你的产品
    你的团队有些什么人
    有哪些风险

    迷思十:没有竞争对手再好不过
    如果你所处的行业没有竞争对手,最有可能的理由是,它根本就不能赚钱。这个世界上有60亿人口,几乎完全没有可能还存在一个没有任何人发觉的有利可图的市场。

    最好的消息莫过于你的竞争对手都很菜。绝大部分的公司都运作的不是特别好。他们制作赝品、欺骗顾客、他们的员工都很傻冒。你总是可以很容易的找到市场机会,进入,然后打败竞争者。你并不想要没有竞争对手,你想要的是差的竞争对手,放心,他们多得是。

     

    额外奖励,迷思十一:上市会让我开心
    如果创业的过程让你厌倦,你大概是不会成功的。它是如此艰难,如果你不能从中找到乐趣,它会让你筋疲力尽。即使你通过肮脏的交易变得富有,当你回首往事的时候也只是会惋惜青春的流逝。古董和跑车带来的快乐是短暂的。只有一种快乐是可以用钱买到的:就是当你作为投资人听一个小伙子兴奋的向你讲述他新鲜的商业计划。

    所有这些都可以总结成一句话:重要的是客户。商业成功的不只是一个好想法,好想法到处都是。商业成功是需要有一个好想法、组织一个好团队、把想法做成好产品、最终把它卖给客户。很简单,也很复杂。

    祝你好运!

    译文两篇

    白手起家的艺术
    Guy Kawasaki 著 拙尘  译


    有人曾经对我说,一个创业者得到风险投资的几率如同在一个晴天下站在游泳池里被闪电击中一样。这种比喻还是过于乐观了。

    人们可能以种种借口拒绝投资你的企业:你们不是一个“令人信服”的团队,没有“令人信服”的技术,不在一个“令人信服”的市场里;或者你的公司根本就不具备 “风险投资的潜质”——也就是说没有可能上市或者被巨资收购;再或者你的组织受到太多政府或环境因素的干扰。如果拿不到任何风险投资,你是否应该放弃呢?当然不!

    我可以举出例子来说明,对于许多公司来说,太多的钱比太少的钱更糟糕——这并不是说我不想有一天能运行超级碗(Super Bowl)那样的商业活动。但是直到那天成为现实之前,要想成功还必须白手起家(bootstrapping)。这个词来源于德国故事《吹牛大王历险记》,故事的主人公拉着自己的鞋后跟把自己从海里提了出来。下面是一些白手起家的艺术:


       1. 注重现金流而不是盈利性(Focus on cash flow, not profitability)。理论上讲,利润是生存的关键。问题是,理论不能用来付帐单。在现实中,你是用现金来付账单的,所以请把重点放在现金流上。如果你要白手起家,那么你的业务应该具备这些特点:必需的资金要少,销售周期和付款期要短,以及具有可重复增加的收入(recurring revenue)。这意味着你要放弃那些需要12个月的时间来完成定单、发货和收账的大单。现金对于白手起家者来说,就是一切。

       2. 自底向上的预测(Forecast from the bottom up)。很多创业者进行自顶向下的预测:“美国有1亿5千万辆汽车。就算在第一年里只有1%的汽车装了我们的卫星收音系统,那就是150万套系统。”而自底向上的预测是这样的:“在第一年里,我们能够开设10个安装点。每个安装点平均每天安装10套系统的话,第一年的销售量将是 10个安装点 × 10套/天/安装点 × 240天 = 24000 套。”24000和自顶向下中声称的150万保守估计显然相去甚远。你们觉得哪一个更有可能实现呢?

       3. 先发货,再测试(Ship, then test)。我已经听到批评的声音了:“你怎么能够建议发送那些并不完美的货品呢?”等等,等等。“完美”(perfect)是“足够好”(good enough)的敌人。当你的产品或服务足够好时,尽快向客户提交他们,以获得现金的流入。而且,花费更多的时间并不能保证产品的完美,只会产生更多不需要的功能。发货后,你也能了解到客户需要你真正解决什么问题。当然,这需要在你的信誉和现金流中做一个折衷:你当然不能向客户发送一堆垃圾,但也不能等待你的产品变得完美无瑕。注意:那些同生命科学有关的公司,请忽略这一条建议。

       4. 忘掉所谓“令人信服”的团队(Forget the “proven” team)。令人信服的团队要求太高——特别是大多数人把这定义为一群在过去十年里为超级大公司工作的人们。这些人,习惯了某种特定的生活方式,但绝不是白手起家的生活方式。聘用那些年轻、便宜、渴望工作的人,那些上手快但并不一定有全面经验的人(people with fast chips, but not necessarily a fully functional instruction set)。当你实现了可观的现金流后,再聘用那些资深的管理者。在那之前,请使用那些你能够负担得起的人,并把他们培养成优秀的雇员。

       5. 从服务开始做起(Start as a service business)。假如你的想法是要最终成立一个软件公司,让人们花钱买你的软件。这当然是一个很清晰的业务并且有完善的商业模式。但是,在完成你的软件之前,你还可以提供基于你的中期产品的咨询服务等。这样做有两个好处:你可以立即获得收入并让真正的客户来测试你的产品。一旦你的软件经受住了各种各样的测试和考验,你就可以把公司转换为产品型了。

       6. 注重功能而不是形式(Focus on function, not form)。我喜欢好的“形式”。MacBooks;Audis;Graf skates;Bauer sticks;Breitling watches。你还可以举出很多。但是白手起家者们在买东西时,注重的是功能而不是形式。上面那些形式,相对应的功能分别是:计算;从点A移动到点B;滑冰;滑雪;了解时间。这些功能并不要求那些昂贵的形式。椅子就是用来让你的屁股坐在上面的;它并不需要看上去属于哪个现代艺术的博物馆。你要设计高贵的东西,但是要买便宜的东西。

       7. 有选择地战斗(Pick your battles)。白手起家者们有选择地战斗。他们不会在所有的战线上开战,因为他们承担不起。如果你要开设一所新的教堂,你真的需要一套10万美金的多媒体视听系统吗?还是从一座讲台上发出的福音?如果你要建设一个靠广告收入的网站(a content wet site based on the advertising model),你需要自己写客户广告发布软件(customer ad-serving software)吗?我不这样认为。

       8. 雇用尽可能少的员工(Understaff)。许多创业者为可能发生的最好情况而储备雇员。“保守的估计(自顶向下),第一年卫星收音系统的销售量会是150万套。我们最好开设一个24小时营业的客户支持中心。 ”结果怎样?你根本就不可能销售150万套系统,但你的确为此雇用了200个员工,培训他们,并且把他们安置在一个5万平方英尺的电子化市场中心里。白手起家者们雇用尽可能少的员工,因为他们知道任何糟糕的情况都可能发生。人手不足,按照在硅谷的说法,属于一个“良性问题”(a high quality problem)。相信我,当一个创业者因为销售激增而打电话要求更多的资金时,任何一个风险投资家都会对此惊喜若狂。而惊喜之所以称为惊喜,正是因为它们很少发生。

       9. 采用直销方式(Go direct)。在白手起家者和他的客户之间最好不要有第三方存在。的确,商店提供了接触消费者的途径,批发商们提供了货品分发的途径。但是上帝发明了电子商务(ecommerce),从而你可以直销你的商品并实现更高的边际利润。上帝的聪明之处还在于,通过直销,你能够了解更多的客户需求。商店和批发商们是用来满足需求的,他们并不创造需求。如果你能够创造足够的需求,你稍后总能找到办法来满足它;如果你不能创造足够的需求,那么所谓世界范围内的分发渠道对你来说毫无意义。

      10. 用业界的领先者来作比(Position against the leader)。没有钱来做长篇大论的广告吗?没关系。用业界的领先者来作比好了。Toyota是这样推销Lexus的:花一半的价钱,买 Mercedes的品质。Toyota用不着解释什么是“Mercedes的品质”。想想看,这能为他们节省多少广告费!其它的像“便宜的iPod”和“ 属于大众的Bose无噪音耳机”,都有同样的效果。

      11. 直面惨淡的真相(Take the “red pill”)。正如Neo在The Matrix里做的决定一样。红色药丸会让你知道整个真相;而蓝色药丸则会使你像是醒来时觉得只是做了一场恶梦。白手起家者们没有那种奢侈去选择蓝色药丸。他们每天都在忙于知道真相——这个兔子洞到底有多深。一个简单的计算公式是:现金总数除以烧钱的速度。因为这可以告诉你到底还可以活多久。就像我的朋友Craig Johnson喜欢说的:“钱花光时你就玩完儿了。大多数的创业公司都是这样死掉的。”只要你手里还有钱,你就没有出局。

    创业者的10大谎言

    Guy Kawasaki 著 雷声大雨点大译


    每年都会有几十个创业者来找我谈投资。每个人至少都要用到下述谎言中的3、4个。我把这些谎言列出来,不知是会让创业者们变得更诚实,还是会让他们编出新的谎言来。嗨,至少新的谎言也算有点创意吧。

    1、我们的预测是保守的估计。创业者的估计从来都不是保守的。要是保守的话,那应该是0美元。我从来没有看到一个创业者达到她保守的估计。通常创业者根本不知道她的销售额会是多少。所以她就这么猜:“我说少了吧,投资者不会感兴趣;我说多了吧,他们会觉得我神经不正常。”结果就是,每个人的预测都是到第4年的时候销售额5千万美元。所以我总是把创业者给我的预期时间加一年,销售额乘0.1。

    2、(某著名市场研究公司)称我们的市场总额到2010年会达到500亿美元。不管他是开发bar mitzah(译者:一种犹太教的成人仪式)计划软件还是802.11芯片组,每个创业者的PowerPoint里都有几页声称他们的市场总额会有百亿美元。风险投资者从来不相信这些预测,因为今天他已经听过5个这样的预测了。创业者们最好把这些预测从他们的PowerPoint里去掉。

    3、(某大公司)下周就要和我们签购货合同了。创业者不知从哪个讲座上听说“公司已经有销售很重要”,就编出这条来。搞笑的是,到了下周,下下周,合同还是没签。然后就是各种借口:该公司的决策者被解聘了, CEO被炒鱿鱼了,发生自然灾害了,等等。投资者不会因为这个谎言投资的,除非销售已经真的发生。

    4、我们只要拿到投资,某重量级的人士就会加入我们公司。往往,当VC给这个重量级的微软、甲骨文、升阳的副总打电话证实,回答如下:“谁告诉你的?对,我是在丘吉尔俱乐部(译者:著名的有关创业的非营利组织)跟他聊过几句。但我绝对没说过我会放弃我在Adobe的25万年薪加入他的公司。” 重量级人士是有可能加入小公司,但请让他们亲自给VC打电话来确证这一点。

    5、没人在尝试我们正在做的事。这是最扯淡的一个谎言,因为从这条得出的结论无外乎两点:1、因为根本没有市场,所以没有别人做;2、你实在太不入流了,连用Google查找竞争对手都不会。不用说,以上哪个结论都不会有助于你拿到投资。通常,如果你有一个好主意,那你会有5个竞争对手。如果你有一个非常好的主意,那你会有15个竞争对手。

    6、没人能做到我们做到的事。盲目狂妄自大,这比上一条还糟糕。第一个公司开始做一件事后90天内,就会有10家公司雨后春笋般做同样的事。Roger Bannister之前没人能在4分钟内跑完1英里。但在Roger Bannister创造该纪录后1个月内John Landy就又破了纪录。世界之大,能人之多,创业者认为他能在知识上取得垄断只能是自欺欺人。就像我对我热爱的 Macintosh那么有把握(译者:作者原来是苹果公司的高管和苹果产品的忠实拥护者),我确信当你对VC这样说时,VC已经听说另一个公司在做同样的事了。

    7、赶快,别的VC也对我们感兴趣了。好消息是:没错,有不少公司真的是同时被多家VC看中。但坏消息是,那个公司多半不是你,因为你还有闲工夫读我的博客。就像我妈常说的“别用乌兹冲锋枪玩俄罗斯轮盘赌”。(译者:Kawasaki大妈啥意思?别找死?)是的,那些绝对牛的公司,投资者之间是有竞争的,创业者可以用这种方式逼着VC赶快做决策。但对于绝大多数创业者,你不是稀缺资源,这招不灵。参看前文“风险投资的10大谎言”,要知道很多情况下VC说也许会投资,其实是不会投资。

    8、甲骨文又大、又蠢、又慢,根本不是威胁。 Larry Ellison(甲骨文公司的CEO)有他自己的私人飞机,他能让圣何塞机场夜间为他的专机开放,他的帆船大得连金门桥都快过不去了。而我们的创业者呢?他们从奥克兰机场坐最便宜的西南航空公司的飞机,有机会还要顺两包免费花生米。Larry Ellison和创业者的差距是有原因的。而那个原因不是甲骨文又大、又蠢、又慢。和甲骨文、微软等大公司竞争不是件容易的事。给这么说的创业者最好的评价也就是“天真”。也许你觉得自己很有胆量,但VC觉得那是愚蠢。

    9、我们的管理团队有可证实的成功经历。谁说你可证实来着?公司的创始人曾经在摩根斯坦利做过一个夏天的实习生?在麦肯锡干过2年?曾经告诉John Sculley(译者:百事可乐和苹果的前CEO,导致了苹果的一系列产品失败和衰退)Macintosh如何开机关机?在VC眼里,真正的可证实是那些曾经成功的为投资者产生亿万汇报的创业者。但这样的创业者,a)她多半不会为找投资而发愁;b)她也用不着说她有可证实的经历。(Wayne Gretzky用不着到处对别人说我是个出色的冰球选手。)创业者应该这样自我介绍:a)她有相关的业界经验;b)她为了成功会付出一切努力;c)她会寻找真正有可证实的成功经历的人做她的顾问和董事会成员d)如有必要她会让贤。这对于对创业者有兴趣的VC来说就够好了。

    10、我们的产品受专利保护。在你给VC介绍你的项目时,最多提到专利一次:我们申请了专利。这就够了。第二次你再提到专利,VC会怀疑你对专利过度依赖。第三次,VC就会把你当傻瓜了。没错,你应该去申请专利。但专利更多是用来让你爸妈高兴的。你多半不会有时间或有钱去告那些财大气粗的公司侵犯你的专利权。

    11、我们只要占有1%的市场就成功了。(这一条是额外的添头儿,因为我的笔记本还有电。)这是“我们的市场总额有500亿美元”的另一面。这个谎言有两个问题:第一,没有哪个VC会对只想占有1%市场份额的公司感兴趣。我们更愿意看到我们投资的公司面对司法部反垄断部门的狂轰滥炸。第二,占有1%的市场也没那么容易。创业者应该对建立一个成功公司的难度有一个现实和准确地判断。

    September 02

    《投名状》的故事原型

    西洋人从中世纪出现骑士阶层以来,一直有作雇佣军的传统,也就是谁出钱就给谁卖命,应该是现在流行的“咨询公司”或者“外包”的雏形。

    在冷兵器时代,中华帝国由于一直和游牧民族在搏杀中成长,(现在中国,很多年不打战,我军的战斗力是否还足够强?)兵不厌诈,战略和战术相比同时期西方的长矛盾牌方阵
    处于领先,所以西洋雇佣军一直在中国古代历史中甚少出现。直到近代晚清,才有一支西洋雇佣军承接了曾国藩的作战外包业务,那就是戈登的常胜军。

    戈登的部队由于使用火枪和火炮,相比太平军,有明显的武装优势。
    戈登被李鸿章任命围攻苏州,驻守苏州的太平军将领郜云官由于不是洪秀全的嫡系,久久没有晋升而对洪秀全心怀不满,与戈登进行了接触。戈登作为保证人,在苏州城外安排了郜云官与清军将领程学启的秘密谈判。谈判达成的条款是清军不杀降兵降将,并根据在投降中的表现可得到封赏。

    于是郜云官率众杀了忠于洪秀全的太平军苏州主帅谭绍光,带领全军投降清军。可是戈登万万没有想到,当李鸿章接见
    郜云官等时,降将的傲慢惹恼了他,翻脸之后,把两千五百多名太平军将士全部斩首示众。戈登感到万分惊骇,李大人根本不把他作为保证人的承诺放在眼里,雇佣军的荣誉遭到了侵犯,他抓起枪要找李鸿章拼命,并下令常胜军撤军。在有关人士调解下,李鸿章公开发表声明说背信弃义之事与戈登无关,并亲自哭祭郜云官,又是烧香又是叩头。悻悻然的戈登从城门上取下了一名起义军的首级并带回家中,与这个首级说话,乞求宽恕。

    攻破苏州后,清政府赏
    戈登一品顶戴和万两白银,遭到戈登拒绝。

    在电影《投名状》中,刘德华扮演角色的故事和戈登有点相似,大概其是从这里来的吧。



    August 13

    The Law of Leaky Abstractions

    The Law of Leaky Abstractions


    By Joel Spolsky
    Monday, November 11, 2002

    There's a key piece of magic in the engineering of the Internet which you rely on every single day. It happens in the TCP protocol, one of the fundamental building blocks of the Internet.

    TCP is a way to transmit data that is reliable. By this I mean: if you send a message over a network using TCP, it will arrive, and it won't be garbled or corrupted.

    We use TCP for many things like fetching web pages and sending email. The reliability of TCP is why every exciting email from embezzling East Africans arrives in letter-perfect condition. O joy.

    By comparison, there is another method of transmitting data called IP which is unreliable. Nobody promises that your data will arrive, and it might get messed up before it arrives. If you send a bunch of messages with IP, don't be surprised if only half of them arrive, and some of those are in a different order than the order in which they were sent, and some of them have been replaced by alternate messages, perhaps containing pictures of adorable baby orangutans, or more likely just a lot of unreadable garbage that looks like the subject line of Taiwanese spam.

    Here's the magic part: TCP is built on top of IP. In other words, TCP is obliged to somehow send data reliably using only an unreliable tool.

    To illustrate why this is magic, consider the following morally equivalent, though somewhat ludicrous, scenario from the real world.

    Imagine that we had a way of sending actors from Broadway to Hollywood that involved putting them in cars and driving them across the country. Some of these cars crashed, killing the poor actors. Sometimes the actors got drunk on the way and shaved their heads or got nasal tattoos, thus becoming too ugly to work in Hollywood, and frequently the actors arrived in a different order than they had set out, because they all took different routes. Now imagine a new service called Hollywood Express, which delivered actors to Hollywood, guaranteeing that they would (a) arrive (b) in order (c) in perfect condition. The magic part is that Hollywood Express doesn't have any method of delivering the actors, other than the unreliable method of putting them in cars and driving them across the country. Hollywood Express works by checking that each actor arrives in perfect condition, and, if he doesn't, calling up the home office and requesting that the actor's identical twin be sent instead. If the actors arrive in the wrong order Hollywood Express rearranges them. If a large UFO on its way to Area 51 crashes on the highway in Nevada, rendering it impassable, all the actors that went that way are rerouted via Arizona and Hollywood Express doesn't even tell the movie directors in California what happened. To them, it just looks like the actors are arriving a little bit more slowly than usual, and they never even hear about the UFO crash.

    That is, approximately, the magic of TCP. It is what computer scientists like to call an abstraction: a simplification of something much more complicated that is going on under the covers. As it turns out, a lot of computer programming consists of building abstractions. What is a string library? It's a way to pretend that computers can manipulate strings just as easily as they can manipulate numbers. What is a file system? It's a way to pretend that a hard drive isn't really a bunch of spinning magnetic platters that can store bits at certain locations, but rather a hierarchical system of folders-within-folders containing individual files that in turn consist of one or more strings of bytes.

    Back to TCP. Earlier for the sake of simplicity I told a little fib, and some of you have steam coming out of your ears by now because this fib is driving you crazy. I said that TCP guarantees that your message will arrive. It doesn't, actually. If your pet snake has chewed through the network cable leading to your computer, and no IP packets can get through, then TCP can't do anything about it and your message doesn't arrive. If you were curt with the system administrators in your company and they punished you by plugging you into an overloaded hub, only some of your IP packets will get through, and TCP will work, but everything will be really slow.

    This is what I call a leaky abstraction. TCP attempts to provide a complete abstraction of an underlying unreliable network, but sometimes, the network leaks through the abstraction and you feel the things that the abstraction can't quite protect you from. This is but one example of what I've dubbed the Law of Leaky Abstractions:

    All non-trivial abstractions, to some degree, are leaky.

    Abstractions fail. Sometimes a little, sometimes a lot. There's leakage. Things go wrong. It happens all over the place when you have abstractions. Here are some examples.

    • Something as simple as iterating over a large two-dimensional array can have radically different performance if you do it horizontally rather than vertically, depending on the "grain of the wood" -- one direction may result in vastly more page faults than the other direction, and page faults are slow. Even assembly programmers are supposed to be allowed to pretend that they have a big flat address space, but virtual memory means it's really just an abstraction, which leaks when there's a page fault and certain memory fetches take way more nanoseconds than other memory fetches.
    • The SQL language is meant to abstract away the procedural steps that are needed to query a database, instead allowing you to define merely what you want and let the database figure out the procedural steps to query it. But in some cases, certain SQL queries are thousands of times slower than other logically equivalent queries. A famous example of this is that some SQL servers are dramatically faster if you specify "where a=b and b=c and a=c" than if you only specify "where a=b and b=c" even though the result set is the same. You're not supposed to have to care about the procedure, only the specification. But sometimes the abstraction leaks and causes horrible performance and you have to break out the query plan analyzer and study what it did wrong, and figure out how to make your query run faster.
    • Even though network libraries like NFS and SMB let you treat files on remote machines "as if" they were local, sometimes the connection becomes very slow or goes down, and the file stops acting like it was local, and as a programmer you have to write code to deal with this. The abstraction of "remote file is the same as local file" leaks. Here's a concrete example for Unix sysadmins. If you put users' home directories on NFS-mounted drives (one abstraction), and your users create .forward files to forward all their email somewhere else (another abstraction), and the NFS server goes down while new email is arriving, the messages will not be forwarded because the .forward file will not be found. The leak in the abstraction actually caused a few messages to be dropped on the floor.
    • C++ string classes are supposed to let you pretend that strings are first-class data. They try to abstract away the fact that strings are hard and let you act as if they were as easy as integers. Almost all C++ string classes overload the + operator so you can write s + "bar" to concatenate. But you know what? No matter how hard they try, there is no C++ string class on Earth that will let you type "foo" + "bar", because string literals in C++ are always char*'s, never strings. The abstraction has sprung a leak that the language doesn't let you plug. (Amusingly, the history of the evolution of C++ over time can be described as a history of trying to plug the leaks in the string abstraction. Why they couldn't just add a native string class to the language itself eludes me at the moment.)
    • And you can't drive as fast when it's raining, even though your car has windshield wipers and headlights and a roof and a heater, all of which protect you from caring about the fact that it's raining (they abstract away the weather), but lo, you have to worry about hydroplaning (or aquaplaning in England) and sometimes the rain is so strong you can't see very far ahead so you go slower in the rain, because the weather can never be completely abstracted away, because of the law of leaky abstractions.

    One reason the law of leaky abstractions is problematic is that it means that abstractions do not really simplify our lives as much as they were meant to. When I'm training someone to be a C++ programmer, it would be nice if I never had to teach them about char*'s and pointer arithmetic. It would be nice if I could go straight to STL strings. But one day they'll write the code "foo" + "bar", and truly bizarre things will happen, and then I'll have to stop and teach them all about char*'s anyway. Or one day they'll be trying to call a Windows API function that is documented as having an OUT LPTSTR argument and they won't be able to understand how to call it until they learn about char*'s, and pointers, and Unicode, and wchar_t's, and the TCHAR header files, and all that stuff that leaks up.

    In teaching someone about COM programming, it would be nice if I could just teach them how to use the Visual Studio wizards and all the code generation features, but if anything goes wrong, they will not have the vaguest idea what happened or how to debug it and recover from it. I'm going to have to teach them all about IUnknown and CLSIDs and ProgIDS and ... oh, the humanity!

    In teaching someone about ASP.NET programming, it would be nice if I could just teach them that they can double-click on things and then write code that runs on the server when the user clicks on those things. Indeed ASP.NET abstracts away the difference between writing the HTML code to handle clicking on a hyperlink (<a>) and the code to handle clicking on a button. Problem: the ASP.NET designers needed to hide the fact that in HTML, there's no way to submit a form from a hyperlink. They do this by generating a few lines of JavaScript and attaching an onclick handler to the hyperlink. The abstraction leaks, though. If the end-user has JavaScript disabled, the ASP.NET application doesn't work correctly, and if the programmer doesn't understand what ASP.NET was abstracting away, they simply won't have any clue what is wrong.

    The law of leaky abstractions means that whenever somebody comes up with a wizzy new code-generation tool that is supposed to make us all ever-so-efficient, you hear a lot of people saying "learn how to do it manually first, then use the wizzy tool to save time." Code generation tools which pretend to abstract out something, like all abstractions, leak, and the only way to deal with the leaks competently is to learn about how the abstractions work and what they are abstracting. So the abstractions save us time working, but they don't save us time learning.

    And all this means that paradoxically, even as we have higher and higher level programming tools with better and better abstractions, becoming a proficient programmer is getting harder and harder.

    During my first Microsoft internship, I wrote string libraries to run on the Macintosh. A typical assignment: write a version of strcat that returns a pointer to the end of the new string. A few lines of C code. Everything I did was right from K&R -- one thin book about the C programming language.

    Today, to work on CityDesk, I need to know Visual Basic, COM, ATL, C++, InnoSetup, Internet Explorer internals, regular expressions, DOM, HTML, CSS, and XML. All high level tools compared to the old K&R stuff, but I still have to know the K&R stuff or I'm toast.

    Ten years ago, we might have imagined that new programming paradigms would have made programming easier by now. Indeed, the abstractions we've created over the years do allow us to deal with new orders of complexity in software development that we didn't have to deal with ten or fifteen years ago, like GUI programming and network programming. And while these great tools, like modern OO forms-based languages, let us get a lot of work done incredibly quickly, suddenly one day we need to figure out a problem where the abstraction leaked, and it takes 2 weeks. And when you need to hire a programmer to do mostly VB programming, it's not good enough to hire a VB programmer, because they will get completely stuck in tar every time the VB abstraction leaks.

    The Law of Leaky Abstractions is dragging us down.

    June 23

    Java 集群技术

    构造Cluster是高级系统架构师们对大型系统喜欢给出的解决方案。目的就是以负载均衡(Load  Balance)与故障恢复(Failover)  实现可扩展性(Scalability)和高可用性(High  Availability)。负载均衡模式包括依次轮转,随机选择和按照权重选择,也有按照服务器负载进行动态分配的模式。故障恢复的核心是系统自动检查服务器有效性,在检测到有服务器时发生故障时,由正常的服务器接管业务,更进一步的处理的则包括发现新加入的,已恢复的服务器,重新投入运行的逻辑。

    Java  Enterprise Edition里的Cluster已经发展多年,有多家软件开发商对Web,EJB,JMS,WebService等进行了集群实现。 Java EE实现的集群与较早期的构造在操作系统级别的集群,比如OpenVMS不同;也与一些较多地依赖硬件设备和相关驱动程序的集群,比如HP ServiceGuard不同,更多地是在应用层面来完成的;而数据库集群,比如Oracle的RAC则主要提供数据库的故障恢复能力。
     
    一、Web应用集群
    对于Web应用,如果是单纯的负载均衡,使用一些四层交换机设备就可以把相同的用户定位到同一台服务器,如果服务器故障,就要把该用户转移到新的服务器上。但是,通常Web应用会会记录与特定用户的会话信息session,新服务器要具有用户之前的session信息,所以Web应用集群通常都另外实现Session Replication。简单的划分有全冗余备份,两两互备,中央备份服务器三种模式。
    1.全冗余备份
    Tomcat实现了这种最简单的做法。Sun实现的复制内存数据库法HADB也属于这种范畴。
    2.两两互备
    Weblogic、Jboss和WebSphere 的做法:A做B数据的复制,B做C数据的复制,C做A数据的复制,如果A故障,就会由C接替A的工作。这种做法的弊端是:
         a.要控制故障接管时备份服务器的选择,负载均衡器的复杂度高。
         b.如果A故障,C就要瞬时承载A、C的操作,针对这点,Weblogic的做法是针对每个session而不是每个Server选择备份服务器
         c.相对没有集群的方案,需要花额外的时间和内存。

    3.  中央备份服务器
    N+1模式,一个中央服务器存放所有的Session,如果一台服务器死了,接管的服务器就从中央服务器恢复相关数据。可以用数据库(很多应用服务器都支持的最简单,但最慢的模式),也可以采用内存。这种方式好处是集群服务器上不需要冗余内存,可以故障恢复到任意服务器,集群服务器全死了中央服务器都不死。坏处就是如果中央服务器死了或者如果中央服务器的内存不够了,那么就全完了。另外,从中央服务器恢复相关数据的时间可能比较长。

    使用内存备份session时,Tomcat/JBoss使用的JavaGroups  是一个很好的工具,它的“Group  membership  protocols”  和 “message  multicast”特性都非常有用。另外,无论使用内存还是数据库,都需要串行化Java对象,性能损耗厉害,所以JRun  就采用了Jini架构,而Tangosol  Coherenc,Terracotta这些Data  Grid方案都提出了自己的session备份做法,性能比传统方案快不少。  
     
    值得注意的是:没有http  session可以使效率提高很多,而有了的话,并不能避免所有错误。故障恢复只能在两次调用间产生作用,在调用时产生的错误是无法恢复的,除非这是个不更改后台数据的操作,即无论如何重复操作结果都是一样的。

    二、EJB集群
    EJB集群是一种面向对象的集群技术,通过从stub调用实际EJB对象,有三种方法实现负载均衡和故障恢复:
    1. Smart  Stub:在stub内维护有效列表,实现负载均衡逻辑,进行实效检测,BEA  Weblogic  and  JBoss  采用。  
    2. IIOP  Runtime  Library,Sun的JES  算法:把算法从客户端的stub移到客户端的IIOP
    3. Interceptor  Proxy,IBM做法:把算法移到了服务端,Location  Service  Daemon  (LSD)。  
    在JNDI查找,EJBHome  Stub查找生成EJB实例,调用EJB方法三种时候都可以实现负载均衡,对statefull,stateless,entity  bean,又有不同的做法。

    三、JMS集群
    JMS集群是另外一种模式的集群,可以有多个broker组成集群,activeMQ还支持多个消费者组成集群,但每个消费者负责同一类的任务,基于消息机制来完成任务的分配和故障恢复。这种模式与传统集群更加接近,主要差异在于通信的实现方式。
     
     
    June 15

    北电沉浮录 (ZT)

    你可能没有听说过“北电网络”,但是它的产品却深刻的影响了当今社会的每一个人。

    你拨打的每一个电话,都有可能通过北电的交换机进行处理;

    你上网冲浪所传输的文件,都有可能通过北电的光纤传输到世界各地;

    如今,北电的解决方案正服务着全球数以亿计的人,但是却很少生产直接面对终端客户的产品。当企业期望通过技术来提高他们的经营效率时,他们信赖并选择北电网络的融合解决方案,因为它在语音、数据、视频和应用方面拥有一系列领先的产品组合。

    这是一家有着110年历史的百年老店,经历过两次世界大战,大萧条和无数次经济衰退而顽强生存下来科技公司。在长期坎坷的发展过程中,北电多次重组以应对各种风浪和考验。20世纪90年代的互联网泡沫将公司推向了顶峰,而随着泡沫的破裂也被摔向了谷底。北电现在正面对其最困难的时期,让我们来了解一下这个来自加拿大的通讯业巨擎。

    发展史

    1874 年,亚历山大·格雷厄姆·贝尔在加拿大安大略省布兰特福德发明了电话,该地距离现在的北电网络全球总部仅103公里。美国国家贝尔电话公司和加拿大贝尔电话公司同时获得了电话的专利权。按照当时的法律,如果加拿大不在本国生产电话,将失去加拿大的专利权,因此加拿大贝尔电话公司在蒙特利尔设立了自己的机械生产部门以生产电话装置,机械部门成立时只有2名员工。

    1886年机械部门生产了该部门的第一部电话交换台--50线标准磁石式交换机。

    1895年,北方电子制造公司(Northern Electric andManufacturing)在机械部门的基础上正式成立,这也是现在北电网络的前身。

    1914 年一战爆发,北方电子制造了便携式交换台,该设备为单线电报交换机,可在战场上使用,它是最早专为第一次世界大战设计的军用产品之一。战争结束时,北方电子已经在加拿大各主要城市设立了23个销售处,当时的北方电子广泛经营着如电热壶、烤箱、打火机、电炉和洗衣机等电器。北方电子日益壮大,先后生产出加拿大的第一个真空管,第一个有声电影系统以及各种无线发射机和广播设备。

    然而好景不长,1929年的经济大萧条沉重打击了加拿大的经济。随着商业萧条和工作机会的减少,人们对电话的需求也随之萎缩。公司被迫裁员66%以减低成本。

    转机出现在1932年,投入运行的泛加拿大长途电话系统采用了北方电子生产的大型自动交换机,该设备安装在多伦多、蒙特利尔、魁北克市、汉密尔顿和温索尔的商业区。随后北方电子进入另一轮增长黄金时期,其产品线也日益丰富,除了电话设备外,还提供诸如通用航空收发信机,有声电影(Movietone)设备、警察和公共广播系统、火警系统、电子医疗产品、收音机和无线电发射机等。

    1939 年,加拿大正式宣布加入第二次世界大战,北方电子将工厂全面转向为军工服务,制造海上和空中无线电、坦克无线电、防空炮台引信。北方电子为坦克和其它军用车辆提供的无线电设备成为加拿大、英国和俄罗斯的标准。公司协调设计和生产了大约30,000辆坦克上用的装置。二战期间,加拿大政府冻结了包括电话在内非军用产品的订单,不过却订购了价值400万的军需品,是北方电子1939年销售额的2.5倍。北方电子的员工在战争期间也从5000名增加到8000 名,他们夜以继日地工作,以满足战时的需求,例如用于加拿大微波中继长途电话和电视系统的雷达。北方电子同时还向加拿大皇家海军驱逐舰提供电子设备以及 19,000个雷达磁电管。

    二战后,随着经济的恢复,公众对于电话的需求开始复苏,北方电子一跃成为主要的电话供应商。公司在安大略和魁北克省修建了三个新的工厂以满足庞大的需求。

    1969年,北方电子与贝尔的工程师密切合作,致力于研究将模拟话音信号转换成计算机代码的数字交换的方式以改善交换性能。

    同年北方电子推出SP-1交换系统,这份价值高达6000万美元的带有***性质的投资获得了巨大成功。这种小型交换机被证明非常适合于农村自营公司,并推动北方电子进入美国市场。对SP-1的开发丰富了北方电子在软件设计以及高级微电路和交换技术领域的专业知识。

    1975年,北方电子推出了第一种商用数字交换系统--SL-1,大大超过了当时的竞争水平,比其他10个竞争对手领先了数年。

    1976年,北方电子将公司更名为北方电讯(NorthernTelecom).

    1979年,北方电讯推出全功能本地/长途数字交换机DMS-100,该产品最多可支持100,000条线路。该旗舰产品的巨大成功使北方电讯闻名全球.至20世纪80年代初期,北方电讯是全球唯一一家可提供全套数字交换和传输设备的公司。

    1987年的一个晚上,日本发生地震,震中在Shonan。Shonan交换局所有其他交换机都是机械的纵横制交换系统,在地震期间无一例外地出现部件脱落现象,而DMS-10运行正常,没有出现任何问题。

    1995年,北方电讯喜迎100年华诞,更名为北电(Nortel),反映了其从电话制造公司到各种多业务网络设计、构建及集成公司的演进。

    1995 年,罗世杰开始带领北电进入新世纪。在1969年就已加入北电做设计工程师的罗世杰,一路加官进爵,从研发中心总裁、无线系统部总裁及北电北美总裁直至北方电讯CEO。他上台时对新闻界说了一句非常经典的话:“很多人喜欢防御,而我却喜欢进攻。"在今后的几年中,罗世杰对公司进行前所未有的改造和一系列大手笔的并购:

    收购了全球IP联网领域的业界领导者贝网络公司(Baynetworks)。贝网络提供全面的企业及运营商产品系列,为北电网络及时补充了数千名经验丰富的 IP专业人员。这次收购对公司产生了深远意义,北电也因此在其名称后添加了"网络"两个字,更名为北电网络(NortelNetworks)

    收购了位于安大略的Cambrian系统有限公司(Cambrian SystemsCorporation),获得了其领先的光技术,使北电网络能够加快城域网与因特网骨干网络间的数据传输。

    收购了生产超长途光网络系统的私有企业QteraCorporation,补充了全面的OPTera光网络产品家族。

    收购了位于伦敦的X-CEL 通信公司(X-CELCommunications),该公司是运营商级服务和网络管理解决方案领域著名的私有供应商。X-CEL产品被集成到北电网络综合网络管理产品系列中,使服务供应商能够管理网络资源及服务等级协议。

    收购了PeriphonicsCorporation,该公司是为客户呼叫中心提供计算机电话集成及增强型网络服务的全球领导者。

    收购了Shasta网络公司(Shasta Networks,Inc.),这是一家位于加州的公司,已经在为公共IP数据网络提供增值业务方面开发了全新的网关和系统。Shasta解决方案为北电网络高速接入解决方案添加了业务的智能性。

    一系列的并购重组最终令北电网络从一家立足于加拿大的企业成长为一家国际化的巨头企业,然而也其衰败留下了极大的隐患。


    北电神话


    北电网络在电信设备的众多领域都开发出非常成功的产品,然而其史上最辉煌的产品还得算是10GSDH了。

    这是一个神奇的故事。

    1969年就已加入北电做设计工程师的罗世杰,从1995年开始领导北电网络并创造北电网络的“神话”.

    人们曾经一度以为2.5G是光纤传输的极限,但罗世杰带领北电网络制造出了10G的产品,领先了别人两年。

    当北电网络带着当时速度最快的光纤网络出现在人们面前时,它最大的竞争对手——朗讯科技公司的高官们只是耸耸肩,全不以为然。他们认为,当时比北电10GSDH速度慢的网络都还没有发挥出足够的潜力,10GSDH是不会被市场接受的。

    正是抓住了Lucent的这个失误,北电大力向市场推出10G的SDH。北电网络后来在所谓的OC192系统中(该系统支持每秒10G比特的传输速率)占有垄断性的90%的市场份额,使10G的市场大战以北电的绝对胜利而结束。可怜当时的朗讯还再卖2.5G,10G的SDH并没商用,这也堪称Lucent商业史上最惨重的失误之一。

    朗讯中国公司的一位前部门总监说,后来朗讯总结自己时,也认为朗讯落后于罗世杰的意识,因而在这个领域落败于北电网络。同时也造就了Nortel神话,也是Nortel历史上最灿烂的时光,一举取代Lucent成为世界上最大的通讯制造商。

    罗世杰因此声名大震,他创造的光纤革命与思科的“路由器革命”、爱立信的“手机革命”齐名。北电网络的股票也一路高歌猛进。2000年,北电的收入达到303亿美元,那时的北电控制了全球光纤设备市场的43%,几乎是市场份额仅为15%的第二名朗讯的3倍。

    北电网络的股票价格最高达120多美元,市值最高点达到惊人的2670亿美元!北电曾占据多伦多交易所三分之一的市值。我们可以比较同一时期其他高科技公司的市值:Intel市值2777亿美元,Cisco3573亿美元);雅虎1000亿;AOL市值1822亿美元,IBM市值1958亿美元。

    在接下来的几年(财务丑闻被揭露之前),北电网络业绩依然骄人:

    Dell'OroGroup的研究发现,2003年北电网络在程控用户交换机系统、集团电话系统和IP语音方面,其综合发货量位居全球第一。

    在支持用户桌面的分组话音许可证方面,北电网络的IP分组话音端口发货量也名列榜首,拥有22%的市场份额。

    Dell'OroGroup在2003年第四季度综述中表示:“2003年第四季度,北电网络的IP分组话音端口发货量比2003年第三季度增长了36%,达到41.8万......"。

    InsightResearch 也将北电网络评为2003年IP分组话音端口销售领域的全球领导者,市场份额达到25%。此外,InfoTech发现,2003年第四季度北电网络(程控用户交换机系统,集团电话系统和IP语音)的总线数全球发货量第一。在支持语音的局域网、IP和融合线路领域,北电网络的综合发货量也是名列榜首。

    InsightResearch 的TomWanda表示:“北电网络通过实力证明了自己是融合领域的领导者,展示了其帮助客户将网络架构演进到融合网络的能力。2003年,北电网络不仅在IP分组话音端口销量上位居榜首,其IP扩展产品在全球的销售业绩也相当出色,在北美市场之外的销量占到公司总销售额的49%。仅这一事实就表明了北电网络在全球通信市场上拓展业务的能力。”

    In-Stat/MDR在2003年12月发布的报告中着重强调了北电网络在网络融合应用方面的领导地位。报告的各类分析数据均表明,北电网络在全球交互话音服务器(IVR)市场上的份额名列第一。

    2003 年北电网络也展示了其在数据交换市场的领导地位。根据Dell'Oro2003年第四季度的市场份额报告显示,在4-7层服务器负载均衡(SLB)交换机的固定组件领域,北电网络的Alteon*交换机名列第一;2003年第四季度和2003年全年,在4-7层服务器负载均衡(SLB)千兆位以太网组件方面,北电网络的Alteon交换机同样位居榜首。此外,Infonetics近期报告显示,2003年第四季度和2003年全年,在全球专用的加密套接字协议层(SLL)设备方面,北电网络的市场份额也是全球第一。北电网络已经连续三年获此殊荣。

    在欧洲,北电网络WCDMA设备已经占据了 17%~20%的市场份额;在北美,通过与AT&T等电信运营商的合作,北电网络已经超越爱立信、诺基亚等竞争对手,占据了WCDMA设备市场 60%的份额。对一向重视设备平滑升级的电信设备市场而言,北电网络取得的这些业绩十分不易。

    在NGN(下一代网络)领域,北电网络也是当之无愧的领导者,当年全美最大电信运营商Verizon和北电网络签下10亿美元大单,合同宣布一周后,北电网络股票上涨100%。



    互联网泡沫之殇



    预言家们不会放过2000年这个特殊的年份,各种"千年浩劫","大劫难"的预测此起彼伏.然而却没有人能够预测到另外一场"灾难",那就是互联网泡沫的"大爆炸".

    互联网热潮在20世纪末席卷全球,风险投资家成了人们竞相追逐的对象。因为在光通讯方面拥有的绝对优势,互联网建设狂潮使得很多公司纷纷到北电下订单。2000年,其网络设备销售额由90年代中期的100亿美元增加了2倍,达到了300亿美元。

    当时,北电在全球4个工厂开足马力,全力生产。巨额的利润让北电拥有了雄厚的财力,并四处展开收购。"光通信狂人"罗世杰誓言将北电打造成一个网络革命的中心,大力发展无线互联网、智能网和IP电话解决方案.

    北电网络的雇员也因此获得了令北美所有公司雇员都眼红的丰厚收入。当时,在北电等大公司员工强大购买力的刺激下,渥太华的房价也顺势火爆。买房的人要半夜排队拿号,有了号才有资格选一处地皮。此情此景,和07年中国的房市些许相似。

    泡沫在2000年4月达到高潮。就在这时,互联网泡沫来袭:NASDAQ股市巨幅下跌,并且在两周内形成“崩盘”的局面。

    数万家雄心勃勃的互联网公司一夜之间就倒闭了,他们在北电订购的产品就这样堆积在了仓库里;顶住了冲击的企业宁肯支付违约金也不愿提货,这导致了总价值超过40亿美元的产品积压。而这些光纤骨干网,北电自己10年都用不完。

    这场互联网灾难对北电造成了极大的损失。这也成就了历史上因为投机而形成的最大过剩之一。

    泡沫破裂还造成全球经济下滑,电信投资几近停滞。电信运营商不再像以前那样一掷千金,这对各大电信设备商而言都是一段艰难的日子。

    但北电网络一味竭力追求其野心勃勃的盈利目标,盲目的扩大产能,导致其境况比电信寒冬中的其他设备商更是雪上加霜。

    北电网络这颗加拿大商界的明珠,与思科系统和朗讯科技一起有过高速成长的经历,但是新千年的互联网泡沫成了北电的滑铁卢。


    走下神坛



    经历互联网泡沫破裂的洗礼, 北电和其他高科技公司一样,从高度繁荣直接掉入亏损的深渊.北电网络这个曾经豪情万丈的电信业“老大”一落千丈。

    北电股价开始直线下跌,从最高达120美元,下跌至10余美元附近徘徊,市值已由最高点2670亿美元猛跌到100多亿美元。不仅市值跌得没谱,而且北电在2001年第二季度竟然亏损192亿美元。这是加拿大公司季度亏损的历史最高记录,也足以登上世界前列。

    正所谓成也萧何,败也萧何。北电因光网络而闻名全球,也因光网络而衰败。

    包括北电在内的所有的电信设备制造商开足马力,拼命生产以满足看似供不应求的市场。再好的产品,也得有市场需求,也会有饱和的时候——“罗世杰在进攻的时候没有想到过后退,北电网络也没有给自己留下后路。”

    在产品严重积压、公司市值大跌的情况下,罗世杰四面楚歌。在2001年5月时,他的得力干将,最有希望接自己的首席市场及战略官AnilKhatod被董事会给“礼送出门”。不久括首席运营官克拉伦斯·钱德兰也被赶下台。罗世杰下台也大局已定,只等找到了继任人。

    2001年10月初,北电网络的高层来了一场大地震。该公司宣称,从2001年11月1日起,北电网络首席执行官罗世杰将下台,由原首席财务官邓富康(Frank A.Dunn)接任。

    这代表着带领北电豪赌10G,并获得巨大成功的罗世杰从此退出舞台。罗世杰带着遗憾转任副董事长。

    北电网络的问题在于为了取得高速发展和技术突破,不断地并购企业,而且当时很多企业是出于泡沫膨胀期,这些为其日后的窘境埋下了祸根。

    例如北电以78亿美元收购AlteonWebsystem这样一个互联网数据公司,成为加拿大历史上第二大收购事件。

    但那些在网络泡沫中身价极高的公司如今已是一文不值。数百亿美元就这么直接打水漂。

    北电可能自己也意识到了这一点。在罗世杰宣称退休之际,北电就宣称罗的继任者不应该是像罗世杰那样的技术专家,而应该是管理高手。

    邓富康的当时主要任务是包括降低公司运营成本以及精简企业结构,而不再是发展光纤新技术。罗世杰的“进攻、进攻、再进攻”战略将偃旗息鼓。

    与此同时,为了节省开支,北电开始了商业史上最大规模的裁员行动之一。公司员工总数已由颠峰时期的9万余人,减至现在的3万多人,足足裁掉6万人。直至2008年,北电网络的裁员行动仍在进行之中。

    北电是加拿大华人的第一大雇主。一位曾在北电任职华人描述了他在加拿大总部的亲身经历:

    “10月1日之前,我亲眼目睹了自己楼上的400余人一下子几乎全被遣散。他们的项目被撤销,连负责人也未能幸免。当天晚上回到家里跟妻子谈起这事时我还心有余悸。没料到10月初就轮到自己。”

    “已有3万人在10月1日之前走人,之后,可能还有1.5万人将是同样的命运。"

    “北电最早遭解雇的人,大多又找到了一份工作。可是,包括JDS等通讯公司也开始竞相裁员。一而再、再而三被裁下来的失业大军,再找工作决非易事。”

    在他的记忆中,一年前的“北电”是何等的风光。所有雇员有着丰厚的薪水,完善的保障。但是,一年后,网上到处都打出广告,上面写着:“layoffhouse for sail”(因遭解雇而卖房)。

    “你不在其中,你可能感受不到这种大喜大悲的滋味."

    后来,在AT&T、朗讯先后呆了10年的一位朗讯中国公司前部门总监说:“与朗讯一样,北电网络是一个电信泡沫制造出来的神话。二者作为最主要的两大竞争对手,都犯了同样的错误,只不过朗讯暴露早,北电作为更大的公司问题更大而已。朗讯曾经痛心疾首,认为败在北电的主要方面是光通讯,北电引以为豪的也正是光通讯领域,然而,现在看来,北电在光通讯方面的成就也仅是‘神话’而已。”


    财务丑闻的全面暴露



    北电中国的CEO毛渝南曾说过一句话:“当寒冬仍在时,企业做的所有调整和准备应是:当春天来时还能有自己的舞台。”

    但是当他们历经坎坷已听得见春天的脚步,已看得见属于自己的舞台时,却又陷入了震惊全球的财务造假丑闻。

    丑闻发生后,北电网络被推向了舆论的风尖浪口,更面临史无前例的生存危机,而这种危机并非来自业务上失误。

    令人惋惜的是,北电网络今日的困境并非不可避免,因此较之朗讯科技的“无奈”,北电网络似乎更难得到投资者的原谅。


    让我们来仔细回顾一下这段丑闻的始末:

    自2000年互联网泡沫破裂以来,北电开始持续性的巨额亏损和大幅裁员;累计亏损超过300亿美元;

    接替罗世杰的首席执行官邓富康对董事会许诺,公司将在2002年结束亏损状态;

    但到了2003年初,北电仍未能接近扭亏为盈这一目标;


    随着电信和IT行业气候转暖,人们对北电网络重新看好,华尔街的分析家也开始向它抛来橄榄枝——经历了几年的低沉和磨难之后,它似乎终于重新走上正轨了。

    2004年1月,北电网络的高层告诉董事会称,公司还将在2004年第一季度亏损1.12亿美元。

    此后情况突然得到了改善。知情人士透露,在2月中旬,北电网络自己定义的预期季度亏损额下降到了3200万美元。一个星期后,预期亏损额被进一步修正为2000万美元。

    到了3月30日该季度结束时,北电网络宣称已经实现盈利4000万美元,这是该公司4年以来第一次实现季度盈利。

    根据北电的一项奖金分配计划,几乎所有的员工都获得了现金奖励。在随后两个连续盈利的季度里,该公司的高级管理人员获得金额高达数百万美元的奖金。

    由于北电的业绩大大超过市场预期,股价因此一路飙升至7.85美元,增幅达20%,比去年同期上涨了58%,并从加拿大皇家银行手中重新夺回加拿大最大上市公司的桂冠。

    紧接着公布的未经审计的2003年报更加令投资者振奋:全年总收入为98.1亿美元,净收益为7.32亿美元,而2002年净损失32.7亿美元。种种正面消息令投资人争先恐后地将持有的北电股票放到退休账户中,北电网络的股票再次成为抢手货。

    这里让我们先来拜读一段北电网络自我宣传的市场诚信法则:
    “我们展开公平激烈的市场竞争。
    我们以诚信为本,遵守所有现行法律。
    我们致力于赶超现有价值。
    我们以尊重他人人格的态度善待他人。
    我们保持言行一致的作风。
    我们力求有益于个人、组织及整个社会”。

    与北电上述法则完全相反的是:那些未经审计的利润后来被发现完全是伪造的!

    北电网络的董事会已经认定该公司高层采取了非法的会计方法来让公司看上去盈利,但事实是该公司并未盈利。

    丑闻暴露后不久,即2004年4月28日,北电网络董事会突然宣布解雇CEO邓富康(FrankDunn)和另外两名高级管理人员——财务总监和总审计官.董事会在前一晚还就有关新闻稿的措辞问题一直讨论到晚上10点,但没有对该会计操纵问题提供详细的解释。

      据有关方面消息,北电网络三名高管被解雇的主要原因是:“北电网络内部审计人员进行例行审计时发现了多达90亿美元的负债未能正确‘显现’并及时公布,随后发现北电网络从2000年以来的年报存在诸多不实之处,而北电网络高层对此未能进行合理解释。财务丑闻导致美国和加拿大证监部门突击审计北电的财务报表。一时间,北电网络名誉扫地。

    由于北电网络向来是美国和加拿大股票交易市场的大户,它的崩溃导致多伦多证券交易所价格指数迎来自“9·11”以来下跌幅度最大的一天:

    在北电宣布解雇CEO与CFO消息的当天,其股价下跌了20%以上:在多伦多股市每股下跌2.18~5.4加元,在纽约的股价每股下跌1.59~4.05美元。如此重挫甚至引起了滚雪球效应,北电股价的暴跌,连累了无辜的加元:就在这一天,加元应声叫跌,损失1.3亿美分,收盘1加元兑72.75美分。

    随即,标准普尔将北电网路的评级列入“垃圾股”。受此消息拖累,美国股市主要股指全线下跌。充斥在世界各个角落的科技股投资者们,一片惊慌。道琼斯指数收盘跌135.56点,跌幅1.29%,是04年来的最低点。纳斯达克指数跌42.99点,跌幅2.12%,也已跌至04年初的最低点。标准普尔500指数跌 15.70点,跌幅1.38%,较年初仅高10点左右。

    事实上,这已经不是该公司首次出现财务方面的问题,自03下半年开始,美国和加拿大的证券监管部门就一直在对北电网络2000年到2003年上半年的财务报告进行调查。

    有业内人士认为,北电网络的财务问题可能要追溯到上个世纪90年代互联网泡沫时期。2002年2月,北电网络时任首席财务官亨格尔就因财务核算问题而辞职; 03年10月,由于涉嫌账务造假,北电网络被迫重新发布财务报表,自此开始,公司审计委员会着手进行内部查证;此后,该委员曾公开承认,北电网络先前所发布未经审计的截至2003年12月31日会计年度的业绩,以及2003年的某些季报需要修正,公司还将重新公布更早的一个或几个时期的财务报表。

    北电网络在开除3名高官的同时宣布任命2002年加盟北电网络的威廉·欧文斯为公司新首席执行官。欧文斯当天表示,北电网络目前拥有充足的资金,主营业务增长势头也很强劲,公司仍然很强大。

    但他的话多少有些避重就轻,尽管根据对北电网络进行的初步审计,它以前公布的2003年利润额至少虚报了一倍,去年的盈利可能因此锐减50%,但目前北电网络的危机显然来自业务以外,他的挑战是如何带领北电网络顺利渡过此次财务风波。

    也许更令他头疼的是,目前北电网络还有38亿美元的债务,其中18亿美元为长期债务。此外,如果北电网络真的没能按时提交财报,该公司还将面临在纳斯达克股市被摘牌的危险。通俗地说,是威廉·欧文斯该如何使北电网络避免被“登门讨债”。

    “我们将会尽一切努力,将公司的业务恢复到以前的模样。”事件发生后,北电网络发言人这样表示。其中国公司一直保持沉默,公司内部人士也只是在非正常场合表示该事件对中国公司影响不大。尽管从乐观的角度看,这次事件也许不会影响其在中国的业务,但北电网络的业绩审核是全球性的,中国业务因此也应包含其中。

    2006年12月27日,北电网络公司和股东达成的24.5亿美元和解协议获得了两名美国法官的批准,这项和解的达成成为美国证券欺诈集体诉讼历史上最大的和解案之一。

    根据和解协议,北电网络将向股东赔偿5.75亿美元现金,并发行约相当于其现有流通股14.5%的股票,按照北电目前股价来估价,这些股票价值16.4亿美元。和解协议还将包括北电网络从其起诉前高管们的案件中所获赔偿金额的一半。

    北电网络在同意这份和解协议时对自己的不法行为仍然含糊其词。公司发言人杰伊巴塔(JayBarta)说:“我们很高兴看到该案的这个最新进展,希望能早日将它抛诸脑后。”

    这项和解是美国证券欺诈集体诉讼历史上最大的和解案之一,涉资规模仅次于安然(Enron)和世通(WorldCom)两家公司同一性质的诉讼和解。


    2007年,美国证监会也因财务欺诈问题,对北电网络处以1亿美元的罚款。此举令北电更是屋漏偏逢连夜雨。


    如果没有这桩财务丑闻的话,北电完全可以凭借近年来可圈可点的业绩,摆脱前几年全球电信行业的不景。

    北电手中当时还有3G这张牌,凭借3G很有希望会把公司的业务做大。身为3G三大标准技术之一的WCDMA,是目前3G标准中应用最广的。北电当时在此领域也拥有强大的实力。

    在欧洲,北电的WCDMA设备已经拿到了17~20%的市场份额。继与沃达丰在西班牙、意大利的WCDMA领域合作之后,2003年,沃达丰又选中北电网络作为在英国的第二家WCDMA设备提供商;去年法国Orange公司进行的第二轮WCDMA选标时,北电将它的死对头、第一轮中标的爱立信挤下台去,成为 Orange的三大WCDMA设备供应商之一。

    在北美,通过与AT&&T等电信运营商的合作,北电甩开了爱立信、诺基亚等竞争对手,占据了WCDMA设备市场60%的份额。而在亚洲,北电网络正与和记黄埔“热恋”中,和黄以色列公司已100%采用了北电的WCDMA设备。

    但眼下北电的前途未卜,人们有理由重新审视一个惯于在财务上做手脚的公司是否还值得继续合作。由此导致的信任危机,令北电所占份额迅速下降,在全球的业务从此一蹶不振。

    强者的倒下多少会令人惋惜,但是北电网络的倒下很大原因是咎由自取。





    漫漫复苏路





    经过泡沫破裂和财务丑闻的双重打击,北电网络元气大伤,业绩大不如前。为了节省成本,北电想尽了一切办法,甚至不惜出售房地产。2006年底,北电还有110万平方英尺的房地产,到2007年就有50万平方英尺被卖掉。另外,研发支出将从占总收入的17%降至15%左右。

    同时还对原管理团队作了调整和变动,并在2005年重金聘请摩托罗拉原总裁兼首席运营官MikeZafirovski 出任公司CEO。MikeZ是马其顿裔美国人,曾在通用公司工作25年,在摩托罗拉也有多年经验。

    他着手对北电进行了一系列的转型策略,做大的举动应是放弃3G,押宝4G。他认为,“WiMax成本低,效率高,非常适合视频应用的发展,所以从帮助运营商盈利的角度来讲,市场会加速4G技术的发展。”因此,北电作价3.2亿美元将其UMTS业务卖给了阿尔卡特,从此基本退出3G领域。

    去年,在美国政府的强力推动下,WiMAX顺利挤进3G标准。这似乎印证了MikeZ卓越的眼光。

    但是WiMAX前途依然迷茫,从市场表现上看,全球移动通信产业对于后3G几乎“一边倒”的支持LTE,即长期演进。这对于CDMA和WiMAX阵营来说,是一个非常糟糕的消息。包括中国移动,沃达丰,Verizon在内的各大运营商相继宣布选择LTE之后,LTE在后续演进中的竞争优势大为凸显:

    一方面,LTE得到了来自全球拥有最多移动运营商的GSM阵营的大力支持。2007年11月,GSM协会通过投票表决,支持LTE作为继HSPA之后的移动宽带演进路线,同时宣布全球有超过700家GSM移动运营商会首选这一标准。此举表明,全球的GSM运营商在支持LTE方面结成了统一战线。而当拥有最多运营商的GSM阵营选择了LTE之后,其前景毫无疑问是一片光明。


    另一方面,作为“领头羊”,Sprint Nextel50亿美元发展WiMAX的壮举曾经令WiMAX阵营无比振奋。然而,作为对WiMAX“孤注一掷”的代表性运营商,其联合摩托罗拉进行的尝试的结果欠佳,却事与愿违地增添了WiMAX阵营的悲观情绪。继SprintNextel因为推行WiMAX计划的成本增加而导致业绩下滑之后, SprintNextel和摩托罗拉的首席执行官Gary Forsee和EdZander也于2007年11月相继宣布辞职。至此,美国的分析师开始质疑SprintNextel在WiMAX领域的投资能否收回,并认为 “Sprint的管理层应致力于公司现有的运营”。美国也开始出现对移动WiMAX的悲观论,甚至产生了“移动WiMAX不可能生存”的观点。

    一直以来,北电网络热衷于“豪赌”,从小交换机到10G光网络,到现在的WiMAX,前几次都取得了巨大成功。然而此次豪赌之路似乎并不顺利,07年第四季度北电依然巨亏8.44亿美元。

    幸运女神此番能否再次垂青北电,我们拭目以待。



    后记--北电在中国


    北电在中国设立有2个研发中心,分别位于北京和广州。
    北京的研发中心隶属北电(中国),是北电网络的独资公司,广州的研发中心隶属广东北电,而广东北电只是北电参股的一家合资公司。因此,从待遇福利上来说,北京研发中心要好于广州研发中心。从员工身份上来说,北京研发中心的员工是真正的北电员工,而广州研发中心的员工则是外包身份,有点类似于印度的 Wipro,Infosys等专业外包信息服务公司。


    June 07

    日立硬盘?IBM血统

    日立-IBM:一个字头的变更

    2002年4月16日,日立(Hitachi)集团和IBM公司宣布了一个震动整个硬盘业界的计划:根据达成的临时协议,两家公司将把各自的硬盘驱动器业务联合起来成立一家单独的合资公司,整合双方的研发和制造业务,以及相关的销售和营销团队。由于IBM公司是硬盘驱动器的缔造者并主导了该行业的前25年,业内的资深人士多多少少都与之有些渊源,突然听到IBM要放弃硬盘驱动器业务的消息,令人在感情上难以接受。

    6月3日,日立和IBM宣布达成了将他们的硬盘驱动器业务转移到一家主要由日立集团拥有的新的单独公司的最终协议。日立同意以20.5亿美元收购多数IBM与硬盘驱动器相关的资产,包括将IBM与硬盘驱动器相关的知识产权组合转移到新公司。日立最初将拥有新公司70%的股份,然后在接下来的三年里付清其余款项。







    2002年的最后一天,IBM宣布完成与日立联合硬盘驱动器业务的协议,成立一家名为Hitachi Global Storage Technologies(日立环球存储科技,Hitachi GST)的公司。2003年1月6日,新公司宣告成立,IBM的硬盘驱动器业务成为历史。

    此前的几十年中,IBM和日立的硬盘驱动器业务都是非独立的性质,所以没有什么可以给人留下印象的收购记录。IBM硬盘驱动器业务的辉煌过去可谓尽人皆知,相比之下日立一方就未免有些“养在深闺人未识”了,不过细细搜罗还是有些值得小书一笔的事迹:

    1967年6月,日立推出日本第一个大型主机存储子系统H-8564,采用6张14英寸盘片,可交换的磁盘包提供7.25MB容量,主轴转速2400RPM(IBM 305 RAMAC的350 Disk File为1200RPM),平均寻道时间85ms。
    1973年2月,推出FHD50(Fixed Head Disk,固定磁头磁盘),磁头悬挂、接触起停(contact start/stop,CSS)和密封的外壳与IBM稍后推出的3340 Winchester有共通之处。
    1976年,推出第二代固定磁头设计的FHD100,被NCR公司等国际知名的计算机系统OEM采用,为日立集团打开OEM市场,提升了硬盘驱动器行业的竞争水平。
    1982年,H-8598成为第一台容量突破1GB的磁盘驱动器,以13张(一说10张)14英寸盘片达到1.26GB容量。
    1988年,推出第一款9.5英寸硬盘驱动器H-6586(Hitachi DKU-86i),以8张9.5英寸盘片达到1.89GB容量,每GB规格对应的重量从121千克锐减至42千克,号称“第一台人力可以搬动的大型主机硬盘驱动器”,由此推算,它也是第一款人力可以搬动的GB硬盘驱动器——尽管三年后3.5英寸硬盘驱动器的容量就突破了1GB。
    1997年,获得一系列有关TMR(tunneling magneto-resistive,隧道磁阻)磁头技术的专利中的第一个。
    1998年,世界上第一台12030RPM硬盘驱动器DK3F1创下性能纪录,以15张2.5英寸薄膜盘片达到6.1GB容量的3.5英寸规格产品,应用于日立H-6593/6596高端存储系统。同年4月,日立推出仅有9张2.5英寸盘片即达到9.2GB容量的后续版本DK3E1T-91,并被广泛接受为业界第一款12000RPM硬盘驱动器。




    第一款容量突破1GB的硬盘驱动器——日立H-8598

    日立集团一直很重视存储业务,1989年便成立了存储系统子公司HDS(日立数据系统),1995年推出第一个具有冗余部件设计的、永不停机的存储系统Hitachi Freedom Storage 7700,1998年4月更推出第一个采用12030RPM硬盘驱动器的Hitachi Freedom Storage 7700E,号称“当时最快的存储系统”。





    代号“QII”的第一款9.5英寸硬盘驱动器H-6586

    IBM与日立在硬盘驱动器技术上有着长期的紧密合作关系,特别是在进入2000年以后,希捷、迈拓(昆腾)和富士通(Fujitsu)的10000RPM与15000RPM硬盘驱动器已普遍采用4碟设计,但日立的DK32家族(DJ和EJ,以及后来更名为Ultrastar 15K73的DK32EK)与IBM的Ultrastar家族却均采用5碟设计,步调非常一致。因此,日立集团成为买家的理由很充分,人们难以理解的是IBM“为什么要卖掉”有着无数辉煌历史并在业内数一数二的硬盘驱动器业务?







    日立首款15000RPM驱动器DK32EK,合并后改称Ultrastar 15K73

     
    最直接的原因是IBM的硬盘驱动器业务连年亏损,而刚上任不久的CEO帕尔米萨诺(Samuel Palmisano)正想剥离利润不高的硬件制造业务。可是,IBM的硬盘业务为什么会亏损?硬盘驱动器行业在2000~2002年的确处于低谷,但到2004年已开始反弹,IBM为什么不能再等一两年呢?

    大家知道,磁头技术是IBM硬盘驱动器业务的核心竞争力,特别是在1990年代,IBM主导了MR和GMR两次革命。日立环球存储科技有限公司副总裁兼大中华区总裁德克·托马斯先生在接受笔者采访时谈到,最早用薄膜(磁头)技术来发展时磁录密度每年增长30%,在1991年推出MR技术之后每年增长60%,而1997年推出GMR技术之后每年增长更超过百分之百。当时IBM的策略是“原则上让它(磁录密度增长)运转的速度越快越好,首先把那些做不到的企业先淘汰出去”,因为“这也是一个技术游戏”。

    但是“做不到的企业”并没有IBM想象的那么多,除了昆腾掉队(原因还很复杂)和富士通退出3.5英寸ATA硬盘驱动器市场,其他玩家都跟上了GMR前进的步伐(或许IBM不应该支持WD?),甚至比IBM做得更好,因为蓝色巨人并不是一个以速度和效率见长的机构,它对开创性技术的贡献为人称道,但在需要频繁改进现有技术的时候却往往力有不逮。


    不仅如此,过高的增长率很快榨干了现有技术的潜力,而当无法维持高速增长的时候,IBM的问题就暴露得更为明显。IBM试图解开限制磁录密度增长的重重枷锁,但无论2001年的“仙女之尘”(Pixie Dust,即AFC技术)还是当时尚处于研究阶段的垂直磁记录(PMR),技术潜力都不能与GMR相比,况且其他厂商在这方面的研究并没有明显的滞后。对蓝色巨人来说,一项业务如果不能形成技术优势,从而维持高于行业平均水平的利润率,也就没有继续下去的必要了。
    结语:或将稳定几年

    硬盘驱动器涉及电磁学、电子、机械甚至空气动力学,是一个非常复杂的系统,加之较多的运动部件会影响可靠性,因此研发和生产的难度都很高。虽然有些不明就里的人以为机械的成分太高便不能算高科技,但多数人还是有比较清醒的认识。

    研发投入是硬盘驱动器厂商必须考虑的问题。采用垂直整合业务模式的希捷每年的研发投入占营业额的10%左右(2006财年为8.05亿美元),几乎与利润相当——问题是利润并不总是那么高,研发投入却不能随之大幅削减。WD以前的研发投入占营业额的比重相对要低一些,但也能略高于(好年景时的)利润,而在收购了Read-Rite之后,已提升到7%左右。另一方面,硬盘驱动器的生产设施还需要大量资金,没有足够的产量,产品的价格就缺乏竞争力。迈拓的苏州工厂投资2亿美元以上,日立在深圳的“超级硬盘生产中心”总投资额更高达5亿美元。

    “只研发,不生产”怎样?昆腾的确尝到了不少甜头,但却丧失了将生产转移到成本更低的地区或扩大规模的自由——无论让MKE接受自己的要求,还是选择其他的合作伙伴,难度都要大很多。其实像硬盘驱动器和CPU这样集成度很高的产品,外包生产只能是权宜之计,试想:如果AMD有Intel(英特尔)一半的生产能力,CPU市场的竞争格局还会是今天这样吗?

    研发和生产这两大门槛决定了有意进入者必须要有充足的资金支持,但投资硬盘驱动器行业的黄金时期早已过去(前不久关闭的贵州南方汇通世华微硬盘有限公司因太有“特色”而不在讨论范围之内),现在的投资人更青睐不需要过多生产设施的知识密集型企业,而符合这一特征的软件和服务也确实都具有较高的利润率,因此除非形势发生很大的变化,否则很难出现有能力对目前的“六大”(希捷、WD、日立、富士通、东芝、三星)构成威胁的后来者。

    这篇以硬盘并购史为主题的文章介绍了希捷、WD和日立,甚至还有已经被收购的迈拓和昆腾,却没有描写富士通、东芝和三星,主要原因在于他们的硬盘驱动器业务都不是独立的。作为集团公司旗下的一个业务部门,很难按照自己的意愿获得充足的资金进行收购——三星和富士通都曾有过拿下迈拓的机会,却没有付诸行动,便是明证。况且,集团公司随时可以根据整体的需要,决定是否继续发展硬盘驱动器业务。

    IBM的情况略有不同。一方面,蓝色巨人在硬盘驱动器技术上有足够的积累,不需要收购其他厂商;另一方面,不管有多少人希望这个历史最久的硬盘驱动器业务能够一直留在IBM,其命运最终还是要取决于整个公司的安排。不过,在新成立的日立环球存储科技(Hitachi GST)公司中,原IBM硬盘驱动器业务占据的比重较大,可以发挥主导作用并具有比以前更大的自由度。

    独立的硬盘驱动器制造商若想生存下来,不仅要具备足够的实力,还要有坚定的战斗意志,其根源在于对硬盘驱动器行业的热爱——如果只是想获得尽可能高的利润,很有可能在遇到挫折后选择放弃。从硬盘驱动器业务起家的昆腾,在增加了磁带驱动器业务之后,面对旧爱的困境选择了新欢;迈拓几经磨难,终于在长期的内耗中丧失了斗志,与希捷签订城下之盟;反倒是半路出家的WD,毅然剥离其他业务,历经坎坷而不改对硬盘驱动器业务的执著。由此,便也不难解释,为何20余年来几经沉浮的希捷能够再度坐稳行业老大的宝座了。

    该消失的消失了,该留下的留下了,目前看来不由自主者是最大的变数。大胆地预测一下,主要硬盘驱动器供应商的数量或许会稳定个三五年吧。



    昆腾与西数

    昆腾:始于见异,终于思迁

    昆腾(Quantum)公司大概是惟一一个以硬盘驱动器业务起家却没有与之共存亡的厂商。从1980年创立直到2000年,昆腾的主要身份都是位于加州Milpitas的磁盘驱动器制造商,而现在其总部在圣何塞(San Jose,倒是不算远),以磁带驱动器及自动化产品(磁带库和自动加载机)为核心竞争力。

    昆腾始于来自IBM和Memorex的主管及设计人员的一个构想,即在不增加成本或复杂性的前提下使用全闭环伺服(servo)系统,从而获得性能提高的8英寸硬盘驱动器,这在专门的伺服IC和容易利用的DSP(数字信号处理器)出现之前是非常困难的任务。这些创办人的想法是将步进电机(比音圈电机便宜,但缓慢、噪音大且在温度改变时容易出现可靠性问题)预定义的步与闭环伺服的准确性相结合——他们在头臂上放置一个衍射光栅,使用音圈电机移动该臂,并仅在寻道完成时使用闭环功能,依靠光栅上的狭缝统计“总马达”(步进电机+音圈电机)移动经过的磁道。上述设计节省了很多硬件,并允许仅用一个8位的微控制器控制整个伺服系统,大大降低了成本。40MB的Q2040和80MB的Q2080是首批使用该技术的驱动器,按照昆腾的说法,他们的产品非常受欢迎,到1982年占有了25%的市场份额。

    一出手就是8英寸驱动器,而且性能博得了客户的认可,看来昆腾的起点比迈拓还高(难道是起点越高结局越凄凉?)。不过,1979年问世的第一款8英寸硬盘驱动器(IBM 62PC)容量就有64.5MB,80MB对1980年代的大型主机(mainframe)用户来说未免不够,8英寸规格的体积对中端用户而言又嫌太大,颇有些“高不成低不就”的感觉。于是,昆腾推出了使用同样伺服系统的5.25英寸的ST-506兼容版本硬盘驱动器Q500系列(也是全高,容量10~40MB)。

    不过,这一时期昆腾最著名的产品还是1985年其Plus开发分部(Plus Development division)推出的Plus HardCard(硬卡)。HardCard是第一款固定在卡上的磁盘驱动器,为适应ISA槽的格式,只有一张3.5英寸盘片(10.5MB),直接固定在标准控制器(ST-506或ESDI)上,然后将组件插入一个ISA总线插槽中(与普通的ISA卡一样,用一个螺钉固定,这对笨重且有较强烈振动的硬盘驱动器来说显然不够稳妥),属于第一批集成ISA(AT总线)控制器的驱动器。HardCard销售的非常好,不断推出更高容量的型号,并吸引了很多效仿者。


    从Compaq便携机(手提箱的个头,不是笔记本电脑)里拆出来的20MB HardCard,就是一部固定在ISA控制卡上的3.5英寸硬盘驱动器



    随着对昆腾驱动器需求的不断增加,该公司决定将制造外包,而不是像多数的竞争对手那样采用完全的垂直集成并在新加坡、马来西亚甚至香港开设属于自己的工厂。1984年,昆腾与松下(Matsushita)签订协议,由松下寿(Matsushita Kotobuki Electronics,MKE)在日本一本松町的工厂为其生产面向大量市场(mass-market)的驱动器和HardCard。

    不久之后,昆腾决定进入在当时属于全新的SCSI市场,第一款专门设计的SCSI驱动器是1986年发布的80MB的Q280(5.25英寸半高)驱动器,其30ms的平均寻道时间在那个时代已经是相当快了。Q280与Conner Peripherals的产品是第一批使用嵌入式伺服(embedded servo)的大量市场驱动器。接着,昆腾将Q280的嵌入式控制器设计与Q500系列的伺服硬件相结合,开发出ProDrive家族,也是其第一款支持刚诞生不久的ATA接口的驱动器。光学辅助和全嵌入式伺服设计一直共存到光学系统被认为过于缓慢而被放弃的1990年代初。

    这时昆腾已在Milpitas为其高端驱动器建立了顶级的制造工厂,却因管理不善而最终关闭并将生产转交MKE,到1990年代末,昆腾所有的硬盘驱动器产品都由MKE的工厂生产。MKE用大量市场的标准对待这些高端产品,损害了产品的质量和可靠性。

    1994年昆腾收购了DEC(Digital Equipment Corporation,数字设备公司,也称Digital,1998年售予Compaq)的数据存储分部,获得了DLT流磁带系统和在麻省Shrewsbury的Digital Storageworks高端SCSI驱动器专业技术。出于对2000年问题的普遍恐惧,一时间DLT的销售非常好,昆腾便将公司分为两部分,分别负责硬盘驱动器和DLT及相关产品。


    昆腾在1990年代末犯了一系列错误,积累起来动摇了它的地位。在两款高性能的5400RPM驱动器(Fireball 1080/1280)使昆腾的声誉达到顶峰后,他们决定发展更看重容量而非速度或性能的经济型(所谓的“value”)驱动器。想法本身没错,问题在于他们不是尽力提高磁录密度(areal density),而是采用了更大的盘片,以一种“偷懒”的方法来获得更大的容量,这就是5.25英寸规格的Bigfoot(大脚)驱动器。由于盘片直径较大,磁头的寻道时间很长,而逆潮流的3600RPM转速进一步降低了驱动器的随机访问性能。相对于稳步增长的容量,用户迫切需要性能的提升,“大脚”牺牲性能换容量的做法无疑是一种倒退。此外,昆腾还曾推出过4500RPM的Fireball TM(不是“TradeMark”的简写!),7200RPM的Fireball Plus系列的第一代Fireball Plus KA的问世时间也落后于希捷和迈拓的同类产品。

    基于DEC设计开发的服务器级SCSI驱动器(Fireball的SCSI版本主要面向高档PC市场)遇到的麻烦也不少。与很多美国东西部公司合并一样,对DEC磁盘驱动器业务的收购充满了文化冲突。Milpitas的高端开发工程团队转去设计第二档的驱动器,而Shrewsbury的团队开发最高性能的产品。然而,Milpitas设计的Viking、Phoenix和Katana却一直以较低的成本获得比Shrewsbury的产品更好的性能表现。

    其中的奥妙在于:DEC的SCSI专业技术体现在设计磁带驱动器,SCSI硬盘驱动器稍晚且重用磁带驱动器的固件(firmware)。他们不去写为磁盘驱动器优化的固件,而是在磁带驱动器代码之上增加一个代码抽象层来执行硬盘驱动器的功能,这样自然会导致性能很差,主轴转速再高、磁头运动再快也是白搭。Milpitas团队在Viking、Phoenix和Katana家族的驱动器中采用没有不必要代码的固件设计,从而能够充分发挥硬件的能力。可悲的是,他们不得不在最后的项目(Orca驱动器)中服从管理层的命令,被迫接受Shrewsbury的代码和微控制器选择。Milpitas的高端驱动器设计就这样在公司政治的干预下于2000年年中含冤而死。

    2000年的硬盘驱动器市场正遭遇寒冬,PC销量下滑,经济型驱动器愈发无利可图,以WD为代表的几家厂商不同程度的陷入困境。昆腾决定将其市场份额曾长期排名第二的硬盘驱动器分部出售,买家是我们都知道的迈拓。昆腾保留了DLT磁带驱动器业务,制造NAS的Snap Appliance则被拆分。

    之后昆腾进行了一系列的收购:2000年收购磁带库制造商ATL;2002年收购按昆腾许可制造VStape产品的制造商Benchmark Storage Innovations;2005年收购原希捷的磁带业务Certance;2006年收购中高端磁带库制造商ADIC(皆以交易完成时间为准)。现在随着硬盘驱动器市场的回暖,昆腾也终于流露出要加强磁盘系统业务的意图,不禁令人感慨世事难料。

     

    WD:从控制器到驱动器

    WD(Western Digital,西部数据)公司创立的时间比希捷公司还早近10年,但作为硬盘驱动器供应商的历史可不算长。

    1970年4月23日,一家名为General Digital(通用数字)的公司诞生了,其最初是一家MOS半导体测试设备制造商,在几个独立投资者和工业巨人Emerson Electric(艾默生公司)提供的启动资金的支持下,很快转变为专业半导体制造商。1971年7月,General Digital更名为Western Digital,并搬到加州的Newport Beach,很快推出其第一款产品WD1402A,也是第一个单芯片UART(通用异步收发器)。

    在1970年代早期,WD通过出售计算器芯片获得收入,到1975年已经成为世界上最大的独立计算器芯片制造商。然而,好景不长,1970年代中期的石油危机及其最大的计算器客户Bowmar Instrument的破产改变了WD的幸福生活。1976年,WD宣布破产重组,随后Emerson撤回他们的支持并拥有了该公司。这一时期WD推出了几款划时代的产品,包括MCP-1600多芯片微码CPU(获DEC的小型机兼容微机系统LSI-11采用),以及一系列单芯片软驱控制器芯片,其中最著名的是第一款软驱控制器WD1771。

    WD1771是WD进入数据存储工业的敲门砖,到1980年代初他们开始制造硬盘控制器,并于1981年推出了第一款单芯片ST-506控制器WD1010。1983年,WD赢得了为IBM PC/AT机提供硬盘控制器的合同,推出的WD1003后来成为ATA(俗称IDE)接口的基础。1985年,已成为PC硬盘控制器领导厂商的WD受Compaq之托,为IBM PC/AT兼容系统设计一个硬盘控制器接口控制芯片,由CDC以生产高容量硬盘著称的子公司MPI(1989年被希捷收购的Imprimis)在原CDC的Wren 2半高型5.25英寸硬盘驱动器基础上推出业界第一台ATA接口硬盘驱动器CDC 94204-074 WREN 2,于1986年随首台Compaq 386系统销售。





    WD以半导体业务起家,原Logo中的图案象征集成电路


    1980年代中后期,WD也涉足图形卡(1986年收购Paradise)、核心逻辑芯片组(1987年收购Faraday)和网络市场。这些新业务都很不错(尤其Paradise生产的VGA卡是当时最好的图形卡之一),但存储相关的芯片和磁盘控制器是他们最大的收入来源:

    1986年,推出WD33C93单芯片SCSI接口,用于第一款16位总线主控SCSI控制器WD7000 "FASST";
    1987年,推出集成PC/AT软盘控制器电路的单芯片WD37C65,成为现代超级I/O芯片的始祖;
    1988年,推出第一款单芯片ATA硬盘控制器WD42C22 "Vanilla"。
    1988年,WD收购了PC硬件制造商Tandon的硬盘驱动器生产资产,堪称公司历史上最大的转折。合并后首款以WD的名义推出的产品是Centaur(半人马座,可见WD以星座命名产品的习惯由来已久)系列ATA和XT附属(也称XT IDE)驱动器。

    后来的发展证明WD确属“未雨绸缪”。1991年,PC行业正经历从ST-506和ESDI驱动器向ATA和SCSI的转变,后两种驱动器上都集成了控制器,对硬盘控制器板的需求逐渐减少。这时WD推出了使用最新的嵌入式伺服和计算机化诊断系统的全新设计的Caviar驱动器,可以避免公司因为原来的主营业务萎缩而陷入困境。

    Caviar的销售非常之好,于是WD开始处理其他业务部门:Paradise出售给飞利浦并就此消失,网络和软驱控制器部门转让给SMC,SCSI芯片业务被当时的市场领袖Adaptec获得。至此,WD彻底完成了从半导体公司到硬盘驱动器制造商的大“变身”。

    虽然只是半路出家,但已经把所有的宝都押在硬盘驱动器上的WD希望能够在行业内有更大的作为,于是便积极推动硬盘驱动器尺寸规格的变革,力图借机打破旧秩序,建立有自己参与主导的新格局。WD先是与迈拓等厂商投入1.8英寸市场,后来又与JTS(JT Storage)合作开发3英寸的Portfolio驱动器,但当时基本没有对2.5英寸以下规格的需求,而3英寸也在与2.5英寸的较量中败下阵来。不仅如此,WD提出的旨在利用硬盘驱动器加速ATA接口CD-ROM驱动器的SDX(Storage Data aCCeleration,存储数据加速)标准同样未获成功,真可谓“曾经的豪情万丈,归来却空空的行囊……”

    3英寸的Portfolio家族从1996年10月底出货的1GB型号起步,1997年8月底还推出了双碟的2.1GB型号和同样采用MR磁头的6.4GB Caviar。不过Caviar驱动器从1995年起就受到了以昆腾为首的其他厂商新产品的围剿,技术上的优势逐渐被侵蚀,到这时已落在后面,质量也开始下降,那些惯于推荐WD驱动器的系统构建商和PC发烧友都转向以迈拓DiamondMax为代表的竞争产品,WD陷入全面的困境。

    为挽回颓势,WD在1998年接受了IBM的帮助。双方在1998年5月4日宣布,计划达成一个广泛的硬盘驱动器部件供应和技术许可协议,WD由此获得使用包括GMR磁头在内的IBM技术和IBM生产设施的权利,于是便有了1999年上半年推出的Expert(专家)系列驱动器。这个办法见效很快,WD重新获得了媒体和用户的尊重,甚至经受住了2000年因马达驱动芯片品质问题导致的驱动器召回的考验。WD随后摆脱了对IBM的依赖。





    WD公司的新Logo,突出WD这一缩写,但2004年才更换似乎太晚了点

    在2000年前后,硬盘驱动器制造商中兴起了一股向相关领域扩展的风潮,纷纷推出NAS存储设备,譬如迈拓MaxAttach和昆腾的Snap Server。WD则走得更远——不仅有Connex,还开发了非常出色的SAN(存储区域网)管理软件SANavigator。不过,他们很快意识到这将与自己的客户构成竞争,于是纷纷收手,WD在2001年第三季度将Connex和SANavigator分别出售给原属昆腾公司的NAS制造商Snap Appliance和著名的FC SAN交换机供应商McDATA,紧接着在第四季度收购了刚退出3.5英寸ATA硬盘驱动器市场不久的富士通(Fujitsu)的泰国工厂,专注于核心业务。

    得益于丰富的ATA硬盘控制器设计经验,WD的ATA硬盘驱动器通常具有非常出色的性能,而SCSI硬盘驱动器却一直没有很好的表现,最终在2000年左右退出市场。2003年2月WD重新推出10000RPM硬盘驱动器(即Raptor),所采用的接口却是Serial ATA而非SCSI,不与希捷等厂商在高端争锋。不过,为了掌握磁头技术以更好地应对未来的竞争,WD公司在2003年7月以大约9540万美元现金收购了破产的磁头制造商Read-Rite公司的全部资产。

    独特的发展史决定了磁头、盘片、马达等头盘组件(HDA,Head Disk Assembly,与PCBA共同构成现代硬盘驱动器)技术并非WD之所长,因此该公司非常明智地采取跟随策略,很少充当“出头鸟”,而是待技术成熟后再迅速投入,通过大量生产抢占市场,这样做的好处是研发负担不重,风险较小,缺点是利润也不高,与一直大力提倡“垂直整合”的希捷形成鲜明对比(相关数据可参考《里面的世界很精彩——硬盘构造再揭秘》一文)。此外,WD的产品线单一,主要靠低利润的3.5英寸ATA硬盘驱动器“谋生”,这种模式通常被认为难以长久,曾经的“同类”迈拓便通过与昆腾的硬盘驱动器业务合并与之“划清界限”,而非独立身份的三星则不具可比性。

    WD没有足够的实力进行大规模的并购,所以经常会出现在“可能被收购”的传闻中。特别是近几年来,每逢独立硬盘驱动器供应商发生并购,WD就会成为下一个被收购的“首选对象”:迈拓联姻昆腾刚刚尘埃落定,便有消息说富士通有意收购WD,直到富士通退出3.5英寸ATA硬盘驱动器市场并将泰国工厂卖给WD,才不攻自破;希捷收购迈拓尚未完成,又有好事者推测三星将要收购WD,以达成在2007年成为最大的硬盘驱动器制造商之一的目标。

    希捷之所以会收购产品线高度重合的迈拓,主要原因是后者长期亏损,市值一度低于12亿美元,高管和股东们急于脱手,19亿美元成交比较划算。WD虽然产品线单一,盈利状况却非常好,今年以来市值基本稳定在40亿美元左右,很难想象该公司的股东们能够接受60亿美元以下的交易。再者说,三星集团错过互补性很好且十分便宜的迈拓(如果确实有意扩大硬盘驱动器业务的话),却要把WD当作“后悔药”来吃,难道是《大腕》中李诚儒的粉丝不成?WD不是没可能卖,三星也不是没可能买,但在目前的形势下双方坐到一起“谈婚论嫁”的几率简直可以忽略不计。

    迈拓史

    迈拓(上):少年得志,迷失方向

    历史真的很怪,被希捷收购之前与其竞争了多年的迈拓,在最初10年所走过的路,竟然是完全相反的!

    确切地说,1982年在加州圣何塞成立的迈拓(Maxtor)公司是一家制造面向服务器和所谓“高级用户”(power user)的高容量、快速5.25英寸硬盘驱动器的专业厂商,从定位上来说应该属于中端市场,但若与(同期的)希捷公司相比的话就完全可以说是高端厂商了。当时真正的高端厂商是生产8英寸以上规格驱动器的IBM、Hitachi(日立)和MPI(后来的Imprimis)等——换句话说,容量越大就越高端。

    那个时代,用多个较小容量的驱动器组成阵列来提供较大容量(当然还有性能和安全性)的RAID(Redundant Array of Inexpensive Disks,廉价磁盘冗余阵列)技术尚处于概念阶段,在必须“单挑”的环境中尺寸规格较大的硬盘驱动器具有天然的优势:一方面盘片面积大,存储容量成倍增加;另一方面半径长,同样的转速下外圈传输率更高。另外,由于价格较高,它们也更容易配备音圈马达等相对昂贵的技术,可靠性更有保障。容量、性能、可靠性,不正是高端用户所需要的吗?

    迈拓生产的也是5.25英寸驱动器,在盘片直径上并不占优势,但是它们往往拥有更多的盘片。举例来说,迈拓的第一款驱动器XT-1080就有80MB的容量,而同期IBM PC-XT的标准硬盘驱动器(如希捷的ST-412)容量只有10MB。1983年推出的XT-1140是第一款采用8张盘片的5.25英寸磁盘驱动器,容量达126MB,也至少两倍于希捷的产品(通常4张盘片)。不过,XT-1140虽然采用了主轴马达衬套与HDA底座一体(in-hub)的先进设计,寻道机构却仍然由步进马达驱动——实际上,那个时期迈拓的主力产品中只有XT-1085是音圈马达驱动的,步进马达占统治地位的情况与希捷如出一辙。可以说,容量是迈拓相对于希捷的主要优势,又印证了我们前面对其“中端”的定位。

    迈拓早期的产品均采用ST-506/412接口,这也在一定程度上限制了它们的性能。简单地说,ST-506/412接口采用磁盘控制器与驱动器相分离的设计,而重要的编解码器(endec)被安装在磁盘控制器——而不是驱动器——上,超长的传输路径使模拟数据信号在到达目的地之前出错的可能性大为增加,因此使用该接口的驱动器容量很难超过152MB(MFM编码)或233MB(RLL编码),传输率也被限制在5.0MB/s或7.5MB/s(同前)以下,这对迈拓的长远发展显然是不利的。
     

    ESDI与ST-506/412接口有很好的兼容性

     

    于是,迈拓在1983年提出了ESDI(Enhanced Small Device Interface,增强小型设备接口)标准,并领导驱动器制造商协会采纳其作为继承ST-506/412的一个高性能标准。ESDI获得了ANSI批准,并由ANSI X3T9.2(即后来负责制订SCSI标准的T10)委员会发表。1980年代末,ESDI在高端系统(特别是文件服务器)中得到了广泛的应用。ESDI将endec内建于驱动器端,可靠性有明显改善,传输率也提高到24MB/s,同时保持了与ST-506/412接口的相似性,大多数ESDI控制器和老的ST-506/412控制器在寄存器级兼容,可以替换后者而不影响系统中的软件。

    迈拓所面向的服务器和工程工作站市场更看重容量的增长,而不是急于缩小驱动器的尺寸,因此在1980年代基本上没有受到3.5英寸规格的冲击。不过,迈拓却在1990年通过收购已破产的MiniScribe(曾经与希捷、IMI一同被选为IBM个人计算机事业部硬盘驱动器的主要供应商,位于科罗拉多州Longmont)的资产杀入PC市场,主动拥抱3.5英寸驱动器。合并后的早期产品(特别是120MB的7120)存在很多质量和设计问题,但后面的产品还是设法保持了良好的销售态势。

    祸不单行,迈拓的“后院”又失火了。随着ST-506/412被ATA(俗称IDE)取代,ESDI也从1990年代初起开始让位于SCSI,而迈拓显然没能处理好这个威胁到自身地位的转变。尽管经过9年的发展,最初的XT系列容量已经达到1GB,迈拓公司还是在1992年3月将该系列磁盘驱动器(包括XT-1000、-2000和4000)的制造权利出售给了Sequel公司,退出服务器SCSI驱动器市场。Sequel不是一家磁盘驱动器制造商,更确切地说他们专门为已有的客户群提供支持和修理服务(那时候这样的公司还有不少)。

    迈拓的处境并没有因此而得到缓解,1992年在破产边缘挣扎的公司退出了高容量5.25英寸SCSI市场,产品则暂时留在行业内(而不是像XT系列那样将所有权卖给别人)。大约同时,SCSI版本的7000系列驱动器也停止发展,在圣何塞的所有工程运作于1993年年底停止,仅留下原来MiniScribe的设计工程人员。

    更换高管之后的迈拓意识到了自己所犯下的错误,于是将总部迁到Milpitas附近,逐步开始重建其硅谷工程队伍。这时的迈拓仍很虚弱,股价不足1986年的五分之一。1994年至1996年间,韩国现代电子通过两次总值3.56亿美元的交易逐步收购了迈拓,使后者退市成为其美国公司的独立子公司。

     

    迈拓(下):短暂登顶,自毁前程

    将主要精力放在桌面PC市场之后,迈拓于1996年完全重新设计了驱动器产品线,推出基于德州仪器(TI)DSP技术的DiamondMax(钻石)系列,终于跻身三大PC制造商的主要供应商行列。1998年,金融风暴之后深陷债务危机的现代集团重新让迈拓上市以换取现金,后者在7月以“MXTR”的代码登陆NASDAQ,现代电子(2001年3月更名为Hynix半导体)公司成为其少数股东。这一年正逢PC销量大涨(势头甚至超过今日之笔记本电脑),完全独立的身份使迈拓可以大展拳脚,而之后的三四年也确实是其“后半生”最为辉煌的时候。

    这时的迈拓和希捷,与1980年代相比,具有几乎是互换了身份般的戏剧性!而且,他们的共同点还不止于此——都经历过长达两年的退市,重新上市2~3年便收购曾是业内三甲的竞争对手——只是希捷来得更晚,并笑到了最后!

    2000年10月4日,迈拓公司宣布以股权置换的方式与昆腾公司的硬盘驱动器部门(Quantum HDD)合并,交易总值约23亿美元。2001年4月2日,合并宣告完成,产生了一家2000年联合收入约60亿美元(迈拓贡献27亿美元)的“业内最大的”硬盘驱动器公司(希捷同期收入约66亿美元,但其中还包括磁带和SAN等业务的贡献,以及出售SanDisk股票获得的数亿美元)。4月底,新的迈拓以“MXO”的代号移师NYSE。9月2日,迈拓公司收购了成立于1996年、曾经同属现代电子美国公司的硬盘盘片制造商MMC科技公司。





    并购一向不是“1+1=2”的简单游戏,迈拓与昆腾HDD合并完成后的四个季度42.1亿美元的收入并不算很差,但接下来的一个季度就下滑至8.96亿美元,而2002年8月15日宣布停止制造和销售其MaxAttach品牌NAS产品虽然对长期发展有利,却也使当季收入进一步降低到8.2亿美元以下。2002年第四季度收入回升至10.4亿美元的水准,随后公司总裁兼CEO Michael R. Cannon辞职,去了曾经是第一大代工企业的电子制造服务(EMS)提供商Solectron公司,原COO兼CFO Paul Tufano接替了他的职务。

    Mike Cannon于1996年出任迈拓CEO,是带领公司走出困境及完成一系列并购的决定性人物,在年收入过百亿美元的Solectron公司任总裁兼CEO至今更进一步证明了他的能力。同样在1996年进入迈拓(任CFO)的Paul Tufano掌舵后,公司的高层变动不断,一年之内两易CFO,COO也换了一次,甚至形成了传说中的“意大利帮”等派系,亚太区更是一团糟,惟一有价值的重大决策——在中国苏州建立制造工厂——还是在Paul Tufano正式就任仅两天(2003年2月26日)后宣布的,很难说清究竟是谁的贡献。

    领导层的动荡显然不利于公司的运作,特别是对昆腾产品线的整合。昆腾的Fireball(“火球”)品牌在PC用户中享有盛誉,但在转向7200RPM(Fireball Plus)后已现颓势,而迈拓5400RPM的DiamondMax(“钻石”)和7200RPM的DiamondMax Plus(“金钻”)系列却蒸蒸日上,如何取舍颇费思量。最终,迈拓选择将Fireball作为低端品牌,而把Fireball Plus的设计用于DiamondMax Plus D740X(金钻七代)。结局是DiamondMax Plus 9又恢复了传统风格(一同推出的Plus 8为17.5毫米厚的薄型产品),而在争议中保留下来的Fireball品牌则日渐式微。

    昆腾的Atlas(大力神)系列SCSI驱动器令迈拓重返高端市场,为了避免重蹈(从ESDI转换到SCSI的)覆辙,迈拓积极地参与到SAS(Serial Attached SCSI,串行连接SCSI)标准的制订和推广过程中,并在2002年9月9日推出15000RPM的Atlas 15K,不可谓不够进取。然而,随着Mike Cannon的离去,一切都归于平淡。

    迈拓公司终于无法忍受了,在2004年11月15日宣布Paul Tufano离开其总裁、CEO和代理CFO职位(权力未免太大了吧?),1995至1996年间任总裁和CEO并从1998年起任董事长的C. S. Park博士重新出任CEO,但似乎为时过晚。

    心力交瘁的迈拓方寸已乱,竟然在2005年1月宣布放弃先前公布的生产2.5英寸硬盘驱动器的计划,置公司未来的增长于不顾。迈拓2005年第二季度收入9.25亿美元,盈利940万美元,利润率仅为1%,第三季度更是亏损1700万美元,与希捷和WD的高歌猛进形成鲜明反差。2005年12月21日,希捷宣布与迈拓达成收购协议,以只相当于后者年收入一半的19亿美元收购其全部股票。2006年5月22日交易完成,Maxtor Corporation从此改用“过去时”……

     

    希捷发展史 (ZT)

    希捷(上):英雄何惧出身太单薄

    在硬盘驱动器诞生50周年回顾一文中,笔者提到了硬盘驱动器行业与微处理器行业的差异,其中很重要的一点是,硬盘驱动器行业的进入门槛较高,但与微处理器(限于CPU级别,如Pentium、Opteron、Power、UltraSPARC等)行业相比还是略逊一筹。因此,市场上的硬盘驱动器供应商足够多,而新进入或想要扩大经营范围(及规模)的厂商往往会选择通过并购的手段来达到目的。于是,自从1980年硬盘驱动器行业转向开放市场以来,发生的并购案不胜枚举,致使供应商数量从1986年的76家一路下降至今天的“屈指可数”,也就只能说是历史发展的必然了。

    可想而知,生存至今的硬盘驱动器市场前三大供应商——希捷科技(Seagate Technology,有时简称ST)、西部数据(Western Digital,WD)和日立环球存储科技(Hitachi Global Storage Technologies,Hitachi GST或HGST)——所经历的并购断然不会少,其中有我们熟知的,也有因年代久远而逐渐被大多数人淡忘的。下面,就让笔者择主要者加以讲述,相信其中的一些片断能帮助大家进一步了解硬盘驱动器行业在近20年来所发生的激烈变迁,从而更为深刻、全面地看待那已经成为历史的50年!


    作为硬盘驱动器行业走向开放市场的标志性事件,1979年Alan Shugart与Finis Conner创办Shugart Technology——1985年更名为Seagate Technology——公司的故事笔者已经讲过,本节的重点是随后发生的一系列变化。

    1980年6月推出世界上第一台5.25英寸硬盘驱动器ST-506是Shugart Technology在产品上最大的贡献,这个规格的灵感来自于著名的Shugart “mini-floppy”——现在的词典解释成“(直径为5.25英寸的)小型软磁盘”,可见确非徒有虚名——驱动器。第二年,公司推出10MB的版本ST-412,并给接口加入了被称为缓冲寻道的特性。ST-412与Miniscribe 1012和IMI(International Memories, Inc.)的5012型驱动器一同获得IBM PC/XT采用。

    在那个时代,硬盘驱动器与其控制器是相分离的(不像现在,将后者集成在前者的电路板上),而ST-506/412接口的即插即用设计——任何ST-506/412驱动器可用任何ST-506/412控制器工作——使其成为标准,获得为PC生产硬盘的大多数驱动器供应商采用。ST-506/412接口一直延续到1989年。




    左侧的绿色图案呈“S”形,也可以代表Shugart,但右侧已经写着“Seagate”,说明是1985年以后的Logo

     实际上,几乎整个1980年代希捷公司都在吃ST-506的老本,那时卖得最好的ST-225 20MB驱动器和ST-251 40MB驱动器均由最初的ST-506设计发展而来。尽管也销售使用音圈(voice coil)技术的更快速的驱动器,但ST-225/251都使用步进电机来定位磁头。当时,低端的硬盘驱动器通常像软盘驱动器一样使用步进电机(从这个意义上说,ST-506相当于密封的软驱),这种技术的缺点是缓慢、噪音大且在温度改变时容易出现可靠性问题。因此,希捷的驱动器有时会背上便宜但不可靠的名声,但还是好于MiniScribe、Microscience(台湾微科)、Rodime、Tandon和Kalok等竞争对手的产品。直到1990年代初期,希捷才在生产40MB的ST351A/X(可运行于ATA或XT附加总线)之后彻底放弃了步进电机设计。

    不管怎么说,以生产供PC机——而不是大、中、小型机或服务器——使用的驱动器为主要业务,与希捷近年来给我们留下的在高端市场占统治地位的印象相去甚远。打个不太恰当的比喻,从整个产品线的定位来看,当时的希捷颇似2000年前后的迈拓(尚未收购昆腾的硬盘驱动器业务)或2002年的WD(还没推出10000RPM的Raptor)。

    然而,一个本来对公司形成毁灭性打击的变故,最终却令希捷因祸得福,意外地转战高端驱动器市场并取得了成功!
    希捷(中):失之东隅,收之桑榆

    作为PC硬盘驱动器市场上的领导厂商,希捷在3.5英寸驱动器的开发上一度仅落后于Rodime,但却没有意识到硬盘驱动器进一步小型化对PC机的重要性,导致公司创始人之一Finis Conner出走。

    Finis Conner于1985年初离开希捷,在创立自己的公司失败后,曾暂时担任CMI(Computer Memories International)的CEO。1986年Finis Conner终于有了以自己名字命名的公司——Conner Peripherals,其合作伙伴包括MiniScribe的创办人John Squires和Terry Johnson,将5.25英寸驱动器的容量放入更小型的3.5英寸规格驱动器的共同目标使他们走到了一起。康柏(Compaq,取“Compatibility and Quality”之意。1982年成立,2002年被HP收购)为这家新公司提供了最初的资金,同时也成为他们多年的主要客户。1993年,Conner通过收购Archive Corporation增加了磁带驱动器业务。

    书归正传。希捷之所以对3.5英寸驱动器兴趣索然,是因为其主要客户——以IBM为代表的PC制造商——希望在下一代产品中安装40MB乃至60MB的驱动器,而希捷1985年初研制的3.5英寸原型产品只能提供10MB的容量,并不比1983年Rodime推出的第一款3.5英寸硬盘驱动器RO 352更高。此外,希捷认为3.5英寸驱动器的每MB成本无法与5.25英寸驱动器竞争——这是明摆着的事实,不过以此推论的话,该公司从Shugart Technology到Seagate Technology的发迹史似乎就是个错误……

    总之,希捷对3.5英寸说“No”的理由很充分。当时,3.5英寸驱动器的整个市场规模不到5000万美元,而仅ST-412一款产品的年销售额就超过3亿美元。Compaq成立四年后仍未成为希捷的客户,也令后者颇不以为然。

    然而,希捷忽略了一个今天看来十分浅显的道理——硬盘存储密度的增长速度往往会明显超出客户实际需求的增长速度。换句话说,技术的进步为3.5英寸驱动器迅速取代5.25英寸驱动器成为市场主流提供了可能。1986年,Conner的第一款产品CP340问世,它具有40MB的容量,并且是第一款采用音圈传动机构的3.5英寸磁盘驱动器,噪音和可靠性均胜于希捷的5.25英寸驱动器。
     


    CP340是一款SCSI-1驱动器,上图为ATA接口的CP344,外形尺寸、盘片数和容量都与CP340相同
     
    Conner依托新型的便携式计算机市场,每年将产品的容量提高50%,到1987年底,3.5英寸驱动器具备了可满足主流PC市场需求的容量。希捷公司的主管人员这才反应过来,取出被自己束之高阁的3.5英寸驱动器仓促应战,但已不是Conner及Quantum(昆腾)的对手。随着3.5英寸驱动器将在个人计算机市场上取代5.25英寸驱动器的大势逐渐浮现,希捷面临丧失立足之地的危险。
    关键时刻,Alan Shugart显示出作为商业领袖的魄力,于1989年领导希捷公司收购了控制数据公司(Control Data Corporation,CDC)的磁盘驱动器业务分部Imprimis Technology,转战高端驱动器市场,从而“柳暗花明又一村”。
    Imprimis的前身是CDC和Honeywell(霍尼韦尔)在1975年联合投资成立的MPI(Magnetic Peripherals, Inc.),Honeywell为这个磁盘业务贡献了从GE(通用电气)获得的俄克拉荷马城工厂和自身在德国Heppenheim的工厂。MPI成立时主要生产类似IBM 3330(代号“Merlin”,第一个采用磁道跟踪伺服系统)的第三代磁盘驱动器,接下来的许多年里,他们继续生产与IBM 3340(“Winchester”,现代硬盘驱动器鼻祖)、3350(“Madrid”)和3370(第一个采用薄膜磁头和RLL 2,7编码)等相兼容的磁盘驱动器,有时发布和交货的时间只比IBM晚不到一年。
    后来,小型机市场的增长吸引MPI开始生产较为便宜的9英寸硬盘驱动器,而Honeywell及其合作伙伴Bull根据半导体存储将在1980年代末和1990年代取代硬盘驱动器等以旋转磁存储为主要原理的设备的预测(现在看来是多么的……#&@%^),先后将MPI的股份转让给了CDC。MPI成为CDC的全资子公司,在1988年更名为Imprimis Technology。随着硬盘驱动器市场日益变得以小型机和PC为导向,曾经身为主角之一的CDC看到自己的份额开始受到侵蚀,最终将磁盘驱动器业务卖给了希捷。
     
     
    希捷(下):几经沉浮,再临巅峰

    综观前两页的历史,不难看出,最初10年(1979-1989)的希捷是一家纯粹的低端硬盘驱动器制造商,没有技术优势,主要凭借敏锐的洞察力抢占市场先机——这是一把双刃剑:一旦没能把握住潮流走向而被竞争对手超越,便很难翻盘,不像那些技术基础深厚的厂商,还有可能通过生产更具竞争力的产品“后来居上”。因此,1980年代的希捷“成也小型化(5.25英寸),败也小型化(3.5英寸)”,应该说是偶然中有必然。
    要让在IBM开始职业生涯并浸淫多年的Alan Shugart明白这个道理并不难,而收购Imprimis Technology正可以帮助希捷补齐技术上的“短板”,成为名副其实的“Seagate Technology”。以此为转折,希捷踏上了统治硬盘驱动器行业的漫漫长路。
    Imprimis带来了CDC的音圈(voice coil)和磁盘制造专利,以及市场上第一款5400RPM驱动器Elite(精锐)系列,而之前最高的转速是日立DK-711S的4876RPM(1987年推出),CDC Wren Runner系列的4500RPM已经算很快的了。1989年11月发布(1990年供货)的Elite为5.25英寸规格,Imprimis原有的8英寸驱动器业务被放弃,可以说希捷是从一个较高的起点上重新开始。1992年10月,希捷发布业内第一款7200RPM驱动器——3.5英寸的Barracuda(酷鱼,1993年供货),然后在不到10年的时间里先后将主轴转速提高到10000RPM(1996年10月发布Cheetah,1997年供货)和15000RPM(2000年3月发布Cheetah X15)……
     


     

     5.25英寸全高规格(相当于两个光驱摞起来)的Elite驱动器
     
    一而再、再而三的提高主轴转速,是希捷确立并不断巩固高端硬盘驱动器市场霸主地位的重要因素,但还不是全部。1993年10月,希捷发布第二代酷鱼Barracuda 4和2HP,1994年开始供货,其中Barracuda 4成为第一款采用FC-AL(Fibre Channel-Arbitrated Loop,光纤通道仲裁环路)接口的硬盘驱动器。1996年3月,希捷宣布Barracuda 9和4LP——引入了MR磁头、PRML通道和高性能嵌入式伺服(embedded servo)的第三代酷鱼——是该公司首款大量出货的FC-AL接口驱动器。到1999年8月,希捷已出货100万台以上FC-AL硬盘驱动器,彻底击败了IBM倡导的另一种高性能硬盘驱动器接口——SSA(Serial Storage Architecture,串行存储架构)。
    高端的形象确立之后,希捷又回过头来“重收拾旧山河”,于1995年10月与一度排名硬盘驱动器行业三甲的Conner Peripherals签订合并协议,这笔价值约10.4亿美元的并购于1996年2月完成,新公司随即宣布停止原Conner产品开发团队承诺的SSA磁盘驱动器的开发(一举多得……)。合二为一的希捷高低通吃,在总规模约250亿美元的硬盘驱动器行业中的市场占有率从19%骤升至33%,1997年的营业额超过70亿美元,而今日存储行业的老大EMC同期只有29.4亿美元。另外值得一提的是,希捷是1992年至1997年间惟一没有出现过赤字的硬盘驱动器制造商。
    不过,收购Conner使希捷的规模迅速膨胀到了难以控制的程度,尽管也有类似1996年6月将希捷存储系统集团(原Conner Storage Systems Group)卖给磁盘阵列制造商nStor(去年7月被Xyratex收购)的举动,却显然不足以解决问题。希捷公司的收入迅速地从1997财年(截至6月27日)的89.4亿美元下降到1998财年(截至7月3日)的68.2亿美元,两年内市场占有率损失10%。此前IBM已改变了硬盘驱动器只供自己使用的经营策略,以领先业界至少两年的MR磁头杀入2.5英寸驱动器市场,逐渐招架不住的希捷终于“壮士断腕”般地在1998年年初宣布暂时停止其2.5英寸系列Marathon(马拉松)的发展,并大幅裁员约10%(1万多人)。1998年7月,公司创始人Alan Shugart在董事会的要求下被迫退休,原总裁兼COO Stephen J. Luczo接任CEO。
    好在希捷的产品线覆盖面已非常之广,且有雄厚的技术实力和高利润的SCSI/FC-AL驱动器业务,抗打击能力与10年前相比有了显著的提高,最终在Luczo的领导下渡过难关。不过公司的调整还没有完:2000年3月份,由希捷管理层、Silver Lake Partners和Texas Pacific Group三方组成的投资集团以约20亿美元的现金购买所有希捷公司的经营业务,使之退市成为一家私人公司。VERITAS软件公司随即参与进来,获得了希捷公司所持有的约33%(1.28亿股)的VERITAS软件股份、在SanDisk和Dragon Systems等公司拥有的投资债券,以及Seagate Software Network和Storage Management Group(产品如著名的Backup Exec)的所有权,Seagate Software Information Management Group在2001年5月更名为Crystal Decisions。包括VERITAS在内的交易总金额高达200亿美元,对希捷的好处是“能更积极地在核心业务和新兴的市场增长点进行投资。”

     

     
    March 25

    处变不惊

    在2008*奥*运*圣*火*点*燃*仪*式*上,有若干*达*赖*喇*嘛*的追随者在*刘*淇*市长演讲时滋事。

    *C*C*T*V*在报道时,进行了裁剪,只字未提,貌似风平浪静,*国*内*新*闻*媒*体*的“*鸵*鸟*政*策*”或者说“*选*择*性*失*明*和*失*声*”,在目前网络媒体如此发达的背景下,应该不是最好对策。

    令人赞叹和敬佩的是*刘*淇*市长处变不惊,端庄大度。真有古人云的“泰山崩于前而色不沮,麋鹿興于左而目不瞬”,这大概就是我们常说的修养吧。

    March 02

    软件重构思考实录

    所有大型系统的经验都说明,第一个版本不能令人满意,用户体验通常会抱怨资源消耗大、执行效率慢、用户界面不友好。比如Windows软件从1.0发布到较为成功的3.0推出,花了5年时间,3代升级。俺们的一个重要业务系统,也花了3年时间,多次重构才可以让用户能基本接受。看起来,重构是软件生命周期的必经之路,我们需要为了“将来被丢弃”而“现在建设”。
     
    由于设计和开发过程需要持续相当一段时间,其间变化是必然的,不变才是偶然的。设计者面对变化时,不能抗拒和讨厌之,必须对变化进行有效的管理。也就是说,在设计时,需要事先为变化做好准备,而不是假设变化可能不会出现。同时,业务需求变化由业务方面根据项目实施期间外界的变化来驱动,而且越是成功的设计,业务需求变更的压力越大,原因是用户在不断使用的过程中,会探索出新的用法,扩展应用范围。与业务需求变更不同,设计策略和技巧上的变化,则完全由项目内部技术方面来驱动。
     
    大型项目通常采用自顶向下,逐步精化的模式来进行架构设计。Bell实验室V.Vyssotsky曾经指出,“关键的工作是产品定义。许许多多的失败完全源于那些产品未精确定义的地方。”细致的功能定义、详细的规格说明、规范化的功能描述说明是一个项目能否成功实施的基础。在软件的重构过程中,这些基础性的文档必须能够预先地进行重构,否则等待重构的将是灾难。这种方式中,清晰的结构和表达方式更容易对需求和模块功能进行精确的描述。且松耦合的模块分割和模块独立性避免了系统级的问题,遇到问题可以分而治之(不会有人认为项目过程中不会遇到问题吧?呵呵)。另外,细节的隐藏使总体结构上的缺陷更加容易识别。最后,设计在每个精化步骤的层次上是可以分析和测试的,使得具有负反馈效果的Review工作可以尽早开始,并且每个步骤的重点可以放在合适的级别上。
     
    在这种自顶向下的设计模式中,重构有点类似于递归算法中的回溯过程,按部就班的把步骤反过来,直到修订顶层设计,重新自顶向下开始整个过程。这种过程可以使得设计师们清楚在什么时候和为什么抛弃了某个臃肿的设计,并重新开始。如果不采用这种回溯模式,可能重构局限于添加了很多表面装饰般的补丁,最后导致系统内的无序不可控制,“熵”大幅增加,退化到不可救药。
     
    重构中通常需要解决的问题概括如下:
    1. 两个层次:去除无用的设计,且重新对热点部分进行优化性的再设计;去除“死”的源代码。在不断的设计变化、故障修复中,会遗留下不再使用且不再需要的设计和代码。对代码来说,存在比较简单的方法,就是通过一些工具,定位出定义后未被引用的变量,定义后未被调用的函数。
    2. 整理“Copy Paste”的代码。在项目时间压力巨大,不得不引入新人力的情况下,往往会利用已经工作的代码,做些许修改,让某些新功能先运转起来,或者修复掉一个紧急的故障,这种时候,最容易导致的现象就是Copy & Paste。这会给未来的持续发展与维护带来很不利的影响,比如发现一个Bug,可能意味着很多处的修改和测试。
    3. 提炼出一些原则,保持整个系统的一致性,比如函数调用中参数的顺序。增加一些必要的抽象层次,降低实现与接口的耦合程度。将这些公共福利部分写成文档,供后续开发人员和维护人员参考。
     
    洗澡去了,先这么多,以后有空再总结。再见!
     
    March 01

    关于用户界面设计与用户思维的一点思考

    思考了用户界面设计与用户思维的一些关系,设计者需要调整用户界面,以适应用户的思维方式。工业产品设计如是,软件产品设计没有两样。
     
    根据自己观察和实际体验,概括如下:
    1. 设计师容易把控制能力看得比易用性更重要;但实际用户更看重易用性。概括起来,参数化、开关配置等要适可而止,并进行一定的封装。即好的系统架构是设计师方便修改,而不是用户方便修改。用户要的只是方便使用。
     
    2. 设计师容易把系统的工作原理展现给用户;但实际用户更关注结果。典型的就是,错误提示要明确是用户那里错了,要如何调整用户行为,而不是系统那里不对劲了。
     
    3. 设计师容易制造很酷的,但是令用户讨厌的“蛇足”。著名的微软公司在著名的Office软件中,有两个特征就是典型的蛇足,一个是可以浮动的菜单,会导致用户不小心拖动菜单变成一个浮动在文本上阻碍视线的有边框的菜单;另外一个就是长着眉毛的扭来扭去的不断说着废话的称为Clipper曲别针的功能,这个特征从1997年发明,到2005年后被微软取消。
    February 18

    肯尼迪: 我们选择登月

    我们选择登月
    ——约翰·F·肯尼迪在赖斯大学
    关于航天事业的演讲(1962年9月12日)


     约翰·F·肯尼迪


      Pitzer校长,副校长,州长,Thomas众议员,Wiley参议员,Miller众议员,Webb先生,Bell先生,科学家们,尊贵的来宾,女士们先生们:

      我非常感谢你们的校长授予我名誉客座教授的头衔,我向你们保证,我的第一个演讲将会很简洁。我很高兴来到这里,特别是在这个时候来到这里。

      我们在这个以知识而闻名的大学中相会,在这个以进步而文明的城市相会,在这个以实力而闻名的州相会。并且我们需要它们全部三者,因为我们处于一个变化与挑战的时期、希望与失望的10年、知识与无知并存的时代。我们获得的知识越多,我们的显露出的无知也就越多。

      尽管存在一个惊人的事实,世界上绝大多数科学家都在努力奋斗;尽管我国的科研力量以每12年翻一番的速率增长,超过了人口增长速率的3倍;尽管这样,未知、未回答和未完成任务的漫漫长路,仍然远远超出了我们所有人的理解力。

      没有人知道我们能走多远,能走多快。但是,如果你愿意,把人类有史以来的5万年浓缩成半个世纪的时间跨度。在这个时间跨度下,我们对于开始的40年至之甚少,除了知道在这40年的最后出现了学会用兽皮遮体的人类。在这个标准下,大约数年前,人类从洞穴中走出,建造新的家园。仅仅在5年前人类才学会了写字和使用有轮子的车辆。基督教诞生于不到2年之前。印刷出版今年才出现。在人类历史的整个50年跨度中,在最近不到两个月的时间之前,蒸汽机为我们提供了新的动力。

      牛顿发现了引力的意义,上个月出现了电灯、电话、汽车和飞机。仅仅在上周我们才发明了青霉素、电视与核动力。如果现在美国新的飞船能够成功抵达金星,那么我们可以真正算得上在今天午夜抵达别的星球了[1]

      这是激动人心的一步。但是这样的一步在驱散旧的痛苦、无知和问题的同时,不能不创造新的痛苦、新的无知和新的问题。毫无疑问,航天事业的回报高,花费和风险也高

      因此,不难理解有些人要我们在原地止步不前,继续等待。但是休斯敦市、德克萨斯州,美利坚合众国并不是由那些止步不前的人建立的。这个国家是由不断前进的人征服的,航天事业也是这样。

      William Bradford在1630年普利茅斯湾殖民地建立仪式上说,所有伟大而光荣的举动都伴随着巨大的困难,而两者都应该被有责任感的勇气所克服。

      如果说这个人类进步的浓缩历史教育了我们什么,那么就是,在寻求知识和进步的过程中的人类是坚定而不能被阻止的。空间探索将会继续,不论我们是否加入它。无论在什么时候,它都是一项重大的冒险,没有任何一个期望成为世界领袖的国家希望在这场空间竞赛中停步。

      我们的前辈让这个国家掀起了工业革命的第一波浪潮、现代发明的第一波浪潮、核动力的第一波浪潮。而我们这一代并不希望在即将到来的太空时代的浪潮中倒下。我们要参与其中——我们要领导潮流。为了全世界注视太空、月球和其他行星的人们,我们发誓我们不会看到太空代表敌意的旗帜,而应该是代表自由与和平的旗帜。我们发誓我们不会看到太空充满了大规模杀伤性武器,而应该是充满获取知识的工具。

      然而,我国的承诺只有在我国领先——因为我们想要领先——的情况下才能得以履行。简而言之,我们在科学和工业上的领导地位,我们对于和平和安全的渴望,我们对于自身和他人的责任,所有这一切要求我们做出努力,为了全人类的利益解决这些谜团,成为世界领先的航天国家。

      我们踏上新的航程,为了获取新的知识,为了赢得新的权利,获取并运用权利,应该是为了全人类的进步。空间科学,正如核科学以及其他技术,本身没有道德可言。它成为善或者恶的力量,取决于人类。并且只有当美利坚合众国取得一个卓越的地位,才能帮助决定这片新的领域和平还是成为战争的威胁。我不认为我们应该或者必须对敌人滥用太空比对敌人滥用陆地和海洋更加无动于衷,但是我确实认为,太空能够在非战争的目的下开发和利用、再不重复人类曾经犯过的错误的情况下开发和利用。

      在太空上还没有竞争、偏见和国家冲突。太空的危险是面对我们所有人的。太空值得全人类尽最大的努力去征服,而且和平合作的机会可能不会重来。但是,有些人问,为什么是月球?为什么选择登月作为我们的目标?他们也许会问为什么我们要登上最高的山。35年前,为什么要飞越大西洋?为什么赖斯大学要与德克萨斯大学比赛?[2]

      我们决定登月(掌声),我们决定在这个十年间登月,并且做其他的事(掌声),不是因为它们简单,而是因为它们困难,因为这个目标将有益于组织和分配我们的优势能力和技能,因为这个挑战是我们乐于接受的,因为这个挑战是我们不愿推迟的,因为这个挑战是我们打算赢得的,其他的挑战也是一样。

      正是因为这些理由,我把去年关于提升航天计划的决定作为我在本届总统任期内最重要的决定之一。

      在过去的24小时里,我们看到一些设施已经为人类历史上最复杂的探险而建立起来。我们感受到了土星C-1助推火箭试验产生的震动和冲击波,它比把John Glenn[3]送入太空的大力神火箭还要强大好几倍,产生相当于10万辆汽车的功率。我们看到了5个F-1火箭发动机,每一个都相当于8个土星火箭发动机的功率,它们将会用于更先进的土星火箭,在卡纳维拉尔角即将兴建的48层大楼中组装起来,这幢建筑宽一个街区,长度超过我们这个体育场的两倍。

      在过去的19个月中至少有45颗卫星进入了太空,其中大约40颗标着“美国制造”的标记,它们比苏联的卫星更加精密,更能为世界人民提供更多的知识。

      正在飞向金星的水手号飞船是空间科学史上最复杂的装置。其精确程度比得上在卡纳维拉尔角发射的一枚火箭击中这个体育场的40码线之间。

      海事卫星让海上的船只航行更安全,气象卫星给我们对于飓风和风暴空前的警告,它同样也能用于森林火灾和冰山的预警。

      我们经历过失败,但是别人也经历过,即使他们不承认失败。因此它们可能不为人所知。

      很显然,我们落后了,并且在载人航天方面继续落后一段时间。但是我们并不打算一直落后,在这个十年间我们将会迎头赶上。

      我们获得的关于宇宙和环境的新知识,新的学习、绘图和观测技术,用于工业、医学和家庭的新工具和计算机,所有这些都将促进科学和教育的发展。像赖斯大学这样的技术院校将会因此而得益。

      最终,尽管航天事业本身仍然处于童年,它已经催生了很多公司,数以千计的工作机会。航天和其他相关工业对投资和有特殊技能的人力产生了新的需求。并且,这个城市、这个州、这个地区将会极大的分享这种增长。西部曾经的旧疆域将会成为空间科学的新疆域。休斯敦,你们的休斯敦市,以及它的载人飞行器中心,将会成为一个大的科学与工程共同体的心脏。在接下来的5年中,宇航局期望这个地区的科学家和工程师数量加倍,期望把工资和开支提高到每年6千万美元,期望在工厂和实验室设施上得到2亿美元的投资,期望指导或与这个城市的航天中心签订超过10亿美元的合同。

      很显然,这将会花去我们一大笔钱。今年的航天预算是1961年1月的3倍,比过去8年的总和还要多。预算现在保持在每年54亿美元——一个令人吃惊的数目,尽管还稍微小于我们在香烟和雪茄上的消费额。航天支出很快就会从平均每人每周40美分上升到50美分的程度,因为我们赋予了这个计划很高的国家优先权,即使我觉得它稍微有点信念与幻想的意味,因为我们不知道会有什么样的好处等待着我们。但是我说,我的同胞们,我们应该登上月球,那个距离距离休斯敦控制中心24万英里的天体,建造一个超过300英尺高的火箭,和这个橄榄球场的长度相同,由新的合金制成,其中一些我们还没有发明出来,能够承受数倍于以前的材料所能承受的热和压力,装配的精密程度媲美最精巧的手表,携带有用于推进、导航、控制、通讯、食品和维生的全部设备,执行一个没有先例的使命,登上那个未知的天体,然后安全的返回地球,以超过每小时2万5千英里的速度重返大气层,产生的温度大约是太阳温度的一半,就像今天这里这样热——我们要达到全部这些目标,要顺利达到这个目标,要在这个十年达到,因此我们必须勇于面对。

      我一个人做了所有这个工作,所以我们想让你们冷静一会儿(笑声)。

      然而,我认为我们正在付诸实践,我们必须付出应该付出的。我不认为我们应该浪费金钱,但是我认为我们应该付诸实践。这些应该在60年代实现,它有可能在你们还在中学、这所学院和大学中的时候实现。它将会在台上诸位任期之内实现。但是它应该完成,它应该在这10年末之前完成。

      我很高兴这所大学在登月计划中扮演着一个角色,作为美利坚合众国的国家事业的一部分。

      很多年之前,伟大的英国探险家George Mallory——他死于攀登珠穆朗玛峰——被人问到他问什么要攀登珠穆朗玛峰。他回答说:“因为它就在哪儿。”

      因此,太空就在那儿,而我们将要登上它,月球和其他行星在那儿,获得知识与和平的新希望在那儿。因此,当我们启程的时候,我们祈求上帝保佑这个人类有史以来所从事的最危险和最伟大的冒险。

      谢谢。


      [1]这句话的含义是双重的,一方面指在压缩的人类历史中,探测其他星球只不过是最近的事,另一方面肯尼迪指的是美国的水手号金星探测器。水手2号于1962年12月成功抵达金星。

      [2]这里指两所大学的橄榄球队。

      [3] John Glenn,第一个进入太空的美国宇航员。

    February 07

    软件开发中纠错与创新的辩证统一


    软件开发与测试工作中,“纠错”的优先级要高于“创新”。此处的“创新”指开发新特征:可以是一个新的功能,也可能是一个技术架构上的优化。
     
    原因如下:
    1. 在纠正错误的过程中,可以找到更好的方法,或者有更多的经验来实现新特征。
    2. 纠正错误的工作如果放到开发周期的最后阶段,所花费的时间要长。原因两点:同样的错误可能已经在多个地方出现;修改一年前写的代码比修改几天前的代码难度大。
    3. 想一次性地修改完毕所有的错误是不可能的,同时改正多个旧错误的同时,必然会引入新错误。为了避免这个怪圈,最好的方法就是一个一个地修改,测试,关闭。
    4. 规定只有把错误改正之后,才能增加新特征。只有把错误数保持在近乎于0的数量上,项目的进度才是真实的。而且,这样状态下,项目总是处于可随时交出已开发完毕特征的有利地位。如果管理层允许错误向后迁延,进度失控的可能性非常之大。
    February 03

    雪、暖气和煤

    我出生自山西。记忆中的景象是缺水且难以解决。一个很简单的原因:在这里的独特地理构造下,如果你去挖水井,打出一个煤矿的可能性更高。总之,印象中故乡的冬天,室内总是很暖和,而室外空气中总是有煤燃烧的味道。

    今年南方气候反常,冰雪成灾,某些地区的输电线路和高速公路同时瘫痪。根据国家调配,山西大量向全国各地运输煤炭,供给各地火电场发电用,结果山西省内的的一些地级县市,出现了从来没有过的煤炭荒,暖气停了!

    这又是蝴蝶效应的一个例证:中国南方的持续大雪,导致拥有全世界80%以上煤炭储量的山西的暖气停了。

    January 26

    小学数学题目

    今日收一短信,北京一朋友上小学儿子作业题目如下:
    把1到1987均匀排列成一个圆圈,从1开始数,隔过1,划掉2、3;隔过4,划掉5、6。转圈划下去,问最后剩几?
     
     
    哎,我上博士的时候,学组合数学,题目也不过如此。现在的小朋友真可怜。
     
    试解答如下:
    总数Y不能使得在划到最后,剩两个数,此时无解。
    总数Y若为3的整数次方,必然剩1。
    总数Y不是3的整数次方,则取小于该数最大的3的整数次方数为X。取(Y-X)*3/2 +1 为最后剩下的数字。
     
    回头写个小程序暴力计算验证一下。