善意提醒

如果您打开本站很慢,布局排版混乱,并且看不到图片,那么可能是因为您还没有掌握用科学的方法上网的本领。

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 看看。