目录

人生工程 —— 2021 三分之一

上一篇说到记录生活的四个粒度:按日记,按周记,按月记,按季度记和按年记。原定计划是按周记,但实际上没有实行,退到按季度记也没有实行。现在将今年的前三分之一(1~4月)补上。

我本来是想把一些思考总结到这篇记录里面,但是写着写着发现内容太多了。每个小结基本都能单独作为一篇文章,因此打算拆开分批发出。

这一篇我打算先检查原定计划的完成情况,并进行适当调整,然后再补充一些新的内容。

计划的完成情况和调整

运动

原定计划:保持每周三次运动,仍然以跑步为主。

完成情况:符合预期

2021 年 1 月至 4 月共运动 44 次,其中 43 次跑步,平均每周运动 2.7 次。原先预期的两个风险(春节、加班)都没有造成影响。

这段时间有 39 次是在跑步机上跑步,速度和之前说的一样都是 14km/h(配速 4'17")。

有 38 次跑步时的平均步频是 180 步/分钟,其他 5 次都在 170 步/分钟以上。

在 1 月底开始可以在跑步机上跑 4 公里。到 4 月结束,共有 29 次跑 4 公里以上。原定 4 月进入 5 公里的阶段,但没保持住。我在 3 月下旬尝试跑 5 公里,在成功之后仍然按计划跑 4 公里。直到 4 月才开始继续尝试 5 公里。其中 4 月中旬成功 1 次,下旬成功 2 次。四个月共跑了 4 次 5 公里。

4 个月期间,有时候状态差只跑 3 公里,有时甚至是只能跑 2 公里。从开始跑 4 公里后,少于 4 公里的共有 5 次。这倒不是什么问题,对我来说,只要有运动就行。不过进入 4 月,发现状态下降得比较多,不知道是否跟气温有关系。

如果在周一、周三、周五有聚餐(通常是周五),我会无压力地鸽掉运动,也不会去补。如果是周一有活动,我会在周日提前运动,不过到目前为止只有一次需要这么做。

阅读

我的计划是看以下几本书:

  • 吕思勉的《极简中国史》
  • 九边的《西方博弈往事》
  • 马克思的《资本论》
  • 《领域驱动设计》
  • 《实现领域驱动设计》

当前阶段主要看的是《资本论》。我是 1 月 3 日开始使用手机的 Kindle 软件以及 Kindle 设备上阅读这本书。在 3 月 1 日看完第一卷的第一篇\【商品和货币】和第二篇\【货币转化为资本】,然后回头再看一遍。

第一遍主要是总体有个印象,有一些不太理解的地方直接跳过去了。在第二篇结束后,我认为很有必要先回头再看一遍,而不是继续往下看。

在 3 月 1 日后,回头再看第二遍。这次看,会把一些有助于理解的句子标记起来,把一些理解后的笔记记录进去。现在看到第一篇第三章。

我打算近期发一篇总结。五一路上写了一小部分,一千多字。还需要不少时间完善。

有很多人对《资本论》有误解,说阅读《资本论》或者马克思的著作,会有危险的思想。我反倒觉得会散步这种论调的,主要是那些只想着剥削的资本家,或者为他们说话的人。另外还有相当一部分人是受到这些人话语的影响而跟着一起说的。认真阅读过和理解《资本论》的人,会认为读这本书无论是对自己还是对国家都是有好处的。

我本来在 B 站上关注了个讲马克思和《资本论》的 up 主。这个 up 主貌似是美国一所顶级大学的学生。但我看了视频之后,认为视频的价值有限。up 主跳过了最重要的资本论的第一篇和第二篇,大谈特谈后面的内容,句子绕来绕去。很容易造成观看视频的人一知半解,然后拿着模糊的结论当真理。不过也有可能是我的理解能力有问题,所以我打算在看完《资本论》后,再回头看这些视频。

等把总结写完后,我会先去看其他书。

当前读书这部分达到预期。虽然中间有几次觉得有中断,但现在基本每天都有看一些。

作息

作息可以说是完全没有改善。不过最近起床时间提前了。睡觉时间有提前的趋势。

起床时间提前不知道跟我在睡觉时戴上眼罩有关系,需要花一段时间实践对比看看。

考高中数学或物理的教师资格证

本来计划是上半年报名的。但是折腾半天发现没法报名这边的考试。因为报名需要居住证,而我刚过来才半年,居住证得一年才能拿。

老家那边的也不是不能报,但来回动车太久,顶不住。

报名下半年的吧。下半年的笔试报名时间是 9 月。

开始学习投资,并做适当的实践

原先计划是下半年开始,所以现在没有什么准备。

最近经常听同事聊各种“币”的涨跌,我心里没有任何波动。毕竟买这种币不符合我的价值观,涨一万倍都跟我没关系。

技术上的提升

哭了。技术上的提升现在基本都靠项目,不过也还算有提升。

其他的是了解了一些知识点,例如:

  • Python 的 GIL
  • 守护线程、用户线程、守护进程、后台进程、终端
  • CDN 的 DNS 解析、与调度的关系
  • Linux LVM
  • 锁的硬件层支持

这些得花一部分时间整理出来放到博客上。

博客

符合预期。

  • 1 月发布了篇跟时间戳相关的博客
  • 2 月就是 2020 的总结
  • 3 月有一篇终端的发展史,以及 6 篇跟硬件开发相关的博客
  • 4 月写了两篇跟软件工程相关的博客

终端那篇严格来说还没写完,还有一个跟后台进程相关的内容。

这篇发布的时候都六月了,但这是五月份写的,只是后来多了一些内容,没有先把这些发出来。我觉得应该算到 5 月去。

2021 的前三分之一

春节

这次春节和往年不太一样。主要是我刚经历了质变,刚好可以试试看在春节这种需要和很多人聊天的场景能发挥出多大的作用。现在回过头来看,已经超出我以前的预期了。

读大学以前,我反应慢、胆子小、不会说话,于是就选择尽量少说或者尽可能独自找个地方玩手机。不过在经过十年左右的安排后,现在已经达成了最初设定的目标。现在反而会去主动找别人聊。

虽然我还是单身,但七大姑八大姨并没有为难我,我和她们聊得很开心。在聊天过程中,已经让她们知道我现在成熟到可以自己做出合适的选择了。另外有的亲戚帮忙介绍女生,除非有其他事情安排不来,否则我肯定乐于多认识一个人。安排不过来的,我也当面对亲戚表达了感谢,希望有机会还帮我介绍。

原先计划春节期间写几篇技术博客,不过机会不多,就没写了。以往春节都是倾向于待在家里,但这次倾向于出去外面。光是找亲戚就花了绝大部分时间。反正我是挺享受这种和人交流的过程,特别是还能保持和亲戚关系。

碰到了传教的人

三月份某个晚上,我因为在公司的健身房跑步,到九点才回去。路上碰到有个教徒向我传教,我听了大概一个小时,感觉 ta 还需要多练习。

本来是想一开始就走的,但是 ta 比较热情,而且我想了想,这正是一个了解他们想法的机会,就停下来听了。

我做了两个准备:

  1. 暂时屏蔽了负面情绪的生成
  2. 开足脑力使用逻辑思考

第一点是因为好像有些人碰到这种事情会自然而然地产生抗拒的情绪,可能觉得浪费时间,甚至会觉得这是一种试图洗脑的行为。洗脑一般是要让人产生负面情绪的,屏蔽负面情绪的生成可以在一定程度上防止被洗脑。屏蔽以后,可以从对话中察觉到一部分 ta 想激起负面情绪的话术。

第二点是为了了解 ta ,当然也有保护的作用。我很想了解所有人(无论是否信教)对一个问题的看法是什么。这样我在看问题的时候就可以增加一个角度,在必要的情况下可以照顾到他们的感受。

毕竟第一次碰到,谨慎一些。

在聊的过程中, ta 几次想要调动我的负面情绪。例如:

  • 说我加班这么晚(后面那句是啥我忘记了)
  • 说我压力应该很大
  • 说到金钱的邪恶,物欲横流什么的
  • 问我是不是有很多缺点困扰着自己
  • 问我是否有想清楚想成为什么样的人

听到第一个问题,我就联想到 ta 在这个时间点传教客观上可以提高成功率。加班的年轻人确实可能会有点情绪。而且加班也累,思维可能一时理不清晰。我不确定 ta 是否有这个考虑,但我刚好是不是加班,而是跑步。跑步不仅有助于产生正面的情绪,而且还能让头脑清晰。我回答我是刚跑完步,不是加班,ta 估计愣了一下,这话不太好接。

我觉得我现在的压力反而变小了。我正想办法给自己找压力,不然过多地投入到对未来的投资而陷入短期危机,倒是反而会影响未来的发展。

我这个人绝大多数情况都是买适合我的东西。不会为了炫耀而多花钱买我用不到的东西。我给我爸妈买的东西也突出一个实在,满足他们的关键需要。如果我拥有了远超出我为社会创造的价值总和对应的金钱,大概率是存着或者捐给学校。

关于缺点这事,ta 举的例子是自己以前很自大(ta 是国内排名前几的某 985 大学的研究生),容易愤怒,压力很大,信教后好了很多。我想说我们俩刚好是相反的,以前我倒是会因为自己能力不行而感到自卑——比如觉得配不上女生而不敢去追,不过我已经自己解决自卑这个问题了。但感觉会伤到 ta,所以实际上没说。我现在的缺点其实是专业能力不够强,和我给自己定下的目标相差非常大,不过这得靠努力学习和工作去提高。不是信了教我就能写出非常牛逼的代码或者设计非常牛逼的系统的。

其实我是很好奇 ta 具体因为啥才有这些缺点,说不定我能帮 ta 想办法从根本上解决问题。不过想了想觉得不妥,这可能会反而给 ta 带来困扰。没有主动寻求帮助的人,是需要谨慎选择帮助的。要避免自以为是地认为只要是为了对方好,就能擅自去帮助对方。到时不但帮不上,反而还会扯后腿。

我不太清楚别人被问到有没有成为自己想成为的样子时,会有什么样的情绪反应。我之前可能会觉得自豪,毕竟我去年年底刚刚成为我小时候想成为的样子。现在虽然也觉得开心,但有更开心的事情,也就比较平淡了。我觉得在那时候问我这个问题,真是撞枪口上了。我大概回答的是“我十年前就已经思考清楚这个问题了,然后通过十几年的选择和努力,现在提前成为了我以前所设想的样子”。我不清楚这个回答对于一个信教的人来说,会有什么影响,只是看 ta 似乎没有情绪上的波动,还是希望不会影响到 ta。

ta 后来提到本来自己也不信教,但是第一次去感觉教堂很震撼。对于这个现象,九边之前的文章有专门写过。

后面 ta 还拿出一本仔细保护好的经书带着我看,我认真看认真听。同时思考让 ta 相信这些的条件是啥,但是因为没法关联到类似的体验,一时想不出什么东西来。以前在知乎上看到有答主说他大学舍友看了某本经书后,如获至宝。其实我一直蛮好奇的,只是我需要在确保自己有足够的分析能力和自我管理能力的时候,再去阅读。

前后大概一个小时,基本都是我在认真听,认真思考。中间有尝试问了一两个问题。如果是为了解决问题而提出问题,那么问题和回答通常是很具体的。但我发现对于这种问题, ta 不是正面回答,而是通过抽象地讨论回避深入思考和具体回答。我觉得我再问这种问题,可能会吓跑 ta,就没有继续提了。

最后我们互相道谢,结束这段令双方都感到愉快的对话。

硬件模块

我一直想在硬件上做点东西出来,用硬件可以做出很多对生活有帮助的东西。以前想做一个用手机控制关灯的设备,但是往模块写入程序后愣是没有反应。后来也不需要了,就一直没碰。

这次因为我想减少使用线连接到电脑的设备,但是又不好把我这机械键盘换掉,于是就想着把有线机械键盘改装成蓝牙键盘。

我一开始是想买蓝牙模块做,因为这样总体比较便宜。但是比较麻烦,要学一些硬件知识,比如模块各个引脚的使用,以及通信协议。于是先用我手头上的树莓派试试效果,到 GitHub 上找到别人写好的代码跑跑看。用是可以用,但是不够完善。

想想还是狠下心来买蓝牙模块,顺便了解一波硬件知识。

我的思路是把蓝牙模块和 USB Host 模块连接在一起,机械键盘使用 USB 线连接,然后蓝牙连接到电脑。给模块配一个电池,就可以用了。

最开始查了很多别人写的相关文章,但总体上都是蓝牙模块 + Arduino + USB Host Shield Mini。我想如果使用蓝牙和 WiFi 一体的 ESP32,那是不是就可以去掉 Arduino 了?

由于有上次失败的经历,这次直接购买开发板。关键是开发板也各不相同,最开始买的开发板没有详细资料,还得我自己看模块引脚和线路板的连接线,找到每个焊盘对应的含义。

在了解了各个模块的作用以及引脚的连接方式后,写入程序。结果发现手机和电脑无论如何都找不到蓝牙模块的蓝牙。重新买了一块 ESP32 的其他类型的开发板,刷进去还是没反应。

于是想着是不是得用 AT 模式开启,结果刷入 AT 也用不起来。

又卡住了。以后再尝试看看。

家庭

四月份跟爸妈去景区玩了一趟。回忆了一下,以前去玩的时候,总是会和其他人一起。人一多,总是要多花些精力在和其他人的交流上。

和父母一起的三人游,额外增加了很多幸福感。以后还会增加一个人,然后再增加一到两个人。

个人的奋斗在多个方面或层次都有一定的意义。作为其中之一的个人方面,确保这种幸福生活的可持续性是不断奋斗和进步的很重要意义。

有的人在工作一段时间后,会过于注重事业而忽视家庭,或者过于注重家庭而忽视事业。而我要实践的是两者兼顾。这很难,但我有多少次是在人生道路上选择简单的路线呢?既然承受能力强,那就尽量选择艰难但能获得更大收益的路线。

我爸以前也是把大部分精力放在事业上。近几年通过我们的努力,现在我爸经常带着我妈去各种景区玩,酸到我了 555…

接下去就是通过规划和实践,达到两者兼顾。

软件工程

四月份写了两篇软件工程相关的博客。起因是看到软工老师分享了一篇北航软工课程学生团队的软工博客。第一篇是写我对这篇博客的理解,以及加一点评论,没想到就有三千多字了。发表后得到了一定的肯定,说明我至少不是在误人子弟,还好还好。

北航的同学看完后提了个问题,我发现这个问题比较大,不太清楚应不应该回答。于是去找我大学时的软工老师征求意见。他看完我第一篇博客后,给予了对我来说很高的评价。我想既然如此,就专门写一篇博客回答这位同学的问题吧。

我一开始没想着大概写多少,但是列出大纲发现涉及的内容还蛮多的。不知不觉写了几千字,赶紧收住,不展开太多。最终写了将近八千字的博客作为回答。

由于写这些内容需要花的时间比较多,比如第二篇花了我将近一天的时间,于是决定今年还是少写软件工程的内容比较好。

软件工程是工程学在计算机软件领域的具体应用。我们非常幸运地可以通过软件工程去学习人类智慧的结晶,即工程思想。计算机软件领域的快速迭代,提供了一个很好的体验机会。我们可以从开源中直接接触那些最具有智慧的人的实践,了解一个伟大产品的发展过程。

我不太清楚其他工程学的具体应用(例如生物医学工程、土木工程、水利水电工程)是否也有类似的机会,但我可以肯定的是软件开发领域的机会非常多。

有的人会说,软件开发工程师只是一个业内发明出来用于抬高程序员逼格的称呼。这其实不是本意,只是可能被误用了。工程能力强(而不是写代码能力强或是算法能力强)的程序员,确实应该称为软件开发工程师。

在我的理解中,工程就是想把理论合理地与现实结合,提高现实资源的利用率,并把实践的结果反馈到理论以帮助理论发展,从而进一步提高现实资源的利用率。我当时在博客中写下我对工程的目标的理解:

工程的目标是:在当前社会环境中,工程实施者使用有限的资源,把能创造的价值最大化,并将其凝固在一个产品里面。

我不太喜欢把自己局限在一个狭窄的范围内思考,总想把事物的发展联系起来。在过去的思考中,我想到了社会的发展不也是一个工程么?

人们对社会资源的理解程度不同,对社会资源的转化能力不同。我们由于自身能力水平的限制,以及信息量的限制,导致很容易误判。已经拥有一定量的资源时,有的人就想要开始享受,而不去管现有的资源是否能够长久地保持稳定或者增长,即可持续性。

现在网友们老说兔子摸着鹰酱过河,都快把鹰酱摸秃了。鹰酱在拥有丰富资源的时候没有为可持续性付出足够的行动就开始享用维护成本远高于时代的好处,以至于不断地走下坡路。我兔为了避免这种情况出现,就算是挨骂也要不断发展。

对于个人也是这样。在我的意识中,有一个“人生工程”的概念。人生工程是对在哪个阶段应该做哪些事情以及做到什么程度的探索和实践。我在软工博客里写到现在领导要是给我一个不怎么写代码的职位,就算是加薪我也不干。正是因为我认为我还没有在写代码上有足够的积累,一旦现在错误地高估我已有的资源,那么未来一定会碰到大问题。

工程学是一个很大的话题,不过要是想通了“为什么在客观上人类一定会不断进步”,就很好理解了。