如何编写无法维护的代码

永远不要(把自己遇到的问题)归因于(他人的)恶意,这恰恰说明了(你自己的)无能。 — 拿破仑 总体原则 Quidquid latine dictum sit, altum sonatur. (随便用拉丁文写点啥都会显得高大上。) 想挫败维护代码的程序员,你必须先明白他的思维方式。他接手了你的庞大程序,没有时间把它全部读一遍,更别说理解它了。他无非是想快速找到修改代码的位置、改代码、编译,然后就能交差,并希望他的修改不会出现意外的副作用。 他查看你的代码不过是管中窥豹,一次只能看到一小段而已。你要确保他永远看不到全貌。要尽量让他难以找到他想找的代码。但更重要的是,要让他不能有把握忽略任何东西。 程序员都被编程惯例洗脑了,还为此自鸣得意。每一次你处心积虑地违背编程惯例,都会迫使他必须用放大镜去仔细阅读你的每一行代码。 你可能会觉得每个语言特性都可以用来让代码难以维护,其实不然。你必须精心地误用它们才行。 命名 “当我使用一个单词的时候” Humpty Dumpty 曾经用一种轻蔑的口气说, “它就是我想表达的意思,不多也不少。“ – Lewis Carroll — 《爱丽丝魔镜之旅》, 第6章 编写无法维护代码的技巧的重中之重是变量和方法命名的艺术。如何命名是和编译器无关的。这就让你有巨大的自由度去利用它们迷惑维护代码的程序员。 妙用 宝宝起名大全 买本宝宝起名大全,你就永远不缺变量名了。比如 Fred 就是个好名字,而且键盘输入它也省事。如果你就想找一些容易输入的变量名,可以试试 adsf 或者 aoeu之类。 单字母变量名 如果你给变量起名为a,b,c,用简单的文本编辑器就没法搜索它们的引用。而且,没人能猜到它们的含义。 创造性的拼写错误 如果你必须使用描述性的变量和函数名,那就把它们都拼错。还可以把某些函数和变量名拼错,再把其他的拼对(例如 SetPintleOpening 和 SetPintalClosing) ,我们就能有效地将grep或IDE搜索技术玩弄于股掌之上。这招超级管用。还可以混淆不同语言(比如colour — 英国英语,和 color — 美国英语)。 抽象 在命名函数和变量的时候,充分利用抽象单词,例如 it, everything, data, handle, […]

深圳地铁各站首末班车发车时间汇总!

了最官方,最准确,最简单粗暴的1,2,3,4、5号线沿站最早和最晚一班地铁的时间. 1号罗宝线 罗湖 开往机场东:首06:30;末23:00  国贸 开往罗湖:首06:54;末00:05 开往机场东:首06:31;末23:01 老街 开往罗湖:首06:52;末00:03 开往机场东:首06:33;末23:03 开往益田:首06:32;末23:49 开往双龙:首06:33;末23:18 大剧院 开往罗湖:首06:50;末00:01 开往机场东:首06:35;末23:05 开往新秀:首07:01;末23:55 开往赤湾:首06:36;末23:06 科学馆 开往罗湖:首06:48;末23:59 开往机场东:首06:37;末23:07 华强路 开往罗湖 首06:46 末23:57  开往机场东 首06:39 末23:09 岗厦 开往罗湖:首06:43;末23:54 开往机场东:首06:42;末23:12 会展中心 开往罗湖:首06:41 末23:52  开往机场东:首06:44 末23:14 购物公园 开往罗湖:首06:39 末23:50 开往机场东:首06:46 末23:16 开往益田:首06:33 末00:05 开往双龙:首06:33 末23:03 香蜜湖 开往罗湖:首06:37;末23:48 开往机场东:首06:48;末23:18 车公庙 开往罗湖:首06:34;末23:45 开往机场东:首06:51;末23:21 竹子林 开往罗湖:首06:32;末23:43 开往机场东:首06:30;末23:23 侨城东 开往罗湖:首06:35;末23:41 […]

请不要再对孩子倾述养他有多辛苦

很多家长不愿意痛痛快快给孩子买东西,给孩子花钱的同时反复强调金钱多么来之不易、要珍惜东西不可以浪费等等,孩子由此收获到的是匮乏感和愧疚感,跟金钱的关系沉重艰难。 关于孩子的教育问题,很多父母在后台不停地咨询我们:孩子该如何教育?如何让孩子品行好?等等。在传统的教育里,我们在孩子面前说“粒粒皆辛苦”,说“不要乱花钱”,说“我们养家好辛苦”……其实这些并不能让孩子内心更加富足,品行更好,也无法让他们生活得愉快。 使孩子品行好的最好方法,就是使他们愉快 生活质量并非由物质决定,而是由心灵决定。一位朋友富有而且修养气质很好,兄弟姐妹也都如此。她的童年时代,物质上大家都很贫乏,但他的妈妈总是保持生活中的美感,时不时给孩子们带回一些美好小玩意,从来不对孩子传递生活艰辛、金钱来之不易、要懂得珍惜这样的沉重感教育,孩子们一直感觉内心富足流动,所以后来到社会上凭借自己的能力,各个富有而且有精神追求。 内心的匮乏感,经常要三代以上才能转变 见过几个这样家庭出来的人,出生于中国最贫乏的年代,父母一贫如洗,但即使半年只能吃一顿肉,也愿意叫上孩子和朋友们一起快乐分享,孩子们精神气质如贵族一般。后来等政治环境一好转,他们总是能最先找到出路。三代出贵族指的不是必须三代财富才够培养出贵族,而是内心的匮乏感,经常要三代以上才能转变。 所以说,不是贫富而是父母对金钱的态度直接决定孩子未来能否丰盛。很多家长不愿意痛痛快快给孩子买东西,给孩子花钱的同时反复强调金钱多么来之不易、要珍惜东西不可以浪费等等,孩子由此收获到的是匮乏感和愧疚感,跟金钱的关系沉重艰难。 精神分析心理学说,童年亲子关系内化成孩子的内在关系模式,从而决定孩子一生的性格命运。通俗点讲,父母好比孩子的程序员,童年父母给孩子潜意识写入的是匮乏与沉重,孩子未来怎能丰盛流动?带着匮乏感来到社会上,潜意识指挥着自己,也容易处处体验匮乏与沉重。 例如不相信自己配得上好工作,总是找吃力不赚钱的活,即使赚到钱也无法轻松享受,一给自己花钱就觉得愧疚,同时容易过度囤积东西,造成更大浪费。例如曾经总被父母说不要浪费护肤品,自己赚钱后忍不住买大量护肤品,却舍不得用,最后都过期浪费。 如果父母经常传递的是:物质攀比可耻,比上不足比下有余就可以了。那么孩子未来很可能收入一般,赚钱上“不思进取”,却又同时物欲难填,不清楚自己需要什么不需要什么,盲目囤积。 一位妈妈观察发现,给女儿买的玩具或手工材料,若教育说要爱惜,不要弄坏或浪费,基本上这玩具或材料就被女儿闲置,时间长了不是放坏了就是找不到了,完全违背当初买它们的初衷,造成更大浪费。还有妈妈反馈说,给儿子买了颜料和画笔,教育儿子不要浪费颜料,结果儿子只用画笔画画,不用颜料。 这是为什么呢?孩子对父母传递的能量非常敏感,父母传递的是制约和沉重感,孩子一碰到这个东西就能感受到,所以宁愿不碰。 孩子不会用头脑自欺欺人,无论大人认为道理多正确,孩子直接从能量层面感受大人传递的是正能量还是负能量。如果父母持续不断以正确为理由强加各种负能量,孩子最终也就变得如大人一般,活得沉重压抑,制约在所谓的“正确人生道理”中。 是否孩子的欲望都要满足? 有人问,是不是孩子的欲望都要百分百满足? 孩子的欲求满足还是不满足,取决于你的能力和意愿。有能力也愿意满足,就轻松愉快的尽情满足,多多益善。没能力或者不愿意满足,就直言相告:我暂时没有能力满足你,或者我就是舍不得钱。父母不需要完美,但至少要诚实。诚实的父母,即使孩子得不到很多满足,会知道那是父母的问题,不是自己不配得,未来依然可以通过工作赚取丰富物质生活。 有一个孩子要一样东西,妈妈讲各种不给买的理由拒绝孩子,孩子直接问:”妈妈你为什么见不得我开心?”孩子经常能简单通透的看到本质。父母若对自己内心的匮乏感没有觉察,会无意识地传递给孩子。自己小时候没得到过的快乐顺畅,所以也要跟孩子较劲,让孩子处处拧巴。 教育家说:“使孩子品行好的最好方法,就是使他们愉快。而这个社会的大多数成年人在让孩子愉快这点上,都显得出奇的吝啬。就在他们或是粗暴,或是和蔼地夺走那些让我们愉快的事物时,他们总会不忘附加这样一句:这样做是为了你好。而这真的是一句带有说服性的辩词,它会在最后使我们也同意毁灭自己。” 不要评判孩子的欲望,讲一堆理由证明孩子不应该提这个要求,甚至自欺欺人说这么做是为孩子好。孩子需要什么,就是需要什么,可能在你眼里那个根本没必要,但在孩子心里就是他想要的。无论买或者不买,请尊重孩子的欲望,你可以不满足,但是不能自以为是去评判。 富养穷养取决于父母的心态,而跟经济能力关系不大。一些身价千万的父母,去趟香港给孩子带一堆上千块的童装,因为这是父母想要的。而孩子喜欢的贴纸或摇摇车,却经常跟孩子较劲,给孩子制造匮乏感。这样的孩子长大一些,容易变得欲壑难填,跑车名表攀比着买,也很难弥补童年的匮乏感。然后所有人都会感叹一句:就是父母太溺爱了,造成孩子如此奢侈浪费。 溺爱几乎是中国人的万金油标签,孩子出啥问题都往溺爱上贴,典型的中国式浆糊逻辑。那些口口声声富养就会把孩子养成李天一的网友,按照这个逻辑,岂不是穷养的孩子就要变成马加爵? 马斯洛需求层次论众人皆知,人类一个需求层次满足后自然向更高层进阶,这再自然不过的常识,到了自己孩子身上,有些人竟生出“越满足越沉溺越疯狂要求”的妄想,而且以此妄想为理论依据,时常跟孩子的需求较劲,就是不让孩子顺畅开心。身穷穷一时,心穷穷三代,心穷之人一旦拥有权力便容易穷奢极欲,刘志军成克杰等著名贪官都回忆说,出身穷苦是“思想走偏”的原因之一。 你的欲求很美好,你值得一切最好的东西 诚意面对孩子需求,不跟孩子较劲的父母,都会发现孩子的心是那么纯净易满足。 小育在咨询中遇到一个全职妈妈的儿子4岁,内向胆小,见人从不打招呼,也不愿意跟人分享零食或者玩具。因为长期限制吃巧克力,儿子对巧克力呈现出成瘾般的痴迷。后来这位妈妈自省,决定彻底放开限制,去香港买了一旅行箱巧克力。孩子开始不敢相信,问妈妈这些都是给我的吗?妈妈确认说这都是给你的,你想怎么吃怎么吃。结果孩子一路主动跟出租车司机聊天,电梯里见人就招呼,主动分享,单纯快乐得像小麻雀。 一箱巧克力,就给孩子带来天堂般的快乐,充沛的能量流动。对孩子来说,快乐不在于价格标签,而是被父母充分的看见和回应。在网上看到一句话说得挺好:如果我能吃2块巧克力,你愿意给我10块,剩下8块都在说:我爱你。 童年长期的匮乏感,逐渐凝固成内心黑洞,真正欲壑难填的都是成年人的黑洞。成年后的黑洞依然可以通过自我觉察疗愈。若把最恶劣的想象投射给孩子,通过打压孩子欲求转嫁自己的匮乏痛苦,还美其名曰为孩子好,则至少毁三代。 父母在童年满足了孩子哪些方面,孩子未来在哪些方面就会流动而不执著,有自由去体验更高级的需求层次。安全感被充分满足的孩子,将来不会在婚恋中只敢要安全无害的人;物质需要被父母及时肯定回应的孩子,人生追求不会只停留在赚钱层面;一个各方面被充分满足和自由的孩子,自然绽放不可思议绚烂的一生。历史上最杰出的艺术家、哲学家大多出身富贵之家或者有贵族供养。 父母无论贫富,都可以给孩子传递:你的欲求很美好,你值得一切最好的东西。那么孩子未来自然会物质丰盛而且不执著奢靡。 写在后面 请不要再教育孩子粒粒皆辛苦,而是分享给他工作并获取金钱的乐趣; 请不要再唠叨孩子珍惜花钱,而是告诉孩子你值得富足美好的物质生活; 请不要再倾述养家多辛苦,而是讲述你为这个家庭奋斗的自豪和满足; 为了孩子未来精神和物质的丰盛,请收回我们对待生活的沉重和匮乏感,将希望与丰盛传递给下一代。

有人向我反馈了一个bug

有人向我反馈了一个 bug。 “26 楼会议室的灯亮着。它需要被熄灭。”bug 的备注里写道“你应该能在 5 分钟内搞定,只要按一下开关就好了。“ 你去了 26 楼的会议室。灯的确亮着,但房间里没有灯的开关。 所以,你准备安装一个。但设计师说,它会破坏房间的美感。另外,墙壁是混凝土。你需要合适的工具才能安装开关。但是,没有人会批准购买这些工具。如果没有合适的工具,安装开关将需要两天。他们希望你现在就能把灯关上,因为他们害怕 CEO 可能心血来潮决定去 26 楼逛逛,并恰好路过了会议室,问为什么灯是亮着的。 现在你不断地收到邮件,询问为什么会议室的灯还是亮着的。现在你不得不群发一封邮件说明情况,几人开始了一个恐慌的电子邮件链。 你知道,如果你期待着问题能够被邮件讨论解决(而不实际做点什么),这个问题永远也不会得到修复。bug 系统里,这个 bug 归你处理,而且它的最后期限就是今天。如果问题没有解决,会有麻烦的是你。所以,你设法进到了 26 楼走廊的天花板里,找到了会议室灯的电线,一刀切断。问题解决了。 为了平息在电子邮件链里的恐慌,你(再次群发邮件)说明了你是如何解决问题的。 邮箱安静了一阵。当它再次响个不停的时候,每个人都在担心,现在会议室的灯无法开启和关闭。如果 CEO 想在那里开会怎么办?因此,他们要求你“把灯的电线牵引到地下室去”。当有人需要开关灯时,他们会通知你到地下室去,连接或断开电线。 你抗议这个荒谬的解决方案。你的上司说,“是的,我知道这不理想。但它是现在唯一的解决方案。“ 这时,你面临着选择。你可以照着他们说的做,或者辞职以示抗议,另谋高就。但你知道,一旦你开始了新的工作,新的他们很可能也会要求你做这么白痴的事,如果不是更白痴的话。 你把 26 楼的电线牵引到了地下室。当你进入地下室后,发现已经有几十条电线挂在墙上,你知道你不是一个人,也知道了这个白痴想法是从哪来的。你调整好了电线,尽人事地贴上标记,默默地向下一个可能处理它的哥们道歉。 终于,你回到了你的办公桌,你收到了一个新的 report。 QA 重新开启了 bug。bug 描述里说“房间还是亮着。” 你回到 26 楼的会议室。灯是灭着的。你返回办公桌前,关闭了 bug,注明你已经亲自检查过了。 QA 再次重新开启了 bug。“房间还亮着”bug 描述里坚持。再次亲眼确认灯泡灭着后,你将情况汇报给了上司。他建议你去地下室检查电线。你抗议说你正直盯盯地看着灯,它就是灭着的。 “我知道,但去检查一下。这样一来你就可以告诉 QA 你确认了所有流程。” 你叹了口气,前往地下室。果然,电线没有连接,切口两端都好好地被包裹着。它们不可能以任何你能理解的方式导电。 你向 QA 反馈,你检查了电线,它们没有连接着,你正看着灯泡,它是熄灭的。 “我不是指灯泡,”QA 说。 “bug […]

拉登死了,沙县小吃没了

“战争结束了。”沙县小吃的老板叼着一根烟,一屁股坐在我的面前,眼神飘忽。一口烟从他口中爬出来。     我感到不快。     当时我要了一笼包子,一个大份馄饨,吃的很开心,准备再要一只鸡腿,其实我更想吃大排套餐里的大排,但是不知道那个是否能单卖,我正在心中酝酿措辞。这个中年人一屁股坐在我的面前,一个单独吃饭吃的面带笑容的顾客面前,说了一句没头没脑的话,而且抽着烟。     “什么战争?另外,大排套餐里的大排单卖么?”我耐着性子问。     他起身去厨房,端来一口锅,满满全是卤味。蛋,豆干,鸡腿,大排。     “你这是……?”我问。     “随便吃,不要钱,如果你要白饭的话我去添。”他递给我一只大勺,“听我说说话,我心里有话,一切都结束了,我得说一说。”     这很合算。我点头。     “你看,”他手指不远处。一家兰州拉面馆,老板和几个伙计坐在门口的一张桌子上,各自手里捏着一把扑克牌。“他们在干吗?”     “打牌,”我在锅里寻找一颗卤得较久比较入味的卤蛋。     “不,仔细看。”他面带一种讥诮。     我停下筷子,仔细观察。他们手捏一把扑克牌,但好长时间都没有人动一动,表情麻木,彼此之间沉默不语。     “彷徨。”他轻敲桌子,“我理解这种感受。”     我不理会他,夹开一颗卤蛋,汁水四溢。     “你知道么?本·拉登死了。”他好像在告诉我一个秘密一样。     “嗯嗯……。”我口含一颗卤蛋,含糊答应,蛋黄噎住了我的嘴。     “所以,战争结束了。It‘s over。他们输了,我们赢了,”他表情悲戚。“但有一点一样,从明天起,我们同样是是失牧的羔羊了。”     我重新端详这个老板,微黑,沿海五官,有一种潮汕地区人民特有的质朴之气。     “老板你是不是最近生意做得不顺?”我问。你脑子坏了吗?你馄饨包傻了吗?你卤汤中毒了吗?     “你见过工商来这里收钱么?”他问。     “似乎是没有。”     “你见过混混来搅事么?”他问。     “好像是也没有。”     他俯起身子贴近我,在我耳边很深沉的说。“因为我是安全部的。”     我再次端详这个老板,微黑,沿海五官,有一种铁血论坛的伟大使命感。     “哈?”我说。你老母的。     “我不是开小吃店的。我是一名情报人员。”他翘起二郎腿,坚毅,目视远方。    […]

举国之力完成与Windows,Linux并驾齐驱的国产操作系统是否可行?

回答者:shotgun 我搞信息安全的,所以只评价信息安全部分,举国之力纠集了数万程序员开发出来“自主可控”的操作系统。 然后,有千分之一的程序员被某些外国情报部门买通了,“自主可控”何在? 有百分之一的程序员没有安全编程意识,留下了各种安全漏洞,“自主可控”何在? 有十分之一的分包公司偷偷用开源的项目代码交差,“自主可控”何在? 回答者:北极,Simple Gifts 我觉得很多人有“国产情结”,知乎上每隔一段时间就有人会问国产操作系统的问题,比如: 开发一个 Windows 级别的操作系统难度有多大? – 科技 如何看待中科院联合上海联彤发布的「中国操作系统」(COS)? – Linux 中国那么多人才为什么不做自己国家的操作系统,而用美国的Windows ? – 操作系统 那么多国家“国产操作系统”为什么都要用linux内核? – 互联网 在可见的将来,我们能看到国产操作系统崛起吗? – 操作系统 如何建设国产操作系统生态圈? – Linux 作为国人,应该如何看待国产操作系统(桌面、移动)的努力? – 谷歌 (Google) 如何评价倪光南院士希望将Windows操应用软件移植到国产操作系统上? – 互联网 现如今成熟的操作系统市场,国产操作系统还有没有突围的可能? – 手机 为什么没有企业出来开发一个国产的手机操作系统? – 移动互联网 我国有国产的电脑操作系统吗? – 国产操作系统 类似的还有国产CPU之类的问题,我不一一列举。 既然题主问的是“举国之力”,那么我认为也是“可能”的,但我不认为“可行”。 先说为什么是可能的: 如果不考虑市场商业价值,那么投入大量的钱就可以了,操作系统开发,应该算是“体力密集型”的工作。 以Windows 2000为例,内核和内核周边的部分约1000万行代码(网上有泄露的,下一份就可以统计出来/Linux 2.6.x差不多也是这个数),驱动部分大概是内核部分的十几倍,上层应用不详,不过这已经不是最困难的部分了。 一个操作系统工程师一年实际完成的代码量大概约为1000行,考虑到操作系统开发周期接近十年,包括前期预研、需求分析、总体设计等等,所以需要投入的人力资源大概是:10000*10人/年(注:这里算出来是一亿行,因为考虑的是代码重写等因素),再加上一半左右的测试人员、配置管理员、技术支持人员等, 差不多是200000人/年。北上广普通码农的工资水平大概是20~40万/年,以40万计算,这些人工作十年,在不涨工资的情况下是40*200000万元的工资支出,大概800亿。 考虑到企业还要正常运行,工资支出只是其中的一少部分,但我们假设IT公司其它方面支出少,假设工资支出占1/3(注:国内企业平均水平大概是1/4),又因为企业实际负担工资大概是税前工资的1.3~1.5倍(各种社保什么的),所以开发一个操作系统大概需要投入:800*3*1.5=3600亿。 […]

程序员风格的修真小说

终有一天我手中的编译器将成为我灵魂的一部分,这世界在我的眼中将被代码重构,我将看到山川无尽银河无垠都汇成二进制的数字河流,过往英雄都在我脑海眼前一一浮现,而我听到无数码农跪倒在我的程序面前呼喊。 他们叫我代码之神。 到那个时候,我想我一定可以找回你。 一丶 这是一个属于代码的修真世界。 这世界里的每一个人,每一个东西,包括高山大海,刀剑风云,其本质都是一串数字流。 打个比方,如果你知道一块石头的内部数据结构,并且参透其中玄妙,你就能用程序改变它的一切。如果能参透自身这一个复杂的操作系统,就能重新编码自己,获得更大的能力。 所以你的程序水平的高低,决定了你的牛逼程度。 我们这些修真者,都叫程序员。 有人的地方,就有江湖。有江湖的地方,就有代码。 刚入门的时候,师傅跟我说,我们程序员修的,是一份境界。短短几句的代码里,要有最完美的逻辑,跟最精妙的算法。这本《算法导论》,你暂且拿去研修。 我们程序员,外修语言,内修算法。以数据为根,算天算地算自己。 听起来真的好酷。 但这个江湖,并不平静。几大门派,上有微软谷歌,下至百度阿里,每个门派风格迥异,暗地里都有无数摩擦。 师傅说,我们知乎派,理论见长。三大软狗、哦不,三大软神坐镇,还有无数默默搬砖的程序员,如今也算在乱世立稳了脚跟。 师傅还说,江湖虽乱,但我们修真之人,说到底还是要修自身,恩恩怨怨都是过眼云烟,自身境界才是万源之本。 我点了点头。 师傅又拍了拍我的小脑瓜,慈祥一笑。他说,如果下次天涯派那群人还过来闹事,我们一定要秉承我们的自身理念来处理他们。 我知道了,我回师傅道,我跟刘看山一定会好言相劝,么么他们个哒哒。 不。师傅转身过来,鹰眼之中精光毕露,胡须颤动的嘴唇之中,一个字一个字地吐出来。 灰飞烟灭,一个不留。 二丶 自我开始修真起,我练的便是C++的功夫。 虽然大师兄跟我说过,不管你学的事什么语言,都是殊途同归。我们修真之人,都不要在乎这些差别,要参透的是程序的本质。 然后他又说,不过,用Java的都是傻逼。 大师兄跟我一样,C++的功底深厚,面向对象的各种技能用的精通,只是可惜,他还没有对象。 我永远忘不了那一天,我们知乎派的山门被一众凶恶之徒所踏破,山石飞舞,浮尘弥漫,门派服务器都暂停运行。 大师兄坐在大殿房顶之上,喝一壶陈年的竹叶青。姿势潇洒,闷骚至极。 是他们,谁都知道,天涯派不止一次来闹事。 我从来没见过大师兄出过手。 天涯派的来人,在烟尘之中现出数个魁梧身影,还夹带了一声大笑和开场白: 哈哈哈哈哈哈哈,知乎派,hello world! 大师兄的眼皮都没有眨一下。 他的右手之上字符串环流浮现,左手抬起酒壶一饮而尽,右手对着虚空就是一指,那一串字符都消散在空气之中。 刹那间风云突变,一阵狂风似有形一般,沿着大师兄所指方向似一条狂龙横冲了过去,一个照面便将几个大汉吹得撞出山门之外,摔了个七荤八素。 那一霎我屏住呼吸。 大师兄整了整风中凌乱的发型,说,这就叫快速傅里叶变换,将风压重新编码,所到之处,寸草不生。你们都还在解码自己,我已经开始操纵世界——天涯跟知乎,就是在这里的差距,懂? 都他妈的给老子滚。 从那一刻开始,我才知道,有些人已经可以编码这个世界本身。 这才是叫修真。 三丶 在知乎里修行了十年,师傅说我可以下山了。 我已经熟知C++的基本技能,但师傅告诫我千万不要说自己精通C++。他说,这世界上,没有人可以说,他已经精通C++,所以即算你装逼的时候,也要装得像个样子。比如,你可以说你精通java。 我点头称是。 这十年来,我每日苦读《算法导论》和《C++ primer》,精通数据库原理跟操作系统,同龄人之中无人是我敌手,自认为天下哪里都可去得。 是为年轻气盛,是为势不可挡。 我下山之后,连连在江湖之中,将一些有一点点小名气的程序员斩于马下。 他们之中,有些是根基不稳,有些是反应迟钝,有些是冥顽不灵,有些是莽撞愚蠢。 当然,我现在说起来是云淡风轻,那是因为我在装逼。其实也经过了一番苦战,有过一些辛酸。终于有一天,我将天下程序员排行榜第一千位的马特给击败,成功登上天下程序员排行榜。 马特这个程序员,有一些狡猾。他占据第一千位,已经很久没有变过。他精通计算机图形学,经常使用一些幻境击败对手。他比他上面几位更加难缠,所以通常没有人会去挑战他。因为你赢了他,也只能到第一千位,还不如去挑战他上面的更划算一些。 可惜他遇到了我,因为我比他,更精通计算机图形学。 于是这也成为一个不大不小的消息,在江湖里传播,从此我有了一个外号,他们叫我杀马特。 俗话说树大招风,人不能太出名。 […]

人情债的博弈:为何会有“中国式让梨”?

你也许已经看过了漫画作者@笛子Ocarina 的“中国式让梨”。 这是一场典型的围绕人情债而展开的仪式性争斗。但为何会有这样的争斗呢?博弈理论对这样的现象有一个尝试性的解释。 从重复囚徒博弈到人情交换 今天我帮你个忙,明天你帮我一个。日常所说的人情,说白了就是这样的互惠行为。我牺牲自己的利益,为你带来更大的利益,指望你将来能为我做同样的事情,最终双方一起受益。 为啥我不担心你拿了好处跑路呢?因为我预测我们在未来还会碰面,双方的互动还会持续下去。形成长久的合作关系,最终都会受益更大;就算你真的打算为眼前利益背叛我,你也得掂量一下来自社会的谴责——这世界上可不止你我两个人。 就这个逻辑追根溯源,可以回到所有合作理论的基石:重复囚徒困境。如果你我只相遇一次,此后再也没有任何交集,那么纯为自己眼下利益着想是正常的,双方都会选择背叛,哪怕最终结果是双输。但是如果相遇次数很多,优势策略就变成了“回报好人、惩罚坏人”。这个思路下最著名的策略莫过于“一报还一报”(TFT)——你上一轮怎么对我,我这一轮就怎么回敬。其实它并不是在所有场合下都最优,但各种最优策略里都有它的影子。 而博弈论里的“人情交换”(Favor trading),则是在此基础上做了修正:双方不再是同时打出合作或者背叛,而是每次只有一方能够行动,善举是否得到回报要等到下一轮才知晓。这引入了一些额外的变数,但是大多数情况下,主流的行为依然是长期的合作互惠。一个存在“人情”概念的社会,其实是更好的。 孔融让梨:一个毫无益处的人情 现在问题来了。无论是博弈论上分析的人情,还是我们日常生活中感受到的大部分人情,都是代价小收益大的。朋友帮你个忙,你再帮回去,结果是双方都得到了好处,总体上对社会也有益。 可是,挑梨是一个“零和博弈”。一共两个梨,一方拿了大的,另一方就必然得拿小的,当两个孩子 都很喜欢梨的时候,代价和收益正好相当。在让梨的时候,无论双方交换多少次人情,都不会变得更好;就让梨本身而言,没有双赢也没有双输。照理说,这样的东西并没有多少积极效果。 只是,现实生活中没有人真的会去用博弈论计算每一次交易。就算这是一个毫无益处的人情,在我们看来,这也是人情。 其实一个梨子而已并没有什么要紧的,但是文化传统不这么认为。 人情的大与小 人情虽然好用,但记人情可是件负担很大的活儿。毕竟这东西不能定量,不能像记账本那样明明白白写下来。而且,正如我们不愿意欠债一样,欠人情债——尤其是并不算亲密无间的亲戚的债——也是让人不自在的事情。(因为传统中国家庭结构的原因,这样的债还偏偏很容易欠下。) 要怎么避免脑子记的人情太多最终炸掉?原则人人都懂,抓大放小嘛。大的人情记住,小的过去就过去了。但是,多大算大多小算小,不同人和不同文化的判断都是不一样的。而出于某种原因(不知是否和儒家经典里反复强调的禅让有关),“谦让”在中国传统文化里,被划分成了大事儿。就算谦让的只是梨子这种微不足道的小东西,挂上了这个名头也是大事儿。 又是大事儿,又不想欠人情,双方互不相让,眼看就要僵持下去,怎么办?只好靠仪式性斗争找台阶下了。 仪式的意义 有一个广为流传的说法:只有人会伤害同类,动物不会。这当然是无稽之谈,动物攻击、杀死甚至吃掉同类的场景比起人只多不少;但在一种场合下,动物是的确不会做出过分举动的,那就是仪式性斗争。 仪式性斗争的理论的原型是胆小鬼博弈,在此基础上经过了演化博弈论的改良。它假定在和实力相当的敌方对抗的时候,你可以选择往死里打,可以选择拖时间,也可以选择认输。理论推算和计算机模拟表明,大多数情况下这样的斗争结局是双方一起拖时间,最终一方挑个合适的时机或者借口,在形式上认输,而实际上默认打成接近平手。这样不但造成的损失最小,而且也最大程度地保全了面子——或者,在让梨的例子里,最大程度地减小了人情债。 当然,在让梨这个例子里,梨子实在是微不足道,输了也没有什么了不起;但还是那个问题:我们的传统文化认为这是大事儿,我们也只好按照大事儿去对待它了。 是道德在绑架,还是人在绑架? 人情往来,在原则上是没有错的;让梨虽说是小题大做,但后果也不过是耽误时间而已。我们真正反感的,是它以最极端的方式展现了道德上的虚伪:明明是在算计,却偏要装作礼貌。 所幸,总的来说道德并没有这么糟糕。在博弈论的模拟里,参赛的各方是程序,它们自己并没有在算计,是反复的博弈过程剔除了表现欠佳的程序,从而实现了算计的效果——这就像马蹄子很适合奔跑,但马自己对此一无所知一样。诚然,人类个体能算计,但多数人在多数时候还是没在算的;概率上讲,你能看到的绝大部分道德行为,其主体都是简单而真心地相信它好,而不是经过了周密的利弊分析。再说,动机又不是道德的全部,很多时候只要结果是好的,我们也不会去过问动机。 但是对于我来说更加可怕的是,这幅漫画展现的让梨场景是一个典型的双重绑架——古旧的文化传统绑架了成年人,成年人又带着传统继续绑架下一代。社会时时刻刻都在改变,道德标准也应该跟着社会的变化而前进,然而现实中传统的力量却总是在拖后腿;相信两千年前的古人能够完美指导今天的社会规范,和相信他们能完美指导今天的科学、技术、医疗、经济……是一样荒谬的,可是总会有人这么相信。更加糟糕的是,这些人还在利用自己的权力和地位——无论是社会上的还是家庭中的——去把这些想法强加给下一代人。 因此,虽然一个梨真的只是完全无足轻重的小事儿,我还是想说,让梨这种事情,去死吧。

你为什么那么怕鬼?

图片来自网络 本文来自壹读微信【壹读百科】栏目 壹读微信号:yiduiread 清明节假期过了,生活步入正轨。清明节也算在中国三大鬼节之一,虽然这个节日一点也不恐怖,可能是因为……有假放,咳咳。 但总的来说,对于鬼,大部分人是畏惧的。但是怕鬼的同时,问一句,你信鬼吗?得到的答案不一定是一个坚定不移的“信!”。 怕鬼是一种令人矛盾的情绪,当你正儿八经地想这个问题的时候,想出来的结果可能是:这玩意儿没什么可怕的。壹读君(yiduiread)也有理由相信,鬼应该是害怕被壹读君附身的,而不是反过来。但很多人就是控制不住在看鬼片的时候拉人壮胆,或者听到奇怪的声音陷进无穷的联想……今天,壹读君就来帮你理理清,人为什么那么怕鬼? 宋定伯附体的实习壹读君︱陈娣 因为“鬼”长得丑 所谓“长的丑不是你的错,但出来吓人就是你不对了”。没错,根据日本机器人专家森政弘的观点,你怕鬼是因为他们长的太丑了。 单从外形上讲,鬼怪就是一种仿人类形象,但要仿得恰到好处让人喜欢可不简单。一个形象越接近于人类,我们就会越喜欢他,然而当这种接近达到70%左右时,我们的好感就会突然逆转为负值,随着相似度的进一步增加,我们就又开始慢慢喜欢了,这就是“恐怖谷”理论。 想想一个身穿白裙的小女孩,一个人蹲在小巷尽头,路灯光线很暗,你慢慢走近,发现她湿漉漉的头发滴湿了一地,你拍拍她的肩,她缓慢呆滞地抬起头,向你投来凄厉的眼神……这时候你就该打冷颤了。你以为这是个孩子,可是她的表现却不像个孩子,虽然你不一定立马联想到鬼,但也会禁不住起一身鸡皮疙瘩。这就是一种类似于认知失调的反应。也就是说,当仿人类形象的外表和动作接近于人类、又不完美拟合时,观察者就会产生反感心理。而鬼魂、僵尸、假肢正是让人好感度降到谷底的形象。 壹读君(yiduiread)由此猜想,或许东施效颦也是这个道理,模仿不像反而让我们反感,所幸还只是让人反感还没觉得恐怖。 你天生就信肉体可死,灵魂不灭 可你还是不明白,离开荧幕后,为什么你还会把这种恐惧心理衍伸到现实生活中,以至于不敢关灯睡觉呢? 摸摸头,壹读君(yiduiread)告诉你:怕鬼其实是你的本能。 美国阿肯色大学的心理学家杰西•贝林让4到12岁的孩子看了一出木偶剧:一只迷路的小老鼠,又饿又困,被一条鳄鱼发现,残忍地吃掉了。接着,杰西•贝林问了孩子们一些问题,比如饥饿的小老鼠还需要吃东西吗?大脑还工作吗?小老鼠还爱它妈妈吗? 这让杰西•贝林觉得,把生理和心理分开的身心二元论似乎是一种本能,是大脑默认的认知系统,相反,认识到人死后不再有心理功能才是后天习得的。也就是说,人在本能上是相信有鬼的。 杰西•贝林的观点得到耶鲁大学心理学家鲍尔•布鲁姆的支持,他认为正是这种分离的认知系统为我们的超自然信仰提供了基础。 然而,按照杰西•贝林的观点,我们应该会随着后天习得的认识的增长对鬼怪建立一套免疫系统;所以,这并不能解释为什么不相信有鬼阻止不了你怕鬼。 鬼宅心慌慌?有可能是次声波在调戏你 这就不能全怪你了,因为“鬼魅作祟”是存在的,电气工程师维克•坦迪就曾在实验室亲眼看见一把花剑中邪似的在地板上疯狂抖动。难道这就是传说中的鬼上身? 让壹读君(yiduiread)告诉你吧,这其实是次声波搞的鬼。坦迪眼中的花剑也是在排气扇产生的次声波作用下开始“鬼上身”。 碰到如此异样又莫名其妙的事情,除了一个“鬼”字,你还能作何解释?借助次声波,英国一位淘气的传播心理学家理查德•怀斯曼和声学家萨拉•安格列斯让人们集体撞了次鬼。他们把次声波混入音乐旋律,通过下水管道释放出来,让音乐会现场200名观众中的22%以为自己撞鬼了。想想听现场音乐听出撞鬼的感觉,也真是醉了。 不过根据坦迪的研究,这种次声波存在于很多建筑物中,强风吹进窗户,街道上嘈杂的交通,都会产生次声波。他也曾到各地一些传言闹鬼的地下室、城堡、教堂等进行检测,果然在门道、走廊等处检出比较强的次声波——这或许能帮一些鬼宅洗白。 其实,鬼,你值得拥有 不过,千万别想着把责任推干净。想想在同样的环境下,为什么你怕得要死别人却一点儿事都没有?不是你胆子小,只怪你想象力丰富又容易被催眠。 关着门的衣橱、虚掩的木门、月光下生锈的铁窗、雨夜里忽闪忽闪的路灯……这本来都是日常生活中的场景,但放到想象力丰富的人面前,就变成鬼出场的前奏了。理查德•怀斯曼发现次声波、丰富的想象力和容易被催眠是撞鬼的三大要素。 想象力越丰富、越容易被催眠的人也越能成功地说服自己——哦,我感觉到了,他就在后面,就在右肩边上,他在靠近我,他的手就要抓住我了,完了,抓住我了,好冷,我走不动了,我的脚被定住了,完了我动不了…… 可是,如果你告诉壹读君(yiduiread),即使明白了这些道理,你还是免不了听到天花板上的弹珠声就想起《催眠大师》里面的孙婆婆甚至不敢往床底下看,那壹读君就只能理解为,你很甘心做鬼下臣了——亲爱的,你需要鬼。 不要以为壹读君(yiduiread)在冤枉你,有84%的人都是你的同类哦。所谓“人在吃,称在看”,哦,不对,“人在做,天在看”,人类在社会层面是需要怕鬼的。杰西•贝林发现,即使是不相信有鬼的人,被告知正处于有鬼出没的地方时,行为都会更规范。 有一种观点认为,这是人类进化而来的本能。鬼的存在建立了一种类似于全景监狱的监视系统,能在无形中规范人的行为,增加人的亲社会行为,从而帮助人们在集体中存活下来。从这个角度讲,鬼和宗教有了同等的意义。 此外,实验还证明,我们倾向于把世间万物当做是设计好的、有目的、有联系的,比如,我们常常会从一些随机的自然现象中寻找因果关系,看成是上天的某种启迪——很多人前一天晚上梦见飞机失事,第二天就临时决定改换航班。 所以说,下次再有怕鬼的情绪,不妨想想是你需要这个玩伴呢……祝你今晚好眠!

谨记六大定律

1.摆阔定律:越穷的人越爱摆阔。 2.担心定律:越担心的事越容易发生。 3.般配定律:靓男倩女多与自己外表相反的厮守终身。 4.要求定律:越说随便和怎么都行的人要求越高。 5.沟通定律:世上70%的烦恼由沟通不畅所致。 6.装病定律:你之前装了什么病,之后就会容易得什么病。