如果长白山天池火山喷发,影响方圆有多大,顺便讨论估算和查资料

长白山主峰白头山有湖泊,名为天池。天池下面是座活火山。就是随时可能喷,或者最近,指人类历史上,最近喷过的。事实上,不止天池下面是火山,附近有100多座火山,叫做长白山火山群。

从小就知道长白山自古著名,与千山山脉在东北的东部连成一线。小时候就知道长白山是活火山,有部电视剧讲长白山气象工作人员的,提到在风口差点被吹飞了,下着大暴雨,一个小年轻的喊:沉睡了三四百年,这长白山是不是又要喷发了。

但是我从来没怕过。也看过一些火山相关的片子,比如罗马庞贝古城、韩国电影《白头山》、BBC完美星球的第一集火山这一类的,感觉还是离得太远,对高温、火山灰、岩浆缺乏感性认识吧。贴近的接触是跟单位去日本旅游的时候见识过地面是温的,远处有烟,空气里有硫磺味。还有东汤镇的温泉。这些都不足以构成威胁,感觉远着呢。

1 近些年,看到些报道,提及韩国、朝鲜、日本也参与研究长白山火山群研究,还有韩国学者有耸人听闻之语,什么什么时候可能爆发。前文提到的韩国电影《白头山》的情节就是在这样的假设下展开的。哈哈一笑,离我还远。

后来看到了一些科普,提到长白山火山在16xx年,17xx年,190x年均有不同规模爆发。稍微引起我关注的是 火山灰影响远及日本,似乎还有人提到在日本能听到喷发的声音。

长白山到日本,比长白山到长春还要远。得关注一下了,这样的心理。

1. 估算

2 还有文章提到[如果长白山再次爆发,附近100平方千米的内的160万人将要遭殃][ https://zhuanlan.zhihu.com/p/328401889]。

我的思路就此发散。

160万人?里面有没有我。160万覆盖多大范围?作为对比参考,北京有多少人,3000万?长春有多少人,将近1千万?通化有多少人,以前是30万。长白山天池附近多大范围有160万人呢。

100平方千米,方圆有多大。等等,方圆是什么意思。方圆百里,有人说方圆是直径百里,有人说是半径百里,有人说是面积百平方里,有人说是周长。周长可笑么,据说朝鲜半岛三千里江山就是以周长计,我量了下,南北长750公里,合1500里,南北狭长,两个来回约合3000里,还真能对上。 3

原文用的是100平方千米而不是方圆这么模糊的字眼,更容易讨论一些——因此更可信。然而一旦喷发所影响的100平方千米……面积也太小了吧。

100平方千米乍一听好像挺大,但是,这是面积不是长度。按正方形计算,要开平方根,所以100平方千米就是10千米*10千米这么大。千米这个词咱们平时用得少,就是10公里见方。

10公里*10公里有多大,或者说,10公里有多远。没多远,打车20多块钱。 4

从东北师大自由校区,或者村上春树提到过的老虎公园或者金志文唱过的平泉路,到东北师大净月校区,大概就这么远。

几千年来整个地球都排得上第二的长白山火山群,就这么大点范围?我不信。而且,这么大范围不能有160万人吧。长春1千万人口,如果平均分布,那么长春的1/10面积上有大约100万人。这点范围,与长春的1/10相比也太小了。

下图中,红圈是长春的大概范围,绿圈是10公里*10公里。 5

也许需要考虑人口密度均匀,并且,只考虑长春市区。1/10倒是有可能。下图,红色的3*3格子,是我当时脑袋里想的9份,接近10份;绿圈,是10公里*10公里。 6

那意味着,1千万人口绝大部分挤在长春市区。1/10刚好差不多吧,至少数量级上。

然而,长白山火山附近,会有这么大的人口密度么。

假设长白山火山就在天池下面。这个假设有点依据,就是天池是长白山火山喷发的结果。那么,在长白山火山附近,10公里*10公里有多大范围呢?

710公里*10公里的范围内,看起来草木不生,不应该有大密度人类聚集才是。有人可能想到,山下的旅游区万达什么的。山下二字,作为对比,我小时候在通化,一般形容我们就在长白山的脚下,长白山山麓,距离天池大约200公里。另外,我们可以看一下行政区划图。

最近的度假村,将近50公里。

8著名的二道白河,50公里。

9长白山天池10公里*10公里的范围内,就不应该有几个人。

我把上述图示(不是原图,本文中的图是重新截的)发给了文章的编辑,说是不是数据有误啊。编辑很热心,提出了还有朝鲜呢以及类似的可能。如果有人口密度图就好了,讨论可以更直接一些。

以上,是估算部分。接下来是查资料。

  1. 查资料

根据估算,我不相信” 如果长白山再次爆发,附近100平方千米的内的160万人将要遭殃”这一论断。那么,这个论断从哪里来的呢?科普文章通常不给参考文献,不过总有蛛丝马迹可以查。

我最先查到了这个。

2.1 长白山保护开发区

长白山保护开发区管理委员会辖区

[https://mp.weixin.qq.com/s/rHg6cyHAuQx89Gt88pZqtQ]

: 全区南北最大长度为128公里,东西最宽达88公里。

仅长白山保护开发区管理委员会辖区就达到约100公里*100公里,比10公里*10公里大多了,是100倍。有多少人口呢,查

长白山保护开发区第七次全国人口普查公报[http://cbs.jl.gov.cn/shjj/tjxx/202106/t20210625_168941.html],

全区总人口为61146人。

6万多人,距离160万差很远。

这不是160万的数量来源。

2.2 新闻

查到一篇新闻。

: As of yet, scientists aren’t sure how immediate any threat might be, but with 1.6 million people living within 100 kilometers of Mount Paektu, safety is a major concern.

出处是新闻,链接如下

[https://advances.sciencemag.org/content/2/4/e1501513]。

新闻援引的论文没有查到提及人口数和范围。论文链接为 [https://advances.sciencemag.org/content/2/4/e1501513#ref-26]。

这条新闻中的用词是 100 kilometers,是复数的100公里直线距离,不是100平方公里面积。我怀疑是100公里直径或半范围内1.6 million即160万人口受到威胁。

2.3 数据库?

又一篇。

: 另有网页提到100公里160万人这一数据

: According to the database there are 160 million people that live within 60 miles (or 100 km) of the 245 mapped glacierized volcanoes.

: 链接如下

: https://www.forbes.com/sites/davidbressan/2020/11/30/fire-and-ice-new-database-maps-and-classifies-the-dangers-of-glacierized-volcanoes/?sh=4711364b281b

提到了 the database,看来数据是从这里出来的,有245座冰川(化?)火山,符合100公里内160万人口。100公里,是半径还是直径?

2.4 数据库

刚刚这个网页提到标准来自下述数据库,提到

: glaciers (2584 total) with a 5 km radius.

: Glacierized volcanoes occur predominantly (74%) in subduction zone settings.

: 20,000 people live within 5 km of a glacierized volcano, 160 million within 100 km.

提到了半径5公里,以及5公里有2万人,100公里160万人。看来是指半径100公里。

报道数据库的论文链接如下.

: 850 ± 290 km3 of glacier ice is within 5 km of volcanic vents globally.

: [https://www.sciencedirect.com/science/article/pii/S0921818120302472?via%3Dihub]

半径100公里有多大范围?接近临江、靖宇、抚松。白山市距离天池也不过137公里。

a

100公里*100公里,与半径100公里处于同一数量级,差不多吧,160万人口。

2.5 衍文的最初来源?

知乎的玛莉蓓尔提到“下面这个文字中的人口数,似乎不是160万人,而是1亿6千万人?[发呆]
According to the database there are 160 million people that live within 60 miles (or 100 km) of the 245 mapped glacierized volcanoes.
这数字好夸张啊。”

我把160 million,160百万,当成了160万。 想想吉林省才才2690.73万人,怎么会有160百万人口受到影响。

查了原文Global-mapping-of-future-glaciovolcanism_2020_Global-and-Planetary-Change。原文提到“in all, approximately 6.7 million people live with 30 km of a glacierized volcano, and 163 million people live within 100 km globally.” 是全球所有符合条件的冰川火山每一座100km直径以内受到影响的人口为160百万。

这,可能就是衍文的源头吧。就像我,把160万读成了160百万,可能还有人把100km读成了10km,把受全球所有这样火山影响的人口当成了任意一座?

  1. 修订,结果

我把上述资料发给编辑,对方说“谢谢!”。后来我看到微信公众号[https://mp.weixin.qq.com/s/5EjAXbHuPiqPnnLwKWZD5w]里的文字修改为” 如果长白山再次爆发,附近1万平方千米的内的160万人将要遭殃”。1万平方千米,100*100平方公里。

b写这篇博客的时候我发现,知乎上的同一文章还保留着100平方千米。[https://zhuanlan.zhihu.com/p/328401889]

c

  1. 缘起

为什么想起来回顾一下这件事呢。以一阵和大哥、WG喝酒的时候,我提到 梅河口的酒精生产占全国的90%,被他俩一顿嘲笑。大哥提到,要有常识。他说的是 common sense,包括论断内部的逻辑自洽、以及论断与现有证据之间不矛盾。如果梅河口的酒精生产占全国的90%,那么我们早就应该知道了,通过各种渠道佐证。我记得的这个数字,是2020年初疫情其间封省时在哪里读到的。回家没有查到。

查到了些其他的数字,看来我记错了,远没有90%那么多。

不要没事就瞎编或者瞎信,要自洽,要与所有已知的证据吻合。要主动、充分提供证据,以帮助别人检验。

吉林省酒精产量占全国的

200/984 约1/5 (2017年吉林省/2014年全国 发酵酒精)~ 上限75.90%(东北+华东),

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

1.

全国没查到,只查到啤酒和葡萄酒。

 | total | per capita

beer | 38.12 million t/yr (metric tons per year) | 26.7 kg/person/yr (kilograms per person per year)

wine | 1.922 million t/yr (metric tons per year) | 1.346 kg/person/yr (kilograms per person per year)

(2018 estimates)

[https://www.wolframalpha.com/]搜索 alcohol production of china

 2.

2017年上半年,东北、华东地区酒精产量占到国内酒精行业总产量的75.90%。

 [http://www.siacn.org/index.php?optionid=1113&auto_id=27638]

 3.

根据国家统计局数字,2014年全国发酵酒精产量984.27万千升(年主营业务收入在2000万元及以上的工业法人企业)

 [www.alcoholnet.com/zxlm/179076.htm]

 约6百万吨

  2017 2018 2019

发酵酒精(折96度,商品量)(千升) 2,005,561.00  1,641,408.00  1,649,242.00

饮料酒(千升) 1,992,760.00  1,140,674.00  953,390.00

# 白酒(折65度,商品量)(千升) 777,787.00  193,901.00  22,631.00

啤酒(千升) 1,095,943.00  921,728.00  905,608.00

葡萄酒(千升) 98,804.00  21,393.00  21,369.00

果酒及配制酒(千升) 1,703.00  960.00  1,371.00

[http://tjj.jl.gov.cn/tjsj/tjnj/2020/ml/indexc.htm]

吉林省统计局

d

微信图片_20220216143930

指针和数组,到底哪个快,顺便讨论写实验报告

1个月又10天以前,MYL同学给我看了2段代码,是C语言的字符串接接函数strcat的实现。一段代码用的方法是数组,另一段用的是指针。问题是,一般使用指针实现,而不用数组,是因为指针更快呢,还是仅仅出于习惯/习俗/惯用法。

代码大致是这样的。

用指针实现的 strcat,如下。
: void str_cat_pointer(char* from, char* to)
: {
:     while(*to != 0)
:         to++;
:     while(*from != 0)
:         *to++ = *from++;
:     *to=0;
:
: }

用数组实现的 strcat,如下。

void str_cat_array(char from[], char to[])
{
int i,j;
for(i=0; to[i]!= 0; i++)
;
for(j=0; from[j]!=0; i++,j++)
to[i] = from[j];
to[i]=0;
}

插叙:MYL同学的代码有bug,并且我没有问她要授权,所以不宜发布在这里。她的代码有小bug,逻辑错误,对于当前讨论的问题是个题外话,所以不讨论了。不过,对于写实验报告这个主题,这是个有意义的话题。在实验中,不能假设原材料是干净的,不能假设工具是可用的,也不能假设仪器是校准过的。需要在实验前先"测空白"。就像在哪吒闹海里,祭童男童女就下雨 这个论断,需要先测空白,即不祭童男童女就不下雨,然后再去尝试伪原论断。如果不祭童男童女也下雨呢,那么原论断就不知道真假了。MYL同学的代码有毛病,得改成能跑、跑得对,才能进一步讨论。

插叙:当晚我做了实验答复她,但是为什么花了一个多月才写这篇博客呢。这也是实验报告写作中的一个问题,那就是大家都不乐意写,懒。实验比报告有意思。不过,即使不写实验报告,也应该按实验报告的大纲和要求设计实验、做实验并保证结论严谨。

上述代码,学过C语言的同学都很熟悉。一般教材在这里会指出 *(p+i) 与 p[i]是"等价"的。

诉诸权威,用教材来回答当然也是个路线,这样就不必做实验了。不过,那样需要找到教材,查到原文。不然的话,万一对原文理解错误,小细节没记清楚,被追究到以后就说"哎呀,我没记清啊",真是不严谨认真的人。这也是我不主动不积极回答同学们疑问的原因,特别是事涉人生发展的,因为真是累啊。也有的同学可能说,我对你的意见也不会那么重视,你为啥这么大压力呢。如果你不重视我的意见,还问我羞辱我干嘛,不如去扔个色子。

我当时手头刚好没教材,需要花点时间找。而且,找到教材,就有说服了么?在我的记忆里,教材里没有提到,这是习惯用法,还是效率就是高。即使教材提到"等价",也是指在这样不同的语法下,二者的语义是等价的。语义在这里包括什么呢,非常可能,只包括函数映射意义上的执行结果,而不包括对效率的讨论。即使教材说"习惯上"这么写,我也会认为作者在瞎扯。

好了,所以,需要做个实验看看 二者的效率 是不是一样。如果效率一样,我们就可以继续假设 单单是习惯上的原因。

还有一种可能,你读到这里已经早已按捺不住拍案而起,"我知道,不就是……"这时,要么,我们需要证据和论证过程,而不是拍胸脯;要么,你是权威,我们诉诸你。写实验报告还不利索的同学,你不是权威。或者你是权威,但是早有一天,你会遇到不信你的人,得给出证据和论证过程。这就是学数学的时候,我们哭丧着脸说"我信,我信,我服了还不行么"也不行的原因。早晚有一天,会有不信的人,只有理性、逻辑、证据和论证过程方能说服。

实验是这样设计的。

1. 准备材料,两个数组/指针字符串。

:     char f[11]="0123456789";
:     char t[30]="abcd";

2. 操作

用其中一个函数拼接字符串,拼接 1000000 次。

:         for(int i=0; i<1000000L; i++)
:         {
:             strcpy(f, "0123456789");
:             strcpy(t, "abcd");
:             str_cat_pointer(f, t);
:             //printf("\n%s\n", t);
:         }

为什么拼接这么多次呢?别笑。确实有不止一位同学在做实验的问过我,为啥我测不出来呢。因为次数不够、速度太快、时间太短,所以没测到。我们如何称量1粒米的重量?准备1kg米,然后数有多少粒,用1kg除以米粒的数量。

所以要拼接 1000000 次,为了 明显地可观察到结果。如果你的机器格外快怎么办,再拼接几次。如果 i 的大小超过了整数64位宽,开始回卷了怎么办?好问题,请阅读 CSAPP。

在回到主线——如果 拼接 1000000 次 就可以测到——之前,有的同学可能会问,你怎么知道拼接 1000000 次就够呢。我不知道,我瞎编的,我测了一下。在我机器上40多毫秒,能测出来了。如果时间太长,我就准备减小这个数;如果时间短到测不出来,我就准备增加这个数。二猫他们有一套计算方法,能大致估算出迭代多少次的数量级,我不会,又没请教,所以就靠实验方法了。

3. 测量

在拼接操作之前,测一下时刻。

:     clock_t begin, duration;
:         begin = clock();

在拼接操作之后,再测一下时刻。求开始与结束的时刻之差,这段时间间隔,就
是拼接1000000次所花费的时间,是我们要测量的物理量。

:         duration = clock() - begin;
:         printf( "\n%d ms in str_cat_pointer.", duration*1000 / CLOCKS_PER_SEC );

4. 多测几次

别笑。我确实见过不止一位同学,测了一次就给出结论。类似于,我看到过隔壁张大妈家小子从来不学习还能考上清华,因此我也能。计算机科学学生,误解了算法的可重现性。只有算法具有可重现性,算法在真实世界中的应用,其效率并不可重现,或者说是理论值的基础上叠加了噪音。即使在算法所应用于其上的数据是一致的,在CPU上跑的时候,运行的环境也*无法*保证一致。有没有别的进程,操作系统心情好么,CPU温度如何,对结果时间间隔这个物理量都有影响。

真实客观世界的物理量,如果测量与理论不符,那么就只能是理论错了。即使测量的方法有误,也是我们对测量的方法的理论理解有误。真实客观世界本身从来不会错。

所以外面套个循环,跑10次。

:     for(int k=0; k<10; k++)

5. 对比

跑10轮数组的版本,再跑10轮指针的版本。得到2*10组数据。

此外有图chart和表格table。

无优化

并且! 还要有结论啊同学们。经常有同学把数据拿出来,不给结论。那意思就是傲慢地说: 你看吧,结论多么显然。如果你没有看到这结论如此显然,就是你傻得如此显然。或者,那意思就是,尊敬的老师,证据我已经给出了,结论得由您才有资格尊贵地给出。

结论得写实验报告的人给。如果结论符合假设、实验目的,就把假设或实验目的再说一遍,并且说,实验证据支持 (事实上,波普尔说并不能证实)实验目的。如果实验证据与假设矛盾,就把实验目的再说一遍,然后说,证据与假设矛盾。

得说,明确说。

实验数据展示了,指针的写法比数组的写法 所花费的时间更短,即运行速度更快。拼接1000000次,重复10轮,每轮实验中指针版"大约"比数组版快5毫秒~9毫秒。我到这里就满意了,更严格的实验还应该给出误差范围和来源、方差分布、置信度什么的。

实验表明,在字符串拼写函数的实现中,指针的写法比数组的写法效率更高。结论是假设指针效率高,实验证据展示的是 (在这些特定的跑过的实验中) 指针的效率高,结论与证据间有联系——并且这一联系是否合理也公开出来接受别人的检验。

6. 反转

给出证据和结论,我顺手查了一下理论。是不是在语义上,指针和数组还是有微小的区别。请知道得受不了拍案而起的同学,把解释留在评论中供其他读者膜拜,在这里不是主线,我略过。

看这些资料时,我注意到有人提到 编译优化。我面无表情地做了个"吼"的表情,还是考虑不周。

按下述两种编译参数分别编译了代码跑一遍,发现故事有反转。

: "c:\Program Files (x86)\CodeBlocks\MinGW\bin\mingw32-gcc.exe" point.c

: "c:\Program Files (x86)\CodeBlocks\MinGW\bin\mingw32-gcc.exe" -O2 point.c

此外有图chart和表格table。

有优化

由于优化,代码运行的速度更快了。还是这些数据,还是这些代码,材料和工具都没变,测量方法也没变。原来35毫秒的指针,跑到了10毫秒,快了3倍有余。

更吸引我们注意的是,原来的数组版本受到优化的正面影响更大。数组版本跑到9毫秒,由优化前比指针版本慢一跃达到比指针版本更快了。

往上看,不仅要有图,还要有对图的解读。

优化以前,指针更快;优化以后,数组更快。所以,之前的结论是错的,也许写成指针,只是习惯吧。或者当年尚不能这样优化的时候,指针曾经更快过。

7. 未尽事项

实验"大致"得出了结论,至少比原始的猜测要更深入了。但是,还有些遗留问题,只是通常对结论没有影响,我们就没有讨论。这与"我的证据是假的"但是不影响我的结论不同。而是即使深入讨论,我们也已经准备好了答辩的应对。

比如,在指针和数组实验中,计时都包括了 strcpy 的时间。我们假设,strcpy的效率是稳定的,因此在1000000次计数中,我们可以剃除这部分时间。

诸如这类的假设还有很多,例如我们假设拼接更长或更短的字符串,不影响我们的结论。甚至可能进一步假设接接所花的时间会随字符串之一的长度成线性增长。我们假设 后++ 与 前++ 所花费时间区别不大,因此没有做 前++ 的实验。我们假设传参的时候用数组还是指针对时间没有影响。我们假设先做数组还是先做指针版的拼接,对于结果没有影响。

就像我们假设了物理定律的在宇宙中是普适的,我们假设材料各向同性。

这些假设可能被其他人指出"是错误的假设",或者这些假设并不总成立,或者假设成立是有条件的。我们的结论就要再修正。

公开实验证据,公开实验设计和实验数据;明确说明论证过程,明确给出结论和证据间的逻辑联系。期待别人指出其中的失误。如果暂时没有人指出,要么咱们暂时继续假设结论是对的吧,要么做的东西不值得讨论,不值得别人花时间否定。

全部代码是这样的。

/*
>"c:\Program Files (x86)\CodeBlocks\MinGW\bin\mingw32-gcc.exe"  point.c

>"c:\Program Files (x86)\CodeBlocks\MinGW\bin\mingw32-gcc.exe"  -O2 point.c
*/

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <string.h>

void str_cat_pointer(char* from, char* to)
{
while(*to != 0)
to++;
while(*from != 0)
*to++ = *from++;
*to=0;

}

void str_cat_array(char from[], char to[])
{
int i,j;
for(i=0; to[i]!= 0; i++)
;
for(j=0; from[j]!=0; i++,j++)
to[i] = from[j];
to[i]=0;
}

int main()
{
clock_t begin, duration;

char f[11]="0123456789";
char t[30]="abcd";

for(int k=0; k<10; k++)
{
//---------------------------
begin = clock();
for(int i=0; i<1000000L; i++)
{
strcpy(f, "0123456789");
strcpy(t, "abcd");
str_cat_pointer(f, t);
//printf("\n%s\n", t);
}
duration = clock() - begin;
printf( "\n%d ms in str_cat_pointer.", duration*1000 / CLOCKS_PER_SEC );
}

for(int k=0; k<10; k++)
{
//---------------------------
begin = clock();
for(int i=0; i<1000000L; i++)
{
strcpy(f, "0123456789");
strcpy(t, "abcd");
str_cat_array(f, t);
//printf("%s\n", t);
}
duration = clock() - begin;
printf( "\n%d ms in str_cat_array.", duration*1000 / CLOCKS_PER_SEC );
}

return 0;
}

装机器

装机器

用了7年的旧机器坏了。昨天晚上关机的时候还好好的,早晨开机没有反应了。用过一台型号接近的机器也是这样,当时请包师弟帮助诊断和尝试,没救回来。XL同学送去厂商,说是没救了。
微信图片_20220204221701
zhumao同学推荐过一台机器,真·没有风扇的。我对低频的噪音非常敏感,经常能达到生理的恶心想吐。当初选这台坏了的机器,就是因为它宣称自己没有风扇。但是它是吹牛的,CPU上有风扇,只是电源没风扇。最初仔细听就有声音,后来声音更大了。吹灰没用。

正好趁这个机会换台机器吧,就换zhumao推荐的那个。
微信图片_20220204221659
1. 硬件

新机器来以前,先把旧机器再拆开。确认故障和尝试维修的时候拆开过多次了,这次是为了分解。

原来的硬盘我想留着。因为TM同学说,说不定运气好,安在新机器上什么也不用改直接就能启动呢。旧硬盘数据备份,万一不能启动呢,就得重装系统,到时候别伤了数据。文件多而小,花了几个小时还没有结束。后来我终于不耐烦,只拷出觉得有用的东西。
微信图片_20220204221648
内存说不定也能用上?问厂商,说是能。然而,我瞅着不太对劲啊。旧的内存早就是过时的了型号DDR3,不能用在新机器DDR4的插槽上。照片比对,厂商再观察一次,并不能例旧。拆下来两条,一条加在二猫的机器上。

久不装机器,这许多规范得一一对照识别,再查看插槽和网卡、硬盘、内存是不是匹配。

过了几天,新机器到了。
微信图片_20220204221655
因为在几个不同的地方工作时都要用到,如果有多个电源那么携带时能更轻一些。旧电源没法用,电压不匹配,旧的是19V,新的是12V。找来旧笔记本的电源遍历一遍,电压或者功率或者机械部分,没有一个符合的。只有一个电源,每次必须随身带着了。不过,更糟的是,相比机箱而言,电源并不是最重的。机箱是全金属的,6个表面中有4个面是整块铝车出来的。沉。

为什么不用笔记本?因为我的视力差,严重看不清显示器,所以笔记本带显示器对我是没有意义的。显示器也只能用有架子的,因为需要比键盘离我更近一些。
微信图片_20220204221657
显示器。现在正用的DELL显示器,有dp口、dvi口、vga口,没有hdmi口;新计算机,有hdmi口和vga口。二者的交集是vga口。自从几年前典同学告诉我模拟器件不可用,并且给我一个VGA到数字的转换头以后,我就弃绝了再使用VGA的念头。所以,旧显示器和新计算机之间没有交集。

网上下单买了个hdmi和dp的转换头,想着这样就架起了计算机和显示器间的桥梁。转换器到了以后,试了半天没反应,亮都不亮。二猫妈端着手机,说,"听说这玩意有方向的。"

我令 dp接显示器,hdmi一侧接计算机。这种接法叫做 hdmi转dp,我在网上搜索商品时也使用了这个关键词。然而,买到的东西是 dp转hdmi,与我希望的hdmi转dp方向相反,虽然两端刚好能插进去。这帮家伙怎么学的墨菲法则,能插进去的东西居然有方向性。

好吧,再找 hdmi转dp吧。虽然不太容易找,不过确实有这样的转换头存在,需要另加usb电源,有人说会发热,并且贵,19X元。

型号还真是多种多样啊。而且历史在发展,旧显示器到手的时候,hdmi还没开始大行其道,所以并没有这样的口。后出的新计算机,居然没有dp口。

不能忍加电源和发热,也不想花将近200元这大头钱。解决方案是,买了个hdmi转dvi口,3x元,不需要另加电源。
微信图片_20220204221644
CPU 100%持续一会儿,机壳会温乎,再多一会儿,有点烫手。zhumao说太热并且时间长,可能会损坏硬盘。一般情况,室温20度左右,机壳是凉的。这个无风扇方案推荐了几位同学,fwyx和ztz同学分别说,打不了游戏。他们指的是我没玩过的新游戏。

2. 操作系统,以及必备的工具

原来硬盘上的是win8操作系统,启动失败了。进入命令行修复,查了一些网上的资料,不顺利,许多分支需要探索,很多坑需要填。TM同学说,你放弃吧,win8都是什么年代的古董了。

PE系统用的TM同学推荐的ventoy。按TM、FKJ、MC同学的建议,装了win10。只有2个没有自动识别的设备,用搜索就找到了。按TM同学的提示设置禁止了更新。

重装了操作系统,而且不能升级,所以硬盘格式化了。
微信图片_20220204221643
- emacs 日志

从旧备份里拷来的旧版本,所以配置文件稍微修改,仅注释了 color-theme,就能用了。以前装新机的时候下载了新版emacs,导致配置文件失效,改了半天,颇为后悔。新特性极少带来惊喜,经常带来麻烦。

- git 版本控制

下载了新版本,使用旧的repository。原来机器上修改过 hosts 文件,把repository 的 IP 设置成名为 git 的主机。忘了备份。查更旧的记录,不能确认是最新的IP,不过连接超时。从zhumao处要到新IP,好了。

ssh。win10下git通过ssh连接远程,需要单独设置一下:

: $ cat ~/.ssh/config
: Host git
:     User git
:     PubkeyAcceptedAlgorithms +ssh-rsa
:     HostkeyAlgorithms +ssh-rsa
:
: 我还执行了
: ssh -o HostKeyAlgorithms=+ssh-dss git@git

- 五笔

微软 win10的五笔支持与拼音混用,符合我的要求,不再装QQ或者搜狐五笔了。默认7字长的候选窗口在emacs下是黑色一长条,里面的内容看不到。设置成3个字,好了。有时候切换反应慢,重启机器好使了。原因不明。

这样,能写日志,能保存工程文件,我的机器就可以开始工作了。
微信图片_20220204221641
3. 软件

- 各种密码

大部分网站的密码都记在了浏览器里,而不是脑袋里,所以回想、尝试、找回密码。

- gpg, gnupg Gpg4win 加密

用cleopatra导入了旧的私钥。

//以下log有省略。
: c:\Users\Young\.ssh>gpg --import younggift.gpg
: $ gpg --edit-key younggift
: gpg> trust
: Your decision? 5
: Do you really want to set this key to ultimate trust? (y/N) y
微信图片_20220204221652
- calibre 电子书工具,转换、阅读、kindle管理

- 滴答清单

- firefox

- 火绒

- firefox及插件

-- adblocker ultrimate,屏蔽广告

-- dwhelper with coapp,帮助下载视频、音频

-- Export Tabs URLs,导出tab中的URLs

-- Tampermonkey,猴子脚本

-- Vimium C - All by Keyboard,仅用键盘打开网页上的链接、x关闭tab
微信图片_20220204221647
- total commander

从旧备份中复制,以前的授权和配置一并导入,配置仅略修改。设置部署字体为
microsft yahei mono,是 微软雅黑 和 consolas 的混和。

- vpn & 远程桌面

又 需要找到远程桌面服务器的地址、用户名、口令。

- everything 快速文件搜索工具

- filezilla client FTP文件上传下载

- 微信
微信图片_20220204221654
- 上下翻转显示器

这还需要物理世界里手动操作。我的显示器是上下颠倒的,因为显示器在键盘的正上方,下降时连线可能触到手背,所以显示器上下颠倒,插线的接口朝上。也要在操作系统中设置。

- 关掉操作系统休眠

节省硬盘空间,大小等同于内存大小。保留定时关闭显示器和硬盘,省电,避免不用时显示器太亮,希望能有助于硬盘寿命。

- office

有些工作要求只能使用word,不要尝试其他的工具能不能兼容。

- 蓝牙

以前的蓝牙模块在旧机器上表现不好,声音卡顿。同一副蓝牙耳机与手机连接就没有卡顿问题。在新机器上,这个现象消失了。新机器没有蓝牙模块,正好用旧的这个作为外接。设置为 hands free 模式,不卡顿;stereo模式有时卡顿,有时 stereo 模式会消失,原因不明。

- sai2 以及 手写板驱动
微信图片_20220204221703
- snadboxie plus x64 沙盒,避免应用程序污染操作系统

在 sandboixe 里面安装了不得不用的 360浏览器,教务处和研究院的系统只能用这个,别的浏览器没有一个好使的。

还在 sandboixe 里面安装了 迅雷影音 和 百度网盘。
4. 未来

昨天又安装了jre。很快,就会逐渐安装越来越多的工具,gcc, opencut, audacity, math...有什么活儿,就得装什么软件。虽然可能长时间不用,但是需要的时间希望它就在手边。工具正如书籍,需要时刻相伴。有过老同学借书被拒的时间说,"你也太抠了,我的书都可以借你。"我说,"我们都爱书,不同的是 你读书是爱好,我读书是工作。我需要的时候,他们就需要立即在,不能等。就是生命。"

微信图片_20220204221650