《暗时间》总结


获得的多少并不取决于读了多少,而取决于思考了多少、多深

学习一个小领域的时候,时时把“最终能够写出一篇漂亮的 Survey放在大脑中提醒自己。


对付我们强大的习惯的最佳办法是将自己认为正确的(不管是自己经过困难或失败 而领悟的,还是看到书上或听到别人说的)写下来,并常常拿出来翻看。事实上,我的经验是,在写下来的时候我们的大脑会进入到理性分析模块,进一步检验和推理那些道理, 我们越是对一个道理审视的详细、深入、全面,大脑中留下的印象深刻,从记忆加工的角度来说,这叫深度加工,带来的结果就是该记忆与更多的提取线索相关联,于是便能够在更多的场景下被唤起(而不是被以往的习惯直接覆盖 )。


事实上,很多成功者自己的总结都不靠谱,就是因为他们自己也难以对自己成功的原因进行正确的归因,比如我们都有这样一种倾向:将失败归因于外界因素,将成功归因于自己的能耐。(心理学把这个称为自我服务偏差)。


GTD的原理:通过提供不断的进展,让执行者意识到事情正在朝向完成不断迈进,这种正面趋势所带来的积极情感能够进一步激励个体把事情执行到底。


真正的理由有时候往往隐藏在意识触及不到的地方,由我们的情绪大脑所掌控,当它引导我们的情绪大脑作出决定之后,才发个红头文件通知我们的理性大脑,我们的理性大脑于是便迅速而果断地给出各种听上去很合理的解释,让我们的决定和行为看上去无懈可击。对于理智上希望从事的事情,在你强大的情绪大脑面前,你的理性大脑只能屈服,但你又不能让自己处于天人交战的纠结状态,所以你的理性大脑便用各种理由来搪塞自己



只要一件事情尚存在对自己有利的解释,我们的大脑便会毫不犹豫地掩耳盗铃地认为那就是唯一的解释。这只是一种解释(可能),未必是唯一的解释(可能)。


只要一种解释是对自己有利的,我们便不想去推敲和反驳,再漏洞百出的事情看上去也不无可能,而且只要一种解释是有可能的,我们就认定其一定是的,强大的情绪大脑会阻止理性大脑去往深入了想。而对于对自己不利的解释,我们或者忽略,或者则会异常仔细去推敲,抓住一个漏洞则相信已完全推翻了该解 释。


习惯之所以难以改变,就是因为习惯是自我巩固的,越用越强,越强越用。要想从既有习惯中跳出来,必然要依赖于外界的力量——对于心理机制的知识。仅仅是知道一些常见的行为陷阱和心理弱点的存在便已经可以帮我们避免很多的决策失误。
而如果能够进一步理解这些陷阱和弱点的深层原因,则更可能说服自己做正确的事情。能够改变既有的习惯依靠的不是自制力而是知识 。单纯的自制是一件非常痛苦的事情,你理智上知道应该怎么做,但是你的情绪大脑却就是不买账,一些比较坚定的人能够不管三七二十一就强迫自己去做正确的事情,这殊为不易,不是像我这样的一般人能够做到的。但是,无论任何人,都有一个共同的倾向,就是去做正确的事情,不去做错误的事情。很多时候我们无法自制是因为情绪大脑并不知道也并不承认这件事情是错误的。



客观是承认未知信息的可能性理性意味着能够从对立面的视角去看问题和思考客.


善于利用思维时间的人,可以无形中比别人多出很多时间,从而实际意义上能比别人多活很多年。我们经常听说“心理年龄”这个词,思考得多的人,往往心理年龄更大。
善于利用思维时间的人则能够在重要的事情上时时主动提醒自己,将临时的记忆变成硬编码的行为习惯。


大脑 = CPU时间利用效率
你可以“投入”很多时间在一件事情上面,却发现毫无进展,因为你没有整天把你要做的事情,要学习的东西常驻在你的大脑中,时刻给予它最高的优先级。你走路的时候吃饭的时候,做梦的时候心心念念想的就是这件事情,你的 CPU 总是分配给它,这个时候你的思维时间就被利用到了极致,你投入的时间就真正等于了实际流逝的时间,因为你的 CPU 是满载的。


投入的时间 != 领悟 & 思维时间 ----> 推理时间
如果你有做总结的习惯,你在度过一段时间之后总结自己在某某领域投入了多少时间,建议千万不要粗略地去计算有多少天下班后拿起书来翻看过,因为这样你也许会发现书倒是常翻,但领悟却不见得多深,表面上花的时间不少,收益却不见得那么大。因为看书并记住书中的东西只是记忆,并没有涉及推理,只有靠推理才能深入理解一个事物,看到别人看不到的地方,这部分推理的过程就是你的思维时间,也是人一生中占据一个显著比例的“暗时间”,


减少任务切换
相比之下,如果只做一件任务,就不会有此损失。这就是为什么专注的人比不专注的人时间利用效率高得多的原因。任务切换的暗时间看似非常不明显,甚至很多人认为“多任务”是件很好的事情(有时候的确是),但日积月累起来就会发现,消耗在切换上的时间越来越多。
另外,大脑开始一件任务的时候必须要有一定时间来“热身”。
要充分利用暗时间,不仅要能够迅速进入状态,另一个很重要的习惯就是能够保持状态多久 (思维体力)。
能够迅速进入专注状态,以及能够长期保持专注状态,是高效学习的两个最重要习惯。


只有具备超强的抗干扰能力,才能有效地利用起前面提到的种种暗时间。抗干扰能力也是可以练习出来的,上本科那会经常坐车,所以我就常常拿着本大部头在车上看,坐着看或者站着看都可,事实证明在有干扰的环境中看书是非常锻炼专注能力的一个办法:D 另外,经常利用各种碎片时间阅读和思考,对迅速集中注意力和保持注意力都非常有帮助。


在不知其所以然的情况下,算法只是一堆离散的机械步骤,缺少背后的思想的支撑,这些步骤之间就没有一个本质层面上的关联(先知亚里士多德早就指出:学习即联接)。所以就跟背历史书也没多大区别。然而, 知道了算法是怎样一步步被推导出来 的,我们就一下拥有了大量的记忆提取线索:对算法发现过程中的任何一个关键步骤(尤其是本质)的回忆都可能使我们能够自己动手推导出剩余的内容.
算法设计的主要任务本来就是通过问题条件中蕴含的知识来“消除冗余计算”和“避免不必要计算.


思想所处的抽象层面往往比到处都是实现细节的算法本身要低,越是低的抽象层次,越是本质, 涵盖范围越是广泛。数学的发展本身就体现了这个过程,抽象代数就是非常好的例子。
算法诞生过程中的思路往往包含了比实际算法更本质得多的知识,实际算法乃至算法的某个特定语言的实现包含了太多表面的不相干知识,它们会阻碍对本质的理解


记录只是学习和思考的副作用,只要还在学习和思考,就必然会有新的记录。


看定理必看证明。一个你不明白其证明的定理在我看来比不知道这个定理还要糟糕,因它给你造成一种懂了的错觉。在没有明白背后的证明之前,任何一个定理对你来说都是等价的——等价于背乘法口诀...
看到美妙的证明和解法总是会去一遍又一遍的去反复揣摩,试图理解想出这个证明的人到底是怎么想出来的,有没有什么一般性的方法可循,很多时候,在这样揣摩的过程中,你会理解到更深刻的东西,对问题性质更深刻的认识,对解决问题的思路更深刻的认识.

 


算法的解法则比精妙的数学证明稍加更容易逆向工程一点。只要你有耐心仔细地去琢磨算法的关键步骤和本质,总能从中窥探到一些更 general 的思想和思路来。
此外,很多经典问题,算法书上的讲法虽然时时令我们失望,但如果去网上一搜,则通常会发现更优秀的解释来。


简单地说,如果你对于每个问题都能真正弄清以下这几个问题的答案,那么可以肯定的是, 你的理解,记忆,以及学习的效率都会得到质的提高:
为什么这种解法是对的?
为什么那种解法是错的?
为什么这种解法不是最优的?
证明为什么没有更优的解法。



相信以下的知识技能组合是具有相当程度的不可替代性的 :
1 专业领域技能:成为一个专业领域的专家,你的专业技能越强,在这个领域的不可替代性就越高。
2 跨领域的技能:解决问题的能力,创新思维,判断与决策能力,Critical-Thinking, 表达沟通能力,Open Mind 等等。
3 学习能力:严格来说学习能力也属于跨领域的技能,但由于实在太重要,并且跨任何领域,所以独立出来。如何培养学习能力,到目前为止我所知道的最有效的办法就是持续学习思考新知识
4 性格要素:严格来说这也属于跨领域技能,理由同上。一些我相信很重要的性格要素包括:专注、持之以恒、自省(意识到自己的问题所在的能力,这是改进自身的大前提)、好奇心、自信、谦卑(自信和谦卑是不悖的,前者是相信别人能够做到的自己也能够做到,后者是不要总认为自己确信正确的就一定是正确的,Keep an open mind)等等。



在开始书写你的想法之前,我知道很多人不书写的原因是因为觉得没有什么可写的,其实这是一个怪圈,你越是不开始书写,总是拿有限的思维缓存去默想一个问题,就越是没有内容可以写,如果你逼着自己将一些不成熟的想法写下来,看着自己写的内容,试着进一步拓展它们,就有可能在理性的道路上走得很远,很远。


用博客的形式来记录下你有价值的思考,会带来很多好处,却没有任何明显的坏处。Note:碎碎念不算思考、心情琐记不算思考、唠唠叨叨也不算思考、没话找话也不算思考,请以此类推。


我自己则是非常珍惜类似这样的机会,即当“我强烈地觉得它是对的,但我却说不出所以然 来”,这时候往往是到大脑中翻箱倒柜的时候,弄清来龙去脉的时候,深入反思的时候 ,纠正一直以来错误的潜在前提假设的时候。另一方面,“我强烈地觉得这个说法有问题,但我却说不清它为什么有问题,到底哪有问题”,这也是一个极有意义的瞬间,它几乎总是意味着你对一个问题的认识有潜在的偏差,肯定是在你自己都没有觉知到的地方引入了一个潜在的假设、偷换了一个重要的概念,等等。


一旦你把自己潜意识里面的东西从幕后拉出来,你就有了面对并反思它们的可能,而不是任它们在幕后阴险地左右你的思维。很多时候我们的思路出了问题并不是我们不会反思, 而是不知道自己的思维中有那些隐含的假设assumptions),如果你只感觉到答案,却不知道你大脑得到这个答案之前做了哪些推理,你又怎么知道哪一环可能出了问题呢 ?


发言分为前提假设逻辑结论这四个部分,


去教一个完全不懂的人,则是一种最最强大和彻底的反思途径。这就迫使你对你所掌握的、或之前认为正确的那些东西作彻彻底底的、深刻的反思,你的受众越是不懂, 你需要反思得就越深刻。
对小熊说话~


当思考和总结成为习惯之后, 诉诸文字以及借助书写来进一步思考就变成了一件自然而然的事情,就变成了一件 “因为你在思考和总结从而必须书写下来”的事情,博客就变成了副产品。


让你自己成为一个持续学习和思考的人,并只写你真正思考和总结之后的产物,其他一切就会随之而来。


意志力很大程度上来源于有正确的方法,而非天生 。
1) 担心别人认为没有价值。事实是,你面临过的问题总会有人面临过,你独立思考了,别人没有,你的文章对他们就会有价值。当然,肯定会对某些人没有价值,他们早就知道了, 但就算你再厉害,也总是有人比你厉害的,不能说因为这些原因就不记录你自己的想法了, 你自己思考了之后理解得最深刻,就算有别人想过了,总有人没有想到的。况且,思考成了习惯,你的思考能力也会越来越强,你的文章也会越来越有价值。重复,无论你面临什么困 惑,总会有很多人同样面临过,于是你苦苦思索之后的结果,肯定会对很多人有意义。
或者,你想通了之后觉得其实也很简单于是不愿意或者不好意思写了,但要知道,问题在想通了之后总是简单的,问题的困难程度不在于想通了之后还觉得有多难,而在于从你觉得它难到你觉得它简单需要耗费多少思维体力 ,你耗费的时间越长,说明有越多的人最终还是没有想明白(路越长走到底的人越少)。
最后,虽然我现在看一年前的文章觉得挺不成熟,但是如果没有那些不成熟的思考,也不会有现在更成熟的思考,我几年后来看现在写的东西,还是会觉得不成熟。
2) 担心想法太幼稚或有漏洞等等被别人笑话。人非圣贤。况且,只会批判乃至嘲笑别人的人是最不知道怎么建设的人,忽略他们。


无论如何,不用急于求成,在一个主题上深入下去思考,总能挖到别人挖不到的角落。你能让一个问题在大脑中停留的时间越长,就越是能够发现新的东西,一般来说,我认为有价值的问题我会让他在意识或潜意识中待短则一个星期,长则一个月(视问题大小而定),利用 走路吃饭的时间琢磨。


有一个很不错的概念叫做“Unknown Unknown,大意是如果你不知道一个东西的话,你也不 会知道你自己不知道它。很多时候新知识就有这个特性——掌握了之后觉得很明白,掌握之前却觉得“不可能啊”、“这简直没有解嘛”。在这样的认知之下,你自然会高估前方的困难、 风险和不确定性,因为你不知道什么样的知识才能解决你的困惑。然而事实上呢?只要智商没有根本的差别,别人的大脑能够掌握的知识,你的大脑也能掌握,你所感觉到的巨大困难只不过是因为 Unknown Unknown,你所需要的只是耐心地踏遍这块知识版图,当你掌握了那些你该掌握的知识之后自然会柳暗花明。


在思考一个问题的时候,最容易犯的一类错误就是忘了考虑某种可能性,不管这种可能性是另一种做法(譬如只顾着构造一个能一步得出结果的算法,没记得还可以从错误情况逼近。譬如只顾着正着推导,却忘了可以反过来推。只顾着反过来推,居然忘了可以考察简单特例。试了各种手法,却发现忘了考虑题目的某个条件。觉得试遍了所有可能性,已经走不下去了,然后其实在思维的早些时候就已经落入了思维陷阱。等等)事实上,即便是一个熟练的解题者也容易犯顾此失彼的问题,因为我们一旦意识到一个看似能够得到结论的解法,整个注意力就容易被吸引过去,而由于推导的路径是很长的,所以很容易在一条路上走到黑,试图再往下走一步就得出解。却忘了回过头来看看再更高的层面上还有没有其它手法,思路上有没有其他可能性。
为了避免这样的错误,一个有效的办法就是将自己的思考过程(中的重要环节)清晰的写在纸上(称为“看得见的思考”),


本质上,练习并不产生新能力。然而练习最重要的一个作用就是将外显记忆转化为内隐记忆


解题练习的最重要目的不是将特定的题目解出来,而是在于反思解题过程中的一般性的,跨问题的思维法则。


心中有锤,就容易为其奴役:在遇到问题的时候不是具体问题具体分析,而是屁股决定脑袋,不管三七二十一先上黄金大锤再说,而且往往还颇有成就感,却将自己真正原本要解决的问题抛在脑后了。始终莫要忘记提醒自己,“问题是什么?
但毫无疑问,没有锤子是万万不行的,没有谁会傻到徒手钉钉。重点是选择合适你的工具。这又要求在学习工具的时候始终别忘记它的适用范围。


我们在学习工具的时候由于投入很多的时间,往往在情绪上面对工具产生了太强的感情,我们既投入了时间,当然内心希望能够用上这些工具,所以就容易忘掉其适用前提,欣欣然地不管三七二十一就把黄 金大锤亮出来,以显示自己的厉害。但如果我们换一个态度,仅仅将它看作我们工具箱中的又一件工具,就可以客观地评估它,视具体情况而使用了 ——始终别忘记自己要解决的问题是什么。Why 永远在 How 之前


How 层面把事情做好,做成一个精钻的程序员,那顶多就是能把钳子使好,这样的事情很多人都能做到,熟能生巧嘛。换句话说程序员基本上是去解决一个定义好的问题,去实施一个定义好的方案。然而决策问题就不一样了,决策问题是需要去定义问题是什么,以及权衡最佳方 案是什么,不管是决策技术架构还是决策商业策略,都是非常复杂的思维过程,需要综合和权衡大量的信息,这种能力就不是简单楞着头搞下去能练出来的了,很多时候需要抬起头来看,免得只见树木不见森林。


真正判别弱智与否的并非用什么语言技术,而是做出什么产品满足什么需求


一些对于技术型程序员往往没有吸引力的话题其实有着极其重大 的价值——比如什么时候设计,什么时候重构,什么时候集成,再往上一层其实这些又都是次级问题,首要的问题还是这个产品满足什么需求,有什么市场(即这件事情值不值得做), 有一句话想必很多人常听说,如果不知道要做什么,套上十二层架构也无济于事 ,方法永远不是因,而是果


1. 一件事情 仅仅 让你感觉挺牛不代表这件事情就是值得做的;
2. 一件事情 仅仅 让你感到很有兴趣并不代表这件事情就是值得做的。
兼顾各种成本与收益


反问一句,除了情绪价值之外,这样的事情在本身的价值上有没有你感觉到的那么牛呢?如 果你只是在削铅笔,那么何必磨一把倚天屠龙剑来?反之,如果你做的是一个本身功能很牛很创新很有价值的软件,那么语言技术其实完全是次要的 ,并不是看上去越眩越好,关键是选择各个方面综合考虑起来最合适的工具即可,瑞士军刀也许很丑,但对于丛林冒险很 实用就行。拿着一把屠龙宝刀去野外生存,同样也不靠谱。


CodingHorror 的作者最近在博客里面跟着 Steve Yegge 同学宣称,如果有一件事情是他想教给程序员同学们的,那就是 Marketing。无独有偶,有一次吃饭的时候鲍志云同学也提到: Marketing Sense 是很重要的。其实也就是不要总想着写牛代码,用牛语言技术,不要落入为技术而技术的怪圈,而是首先想明白做的事情有什么价值,先弄清做什么,为什么做, 再去想怎么做,这样后面的功夫才花的有价值。


You won’t– you cannot– become a better programmer through sheer force of programming alone.You can only complement and enhance your existing programming skills by branching out. Learn about your users. Learn about the industry. Learn about your business.


实际上,这种将别人所处的境况通过与自身曾经的经历进行平行的类比来学习的方法是一种非常重要的能力,也是真正能够从他人的经验当中学习到东西的一个重要基础。如果不能联系/类比到自己曾经相仿的境遇,别人的故事在大脑中的记忆就不够深层,虽然理性上能够理解,也似乎能够记住,但真正类似的事情发生到自己身上的时候就不能回忆起从别人故事中学到的教训了。


问一问自己作出退出的决策是否基于足够的信息,我是否进行了足够的调查,至少,是否去简单用了用搜索引擎。
模仿高德纳先生的名言:过早退出是一切失败的根源
兴趣遍地都是,专注和持之以恒才是真正稀缺的



生活中的选择远比我们想象得要多,细微的选择差异造就了不同的人生 。
唐雅薇同学的故事中,有这么一个细节吸引了我的注意:当时她正在找工作阶段,对女生在 IT 行业的发展很迷茫,恰逢微软的郭蓓菁女士到他们学校演讲,演讲完了之后她立即就奔 上讲台拦住郭女士询问女生与 IT 的问题。
这是一个细节,但我相信不是所有人都有勇气上去拦住名人问普通问题的,我们会给自己找 很多很多的理由和接口,我想最常见的应该是两个原因: 1. 如果被批评了自尊心会受到打 击。2.认为问了也问不出特别的信息。然而事实却是相反:1. 自尊心受到打击算不上实质性 的损失。2. 你想不出能问出什么特别的信息并不代表就真的问不到重要的信息。 别把不知道当成没有



靠专业技能的成功是最具可复制性的
它需要的只是你在一个领域坚持不懈地专注下去,只需要选择一个不算太不靠谱的方向,然 后专心致志的专下去,最后必然能成为高手或者绝顶高手。世上有很多成功带有偶然因素和 运气成分或出身环境,但至少这一样,被无数人复制了无数遍,否则就不会存在学校和教育 了。
反思是让人得以改进自己的最重要的思维品质
很多人在成年之后甚至未及成年,性格就难以再发生大的变化。性格是这样一种自我实现和强化的陷阱:如果你是不容易专注的人,你会发现生活中处处都是分散你注意力的东西,你的思维难以在一个事情上停留半小时,于是你的时间变得琐碎,你很难在一个领域有长久的积累和深入的思考,这样的现实可能会让你感到沮丧,后者让你更加无法专心,这样的现实可能会让你感到焦虑,为了避开焦虑你又会去寻求其他的刺激,结果是恶性循环。
反思是改变自己的第一步,我们常常容易发现别人的问题,别人的错误,却难以发现自己思 维中的问题,因为我们很少会把自己的思维当成目标去思考



但更重要的是,有人会因为无法作出决定就推迟决定,然而实际上推迟决定是最差的决定, 在推迟决定期间,时间悄悄流逝,你却没有任何一条路上的积累,白白浪费了时间。
如果你有一些钱不知道花在 A 还是 B 上,你先不作决定,没问题,因为钱还是你的,但如果你有一些时间,不知道花在 A 上还是 B 上,不行,因为过了这段时间,这段时间就不是你的了。


为程序员如果没有查过 wikipedia,没有看过几本原版电子书,没有在国内外主要邮件列表里面提过问题吵过架,没有用技术博客记录学习的独特体会,没有订阅技术牛人们的博客,怎么好意思说身在这个行业呢?
最后,看完了书还是说“说起来容易做起来难”的,怪自己,不怪书。



学习一门东西的时候常常发现是始于 wikipedia 中间经过若干次 google ,然后止于某一本或几本著作。


posted @ 2012-09-27 17:11  billowkiller  阅读(273)  评论(0编辑  收藏  举报
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.