用大电视放电影

很久以前在图书馆工作的时候,同时开几台计算机,每台放着不同的片子,一起看。嗯,测试机器性能和练习软件配置。也许更早就喜欢看电影,不过,是从那时起开始养成看电影这个习惯的吧。当时一起工作的前辈已经多一半退休或即将退休,挺想念他们的。

只看电影,没买电视。所以对有些人担心孩子看电视拦不住难以共情,如果家里没电视当然也就不会有这个问题了。没买电视的原因不是因为钱或者时间,而是因为习惯。从小就不喜欢看直播,对提前半天半年知道哪一队胜了始终也提不起兴趣来。对电影电视剧里隔离出来的人大喊“你别告诉我世界杯结果”不能理解。

这么多年来,仅有三次用到电视。一次是大半夜正准备睡觉,电视开始放《秋日传奇》,我和二猫妈不睡觉又看了一遍。一次是北京申奥成功,我跟图书馆的同事正在角山长城附近玩,大家一起看了直播。一次是中国好声音,有一集看的不是回放。剩下的时间,包括春晚,很早就看一部分的回放,也没有觉得缺什么。

看什么由我选,不喜欢被推送。不少人没事就打开电视收音机,也不看不听,还能干活休息,我完全不能理解。结果就是家里有台大电视,我喜欢看的,它没有;它有的,我觉得是烂片。联网就升级,升一次级挺长时间,除了广告什么也没有更新,除了速度更慢没有什么变化。

看过不少电影和电视剧,用的都是计算机,不是电视。这几年时间紧,电视剧也很少看了,有剧集"在看"了近十年没有完成的。

对,就是时间。吃饭的时候看电影,是个好时间。可以把电影拆了,开始吃饭的时候定倒计时,每次看半小时。但是用计算机看电影对吃饭有影响,需要占点桌子空间,或者接计算机一两分钟。心理学告诉我们,如果你想干什么事,别犹豫,也别创造犹豫的环境,并且要去除导致犹豫一下的可能。所以,要更迅速地能开始看电影才好。

这台电视确实能看电影,它能播放U盘里的MP4。

1. 问题

这台电视播电影有些问题。 (1)兼容性。有些文件能放,有些不能放,系统就显示不能放。可能与格式有关。 (2)卡顿。有些电影放起来动作一格一格的,看十几秒我就快晕车了。通常大文件这种情况更容易出现。我的计算机性能低下 (是的,比很多同学觉得没法干活的机器要慢好几年),播放有些视频也卡。与文件大小不总相关,有的大文件8G、40G的倒是不卡,而2G的也可能卡。 (3)声音。有的电影放的时候没声,在计算机上放就没有问题。 (4)有的电影没有字幕。虽然有时候可以锻炼英语,但是奈何有些片子是日文的,在计算机上有英文字幕,在电视上却是生肉。

2. 解决方案

有相当长一段时间,就是选能看的片子看。能看就看,不能看就不看,或者在计算机上看。

有一天想起了邦哥的话,"你说你一个学计算机的"。他说这话时,我正犹豫给苹果越狱,担心变砖,他重复了这句我们常说的话,给了我勇气。我一个学计算机的,怎么能被一台电视难住。

祭起伟大的影音工具的祖宗 ffmpeg。

(0) 输入输出

实验全部完成以后,做了个bat文件,看起来像这样。

ffmpeg -i %1 ... ... %1.mkv

其中的"... ..."是此刻省略的内容,一会儿解释。

%1 代表bat的第一个命令行参数,这里就是电影的文件名。执行的时候这样:

to_h264.bat from.mkv

会生成一个同名的文件,叫做 from.mkv.mk。加个后缀以示区别。

(1) 格式

有的不能放,有的能放。那么看看能放的都是什么格式,都转成这种格式。h264和mpeg4都行,就用h264了。

参数为 -vcodec h264 。

(2) 压缩,码流,分辨率

大文件不能放的可能性大,很可能跟分辨率和码流有关,把文件整小点就行了吧。尝试几次以后,确定了一组码流的经验值,压成这样播放不卡顿,清晰度和连贯性也感觉无异。

分辨率,刚开始实验了几组,看了几个片子。后来有一天突然想到,怎么这么猪脑子。码流可能没有规范参数,分辨率应该有啊。找了下电视的"关于",确定了支持的分辨率。也不必更高,没用,还得做缩放,可能有锯齿,还费CPU。

参数为 -vf scale=1366:768 -b:v 2000k -bufsize 5000k -maxrate 2500k 。

(3) 声音

不幸的事,各有各的不幸。有的放不出声来,不必关心为什么。幸福的事,都是一样一样的,或者抽象出相同的因素来。只需要看看能放出声来的是什么声音编码器就行了。MP3肯定行吧,一查,果然。

参数为 -acodec mp3 。

(4) 考虑不够周全,修bug

按以上参数,播放了一些电影,没有问题。某天又遇到一个有问题,卡顿。用计算机对比,计算机播放不卡顿。检查生成文件的格式、码流都没有问题。

用 ffprobe 查详细参数,然后用excel与不卡顿的电影对比。

卡顿的两个 Stream #0:0(eng): Video: h264 (High 10), yuv420p10le(tv, bt709, progressive)

不卡顿的 Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080

bitrate, fps等参数有区别,相差不大。

有意义的区别在于 a. yuv420p10le和yuv420p, b.还见过 h264(high 10) 和 h264(high)。

这些术语超出我知识结构了,查了下资料。

a. 概念 420p

: 420p 10bits little endian

b. 概念 h264 high

: H.264 Baseline profile、Extended profile和Main profile都是针对8位样本

: 数据、4:2:0格式的视频序列,FRExt将其扩展到8~12位样本数据,视频格式可

: 以为4:2:0、4:2:2、 4:4:4,设立了High profile(HP)、High 10

: profile(Hi10P)、High 4:2:2 profile(Hi422P)、High 4:4:4

: profile(Hi444P) 4个profile,这4个profile都以Main profile为基础。

如果不强行指定,应该是沿用了源文件的参数。

参数为 -pix_fmt yuv420p

(5) 总结

to_h264.bat :

ffmpeg -i %1 -vcodec h264 -acodec mp3 -vf scale=1366:768 -b:v 2000k -bufsize 5000k -maxrate 2500k -pix_fmt yuv420p %1.mkv

(6) 字幕

为了减少实验的反复,所以字幕当时制定了几套方案,全都跑一遍出结果,然后批量测试的。

a. 硬字幕,就是以图形图像的方式加在画面上那种。韩国人常这么干?压缩一遍时间巨长。

b. 软字幕。字幕以前可以从射手网下载,后来有一段封了。字幕还可以在迅雷影音这类工具播放的时候从网上匹配,导出成单独的文件。要把字幕嵌入到电影文件中,还要要考虑国别、字符编码等等。我一顿考虑各种可能,做了多组实验。

c. 我还没有固定脚本,二猫发现没有那么麻烦。把迅雷影音导出的字幕和电影文件放在同一个目录下,我的电视就可以自动找到字幕了。

(7) 播放器

电视原带的播放器不行,在开始压缩转换以前,就尝试了安装别的播放器。mx player最好。

(8) 剪切,实验用

测试的时候并不是每次都压一整部片子,那需要的时间太长。压缩通常是0.5倍播放速度到1.5倍播放速度。这样,需要0.5~3小时左右。所以做了个剪切一小段时间的版本。

to_h264_cut.bat :

ffmpeg -ss 00:01:00 -to 00:06:00 -i %1 -vcodec h264 -acodec mp3 -vf scale=1366:768 -b:v 2000k -bufsize 5000k -maxrate 2500k -pix_fmt yuv420p %1.mkv

3. 效果

运行有一段时间了,效果一直不错,感觉可以认为稳定了。

4. 以后的工作

现在电影还是要放在U盘里,每次插入,或者提前拷好。接下来,准备尝试架设流媒体服务器比如SRS,用OBS推流。这样,可以在计算机上实时推流电影,在电视或者手机上看。也可以推流bilibili边吃饭看看网课。卷吧。

修电钢琴

1. 前情回顾

前两天发了篇博客 修水壶盖,朋友们纷纷来电来函安慰我。

有的说,你居然还用水壶啊,我们一早就开始使用更高大上和现代化的烧水设备了,没有盖儿或者没有钮。我用的水壶也是用电的,不是用煤气或者煤或者柴火。时代久远,我已经遗忘了水壶还可能不用电,就像邮件也能不用电,报文也可能不用电,所以在文中没有申明,故造成此些误会。

有的说,换个得了,有贴心同学甚至发来了京东链接。我赶紧写了这篇,并借此声明,上一篇并非水滴筹大家为我买水壶,不然我担心很快发来的就不是链接而是实物,附带需要我署名的感谢信了。水壶不贵,我买得起。然而,修水壶的乐趣,哪怕只是修盖儿上的钮儿的乐趣,也是金钱换不来的。这乐趣非常昂贵,只有投入时间才能得到。此处有捂眼的哭脸表情。

有的啥也没说,就哈哈大笑。我理解为与民同乐了啊,而不是像有的同学解读二猫妈那句“304钢是嘲笑”。那并不是嘲笑,而是善意提醒,也是与民同乐。我妈告诉我,现在一般的壶,除了特别便宜的,都是304钢,特别便宜的那种是铁片子。总而言之,铝壶这种东西彻底消失了,就像不用电的各种东西一样。

也有同学质疑,这么便宜的水壶,值得一修嘛?前文已经答复,乐趣非此不可得。不仅如此,如果不在这种便宜东西里锻炼,怎么可能修更贵的东西呢?就像有的同学,希望上手就做个高大上的项目,可是,没有(你以为无聊但是非常有趣的)小项目的经验,哪个客户敢把真实项目给咱们做呢。

修点什么贵的东西呢?就电钢琴吧。

2. 问题

这台电钢琴已经停产了,2011年价值245,000 日元。

[https://jp.yamaha.com/products/musical_instruments/pianos/clavinova/clp-s406b/index.html#product-tabs]

> CLP-S406 生産完了品

> 希望小売価格: 245,000 円(税抜)

>     2011年7月 発売

按当今的汇率折算相当于13793.89 元。网上有售声称9500.00 元 或 8150.00元/台。

有的同学可能觉得这也不贵啊。问题是,我手头上就有一台,只有一点毛病,最先是偶尔,后来是经常,某几个常用的键发出的声音特别特别大,而且尖厉。这就像水壶盖上缺个钮,羽绒服的拉链坏了,这个部件微小且至关重要,同时其余的全是好的。

换新的,你可能有钱。但是,这台/壶/件旧的呢,难道扔了不成?

现象是 有时,有的键轻按会出很大声,就像重砸的效果,二猫称为“炸了”。有时,有的键按下以后,出声有延迟,影响节奏。中央do,低音sol最先出故障,不止这两个键,而且有增多趋势

炸了,持续了有一两年了吧。我要拆了修修,二猫说你等我过完某级吧,不然万一装不上可就影响练琴了啊。直到后来出声有延迟,我节奏大乱,简直弹不下去。本来并非大问题,也并非每次都有,但是越弹就越觉得明显。后来终致我中断练琴长达一个月,然而也没有找到合适的时间拆琴。没拆过,心里没底,估计怎么也得大半天吧。万一半天没修完,还装不回去,占地面积可不小呢。在这之前有过几天想尝试,二猫妈说“今天你是不是没睡好啊”“今天别的活儿都干完了么”“找个不那阴天的日子吧”。终于,某个下午,我们决定,就今天,拆了吧。

先剧透结局,拆下键盘总承及其上的电路板,用酒精擦拭导电橡胶,问题解决。声音完美,没有丝毫毛刺了。二猫评价,就像买了个新琴一样。长久以来,以为是弹得不够好的曲子,一下子变得柔和动听了。我上去试手,总炸的那几个键已经不会按了,声音特别小。二猫说,弹上十分钟就习惯了。果然,而且,突然对轻重有了些许顿悟的感觉。

修好以后,在朋友圈里发了照片,有几个简单的讨论。在此交待一下。

(1)电钢琴不必调律,音高和音色都是电子器件完成的,只需要拆开清灰。不过,拆开清灰也不容易。(2)拧螺丝的时候得小心,特别是旋进的时候,木头挺松的,令人担心会把木螺纹拧秃。拆卸时有的地方需要长而细的螺丝刀才能触达,10厘米左右吧。(3)有同学问我为什么不找专业人士。我问了音乐系G老师还有钢琴专家S老师,他们都说,这得找修琴的。问了包师弟,他的意思大概是这么简单的结构也能算是电子设备么。我还查了专营店,感觉不如我自己可靠。

品牌和型号

image1

image2

3. 工具

image3

image4其中,餐刀用于在拆下上盖以后拆单个键。这是条错误路线,单个键拆下后,不能暴露出导电橡胶。

要拆下哪个键,把餐刀插入键的缝隙中,左右是要拆下的键上面的箭头指的方向,上下是圆点的位置,

image5

image6放大镜几乎没用,太暗看不清。

另外,手机很重要,用拍照和照相加常亮的灯,用于观察钢琴内部,猜测内部结构。

image7

image8

image9

4. 步骤

后盖上半截中的所有木螺丝。

image10

移除上盖,左右两侧一起向前推。

image11

键盘上盖,两侧共6个螺丝。

image12

把键盘上盖向前推,暴露出中间2颗固定弹簧的螺丝。移除这2颗螺丝,然后移除键盘上盖。

image13

控制面板与底板之间,在内侧的螺丝。一排,每个柱有2颗螺丝。以下是举例,不是全部。

image14

image15

image16控制面板上层,左右两侧网状结构与框架连接的螺丝。左右各拆下1个就够了。(这次维修的时候多拆了1颗,不是必要的。)

image17

image18

面向钢琴,左侧喇叭下方,2颗铁螺丝。

image19

面向钢琴,右侧喇叭,2颗木螺丝。

image20

键盘总承与框架底板间的连接螺丝,粗大,不少根。

其中有2根细小一些,图中手指螺丝左侧的那个小的,喇叭正对着的,是其中一颗。

image21

键盘。

image24

键盘的前面与前面板之间,就是直接抵住的。

image23

下图手指位置的空间,需要把键盘总承前移,把这部分空间挤满。

image24

不是键盘放在下图的铁架上面。

image25

键盘左右与框架刚好顶住,没有空隙。键盘总承有一点柔性,可以稍微掰弯一点儿。

取下键盘总承。

image26

拆下键盘总承底下的电路板。暴露出导电橡胶。

image27

用酒精擦拭导电橡胶表面,铜触点表面干净,未擦拭。

导电橡胶的底座,柔性材料,反面很多灰尘,也擦拭了。

image28

导电橡胶装回有点困难,需要把上边缘里的突起插入框架。

image29

电路板下方(图中右侧)插入框架的卡子下面。图中右侧的白色矩形与框架上的卡子对齐。

image30

拆下键盘总承,安装回去以前,实在太饿了。我们订了外卖饺子,吃完才有力气继续。

5. 损失/失误

最左低音键划伤,原因不明。

image31

左侧喇叭,被我手指按瘪了。右侧喇叭也瘪了,原因不明。

不影响音质。

多了一块小塑料,似乎是键盘总承支腿的一部分。某次把键盘总承拆下来时,忘记把电线拆下来了,同时掉下来了这小块塑料。短边,下方的那条,是断裂处,有白茬。

image32

  1. 水壶盖的钮

然而,水壶盖的钮仍然没有修好。

image33

修水壶盖

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

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

事实就这样定了下来,每次修东西,我们就提一下这个典故。
微信图片_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]

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