优秀的产品能得到用户,优秀的服务能赢得粉丝
上周Amazon公司邮件通知我,一位负责S3的产品经理要跟我聊聊我们对他们的服务的使用情况。(我们使用Amazon的S3提供各种图片和视频的存贮服务)。看起来我们有个绝好的机会来跟Amazon里面的人谈谈我们遇到的问题和希望得到的功能。
一接通电话,我们就完全明白了,这个人完全不是来提供服务的。他只是想了解我们的想法,去计划如何提高销售额和留住客户。我不想在这上面浪费我的时间,也不想把购买计划告诉Amazon来让他们扩大业务。我在电话里直接表达了我的意思。
为什么不呢?因为他们的服务不好。Amazon并不在乎我,所以我也不在乎他们。他们有个好的产品,他们得到了我这个客户,但他们没有好的服务,所以他们不能使我成为粉丝。
阅读这个条目剩下部分 »
Android = Java

作者opinali
最近整个Java阵营都陷于一场讨论Oracle和Google之间关于Android平台的专利诉讼官司的混战中。我已经在很多地方都发表过我的观点,但这确实是个 重大的话题,需要在所有地方反复重申这个观点 … 所以,这篇文章就是要再次的完全的揭露事实真相。
第八大千禧年问题: Android = Java?
前几天,有研究者宣称找到了P != NP的证据,这在编程界引起了不小的兴趣——至少为此狂热了好几天,直到开始有评论家指出证据中有很多的缺陷。我在做计算机科学系学生时研究过这个题目,但说实话,我的高等数学的水平还达不到看懂这些证据的水平(P = NP? 是克雷数学研究所提出的七个千禧年数学问题中的一个。)所以,还是让我们来讨论一个稍微简单点的问题:Android是否相当于Java?请注意,我并没有说相等,我说的是相当,就像P = NP里的那样。
阅读这个条目剩下部分 »
证据就在代码里
招聘一个程序员,唯一对你有意义的是他能写出好程序的能力。 很少人像这样去招人,他们更喜欢去挑剔程序员的个人癖好和性格缺点。
我一说出这样的话,人们大量的评论就会批评道:你错了,错了,完全的错了。 好的程序员需要具备沟通交流的技能,他们要有跟他人一起合作的能力。团队里不止你一个人! 事实上,人们会说:最好折中一下对技术上的要求,这样可以找出更能适应企业文化的人。
嗨,兄弟,做不成有钱人完全没什么

作者 Sasha Pasulka
我有个很亲密的男性朋友,是搞技术的,他痴迷于发财致富。
他很聪明,受过很好的教育,是个吃苦耐劳的人,但是,说实话,他很可能就不是一个能干成大事业的料。他能轻松的在任何一个大公司里获得一个小六位数的薪水,但是他有一个根深蒂固的想法,就是要创办一个科技公司,获得巨大的成功,挣到无数的钞票,这才能幸福。我看着他慢慢的失去健康,失去理智,失去信任和一次次的失去女朋友,都是由于这个信念。“你这个想法最终会害了你的,”我对他说,“你必须马上停下来。”
但是他不会停下来。
后来,不止一个其他的男性朋友向我透露了他的金融危机感:“我感觉,如果没有挣到足够多的钱,我就不能算是个成功者。”
阅读这个条目剩下部分 »
我的丈夫是个程序员
我在11年前认识了的我丈夫。当时是南缅因州大学新生入校的日子,我带着吉他去宿舍。他饶有兴趣的盯着我的吉他。之后他敲响了我的房门,自我介绍道:“嗨,我叫Adam,我就住在走廊的对面。我是个计算机程序员!”
云计算的可伸缩性迫使App服务无状态化
场景内容
云计算因其软件上的按需付费模式而大获成功,它创造了一种伸缩性模型:
- 如果有两个公司,它们正好在相反的时区里,白天都需要10台服务器,晚上减少到1台。那么一个云计算服务商需要11台服务器就能同时为这两个公司提供服务——在任何一个时间点,拿出10台给一家公司用,1台给另一家。
- 如果这两家公司都使用自己的机器,他们每家都要买10台(总共20台)。其中9台机器会在夜里闲置。
- 时区可不是来共享这些闲置资源的唯一理由:
- 运算需求同样是一个很好的应用场景。有些公司会在圣诞节时需要很强的运算能力,而另外一些公司则是在财政年度结束时需要,等等。
- 有些公司很可能是不能预知何时需要多少资源。例如slashdot效应。不管是哪种情况都是通过共享来让他人使用你的空闲资源。这就使按需付费成为可能。
- 你可以把这种概念扩展到整个平台成本上——应用程序服务器,数据库和应用。
Scala是个有趣的语言

经常读我的博客的人应该知道,我最喜欢的编程语言是Haskell。我喜欢函数式编程,Haskell是一个能把函数式编程推向极致的语言。虽然如此,我仍然时刻关注着其它新兴的和即将产生的编程语言,特别是函数式的编程语言,所以,当Scala诞生之初我就知道了这种语言。当时,我粗略的对它了解了一下,并不是很喜欢;我感觉它的那些语法对于我的口味来说过于甜腻,而且这种语言看起来异常的复杂。然而,一些我很尊敬的人都喜欢这种语言,所以我就再次的看了看。我的评论并不是基于对这种语言的一个全面的了解之上,只是我通过几周的阅读和实验得到的收获。不管怎样,我已经有足够的认识来声明,Scala是个有趣的语言,值得去研究,特别是当你有Haskell编程背景的情况下。我使用的是一本“阶梯教程”(Programming In Scala by Odersky et al),这本书写的非常好,我全力的推荐大家读一下。
是否应该允许开发人员进入生产环境?

在Web开发公司里,有个问题会被一而再、再而三的提出来,这就是:
“是否应该允许开发人员进入生产环境?如果是,允许到什么程度?”
对于此,我的观点是,整体上,应该限制开发人员访问生产环境。在论证我这个观点之前,我想声明一下,我的立场绝对不是基于对开发人员的品质品行的判断——所以请不要往这方面想。首先我要公布一些常见的程序员们不喜欢或讨厌这个观点的论据:
“系统管理员什么都不让我们干,他又解决不了,我们根本没法完成任务。”
如果真是这种情况,那么他们应该是对的。如果是因为没有足够的管理员或管理员不称职,那么瓶颈就会出现。然而,允许开发人员访问生产环境并不是一种解决方案,因为即使这一回你把问题解决了,以后还是会出现缺少管理员的情况。有时候一些管理上的规章制度会使事情变的繁琐,耽误时间,但我想这时间也不会是一种不可接受的漫长。
阅读这个条目剩下部分 »
千万要避免的五种程序注释方式
你是否有过复查程序时发现有些注释毫无用处?程序注释是为了提高代码的可读性,为了让原作者以外的其他开发人员更容易理解这段程序。
我把这些让人郁闷的注释方式归为了五类,同时把写出这些注释的程序员也归为了五类。我希望读了这篇文章后你感觉自己不属于其中的任何一种类型。如果你有兴趣的话可以读一下另外一篇文章 五种程序员(英文),和这篇讲到的五种程序员对比一下。


