2012-08-29

信心与声音的扯蛋

今天见到一个有点意思的说法:「有信心,就应该让不同声音存在」。拿出来专门玩味一下。

这句话很简单,是一个很清晰的命题。初看上去,讲得非常有道理。特别是拿出来呛某些非法执政党的时候,简直是掷地有声,砰砰的。其实,这句话真正的杀伤力,是在于它的逆否命题:「不许不同声音存在,就是没有信心」。学过逻辑的都知道,原命题成立,则逆否命题亦成立,反之亦然。但我觉得,这个命题,本身就是一个伪命题。
从逻辑上讲,要证明一个命题很难,要证伪是很容易,只要举出一个反例即可。并且,由于原命题与逆否命题之间的关系,如果无法证伪一个命题,那么证伪它的逆否命题也是可以的。我现在就来试一下。

不许不同声音存在,就是没有信心吗?在世界上大多数国家,传播儿童色情是违法的,而且很多是重罪。那么这些国家不允许这种声音(儿童色情)存在,是它们没有信心吗?如果你对自己的子女教育有信心,对自己子女的品行操守有信息,是不是就可以允许他/她接触这种东西呢?
有的人会说,这种例子太极端,那么好,再来个不极端的。假设你是个公司的老板,有人四处散布对你公司不利的谣言,你想让他继续吗?如果不想,是否是对自己没有信心呢?佛教中也许有把脸伸过去任人打,以及舍身喂XX的故事。但是我估计没有那种故事,说如果不这样做,就要下地狱。

由此可见,虽然话很呛人,但道理是歪道理。国人一贯死要面子活受罪,爱随意拔高道德标准。应该这样来理解:「允许不同声音存在」的目的,是签一张契约。也就是说你不得不允许某些你不希望的声音出现。同时,按照契约,当你的意见别人不喜欢的时候,你也还是可以说出来。这跟信心没有什么关系,只跟权力的制衡有关。
如果你的权力大到可以压过其他人,那么你大可不必遵守这个契约,因为你不需要这个契约来保障你的权利不受损害。只有当你害怕被他人如法炮制时,才会自觉地保护少数人的利益,这其实反而是信心不足。老毛有信心没?有,大大的有。引蛇出洞之后那些不同声音是什么下场?
所以,「允许不同声音存在」,其实是弱势当权者的一个「不得已」的决定。只有这样,才能保证自己将来无论处于何种地位,都有说话的权利。在那些权力不能得到制衡的地方和场合,这个规定就无需遵守,也无法遵守。

和许多「民主人士」的想法可能有些出入,并不是任何场合下,权力都必须得到制衡的。简单的,比如军队。要是小兵和大将之间还搞权力制衡,那这军队大概没法打仗了。在比如苹果,乔布斯在世时,一人说了算,把公司带上了巅峰。我相信乔布斯还不至于「没有信心」吧,但我相信苹果内部的民主气氛应该不会太浓烈。
总的来说,「允许不同声音存在」这个事情,必须看场合,看对象。你拿它去讨伐专制执政党,自然是正中红心。你要拿它去哪个论坛里面挑战管理员,纯属有病。但一般情况下,我是不介意谁拿它去乱捅的,反正作为因果论者的我乐见其成。但如果把「信心」再扯上,就扯蛋了。信心信心,本来就是我自己心里面的事情,你一个外人,管毛?我有没有信心,难道还要证明给每个人看?笑话!

昨晚看贵州卫视,胖子健身的真人秀。教练指着一胖子大吼,你是不是爷们?!我真心想回一句,老子有木有鸟,关你鸟事?

2012-08-03

GAE的Frontend Instance Hours高居不下咋办?

架设GAE用了GoAgent之后,对于Dashborad中的Frontend Instance Hours一项数字如此之高有些不解。查了Google,发现有同样疑问的还有很多人。于是翻了翻Google的文档,做了做实验,基本上弄明白了。

其实这个数字高也不代表什么。不信你可以架一个Hello world上去,先不要急着访问,只是打开Dashboard看看。Number of Instances应该是0,Frontend Instance Hours也是0。然后再打开WebBrowser访问一下你的Hello world,再看Dashboard。现在Number of Instances是1了,而Frontend Instance Hours就开始了渐渐的增长,哪怕你把WebBrowser马上关掉也是如此。
说白了,Frontend Instance Hours就是GAE记录的服务实例运行所用掉的时间配额。没访问过的话,实例数是0。而一旦有HTTP请求,GAE就得启动一个实例来响应这个请求。运行这个实例需要耗费相应的CPU和内存资源,于是GAE就开始计费了。实例不停,Frontend Instance Hours就会一直长。而GAE为了能在短时间内响应下一个请求,通常是不会很快把实例给停掉的。(至于到底会等多久才停实例,据说是15分钟无新请求就不再增长Frontend Instance Hours,但实例数还在,估计挂起了。不过你可以手动停掉它。)
既然叫做【Hours】,增长的速度当然就是指的实例实际运行的时间。实例跑了一个小时,那么Frontend Instance Hours就会增加1.00。我没测过Google会不会在计费上面耍点小手段,大抵是不会的,个人感觉也基本上差不多。
所以看着Frontend Instance Hours一点一点地增长,也完全不必心慌。一天24小时,GAE给了28的免费配额,如果你只跑一个实例,是不可能用完的。用到23.99,下一分钟就第二天,重新计算,清零了。对于只跑GoAgent的用户,实在不放心的话,我觉得用两个AppID来跑也完全足够了。当然,流量超了的情况另算。

那么什么时候Frontend Instance Hours会超过24呢?据说一个请求如果在等待了超过Min Pending Latency的时间之后,仍然没有实例能来处理它,那么GAE就会开一个新实例来做这个事情。所以GAE给了免费用户28个Frontend Instance Hours。Google的解释是为了让用户能够应对一些紧急状况。
另外,这个【紧急情况】,除了指访问量大导致的多实例运行,也包括了一个功能,就是GAE允许用户调高Frontend Instance Class。F2级就比F1级多用一倍的计算资源,而Frontend Instance Hours也就增长得快一倍。这种情况下,多出来的4个小时就可以视为GAE给的【加力】之类的东西了。如果你只想在短期内进行一个高强度的计算,那么可以考虑用F4来跑一个APP看看。