推选第四辑

最近玩新浪微博比较多,导致博客几近荒废。Twitter类服务的的片段化写作、片段话思考、片段化阅读的确有其独到之处,但是我想沉下心来思考依然需要博客。新浪微博虽然是Twitter的山寨,但也算是墙内的无可奈何的替代,毕竟大部分网民还是不会翻墙的。

  1. 情深深,雨蒙蒙,映日荷花别样红

  2. 在消息如生命线重要时阻碍消息流动,算不算变相杀人?(百度屏蔽玉树吧

  3. 完美主义倾向常常伴生怯懦

  4. 不该总是这样。——但总是这样

  5. 再大的困难除以13亿,也会变得微不足道;再小的爱心乘以十三亿,就是一片爱的海洋!——事实是这个除法和这个乘法一般只能在口头上进行。mor

  6. “没有代表,只有被代表”渗透在我们的骨子 里。小时候写作文都这样:朋友们,让我们……去你妈的,谁是你朋友

  7. 学校广播说到地震新闻,我光听见主席和总理的名字了。善了个哉的

  8. 中国学校的房子都是棺材板做的吗?为什么13亿人的国度造不出震不倒的学校。为什么?为什么

  9. 砍头不要紧,只要银子真;杀了我一个,还有后来人

  10. 招贴栏上有人写道”近日痛失爱伞”云云,被人无情地改成“近日痛失爱人”

  11. 微博通很好很强大,所以它也离死不远了,这是我用过诸多优秀服务后的结论,几乎无一例外。因为我们不配用。不死也阉

  12. 腾讯微博每条都有一个按钮叫举报,但认证过 的没有。我企图举报余秋雨来着的…

  13. 万国来朝的迷梦还是不错的,惟愿拿起之后,懂得放下

  14. 五四青年节,看领导指示:一把手要抓学校安全。十条评论,有九条是“感谢各级领导”。人血馒头,不过如此

  15. 保护海豚而不保护猪,从某种角度来看的确是伪善的,但人类是需要这种伪善的。有很多人看完《海豚湾》的主要结论只是日本人很变态。 我是觉得制造一个不存在的”文化传统“,拼命掩饰问题的存在,此类方式实在太过熟悉

  16. 攻击动物保护主义的常用理由之一是”伪善”,这个问题确实要反思,比如很多珍稀动物都难有大熊猫的幸运。但是如果因此钻入牛角尖,那么即使是素食主义者也 难逃谴责。这种把他人降低到和自己一个水准的攻击方式是很拙劣,很无耻的

  17. 你把别人消费性的辱骂一番 ,并问道:”介意吗?“别人豁达的说:如果是善意的调侃也是可以接受的。然后你就可以心安理得的说:我骂她,她自己都不介意的

  18. 不改正的缺点是需要揪着不放的。(对于公权力而言)但有些人给人扣五毛的帽子真是简单粗暴,反而像红小兵了

  19. 生于此,必先精神分裂,而后淌水过河。@cdaz:怎么考研政治老师讲的好多都不 赞成呢,忧心到时候政治能过线否

  20. 当预言变成现实时,竟然唯有悲愤。我说过, 凡是一流优秀的互联网服务都会被中国关闭或屏蔽,又应验了。超级好用的网盘dropbox被封杀了

  21. 有时候,洁癖带来的只有更大的肮脏

  22. 世界上有永不褪色的红领巾吗

  23. 代表你妈,道你妈的歉。(有人说袁腾飞应该向全国人民道歉。

  24. 民族性问题是个伪命题,解决不了任何问题。(有时候不如谈谈人性更靠谱。

  25. 永远有多远?数学上叫做正无穷大,一个符号而已

  26. 韩寒本不值得警惕,而是值得颂扬的,而需要警惕的是大众(而且是自以为是的大众)沉浸在语言快感中自我陶醉。可以学习韩寒,但不可消费韩寒

  27. 他们终于把片子剪辑完毕了,虽然只剩下了字幕。后来领导说了,这个人的名字怎么这么不和谐,所以最后,大家终于看到了片名的上映。(无人区

  28. 中国最受欢迎的一个算法是什么算法?答曰:鸵鸟算法。(只要不报导就不存在问题了

  29. 富士康事件是社会长期缺失的恶果。政府和企业的管理都是自上而下的,所以渗透性极其有限。“咱们工人有力量”成了一个幻影

  30. 早起在影院等电影,恍惚回到小时候等露天电影。不过露天电影后来被电视扼杀,我的乡下就与电影隔绝了。其实取代露天电影的还有录像及后来的影碟,所以即使是在不经意间,我也看了很多的香港电影,但我们称其为录像。我大概赶上了露天电影时代的尾巴,所以听父母说他们赶场的疯狂很是觉得有趣,但终究不过是岁月沉淀后的美好吧

  31. 影院对于我在相当长的一段时间内是奢侈的选择,所以下载盗版到电脑上看是最佳选择。然而也因此看到了国内并无引进的原汁原味的电影。盗版客观上打开了世界 之窗,胜过一切刻意洗脑电影作用。但是永远以看盗版电影为乐的国度将是没有未来的,我将记下我自己的罪

  32. 大陆的电影分两级,可以上映的和不能上映的。也就是儿童也能看的和成人也不能看的。结论就是我们都只有儿童的分辨能力和接受尺度

  33. 我最喜欢@ 罗永浩可爱多 的地方就是他敢于并善于修理自己的“粉丝”。劣质的粉丝喜欢上了谁,会把自己的情感愿望寄托到偶像身上,甚至对不符合自己想象的部分施以暴力。电影《危情十日》夸张地表现过这种情绪

  34. 律师天生是为犯罪嫌疑人做辩护的,但很多人对此职业特点缺乏基本的尊重,所以某天要是你被人陷害,辩护意见也就没人听了

  35. 存在即合理不意味着一点操守都不提倡

  36. 如果公平正义像白开水一样就好了。(而不是XO

  37. 他妈的历史和新闻都不能相信,作为一个普通人,老子还要去翻档案?真他妈的累,中国写假历史的都木有小鸡鸡!中国写假新闻也木有小鸡鸡!ms忘了女人们…

  38. 任何企业若想寄生于此地必变成作恶者,企业会发现无耻是捷径且无风险。橘生淮北尚为枳,况本枳乎

  39. 如何把权力关进笼子里,是中国未来几十年的主要课题。这不是搞搞思想教育就能搞定的问题

  40. 逝者已然无言,生者岂能闭嘴。富士康是不是血汗工厂,应当听到工人们的声音。可惜到目前为止,我看到的最有价值的文字来自于一个已经移民加拿大的前富士康 员工。我们的工人发不出声音,这才是最大的悲哀。我们围观的仅仅是新华社报道,然后编几个段子冲淡这惨淡的气氛,悲从中来。

河南省第一监狱的救赎

如果要说在电影史上最受影迷喜爱的一部电影,那么《肖申克的救赎》无疑是一个有力的选择。虽然在1994年这个经典电影爆发出现的年份,它在奥斯卡奖上输给了《阿甘正传》,但是目前IMDB的榜首位置昭示了它在影迷心中的地位,在中国的豆瓣电影和时光网上也是长期位居排行榜榜首。

《肖申克的救赎》讲的是一个受冤入狱的银行家安迪用了二十年时间从肖申克监狱越狱的故事,它不如电视剧《越狱》那般激烈与刺激,但二十年似江河入海。当看到安迪张开双臂迎接自由的暴雨冲刷时,我想没有一个观众会不激动不感慨。或许是因为我们融入社会,不得不或多或少的接受体制化,因此自由就成为我们永远的追求。最伟大的电影讲的必定是每个人的心灵故事。

然而“爱折腾”的安迪毕竟只是斯蒂芬金笔下的一个虚构的人物,而且这个故事的背景是在美国,即便如此,在肖申克监狱中,更多的是被彻底体制化的人,他们甚至离开了监狱就再也生活不下去。没有哪一个人生来喜欢受虐,然而我们却都有可能学会习惯甚至学会感激对我们奴化与压榨的体制,患上斯德哥尔摩症。

中国人其实自古以来就喜欢沉冤得雪的故事,譬如那感天动地窦娥冤的故事,至今仍在语文课本和电视荧屏上获得我们的悲愤与泪水。安迪依靠自己的力量逃离了体制,奔向了自由,而那些冤屈甚至已经不值一提了。窦娥依靠的则是超自然的力量以及清官的介入,即使如此,她受冤屈之后死而不服的怨气,分明还在抽打我们的灵魂。

最后,我不得不从电影和古代传说中抽离,来面对我们的现实。赵作海的故事说出来有些离奇,然而竟然也不能算是近年来中国发现的冤案的特例了。十多年前决定赵作海命运的那些人必定是对生命心存敬畏的,他们没有让赵作海立赴黄泉,而是留下了余地,才使得十多年后的今天,当被赵“杀害”的赵振晌出现在人们眼前时,一切不言自明。或许有人会觉得这是一个戏剧化的故事,然而如果真把这个故事拍成电影《河南省第一监狱的救赎》,那这部电影是尴尬的。

它要言说怎样的主题呢?这个沉冤得雪的故事中,几乎没有抗争,所有的当事人都被屈打成招(尽管没有官方定论如此,但我想明眼人都知道是怎么回事);几乎没有希望,赵作海说待在监狱挺好的,不想折腾,所以连申诉也没有;甚至一个让斯德哥尔摩症患者们去感激的对象也找不到,因为翻案不需要一个青天大老爷,傻子都知道出错了;有的只是命运对体制的嘲弄,然而命运的嘲弄毕竟只是昙花一现,又有多少赵作海陷在身体或心灵的监狱中见不到阳光呢?这样的电影,得不到剪刀手的首肯,甚至也得不到观众的喜爱,因为它太过灰暗,没有希望。除非赵作海是某个宗教的信仰者,那么或许可以作为信仰超自然的救世主的宣传片。

写到这里,我自己都觉得有些沮丧。现实的剧本还在续写,据说赵作海出狱之后,亲人还没见到,就被柘城县公安局请去旅游了。惟愿那曾经留给他一线生机的一善之念,能抵御错误的自我维护与自我纠缠,让正义得以彰显,尽管这愿望来得有些幼稚。而围观的我们,在鞭笞罪恶的同时也要扪心自问,如果自己是赵作海又会如何?

《梦断代码》笔记

《梦断代码》讲的的OSAF开发PIM软件Chandler的故事,可以当做小说来读的,摘录一些书中有趣的说法以及自己的感想。

  1. “Hello World”程序给程序员以乐观的想法:既然能叫它说话,就能让它做任何事。但事实可能是令人沮丧的

  2. 计算机从0开始计数,用户从1开始计数,所以程序员花了无数精力于此

  3. 人类文明运行于软件之上,但软件何其不靠谱,写过代码的人应该深有体会

  4. 人月神话:往已延误的项目中补充人力,只会使其继续延误。因此,最理想的开发团队是单枪匹马。如果代码经过协调不好的一串人手,结果确实难看

  5. 开源软件给了软件开发模式以新的思考方向,但远未解决软件开发的痼疾

  6. 开源中的Free应理解为”自由“,而且这个自由也有其固有要求,如GPL的传染性,但国内不少公司似乎只看到了免费,大肆盗用开源代码封装商业软件

  7. 软件是为人服务的,但通常也会要求人去适应软件的特性(或者其傻叉的地方)

  8. 让人适应软件还是让软件适应人?这是个问题。软件能否提升人类的智慧

  9. 很多项目开始之初都雄心勃勃,自以为与众不同,但最后都滑入深渊

  10. 软件的制造有时会给人以严重的挫败感。悲观一点的人看目前的软件开发技术是没有希望的。个人以为好的软件如好的小说一样是奇迹

  11. 软件的灵活性只存在于思想中,每一行代码都是毫无灵活性的。所有的想法都要寄生于结构,语言。高级语言相比人类的语言,其实太过低级

  12. 软件领域没有摩尔定律

  13. 变量类型这种小事,可以在代码的国度引发宗教战争般的冲突

  14. ”雾件“,根本不知道自己在写什么东西。如果需求来自领导,会很纠结

  15. 复用?造轮子还是买轮子,这也是个问题。买的轮子通常满足90%的需求,但剩下的10%会令人抓狂

  16. 像搭积木一样搭房子,是程序员的乌托邦。软件开发依然在手工作坊时代,甚至难以看到彻底工业化的希望。个人觉得理解为艺术可能心安理得一些…

  17. 软件会有自己组织信息的方式,也因此割裂事物之间的联系。比如数字化的文件和非数字化的文件分类上没有多大差别

  18. 快速、便宜、优质,最多三选其二

  19. 程序开发是常常是不断妥协的过程,人的肆意想法与机器的机械无情之间的妥协

  20. 程序员如何沟通,是技术问题,管理问题,哲学问题。写代码太多可能会用机器的方式思考…

  21. 程序员把图形界面看做程序的外壳,而对于用户,图形界面几乎是全部。没人为可怜的用户说话

  22. 代码优先还是设计优先,这是个问题

  23. 从普通用户到机器语言的复杂协调过程,用一个俗词形容叫“扯皮”

  24. 分开来运行正常,集成起来变垃圾。“系统”是可怕的。持续集成很麻烦,但”宇宙大爆炸式集成“可能造成更大的麻烦

  25. 做一个基本能用的一般产品,还是憋一口气做伟大的产品,这是个问题

  26. 世界上的事情分两种,规格说明书写明的和规格说明书没有的。可惜这只是代码工人的想法

  27. 简单者就该简单,复杂者亦有可能。上手容易,精通困难。魔兽争霸,围棋,WordPress

  28. 城市不是树,信息也不是树。树易于理解,但湮灭可能性

  29. 软件的成功尽管有其不确定性因素,但基本是可验证的。人生却不是…

  30. tag机制相比树状分类引入了多可能性,但难搞

  31. 对于文字,人能消歧理解(但常常也会误会)。计算机?重名者死

  32. ”吃你自己的狗食“

  33. 标准领域是一片令人畏惧的沼泽地。……想当然的标准是笑话,比如ipv9

  34. P2P是一种意识形态或一种信仰。……所以中国很难有真正的P2P,只有迅雷

  35. 十月怀胎,欲速不达

  36. 富客户端是程序员的噩梦

  37. 最佳实践的药方不可重开,银弹不会再次装入弹夹,杯具啊杯具

  38. 不该总是这样。——但总是这样

  39. 计划总是停留在纸上,想法总是好的,付诸实施者寥寥

  40. 软件设计模式再完美,也会撞上现实特殊情况的墙

  41. 最常用的软件开发实践就是什么也不用,埋头写代码。巨无霸方法论让痛恨被约束的才智所厌恶

  42. 祖尔测试。能得2、3分算不错了?

  43. 做软件如抓沙。大即险,小即美

  44. 历史上最成功的软件公司是微软。也是软件被骂最多的软件公司

  45. 软件不过是水管。但是……“但是”威武

  46. “软件工程”是一种愿望,而不是业已实现之事

  47. 程序员是工程师还是艺术家?写代码更像修房子还是写小说

  48. 没有物理学就难有真正的工程,而软件毫无物理学可言

  49. 层级是软件的精髓,但是它们身患痼疾。抽象都有漏洞

  50. 工具越多,成为编程高手却越难

  51. 所谓的面向对象设计语言不过是杂种

  52. Gordian software?修补还是重装上阵,这是个问题

  53. 何时停机?何时说放弃

  54. 闭门造车之时,世事如过眼云烟

  55. 一切倒塌又得以重建,再造它们的人满心欢喜。

Chandler项目最终基本上半途而废,中译名《梦断代码》真是充满悲情的贴切。

阿基米德的杠杆原理求抛物线形面积

近年来人们发现了《阿基米德羊皮书》,其中有阿基米德用杠杆原理求抛物线形的面积的记载,这里面其实已经有微积分思想的雏形了。

 parabola-area

如上图所示,求Rt△ACZ的内接抛物线形ABC的面积。

证明中用到的条件是对于任一割线MX有 MX:OX=AC:AX。

该前提的证明需要用到切线方程,不知是否有更加初等的方法。

延长CK至T,使得KT=CK,平移OX至SH,T为SH中点,则MX:SH=MX:OX=AC:AX=KC:KN=TK:KN,

线段MX和SH关于点K满足杠杆原理。注意到SH,MX的重心分别为T,N,

由于MX的任意性,故△ACZ内部每根AZ的平行线与它在抛物线形ABC内部的对应线段(平移至T)关于点K满足杠杆原理,

即△ACZ的面积与抛物线形ABC的面积关于K满足杠杆原理,

△ACZ的重心在KC的1/3处,故抛物线形的重心T到△ACZ的重心的距离之比为3:1,

故抛物线形ABC的面积为△ACZ的面积的1/3,或△ABC面积的4/3。

Josephus问题c++代码

据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而 Josephus 和他的朋友并不想遵从,Josephus要 他的朋友先假装遵从,他将朋友与自己安排在第16个与第35个位置,于是逃过了这场死亡游戏。这个游戏产生的一般性问题只能采用递推的方法解决,只有在特殊情况下才有好的显式表示。以下的代码算法用到了该文献中的公式。

/* 文献 1. Lorenz Halbeisen Eth et al., “The Josephus Problem,” J. THOR. NOMBRES BORDEAUX 9 (1997): 303--318. 给出了递推公式的推导并讨论了显示表示,其中间隔k=2时有很好的结果。 J(n,k,i)表示大小为n的环,从标号0开始,每k个杀一个,第i个被杀的人的编号。 */ 
#include <iostream> using namespace std; 
bool JosephusSimulate(int size, int step)//过程模拟 
{ 
  bool *ring=new bool[size]; 
  for(int i =0; i<size; i++) 
    ring[i]=true;//构造大小为size的动态数组 
  int indicator = -1; //数数的杀手指到的编号0~size-1 
  int counter = 0; //循环计数器 
  int surviver=size; //幸存者数目 
  while(surviver>0) //杀光光? 
  { 
    indicator = (indicator+1)%size; 
    if(ring[indicator]== true) //活人算算杀不杀 
    { 
      counter = (counter+1)%step; //循环计数1~step(=0) 
      if(counter==0) 
      { 
        ring[indicator] = false;//杀人啦 
        cout <<indicator+1 <<",";//数组的编号是从0开始的,转换为1开始 
        surviver--; 
      } 
    } 
  } 
  delete[] ring;//销毁数组 
  ring = NULL; 
  return true; 
} 

int JosephusRecursion(int size, int step, int order)//递推算法, 
{ 
  //公式 J(n,k,1)=(k-1)mod n 
  // J(n+1,k,i+1)=(k+J(n,k,i))mod(n+1), 
  int indicator=(step-1)%(size-order+1); 
  for(int i=size-order+2; i<=size; i++) 
  { 
    indicator = (indicator+step)%i; 
  } 
  return indicator+1;//数组的编号是从0开始的,转换为1开始 
} 

int Josephus2(int size,int order)//step=2时的快速算法 
{ 
  //公式来自参考文献1 c=2(n-i)+1 
  //J(n,i)=2*(n-c*2^(log2(n/c))) 对数取下整 
  //2^(log2(n/c))作为整体计算,找小于且接近n/c的2的次幂 
  int c = 2*(size-order)+1; 
  int nc = size/c; int i=0; 
  while(nc>0) 
  { 
    nc = nc>>1; i++; 
  } 
  int indicator = (2*size) - (c<<i); 
  return indicator+1; 
} 

int main() 
{ 
  int size,step,order; 
  cout << "size?"; 
  cin >> size; 
  cout << "step?"; 
  cin >> step; 
  cout << "order?"; 
  cin >> order; //JosephusSimulate(size,step); 
  for(int i=1; i<=size; i++) 
  { 
    cout << JosephusRecursion(size,step,i) << endl; 
  } 
  //cout << Josephus2(size,order) << endl; return 0; }

推选第三辑

  1. 陆游——《卜算子·咏梅》:由于后来毛泽东的光环,很多人忽略了陆词的可贵,笑看山花烂漫固然不易,碾作尘香如故却也难得。香气乃骨气也

  2. 一部电影的及格标准:讲了一个故事;一部电影的良好标准:讲了一个好故事或者讲好了一个故事;一部电影的优秀标准:讲好了一个好故事;一部电影的经典标准:不仅仅讲好了一个好故事

  3. 一部电影,总免不了在娱乐性之余,打上 价值观的烙印,美国的好莱坞文化渗透是潜移默化的。美国人在电影中总是代表着世界遭遇困境,脱离困境则靠的是美国强大的科技与体制以及美国式英雄(“拯 救”世界是他们的口头禅)。观念通过危机感代入,隐藏于宏大的场面与虚幻的真实背后

  4. 价值观取向过于明显,立意于洗脑的电影总是让人抓狂。中国的主旋律电影,主题隐藏得太浅,过于污蔑群众智商,适得其反。自以为擅长搞思想工作的中国人,其实是要向老美学习的

  5. 总有人试图找出一代不如一代的证据,XX后的标签似乎就是因此而生的,每一代人都有其龌龊,90后的毛病不过是被网络放大而已,看到某些80后致力于鄙视90后,还真是百感交集。mor

  6. 号称反映80后的影视剧大多是80前的臆想,水准堪比二流韩剧。比如《奋斗》、《五星大饭店》之类

  7. 很多时候,即使你不情愿,也会被人代表,但当你想说话时却可能寻不到一个话筒

  8. 多金的故事与自以为是的内涵是所有二流偶像剧的共同特征

  9. 国产的战争片历来不乏闪光之作,但却一直缺乏人的味道,所以《集结号》里的人话成了经典台词

  10. 可以消解在小道理中的大道理才可能是可信的

  11. 要么胸无大志,要么眼高手低,谨以自责

  12. 我们可以把当前的信息化办公称为打印化办公。信息化的阻碍不是来自技术上的,而是来自体制上的。信息化会使得计算机抢夺很多人的饭碗

  13. 成功学书籍泛滥和方便面泛滥是一个道理

  14. 关于老外的电影有事儿没事儿提到你:人家也许只是喜欢调戏,请勿自作多情

  15. ——“在研究驴子的专家里,我是最懂马的;在研究马的专家里,我是最懂驴子的。“——“请问您对骡子有研究吗?”——“对不起,我不做交叉学科的。

  16. p2p的罪恶在于它的精神——“free(自由免费)”,自由得罪监管方,免费得罪资本方,官商联合绞杀之下,还活在当下,已经是奇迹

  17. 据说听曾轶可的歌就要被鄙视,真是一个听歌都要标准答案的国度

  18. 最近爱说自己忙,然后不小心看见一句话:无能的人喜欢用装忙来掩饰自己的无能。心中顿时升腾起两个字:法克

  19. 像IP协议一样尽力而为,尽管它是不可靠的

  20. “我是菜鸟!”很多年过去了,你还这样说。好吧,你是真菜

  21. 几乎每个被我买到的笔记本都会有一个悲惨的结局,通常前几页会有比较整齐的东西,然后是大范围的鬼画桃符,还有随时骨肉分离的危险

  22. 毒品的相对论:少数人乐在其中,多数人恨之入骨,其他人打酱油——毒品;多数人乐在其中,少数人恨之入骨,其他人打酱油——习俗;少数人乐在其中,少数人恨之入骨,其他人打酱油——怪癖。比例是变化的,所以网瘾总有一天不是瘾。当然,有时候多数人的“多数”来自某些人的以一当二百五

  23. 在睡梦中来到一个天蓝草绿、阳光明媚、美女唱歌的地方,很惬意的睡着了,然后就醒了

  24. 承认自己有偏见的人比装客观的人可爱多了

  25. 制造一个不存在的韩国教授是某些人的可疑爱好。

Google,请你走开吧!

处在这个考试之间的巨大间隙,我在昨天关注了大半天的Google退出中国事件,但作为一个Google服务的重度使用者,我并没有什么强烈的失落感,因 为见过太多的事情后,你会见怪不怪,你的情感只会剩下黑色幽默。但作为一个见证历史的与IT沾边的人,我想留下一点自己的现时的想法。more more

Google是否在撒娇

人民网署名“网友姜伯静”的评论说:退出?谷歌在撒娇吧!

这条评论被一部分人鄙夷,但我却相信这代表了相当一部分人的观点。

这种误判源于部分国人草履虫的思考路线。Google是一个成熟的商业公司,它拥有这个领域最优秀的人才,它的首席法律官在官方博客上作“自杀预 告”,你认为这是撒娇?尽管国人之中只有很少一部分人是暴发户,但大家的暴发户心态却天天爆棚:妞,给爷笑一个,爷有钱你赚不赚,不赚你是傻X啊。

我们一直被告知资本主义的唯利是图的贪婪本性,怎么可能去相信一个商业公司会有异于“有奶便是娘”的原则呢?

Google的“阳谋”

我与阴谋论者们的观点基本相同:Google的这次决定是有预谋的,是配合美国政府相关政策的。但我更愿意叫这“阳谋”,因为叫阴谋不是侮辱中国人自己的智商吗?

Google 摆明了想要退出的原因:不堪忍受审查(审不到的还试图黑客审查)。我不知道Google指责的Gmail受到攻击是否属实,但Google的各项服务从未 在中国大陆完整的存在一天却是事实:Google旗下的服务Picasa,Blogger和Youtube等在国内一直被封锁,尽管在技术上它们都比国内 的类似服务高出一大截。搜索服务则是推出了阉割版g.cn,但仍然被cctv打压不止,仿佛成了最大的黄网。

Google 摆明了自己的要求:不接受审查。Google的企业信条是“不做恶”,尽管在资本面前这也是可以违背的,但看Google这些年的表现,至少是在积极的贯 彻这个信条的。Google致力于提供信息流通的各种基础服务,但在中国,Google的各种管道却常常被围追堵截,其实阉割版的g.cn早已经与 Google的企业理念大相冲突,这种妥协在一轮轮的打击下终于还是失败了。

Google的消息放出不久,美国政府就介入了此事,声称事先Google与政府通气了,希拉里敦促中国回应Google,并称将会在下周发布一项新技术政策,以帮助全世界的人民访问自由的没有审查的互联网。

为什么这次Google公司当了马前卒,因为它的的企业理念与美国政府的政治意图暗合,事实上Google公司也是奥巴马政府的支持者,还因为它可以忍受由此而来的经济损失,Google的股价在此消息之后也只是微跌证明了这一点。

在唾手可得的名声和形如鸡肋的中国市场之间,Google选择了前者,这只能称之为阳谋了。

没有了Google,我们有百度?

没有搜索引擎的互联网世界是不可想象的,但人们说:没有了Google,我们有百度。百度甚至还是民族企业呢。如果事情真是如此简单就好了。

尽管谷歌中国不是很挣钱,但目前依然有近1/3的市场占有率。尽管人们不停的将Google与百度做比较,但事实上两家的产品线有很大的差别。

百度也是作技术起家的企业,但现在却在大作内容,将百度贴吧等产品不断娱乐化,百度空间俨然第二个QQ空间,我无法说这样做有什么不对。但是,一个 本应技术为本的企业最终只能不断娱乐化,这是很悲哀的事情,纵观这些年,中国企业的原创可能只有一个搜狗输入法。将一流的产品封锁,自己作三流的模仿品, 这样的做法可以一时,但却不是一个大国最终应有的选择。

Google的优秀服务不胜枚举,你可以说我不用那些高级的服务,但我们对互联网的使用水平不能永远停留在hao123,QQ空间和ie6的架构之上。否则你把家门关了三天,再打开门看,世界已经翻天覆地的变了。

如果中国互联网有半家拥有创新能力的,提供优秀服务的大公司,基于我残存的民族主义意识,我或许也会对Google说:你滚吧!但是我硬气不起来,至少我要用Google翻译和Google学术搜索,我看不到替代。百度我很喜欢,我爱它像爱湖南卫视,它只能当娱乐工具。

困境

Google已经暴走近两天了,热榜上的关键词触目惊心,按照封锁的一贯速度,这么严重的行为早就应该导致g.cn服务器被没收,google.com被屏蔽了,但为什么大家依然可以疯狂。因为有人陷入了困境。

最好的结果是Google怂了,继续严格审查然后闷声赚钱,这样Google的光辉形象轰然倒塌,大家的使用也基本不受影响,Google的“阳谋”被彻底挫败。不过这是多么的一厢情愿啊。

困境在于不封锁造成的影响实在不好,就像天天裸奔一样,尽管链接点开都是已被删除(国内)或连接被重置(国外),但光是标题的不良科普已经是贻害无穷。而封锁则无形之中印证了Google的死亡预告,Google成功转嫁无数忠实用户的怒气。

Google此刻像个无赖,死都不怕了,还怕封吗?

我仿佛看见了《黄金三镖客》中的三角形手枪对决。

Google,请你走开吧!

如果说考虑到自己的使用需求,我想挽留Google留下来。但我此刻恳求Google不要出尔反尔,请你走开吧!让我相信一次,妓女也是有职业操守的!然后我会时常去墙外看你的。我爱这个大院,愿与之一起风化。

20100323后记

今天在实验室上Google,发现自动跳转到google hk了,我才后知后觉。终于走了。一个感慨的终于。这个世界还有不见钱眼开的事情存在,这样简单的事实却是一个商业公司教我们的,那些自以为读懂世界的以为别人在“撒娇”的人情何以堪。忍一时不一定风平浪静,退一步或许会海阔天空。一个抛弃所有优秀服务但创意难以生长的互联网,一个连上了海底光缆又终于藕断丝连的互联网。我们会一起自力更生,闭门造车。然后,Google,希望你不要倒闭。在你能回来之前。让我相信一次,自己不是缺乏判断力而不配使用搜索服务的人。 【2010年1月14日初稿/2010年3月23日更新】

浅谈群体智慧

一、 一个例子:蚂蚁与蚁群算法

说两个似乎八杆子打不到一块的事情。

有一句有趣的签名档:别人在大树底下观察蚂蚁的时候,我观察他们并思考人生。 这是调侃式的自我表扬,但透露的事实是几乎每个人小时候都观察过蚂蚁,惊叹于这种小小昆虫的井然有序。它们如何知道哪里食物多,它们如何决定要搬家,难道 它们的智商很高?事实是,如果抓单只蚂蚁来研究发现是比较笨的,但作为群体的蚁群却显示出让我们难以置信的智能。

经典的算法问题中有一个极具现实意义的问题叫做货郎担问题:某售货员要到若干个村庄售货,各村庄之间的路程是已知的,为了提高效 率,售货员决定从所在商店出发,到每个村庄售一次货然后返回商店,问他应选择一条什么路线才能使所走的总路程最短?更复杂的问题是送货中要安排不同运载量 的汽车,要考虑油耗等等。现实中的物流配送以及装配线上机械手的移动路线优化都与这个问题有关。已经证明这个问题是NP难解的,简单而言就是解决问题所需 时间会随着问题规模指数级的增而无法接受。

再回过来看蚁群,单体智能低下的它们在安排运送食物路线和兵力方面表现优秀,生物学家做了深入的研究,发现觅食蚁通过与巡逻蚁相遇的频率来判断出门是否 安全。(如果巡逻蚁回巢的频率正常,就该出去觅食了。如果不正常,就最好再等等。外面可能风很大,也可能有一只饥饿的蜥蜴等在那里。)一旦有蚂蚁开始觅食 并带回食物,其他蚂蚁就会根据自己与返回的觅食蚁碰面的频率,陆续加入觅食的行列。

蚂蚁的行事法则可以抽象为下面几条1

  1. 范围:蚂蚁观察到的范围是 一个方格世界,蚂蚁有一个参数为速度半径(一般是3),那么它能观察到的范围就是3*3个方格世界,并且能移动的距离也在这个范围之内

  2. 环境:蚂蚁所在的环境是一 个虚拟的世界,其中有障碍物,有别的蚂蚁,还有信息素,信息素有两种,一种是找到食物的蚂蚁洒下的食物信息素,一种是找到窝的蚂蚁洒下的窝的信息素。每个 蚂蚁都仅仅能感知它范围内的环境信息。环境以一定的速率让信息素消失

  3. 觅食规则:在每只蚂蚁能感知的范围内寻找是否有食物,如果有就直接过去。 否则看是否有信息素,并且比较在能感知的范围内哪一点的信息素最多,这样,它就朝信息素多 的地方走,并且每只蚂蚁多会以小概率犯错误,从而并不是往信息素最多的点移动。蚂蚁找窝的规则和上面一样,只不过它对窝的信息素做出反应,而对食物信息素 没反应

  4. 移动规则: 每只蚂蚁都朝向信息素最多的方向移,并且,当周围没有信息素指引的时候,蚂蚁会按照自己原来运动的方向惯性的运动下去,并且,在运动的方向有一个随机的 小的扰动。为了防止蚂蚁原地转圈,它会记住最近刚走过了哪些点,如果发现要走的下一点已经在最近走过了,它就会尽量避开

  5. 避障规则:如果蚂蚁要移动 的方向有障碍物挡住,它会随机的选择另一个方向,并且有信息素指引的话,它会按照觅食的规则行为

  6. 播撒信息素规则:每只蚂蚁在 刚找到食物或者窝的时候撒发的信息素最多,并随着它走远的距离,播撒的信息素越来越少

根据这几条规则,蚂蚁之间并没有直 接的关系,但是每只蚂蚁都和环境发生交互,而通过信息素这个纽带,实际上把各个蚂蚁之间关联起来了。比如,当一只蚂蚁 找到了食物,它并没有直接告诉其它蚂蚁这儿有食物,而是向环境播撒信息素,当其它的蚂蚁经过它附近的时候,就会感觉到信息素的存在,进而根据信息素的指引 找到了食物。

根据这些规则,已经不难设计出相应的算法,通常被称为蚁群算法。事实上蚁群算法已经有实际应用2,如休斯敦的“美国液化空气”公司就使用蚁群算法优化 工厂日程、天气和卡车路线等各种要素的组合,能较快的获得近似最优解。优化的结果有时候会与人们常识性的认识相反,比如看上去绕了路等等,但事实是经济效 益非常好。

这个算法是一个典型的仿生学应用,人类模拟自然的实例。

二、 跨学科的群体智慧研究

群体智慧是一个相当普遍的现象,首 先是在动物世界中,从蚁群、蜂群到鱼群、鸟群、鹿群、狼群,《狼图腾》的作者甚至认为古代蒙古人之所以横扫欧亚大陆,就是因为在长期与草原狼群的斗争中学 习了狼群的战斗智慧。其次在人类社会中,群体智慧也是又体现的。中国古代俗语说:“三个臭皮匠,顶个诸葛亮”,有一著名的估算牛的重量的实验,找很多普通 的人估计,然后得到的平均值发现与实际相差无几。

以下是维基百科3总结的诸多学者关于群体智慧的定义:

群体智慧(集体智慧 Collective intelligence)是一种共享的或者群体的智能,它是从许多个体的合作与竞争中涌现出来的。集体智慧在细菌、动物、人类以及计算机网络中形成,并 以多种形式的协商一致的决策模式出现。对于集体智慧的研究,实际上可以被认为是一个属于社会学、商业、计算机科学、大众传媒和大众行为的分支学科——研究 从夸克层次到细菌、植物、动物以及人类社会层次的群体行为的一个领域。这个概念也经常出现在科幻小说中,它被当作为联结物种和生化人的心灵感应。

群体智慧中蕴涵的是个体与群体的微妙辩证关系,关于群体智慧的研究可以涉及很多学科,下面例举一些:

  1. 生物学:对生物群体的深入研究可以发现群体智慧所依靠的一些规则,如历史上对于蚂蚁信息素的研究

  2. 数学与计算机科学:通过仿生建模,可以建立算法,解决现实中的复杂问题得到近似最优解

  3. 脑科学4:单个的神经元是如何协作形成智慧的

  4. 社会学:社会制度、社会决策,一个智商低于常人的小布什为何能顺利执掌美国?法西斯主义是如何产生的

  5. 经济学:没有统一定价方,为何社会也会运作正常?自由经济和宏观调控在经济管理中的分量

  6. 因特网和信息科学:Google如何对网页进行了选举?维基百科如何形成了人类最大的知识库,互联网如何形成了“云智慧”

上面例举的问题包括文理工科,需要研究者文理贯通,学识广博。目前国内对群体智慧的研究主要还是集中在群体智能方面,即各种仿生 算法的深入研究,而且这些算法的原创提出者基本都不是中国学者,也没有专门的研究机构。

国外最有名的研究机构是MIT的群体智慧研究中心5(The MIT Center for Collective Intelligence),它建议的主要研究问题主要有:

  1. 一群人是“有智慧的”意味着什么?比如,有一个智慧上的超人获得了一个公司如IBM或通用汽车的所有资源与知识,他会如何行动?他会追求怎样的战略?对于市场的变化会做出多快的反应?如何组织资金与工厂进行生产?能获取多大的利润?最重要的是,一群灵巧的联系的真人和计算机能有如何的表现,对这个超人作多大程度的近似

  2. 我们可以学习人脑的组织方式,可能让我们更好的组织一群人形成智慧(反之我们也可以研究群体智慧帮助我们更好的理解人脑的组织方式)

  3. 人工智能领域已经进入创造程序,让它们模拟人的智慧的阶段。以传统人工智能的观点来看,程序运行时人如果提供帮助会被视为作弊。但是如果允许呢?如 果目标是建立一个智能超过单独的人或机器的人和机器的混合系统?

三、 一点思考:和、同、异

《论语·子路第十三》说:“君子和 而不同,小人同而不和。”说的是统一中的一致与差异的辩证关系,群体智慧的形成也需要考虑差异与一致。比如蚂蚁觅食,需要有多样性的路线选择,这样蚁群才 不会陷入死胡同,而对优良路线的正反馈机制则保证了相对优良的信息能够被保存下来。

可被视为一个巨大的智能体的互联网也是如此,互联网包罗万象,泥沙俱下,然而还是产生了许多精品的资源,Google对网页重要性 的判别算法叫做PageRank6,其基本规则很简单:就是让连接来投票。有别于传统媒介,互联网对于内容的提交几乎没有门槛,但确自然的进行了 筛选,其基础依然是对于多样性的包容和正反馈机制。

在社会领域也是如此,伏尔泰的名言 “我不同意你的观点,但我誓死捍卫你说话的权利。”说的就是对于多样性观点的包容,只要观点可以充分表达,充分竞争,最终群体智慧会让好的留下来,历史上走入死胡同的时代,几乎都伴随着严重的思想禁锢,防民之口甚于防川之时,就是社会内部聚集矛盾走向崩溃的开始。

参考资料:

【2010年1月4日初稿/2010年9月24日修改】

  1. 段海滨. 蚁群算法原理及其应用. 科学出版社. 2005.12 

  2. Peter Miller. 群体智慧,精妙理论. 华夏地理. 2007年11期 

  3. 维基百科:集体智慧 

  4. 全球脑 

  5. The MIT Center for Collective Intelligence 

  6. http://www.google.com/corporate/tech.html 

数学归纳法和“道”

国人对“高端”数学的认识中,有个不可绕过的“1+1=2”的问题,由于一篇成功的报告文学,陈景润几乎成了中国人眼中的数学之神,而“1+1=2”问题也成了全民的谈资。真正的“1+1=2”问题讨论的是数的素数加法分解,描述起来并不太复杂,但背后的名堂超出了我的数学功底。我想说的是很多人简单的认为这个问题谈的是一个橘子加一个橘子等于两个橘子的问题,甚至有人会觉得数学家无聊,这不是显然么。more

其实即使是两个橘子的问题,也是可以大讨论一番的。数的基础认识来自于一个定性分析,有还是没有,有就是一,没有就是零,每个学生学到的第一个数就是一,因为它是定量认识的基石,是一切数数方法的起源,我们可以用老子的“道生一”来形容。第二个概念其实就是“1+1=2”(这个式子似乎还在某年被无聊的英国人评为史上最牛X的公式之一),说的其实是数的后继的概念,用后继的概念,可以产生二和三的概念,老子说“一生二,二生三”,无限制的进行下去,就会产生全体自然数的概念,老子说“三生万物”。

数学归纳法使用的其实正是数数的思想,懂得一,懂得后继,就可以认识全体自然数。数学归纳法分三步,归纳基础(即证明结论关于一的正确性),归纳假设与归纳步骤(即结论证明关于后继的正确性),“一生二,二生三,三生万物”再恰当不过了。

有趣又无奈的是,我们的逻辑认识能力的基础是一和后继,却也限制于此,当年数学家想建立完备的数学逻辑体系的努力被哥德尔不完全定理给粉碎了,他用一定的方法将任一逻辑体系内的所有命题用自然数表示起来,最后发现总会存在在体系内无法证明的命题。像“这句话是假话”的悖论永远无法真正消除。从某种意义上说,我们的认识能力限制在了一和后继上。

总结一句:一部《老子》可以统领宇宙。数学之变诈几何哉,止增笑耳。(此句为扯淡。)

【2010年1月4日初稿/2010年1月6日修改】

在Ubuntu上安装SystemC

本人装这个完全是由于混学分而选课造就的悲剧。简单的来说,SystemC是用软件代码YY硬件的一个玩意儿。

1,获取源码请到http://www.systemc.org/downloads/standards/,需要先注册一下该网站。我的gcc版本是4.1,下面的安装体会供参考。

2,在许多版本的Linux下直接按其install文件提示安装都会有编译错误:

../../../../src/sysc/utils/sc_utils_ids.cpp: In function ‘int sc_core::initialize()’:
../../../../src/sysc/utils/sc_utils_ids.cpp:110: error: ‘getenv’ is not a member of ‘std’
../../../../src/sysc/utils/sc_utils_ids.cpp:111: error: ‘strcmp’ was not declared in this scope

需要修改一下出错的源文件sc_utils_ids.cpp,是包含关系上的bug,在源代码的最前面加上:#include "string.h",include "cstdlib"

3,还有一个问题就是编译中要用到gmake,Ubuntu中已经取消了,直接用make代替了,可以一劳永逸的做个链接:

$ sudo ln -s /usr/bin/make /usr/bin/gmake

4,接下来就基本上按install文件提示步骤安装了:

$ tar –xvzf systemc-2.2.0.tgz              //解压缩
$ cd system-2.2.0
$ mkdir objdir          //建立临时文件夹,用于存放SystemC安装文件
$ cd objdir //接下来的命令在objdir下运行
$ export CXX=g++
 ../configure --prefix= my_path //执行配置文件,指定SystemC的安装路径
$ gmake             //编译SystemC
$ gmake install    //安装SystemC`

5,编译和运行的基本使用方法:

$ g++ my_systemc.cpp -I my_path/systemc-2.2.0/include -L $my_path/systemc-2.2.0/lib-linux -lsystemc -o my_systemc
$ ./my_systemc