MoreRSS

site iconLipeng He修改

滑铁卢大学的学生、软件工程师和研究员。研究兴趣涵盖计算机安全和密码学理论与应用
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

Lipeng He的 RSS 预览

未选择的路 The Road Not Taken | 2022 in Review

2023-01-06 12:25:11

圣诞快乐

2022,我人生中最糟糕的一年。庆幸的是,总算都过去了,圣诞快乐! 对于许多人来说 2022 都不是容易的一年,席卷全球的经济萧条,后疫情时期的混乱状况 —— 多少人在今年失业、失学... 年之终了,更多的抱怨和悔恨对任何人来说都没有意义,我也不希望自己将这些负能量带到新的一年里。所以与其沉湎于过去、巩固消极的证实偏差,让我不妨以更乐观的态度来结束这一年;并试图去理清思路、寻找和总结问题,或许能激发一些新的洞见,也与同境遇中正在挣扎的人共勉。
Success is going from failure to failure without losing your enthusiasm. -- Winston Churchill[1]

问题与后果

不论心态是多么的积极,当回到总结本身时,我的 2022 毫无疑问是彻底失败的一年。有一些明显直接的原因,也有许多间接或是暂时还没有意识到的错误,在着手调整的过程中会逐步总结。以下是我企图改变这糟糕的现状而记得一些流水账,反映着我的写作和结构化思维能力在这年里遭到的恶劣退化。虽世殊事异,所以兴怀,其致一也[2]

模糊的目标,敷衍的执行

我几乎没有在 2021 年的年终总结里提到任何的目标与计划。 [fa_insert_post ids=962] 当时的我天真地认为 2022 年将充满着巨大的改变和转折,计划将始终无法更上变化;与其花时间在设计缜密的规划上,也许走一步看一步更有操作性。事实证明,计划只会催化变化,而很难会拖慢变化,特别是对于目前的我而言。来到加拿大后,我几乎摆脱了所有来自家庭、社交圈的约束,这样的境况加之对于生活、学习、职业道路目标的缺失,一时间混乱和迷茫也可以解释得通了。 只有大概方向、没有计划的每一天充满了拖延与挣扎。拖延是因为我不知道在什么时间点什么事情应该有更高的优先级,往往就服从了人之本性做最容易或是最符合「心情」的事。往往这些事情对实现目标的贡献都少之又少,更不要说花在娱乐和消遣上的时间了。有时我会发自内心地恨自己,下定决心要改变,然后又重蹈覆辙。 所以 2022 年的我就一直在赶着各种截止时间点在走。每周的作业、考试复习、实习工作的面试准备等无不是最后时刻抱佛脚。即便是提前有时间来做准备,我也宁愿将精力花在毫无意义的闲杂琐事上。

转折中失去了掌控感

准备将职业和学习方向向「密码学」调整。年初说到年末,除了选上了一门应用密码学课之外,也没有做其他任何的深入了解。我的数学一直不好,但专业偏偏又是数学。错过了转专业的最好时机,本科以来我一直在努力想找到某个可以将数学和计算机科学相结合的专业方向。但是每次遇到一些合适的选项,就会陷入纠结和自我否定,不确定自己的数学能力/智商能否胜任。没有完成这个任务之前,每天的时间在我眼里都是碌碌无为的,是在为了不切实际或者不存在的理想而奋斗。2022 年国内考研的艰难状况让我深深地为未来我的研究生学业和科研道路担忧。于是,在转变之中,自己到底擅长什么开始变得模糊起来,自身的缺陷却显得愈发显著,到了最后所以的理想和追求都看起来像是会注定失败。

不尽人意的环境

1 月,结束了上学期的 Co-op 实习,从多伦多搬回滑铁卢。不小心错过了火车,于是只好带着大包小包的行李顶着雪做天价出租。到了租到的房子里才发现,实景与图片大相径庭,却已匆匆忙忙签了合同,没有反悔之地。然后不幸又遇到一位邋遢无比的室友,让房间里充满了各种令人厌恶的东西 —— 猫臭、布满油渍的烤箱、微波炉和冰箱、损坏的暖气和空调... 我也就是在这样的环境里在加拿大的严冬开启了新一学期的生活。 刚来加拿大住了 4 个月多伦多大城市,不觉有任何不适,交通、设施、氛围都很符合心意。到了卢村,一切都变得麻烦起来。去银行存钱、去打疫苗、去看电影,去做任何要使用公共设施的活动至少都得花上个大半天。路程远就罢了,公交车还只有 20 分钟才发一趟次,周末所有门店还不开门 :) 5 月,又开始了新一学期的 Co-op 实习。和上一次的工作环境可为是完全不同,我被放进了一个完全没有活力和奋斗氛围的研发团队。以稍微直接一些的方式地描述出来,就是一群中庸的码农在做着价值极低的事情。实习生的工作性质甚至有些像临时工,领导对代码的最高要求是「能用就行」,他们不在乎设计模式、不需要抽象、不考虑可维护性... 以至于我能为他们做的工作有很多很多,但真正能学到的专业和职业技能少之又少。当然,这都是不加修饰的主观体验,对于事实情况不同的人也许有不同的解读。最终的问题绝不只是由一方造成。当我意识到环境的不佳时,我没有选择及时、主动地与领导沟通企图解决问题,而默默地适应和逃避掉了责任。各种原因掺杂给我提供了一次非常差劲的实习工作体验,这也为我坚定读研提供了许多的动机。

几乎不存在的社交生活

我不需要什么社交生活,我有独立且强大的内心,我经常对自己这么说。不过是只会逃避的懦夫心态罢了。有一种心理学现象叫「思维反刍」,指的是人们过度地、反复地重温过往的负面经历和感受,以至于沉湎于过去的失败,进而干扰专注解决问题的能力。我所指的社交生活不只是和朋友的打闹嬉戏,社交环境还充满了思维、语言甚至行为的碰撞和摩擦。这能将新的想法、观点和视角注入所有参与对象的脑中,进而潜移默化地影响人的言行。一个人呆久了,坏的想法很容易被固化,而好的想法却经常被忽略。这直接导致了我的 2022 长期由抑郁的阴霾笼罩。
Design who you are with, and find diversity of thought, then it will bring out something different in you. -- Laurene Powell Jobs[3]

原因与动机

以下是一些我已经主观意识到存在问题的生活方式和习惯,但大概率还存在许多暂未被发现却在暗中给我的生活产生负面影响的微妙问题。定位并应对这些缺陷将是 2023 年我的首要目标。

身心健康对生产力的直接影响

作息规律是不存在的,每天不是晚睡就是晚起,有时甚至无法强迫自己起床上课。令我不解的是,读了这么多年书,我从来没出现过这种问题。更奇怪的是,我对上课这件事没有任何的感觉 —— 没有厌恶也没有期待。作为一个学生,上课却对我而言成为了可有可无的一件事。 除了作息规律混乱之外,饮食也毫无条理。起床时间不固定就意味着早饭时间不固定,然后午饭和晚饭也相继后推。更不要说营养搭配了,高碳水高脂肪食物占绝对主导地位。然后就导致血糖的不稳定,时不时就会发困,一整天昏昏沉沉。

过度的内容消费

被动地接受信息是对大脑的溺爱,过度的内容消费是精神毒品,甚至比普通毒品影响更加隐匿且深远。人是怎么废掉的?当你花大量的时间去接受大量无价值的信息让脑中充满垃圾时,大脑就失去了创造力、失去了设计感、失去了改变现状、追求进步的原始冲动。2022 年里毫不夸张地说,我看了不下 100 部电影、电视剧,播客的收听量被大大压缩,书也是开了许多头而没有一本被读完。浪费无数小时的时间在没有任何意义的内容消费上,人就是这么废掉的。

被动思维

无论做什么,我都必须给自己一个理由,否则干任何事都是由于「心情好」。我长期维持着这一理性的办事准则,但却总是疲于思考和找寻做任何事的动机,最终又开始怀疑人生、质疑一切的意义。每天的我都是被迫于生活和学习的压力在忙碌着,可以说毫无主见地生活,实则是悲哀。上课到底是在出于什么样的目的,想要实现的到底是什么目标?仅仅是为了「不被写入缺勤记录里」或是「记录会在考试中出现的重点内容」吗?这些理由充其量不过是为了上课而上课的借口罢了。如果真是出于这些目的,那我大可在家自学,还需要去上课吗? 真正驱动着我们去上课听讲的只应该是对科学文化知识的渴望。

可怕的舒适区

这一年过的太舒适了,我几乎躲避了所有的挑战,蜷缩在舒适区里,错过了许多机会。我现在无法想象到了研究生申请的时候有教授或者领导能为我写出一封不只是敷衍而成、充满套话和通用形容词的推荐信。我总是会在表达自己的观点之前就失去自信、时常过度地怀疑自己的能力,以至于即便我是满腔热血,也没有人能懂我的追求。

解决方案

年轻带来的一大好处是随时可以重新开始的机会,这个先决条件解决了做出改变的基本的要求。现在我们的面前又出现了另一个悖论 —— 我该怎么才能确认我新提出的修正计划真正能够帮助我改善现状,而不是将我拖进更深的深渊?Well, you can't. But god knows you can try. 大家都明白,失败是成功之母。尝试然后失败至少比无作为有用。

态度与计划

我们当然可以大谈特谈做计划这件事,但落到实处时如果如嘴上功夫那么简单,那 2022 年的我也不会出现如此之多的麻烦了。计划的设计因人而异,对于我这种拖延症晚期患者而言,我们需要做一些创新的尝试。
态度的转变
对自我的约束和要求是影响行为的重要因素,就短期而言,我很难做到全部所做之事都出于 Well-motivated 的目的,我也不希望生活过得像机器;所以许多决定都是需要事后再说服自己的。那么,想要对所作所为做出改变就离不开态度和心态的调整。自控力实在是被过分高估了,换一个视角来看自我约束这件事,我希望能:
Judge people by their Say/Do ratio. 以其说和做事的比例 (执行力) 来审视一个人。
提高效率,并约束自己更清醒地去做无论是对他人还是自己的承诺。 另一种心态的改变是尝试去欣赏和感激身边的人事物。就像许多人喜欢让房间里、办公桌上充满其所爱的东西 —— 家人/宠物的照片、手办、日记本等一样。感恩之情能激发人对生命、生活的珍惜,进而将这种珍惜转化成喜悦与热爱,所有事情都会变得更有意义一些。
深度工作
也许是有些陈年的论题,但最近一段时间里我对互联网导致的所谓信息爆炸有了一些更深的体会。社交媒体的种种干扰与诱惑、触手可及的各种媒体消费渠道,有时会感觉有些措手不及,有时又觉充满乐趣难以抵抗。然后... 生产力?就不需要再提生产力了。 所以最近开始在尝试以天为单位规划日程、划分周期。周期大致有这么两个类别。深度工作 (Deep Work):专注、不间断、不分心的工作周期,在周期内剔除所有干扰 —— 社交媒体、电子设备、甚至是一本书,移除所有可能将注意力分散的事物,然后让认知能力推到极限。与其相对的是浅度工作 (Shallow Work):用于回邮件、看教材、看 Paper 等不需要特别专注也无法产出非常多价值的事情。Calvin Newport 在他的书 Deep Work 中提到,深度工作方法帮助知识工作者学习并掌握新的技能,然后更好地运用这些技能增加产出。类似这样: deep work demo 当然,不是所有人都有深度工作的机会和环境。我十分幸运还处于大学阶段、滑铁卢农村也没有太多的干扰,学校也有环境不错的图书馆,深度工作法有发挥的空间,于是不妨尝试。下学期实习我也会去坚持做类似的时间规划,并尽我所能培养其为长期的习惯。
目标与系统
人习惯于寻找所有事情的绝对定义,以至于大多数人时常对自己有比较顽固的设想。一时的失败就注定了一辈子都是失败者。其实普通人是很少有一失足成千古恨的机会的,大部分时候都是人把自己定义住了。幸运的话这个定义能给你带来一些好处,比如科学家、运动员、伟人等,它们以偶像和理想的形式存在。运气不好,或是遭遇挫折时,定义如果发生改变,大多数情况下在未来很长一段时间人的心态和行为都会是负面的。目标的设置更是会加重这个影响。在达成前,我们都是失败的;达成后,又会顿觉虎头蛇尾,然后迫切地寻找下一个目标。在我看来,一套可持续的系统是更有利于个人成长的目标机制。如果你想取得高分,你需要做的不是将这个目标裱起来公之于众、并时时刻刻提醒自己,而是设定这样一个系统:[每天]在[9:30]我要花[3 小时]来[学习这个科目的教材、复习这个科目的笔记],或者[每天]在[图书馆]我要花[2 小时]来[看一篇这个领域的文章]。没有人造的量化指标、没有评估方案,我只是在遵守我的系统在规定的时间和位置去做这些事。系统流程的每一次执行都能创造一次积极的反馈,催化一些正向的定义改变。一个简单的目标无法提供这样的体验。 其实就像祈祷一样,如果你向上天许下改变世界的愿望,上天当然不会直接帮你将这个世界改变了,但它会给你一个改变世界的机会。

方法论

习惯的养成是非线性的,包括我在内的大多数人在试图建立起任何习惯时,都将会经历一个必要阶段 —— 失望之谷 (The valley of disappointment)。重复地做一件事很容易,也可以很困难。在习惯养成的早期,训练和执行没有激发对个体的直接影响时,耐心与毅力就成了必要因素。计划的落实也是这个道理。我用 Todoist 做待办清单接近 4 年,愈发觉得对软件的依赖丧失了所谓的「形式感」。完成事项,标记并从清单上清除,然后转移重心到下一项。周期结束后,列表被清空,回过头来再想回顾和反思在已完成的任务中学到了什么、哪些方面还有欠缺时,就变得不那么自然了。 与深度工作结合,我最近开始尝试利用看板 (Kanban) 与艾森豪威尔矩阵 (The Eisenhower Matrix) 来可视化一周内的所有事项和任务。 星期一开始前将所有预期到下周内会需要完成的事情填入矩阵,上周未完成的事项也依次推移至本周: The Eisenhower Matrix 然后从「紧急且重要」象限开始逐步执行事项,并通过看板跟踪状态: Kanban board via Shutterstock 将某项事情推入「完成」状态有了更多的作用和影响,为回顾和反思提供了机会,也让完成工作更有动力。 当然,这些方法论的实践对空间和时间投入都有要求,投资回报比也是见仁见智。和对待任何人提供的建议一样,请 Do your own research.

总有更值得做的事

平庸的生活方式是麻醉药[4]
逝者如斯夫,不舍昼夜。哪怕任何事都不做,这一天也会与往常一样匆匆结束。大学的时间更是不可多得的宝贵 —— 三省吾身,今天的时间是否过得有价值。理性地权衡在什么时间点做什么事情,是确保时间不被错误利用的基本要求。在打着各种华丽口号的诱惑面前保持清醒,然后时刻告诫自己:总有更值得做的事。

普通且自信

我一直以来我都认为「自命不凡」的好处要比坏处更多,但是生活和学习的压力逐渐增大之后,普通人的本性暴露无遗。但即使没有取得优异的成绩,我也认为人需要保持自信,普通且自信。因为失去对自我的信心没有任何的好处,而保持自信至少意味着有达成内驱力正循环的可能。在 2021 年的年终总结里我提到过,邓宁-克鲁格效应产生的原因是在无知的前提下的盲目自信和对自己的高估。所以所谓的正循环是一种在保持自信的前提下让自己的品质得到磨炼的状态。对我 (INTJ-T) 而言,想要塑造起「主观能动」、「热衷于分享和表现」与「谦卑而不自负」的品格,抛开自信带来的影响后,将变得完全无从谈起。我欣赏所有能对自己有清楚、独立的认知,也对其他的独立个体有接受、尊重和关怀的人。保持自信是成为更好的自己的必要因素。 我想我无论是作为一个开发者、学生还是科学家,其实都还有着许许多多未发掘的潜力;所以我害怕当我允许惰性和舒适区肆无忌惮地操作和束缚我的人生时 (尽管这种情况经常发生),我将失去实现所有潜力的可能。如果我的人生过得过于舒适顺畅,我将注定一事无成。
If you can keep your head when all about you are losing theirs and blaming it on you, If you can trust yourself when all men doubt you, But make allowance for their doubting too; If you can wait and not be tired by waiting, Or being lied about, don’t deal in lies, Or being hated, don’t give way to hating, And yet don’t look too good, nor talk too wise... -- Rudyard Kipling, If

积硅步以致千里

之前的几篇总结,写完也就过去了,主要起回顾和展望的作用。而我对这篇总结的期望是其能成为随时可供参考的「手册」,成为我每天念一次的咒语:
  1. 2022 年终时对现在的我有着什么样期望?
  2. 目前阶段的我应该以什么规则来约束行为和生活?
  3. 有哪些人事物是我应该感谢和珍惜的?
  4. 我的长期和短期的目标有哪些?
  5. 我是否在实现这些目标的正轨上行进?
我这个人很懒,记性还不好,还没有自控力,只有念念咒语才能想起去做应该做的事情。

年轻才卷的动

说了这么多方法和可能的解决方案,谁也不知道终究会不会奏效。也许 2023 年最终也会变得一片狼藉。那又怎样呢,我还能再写一篇年终总结给自己出一整套全新的方案。对大多数人而言,一生中只有这么一次机会接受高等教育、无需忧虑生活、没有经济和家庭压力,多少人求之不得、多么难能可贵的机会,你为什么不珍惜?你为什么不努力?说到头来,不卷那您就注定失败了 (当然如果你还没有意识到失败是件坏事的话这条路也可以走),卷起来才有可能实现理想甚至收获意想不到的结果。我每天都应该认清这个事实,然后由衷地感谢帮助我走到这一步的所有人事物。生活很美好,请尝试去找到一双发现美的眼睛。

一些好事

当然也有好的一面,这世间少有什么事没有好的一面,找准角度是门学问。 这篇总结应该是这几年写总结来最有实际意义的一篇,写作的过程也是反思问题、寻找答案、制定解决方案的过程。至少对于我个人 2023 年生活的方方面面能起到一些警醒与启发的作用。我总喜欢在年初定一些野心满满的目标,到了二月新鲜感消退,又返回原地。年终总结也像一封保证书,黑纸白字的承诺,督促我按规则执行并在不能完成目标或者计划时感到自责,然后努力变得更好。
If you just sit and observe, you will see how restless your mind is. If you try to calm it, it only makes it worse, but over time it does calm, and when it does, there's room to hear more subtle things. -- Steve Jobs, Steve Jobs by Walter Isaacson
没有计划的生活给了我很多的闲置时间,有一段时间里我莫名地对人生的意义有些沉迷。有人说,人生的意义是去「享受人生,并且帮助他人享受人生」,很长一段时间里这都是我的行为宗旨,有些类似 "carpe diem" 或者所谓的 YOLO 思维。但是我所追求的好似也并不只是和「享受」有关,但追求的具体是什么,又有些难解释清楚。Douglas Adams 在他的一本有些戏谑的小说 The Hitchhiker's Guide to the Galaxy 里玩笑式地做了关于宇宙所有的答案的解答 —— 42。Elon Musk 在他的采访中也经常提到这个情节,然后强调:现在我们已经知道了关于宇宙万物的答案,剩下需要做的就「仅仅」是找到正确的问题去问了。人生的意义是去求学、求知,在前人的基础上试图提出更多、更深刻和更有价值的问题,然后无限接近于找到某个终极疑问。回答了这个问题,学习的意义也顺势而解。学习最需要的,不是悲壮的毅力,而是对无限未知的渴求。
盖士人读书,第一要有志,第二要有识,第三要有恒。有志则不甘为下流;有识则知学问无尽,不敢以一得自足,如河伯之观海,如井蛙之窥天,皆无识者也;有恒则断无不成之事。此三者缺一不可。 -- 曾国藩,《曾文正公全集》
2022 年里「可能」找到了理想的未来工作和学习方向 —— (应用)密码学 ((Applied) Cryptography)。其将数学和计算机巧妙地结合起来,创造了出许多跨学科、跨专业的应用。就区块链而言,除了软件工程实现外,研究者通常也需要考虑许多其他学科范畴的要点。如法律学 (去中心化与政府监管)、心理学 (计算机安全与社交工程)等。我会在 2023 年里更深入的了解和探索这个学科,然后争取一些相关领域的研究助理实习机会,以帮助我明确是否要将密码学作为今后很长一段时间里的职业和研究方向。

往日不再

The Road Not Taken 是美国诗人 Robert Frost 其中一首最为人熟知的短诗,大多数人将它的寓意理解为对于独立思考、勇于走自己的路的赞颂。事实上,Robert Frost 曾告诫过读者这是一首十分 Tricky 的诗,其隐蕴着许多讽刺的意味。无论你选择哪条路,都将无法欣赏到另一条路上的所有风景;尽管你选择了 The one less traveled by,结果也很有可能会与期望大相径庭。谁都无法想象到 2022 年里我竟然能做出如此之多的错误决定,毫无顾忌地放纵然后宽容自己的所有行为,以至于即便是给 2022 打上修整或是重塑标签,最终我也没能实现任何的积极影响。 尽管如此,如果说这篇年终总结只是为了起这样一个作用,那就是让我清醒地意识到:每一个决定都伴随着机会成本,随着而来的种种问题麻烦将是旅程的一部分。更重要的、也是我们唯一可以做的,是去管理态度和精力、只在意那些必须要在意的事情 (the fucks given[5]),尽量做最能让自己满意的决定,然后尝试去热爱脚下的路,崎岖不平或是一马平川。
It was the best of times [and] it was the worst of times, ... it was the season of light, it was the season of darkness, ... we had everything before us, we had nothing before us. -- Charles Dickens, A Tale of Two Cities
新年快乐。

引用与参考

  1. Churchill, W. (2013). Churchill by himself. RosettaBooks.
  2. Wang, X. (2019). Lan Ting Ji Xu. Shang wu yin shu guan.
  3. Tim Cook, Jony Ive, and Laurene Powell Jobs | Full Interview | Code 2022. (2022). YouTube. Retrieved January 5, 2023, from https://youtu.be/sdvzYtgmIjs.
  4. 正确地浪费剩下的时间. 正确地浪费剩下的时间 - SurviveSJTUManual. (2022). Retrieved January 5, 2023, from https://survivesjtu.gitbook.io/survivesjtumanual/li-zhi-pian/zheng-que-di-lang-fei-sheng-xia-de-shi-jian
  5. Manson, M. (2019). The subtle art of not giving a f*ck: A counterintuitive approach to living a good life. HarperLuxe.

思考,沉淀,影响 | 2021 in Review

2022-02-12 16:10:41

2021

充满变化、挣扎与重塑的一年。生活环境的改变、社交方式/结构的转换、独处时间的增加、第一次(正式)实习... 变化中充满着机遇与挑战。2021 无疑是具有过渡性和建设性意义的一年。无论是从人生观、世界观到职业方向、专业技能,或是细化到分析问题和定断选择的方式方法 —— 作为社会个体而所拥有的大多数特征,无论偏好与否,在这一年中都有着不同程度的完善与精进。但这绝不是带有任何终极性意义的一年,生活中还充满着许多的未知,疑惑和问题也是数不胜数,但也正是因为还有着这些有待探索和解决的事物,才推动着我不断获取信息并创造价值... 刚迈过了转折点,现在正渐入佳境。
We are only 1% of the progress bar. -- Brian Armstrong

开始与结束

一段旅程的结束,和一段新征途的开始。宏观地看待生活,但也时不时会对各种细节琐碎产生深切的感受。此起彼伏但乐此不疲。如果用几个形 容词来描述我的 2020 的话,它是从坚硬、透彻到刺激、尖锐并以活泼、明亮捎带一些忧郁结尾的。晃晃荡荡又一年,但这一年尤其值得记录。周遭人、事、物产生的巨大变化一定程度上迫使我在有限的时间内做了许多可能会产生深远影响的选择。当下还很难评判哪些是好的决定,哪些选择又或许是存在弊端的... 在 2022 年的开端记录下目前的想法/进展,希望对未来的自己有启发的作用。 时刻保持理性与坚定着实不易,正因如此生活才充满乐趣 —— YOLO (You only live once.)

憧憬与现实

一月初写完了 2020 年的回顾文,也是 2021 年发布在博客上唯一的一篇文章: [fa_insert_post ids=783] 当然也有着几个「理想化」的 New Year Resolution。即使是站在 2022 的结尾来看,完成这些目标也不是没有可能,甚至听起来很可行...
  1. 2021,读书人,不焦虑
  2. 爱上运动
  3. 分享读书的思考
  4. 好好学英语
  5. 20+ 期播客
  6. 90%+ GPA
  7. 月度提案
  8. 年中总结
以下是它们各自的完成状况:

读书人,不焦虑

Peer Pressure 稍微有所缓解,但毕竟从前深受其害,2022 仍需持续寻找更有力的理由和更完善的思维模式以摆脱同辈压力的困境。最好的情况是能将终极目标更进一步,使 Peer Pressure 成为激励个人成长的催化剂,将压力转化为内驱力,那就再好不过了。
If you know how quickly people forget the dead, you will stop living to impress people. —— Christopher Walken

健身与运动

2B 这学期的上课期间每周都给自己安排的室内 Hiit 运动,周末有时也会打打羽毛球。后半年到了加拿大,工作、适应环境和人际关系的调整,让运动的机会变得愈发稀少,这么一算有大概 5 个月没有进行任何的运动了。又在企图找借口逃避了:) 希望 3A 的学期里能重拾运动吧,说不定也能交到一些一起打球的朋友?

读书与思考

这一年读书仍然很少,到了加拿大后将阅读的书本语言换到了英文;加上文化环境的改变和疫情导致的人际交流的减少,让本就有所退化的中文语言表达能力愈发恶化。从这篇总结的写作手法、用词中也许就能看出这一点。新年里也许会开始尝试用英文写作、播客。在此之前我仍然还需要大量的词汇、手法和思维方式的积累养成。读书似乎是必不可少的一环。以下是最近正在读的一些书,大部分是 Kindle 电子版:
  • The Pragmatic Programmer: From Journeyman to Master ()
  • The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses ()
  • Token Economy: How the Web3 reinvents the Internet ()
  • The Internet of Money: A collection of talks by Andreas M. Antonopoulos ()
  • Mastering Bitcoin: Programming the Open Blockchain ()
  • Web3 - The Decentralized Web - The Complete Guide: Why the Decentralized Web3 is The Future ()
还有一些准备读的书:
  • Bad Blood: Secrets and Lies in a Silicon Valley Startup ()
  • Mastering Ethereum: Building Smart Contracts and DApps ()
  • Working Effectively with Legacy Code ()
  • The Subtle Art of Not Giving a F*ck ()
  • 和一些小说,TBD
自从 9 月开始来到加拿大后,适应环境、处理工作问题、职场人际等挑战就不停地在刺激着我尝试去做许多跳出舒适区甚至人生「第一次」的事情。本就在生活自理、人际交往等方面自我感觉稍显愚昧的我,几乎毫无准备地从国内跳了一个庞大、陌生的国家和城市,骤然失去了旧友的陪伴、父母的照顾... 第一次在非母语环境下生活与工作、第一次参加公司的聚会、第一次独自处理签证/疫苗/社保/银行/信用... 回想起也确实有一些失眠的夜晚被各种压力和挑战压的有点喘不过气。 于是我逐渐建立起了一套自我调整的思维模式,在舒适区的边缘鼓励自己不断地试错、总结、沉淀,时不时给予自己一些临时的「虚假」自信,暂时降低对某个挑战难度的认知。久而久之,我开始发现虽然这么做能刺激出许多行为和态度上的突破,但其副作用是很大程度上限制了想象的空间、消极地影响了全面分析问题的能力。后来的一段时间里我的行为表现与 达克效应 中所描述的负面形象近乎完全匹配... 越无知的人越是自大,经验和阅历越贫乏的无知者越是会做出幼稚的决定 (The Beginner Bubble)。 The Dunning-Kruger Effect 去读书、去经历、去感受、沉淀也许能帮助自己避免成为那些「缺乏自知之明且自我膨胀」的庸人愚者。 也许是因为由于互联网的产生和普及,我们所处的这个信息爆炸的年代,无知的人总是能对大多数的事情侃侃而谈、确信不疑,真正富有想象力和能力的人们却常常陷入纠结与自我怀疑的困境,表现得有些优柔寡断...

英语学习

除了在课堂、教材中学习学术英语外,在日常口语交流中的不断的试错、积累 Native Speakers 的用词、语句也是十分有意义的。目前我觉得最有效和实用的提高口语表达能力的方法有这些:
  • YouTube 上 Vlog 类型的视频
  • Netflix/Amazon Prime Videos/HBO 美/英剧
  • 英文原音 + 英文字幕
  • 记录一些常用/可能有用的 Phrases/Words/Expressions
我在 Todoist 上有一个名为「Collection of Daily English Phrases」的项目,虽然看起来有些简陋,也绝对不是什么最佳实践,但是经历了几次公司聚会/社交活动后才发现这个列表时不时真的能提供一些帮助: Todoist Project 有关英语能力培养的另一点是有关态度/沟通方式的。经历了几年的外教/教授的课堂和美剧的熏陶,或多或少其实已经有了一定的对语言的理解和积累,我开始发现也许我们离流畅的表达之间的差距只是在于是否有「说出口」和「不怕说错」的自信。初到国外的一段时间里,大多数情况下我都会做足准备再与别人开启一段对话。但即时、自然的沟通环境和演讲表达大相径庭,通常情况下在对方会持续、快速地向你需求反馈。要达到如同母语环境下沟通流畅度,也许沟通的方式方法也需要转换到一种与母语沟通相匹配的模式。于是我渐渐开始强迫地把自己放到一些要求即时反馈的语言环境下 (比如问路、咨询问题等前不做任何准备直接开始对方的对话 :),然后企图刺激出如同母语表达一样的依靠下意识的表达机制。目前效果还算可观,希望长此以往能效果能更令人满意。当然,也有许多的时候对话还是会以尴尬收场。我其实很难理性地面对尴尬,如果可能,我是非常不愿暴露出自己的问题的。但今年也算是逐渐培养起了对这一类情况的应对能力,对「勇于试错」的意义有了新的解读。
If you are not failing, you are not doing it right.

20+ 期播客

哈哈,甚至没有稍微靠近实现这个目标。今年做了一期 Known Unknowns 播客,和高中同学 Leon 简单聊了聊写博客的事。就这一期而言,也可以说完全没有达到目标效果。最终好像也没能引起 Leon 对写博客的兴趣。不过这一年中虽然 Leon、Levi 和我都去到了不同的国家/城市继续着各自的学业/工作,但是我们之间的沟通一直在不间断不定时地进行着。周末或是某个工作日的晚上,我们乐于通过视频/通话的方式互相分享近况,时不时也会探讨一些人生、社会相关的话题。Discord 没有内置的录音功能,所以录音的流程稍微复杂一些,于是许多的讨论和内容没有被记录下来。但是有这些可以谈心、时不时还能排解困难甚至发泄抱怨、倾诉想法的朋友,于我而言真是一件十分幸运的事。特别是生活在异国他乡,缺少关心、沟通和陪伴时,这些友情显得愈发珍贵。除了日常的寒暄外我们也时不时会讨论一些稍微深刻一点的话题,通常也会激发出一些建设性的辩论。声音和沟通的力量仍然在积极地影响着我,希望明年能有更多的机会记录和分享它们带给我的收获,也希望能与更多兴趣相投的灵魂产生联系。 说到播客,今年我也继续在听各种播客,英文与中文。收获良多,在这里也列个在听的播客的表:
  • Coinbase: Around The Block
  • Coinbase: BUIDL Crypto
  • Talks at Google
  • The Stack Overflow Podcast
  • Design Details (已在 Patreon 订阅)
  • Syntax - Tasty Web Development Treats
  • Front End Happy Hour
  • Above Board
  • Y Combinator
  • 商业就是这样
  • 来都来了 | 听了再走
  • 一派·Podcast
  • 不合时宜
  • 谐星聊天会
  • 狗熊有话说
  • 创业内幕
  • 不成气候
  • small talk
  • 浅薄的假象 (基本正常)
  • 疯投圈
9 月到加拿大之前主要用小宇宙 App 听播客 (中英文),来加拿大后开始主要使用 Google Podcasts App。小宇宙的年终报告说这一年大约听了 100 小时。

学习与目标

90%+ GPA。单看 2B 这一学期,并没有达到 90%+,但是所有大学课程的 GPA 是在 90+ 的,也算是达成了这个目标吧。哈哈...咳。随着学期的推进,课程也会变得更难。虽然不太可能,但是 3A 也会尽力保持 90+ 吧。 说到一些没能实现的目标和不切实际的想法,今年总是听到朋友/家人在评论说我很多时候想问题有些过分「理想化」了,做事的态度、想法、方式缺乏对社会、欲望和人性的理解。秉持总结反思的精神,不可否认,很多时候我思考的角度和提出的观点确实附带了许多的假设,其中的一些与较实际情况有着一定的差异,实现起来也许也不太容易。 每一个决定或选择面前,基于具体情况和要求采用不同的角度和方法去分析思考是必不可少的一个环节。我通常偏好采用基于「时间」这个自变量为基础的思路构建方式:
  1. 短期目标。寻找时间、物质等成本限制可尽可能达到的最优解。
  2. 长期目标。对于这一类可能产生深远影响的选择和决定,应该有长线性的思考、尽可能全面地分析可能的更深远的影响。
设置短期目标时应避免「理想化」,应对资源限制的一个好方法是尝试构建 MVP (Minimum Viable Product),并广泛地试验不同的途径和解决方案,在实践中创造信息并收获资源:
If you are not sure what to do, do anything. Action will produce information. -- Brian Armstrong
大部分人倾向于低估在短时间内完成任务的难度,而高估长线发展、持续投入所需要的努力。正因如此,对于长期目标而言,决定应该做得更谨慎一些。
Most people overestimate what they can do in one year and underestimate what they can do in ten years. -- Bill Gates
我们都欣赏坚毅的品格,但自控/内驱力大多数时候是被过分高估和依赖了的。有时只有建立起一些系统化的机制才能保证目的的达成。如果想早睡早起,那就多设几个闹钟;想避免贪吃零食,那就别买巧克力;不想一边上班一边看剧摸鱼,那就别冲会员;不想写脱离低可读/维护性的代码,那就选择一套风格指南并配置好 ESLint, Prettier 和 Commitlint... 期望设低,让自己处于 Under promise 的状态,然后尝试每次都多做一点点 (Over deliver)。 当然会有反对的声音,每一个决定都可以被辩证甚至推翻,错误预期也是时常会发生的事。付出努力却迟迟得不到回报时,保持「短期消极主义 (Short term pessimistic),长期积极主义 (Long term optimistic)」的态度。问题关键是在于你是否有「不可磨灭的信念」。要知道的是革命者、创新家所具备的不只是远大的理想和奋斗的精神。在任何现实的面前,得有是勇于接受和面对的纪律与毅力。现实是,大多数人其实对你没有什么乐观的期望。正是如此,评判和反对的观点当然也不能忽略,并且应该更加严谨地审视他们。然后思考、分析,最后通过努力避免这些弊端、绕开可以避免的陷阱。
You've got to have the faith that you will prevail, as well as the discipline to accept the immediate reality, whatever that might be.
7, 8. 这两点我们还是在 2022 走着看吧,哈哈哈...咳

不进则退

实习

9 月初至 12 月底经历了人生的第一次实习,公司叫 Bitbuy,一个中心化数字货币交易所。目前只服务于加拿大本土,是加拿大最大的数字货币交易所 (之一),有自主开发的交易系统和比较大量的 Liquidity,价格相对其他本地交易所通常会低一些。职位是初级前端开发 (Junior Web Developer)。初创公司,负责网站前端的团队在我刚到时总共只有三人,后来逐渐扩充到了 7 个人左右。入职前期主要帮助公司做了一些 UI 组件、样式修调和修复各种表单、验证、状态等存在的 Bug,内容只涉及一些常规的 React 使用,没有什么挑战。主要的成果是从零制作了目前在 Bitbuy 首页的手风琴 (Accordian) 组件、重构了在账户等页面使用的弹窗 (Modal) 组件等。 之后尝试在每个月一次与团队领导的 1 on 1 会议上争取了做更重要一些的项目,秉承之前做个人项目的「没有需求就创造需求」的态度,着手策划了一个帮助团队更新技术栈、减缓技术负债的新项目。项目主要涉及升级 Gatsby 框架从 v2 至 v4、采用 Monorepo 模式和 NPM Workspaces 重构项目结构、拆分整个网站为 3 个单域名下互通的子站点并部署至 AWS Amplify (旨在缩短子站点生产环境的站点生成时间)等事项。

技术

公司使用的是 Gatsby,一个静态网站生成框架。与我比较熟悉的 Next.js 不同,Gatsby 强调的主要特性是 SSG (Static Site Generation),在网站部署前通过文件路由和自定义函数生成静态 HTML 页面以供访问;数据获取如远程数据、网站元数据等都通过 GraphQL 进行,同样也是在部署前全部提前生成并插入页面。Gatsby 有插件的概念,对扩展框架功能的代码部分提供了一个更具有维护性和结构性的渠道。但也同时意味着框架的每个包含 Breaking Changes 的版本都需要插件维护者投入精力做更新。这是影响项目进展的其中一个阻碍。解决方案是「内部化」一些暂未更新 Gatsby 依赖版本的关键插件,Fork 到公司的 Github Organization,完成自定义后通过修改 NPM Registry 的方式在项目中使用。 Monorepo 是目前比较流行的项目结构,本质是将多个项目储存在同一个 Repository 里进行版本控制和依赖管理。不同项目之间可以通过引用进行代码复用,帮助实现项目结构标准化、版本发布透明化、降低重构成本等目标。Google 的代码库就是一个巨型的 Monorepo,通过 Bazel 进行管理。在 JavaScript 项目中更常见的 Monorepo 管理器还有 Lerna 和最近被 Vercel 收购了的 Turborepo 等。当然,如果项目结构和逻辑不太复杂、对版本发布管理等功能没有特殊需求的情况下可以不使用和花时间配置这些管理器,直接通过 Yarn 或者 NPM 内置的 Workspaces 功能管理 Monorepo。 Bitbuy 网站部署在 AWS Amplify 上,Amplify 提供一个 Bot 与 Github Repo 关联以提供自动预览生成等功能。由于项目中所用到的数据源涉及获取来自 WordPress 和 Drupal 等 CMS 的大量用于生成页面的数据,每次 Commit 触发的站点生成都要花大约 20 分钟才能完成。部署操作会由 AWS 在新建的一个 Docker 上进行,年久失修的 Amplify 不支持缓存恢复的功能,使得这个问题成为了项目最大的性能瓶颈。构想是拆分这些数据需求大的页面 (如博客等) 为子站点,通过 Monorepo 将站点的组件等代码共享。虽然由于时间限制最终没能将这个提案实现到生产环境,但最后的达成的初步成效是将站点生成速度提升了 4 倍。 Bitbuy 的实习经历让我有机会使用和熟悉更多的 Git 版本控制操作,比如通过 Git Flow 来可视化项目进展、简化团队协作,提高效率。之后我在个人博客的前端项目中建立了一套类似的体系: git flow 每个新功能 (feature)、Bug 修复 (bugfix, hotfix) 等操作都在新的分支进行,设置测试环境 (develop, uat) 所用分支和一个生产环境分支 (main),通过各种 DevOps 环节所用软件/平台之间的 Integration 实现自动化的流程推进。 总的来说,在 Bitbuy 的工作内容挑战不大,可能由于受工作性质、岗位设定的限制,个人认为这段实习经历中无论是纯技术上还是开发方法论方面都进步甚微。但与团队的 Bonding、公司职场环境的初体验和参加的几次聚会和社交活动中我还是收获了许多新的观点和视角。为 Bitbuy 工作的机会也给我提供了更深入了解虚拟货币、DeFi、Metaverse 等区块链技术与应用的契机。

区块链

区块链 (DLT) 技术给传统互联网带来了许多新的可能,并正逐渐将 Web 2.0 推向 Web 3.0。去中心化的架构有着许多潜在的应用场景,分布式、不可改性和在全网达成「共识」的机制能极大的提高许多社会活动的效率。 价值交换/流通 (数字货币)。交学费,从国内用人民币购汇加币,再跨国转账至加拿大,整个流程效率低、手续费高,因为中心化的银行结算系统不可避免地需要执行一系列的繁琐流程:个人账户 => 商业银行 => 中央银行清算 => 他国中央银行 => 他国商业银行 => 他国账户。(如何快速低费率地将人民币 (¥CNY) 换汇成加币 ($CAD)) 比特币年交易清算额度首次超过了 VISA。 信息共享。国内接种/他省接种的疫苗需要再次向加拿大政府/所在省注册,申请凭据 => 上传 => 等待政府验证和核对凭证真实性 => 注册,完成这样的流程后才能拿到「健康码」然后开始日常的活动。二手车市场,有关所售车辆的关键信息如维修记录、保险记录、事故记录等对于买卖双方是完全不对称。即使有更具公信力的机构作第三方担保,也无法防止信息的纰漏和蓄意篡改。里程表篡改骗局导致美国每年超过 10 亿美元的损失。 NFT (Non-fungible Token) 的兴起极大地刺激了艺术和文化行业的发展,画家/作曲家/歌手等各种内容创造者有了新的、更快捷、流量各大、受众更广的渠道去宣传、售卖作品和品牌。生态的成熟和虚拟货币的更广泛普及将意味着未来个人也可以实现 IPO,个人品牌的发展与其所发行的 NFT 有着直接的关系。 DAO (Decentralized autonomous organization) 为社会组织架构模式提供了全新的视角。现今的资源分配模式加剧着阶级斗争、贫富差距等问题,DAO 借助区块链技术期望将权利返回给每个组织贡献者... 许多新的应用领域涌现,资本快速大量地注入行业内,还有更多的新事物正在酝酿... Defining the metaverse
A ship in harbor is safe, but that is not what ships are built for.

Snapod

2021 年里所做的对个人技术成长意义更大的经历是其实是开发 Snapod (snapodcast.com)。去年底做播客在发布的过程中遇到了一些困难,国内播客生态刚兴起,播客托管平台还比较少见。想要同时发布至国内各大音乐/有声平台 (网易云/QQ 音乐/喜马拉雅等) 并提供 RSS 地址供国外平台 (Apple Podcasts, Google Podcasts, Spotify, Pocket Cast 等) 以及泛用型播客客户端 (小宇宙,海盗电台等) 发布和订阅的话,只能手动得去每一个国内平台进行创建播客/上传节目/填写描述/分段标题/略缩图等一系列重复的操作,然后使用某个国外的播客托管平台生成 RSS 地址。最初「已知未知」使用的免费的托管平台 Anchor (https://anchor.fm) 上传/加载速度慢以外,播客音频链接还会被墙导致无法加载。种种痛点有待解决,于是 Snapod 作为我又一个 Over-engineering 的解决方案应运而生。 网站做多了想学一学如何使用 Web 技术通过 Electron 写桌面软件,于是决定了将 Snapod 打造为主打桌面应用程序的产品。后来又想学学如何同样用 Web 技术通过 React Native 做移动端 App,于是又往 Snapod 的 Roadmap 中增加了手机端软件的开发计划。目前桌面端软件自从上半年做完主要逻辑和客户端雏形、开放内测申请后就没有什么重要的进展了,React Native 也自然是还没开始学... 但即使时间和精力愈发受限,我也希望能将 Snapod 的生命周期进行到,至少作为一个 Side Project,令人满意的程度。 其实 Snapod 的后端的设计和开发是按照当时我所理解的最接近「企业级」的标准来设想和完成的。Snapod 可能是我做的第一个稍微有一丝 Product-Market Fit 的产品,我希望能在打造基础的时候就将代码在可扩展性、可维护性、可读性和安全性等方面尽可能考虑周全,以便于今后如果真正实现了积极的发展、向企业级产品过渡时能更流畅高效。 Snapod 让我有了许多在产品细节和设计方面的新思考和新尝试。比如:接口的设计。Snapod 组合了 REST API 和 GraphQL,REST API 提供无需身份验证的服务 (注册、登录、找回密码等),GraphQL 为信息列表/提交/修改等数据结构复杂、密度较大的接口提供需要身份验证 (JWT) 的服务。部署在 AWS Elastic Beanstalk 香港地区。正在尝试将 GraphQL 请求使用 GraphCDN 代理,GraphCDN 提供缓存、请求数据分析和预警等实用功能,但国内访问速度还有待测试。 安全、设计模式。JWT、接口限流 (Rate Limit)、跨域 CORS、PBKDF2 密码储存、依赖注入 (Dependency Injection)、Prisma (数据库 ORM) 等。 同时还顺带学了学 Redis 数据库的操作,并为 Snapod 的播客提供节目播放数据 (按年月日、无限长时间段)、听众地理位置、收听设备等数据的收集和呈现。但存储和读取这些数据的方式还存在很大的优化空间,有计划用其他语言和数据库重构这一部分的想法。更多信息可以访问 Snapod 的官网查看,欢迎加入内测名单。 桌面客户端采用 Electron,React,Tailwind CSS 开发,为了让软件尽可能顺畅 (毕竟是 Chromium based) 且与原生客户端体验类似,目前还有许多的细节、UX、完善代码可扩展性的工作需要完成 (i18n,夜间模式,React 状态管理,自动更新,文件 CDN 等)。 将 Snapod 完善到令人满意、能发布内测/公测的程度时会单独写一篇文章或者录播客来仔细谈谈这个项目。 除了 Snapod,2021 年没有做什么其他有趣的项目,甚至现在到了 2022 年初感到有一些缺乏想象力和创造欲的窘迫。希望 2022 能找回状态,确认新的目标。 从 Bitbuy 领到的电脑是一台 Windows 的 PC,可能是我的日常工作内容有些无法满足我的好奇心,实习期间摸鱼尝试了一些新事物。比如企图用 Vim 代替 VSCode。自然也就接触了许多 Linux、Shell 等软件的调整与配置,如 WSL, Tmux, Neovim, zsh 等,也积累了一些经验。之后可能会写一篇 Windows 的编程环境配置博客作为记录和备份。

漫漫长路

Bitbuy 的经历不只引起了我对区块链技术和应用的兴趣,从数字货币到 NFT、DeFi 再到各种中心化交易所的交易机制和玩法,探索的区域也延伸至了传统金融领域。实习让我有了一段时间的稳定收入,生活开支之外还能有一笔不多不少的能自由支配的钱。借此契机,2021 年里我开始了在理财与投资方面制定计划的尝试。 目前的计划涉及三个大的方向:股票、基金和数字货币。股票方面,由于工资是以加币发放的,所以主要投资的是美股和加股。可能由于美国和加拿大之间货币流通管制政策开放,加拿大交易平台 Wealthsimple 上可以直接通过加币同时购买美国和加拿大的股票。加拿大提供个人可开通的针对不同用途的投资账户类型,具体可参照此文章。最适合个人小额投资的类型应该是 TFSA (Tax-Free Savings Account) 免税账户。首年可以投入最多 CA$ 75,000,之后的每年无需缴税但有非固定的投资金额上限,超过部分会有罚金。

股票

个人经验和水平限制,股票方面我只选择了大公司和科技行业里过去一年里的发展快速的一些企业,大型科技企业如:
  1. Apple (APPL)
  2. Amazon (AMZN)
  3. Meta (FB)
  4. Google (GOOGL)
  5. Microsoft (MSFT)
它们是创新和新科技落地的主要渠道,「相对稳定」的状态下也时不时能有可观的增长。当然 Meta 的新布局导致其估值大跌 ~20% 的事情也可能会偶尔发生,但个人既然已经做了继续深入 Web 3.0 (未来也会积极探索该领域的职业可能) 的选择,自然还是选择相信 Meta 能持续促进其生态的完善和技术的发展,将 Metaverse 实现 (非投资建议)。 我们正迎来的是通货膨胀和经济动荡的一年,所以也布局了几个即使在 Economic Recession 阶段也能保持稳定的传统行业投资选择:
  1. Berkshire Hathaway (BRK.B)
  2. Coca-Cola (KO)
  3. 指数 ETF: Vanguard S&P 500 (VOO)
去年增长势头可观的几个企业:
  1. Coinbase (COIN),大多数人初探加密货币投资的 Go-to Choice;
  2. Tesla (TSLA),电动车、新能源、SpaceX 和现象级 KOL 马斯克;
  3. Netflix (NFLX),近 10 年内最高增长的股票之一 (增长 4200%)。

基金

直接购买股票是更快速和精准的投资获利方式,但风险和时间成本也更多一些,所以我也在购买和定投一些国内的基金。中国在 2020 年提出了 2030 碳达峰,2060 碳中和的目标,新能源和环保行业目前是一条稳定发展的赛道。虽然 2021 年底市场动荡,但个人认为应该保持理性,正常地持续进行投入即可。我在投的几只基金是:华夏能源革新股票、建信新能源行业股票、东方新能源汽车、西部利得碳中和。新能源之外,企业向 ESG (Environmental, Social, Governance) 的发展和转型也可能是其衍生出的未来会受到更多关注的方向。南方和大摩在售 ESG 主题股票基金。此外军工和医药方向的几只指数基金也在关注。

加密货币

数字货币方面,OKX 是我一直在使用的交易平台。Handshake 刚上线时对所有使用过 SSH 提交代码的 Github 用户空投 (Airdrop) 了 4000 枚左右的 Handshake Coin,于是有了我的首次接触加密货币的经历。当时转换至比特币然后提现的渠道即是 OKX。界面简单、操作便捷,P2P 卖家资源也很丰富,即使是在目前国内完全禁止数字货币交易的情况下,通过人民币购买加密货币也同样高效便捷 (不清楚来自国内的注册是否已经被限制)。上文提到过的我用比特币将人民币兑换至加币交学费的经历中加拿大交易所的选择是 Shakepay,交易、提现、提币都无手续费 (但有相对较高一些的最低提现量),这也意味着可以避免以太坊离谱的 Gas Fee。虽然仅可交易 BTC 和 ETH 并且不支持币币,但还是十分值得使用的。同时 Shakepay 也发行虚拟 VISA 预付费信用卡,有着 2~4% 的交易比特币返现 (Cashback),也是高于其他大部分加拿大银行信用卡提供的 1~2% 返现。 Solana 是我比较看好 (Bullish) 的一个区块链/币种,在 BTC、ETH 等主流 Layer 1 区块链 15~25 的 TPS 状态下其 TPS 能达到惊人的 ~65,000。其建立的快速、低费率的平台应该能增速许多区块链应用的发展和普及。当然,区块链的设计普遍有着速度、去中心化和安全性的三角对立关系,其中一方的提高将意味着另两方面的一些丢失,这也是 Solana 最近网络频繁出现动荡的原因。ETH 借助其智能合约 (Smart Contract) 的引入和应用,目前是 DeFi 领域和 NFT、DAO 等应用的主要的流通货币和网络,但其离谱的交易手续费极大地提高了小额交易的成本,将投资门槛提得较高了一些。BTC 虽然技术落后,但影响力广、交易量大,有渐渐成为 Web 3.0 时代「数字黄金」的趋势。

财富自由,提前退休

本金不多,但分布得很广泛。除了企图实现风险对冲外,也是希望为未来的持续投入布好局。很重要的一点是,投资开始得越早越好,复利 (Compound Interest) 会来带来收益的持续增长。通常来说,将投资本金翻倍大约需要 72/APY 年 (APY: 年固定收益率 * 100%) (The Rule of 72)。美股的历史平均年利率大约是 10%,这就意味着需要大约 7 年才能实现本金 200%。20 岁投资的 1,000 元得等到 62 岁退休时才能将 64,000 元收入口袋。当然,这也不算是一个糟糕的方案。不过如果我们尝试从 20 岁起开始每月定投 (Recurring Investment) 1,000 元,42 年后我们将收获 6,850,000 元... 2021 年做了许多投资和理财方面的尝试,也总结了一些入门的经验,之后应该也会写一篇博客文章详细谈谈更多有关财富自由,提前退休 (Financial Independence, Retire Early, F.I.R.E.) 主题的想法和计划。

一些琐碎

2021 年初将博客的数据统计工具从 Google Analytics 换到了 Cloudflare Web Analytics,年底才发现 Cloudflare 只有一个月的数据存留,于是就这么丢掉了 11 个月的博客浏览、来源等访问数据... 目前换到了 Splitbee (https://splitbee.io)。 也没有网易云音乐或者 Bilibili 的统计数据,年中来到加拿大后将流媒体软件换成了 Apple Music 与 YouTube / Netflix / HBO / Disney+ / Amazon Prime Videos。 Github 上 2021 年有着 1,041 个 Commit,主要贡献都提交在了私有仓库如 Bitbuy 和 Snapod。没有持续维护 Tony 主题项目,该项目有许多的 Issues 没有解决。但技术栈过于陈旧,如果 2022 年会捡起来继续维护的话只可能会重新做包含前端和后台的新解决方案。2022 年会大概会入门更多区块链相关的技术,也意味着可能会产出一些 Web 3.0 相关的 Side Projects。 2021 Github Contributions 受生活方式和工作的影响,新增了一些生产力工具:
  1. 日历: Cron (https://cron.com)
  2. 规划: Linear (https://linear.app)
  3. VPN: NordVPN (https://nordvpn.com)
2021 年大多数时候其实挺「孤独」的,渐渐习惯了自言自语、自说自话、自弹自唱... 新的环境和周遭让生活中充满了 Epiphany,总需要一些发泄和自嘲的渠道吧。于是开始写一些随机的想法和 Quotes,记录生活中的 Random but Memorable thoughts

尾声

其实 2021 过得还算不错,虽然实际成果与去年设定的生产力指标相差甚远,但也确实是以「过渡」为主基调的一年,许多事情可能已经推进到了蓄势待发的状态。2022 年的 New Year Resolutions 也着实很难确定,因为有太多太多的可能,一年的时间里真的能做很多很多的改变... 保持基于「第一性原理」(First Principles) 的思考方式,产出更多、更好更有意义的成果吧:
Real artists ship. —— Steve Jobs
新年快乐。 2022 请持续思考,沉淀,并产生影响。

年终总结这门学问,试试就试试 | 2020 in Review

2021-01-07 20:47:17

又是一年

Hi,这是一个初入大学就被迫匆匆忙忙开始网课学习,在慌慌张张追赶 DDL、恍恍惚惚安排新生活的状态中总算混到了圣诞节假期的留学大学新生——的 2020 年终总结,在这动荡、矛盾又尖锐的一年,我们分享同样的体验。这是我的 2020 总结,我会用一种我认为舒服的方式展开本文,也许这不是你所偏好的写作形式和手法,或是你对我的经历有不解甚至其他思考,欢迎你在评论区或是通过邮件向我反馈。当然,不是所有内容都会看、不是所有建议都会听,不过...人生很长,试试就试试。  

总结是门学问(吧)

其实一直以来做总结对我来说都是及其困难的一件事,倒不是说我非常自信或是完美主义「患」者,只是每次尝试去做反思、重温的行为时总觉得找不到产生最大积极/消极意义的关键点。作为一个做点什么事都希望以「生产力」为导向的人,这样没有价值的总结久而久之我就失去了坚持产出的动力了。  

总结习惯养成

不过规律性的总结总是有益处的,万幸 2018 和 2019 的年终总结还是逼着自己写了出来。随着写作进度的推进,回顾全年的经历和收获,想起成就便是给自己又一次的嘉奖,想起做过的蠢事就全当是再一次警醒自己。开头不易,过程还是很愉悦的。 [fa_insert_post ids=188] 不过回顾前两篇文章,2018 年的年终总结全文流水账,列个表说点抒情话完事,基本没有输出有价值的内容。 [fa_insert_post ids=581] 2019 年增长了篇幅,但其实仍然缺乏思考的延展,比如没有包含 (其实也没有做) 所谓新年目标或是基于事实的补充想法等。  

更有意义的总结

我想大概有这样两种有着鲜明区别的总结内容类别:
  1. 工作总结
  2. 个人总结
虽然我还没有写过正经的工作总结,但我有从各处 (如以下文章中提到的「实习」经历) 片面地了解过企业中员工被要求输出的总结形式与要求。其实「工作总结」更多地是要求写作者专注于最具有影响力、给公司带来最大积极意义的工作内容。把每一项做过的事、贡献过的内容条条梳理整理成表听起来是一件非常舒适而且正确的事,但就和做项目/产品一样,单个功能的增加总会带来对其他功能流量、价值的稀释,毕竟领导层没有人对你哪天改了多久 PPT 感兴趣,工作总结中应该专注于对集体的贡献而非对个人的影响。另外,一份好的「工作总结」不该处处充满惊喜、令人耳目一新,于上级审阅者而言这是对其了解员工、跟踪绩效等管理的失职的反馈,于个人而言也是影响力构建、高效率沟通的失败。前段时间接触到的 MECE (Mutually Exclusive Collectively Exhaustive 相互独立,完全穷尽)  原则也应是工作总结中使用的内容构建逻辑,叙述将有效反馈、价值体现作为首要目标,所以篇幅也不应过长,精简至上。 而就个人总结而言,我认为内容应该面面俱到,从头回顾到尾,记录事实拓宽思考。不保留地分享自己的经验和想法,说给自己也说给别人总能激发出新的视角和体验。长度也不应受限,多彩多变的生活自然值得用长篇的文字去记录,平凡规律的经历当然也仅需简短地回顾。   2020 于我是一年特别的经历与变革,这就开始这在恍惚中寻求精进、在局限中突破边界的 2020 年之年终总结吧。  

收获与变化

跳出框架与界限思考自己的思维惯性并作出改变不是一件易事,受到大学新生活、新冠疫情等影响,繁杂之事在 2020 一并袭来,在 2021 年伊始之际我还不能判断这些我费力招架的新事物给我带来的影响是积极的还是又推着我向内卷人再迈出一步,不过,试试就试试。  

高中与毕业

终于结束了高中三年的国际部学习,通过英国 ALevel 考试申请到了加拿大滑铁卢大学 (University of Waterloo) 数学专业。如果你有听到我在「已知未知」播客的经验分享,滑铁卢其实一直不是我计划能成功申上的学校 (不过可能是滑大本来申请难度也不大,只是我太失败了)。滑大之前有来过我的高中进行招生宣讲,虽然这个小学校世界综合排名只有 200 左右,但有着享誉北美的数学学院之名,理科系统下数学、精算、计算机科学等学科世界专业排名很高,在升学指导、学长学姐经验分享中滑大也备受赞誉,加之其有着 CO-OP 教育工作机制并且滑大是该模式的开创院校,这大概就是我即使是被迫调剂到数学 (Honors Mathematics) 专业也决定去它的原因了。 另外有申请到英国的曼彻斯特、布里斯托、格拉斯哥,澳洲的悉尼、墨尔本、澳国立,希望了解更多的话可以给我发邮件。嗯,嗯,嗯...  

大学与网课

新冠疫情肆虐,2020 年出国留学的学生受政策改变影响的波及,大多没能去成国外,我不是例外。滑铁卢 2020 Fall 和 2021 Winter 都采用网上授课,我从 2020 年九月开始到 2021 年 4 月左右都在国内学习。网课本来对于学生自控力、时间安排的能力就是极大的挑战,加之大学课程的改变,每天除了学习之外其实本来有很多可自由支配时间,只怪个人太颓废每每到了中午才开始一天的安排... 之前其实有一篇「解构的 2020 网课与时差解决方案」的文章躺在草稿箱里很久了,最初是由于少数派催稿才勉强写到 1/3,假期太嗨一直没有推进写作。当然了,仔细一想好像也没有单独发一篇文章的必要,既然上文都立下了「长度不设限」的 Flag 了那就在这里直接附上吧。 刚开始网课时租了一个月 WeWork 移动工位,WeWork 环境还是蛮舒适的,不过所谓移动工位就是大厅摆几张桌子然后提供饮水和咖啡配套,¥1.2k/mo 的性价比实属太低 (不过咖啡是好喝的)。之后被同校也是高中同班同学的亲戚赞助了其公司的小办公房,同校 3 人每天 8 公里外勉强挤下继续网课。我的网课大部分是以录播形式进行,作业每周截止。于是每天需要兼顾多科的学习、作业的时间安排,不能算高效,不过我还是建立了一套令自己感到舒适的工作流的。每天的行动都围绕电脑,所以有用到这样一些软件去提升 (或者说保证) 生产力:  
Todoist 待办清单
很早之前就有开始使用它来实现 GTD,大学开始后利用它更加频繁了。除了明确目标外,每一次完成任务增加 Karma 指数也是一件高兴的事 (已经是 Master 了,13787 分)。每周一二我会用它列出当周的 DDL 清单,最近上线的看板模式帮我实现了按学科分类的任务清单。  
iCloud Calendar
有尝试过 Google Calendar,不过需要不间断的科学上网服务,很难随时随地无缝同步多端设备。很多时候由于一个直接的需求没有被满足就会给用户体验带来极大的影响,Google Calendar 需要科学上网这一点实在闹心,即使是其有着许多的好评和推广我还是放弃了它。后来尝试了 macOS 中自带的日历软件 iCloud Calendar,安卓手机端利用  Sync for iCloud Calendar 能实现无需科学上网同步。并且手机端直接同步到系统日历,不会由于各种电池优化、系统调节问题杀后台导致接收不到提醒。一般我会在前一天或是当天开始执行安排之前划分好当日日程,尽可能合理分配每科的学习时间。  
Spark Mail App
macOS 自带的邮件客户端也挺流畅的,不过 Spark 不仅有着舒适的界面和功能设计,最离不开它的一点就是它有对邮件进行智能分类、重要邮件可加 Pin、待办邮件可 Snooze。同样的道理,我又被这种巧妙设计的产品逻辑框住了。  
Brave 浏览器
之前一直使用的 Microsoft Edge (Chromium) 最近可能由于扩展装太多或是其他优化问题出现明显的卡顿,开 Devtools 的时候也总是出白屏无响应的问题。于是尝试了一众浏览器后综合书签同步、插件支持和加载速度换到了主打隐私、采用 Chromium 内核的浏览器 Brave. 说到扩展,这样一些扩展是在日常网课中使用频率最多的:
  1. 1Password,参与了黑五一年家庭版试用活动。密码管理器虽然直观的看是将极度隐私的数据交于了第三方,不过它帮助我规避了「一码通用」带来的风险,我认为是可行的
  2. Hypothesis,网页高亮标记。被少数派文章安利,在线看教案、文档规划重点、批注内容方便快捷。
  3. Video Speed Control,默认播放器视频播放倍数调整。
 
Texpad、Typora
Texpad 可以快速加载、实时渲染编辑 LaTex 文件,省去了折腾。写数学作业和考试时会用到。Typora 是一个 MarkDown 编辑器,一般轻文本都用它来书写,同时它也内置支持 LaTex,小作业一般用它来完成。 什么?为什么不用 Notion?Notion 的区块编辑不太对胃口,写作时不太能接受有明显的视觉干扰 (比如每次打到「/」键就弹出内容插入选项的这个设计非常不适,行内 LaTex 的排版也非常不舒服)。另外 Notion 的 Electron 客户端总是卡顿,试过 Craft 之后就会发现体验差距真的蛮大。希望之后 Notion 会改善。  

博客与播客

2020 年的在本站发布的博客写作总共 12 篇,收获了大约 120 条站内评论。在年初的时候接触到了 Nuxt.js 于是实现了服务端渲染的博客重构,详情见以下这篇文章: [fa_insert_post ids=659] 另外同步在知乎、少数派的博客内容在知乎累计收获了 73,587 次浏览,在少数派 Matrix 社区被精选了 2 次并收获了 39,854 次浏览。 年初从百度统计换到了 Google Analytics,这是 2020 年的数据,不多不少: 这一年除了自己写博客也开始订阅和查看一些高质量的博客源,大概有这样几个站点有着长期 RSS 订阅:
  1. Biran Lovin (brianlovin.com)
  2. 1byte (1byte.io)
  3. SpencerWoo (blog.spencerwoo.com)
  4. Guillermo Rauch (rauchg.com)
写这篇文章的时候再一次使用新技术栈重构的博客也上线了。我习惯于从实践中学习新内容,所以这个博客大概就是我练手的最佳选择吧。这次的重构用了 React.js 来写,Next.js 作为服务端渲染、静态页面生成的框架,并且也尝试了国外前端圈吹捧的 Tailwind CSS 样式框架。就这几天的体验,Tailwind 其实类似的是一个 UI 脚手架而非组件 UI 框架。其带给我最直观的效率提升是我不需要再刻意分开样式文件和标记文件,在写网页框架时就能快速实现样式装配,并且具有响应式、夜间模式支持。同时 Tailwind 的配置逻辑也在一定程度上确保了每一部分的设计都紧贴预定设计语言。Tailwind 也有着许多插件和社区驱动的更新,今后我会广泛的运用其在项目上。 今年的博客文章产出较去年减少了很多,很多很多,大概是少了 38 篇。回顾这低产出的一年,主要有这样一些原因在每次有了一点灵感准备开始创作时阻止了我的继续。写博客、出文章不是一件「低成本」的事,一方面是不想每次的内容都像写 Hello World 一样廉价,因此对质量的要求会导致时间等成本的直线上升;另一方面我认为我的博客站点没有很好地为我的内容创造提供舒适、简便、无干扰的环境和体验。截止文章发布,此站点的技术栈是这样的:内容管理后端是 WordPress,编辑器是「经典编辑器」,前端通过 REST API 获取数据、服务端渲染。日常来说,我的长期的主要写作环境全是 MarkDown,Pages、Word 几年来都没有重度使用过了,特别是体验了如 MDX 快捷强大的内容编辑后切换回富文本难免对各种样式、插入问题更加敏感。富文本的编辑体验甚至已成为阻碍我写博文的最大原因。我希望能有支持实时预览、快速加载支持一个 WordPress 的 MarkDown 插件,如果看到这里的各位有使用或听说过,欢迎评论区告诉我。如果过段时间后不幸还是没能找到合适的插件,说不定会为了实现这个小需求重新做个后台了...
去年说到开始建立了听播客的习惯,2020 年也真正建立起了长期的习惯,睡觉前、晚间胡思乱想时都是我听播客的时间,这一年听得最多的播客有这样一些:
  1. 一派 Podcast
  2. Anyway.FM
  3. 疯投圈
  4. 来都来了 | 听了再走
  5. 不合时宜
  6. 创业内幕
  7. Byte.Coffee
声音真是一个离人的灵魂很近的东西,播客对我的影响比阅读文本内容更加直接、热烈。我大概率是一个听觉型学习者,通过声音传达信息把画面构建的过程交给自己来完成的方式总让我感到十分舒适。于是听播客的时间渐渐成了我每天繁杂、碎片与浮躁的生活中难得的进行深度思考的机会。 英文播客文化和行业其实已然成熟,而中文播客至 2020 年 3 月才出现了真正意义上的独立播客平台 (小宇宙) 。这一年从在海盗电台 App、Google Podcasts 听播客到 3 月开始用小宇宙,只在小宇宙就收听了大约 100 小时的播客内容,也通过声音认识了许多有趣的播主。其实也不难理解,某个 UGC/PGC 产品的初始内容创作者和用户的质量大多是很高的,就像早先的知乎。 前段时间看到一篇报道,2020 年 5 月 Spotify 耗资 1 亿美元买断了了一档访谈类播客 The Joe Rogan Experience 的独播权。不得不思考的一点是:客观来讲,播客的商业前景是非常可观的;主观来讲,认识更多优秀的人也是一件极其有意思的事。于是主观客观我都希望自己能在蓬勃发展的中文播客行业中能有所参与。这就是为什么我要趁着年底圣诞节假期专门找来两位已经出国的高中同学做了一期有关疫情、留学的经验访谈,录成播客。 为什么要叫「已知未知 Known Unknowns」呢?除了和这句话有些关系外:
As we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns—the ones we don't know we don't know. —— Donald Rumsfeld
好像也没有什么其他的原因了... 想了很多,「只言片语」、「随机过载」等等,不过总是有种把这档播客内容局限在了某一领域、某一抽象范围的感觉,于是不如索性建立一个开放命题,聊些我(们)不知道的东西... 你可以使用任何一个播客客户端通过 RSS 订阅我的播客:https://anchor.fm/s/4612e698/podcast/rss,加载速度稍慢的话还可通过在喜马拉雅托管的 RSS:http://www.ximalaya.com/album/45246859.xml 来订阅。当然,如果你成功地在一众音乐 (网易、QQ、喜马拉雅、蜻蜓 FM等)、播客平台 (小宇宙、Google Podcasts、Apple Podcasts、Pocket Casts、Castro、Overcast etc.) 上搜索到了「已知未知 Known Unknowns」的话,也可使用他们来收听和收藏。已知未知除了内在的杂烩属性外,一般来说将会是一档聚焦生活、科技与职业的播客,非定期更新。 另外目前我在用在亚马逊美国海外购的播客解决方案 Marantz Pro Pod Pack 1,价格合理,音质不差,附送一个全金属 Boom Arm。剪辑使用 Adobe Audition,章节编辑使用 Forecast,Hosting 服务使用免费的 Anchor.FM,不过在国内节目音频文件加载十分缓慢,过段时间后会来解决 (卖个关子)。目前你可以通过喜马拉雅、网易云音乐来流畅收听。  

技术与开源

哈,地铁站仍然比我更努力。 2020 年没有完成 2020 Commits,只有着 735 次的 Contributions 和全部项目累计总共 1024 个的 Stars。还是很感谢有人愿意来 Star,虽然没有什么实质上的收益,不过你的每一次点击都是激励我计算机走向秃头的催化剂。开玩笑的,谁人不爱受到认同和关爱呢。顺便也提一提,前端程序员工作的门槛很低 (没有贬低意) 我这人做点什么事总得找到点明确的动机才肯坚持,选择了投入产出比计算更加直观、更容易提升的前端来入门是我一直在写它的原因。所以交换友情链接的各位也没有把我商业互吹成「前端大佬」的必要,不是 dalao 也没有计划要一直做前端走到黑。嗯。 2020 年的开头模仿着其他的博主尝试做了一次「红包解密」活动,除了了解其他博主的题解和出题点外查看参与我的活动的各位的解题过程分享也是使我受益良多的一件事,这着实是十分有趣的一段经历。除了解题中所运用的技术点和实现方式外,更多展示的也有解题人、出题者对某个行业或技术的深度了解。 [fa_insert_post ids=596] 这一年的开头做了一个每日疫情数据推送的邮件订阅平台,第一次接触到了 Express.js、React.js、Next.js 框架与非关系型数据库 MongoDB。 [fa_insert_post ids=617] 接下来年中由于 Tony 主题群内的要求和启发,做了博客的 Nuxt.js 重构,实现了服务端的渲染,下半年的博客 SEO 好似是变好了一些,不过也无关痛痒。之后入门了 TypeScript,了解了什么是静态类型编程语言。啊,流水账又开始了吗。 [fa_insert_post ids=659] 各种机缘巧合通过 Antony-Nuxt 项目认识了在滑铁卢大学的学长 Halulu,甚至回想起来他也是我选择去滑大的一大助推剂呢。早一年去滑大的他分享了CO-OP 软件工程师的经历,于是接下来我也尝试去入门了他提到的在国外更加常用的 React.js 并且转换成了主要使用的前端框架。Vercel,之前叫 Zeit,企业内部催化的开源体系下的 SWR、Next.js 等项目的使用经历也让我发现了许多有趣的外国开发者、设计师、CEO... 所以 2020 也在尝试融入外国开发圈子?了解软件工程师的种种。 就像上文谈到我是一个以实践为学习基本的人,入门 React.js 后第一时间重构了去年的试题分享平台 Snapaper,顺带着也用上了 Ant Design React。哇突然发现我也太喜欢「重构」了,还好不存在太多的重复造轮子,只是有了明确的需求和功能框架后更方便我直接在技术上做尝试。 [fa_insert_post ids=715] 毕业!有幸通过各种关系和渠道得到了去腾讯成都实习的机会,可惜不是技术岗位。不过行政部门的体验也让我更宏观地了解了大型企业的管理模式、流程细节等信息,不虚此行。腾讯的班车、大厦、餐厅、文化气息浓厚的公司内部... 这一刻,我感觉我一定要为腾讯卖命... 说罢,端起饭碗还得继续搬砖。谁又想活成那样呢? [fa_insert_post ids=731] Artalks 是很棒的评论库啊,只是在我这儿的冗杂环境下会有兼容冲突,于是又顺手做了个评论库,名为 Nexment,练手了 React.js 还了解了 npm 包的开发。 [fa_insert_post ids=753] 2020 年秋季学期滑铁卢的 CS 135 课程要求学习 Racket,一个函数式编程语言,属于 LISP 的一个方言。不过至今我也不知道有什么实际应用场景,应该在设计编程语言、人工智能领域会用到吧;下学期的学习会转向命令式编程语言 C。嗯。有些事知道要去做,就先去做了吧,做完再想想看为什么。另外我也特别地为存笔记做了个小站点,DevDiary → dev.ouorz.com,内容都存在 Github Issues。 也就是说,2020 年主要新学习了 JavaScript 方面有 TypeScript、React.js、Node.js 其他方面有 Racket,嗯又是没有什么特别进步的一年呢(大雾。  

愿景与期望

既然今年要比去年做得更好,这次的年终总结里就有必要加上 2021 的 New Year Resolutions。为什么要叫 Resolution 呢,那不是解析度分辨率吗,真是奇怪呢。 这些小目标将被我划分为两个种类,量化与不可量化,以免总是含糊不清又或是制造出不必要的焦虑。  

不可量化

这一年受到的 Peer Pressure 太严重了,果然还是独处的时候更容易思考。我应该算是极其容易受外界影响的类型了,甚至是熟悉或是亲密的人在身旁时也会去打量和揣测他们的心思。这好吗,这不好。很多事情其实可以提前很长一段时间,或是提高到很高的效率的状态下完成,似乎总是被这个缺陷限制了自己。2021,读书人,不焦虑。 运动?不运动?这也是又一个我知道它好知道它得去做,但每次都能给自己找到完美无缺的不做它的理由的事情。嗯,2021 希望自己能爱上运动吧。 分享一些读书的思考吧。读书少,读书好,写分享和读书总结应该是一个可以激励自己读书的方法吧。 好好学英语。2021 冬季就是第一个 CO-OP 学期了,趁着还有机会,好好练练英语。  

量化指标

20 期+ 播客。播客这件事能成为一种习惯和态度。闲暇时分享一些胡思乱想,找几位有共同兴趣与追求的同好聊聊一些知道的不知道的,也许能收获不同于任何媒介所能获取到的内容和体验。 90%+。嗯,这一点我们得走着看。 月度提案。一年到头,除了以上总结的数据云云,好像也没有什么特别有意义的产出。于是 2021 每个月给自己立个提案吧,心理安慰自己至少年终来看不会一事无成。 年中总结 x1。嗯,这一点我们也走着看。  

尾巴

人生很长,有些事你得做,那就试着去做吧,做了再慢慢想为什么。 试试就试试。 就这样,Mic Drop.

基于 LeanCloud 的无后端评论库 Nexment,于任何 Web 应用或前端项目使用

2020-08-19 15:53:04

背景

本站建立时便未使用 WordPress 自带评论系统,原因主要是在有比较多的功能需求需要适配和实现的情况下,二次开发比较耗时费劲。所以一直采用的是 Artalk (https://github.com/qwqcode/Artalk),功能非常完善;支持 Markdown、评论折叠、管理员等贴心功能。但是美中不足的其一是有后端部署的要求;其二是与博客的引用出于某些不清楚还没深究的原因效果不佳。最后的妥协是通过 iFrame 引用然后通过强制同源在父页面获取子页面窗口高度来实现评论区高度匹配。同时,这样的部署有几个影响用户体验的问题:
  1. 高度获取需要暴力的循环获取直到评论区页面加载完毕
  2. 新评论发布无法处理回调,评论区高度无法更新
  3. 移动端样式不统一
有了这些痛点,同时借机最近发现的 LeanCloud 平台,加之在家自由时间泛滥,新的评论库的开发就开始了。 TL;DR 本文...主要宣传和记录,样例暂不完善。使用方法见 https://nexment.ouorz.com  

环境配置

计划是全平台、全框架适配,但是由于页面渲染借助框架来实现,所以不如直接作为各个框架的组件库辅之以浏览器支持的 Web Component 来实现适配。什么?Angular.js?Web Component 了解一下。

React 篇

参考前几篇文章,最近正在学习和入门 React.js 于是首先就没想过多地开始使用 React 进行开发了。最初使用 Rollup.js 打包器配置好了环境 (参见早前的 Commits),但是在本地测试时出现了 React Hooks 由于「存在多个 React 副本」的问题,查阅文档和论坛都无果还花费了半天时间经历了简直和第一次折腾 Webpack 配置一样的繁琐体验后选择了 TypeScript + React 组件库开发脚手架 TSDX,无需过多操心环境配置,专注于功能开发。 当然,为了支持 CSS 预处理器 Scss 还是需要进行 Rollup 配置的增加,参考文档可通过以下实现:
// rollup-plugin-sass 仅支持 .scss 文件打包,rollup-plugin-scss 对 .css 和 .scss 文件有同时支持
const sass = require('rollup-plugin-sass');
module.exports = {
    rollup(config, options) {
        config.plugins.push(
            sass({
                insert: true
            })
        );
        return config;
    },
};
↑ tsdx.config.js  

Vue.js / Web Component 篇

Vue.js 3 Release 后会重写,目前使用 Vue.js 2 Composition API 语法。Vue-Cli 提供「构建目标」选项,可打包 Library / Web Component 库,具体见文档。在 Vue.js 中引入组件时需要注册,于是打包的入口文件便需是组件注册的函数,按照文档编写如下:
import NexmentContainer from "./components/container/index.vue";

export default {
  install(Vue: any, options: any) {
    Vue.component("NexmentContainer", NexmentContainer);
  },
};
↑ main.ts Vue-Cli 生成 CommonJS 和 UMD 类型的生产文件,但在浏览器引用时会出现 LeanCloud 无法请求的问题,于是换为使用 Web Component 对浏览器支持。将 Vue.js 内嵌入生产文件中便可实现无框架依赖的内容渲染。使用可参考 Demo打包命令配置。  

功能实现

异步数据获取与更新

首先在 React.js 使用了 SWR,其可借助 React Hooks 实现异步数据获取、聚焦时刷新、数据缓存的功能,不通过 WebSocket 来变相实现数据同步。 文档可见 → https://swr.vercel.app。通过 useSWR Hook 和 mutate 函数获取数据及更新的样例如下:
/* 
*  ListGet: Function,
*  pageKey: string
*/
const { data, error } = useSWR(pageKey, ListGet);
return {
  commentsData: data,
  isLoading: !error && !data,
  isError: error,
};
在 Vue.js 中有一个新生项目 SWRV 借鉴自 SWR 功能几乎一致,依赖 Composition API。样例如下:
export default defineComponent({
  setup() {
    const { data, error, mutate } = useSWRV(
      pageKey
      ListGet
    );
    return {
      data,
      error,
      mutate,
    };
  }
})
 

全局配置

在引入 Nexment 的 Container 组件后,传入的包含配置信息的参数使用了 React Context 来在子组件传递。此法可避免多次重复传参,参考 React 文档。使用样例如下:
/* configContext.ts */
// create context
const Context: any = React.createContext({});

// context provider
export const Provider = Context.Provider;

export default Context;


/* use context */
import Context from 'configContext';
const NexmentConfigs = React.useContext(Context);
 

子组件调用父组件方法

在 React 中直接将父组件方法作为参数传递至子组件调用即可。Vue 中也可通过实例方法 Vue.$emit() 触发当前实例上的事件,样例如下:
/* CommentsList.vue */
<template>
  <CommentsArea
    @reloadFunc="changeLoadingStatus"
  />
</template>
<script>
export default {
  data(){
    return{
      loadingStatus: false
    } as {
      loadingStatus: boolean
    }
  },
  methods:{
    changeLoadingStatus() {
      this.loadingStatus = !this.loadingStatus;
    },
  }
}
</script>


/* CommentsArea.vue */
...
this.$emit("reloadFunc");
...
 

状态数据更新

React 中使用 useState Hook 来在函数组件内创建数据 State 和更新 State 的函数,样例如下:
const [resetStatus, setResetStatus] = React.useState<boolean>(false);
setResetStatus(true);
Vue 中更新对象类型的数据中的内容需要通过实例方法 Vue.$set() 实现,样例如下:
...
modalVisibility:{
  OID: true,
  xxx:{
    xxx: xxx,
    ...
  }
}
...
this.$set(this.modalVisibility, OID, false);
...
 

文本框相关

大多功能都采用了依赖来实现,列举如下: Textarea 中在光标处插入内容,采用 insert-text-at-cursor。Vue 中是通过 ID 获取的元素,React 中通过 useRef Hook 可获取到当前组件的 DOM,样例如下:
const nexmentTextarea: any = React.useRef();
const content:string = 'content';
insertTextAtCursor(nexmentTextarea.current, content);
Textarea 根据文本自适应高度, Vue 采用 autosize,React 采用 react-textarea-autosize。  

项目仓库

Vue.js / Web Component 版本:https://github.com/HelipengTony/nexment-vue React.js 版本:https://github.com/HelipengTony/nexment Vue / Web Component Demo: https://nexment-vue-demo.ouorz.com React Demo: https://nexment-demo.ouorz.com 文档站点:https://nexment.ouorz.com  

后记

没时间后记了,快在你的项目中用上吧!

Macbook Pro 13'' 2020 购买指南与关于其生产力的再谈

2020-07-11 14:46:26

背景

大家好,我就是那个之前还在留恋 (不过是没钱) MacBook Pro 2015 款 13 英寸剪刀键盘从众鄙视钢板蝴蝶键盘现在对 2020 款新升级版剪刀键盘爱不释手妙不可言的的那个人。几个月前我还享受着为数不多还未被列为「过时产品」且拥有剪刀键盘的 MacBook Pro 的荣幸,2020 款的升级悄然而至。虽然那款 MBP 在经历被摔变形、屏幕总成更换后感觉还能再战 5 年,但是 5 年对于科技产品特别还是高频使用的生产力工具的生命周期来说已是一个适合淘汰的年限了()。当然了,还是那句话:
真正一见倾心的产品,买就完事。千金难买爷欢喜。
选择的是非定制版本,MacBook Pro 2020 13'' i5 10代,512 GB 储存,16GB 运行内存。入手价格为 ¥12900。  

配置选择

首先,13 英寸。见另一篇三星 Galaxy Note 10 的入手指南,确实对「太大」的产品无好感,比较偏好选择「精致且配置齐全」的数码产品。目前的时间节点上,16 英寸通过独立显卡、更大的电池容量有着更高的跑分、更长的续航,但是对于 15 英寸大小/重量都无法忍受的用户来说 16 英寸更是不敢恭维。 其次,512 GB三星 T7 Touch 1T 翻倍容量、指纹识别、移动储存它与¥1500 内置比不香吗。香。 另外,Apple Silicon。2020 年年底将发布的新款 MacBook Pro 将全线配备 Apple Silicon 的 ARM 架构芯片,在这样的时间节点入手 Intel 芯片的款式有以下几点原因:
  1. 准大学生的生产力需求,Apple Silicon 软件/硬件生态完善可能还需要一段时间 (ARM 架构的软件迁移、霹雳接口等)
  2. 打磨 (挤牙膏) 多年的 Intel 芯片 MBP 不会比 Apple Silicon 差劲太多 ()
  3. 按 MacBook Pro 的保值程度,1/2 年内 Trade In 是可观的
主要的纠结点在 i7-1068G7 定制款和 i5-1038NG7 版。参考了一些 YouTubeB 站的跑分视频与一些配置对比。MacBook Pro 上配备的十代 i5 和 i7 的性能差距并不显著,以下是配置对比清单,主要区别在核心频率和三级缓存。 我也统计了当时 GeekBench 网站 (i5,i7) 对这两款 CPU 跑分的公开记录页面前 10 页,最大多核跑分 i5 为 4536,i7 为 4959。最大单核跑分 i5 为 1270,i7 为 1379。加之对于 MacBook Pro 的散热捉急与低压的认识,i5 升级 i7 的¥1000 必要性并不强。由于不是官网购入,到手后便进行了跑分验真。 GeekBench 5.2.1 / macOS 15.5 上跑分成绩高于以上,非常接近 i7 的成绩。 比较遗憾的是,(据说) 今年代理商都没有拿到美式英文键盘的货,所以只有中文键盘布局。中文键盘有部分键帽和标准美式键盘不同,部分用户可能会觉得碍眼,具体可以参照下图: 最后,买银色!大家都在迷恋深空灰的当今,银色也别有一番风味呢(误)  

新体验

最直观的新体验就是新的剪刀键盘,键程比上一代短一些只有 1mm,但是很好地解决了上一代键盘键入速度慢、键帽不稳定的问题,兼顾手感和轻薄并且静音。习惯「钢板」蝴蝶键盘的用户切换到这一代键盘也应该不会有很大的落差感。 其次是 Multi-Touch Bar,事实证明试玩一会儿后就会失去新鲜感,然后就开始感受到 Touch Bar 的鸡肋了。不过为了让资源利用最大化,还是收集了一些插件/软件/设置来增强 Touch Bar 使用体验和价值,具体如下:
  1. Pock 主要功能是将 Dock 栏放入 Touch Bar,与 macOS Catalina 及以上兼容性有待提高。无法在 Touch Bar 上进行后台应用程序退出的操作。
  2. 系统偏好设置 => 键盘 里可以设置 Touch Bar 展示「展开的功能栏」,可还原实体按键布局、
  3. 长按音量/亮度滑块并左右拖动可以快速进行加/减操作,建议功能栏 4 个按钮包含常用的亮度滑块/音量滑块/静音 (某些场景下还是十分有必要的)
  4. Nasc VSCode Touchbar 可以增强 VSCode 的 Touch Bar 功能选项
  5. 大部分软件对 Touch Bar 都做了支持,部分场景下可能会提升体验,可以尝试适应一下
  6. Touch Bar 的亮度是不可以调节的
  7. 养宠物什么的就不一一列举了
Touch ID 的加入有一定的体验提升,不过开机键被砍的后果是每次关机后只要触碰键盘或打开屏幕就会被唤醒,对误触的容错性设计不太合理(连优雅地擦擦键盘的机会都不给)。也许是设置问题,这确实比较纠结。  

生产力

设计软件

2020 年的 MacBook Pro 13'' 也同样没有搭载独立显卡,发热还是比较严重,即使它拥有两个出风口两个风扇双倍噪音。 意想不到的是 Adobe Photoshop CC 2020 的运行仍然不能称作「丝滑流畅」,改变窗口大小、增加效果/分析还是有明显的延迟和卡顿,不清楚是否是软件问题 (毕竟 2020 Adobe 全家无响应桶已经饱受诟病)。 视频剪辑尽量还是上 Final Cut Pro 亲儿子优化会好一些。 代码编辑就我装配 20+ 插件的 VSCode 而言加载空屏时间与上一台电脑差距不大,不过滚动和交互流畅了一些。  

系统更新

macOS Big Sur 慎重尝鲜,影响体验的 Bug 泛滥,并且会和之前的 Beta 系统一样存在 Homebrew 等无软件匹配源的问题。做软件开发或者重度依赖命令行的用户就别尝试了吧。  

雷电 3 与扩展

雷电 3 扩展坞因为没钱图方便直接选择的绿联便携式多合一扩展坞,包含 VGA、HDMI、三个 USB 3.0、一个千兆网口、读卡器,优点大致如下
  1. 接口全面,有 VGA 方便会议投影、老式显示屏兼容,网口方便网线连接
  2. 品牌与价格,品牌可信赖,¥369 多合一相比惠普、联想性价比高一些、可便携收纳、设计喜人
当然也有一些不尽完美的地方,列举如下:
  1. HDMI 不支持 4K 60Hz 输出
  2. 即使不进行数据传输仅插入电脑的雷电接口,扩展坞就会有明显的发热
  3. 默认不支持显示方向旋转后分辨率自适应,即连接的扩展屏幕通过设置旋转后分辨率会设置出错
可以通过如下的方案来解决:
  1. 单独购入某宝¥50 一根的惠普 4K 60Hz HDMI 转雷电 3 线缆
  2. 使用 SwitchRes X  强制设置分辨率
 

好软和注意

App Cleaner 比 CleanMyMac 软件卸载功能更完善的应用程序卸载器,免费。 Motrix 比迅雷更快速更多配置项基于 Aria 2 操作简便的下载器,免费。 Bartender 隐藏和配置显示 macOS 顶栏项目/图标,暂不支持 macOS Big Sur。 Todoist 功能全面机制和谐的 Todo 应用,macOS Electron 本地客户端最近出现 CPU 占用异常的情况,可以换用网页版 PWA 应用  

终端美化

对于长期/被迫长期和命令行打交道的用户来说美化终端是必不可少的一件事,俗话说得好:
永远不要相信终端是白底黑字的程序员
终端的主题可以在 iTerm2-Color-Schemes 进行选择和下载,iTerm 2 和终端通用。 字体可以选择一些支持连体 (Ligature) 的,比如 JetBrains MonoFira CodeConsola 等,不过这个仁者见仁。 同时也可以选择一些开源终端代替品,如 iTerm 2Hyper 等,有各自的特色包括插件、美化等。不过性能是个需要关注的点,记得一代的 Hyper 是真的卡顿延迟严重。  

后记

没什么好说的,又是一次剁手的记录。不是没有对比过看似性价比更高的 Windows 阵营产品,不过最后购买 MacBook Pro 的原因其实也比较简单直观,也是一直认同的一个观点。即产品价格的高与低并不决定产品所能传递和带给用户的价值,高价格产品交予浅度使用的用户时是很难实现其最大产出的,但是即使是低成本的资源被最大化利用时所带来的生产力提升也可以是显著的。

一篇有关近况、博客写作、腾讯实习与知识沉淀的内容

2020-07-10 22:14:43

背景

大家好,有段时间没有写博客了。之前这段时间大概发生了如下的一些事情,是部分没有写作欲望的原因,但是主要还是对博客写作的一些更多思考造成的结果。
  1. CAIE 考试由于疫情取消,学校自行组织期末考试并递交考试局评估得出最终成绩。参加了学校组织的两场间隔一周的考试。
  2. 高中学业终结,前往青城山进行了 5 天的毕业旅行
  3. 加拿大签证办理事宜,包括 GIC、学费缴纳等等
  4. 滑铁卢选课、座谈会等新生入学事宜
  5. 为期 21 天的腾讯成都分公司短实习体验和学习
  6. ODoc 文档站点生成引擎的开发
距离上次发文大概有两个月了,今天空了下来,趁机来做一下知识沉淀和一些想法/愚论的分享。  

知识沉淀

从两个方面来展开这个话题,首先是谈一谈本博客以及博客写作的意义;另外是对刚结束的腾讯实习做一个收获总结和记录。

尚能博否

戏剧性的,好像每一个关注过、建立时间较长的(2 年+)、博主年龄不小的(18+) 的博客都有过这样题材相关的一篇文章,谈一谈博客的意义、写作的智慧、输出的原因。博客很好,我很认同这种内容载体,直观的展现方式 (网站、小程序、App 等)、精准受众 (圈子小、专业过滤、)、门槛低内容基本无监管(如果服务器不在天朝、无备案等站点自由言论、长度无限制)。但是正是这种无限制的属性,给粗糙、伪劣的内容创造了输出的机会。独立/第三方博客的洪流中真正产出有深度的内容的作者往往对内容输出的标准有特殊的要求、对写作的精神有独到的诠释,我也希望博客能对经验进行沉淀、成为良好的知识获取渠道。博客内容当然可以是长篇大论,也可以是简单记录,但是其输出成本有很大的差别并且也直观地反映在内容质量上。即某篇内容的输出能
  1. 带给作者的技能点加持、知识储备潜在价值
  2. 带给读者的知识所传递的价值、落实在行为的有益之处等
回顾之前一百有几的博客文章无不是充斥着「Hello World」意味,浅尝辄止、无组织无条理、碎片性十足。突然觉得实属无趣,写多了这种类型的文字大概也会造成不良的影响,特别是在没有很多意见、评论、交流的情况下,出现比如自我认知错误、盲目自信、输出深度下降、降智。但是很矛盾的是我意识到了问题,却难以提出解决方案,因为水平有限、知识储备不足以支撑强逻辑性且充实的内容。不过有了明确的目标也是好事,调整的方向很清晰。 之后大概会从几个方面进行调整,之前对博客内容架构也做过一次更新,在这里 ↓ 姑且叫这次做 3.0 版本。 [fa_insert_post ids=156]  

一些调整

内容框架方面,做以下调整:
  1. 项目 栏目将独立为一个单页,从顶栏移除加入导航栏。内容将只通过「列表」的方式展示,减少阅读成本快速获取有用信息
  2. 片段 栏目将加入顶栏,内容以列表形式展示。为收藏和分享的一些包含各种语言的代码片段,类似于 Github Gist。
内容质量方面,做以下调整:
  1. 研究学习 栏目短期输出频率会降低 (虽然已经很低) 尽量积累整体、能够按照某种逻辑集合的经验包再进行存档和分享,代码块杜绝复制粘贴,剔除无意义的开发注释,重新按做 Code Review 的标准书写和规范。
  2. 尽量做到「饱和工作」,博客写作时间缩短,为「必要型内容」提升价值。
  3. 文章风格进行刻意抑制和转换,无意义的语气词、油腔滑调的风格进行精简和剔除。
  4. 「泛科技」相关的内容如数码产品、开箱指南、生产力记录等内容将同步发布于「少数派」。
  5. 杂谈、状态、牢骚等无沉淀意义的内容将选择性发布于「Twitter」。
架构的调整将逐步进行,内容输出的变化从下一篇文章开始。  

腾讯实习

高三毕业是一个非常尴尬的时间节点,能力大概率还不足以胜任任何岗位的深度工作,时间跨度也不宜过长于是也无法被安排至核心岗位。所以其实说是「实习」,最多是「体验和学习」。这次的机会当然是通过社会关系得来的,克服这个事实的尴尬也是我学到的第一个内容/技能。蒟蒻的我来到了腾讯成都分公司,天府三街腾讯大厦 A/B 座。去到的业务部门有腾讯行政部门、腾讯大成网广告部门。可以在这里查看到一个简短的实习报告,在这里做一个更详细的记录和收获分享。

腾讯大厦

地址:四川省成都市武侯区天府三街198号 (百度地图) 物业公司是深圳市卓越物业管理股份有限公司成都分公司,这是一份招聘样例。公司内勤管理包括企业展厅、会务接待等工作归腾讯行政部门管理。 没有拍照(实属尴尬),百度街景上的照片如下: 进入大厦需要出示健康码,工牌。腾讯成都分公司是腾讯西南总部,分设 A、B 两座写字楼,位于天府三街两侧。设计方是栖城(上海)建筑设计事务所有限公司,没有了解过建筑设计,不过乍一看流线的设计韵味非常美丽和现代化。楼内设有大堂接待、宣传显示屏、两组低/中/高区电梯、腾讯企业展厅。和腾讯滨海大厦的「纽带」区域大型企业展厅类似,腾讯成都大厦也有着一个迷你版展厅。这次有幸参与了两次会务的接待,收听/看了展厅解说,内容包括腾讯企业发展、业务布局、腾讯云大数据看板、腾讯云互联网+市政业务建设等,不得不说大公司真壕在企业形象的建设方面还是有很用心的投入的。  

工作环境/设施/配套

早有耳闻一些大厂给员工提供的完善的设施配套、舒适的工作环境等,今日一见在腾讯企业里果然如此。大楼设有健身房、中医理疗馆、射箭馆、羽毛球/乒乓球、心理宣泄室、母婴房、露天足球场等设施,腾讯开设的员工经验分享课堂会议室——腾讯学院、随处可见的巨型纪念企鹅公仔、工作卡位上的纺织企鹅/手办等文创周边、包含免费咖啡机/茶包/热水/等的茶水间、公仔售卖机,气氛过于融洽以至于总感觉有股洗脑的韵味。真·公仔厂。餐厅也是十分全面地覆盖了粤菜、川菜等,面食、西餐都有配置,早餐正式员工免费。乍一吃挺美味的 (感觉能吃一年),但是听说员工的投诉和反馈还是十分频繁,行政这边也管理餐厅菜品、货源等感觉还是挺辛苦的 (毕竟人人有嘴,发表意见的门槛自然低)。  

工作内容

腾讯成都有天美 L1、企业微信、微信研发中心、游戏客服、腾讯广告等业务开设,但是都属于企业机密范围,楼层办公区都无法进入,因此只能到行政去打打杂。主要做了以下的一些无关紧要的事:
  1. 大厦员工口罩、绿色植物盘点清算
  2. 有关腾讯文化的 HR 人物访谈
  3. 腾讯学院的部分内容学习
  4. 邮件中心工作与流程体系学习
本次没有去到写代码的岗位实属遗憾,但是学学新知识拓宽认识范围也不是一件坏事,特别是企业管理、岗位设计是未来能带来可观帮助的潜在领域。 一些细节就不谈了,主要总结一下收获最大的三方面:
  1. SOP 标准化工作流程
  2. 金字塔思维与 MECE
  3. 企业文化与腾讯员工访谈
 

标准化工作流程

这是本次实习给我印象最深的一个知识了解,SOP 即 Standard Operating Procedure 标准化作业流程,是工业时代的产物,用以解决高度重复的、步骤繁杂的、高度专门化 (Specialization) 的生产体系中出现的经验/技术沉淀/传授问题、高学习/培训成本问题、问题/误差溯源问题等。在腾讯,每个岗位都设立了一套岗位标准化流程,核心是对于招聘时的职位描述、职位要求的一个拓展和规范。具体包含岗位所属的上下级/工资级/部门、岗位职能体系树 (腾讯特色)、岗位工作职责与考核标准、周/月/年度工作流列表与对应输出要求 (如报表、统计等)。SOP 最初由部门经理设计,之后由员工自行更新或经过审批后更新。其带来的益处最直接的就是「新人入职」时的岗位熟悉成本降低。很多入职第一天/周的新人/职场新人,或是一些资历较浅的员工都难免会面临无事可做或者不知道做什么/该怎么做的困惑,这是我的切身感受也是设身处地思考后的认同。套用 SOP 是此问题的一个解决方案也是行业最佳实践,其不断更新、不停迭代的机制是保持方案健康度的支撑。 一个案例是借助 SOP 的力量苟延残喘至今的「安德鲁森」。我在腾讯行政部门的管理者曾经是安德鲁森大中华地区的企业管理负责人,SOP 也是她的导师传授她的知识,其被广泛地运用在企业管理和各个门店的各个岗位中。安德鲁森的创始人逝世之后,群龙无首、家族遗产纠纷严重的时刻,企业仍然稳步运行,虽然发展停滞但是仍然健康运行至今未破产。另外的一个例子是中国互联网企业内做 SOP 体系非常完善的一家企业,菊厂华为。内容具体是这样的:华为三栋办公大厦其中一栋的地板出现了白蚁,普遍的方案是联系施工方重新设计和翻修并支付对应维修费用。但是华为内部在安排和设计施工时有做 SOP 的规划,于是根据职能树、职位工作细则进行了问题溯源,最终定位问题为施工方施工流程问题 (地板防水等工作出现了纰漏) 于是获得了免费翻修,为企业节省了开支。 更多可参考我接触 SOP 当天的实习报告和这里的一份模板。  

金字塔原理与 MECE

这是一套思维模式,任何事情都可以归纳出一个中心论点,而此中心论点可由三至七个论据支持,这些一级论据本身也可以是个论点,被二级的三至七个论据支持,如此延伸,状如金字塔。最初由麦肯锡 (McKinsey) 的首位女性咨询师 Barbara Minto 提出并写了一本书叫「金字塔原理」。原理的形成结构大致如下: 金字塔原理可以运用在文章/内容写作中,载体可以是报告、议论、邮件等等。先行提出结论,再进行论述的结构,其实在语文课就有学过作文的写作技巧,不过是对其的一个深化和结构化。MECE 即 Mutually Exclusive Collectively Exhaustive 相互独立,完全穷尽。所有的论点、论据必须独立,却又不重不漏地覆盖全部当前掌握的内容和依据。 这一套原理和方式也许是一种思维束缚,但是其带来的产出往往是可观地覆盖着多个角度的思考、议论清晰缜密。这也是本次职场实习带来的一个经验,即思维方式就如同生产力工具,更多的是强调工具带来的产出提升而不应该作为生产力的束缚和路径。更多的可以参考当天的实习报告。  

企业文化与访谈

「用户为本,科技向善」是腾讯企业文化 3.0 版本更新的价值观,腾讯文化自创始就有布局,至今更新了 3 个版本。
文化不是纸面上怎么宣传,而是信仰什么,如何思考,如何做事。
不可否认的,其实除了物质上的满足,对于某个公司某个职位的选择有很大一部分原因是来自对于该企业的文化认同。比如各个大厂自带的光环,人人向往的工作能带来的职业发展机遇、个人成长机会等,来自宣传、公关、舆论,源于文化带来的影响。但是文化的存在一直存在争议,它是否是一个大企业变相管理员工、增加粘性的手段?是否是洗脑式的概念和价值观灌输?这次有机会和一个有 10 年资历的腾讯「钻石鹅」负责企业文化、员工培训的 HR 部门员工做了简短的访谈和学习,探讨了腾讯文化的建设和落地情况。腾讯公司内有一些所谓「黑话」,比如「阳光」、「瑞雪」等,由员工自发设立的道德标准和行为规范。在腾讯,一切违背社会所倡导的正确价值观的行为都叫做「不瑞雪」,具体可以查看这篇分析文章。访谈的具体内容和总结可以参考以下文档:
  1. 访谈计划
  2. 访谈内容
  3. 访谈报告
 

后记与糟粕

当然,腾讯也有一些奇怪的地方。前两周的腾讯实习都在腾讯大厦 A 座的行政完成,积累了包括但不仅限于邮件规范、职场交际、企业管理、行政工作的知识,收获还是比较可观的 (虽然不是技术方面)。腾讯人内部的称呼大多以英文名居称,X 总出现的较少。于是内部的邮件就有了英文邮件称呼语 (Dear XXX)、结尾语 (Regards, Sincerely etc.) 和中文正文的奇妙结合。 最后一周去到了腾讯大成网,打打杂做做图。安排我工作的是广告业务部门的产品经理,总感觉有一股说不出的佛系,工作安排很随意也不太重视。也许是我的能力无法达到要求,总之并未学到什么有建设性的知识。唯一的收获是惊讶于大厂业务部门员工们的行事风格,按时上班到点下班,5 米之内能用微信不说话,岁数大邮件容易忘回 etc. 总之,腾讯的经历让我重新认识了这个大厂,初步了解了职场,最重要的是为简历多了一份气场 (专业无关其实并没有) 感兴趣的话可以看看每天输出的实习报告集合,链接在这 → https://drive.google.com/drive/folders/1AoGDcXeFYFu9xp8sQ-kLO4vEPqFRDgta?usp=sharing