修水壶盖

我喜欢修各种东西,用不知道什么时候攒下的"说不定什么时候能用上"的零件小修小补。

二猫很小就发现了我的这个本事,给我安排了以后的工作。她还没上幼儿园的时候,理想就是"当妈妈""生宝宝"。后来上了幼儿园,理想变成了当孤儿院院长,把自己的孩子也放那养。这时,就开始给我安排工作,任务是给孤儿院修马桶,后来还有修计算机、修下水道、安电灯什么的。我不干,说凭什么让我干这些累活,我要当院长。二猫从小是个温柔的孩子,任我怎么胡闹,她都能哄,包括拍我睡觉。面对我耍熊不想修马桶,她也着实犹豫了一会儿,说:行,你当副院长,管修马桶。

事实就这样定了下来,每次修东西,我们就提一下这个典故。
微信图片_20211208232421
从头构造太难了,看着别人系统的毛病,等自己做还不如人家。小修小补容易得多,我一直这么以为,直到前几天修水壶盖。

烧水壶的盖子有一段时间没有钮了。原来是个纯塑料的,后来慢慢松了,最后终于脱落了。

二猫妈先是用网线代替,断了。我也过网线,这种材料看着结实,其实根本不行。反复弯折几次,里面的铜丝就金属疲劳,很容易就断了。铜丝一断,绝缘层完全不能承力,一拉就折。

今天又换成了一段棉线。我看着感觉太可怜了,咱们连马桶都能修,何惧小小钮儿。你别瞧不起马桶,单单水箱,一按就出水那个,里面就有复杂的控制动力学和反馈什么的,我一直没整明白。曾经犹豫过半年以上,坏了不敢修。后来,随便买了个配件,发现与反馈控制什么的都不相关,与原有系统解耦的,一拧上就好使了。拖了那么久,维修花了十分钟不到。所以,换掉棉线应该也不难。
微信图片_20211208232426
去装修/五金店,花3元钱买了个钮。我揣着壶盖去的,钮拿在手里还比了比。似乎哪里不对,但是又说不上来。应该……都……能对付过去吧。

钮的螺丝太粗,用电钻给壶盖扩孔。后来想到应该去用金刚锉才对,还是脑袋不开窍,应该先钻下头。扩孔得有半个小时?反正耳朵吱吱响了,金属屑偶尔出来一点。我担心金属屑太少,那得钻到啥时候,又担心飞出来太猛扎眼睛里去————太懒,没有带护目镜在身边。事故都是怎么出的?我一边心里嘟囔一边扩孔,这要是叭一下把眼睛扎了,下半辈子就有教训了。嗯,没扎,继续。

好不容易孔才够大了,螺丝能勉强进去个头儿。拧,推。攻!不怎么进呐。

旁边二猫妈幽幽地说了一句,"304"。我这头电钻吱吱响呢,心想,什么密码,还芝麻开门呢。突然想到,我刚刚好像看到壶盖上也有这么个数字,我以为是序列号呢,既然二猫妈知道,那应该! 不是钢的型号吧。Leatherman之类的刀具都要宣称自己用粉末钢,也是数字标号的。我喊,"什么304?"二猫妈说,"食品级的,304钢,就是这个壶啊。"

怪不得这么硬,电钻不行,螺丝也攻不进。看壶盖表面的哑光,我一直以为是铝的呢。原来是钢。食品级钢,也是钢硬。
微信图片_20211208232424
然而箭在弦上,不得不发,说是迟那时快,已经攻进去了。又发现螺丝太短,加上壶盖过孔那里的外圈刚好有个凹陷,比钮儿略小,刚好卡住,螺丝够不到钮里的螺纹。

就差一毫米不到。已然如此,如果放弃,前面就都是沉没成本啊,继续。

各种鼓捣,再次证明明304钢不是盖的,不仅硬,而且韧。全力压上,变形也太小,螺丝还差,也许四分之一毫米?
微信图片_20211208232416
暴力出奇迹!

用钳子把壶盖顶上的圆形凹陷砸平一点,一些,一片儿。终于螺丝扎进了螺纹,拧。好,固定住了。再拧,掉了。再拧,又掉了,没有阻力呢。发现螺丝秃扣了。这就是刚才一顿攻的结果,杀敌三千,自杀八百,攻出了孔径足够,顶端的螺纹也平了。

又几经尝试,感觉再砸下去,壶盖可能会裂啊。在螺丝上缠几层洗脸巾垫着,螺丝进入钮里的螺纹。使劲拧,轻轻地使劲,稳妥了。

花了半个下午。值得啊,我不仅能修马桶、计算机、下水道、电灯,还能修烧水壶的盖。回想起小时候用煤火把水壶烧得快掉底了,也没有挨揍,我不由想大笑三声。

二猫妈和我端详着壶和盖和钮,都觉得比以前更高大上了呢。
微信图片_20211208232429
第二天晚上,我要烧水,拔下盖子。声音很好,手感也不错。但是有哪点不对呢。发现壶盖里面有点绿,还有点黑。我擦擦,掉了。这是什么,锈么?我看看水里,也有些许黑色的沉淀。

电光火石一般,我导师的形象和声音就在我的眼前,"杨儿啊,这是原电池反应。"

二猫妈说,"怪不得我今天喝着水里一股怪味。"

壶盖是钢的,也就是铁,螺丝和螺纹是铜的。铁和铜在水蒸汽作用下,还有热水泡在洗脸巾的纤维里,发生了化学反应。铁更活泼,是负极,铜是正极。所以在铜生锈的同时,铁还原出了铜单质,绿的黑的一块一片的,水成了二价铁溶液,所以有味儿。

网线为什么就没事儿呢?因为有绝缘层。绝缘层比铜丝断得晚,绝缘层断的时候,网线就退役了,还没来得及生锈。
微信图片_20211208232419
拆下带有铜螺丝的钮,难度倒是不大,侮辱性不低。又换上了一段线儿暂时顶替壶钮,原来那段宝线找不到了,新的线虽不如意,总比喝铁水强。

接下来,可怎么办呢。

我为什么坚持打卡

为了记录。

能超过自己就很好;即使不能超过只要保持也很好;即使不能保持,偶尔退步还能恢复也很好;有时候冒进受伤了不重也是好的,都是前进中的历程。

baicizhan
为了希望。

星河先生说,“我们做的每一次努力,都在改变这个世界。”如果万一我们活过了八十岁,会不会想,如果那个时候再坚持一下多好。当初的理想,哪怕只再多坚持一天,这一天哪怕只做一点点,就还在继续。
shanbei
为了激励。

让我们知道彼此还在,努力不孤独。这样当某位同学在夜深人静怀疑自己是唯一的一个还在坚持的神经病的时候,会知道,他并不孤独,至少还有另一个神经病也在。《暗杀》里说,我们为什么要努力,不是因为我们相信会胜利,而是需要让人们知道仍然有人没有放弃。
keep
苟且如犬儒,这算是沉默里的些微声响。

海洋的面积到底有多大

二猫的寒假作业包括阅读经典名著,可把她乐坏了。平时经常被吼“干什么呐,还不去学习”时把《三国志》《人类群星闪耀》时放下,或者委屈巴巴“我背单词算学习吧,没玩手机”。放下书单,抓起来一本躲到了床后面。被吼“看的什么书?”,床后面伸出来一本《海底两万里》,在书单上。

“这是作业,不用偷着看。”

“……习惯了。”

《海底两万里》,著名科幻作家凡尔纳的代表作之一。作者是法国人,作业是语文科目的,可见,语文不仅是当代汉语。

1.凡尔纳怎么说的,我怎么计算的

特别喜欢凡尔纳的《神秘岛》,与这本和《格兰特船长的儿女》是三部曲。忘了是我也拿来随手翻两页,还是二猫指给我看,《海底两万里》的黑潮一章提到了海洋的面积。正是为父显摆的时候,我说,”这个即使记不住也没关系,可以算的。你看就这样。”

卡卡一顿算,得到一大堆数字。我讲原理的时候,二猫频频点头。我讲完了,二猫说,”爸爸,你算的不对啊。“

”有误差是正常的,差不了多少。“我正想接着说,”数量级没错就行“,犹豫数量级这个概念是不是先定义一下更好。二猫说,”位数都不一样,差好几位呢。“

众所周知,我的算术够差,甚至查数也经常错。如果不是小学以后增加了其他科目,能不能考上大学都令人怀疑。差到这种程度。但是,我刚才是用笔算的呢。赶紧核对一遍计算过程,是这样的。

image1

原理是这样。

①地球的表面积可以由 公式s=π*d*d求得;

②海洋占地球表面积71%;

③求地球的直径。已知毛泽东诗词有“坐地日行八万里”,这是赤道的周长,符合公式π*D,这样可以求得d为 4*10^4km/π.

把③求出的D的值代入①,然后再把s乘上71%,得到海洋的面积s’为 3.62*10^8平方公里,就是3亿多。

“没错啊。”我把书拿过来,”我看凡尔纳怎么写的。”

image2我计算的结果是3亿多,凡尔纳给的数据是300多亿。果然是位数都不一样。

凡尔纳啊,怎么可能会错。我再三检查,我也没错。

突然想到,是印刷错误吧。“人民文学出版社的,质量最好。”二猫妈说。

我陷入了沉思。

对了,我查下英文版什么样。虽然凡尔纳是法国作家,不过,他的作品发行量,也许英语更多。有全世界这么多人检查,正确率更高吧。

微信读书APP里就有《海底两万里》的英文版,这大大降低了我的工作量。是这样的。

image3myriameters,这是什么鬼,不,这是什么米?看起来不像千米。

查字典,myriameter是 万米。那么,square myriameter就是 平方万米 了。

3,832,558这么一大堆数字,这是多少平方万米呢。算一下。

image4数量级对上了,3亿多平方公里。人民文学出版社会错,凡尔纳怎么会错。

2.其他版本怎么说的

《海底两万里》脍炙人口,特别作者去世多少多少年以后进入公版,本着小孩的钱好赚的原则,国内应该有不少版本吧。

又是微信读书APP大大降低了我的工作量,各个版本是这样的。

有的认为,是3千多万平方公里。

image5有的认为是3百多亿,支持人民文学。

image6

有站队3亿多的,跟我看法一样。

image7

还有200多万的,这是敲错数字了吧,还是从英里、法里、海里、古海里换算过来的?

image8

300多万的。

image9

3亿多的另一个版本。

image10

这个版本认为是300多万,但是……

image11

作者或者编辑应该是严谨的人,觉得科幻作品需要有科学性,怎么能跟查到的数据不一样呢所以加了注。在各个版本中,这是我最佩服的一个。作者甚至可能想到了会自暴其短吧,但是他更不能容忍对真理采取对付的态度,“不就是一大堆数字么,差不多得了。”那样,就失去阅读科幻的本意了吧。

image12

3.朋友圈怎么说的,查资料

我把这个发现贴在朋友圈里,大家反应不一。

有人贴出来搜索到的数据,支持我的结论。但是,各个版本不同的数据,也都是能搜索到的啊。必应就对,百度就对,还是访问不到的google就对?我第一反应是维基百科,但是没访问到,超时了。

我们经常会这样说吧“下面几个,我觉得是权威的”,或者谦虚地加一句“我的个人观点哈”。讨论问题不是闲聊天唠嗑呢。你说个人观点啥意思,不用负责是不是,那还在这浪费啥时间啊。以下,是我个人觉得权威的。

bing搜索到的。360百万,就是3.6亿。

image13

下面是个宝贝工具,还能访问到,直接问它就行。3.4亿。

image14下面这个也是bing搜索到的,看,又是3亿多。“又是”,咱们是要投票决定真理,多数通

过,少数服从多数么?

image15

4.朋友圈怎么说的,自洽

科学不能证伪,但是,(1)缺乏内部一致性的,或者(2)与已知的客观事实相违背的,肯定是错的。

按此原则,朋友圈又说了。

我列举诸多版本,提问如下。

根据阅读材料选择,地球海洋的大致面积为___平方公里。
A.300亿
B.3亿
C.200亿
D.3000万

RXL老师说,“中国面积是960,海洋面积达不到中国面积的2000倍,所以只能是B”。

各种结论,都不应该与已知确认正确的事实(经常是众所周知的)相矛盾。比如中国面积,比如赤道的直径。

由已知事实,或者要验证的断言,我们多推理几步。如果尚无矛盾,那么,我们就暂时相信,这是真的。并且,永远保留一颗赤子之心,它仍然可能是错的,任何指责都有助于我们再次确认或者断然弃置原有的观点。罗素说,我不会为信仰而死,因为我可能是错的。

开放讨论,尽可能多的事实,独立思考。

测核酸记

出差到北京市朝阳区,出发之前就知道需要备案。和去别的地方不一样,要单独填个表,因为这个区的一座楼现在是疫情中风险。该楼到我出差的地方距离半小时车程,相当于东北师大本部到净月这么远,地铁应该1小时,徒步2小时多点,估计10公里。等我出差结束返程的时候,说是又有一台笔记本检测出阳性,该笔记本距离我26元车程。
微信图片_20201227174357
按当前政策,除了备案,不受任何限制。我出差的地方,要求进去一次就不许出去,只能在里面待着。交通中全程口罩防护,嘴唇都木了。但是担心别人害怕,也担心万一政策或疫情变化,影响接触到的同事同学,所以谁也没见,先测核酸。

去医院往返车程1小时,各种程序一个半小时以上,gelou嗓子一秒钟。

t3车去白医大,调头花费4个红灯。但是已经在左转线上了,只能等。为什么用网约车呢,也犹豫考虑过了。公交转地铁也是个方案,接触的人更多一些。徒步需要单程1个半小时,往返超过3小时,零下20度,负重5千克。考虑到我根本不是被要求测的,而是自己乐意,离疫区还大老远呢,决定网约车,接触人少,而且比公交地铁更容易留下痕迹。
微信图片_20201227174337
之前二猫妈查的,方便门诊。那时才知道"方便门诊"是个术语,想来应该很方便。说是在大厅机器挂号。大厅里最显眼的机器是个机器人,蹲在柱子墙角。我问方便门诊在哪,他说,在门诊楼三楼。机器人矮,我眼神不好,得给他鞠躬将近九十度才能看到,屏幕上把楼群里的门诊楼标出来了,没有显示我的当前位置。回想了一番,我的脚下就是门诊楼。上下楼几次以后搞清楚了,从大街一进来那里就是三楼,有牌子标注"3F"。

但是方便门诊挂号的机器不是这位机器人,是往右走,往里走,两台一人多高,两臂展开那么大的屏幕。我到的时候,有几位正在那里琢磨,一位老太太刚败下阵来,嘟嘟囔囔。听了她的话,我这才注意到,人工导诊全都取消了,挂号交费都在这里。不远的地方,挂号窗口里的工作人员不停地说,"不在这儿办,办不了,去机器那儿。"

大屏幕上的确认按钮上面是个旋转的标志,表示正在工作。按哪儿哪就这样。大家都说是坏了,我看到左上角有个风格不同的对话框,是windows操作系统非法操作那种,就说让我试试。我把非法操作的提示关了,露出桌面,像是powerbuilder,又像是delphi,看哪个图标像,一顿点击,弹出来串口调试界面什么的,挂号界面也出来了。按提示操作,插医保卡,说是卡坏了。我重插,刚才那位老太太说,应该插在左边。我心想你净瞎整,自己都没整明白呢,左边不是写着身份证么,应该是右边。不过,听人劝,还是试试,好使了。根据标志不一样,就是插在左边。

挂号结束,屏幕一闪告诉我去哪里,没看清,程序又死了。下一个人看我,我说别急,替他把界面再调出来。但是我去哪儿找医生呢,拿着挂号单,跑上跑下几次,眯着眼睛凑近遍历各种牌子,终于找到。
微信图片_20201227174354
队伍很长,一个贴一个,后面的人站在你的旁边。又过来一位大妈,拍着我的胳膊和肩膀说,我刚才就站在他的后面,又拍两下。如果躲,我就得挤前面的人,算了,拍吧。

队伍扭扭曲曲,很长时间不动,不知道前面发生了什么。后来开始动,一下子走出很远。

快到窗口了,有位大姐说脚骨折了,不能久站,要插队。我说你得问问我后面的让不。后面的说行,她就站我前面了。我想说,你得把后面这些位全问了才行啊,想想还是算了。骨折的大姐对医生说想多开几剂,太麻烦了,把脚上裹着石膏举到我胸口那么高,给窗口里看。好腿力。医生说,不行,库存是零。后面有人喊,不行赶紧走,别耽误后面的人。

到我了,说省医保今天不能用,网断了。我说我自费,医生在窗口后面得使劲喊,我才能隐约听到,去办解挂。去哪解挂?往左边一指。

我往左边走,解挂,改成用身份证挂号。在机器那儿不如就用身份证了,但是没有提示,谁知道今天省医保不能用啊。

回到医生那儿,有位大爷听不清省医保不能用,医生喊,你们谁给他说说。大爷摘了口罩问,大家摘了口罩一顿喊着解释。我想替他把钱交了,问多少钱。医生大声呵斥赶紧的赶紧的,大爷被一大帮人拉到旁边去讲了。我说解挂完了,可以测了么。医生说,交钱交钱,往左一指。

去左边,交钱。幸亏我带了现金,居然还有找零。这回可以去测了,在室外。又上下几次楼,每层楼再往旁边宽度遍历,找到了出口。工作人员喊,排队排队。大家都排着队呢,今天我只见到骨折大姐一人加塞,还是好声好气跟别人央求的。要排到指定的位置,有个像银行那种高档场所的小立柱,上面挂着蓝色的带子,沿着带子排队。

验身份证,问出生年月日。我前面的那位被告知,摘口罩。我挺奇怪,为什么在这儿就要摘呢。被告知的大哥听话地摘了口罩站了一会儿,拿到单子去小屋测了。到我,没让我摘口罩。我就说么,到测的时候摘也来得及啊。
微信图片_20201227174350
一排小门,进亮绿灯的那个。我坐医生对面,我俩之间是玻璃,玻璃就为了挡住直接喷射吧,左右两边是开放的。问姓名,问年龄,我答了姓名,把年龄说成了出生年月日,也行。说"啊",棉签gelou嗓子至多一秒钟吧,结束。

外面写着测的结果去东面机器上打印,6~8小时后可取。东面的棚子正施工呢,切割机火花四溅,电焊嗞嗞。很难相信6~8小时后这地方就能用了。问,说是可以微信查询,显示目前我没有门诊记录,也许6~8小时后就有了。

再t3网约车。我忘了来的时候等了4个红灯,不然的话走几步路好了。网约车在我对面的马路上趴了4个灯,转过来接上我。花了一整个上午,一秒钟完事。

下午,距离检查4个小时左右,在微信上看到了检查结果,阴性。

微信图片_20201227174352

精听新概念,持续12年的作业

精听新概念,持续12年的作业

这是2007年老师布置的作业,到最近终于完成了,历时12年。以下是总结。

1. 出国英语培训班,精听新概念

2007年秋开始,为去芬兰访学我参加出国英语培训班。当时的课程有听力、口语、阅读、写作,就是听说读写吧,对我最难的就是听力。并且听力差还影响口语,能说,但是不知道对方说啥,也没法接话。

听力老师留了作业,要求每天听写新概念2。我非常狂妄,问,"老师,我以前看过新概念,会不会因为熟悉而影响训练效果?"受新东方影响,就是那个老外哭着说居然是中国人把新概念全背了那个故事。受此蛊惑我确实全读过一轮。老师说,"试试吧。"我自信满满,觉得这任务简单啊。

老师的要求是听三遍,第一遍粗听意思,第二遍开始写,第三遍纠正个别字词。每篇新概念播放一遍大约2分钟多点,我完成每篇需要1个小时有余。这才知道,我怀疑任务太简单去找老师的时候,老师应该是憋着笑答复我吧。

需要反复听,反复猜,才能写出个大概。区区三遍,不可能完成任务。这就类似于讲引体向上的贴子,告诉你做10个,然后停30秒,再做10个,再停30秒。依此类推,就这样练。问题是! 对你来讲,这是不可能的。通常我们就怀疑方法不对、态度不虔诚,其实不过是基础不够而已。

每天1小时,进行到学期中,老师说: 你们来不及了,从后面开始听吧,我们又听了大约后四分之一。

还有各种其他任务,最艰难的时候,每天睡3个小时,从3点至6点,白天就靠浓咖啡顶住。

有的同学此刻可能会说,每天不过一小时而已,有那么夸张么?问题是,你每天的时候不是24小时,而是大约8小时,更坚忍一些10小时。1小时就是十分之一的工作量。努力到极限,就是不能更努力。我可以闭气三分钟,也挺牛的,但是再坚持10秒这么短的时间,我可能就死了。

直到学期结束,考试通过,我也没有完成新概念精听这个作业。在芬兰的时候,我听 Bedtime Reading,听 The Making of a Nation,试着不带字幕看电影看BBC,但是唯独不敢重启新概念作业。太难了,印象深刻。
微信图片_20200808003939
2. 背诵新概念

2012年1月27日,距离新概念作业四五年矣。我开始"22遍法"新概念。每天,当天的这篇课文读10遍,约7分钟; 两篇旧课文也各5遍,需要时间约15分钟。

那天我的估算: 考虑到后面的课文不熟悉并且更长,半小时应该能够完成。没有听英文原文朗读也没有模仿,也许下一轮吧。这一轮强调熟练。

每篇课文持续4天,10+5+5,再补2轮,完成22遍法的要求。比如某一天的日志是这样的:

-------引用开始------------------------
***** 历史记录
| 25 | 12345 6789A | 12345 | 12345 |    12 |
| 26 | 12345 6789A | 12345 | 12345 |    12 |
***** 进行中
CLOCK: [2012-03-25 Sun 23:01]--[2012-03-25 Sun 23:34] =>  0:33
| 27 | 12345 6789A | 12345 | 12345 |    |
| 28 | 12345 6789A | 12345 |       |    |
| 29 | 12345 6789A |       |       |    |
-------引用结束------------------------

这一天当前进度是,第25课、第26课完成了22遍,第27课完成了20遍,第28课完成了15遍,第29课完成了10遍。

当天的任务,是第29课10遍 (第2列) ,第28课5遍 (第3列) ,第27课5遍 (第4列),第26课2遍 (最后一列)。

这个任务断断续续,走走停停。2013年7月29日至2014年1月2日,后来暂停。此时完在了65课。4月又开始。6月又开始。2016年10月9日,开始精听新概念3。2016年12月22日,2017年6月27日,开始背新概念3。

不少同学可能都有此痛苦,失败啊,又停了。有个秘诀伴我坚持,如果没有这个秘诀,那会因为失败感更痛苦很多。这个秘诀就是:

假装没有断掉,接下来不是重新开始,而是继续。

人生艰难,哪有那么多事你都能坚持下来,都那么成功。每天半小时,你有几个半小时可供自由支配啊。
微信图片_20200808003959
22遍中,有不少遍是非常碎片的情况下完成的,徒步上班的路上、坐公交车的时候、开会无聊的时候。我眼光直勾勾的,心里默颂佛经一样背新概念。

头几遍总是痛苦的,需要集中注意力,需要理解。这时,你就可以非常缓慢的背诵了,靠的是语法、逻辑、因果、中心句。然后,一小段一小段练。可以出门以前熟记这一句,半小时徒步就只练这一句。不是理解,而是以熟练为目的。接下来是单练小节间的过渡。后来,越来越快,简直不需要大脑,烧脑歌一样顺嘴就能出来。我们常常容易认同理解/分析是至关重要的,事实上,从理解再到流畅,也是非常艰难的。这种方法来自张仲权的《基础钢琴练习法》,用来背课文也不错。

后来我的日志模糊了。最终,应该是完成了新概念2全部,新概念3的一半左右。不过,背完新概念2,也算不上完成了作业。作业要求的是精听,我听个开头能溜下来,不符合要求。更何况,后来老师还要求了新概念3精听,只是我完全跟不上了。

3. Aboboo精听

在知乎上看到的介绍,也许是广告,有个软件Aboboo可以用来练习精听。此前我在用扇贝精听,听完了所有的单句,现在每天五句TPO。扇贝的泛听里有新概念,mp3也容易找到。配文字、切分成句子的APP也用过,背诵的时候用的就是。但是这些都不是精听,不符合作业的原始要求。

有同学可能说,为什么这么执着于原始要求呢,说不定能力已经达到了。这种看法基本是自我安慰和逃避。如果能力已经达到了,那么一定非常流畅极其简单地就完成了精听,有什么可担心的。我们担心的不过就是没那个能力,又不想直面事实。

Aboboo支持精听,一句句听,一句句写。可以做到写对为止。

从2019年11月11日开始,我每天精听一课新概念3、精听一课新概念2。2个月过去了,到2020年2月11日的时候,新概念3结束了,我继续新概念2,每天2课多。又1个月过去了,新概念2也结束。此时,我完成了12年前的作业,精听新概念2和新概念3。各一遍。

新概念3,每篇需要30分钟左右。新概念2每篇15分钟以上,20分钟以内。12年前每篇新概念2需要1小时,现在确实进步了,背诵过可能也有帮助。

我怕基础不牢固。2020年3月15日开始,新概念2每篇精听3遍,每天3课。每天3课,意味着需要1小时左右,工作量相当沉重。还是那句话,你一天有几个一小时。每日必做,还有很多别的任务呢。
精听 新概念 重要里程碑
这样坚持了2个月,2020年5月13日,改成每天2课,每6天前进4课。某一天的日志是这样的。

-------引用开始------------------------
第0课 =  NCE2 66
| 第1日 | 第1课 | 第2课 |       |       |
NCE2 67 自由听写 第1次
地名人名拼写
Harrun -> Haroun
kevo -> Kivu
Cango -> Congo

NCE2 68 自由听写 第1次
人名拼写
Nigal Dikes-> Nigel Dykes

#打卡# 完成率115% / 听了10分钟 / 写了16分钟 / 第234天学习。

23'34''
| 第2日 | 第1课 |       | 第3课 |       |
| 第3日 | 第1课 |       |       | 第4课 |
| 第4日 |       | 第2课 | 第3课 |       |
| 第5日 |       | 第2课 |       | 第4课 |
| 第6日 |       |       | 第3课 | 第4课 |
-------引用结束------------------------l

这是6天周期的第1天,当天精听的是第67课和第68课,花费了23分钟34秒。为什么人名地名也要记录呢,因为设想一个老外跟你讲件事,说哪个城市来着,没记住名字,这咋讨论呢。至少得说成"就是那本书,红色的大楼……石头……梦"这样,才能继续交流,不然人家知道你说的是啥。

以每6个4课的节奏,又过了2个月。到2020年7月12日,新概念2第二刷、三刷、四刷完成了。

接着我精听了一段时间新概念3,每课3遍,到第7课,改为泛听,每天三四篇。
微信图片_20200808003951
4. FAQ

每当投入时间,不少同学就会有疑问。

- 你进步了么?

当然进步了,从1小时才能完成得糊巴烂啃的,到20分钟以内一定能完成,错误不多。这是进步,虽然进步不完全来源于背诵和精听。12年进步这些确实不多,但是总比停止不前要好。

- 花这么多时间值得么?

效果和投入,特别是对于长期的进修,很难直接测量出是不是合算。对于未来的影响,我们此刻又怎么能知道。至少有一点是值得的,就是这也是一种集中注意力的"正念"的方法。精听的日志中有明确记录,有几次我精听长达三四个小时。因为愤怒抑郁无所置手足,我选择藏身于精听之中,脱出来仍然愤怒,那就再回去。终于精疲力竭,好了就这样吧。

- 换个方法,是不是可能效果更好,并且花的时间更少?

可能啊,什么方法呢?犹豫、选择方法,后来,我们可能更倾向于还是等找到好方法再说吧。僧富者不能至而贫者至焉。这样的课文我们都背过,不过正如科幻作家星河先生在水木清华笑骂一众网友时说的,"你们并没有相信你们自己说的话宣的誓吧,我可是信得很"(原文不记得了,大意如此)。天下哪有那么多优秀的方法,能解决问题的就是足够好的方法,是有人花钱雇佣我们来评价方法的优劣么?

- 其实某某方法可能更好啊,还有啥啥也得练啊

我可能也用了别的某某方法,不过这一篇就只讨论新概念。

有人提醒过我,得阅读,得背单词,还得口语对话。这些我基本没听,或者说,依然故我按自己既定的计划推进。反正也不急着考试。阅读当然要做,平时的阅读量英语也不见得比汉语少很多。单词当然要背,不然词汇量实在汗颜。口语,一直没整,没有聊天对象,也不想和外国人交朋友,特别不希望以练口语为目的骗老外我是想和你做朋友呢。事实上,精确地交流很难,即使在汉语环境下,想精确地交流,对象也难找。如果模糊地,可以多次反复交互的交流,如果你能听懂对方,表达从来不是问题,老外四声不分,东北人平翘舌没有的,扶兰胡建也都能听懂,恳求对方宽容一些就是了,大多不影响理解。
微信图片_20200808003954
- 你达到什么程度了呢?

说实话,没有多好。又不考试,怎么判定呢?

- 早知道达不到更好的程度,是不是你就不开始,或者中途放弃了呢

当年读过一个段子。一个人问,如果现在考研,再过三年毕业我都三十了,岁数太大了,我是不是不应该考研啊。一个人答,你即使不考研,再过三年也会三十。

事实上,我一本本书看下来,一道道习题和实验做下来,一篇篇新概念背下来,没、有、哪、一、次 让我满意。一次也没有。就像电影里一样,我仍然总是幼稚地觉得,干完这一票,我就厉害了。对每本书、每个知识点、每篇课文,我都寄予了这么大的希望。从来,从来也没有实现过。看完一本书,习题做了实验跑了,课文件背了,我还是那么差劲,至少比想像得差劲很多。

是啊,一直这么差劲,学完了也是。可是,不然呢,就这么地不学了?如果不努力一下,你连自己不行都不知道。

微信图片_20200808003957

umask,补码,ASCII码:稍微深入考虑一点

1. umask

豆瓣网友指出,微信读书有个好处,就是能看到别人的标注和笔记,别人也能看到自己的。kindle也能共享,但是远没有微信方便和活跃。我就偷偷看别人的笔记,比如大家读古龙时候的感叹。有时猜测,这位读者是个孩子,那位读者觉得自己不是孩子了。有时自己也感叹,哇,当年没有读懂,或者当年肯定读不懂。有时还参与两句。

也看娄嘉鹏老师的技术笔记,他的很多阅读不是为了学习,而是考虑在教学中如何清晰讲解,比如下面这条就挺有意思。

娄老师标注的是文字原文是这样的,"特别强调一下,网络上有很多关于计算umask遮罩后权限值的讲解,比较主流但是错误的讲解方式是使用“同位相减”的做法来计算遮罩后的值"。

"特别强调一下",WJY同学表达过,这是相当有脾气的说法。作者的意思是"就这你还不明白?我还得再说一遍。"对这句话,教师当慎言。
umask_and_privilegeumask_and_privilege
(1)

后面作者提到了错误的看法,还举了例子。用 权限666 减去 掩码011,同位相减得到权限值 655。这个结果是错的,正确的权限值是 666。

为啥正确呢,不知道。作者没有给出正确的算法。教学中教师通常容易犯的错误是只把正确的说了,但是(既不说原理,也)不说哪些是错的。比如深蹲时双脚就像旋入地面,原理是绷紧下肢提高对膝盖的控制,尤其是最低端,对应的错误是大腿 (内侧?) 放松。教练就说,旋进地面啊,拳要打进去,站直,你怎么连什么是站直也不会,不是超伸。好,终于说到了什么是不对的。

正确的权限值是 666,这可以通过实验验证,但是原理还是不清楚。

作者说,权限666 和 掩码011 间的运算,当作按位减是不对的,那么什么是对的呢?对这个算法的描述,作者用的动词是"遮罩掉"。遮罩就是掩码mask。但是,"遮罩掉"是个什么操作,难度不 (显然) 是按位减么?作者定义了个名词,但是没有解释。

上网搜索一下,比如[https://www.cnblogs.com/wish123/p/7073114.html]在《Linux中设置UMASK值》这篇博客用的动词是,从最大权限777中"去掉"umask值。

遮罩掉、去掉,有同学说,不是挺明白的么?

(2)

什么是明白?就是能编程序实现。C语言里有定义遮罩掉、去掉这两个函数或操作符么。你是不是又想做按位减法了。

对了,娄老师标记这段话时,是怎么评论的呢?他说,"一般与掩码与,umask取反与"。我最初没看明白,但是娄老师这句话显然比作者更靠谱,至少 与、取反这样的术语,比"遮罩掉、去掉"更接近机器的语言。在靠谱这个意义上,不说遮罩掉、去掉这样的人话,更像是做人事。

我没问娄老师到底啥意思,又不急着知道,觉得自己想想挺好玩的。

事实上,我能体会到 遮罩掉、去掉 的含义,也就是说,我可以枚举/穷举出所有的结果,而且这本书里有例子可以验证。于是我打了个表格,以下第一列p代表 privilege权限,第二列是umask,第三列是求出的结果。

|P | umask | r |
|0 |  0    | 0 |
|0 |  1    | 0 |
|1 |  0    | 1 |
|1 |  1    | 0 |

看第2行即010,确实不是按位减。这一位,也就是作者举的 666 去掉 011 以后 得 666,而不是 655,6或5转换成二进制为110和101的最后一bit。
    110
?   001
-------
    110

有个这个表格,我们可以写一大堆if-else……了。

(3)

不优雅啊,我估计RH和GYB同学会这么说。

离散数学课和数字电路课上,我们学过把真值表转换成逻辑表达式。过程略过,结果是

 r = p & !umask

这说我想起了娄老师说的话,"umask取反与",umask取反,然后与p。
微信图片_20200729010927
2. 补码

什么时候用补码?负整数在计算机中用补码表示。

为什么需要补码?通过补码,CPU可以使用加法器做减法计算。

怎么算补码?反码加1。

为什么?

那些天同时在看这本书,[https://book.douban.com/subject/25882201/],From Mathematics to Generic Programming。看到补码运算的时候写了一段笔记,简单解释补码计算的原理。

(1)补码

补码是什么?

补码 = 模 - 数 ..................公式1

模是什么?模是进制的大小。钟表12进制,模就是12。人类用10进制,模是10。

模12的例子:

(-3) = 12 - 3 = 9   ;9点是差3个小时12点

(-2) = 12 - 2 = 10  ;10点是差2个小时12点

模10的例子:

-2 = 10 - 2 = 8


模8的例子:

-2 = 8 - 2 = 6

对上述例子中的最后一个,模8中的-2,我们验证一下。

二进制下2取反+1,

(010)-> 取反 -> (101) -> +1 -> (110)

-2   ->->->->->->->->->->->->->   6

(2)取反

取反操作 <=> (模-1)-数    ............公式2

这是因为 数+反 = 模-1

看两个例子

  001
+ 110
------
  111

  010
+ 101
------
  111

(3)推导

取反     <=> (模-1) - 数         ..........根据公式2
取反 + 1 <=> (模-1) - 数 + 1     ..........左右都加1
取反 + 1 <=>  模    - 数         .......... -1+1 => 0
取反 + 1 <=>  补码               .......... 公式1

所以"取反+1"就是补码。
微信图片_20200729010930

(4)原理

基于的原理是 : 模 就是 0。

12点就是0点,毕十10就是零蛋。限制位数,0x100,就是 0x00。

更深层的原理是因为 : 求余,求模。

这就是为什么求余运算的名字是求模的原因吧。

(5)编码举例

除去符号位 (假设模8) ,以下每行的两个数字编码相同。

| +0 | -0 |
| 1  | -7 |
| 2  | -6 |
| 3  | -5 |
| 4  | -4 |
| 5  | -3 |
| 6  | -2 |
| 7  | -1 |

每行的两个数字,它们绝对值的和是8,即模。

举例,-7的补码是

  原码        111,

  按位取反得到 000,

  加1得到     001.
  
刚好与同一行的 1 的原码 001 相同。

我们还能注意,负数里面还有个 -0。
微信图片_20200729010933
3. ASCII

这段非常短,就是想回答下不少同学可能有过的疑惑,ASCII里为什么 A是65,a是97,这么有零有整的。不怎么好记啊。

因为,如果你不看两列的ASCII码表,而是找一下16行16列的ASCII码表就会发现,或者按十六进制就会发现,就像1024是整数,'A'和'a'都是整数。

A 是 0x41,即4*16+1 = 65;

a 是 0x61,即6*16+1 = 97。

还有'0',是0x30,即 48。
ascii
为什么ASCII要在大写、小写、数字之间加些乱七八糟的字符,逗号、冒号、方括号,还不把这些符号连续地放在一起。正是为了填充,让A、a、0在整数开头吧。


工程师基本素养

幻灯片01各位同学大家好。

本节课程是 东北师范大学 信息科学与技术学院 计算机系 系列课程的一部分。这个系列课程名为 新技术讲座。本节的内容是工程师基本素养。

我是计算机系教师杨贵福。

幻灯片02

本节课将从以下三个方面展开,1.工程师的责任,2.工程师的价值观,3.工程师的方法。

幻灯片03

第一部分是 工程师的责任。

工程师是一种职业,理工科学生毕业后,不少人在企业、高校、研究所中要沿工程师的职称序列成长。根据经验、能力、贡献,有时根据年资,先是初级工程师,后来工程师、高级工程师。

幻灯片04

不同的自然科学学科在生产实践中应用,工程师也相应地分布在许多不同的行业中,土木工程、电力工程、电子工程、化学工程。计算机科学也创造了很多工程师岗位,硬件、嵌入式系统、软件工程、数据分析工程……很多。

这些工程师既有学科的特色,互有差别,同时也有很多共同点。正如软件工程首先是工程,其次具有软件的特色。我们来看一般的普遍的工程师责任,也正是这种责任决定了工程师不同于其他行业的价值观和方法。

幻灯片05

工程师所制造的是产品,每个产品是一个系统,为系统以外的用户提供服务。在软件工程中,我们把系统的边界以外的用户称为角色,服务大致视为特定场景中的功能,称为用例 use case。用例相关的技术手段非常丰富,在UML和RUP中都是重要的线索。

这里还有个特别关键的因素,如此关键,以至于在大多数系统中都不把这个元素画出来。就是边界。

边界以规定哪些*不是*我需要关心的,这样的方式来规定出哪些是我的责任。

工程师不关心why。地球为什么围绕太阳转,为什么月球总是以相同的一面对着我们,为什么mp3和jpeg有损压缩以后人类几乎感觉不到效果变差。完成这些工作的责任在科学家的肩上。虽然对于科学原理的讨论,甚至更深入的道德和哲学的讨论,工程师作为个体也会参与,但是这些并不直接地影响工程项目的实施准则。工程师所依据的准则,那些为什么,是既定的先验的。工程上不允许任意探险,作为客户,我们希望的是工程师完成任务,采用确定有效的方法,在确定的期限内,达到确定的效果。

工程师也不关心感受美,那是艺术家的事。

也不关心公众是否理解工程项目所依据的原理,这是科普的事,从另一个角度说,客户关心的只是效果,不是原理。

黑客很酷,但窥探不是工程师的责任。避免客户被窥探,防止系统漏洞损害用户的利益,这是工程师关心的。

游戏很好玩。工程师是制造这些好玩的东西的人,玩这件事本身,不是工作责任的一部分,没有人为你玩游戏付钱。你快乐没人付你钱,让别人打游戏快乐,才有人付钱。

工程师也会做实验确认产品和项目中的一些事实,但是对于这些以外事实的确认,增加人类知识库的事实,不是工程师关心的。

幻灯片06

工程师手里的武器是 自然的法则,是科学家所发现的why,以及人类共同知识库中的定理、断言、谓词。

工程师的目的是帮助他人,解决客户的问题。通过为客户解决问题而为社会做出贡献,这也是工程师取得收入、安身立命的来源。客户为什么需要我们,因为有些问题客户无法解决,我们能够解决,客户已经能解决的,我们能解决得更好。花钱更少,速度更快,更少人力,质量更高。

通过什么方法帮助他人呢。产品。这些产品是工程项目,是工具。制造某种工具,或者使用现有的工具,用成熟的原理,巧妙地组合,为用户解决问题。用这样的方法帮助他人。

所以,工程师的责任是提供服务。客户有需求,我们有自然法则这样的知识。怎么服务呢,不是通过教授用户这些知识,那是教师的责任,而是通过制造工具,用工具自动地,工程师不在现场的时候,科学家不在现场,用户不必掌握这些知识的情况下,替用户解决问题。

幻灯片07

人们对工程师所提供的服务当中最主要的期待,是可靠。

稳定的服务。

什么是稳定?当NBA教练换人的时候,他需要考虑候选运动员的方差。你有两个选择对象,一个是发挥极其稳定,但是水平一般,另一个是偶尔爆出冷门,但是也可能炸裂地差劲。如果快输了,我们就会选不稳定的这个,万一赢了呢,反正不然也是输。如果我们现在正领先,就需要稳定的输出,不连续输就行,保持就好。什么体育精神拼搏打出最优秀的效果,不是冷静地以胜负为目的时应该考虑的。

古代战争为什么很少夜袭,偶尔出现就值得记录下来大书特书。因为夜袭的方差非常高,可能快完蛋的一方突然把对方将军斩了。在白天“正常”的打法中,这种高方差是不容易出现的。

客户对工程师的期待是稳定输出,你肯定不希望我尝试先进技术,你的系统没事就崩溃吧。

怎样才算稳定?不受干扰的影响。山崩于前不变色,海啸于后不动容。你可以说这是木讷,同时这也就是稳定。外界环境不断变化,而我的输出始终如一。外界这些改变,都不是我的函数的自变量。下可以工作在零下20度,上可以工作在75度高温,这才是好的CPU。

工作中,特别是刚工作的同学,也有人会说“那我也不能工作在75度”啊。这得看规约spec是怎么定的,也就是清晰的边界。到底是不是你的责任。如果由你负责,那么不能推给别人。”word排版结果就是这样的,就是与学校的论文格式要求不一样,我也不知道怎么回事,整不了。”这是不能接受的。

上级让我飞,可是我没有翅膀怎么办。这是与行政上级间的契约。如果你受理了这个项目,这条写在规约里了,你就得兑现。如果做不到呢?你的上级不是工程师,他不见得有这个能力判断这件事能不能实现,他也没有这个责任。你需要告诉他,这个做不到,为什么做不到,不仅我做不到,根据自然法则,你找谁做也白扯。拒绝不合理的,包括不符合自然法则的,包括自相矛盾的,拒绝这样的客户需求,也是工程师的责任。

这样,我们就能稳定地兑现我们的承诺,给客户一个可以预期的稳定的世界。

幻灯片08

工程师为了稳定地完成责任,形成了与自然科学科学家共同的价值观。

当我们评论一件事的情况,对这件事做出褒贬,这样的时候,我们会有三个维度。在工程师的价值观中,这三个维度的顺序不可以颠倒。

一是 真假。什么是真假,就是事实。事实是没有感情色彩的,不具有道德判断,即不讨论善恶,甚至也没有动机。我们在这里谈到某个方案好坏的时候,不是指提出方案的这个人是好的还是坏的,而是指这个技术方案会不会达到我们期待的效果。至于这个效果是善是恶,这个工程师的道德修养,出于什么动机揭示这一事实,是不是想害我,那都是另一个问题,并不在真假中讨论。

二是 是非。是非是道德判断。道德判断需要在真假之后才能讨论。不能因为我们觉得这件事是恶的,为了显得我们是善良的,就掩盖事实的真实性。或者因为揭示事实的人是我们的敌人,一般称为“友商”,或者他们动机不良,我们就不承认事实。事实只能以事实来否定,是非必须居于事实之后,诉诸动机和是不是我们一伙的对于判定真假都没有帮助。

三是 里外。你的项目不符合社会道德的,违背工程伦理,因为我和你是一伙的,咱俩同一导师是师兄弟,咱俩一个专业,咱俩是老乡,咱俩同一公司,共同对外,就认为你做的是对的。这就是里外代替了是非。或者咱俩一个小组,所以项目里你的数据我就得承认。如果你换了个小组呢,换到敌对方,那么原来正确的就变成了错误的?这是里外代替了真假。

真假、是非、里外,这个顺序不可以颠倒。这是工程师的价值观。“按道而行”是极其艰难的,有时代价巨大。也许我们做不到每件事都符合我们所认可的价值观。但是,我们要知道那是错的,不符合我们所追求的道,而不是给自己找个借口骗自己。错了就是错了,做错事是错的,对错事的认可是另一次错误。

推荐扩展阅读这本书,《公正》,网上还有视频课可以看。

幻灯片09

第3部分讨论工程师的方法。

工程师与科学家虽然同属于理工科,都讨论自然科学的法则,但是一个是发现法则,一个是应用法则,在方法上有些区别。

幻灯片10

工程师的问题来自客户,最终归结到付钱的人,或者付钱的人所关心的人,软件工程中把这些人称为 stake-holders。

到底要达到什么样的效果,什么样的效果用户才能满意。软件的响应速度需要几毫秒,卡顿有明显影响用QoS,数据丢失更可怕的时间用”尽力而为”BE。最终的,都是由用户的利益决定的。

新方案可能带来什么样的负面效果,需要对现有体系做哪些变更,这些变更是不是符合工程规范。有多大概率会失败,失败的结果中有多大比例比不用这个方案还差。在确定地了解这样的效果之后,包括正面的和负面的,还要不要实施。这些都需要授权,授权直接来自你工作中的上级,最终来自用户、法律法规。

从用户脑袋里的需求,到我们手里的自然法则,中间要有问题/领域分析和建模的过程。这些都是工程师的责任,用户只要看效果和成本就可以了。关于求解,延伸阅读推荐波利亚的这本书。

幻灯片11

从用户的需求到实现的方法,通常不能朴素地映射,或者说,朴素地问题都轮不到你做,早有人做完了。比如两个苹果加三个苹果等于五个苹果这类问题,在一般意义上,模型是确定的,无须工程师出手。

从需求到方法,首先要提炼出问题,需要明确边界。明确边界,表面上看是承诺哪些属于本项目要完成的内容,事实上同样重要的另一个方面,常被忽略的,是哪些是与本项目无关的。再次拿出这张图来,边界是系统中至关重要的方面。

有了边界以后,我们就看到了“函数”。当用户操作或者环境变化作为自变量输入或者激励,系统总是会给出特定的输出或者响应。为了达到这个目的,我们就需要无二义性地定义哪些是自变量,这些指标如何测量,定义域的范围是什么。函数值也是一样的。人类自然语言的沟通,充满了甚至工程师也难以察觉的歧义,用户以为自己说的是一回事,工程师以为的是另一回事。同一个行语在此时此地是一个意思,在彼时彼地是另一个意思。

用户常说的一个词,“正常”。”你就正常做,我就正常操作,正常速度就行。”什么是正常,这个话题深入讨论需要相当长时间才能揭示用户的动机,《概率论和数理统计》对什么是正常有精确的定义,不过那不一定是用户认同的。

我们需要把用户的需求映射到物理量,量化这些指标,还需要用户确认我们的理解与他们的意思一致。我们需要帮助用户去除二义性选定指标,给出指标的度量方法。然后我们给出指标间的数量关系和因果有关系。这些关系是用户期待的产品,由用户来确认确实是他们想要的,由我们来实现。

值得指出的是,不要相信网上公众里号连作者都不懂意思的所谓的模糊、复杂。作为初学者我们有机会工作的范围,没有到达这种程度。事实上,即使在更高级些的项目中,引入了模糊数学和系统科学复杂系统的,模糊的定义也是精确的,复杂也可以分析的。模糊和复杂这样的字眼,并不是我们平时聊天时的意思。

幻灯片12

刚才提到用函数描述用户的需求。为什么呢,因为自然法则也是用函数描述的。

在项目中,函数是这样一种关系,它描述了 当我们已知此时此地的状况,即使不经过实验测量,也确定地知道彼时彼地会有什么样的结果。用实验一测,结果刚好一致。

想像一下,如果我知道你的出生年、月、日、时辰,就能说出你未来做什么职业,配偶什么样,人生有哪些坎坷。这就是函数想做到的,输入是时间,输出是,嗯,一大堆可观察可检测的变量。

孙子说,“夫未战而庙算者胜”。所谓运筹帷幄决算千里之外,是用算筹这种计算工具,在帐篷里这个此时此地,估算出千里之外彼时彼地的结果。这也是函数。

我们高等数学老师裴教导我们,函数就是个豆浆机,它的机制就是这样的。你给它绿豆,就出绿豆浆,你给它红豆,就出红豆浆,你给它黑豆,就出黑豆浆。你给它黄豆,它出白豆浆,但是绝对不会这次出白豆浆,下次出黑豆浆。总之非常靠谱。我们在算法中把这个特性叫做可重现性。

相声表演艺术家马三立先生讲的段子里说,两个大国比赛吹牛,当然他们自己挺认真的。一个说,我们科技老发达了,造了台机器,这边把猪赶进去,那边出来的就是火腿肠。这就是函数了。另一个别,你们那不算什么,我们有台更厉害的,火腿肠出来以后一尝有点咸,塞回去,那边出来的是猪。哈希这类函数告诉我们,反函数的时代开销特别大。

自然法则和用户的需求都具有这样的特点,希望已知此时此地,推算出彼时彼地。

幻灯片13

从用户的需求到自然法则,我们所寻找的模型是某种函数。

但是,我们如何确认这个模型就刚好是用户需求的问题呢?或者说,你怎么知道这个模型就是“对”的呢?

我们分三步讨论。第一,模型从哪里来。

实践论告诉我们,模型是从实践中总结出来的。什么是总结呢,咋就能总结出来了呢?孔子和两小儿都看到太阳了,托勒密和哥白尼也都看到太阳了,他们都总结出了模型。我们可以简单粗暴地总结,总结就是这么总结出来的。

康德不这么认为。简单粗暴地总结,他认为人类的头脑中首先存在模型,外部现实世界的事实该怎么发生怎么发生。人类,是人类主观地判定,某些现象刚好与某些模型是匹配的。推荐延伸阅读材料,哈耶克的《科学的反革命》。这本书比《纯粹理性批判》薄,我们所讨论的这部分也更容易读。另外,这本书一点也不反革命也不反科学。

对于初学的工程师,当把用户的需求去二义性描述为问题以后,我们可以简单粗暴地总结为,接下来找模型就是个主观主义的过程。我们一共就会这么几个模型,就是你在课本里学的,在文献里看的,还有你导师和上级工程师给你的paper里的那些。挨个匹配一遍,哪个最像就是哪个了。手里拿着锤子,看什么都像钉子。要么这个问题是个钉子,你用锤子解决了。要么这个问题不是钉子,你解决了不了,你也没有别的工具。如果还有锯子、斧子、凿子,那么也挨个试试。通常,工程师不需要发明新工具。当你能发明新工具的时候,你就不正常了。当然,你更可能发明以后才知道,这样的工具早就有了,就你不知道。

当然,第一时间能判定这个问题超出了你的学科范围(这里有重大的技术风险,必须第一时间判定),或者需求不合理内部有矛盾,不仅你谁也解决不了,这些也是你工作的一部分。

模型,不是你,不是你这个人从实践中总结的。至少别人的、前人的模型从哪里来,这样的哲学问题,超出我们的课程范围了。

幻灯片14

模型为什么正确的第二个问题,抽象。

模型是对用户需求的抽象,把现象抽象为函数。从这个角度,抽象可以理解为 并非从事实中提炼出模型,而是找到现有模型与观察到的事件之间的相似关系。抽象,并非增加出一个模型,而是去除现实事件中与模型中指标无关的因素。望文生义或者顾名思义帮助记忆的话,abstraction的字根中的ab就是away,from, tract是拖拉。抽掉不关注的部分,留下的就是模型。选择,就是放弃。当把苹果抽象为个数的时候,我们就舍弃了重量、成熟度、颜色、口感。当把学生抽象为分数时,就抛弃了快乐、人品,也与籍贯、身高、性别等诸多因素无关。

抽象是找相似,找现实与模型的相似。那么,什么是相似呢?

手机的仿真模型,用来帮助用户体验重量和触感的,这种模型和传统电话座机,哪种与手机更相似呢?

我们在日常生活中,讨论相似,常用的手法有 类比,老师你就像我妈妈一样和蔼并啰嗦; 有比喻,老师就像红烛一样燃烧自己照亮别人,有举例;有的老师比如你吧,上课净讲段子不够严谨。这些在项目中都不够严谨。抽象,是什么样的相似呢?

在项目中的相似,这个问题相当于在离散数学课的代数系统或者说群论部分里的同构。扩展阅读推荐这本《GEB》。

我们如何保证施加于两个集合上的函数运算,它们的自变量和函数值分别是一一对应的呢?在数学上,我们可以想办法证明。当其中的一个函数是外部世界,我们只能测量其中的一部分自变量和函数值呢?我们如何保证我们主观判定的“相似”总是正确的呢?

幻灯片15

现在谈模型选定的第三个问题。选定了模型以后,怎么就知道它是与客观事实的发展相符合呢?

两苹果比三个苹果少,这是指标是个数,量化为一维数值比较。但是为什么你选择那两个大的,给我三个小的,你选择两个红的,给我三个青的烂的呢?这是模型适用错误,得到的结果用户不会满意的。

模型如果对以前的现象都符合得很好,未来就一定也适合么?休谟质疑了这个观点,前天太阳升起来了,昨天太阳也升起来了,明天太阳就一定也能升起来么。罗素讲过一个故事,说明这个问题。美国有只火鸡,农民每天早晨给它喂吃的,就说太阳一升起来就喂吧。上上个月这样,上个月也这样,每天这样,太阳一升起来,农民就带好吃的来了,火鸡得冲在第一个去抢,这样才能长得最健康。有一天,感恩节到了。我们知道感恩节美国人要吃火鸡。所以,根据前天昨天总结的模型,不一定适合于今天。

如果说检测足够长的时间就行了。多长时间算长呢?如何保证更长时间,更多数据的时候,模型不会出错呢?

波普尔说,是不能保证的。我们不能保证现实世界符合我们选定的模型,不能保证。那么用户为什么付我们钱呢,凭什么说我们选定的模型符合要求呢。严格地说,也不能。波普尔的观点是,我们只能通过实验证伪一个模型,一个假说,但是不能证实。如果一个假说一个模型具有可证伪的特性,比如它无二义性地预言了彼时彼地会如何,我们去检验,确实如此。我们就说,这个假说暂时没有被推翻。不是说它是对的,它暂时不是错的。

有时候,我们在工程中暂时的让一个现象消失了,但是我们并无把握我们找到了问题的原因,还有可能是因为其他的我们没有预料到的因素,导致这个现象消失了。甚至这个糟糕的现象还可能出现,我们说这是一个workaround。

幻灯片16

假设,假设我们的模型是正确的,也就是说符合客观实际,那么模型能用来做什么呢?如果模型错了,我们怎么才能知道呢?

模型是数学函数,当有了已知数据以后,我们能用模型推演出未来。用算筹,用沙盘,孙子和当代的军人用来这些来推演战局的发展方向。施加什么变量以后系统会有什么变化。ENIAC,第一台计算机,用来计算氢弹和炮弹火力表。以上这些是工具。开普勒三定律是模型,用来推算太阳系行星运行轨迹。Alpha Go是模型,用来推算围棋棋局。以上这些是模型。

这些推算都需要观察现实的数据,作为函数的输入。所以,我们需要观察现实,需要学习各种度量的手段。需要减少误差到什么程度,如何减少误差,哪些误差的影响更大。如何在观测的时候减少对系统的干扰,还记得伏特表和安培表么,为什么大多数情况它们可以视为不影响不干扰测量值。根据度量的结果,使用模型估算出新的结果,再次度量,根据度量的结果修订模型中的参数。比如,你每天到底能集中注意力背单词多少分钟,假期有读几本书的时间,这些,都需要度量才能估算出来。

我们要致力于设计实验的设计,调整环境保证度量的变量是在约束下发生的,怎么测,测什么,测出的结果意味着什么。这些都是需要我们在实验前考虑的。在按下运行键之前,我们对实验的结果就有期待,是根据模型推演出来的结果。凡是与我们期待不同的,就是有问题。实验是用来检验的,不是用来探索“会发生什么呢”。如果实验结果与模型一致,那么我们对现实的猜测模型暂时没有错。如果实验结果与我们期待的不同,那么要不然就是模型不符合客观事实,是错的,要不然就是测量有问题。这些表面上负面的结果都帮助我们认识世界和我们自己的模型,帮助我们前进。

此外,我们还要谨慎地排除没有意识到的假设。是不是偶然的因素,是不是必然的但是并非我们改变和测量的那些变量影响了结果。把青蛙腿切掉,在青蛙的旁边大叫它就不跳了,青蛙的听觉器官在腿上么?

幻灯片17

在实验中,在项目中,在日常生活中,都有很多逻辑谬误,会在模型推演中得出与现实世界间不符合的结论。

推荐扩展阅读 据称是人民日报整理的这篇文章,还有批判性思维这样的书籍。

在项目中常见的很多。例如,错误归因。例如,过早优化。

一个与日常生活中差异较大的,比如在技术讨论中当被要求给出证据时就怀疑对方攻击自己了。你跟医生说你发烧了,医生会现场测你体温,你没啥意见,不会说“你居然不信我”。但是在项目中,帮助用户复现故障,或者要求工程师给出依据、论证过程、或者现象的时候,感觉受伤害的不少。在自然科学领域,疑罪从有,主张者举证,是广泛接受的职业道德规范。这是模型吻合问题的重要保证。说大家都用、哪个牛人也这么用、课本就这么写老师就这么讲、张三的模型也有这样那样的缺陷,这些都没用。

幻灯片18

如果没有现成的模型怎么办呢?

有个办法,就是 小步快跑,摸石头过河。我们把任务拆成很多个周期,每个小周期称为一次迭代。在每次迭代的开始时用现有模型估算,在当次迭代结束的时候度量,修正模型。这样的思路适合于我们人类对于当前问题尚无明确认识的时候,在工程实践和工程管理中应用都非常普遍。

比如在自动控制中,用PID即比例、积分、微分运算,每种运算的权重不同。通过许多次每次都非常微小的迭代,控制小车在行驶过程中不因为累积误差等原因过多地偏离预定轨道。在工程管理中,用戴明环,在每个迭代中通过四个步骤,即计划、执行、检查、行动,保证不偏离既定目标太多。这样,尽管没有先验的模型,我们也可以在相当程度上,足够好地满足用户需求。

小步快跑,就是快递迭代,每次迭代进步要少量,不可一蹴而就。多次迭代,特别地要求对实验测量的频繁和精确,这就是摸石头。

幻灯片19

所以,回到实验上来。工程技术依赖实验科学。是不是满足需求,在执行过程中每个迭代的现状如何,这些都需要测量。测量,根本上,依赖的是实验技术。模型是否足够贴合现实世界,不是模型说了算,而是现实说了算。现实,总是对的,如果不对,那就是模型错了,或者测量错了。所以,实践是检验真理的唯一标准。在这个意义上,连人的主观感受都是实践的,而不是主观的。

自1500年前后,培根创建实验科学,科学和技术才有机会历次工业革命中起到至关重要的作用。

为了保证所测量的恰好是模型关心的变量,无论自变量和函数值,实验技术都有一系列的措施,在一定的条件下实施。要孤立条件,减少意外干扰,尽可能排除错误归因。比如设计最小系统,比如每次只检测一个变量。自然科学和技术不能接受用“复杂系统”这样的名词把问题拉到虚无主义去,给出模棱两可的答案。这些都是没有用的,不符合工程技术的初衷。

关于如何设计实验,提高动手能力,推荐扩展阅读这本书《Netware系统故障诊断与排除

》。东北师大图书馆有纸件。这本书涉及的技术有点古老,199X年,但是实验设计的思路非常清晰,并且至今通用。

有很多因素需要剔除,才能确保模型正确的反应了现实的因果。剔除这些因素本身也是工程问题。包括如果伦理学不允许设计实验环境,比如人的性格到底有多大比例是遗传的,不能够特意组合生一堆孩子测量。这种情况下,可以单纯地观测既有发生的事实,比如孪生兄弟姐妹在不同的家庭中成长的情况。再例如,如果需要观测的指标包括人的主观部分,比如疼痛,比如感冒吃药以后痊愈的速度,需要避免人的主观因素被错误归因到模型的因果链里,要采用双盲实验。即无论医生还是病人,都不知道所采用的药物是被测量被检验的还是安慰剂对比组,避免皮格马利翁效应等心理因素干扰结论。

如果我们自己不严格检查自己的模型,以为能侥幸逃掉,会受到自然法则的惩罚,也可能会受到同行友商的惩罚。友商会在你展示产品的时候跳出来说,你的模型检测方法有缺陷,他们的模型和产品更好。与其那个时候被怼,不如自己内部先充分检查和揭示缺陷。

这样,具备了包括不限于这些工程师的基本素养,才能完成工程师的使命,为人民服务。

幻灯片20

感谢各位同学。

如有任何疑问、质疑、指教,烦请电子邮件 [email protected]

感谢通过讨论为我带来的进步。

除了星辰大海,以及怎样做馒头

去冬今春天以前,就有不少人感慨"从前慢"。

从什么时候开始,我们开始吃外卖,选择半成品的食材,尽可能迅速地完成每餐的准备工作。甚至,我们也尽可能迅速地完成每餐本身。这些都是匆匆旅途,目标是远方的星辰大海。我们想着,等到什么什么时候,我就要做什么什么事,眼前的尽快过去吧。
微信图片_20200322152920
人生本身,就是眼前的这些事情。眼前如何度过,十年后回头来看,这些眼前的事情,不是手段,而就是目标本身。要么,每时每刻,我们所处的世界,就是孜孜以求的以为在很久以后星辰大海。我们在星辰大海之中。要么,我们永远也到不了星辰大海。

未来与现在,是同体的,从来也不是割裂的。就像,你吃什么东西,你就是由什么组成的。你读什么书,做什么事,你就是什么样的人。剩下的,不是计划,而是没有落实到计划的梦想。

我们选择外卖、半成品食材、匆匆吃完,错过了对这一部分的觉知。并不是因为我们急忙忙地路过,什么风景也没有看到,而是在觉知另一些会"更美吧"那样的风景。

去冬今春,大家都居家隔离,是个好机会。从原材料,用更悠长的过程,慢慢加工。在这个过程中,体察事务的变化,每次测量,提高工艺,也感知人生。

这就是"从前慢"的那种生活,值得在焦虑之余细细品味。
微信图片_20200322152941
后来,开始"停课不停学"了。让我想起抗日战争时间教育部"弦歌不缀"的要求。也许只是想让学生家长忙起来,也许是想降低家长的负担,也许真的就是希望往世绝学不要在这一代绝了能继下去。

应该学些什么?除了自然科学和人文知识,了解下馒头是怎么做熟的,表面怎么才能光滑,怎么才能开花,生面团多大个头儿蒸出来会是多大。
微信图片_20200322152932
那跟星辰大海有什么关系?星辰大海是由细小的尘埃构成的,对星辰大海的探索不应是由征服欲出发,而是由对一花一叶的好奇心延伸而来。只有体验到一花一世界,才能了解到星辰大海是更多更广阔的世界。能遥望星辰大海而竖起桅杆的,也必然能颔首捏花微笑。热爱高山,也一定会爱脚下的路吧。

而且,如果你只想做大事只想做有意思,谁来蒸馒头呢?能花钱的时候你用钱买到了别人的时间。居家隔离的时候,你错过的,可不止是一花一叶了,而是除你自己以外的整个世界。

一、馒头
微信图片_20200322152934
1. 加奶粉、糖,然后加 水和酵母、盐水,逐渐边加少量水边搅拌,揉至混和均匀。替换方案:XL和zhumao说按面和水质量比2:1一次性混和然后搅拌。

2. 发面2小时以上,涨至原来2倍大,稀软

3. 揉至最初大小

4. 醒20分钟

5. 揉,折叠300次

6. 拆分成小份,每份以后是一个馒头,每个揉50~100次

7. 醒20分钟

8. 屉上抹油以防粘连,上屉冷水开始蒸,水开以后15分钟,再关火闷5分钟,立即出锅

二、红烧鸡翅
微信图片_20200322152939
1. 提前 腌鸡翅,24小时

2. 热油,熬糖至冒泡

3. 翻炒

4. 大火烧开以后两分钟,转小火10~15分钟。

5. 收汁。

三、炒大虾
微信图片_20200322152938
1. 多放油,

2. 炒熟以后放料酒。

四、热馒头

水开以后两分钟,闷着。

五、豆角炖肉
微信图片_20200322152936
1. 先炒豆角到绿

2. 后加肉炒变色

3. 加水炖20分钟

4. 如果水干了,加热水。

六、火腿白菜

1. 先火腿
2. 后白菜

再见老友2019

再见老友2019

每到年终岁尾,大家就开始总结并且发愿,今年似乎比往年格外多些,也许因为是整十年?对于各种仪式感我一向深恶痛绝,好在这次并没有人催我交报告,跟着大帮哄,参与集体记忆,乐呵乐呵也好。

1. 音乐
微信图片_20200101164813
看网易云音乐的的年度报告,再看看我朋友圈发的去年总结,感觉就像穿越了一样,一年已过,我就没有什么变化。常听的歌,还是那么几首,连封皮都没有换,是肖邦《夜曲》,常听的还有愚青《青鸟与诗》。这是坐校车特别疲惫听不懂英语的时候,还有写文字材料的时候循环播放的结果。时光就此停止,并非对旧世界的留恋,只而是沉浸在另一个维度里,对发现和拓展新世界没有兴趣。在年度报告里,最突出的top几,都是英语,以小书虫系列为主。这一年,延续去年的计划,我听完了网易云音乐里有人上传的《小书虫》全部。因为同一原因,去年的年度报告里,小书虫也一再出现。有意思的是,听得最多的那几篇,恰恰不是我喜欢的。能上榜,是因为我听不懂,所以一遍遍重复,次数自然就多了。延续去年的计划,今年把以前听过的 Bed Time Reading 系列又重听了一遍。

年度歌单

然后就停下来,到年底才想起来,小书虫随书的光盘里还有将近一半没有听,是网易云音乐里没有的。自己传上去,慢慢听完吧。慢慢听完,每当这时就想起金庸在《白马啸西风》里最后说的,白马越来越老,走得很慢,但是最终也会到达江南。

练琴。想了不少办法,也看了不少资料,一顿折腾,虽然也有斩获,不过最终发现,最大的收获是再次发现学习要素中最根本的是时间。每天5分钟,半个难点都不能通过,一小节要学习一周两周。解决一个难点以后,就是新的难点。即使相似的旋律,稍微修改以后的再现,也另有风景另有困难。2个月练成《天空之城》,接下来《国际歌》直到年底也只练了一半,屡屡挫败得停下来心理建设,怀疑这曲子根本不是两只手弹得了的。想延长时间,遇到的问题就是时间本身。5分钟尚且有中断难以为继,增加时间无异于自取灭亡。成年人学习最大的困难,不是傲慢、成见、已有的知识,而是时间吧。时间是一切力不能及的痛苦的根源。
微信图片_20200101163325
二猫的钢琴过了8级,正在向9级努力。

2. 读书

书还在读。看豆瓣,今年居然100多本,史无前例。想想,是小书虫,每本小册子都很薄,很容易就读了不少册。正常的情况,我每年读书都在四十几本,其中大部分是小说和闲书,还有华哥所说的"专业闲书"。所以今年这100多本中,小书虫当占一半以上。正经看专业书,一年同时在读,也没有几本,一年到头一本也没有看完很正常。能读完的都是补充,重建体系的都非常缓慢。所以豆瓣跳出来说"你这本书已经标记在读十年啦,还没有读完"云云,不少人翻了白眼,很有道理。
微信图片_20200101163330
读书中最花时间最困难的是实践。如果只是知道,那通常就是你以为自己知道。没有检验,没有实践,走马观花游览而已。数学书、曲谱、体能和力量训练,都是薄薄一小册,但是做习题、练完一首、连续完成一组动作,真难啊。

读书之余,偶有分享。一直以来,我对大家和机构们分享的书单颇有怨言,为什么少有理工科的书呢,动辄心情修复、人生感悟、对社会建议的意见、追古怀思什么的。叹理性之不昌何其甚也。所以,刘QH同学每次发朋友圈晒书单和读书分享,我就去吐槽,怎么又没有理工科的书。后来他忍不住了说,"要不你来讲一次吧。"

我就去分享了《信息简史》,讲了不少故事和段子,希望能融入科学精神和事实。事后回想,不够深刻,过于专门。这也是科学普及的主要困难吧,要么肤浅失去本意,要么艰深失去受众。讲什么,怎么才能讲明白,还有很多问题,值得以后慢慢思考。
微信图片_20200101164822微信图片_20200101164825
距离年底2个月,开始用微信读书。先是很久以前典同学推荐,后来是叶卡编辑推荐过。说起来,知乎也是这个顺序。后来吃饭的时候研究生同学们成功地说服我安装上,加入他们的小组,答了一次题用来领免费阅读卡,就此入圈了。2个月读完了18本书,挺累眼睛,虽然有些是听的。这样,除了kindle、纸质书、ipad,又多了个媒介。

读完了神秘岛英文版3本。当年站在图书馆的书库里,手捧着黄页卷边,就着昏暗的灯光如饥似喝的感觉如同昨天。还有空气里微微的发霉的气味。暴风雨里气球从高空坠落,硝化甘油、火棉,制陶冶铁,从野猪肉里咬出的子弹,,鹦鹉螺号白亮的灯光,尼摩船长的追思和忏悔 (?)……一切历历在目。"动中之动"言尤在耳,原来英语是这样的。已经能比以前更流畅地阅读通俗读物了,不比汉语慢很多,比以前测得的英语对汉语1:3的速度进步相当大。不过专业闲书比专业书读起来还是要困难,非计算专业的专业科普就更困难一些。
微信图片_20200101164819
3. 背单词

单词还在背,百词斩1411天。扇贝因为每个词都要选"认识",这样的复习方式无聊得很,但是舍不得打卡这么多天,把量降下来但是没有停。利用扇贝的每21天补打卡一天,已经追平百词斩,也是1411天了。现在,并驾齐驱。

百词斩复习完成10轮,托福单词复习正在第10轮,专八单词复习正在第2轮。

扇贝听力精听每天5句,七八分钟。泛听想起来就做一做,阅读除了每天2篇任务对付一下,也并不认真。在其他线索中的阅读和泛的量要大很多,重点并不在此处。

10月新加了aboboo精听,每天半小时左右,到现在87天。最初是听科学60秒,口音、吞音、生词难词把我痛苦得不行。近半个月改为新概念3抠词和新概念2句子,同样是20多分钟,放松很多。难道对于感受的影响真是明显啊。

我相信单词量仅靠阅读是不够的。因为为丰富单词量所需要的阅读,应该不是一般正常外国人类能够承受的。很多单词相对生僻,需要阅读很多页也不见得能再遇到一次,再见已是故人早就忘却。所以,还是得另行背单词,并佐以 (或正餐?)也阅读才行。
微信图片_20200101163350
二猫的单词量在百词斩里已经6000多了。按每个单词1元钱,收入相当惊人。不要相信"百词斩"的单词量不准,这就跟说练马拉松的没肌肉练健美的都是死肌肉一样。谁也没有说百词斩的单词量就是准的,这玩意有准确权威的定义么?马拉松的肌肉再白健美的肌肉再死,也比成天坐着不动要强很多。做得不够完美,与不做的错误相比,根本不可同日而语。
微信图片_20200101163327
4. 锻炼

keep一直在练,没有中断,已经 KG.13级别了,主要就是靠时间积累得到的点数。当初觉得KG.11,12,13都是无比久远以后的事情。如同远山,边雾笼罩,但是只要低头行走,慢慢地就都到了眼前。

各组训练都一度达到K3、K4级别,引体向上达到20个。每过一段时间,就能解锁新的动作和新的一组训练,似乎可以就这样一直上升。一场感冒把我打回原形,一月有余再练起来,从初级开始慢慢往上爬。所以科学训练中最怕的还是伤痛,太耽误时间了。
微信图片_20200101163339
5.编程

年初,和同事一起讲了一次 Scratch 讲座。戒慎恐惧,小心翼翼。那些孩子看起来都软乎乎的,深感责任深重。自己能做出来,和把别人特别是孩子也讲明白,是完全不同的两个问题。同事们帮我备课,把难度降低到大家觉得孩子们能接受的程度。向二猫和二猫妈请教,再调整难度和趣味性。在每次课程回来,再深切检讨,调查明天的计划。4天的短训,把我累够呛。

二猫除了参与备课,全程助教,负责在我讲的时候演示操作。技术上虽然熟悉,但是她对大人的阴谋还不能了解。我假装找不到某个角色的位置,问同学们在哪里。她从机器前跳起来,跑到大屏幕上指着说"在这里"。

她不想做助教,想做学生也领奖。她还不知道,有些奖励的到来比较缓慢。她觉得scratch是自己学的,"爸爸就给我本书,让我看,我照着做,有不会的就问,然后就会了。"秋季学期,二猫在学校的趣味编程社团,一直被老师要求做个游戏,然后给大家讲制作的过程。在另一个课上,老师关了她的屏幕,说你怎么打游戏呢,她说"这是我自己做的啊。"老师不怎么信,她一顿讲解。
微信图片_20200101163346
下半学期,我和二猫一起参加了河海大学的MOOC课《基于游戏开发的C语言程序设计入门与实践》。所谓一起,就是看视频一起,作业还得分别各自完成,我替她改过一两个bug。二猫交作业不完整,但是数量应该高于大多数同学,因为最初在作业互评中我俩互相批到了对方的作业,后面的作业干脆变成了交作业数量不足,不能互评。

最后的大作业,二猫画图做设定不亦乐乎。我不由得担心,这是要走向PS之路啊,入手快吸引人但是没难度。担心是多余的,后来写代码她更不亦乐乎。遇到困难憋了两三天不问我,等到找我看的时候已经把几个bug分别隔离在五六行以内。其中有个bug,是 _kbhit() 以一定概率不能捕捉到所有按键。这种打破"可重复性"难以再现的bug,我找起来也颇踌躇。二猫在2019年初用C做了Mud游戏《猫之谷》,还有半个《火星救援》,都还是纯文本的。到了年底,终于能用C++而不是Scratch做出图形游戏了。

这门课我上得也不轻松。一共16次作业,加最后的大作业/考试,我全交了,一次没落。每次都需要半小时到2小时以上,很多小地方看着简单,但是快速完成相当考较功力。到最后的大作业,时间紧迫,我不得不祭出利器西红柿时间管理,并且开列了功能列表。还给出了开发和测试路线,保证在代码未完成的工作过程中几个重要节点可以编译和测试。堪堪及时完成。
微信图片_20200101163322
二猫下半年参加信息学普级组,获得了一等奖。她的科幻小说《狼蛛》,写信息学比赛和养昆虫,已被《科幻世界》(少年版)接收。我没改几个字,整体框架完全没碰。

6. 科幻

艰难努力,《9000秒》交稿了。

一篇短的,《官道岭》,《科幻世界》接收了。
微信图片_20200101163328
7. 再见老友

年末读《枕草子》。有时哈哈大笑,有时觉得这人真逗,有时觉得作者真是个小心眼,有时赞叹观察真细致啊。一翻一翻,有天突然惊觉,这不就快要看完了么。就是那种感觉,痛饮之中突然觉察到酒要没了,酒消耗得比你的理智消失得更快,时光比你意识到地飞逝得更迅猛。暗夜将尽,晨光即现。苦咖啡和漫卷的书页,和无限遐想都要告一段落,工作中烦人的部分马上就要开始。

是那种感觉,老友就要告别,长久不能相见。

我不由得伤心,什么时候才能看到这样千年一遇的好书呢,这样有趣的人儿,几千年以来能有几位呢。就这样一页页翻下去,边翻边挥手,再见老友。在离别之前,好好珍惜。

再见老友,合上《枕草子》的纸页,把《春琴抄》放到书架上。再见老友,神秘岛在一声巨响里炸裂成碎片。再见老友,Oracle 宣布停止Sparc 硬件研发。

跨越时间空间和语言的阻隔,老友们和我一起走过又一年,共同呼吸春风,历夏雨滂沱,抚过秋叶听婆娑的声音,看深冬的星夜静默不语,飞机的航行灯闪烁掠过长空。
微信图片_20200101163348

微信图片_20200101163341 微信图片_20200101163337

微信图片_20200101163332
写一篇博客,回顾老友相聚酒肉畅快。张铁子读了提到,咦,暴雨突如其来,那个大喊一声"跑",怎么这么耳熟。翻看以前的记录,哈哈,正是完全一样的场景,连这样大喊一声也丝毫没变。
微信图片_20200101163401
《最后一滴血》里,女孩告诉兰博,世界变了,早就没有人写信了。《英雄本色》里谁也这样说过,江湖变了。
微信图片_20200101163334
看《星球大战:天行者崛起》,旁边隔个空座位的那边,一位父亲耐心地给他的孩子一会儿讲讲这是谁,一会儿讲讲为什么会那样。孩子的母亲是陪着来的吧,全程无声,孩子东问西问。到了高潮结束,主人公们即将大获全胜,这位父亲开始打电话,"哪套哪套房子,什么什么指标,能挣多少多少钱。"屏幕上一个小情节,"那先不说了,回头再说。"

事后提起来,我说,"星战的爱好者们,后来就成长为了这样的油腻大叔。"二猫妈说,"还有些,连这样的情怀也没有了。"情怀就是,无论星战如何改变,如何越来越差,我还是依然故我,去看去骂。

在《兵临城下》里,从一开头,到最后,狙击手都默念从小学到的原则"I am a stone. I do not move."

岁月流逝,万物流变。再相见的时候,老友,希望我们仍一如既往。或者不变,或者成长。至少,不为腐烂找些更烂的借口。
微信图片_20200101163336