学习linux的七个忠告
这是无意间看到的一篇很好的文,转过来,提醒自己,也希望能对像我一样的菜鸟有所帮助
原文地址:http://bbs.elecfans.com/forum.php?mod=viewthread&tid=269832
1、不要“玩 Linux” 很多人用 Linux 的时候会感觉很迷茫,该用哪个发行呢?是不是我少装了什么?怎么升级这么快啊!怎么这么不稳定!每当遇到新的软件他就想试用,每当新的版本出现,他就更新,然后用鼠标在新的菜单里选择从来没见过的程序来用用。
其实你是为了Linux而使用Linux,而没有找到正确的理由来利用 Linux。你首先要明确用电脑的目的,你用它是为了解决你的实际问题,而不是为了学习安装操作系统,不是为了测试哪个版本好用,不是为了“赶上潮流”,更不是因为你硬盘太大了,你想多占点空间。
如果你启动了电脑之后不知道应该干什么,那么最好先不要用电脑,因为你可能有更重要的事情需要做。
2、不用挑剔发行版本
很多人刚开始用 Linux 的时候,总是在怀疑别的发行版本是否比自己正在用的这个好,总是怀疑自己以后时候会失去支持,不得不换用别的发行。所以很多人今天是 Redhat,明天又换成了 debian, 一会儿又是 gentoo, …… 甚至有的人在一台机器上装了两个版本的 Linux,然后比较哪一个好。
其实你完全没有必要这样做,任何发行,只要你熟悉了,你在上面的工作方式几乎是不会受到任何影响的。你常常听说 Debian 的更新比 Redhat 快,包比 Redhat 多,但是你可以比 Debian 更新还要快,直接到你需要的程序的主站点下载源码来编译就是了。
Debian, TurboLinux, SuSE, Redhat, Gentoo, … 任何一个版本都是不错的。
3、不要当“传教士”
很多人在讨论区不断的引起 “Linux vs. Windows” 之类的讨论,甚至争的面红耳赤,这是没有必要的。因为各人的需要不同,生活的环境不同,你不可能得到一个定论。我们需要尊重别人的选择,这是你在进行任何对工具的讨论前需要提醒自己的事情。面对一些容易引起争论的东西:Word 和 TeX;Emacs 和 VIM;MAXIMA,Mathematica 和 Maple;Gnome,FVWM 和 KDE;Mutt 和 Pine …… 一定要冷静。
你需要关心的不是你的工具是什么,而是你用它做了什么。精通 Linux 并不说明任何问题,因为它只是一个工具而已。如果你用 Windows 能很好的完成你的任务,那你就没有必要费时间去熟悉 Linux。直到有一天你发现一项任务只有 Linux 才能完成的时候再换也不迟,因为你身边的 Linux 的爱好者一定会很乐意的帮助你。
并不是喜欢一种东西就必须反对其它的。世界需要多样性,人们都需要FUN。用自己的兴趣去压制别人的,就会毁掉所有的兴趣。个人喜欢什么就用什么,完全没必要为这个争论。
不要做“传教士”!你说我现在就是在“传教”?冤枉啊~
4、直接从源码安装程序
很多人放着最新的源码不用,等着有人帮他做出 rpm, deb, 才能安装。我说你为什么不用源码编译,这样版本比 rpm 高的多,有很多新功能,而没有烦人的依赖关系。可是他说:“要是我用源码编译安装,卸载的时候就不方便了,会留下很多垃圾。”
为什么程序还没有安装你就想到卸载?难道你不知道这个程序是用来做什么的?你应该改变到处找程序来试用的作法,而应该先了解一下到底那些程序有同样的功能,听听别人的意见,看看它们各有什么长处和短处,然后挑一个最适合你的程序来用。
从源码编译安装程序,不但比你装rpm更适合自己的机器设置,而且它们一般会装到 /usr/local 目录,这样你以后如果换硬盘重装系统,也可以把以前 /usr/local 下的程序原封不动拷贝过去用。我的 /usr/local 下有 2G 之多的程序,你想要是我有一台新机器要重新安装,然后配置,得花费多少时间?实际上我曾经通过网络把它们传到一台新机器上,然后就出去吃晚饭,回来时我就得到了另一台一摸一样的 Linux 机器。
确实要卸载 make install 的程序怎么办呢?答案是直接删掉。别以为直接删掉程序会留下垃圾,引起“系统不稳定”。(btw: 这是谁教你的啊?呵呵。) make install 无非就是把可执行程序放在 /usr/local/bin, 把某些函数库放在 /usr/local/lib,把数据文件放在 /usr/local/share 下一个它自己的目录,你把这些东西都删掉就行了,不会留下垃圾,即使真的留下一点文件没有删掉也占不了多少空间,更不可能引起系统不稳定。UNIX 就是这么简单
但是有几个程序不建议从源码安装,它们是 Mozilla, Open Office, … 它们编译时会占用你几个G的空间和好几个小时的时间,这种花费我觉得是不值得的,因为你不能从编译得到更多好处,不如直接安装编译好的版本。
5、不要盲目升级
不知道这是心理作用还是什么,有的人看到比较大的版本号,就会很想换成那个。很多人的 Redhat 本来配置的很舒服了,可是一旦 Redhat 发行新的版本,他们就会尽快下载过来,然后选择升级安装。结果很多时候把自己原来修改得很好的配置文件给冲掉了。新的软件又带来了新的问题,比如有一次我的 rxvt 升级到 2.7.8 就跟 miniChinput 冲突了,升级到 Redhat 8.0,发现 xmms 居然缺省不能放mp3了,XFree86 的 xtt 模块在 I810 上有新的 bug,会导致 Mozilla 突然退出。
如果你已经配置好了一切,千万别再整体升级了,这会浪费你很多很多时间的,不值得。如果需要的话,你可以只把某些部件升级,比如内核,glibc, gcc, XFree86,…
使用 UNIX 的经典程序
好的程序一般都是可以很方便的在很多种 UNIX 上移植的,bash, VIM, Emacs, Mutt, FVWM, xterm, 都是这样。如果你用这些程序,你就可以在 Sun, HP, … 等工作站上也装上,这样你在各种机型上的工作环境就几乎完全一样了!你不需要在 Sun 上面用 CDE,在PC上又换成 KDE,在它们上面都装一个 FVWM,使用相同的配置文件,就能得到一致的界面。
这些程序大部分都是久经考验的,是经过很多人多年开发的结果。它们功能完善,各种情况都考虑周全,绝对是你的好助手。
6、不要配置你不需要的东西
如果你只想做一个像我这样的普通用户,主要目的是用 Linux 来完成自己的科研任务和日常工作,那就可以不用系统管理员或者网络管理员的标准来要求自己,因为当一个系统和网络管理员确实很辛苦。普通用户学习那些不经常用到的复杂的维护系统的工具,其实是浪费时间,学了不用是会很快忘记的!
我不是一个合格的网络管理员,我的服务器都只设置了我自己需要的功能,设置好 ssh, ftp 已经足够了,那样可以省去我很多麻烦。我从来不过度考虑“安全”,因为 Linux 缺省已经很安全了。我没有磁带机,就不用管 tar 的那些稀奇古怪的参数了,czf, xzf, ztf 已经可以满足我所有的需要。sed, awk, … 我也只会几种常用的命令行。
7、不用忙着看内核源码
除非你想研究操作系统,否则还是先把怎么使用 Linux 掌握好再说吧。我以前看了那么多内核源代码,写了驱动程序,结果最后发现我还是一只很多事情不能用 Linux 解决的菜鸟 吸取我的教训吧,你应该首先掌握 shell,Xwindow 的使用和原理,它们可不比内核简单。
十天内掌握线性代数:惊人的超速学习实验
2013年9月11日 星期三
2013年5月6日 星期一
十天内掌握线性代数:惊人的超速学习实验
译者:MapleFlying 原文作者:Study Hacks
发布:2012-11-01
最近,我的朋友斯考特·杨(Scott Young)成就了一个惊人的壮举:他在一
年之内,完成了传说中的MIT计算机科学课程表的全部33门课,从线性代数
到计算理论。最重要的是,他是自学的,观看在线教程讲座,并用实际的
考试作自我评估。(到斯考特的FAQ页面,看看他如何完成这个挑战)
按照他的进度,读完一门课程大概只需要1.5个星期。我坚信,能快速掌握
复杂信息,对成就卓越事业至关重要。因此,我很自然地问起斯考特,让
他给我们分享他的学习奥秘。所幸他答应了。接下来是一份斯考特的详细
解说稿,深入剖析他的学习技巧(包括具体例子),展示他如何拿下这MIT
挑战。以下时间交给斯考特……
看我怎么驾驭MIT计算机科学的课程
我老想着学快一点,再快一点,并为此兴奋不已。掌握那些重要的学问吧
,专业知识与娴熟技艺将是你的职业资本,帮你赚取金钱与享受生活。如
果过得好是你的目标,学问能引你到向往之地。
尽管学得更快有很多好处,但大多数人并不愿意学习“如何学习”。大概是因
为我们不肯相信有这种好事,在我们看来,学习的速度只取决于好基因与
天赋。确实总有些人身怀天赋本钱,但研究表明你的学习方法也很重要。
更深层次的知识加工,与时而反复的温故知新,在某些情况下会加倍你的
学习效率。是的,“刻意练习”方面的研究表明,没有正确的方法,学习将永
远停滞。
今天,我想分享一下学习策略,看看我如何在12个月内完成4年MIT计算机
科学的课程。这套策略历经33门课的锤炼,试图弄清楚学得更快的窍门,
哪些方法有用,哪些没用。
为什么临时抱佛脚没用?
很多学生可能嘲笑我,妄想只花1年的时间学会4年的课程。毕竟,我总可
以临时抱佛脚,什么都不懂还能顺利通过考试,不是吗? 很可惜,这个策
略在MIT行不通。首先,MIT的考试苛求解决问题的技巧,还经常出些没见
过的题型。其次,MIT的课程讲究循序渐进,就算你能死记硬背侥幸通过一
次考试,同系列课程的第七课可能就跟不上了。除了死记硬背,我不得不
另辟蹊径,加速理解过程。
你能加速理解吗?
“啊哈!”当我们终于想通了,都曾经这样恍然大悟地欢呼过。问题是,大多
数人都没有系统地思考。经典的学生求学之路,就是听讲座,读书;如果
还不懂,只好枯燥地做大量习题(题海)或重看笔记。没有系统的方法,
想更快地理解似乎是天方夜谭。毕竟,顿悟的心理机制,还全然不知。
更糟的是,理解本身,很难称得上是一种开关。它像洋葱的层层表皮,从
最肤浅的领会到深层次的理解,逐层巩固对科学革命的认知。给这样的洋
葱剥皮,则是常人知之甚少、易被忽略的理解过程。
加速学习的第一步,就是揭秘这个过程。如何洞悉问题,加深你的理解,
取决于两个因素:
1.建立知识联系
2.自我调试排错
知识联系很重要,因为它们是了解一个想法的接入点。我曾纠结于傅里叶
变换,直至我意识到它将压强转化为音高、或将辐射转化为颜色。这些见
解,常在你懂的和你不懂的之间建立联系。调试排错也同样重要,因为你
常常犯错,这些错误究根到底,还是知识残缺,胸无成竹。贫瘠的理解,
恰似一个错漏百出的软件程序。如果你能高效地自我调试,必将大大提速
学习进程。建立准确的知识联系与调试排错,就足够形成了深刻的问题见
解。而机械化技能与死记硬背,通常也只在你对问题的本质有了肯定的直
觉以后,才有所裨益。
钻研(The Drilldown Method):你学得更快
经年累月,我完善了一个方法,可以加速逐层增进理解的过程。这个方法
至今已被我用于各科目的课题,包括数学、生物学、物理学、经济学与工
程学。只需些许修改,它对掌握实用技能也效果很好,比如编程、设计或
语言。这个方法的基本结构是:知识面、练习、自省。我将解释每个阶段
,让你了解如何尽可能有效率地执行它们,同时给出详细的例子,展示我
是怎么应用在实际课程的。
第一阶段:知识面覆盖
你不可能在组织一场进攻的时候连一张地形图都没有。因此,深入研习的
第一步,就是对你需要学习的内容有个大致印象。若在课堂上,这意味着
你要看讲义或读课本;若是自学,你可能要多读几本同主题的书,相互考
证。
学生们常犯的一个错误,就是认为这个阶段是最重要的。从很多方面来讲,这个阶段却是效率最低的,因为你每单位时间的投入只换来了最少量的
知识回报。我常常加速完成这个阶段,很有好处,这样,我就可以投入更
多时间到后面两个阶段。
如果你在看课程讲座的视频,最好是调到1.5x或2x倍速快进。这很容易做到,只要你下载好视频,然后使用播放器(如VLC)的“调速”功能。我用这法
子两天内看完了一学期的课程视频。如果你在读一本书,我建议你不要花
时间去高亮文本。这样只会让你的知识理解停留在低层次,而从长远来看,也使学习效率低下。
更好的方法是,阅读时只偶尔做做笔记,或在读过每个主要章节后写一段落的总结。
这里有个例子,是我上机器视觉这门课时的笔记。
第二阶段:练习
做练习题,能极大地促进你的知识理解。但是,如果你不小心,可能会落入两个效率陷阱:
没有获得即时的反馈:
研究表明,如果你想更好地学习,你需要即时的反馈。
因此,做题时最好是答案在手,天下我有,每做完一题就对答案,自我审查。没有反馈或反馈迟来的练习,只会严重牵制学习效率;
题海战术:
正如有人以为学习是始于教室终于教室,一些学生也认为大多
数的知识理解产自练习题。是的,你总能通过题海战术最终搭起知识框架
,但过程缓慢、效率低下。
练习题,应该能凸显你需要建立更好直觉的知识领域。
一些技巧,比如我将会谈到的费曼技巧(the Feynman technique),对此
则相当有效。对于非技术类学科,它更多的是要求你掌握概念而不是解决
问题,所以,你常常只需要完成最少量的习题。对这些科目,你最好花更
多的时间在第三阶段,形成学科的洞察力。
第三阶段:自省
知识面覆盖,与做练习题,是为了让你知道你还有什么不懂。这并不像听
上去那么容易,毕竟知之为知之,不知为不知,难矣。你以为你都懂了,
其实不是,所以老犯错;或者,你对某综合性学科心里没底,但又看不确
切还有哪里不懂。
接下来的技巧,我称之为“费曼技巧”,将帮助你查漏补缺,在求知路上走得
更远。当你能准确识别出你不懂的知识点时,这个技巧助你填补知识的缺
口,尤其是那些最难以填补的巨大缺口。这个技巧还能两用。即使你真的
理解了某个想法,它也能让你关联更多的想法,于是,你可以继续钻研,
深化理解。
费曼技巧(The Feynman Technique)
这个技巧的灵感,源于诺贝尔物理奖获得者,理查德·费曼(RichardFeynman)。在他的自传里,他提到曾纠结于某篇艰深的研究论文。他的
办法是,仔细审阅这篇论文的辅助材料(supporting material),直到他掌
握了相关的知识基础、足以理解其中的艰深想法为止。
费曼技巧,亦同此理。对付一个知识枝节繁杂如发丝、富有内涵的想法,
应该分而化之,切成小知识块,再逐个对付,你最终能填补所有的知识缺
口,否则,这些缺口将阻挠你理解这个想法。对此,请看这个简短的教程
视频。
费曼技巧很简单:
1.拿张白纸;
2.在白纸顶部写上你想理解的某想法或某过程;
3.用你自己的话解释它,就像你在教给别人这个想法。
最要紧的是,对一个想法分而化之,虽然可能重复解释某些已经弄懂的知
识点。但你最终会到达一个临界点,无法再解释清楚。那里正是你需要填
补的知识缺口。为了填补这个缺口,你可以查课本、问老师、或到互联网
搜寻答案。通常来说,一旦你精准地定义了你的不解或误解,找到确切的
答案则相对而言更轻松。
我已经使用过这个费曼技巧有数百次,确信它能应付各种各样的学习情境
。然而,由于学习情境各有特点,它需要灵活变通,似乎显得难以入门,
所以,我将尝试举些不同的例子。
对付你完全摸不着头脑的概念
对此,我仍坚持使用费曼技巧,但翻开课本,找到解释这个概念的章节。我先浏览一遍作者的解释,然后仔细地摹仿它,并也试着用自己的思维详
述和阐明它。如此一来,当你不能用自己的话写下任何解释时,“引导式”费
曼技巧很有用处。这里有个例子,展示我如何理解摄影测量学。
对付各种过程
你也能通过费曼技巧去了解一个你需要用到的过程。审视所有的步骤,不
光解释每一步在干什么,还要清楚它是怎么执行的。我常这样理解数学的
证明过程、化学的方程式、与生物学的糖酵解过程。这里有个例子,展示
我如何想到怎么实现网格加速。
对付各种公式
公式,应该被理解,而不只是死记硬背。因此,当你看到一个公式,却无法理解它的运作机理时,试着用费曼技巧分而化之。这里有个例子,展示
我如何理解傅里叶分析方程。
对付需要记忆的内容
费曼技巧,也可以帮你自查是否掌握非技术类学科那些博大精深的知识概念。对于某个主题,如果你能顺利应用费曼技巧,而无需参考原始材料(
讲义、课本等),就证明你已经理解和记住它。这里有个例子,展示我如
何回忆起经济学中的掠夺性定价概念。
形成更深刻的直觉(Deeper Intuition)
结合做习题,费曼技巧能帮你剥开知识理解的浅层表皮。但它也能帮你钻研下去,走得更远,不只是浅层的理解,而是形成深刻的知识直觉。直观
地理解一个想法,并非易事。它看似有些许神秘,但这不是它的本相。一
个想法的多数直觉,可作以下归类:
类比、可视化、简化
类比:你理解一个想法,是通过确认它与某个更易理解的想法之间的重要相似点;可视化:抽象概念也常成为有用的直觉,只要我们能在脑海为它
们构筑画面,即使这个画面只是一个更大更多样化想法的不完全表达;简
化:一位著名的科学家曾说过,如果你不能给你的祖母解释一样东西,说
明你还没有完全理解它。简化是一门艺术,它加强了基础概念与复杂想法
之间的思维联系。
你可以用费曼技巧去激发这些直觉。对于某个想法,一旦你有了大致的理
解,下一步就是深入分析,看能不能用以上三种直觉来阐释它。期间,就
算是借用已有的意象喻义,也是情有可原的。例如,把复数放到二维空间
里理解,很难称得上是新颖的,但它能让你很好地可视化这个概念,让概
念在脑海中构图成型。DNA复制,被想象成拉开一条单向拉链,这也不是
一个完美的类比,但只要你心里清楚其中的异同,它会变得有用。
学得更快的策略
在这篇文章里,我描述了学习的三个阶段:知识面、练习、与自省。
但这可能让你误解,错以为它们总在不同的时期被各自执行,从不重叠或反复
。实际上,随着不断地深入理解知识,你可能会周而复始地经历这些阶段
。你刚开始读一个章节,只能有个大概的肤浅印象,但做过练习题和建立
了直觉以后,你再回过来重新阅读,又会有更深刻的理解,即温故而知新
。
钻研吧,即便你不是学生
这个过程不只是适用于学生,也同样有助于学习复杂技能或积累某话题的专业知识。学习像编程或设计的技能,大多数人遵循前两个阶段。他们阅
读一本相关的基础书籍,然后在一个项目里历练。然而,你能运用费曼技
巧更进一步,更好地锁定与清晰表述你的深刻见解。积累某话题的专业知
识,亦同此理;唯一的差别是,你在建立知识面以前,需要搜集一些学习
材料,包括相关的研究文章、书籍等。无论如何,只要你弄清楚了想掌握
的知识领域,你就钻研下去,深入学习它。
訂閱:
意見 (Atom)