improve content

diff --git a/source/_posts/2014-11-16-great-or-nothing.markdown b/source/_posts/2014-11-16-great-or-nothing.markdown
new file mode 100644
index 0000000..0ec89b8
--- /dev/null
+++ b/source/_posts/2014-11-16-great-or-nothing.markdown
@@ -0,0 +1,52 @@
+---
+layout: post
+title: "Be Great or Nothing"
+date: 2014-11-16 22:48:11 +0800
+comments: true
+categories:
+- programming life
+---
+
+* toc
+{:toc}
+
+最近工作上比较忙，博客更新的也没以前那么频繁了。本来计划每周一篇的博客写作，最终还是没有完成。(还是自己比较懒，偶尔会有一些拖延症。)
+近来一直在反思过去工作中的一些问题，想想，是时候写点什么东西了。恰好，公司前不久刚开完开发者大会，大会的标语就是"Great or nothing!".
+而我们的首席架构师Ricardo也经常提到，Great or nothing. 本文就谈谈自己对这句话的一些理解和看法吧。
+
+<!-- more -->
+
+
+## A few examples of being great
+
+### Raywenderlich
+这是一个神奇的网站，做iOS开发和Cocos2D开发的人，几乎没有人不知道这个网站的。我之前也因为翻译了该网站上面的大量关于Cocos2D的文章而被大家所认识，
+后来在Cocos2D这个社区才有了“子龙山人”这个名号。如今，Ray的网站已经今非昔比了，现在不旦每周更新好几篇高质量的技术文章，还有大量的高质量的视频教程。
+Ray还专门雇了全职的开发人员专门写教程，写书，写starterKit，搞Podcast,甚至还举办了开发者大会！可以豪不夸张地说，Raywenderlich这个网站上面的教程的质量，
+应该是整个互联网上面最高的。我之前偶尔还跟朋友开玩笑说，“Ray的文章又臭又长”。但是，我彻底错了！教程就是应该像他那样写，否则就变成FM（Fucking Manual）了。
+Ray对教程质量的极致追求成就了一个独一无二的Raywenderlich.com, 向Ray致敬。
+
+### Apple
+苹果这个就不用我多说了，市值曾经高达6000亿美金，每一个苹果系列新品发布，都有一大批果粉抢着卖肾去换。老乔在世时，对于产品细节和品质的追求，在消费者的心里烙下了
+深刻的印记。我只买过2个iPad和一台Macbook Pro，所以谈不上什么果粉。但是在使用这些产品的过程中，我发现它们确实比其实产品要好很多。以至于，我在用了苹果笔记本以后，
+根本不想再用其它牌子的笔记本了。
+
+## Being great or nothing
+世人的眼光是挑剔的，再好的东西，要是有了明显的瑕疵也会变得差强人意。做产品如是，也代码也如是。如果不能做到最好，就容易让别人(Bug)钻了空子。
+Cocos2D-X引擎现在在国内算是比较知名的游戏引擎了，但是，网络上却从来少不了批评的声音。前不久，知乎上有这么一个帖子。[cocos2d-x代码质量如何](http://www.zhihu.com/question/26225167).
+现在我们老大的回答被顶到了最前面，但是，如果大家翻看其它的评论，还是能看到很多批评的声音的。因为我现在就是引擎团队中的一员，对于这些评论，其实还是蛮有感触的。
+其它的也不便多说，只想以后尽力把每一件事情都做到最好。否则，不上不下的，那就什么也不是。
+
+最近在做一个自动化编译第三方库的脚本，每次在发出一个PR之后，跟Riqcardo交流完都会发现原来我还可以做得更好。大神不愧是大神，对于完美的追求成就了Cocos2D，也成就了Cocos2D-X。
+
+## Conclusion
+不过有时候，出于时间进度和产品交付压力的影响，可能我们没有多少时间去考虑完美的东西。那么怎样做才能既满足进度，又能达到完美的质量呢？
+
+1. 确定要解决的问题范围之后，使用最简单的方法去实现之
+
+2. 如果代码里面出现重复，遵循“事不过三，三则重构”的原则
+
+3. 尽量维持解决方案和代码的简洁，编写让人可读的代码
+
+4. 注意命名规范，注释，文档和测试。
+
add new bash post