迷时师度,悟了自度(时间的边际效应)

12年前看过这篇文章,今天又看到了,还是有些感慨的。上课的时间虽然已经永远远去,用整块的时间去学习已经不可能,但道理还是要记着的,没准依然有用,自勉。
-----------------------------------------------------------------------------

迷时师度 悟了自度――侯捷

元智大学和清华大学的资讯系同学,最近不约而同邀请我在自校的资讯周上为同学们做个演讲。对於那些吊尔郎当,连自己也不关心自己的同学,我向来一点气力都舍不得花;但对於积极上进的同学,我可倒是很喜欢和他们谈话。曾经在不同的学校讲过好些个不同的谈话性题目(非关技术,但都不脱资讯范围),这次有感於在学校任教三年了,颇知道同学们的一些学习情况,所以想和大家谈谈学习的心态、老师的角色、以及学习者自己的角色。

我想先说一个小故事。

六祖檀经

佛教东传中土之後,虽然大德大贤备出,但由中国和尚所着,被奉为「经」者,也只「六祖檀经」一书而已。

六祖檀经记录着佛教禅宗六祖惠能一生的思想言行。其中对於六祖得道的过程,有详细的叙述。

六祖惠能俗姓卢,南海新兴人。年少失父,母且寡居,家亦屡空,业无腴产。所以他从小做了樵夫,养家活口。有一天他偶闻肆间诵金刚般若经,心有所感,於是询问邻人何处学佛,遂安置母亲,至河北黄梅山礼拜五祖。

五祖弘忍

五祖弘忍见惠能谈吐甚有根性,不动声色地让他到後院碓米。八个月後有一天,弘忍告诉众弟子说,每一个人写一首偈,谁能悟道,我便传他衣钵。当时人人以为五祖座下第一大弟子神秀必得衣钵,所以也没有人去作这首偈。神秀在这种情况下,一来「责无旁贷」,二来也想让师父看看自己心中的见解,便在三更时候於南廊壁上写下心偈一首:

身是菩提树,心如明镜台;时时勤拂拭,莫使惹尘埃。

第二天五祖弘忍见到了这首偈,把神秀叫到座前询问。并谓:「汝作此偈,见即未到,只到门前,尚未得入...」。要神秀回去再作一偈。过了数天,神秀却作不出来。

千古名诵

有个童子行过碓房,唱诵神秀的偈。惠能闻後,问明缘由,便请童子引至大堂。礼拜之後,惠能说自己也有一首偈,但是他既不识字更不会写字,乃请人代书写下千古名诵:

菩提本非树,明镜亦非台;本来无一物,何处惹尘埃。

此偈一成,众总皆惊。消息传至五祖,了然於心,但恐人损害,遂脱了鞋子当抹布,立刻把这首偈擦掉,并且说「这首也嘛没有悟道」!

第二天,五祖弘忍悄悄来到後院,看到惠能把大石头系在腰上,增加身体的重量来碓米,很是感动,於是和惠能展开一段非常空灵神妙的对话。弘忍问「米熟也未」?惠能曰:「米熟久矣,犹欠筛在」。於是祖以仗击碓三下而去。惠能知祖意,是夜三鼓入室,由祖为说金刚经。当说到「因无所住而生其心」,惠能大悟,於是五祖授衣钵以为信,并且说「衣为争端,止汝勿传...,汝须速去,恐人害汝」。

迷时师度,悟了自度

五祖弘忍亲自送惠能到九江驿,令上船,把 自摇。惠能曰:「请和尚坐,弟子合摇」。祖云:「合是吾渡汝」。惠能云:「迷时师度,悟了自度」。

我曾经在研究所毕业的前夕,因为看了这个故事,有感师恩,在实验室黑板上写下大大的这八个字,表达我心中强烈的情绪。我知道我就要永远告别我的学生生涯,再也没有人度我,我要自己度化自己了。

今天我意料之外地成为许多人的老师。远在接受学校的聘书之前,我其实也已经在外面开过很多课程,做着授业解惑的神圣工作。我的书籍文章,更使我扮演与广大读者之间一种默默的师生关系。每当一个课程的开始,不管面对的是业界的工程师,或是学校的学子,我总是告诉他们,课程是短暂的,课後才是长久的。一个课程就算长达一学期,也只是(只能是)奠定学习者日後自修的基础。

进入社会的人,我想比较能够了解这里面的意义。象牙塔里的学生,即令闻言成理,总似乎不容易感受深刻。於是日复一日,年复一年,看着同学们勤嬉戏而荒精业。我带过好几届学生,大凡转学生、五专插班生、重考生都比较用功些,大概因为他们经历过一些小小的挫折。而他们的努力,很快使他们立於同侪之上。

挫折在人生早些时候到来,谁曰不宜!

谁悟了?

禅宗讲究顿悟,基本上是一种比较「玄」的境界。说是「迷时师度,悟了自度」,其实,除了大德大贤,谁又敢说自己悟了?智慧容或可以顿悟,知识又岂能够如此?谁敢说他对知识「突然都懂了」?所以「悟了自度」的「悟」,在这里我把它解释为「有了扎实的基础」:当你有了足够的基础,你就可以不依靠任何人任何时间任何地点传授您知识。只要有书籍,你随时可以自度。拥有足够的基础,你甚至可以开始另一种更高层次的自度:你开始自己设想问题,自己推敲解答,自己设计验证的方法,并自己判断逻辑有没有破绽。再高明的老师,也没有办法把自己的悟力灌入学生心中;唯有学生自己动念思考,再由老师协助解开关键环节,学生自己才能开悟。

南宗与北宗,顿悟与渐悟

佛法有顿悟,学问可没有。如果有人说,我突然在某一天对 Java 开悟了,对 OO 开悟了,对 MFC 开悟了...,我想那是他刻意(为了炫耀)或非刻意(因为遗忘)地忽略了他所谓的「悟」那一天之前的所有努力。是的,那叫渐悟,不是顿悟。

Inside OLE 一书作者 Kraig Brockschmidt 在他的序里面有这段话:

1993 年一月的某个周日下午,当我正做着与 OLE 全然无关的事情时,我突然获得了所谓的 OLE 涅 状态。所有关於 OLE 的支支节节突然全都归定位。在六个月的模糊心智之後,我突然看清楚了 OLE。

Essential COM 一书作者 Don Box 在他的序里面亦有一段类似的话:

幸运的是有一天(1998 年八月八日),突然像神迹一般,COM 对我变得再明白不过,我终於了解了 COM 的动机。如何把这个 programming model 应用在每天遇到的程式设计问题中,也因此显得再明白不过。

听起来都是顿悟的例子。难道学习 COM/OLE 特别需要宗教信仰吗?我想是因为这些技术特别需要高度抽象思考,使得霍然开朗後的喜悦巨大到令人觉得是一种「突然的神迹降临」。其实你我都明白不过,知识点的突破,是靠知识面的累积。

时时勤拂拭,莫使惹尘埃

既然知道点的突破要靠面的累积,同时也知道我们「具足凡夫」,没有大宗师的智慧,我建议你还是多体会神秀的见解(六祖佛法南传,神秀创立北宗,主张渐悟)。把神秀的「时时勤拂拭,莫使惹尘埃」至少应用在你满桌子的经典好书上面。噢,你应该有满桌子的好书吧?没有?!那我就很为你惋息了,你连自度的小船都没有,连自救的工具都没有,谁来拯救你?我知道好多工程师桌上可怜没几本书,月入倒有 7,8 万,年终股票分红的张数比全年买书的本数还多。叹!不看书,你的日子会愈来愈贫乏,愈来愈空虚,因为你一直掏东西出去,掏空了人也就瘪掉了。

工程师或许说「我都嘛看 paper 和 document。看书?呵呵,等书出来都太慢了啦」。喔,在 project 方面你不得不冲,你不冲公司也会要你冲。但你不觉得有很多基本的东西,其实你摇摇晃晃?有很多基础的东西,其实你从来没有好好把它搞懂变成自己的中心思想?你的 project 总是急如星火,所以可以 work就好啦!「旗正飘飘(到处埋设 flag)」管它的!模组规划管它的!文件撰写管它的!目光浅短者,从来不去想日後的维护工作要如何进行,「深谋远虑」者,则想反正到时候我已经走人了。

这不就是我所看到的业界通病吗?

「学海无涯,唯勤是岸」,这句话我总想错不了。有人说,勤勉二字诀不是万灵丹,若无兴趣,再勤勉也没有用。我想从两个角度来看这件事。第一,「勤」能不能够克服「难」?如果目标是放在成为一个胜任的从业人员,这一点应该没有问题,毕竟 computer science 能有多难?Computer engineering 又能有多难?多花点功夫还有读不会的吗!一本不懂,再读另一本(前提是都是筛选过的好书)。一试再试做不成,再试一下嘛。

第二,「勤」能不能够克服「没兴趣」?大概不能!「学海无涯,唯勤是岸」这句话本来就是要以兴趣做为基础,这是大前提,着毋庸议,本来就不必说的。电子、电机、资讯的循环太快,竞争太烈,如果没有强烈的兴趣,念起来会非常非常痛苦,趁早转系转业吧。

然而,有多少人根本是懵懵懂懂地进入大学,懵懵懂懂地填了科系?他们根本不知道自己真正的兴趣在哪里。也许兴趣会因为努力後的成绩提升而加分,亦未可知呀!

坚定知道自己兴趣在哪里的人,是最幸福的人。自从我自己的人生终於归定位後,我清楚地有这种感受。

元智大学管理学院从去年起就大一不分系,大二开始才由同学自己选系。我非常佩服校方的这种从善精神与兴革魄力。

书籍是永远的老师

说到底,阅读习惯以及鉴赏能力的培养,是你能不能够在求学的道路上「自度」的关键。广义地说,也是你能不能够在人生道路上「自度」的关键。如果一辈子要靠别人来指点你该看哪些书,该怎麽看,忒也太没有长进了。你能阅读,就能鉴赏;阅读数量愈多,鉴赏能力愈高。很多人好奇我如何有能力评析那麽多又厚又深的大块头书,无它,因为我读的多,因为我读的深。

【余秋雨.台湾演讲】(余秋雨/尔雅/1998)一书中在「建议阅读」这篇文章上写道,「我觉得一个人的最佳读书状态大多产生在中年以後,但能不能取得这种状态则取决於青年时期的准备」。余先生又说,曾有两位年老的大学图书馆管理员告诉他,他们能从一年级学生的借书卡上预测这些学生将来的成就,几乎百试不爽。有人毫无规律胡乱借,有人穷数年之力死啃一大堆名着,有人的借书卡过於疏空,有人的借书卡却又太密密麻麻。

希望这些话能对我们产生一些启示。对於尚在学校就读的学生,我想特别指出,进入社会之後的工作是如此繁忙,你更需要在学校把握机会,奠定良好的习惯和良好的基础。

边际效益

如果你有一笔钱,放在银行的活存利息有 3%,定存利息有 7%,而且你暂时无需用钱,那麽你会把钱活存还是定存?

当然是定存。多麽简单的选择。

如果你知道,课前预习的话,上课听讲可吸收 70%;课後立刻复习,可把效果再提升 10%;课後第二天复习,只能提升 5%;课後第三天才复习,能保住原来的 70% 不错了;课後一个星期复习,只能保持 30%;期末考前才看,则当时脑袋瓜里只留有 10% 的残存记忆。

那麽,你会课前预习并且课後立刻复习吗?

很多人在处理金钱时都是聪明人,在处理时间时都愚蠢的要命。

你是哪一种?

如果可以循序来

一位读者写 email 给我,他说『有点可惜,Windows 3.0年代我刚开始碰电脑。如果照程序走的话,应该可以把基础打好的』。

面对此言我思潮起伏,想起自己这五、六年来的人生转折。『如果照程序走的话』,是的,我很幸运地照了程序来走,所以路不是太颠簸。我从 DOS 时代开始学习C programming、然後触摸低阶的 BIOS call 和 interrupt并学习 assembly 语言,然後研究保护模式以及记忆体管理,然後学习 SDK programming、学习 C++、学习 MFC programming、钻研 Windows 作业系统...。由於基础愈挖愈深,成果愈垒愈高,新技术新知识也就愈来愈容易上手。核心基础打得稳,更能够以不变应万变。

现在才面对这五彩缤纷花花亮丽的资讯世界的人,不管你是大一新生,或是忙於工作专案一直没有机会充电,还停留在古早年代的工程师,我可以想像你们的苦闷。新知识新技术如泰山压顶,你不知道从哪一条路开始走。有师长前辈指导正确的学习次序已是万幸,有些东西(还不少)偏又不是那麽有绝对的次序性。好比说作业系统好了,我是先学习抽象的一般性作业系统概论(例如大三安排的课程)呢?还是先学习专一而具象的作业系统(例如 Windows)实作技术呢?一开始就抽象会使我坠入五里路,没有踏实感;一开始就具象又使我的常识与一般观念不足。又例如C++ 和 OO,臻於高峰前通常必须经过几个阶段的反覆学习,包括语言本身、程式实务经验、classes 设计能力、市售application framework 之运用、对 object model 的彻底认识。这些阶段并不是结束一个而後开始另一个,它们都有重叠性。经过这样的铺陈,你会发现,原来通往 COM的基础已经在这些阶段中扎好了。

身在知识爆炸的时代,算是对求知行为的一个不幸吧。可是,永远有人生在你之前,也永远有人生於你之後,还能怎麽样?认命一点。

令人佩服的学习精神

这学期我开的 Win32 system programming and Win95 OS课程,除了自校学生选修,就我所知道的还有交大两位大学生和清大一位研究生,以及中坜地区几位工程师来旁听。过去也曾有台北来的工程师旁听。我非常佩服这些同学的学习精神。从台北或新竹坐车到内坜可不是件轻松的事,尤其在那想起来就头痛欲裂的下班时段。有一天我顺巧载那位清大研究生回竹,才知道他每周四上完我的课回到住处都超过晚上 11 点了。

为了上三小时的课,前後再花四小时。这样的求知心真是不容易呀,我很佩服。

旁听的同学永远是最认真的,远道来的同学又更认真。因为他们更懂得珍惜。

经典好书再次整理

三不五时就会收到一些 email,要我推荐专业上的书籍。我再次把个人研习领域(C,C++,Win32 OS,Win32 Programming)内的一些好书胪列出来给大家做叁考。

很多人混淆了所谓的入门书与基础书。入门书必须浅显易懂,因为它面对的是全然无知的新手;如何吸引并提升读者的兴趣,几乎是入门书最重要的功课。基础书不一样,它的读者早已入门,甚至有相当经验;它的任务是为读者挖好更深更实在的基础。通常这种书的论述层次都很深,一件事直接探到了源头;碰触范围也很广,旁徵博引以求全效。

通常过了入门阶段,一本入门书对你已是毫无滋味(但不要回过头来骂它,毕竟你也曾受过它的帮助。何况一本好的入门书是非常不容易写的)。至於基础书,可以伴你长长久久,上面的注解眉批、心得笔记,甚至还可以唤起你的许多艰苦而欣慰的回忆。

下面全都是可以为你奠基的书。其中 AW 是 Addison Wesley的缩写,MP 是Microsoft Press 的缩写。如果有中译本,我会在书名後面加注,但这并不代表推荐。这些经典的中译品质,有的很好,有的普通,也有的错误百出。有些书我不确定有没有中译本,各位网友如果知道,请告诉我或公开回覆,谢谢。除了 "Macro Assembler Bible " 年代久远,其他都是 1996 以後的新书。

--------------------------------------------------------------

⊙Assemble
1. Microsoft Macro Assembler Bible 2/e(Barkakati/SAMS) 碁峰中譯
⊙C++:
1. C++ Primer 3/e(Lippman/AW) 碁峰將有中譯本
2. The C++ Programming Language 3/e(Stroustrup/AW) 儒林中譯
3. Inside The C++ Object Model(Lippman/AW) 碁峰中譯
⊙SDK:
1. Programming Windows 95(Petzold/MP) 松格中譯
2. Windows 95 : A Developer‘s Guide(Richter/M&T Books)碁峰中譯
⊙VxD:
1. System Programming for Windows 95(Oney/MP)松崗中譯
2. Writing Windows VxDs and Device Deviers 2/e(Hazzah/R&D Books)無中譯本
⊙Windows O.S(and/or Windows System Programming)
1. Windows 95 System Programming Secrets(Matt/IDG Books)旗標中譯
2. Advanced Windows 3/e(Richter/Microsoft Press)松崗中譯
⊙Windows NT kernel mode driver:
1. The Windows NT Device Driver Book(Baker/Prentice Hall) 無中譯本
⊙MFC
1. Inside Visual C++ 4/e(Kruglinski/MP) 無中譯本。舊版由碁峰中譯
2. Programming Windows 95 with MFC(Prosise/MP) 松格中譯
3. 深入淺出 MFC 2/e(侯俊傑/松崗) 中文書
4. MFC Internals(Shepherd & Wingo/AW) 無中譯本
⊙COM
1. Essential COM(Don Box/Addison Wesley)碁峰中譯
2. Inside COM(Dale Rogerson/Microsoft Press)松格中譯

--------------------------------------------------------------

参考:

https://nieyong.github.io/wiki_ny/%E8%BF%B7%E6%97%B6%E5%B8%88%E5%BA%A6%20%E6%82%9F%E4%BA%86%E8%87%AA%E5%BA%A6.html
https://www.ptt.cc/bbs/CareerPlan/M.1111323953.A.1C8.html

时间: 2024-10-10 21:13:03

迷时师度,悟了自度(时间的边际效应)的相关文章

日志和告警数据挖掘经验谈——利用日志相似度进行聚类,利用时间进行关联分析

摘自:http://www.36dsj.com/archives/75208 最近参与了了一个日志和告警的数据挖掘项目,里面用到的一些思路在这里和大家做一个分享. 项目的需求是收集的客户系统一个月300G左右的的日志和告警数据做一个整理,主要是归类(Grouping)和关联(Correlation),从而得到告警和日志的一些统计关系,这些统计结果可以给一线支持人员参考. 得到的数据主要分为两部分,一部分是告警的历史数据,这部分数据很少,只有50M左右,剩下的全部都是日志数据.日志数据大概有50多

模式识别之相似度计量---常用相似度计量方法

常用相似性度量(距离 相似系数) 在分类聚类算法,推荐系统中,常要用到两个输入变量(通常是特征向量的形式)距离的计算,即相似性度量.不同相似性度量对于算法的结果,有些时候,差异很大.因此,有必要根据输入数据的特征,选择一种合适的相似性度量方法. 令X=(x1,x2,..,xn)T,Y=(y1,y2,...yn)T为两个输入向量, 1.欧几里得距离(Euclidean distance) ‍ 相当于高维空间内向量说表示的点到点之间的距离.由于特征向量的各分量的量纲不一致,通常需要先对各分量进行标准

3度带、6度带带号与中央经线

通过分带计算,我们可以知道某地的中央经线所在的分度代号. 在分度带的投影坐标系统中,我们常用的投影方法是 "高斯-克吕格"投影.6度带自0度子午线起每隔经差6度自西向东分带,带号依次编为第 1.2…60带;3度带自1.5度子午线起每隔经差3度自西向东分带,带号依次编为三度带第 1.2…120带. 6度分带和6度分带划分图示为: 分度代号计算: 3度分带:N = L/3 6度分带:N = (L+3)/6 中央经线计算: 3度分带:L = N*3 6度分带:L = N*6-3 通常,1:1

Jackcard类似度和余弦类似度(向量空间模型)的java实现

版权声明:本文为博主原创文章,地址:http://blog.csdn.net/napoay,转载请留言. 总结Jackcard类似度和余弦类似度. 一.集合的Jackcard类似度 1.1Jackcard类似度 Jaccard类似指数用来度量两个集合之间的类似性,它被定义为两个集合交集的元素个数除以并集的元素个数. 数学公式描写叙述: J(A,B)=|A∩B||A∪B| 这个看似简单的算法有非常大的用处.比方: 抄袭文档 高明的抄袭者为了掩盖自己抄袭的事实,会选择性的抄袭文档中的一些段落,或者对

Jackcard相似度和余弦相似度(向量空间模型)的java实现

版权声明:本文为博主原创文章,地址:http://blog.csdn.net/napoay,转载请留言. 总结Jackcard相似度和余弦相似度. 一.集合的Jackcard相似度 1.1Jackcard相似度 Jaccard相似指数用来度量两个集合之间的相似性,它被定义为两个集合交集的元素个数除以并集的元素个数. 数学公式描述: J(A,B)=|A∩B||A∪B| 这个看似简单的算法有很大的用处,比如: 抄袭文档 高明的抄袭者为了掩盖自己抄袭的事实,会选择性的抄袭文档中的一些段落,或者对词语或

采用Asp.Net的Forms身份验证时,非持久Cookie的过期时间会自动扩展

问题描述 之前没有使用Forms身份验证时,如果在登陆过程中把HttpOnly的Cookie过期时间设为半个小时,总会收到很多用户的抱怨,说登陆一会就过期了. 所以总是会把Cookie过期时间设的长一些,比如两个小时甚至一天,这样就能保证在登陆时设置一次Cookie,用户可以操作很长时间也不过期. 虽然也可以在每次用户请求页面时检查Cookie的过期时间并自动扩展,但未免过于麻烦,不如一次设大点来的简单. 偶然发现 今天在使用Forms身份验证编写<AppBox-基于ExtAspNet的企业通用

【机器学习基础】VC维与模型复杂度、样本复杂度

引言 上一小节,我们引入了VC维的概念,用它来描述假设集合的表达能力.这一小节中,我们将从VC维的物理意义出发,进一步学习如何根据VC维传达的信息来选择模型和假设集合. VC维的物理意义 如果我们将假设集合的数量|H|比作假设集合的自由度,那么VC维就是假设集合在做二元分类的有效的自由度,即这个假设空间能够产生多少Dichotomies的能力(VC维说的是,到什么时候,假设集合还能shatter,还能产生最多的Dichotomies). VC维.真实错误率.训练错误率 在上一节中,我们讨论要做到

两篇文章的相似度(文章相似度)

package com.etoak.simHash; import com.hankcs.hanlp.seg.common.Term; import com.hankcs.hanlp.tokenizer.StandardTokenizer; import org.apache.commons.lang3.StringUtils; import org.jsoup.Jsoup; import org.jsoup.safety.Whitelist; import java.math.BigInteg

关于架构的优化和设计,架构师必须悟透的事情

近几年来随着互联网的飞速发展,新的架构实践方式不断涌现,但是有一件事情是永恒不变的,那就是-“架构之道”:关于如何设计出灵活.高可用性以及能够快速适应变化的系统架构,我们依旧还有很大的发挥空间.本文会介绍关于如何构建前沿的.易维护的.安全的架构的几个要点,同时你也可以把它当作系统设计的准则或者用它来验证现有的架构是否合理. 就像我们经常所说的:没有最好的架构,只有最合适的架构.一个好的架构师,可以根据具体的需求.所拥有的资源等因素综合考虑而设计出最优的架构方案.特别是现在,业务的飞速变化.数据无