12月 05

知识就是财富,科学技术是第一生产力

世间有个传言,知识就是财富。邓老大说,科学技术是第一生产力。这口号喊多了,就成了虚的东西。再加上现在读书无用论,知识就是财富这种说出去自己都觉得可笑。每次我给老妈说这些,她都很不屑,今天非得好好写写让她明白不可。

知识就是财富,这财富就指狭义的财富,没错,就是钱。知识,这里讨论的,特指概率论~有人说《概率论》这书,谁没学过,我高中就知道怎么算概率了。但是概率论和钱有什么关系?嘿嘿,建议去看看《宽客》,里面写到最早的宽客,没错,就是信息论的祖师爷香农,如何在21点上赢遍各大赌场。

中国没有赌场,中国最大的赌场就是股市,所以“知识就是财富”落地为“概率论指导股市赚钱”。

 
 
以前我特别讨厌股市,一说起来就排斥,为何?因为整个股市氛围就一个low字,充满了各种骗子和神经兮兮的人,我讨厌被收智商税。直到有一天,我舍友神秘兮兮的带我去人大听了一门课,咱才发现九阳真经是真的存在的,而且大道理都很简单。万分感谢我的同学和他的mba导师,无价之宝就这么白送我了~ 九阳真经专教我这样的小白(不懂任何经济知识)炒股票赚钱~
 
翻开秘籍,里面只有一句话“大数定理是万物真理”,其他页面都是空白~~整个概率论一开始其实是么有理论支撑的,直到十七十八世纪大数定理确立了概率论是一门有理论严格证明和支撑的科学!用网红大牛rickjin的话说这就是皇冠上最耀眼的明珠。百度告诉我们,大数定理说的是当一个随机事件大量重复,就会发现这些事件的统计结果无限逼近与它的概率。
 
至高的武功秘籍都只有那么一句话,至于练到什么程度,就靠每个人自己了。举个最牛的人的例子。《宽客》里面提到了一个人,这个人本来我有机会远远看上他一眼,可惜啊……2014年ACL盛会在巴尔地摩,迎来了史上最有钱的终生成就奖获得者,IBM model的发明者之一西蒙斯。他的另一个身份是大奖章基金的老板。据说他来领奖的时候,整个领奖台上人头攒动,全是他的保镖。只可惜我当时觉得闭幕大会没意思,在房间里睡大觉,竟然错过了目击超级大牛的机会。要说宽客,人家这才叫宽客,每次听到中国有人说他是搞量化投资的,尤其是在A股上,我心中就偷偷的发笑。也许是我不懂金融比较无知吧~但是有些常识还是突破不了的。就比如西蒙斯的基金会招顶级数学家,招顶级物理学家,就是没有一个经济学家~因为人家玩的东西根本与经济没有关系。
 
现在开始说说偶对九阳真经的粗浅理解。
 
一、 玩股票短线,超短线的人一定会死
下面来建立一个简单的模型。假如你是一个超级短线高手,找到了一种概率为99%能赚钱的方法,但是我们知道,市场是有黑天鹅的,很可惜这种方法有一个缺点,就是有1%的概率你会破产。当然,你的炒股方法还得限制一下,每次你都是全仓进入,毫不保留,赚一点就走。别说这个模型很极端,其实它非常好的模拟了现实,如果你不能认同这个模型的真实性,那其实后面的内容也不必看了。15年随便哪次股灾都够这样的人破产,全仓跌停板看你怎么出。任何炒短线的人其实都在践行这个模型,只不过打多少折扣的问题~
 
结论就是按这样一个模型操作的人,必然会死。利弗莫尔就是你的祖师爷。为何,这个模型其实我们高中就学过了,一个只有1%概率的随机事件,求他在第n次重复时还没有发生的概率。多么简单,不就是(1-p)^(n-1)。我想说,0.99^10=0.9,0.99^100=0.37,0.999^1000=0.000043,呵呵,每天玩一次,就算一年交易日不到200天,不出5年,你就死了。所以只要玩得次数足够多,大数定理一定会生效。
 
二、在大数定理下,炒股票只能有两种玩法
 
炒股票指的是炒,通过炒赚钱,只有两种极端能玩得转。
 
第一种玩法,让大数定理失效。假如你仍旧掌握了一种概率为99%的能赚钱的方法,1%的概率你会破产。上面说了,只要玩得多,你肯定死。那就简单了,玩少点呗。你一辈子就玩几次,看你死不死。这时候大数定律就失效了,因为这个概率需要很多次重复才能发生。恭喜你,这时候你就是巴菲特。不过巴菲特99%的成功率这种难度相比不用多说,我们小白还是敬而远之。
 
第二种玩法,让大数定理发挥到极致。这时候,你需要降低预期,你得找到一种51%概率能赚钱的方法,但是有49%的概率你会小亏。这个方法和第一种完全相反,如果只玩几次,根本不能保证你赚钱,所以最好能玩无限多次。这样,根据大数定律,你一定会赚钱。恭喜你,这时候你就是西蒙斯,宽客!这样玩得转的还需要以下条件:
1. 绝对是超短线。不看宽客,国人对A股超短线的理解极其可笑,以为就是今天买进明天卖出。呵呵,T+1黄花菜都凉了。哪天晚上刘士余老大说要治理妖精,看你周一大亏不?还想49%的概率只做到小亏?大亏一次够抵消你赚一千次的。人家的超短线到多少?几分钟?几秒钟?虽然只是猜的,但是我想就是西蒙斯也不敢做间隔24小时的量化模型吧,变数太多。
2. 高频。高频,可能一小时就交易好多次,这样才足够让大数定律生效。变着法子日内T+0你能做到高频吗?
3. 模型。西蒙斯是谁,世界最顶级的数学家,别的不说,ACL终生成就奖。那些连贝叶斯公式都写不出来的人就想做高频量化?举个最简单的例子,上面一直在说概率,其实这是一个陷阱。机器学习,人工智能,最关键的东东之一就是找到目标函数。上面的文章里面一直隐含着最大化概率为目标这种意思,这显然是错误的。赚的概率大了,但是每次只能赚一点点,亏的概率小了,但是每次都大亏,这样的model能赚钱?所以做量化至少要以期望为目标函数吧。
 
呵呵哒,记得有一次去阿里面试,面试官跟我谈起时间序列量化交易模型,我一愣一愣的,真是傻叉。所以讲到这里,心都凉了,都是大牛玩的。小白何以修炼九阳真经?
 
三、九阳真经
 
九阳真经太简单了。都不用炒股票。
 
不要炒股票,因为炒股票只能走两个极端,我们小白玩不转。现在人家都不流行炒股票了,都是什么对冲啥的,用经济学找漏洞的。不学经济的小白仍旧玩不转。到最后你还是逃不出大数定律,给你来个黑天鹅!
 
还是感谢刘老大,现在发那么多新股,所以当下这就是小白练个九阳真经赚钱的最好机会。
 
无知者说,新股中签概率那么低,还不如买彩票呢。所以无知者穷。
 
概率低,抵不上他发的多啊。只要次数一多,你玩的多了,大数定律就会生效。这个都不需要推导,根据前面说的,想想都知道了。求第n次打新,一直不中的概率,呵呵。
 
雪球有些大牛都给分析了,30万门票,预期打新期望收益,14%。
 
你家自己放高利贷能14%?
 
你有60万? 那你让你老妈也开个户头,分成两个账户呗。
 
什么,你有3000万,需要100个账户?一边呆着去,你有三千万还跟我扯皮干嘛。
 
不过九阳真经仍旧有一些限制:
1. 新股发行得维持现状
2. 得有不亏的门票(好办)
 
行了,说了那么多,有本书叫 《大数投资》
 
看完本文,请叫我雷锋。
12月 04

关于社交

关于社交

高中校友会,是校友会,不是同学会。所以,这两者是完全不同的。同学会就是聚在一起相互吹牛八卦,而校友会更偏向于提供关系和社交。所以校友会会有很多大佬,比如,这回有好几个院士,现高中校长过来是为了筹备明年120周年校庆。其他还有一帮在北京比较牛的人,四五十岁的人们怎么得也混得有头有脸了,更何况他们那个年代南方人不兴来北方,所以来了北京的基本都是顶级名校。这次校友会有很多人没来,所以年轻小屌丝只有三个,我,另一个比我高一届的哥们,再加一个北大大二小学妹~这是背景。

今天咱要说的就是这另一个哥们,为啥要说他,因为他给我的印象太深刻了,主要是社交方面。这个哥们在一个国家部门,不是公务员,是事业单位。他为什么给我留下深刻印象,我想想,总结一下,应该是他怎么跟这些相对比自己高level的人聊天的能力。

如果是我,可能我会选择少说话,因为我觉得level不同,没啥好说的,如果对方问起我某些他感兴趣的话题,我倒是可以好好回答一下。但是这个哥们很会说,他先是会介绍一下现在单位的状况,比如他们单位的数据是保密的,现在很想商业化,比如现在有什么民营单位想参与,巴拉巴拉。然后他又说,我现在遇到一个问题,就是有另外一个工作机会巴拉巴拉,言下之意就是向师兄师姐指教,但是他又没有说出来向他们求教这句话。于是就聊起来了,那些师兄师姐就说起其他单位的人谁谁谁分了房子,谁没赶上,各种分房子问题。

我觉得他现身说法的给我展示了一种以前我经常会有的一个问题的解决方案,就是怎么跟年纪大一点的不熟的人聊天。很自然,既不压低自己,又不急于展示自己。所以看到他的表现之后说实话我很嫉妒。甚至我有点觉得他挺油滑,但是油滑这个词确实是贬低他了,这是一种社交能力。自然的跟人聊起来的能力,让人觉得你可以聊。

进而的,我又对他如何获得的这种能力产生了好奇。难道是因为他们这种单位的人都善于搞这个,或者说这个本来就是人家天生的强项之一?我猜测可能是后者。对于我来说,这方面显然是我的缺点,所以相对于在这方面有天生优势(就是在一岁到三岁时间内建立的性格优势)的人,我估计很难赶上了,所以我只能止损。这个哥们我是记住他了,以后我会多观察观察他,嘿嘿,从他身上吸收一些功力。

再来分析一下我认为的他的优缺点。

先说优点,这个”老油条”,他不但懂得自己跟人聊的high,还会带上别人。比如他知道我在干一些事,抽空他也会提起我。这时候好让我在别人面前也说上几句。虽然这只是基本技能,但是这进一步说明他很会来事,所以我更嫉妒了:)

再说我觉得的“缺点”。他在类似政府部门呆多了,所以更社会人。比如校长极其会说,说高中多么多么优秀,这个正常,因为人家是校长总得说这些。但是这个哥们特别会跟,校长出一张牌,他就会自然而然跟一张,比如说,对对对,咱高中就是博雅,不但成绩好,人也是全面发展。类似的。当然这个并不是他的缺点,我只是不喜欢。不喜欢这样类型的事情,甚至人。所以我才在这方面一直不会吧~幸好我不靠这一口吃饭。

唉,说来也怪我自己,非得去弄这些不擅长的东西。我是真的不喜欢社交,尤其讨厌来事。但是不得不去止损,不然你的能力终究会匹配不上你想要的东西。更囧的是,你不会的东西,人家在你面前不停的展示,你既讨厌这种技能,为了利益又不得不想去得到它,这真是一种糟糕的体验。

这个世界就是套路太深,无论什么事都是套路。而我,不喜欢这一点……

7月 22

【意淫】如何吃一顿完美的午餐

每个人都有梦想,可能有好几个,有大梦想,小梦想。今天中午,破百度外卖第二次拖延一个半小时才送菜,让我很不爽。由此引发了我的思考,什么样的午餐才是一顿完美的午餐,继而诞生了一个小梦想,能吃一顿完美的午餐。

作为一个吃货,我觉得东西好吃主要取决于食材的品种、新鲜程度和烹饪手法,其中新鲜程度是最重要的,因为东西再好做的再好没有了其原汁原味的品质,都是扯淡。另一方面,东西不是越贵越好的,虽然好的东西一定贵,但是贵的东西不一定好。比如最好的茅台陈酿可能一瓶百万,但是对于不爱喝酒的人,那就不算好东西了。不废话了,先直接点餐。

前菜:

1. 红酒法国大蜗牛6个

2. 青藏高原蔬菜+新疆水果沙拉拼盘一份

3. 海鲜杂汤一小盅,得有鸟贝、海参之类最好的下汤的,咱穷屌丝没见识,这个交给顶级厨师去配就行。

4. 刺身拼盘,挪威三文鱼三片、蓝鳍金枪三片、北极贝一个、象拔蚌切片若干、智利帝王蟹腿一个,阿根廷大红虾2个。

5. 美洲大马哈鱼籽若干

 

正餐:

1. 澳洲和牛200g

2. 波士顿龙虾 1/4,要一个二三十斤那种,太大了半个都吃不完(偷笑)

3. 法式鹅肝一小片

4. 清蒸东星斑吃几口

5. 佛跳墙一盅

6. 饮料:云南石榴汁一杯

甜点:

1. 泰国水果拼盘,还喜欢大车厘子和美帝那个树莓

好了,那么说到这里现在问题来了,如何保证食材的新鲜程度呢?我觉得应该流程如下:

1. 一清早5点,位于挪威、波士顿、智利&阿根廷、北极四处的捕鱼船同时捕捞到最新鲜的三文鱼、大龙虾、帝王蟹、大红虾、北极贝,利用高速无人机送到当地集散中心。

2. 早上6点,泰国和云南摘下迎着第一缕阳光的水果。

3. 早上7点,青藏高原蔬菜生产基地摘下带着冰露的新鲜蔬菜,送到当地集散中心。法国人从原野找到刚醒来的小蜗牛。

4.早上8点,位于北极、欧洲、南美、北美、澳洲、赤道的厨师同时预先处理食材,该弄死的弄死,该保留活的活着,交由转运中心。

5. 高潮来了,8点半,各地发射高超音速乘波体进入亚太空。

6. 10点,各高速飞行器到达目的地,交由当地转运中心,通过地下专用传输轨道送达。

7. 11点半准时上桌,开饭! 如此堪称完美!

 

最后,论证一下此方案的可行性。其实高超音速乘波体已经不是科幻片里才有的东西了,几十年后民用完全是可能的,而且费用不见得会很高~ 还有,这些东西营养过剩,一年吃一回就好,平常我喝五谷杂粮粥……

7月 19

solr 自定义 collector 尝试

这是 IndexSearcher.search 的代码

  protected void search(List<LeafReaderContext> leaves, Weight weight, Collector collector)
      throws IOException {

    // TODO: should we make this
    // threaded…?  the Collector could be sync'd?
    // always use single thread:
    for (LeafReaderContext ctx : leaves) { // search each subreader
      final LeafCollector leafCollector;
      try {
        leafCollector = collector.getLeafCollector(ctx);
      } catch (CollectionTerminatedException e) {
        // there is no doc of interest in this reader context
        // continue with the following leaf
        continue;
      }
      BulkScorer scorer = weight.bulkScorer(ctx);
      if (scorer != null) {
        try {
          scorer.score(leafCollector, ctx.reader().getLiveDocs());
        } catch (CollectionTerminatedException e) {
          // collection was terminated prematurely
          // continue with the following leaf
        }
      }
    }
  }
  
  经过尝试,发现载入 DocValues 的代码是这句 BulkScorer scorer = weight.bulkScorer(ctx);
  
  则说明其实每一个 LeafReaderContext ctx 只需要载入一次 DocValues 就行
  
  之前我直接修改了 TFIDFSimilarity ,每个文档打分都要载入 DocValues,严重降低了效率

在这里可以重写一个 TopScoreDocCollector,在调用 leafCollector = collector.getLeafCollector(ctx); 这句话的时候,把所有需要的 DocValues 先一次性载入,就行

7月 11

吐槽“人工智能“

我实在是太喜欢吐槽了,今天忍不住又在自己的博客偷偷吐槽别人~

今天吐槽的对象,是“人工智能”。自从alphago取得成功之后,网上大量的论调表示人工智能马上就要“全!面!”超越人类了。大量连贝叶斯公式(有点鄙视的意思哈哈)都写不出来的童鞋在网上争论的面红耳赤。每当我看到这些时总是十万个草泥马飘过,此正是证实了所谓的“无知者无畏”。

首先,我给人工智能下一个论断,在目前技术框架下,指以二进制数据存储为基本框架的计算机结构下,想要出现达到一个普通成人智力水平的人工智能,在我们的人生范围内,我指30-50年的时间,是丝毫没有机会的。这个论断够明确吧。当然,也不能排除当出现其他架构的计算机,如量子计算机、生物计算机出现时,出现基于这些计算机的人工智能的可能性,那些我不懂。

再来说说本人能够下这个论断的资格。我之所以要在这里论证自己的资格,是因为今天被人噎了一回,呵呵哒。今天是国内某顶级商学院的返校日,我去听了一个某著名投资人的讲座。高level的。这位著名投资人把自己的创业史和对于人生事业的理解讲得很深刻,分享了很多干货。很多事情和话语甚至是,我作为一个小松鼠,当大象在谈论如何过河时,我都不太能理解。当听说他的其中一位老师之一,也来自我们同一个单位时,我挺兴奋。所以我冒失的向他介绍了自己。然后他问我一个问题,你觉得未来人工智能一定会超越人类吗?我毫不犹豫的回答“不会”。他说显然你错了,我只好摇摇苦笑头说“ok”。因为我自知自己level太低了,他接触的是大学者,而现在站在他面前的不过是无名小卒。估计我们理解的未来不太一样,如果未来是一万年后,那显然我错啦,但我估计我和这位投资人的有效寿命,都超不过100年。其实我猜测如果是为了有收益的投资,能够在此生获得显著回报,周期应该不太会超过30年吧,或者50年?呵呵,我愿意为此打个小赌,看看50年后,呵呵哒~

其实我想说,对于人工智能技术上的理解,本人才是大象,而那位投资人其实只是小松鼠~。只限于技术啊,不是行业应用。我是说,没有技术支持,你们想的再好也没用。好了,正式开始论证本人的资格。首先呢,这位投资人对于人工智能的理解是从哪里听来的?当然从各种专家学者那里(她的人生履历里可没有计算机学科任何学习背景~)。但是其实不客气的说,大专家学者可以被批判的地方很多。1.他们为了接触资本,借助资本,当然不能说自己不行,也就是人工智能不行。2.国内大概80%~90%的专家,都只着眼行业和研究发展的方向,是学术专家,而对于技术层面的东西,基本都不太了解了。你让他推导bp算法,弄个gibbs采样,那估计是不太行的。那么谁对这些最了解,当然是在科研一线的博士生以及青年学者了。所以本人作为中国科研第一线研究人员,与科研战场接触的最深的人,当然最有话语权。

唉,算了,这么说大部分人是不会理解的。人们还是会问,你算老几。所以我还是得搬出真正的专家。试问中国当今人工智能最牛的专家是谁?我给这个问题的答案是南京大学的周志华教授。这么说吧,如果别人不认同,给出另外人选,那么我个人认为,这些其他人选中的一部分人,可以和周老师并列第一,都是中国超一流学者。所以,请你们去搜搜周老师对人工智能的判断,还是比较中肯的。所以千万不要以为这篇文章吐槽了那位著名投资人,其实人家超级牛逼,也愿意分享干货,是很令人佩服的。我只是吐槽当前对于人工智能的泡沫言论。

虽然如此,还是要肯定当前技术的发展。至少VR马上要火啦,10-20年内,无人驾驶的汽车要满地跑了。但是满天飞呢?还看不到吧?其实人工智能这个词,从它诞生的那一刻起,就决定了它的限制,借用我的nb师兄的经典语录“有多少人工,就有多少智能”。哈哈

所以我来给说说真正的人工智能将带来什么吧。真正的人工智能。请根据常识想一想,那时候如果人类还没有被毁灭,那就超级nb了。因为物理和数学定律都可以在那里由电脑自动算个不停了,那计算能力我去,反重力、空间传送、原子级别的直接创造材料,再直接突破强相互作用,都不是梦了。还有什么你想过吗?假如大脑的结构被解析的很透彻了,(这难道不是人工智能的前提吗),那你就永生了你知道吗。假如你的思维可以永久存储,那这付破躯壳不要也罢!

4月 02

转一篇好文《你我生活不同,不必相互打扰》

人的一切追求其实都是在追求幸福感,所以归根到底幸福感是跟生命一样重要的东西。因此,打击别人的幸福感是一件既不仁慈又及其愚蠢的事情,在别人看来甚至可以等同于谋杀。具体理由见下文《你我生活不同,不必相互打扰》。

就我自己而言,就在这上面犯了很多错误。首先我是一个幸福感比较低的人,这种性格我知道,是来自老爸。当我第一眼看到一些事,首先脑袋中跳出来的选项是“否定”,而非“欣赏”。这也就是为啥自己思考着思考着就成了批判别人。同时我也及其讨厌鸡汤,那种无理由的鸡汤让我打心底反胃!但为何下面这碗鸡汤我却心甘情愿干了那?是因为他写出了真理,哈哈。

举个自己范过的严重错误,以反思与惊醒。这是我和曾经一个哥们的故事。这哥们与我关系很好,无话不谈,只可惜,我俩有一个极大的分歧,那就是对于房子的态度。我自己对房子持完全的否定态度。在我也看来,对于普通人,拼尽两辈子(父母和自己),就为了在北京买套房,是极其愚蠢的,这等于任凭政府剥削自己。同时房子也不给我任何幸福感,而只能是完全的负担。再者我认为房价终会跌。诸多理由,导致我非常非常厌恶房子这个东西。假如哪一天,我在北京买了房,那只有两种可能 1我的爱人和孩子需要一个温暖的家,为了家人,我吃点亏也认了,买个小房子够用就行,既然买不起就不能硬来  2买个房子就像拔一根毛一样,那反正也无所谓了,也是吃点亏

就此打住,来说说我那哥们。他是那种看重家庭幸福感比天高的人。那房子必然成为了必不可少的温暖的家。同时他认为房价用会涨,早买早赚。所以他早早的结了婚,作为小富二代在北京买了一个500w的大房子。那段时间,他的幸福感爆棚,这时候人都有分享的需求,从买房前就不停跟我说今天看这套明天看那套,到买了后说装修家具。每到这时候我都露出极其鄙夷的眼神,现在回想估计也说了不少在他看来是风凉话的内容。其实我当然不是鄙夷他这人,我鄙夷的是房子这个东西。但我想这种打击别人幸福感的事谁也受不了,就在那时关系渐渐疏远,后来一些别的事现在基本很难有交集了。

不得不承认我情商确实太低,总是无意做错事。所以自此我明白了维护别人的幸福感是一件多么重要的事情!

以下原文

作者:晚情
选自新书《做一个刚刚好的女子:不攀附,不将就》

“人啊,其实各有各的追求,各有各的幸福,真的不必相互打扰。”这是我的朋友如娴痛定思痛后告诉我的。

想起那件事,我心有戚戚焉。

如娴这辈子最大的愿望就是有一个儿子一个女儿,用她的话说就是凑成一个“好”字,前两年,她生下儿子,本打算等儿子八岁的时候再要二胎。不料老天却急着给她送来了第二个孩子,夫妻二人一商量决定开心地迎接第二个孩子,当B超出来后,如娴偷偷告诉我:“医生说是个闺女。”

如娴的丈夫非常有能力,几年之内把一个十几人的小公司发展成了几百人的中型企业,老公赚钱老婆花,如娴的日子过得逍遥又舒服。

上个月,她在当地最好的医院生下了宝贝女儿,在意识恢复的第一刻,她就在群里给我们报喜:女宝,六斤七两,母女平安。

我们纷纷恭喜她,祝她心想事成。如娴嘱咐我们一定要参加孩子的满月宴,隔着手机,我都能感受到她的幸福和满足。而此时,一个不太合适的声音在群里响起:“孩子一个都嫌多,如娴你干吗要一个接一个地生呢,两个孩子闹也闹死了,很快你就会灰头土脸,身材走样,你老公那么有钱,随时都有可能出轨,如果我是你,我现在就开始警惕了。”

说话的是另一个朋友H,H是某集团的高层,事业有成,很受领导器重,据说年薪已经升到七位数,是个不折不扣的职场女强人。

H的话也有一定的道理,但在此时此刻说,显然不是很恰当,其他人马上打哈哈地过去了,如娴气得不轻,打电话给我:“你说她什么意思啊?嫉妒我还是诅咒我?这么见不得我好吗?”

我笑着安抚她:“别生气,刚生完孩子呢,如果你觉得她说话你不喜欢听,满月宴别叫她去就是了。”

但如娴不是那种“惹不起,躲得起”的性格,她要让H参加,要让H看看两个孩子有多可爱,要幸福给H看。

于是,就有了接下来的事情。

满月宴那天,如娴的小女儿玉雪可爱,打扮得像个小公主一样,从一个人手里被递到另一个人手里,大家纷纷称赞如娴好福气,儿女双全。然后,H来了,有人把如娴的小女儿递到H面前:“你看,是不是好漂亮啊?你来抱抱?”

H嫌恶地退了两步,表示不敢抱这么小的孩子。如娴刚刚生完孩子,身材显得臃肿,H看到她,同情地说:“如娴,你以前身材多好,你看看现在腰都没了,女人啊,不能待在家里做黄脸婆,没几年男人就嫌弃你了,到时候你拖着两个娃,又跟社会脱节已久,哭都没地方哭。”

如娴心中上次的气还没消,又听了H这番话,终于忍不住说出藏在心中已久的秘密:H的老公早已出轨,情人是个90后小妹妹,和他同一个公司,职位是公司前台。

如娴鄙夷地说:“你还是先担心你自己吧,基本上除了你不知道,该知道的人没一个不知道的。”话一出口,其他人想拦已经拦不住了。

H听到这个消息,呆若木鸡,整个人都僵住了,一双眼睛瞪得几乎要吃人,然后,她撕心裂肺地大吼一声。她老公不明所以,过来想看看发生了什么事,其他人早已识趣地避开了三米远。

一场满月宴最后以H夫妻大打出手告终。生性骄傲的H怎能忍受老公出轨这种事被当众揭穿,火速离了婚,从此和熟悉内情的人全部断绝了往来,她无法接受大家或探究或同情或看戏的表情,把自己封闭在一个小小的世界里,工作也不再像以前那样热情澎湃了。

如娴报了一箭之仇,但她几乎没感受到高兴就意识到事态严重了,原本H老公出轨的事是如娴老公无意中提起的,并且再三要求如娴保密,如今她以这样的方式在这样的场合下公布这件事,老公对她意见很大,而其他朋友觉得如娴这反击实在太严重了,生生毁了另一个女人的生活,也不敢和她过于接近了。

这件事中,没有一个人受益。

我们的生活中,总会在最开心时出现一些不和谐的音符。当你买到一条喜欢的裙子,满心欢喜地接受别人的称赞时,突然有个人说:“我觉得这条裙子很普通啊,还是宝姿的裙子漂亮。”

也许说的人并不是真的嫉妒,可能她只是真的欣赏不了这条裙子,可是你原本的心情已经因为她的一句话而一落千丈了。当你因为老公送的一枚素金戒指幸福不已的时候,旁边有人把玩着自己的卡地亚戒指说你实在太容易满足了。当你因为老公一朵玫瑰幸福时,有人晒出了一大束蓝色妖姬。

当然,还会有另一种情况,当别人因为恋人的一句甜言蜜语满足无比时,你闲闲地说:“金星老师都说了,不是看男人说了什么,而是要看男人做了什么。”当一位姑娘满心爱恋地为恋人做了一份便当时,你语重心长地来一句:“傻姑娘,付出越多,伤害越多。”

无论前者还是后者,总是轻易将原本的幸福甜蜜打击得支离破碎。

我也经常接受某些“问候”,比如有的人会跟我说:“男人没有一个不花心的,现在对你好,因为你还年轻漂亮,等再过几年看看。”“没有一个男人不出轨,区别在于有的被发现了,有的没被发现,也许你老公早就出轨了,只是你不知道而已。”

听了这样的话,我心里自然是不舒服的,但深知一来不会影响到我什么,二来我也管不了别人怎么想,通常只是笑笑,如果这样的话能够令对方得到满足,那去说便是了。

人们总是喜欢以自己的想法去衡量别人的生活,以自己的生活作为标尺,力求让所有人按照自己的意愿去生活,当出现不一样时,毫不留情地泼冷水、下断言,甚至以高高在上的姿态告诉对方:“你的眼界实在太浅了,让我来告诉你,什么才是真相。”

殊不知,吾之蜜糖,彼之砒霜,就好比H,也许她真的不是想针对如娴,她只是觉得作为女人不应该待在家里生孩子,并且一直不工作,在H眼里,一个女人的价值在社会上,只有拥有自己的事业和圈子才是值得庆祝的事,她看不上如娴生两个孩子就满足的生活状态。

而如娴觉得:你是女强人又如何,还不是老公出轨,自己蒙在鼓里什么都不知道吗?能有可爱的孩子,可比事业强多了。

什么是对错?什么是幸福?根本没有一个标准答案,每个人的生活不同,当下的环境不同,欲求也不相同。

在某一时刻,看见太阳突然升起,会忽然觉得生活是多么美好;大病初愈之人觉得健康活着就是最大的幸福,历尽艰辛的情侣觉得只要相守就是最大的幸运;也有的人觉得生活富足就是最大的圆满。

没有经历过的人可能无法体会,但这真的是他们内心最真实的感受,我们无法为别人的幸福加分,起码应该做到不去打扰他们。

不打扰别人的幸福,就是最大的仁慈,因为我们的幸福,也未必是别人眼里的幸福,同样不希望被人打扰。

11月 12

solrcloud 搭建

可参考文章:
http://shiyanjun.cn/archives/100.html
http://distinctplace.com/howto/2014/06/30/dealing-with-multiple-config-sets-in-solrcloud/
 
我,caodan,终于又弄好了新版本的solrcloud,没想到单机转个cloud还这么麻烦,弄了整整两天。
 
首先,之前使用的是solr5.0.0,因为用5.3.0 smartcn组件总是出错,现在我终于给他搞定了。
直接把analysis-extras\lucene-libs\lucene-analyzers-smartcn-5.3.1.jar 复制到 solr_setup\server\solr-webapp\webapp\WEB-INF\lib 下面,注意,不要复制到 solr_setup\server\lib下面,因为那样会导致加载失败。
复制完之后,用中文就很简单了,直接定义fieldtype
    <fieldType name="text_chinese" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.HMMChineseTokenizerFactory"/>
        <filter class="solr.PorterStemFilterFactory"/>
      </analyzer>
    </fieldType>
 
接下来,为了建立solrcloud,需要参考 solr reference book,跟着里面的Setting Up an External ZooKeeper Ensemble那个做。
注意,solr -e 参数只是内置的傻瓜参考样本。没法用于产品的,不要去使用 -e 选项。 -e cloud只是给小白建立example看着玩玩用的。
下面那句话 bin/solr start -cloud -s <path to solr home for new node> -p 8987 -z localhost:2181 才是真材实料的布置环境。
 
好了先说布置 zookeeper,先去下载zookeeper,安装好。
然后配置zoo.cfg,这个好配置,注意clientPort是给solr连接用的,下面 server.1=localhost:2888:3888 的两个端口,是给不同zookeeper之间通信用的。
假设有三个node,同时配置三个zookeeper,有点傻瓜的时必须在syncLimit的时间内把他们同时打开,要不就会同步失败。
 
接下来就用 solr -cloud -z localhost:2181 -p 8983 命令去启动solr去连接zookeeper。
不要去指定 -s 选项,那是用来指定solr home的,如果需要多个solr就多复制几份,不要在一个solr安装目录下弄多个solr home,直接用默认的 solr_setup\server\solr 才靠谱。
可以把每个solr指定到每一个zookeeper上,
solr -cloud -z localhost:2182 -p 8984
solr -cloud -z localhost:2183 -p 8985
 
然后就是创建collection,这真是烦死大爷了,solrcloud的配置文件包括 schema.xml 和 solrconfig.xml 都是上传到 zookeeper进行管理的,不像单机版那样直接配置在本地,所以需要使用如下命令创建collection
 
solr create -c test -d myconf -shards 1 -replicationFactor 1
 
其中 myconf 指的是 solr_sepup\server\solr\configsets\ 下面的一个目录,比如 solr_sepup\server\solr\configsets\myconf,可以参考目录下的其他文件比如 basic_configs 来建立
同时zookeeper上还需要制定一个 configname,这个name默认跟collection name相同,所以上面的命令其实会调用接口

http://localhost:8983/solr/admin/collections?action=CREATE&name=test&numShards=1&replicationFactor=1&maxShardsPerNode=1&collection.configName=test

根据文章说的 http://distinctplace.com/howto/2014/06/30/dealing-with-multiple-config-sets-in-solrcloud/

用命令可以创建单独的configset

zkcli.sh -zkhost localhost:9983 -cmd upconfig -confdir /opt/solr/collection2/conf -confname myconf1

创建collection的时候可以单独指定 collection.configName,假如 configName 已经存在的话,注意这个zkcli必须用solr自带的

 

下面解决一些问题:

1. 恶心的事情,发布solr cloud,遇到问题,解析localhost变成ip 169.254.X.X,

万能的谷歌告诉我们:http://comments.gmane.org/gmane.comp.jakarta.lucene.solr.user/107193

关键看这个网址:http://wiki.apache.org/solr/SolrCloud#SolrCloud_Instance_Params

把 solr.xml 中的host值直接指定

2.zookeeper自带的zkcli是没有solr命令的,solr的zkcli有自己的script。我总是用原始的zkcli一直无法上传configset害死我了,具体看如下网址:

https://cwiki.apache.org/confluence/display/solr/Command+Line+Utilities

The zkcli.sh provided by Solr is not the same as the zkCli.sh included in ZooKeeper distributions !