思考生活与生命在英语中的区别

写笔记时想到一句话:

掌控时间不仅能使我的生活变得更好,同时也是使我的生命更有价值

尝试翻译成英文:

Being in control of time not only makes my life better, but also gives my life more value.

这里「生活」与「生命」都用了 life,如何体现汉语意思中的区别呢?

在中文里:

  • 生活:强调的是一个日常的、持续的状态。当我们谈及生活,大多有着较为具体的感受。
  • 生命:是一种对自身存在意义和价值在精神层面的评判,相较「生活」更加抽象。

我将这个问题发到了 Twitter 上1,并询问了身边的人,陆续收到了一些改进的建议:

  • 推友 @Sunset16094839 提出生活可以翻译为 “my days”:

    Being in control of time not only makes my days better, but also gives my life more value.

  • 表妹(英语老师)的建议:
    • 将生活换成 living;makes 换成 leads to;value 换成 valuable:

      Taking control of time leads to not only a better living but also a more valuable life

    • 不要刻意去区分,直接合并

      Taking control of time leads to a better and more valuable life

  • 女友的建议:
  • 推友 @7id 同样认为生活可以用 living 来替代,并且给了很多深入而专业的解读,让我大呼过瘾2:

    关于“掌控时间”的说法,可能你想强调的是时间管理或自律这个概念吧,单说字面翻译 DeepL 更好一些,master 更接近 manipulate 的含义。二是“生活”如果是指物质层面,英语一般习惯用 standard of living 描述,精神层面 quality of life 用得多。

    再就是“生命价值”这个概念,中文里可以说价值多还是少,而英文里 life value 更偏重价值观,对应的是忠诚、正义这样的词,所以这个翻译不是很恰当。然而 value of life 也不行,这个词是形容一条命值多少钱的。我觉得 self actualization 更符合这个语境。

    最后就是两个细节,回到汉语的思维模式,“使我的生活变得更好”显然没有“改善我的生活”更地道,英语也是一样的,像 improve/enhance 这些词自带改变的含义。还有中文的“不仅/还”是隐含的递进关系,强调后面的部分,字面对应的 not only 在关系强调上要若一些。

我自己在写出了「生活」与「生命」的中文意义时,就有了一个想法,那就是这个翻译的原文是可以优化的。汉语思维中我们习惯了说让生活变得更好,但在英文里可以扩展到更具体的意思——到底是生活的哪个方面变得更好了?作为出题人,我很快就想起,当时是因为读到时间管理对工作效率的提升,才感慨其能使生活变得更好。这也非常符合英语写作中不断推导来完善证据链的技巧。

综合各种建议,我最终把翻译修改为:

Being in control of my time not only improves my productivity at work, leading to a better life, but also enables me to reach higher levels of self-actualization.

也许还有一些错误,但翻译的结果其实已经不重要了,由这一句话延伸出的学习过程才是最有价值的。


  1. From twitter.com/novoreorx/status/1623978507327127553:
     ↩︎

  2. From twitter.com/7id/status/1623989480062599169:
     ↩︎

《风暴英雄》对我的意义

《风暴英雄》培养了我与人竞争的能力。

从小我就是个胆子比较小的人,遇到与人正面对抗的事情就会犯怵,人多的时候说话都不利索。但接触电脑游戏后,我渐渐察觉到对抗的乐趣。一开始我玩的游戏对手都是 AI,由于它们不是「人」,卸下了我潜意识里的恐惧。我独自玩可以玩得非常好,因为我其实并不怕失败和尝试,每次重来我都能学到新的东西,而电脑程序的逻辑是有穷尽的、不会进化的,最终都会被我攻克。但我的性格仍旧没有改变,一旦我知道对手是人,就会下意识地想要回避、担心失败,发挥不出原本水平的一半。在玩 FPS、RTS、MOBA 游戏时都是如此。

刚开始玩风暴时,由于其出色的美术效果,和暴雪人物所带来的亲切感,我很快就喜欢上这个游戏。但我只敢玩「合作模式」,即匹配 5 个玩家和 5 个 AI 对局。就这样玩了一年多,我对每个英雄的每个天赋都熟悉到倒背如流,所有的组合都已经试过无数遍,合作彻底失去了乐趣,我这才怀着忐忑的心情迈出了和真正的玩家对战的第一步。我先是玩了很久「非排名模式」,这个模式顾名思义,胜负不会计算分数和排名,但和排位赛一样需要通过 Drafting 1 阶段选择英雄。同样没有胜负压力的还有「快速模式」,并且可以直接选择你要玩的英雄,更加自由。我又把这两个模式玩了一年,当时我还使用了 HOTSLogs 这个工具上传我的对局 Replay,根据它的算法,我的 MMR 都已经到大师段位了。这时我已经彻底代谢掉了与人对抗的恐惧,开始享受起来。于是我迈出了最后一步,开始参与排名模式,一个人单排打到了钻石段位,这期间认识了许多好朋友,包括不少百强的宗师玩家,都乐于和我组队,甚至还和职业代打组队,帮他们打「单子」,做黄金联赛替补,留下了很多很多美好的回忆。

现在的我不再惧怕任何形式的与人竞争,并且喜欢上了竞争,肯定竞争的意义和价值。这些都与《风暴英雄》这个游戏有着密不可分的关系。当我写代码累了,或遇到不顺心的事情,总是喜欢在风暴里来一场紧张刺激的对抗,让肾上腺素的分泌激活我的精神。

敢于竞争是一种勇气,这与自己的水平高低无关。但要乐于竞争,还需要足够支撑竞争的能力和自信。这是另一个我从《风暴英雄》中获得的东西。我的反应速度、英雄操作只是中等偏上,但在《风暴英雄》中,我发现自己的观察力和对全局的分析和把握能力能起到更关键的作用,左右对局的胜负。比如在一个局部战斗结束后,无论击杀或被杀,我都能第一时间分析起接下来一分钟甚至到下个「机制」2开启之前要做的正确的事情。这听起来似乎不难,但对大多数玩家而言,一次战斗过后,几秒甚至几十秒大脑可能都在无意识地发呆,有的人甚至从来没有从宏观的角度思考过赢下一场游戏的策略。但对我来说,这种思考方式在刚开始和人对战后不久就察觉到了,仿佛是一种与生俱来的能力。依仗这种能力,加上经常打完后看录像复盘、经常看职业比赛视频和顶级选手的直播,我才能够单排打到较高的段位,得到最顶尖的一波玩家的肯定。

《风暴英雄》使我发现,在一个游戏中,我所擅长的事情完全可以转化成为我自己的优势,但前提是对规则足够的了解。现实中的竞争也可以看做游戏,同样有其规则和各种信息,因此只要发挥主观能动性,去思考和分析,就一定能把自己独特的优势发挥出来,取得出人意料的战果。这样的心态使我对任何形式的竞争都能怀着自信步入赛场。

还有 3 天《风暴英雄》连同暴雪全家桶的国服就要关闭了,这篇文章算是与风暴的正式告别。再见,《风暴英雄》,还有我们一起度过的 6 年难忘的时光!


  1. 国内玩家喜欢称之为 BP,即 Ban/Pick 的缩写,双方队伍互相禁止对方可以选择的英雄并确定己方英雄的过程。 ↩︎

  2. 全称是「地图机制」,是每个地图特有的中立道具或事件,在一场比赛中可以开启多次,类似 Dota 中的 Roshan 和 LOL 中的 Nashor,玩家通过争夺机制获得攻打对方防御塔的助力。《风暴英雄》正因为这一特性而具有所有 MOBA 端游中最频繁的团战节奏。 ↩︎

「荒木型」与「三浦型」创作者

最近看 JoJo 石之海的时候,看到替身的战斗中竟然化用了莫比乌斯环和广义相对论的概念,又一次被荒木老师丰富的知识储备和想象力所震惊。之后在 B 站刷到一则荒木最近接受访谈的视频1,精神和皮肤都非常好,谈起自己的工作的样子充满热情,整个人都仿佛笼罩在一层光芒中。昨天又看到一则新闻,JoJo 第九部的主角设计已经公布,看来再画个二三十年也不成问题。

而我另一位喜欢的漫画家,《剑风传奇》的作者三浦健太郎,前阵子刚刚因病去世。在惋惜的同时,我也一直关注着后续的进展。这两天看到一篇文章2讲到,三浦对画作有着非常严格的要求,因此一直以来都没有培养自己的助手团队,直到 2019 年身体每况愈下才逐渐让助手介入到创作中,但一直到死前,他都负担着 90% 以上的创作工作。想到荒木的采访,他虽然坦言自己不擅长和陌生人交流,但和工作室团队却有着非常好的分工与配合。

荒木和三浦都是最出色、最具艺术追求的漫画家,但他们的性格和处事风格却截然不同。荒木良好的 work-life balance 使他拥有远低于实际年龄的年轻外观,粉丝们常以「荒木老妖」、「Jo 级生物」调侃;三浦却一直身体欠佳,最终因「主动脉夹层」而英年早逝。在和他人共事方面,荒木不仅有着多年培养的工作室团队协助漫画创作,使得 JoJo 系列问世 30 多年依旧保持稳定地产出,还与动画公司(大卫社)在动画创作中保持紧密地联系,如亲自挑选每一个 ED 的歌曲;而三浦习惯一个人战斗,随着年龄的增长更新速度越来越慢,直到去世也没能将《剑风传奇》完结,成为所有读者的遗憾。

我在他们身上看到两种开发者(创作者)的影子。荒木型开发者同时有着对生活的热爱和专业的追求,他们不仅能够开发出色的软件,在兴趣爱好上也有持续的投入和收获。由于思想的开放,他们也具有一定的管理能力和产品能力,这使他们能够在需要的时候组建和领导团队,把自己的作品带向更好的生产循环。

三浦型开发者如同独狼,或许是多年持续维护一个硬核软件的开源工作者,或许是隐匿在地下室的超级黑客,大家对他们的了解只有固定使用的 id。他们有着非常高超的技术,能够在一个事情上做到极致,但在现实中却缺少归属感,导致生活节奏混乱或行为孤僻。

希望我能成为一个荒木型的开发者。

“Moving away from UUIDs”, Really?

Recently I saw an article called Moving away from UUIDs – Neil Madden on Hacker News. The title immediately got my attention since I use UUIDs a lot in various projects, no matter personal or commercial. Whether I’m using it right or wrong is a vital concern from an engineering perspective, so I read it thoroughly and carefully. This article is my summary and thoughts on it.

Overall, the author gives an opinion that using UUIDs for unguessable random string like session tokens or cookies is a bad practice, the reasons are as follows:

  1. UUID is insecure in cryptography. In some situations, an attacker can take only 35 minutes to brute-force guess a valid result.
  2. UUID is inefficient in storing data. Because of its hexadecimal format and the use of extra dashes, a UUID takes 36 characters to represent 16 bytes of data.

As a replacement, the author suggests to use a 20 bytes random string that is URL-safe base64-encoded. Here’s an example comparing with an UUID string:

20 bytes base64 random: Xl3S2itovd5CDS7cKSNvml4_ODA
UUID                  : 5a097fe7-1720-457c-8363-8d660a65bab2

The advantages over UUIDs are:

  1. A 20 bytes random value is almost impossible to guess in a reasonable time.
  2. The length of the string is just 224 characters, resulting in much less storage space than UUIDs.

Generally speaking, I think although the conclusion of not using UUIDs for tokens is correct, the assumption is totally wrong. UUID (Universally unique identifier) as the name says, is an ID which should not be used for cryptographic purposes in the first place. The proper scenario for UUIDs is using it as primary keys in distributed systems, in which it prevents collisions without relying on a centralized identity generator. In contrast, random string has no way to achieve that.

I did learn something new from this article, but it failed to give me anything useful upon my understanding of how UUIDs should be used.

Do not write clickbait posts, as being neutral and accurate is a virtue for engineers.

离开国产 SaaS

昨天看到 @dingyi 的推文说:

国产软件真的没必要轻易尝试了……

原因是蜘蛛笔记发布了一个公告1,这款诞生不到半年的国产笔记服务因「战略调整」即将停止运营,甚至没有走出测试阶段,非常令人唏嘘,推友对此的猜测大都集中在行业萧条和内容审查上。

虽然不再尝试国产软件说得有些重,但我非常理解这种心情,因为我也认为,现在国内已经不再适合小公司的 SaaS 生存了。 在国内内容审查持续变严的大背景下,个人和小团体开发者将日渐减少,因为它们根本无法负担起内容审查的时间和金钱成本。 不久之前内容销售平台面包多暂时关停,随后创始人 DK 发布了公告2,表示在恢复后平台的敏感度和审查度都会大幅提高,以确保面包多可以在日益严苛的监管条件下存活下去。

站在行业生态的角度,我对国产应用总是抱有着鼓励和期盼,但站在个人用户的立场,我选择从现在开始尽可能不把重要数据放在国内小公司开发的线上服务上。毕竟数据的重要性高于一切。在服务随时可能关停、数据随时可能因审查而消失的情况下,真的没办法安心使用下去。

下面盘点一些我正在使用的包含重要数据的工具服务,并给出关于迁移方式和替代产品的建议:

CategoryServiceMigrationAlternatives
网页保存CuboxCubox 国际版Pinboard Upgrade
Mem.ai
Raindrop.io
wallabag
HamsterBase
待办清单滴答清单国际版: TickTickTodoist
书影音记录Douban豆伴:豆瓣账号备份工具NeoDB
生词本Eudic生词本同时存在于本地和云端,
导出也非常方便3,因此无需担心
目前还没见过其他
有云同步功能的字典软件
笔记石墨/语雀/wolai等我在这些服务上的文档很少,手动下载即可Notion, Obsidian

Defeat VSCode Tab Bar

A while ago, I found my VSCode tab bar (or tool bar) UI was quite unstable. The reason was that extensions may add icons called “action button” on the right side of the tab bar according to the type of the file, so when switching back and forth between different kinds of files, these buttons will either show or hide, making the available spaces for tabs changing constantly. This may not be noticable when you just open a few tabs, but if you have tabs that are enough to take up the spaces of the tab bar, the whole tab bar will be a clown fiesta with the appearace and disappearance of the action buttons. Tabs are flickering due to their width change, the last one could even be pushed to the next line. It’s just so eyes-hurting and annoying.

After realizing who was the culprit, I immediately started to search for a solution. Sadly, VSCode itself did not provide a way to customize the side bar, but I was luck to find an extension called Customize UI, which allows me to inject css into the application, so that hack the UI whatever I want. I installed the two extensions and add the following lines of code in settings.json and boom, the world was quiet again.

{
    "customizeUI.stylesheet": {
        ".editor-actions": "display: none !important;",
    }
}

But this solution is not perfect, because Customize UI relies on the Monkey Patch Extension to achieve UI hacking, which always requires me to restart the VSCode immediately after I open it. That’s fine, I told myself, as long as I can get ride of those tab bar icons.

Today, I updated VSCode and was surprised to find that VSCode finally implemented a feature called Hide actions from tool bars, it says:

You can now hide actions from tool bars. Right-click on any action in a tool bar and select its hide command or any of the toggle commands. Hidden actions are moved to the … More Actions menu and can be invoked from there.

This means I can hide those buttons without th need of using the clumsy extensions. I tried to right click on an action button and select “Hide …”, it disappeared as expected. Then I uninstalled Customize UI and hide all the action buttons one by one. So yeah, this is the story of how I defeat the VSCode tab bar.

真正的好作品只能靠自己去发现

最近闲暇时间在看一本网络小说,名叫《异仙列传》,作者是流浪的蛤蟆。

蛤蟆是一位非常老资历的网文作者,我从 2008 年接触他的小说《蜀山》开始,不定期关注他的更新。蛤蟆的小说总是给人天马行空的感觉,想象力非常独特,情节自然流畅,主角大都洒脱不羁,仙气和痞气并存,有种与众不同的魅力。虽然许多书都没有完本(俗称「太监」),但读起来总是手不释卷,活泼泼让人快乐起来。

但这样一位有才华的作者,却一直没有多少读者认识他,为什么呢?

在网络小说发端的蒙昧时期,创作难,受众小,许多作者虽然创造出了很好的作品,但受限于市场,他们得到关注和回报都非常有限。后来,以唐家三少、我吃西红柿、天蚕土豆、梦入神机为代表的一批年轻作者,依靠简单的文笔、俗套但有爽点的剧情、极高的更新速率,让网络小说真正走进了普罗大众的生活中。网络小说的创作和阅读门槛被大大降低,与通俗文学渐行渐远,逐渐形成了现在无脑、爽文的刻板印象。

网络小说的发展史,就是一个劣币驱逐良币的过程。好的作品不会过于套路化,因为有追求的创作者总是在尝试突破和创新,因此不仅生产效率不会太高,还需要读者有一定的耐心和智力才能渐入佳境。但大众读者所需要的,其实不是文学意义上的好作品,而是一种工业品,即通俗易懂、能在尽可能短的时间里带来刺激和反馈的大量文字,并能持续稳定的获得。这些需求与好作品的创作条件背道而驰,不愿改变的作者自然难以成为主流。

这让我再次感受到,大众认为好的不一定对自己而言是好的。被大众认可,意味着要满足普适性的需求。要通俗易懂——简单无脑;要政治正确——阉割思想;要适合传播——利用人性的弱点,消费用户而不是被用户消费。在文学、影视、音乐、游戏这些由个人品味和主观感受来判断好坏的领域,普适很可能是对自己而言的不适。

所以,不要去看什么豆瓣电影 Top 250、网易云音乐热门推荐、Steam 畅销周榜了, 真正的好作品只能靠自己去发现。保持好奇心和对美的追求,它们会带你走向精神世界的探索之路。

P.S. 我关注的老资历而鲜有人知的网文作者,还有兰帝魅晨。另外,读者如果想了解早期优秀的网络小说,可以去搜索「网络文学十年盘点」。

我用过的位置追踪应用

国庆接连几天都在外面游玩,拍了许多照片,于是产生了一个想法:

有没有哪个 app 可以导入一堆照片然后把其中的地理位置信息连成一个轨迹?

在 Twitter 和 Telegram 上都被推荐了「一生足迹」这个 app,让我回忆起了之前用过的几款类似的应用,于是把它们一起记录如下。

  • Moves

    接触的第一款位置追踪应用,也是最喜欢的一个。除了有些耗电,各方面都几乎完美。我从 2014 年开始重度使用了一两年的时间,最后因为厌倦了手机发热而放弃。

    2018 年 Moves 被 Facebook 关闭,成为 FAANG 资本化的又一个牺牲品 https://about.fb.com/news/2018/07/hello-tbh-moving-on/

    In 2014, we bought the fitness app Moves. It records your daily activity — including walking, cycling and running. We’re deprecating the Moves app and Moves API on July 31.

  • Gyroscope

    2016 知道这款应用,一开始觉得很漂亮,但很快就审美疲劳了。Gyroscope 并非纯粹的位置记录工具,而是包含了各种 quantified-self 数据,却又做的非常社交化。我对分享自己的隐私数据没有什么兴趣,一年的会员结束后就卸载了。

  • Arc

    Moves 关闭没多久,出于对它的怀念,我找到了 Arc。客观的讲,Arc 也是一个足够优秀的应用,功能简单直接,没有什么多余的东西,但设计上平平无奇,没有了最初 Moves 给人的惊艳感受。

  • 一生足迹

    出自国内开发者之手,最大的特点是把省电这件事研究到了极致,果然优秀的创作者自己才是真正的用户。经过简短的试用,我确定这是目前最好的同类产品。

    不过一生足迹虽然可以导入照片中的位置信息,却没法将其连成轨迹,我只能继续寻觅其他 app,或者想办法自己实现了。

  • Rond

    2023-06-08 发现,官网 rond.azurewebsites.net

    Location-based life records, 不仅记录轨迹,还有丰富的统计功能,可视化查看时间花费的位置分布

为什么人们在黄图群喜欢聊哲学

偶然看到一张网图,内容如下:

人类真矛盾,不管进啥群,最后都是搞黄色。反而进了黄色群,最后聊三观、聊实事。

以前也看过类似的说法,都一笑置之了,这次忽然觉得背后可能有着一定的心理学逻辑。

让我们来看看马斯洛需求层次 (Maslow’s hierarchy of needs) 这个广为人知的心理学理论。(中文世界里一般是五种,英文维基百科里有八种,这种差别让我忍不住想起 OSI 模型的四层与七层)

需求Need说明
生理Physiological级别最低、最急迫的需求,如:食物、水、空气、睡眠、
安全Safety对人身安全、生活稳定以及免遭痛苦、威胁或疾病、身体健康以及有自己的财产等与自身安全感有关的事情。
爱和归属Love and social belonging较高层的需求,常称为“社交需求”,如对友谊、爱情以及隶属关系的需求
尊重Esteem成就、名声、地位和晋升机会等。尊严需求既包括对成就或自我价值的个人感觉,也包括他人对自己的认可与尊重。
自我实现Self-actualization最高层的需求,包括针对于真善美至高人生境界获得的需求

以马斯洛需求层次来分析,许多人长期生活在性的需求得不到满足的状态下,「生理」这项需求占据了思想的主导,导致无心探讨群聊原本的话题,最终有意无意地开始性有关的交流。这就是为什么会产生「一切群最终都会变成黄图群」的情况。当然,这只是一种玩笑和夸张的说法,不能代表全部。

而黄图群则不同,由于摆明车马就是来搞黄色的,成员中一定有精通此道的行家,他们在性这一方面有能力得到满足,需求层次就会上升到社交和认知相关的区域,在群里聊起哲学话题就不让人意外了。

说到这里,我忽然想起朋友对技术群的吐槽。有些技术群虽然不搞黄色,却会有很多争论——哪个语言更好,哪个框架不好,为什么用A而不是用B——并且总是会上升到划分阵营、形成鄙视链的程度。用马斯洛的理论来看,或许是为了「尊重」这一需求吧:站定一个立场,维护自身的正确性,来获得他人的认可。不过我觉得要警惕这一行为,因为通过「做」而不是「说」来获得尊重和认同更有价值一些不是吗?

并不乐观的全球化

看到了 @waylybaye 的推文:

我一个人,一台电脑,一个银行账户,不需要任何资质证明,不需要任何政府部门审批,不需要和市场所在地的政府打交道。就可以把作品卖到全世界,收全世界的货币,在全世界交税。全球化真的是一个奇迹。

总觉得哪里怪怪的。它的逻辑是:因为我仅使用任何人可以拥有的设备和条件,就能够将作品卖到全世界,所以我赞美全球化。可事实真的是这样吗?

首先,把产品卖到全世界的是 Apple Inc. 而不是开发者个人。开发者付出 15% 的收入分成为代价,使用苹果所建立的全球化合规和销售渠道。开发者不是自由的,甚至无法以苹果以外的方式为收款渠道。从生意的角度讲,这并不是什么坏事,各取所需互惠互利罢了。但是,一个人把 App 放在 Apple 商店向全世界销售这件事,不应该用于评价「全球化」是如何的。

所以这是全球化的奇迹吗?这只是苹果强大的市场能力的体现。实现全球化的是 Apple 而不是我们个人,Apple 与开发者之间只是一种商业关系。如果有一天,Apple 对来自中国的开发者采用更严格的限制政策,一切都可能成空。

真正的全球化,是个人触及世界各地的渠道和能力。在 Apple 这个渠道之外,个人开发者想要将自己的产品卖向全世界,仍是步履维艰。

实际上全球化正在变得越来越差,我自己在和美国的商业、移民政策打交道时深有感触。即便没有这些经历,国与国之间变得越来越封闭也是任何有基本常识的人,所能感受到的显而易见的事实。


如今社交媒体上充斥着为个人利益而扭曲思想的言论。只说了「不需要什么」,却没说「需要什么」;只展示「就可以」,却忽略「不可以」。「假话全不说,真话不全说」,这样的表达方式是对信息的误导,但有利于传播。因为公众喜欢好听的言论,现在动荡的环境下,赞美全球化能给人带来「世界仍然是美好」的慰藉。

可这正是我所厌恶的,宁愿了解真相而痛苦,不愿欺骗自己而宽心。