| 剑's profileWill's SpacePhotosBlogLists | Help |
|
|
Will's SpaceAnything one man can imagine, other men can make real. 8/4/2009 ZT - When the worst case is really, really badhttp://dobbscodetalk.com/index.php?option=com_myblog&show=When-the-worst-case-is-really-really-bad.html&Itemid=29
In my last note, I talked about the idea of something happening "with probability 1." Such events are bound to happen eventually, even though there is no way to predict just how long it might take. A similar notion occurs with algorithms that have a worst case that is much worse than average. Two such algorithms, or categories of algorithms, are quicksort and hashing. Hashing typically relies on the notion a hash code with the property that if two values are unequal, their hash codes will usually be unequal as well. Such hash codes can fail in three ways. First, the hash code might be poorly designed. As a limiting example, one can imagine someone constructing a data structure for which the hash code is always 42, with the intention of coming back later and replacing that sillly hash code with something genuinely useful. Forgetting to replace it might slip through testing and cause performance problems during production. More generally, from time to time we see hash codes that just don't work as well in practice as they did in theory. The second kind of failure is much less likely: Perhaps someone could come along by accident and supply a bunch of data values that just happen to have the same hash code. The whole point of hashing, of course, is to choose a hash algorithm that will make this eventuality very unlikely in practice. Indeed, if the hash algorithm is effectively random, then the chance of such dire performance problems is usually too small to worry about. Where such problems become severe is in the third case: Perhaps a malicious user might reverse-engineer the hash code and supply data with the specific purpose of making the hash algorithm perform badly. Such reverse engineering is a kind of denial-of-service attack, and in our increasingly security-sensitive world, has to be taken more seriously than most people realize. The point is that events that are rare in theory can be made common through a coordinated effort. Many years ago, I heard about a striking example of such an attack. It took place in a college dorm that had tankless toilets. Such toilets rely on a large flow of water being for the short time during which the toilet is being flushed. A small pressure-activated device in the toilet shuts off the water after it has been running long enough. What happened in this dorm was that some students decided to see what would happen if they flushed all the toilets in the building at the same time. To do this, they enlisted a bunch of friends, synchronized their watches, and flushed the toilets. The results were surprising. Allowing water to flow to all of those toilets at once dropped the water pressure in the building to below what was necessary to activate the shutoff mechanisms. So all the toilets continued to allow water to trickle through their pipes, which in turn prevented the water pressure from increasing. In effect, flushing all the toilets at once broke the building's plumbing, and it stayed broken until someone went through the building and shut off enough of the toilets' water supply by hand to allow the remaining toilets to shut themselves off. This is a graphic example of how to crash a system by arranging for enough events to happen at the same time that shouldn't be doing so. It's much the same kind of denial-of-service attack that one might mount against a hashing algorithm. In case you think such an attack is infeasible in practice, consider quicksort. Like hashing, this is an algorithm that works very well most of the time but has a horrible worst case. The basic idea is to pick a random element in the sequence to be sorted, and then partition the sequence into three segments that are respectively less than, equal to, or or greater than the chosen element. This can be done in linear time by swapping elements. After partitioning, one runs quicksort recursively on the two segments that are unequal to the chosen element. Quicksort works because a randomly chosen element is apt to sort into a random position in the sequence. If by chance one chooses too many elements that are close to the highest or lowest value in the sequence, performance will be horrible; but that almost never happens. But consider abstract data types, which in principle can have comparison functions that can change at run time. Might it be possible to mount a denial-of-service attack against a quicksort program by observing how it chooses the elements to compare and subverting the comparison function accordingly? The answer is yes: In 1999, Doug McIlroy wrote a paper that explains how to do it. Fortunately, I have not personally encountered a case where someone actually made a system misbehave by using McIlroy's technique. However, the fact that it exists, together with the results of flushing all those toilets, suggests that when we design systems that are intended to be used by people who might conceivably be hostile toward us, we should be very careful when we think about events that "almost never happen so we can ignore them." 5/31/2009 ZT - 101条伟大的计算机编程名言“人们总是害怕改变。电被发明出来的时候他们害怕电,是不是?他们害怕煤,害怕蒸汽机车。无知无所不在,并导致恐惧。但随着时间推移,人们终究会接受最新的科技。”
正如比尔盖茨曾经警告过一样,计算机已经真正成为我们的最新科技,几乎遍布我们日常生活的每一方面。所以,我们这个时代的某些最伟大的头脑开始思索起计算机和软件对于人类的重要性来了。以下就是101条有关计算机的伟大名言,并且,既然我们这个网站是一个软件开发网站,我们尤其关注编程方面的。
计算机
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)
软件开发
78、“好的程序员会用脑,但是好的向导救我们于样样都要想到。”
(Francis Glassborow) 79、“在软件里面,我们鲜有有意义的需求。就算有,衡量成功的唯一尺度也取决于我们的解决方案是否解决了客户对问题是什么的观念的转变。”
(Jeff Atwood) 80、“想想我们计算机程序的糟糕现状吧,很显然软件开发仍是黑箱艺术,还不能称之为工程学科。”
(Bill Clinton,前美国总统) 81、“没有伟大的团队就没有伟大的软件,可大部分的软件团队举止就像是支离破碎的家庭。”
(吉姆·麦卡锡,微软VC++总监) 调试
82、“一旦我们开始编程,就会惊讶地发现让程序正常没想象中那么简单。调试不可避免。那一刻我认记忆犹新,当时我就意识到,从今往后我生活的大部分时间都要花在寻找自己程序的错误上面了。”
(莫里斯·威尔克斯 调试探索, 1949)
83、“调试难度本来就是写代码的两倍。因此,如果你写代码的时候聪明用尽,根据定义,你就没有能耐去调试它了。”
(Brian Kernighan) 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、“长此以往,除了按键的手指外,人类的肢体将全部退化。”
(弗兰克•劳埃德•赖特,建筑师) “People always fear change. People feared electricity when it was invented, didn’t they? People feared coal, they feared gas-powered engines. There will always be ignorance, and ignorance leads to fear. But with time, people will come to accept their silicon masters.”
As Bill Gates once warned, computers have indeed become our silicon masters, pervading nearly every aspect of our modern lives. As a result, some of the greatest minds of our time have pondered the significance of computers and software on the human condition. Following are 101 great quotes about computers, with an emphasis on programming, since after all this is a software development site.
Computers
1. “Computers are useless. They can only give you answers.”
(Pablo Picasso) 2. “Computers are like bikinis. They save people a lot of guesswork.”
(Sam Ewing) 3. “They have computers, and they may have other weapons of mass destruction.”
(Janet Reno) 4. “That’s what’s cool about working with computers. They don’t argue, they remember everything, and they don’t drink all your beer.”
(Paul Leary) 5. “If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.”
(Robert X. Cringely) Computer Intelligence
1. “Computers are getting smarter all the time. Scientists tell us that soon they will be able to talk to us. (And by ‘they’, I mean ‘computers’. I doubt scientists will ever be able to talk to us.)”
(Dave Barry) 2. “I’ve noticed lately that the paranoid fear of computers becoming intelligent and taking over the world has almost entirely disappeared from the common culture. Near as I can tell, this coincides with the release of MS-DOS.”
(Larry DeLuca) 3. “The question of whether computers can think is like the question of whether submarines can swim.”
(Edsger W. Dijkstra) 4. “It’s ridiculous to live 100 years and only be able to remember 30 million bytes. You know, less than a compact disc. The human condition is really becoming more obsolete every minute.”
(Marvin Minsky) Trust
1. “The city’s central computer told you? R2D2, you know better than to trust a strange computer!”
(C3PO) 2. “Never trust a computer you can’t throw out a window.”
(Steve Wozniak) Hardware
1. “Hardware: The parts of a computer system that can be kicked.”
(Jeff Pesis) Software
1. “Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.”
(Alan Kay) 2. “I’ve finally learned what ‘upward compatible’ means. It means we get to keep all our old mistakes.”
(Dennie van Tassel) Operating Systems
1. “There are two major products that come out of Berkeley: LSD and UNIX. We don’t believe this to be a coincidence.”
(Jeremy S. Anderson) 2. “19 Jan 2038 at 3:14:07 AM”
(End of the word according to Unix–2^32 seconds after January 1, 1970) 3. “Every operating system out there is about equal… We all suck.”
(Microsoft senior vice president Brian Valentine describing the state of the art in OS security, 2003) 4. “Microsoft has a new version out, Windows XP, which according to everybody is the ‘most reliable Windows ever.‘ To me, this is like saying that asparagus is ‘the most articulate vegetable ever.‘ “
(Dave Barry) lnternet
1. “The Internet? Is that thing still around?”
(Homer Simpson) 2. “The Web is like a dominatrix. Everywhere I turn, I see little buttons ordering me to Submit.”
(Nytwind) 3. “Come to think of it, there are already a million monkeys on a million typewriters, and Usenet is nothing like Shakespeare.”
(Blair Houghton) Software Industry
1. “The most amazing achievement of the computer software industry is its continuing cancellation of the steady and staggering gains made by the computer hardware industry.”
(Henry Petroski) 2. “True innovation often comes from the small startup who is lean enough to launch a market but lacks the heft to own it.”
(Timm Martin) 3. “It has been said that the great scientific disciplines are examples of giants standing on the shoulders of other giants. It has also been said that the software industry is an example of midgets standing on the toes of other midgets.”
(Alan Cooper) 4. “It is not about bits, bytes and protocols, but profits, losses and margins.”
(Lou Gerstner) 5. “We are Microsoft. Resistance Is Futile. You Will Be Assimilated.”
(Bumper sticker) Software Demos
1. “No matter how slick the demo is in rehearsal, when you do it in front of a live audience, the probability of a flawless presentation is inversely proportional to the number of people watching, raised to the power of the amount of money involved.”
(Mark Gibbs) Software Patents
1. “The bulk of all patents are crap. Spending time reading them is stupid. It’s up to the patent owner to do so, and to enforce them.”
(Linus Torvalds) Complexity
1. “Controlling complexity is the essence of computer programming.”
(Brian Kernigan) 2. “Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges, and it causes end-user and administrator frustration.”
(Ray Ozzie) 3. “There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.”
(C.A.R. Hoare) 4. “The function of good software is to make the complex appear to be simple.”
(Grady Booch) Ease of Use
1. “Just remember: you’re not a ‘dummy,’ no matter what those computer books claim. The real dummies are the people who–though technically expert–couldn’t design hardware and software that’s usable by normal consumers if their lives depended upon it.”
(Walter Mossberg) 2. “Software suppliers are trying to make their software packages more ‘user-friendly’… Their best approach so far has been to take all the old brochures and stamp the words ‘user-friendly’ on the cover.”
(Bill Gates) 3. “There’s an old story about the person who wished his computer were as easy to use as his telephone. That wish has come true, since I no longer know how to use my telephone.”
(Bjarne Stroustrup) Users
1. “Any fool can use a computer. Many do.”
(Ted Nelson) 2. “There are only two industries that refer to their customers as ‘users’.”
(Edward Tufte) Programmers
1. “Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning.”
(Rich Cook) 2. “Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris.”
(Larry Wall) 3. “The trouble with programmers is that you can never tell what a programmer is doing until it’s too late.”
(Seymour Cray) 4. “That’s the thing about people who think they hate computers. What they really hate is lousy programmers.”
(Larry Niven) 5. “For a long time it puzzled me how something so expensive, so leading edge, could be so useless. And then it occurred to me that a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are, in short, a perfect match.”
(Bill Bryson) 6. “Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.”
(Eric Raymond) 7. “A programmer is a person who passes as an exacting expert on the basis of being able to turn out, after innumerable punching, an infinite series of incomprehensive answers calculated with micrometric precisions from vague assumptions based on debatable figures taken from inconclusive documents and carried out on instruments of problematical accuracy by persons of dubious reliability and questionable mentality for the avowed purpose of annoying and confounding a hopelessly defenseless department that was unfortunate enough to ask for the information in the first place.”
(IEEE Grid newsmagazine) 8. “A hacker on a roll may be able to produce–in a period of a few months–something that a small development group (say, 7-8 people) would have a hard time getting together over a year. IBM used to report that certain programmers might be as much as 100 times as productive as other workers, or more.”
(Peter Seebach) 9. “The best programmers are not marginally better than merely good ones. They are an order-of-magnitude better, measured by whatever standard: conceptual creativity, speed, ingenuity of design, or problem-solving ability.”
(Randall E. Stross) 10. “A great lathe operator commands several times the wage of an average lathe operator, but a great writer of software code is worth 10,000 times the price of an average software writer.”
(Bill Gates) Programming
1. “Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.”
(Mosher’s Law of Software Engineering) 2. “Measuring programming progress by lines of code is like measuring aircraft building progress by weight.”
(Bill Gates) 3. “Writing code has a place in the human hierarchy worth somewhere above grave robbing and beneath managing.”
(Gerald Weinberg) 4. “First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack.”
(George Carrette) 5. “First, solve the problem. Then, write the code.”
(John Johnson) 6. “Optimism is an occupational hazard of programming; feedback is the treatment.”
(Kent Beck) 7. “To iterate is human, to recurse divine.”
(L. Peter Deutsch) 8. “The best thing about a boolean is even if you are wrong, you are only off by a bit.”
(Anonymous) 9. “Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.”
(Stan Kelly-Bootle) Programming Languages
1. “There are only two kinds of programming languages: those people always bitch about and those nobody uses.”
(Bjarne Stroustrup) 2. “PHP is a minor evil perpetrated and created by incompetent amateurs, whereas Perl is a great and insidious evil perpetrated by skilled but perverted professionals.”
(Jon Ribbens) 3. “The use of COBOL cripples the mind; its teaching should therefore be regarded as a criminal offense.”
(E.W. Dijkstra) 4. “It is practically impossible to teach good programming style to students that have had prior exposure to BASIC. As potential programmers, they are mentally mutilated beyond hope of regeneration.”
(E. W. Dijkstra) 5. “I think Microsoft named .Net so it wouldn’t show up in a Unix directory listing.”
(Oktal) 6. “There is no programming language–no matter how structured–that will prevent programmers from making bad programs.”
(Larry Flon) 7. “Computer language design is just like a stroll in the park. Jurassic Park, that is.”
(Larry Wall) C/C++
1. “Fifty years of programming language research, and we end up with C++?”
(Richard A. O’Keefe) 2. “Writing in C or C++ is like running a chain saw with all the safety guards removed.”
(Bob Gray) 3. “In C++ it’s harder to shoot yourself in the foot, but when you do, you blow off your whole leg.”
(Bjarne Stroustrup) 4. “C++ : Where friends have access to your private members.”
(Gavin Russell Baker) 5. “One of the main causes of the fall of the Roman Empire was that–lacking zero–they had no way to indicate successful termination of their C programs.”
(Robert Firth) Java
1. “Java is, in many ways, C++–.”
(Michael Feldman) 2. “Saying that Java is nice because it works on all OSes is like saying that anal sex is nice because it works on all genders.”
(Alanna) 3. “Fine, Java MIGHT be a good example of what a programming language should be like. But Java applications are good examples of what applications SHOULDN’T be like.”
(pixadel) 4. “If Java had true garbage collection, most programs would delete themselves upon execution.”
(Robert Sewell) Open Source
1. “Software is like sex: It’s better when it’s free.”
(Linus Torvalds) 2. “The only people who have anything to fear from free software are those whose products are worth even less.”
(David Emery) Code
1. “Good code is its own best documentation.”
(Steve McConnell) 2. “Any code of your own that you haven’t looked at for six or more months might as well have been written by someone else.”
(Eagleson’s Law) 3. “The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.”
(Tom Cargill) Software Development
1. “Good programmers use their brains, but good guidelines save us having to think out every case.”
(Francis Glassborow) 2. “In software, we rarely have meaningful requirements. Even if we do, the only measure of success that matters is whether our solution solves the customer’s shifting idea of what their problem is.”
(Jeff Atwood) 3. “Considering the current sad state of our computer programs, software development is clearly still a black art, and cannot yet be called an engineering discipline.”
(Bill Clinton) 4. “You can’t have great software without a great team, and most software teams behave like dysfunctional families.”
(Jim McCarthy) Debugging
1. “As soon as we started programming, we found to our surprise that it wasn’t as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.”
(Maurice Wilkes discovers debugging, 1949) 2. “Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are–by definition–not smart enough to debug it.”
(Brian Kernighan) 3. “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
(Edsger W. Dijkstra) Quality
1. “I don’t care if it works on your machine! We are not shipping your machine!”
(Vidiu Platon) 2. “Programming is like sex: one mistake and you’re providing support for a lifetime.”
(Michael Sinz) 3. “There are two ways to write error-free programs; only the third one works.”
(Alan J. Perlis) 4. “You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time.”
(Bertrand Meyer) 5. “If McDonalds were run like a software company, one out of every hundred Big Macs would give you food poisoning, and the response would be, ‘We’re sorry, here’s a coupon for two more.’ “
(Mark Minasi) 6. “Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.”
(Martin Golding) 7. “To err is human, but to really foul things up you need a computer.”
(Paul Ehrlich) 8. “A computer lets you make more mistakes faster than any invention in human history–with the possible exceptions of handguns and tequila.”
(Mitch Radcliffe) Predictions
1. “Everything that can be invented has been invented.”
(Charles H. Duell, Commissioner, U.S. Office of Patents, 1899) 2. “I think there’s a world market for about 5 computers.”
(Thomas J. Watson, Chairman of the Board, IBM, circa 1948) 3. “It would appear that we have reached the limits of what it is possible to achieve with computer technology, although one should be careful with such statements, as they tend to sound pretty silly in 5 years.”
(John Von Neumann, circa 1949) 4. “But what is it good for?”
(Engineer at the Advanced Computing Systems Division of IBM, commenting on the microchip, 1968) 5. “There is no reason for any individual to have a computer in his home.”
(Ken Olson, President, Digital Equipment Corporation, 1977) 6. “640K ought to be enough for anybody.”
(Bill Gates, 1981) 7. “Windows NT addresses 2 Gigabytes of RAM, which is more than any application will ever need.”
(Microsoft, on the development of Windows NT, 1992) 8. “We will never become a truly paper-less society until the Palm Pilot folks come out with WipeMe 1.0.”
(Andy Pierson) 9. “If it keeps up, man will atrophy all his limbs but the push-button finger.”
(Frank Lloyd Wright) 5/18/2009 ZT : 恭喜杭州交警荣获2009诺贝尔物理学奖诺贝尔物理学奖委员会近日在瑞典斯德哥尔摩宣布:由于杭州交警在5。7撞车事件中推翻了能量守恒定律和牛三定律,将提前获得2009年物理学奖。杭州交警具体推翻此经典定律的过程如下: 通过录像资料以及目击者证词可知:汽车越过斑马线50米后停止:S1=50. 受害人谭卓被撞飞5米高20米远:h=5,S2=20. 跑车刹车时轮胎与干燥水泥地面的摩擦因数为u=0.8。 跑车质量约为1600kg:M1=1600。 谭卓质量约为70kg:M2=70。 人与车碰撞时间约为0.1s即t1=0.1。 玻璃凹下0.1米,即s3=0.1。 设汽车发生形变所需能量为E1,人发生形变所需能量为E2,刹车前汽车速度为v0,碰撞前汽车速度为v1,人被撞后速度为V2, 人与车的平均作用力为F 通过能量守恒可知:1/2*M1*V1*V1=u*M1*g*S1+1/2*M2*V2*V2+E1+E2 即碰撞的汽车动能等于轮胎与地面产生的热量、人的动能、汽车与人发生形变所需能量之和。 其中:(1)轮胎与地面产生的热量:u*M1*g*S1=0.8*1600*10*50=640000 (2)人从最高点下落时:h=1/2*g*t*t 则t=1s。人在空中总时间为2t=2s。可解得人的水平速度Vx=S2/2t=10,竖直速度Vy=根号下2gh=10,则人被撞后速度V2=根号200 可解得人的动能为1/2*M2*V2*V2=7000 (3)以人为对象,通过动量定理可得:F*t1=M2*v2-0 则F=9870 汽车发生形变所需能量E1=F*S3=987 (4)人发生形变所需能量E2约等于E1=987 把以上数据带入方程可解得v1=28.8m/s=104km/h 根据人的本能反应:碰撞前人会刹车,则v0大于等于v1,所以汽车时速至少在100km/h以上。 而交警通过大量事实证明车的时速为70码,实践是检验真理的唯一标准,可知能量守恒定律以及牛顿定律不能成立。这在物理学的发展史上具有里程碑的意义,所以杭州交警们当之无愧地获得2009年若贝尔物理学奖! 2/26/2009 东航增发70亿 A股3.8元 H股1元 2月26日下午,中国第三大航空公司——中国东方航空(600115)股份有限公司(China Eastern Airlines Corporation Limited,简称“东航”)宣传部部长李江周四表示,下午召开的公司股东大会已通过了定向增发股票以筹资70亿元人民币的议案,全部用以补充公司流动资金。
其中,A股增发价格为3.87元/股,发行数量为14.37亿股;H股新股的认购价格为1元人民币,发行数量与A股相同。在本次新股发行完毕後,东航集团的控股比例将由发行前的59.67%上升至74.64%。 会议由公司董事长刘绍勇先生主持,公司部分董事、监事、高级管理人员以及股东代表参加了会议。会议投票表决通过了中国东方航空(600115)股份有限公司以非公开发行方式向中国东方航空集团公司及其全资下属公司定向增发A股和H股的方案。会议还审议通过了中国东方航空股份有限公司股东大会、董事会、监事会议事规则等议案。 官方媒体此前援引相关人士指出,一旦此次70亿元注资到位,东航的资产负债率将降低8.36个百分点;公司营运资金压力将获得相当程度地缓解,财务状况将得到更大幅度改善。 包括东航、南方航空及中国国航在内的中国三大航空公司去年均公告业绩预亏。 东方航空A股周四因召开股东大会而停牌,周三收报5.29元,H股周四尾市报1.04港元,下跌0.01港元,或0.95%。 ---------------------------------------
原笔者评: 根据定向增发方案,东航将以每股3.87元人民币的价格非公开发行A股143,737.5万股,同时以每股1元人民币的价格非公开发行同等数量的H股。在本次定向增发完成后,中国东方航空集团公司的控股比例将由发行前的59.67%上升至74.64%。但让笔者很是不爽的是你狮子大张口一次性增发70亿也就算了,为何A和H的定价差距这么大呢?你可以学平安、学浦发想办法圈钱,但需知盗亦有道啊?! Will评: 终于有机会用今天刚学会的一个新单词了---- WTF!! 2/7/2009 ZT: 上班才三年 分享我的“鸡蛋”理财法我是一个出来工作了三年的大学生,从三年前的毕业上岗起,我就一直在学习理财的方法,规划自己的理财计划。三年下来,还算小有成就,愿与大家分享,共同发展。 在学习理财之前首先我觉得我们应该先树立一个观念:投资理财不是有钱人的专利。在我的身边,总有许多跟我同样是工薪阶层或中低收入者持有“有钱才有资格谈投资理财”的观念。普遍认为,每月固定的工资收入应付日常生活开销就差不多了,哪来的余财可理呢?“理财投资是有钱人的专利,与自己的生活无关”仍是一般大众的想法。 事实上,越是没钱的人越需要理财。举个例子,假如你身上有10万元,但因理财错误,造成财产损失,很可能立即出现危及到你的生活保障的许多问题,而拥有百万、千万、上亿元“身价”的有钱人,即使理财失误,损失其一半财产亦不致影响其原有的生活。因此说,必须先树立一个观念,不论贫富,理财都是伴随人生的大事,在这场“人生经营”过程中,愈穷的人就愈输不起,对理财更应要严肃而谨慎地去看待。 在刚毕业的时候,就听过这么一个故事:古巴比伦的财务专家亚凯德有一次问学生:“假如你的菜篮每天可收10个鸡蛋,但只拿9只做菜用,久而久之结果会如何?”学生异口同声地答:“篮子就会装满。”但当问到如何去处置那可能会溢出的节余鸡蛋时,就有不同的回答和做法:有人开始大吃大喝,有人拿出来另装篮,有人则取而用之育小鸡。 我与男朋友都是工薪一族,工资都属于固定收入,加在一起每月大概3000元左右,再加上奖金补贴500左右。在一开始的时候我们就非常节俭,看看我们手中的钞票,经过计划每月总有些节余。我们刚开始一两个月是会把它放入柜子里,但后来发觉这是最不保险的,一是因为我们住的那里有小偷,二是因为物价上涨,这样柜里的余钱不是缩水就是被盗;家里人建议我们将钱存入银行,以坐收渔利。 这是累积“鸡蛋”法,保守投资的开始,但因为利息不可能追上通胀率,我们觉得最终也是要缩水;男朋友的一些同事们都拿余钱去买些利息高而又没有风险的证券,息率总会高于同期银行存款利率,这是相对高明的方法,搞好了起码保障,余钱不贬值;我的一些女友敢于冒点风险,建议我拿出余钱进入股票市场或者与人合资办点实业。但这需要经验、时间和精力,对于我们这些刚工作的工薪一族,风险大些但收益也会大些,这要胆大心细敢博敢输才有作为。如果方法得当,当然能大增其值,所得收益一般会高于物价上涨的幅度。 多方面的建议让我们一开始不知所措,如何才能更好的利用我们三千元呢?经过多方面的考虑和尝试,我们觉得综合运用是工薪一族理财的最好方法。 家庭的支出:很多人是“余钱=收入-支出”,但是庆幸我男友是一个很会合理花钱的人,我建议大家一定要记帐,因为只有记帐才能对自己的花销有清楚的认识。对自己花的多的地方,我就在这方面有意识的控制,通过记帐可以对自己的开支状况有具体的了解,一般坚持3个月就可以基本上总结出自己每月的基本开支大概是多少了,我们也渐渐的将公式改为“支出=收入-余钱”,强制规定余钱的一个数额,这样就可以开始制定适合自己的理财计划和收支预算了。通过记帐和收支预算,现在我们不仅每天过的很舒适,而且家庭支出部分基本上每个月都有所结余,省钱又开心其实挺简单的。 1.三分之二的储蓄:通过比较,我选择每个月存一张定期存单,也想过零存整取的,不过利息上不太合适。虽然每月存一张存单有些麻烦,但是好处也很多,除了利息上的收益,一年到期后如果不需要动用这笔钱还可以加利息一起再存起来,复利的收益是很惊人的。而且万一需要提前支取,损失的利息也比较少。这笔钱我基本上是每个月工资一到手就存起来的,这样可以避免不知不觉就花掉了。很多人觉得储蓄没有必要,但是我觉得储蓄的作用还是很大的,至少你会有一个保底的钱应急,心里会很踏实。同时如果要贷款、出国留学或者申请高额信用卡的时候都会有一些作用。 2.三分之一的投资:余钱中1/3之一的钱用来做基金定投。我个人非常推荐这种基金业务。基金定投就是每个月用固定的金额在固定的时间依据上一交易日的基金净值来购买基金。(Will注1) 对于我们这种收入并不高的人来说,一次性的动用很多钱去购买基金是有些困难的。而基金定投的门槛很低,200元就可以购买,而且省时省心,很多银行都有这种业务,而且在网上银行就可以办理,登陆网上银行之后全部的交易信息都一目了然,十分方便。我个人承受风险的能力还是比较强的,所以我的基金组合是选了三支基金,两支股票型,和一支稳健型。之所以分开选择股票型基金,主要是考虑到基金的投资组合不同,希望可以通过互相弥补提高收益率。我个人认为选择股票基金一定要看它的长期业绩,至少要2年以上,而且不要太看重净值的高低,净值偏低的基金(刚分红的除外)收益率基本上是很低的。同时,投资基金也不是一劳永逸的,要经常看看基金每季度的情况报告和投资组合,对于收益较低的基金品种可以考虑转换其它品种。投资基金一定要看长期收益,开始的时候我天天盯着基金净值,总觉得它涨的慢,后来有一段时间没去关心它,反而发现它的收益也是蛮高的,所以我的觉得,投资基金是一个长期积累的过程,一定要有坚持的恒心。还有一个要注意的就是如果你希望长期持有的话,可以选择后端收费,因为基金公司对持有基金超过两年以上的基民,在赎回的时候都会减少甚至免除手续费的。 3.储蓄转买证券:我们将每月节余的“鸡蛋”存入银行后,时间长了就有了一定的数额,我们将达到一定数额的钱取出转买证券(Will注2),以博取较高的年利率。 4.证券的再投资:买证券的本利累积了几年后,我们计划把这笔数额的百分之五十继续投资于基金,加大基金的投资量。 总之,不要忽视理财与余钱的力量,就像零碎的时间一样,懂得充分运用,时间一长,其效果就自然惊人了。 如果你觉得你觉得比我还更会理财的话,不妨PK一下! --------------------------------------- 注1: 基金定投买入时的价格应该是买入当天的基金净值.但是对于基金定投而言,是根据上一交易日的净值,还是当天净值买入基金已经不再重要,重要的是长期坚持. 注2: 此处的证券应该指的是国债, 以及公司债(非可转债,即不是可以转换为公司股票的公司债)等一些年收益率固定的产品. 2/2/2009 ZT: 长尾理论作者称互联网商业模式亟待创新在经济下滑时,免费产品和服务的吸引力将会尤为突出,但是这些提供免费产品的公司又当如何依靠“免费”来建立商业模式呢?《连线》杂志主编、畅销书《长尾理论》作者克里斯-安德森(Chris Anderson)在《华尔街日报》上撰文对此进行了分析。 以下为安德森文章全文: 过去10年间,整个网络经济的规模已经足以与一个国家相媲美,而且在互联网这个“国度”里,各种产品和服务的默认价格都是零。从音乐到视频再到百科全书,所有这一切在互联网这个虚拟世界中的生产和运输都不会产生任何边际成本,因此,根据经济学的原理,它的价格自然也会遵循同样的规律——免费为用户提供。在谷歌的时代,互联网完全就是一个免费的国度。 但这并不意味着互联网公司就无法利用这些免费的产品和服务获取利润。免费同样可以成为一门好生意。那么这些公司是如何做到这一点的呢?很简单:少数人付费,多数人享用。有时,这甚至是完全不同的两类用户。一如传统媒体的模式,少数广告主为内容付费,而多数用户则可以享受到廉价甚至免费的服务。这种概念本身并不新颖,但是现在,无论是图片分享还是网络游戏,无一例外都在使用这种模式。过去10年间,这种“双边市场(two-sided market)”的模式超越了媒体的范畴。如今,几乎所有的大型互联网公司都在采用这种模式,从Facebook到MySpace再到谷歌。 除此之外,互联网经济还催生了一些完全不同的商业模式。“自由增值(Freemium)”就是其中之一。这是一种依靠高端付费服务来支持免费服务的商业模式。公司首先会面向市场推出免费的产品,并尽快吸引到大量的用户,然后将其中一少部分用户转化称付费用户。这与以往的免费模式完全相反:以前,人们对于所有的顾客都提供同样的服务,大部分用户需要付费,而少部分是免费。这种“自由增值”则对顾客区别对待,想要享受优质服务的少数顾客需要付费,而其他大部分用户则可以免费享受普通服务。去玩玩网络游戏《企鹅俱乐部》(Club Penguin)你就会有更加深刻的体会。你不应该采用放弃1个小精灵而出售其他99个的策略,相反,你应该放弃99个虚拟企鹅而出售一个冰屋。 在现实世界中,由于提供服务会产生成本,因此企业会比较谨慎。但是在网络世界中则有所不同,免费产品的成本非常低廉,低到根本无法衡量,因此企业可以采取广泛撒网的方式。这也是为什么很多企业纷纷用软件来代替人进行操作的原因所在——软件比人要便宜得多。正因如此,在线TurboTax软件才能够免费帮助你提供退税服务,也正因如此,股东们才得以在互联网上进行股票交易,而旅行社也越来越像是一个搜索引擎。 在经济处于上升周期时,所有这一切都能够正常运作。经济繁荣时,由于风险投资家的积极参与和各种并购行为的盛行,“注意力(attention)”(网站流量)和声誉“reputation”(谷歌PageRank)都可以被转化成金钱。但是今年,投资和广告支出却出现了2001年以来的首次增长停滞。事实上,这两个指标几乎毫无疑问会出现下滑。风险投资额正在萎缩,谷歌也开始削减项目,而雅虎甚至无法自力更生,更不用说去资助他人了。那么,免费模式又受到了怎样的影响呢? 从消费者的角度来讲,这种模式毫无疑问是有帮助的。毕竟,当你身无分文时,0美元应该是一个非常好的价钱。因此免费的开源软件和谷歌Docs等基于网络的应用程序也将获得更快的发展。如今,“上网本(netbook)”成了最便宜、最酷的电脑,这类产品的售价最低只有250美元而且它们所搭配的系统要么是免费的Linux要么是售价较低的旧版Windows。购买上网本的消费者不会去安装微软的 Office,微软自然也就无法赚取每次几百美元的授权费了。的确,正如上网本的名字一样,这类产品的用户使用的都是与Office等软件对应的网络版应用程序,因为后者通常都是免费的。 这些用户还有很多节约钱的办法,例如玩免费的网络游戏,用Pandora听免费的音乐、取消有线电视并通过Hulu观看免费视频,甚至用Skype来代替固定电话。对于消费者而言,互联网简直就是个天堂:网络已经成了有史以来最大的一个商店,而且所有的商品都免费“出售”。 那些希望通过互联网做生意的公司现状又如何呢?过去,(确切地说,应该是在去年9月之前。)这种模式非常简单。1、有一个优秀的想法。2、融资并将这一想法推向市场,通过免费模式占领尽可能多市场。3、如果这一想法真的很受欢迎,那就继续融资将企业做大。4、重复以上步骤直到将公司出售。 但是现在,第2步到第4步都不再可行了。因此互联网创业公司都不得不面临严峻的考验:在公司还处于创业初期时就要找到能够带来真金白银的商业模式。 当然,这在商业世界中并不是什么新的观念。但是却会对互联网世界造成一定的冲击。毕竟在此之前,只要有了“注意力”和“声誉”就不必担心资金。因为只要足够充分,那么总有一天,你就能以某种方式将它们转化成钱。 然而,广告模式并不见得是互联网公司的标准商业模式。一种流行的服务将会拥有众多的用户,而且可以依靠广告盈利。然而,这种模式却伴随着两个问题:网络广告的价格和点击率。Facebook提供的服务非常受欢迎,但是它的广告平台的效果却非常差。即使你能够搞清楚一个高中女生的聚会照片旁边应该放置什么样的广告才比较合适,这名高中女生和她的朋友却很可能不会点击广告。这也就难怪 Facebook应用程序每1000次展示所获得的收入仅为1美元了。与此形成鲜明对比的是,在一些大型的媒体网站,广告的千人成本(CPM)则在20美元左右。 谷歌凭借着其定位文字广告技术获取了令人羡慕的收入,但是使用他们这一服务的网站却很难获得同样的优越感。在自己的博客里放上Google Adsense广告的确可以获得一定的收入,但是无论你的博客多么受欢迎,Google Adsense所产生的收入都很难令人满意,它甚至还无法弥补你在博客上花费的时间。根据我的经验来看,情况好一点的时候,你获得的收益没准能抵消服务器的费用。 那么,如果直接像用户收取费用,效果又会如何呢?这才是经济下滑时真正需要创新的地方。企业家们现在不仅应该将精力放在产品创新上,还应当努力开发新的商业模式。 比如,创业公司Tapulous针对iPhone开发了一款名为Tap Tap Revenge的音乐游戏,并且受到了用户的广泛欢迎。这款游戏与《吉他英雄》(Rock Band)或《摇滚乐队》(Rock Band)类似,音符会从屏幕上方落下,而你则需要击中它们。已经有数百万的用户尝试过这款游戏的免费版本,而且有相当一部分人计划购买Tapulous 推出的付费版游戏。付费版游戏将内置Weezer或Nine Inch Nails等乐队,并提供更多的歌曲。 与这种免费商业模式针锋相对的则是微软等传统软件公司。微软现在正在与谷歌推出的免费字处理软件和电子表格软件进行竞争。然而,微软非但没有埋怨谷歌通过免费进行“不正当竞争”,反而推出了网络版的商业软件并允许规模较小和创业时间不长的企业免费使用。如果你的公司创业时间不到3年而且营收总额不到100万美元,你就可以参加微软的BizSpark计划并免费使用微软的软件。微软认为,当这些公司规模变大时,它们必将成为微软的付费用户。而在此期间,微软的这个项目却几乎不会产生任何成本。 但是想要从免费服务中提炼出商业模式却并非总是那么简单,尤其是当你的用户已经对免费产品有了一定的期许时。微型博客网站Twitter就是其中一例。用户可以通过不超过140个字母来回答“你在做什么?”(What are you doing?)这样一个问题。但是在Twitter真正流行起来之后,它却发现自己必须要赶紧赚钱以支付带宽产生的费用。去年,Twitter聘用了收入专家来帮助其寻找商业模式,并且将于今年初公布相关战略。业界对此有多种猜测,有的认为Twitter将会通过向用户推荐商业信息并向企业收费的方式创收,有的则认为Twitter会面向企业推出付费注册服务以避免他人冒充。这都要等着Twitter的收入专家们来解决。 与此同时,谷歌旗下的视频分享网站YouTube也在为如何将流量转化为收入而苦恼,而社交网络Facebook仍在以令人反感的方式发布广告,并从中赚取微薄的收入。新闻分享网站Digg尽管拥有数百万的用户,至今却仍未赚过一分钱。一年前,这或许没有什么关系。那时的商业模式是:能盈利更好,不盈利一样可以赚钱走人。但是如今,赚钱走人已经行不通了,现在是现金为王的年代。 这是否意味着免费的产品和服务会在本次经济下滑中消失呢?应该不会。无论从用户心理还是经济现状来看,这种模式仍然能够奏效。一方面消费者仍然非常渴望免费产品;另一方面,由于所有数码内容的边际成本都在以每年50%的速度下降,这就为免费产品和服务提供了经济基础。但是,我们却必须意识到,单单是免费已经不够了。它还需要配以相应的付费服务。就像吉列的免费剃须刀必须要与昂贵的刀片配合才真正具有商业意义一样,如今的互联网企业所开发的产品不仅要讨好用户,还要让用户心甘情愿为此付费。当然,这并不意味着所有用户都要付费,大部分用户甚至仍然可以享受到免费服务,但是企业所获得的费用必须足以支付成本。免费的确是最好的“售价”,但不能成为唯一的“售价”。 12/15/2008 三年了这次不用时光如流水来形容时间过得飞快,不然又得被刘昊嘲笑.
再过一个月就工作满三年了,三年里写了不少程序,玩了不少游戏,也做了不少交易. 计算机
既然毕业于计算机相关专业,那么不从事计算机相关的工作简直就是暴殄天物,嘿嘿. 如果你要问,我这三年里学到东西,那我可以很负责的告诉你,学到很多.那具体学到些什么呢?我自己也说不上来,很多东西都是潜移默化的,当初从加入ACM集训队到退役,也没觉得自己的编程水平有所提高,但是到真正用到的时候,就会体会出不一样了,就像五年前在老弟的PS2上玩最终幻想10,游戏里面的英语对话听的云里雾里,但今天再次拿起手柄玩的时候,就觉得里面的英语对白听着很自然,而在这过程中,我也没有刻意去学英语,也许该是托美剧和电影看得比较多的福. 其实我是想刻意去学计算机相关的内容的,只是感觉找不到方向,设计模式没看几章,就丢一边了,Code Reading则更惨,买来没翻几下就扔柜子里去了,类似遭遇的还有人月神话,.Net Essential等…也许心态已经跟在学校时不一样了,不会很快用到的东西就没有足够的动力去学.现在的我,更适合学一些快餐式的内容,嗯应该是这样的. 很佩服月下,这两年多的时间里可以始终在游戏开发上保持激情.一直以来对网络游戏颇有微词,尤以看了征途的负面报道之后为甚,大部分的网游没什么内涵,除了打怪就是练级,这样的游戏理念还只是停留在十年前的TV Game或是单机PC游戏水准上.不知道月下有没有参与巨人推出的新网游的开发,希望将来能有一天,靠月下的丰厚的文学底蕴和超强的编程水平能让巨人推出真正有内涵的游戏. 游戏
毕业以后,就可以随便玩游戏,而不用心烦老妈在耳旁唠叨了,当然只是玩游戏的时候不唠叨,如果看到我手里有新的游戏设备时,就会问我花多少钱买来的,接着就是唠叨要节约点花钱,呵呵. NDS, NGC,Wii, PS2,这几个是比较主要的毕业后买的主机,其他WS,NGP之类的就免提了. 无可否认,百年老铺任天堂还是很有水准的,能靠NDS和Wii两大异质主机绝处逢生,重新坐上TV游戏业霸主的宝座.以玩家为中心,而不是以技术为中心(PS3)的理念得到了市场的推崇.你问NDS和Wii上出了什么好游戏?去看看游戏销量排行榜吧,前十位被这兄弟俩霸占了…… 要说玩的最多的游戏么,也许应该是Wii Sports吧,可以几个人一起玩,这是最让人开心的事情了,游戏人都在说,现在的游戏没有小时候那么好玩了,原因何在?心态不一样了是一部分,但是我们多久没有像小时候那样,一群死党挤在一块儿玩游戏了? 当然,Wii Sports还有锻炼身体的用途,这对于常年坐在电脑面前的我来说,真是不可多得的好东西啊,哈哈. 但是无论我多么喜欢游戏,应该都不会像小潘那样执着的玩游戏了,将游戏一个个的打出变态记录,光游戏王打出全卡片存档来就让我汗颜了,我等老龄玩家在他面前简直成了Light User.你不信?那你现在是否还奋斗在校内网好友买卖的第一线呢?小潘还在玩,这就是执着. 金融 三年前,我怎么的也不会相信自己竟会和金融走的那么近.毫不夸张的说,这三年业余花在金融方面的时间跟游戏时间已经不相上下了. 依靠敏锐的听觉(这不是我自封的,小马说我躺在床上隔着门还能听到卫生间水龙头的滴水声,然后出去把它拧紧很厉害),我无意中得知了理财这么一个概念,于是边一发不可收拾,三年里几乎把常见的金融工具全都了解了,什么股票,基金,外汇,黄金,期货,期权等等.嗯确实,我这是在吹嘘,所以我不是这方面的高手,因为高手都是很低调的. 其实并不想花太多时间在这个上,所以一直在寻找简单有效的方法,可以不费劲的合理分配利用手头的资金,尽管很少,少到控制自己每天的伙食费,尽量不超过10块钱人民币. 买的第一本金融方面的书,是<<证券分析>>,很厚的一本,没看完是当然的了,不过也从中知道了买股票应该考虑的因素,而不会愚蠢的去买市盈率高达几千倍的ST股,还认为市盈率高了就是好的...别看我…我没买过ST股…真的…不骗你…说了不骗你了干嘛还用那么怀疑的眼神看我啊… 08年的大熊市,大部分人都没能幸免.不过我一直拿能够在两年多点的时间里经历牛熊转换实属不易,而别人可能要花十年的时间才能有这样的经历来安慰自己,否则又能怎样呢? 现在基本形成了自己的交易习惯,晚上回到家,看看当日的行情,如果股票可以买入或卖出,就下交易委托.----这离自己一直在寻找的简单的交易方法已经不远了,不费时,还蛮有趣,至于是否有效还要依靠时间来证实.如果这个方法有效的话,很大一部分功劳来自于刘俊,当我还在白天交易时段时不时的忍不住在上班时间偷偷看一下行情的时候,他就跟我说,晚上回去看一下就可以了阿,呵呵,两年前的事了. 2007年的时候很羡慕刘俊,能够有过某个股票亏损50%的经历,很想了解那种情况下心理所承受的压力或者说是痛苦(如果有的话)是怎样的.2008年,我也有这样的经历了,但是心里还是比较坦然的.曾经听到过一句话, First determine what to buy, then let the price choose when to buy it(记不全原话了),而现在已经离那个when应该已经很接近了. |
|
||||
|
|