Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 947

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/samsongli/meirendaddy.com/blog/wp-includes/kses.php on line 948
August 24, 2012

嗯,好久没写东西,还是老规矩,风马牛,他们啊,不相及。

最近有一个新闻,http://www.weibo.com/1615743184/yyCD2CGhQ 说是公车上面一个小伙子没给抱小孩的女士让座,后来被女士的老公给打得满脸流血,眼镜也断了。

网上说什么的都有,有的说小伙子不对,坐在老弱病残孕位置上,司机播了几次提醒让座还无动于衷,该打。有的说不该打,有的说后来发现小伙子是残疾人。总之,那叫一个乱。

我是这么看,就这个事情本身来说,小伙子是否让座,是一个道德问题,而打人,是一个法律问题。用暴力来作为道德的回复,是用一个大错来解决小错。

不过这里有个更大的问题,就是谁来使用暴力。这个事情里面,打人的人随意使用了暴力,还有人叫好。如果道德问题可以用不加限制的暴力去解决(况且这个是否是道德问题还不一定,这个小伙子或许是病了,累了或者残疾),那么打人的人,是否也可以被现场的某位大侠给就地正法了呢?

我们历代宣扬替天行道的大侠,但是,大侠们在快意恩仇的解决了一个小问题的时候,却创造了一个大问题:缺乏一个社会公认的准则。我看你不顺眼,我就替天行道给你大耳刮子,那别人还看你不顺眼呢,大侠就是小尼姑滑腻腻的脸,和尚当得,我就当不得?

我们天朝其实好多事儿,都是用了大代价来“解决”小问题。比如这个让座,本来是个道德问题,非要升级到暴力打人。再比如小贩和市容,本来是个脏点乱点的事儿,非要组建一只连菲律宾都害怕的城管准军事组织,把小贩的生路断了。又比如拆迁,本来是钱的事情,你不把人逼到绝路,人家没事喜欢跟煤气罐一起在房顶上面睡啊?

谁都不是傻子,谁都知道这后面是利益,为了一个座位,为了自己发泄,为了能升官,吃空饷,勾结建筑商,就不惜把事情升级,用更大的错误来掩盖小问题。古人息事宁人这四个字都忘记了,去树上找河蟹么?

May 18, 2012

昨天在微博上面看到吵A8和A9性能比较,架构中年宅心中又燃起了激情,这里稍微比较一下,数据都是来自ARM官网,在下凭着多年的知识稍微吐槽一二。

官网数据链接:

http://www.arm.com/products/processors/cortex-a/cortex-a8.php

http://www.arm.com/products/processors/cortex-a/cortex-a9.php

比性能,基本上就是比处理速度和能耗。如果把CPU比作麦当劳,里面有几万民工翻汉堡,那么谁翻的快,翻的省电,谁就赢了。当然这里有个架构问题,如果把麦当劳跟牛肉面比,麦当劳肯定完败。好在A8和A9的架构没有显著差别,都是v-7 A,还是麦当劳比麦当劳。

主频:A8 600M到1G,A9 800M到2G 主频高性能一般高,但是能耗也上去了。能耗函数的电容模型是W=fV^2C,和主频成正比。

电压和能耗,两个页面给出的标准不同,A8是0.9V到1.08V,A9给出的是能耗。能耗公式里面的那个C是跟芯片工艺有关的芯片电容常数,不知道台积电的参数,不好说。

工艺:A8没有给出工艺,估计是代工工厂比较多。A9页面显示是台积电代工,65纳米和40纳米两种工艺。

性能测试参数:A8单核开满1G推算值是两千DMIPS,A9单核1G推算是两千五百DMIPS,25%左右的性能提升,A9完胜。

那么为神马A9这么快?因为A9开了俩外挂:多核,乱序执行。A9可以有单核或者4核心,另外首次引入了乱序执行。当然开外挂是要付出代价的,A9的4核心能耗就比单核高很多,虽然没有高到4倍,这个跟多核之间的片内连接省电有关。

乱序执行也是一个大家伙,ARM架构以前一直不用乱序,因为乱序耗电,对性能提升有限。我以前读书时候做的研究表明,不用乱序,10%的性能损失可以换取30%的能耗节约,后来intel的ATOM架构用了类似的思想来省电。这次A9引入乱序,居然还能这么省电,台积电的工艺的确不错。

基本上就是这些了,新一代的CPU比前一代好是正常的,A9的性能提升,主要是多核+乱序,然后新工艺来保证能耗下降。

April 14, 2012

嗯,我们今天聊聊形式的重要性。比如十三这个数字,如果写成汉字,是很好的,如果写成阿拉伯数字13,就离它的英文亲戚B不远了。

我知道一个十三,叫姬十三,他创立了果壳,传播科学。作为一个工科技术宅男,一个少年的时候热爱科学,现在也偶尔读paper的人,我是敬佩他的。

我还知道一个13,是CCTV 13,虽然加了V,但是后面还有一个类似B的数字。这个就很不靠谱。比如果壳上面专门搞笑的“geek笑点低”里面发过这么一篇钓鱼文:

http://www.guokr.com/post/140450/

主要内容是:

科学研究表明隔夜水中含有零醇、氧酚、羟基氢、氢羟酸、苛性氢、二零醚、正氧烷、氧乙烯、氢氧化氢、脱碳甲醛、一氧化二氢、氢化超氧酰、脱氰零醛肟、二聚氢氧酸酐、氢化脱磺硫酸、氧化脱羧乙酸、氢化脱苄苯甲醇等等化学物质,当你喝下隔夜水以后,这些化学物质会迅速的被你的消化系统吸收,进入血液循环到你身体的每一个角落,影响你几乎每一个生理反应。如果一次摄入过多,会导致你胃胀,恶心,呕吐,食欲不振。

然后加了V的那个B,看到这篇文章,以为发现了宝贝,就很高兴的来咬钩,视频地址:

http://news.cntv.cn/china/20120414/118077.shtml

看来是在水里呆久了,典型的一氧化二氢中毒症状。

April 6, 2012

今天在微博上面看到  @邓侃 邀请大家谈谈关于京东Site Is Too Busy,原文在这里:

http://i.wshang.com/?p=4247

我在云计算方面不能算大牛,说不出什么惊世骇俗的话来,也没有指点江山的豪气。这里凭着在业界做了这么多年实战经验,说点实在的:

  1. 我们做server的,在实现之前,几个事情要做:设计,把任务分割好,静态内容和需要计算的分开,尽量减少对系统的压力(CPU,内存,网络带宽)。
  2. 实现中间一定要注重logging,一定要。程序员不愿意写logging代码,每少一条logging,就是一个丢钱的漏洞,要以后付出巨大代价来弥补。
  3. 系统上线之前,压力测试(stress test)必须做,认真做,尽量真实。对问题,早发现早解决。
  4. 上面三条是老生常谈,让人听了烦。但是能做到的,就不会出大问题。我当年做的东西,全欧洲的人查酒店都用,现在扩展到亚太,一样好好的,就是几台机器而已。因为设计上面瓶颈都被分散了。
  5. 关于增加服务器来缓解压力。这个如果设计上面做的好,应该可以有很大帮助。但是如果瓶颈不能用增加服务器的方式来分散化解,增加的服务器只是在那里耗电,没有用。
  6. SQL Server还是Oracle?这俩作为data storage,我以前做过的系统里面都用过。Expedia用的就是SQL Server,也活的好好的。
  7. Oracle是不是神谕,看你怎么用。我做过的一个系统,后端是Oracle,全美几百万用户天天用,服务器那里每个端口每秒500次访问,作为中间层的tomcat闲得发慌,Oracle差点趴下了。为神马?因为设计的问题,当然更多的是公司政治,不提。
  8. 多扯一句:NOSQL是不是万能药?美国人说,没有银弹(没有万能药)。用得好,王八拳也是必杀技,你可以用MongoDB去架个静态内容的服务器,但是你要是用MongoDB去处理logging的部分,就比较2,因为MongoDB的写入时间没保障。
  9. 回到logging。log不是用来玩的,要分析,找出错点,找性能瓶颈。
  10. 我对京东的架构的了解,来自上面给出的文章。如果有哪位行内的哥们姐们愿意分享更多细节,我也愿意多唠叨点意见,跟大家交流。或者在微博上面  @美人她爹 也行。另外,我这个博客好久没打扫,评论里面灰尘很多,正在清理中。
  11. 想起一点:设计系统的时候,记住:系统是要出问题的,是要被更新的。出问题的时候要减少损失,更新的时候尽量平稳过渡。如果以后再想起别的再添上。
January 3, 2012

最近gmail老是出问题,先是没事就在我的inbox里面显示有未读信件。我赶紧去看,然后过去50天里面都是已读的。用in:unread一看,原来是去年,哦不,前年的buzz里面的话。buzz真是好产品,都被拔了插头,还绕梁三年,余音不绝。当然有点吓人就是了。

然后今天,忽然发现回复里面引用前面email的文字都不见了,都不知道回复是给谁的。难道,难道google这么缺硬盘么?连这点空间都要省?是不是该进点google的股票了?这次财报肯定好,省钱都省到家了。

可是我还是以为这个只是gmail的故障,于是我很手痒的刷新了一下页面,就杯具了:我的gmail上面出现了一个对话框,上面是一个表情呆滞的人,下面的文字更吓人:居然让我去用那个恐怖的,没有地球人喜欢的gmail新界面,还只给我一条用新界面的按钮,不能直接回老界面。

得,gmail,我服了您了。微软的新office界面赶走老用户,也没有这么强硬的。我听见鲍尔默在笑,他得意的笑,他得意的笑。

November 19, 2011

嗯,觉得意犹未尽,继续写。

其实呢,我是看了爱范儿上面的这篇:社会化阅读器,你长什么样?

我是ifanr的忠实读者。有多忠实呢,当我觉得自己需要读一些有价值的文字的时候,手不自主的在浏览器里面敲if的时候,浏览器就会说,去看看ifanr吧。

社会化阅读,老话题了,就跟“吃了吗”一样。阅读嘛,精神食粮。社会化阅读,就是听哥们说:嘿,那家泰国馆子不错,里面的女招待,一个特美,一个好像人妖,今天去那里吃吧?然后就去了。

所以看到那篇文章的标题,我就去吃了。可惜呢,看到中间,也没发现啥好吃的。看到最后介绍某阅读器可以帮助人深入阅读,我笑了。原来,又是一个苦逼的产品经理,驱赶着一堆更苦逼的程序猿和测试猿,写出一个没啥人需要的feature,叫做深入阅读,然后来ifanr宣传了。

您想想啊,我都社会化阅读了,我需要那么多算法么?您折腾了那么多想法,我根本不在那个状态。我要深入阅读,我当然去看WSJ,虽然WSJ被人叫卫生间,但是至少比社会化阅读要靠谱。

以一个读者的眼光看,所谓社会化阅读,就是阅读里面的快餐。别指望走进肯德基,菜单上面写着:满汉全席。那样多吓人呐。

作为一个程序猿和用户,我对于产品经理的位子,一直有点抵触。我遇到过不少产品经理,基本上他们的调子都是一样的:

  1. 我们要做这么一堆features,你们都给我实现了。
  2. 什么?你竟然敢问为什么要实现这么多featuers?你知道么?外面的程序,都是有这些features的。(言下之意,你敢不实现这些么?别人都有,你为什么敢没有?)

在我看来,产品经理有两种:优秀的,和不必要的。优秀的产品经理应该能做到这样几点:

  1. 敢于做别人没有的东西。这里不仅仅是添一堆feature,这里是敢于删减不必要的那些。敢于说:别人有的,我们不需要。别人这么做,我们要做的与众不同。
  2. 作为一个用户来看待问题,而不是作为一个经理来看待问题。产品经理可以很容易的增加一堆features,也不用自己苦逼的去写代码,只要写写spec就好了。但是用户在产品经理轻易制造的迷宫里面,会迅速的迷失,然后放弃。

如果做不到这两点,仅仅靠copy别人来过活,那么这样的产品经理,就是不必要存在的。

November 8, 2011

还有原文的情绪。

看一堆国内的翻译群体博客有感。

October 28, 2011

那个《普通青年,文艺青年,2B青年》系列都看过了吧?今天照着这个路子说说手机造型。

要说手机,早年的挪鸡鸭,算普通青年,一块屏,12个钮,整个经济适用男一枚;爱疯算文艺青年。不过你说,文艺青年的手机造型,为啥就那么好呢?咱们不说水果教主就是神这种没影的事儿哈,教主他老人家是信佛的。

其实你看,爱疯的造型很规矩,该直线的地方就是直线,该拐弯的地方就拐一个规矩的直角,中间用四分之一个圆弧过渡。按钮要么是规矩的圆形,要么是长的,两头是半个圆弧。该平的地方平,该直的地方直。所有这些规规矩矩的东西组合在一起,就让人感觉那么舒服。

该说2B青年了。我一个朋友曾经把他的黑莓和爱疯一起放在桌子上,对我说:RIM的工业造型部门,应该整个被砍掉。我看了看那个黑莓,的确,长得跟一片儿在袋子里面压扁的面包似的:基本上也是一个扁片儿,但是边角那里呢,该直的地方不直,边上是一个匪夷所思的弧度和斜角。这样导致了转角的地方,是一个连阿基米德都不能理解的弧线。再看材质,一个手机的背面,居然有金属,橡胶和塑料三种材质。

对了,你们想过为啥叫2B青年么?我觉得是这样:大家当文艺青年的时候,都爱装模作样的背哈姆雷特的:To be or not to be, that is the question.但是如果把这句话放在手机上用短信去发,就变成这么个类似C语言表达式的东西了:

(2B || !2B)?

发多了,自然会被人叫2B青年。

October 4, 2011

今天收到Quora的每周文摘,我心里话:这不是知乎玩的嘛?

Next Page »