one more chapter.

This commit is contained in:
xiaolai
2024-01-16 08:11:37 +08:00
parent 3f2b6e78e8
commit 097721e993
23 changed files with 2431 additions and 8 deletions

View File

@@ -6,11 +6,11 @@
毕竟是有能力正常思考的人,有想法才需要表达或者沟通,否则,基本上也没有什么开口的必要 —— 除了为了保持礼貌打个招呼之外。
“说清楚”,不仅仅是 “字词” 或者 “语音” 层面的问题,甚至,除了 “语法正确” 之外,更重要的关键是 “**逻辑性**” 和 “**完整性**”。即,逻辑要足够清楚,信息要足够完整,这样才能达到 “信息传递”、“信息交换” 的作用,否则,“表达” 无意义,“交流” 不可能。
“说清楚”,不仅仅是 “字词” 或者 “语音” 抑或 “音素” 层面的问题,甚至,除了 “语法正确” 之外,更重要的关键是 “**逻辑性**” 和 “**完整性**”。即,逻辑要足够清楚,信息要足够完整,这样才能达到 “信息传递”、“信息交换” 的作用,否则,“表达” 无意义,“交流” 不可能。
学校里 “学外语” 一上来强调的就是 “发音准确”、“措辞地道”、“腔调十足”、“语法正确”…… 可问题在于,这些在 “表达” 和 “交流” 的过程中,不说 “不重要” 吧,反正都没有 “逻辑严谨” 和 “信息完整” 重要。换言之,“最重要的” 都被忽略了,整天在乎的,只不过是 “鸡毛蒜皮”。
学校里 “学外语” 一上来强调的就是 “发音准确”、“措辞地道”、“腔调十足”、“语法正确”…… 可问题在于,这些在 “表达” 和 “交流” 的过程中,不说 “不重要” 吧,反正都不如 “逻辑严谨” 和 “信息完整” 重要。换言之,“最重要的” 都被他们忽略了,整天在乎的,只不过是 “鸡毛蒜皮” —— 不失败才真正奇怪呢
在英语里,“缘分啊!” 怎么说?少有人知道 “Kismet!” 这个说法…… 别说把英语当作 “第二语言” 的人了,就算英语母语使用者,绝大多数更习惯于说的是 “It's fate!” —— 因为这才是普通人的日常表达法…… 文化程度高一点,才喜欢使用 “更多音节的单词”,可能说的是 “It's destiny”…… 至于 “Kisment!” 是那些较为 “清高” 的人才刻意使用的词汇……
在英语里,“缘分啊!” 怎么说?少有人知道 “Kismet!” 这个说法…… 别说把英语当作 “第二语言” 的人了,就算英语母语使用者,绝大多数更习惯于说的是 “It's fate!” —— 因为这才是普通人的日常表达法…… 文化程度高一点,才喜欢使用 “更多音节的单词”,可能说的是 “It's destiny”…… 至于 “Kismet!” 是那些较为 “清高” 的人才刻意使用的他们觉得 “有品” 的词汇……
可问题在于,这重要吗?其实不重要,一点儿都不重要。无所谓这三个词里哪一个更 “地道”。无论是哪一种说法,都可以正确传递必要的含义。可关键在于,在表达这个意思之前之后,都有大量的信息需要传递,需要沟通,需要补充,否则,哪儿来的什么 “缘分” 啊?!“缘分” 不可能单独存在,正如天下几乎所有东西都不大可能单独存在一样……
@@ -42,7 +42,7 @@
而所谓的 “创作”,本质上来看,无非是在 “完整复述” 的基础上,把 “细节” 补充得更为 “丰富”,“描述” 得更为 “生动”…… 同样是 “理个头发”,不懂复述不懂创作的人,说不了几个字,也没几句话可说;换到 “作家” 手里就不一样了,可能是一整个段落,甚至是一整篇文章,弄不好竟然可以成为一部小说…… 但,到最后,最底层的根基,依然是 “完整复述”。(马伯庸的一条微博,《理发》)
“完整复述” 的底层能力是什么来着?—— “**记忆力**”。
**完整复述**” 的底层能力是什么来着?—— “**记忆力**”。
在 “复述” 的时候,关键信息,其实无非是 “What/Why/How”都要刻意记忆尤其是数字、年代人名、地名身份、名头等等等等。其实只不过是自己要不要 “**挣扎一下记住**” 的问题而已,绝对不是你记不住,而是你无异味没必要记住。
@@ -66,13 +66,15 @@
传说,美国的开国元老们,都有 “读书过目不忘” 的本事 —— 还真不是传说,他们的记忆力就是那么好。议会辩论上,他们动不动就几小时的长篇大论,引经据典,大家都是脱稿的。现在的人很难做到了,为什么?不是智商变差了,而是 “辅助工具” 太好了,乃至于我们不知不觉之间因此 “降智” 了而已。
过去的人,会挣扎着记住自己看过的东西,他们不是 “过目不忘”,他们是 “故意通过多次重复而达到永远记住”。怕自己忘了,读到有用的东西,一定要用卡片摘录,然后再不断整理卡片…… 为什么?因为那个时候不管什么都没有 “电子版”,都没有 “全文搜索” 功能,不像现在,在 冒出 “我记得我在哪儿读过来着” 这个念头之后,只需要搜索一下,马上就可以找到 —— 正是因为 “搜索太方便了” 所以我们才开始变得 “懒得记忆” 了,随之而来的,就是 “记忆力越来越差”…… 所谓 “科技降智” 的又一个例子而已。
过去的人,会挣扎着记住自己看过的东西,他们不是 “过目不忘”,他们是 “故意通过多次重复而达到永远记住”。怕自己忘了,读到有用的东西,一定要用卡片摘录,然后再不断整理卡片…… 为什么?因为那个时候不管什么都没有 “电子版”,都没有 “全文搜索” 功能,不像现在,在 冒出 “我记得我在哪儿读过来着” 这个念头之后,只需要搜索一下,马上就可以找到 —— 正是因为 “搜索太方便了” 所以我们才开始变得 “懒得记忆” 了,随之而来的,就是 “记忆力越来越差”…… 所谓 “**科技降智**” 的又一个例子而已。
“科技降智” 是非常常见的现象。全世界人民现在都写字不大好看了为什么键盘输入太方便了。我们中国人现在都提笔忘字了为什么99% 的时间里其实是在 “写拼音” 而不是 “写汉字”,中国人对汉字的自我要求从以前 “必须会写” 已经默默降低到了 “认得就可以”。英语世界里也一样,因为 “拼写自动纠错”Spelling Auto Correction很多人连 “environment” 都会写错,经常少写一个 “n”…… 所以,在一方面享受科技的同时,也时时刻刻提防它的 “降智” 效果。
“科技降智” 是非常常见的现象。全世界人民现在都写字不大好看了为什么键盘输入太方便了。我们中国人现在都提笔忘字了为什么99% 的时间里其实是在 “写拼音” 而不是 “写汉字”,中国人对汉字的自我要求从以前 “必须会写” 已经默默降低到了 “认得就可以”。英语世界里也一样,因为 “拼写自动纠错”Spelling Auto Correction很多人连 “environment” 都会写错,经常少写一个 “n”…… 导航软件让 “路痴” 们更加失去了分辨东南西北的能力,电子词典的超级方便,让我们真的很难有动力像以前的人那样,硬着头皮背几万个单词…… 这些都是 “科技降智”。所以,这一点还真的挺重要,我们在一方面享受科技的同时,也的确应该时时刻刻提防它的 “降智” 效果。
所以,在 “启动任务” 中,一上来就要求 “说己想说”,不是 “一个词”、“一句话”,而是 “一段话” —— “要说就说清楚” —— 这其中最核心的作用其实是 “强化记忆力”。“记忆力” 是只要自己肯练就一定不断提高的东西,在这方面,人与人之间的差异,天壤之别,却又看不见,所以极易被绝大多数人忽视 —— 人们常常对能看见的重要事物都 “视而不见” 不见呢,别说这种 “看不见摸不着” 却又至关重要的 “记忆力” 了。你不一样,因为有人认真提醒了你。
所以,在 “启动任务” 中,一上来就要求 “**说己想说**”,不是 “一个词”、“一句话”,而是 “一段话” —— “**要说就说清楚**” —— 这其中最核心的作用其实是 “**强化记忆力**”。“记忆力” 是只要自己肯练就一定不断提高的东西,在这方面,人与人之间的差异,天壤之别,却又看不见,所以极易被绝大多数人忽视 —— 人们常常对能看见的重要事物都 “视而不见” 不见呢,别说这种 “看不见摸不着” 却又至关重要的 “记忆力” 了。你不一样,因为有人认真提醒了你。
每天一段话…… 只要你愿意,一年后,你就可以用英语在台上演讲了,反正 99.99% 的内容其实都是复述或者引用,反正都是你自己想说的话…… 并且,请你相信我,你说的篇幅越大,你的表达越清晰,而且,这其中你哪怕有一些语法错误,有一些地方口音,都完全不影响你的表达,“流利” 从来都不是 “语音一样东西可以决定的。更何况,再请你相信我,“一年内投入至少一千小时的注意力” 之后,你讲英语的时候,“地方口音” 早就被你消灭得差不多了
“说己想说” 的另外一个好处在于,因为那的确是你自己想说的话,在此之前那些内容你自己有意无意早就想过很多遍了,所以,相对来看,你更容易记得住。别人的话,课本里的内容,记起来可没那么容易,因为你要先吸收消化而后才能记忆。然而,增强记忆力,就好像是给你的大脑这台 “计算机” 添加 “内存条” 一样,只要不断多记,“记忆容量” 就会变大,而 “更大的记忆容量”,用来干什么都可以…… 大脑不像是一个柜子,填满了就再也装不进去新东西,大脑的神奇之处在于,它会自动组织,自动优化,乃至于感觉上 “永远填不满”,“永远有空间”
每天一段话,说熟,记住…… 有点像 “一分钟演讲” —— 只要你愿意,一年后,你就可以用英语在台上演讲了,反正 99.99% 的内容其实都是复述或者引用,反正都是你自己想要说的话…… 并且,请你相信我,你说的篇幅越大,你的表达越清晰,而且,这其中你哪怕有一些语法错误,有一些地方口音,都完全不影响你的表达,“流利” 从来都不是 “语音” 那一样东西可以决定的。更何况,再请你相信我,“一年内投入至少一千小时的注意力” 之后,你讲英语的时候,“地方口音” 早就被你消灭得差不多了。
更为有趣的是,你会反应过来的,你为 “学外语” 而进行的所有挣扎,最终有另外一个并非出自你本意的好结果 —— 你的母语水平会大大提高,会提高到令你和身边的人都异常惊讶的地步。

View File

@@ -0,0 +1,51 @@
# 实在特权
正如长期持续 “健身” 早就是极少数人才有的习惯一样,长期持续 “**健脑**” 更为稀有 —— 学习也好自学也罢,都是 “健脑” 活动。今天的人们,“健身” 不再是为了种田打猎防强盗,只是为了自己的身体健康,这是一种需要自我满足自我激励的心理需求。同样的道理,今天的人们学习 —— “健脑” —— 其实早就不应该是为了上班打工换阶层,而应该是为了自己的大脑健康,这难道不同样应该是一种需要自我满足自我激励的心理需求吗?
长期持续健身,其实早就变成了一种 “**特权**”,因为它首先要建立在有足够的时间的基础之上。对谁来说都一样,时间是有限的。绝大多数人终生的 “个人商业模式” 是 “出售自己的时间”,所以,“金钱” 和 “时间” 这两个排他性资源对绝大多数人来说相互冲突,有钱的时候没时间,有时间的时候没有钱…… 其实,真的有很多人也的确知道锻炼的好处和必要性,也想坚持下去,但,条件真的不允许。
除了 “时间” 充裕之外,最好 “**金钱**” 也不是问题…… 可是,若是果真如此,就会自动长期持续锻炼了吗?显然并非如此。因为 “锻炼” 这个东西,还需要自主意识,乃至于就算时间金钱都不是问题,也依然少有人做到。同样的道理,别说 “自学” 或者 “学习” 了,连 “**阅读**” 这样的 “健脑” 活动,都同样是特权。其原因还是如出一辙:时间不够,自主意识缺失…… 于是,到最后,人群中连 “**长期持续阅读**” 这样最基础的健脑活动,真正做到的人都少之又少。
一般来说,“特权” 这个词即令人向往又令人厌恶。据其定义,“特权” 只能是极少数人拥有的权利,所以当然令人向往。与此同时,因为绝大多数人无法拥有,所以,那些极少数拥有特权的人,如果有 “额外收获” 的话,常常建立在其它绝大多数人损失的基础之上,所以,它又极其令人厌恶,至少,“令绝大多数人厌恶”。
然而,当我们审视 “自学”、“学习”、“锻炼”,或者 “阅读” 等等等等,这种 “特权” 的时候,只剩下了好的一面,而它那坏的一面不见了 —— 因为这种特权不仅不会伤害也无法伤害任何其他人的利益;而这种特权带来的任何收获,任何积累,都并非建立在他人的损失基础之上,因为这一切的一切,都发生在自己的身体之内,我们的皮肤竟然变成了天然且又确定的边界。
健身,实际上不仅效果格外明显,且反馈又远比想象的即时。我 32 岁去健身房之前从未想过自己的身体会那么快地发生那么大的变化。之前我的体格是相对瘦弱的上大学的时候172 里面的身高,只有 52 公斤的体重。每周只不过是去三次健身房,三个月后,我的体重从 65 公斤涨到了 75 公斤半年后82 公斤,臂围、腿围、胸围、腰围都发生了肉眼可见的变化,原来所有的衣物都只能换掉……
那个时候,我还在新东方教书。每年的 “忙季” 就是寒暑假,要么连续二十多天,要么连续五十天,每天都要讲四节课,每节课 150 分钟。平日里呢?除了周六周日讲三四节课之外,周一到周五自由活动。这就形成了一种 “**时间上的特权**” —— 大多数别人要上班的时间里,我在休息。我去健身房,通常是上午 9:00 11:00整个健身房里只有我一个 “客户”,那个游泳池,感觉上就是 “专属”。现在回头看,关于 “特权” 的思考,就是从那个时候开始不知不觉启动的。
健身房里都有镜子,不止一面,甚至某一侧一整面墙都是镜子。在健身房里 “撸铁” 的人都会时不时照镜子,因为那变化的确肉眼可见。“健脑” 却不一样。因为 “大脑” 又没有长在外面,我们自己不仅看不到,甚至干脆就无法感觉得到。当我们的大脑发生变化的时候,我们的感觉也会随之发生变化,但,我们的大脑没办法像我们展示这种变化带来的变化,于是,我们不知道发生了任何变化。
据说伦敦是全世界路况最复杂的城市,它的道路多且密集,并且都歪歪扭扭弯弯曲曲,单行道比比皆是且毫无规律,到处都是环岛和死胡同,中间还有一条有十几座桥横跨着它的泰晤士河…… 最要命的是,伦敦的门牌号很少有人能搞清有什么规律,连门牌号的位置也同样神出鬼没。想象一下他们的工作日常,从这样一个城市的任意一个地点把乘客带到另外一个地点,要快速反应,还要随机应变。另外,伦敦的天气不仅突出地糟糕,还有个其它城市罕见的东西,那就是随即且又常见的雾霾。
伦敦大学的脑科学家埃莉诺·马奎尔Eleanor Maguire近水楼台先得月对伦敦出租车司机进行了最深入的研究其研究报告发表于 2011 年。研究表明,经过大量训练才能上岗,且又有多年工作经验的伦敦出租车司机的海马体的一个特殊部分 —— 后部或后方部分 —— 相对更大。而他们在上岗之前,后海马体可没那么大,原本与常人无异。与之相对的,伦敦公交车司机,因为走的是固定路线,无需随机应变,无需快速反应,于是,无论工作经验多久,后海马体也同样与常人无异。因为伦敦路况全球最复杂,全世界其它城市的出租车司机整体上来看,都没有伦敦出租车司机那么发达的后海马体。
经常跑步的人,下肢肌肉会相对更为发达,尤其是大腿后侧和小腿上的肌肉。相对不那么明显的,且又关联性感觉较少的是,他们的核心肌群(包括腹部和背部的肌肉)也同样相对更为发达,因为跑步虽然主要依赖下肢,可为了保持身体稳定和提高跑步效率,核心肌群起着相当重要的辅助作用。肉眼看不见的是,他们的心脏肌肉相对更为发达,因为跑步是有氧运动,所以,他们的心肺功能都相对更为强大。
伦敦的出租车司机,相当于因为特殊的地理位置而多了一项 “健脑” 活动,于是得到了一个 “锻炼后海马体” 的特殊机会,而后在不知不觉之中,那一部分的 “肌肉” 就变得更为发达。关键在于2011 年之前的几十年里,所有的伦敦出租车司机都不知道自己的大脑发生了结构性变化…… 有什么办法可以自己主动体会得到呢?就是没有任何办法。只不过,现在的脑科学家们有新设备,比如 fMRI我们才得以看到如此明显的变化和如此即时的反馈。
由此可以继续想像的是,那些通过学习获得了新本领,甚至超强能力的人,大脑的某些结构同样会因为长期持续 “健脑” 而发生巨大的结构性变化。比如成年钢琴家大脑某些区域的白质通常比非音乐家多而更多的白质会使神经信号传递更快。而数学家的工作时间越长他们的下顶叶皮层右侧的灰质就会越多。跳水运动员的皮层厚度相对更大皮层厚度与想象力和控制力之间存在正关联。再比如越早学习第二语言的人下顶叶皮层inferior parietal cortex中的灰质越多相对于 “单语使用者”,[“多语使用者的” 大脑结构中,灰质更多,密度更高](https://knowablemagazine.org/article/mind/2018/how-second-language-can-boost-brain),白质覆盖面积也更大。
![](images/media_g-bilingual-gray-matter.svg)
反过来,正如缺乏锻炼会使人肌肉萎缩一样,“健脑” 活动的缺失同样会造成大脑的结构性性变化,只不过是负面的变化而已,而具体程度虽然难以衡量,但可以想像的是,应该比缺乏锻炼更为严重。在《专注的真相》里,我们就讨论过智能手机这类 “永远在线” 的设备,对多巴胺系统的劫持,到最后普遍导致的是极为严重的 “结构性损伤”,包括但不限于,白质组织不良、灰质提肌萎缩,皮层厚度减少,以及,认知功能区域受损,等等等等……
“健身” 是一种特权,更为重要的是,它是一种建立在自我意识上的,而不仅仅是出于某些现实条件的 “特权”。这种 “特权” 需要自我追求自我塑造,并且还要通过长期持续才能得以不断巩固。“健脑” 更是如此,它的相对难度在于,“健身” 毕竟有更多外在且又明显的效果,以及更容易感受到的即时反馈;而 “健脑” 的效果与反馈虽然早晚会感受得到,但在每时每刻,都发生在不知不觉之中,于是,“自主意识” 的启动极其随后的驱动都相对困难许多。
然而,“健脑” 相对于 “健身” 有另外一个虽然看不见但极为巨大的优势:
> **所有的健脑活动的效果都是相互叠加的……**
身体有很多事实上相对独立的部分,比如,无论你的二头肌练得多么好,它在你练股四头肌的时候什么作用都发挥不了…… 大脑不一样,大脑是一个整体,尤其那个存储你的知识构建你的世界的那个皮层;大脑内部就是由你的所有脑细胞相互关联构成的网络,无论你 “健脑” 的结果在哪一部分发生了好的变化,那变化对你的整个大脑都有用。
大脑里没有 “孤岛”…… 大脑里的一切都相互关联。哪怕是一个极其细微的 “思考” 都会在网络里迅速找到更多的关联,把那些原本毫无关联的东西用新的方式关联到一起,组织起来。比如,关于 “特权” 的思考。还有哪些 “不可能伤害第三方利益的特权呢?” 太多了,健身是特权,健脑是特权,学习、自学、阅读、创作、生产…… 能用来健脑的活动实在是太多了。
到最后,就只能自然而然地痴迷于这样的 “**特权**”。比如我追剧的时候都是整季看完。《24 小时》我就真的在 24 小时之内把它的一整季看完 —— 这是 “我的特权”,我有这样的时间,我不用早睡,如果晚睡了,我也不用早起,因为我这一辈子就没上过班,所以,**我的时间从来都是我可以自主支配的**,这样的 “特权” 我不用,不好好用,岂不可惜?同样的道理,“健身” 也好, “健脑” 也罢,这样的 “特权” 如何不令人着迷?
“自学” 之所以是更令人着迷的特权,还有另外一个原因。
我健身几年之后,老婆有一天慨叹说,真是不错,感觉 “不用离婚再嫁就直接换了个老公”…… 这是真实的感受,因为的确换了一个人,起码,至少可以算是 “把自己打造成了更好的另外一个版本”。
“长期持续健脑的效果” 显然比 “长期持续健身” 更为惊人。毕竟,臂围胸围不可能无限增长,腰围不可能无限减小,至于身高么,成年人只能越来越矮…… 也就是说,“健身” 的 “成长空间” 有限,但,“健脑” 却貌似 “没有尽头”。不断学会新东西,不断掌握新本事的人,相当于是把自己打造成了一个 “**永动机**”,自此再也不需要外界驱动,也不太容易被外界所变化,自己该干嘛就干嘛,自己充电,自我驱动,自寻方向,永不停歇,死而后已。
所以,“学外语”(或者 “学英语”)只是我们这一次实践的 “目标” 或者 “内容”,可实际上,我们真正关心的,真正用 “一年内至少投入一千小时的注意力” 打造的,是 “自学能力”;是对 “自学” 及其过程的全新认识、全面认知;何止是 “英语” 这一项技能,我们其实可以用同样的 “自学能力” 获得一切自己真正需要的能力;也不止是 “健脑”,还是全方位 “健脑”,甚至到最后感觉上是 “换脑”;更为重要的是,这也是在打造并获得天下最重要、人生最宝贵的一个 “特权” —— 真的不仅仅是 “获得尊重” 那么简单。

View File

@@ -0,0 +1,79 @@
# 金钱至上
说来搞笑。尽管很多人不愿意承认,但,“金钱” 对每个人来说的确都是最强烈的 “动机” 来源或者外部 “刺激”,几乎没有例外…… 所以,我们也别回避了,直面这个问题好了。
《财富的真相》里我讲:
> 我们这一生的所有财富,不管是物质上的还是精神上的,都是从自己的时间里挖出来的……
既然,**时间就是生产资料**,那么,用它干什么最划算?
```mermaid
flowchart LR
beginning([起点])--> self_teaching((自学))--> k(知识) --> other_knowledge(其他知识)-->persuits((追求))-->spirits[(精神\n财富)]-->doing_more([做更多的事])
k --> knowledge_of_investing(投资知识)-->investing((投资))-->wealth[(物质\n财富)]
k --> knowledge_of_sales(销售知识)-->selling((销售))-->wealth[(物质\n财富)]-->doing_more([做更多的事])
k --> knowledge_of_production(生产知识)-->producing((生产))-->wealth
beginning -...-|时间|doing_more
```
到最后,选来选去,只有 “自学”。虽然 “学英语”,好像与 “生产”、“销售”、“投资” 并未直接关联呢,“学它干嘛?” —— 先不说 “赚钱”,先说说 “省钱”。
之前提到过:
> 从比例上来讲,父母把绝大多数钱都花在孩子身上,尤其是 “学习” 上,这种现象在全世界都很普遍…… 所谓的 “绝大多数钱”,从比例上来看,超过父母总体收入的 60% 并不罕见,高达 80% 也不稀奇。
当我们说 “**一年内至少一千小时的注意力投入**” 去 “学英语” 的时候,核心不只是 “英语” 本身 —— 实际上,你用同样的方式学任何语言,或者学任何其他技能都一样的 —— 在这过程中,学得更多,练的更多,体会更深的,其实是 “自学”,是 “自学能力” 的养成与锻炼。
“自学能力” 原本并不高级,小朋友很小就具备自学能力,甚至相当天然,因为他们无论什么都肯 “生学硬练”。然后,这也是在正确的引导下,在恰当的实操过程中,可以不断锻炼增强这种能力 —— 可问题在于,基于这样那样的原因,所谓的 “教育” 竟然统一且又成功的作用是,“消灭掉了绝大多数人的自学能力”…… 呜呼哀哉。
当然,无论 “生学硬练” 多么厉害,仅靠它也不行,要在它的基础上搭建一个完整的 “自学系统” —— 这就是父母必须为孩子做的事情了,因为这件事情不应该也不可能 “外包”。学校、培训机构,以及各类教职人员,最不在意甚至也压根不想教的就是 “自学能力” —— 否则,大家都能自学了,他们怎么赚钱呢?这是一种 “有意无意的合谋”,正如全世界的医生们都一样,都故意用别人认不出的字体书写处方一样。
其实,只要有了一定的 “自学能力”,那么,父母在孩子身上花的钱,大部分都会省下来,不仅父母省钱,孩子也会恰恰因此长出更多的本事。
父母拼命赚钱花在孩子身上的一个 “副作用”(或者 “负作用”)是孩子不断 “降智” —— 天下一切的 “本事” 都是在 “遇到问题解决问题” 的过程中 “发展” 出来的,可是,绝大多数父母 “拼命赚钱花在孩子身上” 的结果就是 “遇到问题解决问题” 的从来都是父母而绝对不是孩子。那些孩子原本应该遇到的问题,都被父母 “花钱解决” 了…… 至于是 “真解决” 了还是 “假解决” 了,不知道,真相被掩盖了而已。
原本 “遇到问题” 的是孩子,那可原本是他们 “长本事” 的机会,结果,“机会” 被剥夺了,“问题” 却实际上并未解决,但又误以为已经解决了,问题的积累和误解甚至幻觉的积累不断扩大,到最后,神仙都没办法 —— 这绝对不是危言耸听,最终的恶果,在绝大多数人 15 岁左右的时候就会显现,就会爆发,并且只能 “一发不可收拾”。
让我们简单算一笔账。假设夫妻二人的年收入是 30 万元人民币…… 那么小学、初中、高中12 年下来,平均每年在孩子身上花的钱,按 60% 计算,大约应该是 18 万。这其中,大约 60% 是花在各种 “校外辅导” 上的 —— 基础教育费用,事实上并不太高,因为全世界都一样,高中毕业之前,毕竟绝大部分是 “义务教育” —— 那么,大约应该是 10.8 万元12 年下来,总计是 129.6 万元…… 若是孩子又真正的自学能力,不说这些全都省下来吧,起码其中的 80% 能省下来,算一下,是 103.68 万。
“启动任务” 中的 “每天至少三小时”,一定拦住了很多人 —— 因为绝大多数人一辈子都没那么干过,没有过那样干的完整经验,当然也就从来都不可能知道那么干的效果是怎样的,只是 “凭直觉” 认为困难,以为不可能…… 殊不知,那恰恰就是 “学了个假习过了个假日子” 的根本原因。
“学英语” 固然是目标之一,更重要甚至最重要的是,你作为父母,“亲自展示一下效果” —— 学什么都是这样的。用同样的方式 —— **每天至少三小时,一年内至少一千小时的注意力投入** —— 乐器、歌舞、书法、棋艺,任何体育项目,无论是田径还是球类,自然语言,无论是母语还是外语,人工语言,无论是校内的数理化,还是校外的编程…… 都一样的,都能做到自然超越九成以上的人群。
而你的 “投资成本” 呢?主要根本不是 “钱”,也不仅仅是 “时间”,而是 “注意力”,只有时间成本没有金钱成本的 “注意力”。“**一年内至少一千小时的注意力投入**”并且还是你们夫妻二人中的某一个就可以。所以在金钱上几乎是零投入而相对可能的收益呢103.68 万,并且,还相当于是 “一年赚出来” 或者 “一年攒出来” 的 —— 那可是年收入 30 万的夫妻两人不吃不喝三年都赚不到更攒不下来的钱!打工也好、创业也罢,这样的 “投资收益” 很惊人吧?不算不知道,一算吓一跳。
到最后,“投资收益” 可不只是 “一年干出一百万” 那么简单。你变成了 “双语使用者”,你也好孩子也罢,甚至你的另一半,都 “长了见识”,亲眼目睹了 “真学习” 的真相和效果,你拥有了真正的 “自学能力”,他们也在不知不觉之中迈过了最大的门槛 —— 从不知道 “真学习” 到见证了 “真学习” —— 然后走在 “获得自学能力”、“养成自学习惯” 的路上……
其实,这个 “账” 还没算完。
如果你的孩子被你影响 —— 如果你真做了,他们必然全方位受到影响 —— 那么,他们也会成为 “多语使用者”,至少是 “双语使用者”。无数的研究表明,“多语使用者” 相对有更强的思考能力、学习能力、解决问题能力、组织能力管理能力,甚至连罹患老年痴呆的风险都会因此降低很多。从大脑结构上来看,也相对灰质相对更厚,白质覆盖面积更大。
更为重要的是,无数调查都表明,“多语使用者” 的收入比 “单语使用者” 高,终其一生,起码会高出 30%…… 你估算一下你的孩子会有多少终生收入罢,再乘以 30%,那就是 你用 “一年内至少一千小时的注意力投入” 可以换来的金额…… 如果你再多生几个,那你就再算算?
用金钱刺激自己,常常是最有效的。说来好笑,所谓的 “用金钱刺激自己”,常常只不过是 “算个假账” 而已。
当年我为了进新东方教书,就要考 TOEFL/GRE当年的我还没有今天对教育或者考试这么清楚的认知也傻呵呵地去背单词 —— 因为那时候大家都那么说么,说是怎么也得搞个 2 万的词汇量…… 搞呗。不就是 “每天至少三小时” 么?—— 当然,根本就没用上一年,三个月就搞定了。
我怎么刺激自己的?一样的,“算个假账” 而已。那时候谣传新东方老师年薪百万,我想着说,不用那么多,税后 50 万足够了。一算,乐了,搞定 2 万个单词,就有税后年薪 50 万的可能,那么,一个单词就值 25 块钱啊!还是 “每年至少 25 块”!换算到字母为单位,恨不得 “一个字母就好几块”。
我找来几个随手贴,在上面写上 “25 元/单词”,分别贴在家里我经常出现的地方,床头,镜子,桌子,面对马桶的墙上…… 确保自己时不时就能看到。这种 “自欺欺人” 真的很管用,从那一刻开始,真心觉得每个单词都长得很好看,短的觉得干练,长的觉得苗条,意义特殊的觉得精致,拼写困难的觉得别致 —— 真不是在夸张或者开玩笑,那是真实的感受。每天最后复习一遍的时候,感觉就是在 “数钱”,自己跟自己说话,今天搞定 200 个单词,不错,这下赚了 5,000 呢……
我们的大脑很神奇,但,它也很傻的,怎么骗它都行 —— 只要是它最关注的东西,你往上靠得无论多么牵强,它都信。有时候我觉得,它之所以那么神奇,就是因为它那么傻。
更重要的是,不要小瞧 “**一年内至少一千小时的注意力投入**” 这种用一句话就能说完的方式进行的 “真学习”。它会让你赢得真正的尊重 —— 人就是这样,自己做不到的事情,别人做到了,只能选择尊重。外人就算了,赢得另一半的尊重很重要,会使夫妻关系更为亲密;赢得孩子的尊重更重要,父母的 “尊重” 若是通过行动赢来的,孩子就不存在什么 “叛逆” —— 天下一切的所谓 “叛逆”,其实是 “父母不值得孩子尊重” 作为底色展现出来的光怪陆离而已,难道不是吗?
**“干上一年” 就能换来子女对自己终生的 “尊重”** —— 值不值?
如果你真的有什么技能,能做到 “轻松超越九成以上的人群” —— 诀窍很简单啊,就是那句话,“一年内至少一千小时的注意力投入” —— 你整个人的气质都会变的。首先来自于别人对待你的态度,而后来自于你的 “自信” —— 关键在于,你的 “自信” 不可能是 “自负”,因为它是有成绩支撑的。没有实际支撑的时候,“自信” 很可笑,但,众技傍身的你,由里至外地自信,为什么不呢?弄不好,你还得刻意低调呢 —— 为了让别人更舒服一点。淡定的表情,聚焦的眼神,舒展的动作,从容的态度,这样的神态其实都是自然发生的,装是装不出来的。外界越来越不重要,建设大脑皮层是你最喜欢干的事情……
我经历过很多次 “一年内至少一千小时的注意力投入”。其中最搞笑的是 “健身”。普通人健身,金钱投入相对多一些,毕竟健身房的年费和教练的辅导费都挺贵,时间投入真的相对很少,每周 3 次,一年下来也就 160 次左右,每次连路上的时间都算上也不过 2.5 个小时,一年下来其实只投入了 400 个小时…… “注意力” 投入更少,我的方法是 “花钱请教练”,所以,“撸铁” 的过程里其实是 “心不在焉”,脑子里 “胡思乱想”,全靠教练站在边上帮自己数数、打气、看护,然后生做硬练(要 “学” 的东西很少很少)……
健身,只要持续两个月以上,就可以见到效果,半年就效果惊人 —— 所有人都看得到,原来的衣服全都得扔,胸围、臂围、腿围都变大了,腰围变细了,体态笔挺了,穿衣服的效果都不一样。就算原本长得丑,也因为体态变了所以更精神了。若是竟然跟同事去海边,或者去泡个温泉,那就完全是 “鹤立鸡群”。周遭的人对你的态度所发生的变化,难以用语言描述。这当然不是用钱就可以换来的东西 —— 尊重这个东西,用钱买不到。
不仅要 “算算账”,哪怕是 “假账”,还要换一下 “方向”。过去,当年你上学的时候,总感觉自己其实 “为了父母” 学习,后来懂事了,即便是 “假学习” 也知道是 “为了自己” —— 现在,给你换个 “方向”,“为了孩子” 学习,“为了家庭” 学习。作为父母,你可能会突然发现,这一次真心 “不敢做假” 了,是吧?
李笑来一脸坏笑 —— 李笑来这是在对着自己坏笑。我用英语很多很多年了,甚至到最后,英文阅读速度比中文还快 —— 没办法,每年下来,读的所有的书,都是英文的,文章也一样,绝大多数是英文的…… 可是口语呢?很差,为啥?潜意识里觉得没啥用,反正生活里也没啥跟人说英语的需求。那现在都五十多了,为什么 “突然” 打起精神练了呢?为了孩子,只为了孩子。

View File

@@ -0,0 +1,85 @@
# 2024-01-11-心理建设
“语言学习关键期” 的谬论曾经大行其道,荼毒生灵无数。“看起来婴幼儿学语言相对于成年人更快更好更容易” 这个 “现象” 之所以存在,原因并不是 “有某个分水岭存在” —— 事实上压根就没有什么分水岭。后来的脑科学发展,从各个角度证明了 “动机” 的关键作用,于是,这个曾经被曲解的 “现象” 现在有了真正合理的解释:
> 婴幼儿相对于成年人,有更强更纯粹的动机 —— 即,跟身边的人一样说话。对他们来说,这是绝对的 “刚需”。
大多数成年人对 “说外语”,并没有足够强的动机,甚至干脆没有。在学校里 “学外语” 更是如此,除了课堂上听一听,课后完成一点作业之外,“说外语” 从来都不是 “刚需”。什么是 “刚需”?就是 “没有不行”。所以,对于 “刚需”,大脑为之设定的 “效能阀值” 可以很高,哪怕 “过高” 都无所谓;可对那些 “可有可无” 的东西,大脑会把 “效能阀值” 调低,反正也无所谓么。
基于 “语言学习关键期” 这个流行谬误,人们设计了很多 “幼教” 方法。很多父母常见的 “为婴幼儿播放英语” 就是其中之一,美其名曰 “洗耳朵”。这种方法真的有效吗?
帕特里夏·库尔Patricia Kuhl曾做过一项研究。库尔斯专注于婴儿语言习得的神经学专家。
> 接受测试的九个月大的幼儿全都来自英语环境,研究者让他们开始定期听中文,一共 12 次,每次 25 分钟。幼儿们被分为三组:第一组幼儿有中国人陪同,给他讲中文故事,和他用中文互动;第二组幼儿也是和同一批中国人交流,同样讲故事和互动,但是通过视频完成;第三组幼儿则只听中文录音。研究者预计第一组和第二组幼儿在一岁之后都同样可以辨识出中文语音。结果出乎意料:面对面和中国人交流的幼儿,可以同中国幼儿一样,辨识出中文语音;只听中文录音的幼儿,和看中文视频的幼儿一样,彻底记不住中文语音,一点儿都记不住。没有面对面的交流互动,即使是好看的视频,幼儿依然什么都记不住。
怎么回事?很简单啊!对幼儿来说,只要不是 “身边的人”,就是不重要的,于是,他们根本就没有任何动机。幼儿的 “刚需” 很简单,“不仅尽量也要尽快学会身边的人所做的事情”。至于视频也好录音也罢,跟自己全无关系,没有任何动机去关注。没有了 “动机”,就没有了 “关注”(或者说 “注意力投入”)—— 于是,就等同于 “不存在” —— 这怎么可能有什么 “效果” 呢?
你看,即便是 “相对于成年人学的更高更好更容易的婴幼儿”,在缺乏动机的情况下,他们再会 “生学硬练” 也没用。
所以,在整个 “自学” 过程中,“强化动机” 是最重要的工作。对非婴幼儿来说 —— 只要是 “能听懂道理”,“能用大脑皮层思考” 的人,无论是中小学生,还是在职人员,抑或是离退休人员,都一样 —— 但凡想要真学样东西,就得寻找动机、培养动机、强化动机、呵护动机,并且,还得 “每天都做”,甚至 “时不时就要做”,反正要 “不厌其烦地做”。
李笑来在任何地方都强调:
> **一切都是心理建设。**
就是基于 “动机最重要” 这个事实。“一切都是心理建设” 不是一句空话,并且也不是 “无迹可寻”。2019 年 7 月 12 日,我为《定投改变命运》配套建立了一个社群。“定投策略” 说清楚也就一句话,而所谓的 “践行” 动作,也只有一个字,“买” —— 简单到极致…… 简单吗?简单。容易吗?不容易。陆陆续续,社群最多的时候两万多人,几年下来之后呢?差不多六成的人掉队…… 不过,几年下来,社群里的人都有同样的感受:
> 若不是李笑来几乎天天在社群里像唐僧念经一样做心理建设,我早就掉队了…… 想想真是 “一念之差” —— 可那 “一念” 竟然那么难以坚守……
这就是 “自学”(相对于 “学习” 更为高级的活动)的最核心关键:
> **自我心理建设**
有人帮助 “建设” 很好,自己能够 “建设” 更好…… 当然,有没有别人其实并不重要,虽然 “有” 很难得,“没有” 呢?只能自己来,反正,无论什么,到最后都得靠自己,也只能靠自己。再说,如果自己就能给自己做好心理建设,那么,请问,谁能阻挡你呢?谁能打击你呢?谁都不能。所以,能够为自己做好心理建设的人,总是无往不利,势不可挡。
每个人都一样,在做不同事情的时候大脑会给自己的身体机能设置 “效能阀值” —— 并逐步会形成一种惯性。但,我们已经知道了,其实有可能通过改变自己的 “认知” 改变或者调整自己的 “效能阀值”,甚至我们还可以也应该不断主动刻意地去维护它…… 以便我们尽快达到更好的成绩,甚至巅峰。
既然没有 “上限”,那我们不妨再研究一下 “底限”。
我们的某些身体器官,的确受不了过度使用。比如,人类的膝关节就很脆弱,一旦受伤,很难修复 —— 因为它一方面时刻承重,另外一方面关节内还没有直接的血液循环,受损之后修复的难度极高…… 所以,一般来说,很多体育训练,的确不易过度。并且,这一点的确值得额外提醒:在一切运动的过程中,都要,且尤其要注意膝关节的保护。
但是,我们身体的绝大多数器官,比如,“手指”(弹奏乐器)或者 “舌头”(说各种语言),基本上不存在所谓的 “因过度使用而磨损” 的情况,尤其是 “大脑” —— 而民间所谓的 “用脑过度” 实际上都是那些压根不用脑子甚至不会用脑子的人莫名其妙臆想出来的乱七八糟且毫无实际意义的词汇。所以,在 “多语学习”(无论是不是英语)这方面,或者干脆简单说,在 “说话” 这方面,不存在任何风险,即,风险为零,也因此,收益相对无限大。
许多年前,我曾向我的学生介绍我的学习方法之一:
> 单耳戴蓝牙耳机,尽量全天候播放有声书。
这么做的好处当然是 “有效模拟全天候浸泡外语环境”。并且,是因为用 “单耳”,所以完全不影响原有的生活,有人跟你说话的时候,与没戴耳机也没什么区别。散步的时候,开车的时候,家里,健身房里,都可以 —— 甚至游泳的时候,也有专门的 “防水耳机” 呢。
但,你可能完全想不到,我这样讲,竟然在课上讲被学生投诉过,在博客上写也被读者质疑过…… 而且,不止一次,也并非少数人。他们(甚至很气愤地)说,“那样会毁掉耳膜的!” 他们认为我在向人们传播 “有害的建议”。问题在于,我的确是如此做的啊!并且,也的确因此受益了啊!还有,你试过就知道了,时不时总得左右换换,毕竟蓝牙耳机电量有限,其实每只耳朵都有休息时间的。
到现在我这么做已经二十多年了 —— 最早的几年恨不得全天候,再后来每天听电子书的时间也没低于过三个小时 —— 到现在我也没有 “失聪”。人类的身体器官,比绝大多数人自以为的 “皮实” 得多。
另外一个例子是,很多人认为看电脑屏幕多了对眼睛不好,影响视力…… 这可能是事实。但,学习、研究、工作都离不开电脑,那怎么办?只能是 “**必要成本**” 了呗。总不能因噎废食吧?如果不学习不研究部工作,视力再好,不还是瞎子吗?脑子瞎总比眼睛瞎更可怕吧?又,多年以来,我肯定是人群中 “每天盯着电脑屏幕时间相对较长的人” —— 我从 12 岁就更多地盯着屏幕,到今年 52 岁了2024都整整四十年了也没瞎啊视力并没有变得更差啊顶多有点花怎么了
很多人 “爱惜” 自己的身体,却完全不在意自己的脑子,是不是有点奇怪?当然你我都一样,听过无数次,“看那么多书不累嘛?脑子都看坏了!” —— 唉…… 有脑子不用的人,为什么要害怕脑子会坏呢?是不是很奇怪?在我们的世界里,我们把这个叫做 “**价值观缺失**” —— 换句话讲就是,“不知道什么重要,也不知道什么更重要,更不知道什么最重要……”
过去,对于这样的投诉或者类似的质疑,我只能表示理解:“我能理解你是非常爱惜自己身体的人…… 但,我自己还是会这么做的。” 现在呢?我都懒得回应。不过,有一点不仅是确定的,也是值得反复向自己 “灌输” 的:
> **脑子是绝对练不坏的。**
既然练不坏,那么就不仅必须练,还必须是使劲练,不练或者少练,都很吃亏 —— 人这一辈子最重要的无非是健身健脑,一切学习都是脑体协调,并且,健脑甚至比健身更重要。就这么简单 —— 你自己选。
所以,在 “健脑” 的过程中,“效能阀值” 总是可以无风险地调到更高水平的。而我们现在的 “实操” 目标,你把它叫做 “学外语” 也好,“学英语” 也罢,甚至 “掌握多语”,说穿了,不就是 “练说话” 吗?怕什么?心疼什么?奇怪。甚至,“短期超频” 也实际上的确无所谓,只要收益足够大,可问题在于,分母(风险)都是零了,怎么弄都是 “无限大” 的啊!犹豫什么呢?
到最后,无论是学什么,还是干什么,都一样的,“**一切都是心理建设**”。毫不夸张地讲,人与人之间的最大差异,就是 “心力” 上的差异,而不是智商、相貌、性别、出身、种族之类的看起来相对直观的差异。到最后,一切的胜利,都是 “**意志的胜利**”…… 更何况,等你活到一定的岁数就明白了,这世界对人生最重要的技能,基本上都不需要做到 “天下第一”,因为比例上来看,**绝大多数人压根就是哪儿哪儿都 “不及格”** —— 很多的时候,若是你赢了,其实真的不见得是因为自己到底有多么强大,只不过是因为对手实在太差。
每天都要 “反复” 为自己做 “心理建设”,呵护自己的 “心力”。“反复” 的意思是说,要像唐僧一样,对自己絮絮叨叨,不厌其烦。不仅如此,还要从各个角度全方位地做 “心理建设”,甚至还要拼命想办法做到 “有创意地做心理建设”,按照罗大佑的说法,就是要不停地 “搞搞新意思”。
首先,“**能不断体会到进步**” 对自己来说是最大最好的 “心理建设”。其实呢,只要你做到 “**用注意力填满时间**”,你不可能不进步的,谁都一样,干什么也都一样。天下所有进步的前提都一样,都是 “用注意力填满时间”,做不到这一点,一切都是胡扯。明白了这个道理,只要环顾一下四周,基本上就会 “自信” 慢慢,因为懂得这么做的人实在是太少了,能做到的人更是少之又少,而你竟然做到了,你还怕什么呢?
另外,请杜绝一个看似不起眼的坏毛病:“在别人身上挑刺”。别人做的好不好,关你什么事?可很多人就是不由自主地宝贵的注意力浪费在别人身上 —— 因为 “自己进步” 很难,因为那需要用很多注意力填满很长的时间,但是,“在别人身上挑刺” 相对太简单,些许的注意力,一不留神就 “发现” 了。然而,这是个大大的陷阱,因为 “在别人身上挑刺”,这个小动作会让自己掉进 “固守型人格” 的陷阱,因为,它会不由自主地出发实际上毫无用处的 “横向比较”。不要忘了,你要养成的是 “进取型人格”,你要做的事 “纵向比较”,“过去的你” 和 “努力过后的你” 之间的比较。为了不断进步,你应该变成一个更多 “内视” 的人,而不是更多 “外视” 的人,多关注自己的成长,甚至 “只关注自己的成长” 才对。
“启动任务” 中,要求每天留下 “训练记录”,就是为了能够让你 “时不时体会到进步”。在 “自我训练”(即,“自学的最关键环节”)之中,还有一个重点就是 “时不时提高训练难度”,因为这是能够让自己体会到 “进步” 的几乎唯一来源。
比 “为自己做心理建设” 更厉害的方式是 “帮助别人做心理建设”。我做了一辈子老师,最明白这个道理。由于我坚信 “**一切都是心理建设**”,所以,在 “教授” 的过程中,我干的最多的事情,就是帮助学生做心理建设,我知道他们最缺的,不是方法不是技巧,不是天分不是智商,他们其实只不过是 “**心力不足**” 而已。
然而,我帮他们絮絮叨叨不厌其烦地反复进行 “心理建设”,最终最大的受益者是谁呢?说来好笑,不一定是他们,而是我自己。对在精神上 “**鼓励他人**”、“**帮助他人**” 绝对不要吝惜,绝对不会浪费,因为到最后,你付出的所有 “心力” 都会返回来加强你自己的 “心力”,没有过例外。
所以,这一年的任务,如果你是父母,带着孩子一块儿做,可能是你最佳的 “帮助他人做心理建设” 的机会,一举多得。不要担心你的孩子做不好,不理解你说的话,他们聪明着呢,他们的观察力细微着呢,啥都看得到,啥都能放到心里。这个过程中,除了你们的能力增长,你能获得更多的尊重,因为你展示了你的进步,孩子能获得更多的心力,因为他们知道不只是自己在遇到问题解决问题。
“在社群中活跃” 也是一种方法,哪怕仅仅是 “加入社群”。“人多” 的好处是,“总有人真的做到”,“总有人真的做好”。他们就是榜样 —— “榜样的力无穷” —— “榜样” 在散发着 “信息素”,而你接收到的 “信息素” 讲清楚地告诉你这不是 “不可能的目标”,这不是 “虚无的目标”,这是 “实实在在的目标”,仅此一点,足矣。当然,最好的是,你自己竟然能够成为 “榜样”,你自己焕发着 “信息素”。
还有很多很多手段,看你的 “创意”,想尽一切办法 “搞搞新意思”。比如,之前李笑来告诉你的 “算个假账”…… 再比如,有可能你连 “学习” 这个词都可以为它改个名字,叫做 “变聪明”。“走!到了让自己变得更聪明的时候了!”,或者,“走!让自己更聪明一点!”
记住,“一切都是心理建设”,“一切胜利都是意志的胜利”,“心力” 是唯一保证你获得 “更多财富” 的东西,要爱护它,呵护它,保护它,不断培养它,强化它…… 到最后,它就是你,你就是它。

View File

@@ -0,0 +1,57 @@
# 以教促学
我经常慨叹,“教是最好的学习方法” —— 这显然出自我的人生经验。机缘巧合,我在 28 岁那年去新东方应聘,在那里教书七年之后离开。随后的日子里,虽然我不再是一个传统意义上的 “老师”,但,教学与分享再也没有停止过,无论是写书、讲课,还是日常与家人或者亲戚朋友之间的沟通,对我来说,本质都一样,都是 “教育工作” —— 请注意,更多的应该是 “自我教育工作”。
“角色” 对一个人的行事方式有深刻且又难以捉摸的影响。天下的父母跟孩子争辩的时候,都说过一样的话,“等你当了爸妈就知道了” —— 这就是 “角色” 不同导致的思考方式不同,乃至于连正常沟通都无法进行的经典案例。创业者也经常有相同的慨叹,“自己当年打工的时候误会老板的地方太多了……” 只有等到有一天自己竟然当上了老板,才知道不被理解甚至被误解的痛苦和尴尬。
想象一下有人过来问你一个课本里出现过的单词究竟是什么意思,然后你竟然想不起来了…… 你是学生的话,你会有什么心理负担吗?“见过甚至背过但想不起来了” 这不是大多数学生的实际情况吗?可如果你是老师呢?无论是什么原因造成的,你都会因此脸红,尴尬,甚至恼羞成怒。不同的角色,感受不同,压力不同,责任不同,义务不同 —— 不同的地方实在是太多了。
回头看,如果我没有在新东方教书的经验,我不可能像今天这样在英文阅读方面如此自如,因为当年我一开始教的就是阅读…… 如果当年不是因为部门里缺写作老师,我硬着头皮背课救火,后来教了好多年的写作,连我今天的中文写作水平都可能会大打折扣,甚至干脆有可能在起点上就已经落败。
学生之中,优等生是那种记得住老师强调过的重点的学生,中等生是那种靠前频繁要求老师划重点的学生,差等生是那种老师平日里强调过、考前划过重点也没用的学生…… 所以,在我自己还当学生的时候,语法书是绝对不可能看完的,书架上不是没有过语法书,但,都是新的 —— 也许前 30 页还有过翻过的痕迹?
等我当了老师,而不再是学生,哪怕仅仅是为了背课,都要一遍一遍地翻语法书,一本里找不到合适的例句或者答案,就要再多翻几本,到最后,几本语法书都被翻烂了,脑子里装了很多当学生的时候断然不会保留的信息。不仅如此,平时闲着没事逛书店,只要看到有新的语法书出版,都会不由自主地拿起来翻翻,判断一下是否值得买回去作为参考。显然,我自己还当学生的时候,断然不会如此。
当好老师,最基础的要求就是 “系统全面”。为了追求极致,到最后就要一遍又一遍地尝试着 “扫清一切犄角旮旯”,任何遗漏都可能成为羞耻 —— 尴尬且又不幸的是,你越认真,你脸皮越薄,而那些不小心犯下的错误就会成为越大且越不可承受的羞耻。所以,对老师来说,“重点” 常常是反过来的,“越是犄角旮旯的,越是容易被忽视的,才是真正不可或缺的重点”,因为它们才是造成教师羞辱的重点。
我人生出版的第一本书是《TOEFL 核心词汇 21 天突破》。出版社送来样书的时候,我还挺高兴,翻了翻之后合上,扣在桌子上,然后就一眼扫到在封低的顶部有一串英文字母,没反应过来,再定睛一看,是 “TUO FU HE XIN CI HUI 21 TIAN TU PO” —— 竟然是汉语拼音!我当场脸就臊红了,再拿起来翻翻印数,首印 10,000 册!这就是我得丢 10,000 次脸!如果我不是老师,不是教英语的老师,我会因此脸红吗?我猜不会的。我更不会因此情绪激动。我在阳台上抽了好几颗烟才平复了情绪,然后拿起电话打给编辑,说,你们最好下一次印刷的时候,把这行拼音去掉吧,毕竟这是一本英文词汇书……
多年的教学经验,到最后产生的最大效果,实际发生在自己身上 —— 感觉 “重新上了一次学” —— 甚至,真真切切地觉得 “过去就是上了个假学”。甚至,连当年和很多人一样共同经历过的那么多年稀稀拉拉的所谓 “学英语”,回头看的话,就好像是 “学了个假的英语”,或者 “假学了个英语”。而那用 62 分换来的 “全国大学四级英语证书”CET-4就是自己当年的确 “傻乎乎” 的明确且又不容置疑的证据。
更为重要的是,整个学习方法发生了天翻地覆的变化,乃至于想到当年自己作为一名普通学生的时候那些所谓的 “学习”,就觉得实在是太不靠谱了,甚至,干脆是可笑,怪不得当时是一个事实上的学渣……
“自学” 的核心难点在于 “自主意识”。
至于学习的 “流程”,事实上相当固定且没有任何秘密,任何受过正常义务教育的人都经历了无数回,常见的环节无非如下:
```mermaid
flowchart LR
understanding(了解)-->evaluating(评估)-->planning(计划)-->acting(行动)-->supervising(监督)-->improving(改进)-->examing(验收)-->moving_forward(前行)
```
只不过,这些环节中的大多数,学生要么不参与,要么被动参与,从未完整经历过。对一个科目或者某项技能的全面了解,被认为是专家才能做的事情,连学校里的老师都不配。所以,写教材的那些人才是全程参与 “了解”、“评估” 与 “计划” 的角色。学校里的老师,从 “实施” 开始参与,他们按 “计划”(即,教材里的章节安排,以及学校里的课程表)进行讲解,留作业,以此完成 “行动”、“监督” 与 “改进”,而后通过大大小小的 “考试” 完成所谓的 “验收”…… 然后并不是很严肃地画一条线,过了这个线就是小型考试的 “及格”,或者升学考试的 “录取” —— 至于到底怎样,事实上没人特别关心,然后,稀里糊涂地继续前行,剩下的,只能交给随后的生活再慢慢展露真相……
我在改造(或称为 “颠覆”)自己的 “**自学系统**” 的时候,最重要的一件事就是在每个我能想到的环节上 “**强加自主意识**”。哪怕是那些被认为 “自己肯定做不了” 的,也要强制自己做一做,哪怕做的不好也没关系,做得好不好都是经验,经验是可积累的,经验丰富从来都不是一蹴而就的。
所以,无论学什么,都会先花上相当长一段时间对那个科目、技能或者领域从各个方面去尝试着了解,明知道那只能是 “泛泛的了解”,也要硬着头皮做。“全面了解”、“细致评估” 而后 “详实计划”,这些都是教材编撰者应该做的事情,但,这并不意味着说我是学生,我就没责任、没义务、没能力、甚至不应该去了解或者思考。我的选择是,必须了解,必须思考 —— 这就是 “强加自主意识”。
“计划” 也一样,教材或老师给的,往往是一个 “通用计划”,可 “通用” 的意思就是 “不一定适用所有人”,所以,也需要 “添加自主意识”,或者干脆 “强加自主意识”,必须要主动思考,想一想是不是要增加一些任务?或者,是不是可以因为时间精力暂时忽略一些任务?又或者,我如何才能以更快的效率完成任务?没有人督促,就不 “行动”,没有人 “监督”,就做不出任何 “改进”,没有人 “验收” 就敷衍了事,没有人带着,就驻足不前 —— 这些都是缺乏自主意识的结果。
说来好笑,绝大多数人其实是一点一点丧失了 “自学能力” 的。刚出生的时候可不是这样。婴幼儿没有计划也要行动,没有监督也会重复,没有验收也会改进,没有人带着也会成长…… 从这个角度望过去,自学能力的一切基础,其实都是与生俱来的,或者与生俱来地带着相应的潜质,然后,在成年过程中一点一点丧失,直至消失殆尽 —— 学校的一个副作用就是,替学生做的太多,乃至于那部分能力学生在学校里用不着,于是,只能逐步用进废退 —— 小学六年、初中三年、高中三年,本科四年,这一口气十六年过去,自主意识竟然还在,天生的自学能力竟然还保持完好,那可真的是奇迹了吧?
“**重新定位自己的角色**”,是 “强加自主意识” 的最简便方法。把自己定位成 “自己的老师”,那么,所有老师应该干的事情,都是你自己就要干好的事情,毕竟,你的学生是你自己,那你可真得负责,也只能你自己负责。又由于其实是同一个人,所以,老师该干的都干好了,学生怎么可能干不好呢?—— 太难了吧!再说,这压根就不是难不难的问题,干脆是没可能的问题。
比较讽刺的是,越是成年人越是难以调整角色。越是成年人越是倾向于认为,“做老师可得有资格”,或者,“不是随便谁都可以当(我的)老师的”,等等等等,不一而足…… 可是,只要冷静看一下这世界的真实情况就知道了 —— 老师也是一点一点成长的吧?无论是谁,都不可能一上来就是高级教师、超级教师、明星教师、无敌教师…… 再说,要是 “给自己当老师” 没自信,那就先 “给自己当个助教” 吧,再不行给自己当个 “学校小组组长” 吧…… 反正总有可以起步的地方。
无论如何,只当学生这一个角色肯定不行,反正必须想办法 “**不断强加自主意识**”。另外,**有一个此生不离不弃的 “专属老师” 也是一种 “特权” 吧?**想要学 “好”,先认真 “教” 吧,这事儿无论如何都真的值得做一辈子。
与此同时,之前已经提到过,有了 “人工智能” 之后,又不一样了,“最好的老师是人工智能”,我们既是 “学生” 又是 “助教”。重新审视之后,发现其实没有什么变化,只不过是 **所有 “演示” 的环节全部交给 “人工智能” 了**,并且不用担心它不够权威不够全面 —— 尤其是在 “语言学习” 方面 —— 而后,自己要做的事情还是那一套:
```mermaid
flowchart LR
understanding(了解)-->evaluating(评估)-->planning(计划)-->acting(行动)-->supervising(监督)-->improving(改进)-->examing(验收)-->moving_forward(前行)
```
所有这些环节,作为 “学生” 都是 “**被动**” 地做的,但,作为 “助教” 则必须 “**主动**” 做这些事情,不仅要 “主动” 做,还要做得 “**足够全面**” —— 这就是 “自学者” 和 “其它学习者” 最不一样的地方。从这个角度望过去,那些所谓的 “学渣”,其实也很努力,也没少干活,但,基于他们的认知,他们只是因为不知道所以才少做了很多其实其实值得做必须做的事情;或者换一种说法,他们只是 “缺一个自己的专属老师”(或者 “教练” 或者 “助教”)而已 —— 他们因为无知,所以都不知道自己放弃了 “特权”。
作为父母,最好对这样的差异有着深刻的了解,说实话,也没多复杂,也很容易讲清楚…… 于是,这就不再是什么 “智商” 问题,“天分” 问题,这完全是简单的 “复述” 问题 —— 把这个道理越早复述给自家孩子越好,不仅如此,还得逼着孩子反复复述,直至将这么简单却又那么重要的道理刻到脑子里。这一点点的差异,经过日积月累,会造成天壤之别,到最后,别人可能要用 “智商不够” 或者 “天分不足” 去解释他们比较之后的窘境。可你却清楚地知道,一切是从什么时候,从哪里开始的……(在《专注的真相》里,我们专门讲解过 “用 ‘复述’ 为自己 ‘洗脑’ 的有效方法”……)

View File

@@ -0,0 +1,137 @@
# JupyterLab Desktop
JupyterLab 是一个主要为 Python 设计的交互式开发环境。它的重要特点之一是可以用 “单元格”Cell将程序划分为若干部分而后可以 “逐格” 执行,大大降低了非专业程序员使用 Python 的难度,使得更多的学生、教师、科学家、研究人员能够利用 Python 提高各种类数据分析或者人工智能应用等工作的效率。
其实,很多的时候,即便不懂编程,也能 “使用用编程语言写出来的程序”,因为 “程序”,无非是 “一行又一行的代码”,所谓的 “使用程序”,在 JupyterLab 里其实不过是 “用快捷键 `Shift + Enter` 执行某个单元格内的代码片段“ 而已…… 这是 “能操作键盘的人” 都能做的事情。
Jupyter Notebook 文件的尾缀是 `.ipynb`,想要在本地运行,需要事先安装 `JupyterLab`(命令行环境安装)或者 `Jupyter Desktop`(图形界面安装)。比本地运行对新手来说更为方便的是直接使用 Google Colabhttps://colab.research.google.com
登录 Colab 之后,`File` 菜单里有 `Upload` 命令,直接将以下文件上传之后打开即可。
注意,以下文件中的代码片段 `IPython.display.Audio(speech_file_path)` 在 Colab 中不会正常显示,但,程序生成的 `.mp3` 文件,可以通过点击界面左侧的文件夹图标看到,而其中的每个文件都可以点击下载。
![google-colab-audio-download](/Users/joker/Desktop/google-colab-audio-download.png)
JupyterLab Desktop 是 JupyterLab 的桌面版本,它是一个独立的基于 Electron 开发的跨平台应用程序,无需通过网络浏览器,这使它更加方便和高效。
* 第零阶段:直接用 Google Colaboratory。2023 年 11 月 1 日,`%%python --verision`,给出的版本是 `3.10.12`
* 第一阶段:用最快最野蛮的方式用上 JupyterLab以及 Desktop 版本。
* 熟悉 Jupyter Notebook 的基本操作。
* 学习编程的最基础概念。
* 而后直接开始使用各种程序。
* 第三阶段:本地安装多个 Python 版本,必要的时候切换;以及如何在 Jupyter Desktop 上切换不同的 Python 版本与环境。
### 安装 JupyterLab-Desktop
安装 JupyterLab-Desktop 在 macOS 和 Windows 上的步骤相似,但有一些细微的差别。
#### 在 macOS 上安装 JupyterLab-Desktop
1. 打开你的网络浏览器,访问 JupyterLab-Desktop 的 GitHub 中的 Release 页面https://github.com/jupyterlab/jupyterlab-desktop/releases`Assets` 中找到最新版本。
2. 根据你的操作系统选择对应的安装文件。对于 macOS你应该选择 ".dmg" 文件。注意,如果你的 Mac 是基于 Silicon 芯片M1/M2/M3那么你要下载的 `.dmg` 文件名应该是 `JupyterLab-Setup-macOS-arm64.dmg`
3. 点击下载,等待下载完成。
4. 打开下载的 ".dmg" 文件,将 JupyterLab-Desktop 拖拽到你的 "Applications" 文件夹。
5. 打开 "Applications" 文件夹,找到 JupyterLab-Desktop双击打开。
#### 在 Windows 上安装 JupyterLab-Desktop
1. 打开你的网络浏览器,访问 JupyterLab-Desktop 的 GitHub 中的 Release 页面https://github.com/jupyterlab/jupyterlab-desktop/releases`Assets` 中找到最新版本。
3. 根据你的操作系统选择对应的安装文件。对于 Windows你应该选择 ".exe" 文件,其文件名是 `JupyterLab-Setup-Windows.exe`
4. 点击下载,等待下载完成。
5. 找到下载的 ".exe" 文件,双击打开。
6. 在打开的安装向导中,按照提示进行操作,完成安装。
7. 安装完成后,你可以在开始菜单或桌面找到 JupyterLab-Desktop 的快捷方式,双击打开。
### 安装 Python 最新版本
Windows 系统并未自带 Python而 macOS 中系统自带的 Python 是 2.7.x 版本;而 JupyterLab Desktop 虽然自带 Python 环境,却并非最新版本;所以,无论如何,都需要自行手动安装 Python 的最新版本。
#### 在 macOS 上安装
1. 首先安装 [Homebrew](https://brew.sh/)。打开 Terminal拷贝粘贴以下命令而后执行
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
2. 安装 `Miniconda`。在 Terminal 中拷贝粘贴以下命令而后执行:
```bash
brew install miniconda
```
3. 检查 Python 版本。在 Terminal 中分别执行以下命令:
```bash
python --version
which python
conda uninstall python
conda install python=3.11.5
```
4. 安装 Jupyterlab。在 Terminal 中执行以下命令:
```bash
pip install jupyterlab
```
#### 在 Windows 上安装
1. 安装 Miniconda
- 打开你的网络浏览器,访问 Miniconda 的下载页面https://docs.conda.io/en/latest/miniconda.html根据你的操作系统选择对应的安装文件。对于 Windows你应该选择 ".exe" 文件。
- 点击下载,等待下载完成。
- 找到下载的 ".exe" 文件,双击打开。
- 在打开的安装向导中,按照提示进行操作,完成安装。
2. 安装 Python 3
- 打开 Command Prompt命令提示符
- 使用 condaMiniconda 的包管理器)来安装 Python 3
```bash
conda install python=3
```
- 安装完成后,你可以通过以下命令检查 Python 的版本:
```bash
python --version
```
3. 安装 JupyterLab
- 在 Command Prompt 中,使用 conda 来安装 JupyterLab
```bash
pip install jupyterlab
```
关于 Python 的路径设置,当你安装 Miniconda 时,它会询问你是否要将 Python 添加到你的 PATH。你应该选择 "Yes"。如果你没有这样做,或者你需要修改 Python 的路径,你可以按照以下步骤操作:
1. 打开 Control Panel控制面板
2. 点击 "System and Security",然后点击 "System"。
3. 点击 "Advanced system settings"。
4. 在弹出的窗口中,点击 "Environment Variables"。
5. 在 "System variables" 部分,找到 "Path",然后点击 "Edit"。
6. 在弹出的窗口中,点击 "New",然后输入 Python 的路径。例如,如果你的 Python 安装在 "C:\Miniconda3",你应该输入 "C:\Miniconda3" 和 "C:\Miniconda3\Scripts"。
7. 点击 "OK" 保存更改。
### 在 JupyterLab Desktop 中指定 Python 环境

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

View File

@@ -0,0 +1,279 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" id="95c7888bf42a479b932c0658164e8855-0" class="displacy" width="3900" height="662.0" direction="ltr" style="max-width: none; height: 662.0px; color: #000000; background: #ffffff; font-family: Arial; direction: ltr">
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="50">The</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="50">DET</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="225">spectacular</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="225">ADJ</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="400">aurora</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="400">NOUN</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="575">light</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="575">NOUN</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="750">displays</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="750">NOUN</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="925">that</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="925">PRON</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="1100">appear</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="1100">VERB</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="1275">in</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="1275">ADP</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="1450">Earth</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="1450">PROPN</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="1625">s</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="1625">PART</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="1800">atmosphere</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="1800">NOUN</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="1975">around</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="1975">ADP</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="2150">the</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="2150">DET</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="2325">north</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="2325">NOUN</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="2500">and</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="2500">CCONJ</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="2675">south</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="2675">ADJ</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="2850">magnetic</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="2850">ADJ</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="3025">poles</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="3025">NOUN</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="3200">were</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="3200">AUX</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="3375">once</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="3375">ADV</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="3550">mysterious</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="3550">ADJ</tspan>
</text>
<text class="displacy-token" fill="currentColor" text-anchor="middle" y="572.0">
<tspan class="displacy-word" fill="currentColor" x="3725">phenomena.</tspan>
<tspan class="displacy-tag" dy="2em" fill="currentColor" x="3725">NOUN</tspan>
</text>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-0" stroke-width="2px" d="M70,527.0 C70,264.5 735.0,264.5 735.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-0" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">det</textPath>
</text>
<path class="displacy-arrowhead" d="M70,529.0 L62,517.0 78,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-1" stroke-width="2px" d="M245,527.0 C245,352.0 730.0,352.0 730.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-1" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">amod</textPath>
</text>
<path class="displacy-arrowhead" d="M245,529.0 L237,517.0 253,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-2" stroke-width="2px" d="M420,527.0 C420,439.5 550.0,439.5 550.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-2" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">compound</textPath>
</text>
<path class="displacy-arrowhead" d="M420,529.0 L412,517.0 428,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-3" stroke-width="2px" d="M595,527.0 C595,439.5 725.0,439.5 725.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-3" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">compound</textPath>
</text>
<path class="displacy-arrowhead" d="M595,529.0 L587,517.0 603,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-4" stroke-width="2px" d="M770,527.0 C770,2.0 3200.0,2.0 3200.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-4" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">nsubj</textPath>
</text>
<path class="displacy-arrowhead" d="M770,529.0 L762,517.0 778,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-5" stroke-width="2px" d="M945,527.0 C945,439.5 1075.0,439.5 1075.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-5" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">nsubj</textPath>
</text>
<path class="displacy-arrowhead" d="M945,529.0 L937,517.0 953,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-6" stroke-width="2px" d="M770,527.0 C770,352.0 1080.0,352.0 1080.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-6" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">relcl</textPath>
</text>
<path class="displacy-arrowhead" d="M1080.0,529.0 L1088.0,517.0 1072.0,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-7" stroke-width="2px" d="M1120,527.0 C1120,439.5 1250.0,439.5 1250.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-7" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">prep</textPath>
</text>
<path class="displacy-arrowhead" d="M1250.0,529.0 L1258.0,517.0 1242.0,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-8" stroke-width="2px" d="M1470,527.0 C1470,352.0 1780.0,352.0 1780.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-8" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">poss</textPath>
</text>
<path class="displacy-arrowhead" d="M1470,529.0 L1462,517.0 1478,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-9" stroke-width="2px" d="M1470,527.0 C1470,439.5 1600.0,439.5 1600.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-9" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">case</textPath>
</text>
<path class="displacy-arrowhead" d="M1600.0,529.0 L1608.0,517.0 1592.0,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-10" stroke-width="2px" d="M1295,527.0 C1295,264.5 1785.0,264.5 1785.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-10" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">pobj</textPath>
</text>
<path class="displacy-arrowhead" d="M1785.0,529.0 L1793.0,517.0 1777.0,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-11" stroke-width="2px" d="M1820,527.0 C1820,439.5 1950.0,439.5 1950.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-11" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">prep</textPath>
</text>
<path class="displacy-arrowhead" d="M1950.0,529.0 L1958.0,517.0 1942.0,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-12" stroke-width="2px" d="M2170,527.0 C2170,177.0 3015.0,177.0 3015.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-12" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">det</textPath>
</text>
<path class="displacy-arrowhead" d="M2170,529.0 L2162,517.0 2178,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-13" stroke-width="2px" d="M2345,527.0 C2345,264.5 3010.0,264.5 3010.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-13" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">nmod</textPath>
</text>
<path class="displacy-arrowhead" d="M2345,529.0 L2337,517.0 2353,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-14" stroke-width="2px" d="M2345,527.0 C2345,439.5 2475.0,439.5 2475.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-14" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">cc</textPath>
</text>
<path class="displacy-arrowhead" d="M2475.0,529.0 L2483.0,517.0 2467.0,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-15" stroke-width="2px" d="M2345,527.0 C2345,352.0 2655.0,352.0 2655.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-15" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">conj</textPath>
</text>
<path class="displacy-arrowhead" d="M2655.0,529.0 L2663.0,517.0 2647.0,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-16" stroke-width="2px" d="M2870,527.0 C2870,439.5 3000.0,439.5 3000.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-16" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">amod</textPath>
</text>
<path class="displacy-arrowhead" d="M2870,529.0 L2862,517.0 2878,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-17" stroke-width="2px" d="M1995,527.0 C1995,89.5 3020.0,89.5 3020.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-17" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">pobj</textPath>
</text>
<path class="displacy-arrowhead" d="M3020.0,529.0 L3028.0,517.0 3012.0,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-18" stroke-width="2px" d="M3220,527.0 C3220,439.5 3350.0,439.5 3350.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-18" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">advmod</textPath>
</text>
<path class="displacy-arrowhead" d="M3350.0,529.0 L3358.0,517.0 3342.0,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-19" stroke-width="2px" d="M3570,527.0 C3570,439.5 3700.0,439.5 3700.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-19" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">amod</textPath>
</text>
<path class="displacy-arrowhead" d="M3570,529.0 L3562,517.0 3578,517.0" fill="currentColor"/>
</g>
<g class="displacy-arrow">
<path class="displacy-arc" id="arrow-95c7888bf42a479b932c0658164e8855-0-20" stroke-width="2px" d="M3220,527.0 C3220,352.0 3705.0,352.0 3705.0,527.0" fill="none" stroke="currentColor"/>
<text dy="1.25em" style="font-size: 0.8em; letter-spacing: 1px">
<textPath xlink:href="#arrow-95c7888bf42a479b932c0658164e8855-0-20" class="displacy-label" startOffset="50%" side="left" fill="currentColor" text-anchor="middle">attr</textPath>
</text>
<path class="displacy-arrowhead" d="M3705.0,529.0 L3713.0,517.0 3697.0,517.0" fill="currentColor"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View File

@@ -0,0 +1,136 @@
## 在本地安装 Jupyter 以及 JupyterLab-DesktopMacOS
macOS 系统自带的 Python 版本是 2.7路径path通常是 `/usr/local/bin/python`;想要使用更高版本的 Python必须自己动手安装。
## 1. 安装 Homebrew
先在 Terminal 里安装 `Homebrew`,以便将来用 `brew` 命令安装更多的软件:
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
## 2. 安装 Miniconda
随后,就去可以用 `brew` 安装 Miniconda 了,它是一个小型的 Python 管理工具。
```bash
brew install miniconda
```
安装完成之后,还要在 Terminal 执行以下命令:
```bash
conda init "$(basename "${SHELL}")"
```
这一步很重要,这个命令会更改一些必要的系统文件,以便 `conda` 能够正常使用。在我的机器上,以上的命令更改了我的 `~/.zshrc` 文件,添加了以下内容:
```bash
# conda init "$(basename "${SHELL}")"
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/homebrew/Caskroom/miniconda/base/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.sh" ]; then
. "/opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.sh"
else
export PATH="/opt/homebrew/Caskroom/miniconda/base/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
```
随后,可以检查一下当前的 `conda` 状态:
```bash
which conda
conda --version
```
## 3. 确认 Python 版本
```bash
which -a python
# 应该可以看到至少两个 Python 的位置
python --version
# 应该给出的是 Miniconda 安装的版本比如Python 3.11.5
```
在一台机器上,可以安装很多个 Python 版本,本质上来看,只不过是 “把某个版本及其相关的组件都放到同一个 ‘文件夹’(或者 ‘目录’)之下”,而后,处于该目录下的 ptyhon 解释器会调用该目录下的各种组件。
例如,`/opt/homebrew/Caskroom/miniconda/base/bin/python` 这个 python 解释器,调用的就是 `/opt/homebrew/Caskroom/miniconda/base/` 这个目录下的 Python 组件,而这个 “环境” 的名称就是 `base`,可以用 `conda activate base` 启用。
## 4. 安装 Jupyterlab Module
```bash
python -m pip install jupyterlab
```
## 5. 安装 JupyterLab-Desktop
```bash
brew install --cask jupyterlab
```
在 macOS 上由于系统权限设置Jupyterlab-Desktop 自带的命令行工具 `jlab` 需要手动安装:
```bash
sudo chmod 755 /Applications/JupyterLab.app/Contents/Resources/app/jlab
sudo ln -s /Applications/JupyterLab.app/Contents/Resources/app/jlab /usr/local/bin/jlab
```
可以选择使用 Jupyterlab-Desktop 自带的 “Bundled Python environment”不过它的 Python 版本是 3.8.17。这个 “Bundle” 中Python 解释器是 `/Users/joker/Library/jupyterlab-desktop/jlab_server/bin/python`;所有相关组件安装在 `/Users/joker/Library/jupyterlab-desktop/jlab_server/` 文件夹之内。
![](images/jld-3.8.png)
想要使用更高版本的 Python 及其环境比如Python 3.11.5,就得用我们自己在系统上使用 `conda` 安装的 Python 环境。
打开 JupyterLab-Desktop 之后,右上角会显示当前使用的 Python 环境名称,比如,最初的时候,默认是 `conda: jlab_server`…… 点击这个字符串,会跳出一个带有输入框的下拉菜单:
![](images/jld-change-env.png)
在输入框里输入我们用 `conda` 安装的 Python 路径而后按 `Enter` 键即可:
```bash
# 用以下命令获取当前系统默认 Python 的路径:
which python
# 输出是:/opt/homebrew/Caskroom/miniconda/base/bin/python
# 把 "/opt/homebrew/Caskroom/miniconda/base/bin/python" 拷贝粘贴到输入框里
```
而后我们就可以在 JupyterLab-Destop 里面使用自己选择的 Python 版本了:
![](images/jld-3.11.5.png)
有必要的话,可以在 JupyterLab-Desktop 的 `Settings > Server` 对话框里,把某个 Python 环境设置成 “默认”:
![](images/jld-default-env.png)
## 6. jlab 命令使用
在 Terminal 里,使用以下命令 “以当前路径为工作路径打开 JupyterLab Desktop”注意末尾的 `&`
```bash
jlab . &
```
如果忽略了末尾的 `&`,那么在使用 JupyterLab-Desktop 的时候Terminal 就得一直打开着。
使用以下命令 “用 JupyterLab Desktop 打开某个 `.ipynb` 文件”,比如:
```bash
jlab sample.ipynb &
```
## 7. 使用 JupyterLab-Desktop 图形界面
当然,普通用户最适应的是 “图形界面”JupyterLab-Desktop 的图形界面相对比较直观,很快就可以学会。最基础的,无非是几个最常用操作:
* `Shift+Enter`:执行某个单元格的代码;
* 连续按 `d` 两次:删除某个单元格;
* 指针拖拽:可以移动某个单元格,改变代码执行顺序;
* ……