<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
    <title>Owen的博客 - Random</title>
    <subtitle>主要关注技术，读书，摘抄，杂谈，文章评论，工具分享，工作流，灵感，英文学习，注意力管理，深度工作等方向。</subtitle>
    <link rel="self" type="application/atom+xml" href="https://old.owenyoung.com/categories/random/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://old.owenyoung.com"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2025-04-06T13:50:59+08:00</updated>
    <id>https://old.owenyoung.com/categories/random/atom.xml</id>
    <entry xml:lang="zh">
        <title>我的普鲁斯特问卷回答 - 《请回答普鲁斯特》播客访谈文字稿</title>
        <published>2025-04-06T13:50:59+08:00</published>
        <updated>2025-04-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/proust/"/>
        <id>https://old.owenyoung.com/blog/proust/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;本文是我在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;weibo.com&#x2F;upperwind&quot;&gt;李马克&lt;&#x2F;a&gt;主持的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;episode&#x2F;67d301877ccfd410926c2968&quot;&gt;《请回答普鲁斯特》&lt;&#x2F;a&gt;播客节目中的访谈记录整理。感谢&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;weibo.com&#x2F;upperwind&quot;&gt;马克&lt;&#x2F;a&gt;的邀请，让我能在这个时期剖析我自己的偏好和性格，再过几年准备再回看下看看哪里会有变化。&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;什么是普鲁斯特问卷？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;普鲁斯特问卷（The Proust Questionnaire）源于19世纪的法国，因著名作家马塞尔·普鲁斯特（Marcel Proust）在回答这套问题时的独特答案而闻名。这套问卷旨在通过一系列问题揭示回答者的性格、价值观和人生态度。&lt;&#x2F;p&gt;
&lt;p&gt;我推荐你也尝试回答&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;iamjoel.github.io&#x2F;basic-skill&#x2F;mind&#x2F;dist&#x2F;understand-yourself&#x2F;proust-questionnaire.html#%E9%97%AE%E5%8D%B7%E5%86%85%E5%AE%B9&quot;&gt;这些问题&lt;&#x2F;a&gt;——无需公开，可以私下记录，这样可能会让你更加了解自己。&lt;&#x2F;p&gt;
&lt;p&gt;我录完之后推荐了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;m.okjike.com&#x2F;users&#x2F;F46F868E-0556-43E0-9866-509ADB6A6DC2&quot;&gt;毛利小张&lt;&#x2F;a&gt;, 这是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;episode&#x2F;67e578b7523bcd2b1e34c5ad&quot;&gt;她的回答&lt;&#x2F;a&gt;，推荐给你听。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/proust/">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;本文是我在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;weibo.com&#x2F;upperwind&quot;&gt;李马克&lt;&#x2F;a&gt;主持的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;episode&#x2F;67d301877ccfd410926c2968&quot;&gt;《请回答普鲁斯特》&lt;&#x2F;a&gt;播客节目中的访谈记录整理。感谢&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;weibo.com&#x2F;upperwind&quot;&gt;马克&lt;&#x2F;a&gt;的邀请，让我能在这个时期剖析我自己的偏好和性格，再过几年准备再回看下看看哪里会有变化。&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;什么是普鲁斯特问卷？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;普鲁斯特问卷（The Proust Questionnaire）源于19世纪的法国，因著名作家马塞尔·普鲁斯特（Marcel Proust）在回答这套问题时的独特答案而闻名。这套问卷旨在通过一系列问题揭示回答者的性格、价值观和人生态度。&lt;&#x2F;p&gt;
&lt;p&gt;我推荐你也尝试回答&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;iamjoel.github.io&#x2F;basic-skill&#x2F;mind&#x2F;dist&#x2F;understand-yourself&#x2F;proust-questionnaire.html#%E9%97%AE%E5%8D%B7%E5%86%85%E5%AE%B9&quot;&gt;这些问题&lt;&#x2F;a&gt;——无需公开，可以私下记录，这样可能会让你更加了解自己。&lt;&#x2F;p&gt;
&lt;p&gt;我录完之后推荐了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;m.okjike.com&#x2F;users&#x2F;F46F868E-0556-43E0-9866-509ADB6A6DC2&quot;&gt;毛利小张&lt;&#x2F;a&gt;, 这是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;episode&#x2F;67e578b7523bcd2b1e34c5ad&quot;&gt;她的回答&lt;&#x2F;a&gt;，推荐给你听。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;以下是 Claude 整理后的访谈内容:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你目前时期的心境是怎么样的？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 其实我最近经历了一个心境上比较波动的时期。我自己有一段多年的亲密关系（八年以上），最近产生了一些变化，然后我觉得首先是有一点不真实的感觉，这段感觉之后又有一种解脱感，然后解脱感完了之后现在是有点类似在重装完系统之后的那种人生重启的感觉。现在处于一种比较平静的状态，然后准备先度过一段 “恋爱 Gap Year”，希望下一次能想得明白一点。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你理想当中一种幸福或者快乐的状态是怎么样的？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我经常会想这个问题，甚至会看一些书，问 GPT 这个问题。我自己目前的想法是：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;有自己喜欢的事，然后这件事我还是很擅长的，并且这件事还能够帮助别人，最好这件事还能有赚钱的可能，能养活自己的可能。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;我之前在博客里写过的“注意力自由“，就是我希望能够根据我自己的价值观和意愿来决定我要做的事情，而不是受到别人的压力或者别人的期望来做事情。我觉得这件事情对幸福非常重要。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;我最近一年中才把它作为一个非常重要的事情，就是亲密关系。我听了很多播客后才慢慢意识到这些事情的重要性。以前是基本上没有意识地在过生活，但是现在是非常有意识地想去努力做到。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;第四点是身体健康。我不仅希望身体健康，我还希望自己有一个比较匀称的身材。我很不喜欢自己变成一个典型的中国中年男人大腹便便的那种形象。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;我自己是一个比较务实的人，我想到的这四个方面我觉得在自己的努力之下都能实现，不是遥不可及的事情。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你觉得自己身上最显著的性格特点是什么？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我觉得自己最显著的性格特点是，我是一个凭直觉做判断的人。我的第一大驱动力应该是直觉。我之前还挺自豪这个能力的。但是我听过你们之前一期的播客，我记得有个女生，我忘记是谁了，她说她最不喜欢的就是自己的老板还是那种凭自己直觉喜好来就是判断下属的人，这样让她很难做事。然后听完这个之后感触还蛮多的，就觉得好像以后不能那么自豪了，多反思一下。&lt;&#x2F;p&gt;
&lt;p&gt;然后我的 MBTI 之前一直都是 INTJ，但我最近测了一个新的 MBTI 测试，那个题库测完之后会给出分数，我的 INFP 是 113 分，ENFP 是 83 分。我的 I 是 51%，I 和 E 就比较均衡。以前我 T 值比较高，最近听播客之后好像变得更 F 了一点。我的 J 更多体现在我很想做笔记，或者我很想分类，家里我会比较喜欢井井有条一点，干净一点，但是我不怎么喜欢做计划，对于计划的事情比较随意一点，不喜欢 deadline。我特别讨厌有压力地做事情，希望完全没有 deadline，不过这是对我来说，因为我感觉自己比较有内驱力，所以即使没有计划性，但是由于我的内驱力很强，所以能做好事情。&lt;&#x2F;p&gt;
&lt;p&gt;不过偏向直觉对我的一个坏处是，我有时候判断一件事情会很优柔寡断，比如我不知道到底选 A 还是选 B。如果是比较逻辑清晰的人的话，他可能会比较快一点地分析出选哪一个，但对我来讲就比较迟钝一点。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你最厌恶什么？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我最厌恶的是公权力对于弱势者的羞辱。举个例子，比如说我之前看纽约时报的一篇文章，就是伊朗的警察在去年发生那些事情的时候，对一些伊朗女性在警察局里做很多特别羞辱的事情，这是我最厌恶的事情。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你最害怕什么，最恐惧什么？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我最恐惧的是暴力，就是物理的暴力。因为我觉得这个可能跟我小时候不擅长打架有关。我们家是一个开商店的，也受到过别人的欺负。导致我一直特别害怕暴力，所以我自己从来没有对别人使用过暴力，也没有杀生过。&lt;&#x2F;p&gt;
&lt;p&gt;我非常害怕冲突，我基本上会说一些善意的话去避免冲突。就举个例子，我之前是在一个大厂工作，然后我辞职之后做那个独立开发者这些事，做了三年也没有告诉我的父母，他们还以为我在那个大厂工作。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你觉得谁或者什么会是你一生的挚爱？你觉得自己只会一直热爱下去的东西？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我自己想的话是一种品质，就是“自我成长“。我觉得这个东西是所有不管是美好的关系还是自己的能力的最基础的要素，就是一生中不断的学习。这听起来好像有点奋斗逼，但是我就是这么想的，我觉得人就是应该不断成长。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 如果你可以的话，最想用哪种天赋？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我想说一个我没有的天赋，我想拥有一个创作方面的天赋。无论什么，可能对我来讲比较现实一点的话，应该是写作能力，我觉得这个对我来讲可能比较简单一点，相对来讲。广义来讲，做播客内容也是创作，做自媒体，做视频之类的这种创作能力，甚至脱口秀这样的。&lt;&#x2F;p&gt;
&lt;p&gt;我觉得自己写博客写得不怎么样，我的博客里面原创内容很少，大多数是我自己收集的一些东西。要么是别人说的一些我觉得比较好的话，要么是我收集的别人的一些好的作品，网站等。我的收集能力或者说我的审美能力我还是稍微有一点点自信，但是我的写作能力，我内心里面一直很不认可。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 对你来说，什么是最奢侈的？或者说你做过的最奢侈的事情是什么？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我觉得应该是时间，时间对每个人都是公平的，应该对所有人来讲都是最奢侈的事情。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你认为哪种美德或者品质是被高估了的？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 坚持不懈。比如有的人做一个产品，他可能做了一年多，但其实他那个发展可能并不太好，他相当于在一个地方去淘金。但是那个方向可能是不对的，但是他可能有沉默成本，所以他就一直在那个方向打转。我觉得这种情况下，他应该去发掘更多的不同的方向。发现不对就随时放弃，放弃并没有什么可耻的。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 有没有什么是被低估的？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我觉得是同理心，因为这个事情好像不太能量化，或者说在工作上这个能力甚至有可能有坏处，就是你不够果断，或者是太为别人着想了，没有办法做出决策。但我觉得这个东西太重要了。&lt;&#x2F;p&gt;
&lt;p&gt;举个例子，我之前有一档挺喜欢的播客，是夫妻两个人录的，我还蛮喜欢他们节目的，但是有一期评论区下面我看到有人说，“这个女主播怎么压迫感这么强啊”，或者是一些我觉得很刺耳的话。这些话其实在微博评论区我就不会大惊小怪，但是对于一个每天陪伴你的声音，重点是人家也没说什么有问题的话，就是很正常的交流，然后这个评论就说了一些很刺耳的话。&lt;&#x2F;p&gt;
&lt;p&gt;我觉得如果每个人同理心更多一点的话，这个世界一定能变得特别美好。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你最看重朋友身上的什么特质？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我想用《好东西》里面的一句话：正直，勇敢，有阅读量。主要是阅读量，我会比较喜欢跟朋友有话聊，或者是至少会有一些新的东西碰撞交流。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你最看重伴侣身上什么特质？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我希望我的伴侣也是一个找到自己喜欢的事并擅长的事，我希望她在她的领域里面能有一些独立的影响力。我不喜欢跟伴侣一起共事，不喜欢跟她去有一些工作方面的合作。我希望我们自己搞自己的。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 有没有哪件事是你一直想做的，到现在一直都没有做的？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我觉得是讲一口比较流利的英语。因为我其实写博客也很多年了，经常会有的时候还会写自己的年度计划，经常会有学英语这一项，但是其实过去都十几年了吧，我觉得这件事情还是没有被严肃地对待，然后就还是一个比较初级的水平。&lt;&#x2F;p&gt;
&lt;p&gt;其实你去找的话，练习英语也并不是稀缺资源。比如说在 Discord 上有一个几十万人的在线英语角，如果你真的想练英语，你就随便进去，任何时候都有人，因为它的成员来自全世界各地。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你人生到目前为止经历过的最大的一次文化冲击或者价值观地震这样的事情有吗？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我想不到特别大的，但是我能想到我去年的时候跟我前女友还有她闺蜜一起吃饭，然后我们不知道聊到什么，然后我就很自豪地说，“我情绪稳定”。我以前一直以为这是一个褒义词，是一个很好的形容词，但是我说完之后，她闺蜜说，“这是一个优点吗？“我当时就沉思了好几秒。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你理想当中的一天是怎么样的？想怎么度过？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我觉得理想中的一天要有好的亲密关系，maybe 早上和晚上都能有一个拥抱。然后如果这一天是正常的一天的话，可能就是一个我手机能开勿扰模式的一天，就是没有别人催我什么事，也没有什么要紧的事情。如果我有想做的事情的话，那我就开始做我自己的事情，没有的话我就提高一下自己的阅读量，上网冲冲浪或者看看书，然后有什么启发的话记一下，大概是这样的一天。&lt;&#x2F;p&gt;
&lt;p&gt;另外一种场景的话，我想到的是，这一天可能约了一个朋友，然后和朋友聊一天，或者甚至跟朋友去玩玩德扑之类的。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你目前生活当中优先级最高的是什么？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我优先级最高的应该是解决我自己的困惑。最近的话，困惑有比如说我现在在杭州，然后在想我要不要搬到某个城市？以及何为良好的生活这种困惑。&lt;&#x2F;p&gt;
&lt;p&gt;目前心里面优先级最高的是搬到哪个城市。我有四个城市选择：深圳、大亚湾、上海和杭州。目前是这四个选择，他们各有各的好处。&lt;&#x2F;p&gt;
&lt;p&gt;我觉得深圳的好处是它的气候挺不错的，一年四季都比较温暖，冷的时间都不超过一个月，而且那个冷也不是太冷，然后它也靠海，又是一个一线城市，生活也比较便利，然后也能交到一些朋友。&lt;&#x2F;p&gt;
&lt;p&gt;大亚湾的话，它离深圳差不多通勤时间可能一个多小时到两个小时，但是它特别便宜，就是房租只要，我当时在那里租房子三室一厅只要一千三到一千五，家私齐全的，因为那里房子特别多，然后生活也还算便利，但没什么社交。&lt;&#x2F;p&gt;
&lt;p&gt;上海，如果是上海和深圳比，我肯定选上海，这是一定的。但我现在纠结的是上海跟杭州哪个好。因为上海的话，我觉得要住得舒服，我可能要住在市中心区里面，成本就很高。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你生活当中目前不能没有什么东西？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我觉得是网络。我觉得我的大多数见识都是从网络中来的，然后我自己喜欢的事情，擅长的事情也是网络，所以我觉得没有这个东西对我来讲很重要，没有这个东西寸步难行。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你现在生活中缺乏什么？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我觉得我现在生活中特别缺乏一个榜样，就是具体来说应该是亲密关系的榜样。我就感觉我生活中没有见到过我特别喜欢的亲密关系的状态。我希望能找到一个榜样，告诉我亲密关系原来可以做的这么好。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 有没有哪些事是你坚持做了很久的？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 写博客。因为我觉得我自己不是一个经常能坚持的人。我很少去坚持什么事情，但最近终于开始做运动了，已经坚持了15天，健康环每天都能合上！&lt;&#x2F;p&gt;
&lt;p&gt;OwenYoung.com 这个域名是我在 2020 年注册的。我当时因为某种原因就是换了一个 ID，我以前在网上是另一个 ID。我是把美国前 100 个最流行的名字，然后和我的姓排列组合，看一下哪个域名还在，然后就发现这个还在，然后就去注册了。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你觉得你目前做过的最好的一次投资是什么？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 好像就是坚持去做我喜欢做的事情。因为我接触电脑比较晚，但是我觉得接触了之后就特别喜欢这件事情，我从高中的时候就开始做一些网站之类的，然后大学的时候也在不断地做这方面的事情，去想一些产品的点子。以前完全没有想过赚钱和商业化的事情，但是确实喜欢这件事，然后就不断地去做。这件事的确也给我在生活还有精神上都带来了很多收益。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 历史上有没有哪个人物你对他的思想很认同？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我好像不是那种是某个人的粉丝的类型那种人，我说一个我喜欢的人吧，王小波。我觉得他用语特别精准、诚实，如果他没有那样描述过自己的想法，我肯定不敢给别人说我也有过类似的想法，就是看了他的那种诚实的描述之后我才发现，原来别人也会有不太道德的一些想法啊。而且他还是一个程序员出身，他当年写自己的书都是自己写的编程软件里写的。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 最近有没有在读什么书？给我们推荐一两本。&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我最近看了一本梁永安的《每个人都了不起》，针对我们年轻人面对的困境，他给了一些他自己的建议，我觉得还蛮好的。虽然我都忘记具体是什么，因为他里面写的东西挺杂的，好像是他自己的一个课程整理成的一本书，比较适合年轻人看。如果我年轻时候看到这个东西的时候，它可能会让我对我自己做的事情，某些比较好的品质会有更多的自信，更多的安全感，然后去相信某一个事情，然后坚持不断地做下去。&lt;&#x2F;p&gt;
&lt;p&gt;我自己推荐的书，比如说我的启蒙书：《动物农场》，比较简单的一本书，我觉得每个人必读。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 在你看过的所有的虚构类作品当中，不管是小说、电影、电视剧、动漫、游戏，有没有哪一个角色对你影响很大，或者说你很喜欢？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 《动物农场》里面的那头猪。我是在大二的时候读的。当时是我们学校的一个做杂志的社团组织了一个读书会，我当时还没有读书的习惯，但可能想附庸风雅，然后就去参加了那个活动，然后就读了那本书。读了那本书之后，对我的人生观产生了一个很根本性的变化。像我这种比较迟钝的人，我是很难自己去想清楚某些事情的。我特别需要别人一句醍醐灌顶的话点拨开，我觉得那本书就是这样的一本书。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 如果可以的话，你最想去哪里生活？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我没有在国外长期生活过，但是目前来讲，我觉得母语的环境对我来讲还蛮重要的，我总感觉说这个语言的人和事才是我自己关心的人。我想去解决我母语圈里面的人遇到的问题。我现在看到很多开发者想出海，想赚国外的钱，但我自己不知道为什么还是蛮喜欢给我身边的人做东西的，我不想解决美国人的问题。如果大家都去出海了，也许在国内做东西变成蓝海了呢。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你曾经接受到的最好的一个建议是什么？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 是一句让我醍醐灌顶的话，就是如果有件事不给你钱你也愿意去干，然后你还很喜欢去干，那你就应该盯着那件事猛干。&lt;&#x2F;p&gt;
&lt;p&gt;因为你在年轻的时候，你不知道自己做的事情到底值不值得，你会考虑对你的未来有没有帮助。但是看了这句话之后，我觉得让自己的安全感又加深了一层，让自己更加自信，然后坚持做自己喜欢的事。&lt;&#x2F;p&gt;
&lt;p&gt;不过这件事情得有能赚钱的可能性，不能说是已经验证了根本不可能赚钱。比如说你喜欢读书，你不能只喜欢读书，但不输出，如果你只消费内容，你永远没法靠消费内容本身赚钱。你必须要有个载体，能提供一些别人需要的东西，对他人产生价值，然后才行。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你目前最珍惜的财产或者财富是什么？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我觉得是我内心的这种安全感，对我来讲很重要。我看到我身边的人如果没有找到自己喜欢且擅长的事情，他就会很焦虑。&lt;&#x2F;p&gt;
&lt;p&gt;我自己确实很幸运地能找到自己喜欢做的事情，然后并且暂时也没有为生计发愁，所以我觉得这种安全感还是蛮珍贵的。希望每个听众都能有这种安全感。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 人生到目前为止有没有比较后悔或者遗憾的事情？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我觉得我最后悔的事情就是我的上一段亲密关系，我们双方都应该更早一点去做决定。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 有没有哪些东西或者瞬间会让你觉得，啊，活得真好？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 有。我是一个还挺容易满足的人。我买了一个露营的躺椅放在家里，然后累了就躺在躺椅上，放点音乐，在网上冲冲浪。我有一只狗狗 Cookie，然后 Cookie 就坐在我的腿上，有的时候还会睡着。那种感觉太幸福了。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 如果你死了还可以转世成为一个人或者物，你想成为什么？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我肯定是想成为一个人的，因为我觉得人是能创造价值的，这个事情只有人能做到。虽然可能会有痛苦，但是我觉得清醒的痛苦肯定比无知的快乐好一点。所以我一定还是要当一个人。&lt;&#x2F;p&gt;
&lt;p&gt;但是我不确定是男人还是女人。我觉得当女人也挺好的，可能会让我自己活的更自洽一点。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 有没有自己的一句人生的信条或者座右铭这样的话？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 追求注意力自由的生活。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: 你想如何死去，以什么样的方式死去？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 我想在睡觉的时候死去。我不喜欢痛苦。如果可以的话我希望能安乐死。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Q: （随机问题）你写博客这么多年，虽然说你刚才说自己还没有达到自己理想的一个创作状态，但毕竟你写了这么多年了，你觉得写博客这件事情对你的人生或者说对你的工作或者生活带来最大的一个改变是什么？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A: 最大的改变就是他让我认识了更多有趣的朋友。我在博客里面的“About“页面写了一句话，那句话是从 Derek Sivers 的书里面摘过来的：“我认识的所有有趣的人都是通过我写的东西找到我的。”&lt;&#x2F;p&gt;
&lt;p&gt;我最近这三年认识的新朋友，70% 以上的朋友都是通过博客过来的。我刚好前两天在两组和别人也分享过这个话题，我觉得写博客最大的作用就是能让你去认识一些更精彩的朋友。&lt;&#x2F;p&gt;
&lt;p&gt;它不仅是认识一些新的朋友，而且还可以让你和你以前的朋友也能保持一个高质量的关系，因为你只有在写博客的过程中你才会去整理和组织自己的想法。如果你不写，你其实没有任何思考。&lt;&#x2F;p&gt;
&lt;p&gt;写作其实本身就是思考的过程，你在思考的过程中会有一些新的启发和想法，然后你可以就这些东西跟你的朋友聊天。所以我觉得写作可以让你的所有的关系变得更好，更高质量。&lt;&#x2F;p&gt;
&lt;p&gt;我的一些同事，工作伙伴，也会因为我写的博客而更加信任我，信任我的团队。&lt;&#x2F;p&gt;
&lt;p&gt;反正写博客最强的理由就是你会拥有一些更精彩的关系。我之前看过一个 TED 的演说，他们做了五代人的研究，然后他们发现最终的结论是人生幸福的关键是你的社交关系，这是你人生中最重要的事情。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;如果想听完整的播客节目，可以在各大播客平台搜索“请回答普鲁斯特“。完整的节目可以在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;episode&#x2F;67d301877ccfd410926c2968&quot;&gt;这里&lt;&#x2F;a&gt;找到。&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>与其直接问 AI 答案，不如请 AI 找到研究这些问题最好的老师</title>
        <published>2025-01-24T05:28:03+08:00</published>
        <updated>2025-01-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/ai-expert-guidance/"/>
        <id>https://old.owenyoung.com/blog/ai-expert-guidance/</id>
        
        <summary type="html">&lt;p&gt;大多数人通常是这样用 AI 的：他们会问“巴以冲突的原因是什么？“或者”量子计算是如何工作的？“ 而 AI 会尽职尽责地提供一个概括，通常是一个平衡的、中庸的解释，听起来很合理，但缺乏深度。&lt;&#x2F;p&gt;
&lt;p&gt;我大多数时候也是这样用的，因为这很自然，当我们手握一个看似无所不知的强大工具时，第一反应确实是让它告诉我们该怎么想。但昨晚和朋友 Daniel 聊天时，他却分享了一个让我醍醐灌顶的方法：利用 AI 深入学习特定主题。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/ai-expert-guidance/">&lt;p&gt;大多数人通常是这样用 AI 的：他们会问“巴以冲突的原因是什么？“或者”量子计算是如何工作的？“ 而 AI 会尽职尽责地提供一个概括，通常是一个平衡的、中庸的解释，听起来很合理，但缺乏深度。&lt;&#x2F;p&gt;
&lt;p&gt;我大多数时候也是这样用的，因为这很自然，当我们手握一个看似无所不知的强大工具时，第一反应确实是让它告诉我们该怎么想。但昨晚和朋友 Daniel 聊天时，他却分享了一个让我醍醐灌顶的方法：利用 AI 深入学习特定主题。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;他会让 AI 扮演 MIT 或哈佛的博士生，然后问它会读谁的作品来理解这些话题。谁是关键学者？哪些期刊发表最好的研究？去哪里找可靠的数据？&lt;&#x2F;p&gt;
&lt;p&gt;这完全改变了互动的性质，这样一来，我们得到的不是简化的答案，而是一张知识地图。我们会了解到谁是专家，优质信息在哪里，我们该如何开始。这是他发给我的一个例子：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;WechatIMG481.jpg&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;以图中的进步主义政治分析为例，如果直接问 AI “如何看待不平等问题”，你会得到一个标准化的答案，这对基本了解够用了。但如果你像截图中那样，让 AI 扮演哈佛或 MIT 的 PhD，问它在这个领域会向谁学习，你就能找到乔姆斯基、南希·弗雷泽、康奈尔·韦斯特这样的学者。他们在语言学、政治哲学、社会运动等方面的深入研究，能带给我们对问题本质更深刻的理解。&lt;&#x2F;p&gt;
&lt;p&gt;Daniel 还分享了一个经验：当你读到一本特别好的书时，把它的英文名放到中文网络上搜索。你还会发现那些和我们一样被这本书打动的读者：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;“这些人往往已经把你走过的路走了一遍了，你可以顺着这条线，继续往下走，就跟顺藤摸瓜一样，会找到许多好奇心和品味，见识相当高的人“。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;这种方法确实很耗时，但真正的理解就是需要时间。&lt;&#x2F;p&gt;
&lt;p&gt;也许这才是 AI 能为我们提供的最有用的能力之一： 帮助我们找到最好的老师，然后向这些老师学习。希望这个方法也能对你有所启发～&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>现在应该是小宇宙播客最甜蜜的时期</title>
        <published>2024-11-30T02:22:09+08:00</published>
        <updated>2024-11-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/podcast/"/>
        <id>https://old.owenyoung.com/blog/podcast/</id>
        
        <summary type="html">&lt;p&gt;最近 2 个月开始疯狂收听&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;&quot;&gt;小宇宙&lt;&#x2F;a&gt;上的播客，已经听了 120+ 小时，特别想感谢里面几位女性主播，她们让我在 31 岁时看到一个全新的世界 - 原来人与人之间可以这样相处，她们之间有着真诚的友谊和对彼此的支持，看问题时既敏锐又有深切的共鸣和同理心，她们愿意真诚地分享脆弱，也敢于大声地说出她们的欲望，感受和诉求，在这个过程中不断给其他女性（和男性）带来了勇气和力量。&lt;&#x2F;p&gt;
&lt;p&gt;另一方面，我觉得现在的小宇宙有点像早期的知乎，但是更真诚，更自由，更进步，也更有温度，同时，审查的大手还没有特别的伸到这里，所以，为什么不一起享受一下这个甜蜜的时期呢～&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/podcast/">&lt;p&gt;最近 2 个月开始疯狂收听&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;&quot;&gt;小宇宙&lt;&#x2F;a&gt;上的播客，已经听了 120+ 小时，特别想感谢里面几位女性主播，她们让我在 31 岁时看到一个全新的世界 - 原来人与人之间可以这样相处，她们之间有着真诚的友谊和对彼此的支持，看问题时既敏锐又有深切的共鸣和同理心，她们愿意真诚地分享脆弱，也敢于大声地说出她们的欲望，感受和诉求，在这个过程中不断给其他女性（和男性）带来了勇气和力量。&lt;&#x2F;p&gt;
&lt;p&gt;另一方面，我觉得现在的小宇宙有点像早期的知乎，但是更真诚，更自由，更进步，也更有温度，同时，审查的大手还没有特别的伸到这里，所以，为什么不一起享受一下这个甜蜜的时期呢～&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;1781732914167_.pic.jpg&quot; alt=&quot;小宇宙收听记录&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;我会在下面记录一些我印象比较深的节目（但是对于播客来说，总结和摘抄很难呈现出其中的情绪和感动，所以如果你有时间的话，一定要收听原节目)，以下是我特别喜欢的几期节目：&lt;&#x2F;p&gt;
&lt;h2 id=&quot;wo-men-wei-shen-me-yao-guan-zhu-bei-jin-sheng-de-a-fu-han-nu-xing&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;episode&#x2F;6704c66e6c7f817786757f69&quot;&gt;&lt;strong&gt;我们为什么要关注被噤声的阿富汗女性&lt;&#x2F;strong&gt;&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#wo-men-wei-shen-me-yao-guan-zhu-bei-jin-sheng-de-a-fu-han-nu-xing&quot; aria-label=&quot;Anchor link for: wo-men-wei-shen-me-yao-guan-zhu-bei-jin-sheng-de-a-fu-han-nu-xing&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;这期节目来自&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;podcast&#x2F;6628e91c67c973e1383b968a&quot;&gt;《异见房间》&lt;&#x2F;a&gt;，是我最喜欢的节目，也是目前收听时间最多的节目。三位女性主播通过对塔利班最新颁布的“美德法“的讨论，揭示了阿富汗女性正在经历的人权灾难。从70年代喀布尔街头穿着短裙的女学生，到今天不能独自外出、不能发出声音的“移动的监狱“，这种倒退让人震惊又愤怒。但是我们还留有一点点希望，从被迫关闭的女子武馆到地下诗歌创作(&lt;strong&gt;“昨晚不来，你真不走运，我把床上一根柱子当成了我男人。”&lt;&#x2F;strong&gt;)，再到布卡乐队。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;wo-de-zhai-chao&quot;&gt;我的摘抄：&lt;a class=&quot;zola-anchor&quot; href=&quot;#wo-de-zhai-chao&quot; aria-label=&quot;Anchor link for: wo-de-zhai-chao&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;blockquote&gt;
&lt;p&gt;“这些故事让你意识到，当女性的权利不再受到保护的时候，她要退步可能只是几十年，就可以做到把一个国家的女性群体从社会中抹去。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“在阿富汗，女性写抒情诗会被认为是死罪。我没有办法想象一个写诗是死罪的地方，是一个什么样的国家。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“但在 2024 年的今天，使女的故事好像不再是一种科幻语言了，而是发生在阿富汗女性身上的一个真实的故事。可怕的是，这个作者在三十多年前就遇见了这一切。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“她们说，如果我们不能说话，那我们还活着干什么呢？我们出门的时候就像行尸走肉一样。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“在阿富汗有一句老话，就可以概括这个国家对离婚的看法是，女人离开父亲家时只能穿着白色的新娘服，回来时她只能穿着白色的裹尸布。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;tiao-can-ting-hen-nan-dan-wei-liao-ni-wo-hui-nu-li-yi-xia&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;episode&#x2F;66816da5077b88831b44dc65&quot;&gt;&lt;strong&gt;挑餐厅很难但为了你我会努力一下&lt;&#x2F;strong&gt;&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#tiao-can-ting-hen-nan-dan-wei-liao-ni-wo-hui-nu-li-yi-xia&quot; aria-label=&quot;Anchor link for: tiao-can-ting-hen-nan-dan-wei-liao-ni-wo-hui-nu-li-yi-xia&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;这期节目来自&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;podcast&#x2F;601fe936f0e237012f4d6df3&quot;&gt;《小心地滑》&lt;&#x2F;a&gt;，主播叫“我不跑调”，她的简介是： 这是一档记录生活与生存的播客，所以，大多数时候，主播会一个人坦诚的讲述她的所思所感或是她的生活经历（比如独居生活），其他时候她也会和朋友一起对谈。主播特别善于捕捉生活中那些微妙的、难以启齿的，却又是我们共同经历过的心理活动，当主播说出来之后，我只有一个感觉：哇，她怎么就那么准确而坦诚地表达了出来！就像第一次听黄阿丽脱口秀的那种感觉！就比如这一期，在这期节目中，主播与好友兰馨聊起了和不太熟的人一起吃饭时的种种心理活动，比如：挑选餐厅时的患得患失，担心点的菜不合对方口味，纠结第一次约会时该不该AA，该如何优雅地处理小数点后的金额，要不要主动提出使用团购券… 这些平时只敢藏在心里的小纠结，在主播与嘉宾一个小时的对谈中，被毫无保留地说了出来，像是一场关于社交焦虑的现场解压。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;wo-de-zhai-chao-1&quot;&gt;我的摘抄：&lt;a class=&quot;zola-anchor&quot; href=&quot;#wo-de-zhai-chao-1&quot; aria-label=&quot;Anchor link for: wo-de-zhai-chao-1&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;blockquote&gt;
&lt;p&gt;如果你点的菜或者你选的餐厅不好吃，其实跟你没有关系，你又不是开这家店，你又不是做这道菜的人，对吗？但是我们会把责任经常揽到自己身上，好像是我选的这家餐厅或者我点的菜让我的同行有人不开心或者是觉得不好吃，会觉得很愧疚。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;但是你吃不饱，我觉得这是最基本的生理需求。但是就是比如说，你已经吃饱了之后，你愿意做那个，还有很多盘肉，然后大家都没吃，你就会愿意做那个帮大家一直烤，烤完肉的人吗？&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;有人会专门为你做一顿饭，真的就是很特别的事情，就是它真的比在外面吃一顿什么 fine dining 要让人感动得多。我会很欣赏或者是感激别人的用心吧。因为这东西买不到。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;如果食物普普通通，但我们聊的内容很有趣，很开心，很享受那种氛围，我会觉得这顿饭就很让人印象深刻。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;dui-hua-yuan-chang-geng-yi-qie-qing-nian-wen-ti-du-shi-li-shi-zhai-wu-wen-ti&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;episode&#x2F;66f0c3646920a36bfced0114&quot;&gt;&lt;strong&gt;对话袁长庚：“一切青年问题都是历史债务问题&lt;&#x2F;strong&gt;”&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#dui-hua-yuan-chang-geng-yi-qie-qing-nian-wen-ti-du-shi-li-shi-zhai-wu-wen-ti&quot; aria-label=&quot;Anchor link for: dui-hua-yuan-chang-geng-yi-qie-qing-nian-wen-ti-du-shi-li-shi-zhai-wu-wen-ti&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;这期节目来自&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;podcast&#x2F;665c17db078f60650296f455&quot;&gt;《西西弗高速》&lt;&#x2F;a&gt;，主播是J 和 康堤，这档播客刚推出不久，目前只有4期，我已经全部听完了，每一期都很有深度和启发。这一期是与云南大学社会学副教授袁长庚探讨 2023 年青年群体的现状与变化。聊到的话题相当多，比如大学教育的 “高中化” ，青年人的消极情绪，小镇做题家，学神，年轻人的爱情观，教育系统的成绩至上，原生家庭，男知识分子，张雪峰等等等等。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;wo-de-zhai-chao-2&quot;&gt;我的摘抄：&lt;a class=&quot;zola-anchor&quot; href=&quot;#wo-de-zhai-chao-2&quot; aria-label=&quot;Anchor link for: wo-de-zhai-chao-2&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;blockquote&gt;
&lt;p&gt;你要是觉得今天中国女子都疯了，中国女子就想骑在男人头上，那你就永远不会意识到这是一个变革的事情。然后你更不会理解说这个变革里面其实是有着历史累积了很多问题呢。所以你要是欣然接受这个问题，然后你愿意去改，你至少来说你自己心里面舒服一点。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;我自己有一个不知道算不算经验的东西，就我觉得你年轻时候认定不碰的东西，你就别碰它。不管现在你付出什么样代价，你就别碰它。你会发现这事特别邪乎，就是它一开始的时候，别人都说你轴，都说你不识抬举，都说你不理智，但是这个事它一定会变成你人生的一个滋养你的东西。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;所以我很同情董强老师。他没有， 他跟我的区别就是他没有一个在家里天天敲打他的老婆。我觉得我比她好的一点是，就是这个思想转变，我确实是在私人生活里完成的。她很早就让我明白，女性首先需要的根本不是什么你来教我说女性主义在理论上是什么，不是的。你根本不能理解我的愤怒。你根本不能理解我长大以后回望这个糟糕的男权社会。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;zuo-long-zhong-zhi-niao-huan-shi-zhan-chi-gao-fei&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;episode&#x2F;66c852777ae3d6d8d29f5561&quot;&gt;&lt;strong&gt;做笼中之鸟还是展翅高飞？&lt;&#x2F;strong&gt;&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#zuo-long-zhong-zhi-niao-huan-shi-zhan-chi-gao-fei&quot; aria-label=&quot;Anchor link for: zuo-long-zhong-zhi-niao-huan-shi-zhan-chi-gao-fei&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;这期节目来自&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;podcast&#x2F;605b0d5d64b27cf2f137f131&quot;&gt;《喷嚏》&lt;&#x2F;a&gt;，主播是两位女性导演，竹子和韩夏。这期节目探讨了在美国引起了非常多争议的 “Tradwife” Kol 汉娜的故事，汉娜是摩门教徒，但是考入了茱莉亚音乐学院，随后和另一位摩门教徒结婚，现在是八个孩子的母亲。两位主播在节目中讨论了汉娜丈夫是如何追汉娜的，其中是否有恶意欺骗，这是不是现代版使女的故事，以及汉娜是否真正快乐，是否被丈夫操控。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;wo-de-zhai-chao-3&quot;&gt;我的摘抄：&lt;a class=&quot;zola-anchor&quot; href=&quot;#wo-de-zhai-chao-3&quot; aria-label=&quot;Anchor link for: wo-de-zhai-chao-3&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;blockquote&gt;
&lt;p&gt;“她有点像一个美国的李子柒，但是生了八个孩子的李子柒。这会让我困惑，就是我们现在这种当代的生活，我们现在去努力争取的这些权益，还有意义吗？还是说，千百年来人们都是传统的生活着，这个男耕女织，男主外女主内，也许这样的生活才是更快乐的？“&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“哪怕是时下现在处于一种婚姻状态的我，处于一种就是成为母亲的我，然后等等的，就有很多很多身份的我，我都会可能会问我自己，我可以离开现在这个局面吗？”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“我举个例子，我特别喜欢的一个电视剧叫《大小谎言》， 你在里面看起来越美丽的 couple， 他们营造出来的幻象越美丽，他背后所要承担的责任和他要承担的那些错误越丑恶。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“她一个人也许把生育这件事情描摹得非常的轻松，但并不代表我们所有的女性在经历这件事情的时候都看似这么轻松。她一个人可以轻轻松松地带着八个孩子从头到尾地做意大利面，并不代表我们所有的女人都能干这件事情”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;lu-yu-dui-hua-zhan-qing-yun&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;episode&#x2F;65f0ed0179f1b490bfb042a5&quot;&gt;&lt;strong&gt;鲁豫对话詹青云&lt;&#x2F;strong&gt;&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#lu-yu-dui-hua-zhan-qing-yun&quot; aria-label=&quot;Anchor link for: lu-yu-dui-hua-zhan-qing-yun&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;这期节目来自&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;podcast&#x2F;625635587bfca4e73e990703&quot;&gt;《岩中花述》&lt;&#x2F;a&gt;，主持人是鲁豫，这期对谈的嘉宾是詹青云。詹青云以RBG(金斯伯格)为引，讲述了从贵州小城到哈佛法学院、从香港到东京的经历。在对话中终于了解了詹青云一路的成长历程，她的自信，好奇心和困惑。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;wo-de-zhai-chao-4&quot;&gt;我的摘抄：&lt;a class=&quot;zola-anchor&quot; href=&quot;#wo-de-zhai-chao-4&quot; aria-label=&quot;Anchor link for: wo-de-zhai-chao-4&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;blockquote&gt;
&lt;p&gt;“我觉得没有什么事情是可以一下子成功的，我从来就不是在人群中一下子就能耀眼的…但是你得相信慢慢努力会好的。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“辩论不是让人变得更加激化更加刻薄的，辩论应该是让人变得更加包容，就是你恰恰知道了有很多事情是可以辩论的。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;人生梦想是一步一步变大的，好像不存在一个人从一开始就有一个非常远大的具体的目标。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;lu-yu-dui-hua-ji-jing-ren&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;episode&#x2F;66e00c45ee04007d8885889a&quot;&gt;鲁豫对话吉井忍&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#lu-yu-dui-hua-ji-jing-ren&quot; aria-label=&quot;Anchor link for: lu-yu-dui-hua-ji-jing-ren&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;这期&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;podcast&#x2F;625635587bfca4e73e990703&quot;&gt;《岩中花述》&lt;&#x2F;a&gt;，邀请到了《东京八平米》的作者吉井忍。在节目中，她们探讨了对不同生活方式的选择，比如打工与写作的双重生活，住八平米房间的体验，以及离婚后重新开启人生的故事。&lt;&#x2F;p&gt;
&lt;p&gt;作者在回到日本后，先是住在一个东京的郊区，每次进城都要花费1个多小时，她最大的困扰是每次在东京和朋友见面时，都必须赶在末班车之前回家。慢慢地，她也被东京丰富的公共文化生活吸引，也欣赏这座城市能包容不同的生活方式，所以决定搬到市区最方便的区域。基于成本考虑，她选择了一个仅有八平米的房间，这个小空间甚至都不能洗澡，她必须去公共浴室。但正是这种“不得不走出去“的生活方式，让她遇见了很多有趣的人。我最近也刚从大亚湾搬回深圳，所以特别有感触。每次进城坐高铁要一个半小时，坐地铁更是要两个小时。朋友约出来，第一反应不是“好啊“，而是开始计算路上要花多久，还得考虑回程时间，约太晚也不行，渐渐地，就经常婉拒朋友的邀约，看到深圳有什么新奇有趣的活动，心态也变成了能不去就不去，所以许多原本可能发生的美好连接就消失了。&lt;&#x2F;p&gt;
&lt;p&gt;在节目中，吉井忍还分享了她在中国经历的文化冲击，她发现中国女性很会表达自己，不开心的时候会毫不掩饰地表现出来，但在日本，年轻女性更习惯保持礼貌。然后鲁豫就说其实她觉得作为中国女性，敢于表达自己的程度还远远不够，听到这里，我觉得中国女的在这一点上是领先了👍！&lt;&#x2F;p&gt;
&lt;p&gt;推荐给所有想要探索不同生活可能性的人，特别是那些在大城市独自生活，或者正在思考要不要换一种活法的人。这期节目或许能给你一些启发：原来生活可以这样过，可以更简单，可以更自由，可以更有勇气。推荐配合《东京八平米》 收听这期播客。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;wo-de-zhai-chao-5&quot;&gt;我的摘抄&lt;a class=&quot;zola-anchor&quot; href=&quot;#wo-de-zhai-chao-5&quot; aria-label=&quot;Anchor link for: wo-de-zhai-chao-5&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;blockquote&gt;
&lt;p&gt;“你知道了这么多的生活方式的时候，你所谓相信的主流或不主流，或者该做什么或不该做什么那个观念其实是非常靠不住的东西的时候，你反而就明白你就是喜欢做的事情就做下去就OK了。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“我那时候好像比较年轻嘛，就是一个地方觉得够了，就有一点腻了，就可以换个地方。我自己本身的那个想法啊，经验也好，这个价值观也好，就是好像有一点点变化，但是整个人的那个感受或者说思维方式好像没有太大的变化。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“很多东西要想象到底要不要带走，想了想，其实要也可以，不要也罢。婚姻都破裂了，那这些东西还有什么用呢？东西其实跟自己的幸福没啥关系。最重要的是你自己做决定，结婚也好，离婚也好，就是你自己知道这个是你自己的决定，就不是被动而是主动的。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“你发现你从你的里面就有那个涌现出新的力量，就是你想不到的一个力量会出现，就觉得挺好的。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;tuo-kou-xiu-yan-yuan-echo-he-ta-de-xiao-xiao-sheng-li&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;episode&#x2F;67263d518320868431cbd2c2&quot;&gt;脱口秀演员Echo，和她的小小胜利&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#tuo-kou-xiu-yan-yuan-echo-he-ta-de-xiao-xiao-sheng-li&quot; aria-label=&quot;Anchor link for: tuo-kou-xiu-yan-yuan-echo-he-ta-de-xiao-xiao-sheng-li&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;这期节目来自&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.xiaoyuzhoufm.com&#x2F;podcast&#x2F;5e2aaf28418a84a046542eb7&quot;&gt;《没理想编辑部》&lt;&#x2F;a&gt;，这是看理想的几位编辑主持的一档播客，这一期对谈的嘉宾是脱口秀演员 Echo，她在《脱口秀大会》中讲述了“二姐的故事“而广受关注。我特别喜欢&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=JmQspj5nTvo&quot;&gt;她的脱口秀表演&lt;&#x2F;a&gt;，特别有共鸣。这场对谈中，Echo真诚地分享了创作这个文本的心路历程和真实生活情况，以及她作为一个女性脱口秀演员的经历和思考。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;wo-de-zhai-lu&quot;&gt;我的摘录:&lt;a class=&quot;zola-anchor&quot; href=&quot;#wo-de-zhai-lu&quot; aria-label=&quot;Anchor link for: wo-de-zhai-lu&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;“我觉得不仅出走要决心，呆在那个地方也需要决心，去爱一个人，去离开一个人，或者守在一个人身边都需要决心。对女生来说很多事情都需要决心。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“女生之间的爱是很多的…所以我觉得去爱一点都不羞耻，一点都不羞耻。我们给到身边的朋友哪怕陌生人，但现在可能说自己需要爱不那么正确，这也是我不太喜欢的一点。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“再差再难再不堪，你可以种一个自己的花，而这个花是你捡到的种子，你在外面随便捡的一颗种子，你自己回来种，就可以种出来。我觉得这个就是，虽然我想逃离大山，但是大山带给我最好的生命力的来源。”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;zong-jie&quot;&gt;总结&lt;a class=&quot;zola-anchor&quot; href=&quot;#zong-jie&quot; aria-label=&quot;Anchor link for: zong-jie&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;通过这两个月高频的收听播客，我体会到了以前从未有过的情感体验（以前我是石头人，非常骄傲自己的“情绪稳定”，很少思考人与人之间的连接），现在我终于理解了那种所谓的“坚强”，是如何深刻地限制了我体验生活的维度和深度。&lt;&#x2F;p&gt;
&lt;p&gt;我现在基本已经转换为了弱者视角（非贬义），学到了如何真诚的与他人建立连接。Maybe 进入了&lt;strong&gt;女权表演艺术家&lt;&#x2F;strong&gt;的阶段？？但是我很买账 Ted 在《思想验证区域》中的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.bilibili.com&#x2F;video&#x2F;BV1xtxqe6EfS&#x2F;?share_source=copy_web&amp;amp;vd_source=0152f6ff51aab0be9ae35103e35a8a16&amp;amp;t=233&quot;&gt;那个演讲&lt;&#x2F;a&gt;：‘&lt;strong&gt;伪善是文明的标志&lt;&#x2F;strong&gt;’，我还是相信我们男的可以通过这种“表演”，逐渐接近更好的自己。&lt;&#x2F;p&gt;
&lt;p&gt;这么多年真是错过了好多快乐啊，真诚的希望其他像我这种男的（我怀疑再见爱人里的李行亮也是这种）也能体会到这种情感体验。当一个“感性的理性主义者“，远比当一个纯粹的理性机器有趣得多。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>J人的本命笔记软件：Capacities</title>
        <published>2024-03-17T03:44:10+08:00</published>
        <updated>2024-03-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/capacities/"/>
        <id>https://old.owenyoung.com/blog/capacities/</id>
        
        <summary type="html">&lt;p&gt;这篇文章里不会讨论笔记&#x2F;写作的重要性，引用一下《How to Take Smart Notes》作者 Sönke Ahrens 的说法：”如果你改变了对写作重要性的看法，那么你会改变对其他一切事物的看法。”，这篇文章主要是介绍 Capacities 组织笔记的方式，以及我对这种方式的认同。对笔记长期主义者来说，我认为这种方式就是最可持续的组织办法。&lt;&#x2F;p&gt;
&lt;p&gt;想象一下，当你打开笔记时，有一个大按钮问你是否要创建&lt;strong&gt;一个短想法、一个 Quote、一张图片、一个链接、一本书、一个地点或者是一个人&lt;&#x2F;strong&gt;，而不是首先问你要放在&lt;strong&gt;哪个文件夹或者要加什么标签&lt;&#x2F;strong&gt;。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2024-03-16-195324.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这就是我们大脑的工作方式，我们会自然地对信息进行分类，将类似的项目组合在一起，以此来理解它们，我们按照“刻板印象” 而不是“文件夹”模式来认识整个世界。&lt;&#x2F;p&gt;
&lt;p&gt;所以建立笔记前，先选择这个笔记的类型并不会让我们觉得有困难，这还会让我们的笔记更加原子概念化。&lt;&#x2F;p&gt;
&lt;p&gt;这样下来，我们的整个第二大脑都会由基于类型的对象组成，我们可以创建任何类型，为这些类型设置任何属性。它有一个完善的全文搜索，你可以在任何对象里用 @ 引用其他对象，你可以在对象创建之后把它归到某个 Collection, 也可以为某个对象打 Tag.&lt;&#x2F;p&gt;
&lt;p&gt;当你建立起这样一个基于对象的第二大脑数据库之后，你可以用它提供的强大的过滤条件来任意创建不同的视图。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/capacities/">&lt;p&gt;这篇文章里不会讨论笔记&#x2F;写作的重要性，引用一下《How to Take Smart Notes》作者 Sönke Ahrens 的说法：”如果你改变了对写作重要性的看法，那么你会改变对其他一切事物的看法。”，这篇文章主要是介绍 Capacities 组织笔记的方式，以及我对这种方式的认同。对笔记长期主义者来说，我认为这种方式就是最可持续的组织办法。&lt;&#x2F;p&gt;
&lt;p&gt;想象一下，当你打开笔记时，有一个大按钮问你是否要创建&lt;strong&gt;一个短想法、一个 Quote、一张图片、一个链接、一本书、一个地点或者是一个人&lt;&#x2F;strong&gt;，而不是首先问你要放在&lt;strong&gt;哪个文件夹或者要加什么标签&lt;&#x2F;strong&gt;。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2024-03-16-195324.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这就是我们大脑的工作方式，我们会自然地对信息进行分类，将类似的项目组合在一起，以此来理解它们，我们按照“刻板印象” 而不是“文件夹”模式来认识整个世界。&lt;&#x2F;p&gt;
&lt;p&gt;所以建立笔记前，先选择这个笔记的类型并不会让我们觉得有困难，这还会让我们的笔记更加原子概念化。&lt;&#x2F;p&gt;
&lt;p&gt;这样下来，我们的整个第二大脑都会由基于类型的对象组成，我们可以创建任何类型，为这些类型设置任何属性。它有一个完善的全文搜索，你可以在任何对象里用 @ 引用其他对象，你可以在对象创建之后把它归到某个 Collection, 也可以为某个对象打 Tag.&lt;&#x2F;p&gt;
&lt;p&gt;当你建立起这样一个基于对象的第二大脑数据库之后，你可以用它提供的强大的过滤条件来任意创建不同的视图。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;我深深地觉得，这才是一个具有长期主义的笔记结构的设计，这才是真正的在模拟我们大脑的工作方式。&lt;&#x2F;p&gt;
&lt;p&gt;我终于知道为啥当时很喜欢 Tumblr 的博客设计， 它也是类似，当你要发内容的时候，它会先问你要发什么类型。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2024-03-16-195749.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这是他们&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;capacities.io&#x2F;&quot;&gt;首页&lt;&#x2F;a&gt;的截图：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2024-03-16-195214.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;由来自德国的独立团队制作，从2022年开始，一开始只有2个人，目前已经有 4 个人了。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.capacities.io&#x2F;&quot;&gt;对该软件更加详细的介绍在这里&lt;&#x2F;a&gt;。&lt;&#x2F;p&gt;
&lt;p&gt;其实目前的设计已经接近了我对笔记组织的理想状态。但是如果是我做的话，我可能会有不一样的侧重点。&lt;&#x2F;p&gt;
&lt;p&gt;目前想到的几点：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;完整的保留对象类型的设计。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;我会把这个笔记软件定位为一个 Content CMS 系统，提供一个完整的 API，这样你的内容可以和任何外部系统具有互操作性，你可以方便的从任何系统中导入东西，或者将某个内容同步到任何平台。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;我发现目前的笔记软件都是默认私有的，但是我不喜欢这样，我希望这个体现我第二大脑的地方是一个默认公开的东西（我可以自己选择哪些是私有的）。我觉得很多人低估了公开表达对作者起到的莫大的好处，比如
：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;公开表达会促使我们有更深刻的思考。&lt;&#x2F;li&gt;
&lt;li&gt;公开表达会让我们有更多的机会认识真正兴趣相投的人。&lt;&#x2F;li&gt;
&lt;li&gt;公开表达会让我们有更多的机会得到反馈，从而提高我们的认知。&lt;&#x2F;li&gt;
&lt;li&gt;我喜欢这些公开的数字花园：&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;notes.andymatuschak.org&#x2F;About_these_notes&quot;&gt;andy的工作笔记&lt;&#x2F;a&gt; , &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;wiki.nikiv.dev&#x2F;&quot;&gt;Everything I Know&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;你可以利用第二大脑里的内容来 DIY 一个任何主题的公开主页，比如你的博客，你的短想法，你的影评，或者你的食谱。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;增加团队&#x2F;协作功能，团队可以创建团队 Space. (目前 Capacities 的路线图似乎完全不考虑团队功能）&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;增加订阅功能，或者付费订阅功能，这样你可以把你的内容变成一个付费的订阅内容。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;支持类似推特 thread 那种上下文关联。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;由于里面的笔记都是原子笔记，所以可能需要有某种类似 Anki 的视图，来帮助我们复习。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;还有一些对 Capacities 小改进，比如：无标题的短想法成为一级公民。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;总的来说这可能是： Capacities +Ghost(CMS) + Notion(协作)+ Anki + Tumblr（DIY主页） 的缝合怪。&lt;&#x2F;p&gt;
&lt;p&gt;（事实上，我真的挺期待这样一个工具的，如果你有兴趣或者已经有类似的工具推荐，我建了一个 Telegram 群组： &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;t.me&#x2F;+I2y-E_d_L4QxNTEx&quot;&gt;https:&#x2F;&#x2F;t.me&#x2F;+I2y-E_d_L4QxNTEx&lt;&#x2F;a&gt; ，我们可以在群里交流讨论一下～&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>我的 Kobo 电子书阅读器设置</title>
        <published>2023-12-03T19:59:07+08:00</published>
        <updated>2023-12-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/kobo-setup/"/>
        <id>https://old.owenyoung.com/blog/kobo-setup/</id>
        
        <summary type="html">&lt;p&gt;双11的时候入手了一个 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;us.kobobooks.com&#x2F;products&#x2F;kobo-libra-2&quot;&gt;Kobo Libra2&lt;&#x2F;a&gt;, 一直没找到时间鼓捣，这周终于有时间自定义了一下了，毕竟我购买这个设备就是为了更方便的使用 epub 格式的电子书，以及能比 Kindle 多一点可以 Hack 的部分。这篇文章记录一下我的设置，以防下次需要重置。&lt;&#x2F;p&gt;
&lt;p&gt;我目前还没有深入使用，所以还不确定这个墨水屏电子书阅读器值不值得推荐，所以本文只记录我的设置过程。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/kobo-setup/">&lt;p&gt;双11的时候入手了一个 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;us.kobobooks.com&#x2F;products&#x2F;kobo-libra-2&quot;&gt;Kobo Libra2&lt;&#x2F;a&gt;, 一直没找到时间鼓捣，这周终于有时间自定义了一下了，毕竟我购买这个设备就是为了更方便的使用 epub 格式的电子书，以及能比 Kindle 多一点可以 Hack 的部分。这篇文章记录一下我的设置，以防下次需要重置。&lt;&#x2F;p&gt;
&lt;p&gt;我目前还没有深入使用，所以还不确定这个墨水屏电子书阅读器值不值得推荐，所以本文只记录我的设置过程。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;Kobo 的 Hack 过程比较好做，因为官方留了一个口子给第三方插件，基本上安装任何第三方插件，都只需要连接 usb （你的电脑文件夹要能显示隐藏文件，也就是&lt;code&gt;.&lt;&#x2F;code&gt; 开头的文件）。一般来说，第三方插件会提供一个名字是&lt;code&gt;KoboRoot.tgz&lt;&#x2F;code&gt;的安装包，你需要把它拖到 kobo 存储盘里的 &lt;code&gt;.kobo&lt;&#x2F;code&gt;文件夹，然后安全弹出 Kobo USB 设备，再等待几秒就可以了。&lt;&#x2F;p&gt;
&lt;p&gt;Kobo 会自动检测 &lt;code&gt;KoboRoot.tgz&lt;&#x2F;code&gt; 文件，然后运行里面的安装程序。一般来说，第三方程序并不会影响 Kobo 的主系统，他们只是额外安装了自己，和主系统完美共存。&lt;&#x2F;p&gt;
&lt;p&gt;目前比较热门的第三方程序有：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;koreader&#x2F;koreader&quot;&gt;koreader&lt;&#x2F;a&gt; - 可以高度定制的一个阅读器客户端，还有安卓版。有非常多的功能，比如支持 calibre 无线传输，RSS，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;wallabag&#x2F;wallabagger&quot;&gt;Wallbag&lt;&#x2F;a&gt; 等等等等&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;baskerville&#x2F;plato&quot;&gt;Plato&lt;&#x2F;a&gt; - 一个简约的阅读器，性能好，用Rust编写，功能相对较少，但够用，还附带有一个计算器和涂写的小工具。还有一个选中高亮便捷自动调整范围的小特性，（经常用墨水屏阅读器的人应该深有体会，很难精确的选中一个段落，所以这个特性我特别喜欢）&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;fsantini&#x2F;KoboCloud&quot;&gt;kobocloud&lt;&#x2F;a&gt; 可以自动同步 Dropbox, Google Drive, Next Cloud 的书籍到 Kobo 上。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;这三个我都试用了一下，最后还是放弃了 koreader, 功能真的太多了…所以使用起来几乎是一头雾水，界面也有点一言难尽，性能也没有 Plato 好，所以我决定只安装 KoboCloud 和 Plato.&lt;&#x2F;p&gt;
&lt;p&gt;下面记录下我的安装和设置过程：&lt;&#x2F;p&gt;
&lt;h2 id=&quot;1-da-kai-kai-fa-zhe-mo-shi&quot;&gt;1. 打开开发者模式&lt;a class=&quot;zola-anchor&quot; href=&quot;#1-da-kai-kai-fa-zhe-mo-shi&quot; aria-label=&quot;Anchor link for: 1-da-kai-kai-fa-zhe-mo-shi&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;这不是必须的，但是我建议一开始就开启，这样可以通过 &lt;code&gt;telnet&lt;&#x2F;code&gt; 进系统里四处看看以熟悉整个文件夹构造，或者在电脑上用 vi 编辑配置文件。&lt;&#x2F;p&gt;
&lt;p&gt;开启这个，会让我们的【设置】【测试版功能】里多一些功能，甚至还有一些小游戏。&lt;&#x2F;p&gt;
&lt;p&gt;只需要在 Kobo 的搜索框里输入 &lt;code&gt;devmodeon&lt;&#x2F;code&gt;, 即可自动打开。注意，kobo不会给你任何提示，我当时也一直疑惑怎么输入这个对我无效，原来是只要输入，按下回车键就好了，具体可以去【设置】【测试版功能】里面查看有没有数独小游戏入口来确认有没有开启成功。实验功能里面还有一个 Sketchpad 很实用，可以用手指写写画画，我打算把这个添加到我的 NickelMenu 菜单里。&lt;&#x2F;p&gt;
&lt;p&gt;同时在【设置】【设备信息】里面会多出来一个选项 【Developer options】 里面有很多选项可以用。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.mobileread.com&#x2F;forums&#x2F;showthread.php?t=336175&quot;&gt;这个教程&lt;&#x2F;a&gt; 有更多关于开发的信息。&lt;&#x2F;p&gt;
&lt;p&gt;最常用的是用 telnet 连接到该机器，这样就能远程操控了，（可以在【设置】【设备信息】里获取当前的kobo ip），点击【wiki】图标，并保持菜单打开，可以让网络不断开。&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;telnet 192.168.50.212
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;输入 &lt;code&gt;root&lt;&#x2F;code&gt; 用户即可，没有密码&lt;&#x2F;p&gt;
&lt;h2 id=&quot;2-diao-zheng-kobo-de-zi-dong-sao-miao-she-zhi&quot;&gt;2. 调整 Kobo 的自动扫描设置&lt;a class=&quot;zola-anchor&quot; href=&quot;#2-diao-zheng-kobo-de-zi-dong-sao-miao-she-zhi&quot; aria-label=&quot;Anchor link for: 2-diao-zheng-kobo-de-zi-dong-sao-miao-she-zhi&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;由于最新版本的 Kobo 会自动扫描所有隐藏文件夹，但是我们即将要安装的插件都是放在 &lt;code&gt;.&lt;&#x2F;code&gt; 开头的隐藏文件夹里，会让主屏幕识别出很多无效的图片文件，所以我们需要编辑设置文件，禁止这个行为。&lt;&#x2F;p&gt;
&lt;p&gt;重新插拔 USB 连接Kobo 之后，打开主目录，找到 &lt;code&gt;.kobo&#x2F;Kobo&#x2F;Kobo\ eReader.conf&lt;&#x2F;code&gt; 文件，用你喜欢的编辑器，在最后一行添加如下设置：&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;[FeatureSettings]
&lt;&#x2F;span&gt;&lt;span&gt;ExcludeSyncFolders=(\\.(?!kobo|adobe).+|([^.][^&#x2F;]*&#x2F;)+\\..+)
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;编辑完成之后，安全弹出设备，耐心等待几秒，等待系统应用该配置文件。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;不知道是错觉，还是什么，因为我尝试的次数比较多，似乎某些时候更改配置不生效，所以你可以重新插拔一下USB，再次打开该配置文件，确实是否生效。&lt;&#x2F;p&gt;
&lt;p&gt;Kobo 会重新排序配置，所以虽然你刚刚在最后一行添加的配置，Kobo 会重新格式化到 字母顺序排列。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;3-an-zhuang-kobo-cloud&quot;&gt;3. 安装 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;fsantini&#x2F;KoboCloud&quot;&gt;Kobo Cloud&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#3-an-zhuang-kobo-cloud&quot; aria-label=&quot;Anchor link for: 3-an-zhuang-kobo-cloud&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;这个工具用于同步 Google Drive 文件夹里的图书到 kobo 设备里，因为我很不喜欢每次都需要用 USB 连接才能传输书，这个方案来同步书是最方便的。这样以后只需要把图书上传到 Google Drive 里面的指定文件夹，Kobo就能自动同步图书了。&lt;&#x2F;p&gt;
&lt;p&gt;重新插拔USB，按照项目文档里的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;fsantini&#x2F;KoboCloud&quot;&gt;说明&lt;&#x2F;a&gt;安装即可。&lt;&#x2F;p&gt;
&lt;p&gt;我使用Google Drive 来同步，下面是我的设置：&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;# Add your URLs to this file
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;https:&#x2F;&#x2F;drive.google.com&#x2F;drive&#x2F;folders&#x2F;your-unique-link?usp=sharing
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;# Remove the # from the following line to uninstall KoboCloud
&lt;&#x2F;span&gt;&lt;span&gt;#UNINSTALL
&lt;&#x2F;span&gt;&lt;span&gt;# Remove the # from the following line to delete files when they are no longer on the remote server
&lt;&#x2F;span&gt;&lt;span&gt;REMOVE_DELETED
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;然后，安全弹出 Kobo 设备，此时 Kobo 会自动安装该插件。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;安装之后如何使用？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;当上传新的 epub 到Google Drive 之后，开关一下 Wifi 即可触发同步和导入。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;4-an-zhuang-plato&quot;&gt;4. 安装 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;baskerville&#x2F;plato&quot;&gt;Plato&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#4-an-zhuang-plato&quot; aria-label=&quot;Anchor link for: 4-an-zhuang-plato&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;目前发现 Plato 在渲染 Epub 方面还是有点问题，我在沉浸式翻译里翻译的 epub 的换行符没法正确显示，我在 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;baskerville&#x2F;plato&#x2F;issues&#x2F;180#issuecomment-1837883563&quot;&gt;issue&lt;&#x2F;a&gt; 里贴了相关代码, 所以目前还是官方的阅读器比较爽，但是官方的阅读器打开epub特别慢，我要想办法把 epub 自动转为 kepub 才行。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;重新插拔一下 USB，在设备上允许连接到电脑。&lt;&#x2F;p&gt;
&lt;p&gt;使用官方安装说明中给出的这个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.mobileread.com&#x2F;forums&#x2F;showthread.php?t=314220&quot;&gt;一键安装脚本&lt;&#x2F;a&gt; 来安装plato&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;下载帖子1 里面的 Plato 压缩包&lt;&#x2F;li&gt;
&lt;li&gt;下载帖子2 里面的一键安装脚本到同一个目录，解压到当前目录&lt;&#x2F;li&gt;
&lt;li&gt;在命令行里运行该脚本，mac是 &lt;code&gt;.&#x2F;install.command&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;选择 安装 plato 即可（0）。&lt;&#x2F;p&gt;
&lt;p&gt;该安装包会同时帮你安装另外两个必须的插件，一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;NiLuJe&#x2F;kfmon&quot;&gt;kfmon&lt;&#x2F;a&gt;, 另一个是 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;pgaskin&#x2F;NickelMenu&quot;&gt;NickelMenu&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;这个安装脚本里，会自动帮我们执行我上面步骤2里手动的修改的配置，就是忽略&lt;code&gt;.&lt;&#x2F;code&gt;文件夹的扫描。但是我实践操作过程中发现似乎有时序问题，有的时候会失败，所以我才在第 2 步里手动修改，并确认配置生效。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;安全弹出设备，耐心等几秒，就会自动开始安装。&lt;&#x2F;p&gt;
&lt;p&gt;安装成功之后，右下角会出现一个新的菜单，点击，选择【Plato】就可以进入了。&lt;&#x2F;p&gt;
&lt;p&gt;进入之后，点击左下角，选择【Library】，可以切换不同的仓库，以显示不同目录下的书籍。&lt;&#x2F;p&gt;
&lt;p&gt;在 Kobocloud 里同步的书籍在这里的【Removable】书架里。&lt;&#x2F;p&gt;
&lt;p&gt;如图：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-12-03-telegram-cloud-photo-size-1-5145563038030605534-y.jpg&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;6-pei-zhi-nickelmenu-tian-jia-yi-xie-kuai-jie-ru-kou&quot;&gt;6. 配置 NickelMenu, 添加一些快捷入口&lt;a class=&quot;zola-anchor&quot; href=&quot;#6-pei-zhi-nickelmenu-tian-jia-yi-xie-kuai-jie-ru-kou&quot; aria-label=&quot;Anchor link for: 6-pei-zhi-nickelmenu-tian-jia-yi-xie-kuai-jie-ru-kou&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;为 Nicket Menu 添加一个 sketch 快速打开白板，和快速打开浏览器，还有就是快速打开 在线wifi传书(&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;send.djazz.se&#x2F;&quot;&gt;https:&#x2F;&#x2F;send.djazz.se&#x2F;&lt;&#x2F;a&gt;)的选项，&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;pgaskin&#x2F;NickelMenu&#x2F;blob&#x2F;master&#x2F;res&#x2F;doc&quot;&gt;文档&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;新建文件 &lt;code&gt;.adds&#x2F;nm&#x2F;config&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;配置如下：&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;menu_item :main    :Sketch Pad         :nickel_extras      :sketch_pad
&lt;&#x2F;span&gt;&lt;span&gt;menu_item :main :Buzzing        :nickel_browser     :modal:https:&#x2F;&#x2F;www.buzzing.cc&#x2F;lite&#x2F;
&lt;&#x2F;span&gt;&lt;span&gt;menu_item :main :Receive Books Online        :nickel_browser     :modal:https:&#x2F;&#x2F;send.djazz.se
&lt;&#x2F;span&gt;&lt;span&gt;menu_item:browser:Quit:nickel_misc:home
&lt;&#x2F;span&gt;&lt;span&gt;menu_item :selection_search :Search DuckDuckGo :nickel_browser :modal:https:&#x2F;&#x2F;duckduckgo.com&#x2F;?q={1|S|%}
&lt;&#x2F;span&gt;&lt;span&gt;menu_item :selection_search :Search Youdao :nickel_browser :modal:https:&#x2F;&#x2F;www.youdao.com&#x2F;result?word={1|S|%}&amp;amp;lang=en
&lt;&#x2F;span&gt;&lt;span&gt;menu_item :main    :IP Address         :cmd_output         :500:&#x2F;sbin&#x2F;ifconfig | &#x2F;usr&#x2F;bin&#x2F;awk &amp;#39;&#x2F;inet addr&#x2F;{print substr($2,6)}&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;menu_item :main    :FTP                :cmd_spawn          :quiet:&#x2F;usr&#x2F;bin&#x2F;pkill -f &amp;quot;^&#x2F;usr&#x2F;bin&#x2F;tcpsvd -E 0.0.0.0 1021&amp;quot; || true &amp;amp;&amp;amp; exec &#x2F;usr&#x2F;bin&#x2F;tcpsvd -E 0.0.0.0 1021 &#x2F;usr&#x2F;sbin&#x2F;ftpd -w -t 30 &#x2F;mnt&#x2F;onboard
&lt;&#x2F;span&gt;&lt;span&gt;  chain_success                        :dbg_toast          :Started FTP server for KOBOeReader partition on port 1021.
&lt;&#x2F;span&gt;&lt;span&gt;menu_item :main    :Telnet (toggle)    :cmd_output         :500:quiet :&#x2F;usr&#x2F;bin&#x2F;pkill -f &amp;quot;^&#x2F;usr&#x2F;bin&#x2F;tcpsvd -E 0.0.0.0 2023&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;  chain_success:skip:5
&lt;&#x2F;span&gt;&lt;span&gt;    chain_failure                      :cmd_spawn          :quiet :&#x2F;bin&#x2F;mount -t devpts | &#x2F;bin&#x2F;grep -q &#x2F;dev&#x2F;pts || { &#x2F;bin&#x2F;mkdir -p &#x2F;dev&#x2F;pts &amp;amp;&amp;amp; &#x2F;bin&#x2F;mount -t devpts devpts &#x2F;dev&#x2F;pts; }
&lt;&#x2F;span&gt;&lt;span&gt;    chain_success                      :cmd_spawn          :quiet :exec &#x2F;usr&#x2F;bin&#x2F;tcpsvd -E 0.0.0.0 2023 &#x2F;usr&#x2F;sbin&#x2F;telnetd -i -l &#x2F;bin&#x2F;login
&lt;&#x2F;span&gt;&lt;span&gt;    chain_success                      :dbg_toast          :Started Telnet server on port 2023
&lt;&#x2F;span&gt;&lt;span&gt;    chain_failure                      :dbg_toast          :Error starting Telnet server on port 2023
&lt;&#x2F;span&gt;&lt;span&gt;    chain_always:skip:-1
&lt;&#x2F;span&gt;&lt;span&gt;  chain_success                        :dbg_toast          :Stopped Telnet server on port 2023
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;效果如下：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-12-03-telegram-cloud-photo-size-1-5145650556579195833-y.jpg&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;7-qi-ta&quot;&gt;7. 其他&lt;a class=&quot;zola-anchor&quot; href=&quot;#7-qi-ta&quot; aria-label=&quot;Anchor link for: 7-qi-ta&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;有的时候，如果没有扫描到你添加的图书，可能需要重启一下。&lt;&#x2F;p&gt;
&lt;p&gt;目前就只探索到这么多，未来如果有新发现，再补充进来。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>一种新的雇佣方案</title>
        <published>2023-12-03T04:14:15+08:00</published>
        <updated>2023-12-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/new-salary/"/>
        <id>https://old.owenyoung.com/blog/new-salary/</id>
        
        <summary type="html">&lt;p&gt;我发现程序员雇员好像经常会为老板做一些不痛不痒的事，这些事可做可不做，但是因为老板花了高价雇了你，所以你必须有点事儿做。&lt;&#x2F;p&gt;
&lt;p&gt;在这种日常的损耗中，程序员的潜力被极大的浪费了。而实际上当程序员有时间做自由探索的时候，可以做很多有意思的事（可能会有更多的开源项目被持续的维护，或者做出更多的小型创业项目）。我认为老板应该在内部创建一个好的创业文化，鼓励程序员发展自己，创业，甚至单飞。这反过来可以提高公司的知名度和路人好感。&lt;&#x2F;p&gt;
&lt;p&gt;晚上遛狗的时候，我突然想到了一种神奇的雇佣方案，似乎对老板和（愿意这样干的）程序员都比较友好。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/new-salary/">&lt;p&gt;我发现程序员雇员好像经常会为老板做一些不痛不痒的事，这些事可做可不做，但是因为老板花了高价雇了你，所以你必须有点事儿做。&lt;&#x2F;p&gt;
&lt;p&gt;在这种日常的损耗中，程序员的潜力被极大的浪费了。而实际上当程序员有时间做自由探索的时候，可以做很多有意思的事（可能会有更多的开源项目被持续的维护，或者做出更多的小型创业项目）。我认为老板应该在内部创建一个好的创业文化，鼓励程序员发展自己，创业，甚至单飞。这反过来可以提高公司的知名度和路人好感。&lt;&#x2F;p&gt;
&lt;p&gt;晚上遛狗的时候，我突然想到了一种神奇的雇佣方案，似乎对老板和（愿意这样干的）程序员都比较友好。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;让我们说，假如一个程序员月薪到手 20000 块，假设公司需要付出 1.5倍的实际成本，也就是 30000 块，相当于老板每月花 30000 块雇佣了你 21 天，每天 8 小时的时间。&lt;&#x2F;p&gt;
&lt;p&gt;我想到的替代方案是：&lt;&#x2F;p&gt;
&lt;p&gt;程序员可以领 3000 块月薪，这 3000 块，程序员不需要做任何东西，只是为了成为公司的一个定向外包工作者，对老板的需求随叫随到。&lt;&#x2F;p&gt;
&lt;p&gt;程序员的实际薪资是靠计时薪资来计算的，假设这个程序员工作满 21天，如果他想赚到到手 20000 块，需要的时薪大概是 101 块每小时。&lt;&#x2F;p&gt;
&lt;p&gt;这样的话，相当于老板，程序员付出和到手的钱都没变，但激励变了，所以老板会尽量不安排无意义的活儿，而程序员可以有更多的时间探索好玩的东西，充分发展自己。&lt;&#x2F;p&gt;
&lt;p&gt;但是这种方案看起来似乎对老板更有利？（虽然我觉得对程序员也很有利），所以我们可以再权衡一下时薪，比如时薪提高为 125 每小时，这样的话可能更有吸引力。&lt;&#x2F;p&gt;
&lt;p&gt;不知道有没有我没想到的坏处，如果没有的话，那么以后有机会就这么干。&lt;&#x2F;p&gt;
&lt;p&gt;目前我会比较困惑的地方是采用这种方案，是老板会感觉吃亏，还是程序员会感觉吃亏？还是这真的是一种双赢方案？&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;更新： 我在推特上&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;OwenYoungZh&#x2F;status&#x2F;1731258752974856572&quot;&gt;发起了一个投票&lt;&#x2F;a&gt; ，也许可以调查下程序员和老板各自对此的立场，欢迎投票。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;更新2: 朋友给我分享了他在 2021 年翻译的 Sahil Lavingia 的 Gumroad &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;greatdk.com&#x2F;1744.html&quot;&gt;实践&lt;&#x2F;a&gt;，并且他也践行了这个实验，其中有一个很有意思的规定，每周超过 20小时后的时薪降一半。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>对“假开源”事件的反省</title>
        <published>2023-08-06T00:26:25+08:00</published>
        <updated>2023-08-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/fake-open-source/"/>
        <id>https://old.owenyoung.com/blog/fake-open-source/</id>
        
        <summary type="html">&lt;p&gt;前几天我从沉浸式翻译用户群得知，有一则 V2EX 上的帖子指控&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;immersivetranslate.com&#x2F;&quot;&gt;沉浸式翻译&lt;&#x2F;a&gt;假开源：&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.v2ex.com&#x2F;t&#x2F;961178&quot;&gt;《10k+ star 的项目也搞假开源》&lt;&#x2F;a&gt;，虽然这则帖子里面也有一些情绪化发言，但是我不得不承认这是一个很有价值的帖子，实际上我从中学到了很多关于开源和各种 License 的新知识，我也很庆幸是现在学到这些，而不是更晚。&lt;&#x2F;p&gt;
&lt;p&gt;再者，当我完成这篇回应后，我突然意识到博客是一个回应此类事件的绝佳平台，博文的长度可以让你不受限制地，完整地表达你的想法，包括很多复杂，曲折的心路历程。但是如果在论坛上进行一来一回的辩论，很可能会陷入无休止的争执甚至升级为攻击。博客就不一样了，我在这里写东西非常有安全感，我愿意在这里剖析自己的问题，我会在写的时候反省自己，即使本文又臭又长，阅读时长可能超过 15 分钟，但是在这里写下的文字的确不会让我感到有压力。&lt;&#x2F;p&gt;
&lt;p&gt;我也意识到要说服一个对你持有反对观点的人非常之难，再加上帖子里用户的各种关切，又都有其合理性，所以这样就更加无法说服别人了。所以我写下这篇文章主要是做一些记录，给关心此事的人提供更多的细节，反省，解决社区里的关切，以及分享我从中学到关于开源的新认识。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/fake-open-source/">&lt;p&gt;前几天我从沉浸式翻译用户群得知，有一则 V2EX 上的帖子指控&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;immersivetranslate.com&#x2F;&quot;&gt;沉浸式翻译&lt;&#x2F;a&gt;假开源：&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.v2ex.com&#x2F;t&#x2F;961178&quot;&gt;《10k+ star 的项目也搞假开源》&lt;&#x2F;a&gt;，虽然这则帖子里面也有一些情绪化发言，但是我不得不承认这是一个很有价值的帖子，实际上我从中学到了很多关于开源和各种 License 的新知识，我也很庆幸是现在学到这些，而不是更晚。&lt;&#x2F;p&gt;
&lt;p&gt;再者，当我完成这篇回应后，我突然意识到博客是一个回应此类事件的绝佳平台，博文的长度可以让你不受限制地，完整地表达你的想法，包括很多复杂，曲折的心路历程。但是如果在论坛上进行一来一回的辩论，很可能会陷入无休止的争执甚至升级为攻击。博客就不一样了，我在这里写东西非常有安全感，我愿意在这里剖析自己的问题，我会在写的时候反省自己，即使本文又臭又长，阅读时长可能超过 15 分钟，但是在这里写下的文字的确不会让我感到有压力。&lt;&#x2F;p&gt;
&lt;p&gt;我也意识到要说服一个对你持有反对观点的人非常之难，再加上帖子里用户的各种关切，又都有其合理性，所以这样就更加无法说服别人了。所以我写下这篇文章主要是做一些记录，给关心此事的人提供更多的细节，反省，解决社区里的关切，以及分享我从中学到关于开源的新认识。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: 本文可能包含只有程序员才能看的懂的术语。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;由于读者里可能有对开源或闭源不了解的朋友，所以我想先介绍几个概念，有些概念不同的人理解的不一样，所以我尝试询问 GPT：什么是假开源？以下是 GPT 的回答：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-05-163201.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;接着我再问，如何区分开源和闭源？&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-05-163353.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;注意，GPT 是从理论层面回答了这两个问题， 但是 V2EX 上原帖里质疑者的主要观点是：虽然在理论层面上沉浸式翻译没有假开源（比如从未宣称自己是开源项目），但是从实际观感上，却做的“不体面”，“不道德”，容易误导不深入了解的用户，让他们以为这是开源项目。&lt;&#x2F;p&gt;
&lt;p&gt;更进一步，当我看到推上有互关好友也误以为沉浸式翻译是开源项目时，我认识到帖子里的关切是合理的。&lt;&#x2F;p&gt;
&lt;p&gt;原帖已经盖到了 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.v2ex.com&#x2F;t&#x2F;961178&quot;&gt;400 多楼&lt;&#x2F;a&gt;，全部读完会有点辛苦，但是如果你想完整地了解上下文，我建议还是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.v2ex.com&#x2F;t&#x2F;961178&quot;&gt;全部读完&lt;&#x2F;a&gt;。&lt;&#x2F;p&gt;
&lt;p&gt;在这篇文章里，我想以我的视角，对用户关切的某些操作提供更详细的细节和历史原因说明，并且对发帖人所关切的问题采用最佳实践作为解决方案。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;以下是我总结的原帖里主要关切的问题&lt;&#x2F;strong&gt;：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;1. 项目的结构看起来像一个完整的开源项目，因为包括了 &lt;code&gt;Makefile&lt;&#x2F;code&gt; 等文件。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;下图是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;immersive-translate&#x2F;tree&#x2F;67d93220980943280288781eef7ed49ac305b7be&quot;&gt;项目&lt;&#x2F;a&gt;的目录结构：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-05-050734.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;我发现好像不止一个人会用这个来判断一个项目是否为开源项目，那我觉得如果对此有争议，我很乐意移除这个&lt;code&gt;Makefile&lt;&#x2F;code&gt;文件或者精简这个项目的目录结构。&lt;&#x2F;p&gt;
&lt;p&gt;此外还有一些网友也补充了其他流行的闭源项目如&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;obsidianmd&#x2F;obsidian-releases&quot;&gt;Obsidian&lt;&#x2F;a&gt;, &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Fndroid&#x2F;clash_for_windows_pkg&quot;&gt;Clash for windows&lt;&#x2F;a&gt;的目录结构。我会参照这些项目重新修改 Repo 以减少任何可能的疑问。&lt;&#x2F;p&gt;
&lt;p&gt;同时我也想在这里分享一下为什么这个项目会有&lt;code&gt;Makefile&lt;&#x2F;code&gt;文件？&lt;&#x2F;p&gt;
&lt;p&gt;因为该项目一直以来都是沉浸式翻译官网文档的 Repo，&lt;code&gt;Makefile&lt;&#x2F;code&gt; 里的几个快捷命令被用于生成官网：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-05-051550.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;我本人是&lt;code&gt;Makefile&lt;&#x2F;code&gt; 的狂热爱好者，所以我&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&quot;&gt;几乎所有的项目&lt;&#x2F;a&gt;都会用到&lt;code&gt;Makefile&lt;&#x2F;code&gt;文件，而不是 &lt;code&gt;npm run&lt;&#x2F;code&gt;，我甚至专门在博客里存了一份&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.owenyoung.com&#x2F;en&#x2F;blog&#x2F;makefile-template&#x2F;&quot;&gt;Makfile 的初始化模版&lt;&#x2F;a&gt;，用于方便的为新项目创建&lt;code&gt;Makefile&lt;&#x2F;code&gt;文件。&lt;&#x2F;p&gt;
&lt;p&gt;所以该项目的&lt;code&gt;Makefile&lt;&#x2F;code&gt;文件被用于创建下图的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20230529012541&#x2F;https:&#x2F;&#x2F;immersive-translate.owenyoung.com&#x2F;&quot;&gt;沉浸式翻译官网&lt;&#x2F;a&gt;：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-05-052714.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;所以，以我的视角来看，整个项目结构其实是为了服务这个官网的生成， &lt;code&gt;README.md&lt;&#x2F;code&gt;文件渲染的其实就是官网的首页。我用了 Rust 的 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;rust-lang.github.io&#x2F;mdBook&#x2F;format&#x2F;configuration&#x2F;general.html&quot;&gt;mdbook 工具&lt;&#x2F;a&gt;来生成官网，所以你会看到有 &lt;code&gt;book.toml&lt;&#x2F;code&gt;,&lt;code&gt;theme&lt;&#x2F;code&gt;,&lt;code&gt;custom.css&lt;&#x2F;code&gt; 等典型的&lt;code&gt;mdbook&lt;&#x2F;code&gt;文件。&lt;&#x2F;p&gt;
&lt;p&gt;但是该文档其实存放在别的 repo 也可以，很容易就能迁移走。为了减少这里的疑问，我会把整个文档迁出，然后参考其他流行闭源项目的最佳实践，只留下&lt;code&gt;README&lt;&#x2F;code&gt;, &lt;code&gt;dist&lt;&#x2F;code&gt; 等必要文件。&lt;&#x2F;p&gt;
&lt;p&gt;进度：✅ 已完成，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;immersive-translate&#x2F;&quot;&gt;点此查看最新项目结构&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;2. 项目的 &lt;code&gt;README&lt;&#x2F;code&gt; 文档，看起来像开源项目，容易造成误导&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;下图是项目的 &lt;code&gt;README&lt;&#x2F;code&gt; 截图：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-05-045538.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这个的原因同上， &lt;code&gt;README.md&lt;&#x2F;code&gt; 文件渲染的是官网的主页，所以写了一大堆文字和图片介绍沉浸式翻译这个产品。既然我已将整个文档项目迁出，那么这个 &lt;code&gt;README.md&lt;&#x2F;code&gt; 文件也可以按照闭源最佳的实践，改为简单介绍这个 Repo 即可。&lt;&#x2F;p&gt;
&lt;p&gt;进度：✅ 已完成，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;immersive-translate&#x2F;&quot;&gt;点此查看最新项目结构&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-06-045156.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;3. 当重写后的新项目改为闭源后，没有在显著位置提醒用户该新项目是一个闭源项目&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;这个操作发生在项目的早期，（有点复杂和绕脑，我尽量尝试解释清楚）。&lt;&#x2F;p&gt;
&lt;p&gt;沉浸式翻译最早（2022 年 11 月 5 日）基于开源项目&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;FilipePS&#x2F;Traduzir-paginas-web&quot;&gt;TPW&lt;&#x2F;a&gt;之上开发，这对于程序员来说很常见，因为这样可以快速进行&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;OwenYoungZh&#x2F;status&#x2F;1588790629647405057&quot;&gt;概念验证&lt;&#x2F;a&gt;。我当时也是，在该开源项目基础上尝试修改以支持双语网页翻译。&lt;&#x2F;p&gt;
&lt;p&gt;最后，在这个开源项目上开发了 20 多天后，发现再也改不动了。。原项目的代码架构实在是太老了，增减功能非常麻烦，再加上我当时又很迷另一个很新的语言 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;deno.com&#x2F;&quot;&gt;Deno&lt;&#x2F;a&gt;，所以就计划从零开始，重写一个非常干净的双语网页翻译扩展,这是当时（2022 年 11 月 29 日，此时旧版项目开发了 20 多天，用户应该只有 20 几个）我在用户群里的讨论：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-04-115754.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-04-115658.jpg&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;所以大概从 22 年 11 月 28 日开始，我着手重写整个项目，我建立了一个私有项目&lt;code&gt;next-translator&lt;&#x2F;code&gt;用于托管新版项目的源代码，同时建立了&lt;code&gt;next-immersive-translate&lt;&#x2F;code&gt;的公开项目，用于存放新版项目的文档（这就是后来改名为&lt;code&gt;immersive-translate&lt;&#x2F;code&gt;的 10k+项目）&lt;&#x2F;p&gt;
&lt;p&gt;当时沉浸式翻译的用户还很少很少，几乎都在我建立的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;t.me&#x2F;+rq848Z09nehlOTgx&quot;&gt;Telegram 用户群&lt;&#x2F;a&gt;里，新版开发期间，群里喜欢尝鲜的用户还一直都帮我测试新版的各种问题。最终，新版从开始到开发完成，大概花了全职的 50 天时间，经原帖评论区网友提醒，在那期间，新版&lt;code&gt;next-immersive-translate&#x2F;README&lt;&#x2F;code&gt; 的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;immersive-translate&#x2F;tree&#x2F;v0.0.41&quot;&gt;README 说明&lt;&#x2F;a&gt;就很规范，明确说明了这个 repo 只是用来存放 release 版本：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-05-081546.jpg&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;终于，在重写新版 50 天后， 23 年 1 月 18 日，沉浸式翻译新版在 Chrome 商店上架了，由此，正式取代了 50 天前提交的旧版沉浸式翻译。&lt;&#x2F;p&gt;
&lt;p&gt;既然新版已上架商店，我就想，next 是不是可以变成 current 了，此前新版的公开文档项目&lt;code&gt;next-immersive-translate&lt;&#x2F;code&gt;可不可以改名为&lt;code&gt;immersive-translate&lt;&#x2F;code&gt;，然后旧项目改名为&lt;code&gt;old-immersive-translate&lt;&#x2F;code&gt;。所以当时我做了以下操作：&lt;&#x2F;p&gt;
&lt;p&gt;在新版上架当天，我把旧版的&lt;code&gt;immersive-translate&lt;&#x2F;code&gt;项目在 Github 上存档，并且改名为&lt;code&gt;old-immersive-translate&lt;&#x2F;code&gt;。&lt;&#x2F;p&gt;
&lt;p&gt;同时将新版的文档项目&lt;code&gt;next-immersive-translate&lt;&#x2F;code&gt;改名为&lt;code&gt;immersive-translate&lt;&#x2F;code&gt;，由此完成了新旧交替。&lt;&#x2F;p&gt;
&lt;p&gt;接着我在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;old-immersive-translate&#x2F;tree&#x2F;6df13da22664bea2f51efe5db64c63aca59c4e79&quot;&gt;旧版项目&lt;&#x2F;a&gt;加了一行说明：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;说明：新版的沉浸式翻译扩展已经迁移到&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;immersive-translate&quot;&gt;这里&lt;&#x2F;a&gt;，新版全新架构，性能更好，支持更多的翻译引擎和浏览器平台（包括 iOS Safari），以及拥有更好的 pdf 翻译体验，欢迎移步&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;immersive-translate&quot;&gt;新版&lt;&#x2F;a&gt;。旧版代码将存档。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;这行说明，对于不了解我的人来说，可以理解为作者恶意不提到新项目已经是闭源项目。但我回想起当初的操作，只能说当时真的没想那么多，因为当时项目实在是太小了，所以各种操作就很随意，很难预料到“命运的齿轮”还会转到我这。。。&lt;&#x2F;p&gt;
&lt;p&gt;不过，有一个好消息是：沉浸式翻译 99.9 %以上的用户都是在新版发布后获取的，这些用户实际上并不知道以前还有个所谓的旧版开源项目（因为当时旧版项目只开发了 20 来天，用户数很少很少），所以这个操作的影响范围算是比较小。&lt;&#x2F;p&gt;
&lt;p&gt;但是这里的关切是很合理，但是由于原项目已存档，无法再做出修改，所以我会在链接过去的新项目里正文最前面进行说明。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;本仓库用于发布沉浸式双语网页翻译扩展的 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;immersive-translate&#x2F;releases&quot;&gt;Release 版本&lt;&#x2F;a&gt;以及使用 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;immersive-translate&#x2F;issues&quot;&gt;Github Issues&lt;&#x2F;a&gt;收集和跟进用户反馈。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;immersivetranslate.com&#x2F;&quot;&gt;沉浸式翻译&lt;&#x2F;a&gt; 并非开源软件，这个仓库并 &lt;strong&gt;不包含&lt;&#x2F;strong&gt; 沉浸式翻译的源代码。旧版的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;old-immersive-translate&quot;&gt;沉浸式翻译开源项目&lt;&#x2F;a&gt;已于 2023 年 1 月 17 日被归档。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;进度：✅ 已完成，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;immersive-translate&#x2F;&quot;&gt;点此查看&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;4. 新项目的许可证变更有问题&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;这里帖子的主要疑问其实已经没有了，由于新版的项目只是一个文档项目，它本身没必要绑定任何 License 文件，原有的终端用户协议应放置在&lt;code&gt;EULA&lt;&#x2F;code&gt;文件。&lt;&#x2F;p&gt;
&lt;p&gt;进度：✅ 已完成，点此查看&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;immersive-translate&#x2F;&quot;&gt;新版&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;5. 沉浸式翻译用开源来宣传自己，因为有部分第三方文章（怀疑是软文）提到了沉浸式翻译是开源的&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;评论区提到的几个链接，这些文章的作者确实提到了沉浸式翻译开源的，这也间接说明上面的 1，2 表达的关切是合理的。&lt;&#x2F;p&gt;
&lt;p&gt;随后我在微信上尝试搜索更多推荐沉浸式翻译的文章，粗略估计有 95% 的文章并没有提到沉浸式翻译是开源的，大概有 5% 的文章用开源来形容沉浸式翻译。&lt;&#x2F;p&gt;
&lt;p&gt;还有一点，就是帖子里关于软文的指控是明确不符合事实的，因为沉浸式翻译截止目前（2023 年 08 月 05 日）还没有请任何人写过推广，这件事很好证伪，因为随便找到任何一篇推广沉浸式翻译的文章，如果作者说那是软文，这件事就证伪了。&lt;&#x2F;p&gt;
&lt;p&gt;这件事我可以改进的是，尝试联系这些链接里的作者，告诉他们沉浸式翻译实际上是闭源项目，如果可以的话，请他们删掉开源的说法。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-05-214508.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-05-214752.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-05-215200.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-05-215348.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;进度：✅已完成&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;6. 沉浸式翻译的官网中，有一个 Github 链接，容易给人开源的印象&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;指的是沉浸式官网最下方的 Github 链接：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-04-154126.jpg&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;我觉得这也是合理的关切，我计划用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;immersive-translate&#x2F;releases&quot;&gt;Release&lt;&#x2F;a&gt; 来代替原 Github 的描述。&lt;&#x2F;p&gt;
&lt;p&gt;进度：✅ 已完成，点此查看&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;immersivetranslate.com&quot;&gt;官网&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;7. 在沉浸式翻译的帮助文档里，邀请其用户在商店评价，并且邀请用户给 Github 项目点赞&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;这一点指的是沉浸式的帮助文档里有一个可选项呼吁用户帮忙给 Github 项目 star：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-05-110419.jpg&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这里的历史原因是，从当时独立开发者的视角来看，我想努力扩大沉浸式翻译的影响力。但是以现在的视角来看，我觉得这也是合理的关切，我计划移除这个呼吁。&lt;&#x2F;p&gt;
&lt;p&gt;进度：✅ 已完成，点此查看&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;immersivetranslate.com&#x2F;docs&#x2F;&quot;&gt;该文档&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;8. 沉浸式翻译的新版文档项目，一直在继续提交 build 之后的更新&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;这里的历史原因是这个项目既是官网的文档项目，又是托管构建产物的项目，而沉浸式翻译发版还很频繁，平均每 2 天一个版本，所以这个项目确实一直都在持续的提交。&lt;&#x2F;p&gt;
&lt;p&gt;但是我觉得在完成上述变动之后，整个文档项目已迁移到其他地方，之后理论上就只有机器人在变更了，变更频率也会小很多。&lt;&#x2F;p&gt;
&lt;p&gt;进度：✅ 已完成迁移，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;immersive-translate&#x2F;&quot;&gt;点此查看&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;以上是我总结的 8 点主要的关切，以及我为此补充的细节和解决方案。&lt;&#x2F;p&gt;
&lt;p&gt;我希望这些改进措施能够解决原帖里用户的关切。同时，我也想向那些被误导以为沉浸式翻译项目是开源的，但后来发现不是后产生受骗感觉的朋友表示歉意。我从中学到了很多东西，我很庆幸是现在学到，而不是更晚。&lt;&#x2F;p&gt;
&lt;p&gt;如果你需要替代方案的话，我推荐以下两个开源的沉浸式翻译双语网页翻译扩展替代品：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chunibyocola&#x2F;sc-translator-crx&quot;&gt;可可翻译&lt;&#x2F;a&gt;， GPL3 许可证，已上架商店。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;fishjar&#x2F;kiss-translator&quot;&gt;简约翻译&lt;&#x2F;a&gt;,GPL3 许可证，暂未上架商店。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;或者你也可以选择使用 MPL2.0 协议下的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;old-immersive-translate&quot;&gt;旧版沉浸式翻译&lt;&#x2F;a&gt;，我测试过，在大多数场景下依然可以使用，而且由于它是开源项目，任何人都可以继续修改它。&lt;&#x2F;p&gt;
&lt;p&gt;我也想对那些在原帖中对沉浸式翻译表示理解的朋友们说声谢谢，接下来沉浸式翻译也会推出更多的开源计划，比如：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immersive-translate&#x2F;immersiveL&quot;&gt;AI 翻译模型&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;PDF 文件解析引擎 (2025.04更新： 已开源&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;funstory-ai&#x2F;BabelDOC&quot;&gt;BabelDoc&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;ePub 翻译&lt;&#x2F;li&gt;
&lt;li&gt;…&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;我会继续打磨产品，不断的提升所有人外语信息阅读的效率。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;最后，再分享一下我在原帖中学到的以前比较模糊的开源知识，希望能帮到有需要的同学：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;1. “源代码可用”&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.v2ex.com&#x2F;t&#x2F;961178?p=2#r_13432781&quot;&gt;并不代表“开源”&lt;&#x2F;a&gt;，&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;“源代码可用”只是指源代码可以被公众查看。但这并不意味着公众可以自由地使用、修改或分发这些代码。这种情况下，代码的版权所有者可能仍然保留所有权利，并可能对代码的使用施加严格的限制。&lt;&#x2F;p&gt;
&lt;p&gt;另一方面，“开源”通常指的是任何人都可以自由地查看、使用、修改和分发源代码，但前提是他们需要遵循相应的开源许可证。开源许可证（例如 MIT、GPL、Apache 等）为用户提供了使用、修改和分发代码的明确指南，并且保护了原始作者的权利。&lt;&#x2F;p&gt;
&lt;p&gt;总的来说，所有的开源代码都是源代码可用的，但并非所有源代码可用的代码都是开源的。是否真正开源，关键在于其许可证如何规定其使用、修改和分发的条款。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;2. 不管你的公开项目采用什么开源协议（包括 MIT），只要你接受过别人的贡献，并且你和贡献着之间没有签署过《贡献者许可协议（CLA）》的话，那么理论上你只能对你编写的部分变更协议。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;对于这一点，大公司是怎么做的呢？&lt;&#x2F;p&gt;
&lt;p&gt;如果你提交 pull request 给大公司的话，他们会强制要求你签署《贡献者许可协议（CLA）》，该许可协议会授予&lt;strong&gt;项目所有者永久性、全球性、非专属性、免费的、可转让的许可，用于使用、复制、修改、创建衍生作品、公开展示和分发您的贡献及其衍生作品，并且项目所有者有权在必要时改变许可证。&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;对于个人开发者来说，如果你也想对自己的项目有更大的掌控权的话，你可以使用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;contributor-assistant&#x2F;github-action&quot;&gt;这个&lt;&#x2F;a&gt; Github Action, 它会帮你在新的 pull request 合并之前，要求贡献者签署《贡献者许可协议》&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;3. 如果你还没想好要采用什么许可证的话，建议不要建立任何 License，这样的话，即使你的项目是公开源代码的，但是法律上并不算开源。你可以在比较了解许可证的情况下再决定使用什么类型的许可证。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;以下是一些常见许可证的简单分类：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;宽松许可证：&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;MIT License：最简洁和最宽松的许可证之一，只需要在复制或分发的时候保留原有的版权声明和许可证。&lt;&#x2F;li&gt;
&lt;li&gt;BSD 2-Clause 和 3-Clause License：同样非常简洁和宽松，和 MIT 类似，但是 3-Clause 版本多了一个不得使用原软件作者名义进行推广的条款。&lt;&#x2F;li&gt;
&lt;li&gt;Apache License 2.0：比 MIT 和 BSD 稍微复杂一点，但是多了一些对专利权的明确规定。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;严格许可证：&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;GPL v2&#x2F;v3 (GNU General Public License)：GPL 是最严格的许可证之一，要求所有的衍生软件也必须采用 GPL 许可证。&lt;&#x2F;li&gt;
&lt;li&gt;AGPL (GNU Affero General Public License)：在 GPL 的基础上，进一步要求即使在网络上提供服务（不分发软件），也需要开源代码。&lt;&#x2F;li&gt;
&lt;li&gt;LGPL (GNU Lesser General Public License)：比 GPL 稍微宽松一点，对库或框架更友好，只要求对修改的部分开源，可以和商业软件链接。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;最后，我还想感谢 ChatGPT 给了我鼓励。虽然从公关角度上来说，目前原帖的热度已经下去了，此时保持沉默似乎是最好的选择。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;files.owenyoung.com&#x2F;file&#x2F;owen-blog&#x2F;2023-08-05-192439.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;我随口问了 ChatGPT 一句， 它的回答极大的鼓励了我，让我在这个时间做了我觉得对的事，感谢 ChatGPT 呀。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>重新思考何为幸福的人生</title>
        <published>2023-06-24T03:24:30+08:00</published>
        <updated>2023-06-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/money/"/>
        <id>https://old.owenyoung.com/blog/money/</id>
        
        <summary type="html">&lt;p&gt;我在上篇文章中畅想了一种有钱后做慈善的方式，通过提供&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.owenyoung.com&#x2F;blog&#x2F;basic-income&#x2F;&quot;&gt;基本收入&lt;&#x2F;a&gt;给员工，让员工专心发展自己，而实际上我才是那个最想被发送无条件基本收入的员工。&lt;&#x2F;p&gt;
&lt;p&gt;幸运的是，我目前处于一个比较不错的阶段，没有房子，没有负债，没有特别热衷（并且需要花不少钱）的爱好，不准备生孩子，有一定的储蓄（在维持我目前的生活状态下（低物质欲，学会省钱），至少可以失业 10 年以上。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/money/">&lt;p&gt;我在上篇文章中畅想了一种有钱后做慈善的方式，通过提供&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.owenyoung.com&#x2F;blog&#x2F;basic-income&#x2F;&quot;&gt;基本收入&lt;&#x2F;a&gt;给员工，让员工专心发展自己，而实际上我才是那个最想被发送无条件基本收入的员工。&lt;&#x2F;p&gt;
&lt;p&gt;幸运的是，我目前处于一个比较不错的阶段，没有房子，没有负债，没有特别热衷（并且需要花不少钱）的爱好，不准备生孩子，有一定的储蓄（在维持我目前的生活状态下（低物质欲，学会省钱），至少可以失业 10 年以上。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;我目前的人生可以有 2 种选择：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;需要一份体面的工作来维持一种：有房有车，能在节假日享受休闲的自由（比如和家人出国旅行）的，符合绝大多数人的期待和想象的中产阶级生活。&lt;&#x2F;li&gt;
&lt;li&gt;转变思路，认为幸福的人生是有自由去探索自己想创造的事情，不再为了钱而工作，而是为了自己想创造的事情而终身工作。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;我能幸运的有第二种选择，是因为：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;我没有负债&lt;&#x2F;li&gt;
&lt;li&gt;我不准备生孩子&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;如果我有以上任何一种，我想应该没有任何选择，只能选择 1。&lt;&#x2F;p&gt;
&lt;p&gt;这篇文章是想提醒也有同样困惑的同学：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;如果你只是为了钱而工作，本身并不享受你的工作&lt;&#x2F;li&gt;
&lt;li&gt;你目前已经有了一定的储蓄，但是你把不少的钱花在了维持主流的中产阶级生活品质上。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;也许你可以重新考虑下自己的处境，是否要转变心态，重新定义幸福的人生。&lt;&#x2F;p&gt;
&lt;p&gt;在一个一线城市的周边小城市里的生活成本真的很低，也许你现在已经拥有了这样的选择权。&lt;&#x2F;p&gt;
&lt;p&gt;同时推荐这篇文章：&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;clip.owenyoung.com&#x2F;2023&#x2F;06&#x2F;23&#x2F;money-is-the-megaphone-of-identity-more-to-that&#x2F;&quot;&gt;《钱是身份的传声筒》&lt;&#x2F;a&gt;给有同样困惑的人 ，分析的很到位（基于美国），就是有点长，主要观点是：&lt;&#x2F;p&gt;
&lt;p&gt;每个人都处于下图金钱谱系中的某个位置：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;clip.owenyoung.com&#x2F;2023&#x2F;06&#x2F;23&#x2F;money-is-the-megaphone-of-identity-more-to-that&#x2F;K01-Entire-Money-Spectrum.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;从下到上依次是：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;生存阶段
&lt;ol&gt;
&lt;li&gt;温饱线以下&lt;&#x2F;li&gt;
&lt;li&gt;缺乏住所或无家可归&lt;&#x2F;li&gt;
&lt;li&gt;解决了衣食住行的问题&lt;&#x2F;li&gt;
&lt;li&gt;有一定储蓄&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;自由阶段
&lt;ol&gt;
&lt;li&gt;有休闲的自由&lt;&#x2F;li&gt;
&lt;li&gt;工作的自由&lt;&#x2F;li&gt;
&lt;li&gt;注意力自由&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;有权力和影响力的阶段&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;但是，这个谱系并不是钱越多，就越上层：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;clip.owenyoung.com&#x2F;2023&#x2F;06&#x2F;23&#x2F;money-is-the-megaphone-of-identity-more-to-that&#x2F;K03-Crossing-out-money-axis.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;比如：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;一个很好的例子是一个年薪 3 万美元的人，但她从事的是她喜欢的工作。她的生活方式是每年只花 2 万美元。她有从事自己喜欢的工作的自由，她是一个幸福的人。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;相反，你可以有一大笔钱，但却处于生存的频谱。比如一个年薪 30 万美元的人，但他在做他讨厌的工作。此外，他的生活方式背负很多贷款，比如房子的抵押贷款，车子的抵押贷款。这个人的自由就有限，他只能勉强维持生计。他是一个不幸的人。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;如果不追求权力和影响力的话，那么工作的自由和注意力自由阶段就是最棒的阶段，但是有不少人在物质上已经达到了这个阶段，但是心态上却停留在储蓄阶段或者更下面。&lt;&#x2F;p&gt;
&lt;p&gt;所以重点是你的选择是什么？与其通过你有多少钱来看待这个金钱光谱，不如通过情感范围来看待它：清晰和恐惧。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;clip.owenyoung.com&#x2F;2023&#x2F;06&#x2F;23&#x2F;money-is-the-megaphone-of-identity-more-to-that&#x2F;K07-Full-clarity-and-fear-spectrum.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;你在生存阶段中的频谱越低，你就越害怕金钱和它对你生活的影响。然而，当你上升到储蓄阶段并接近自由时，围绕金钱的恐惧逐渐消失，事情进入清晰的阶段。当你处于自由阶段时，事情更加清晰，但休闲的自由仍然会有一些恐惧和困惑。&lt;&#x2F;p&gt;
&lt;p&gt;当你开始对你的生活有更多的控制，比如进入工作自由和注意力自由的阶段时，这就是最甜蜜的阶段。&lt;&#x2F;p&gt;
&lt;p&gt;如果你通过匮乏和生存的视角来看待世界，金钱只会放大这种不足的感觉。但是，如果自由是你的定义，那么无论你拥有多少钱，都会感到充实。&lt;&#x2F;p&gt;
&lt;p&gt;文章里权力的那一段（由于我完全没有经验），所以我 Get 不到他的点。&lt;&#x2F;p&gt;
&lt;p&gt;最后，不管怎么样，我会鼓励你重新考虑下应该如何定义幸福的人生。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>我要是有钱...</title>
        <published>2023-06-24T01:38:22+08:00</published>
        <updated>2023-07-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/basic-income/"/>
        <id>https://old.owenyoung.com/blog/basic-income/</id>
        
        <summary type="html">&lt;p&gt;看到好多有钱人做慈善靠捐一笔大额的钱给学校或者别的什么，如果是我，我就不这么做。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;07.19 更新：意外得知此文竟然被一位真正有钱的老板看到，并且还严肃的讨论了可行性。。 所以我修改了一些内容，使之看起来更加现实一点。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;08.19 更新：Jasper &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;jasper_tide&#x2F;status&#x2F;1692533935455277531&quot;&gt;启动了《潮汐青年》计划&lt;&#x2F;a&gt;，计划招募 5 个人，为他们交纳北京社保以及每月 7000 的基本收入，按每年续约。
我非常开心&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;OwenYoungZh&#x2F;status&#x2F;1692579831672938772&quot;&gt;听到这个消息。&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;（注意 ：Jasper 并非上面提到的真正有钱人。）&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/basic-income/">&lt;p&gt;看到好多有钱人做慈善靠捐一笔大额的钱给学校或者别的什么，如果是我，我就不这么做。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;07.19 更新：意外得知此文竟然被一位真正有钱的老板看到，并且还严肃的讨论了可行性。。 所以我修改了一些内容，使之看起来更加现实一点。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;08.19 更新：Jasper &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;jasper_tide&#x2F;status&#x2F;1692533935455277531&quot;&gt;启动了《潮汐青年》计划&lt;&#x2F;a&gt;，计划招募 5 个人，为他们交纳北京社保以及每月 7000 的基本收入，按每年续约。
我非常开心&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;OwenYoungZh&#x2F;status&#x2F;1692579831672938772&quot;&gt;听到这个消息。&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;（注意 ：Jasper 并非上面提到的真正有钱人。）&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;我要是有钱到能做慈善，我会成立一家公司，这家公司没有任何业务，但是给所有员工提供基本收入，在中国的语境下这可能是 7000 左右，直接签长期协议，每次 5 年，到期续约。&lt;&#x2F;p&gt;
&lt;p&gt;所有员工不需要坐班，不需要打卡，不需要对公司承诺任何回报，他们唯一的任务就是发展自己，公司可以提供一个松散的交流平台（以防你需要交流，或者找伙伴）。&lt;&#x2F;p&gt;
&lt;p&gt;如果最终员工真的发达了，那么公司会期待员工把其事业利润的 5% 分红给这家公司（这可能是一个道德约束，而不是一个法律意义上的合同），以支持这家公司持续且健康的发展下去。另外，员工可以随时退出，或者 5 年后不再续约，但是公司在绝大多数情况下不能单方面毁约。&lt;&#x2F;p&gt;
&lt;p&gt;这个公司的核心任务就是：&lt;strong&gt;无条件地鼓励员工在满足基本收入的情况下发展自己&lt;&#x2F;strong&gt;(不过其实也不需要鼓励啦，因为会申请这份工作的人，一定会强烈地认可并珍惜这份自由)&lt;&#x2F;p&gt;
&lt;p&gt;同时我觉得公司也需要对一些普通意义上的法律责任免责，比如工伤之类的，这些不应该由公司负责。&lt;&#x2F;p&gt;
&lt;p&gt;我算了一下，如果员工到手 7000 块的话，那么按照最低缴费标准，公司可能要为每个人付出 10000 块（社保+公积金等）&lt;&#x2F;p&gt;
&lt;p&gt;假如总共雇佣 50 个人，那么每年的成本是： 50*10000*12 = 600 万&lt;&#x2F;p&gt;
&lt;p&gt;5 年的成本是 3000 万。所以如果要做这个慈善的话，需要的资金至少是千万级。&lt;&#x2F;p&gt;
&lt;p&gt;我从内心里相信&lt;strong&gt;无条件的基本收入能激发个人最大的创造力&lt;&#x2F;strong&gt;，所以如果我有钱，我绝对选择这样的方式做慈善。&lt;&#x2F;p&gt;
&lt;p&gt;对公司而言，这样的神仙公司，一定会收到很多优秀人才的申请，所以公司其实会处于一个比较有利的地位，可以去筛选出所谓最有潜力的候选人。最终的结果应该不会太差，这钱应该不会完全打水漂，就算打水漂了，这也是一个很不错的慈善支出，对于社会绝对是很好的贡献，比撒钱给 90% 失败率的创业公司强多了。同时，这件事非常有媒体价值，只要你第一个做这件事，应该马上就会得到一个全国性的热搜，也许会有更多有社会责任感的钱涌进来，从而让这个乌托邦实验更加地可持续。&lt;&#x2F;p&gt;
&lt;p&gt;并且，由于只有 7000 块的工资，所以申请该工作的人一定会是那种志同道合的，有自律能力的，对于发展自己有强烈认可的人。这些人不想出卖自己的时间做一些自己不感兴趣的事（比如做一些诱导用户点击的，浪费用户时间但对公司有利的）。如果有选择，他们可以做出真正对社会有正面意义的东西，这个解决方案可能并不是很大，但是只有在这种情况下，才有可能诞生这些解决方案。为此，他们可以忍受一定程度的限制，比如他们可能需要住在一个比较便宜的地方（比如我所在的地方，加物业费，一个月 1800 可以住到一个很舒服的三室一厅，离某一线城市的地铁终点站大概 10 分钟车程），他们可能需要放弃一些昂贵的旅行计划（但是由于他们拥有真正的时间自由，他们更可能拥有一些更便宜，但是更高质量的旅游体验，这些旅游体验，反过来又会激发他们的创造力）。&lt;&#x2F;p&gt;
&lt;p&gt;而对员工而言，能拥有这种无条件的基本收入，可以奢侈到把每一天都用来发展自己，这放在世界上任何地方都是一件极其幸运的事情。&lt;&#x2F;p&gt;
&lt;p&gt;同时，其实能有条件申请这份工作的人已经很幸运了，因为你真正意识到了发展自己的价值，你可以 5 年内不需要赚（比基本收入）更多的钱（给自己或者家人），你可以花这么一大块完整的时间用来做任何你想做的事。相信我，这真的会很爽。&lt;&#x2F;p&gt;
&lt;p&gt;总之，如果哪位幸运的有钱人，如果你的钱可以多到这样花的话，也许你真的可以认真的考虑下这件事的可行性。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>刷社交网络，阅读文章以及读书的区别是什么？</title>
        <published>2023-06-16T00:09:07+08:00</published>
        <updated>2023-06-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/why-we-should-write/"/>
        <id>https://old.owenyoung.com/blog/why-we-should-write/</id>
        
        <summary type="html">&lt;p&gt;之前我一直都在思考这个问题：为什么我明明在社交网络上也能学到不少东西，但为什么大家都说社交网络纯属浪费时间？那假如我在社交网络上关注的都是精心筛选过的用户，那么刷社交网络还是很浪费时间吗？&lt;&#x2F;p&gt;
&lt;p&gt;阅读文章比刷社交网络要好吗？&lt;&#x2F;p&gt;
&lt;p&gt;读书又比阅读文章要好吗？&lt;&#x2F;p&gt;
&lt;p&gt;最近在用&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;reading-while-walking-dogs&#x2F;&quot;&gt;遛狗的时间&lt;&#x2F;a&gt;读一本叫《打造第二大腦》的书，读完之后，我对此有了新的想法。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/why-we-should-write/">&lt;p&gt;之前我一直都在思考这个问题：为什么我明明在社交网络上也能学到不少东西，但为什么大家都说社交网络纯属浪费时间？那假如我在社交网络上关注的都是精心筛选过的用户，那么刷社交网络还是很浪费时间吗？&lt;&#x2F;p&gt;
&lt;p&gt;阅读文章比刷社交网络要好吗？&lt;&#x2F;p&gt;
&lt;p&gt;读书又比阅读文章要好吗？&lt;&#x2F;p&gt;
&lt;p&gt;最近在用&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;reading-while-walking-dogs&#x2F;&quot;&gt;遛狗的时间&lt;&#x2F;a&gt;读一本叫《打造第二大腦》的书，读完之后，我对此有了新的想法。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;&lt;strong&gt;首先，社交网络的确能刷出好东西&lt;&#x2F;strong&gt;。 碎片化并不一定比长篇的文章或者图书低级，有的时候它可以是一句非常精辟的话。&lt;&#x2F;p&gt;
&lt;p&gt;那么为什么我们觉得看书的感觉更好呢？&lt;&#x2F;p&gt;
&lt;p&gt;因为碎片化的东西就算再精辟，那也只是很短的一段话，我们人脑更倾向于忘记这些简短，孤立的东西。所谓刷过就忘了。&lt;&#x2F;p&gt;
&lt;p&gt;读书不太一样的是，每本书都有一个非常明确的主题，作者会用非常长的篇幅，抽丝剥茧地为你剖析这个主题，所以我们读完之后，大概率印象会非常深刻，可以在脑子里保鲜很长时间。&lt;&#x2F;p&gt;
&lt;p&gt;阅读文章同理，它比碎片化的东西更具体，但是又比书简略的多，读完一篇文章之后，它在我们的脑子中保鲜的时间其实并不长。&lt;&#x2F;p&gt;
&lt;p&gt;但是如果把时间拉长，比如 10 年，再假设你阅读文章和看书从来不做笔记，或者笔记分散在各个不同的地方，那么这三者的区别就非常小了。对，即使你很喜欢看书，但是如果你没有写下来，在第二大脑里回顾，那么这些宝贵的素材基本就算是消失了。&lt;&#x2F;p&gt;
&lt;p&gt;所以重点是：&lt;strong&gt;我们必须把我们在刷这些知识时筛选出来的材料记录下来&lt;&#x2F;strong&gt;，这个记录的地方就是我们的第二大脑，它可以被方便的搜索，也可以被方便的浏览和新增笔记。&lt;&#x2F;p&gt;
&lt;p&gt;只有这些写下来的东西的才是我们的，其他的一切都会随着时间的消逝逐渐被遗忘。&lt;&#x2F;p&gt;
&lt;p&gt;所以仔细想一想，如果我在过去的 10 年都没有记下一些东西，那么这 10 年我是不是相当于白活了？因为所有的感受都会随着时间慢慢被冲淡，只有写下的东西，拍摄的照片才能代表我们的智识足迹。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;jie-lun&quot;&gt;结论&lt;a class=&quot;zola-anchor&quot; href=&quot;#jie-lun&quot; aria-label=&quot;Anchor link for: jie-lun&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;如果把时间拉长后，你会发现刷社交网络，阅读文章和读书 几乎一样了，所以这就是为什么我们把这些东西记下来，当作我们的第二大脑。&lt;&#x2F;p&gt;
&lt;p&gt;同时我也推荐你也看一下《打造第二大脑》这本书，参考书中的建议建立你的第二大脑。这样我们在刷社交网络，读文章，读书的时候，就可以把所有你觉得有需要记下来的东西，都保存在第二大脑中。&lt;&#x2F;p&gt;
&lt;p&gt;我的博客目前极大的充当了这个第二大脑，但是我的照片管理目前一团遭，我还在探索如何让照片保存，浏览，搜索流程上变得更流畅，等我探索出来之后，再写一篇文章分享我的经验～&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;由于我阅读的是用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;immersivetranslate.com&#x2F;&quot;&gt;沉浸式翻译&lt;&#x2F;a&gt;制作的双语电子书，它的英文原文相对很简单，所以我可以在遛狗的时候只看原文，并且读出来，遇到不懂的原文，再看一下译文这样，所以进度很慢，截止目前进度差不多 57%，等我读完之后，我会重新规划一下我的第二大脑运行流程，同时，本博客绝对会是一个非常重要的地方。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>城市与国家的财富&#x2F;分离主义的问题 - 阅读笔记</title>
        <published>2023-05-21T00:40:13+08:00</published>
        <updated>2023-05-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/cities-and-the-wealth-of-nation/"/>
        <id>https://old.owenyoung.com/blog/cities-and-the-wealth-of-nation/</id>
        
        <summary type="html">&lt;p&gt;最近两周正在重构&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;immersive-translate.owenyoung.com&#x2F;&quot;&gt;沉浸式翻译&lt;&#x2F;a&gt;，所以都没怎么顾得上写博客，本周终于写完了, 才有空测试下重构后沉浸式翻译的网页适配情况，在 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzing.cc&quot;&gt;Buzzing&lt;&#x2F;a&gt; 上读到一篇文章&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;astralcodexten.substack.com&#x2F;p&#x2F;your-book-review-cities-and-the-wealth&quot;&gt;《城市和国家的财富&#x2F;分离主义的问题》书评&lt;&#x2F;a&gt;，没想到超级超级的长，这篇文章是对简-雅各布斯两本不太知名的书的评论：《城市与国富》： 经济生活的原则》和《分离主义的问题》： 魁北克和对主权的斗争“写的书评。简-雅各布斯最有名的书是《美国大城市的死与生》。她被公认为可能是城市主义中最有影响力的思想家。&lt;&#x2F;p&gt;
&lt;p&gt;（感谢沉浸式翻译，如果没有沉浸式翻译，我应该不会有耐心读完这么长的英文文章，这是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;clip.owenyoung.com&#x2F;2023&#x2F;05&#x2F;21&#x2F;your-book-review-cities-and-the-wealth-of-nations-the-question-of-separatism&#x2F;&quot;&gt;这篇文章双语版本的备份&lt;&#x2F;a&gt;），但是有很多很有意思的观点，所以无论如何我都想先记下来！&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/cities-and-the-wealth-of-nation/">&lt;p&gt;最近两周正在重构&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;immersive-translate.owenyoung.com&#x2F;&quot;&gt;沉浸式翻译&lt;&#x2F;a&gt;，所以都没怎么顾得上写博客，本周终于写完了, 才有空测试下重构后沉浸式翻译的网页适配情况，在 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzing.cc&quot;&gt;Buzzing&lt;&#x2F;a&gt; 上读到一篇文章&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;astralcodexten.substack.com&#x2F;p&#x2F;your-book-review-cities-and-the-wealth&quot;&gt;《城市和国家的财富&#x2F;分离主义的问题》书评&lt;&#x2F;a&gt;，没想到超级超级的长，这篇文章是对简-雅各布斯两本不太知名的书的评论：《城市与国富》： 经济生活的原则》和《分离主义的问题》： 魁北克和对主权的斗争“写的书评。简-雅各布斯最有名的书是《美国大城市的死与生》。她被公认为可能是城市主义中最有影响力的思想家。&lt;&#x2F;p&gt;
&lt;p&gt;（感谢沉浸式翻译，如果没有沉浸式翻译，我应该不会有耐心读完这么长的英文文章，这是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;clip.owenyoung.com&#x2F;2023&#x2F;05&#x2F;21&#x2F;your-book-review-cities-and-the-wealth-of-nations-the-question-of-separatism&#x2F;&quot;&gt;这篇文章双语版本的备份&lt;&#x2F;a&gt;），但是有很多很有意思的观点，所以无论如何我都想先记下来！&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;该书批评了宏观经济学将国家作为经济分析的主要单位，认为城市应该成为重点。它还讨论了 “滞胀 “的概念，即高通货膨胀和高失业率的状态，当西方社会在 70 年代出现滞涨的时候，这完全打破了以往的主流的凯恩斯主义经济理论，这到底是怎么回事？如果所有的经济学家都束手无策，我们该如何应对滞胀这个双头怪物呢？&lt;&#x2F;p&gt;
&lt;p&gt;雅各布斯说，它只是一切事物的正常状态。落后经济体实际上一直处于滞胀状态。像葡萄牙或印度这样的穷国（她的两个例子）的价格对美国人或加拿大人来说感觉很低，但对大多数葡萄牙人或印度人来说却很高。同时，葡萄牙和印度为其居民提供的就业机会太少。通货膨胀和失业率都常年居高不下，而这一切都不令人感到惊讶。&lt;&#x2F;p&gt;
&lt;p&gt;所有这些花哨的经济学家，从 17 世纪法国的坎蒂龙到 20 世纪英国的凯恩斯和弗里德曼，他们犯了一个典型的错误，即把贫穷当作一个谜，而把财富当作一个给定的东西，事实上，贫穷是事物的正常秩序，而财富，当它确实发生时，是值得解释的东西。&lt;&#x2F;p&gt;
&lt;p&gt;雅各布斯由此得出了对宏观经济学相当不利的看法。对她来说，这是一门一再失败的科学，每次都吞噬了相当于数十亿美元的浪费的财富。&lt;&#x2F;p&gt;
&lt;p&gt;雅各布斯认为，宏观经济学的原罪是将主权国家或民族作为经济分析的主要单位。每个人都一直知道，纽约市或米兰在经济上与密西西比或西西里的农村有很大不同。但我发现，用 “美国 “或 “意大利 “来思考要容易得多，尤其是当你不是来自那里的时候。国家是对现实生活复杂性的抽象，因此非常诱人。&lt;&#x2F;p&gt;
&lt;p&gt;如果国家不是分析经济的最佳单位，那么什么才是？答案是城市。&lt;&#x2F;p&gt;
&lt;p&gt;“所有发展中的经济生活都依赖于城市经济；从定义上讲，它们依赖于城市经济，因为无论在哪里，只要经济生活正在发展，这个过程本身就会创造出城市，并且可能一直如此。”&lt;&#x2F;p&gt;
&lt;p&gt;城市集中了人，因此也集中了经济生活，因此也集中了经济力量。雅各布斯提出了一个理论来解释不同城市的不同经济情况：该理论被称为 “进口替代”&lt;&#x2F;p&gt;
&lt;p&gt;当一个城市通过发展自己的产业从而摆脱了其内部大多数产品靠进口别的地区的情况时，这说明这个城市成功的进行了“进口替代”。该理论认为城市发展的动力来自于用本地生产的商品替代进口商品。&lt;&#x2F;p&gt;
&lt;p&gt;考虑一下，比如说，波士顿在殖民时期还是一个小小的定居点，还不是一个城市。起初，波士顿并不生产很多东西，尤其是对其主要贸易伙伴伦敦感兴趣的东西不多。它出口一些自然资源：木材、鱼类。无论波士顿人需要什么，他们都需要从其他城市进口，同样主要是伦敦。(例如，起初，波士顿的所有金属工具都来自欧洲城市，并由出售木材和鱼的收入支付。&lt;&#x2F;p&gt;
&lt;p&gt;然后，有一天，一些波士顿人决定建立一个铁厂，自己制造金属工具。&lt;&#x2F;p&gt;
&lt;p&gt;这对伦敦或其他欧洲城市没有任何意义。波士顿人在制造金属工具方面的能力和效率远不如伦敦人。因此，波士顿无法将金属工具出口到欧洲–但它可以在内部使用这些工具，也可以将它们出口到与波士顿一样贫穷的其他美国城市，甚至更贫穷。就内部而言，这意味着波士顿制造业经济的火花，因为容易获得的金属零件使其他波士顿人更容易取代从欧洲城市进口的其他产品，并最终发展出一个共生的产业网络。这也意味着来自鱼类和木材的收入可以用来进口新的东西，包括来自欧洲城市的新的创新（这将成为后来更多进口替代的机会）。由于纽约和费城有波士顿制造的金属制品的客户，最终辛辛那提、芝加哥和匹兹堡也随着这些城市的出现而出现，这意味着波士顿的额外收入，它可以重新投资于进一步发展其生产。&lt;&#x2F;p&gt;
&lt;p&gt;在雅各布斯看来，几乎所有的城市发展都可以通过进口替代的视角来看待（说白了，这与进口替代工业化的政策大约没有关系；进口替代不是一项政策，而是一种自然产生的自由市场现象）。她的书中还有许多其他例子，比如威尼斯，它在中世纪早期只是一个向君士坦丁堡卖盐的小镇，但后来实现了生产的多样化，成为当时最富有的城市之一；或者台北和高雄，台湾的两个城市在 20 世纪 80 年代前不久通过强迫被征用的地主向当地的进口替代企业投资而启动了它们的发展。这让人想起斯科特对《亚洲如何运作》的评论。&lt;&#x2F;p&gt;
&lt;p&gt;那么，进口替代是使城市具有经济实力的原因。这种力量是如此之大，以至于它在遥远的地方引起了涟漪。事实上，它也是非城市地区发生任何事情的主要原因。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;fen-chi-zhu-yi-de-wen-ti&quot;&gt;《分离主义的问题》&lt;a class=&quot;zola-anchor&quot; href=&quot;#fen-chi-zhu-yi-de-wen-ti&quot; aria-label=&quot;Anchor link for: fen-chi-zhu-yi-de-wen-ti&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;接下来作者开始介绍的另一本书《分离主义的问题》。这本书主要讲的是魁北克和加拿大的分离主义问题。&lt;&#x2F;p&gt;
&lt;p&gt;非和平分离很常见，战争的破坏性往往会掩盖其他一切。这可能是我们大多数人在直觉上不喜欢分离主义的主要原因：我们把它与冲突联系在一起。&lt;&#x2F;p&gt;
&lt;p&gt;但和平的非殖民地分离也确实发生过。如捷克和斯洛伐克。不过，当雅各布斯写这本书时，她能想到的唯一好例子是 1905 年挪威从瑞典独立。她对这个过程进行了精彩的叙述，指出结果并不是预先确定的：瑞典不想失去它的西部省份，并竭力遏制挪威的民族主义情绪。但挪威的民族主义情绪赢得了胜利–而且重要的是，挪威和瑞典似乎都受益了。在 19 世纪，这两个国家都不是特别富有，挪威实际上是很穷的，这就是为什么这么多挪威人通过移民到北美来逃避。然而，在他们的联盟解体后，这两个国家迅速发展，现在都是世界上最富有的国家之一。他们当然没有解体。&lt;&#x2F;p&gt;
&lt;p&gt;当人们反对分离主义时，他们经常吹捧大国的好处。一个一分为二的加拿大将意味着更小的市场，以及对美国更弱的政治抗衡。当然，它的声望也会降低。雅各布斯说，&lt;strong&gt;大尺寸与权力有关，而我们崇拜权力。我们喜欢 “团结就是力量 “这样的口号。&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;但在瑞典-挪威这个中等规模的国家变成瑞典和挪威这两个小国之后，它们都做得很好。小国的实力较弱，但它也有自己的优势，如灵活和非灾难性失败的能力。小规模也允许在文化和经济事务上有更多的多样性，在这里雅各布斯讲了一些哲理，指出有利于多样性而不是统一性是一个最近的、后启蒙时代的想法，在政治上还没有被完全接受。&lt;&#x2F;p&gt;
&lt;p&gt;我们到处都可以看到类似的情况。欧洲从中世纪开始分裂成无数小国，变得比中国先进得多，而中国更多时候是统一的。古希腊和文艺复兴时期意大利的城邦被视为西方文明的黄金时代，即使它们不是更大的政治单位的一部分，因此不断地相互交战。在商业领域，大公司令人印象深刻，实力雄厚，但人们总是抱怨谷歌或微软已经变得停滞不前，最好的工作场所是由大约 2 名联合创始人和 4 名员工组成的微小创业公司。在生物学上，人类比众多大型动物更成功，就原始数字而言，像老鼠或昆虫这样的小型动物是最成功的。&lt;&#x2F;p&gt;
&lt;p&gt;雅各布斯的观点不是说小的总是好的。她的观点是，反过来说，“越大越好 “是错误的–尽管这对政治实体来说是多么直观的感觉。就像我们不认为像瑞士或新加坡这样的小国是团结的失败，我们（特别是加拿大人）也不应该把像魁北克这样的地方的分离看作是失败，如果它是和平和民主地进行的。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>Fuck it，直接上线就好，不要执着于完美了</title>
        <published>2022-10-30T19:17:20+08:00</published>
        <updated>2022-10-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/just-make-it-online/"/>
        <id>https://old.owenyoung.com/blog/just-make-it-online/</id>
        
        <summary type="html">&lt;p&gt;前两天在推上看到这么&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;UselessIdeasBot&#x2F;status&#x2F;1586134491260747778&quot;&gt;一句话&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;任何一项大工程（修房子、拍电影、开发 app）完成度为 90% 的时候，你都要做好心理准备：剩余的大量细节工作会占掉你另一段与之前相当的时间。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;一周前， 在 HN 上刷到&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=33303269&quot;&gt;这样一个帖子&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tell HN: 我厌倦了成为一个完美主义者，所以我在 24 小时内建立了一个应用程序&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;今天又看到这篇文章&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.boristhebrave.com&#x2F;2022&#x2F;09&#x2F;14&#x2F;learning-to-finish-things&#x2F;&quot;&gt;学会完成事情&lt;&#x2F;a&gt;，也说出了我的心声：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;“为什么为老板工作的时候总能完成事情，但是自己做业余项目的时候就经常无疾而终呢？”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;这些帖子对我触动挺大的，我一直以来都是一个完美主义者，每次都要把东西搞到让自己满意才最终上线，结果就是有不少项目都做到了 90%，最后却不了了之。我决定以后做项目一定要尽早的上线，然后在线上进行迭代，这样其实才是最理想的状态。&lt;&#x2F;p&gt;
&lt;p&gt;对于博客我已经这么做了，我最近一个月一直在博客上更新自己阅读后觉得&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.owenyoung.com&#x2F;categories&#x2F;journal&#x2F;&quot;&gt;还不错的文章&lt;&#x2F;a&gt;, 每篇里面大概 3-5 篇链接，这就是一篇博文了。也不给社交网络推送，就自己的博客里发，有一天没一天的，但是没有压力，不会感到博文必须要很长才能发的压力。同时这也是一个重要的笔记，可以供以后参考。&lt;&#x2F;p&gt;
&lt;p&gt;刚好最近一个月我都在断断续续的重写 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&quot;&gt;Track Awesome List&lt;&#x2F;a&gt;, 这是一个追踪 Github 上好几百个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;topics&#x2F;awesome&quot;&gt;Awesome&lt;&#x2F;a&gt;
列表更新的网站。为什么会有这个需求呢？因为所有的 awesome list 都是按照分类组织的，当你 star 之后，它的更新其实很难被追踪，除非你愿意去对比 commit 的历史记录，我相信这不是一个愉快的工作。所以，我在 2 年前就做了一个简单的网站，通过分析那些 awesome 项目的历史提交记录，然后生成一个按照日&#x2F;周倒序的页面，比如我经常查看&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;ripienaar&#x2F;free-for-dev&#x2F;&quot;&gt;Free for Dev&lt;&#x2F;a&gt; 和 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;awesome-selfhosted&#x2F;awesome-selfhosted&#x2F;&quot;&gt;Awesome self-hosted&lt;&#x2F;a&gt;的最新项目。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/just-make-it-online/">&lt;p&gt;前两天在推上看到这么&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;UselessIdeasBot&#x2F;status&#x2F;1586134491260747778&quot;&gt;一句话&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;任何一项大工程（修房子、拍电影、开发 app）完成度为 90% 的时候，你都要做好心理准备：剩余的大量细节工作会占掉你另一段与之前相当的时间。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;一周前， 在 HN 上刷到&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=33303269&quot;&gt;这样一个帖子&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tell HN: 我厌倦了成为一个完美主义者，所以我在 24 小时内建立了一个应用程序&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;今天又看到这篇文章&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.boristhebrave.com&#x2F;2022&#x2F;09&#x2F;14&#x2F;learning-to-finish-things&#x2F;&quot;&gt;学会完成事情&lt;&#x2F;a&gt;，也说出了我的心声：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;“为什么为老板工作的时候总能完成事情，但是自己做业余项目的时候就经常无疾而终呢？”&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;这些帖子对我触动挺大的，我一直以来都是一个完美主义者，每次都要把东西搞到让自己满意才最终上线，结果就是有不少项目都做到了 90%，最后却不了了之。我决定以后做项目一定要尽早的上线，然后在线上进行迭代，这样其实才是最理想的状态。&lt;&#x2F;p&gt;
&lt;p&gt;对于博客我已经这么做了，我最近一个月一直在博客上更新自己阅读后觉得&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.owenyoung.com&#x2F;categories&#x2F;journal&#x2F;&quot;&gt;还不错的文章&lt;&#x2F;a&gt;, 每篇里面大概 3-5 篇链接，这就是一篇博文了。也不给社交网络推送，就自己的博客里发，有一天没一天的，但是没有压力，不会感到博文必须要很长才能发的压力。同时这也是一个重要的笔记，可以供以后参考。&lt;&#x2F;p&gt;
&lt;p&gt;刚好最近一个月我都在断断续续的重写 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&quot;&gt;Track Awesome List&lt;&#x2F;a&gt;, 这是一个追踪 Github 上好几百个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;topics&#x2F;awesome&quot;&gt;Awesome&lt;&#x2F;a&gt;
列表更新的网站。为什么会有这个需求呢？因为所有的 awesome list 都是按照分类组织的，当你 star 之后，它的更新其实很难被追踪，除非你愿意去对比 commit 的历史记录，我相信这不是一个愉快的工作。所以，我在 2 年前就做了一个简单的网站，通过分析那些 awesome 项目的历史提交记录，然后生成一个按照日&#x2F;周倒序的页面，比如我经常查看&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;ripienaar&#x2F;free-for-dev&#x2F;&quot;&gt;Free for Dev&lt;&#x2F;a&gt; 和 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;awesome-selfhosted&#x2F;awesome-selfhosted&#x2F;&quot;&gt;Awesome self-hosted&lt;&#x2F;a&gt;的最新项目。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;这个项目目前的状态就是 90%的程度，由于要面对一系列上线前的任务，比如持续部署，验证 rss，重新调整自动推文机器人，以及 UI 方面我也不喜欢，等等一些琐碎的事情，导致最近我一直在拖延进入这个项目，然后就刷到那个推，当即决定，fuck it，先上线再说，反正只是一个免费项目。所以&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;&quot;&gt;Track Awesome List&lt;&#x2F;a&gt;的新版现在已经在线上了。&lt;&#x2F;p&gt;
&lt;p&gt;为什么要重写呢？简单来讲就是之前写的东西太混乱了，运行一次经常要 2 小时以上，包括克隆 600 多个 awesome 库，分析文件的历史修改记录，最后还有构建一个超大的静态网站，而且，要命的是我还是用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.gatsbyjs.com&#x2F;&quot;&gt;Gatsby&lt;&#x2F;a&gt;作为框架构建的网站，光是 build 和发布静态网站就要 40 多分钟。我一直很佩服建筑师们，为什么我建造一个网站，至少需要来回重写 3 次才能让自己满意，建筑师们是怎么造房子的？造完就能住 70 年。可能这就是人家行业要考证的原因吧。&lt;&#x2F;p&gt;
&lt;p&gt;我在之前用 Deno&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;&quot;&gt;成功重写&lt;&#x2F;a&gt;了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzing.cc&quot;&gt;Buzzing&lt;&#x2F;a&gt;, 这让我对用 deno 重写 trackawesomelist 产生了信心，我决定重新设计 trackawesomelist 的更新和构建步骤，让整个静态网站能够增量构建，而不是像之前一样每次都全量构建，我决定自己用数据库（我用的是 json 文件）储存项目的更新时间，而不是像之前那样，每次都克隆整个项目分析时间，有一些项目是也是自动化生成的，像之前那样，我是无法追踪他的更新的，因为他是自动生成的，条目内容每天都变，所以每个条目都是最新的。这一次我选择自己维护项目的更新时间，这样就能把那些自动生成的项目也纳入进来了,数据结构长这样：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;json&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-json &quot;&gt;&lt;code class=&quot;language-json&quot; data-lang=&quot;json&quot;&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;1d7e8a1b66a19880f5d9f1001a3fd9d794632d27&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;category&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Subjects &#x2F; Computer Science&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;category_html&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&amp;lt;p&amp;gt;Subjects &#x2F; Computer Science&amp;lt;&#x2F;p&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;\n&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;updated_at&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2015-05-16T04:16:50.000Z&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;source_identifier&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;44bits&#x2F;awesome-opensource-documents&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;file&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;README.md&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;markdown&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;*   [Crypto 101 (⭐2.8k)](https:&#x2F;&#x2F;github.com&#x2F;crypto101&#x2F;book) ([Site](https:&#x2F;&#x2F;www.crypto101.io&#x2F;), cc-nc) - the introductory book on cryptography&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;html&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&amp;lt;ul&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;\n&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&amp;lt;li&amp;gt;&amp;lt;a href=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;\&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;crypto101&#x2F;book&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;\&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt; rel=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;\&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;noopener noreferrer&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;\&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&amp;gt;Crypto 101 (⭐2.8k)&amp;lt;&#x2F;a&amp;gt; (&amp;lt;a href=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;\&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;www.crypto101.io&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;\&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt; rel=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;\&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;noopener noreferrer&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;\&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&amp;gt;Site&amp;lt;&#x2F;a&amp;gt;, cc-nc) - the introductory book on cryptography&amp;lt;&#x2F;li&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;\n&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&amp;lt;&#x2F;ul&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;\n&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;sha1&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;1d7e8a1b66a19880f5d9f1001a3fd9d794632d27&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;checked_at&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2022-10-24T22:56:46.641Z&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;updated_day&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;20150516&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;updated_week&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;201520
&lt;&#x2F;span&gt;&lt;span&gt;  }
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;code&gt;sha1&lt;&#x2F;code&gt;是每一条 awesome 项目的 list item 里的链接，用这个作为唯一值去监控后续的更新。更多源码，我已经放在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;trackawesomelist&#x2F;trackawesomelist-source&quot;&gt;Github&lt;&#x2F;a&gt;上了，感兴趣可以查看。&lt;&#x2F;p&gt;
&lt;p&gt;本次更新一个是全面优化了构建过程，现在构建全站需要 10 分钟左右，对比之前用 Gatsby 要 40 多分钟，大概 13000 多页面，我生成了每个项目&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;ripienaar&#x2F;free-for-dev&#x2F;&quot;&gt;按日&lt;&#x2F;a&gt;，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;ripienaar&#x2F;free-for-dev&#x2F;week&#x2F;&quot;&gt;按周&lt;&#x2F;a&gt;，以及 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;ripienaar&#x2F;free-for-dev&#x2F;readme&#x2F;&quot;&gt;Overview 页面&lt;&#x2F;a&gt;，以及&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;2022&#x2F;10&#x2F;17&#x2F;&quot;&gt;每一天更新的项目内容页面&lt;&#x2F;a&gt;，还有&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;2022&#x2F;39&#x2F;&quot;&gt;每周的项目更新页面&lt;&#x2F;a&gt;,以及每个项目都有一个自己的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;ripienaar&#x2F;free-for-dev&#x2F;rss.xml&quot;&gt;rss&lt;&#x2F;a&gt;源，还有&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;dustinspecker&#x2F;awesome-eslint&#x2F;feed.json&quot;&gt;jsonfeed&lt;&#x2F;a&gt;源，并且全部页面都生成了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;trackawesomelist&#x2F;trackawesomelist&quot;&gt;Markdown&lt;&#x2F;a&gt;源文件，这让 Track Awesome List 项目与其他 awesome list 风格更接近。&lt;&#x2F;p&gt;
&lt;p&gt;第二是增加了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;search&#x2F;&quot;&gt;搜索页面&lt;&#x2F;a&gt;, 最近发现了一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ang-zeyu&#x2F;morsels&quot;&gt;本地 wasm 搜索的库 Morsels&lt;&#x2F;a&gt;，就在这里试用上了，全站的索引文件压缩后大概 4M 左右，并且只在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;search&#x2F;&quot;&gt;搜索页面&lt;&#x2F;a&gt;里加载，我觉得接入体验挺好的,主要就是在构建完网站后，根据这个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;trackawesomelist&#x2F;trackawesomelist-source&#x2F;blob&#x2F;main&#x2F;morsels_config.json&quot;&gt;配置文件&lt;&#x2F;a&gt;重新 build 搜索索引，然后在页面里引入相关文件即可，现在可以 trackawesomelist 里搜索它包含的全部条目了。&lt;&#x2F;p&gt;
&lt;p&gt;网站是发布在 Cloudfalre Page 上，我几乎已经把我常用的所有网站（包括博客和 buzzing 的 30 多个站点）都已经迁移到 cloudflare pages 上了，简单好用，我预计未来所有的静态网站都会在其上面构建。和 Github Actions 配合简直天衣无缝，基本上用以下命令就把网站发布出去了：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;yaml&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-yaml &quot;&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;&lt;span&gt;- &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Publish pages
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;if&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;true
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;wrangler pages publish prod-db&#x2F;public --project-name trackawesomelist
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;env&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;CLOUDFLARE_ACCOUNT_ID&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.CLOUDFLARE_ACCOUNT_ID}}
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;CLOUDFLARE_API_TOKEN&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.CLOUDFLARE_API_TOKEN}}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;你可以查看&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;trackawesomelist&#x2F;trackawesomelist-source&#x2F;blob&#x2F;main&#x2F;.github&#x2F;workflows&#x2F;cron.yml&quot;&gt;trackaweosmlist 的构建流程&lt;&#x2F;a&gt;。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;zong-jie&quot;&gt;总结&lt;a class=&quot;zola-anchor&quot; href=&quot;#zong-jie&quot; aria-label=&quot;Anchor link for: zong-jie&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;Fuck it, 真的不要再执着于完美了，直接上线，心情好多了。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>我比想象中更需要浏览器中的 Vim 模式</title>
        <published>2022-10-20T13:33:06+08:00</published>
        <updated>2022-10-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/vimium/"/>
        <id>https://old.owenyoung.com/blog/vimium/</id>
        
        <summary type="html">&lt;p&gt;我发现互联网上真正改善生产力的东西总是开源和免费的，反而小众的东西，要么体验欠佳，要么是需要付费。就像阿莫西林胶囊对比“天价“救命药一样，因为更多人需要，所以总有更多人进入这一领域生产出更好用的东西。&lt;&#x2F;p&gt;
&lt;p&gt;最近让我产生这个感觉的是一个叫 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;philc&#x2F;vimium&quot;&gt;Vimium&lt;&#x2F;a&gt;
的浏览器插件，使用近一个月后，我发现在浏览器上使用 Vim
模态快捷键的场景比在编辑器中使用 Vim 模式还要高。而且它比 vim 编辑器的门槛低了一个数量级，你完全可以仅使用它，而不使用 Vim 编辑器。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/vimium/">&lt;p&gt;我发现互联网上真正改善生产力的东西总是开源和免费的，反而小众的东西，要么体验欠佳，要么是需要付费。就像阿莫西林胶囊对比“天价“救命药一样，因为更多人需要，所以总有更多人进入这一领域生产出更好用的东西。&lt;&#x2F;p&gt;
&lt;p&gt;最近让我产生这个感觉的是一个叫 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;philc&#x2F;vimium&quot;&gt;Vimium&lt;&#x2F;a&gt;
的浏览器插件，使用近一个月后，我发现在浏览器上使用 Vim
模态快捷键的场景比在编辑器中使用 Vim 模式还要高。而且它比 vim 编辑器的门槛低了一个数量级，你完全可以仅使用它，而不使用 Vim 编辑器。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;blockquote&gt;
&lt;p&gt;前情提要：我大约在一个月前开始学习使用模态编辑器，一开始是用 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;kakoune.org&#x2F;&quot;&gt;Kakoune&lt;&#x2F;a&gt;
,因为我喜欢它的新手友好性，以及它&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;OwenYoungZh&#x2F;status&#x2F;1574805501489319936&quot;&gt;相对 vim 改进的设计模式&lt;&#x2F;a&gt;，试用一周后，发现其还是不能真正的生产可用，有些编辑体验有瑕疵，可选择的插件不多，最重要的是没有
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;discuss.kakoune.com&#x2F;t&#x2F;is-anyone-interested-in-writing-github-copilot-plugin&#x2F;2131&quot;&gt;Copilot 插件&lt;&#x2F;a&gt;，
所以我最终还是开始用 neovim
作为我的主力编辑器，使用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;NvChad&#x2F;NvChad&quot;&gt;nvchad&lt;&#x2F;a&gt;作为初始配置让我更好的入门。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Vim 的核心理念是模态编辑，它认为我们在使用代码编辑器的时候，真正插入字符的场景比我们在代码之间导航，选中之类的操作要少，所以在 Vim
编辑器中，插入模式只是其中的一种模式，最重要的模式是 Normal 模式（可以上下移动光标，快捷删除，快捷复制粘贴等等），以及辅助的 visual
模式（可以进行各种纬度的选中操作，比如选中当前括号内的，选中到开头，到结尾等等）。我切换到 Vim 编辑器后感触最深的是 visual 模式下的各种操作，比如按&lt;code&gt;i&quot;&lt;&#x2F;code&gt;可以选中当前双引号内的字符，按&lt;code&gt;i(&lt;&#x2F;code&gt;就可以选中当前括号内的内容，然后可以按&lt;code&gt;d&lt;&#x2F;code&gt;删除，或者&lt;code&gt;y&lt;&#x2F;code&gt;复制，或者&lt;code&gt;c&lt;&#x2F;code&gt;删除并进入插入模式。&lt;&#x2F;p&gt;
&lt;p&gt;随后我发现了这个叫 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;philc&#x2F;vimium&quot;&gt;Vimium&lt;&#x2F;a&gt;
的浏览器插件，使用之后就一个感觉，就是前十年的冲浪生涯白过了，就和我学双拼之后的感觉一样。&lt;&#x2F;p&gt;
&lt;p&gt;我惊奇地发现原来浏览器才是模态编辑最适合的地方啊，浏览器，浏览器，顾名思义，它的主要作用就是浏览啊，所以在浏览器中。我们绝大多数时候都处于 相当于 Vim 的 normal
模式。想想看我们在浏览器上真正花在输入的时间有多少？大多数时间都是在翻页，前进，后退，切换 tab 页之类的，有人说那浏览器也有快捷键啊，没错，但模态编辑器的核心思想就是用更少的击键次数去做最常用的操作，人生不值得浪费双倍的力气在击键上。而且，最重要的是，当我开始在浏览器中使用 Vim 模式的时候，我会下意识的寻找常用操作对应的击键，按下&lt;code&gt;?&lt;&#x2F;code&gt;即可显示所有的键位。而没在用 vim 模式之前，都是鼠标是键盘来回切换的。&lt;&#x2F;p&gt;
&lt;p&gt;下面这个是 Vimium 的默认键位配置：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;vimium&#x2F;.&#x2F;help.png&quot; alt=&quot;vimium keysmap&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;其中我最常用的键位是：&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;键&lt;&#x2F;th&gt;&lt;th&gt;对应的操作&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;j&lt;&#x2F;td&gt;&lt;td&gt;下翻&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;k&lt;&#x2F;td&gt;&lt;td&gt;上翻&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;gg&lt;&#x2F;td&gt;&lt;td&gt;回到顶部&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;G&lt;&#x2F;td&gt;&lt;td&gt;回到底部&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;?&lt;&#x2F;td&gt;&lt;td&gt;打开帮助页面&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;H&lt;&#x2F;td&gt;&lt;td&gt;返回上一页&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;L&lt;&#x2F;td&gt;&lt;td&gt;前进一页&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;x&lt;&#x2F;td&gt;&lt;td&gt;关闭当前页面&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;J&lt;&#x2F;td&gt;&lt;td&gt;去左边的 tab 页&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;K&lt;&#x2F;td&gt;&lt;td&gt;去右边的 tab 页&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;f&lt;&#x2F;td&gt;&lt;td&gt;进入 link 模式&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;F&lt;&#x2F;td&gt;&lt;td&gt;进入 link 模式，但是是在新标签下打开 link&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&#x2F;&lt;&#x2F;td&gt;&lt;td&gt;进入搜索模式&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;yy&lt;&#x2F;td&gt;&lt;td&gt;复制当前页面的 url&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;p&lt;&#x2F;td&gt;&lt;td&gt;打开当前剪贴板的 url&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;i&lt;&#x2F;td&gt;&lt;td&gt;退出 vim 模式&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;esc&lt;&#x2F;td&gt;&lt;td&gt;进入 vim 模式&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;我修改了其中几个默认配置：&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;map J nextTab
&lt;&#x2F;span&gt;&lt;span&gt;map K previousTab
&lt;&#x2F;span&gt;&lt;span&gt;map a LinkHints.activateModeToOpenInNewTab
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;blockquote&gt;
&lt;p&gt;因为我的浏览器 tab 也是竖向排列的，所以 J 更适合作为下一个 tab 页，K 更适合作为上一个 tab 页面，但如果浏览器标签是横向排列的话，那 J 在左边，K 在右边，可能更直观。&lt;&#x2F;p&gt;
&lt;p&gt;另外就是我经常需要用后台的新 tab 页打开链接，所以我把 a 键 作为 F 的别名。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;当然，还有一些快捷键由于肌肉记忆，我是用组合键的，比如打开一个新标签页&lt;code&gt;cmd+t&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;f&lt;&#x2F;code&gt;或&lt;code&gt;F&lt;&#x2F;code&gt;是 vim 模式的一个大杀器，真正解放了鼠标，比如我在浏览&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzing.cc&quot;&gt;Buzzing&lt;&#x2F;a&gt;或者 Google 的时候，按下&lt;code&gt;f&lt;&#x2F;code&gt;键，页面上所有可见的链接都会被分配到一个好按的键位，这个时候按下相应的键位，就会打开对应的链接：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;vimium&#x2F;.&#x2F;link.png&quot; alt=&quot;link mode&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;当我习惯这个操作之后，发现这比用鼠标操作的效率高了不少。尤其我是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzing.cc&quot;&gt;Buzzing&lt;&#x2F;a&gt;的重度用户，buzzing 上的各种链接非常适合用键盘进行导航和浏览，极大的提高了我浏览 buzzing 的效率。&lt;&#x2F;p&gt;
&lt;p&gt;Vimium 插件提供了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;chrome.google.com&#x2F;webstore&#x2F;detail&#x2F;vimium&#x2F;dbepggeogbaibhgnhhndojpepiihcmeb&quot;&gt;Chrome&lt;&#x2F;a&gt;和&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;addons.mozilla.org&#x2F;en-GB&#x2F;firefox&#x2F;addon&#x2F;vimium-ff&#x2F;&quot;&gt;Firefox&lt;&#x2F;a&gt;的版本，了解更多，请点击它的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;philc&#x2F;vimium&quot;&gt;项目主页&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;更多操作你可以自己去探索，另外还有一个类似的插件叫&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;brookhong&#x2F;Surfingkeys&quot;&gt;Surfingkeys&lt;&#x2F;a&gt;, 据说更强大，但是我看了一眼似乎更复杂，我觉得这个 vimium 已经足够我用了，欢迎进入 mouseless 世界！&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>把博客变成一本可离线下载的电子书</title>
        <published>2022-10-14T16:21:29+08:00</published>
        <updated>2022-10-14T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/blog-to-book/"/>
        <id>https://old.owenyoung.com/blog/blog-to-book/</id>
        
        <summary type="html">&lt;p&gt;记得之前看到过一篇文章，讲的是如何在死后保持自己的个人网站一直在线，文章地址我忘记存了，只记得文章里分析了各种选项，比如靠死后的信托基金什么的，都是些让我听的一愣一愣的选项，因为我既不懂什么是信托，也不懂什么是基金。不过即使如此，那篇文章的最终结论依然是很难保证个人网站在死后长期在线。因为单就域名来说，每次续期的最长期限就是10年，如果我死了，并且我有子女，幸运的话他们可以帮我续费几十年，之后的子孙后代就很难说。整个互联网发明也才不过几十年，还没有人有足够的经验能预测这件事，而且照人类这个活法，指不定哪一天就先毁灭了自己。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/blog-to-book/">&lt;p&gt;记得之前看到过一篇文章，讲的是如何在死后保持自己的个人网站一直在线，文章地址我忘记存了，只记得文章里分析了各种选项，比如靠死后的信托基金什么的，都是些让我听的一愣一愣的选项，因为我既不懂什么是信托，也不懂什么是基金。不过即使如此，那篇文章的最终结论依然是很难保证个人网站在死后长期在线。因为单就域名来说，每次续期的最长期限就是10年，如果我死了，并且我有子女，幸运的话他们可以帮我续费几十年，之后的子孙后代就很难说。整个互联网发明也才不过几十年，还没有人有足够的经验能预测这件事，而且照人类这个活法，指不定哪一天就先毁灭了自己。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;再说回网站，如果你的个人网站还不幸是个动态网站的话，那死后的可维护性就更难了。不能指望自己的孙子刚好也懂PHP吧。&lt;&#x2F;p&gt;
&lt;p&gt;所以一个相对比较可行的办法，至少是使用静态网站，因为静态网页的托管足够简单，成本低，很多大公司都有免费方案。假如我相信 Github
在我死后不会倒闭，那我可以选择把静态网站免费托管到Github上，然后祈祷Github静态网站托管的免费政策不要发生变化，同时也希望我不要意外死亡，以便我可以在死前几个月将我的个人网站的域名，301永久跳转到&lt;code&gt;theowenyoung.github.io&lt;&#x2F;code&gt;的子域名上，同时把旧的个人域名续期10年，以便所有（机器）人有充足的时间切换到新的子域名。&lt;&#x2F;p&gt;
&lt;p&gt;上述方案的核心就是寄希望于 Github 不要倒闭，如果我死后有在天之灵的话，我当然会保佑Github
基业长青，但是如果我的修行不够，那也许死后在另一世界自身都难保呢，何谈保佑 Github 呐。&lt;&#x2F;p&gt;
&lt;p&gt;所以啊，想要不依赖第三方服务，还是得能做到离线化才行。按理说目前的博客已经是离线化的了，比如你可以&lt;code&gt;git clone git@github.com:theowenyoung&#x2F;blog.git&lt;&#x2F;code&gt;这个博客的源文件到本地，然后执行&lt;code&gt;make install&lt;&#x2F;code&gt;,
&lt;code&gt;make serve&lt;&#x2F;code&gt;就可以本地离线查看了，但是这就引入了额外的复杂性，很少有人真的乐意做这件事。一个折衷的办法是在构建静态博客的时候，同时也把整个博客打包成一本电子书供读者下载，这样的话，别人本地就有了一个很方便的备份，相当于是一种去中心化的分发。epub和pdf格式是其中两种很方便、也很通用的格式，甚至可以嘱咐家人在我死后把这本书放在区块链上（如果他们会的话！），甚至可以打印出来，装订成册，埋在北极的冻土层里，比区块链还保险。&lt;&#x2F;p&gt;
&lt;p&gt;听前面这段话，会感觉我这人真是天大的自恋狂，我的破博客能有多么的重要以至于死后都要保持在线。其实不然，真实情况恰恰相反，我博客的内容十分肤浅，我要是死了，我恨不得永久抹除这些让人尴尬的文字呢，所以我怎么会想让这种东西永久在线呢！&lt;&#x2F;p&gt;
&lt;p&gt;所以这只是概念验证，也许能提醒某个真正有东西的博主开始考虑用持续集成把自己的博客打包成一本电子书。而我明天则要找时间研究下，如何让谷歌在我死后删除有关我的所有结果。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;ju-ti-fang-an&quot;&gt;具体方案&lt;a class=&quot;zola-anchor&quot; href=&quot;#ju-ti-fang-an&quot; aria-label=&quot;Anchor link for: ju-ti-fang-an&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;注意：我的最终方案和与我的博客本身非常耦合，并不具备普遍性，所以这不是一个教程，只是一个实现的参考。&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;我以为这种需求很常见，应该能很快找到成熟方案，但是竟然没找到什么特别成熟的方案，看到一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;rstudio&#x2F;bookdown&quot;&gt;bookdown&lt;&#x2F;a&gt;的方案，但是真的看不懂，不懂什么是RMarkdown,
然后还被&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;bookdown.org&#x2F;yihui&#x2F;bookdown&#x2F;get-started.html&quot;&gt;它的说明&lt;&#x2F;a&gt;
里让我下载个IDE才能运行的要求吓到。&lt;&#x2F;p&gt;
&lt;p&gt;最后我用了 rust 的 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;rust-lang&#x2F;mdBook&quot;&gt;mdbook&lt;&#x2F;a&gt; ,同时配合插件
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Michael-F-Bryan&#x2F;mdbook-epub&quot;&gt;mdbook-epub&lt;&#x2F;a&gt;,
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;HollowMan6&#x2F;mdbook-pdf&quot;&gt;mdbook-pdf&lt;&#x2F;a&gt;生成epub和pdf，再加上自己写了一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;blob&#x2F;main&#x2F;book&#x2F;build.ts&quot;&gt;deno 脚本&lt;&#x2F;a&gt;去过滤&#x2F;组织博客的文档，以及替换markdown的内部链接等等。当博客更新的时候，用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;blob&#x2F;main&#x2F;.github&#x2F;workflows&#x2F;build-book.yml&quot;&gt;github workflow&lt;&#x2F;a&gt;去打包最新的电子书并上传。&lt;&#x2F;p&gt;
&lt;p&gt;最终的成果是生成2本电子书：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;&quot;&gt;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;&lt;&#x2F;a&gt; - 只收录了我指定的文章
&lt;ul&gt;
&lt;li&gt;epub版本: &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;owen-blog.epub&quot;&gt;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;owen-blog.epub&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;pdf版本: &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;owen-blog.pdf&quot;&gt;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;owen-blog.pdf&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;html压缩包 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;owen-blog-html.zip&quot;&gt;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;owen-blog-html.zip&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;archive.owenyoung.com&#x2F;&quot;&gt;https:&#x2F;&#x2F;archive.owenyoung.com&#x2F;&lt;&#x2F;a&gt; - 按年份打包所有的文章
&lt;ul&gt;
&lt;li&gt;epub版本：&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;releases&#x2F;download&#x2F;book&#x2F;owen-blog-archive.epub&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;releases&#x2F;download&#x2F;book&#x2F;owen-blog-archive.epub&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;pdf版本:
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;releases&#x2F;download&#x2F;book&#x2F;owen-blog-archive.pdf&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;releases&#x2F;download&#x2F;book&#x2F;owen-blog-archive.pdf&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;html压缩包
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;releases&#x2F;download&#x2F;book&#x2F;owen-blog-archive-html.zip&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;releases&#x2F;download&#x2F;book&#x2F;owen-blog-archive-html.zip&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;第二本电子书由于包含全站文章（以及图片），size有点大，epub版本目前是30M，pdf版本是38M，所以没有上传到我的静态网站上（cloudflare最多允许25MB的静态资源文件），而是用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;blob&#x2F;6e033fff7bd4f23418b9502106d226e2a2306d6f&#x2F;.github&#x2F;workflows&#x2F;build-book.yml#L50-L61&quot;&gt;Github Actions&lt;&#x2F;a&gt;
生成了一个Github的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;releases&#x2F;tag&#x2F;book&quot;&gt;release 资源&lt;&#x2F;a&gt;。&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;yaml&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-yaml &quot;&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;&lt;span&gt;- &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Update release
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;johnwbyrd&#x2F;update-release@v1.0.0
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;with&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;token&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.GITHUB_TOKEN }}
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;release&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;book
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;files&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;|
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      .&#x2F;owen-blog-dist&#x2F;owen-blog.pdf
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      .&#x2F;owen-blog-dist&#x2F;owen-blog-html.zip
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      .&#x2F;owen-blog-dist&#x2F;owen-blog.epub
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      .&#x2F;owen-blog-archive-dist&#x2F;owen-blog-archive-html.zip
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      .&#x2F;owen-blog-archive-dist&#x2F;owen-blog-archive.pdf
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      .&#x2F;owen-blog-archive-dist&#x2F;owen-blog-archive.epub
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;一套弄下来，比我想象的工作量要大，主要是要处理一些边缘情况，但是我最喜欢deno的一点，就是我能在一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;blob&#x2F;main&#x2F;book&#x2F;build.ts&quot;&gt;脚本文件&lt;&#x2F;a&gt;内完成所有的处理。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;rust-lang&#x2F;mdBook&quot;&gt;mdbook&lt;&#x2F;a&gt; 要求markdown的文件为如下格式：&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;# Title
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;Body.
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;本质就是纯markdown文件，而&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.getzola.org&#x2F;&quot;&gt;zola&lt;&#x2F;a&gt;的markdown格式是有frontmatter的：&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;---
&lt;&#x2F;span&gt;&lt;span&gt;title: Title
&lt;&#x2F;span&gt;&lt;span&gt;date: 2022-10-11
&lt;&#x2F;span&gt;&lt;span&gt;---
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;Body.
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;这个在Deno里比较好处理，官方的std直接就提供了frontmatter的解析：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;typescript&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-typescript &quot;&gt;&lt;code class=&quot;language-typescript&quot; data-lang=&quot;typescript&quot;&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;{ &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;extract &lt;&#x2F;span&gt;&lt;span&gt;} &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;from &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;deno.land&#x2F;std@0.159.0&#x2F;encoding&#x2F;front_matter.ts&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;另外一个要处理的是内部链接问题。各种静态网站生成器对于内部链接的处理都有微小的差别，有的支持相对链接，有的支持project内的绝对链接，我觉得这种差异对我们迁移到不同的静态博客生成器很麻烦，最理想的情况是使用相对链接，在markdown文件内通过相对链接引用&lt;code&gt;..&#x2F;xxx.md&lt;&#x2F;code&gt;,转化成html后，再由引擎转化为对应的网页链接。对于图片资源，理想的方案是都放在markdown文件的同级目录下，假如markdonw文件位于
&lt;code&gt;xxxx&#x2F;index.md&lt;&#x2F;code&gt;,
那这篇文章引用的图片资源就应该位于&lt;code&gt;xxxx&#x2F;xxx.png&lt;&#x2F;code&gt;,这样对程序处理起来更简单，同时作者也能在一个文件夹内维护相关的东西。还有一种边缘情况是，假如一篇文章，我一开始没有图片资源，所以我新建了&lt;code&gt;foo.md&lt;&#x2F;code&gt;来存放它。但是后来我想把链接一些图片，那我会希望把md文件的路径改为&lt;code&gt;foo&#x2F;index.md&lt;&#x2F;code&gt;，然后图片资源就可以放在这个文件夹下，同时网页地址保持不变。&lt;&#x2F;p&gt;
&lt;p&gt;mdbook对内部链接的处理是直接替换&lt;code&gt;.md&lt;&#x2F;code&gt; 到 &lt;code&gt;.html&lt;&#x2F;code&gt;， 比如对于&lt;code&gt;foo.md&lt;&#x2F;code&gt;文件,生成后的html网页地址就是&lt;code&gt;foo.html&lt;&#x2F;code&gt;,
这样对于生成器来说简化了很多复杂性，缺点是生成的html网页地址用户不友好，用户必须键入&lt;code&gt;foo.html&lt;&#x2F;code&gt;来访问该网页，而不是更友好的&lt;code&gt;&#x2F;foo&#x2F;&lt;&#x2F;code&gt;.
但是mdbook的目标用户不是静态博客，而是网络小书，所以其中章节的链接友好不友好并不是很重要。&lt;&#x2F;p&gt;
&lt;p&gt;Zola对于&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.getzola.org&#x2F;documentation&#x2F;content&#x2F;linking&#x2F;&quot;&gt;内部链接&lt;&#x2F;a&gt;的处理是引入&lt;code&gt;@&lt;&#x2F;code&gt;特殊标记，用&lt;code&gt;@&#x2F;xxx.md&lt;&#x2F;code&gt;来表示内部链接，这种做法的优点是简化内部链接逻辑的复杂性，但是缺点是在本地文件编辑的时候很难导航到引用的文件，我真的很不喜欢zola的这一点（但我喜欢其他所有），所以我使用自己fork的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;zola&quot;&gt;zola版本&lt;&#x2F;a&gt;，把&lt;code&gt;@&lt;&#x2F;code&gt;标识改为&lt;code&gt;&#x2F;content&lt;&#x2F;code&gt;,
这样本地编辑器和github都都能在markdown文件之间正常跳转了。同时这种统一的内部链接风格也让我比较好处理各种边缘情况，我只需要把它转化为mdbook的链接风格即可，也就是从&lt;code&gt;&#x2F;content&#x2F;xxx.md&lt;&#x2F;code&gt;转为&lt;code&gt;.&#x2F;xxx.html&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;我很喜欢用 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;syntax-tree&#x2F;mdast&quot;&gt;mdast&lt;&#x2F;a&gt; 相关的工具去处理 markdown
的解析和修改，mdast 相关的工具链对 Deno 也有良好的支持。主要就是引入以下lib：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;typescript&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-typescript &quot;&gt;&lt;code class=&quot;language-typescript&quot; data-lang=&quot;typescript&quot;&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;{ &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;toMarkdown &lt;&#x2F;span&gt;&lt;span&gt;} &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;from &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;esm.sh&#x2F;mdast-util-to-markdown@1.3.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;{ &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;fromMarkdown &lt;&#x2F;span&gt;&lt;span&gt;} &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;from &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;esm.sh&#x2F;mdast-util-from-markdown@1.2.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;{ &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;visit &lt;&#x2F;span&gt;&lt;span&gt;} &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;from &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;esm.sh&#x2F;unist-util-visit@4.1.1&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;链接处理的代码部分见&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;blob&#x2F;6e033fff7bd4f23418b9502106d226e2a2306d6f&#x2F;book&#x2F;build.ts#L576-L619&quot;&gt;这里&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;处理完后就可以生成mdbook需要的markdown文件了，然后就可以调用mdbook的相关命令来生成对应的 html, epub,
pdf了，具体的mdbook配置如下：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;toml&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-toml &quot;&gt;&lt;code class=&quot;language-toml&quot; data-lang=&quot;toml&quot;&gt;&lt;span&gt;[book]
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;title &lt;&#x2F;span&gt;&lt;span&gt;= &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Owen博客节选&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;description &lt;&#x2F;span&gt;&lt;span&gt;= &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Owen的博客节选电子书版&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;src &lt;&#x2F;span&gt;&lt;span&gt;= &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;content&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;language &lt;&#x2F;span&gt;&lt;span&gt;= &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;zh&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;authors &lt;&#x2F;span&gt;&lt;span&gt;= [&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Owen Young&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;[output.html]
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;git-repository-url &lt;&#x2F;span&gt;&lt;span&gt;= &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;edit-url-template &lt;&#x2F;span&gt;&lt;span&gt;= &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;edit&#x2F;main&#x2F;{path}&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;[output.html.search]
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;enable &lt;&#x2F;span&gt;&lt;span&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;false
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;[output.markdown]
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;enable &lt;&#x2F;span&gt;&lt;span&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;true
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;[output.epub]
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;cover-image &lt;&#x2F;span&gt;&lt;span&gt;= &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;cover.jpg&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;use-default-css &lt;&#x2F;span&gt;&lt;span&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;false
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;[output.pdf]
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;enable &lt;&#x2F;span&gt;&lt;span&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;true
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;可以在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;orly.nanmu.me&#x2F;&quot;&gt;https:&#x2F;&#x2F;orly.nanmu.me&#x2F;&lt;&#x2F;a&gt;中生成一个 o’rly
风格的封面。同时我并不想要搜索引擎收录电子书里的文章，所以我指定了&lt;code&gt;robots.txt&lt;&#x2F;code&gt;文件：&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;User-agent: *
&lt;&#x2F;span&gt;&lt;span&gt;Allow: &#x2F;$
&lt;&#x2F;span&gt;&lt;span&gt;Allow: &#x2F;robots.txt
&lt;&#x2F;span&gt;&lt;span&gt;Disallow: &#x2F;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;dist构建完毕后，再使用Github Workflow把生成的东西上传到release的附件里，同时也把生成的html版本发布到Cloudflare
的page里：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;yaml&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-yaml &quot;&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;&lt;span&gt;- &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Update release
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;johnwbyrd&#x2F;update-release@v1.0.0
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;with&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;token&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.GITHUB_TOKEN }}
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;release&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;book
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;files&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;|
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      .&#x2F;owen-blog-dist&#x2F;owen-blog.pdf
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      .&#x2F;owen-blog-dist&#x2F;owen-blog-html.zip
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      .&#x2F;owen-blog-dist&#x2F;owen-blog.epub
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      .&#x2F;owen-blog-archive-dist&#x2F;owen-blog-archive-html.zip
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      .&#x2F;owen-blog-archive-dist&#x2F;owen-blog-archive.pdf
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      .&#x2F;owen-blog-archive-dist&#x2F;owen-blog-archive.epub
&lt;&#x2F;span&gt;&lt;span&gt;- &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Publish
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;cloudflare&#x2F;pages-action@1
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;with&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;apiToken&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.CLOUDFLARE_API_TOKEN }}
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;accountId&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;projectName&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;book &lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# e.g. &amp;#39;my-project&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;directory&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;.&#x2F;owen-blog-dist &lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# e.g. &amp;#39;dist&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;gitHubToken&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.GITHUB_TOKEN }}
&lt;&#x2F;span&gt;&lt;span&gt;- &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Publish Archive
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;cloudflare&#x2F;pages-action@1
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;with&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;apiToken&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.CLOUDFLARE_API_TOKEN }}
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;accountId&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;projectName&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;archive-book &lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# e.g. &amp;#39;my-project&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;directory&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;.&#x2F;book-dist&#x2F;owen-blog-archive&#x2F;book&#x2F;html &lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# e.g. &amp;#39;dist&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;gitHubToken&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.GITHUB_TOKEN }}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;至此，此博客的电子书版就会实时生成了。而我也终于能放下担子，不用担心死后保佑Github基业长青的问题了。&lt;&#x2F;p&gt;
&lt;p&gt;你可以使用如下链接体验：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;&quot;&gt;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;&lt;&#x2F;a&gt; - 只收录了我指定的文章
&lt;ul&gt;
&lt;li&gt;epub版本: &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;owen-blog.epub&quot;&gt;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;owen-blog.epub&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;pdf版本: &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;owen-blog.pdf&quot;&gt;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;owen-blog.pdf&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;html压缩包 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;owen-blog-html.zip&quot;&gt;https:&#x2F;&#x2F;book.owenyoung.com&#x2F;owen-blog-html.zip&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;archive.owenyoung.com&#x2F;&quot;&gt;https:&#x2F;&#x2F;archive.owenyoung.com&#x2F;&lt;&#x2F;a&gt; - 按年份打包所有的文章
&lt;ul&gt;
&lt;li&gt;epub版本：&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;releases&#x2F;download&#x2F;book&#x2F;owen-blog-archive.epub&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;releases&#x2F;download&#x2F;book&#x2F;owen-blog-archive.epub&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;pdf版本:
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;releases&#x2F;download&#x2F;book&#x2F;owen-blog-archive.pdf&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;releases&#x2F;download&#x2F;book&#x2F;owen-blog-archive.pdf&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;html压缩包
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;releases&#x2F;download&#x2F;book&#x2F;owen-blog-archive-html.zip&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;releases&#x2F;download&#x2F;book&#x2F;owen-blog-archive-html.zip&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>我想让自己说话不那么“端着”</title>
        <published>2022-10-04T02:17:46+08:00</published>
        <updated>2022-10-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/de-roboticization/"/>
        <id>https://old.owenyoung.com/blog/de-roboticization/</id>
        
        <summary type="html">&lt;p&gt;如果你在社交网络上泡久了，久而久之你会发现越来越多的博主说话都有点“端着”，就明明他是一个人，但是他说话的方式却像是一个媒体，或者说是小编，甚至是机器人。这给人一种距离感，无聊感，有的时候还会觉得这个人高高在上。并且就我观察而言，男的说话比女的要端的多。我分析这主要是因为男的从小被教育不要轻易表露自己的情绪，遇到事尽量避免求助别人造成的，所以男的在日常生活中也很少与人进行很深层次的交流，久而久之，他们失去了“不端着”地与他人交流的能力。相比之下，你会发现互联网上的女博主们发言就很自然，很真诚。&lt;&#x2F;p&gt;
&lt;p&gt;我觉得这很可惜，因为真诚在人类社会中是一种非常珍贵的能力，但是大多数男性已经失去了这种能力，而这种能力一旦失去，就很难再找回来。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/de-roboticization/">&lt;p&gt;如果你在社交网络上泡久了，久而久之你会发现越来越多的博主说话都有点“端着”，就明明他是一个人，但是他说话的方式却像是一个媒体，或者说是小编，甚至是机器人。这给人一种距离感，无聊感，有的时候还会觉得这个人高高在上。并且就我观察而言，男的说话比女的要端的多。我分析这主要是因为男的从小被教育不要轻易表露自己的情绪，遇到事尽量避免求助别人造成的，所以男的在日常生活中也很少与人进行很深层次的交流，久而久之，他们失去了“不端着”地与他人交流的能力。相比之下，你会发现互联网上的女博主们发言就很自然，很真诚。&lt;&#x2F;p&gt;
&lt;p&gt;我觉得这很可惜，因为真诚在人类社会中是一种非常珍贵的能力，但是大多数男性已经失去了这种能力，而这种能力一旦失去，就很难再找回来。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;我觉察到这个问题是因为我发现在自己在社交媒体发言也越来越端着了，而且随着 follower
的增加，越来越“端“。这是一种有害的气质，我必须想办法，不能让自己变成这种无聊的机器人。我想了两点办法：&lt;&#x2F;p&gt;
&lt;h2 id=&quot;1-she-jiao-wang-luo-jin-liang-shao-guan-zhu-nan-de&quot;&gt;1. 社交网络尽量少关注男的&lt;a class=&quot;zola-anchor&quot; href=&quot;#1-she-jiao-wang-luo-jin-liang-shao-guan-zhu-nan-de&quot; aria-label=&quot;Anchor link for: 1-she-jiao-wang-luo-jin-liang-shao-guan-zhu-nan-de&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;我不是厌男，但是男性从小受培养的方式决定了他们的行为方式，男性很少求助别人，看看你身边的男的有多不愿意问路就知道了。这让大家很难了解男性真正的内心世界。从社交网络的发言上看，你会发现每个男都像是一个强人，他们没有困惑，焦虑，以及挣扎，经常指导世界的运行。&lt;&#x2F;p&gt;
&lt;p&gt;而且这不仅是我们老中男的的通病，这在全世界范围内都是如此，当然中西肯定有程度差异。Reddit
上有一个很活跃的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;menwritingwomen&#x2F;&quot;&gt;小组&lt;&#x2F;a&gt; 叫 &lt;code&gt;Men wring women&lt;&#x2F;code&gt;,
里面很多网友晒她们在书里摘抄出来的男的如何描写女的的话，你会发现，即使是西方最有文化的作者们，他们说出来的话也会让人觉得非常的自以为是。&lt;&#x2F;p&gt;
&lt;p&gt;所以，男的要想去端化，首先就要从更多的关注女性做起，从理解女性做起。这样你才会有自省的机会。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;2-xie-bo-ke&quot;&gt;2. 写博客&lt;a class=&quot;zola-anchor&quot; href=&quot;#2-xie-bo-ke&quot; aria-label=&quot;Anchor link for: 2-xie-bo-ke&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;博客就像是一个零关注的日记本，它与 Newsletter，
公众号，或者社交媒体账号有本质的不同，那些载体的核心是关注与被关注，所以你在发文的时候，会想要引起别人的好感和关注。这会让你说话有包袱感，会让你选择性的发布一些积极的东西，Instagram
平台是其中的集大成者。但是这不是我们想要的世界，我们需要和人进行真诚的交流，而不是只看对方光鲜的一面。&lt;&#x2F;p&gt;
&lt;p&gt;想在社交媒体上做到真诚的交流，最好的办法是把自己的账户设为私有，这样能有效减少包袱。我长期观察下来，锁推网友的推比不锁推网友的推会有意思的多。但是锁推是一种反社交网络的行为，这让我们封锁在某一刻的圈子里，无法认识新的人。但是博客就不一样了，它几乎就像是一个锁推账户，因为博客的可发现性很差，别人找到你的博客的成本很大，所以你大可以把博客当作一个无人问津的场地，随意发布自己的“狗屎”，同时又保留着一丝丝被某个陌生人发现的可能性，这真的很美妙。&lt;&#x2F;p&gt;
&lt;p&gt;对于可发现性，我很喜欢 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;xn--sr8hvo.ws&#x2F;&quot;&gt;Webring&lt;&#x2F;a&gt; 的古早互联网概念，大概是这样：加入 Webring
链的博客，需要在底部加一个如下的链接：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;xn--sr8hvo.ws&#x2F;%F0%9F%93%AE%F0%9F%86%99%F0%9F%93%A9&#x2F;previous&quot;&gt;←&lt;&#x2F;a&gt; An
IndieWeb Webring 🕸💍
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;xn--sr8hvo.ws&#x2F;%F0%9F%93%AE%F0%9F%86%99%F0%9F%93%A9&#x2F;next&quot;&gt;→&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;点击前后的箭头链接，会跳转到一个 Webring
链里的随机博客，这样就大大的增加了独立博客的可发现性，我经常能发现一些很有意思的博客，这种方式比友情链接要好得多。&lt;&#x2F;p&gt;
&lt;p&gt;我前一段时间尝试开了一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;digests.owenyoung.com&#x2F;&quot;&gt;News Letter&lt;&#x2F;a&gt;,
但是过去半年了，我还没推送过任何东西（我很惊讶竟然有 27
个人订阅了它），我发现我对于推开别人的房门，告诉别人：“嗨，看看我这篇文章吧！”感到很别扭。我当然希望有人能看到我的文章，但是我希望那是一种自然的发现，而不是充满营销感的推送。&lt;&#x2F;p&gt;
&lt;p&gt;独立博客，它就像我的王国一样，我可以在里面自说自话，不用表演，不用假装，不用考虑别人的感受，鬼知道谁在看这个博客。所以我才敢在博客里写&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;muslam-hijabs&#x2F;&quot;&gt;关于穆斯林女性为什么要戴头巾的问题&lt;&#x2F;a&gt;,
&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;articles&#x2F;ex-muslims&#x2F;&quot;&gt;伊斯兰教中的“叛教者” - 前穆斯林们&lt;&#x2F;a&gt;,&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;feminism&#x2F;&quot;&gt;女权主义&lt;&#x2F;a&gt;等等。正常来说，我写完一篇满意的博客之后，我会在社交媒体里分享，但是那些我真正想写的，我却很少在社交媒体上分享，分享出去的都是不痛不痒的文章，留在博客里的，就只有有缘人会看到。这是一种人们在社交媒体上的一种微妙的自我审查，就像男人可能也会在夜深人静的时候进行一些复杂的心理活动，但是他们从不公开说出来。博客提供了一个安全屋，让男人也能在里面说说自己的心事。所以，非要关注男的的话，别关注社交媒体上的男的，关注写博客的男的，更进一步，关注写书的男的。虽然这些写书的男的在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;menwritingwomen&#x2F;&quot;&gt;wring women&lt;&#x2F;a&gt;的时候也表现出了惊人的无知，但由于他们写的是长文，总还是有些可取之处的。&lt;&#x2F;p&gt;
&lt;p&gt;所以写博客第二个好处，就是没有人限制你的长度。一般来说，写的越短，你的文字就会越“端”，所以我们的老祖宗孔子的论语，每句话就言简意赅（也可以说是很端着），但是细细剖析开来，很多都经不起推敲。可悲的是，几千年来，中国最聪明的头脑都在研究着这些简短的圣贤之语。&lt;&#x2F;p&gt;
&lt;p&gt;我的博客没有评论功能，因为评论功能会其实会让我引入社交网络的包袱感。我觉得解决这个问题的好办法是引入&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;indieweb.org&#x2F;Webmention&quot;&gt;webmention&lt;&#x2F;a&gt;的功能，如果有人想要回应，得提交自己的回应网址，而不是在一个简单的评论框里留下三言两语。这提高了评论的成本，鼓励想要留言的人拥有自己的博客，以及写一些经过思考的话语。我的博客已经支持了
Webmention，我在&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;en&#x2F;blog&#x2F;indieweb&#x2F;&quot;&gt;Now, I’m in IndieWeb?&lt;&#x2F;a&gt;里有记录我的实现。&lt;&#x2F;p&gt;
&lt;p&gt;我在引入 Webmention
的时候也提供了一个方便的操作去回应，但也比评论的成本高很多。比如回复这篇文章最简单的办法是发一条推文，推文里包含这篇文章的地址，然后在这篇文章下面提交推文的地址，不提交的话，机器人通常也会发现这条推文，然后自动在这篇文章底部列出。&lt;&#x2F;p&gt;
&lt;p&gt;希望有朝一日我们都能不“端着”说话。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>在遛狗的时候用 Kindle 读书</title>
        <published>2022-10-01T04:15:05+08:00</published>
        <updated>2022-10-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/reading-while-walking-dogs/"/>
        <id>https://old.owenyoung.com/blog/reading-while-walking-dogs/</id>
        
        <summary type="html">&lt;p&gt;在如今的时代里，一个人想要坚持看书其实挺困难的。我经常怀疑现代科技对人脑的刺激已经无法让人类做像读书这样需要长时间保持专注的事了，所以对于已经有读书习惯的人，我真的很羡慕他们。对我来说，尽管我非常赞同读书的意义，但即便如此，像我这种没有在小时候培养起读书习惯，后来又被互联网把眼球喂刁的人来说，要做到每天都能看书，其实还挺困难的，因为通常来说，互联网上总有更吸引我的东西。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/reading-while-walking-dogs/">&lt;p&gt;在如今的时代里，一个人想要坚持看书其实挺困难的。我经常怀疑现代科技对人脑的刺激已经无法让人类做像读书这样需要长时间保持专注的事了，所以对于已经有读书习惯的人，我真的很羡慕他们。对我来说，尽管我非常赞同读书的意义，但即便如此，像我这种没有在小时候培养起读书习惯，后来又被互联网把眼球喂刁的人来说，要做到每天都能看书，其实还挺困难的，因为通常来说，互联网上总有更吸引我的东西。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;倒不是说读书是一种有用但做起来无聊的事。因为读书不像抖音的15秒短视频，第一眼就能吸引你的眼球，书的问题是：一般都需要读上那么一两章，才能进入“抖音”状态，这个时候就不需要外力强迫自己了，书籍本身的乐趣就会吸引你继续看下去（如果还是没有吸引力，那说明这本书不适合你，没必要继续看下去了），所以读书的难点从来都是能不能先耐心读完前两章。&lt;&#x2F;p&gt;
&lt;p&gt;我以前的读书契机主要有以下几个：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;看完某部电影，想看原著，于是会有机会看一本书。（通常来讲，我觉得原著都比电影精彩，也有极少部分原著和电影都非常精彩，比如《银翼杀手》，《那不勒斯四部曲》等）&lt;&#x2F;li&gt;
&lt;li&gt;坐火车或者飞机的时候。（无网络且大块时间）&lt;&#x2F;li&gt;
&lt;li&gt;在网上看到别人的强烈推荐，而我也感兴趣的时候&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;这种看书的习惯其实只会让我读到一些我非常感兴趣的书，而那些看起来可有可无的书，比如《堂吉柯德》，《百年孤独》就不会被选中。&lt;&#x2F;p&gt;
&lt;p&gt;幸运的是，我在最近一年的时间里，找到了一个稳定的时间块和稳定的工具来看书，就是利用遛狗时间和 Kindle。&lt;&#x2F;p&gt;
&lt;p&gt;这个时间段很稳定，对我来说是不可抗力，无论风吹日晒，每天遛狗2次是免不了的。每次大约15-30分钟左右，不长不短，身边没有电脑，我也故意不开手机套餐的流量，这个时间段就很适合强迫自己做一些当做但是很难做的事，比如开始一本新书的阅读。&lt;&#x2F;p&gt;
&lt;p&gt;Kindle 这个工具也必不可少，它有几个特点特别适合在遛狗的时候用：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;在阳光直射下，Kindle 的屏幕异常的清晰，清晰到什么程度？就是我经常专门跑到阳光下去用 Kindle
，我觉得都可以把墨水屏名字改为阳光屏，这样才更突出 Kindle 最大的特点。我遛狗的环境又刚好是户外，在这种情境下阅读 Kindle 是一种享受。&lt;&#x2F;li&gt;
&lt;li&gt;Kindle 非常轻，182g，屏幕大小对我来说非常合适，我的裤兜可以装的下，在路上拿在手上看很轻松。&lt;&#x2F;li&gt;
&lt;li&gt;Kindle 还有背光，晚上遛狗也能轻松应对&lt;&#x2F;li&gt;
&lt;li&gt;Kindle 的离线化设计，所有东西都是离线可用的，没有任何打扰，所有东西立即可用。&lt;&#x2F;li&gt;
&lt;li&gt;Kindle 的电池，依我的看书（遛狗）频率，差不多是2周左右，需要充一次电。&lt;&#x2F;li&gt;
&lt;li&gt;它可以通过电子邮件发送电子书，甚至是RSS。比如我使用
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;kindle4rss.com&#x2F;&quot;&gt;Kindle4RSS&lt;&#x2F;a&gt;的服务，每天自动向我发送端传媒最新文章的电子书，所以我甚至可以在遛狗的时候，离线地了解一些最新时事。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;通常来讲，我一般能在遛狗的 20 分钟左右的时间里看完一本书里的一章，所以平均下来，十来天就能读完一本完整的大书。&lt;&#x2F;p&gt;
&lt;p&gt;在这一年里，我应该已经看完了 30 多本书，这可能是我过去 10 年的读书总量。&lt;&#x2F;p&gt;
&lt;p&gt;这期间还有过一个小插曲，我在遛狗的时候，看了一本书，作者应该是写深度工作的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.newyorker.com&#x2F;contributors&#x2F;cal-newport&quot;&gt;Cal Newport&lt;&#x2F;a&gt;，他建议我们每天都要安排一个无目的的漫步时间，在此期间不做任何事，就只是漫无目的的走。他的理论是这种无压力的散步会激活你脑子里的一些东西，比如说你可能会想到一些伟大的创意，或者写作的灵感。所以有一段时间，我就尝试在遛狗的时候不看
Kindle，改为漫无目的的边走边乱想。但是施行了一段时间之后，我好像啥也没想到，所以就放弃了。不过我怀疑是因为我脑袋空空，所以没法激活脑袋里的东西，也许再过两年再尝试下会有不错的收获。&lt;&#x2F;p&gt;
&lt;p&gt;我很感谢自己最终能发现 Kindle 的优点，因为在此之前由于它拙劣的翻页体验，我把它闲置了6年多。而遛狗，让这种不好的体验变得微不足道。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>New Buzzing 已发布！</title>
        <published>2022-09-03T18:54:10+08:00</published>
        <updated>2022-09-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/new-buzzing/"/>
        <id>https://old.owenyoung.com/blog/new-buzzing/</id>
        
        <summary type="html">&lt;p&gt;在最近两周里，我用 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;deno.land&#x2F;&quot;&gt;Deno&lt;&#x2F;a&gt;
重写了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzing.cc&quot;&gt;Buzzing&lt;&#x2F;a&gt;，这是一个把英文世界热门的讨论，尤其是用户产生的内容，比如
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&quot;&gt;reddit&lt;&#x2F;a&gt; ，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;&quot;&gt;推特&lt;&#x2F;a&gt;，以及我最喜欢的
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;&quot;&gt;hackernews&lt;&#x2F;a&gt;
，把这些优质内容标题翻译成中文，然后根据不同的主题汇总到不同的子网站。我将在本文分享 Buzzing 的一些技术细节和制作历程。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/new-buzzing/">&lt;p&gt;在最近两周里，我用 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;deno.land&#x2F;&quot;&gt;Deno&lt;&#x2F;a&gt;
重写了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzing.cc&quot;&gt;Buzzing&lt;&#x2F;a&gt;，这是一个把英文世界热门的讨论，尤其是用户产生的内容，比如
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&quot;&gt;reddit&lt;&#x2F;a&gt; ，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;&quot;&gt;推特&lt;&#x2F;a&gt;，以及我最喜欢的
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;&quot;&gt;hackernews&lt;&#x2F;a&gt;
，把这些优质内容标题翻译成中文，然后根据不同的主题汇总到不同的子网站。我将在本文分享 Buzzing 的一些技术细节和制作历程。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;描述完之后，怎么感觉那么像一个标准的垃圾站啊，内容搬运农场！&lt;&#x2F;p&gt;
&lt;p&gt;但没办法，我对这样的“垃圾站“有真实的需求，我好奇世界上那些奇怪的人，固执的人，以及有趣的人在做什么，在读什么，在思考什么问题，但很难在中文世界中找到这样的家园。而在英文世界中，不仅有许多专业的新闻&#x2F;杂志网站，比如：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.newyorker.com&#x2F;&quot;&gt;New Yorker&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.theatlantic.com&#x2F;&quot;&gt;The Atlantic&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.axios.com&#x2F;&quot;&gt;Axios&lt;&#x2F;a&gt; - 简明扼要的新闻，有重点的新闻，几句话新闻的精髓&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.huffpost.com&#x2F;&quot;&gt;赫芬顿邮报&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.politico.com&#x2F;&quot;&gt;Politico&lt;&#x2F;a&gt; - 政治评论和报道&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.theguardian.com&#x2F;&quot;&gt;卫报&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.telegraph.co.uk&#x2F;&quot;&gt;每日电讯报&lt;&#x2F;a&gt; - 英国&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;restofworld.org&#x2F;&quot;&gt;The Rest of World&lt;&#x2F;a&gt; - 科技报道&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;sources&#x2F;&quot;&gt;还有更多请参见我的笔记&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;还有很多网址聚合类的网站，比如 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&quot;&gt;Hacker News&lt;&#x2F;a&gt;,
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;lobste.rs&#x2F;&quot;&gt;Lobster&lt;&#x2F;a&gt;, &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&quot;&gt;Reddit&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;hackernews.png&quot; alt=&quot;hackernews&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这些网址聚合类网站的内容由用户提交（大多数是链接），然后其他用户投票，最终决定哪些内容会被展示在首页，为不同兴趣的人提供了一个绝佳的互联网冲浪入口，所以
Reddit 的 slogan 就是：“The Front Page of the Internet” , (刚去查证了一下，发现 Reddit 已经改了自己的
Slogan，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;old.reddit.com&#x2F;&quot;&gt;旧的 reddit&lt;&#x2F;a&gt;的标题依然是这个，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;&quot;&gt;新的&lt;&#x2F;a&gt;已经变成了：“Dive
into anything”)&lt;&#x2F;p&gt;
&lt;p&gt;鉴于目前中文网络环境的言论管控，自我审查等，我觉得我的生活已经离不开这些英文信息网站了。但是由于语言墙，快速浏览大量的非母语信息，并找出自己真正感兴趣的内容对我来说真的很难。所以我非常感谢现代翻译技术的发展，尤其是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.deepl.com&#x2F;translator&quot;&gt;deepl&lt;&#x2F;a&gt;的翻译质量。在此之前，各种翻译工具对技术文章的翻译经常令人啼笑皆非，比如各种
stackoverflow 垃圾站，我在测试各种工具之后，发现 deepl
的翻译的确是最好的（虽然对于小部分技术名词，也有一些问题）。可以看下&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hn.buzzing.cc&#x2F;&quot;&gt;hn 站点下&lt;&#x2F;a&gt; Deepl
和微软的翻译对比效果：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;deepl-vs-microsoft.png&quot; alt=&quot;deepl-vs-microsoft&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;所以基于以上的需求，我在 2020 年末制作了 Buzzing 的第一个版本，大概长这样：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;.&#x2F;index1.png&quot; alt=&quot;buzzing&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;.&#x2F;index2.png&quot; alt=&quot;buzzing2&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;各个主题的子网站长这样：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;.&#x2F;cmv.png&quot; alt=&quot;buzzing3&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;推出了一年，我觉得自己应该是 Buzzing
里最重度的用户吧，以至于我自己最常逛的主题&lt;code&gt;hn.buzzing.cc&lt;&#x2F;code&gt;的内容根本不够我看，所以我甚至专门为自己写了&lt;code&gt;Feed for Owen&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;.&#x2F;myfeed.png&quot; alt=&quot;feed-for-owen&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这个网站抓取 Hacker News 上 Points 大于 1 的提交，基本上就是 HN
上所有的提交了，同时过滤掉最低质量的提交。但由于可以用中文快速浏览标题，所以这样的信息量对我来说就是小菜一碟。&lt;&#x2F;p&gt;
&lt;p&gt;我在使用这个专门为我自己写的网站半年之后得出的结论就是，光看热门的 HN 提交，真的会让你错过超多有意思的人，有意思的事。这其中大多数都不会进入到 Hacker
News 首页。&lt;&#x2F;p&gt;
&lt;p&gt;再来看看我最终的成果，也就是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzing.cc&quot;&gt;New Buzzing&lt;&#x2F;a&gt;：&lt;&#x2F;p&gt;
&lt;p&gt;默认版：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;.&#x2F;hn.png&quot; alt=&quot;hn&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Lite 版：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;.&#x2F;hn-lite.png&quot; alt=&quot;hn-lite&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;每个主题都有一个 lite 的版本，无图，可以无干扰的快速浏览大量信息。同时每个站点都提供了
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hn.buzzing.cc&#x2F;feed.json&quot;&gt;JSON Feed&lt;&#x2F;a&gt; 和
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hn.buzzing.cc&#x2F;feed.xml&quot;&gt;Atom Feed&lt;&#x2F;a&gt;，方便使用 RSS 阅读器订阅。站点像之前一样，同时支持 4
种语言，中文简体，中文繁体，英文，日文，并且每条内容均会显示原文，方便对比参照。同时新增了 4
个子网站，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;newyorker.buzzing.cc&quot;&gt;纽约客&lt;&#x2F;a&gt;, &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;lobste.buzzing.cc&quot;&gt;Lobste&lt;&#x2F;a&gt;,
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;videos.buzzing.cc&#x2F;&quot;&gt;下饭视频&lt;&#x2F;a&gt;，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;linux.buzzing.cc&#x2F;&quot;&gt;Linux&lt;&#x2F;a&gt;以及我最爱的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hnnew.buzzing.cc&#x2F;&quot;&gt;HN 最新&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;.&#x2F;hn-about.png&quot; alt=&quot;hn-about&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;可以说这个版本的 Buzzing 完全是受 Hacker News 社区影响的产物，纯静态 HTML，无 JS，无额外的 CSS 文件， 总共只有 100 多行
CSS 样式，内嵌在 HTML 页面里面，所以如果你访问&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hn.buzzing.cc&#x2F;lite&#x2F;&quot;&gt;https:&#x2F;&#x2F;hn.buzzing.cc&#x2F;lite&#x2F;&lt;&#x2F;a&gt;的话，你只会加载一个 HTML
页面，没有多余的请求（icon 是浏览器为了渲染 favicon 请求的）：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;.&#x2F;network.png&quot; alt=&quot;network&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;30KB 的页面里其实包含了多达 200 条的内容。而于此同时，当我打开百度的首页（一个我们用来测网络是否正常的网站，页面看起来如此简洁！）：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;.&#x2F;baidu-network.png&quot; alt=&quot;baidu&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;你会发现他加载了多达 60 个请求，数据量多达 2.53M。吓人。&lt;&#x2F;p&gt;
&lt;p&gt;接下来分享一些 New Buzzing 的技术细节：）&lt;&#x2F;p&gt;
&lt;h2 id=&quot;ji-shu-xi-jie&quot;&gt;技术细节&lt;a class=&quot;zola-anchor&quot; href=&quot;#ji-shu-xi-jie&quot; aria-label=&quot;Anchor link for: ji-shu-xi-jie&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;之前的 Buzzing 部署在 Github Pages 里，New Buzzing 迁移到了 Cloudflare 的
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;pages.cloudflare.com&#x2F;&quot;&gt;Pages 服务&lt;&#x2F;a&gt;：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;.&#x2F;pages.png&quot; alt=&quot;CloudFlare Pages&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;（其实为啥要搞 New Buzzing，就是因为 Github 的客服说我的 Buzzing 占的空间太大了，其中最大的一个站点占用了 60 多
G！因为之前设计的不合理，太依赖静态网站，每个 Tag，每月的 Archive 页面，甚至每个文章的详情页面都生成了
HTML，一开始还好，后来整个网站就变得越来越大，由于网站太大，用 force push 到 Github 很容易失败，所以只能正常 push，导致 repo
越积越大，直到 Github 都受不了了联系我。。而我对维护工作也变得越来越害怕）&lt;&#x2F;p&gt;
&lt;p&gt;所以新版的 Buzzing，痛定思痛，决定网页全面精简化，那就是每个子网站只有 1 个页面! &lt;code&gt;index.html&lt;&#x2F;code&gt;(有点吹牛，但是核心就是只有 1
个页面)，以下：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;.
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; 404.html
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; _redirects
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; en
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── feed.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── feed.xml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── index.html
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── lite
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       ├── feed.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       ├── feed.xml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       └── index.html
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; favicon.ico
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; feed.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; feed.xml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; icon.png
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; index.html
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; ja
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── feed.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── feed.xml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── index.html
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── lite
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       ├── feed.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       ├── feed.xml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       └── index.html
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; lite
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── feed.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── feed.xml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── index.html
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; robots.txt
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; zh-Hant
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; feed.json
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; feed.xml
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; index.html
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; lite
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; feed.json
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; feed.xml
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; index.html
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;这样 Build 速度都不到 1s，目前 20 多个站点的 build 时间 30s 以内搞定（用 Deno），同时用一个动态站点&lt;code&gt;i.buzzing.cc&lt;&#x2F;code&gt;
来提供不常被访问的 Tag &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;i.buzzing.cc&#x2F;hn&#x2F;tags&#x2F;show-hn&#x2F;&quot;&gt;页面&lt;&#x2F;a&gt;，Archive
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;i.buzzing.cc&#x2F;hn&#x2F;issues&#x2F;2022&#x2F;31&#x2F;&quot;&gt;页面&lt;&#x2F;a&gt;,
以及&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;i.buzzing.cc&#x2F;hn&#x2F;posts&#x2F;2022&#x2F;32&#x2F;en_hn_2022_08_11__32426777&#x2F;&quot;&gt;详情页面&lt;&#x2F;a&gt;，这些页面都属于低频访问，如果每次都生成静态页面的话，会用掉大量的时间。&lt;&#x2F;p&gt;
&lt;p&gt;同时，新增了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzing.cc&#x2F;&quot;&gt;www.buzzing.cc&lt;&#x2F;a&gt;作为所有子站点的聚合页面，在每次子站点生成之后生成。&lt;&#x2F;p&gt;
&lt;p&gt;具体的生成过程如下，以 HN 站点为例：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;cache
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; 1-raw
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── 2022
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       └── 09
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;           └── 03
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;               └── hn
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;                   ├── en_hn_2022_09_03_21_13_18_954_44__32700019.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;                   └── en_hn_2022_09_03_21_13_18_954_45__32700066.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; 2-formated
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── 2022
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       └── 09
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;           └── 03
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;               └── hn
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;                   ├── en_hn_2022_09_03__32696241.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;                   └── en_hn_2022_09_03__32700066.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; 3-translated
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; 2022
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; 09
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; 03
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; hn
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; en_hn_2022_09_03__32696241.json
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; en_hn_2022_09_03__32700066.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;current
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; items
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; hn
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; items.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;archive
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; hn
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; archive
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── 2022
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       └── 35
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;           └── items.json
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; issues
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── 2022
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       └── 32
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;           └── items.json
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; tags
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; show-hn
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; items.json
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;code&gt;1-raw&lt;&#x2F;code&gt; 用来存放从&lt;code&gt;Hacker News&lt;&#x2F;code&gt;或其他站点抓取的原始数据&lt;&#x2F;p&gt;
&lt;p&gt;使用以下 adapter，把原始数据格式化到&lt;code&gt;2-formated&lt;&#x2F;code&gt;目录下:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;adapters
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; devto.ts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; googlenews.ts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; hn.ts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; hn_test.ts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; lobste.ts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; lobste_test.ts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; mod.ts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; newyorker.ts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; ph.ts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; reddit.ts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; rss.ts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; source.ts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; twitter.ts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; twitter_test.ts
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;格式化后的数据长这样：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;json&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-json &quot;&gt;&lt;code class=&quot;language-json&quot; data-lang=&quot;json&quot;&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;id&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;en_hn_2022_09_02__32677727&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;url&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;www.commonsense.news&#x2F;p&#x2F;will-i-ever-see-the-36-million-oberlin&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;date_published&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2022-09-02T01:35:39.646Z&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;date_modified&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2022-09-02T01:35:39.646Z&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;_original_published&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2022-09-01T15:25:05.000Z&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;_original_language&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;en&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;_translations&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;en&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;title&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Will I Ever See the $36MM Oberlin College Owes Me?&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;  },
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;authors&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: [
&lt;&#x2F;span&gt;&lt;span&gt;    {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;fortran77&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;url&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;user?id=fortran77&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;  ],
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;_score&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;200&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;_num_comments&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;194&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;external_url&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=32677727&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;image&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;substackcdn.com&#x2F;image&#x2F;fetch&#x2F;w_1200,h_600,c_limit,f_jpg,q_auto:good,fl_progressive:steep&#x2F;https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Feb00ec25-b252-44f2-a06a-87cea18ea630_1440x1440.jpeg&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;我让它的格式尽量和&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.jsonfeed.org&#x2F;&quot;&gt;jsonfeed&lt;&#x2F;a&gt;保持一致，同时扩展少量的自有属性。格式化后，会删除&lt;code&gt;1-raw&lt;&#x2F;code&gt;的原始文件。&lt;&#x2F;p&gt;
&lt;p&gt;全部格式化完成之后，进入翻译环节，翻译程序只需要读取标准的 formated 文件，然后把&lt;code&gt;_translations&lt;&#x2F;code&gt;下的字段翻译成多个 target
语言，翻译后文件存放在&lt;code&gt;3-translated&lt;&#x2F;code&gt;下，变成如下模样：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;json&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-json &quot;&gt;&lt;code class=&quot;language-json&quot; data-lang=&quot;json&quot;&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;id&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;en_reddit_2022_09_02__r--Bogleheads--comments--x3bi2g--what_to_invest_in_mega_backdoor&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;url&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;Bogleheads&#x2F;comments&#x2F;x3bi2g&#x2F;what_to_invest_in_mega_backdoor&#x2F;&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;date_published&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2022-09-02T01:35:40.828Z&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;date_modified&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2022-09-02T01:35:40.828Z&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;_original_published&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;2022-09-01T16:07:45.000Z&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;_original_language&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;en&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;_translations&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;en&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;title&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;What to invest in mega backdoor&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    },
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;zh-Hans&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;title&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;投资于巨型后门的内容&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    },
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;zh-Hant&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;title&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;投資於巨型後門的內容&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    },
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;ja&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;title&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;メガ・バックドアに何を投資するか&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;  },
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;tags&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: [&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Bogleheads&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;],
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;authors&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: [
&lt;&#x2F;span&gt;&lt;span&gt;    {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;oswestrywalesmate&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;url&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;old.reddit.com&#x2F;user&#x2F;oswestrywalesmate&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;  ],
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;_score&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;3&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;_num_comments&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;6&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;external_url&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;Bogleheads&#x2F;comments&#x2F;x3bi2g&#x2F;what_to_invest_in_mega_backdoor&#x2F;&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;接下来进入存档环节，存档程序读取&lt;code&gt;3-translated&lt;&#x2F;code&gt;下的文件，根据文件的内容，把 items
分别存放到：&lt;code&gt;current&lt;&#x2F;code&gt;和&lt;code&gt;archive&lt;&#x2F;code&gt;目录下，同时删除&lt;code&gt;3-translated&lt;&#x2F;code&gt;下的文件：&lt;&#x2F;p&gt;
&lt;p&gt;比如&lt;code&gt;current&#x2F;hn&#x2F;items.json&lt;&#x2F;code&gt;下的文件，大概结构是这样：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;json&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-json &quot;&gt;&lt;code class=&quot;language-json&quot; data-lang=&quot;json&quot;&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;items&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;en_hn_2022_09_02__32678664&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    },
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;en_hn_2022_09_02__32678665&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;  }
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;这个文件会被永久存储，这就是当前网站的显示的所有条目，只存放最近 200 条数据。&lt;&#x2F;p&gt;
&lt;p&gt;同时每条数据都会在这个时候归档，归档，目前是按周存放的。比如&lt;code&gt;archive&#x2F;hn&#x2F;2022&#x2F;35&#x2F;items.json&lt;&#x2F;code&gt;存放第 35
周的数据，同时&lt;code&gt;archive&#x2F;hn&#x2F;tags&#x2F;show-hn&#x2F;items.json&lt;&#x2F;code&gt;会存放&lt;code&gt;Show HN&lt;&#x2F;code&gt;标签下最近 200
条的内容。数据格式和&lt;code&gt;current&#x2F;hn&#x2F;items.json&lt;&#x2F;code&gt;一致。&lt;&#x2F;p&gt;
&lt;p&gt;当 build hn 站点的静态网页时，只需要读取&lt;code&gt;current&#x2F;hn&#x2F;items.json&lt;&#x2F;code&gt;下的数据，然后按照模板渲染出对应的&lt;code&gt;index.html&lt;&#x2F;code&gt;,
&lt;code&gt;feed.json&lt;&#x2F;code&gt;,&lt;code&gt;feed.xml&lt;&#x2F;code&gt;页面，然后上传至 cloudflare pages 即可。&lt;&#x2F;p&gt;
&lt;p&gt;对于动态页面，比如&lt;code&gt;https:&#x2F;&#x2F;i.buzzing.cc&#x2F;hn&#x2F;tags&#x2F;show-hn&#x2F;&lt;&#x2F;code&gt;,
会实时读取&lt;code&gt;archive&#x2F;hn&#x2F;tags&#x2F;show-hn&#x2F;items.json&lt;&#x2F;code&gt;下的数据，然后按照模板渲染。&lt;&#x2F;p&gt;
&lt;p&gt;目前动态页面的程序部署在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;deno.com&#x2F;deploy&quot;&gt;Deno Deploy&lt;&#x2F;a&gt;上，&lt;code&gt;current&lt;&#x2F;code&gt;,&lt;code&gt;archive&lt;&#x2F;code&gt;,&lt;code&gt;cache&lt;&#x2F;code&gt;文件存放在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.cloudflare.com&#x2F;products&#x2F;r2&#x2F;&quot;&gt;Cloudflare R2&lt;&#x2F;a&gt;上，静态网页部署在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;pages.cloudflare.com&#x2F;&quot;&gt;Cloudflare Pages&lt;&#x2F;a&gt;上。同时使用
Github Actions 来运行定时任务，每半个小时运行一次，20 多个站点，目前每次仅需要 3
分多钟就能完成全部的更新，翻译，发布静态网页。对比以前，抓取数据的时间差不多，但是构建和发布一个静态网站的时间就要多达 30 分钟。&lt;&#x2F;p&gt;
&lt;p&gt;具体的 Github Actions 配置如下：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;yaml&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-yaml &quot;&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;steps&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Check out repository code
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;actions&#x2F;checkout@v3
&lt;&#x2F;span&gt;&lt;span&gt;  - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;actions&#x2F;setup-node@v3
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;with&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;node-version&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;16
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;cache&lt;&#x2F;span&gt;&lt;span&gt;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;npm&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;  - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;install wrangler
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;npm install -g wrangler
&lt;&#x2F;span&gt;&lt;span&gt;  - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;denoland&#x2F;setup-deno@v1
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;with&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;deno-version&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;v1.x
&lt;&#x2F;span&gt;&lt;span&gt;  - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;actions&#x2F;cache@v3
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;with&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;path&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;|
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;        ~&#x2F;.deno
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;        ~&#x2F;.cache&#x2F;deno
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;key&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ runner.os }}-deno-${{ hashFiles(&amp;#39;**&#x2F;*deps.ts&amp;#39;) }}
&lt;&#x2F;span&gt;&lt;span&gt;  - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;make prod-load
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;env&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;AWS_ACCESS_KEY_ID&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.AWS_ACCESS_KEY_ID }}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;AWS_SECRET_ACCESS_KEY&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.AWS_SECRET_ACCESS_KEY }}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;AWS_DEFAULT_REGION&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.AWS_DEFAULT_REGION}}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;AWS_ENDPOINT&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.AWS_ENDPOINT}}
&lt;&#x2F;span&gt;&lt;span&gt;  - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;make install
&lt;&#x2F;span&gt;&lt;span&gt;  - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;make prod-source
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;id&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;source
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;continue-on-error&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;true
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;env&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;AWS_ACCESS_KEY_ID&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.AWS_ACCESS_KEY_ID }}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;AWS_SECRET_ACCESS_KEY&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.AWS_SECRET_ACCESS_KEY }}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;AWS_DEFAULT_REGION&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.AWS_DEFAULT_REGION}}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;AWS_ENDPOINT&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.AWS_ENDPOINT}}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;TWITTER_BEARER_TOKEN&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.TWITTER_BEARER_TOKEN}}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;TWITTER_ACCESS_TOKEN&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.TWITTER_ACCESS_TOKEN}}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;TWITTER_ACCESS_TOKEN_SECRET&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.TWITTER_ACCESS_TOKEN_SECRET}}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;TWITTER_CONSUMER_SECRET&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.TWITTER_CONSUMER_SECRET}}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;PRODUCTHUNT_TOKEN&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.PRODUCTHUNT_TOKEN}}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;TRANSLATE_TOKEN&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.TRANSLATE_TOKEN}}
&lt;&#x2F;span&gt;&lt;span&gt;  - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;upload files
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;make prod-upload
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;env&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;AWS_ACCESS_KEY_ID&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.AWS_ACCESS_KEY_ID }}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;AWS_SECRET_ACCESS_KEY&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.AWS_SECRET_ACCESS_KEY }}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;AWS_DEFAULT_REGION&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.AWS_DEFAULT_REGION}}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;AWS_ENDPOINT&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.AWS_ENDPOINT}}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;DUFS_URL&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.DUFS_URL}}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;DUFS_SECRETS&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.DUFS_SECRETS}}
&lt;&#x2F;span&gt;&lt;span&gt;  - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;throw if source failed
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;if&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;steps.source.outcome == &amp;#39;failure&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;|
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      echo &amp;quot;::error::Source build failed&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;      exit 1
&lt;&#x2F;span&gt;&lt;span&gt;  - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Publish pages
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;make prod-publishall
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;env&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;CLOUDFLARE_ACCOUNT_ID&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.CLOUDFLARE_ACCOUNT_ID}}
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;CLOUDFLARE_API_TOKEN&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{secrets.CLOUDFLARE_API_TOKEN}}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;最后，使用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;pipedream.com&quot;&gt;Pipedream&lt;&#x2F;a&gt;,每一个小时拉取 feedjson，然后分别发布到
Twitter：&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;HackerNewsZh&quot;&gt;@HackerNewsZh&lt;&#x2F;a&gt;,
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;NewsBotZh&quot;&gt;@NewsBotZh&lt;&#x2F;a&gt;,
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;AskRedditZh&quot;&gt;@AskRedditZh&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;xiao-xi-jie&quot;&gt;小细节&lt;a class=&quot;zola-anchor&quot; href=&quot;#xiao-xi-jie&quot; aria-label=&quot;Anchor link for: xiao-xi-jie&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;youtube-shi-pin-de-lan-jia-zai&quot;&gt;Youtube 视频的懒加载&lt;a class=&quot;zola-anchor&quot; href=&quot;#youtube-shi-pin-de-lan-jia-zai&quot; aria-label=&quot;Anchor link for: youtube-shi-pin-de-lan-jia-zai&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;如果你引入 Youtube 视频的全部 Embed 代码，那么你的网页每次会加载 Youtube
内部超多的资源，这很不道德，所以我们可以用&lt;code&gt;iframe&lt;&#x2F;code&gt;的&lt;code&gt;srcdoc&lt;&#x2F;code&gt;属性来实现只加载一个预览页面，而不实际加载整个
iframe。当用户主动点击播放的时候，这个时候才去真正的 loading,效果如下：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;new-buzzing&#x2F;.&#x2F;youtube.gif&quot; alt=&quot;youtube&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;具体代码如下：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;html&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-html &quot;&gt;&lt;code class=&quot;language-html&quot; data-lang=&quot;html&quot;&gt;&lt;span&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;iframe
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;class&lt;&#x2F;span&gt;&lt;span&gt;=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;embed-video&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;loading&lt;&#x2F;span&gt;&lt;span&gt;=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;lazy&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;src&lt;&#x2F;span&gt;&lt;span&gt;=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;www.youtube.com&#x2F;embed&#x2F;${embedUrlVideoId}&amp;amp;autoplay=1&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;srcdoc&lt;&#x2F;span&gt;&lt;span&gt;=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&amp;lt;style&amp;gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px&#x2F;1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&amp;lt;&#x2F;style&amp;gt;&amp;lt;a href=https:&#x2F;&#x2F;www.youtube.com&#x2F;embed&#x2F;${embedUrlVideoId}?autoplay=1&amp;gt;&amp;lt;img src=https:&#x2F;&#x2F;img.youtube.com&#x2F;vi&#x2F;${embedUrlVideoId}&#x2F;hqdefault.jpg loading=&amp;#39;lazy&amp;#39; alt=&amp;#39;Youtube Preview Image&amp;#39;&amp;gt;&amp;lt;span&amp;gt;▶&amp;lt;&#x2F;span&amp;gt;&amp;lt;&#x2F;a&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;frameborder&lt;&#x2F;span&gt;&lt;span&gt;=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;allow&lt;&#x2F;span&gt;&lt;span&gt;=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;allowfullscreen
&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;iframe&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;zong-jie&quot;&gt;总结&lt;a class=&quot;zola-anchor&quot; href=&quot;#zong-jie&quot; aria-label=&quot;Anchor link for: zong-jie&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;用 Deno 做完这一切之后，只能用神清气爽来形容（可以说这是我最满意的一次应用结构设计）。再也不怕新增站点了！ Deno 开箱即用的 Typescript
支持，以及 Deno Deploy 的无缝部署都让我非常享受，同时 Deno
生态的不完整性，也让我更少的依赖别人的东西，整个网站做下来感觉非常的健壮。也许谁有时间可以利用站点提供的&lt;code&gt;feed.json&lt;&#x2F;code&gt;来生成一个体验良好的 APP.&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>电脑的启动流程</title>
        <published>2022-08-09T00:43:39+08:00</published>
        <updated>2022-08-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/booting/"/>
        <id>https://old.owenyoung.com/blog/booting/</id>
        
        <summary type="html">&lt;p&gt;以前看过一个面试题，当你从浏览器地址栏输入 url 后，按下回车，具体会发生什么，这对这道题还挺有信心的，但是你要我说按下电脑开机键会发生什么，我是真的不知道。通过这次学习终于知道了一些：）&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;但是我绝对不是专家，只是一个刚接触这一块的新手，这篇文章里的所有东西都是根据&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;booting&#x2F;#References&quot;&gt;很多文章和论文&lt;&#x2F;a&gt;，以及我自己的实践得来的，所以里面的信息如果有错误，请帮助我更正它！&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/booting/">&lt;p&gt;以前看过一个面试题，当你从浏览器地址栏输入 url 后，按下回车，具体会发生什么，这对这道题还挺有信心的，但是你要我说按下电脑开机键会发生什么，我是真的不知道。通过这次学习终于知道了一些：）&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;但是我绝对不是专家，只是一个刚接触这一块的新手，这篇文章里的所有东西都是根据&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;booting&#x2F;#References&quot;&gt;很多文章和论文&lt;&#x2F;a&gt;，以及我自己的实践得来的，所以里面的信息如果有错误，请帮助我更正它！&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;liu-cheng&quot;&gt;流程&lt;a class=&quot;zola-anchor&quot; href=&quot;#liu-cheng&quot; aria-label=&quot;Anchor link for: liu-cheng&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;1-cpu-zhi-xing-firmware-setup-cheng-xu&quot;&gt;1. CPU 执行 Firmware setup 程序&lt;a class=&quot;zola-anchor&quot; href=&quot;#1-cpu-zhi-xing-firmware-setup-cheng-xu&quot; aria-label=&quot;Anchor link for: 1-cpu-zhi-xing-firmware-setup-cheng-xu&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;当用户按下开机键，电脑就通电了，这个时候 CPU 先启动，它的工作就是不断的执行给他的指令，而初始指令就是主板写在硬件里的 Firmware setup 程序, 现代电脑的 Firmware setup 程序（2014 年后生产的电脑）基本上使用的都是 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;uefi.org&#x2F;&quot;&gt;Unified Extensible Firmware Interface&lt;&#x2F;a&gt; (UEFI)标准。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;UEFI 是一种“固件程序”，固化在一个焊接或插在主板上 EEPROM (electrically erasable programmable read-only memory) 芯片上，并且暴露一些接口以和软件进行交互。&lt;&#x2F;p&gt;
&lt;p&gt;EEPROM 是带电可擦可编程只读存储器。 是一种掉电后数据不丢失的存储芯片，所以很适合存放这种固件程序，轻易不咋变动，但要变动的时候，也能比较容易的变动。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;UEFI 是 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;BIOS&quot;&gt;Basic Input&#x2F;Output System (BIOS) &lt;&#x2F;a&gt; 的现代版本,基本上 2014 年之后的机器附带的主板用的都是 UEFI 程序了。&lt;&#x2F;p&gt;
&lt;p&gt;当你看到以下这个菜单图片：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;booting&#x2F;.&#x2F;uefi-text-menu.jpeg&quot; alt=&quot;uefi-text-menu&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这并不是代表你的电脑用的是传统的 BIOS，虽然这个界面看起来很原始，但是其实这也是 UEFI 程序的，只是他的界面和 BIOS 一样是文本用户界面 (TUI)，更现代的 UEFI 可能会带有酷酷的图形化 (GUI) 操作界面，像这样的：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;booting&#x2F;.&#x2F;asus-UEFI.jpg&quot; alt=&quot;uefi-gui&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;我们可以通过在电脑开机的时候，连续按 F1 键（或者别的什么键）进入 UEFI 的设置 菜单。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;很多人会混用 UEFI,BIOS 这些名词，我觉得这个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;superuser.com&#x2F;a&#x2F;1722488&quot;&gt;回答&lt;&#x2F;a&gt;解释的特别好。&lt;&#x2F;p&gt;
&lt;p&gt;PS. 我觉得现在应该弃用 BIOS 这个名字，用 Firmware setup 程序来代替它。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;2-firmware-setup-cheng-xu-kai-shi-yun-xing-bing-cong-cmos-li-mian-du-qu-dang-qian-xi-tong-shi-jian&quot;&gt;2. Firmware setup 程序开始运行，并从 CMOS 里面读取当前系统时间&lt;a class=&quot;zola-anchor&quot; href=&quot;#2-firmware-setup-cheng-xu-kai-shi-yun-xing-bing-cong-cmos-li-mian-du-qu-dang-qian-xi-tong-shi-jian&quot; aria-label=&quot;Anchor link for: 2-firmware-setup-cheng-xu-kai-shi-yun-xing-bing-cong-cmos-li-mian-du-qu-dang-qian-xi-tong-shi-jian&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;CMOS 是位于主板上的一个简单的存储装置，现在的实际使用中，只被用于记录时钟 RTC 信息，所以这个东西需要一直有电才能保持系统时间的正确性，所以 CMOS 被设计为：开机的时候用电源供电，关机的时候就用纽扣电池供电。如图：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;booting&#x2F;.&#x2F;cmos-battery-backup.webp&quot; alt=&quot;cmos&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;但其实操作系统在有网的时候，一般也用不到 CMOS 里的时钟信息，因为它都是访问网络上的时间去校准时间的，除非没有网络才会用这个值。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;网络上很多文章说 Firmware setup 程序会把用户的配置信息（比如启动项配置等）存放到 CMOS 里面，其实现代的电脑都不会这样做了，因为只有时钟信息需要持续的电源来运行，别的东西都可以存在文件系统里，UEFI 的配置信息都是存放在文件系统里的。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;3-firmware-setup-cheng-xu-kai-shi-zhi-xing-dian-nao-an-quan-zi-jian&quot;&gt;3. Firmware setup 程序开始执行电脑安全自检&lt;a class=&quot;zola-anchor&quot; href=&quot;#3-firmware-setup-cheng-xu-kai-shi-zhi-xing-dian-nao-an-quan-zi-jian&quot; aria-label=&quot;Anchor link for: 3-firmware-setup-cheng-xu-kai-shi-zhi-xing-dian-nao-an-quan-zi-jian&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;这个阶段被称为：SEC，security 阶段，做一些硬件方面的安全检查，看下各种东西都 ok 不 ok，之后的整个流程大概是这样：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;booting&#x2F;.&#x2F;sequence.png&quot; alt=&quot;sequence&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;4-chu-shi-hua-efi-de-zhi-xing-huan-jing-bi-ru-cpu-ge-chong-gong-neng-xin-pian-deng&quot;&gt;4. 初始化 EFI 的执行环境， 比如 cpu ，各种功能芯片等&lt;a class=&quot;zola-anchor&quot; href=&quot;#4-chu-shi-hua-efi-de-zhi-xing-huan-jing-bi-ru-cpu-ge-chong-gong-neng-xin-pian-deng&quot; aria-label=&quot;Anchor link for: 4-chu-shi-hua-efi-de-zhi-xing-huan-jing-bi-ru-cpu-ge-chong-gong-neng-xin-pian-deng&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;这个阶段被称为 PEI，Pre Extensible Firmware Interface，Pre-EFI，EFI 是 UEFI 给系统引导程序（Boot Loader）准备的运行环境，就像 Bash 脚本环境一样，这个环境可以执行&lt;code&gt;.efi&lt;&#x2F;code&gt;文件。&lt;code&gt;.eft&lt;&#x2F;code&gt;文件就是系统引导程序的入口文件。在这个阶段会把 CPU，主内存，其他专用功能芯片组（比如音频芯片）啥的都准备好。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;5-dxe-jie-duan&quot;&gt;5. DXE 阶段&lt;a class=&quot;zola-anchor&quot; href=&quot;#5-dxe-jie-duan&quot; aria-label=&quot;Anchor link for: 5-dxe-jie-duan&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Drive Execution Environment, 在这个阶段，DXE 调度程序将发现并执行相关固件卷中可用的 DXE 驱动程序，这些驱动程序负责更高级别的平台初始化和服务，比如系统管理模式（SMM）的设置，更高级别的固件驱动程序，如网络，启动盘，热量管理等，并且为后面的阶段提供运行时的服务接口。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;6-bds-jie-duan&quot;&gt;6. BDS 阶段&lt;a class=&quot;zola-anchor&quot; href=&quot;#6-bds-jie-duan&quot; aria-label=&quot;Anchor link for: 6-bds-jie-duan&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Boot Device Selection 阶段，这个阶段，UEFI 会加载各种设备的驱动程序，比如硬盘，U 盘的驱动，并运行 Boot Loader 引导程序：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;初始化控制台 console 设备，看看系统有多少可以启动的设备&lt;&#x2F;li&gt;
&lt;li&gt;加载必要的设备驱动比如硬盘，u 盘等&lt;&#x2F;li&gt;
&lt;li&gt;加载输入输出设备驱动，比如键盘，鼠标等&lt;&#x2F;li&gt;
&lt;li&gt;搜索可用的启动设备（其实就是搜索具有 FAT32 分区格式的设备，FAT32 分区是微软设计的格式，单文件最大 4G，格式化 U 盘的时候可以看到这种格式选项）&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;我们一般会在硬盘里分出一个专门的 EFI 分区用来存放引导程序：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;booting&#x2F;.&#x2F;EFI-Partition-Disk-Management.webp&quot; alt=&quot;efi&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这个磁盘分区里的文件结构大概如下：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;booting&#x2F;.&#x2F;efi-folder.jpeg&quot; alt=&quot;efi-folder&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;如果你有多个引导程序的话，你可以在 UEFI 提供的 boot 菜单里选择使用哪一个（按 F12 可以进入 boot 引导程序菜单），默认的话就是进入排名第一的那个。UEFI 提供的引导菜单其实是一级引导，然后进入二级引导程序：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;二级引导程序有 Grub2, Windows boot manager 等, 如果你电脑预装的是 Windows 系统的话，那就只有 Windows Boot mananer ，如果你装了双系统，比如 Ubuntu 等 Linux 系统的话，Linux 系统会使用 Grub2 作为二级引导系统， Grub2 支持 windows，linux，macos 等系统的引导。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;到了这里，二级引导程序就会根据用户的配置，把 CPU 的控制权交给真正的操作系统了，至此，电脑才算开始启动 OS 了。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;zong-jie&quot;&gt;总结&lt;a class=&quot;zola-anchor&quot; href=&quot;#zong-jie&quot; aria-label=&quot;Anchor link for: zong-jie&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;这篇文章有太多名词了，如果没有装过几次操作系统的，可能听的云里雾里的，所以如果你感到云里雾里的也没必要深究，等你装过几次系统，遇到一些错误，然后在解决的过程中，你就慢慢理解这些东西了。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;references&quot;&gt;References&lt;a class=&quot;zola-anchor&quot; href=&quot;#references&quot; aria-label=&quot;Anchor link for: references&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;neucrack.com&#x2F;p&#x2F;330&quot;&gt;实体机安装双系统多系统教程 及引导修复指南&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.cnblogs.com&#x2F;yuxiayizhengwan&#x2F;p&#x2F;15132486.html&quot;&gt;如何在 Windows10 下安装 ubuntu 双系统(无 U 盘)&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;zhuanlan.zhihu.com&#x2F;p&#x2F;32280478&quot;&gt;浅谈操作系统-启动过程&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.shenzeyu.cn&#x2F;2015&#x2F;12&#x2F;06&#x2F;%E6%B5%85%E8%B0%88UEFI%E5%90%AF%E5%8A%A8&#x2F;&quot;&gt;浅谈 UEFI 启动&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.ruanyifeng.com&#x2F;blog&#x2F;2013&#x2F;02&#x2F;booting.html&quot;&gt;阮一峰: 计算机是如何启动的？&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.cnblogs.com&#x2F;pipci&#x2F;p&#x2F;13280030.html&quot;&gt;BIOS 与 UEFI 引导流程&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;superuser.com&#x2F;questions&#x2F;1722483&#x2F;what-is-the-terminologically-correct-way-to-call-the-setup-screen-before-boot&quot;&gt;What is the terminologically correct way to call the setup screen before boot?&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;edk2-docs.gitbook.io&#x2F;edk-ii-build-specification&#x2F;2_design_discussion&#x2F;23_boot_sequence&quot;&gt;Boot Sequence&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;wiki.osdev.org&#x2F;CMOS&quot;&gt;CMOS&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;depletionmode.com&#x2F;uefi-boot.html&quot;&gt;了解基于 UEFI 的现代平台启动&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.csdn.net&#x2F;weixin_45279063&#x2F;article&#x2F;details&#x2F;115508961&quot;&gt;BIOS 追 Code 之 BDS phase -＞ TSL-＞ RT-＞ AL&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>不用 U 盘在 Windows 10 上安装Ubuntu Server 22 双系统</title>
        <published>2022-08-07T23:31:06+08:00</published>
        <updated>2022-08-07T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/windows-10-ubuntu-22-dual-system-without-usb-flash-drive/"/>
        <id>https://old.owenyoung.com/blog/windows-10-ubuntu-22-dual-system-without-usb-flash-drive/</id>
        
        <summary type="html">&lt;p&gt;这篇文章是一篇笔记，记录一下安装期间遇到的坑，不算是教程，因为我走了一遍流程之后决定放弃这样安装，还是乖乖的买一块新的 U 盘去安装系统，劝你也这样做（我为啥要这样装系统，是因为我的旧 U 盘是一个 360wifi 的 u 盘，试了用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;rufus.ie&#x2F;en&#x2F;&quot;&gt;refus&lt;&#x2F;a&gt;,&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.ventoy.net&#x2F;en&#x2F;faq.html&quot;&gt;ventoy&lt;&#x2F;a&gt;等工具创建引导 u 盘，电脑都无法启动这块 u 盘的引导系统，这才尝试无 U 盘安装）。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;背景是：最近刚搬家，无意中找到一个 dp 的转接头，神奇的发现之前屏幕坏掉的 Thinkpad T450 笔记本可以外接到房东的大电视上显示，（之前拿到联想售后店，售后告诉我整个显卡都坏掉，外接显示屏也无法显示，我也就没尝试过），所以准备给这台旧笔记本额外安装一个 Linux 系统，用作家庭服务器，可以跑旁路由，和一些媒体中心等等。这样的需求最适合装一个 headless 系统，平时都通过 ssh 连接和操作，把废旧笔记本当作树莓派一样用。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;我发现装系统的时候最能学到一些更底层的知识，我虽然是程序员，但还是有超多基本知识都不了解，通过这次装系统，又学了好多新知识。在查找教程的过程中，有一点感触很深，就是写教程的人，最好解释清楚每一步操作都干了啥，这样读者才能从中学到真正的东西，但是网络上有很多中文的教程就只是告诉你说这几行命令能解决问题，这就搞得人很虚。所以自己写教程或者笔记的时候，一定不要怕冗余，努力说清楚每一个操作实际上干了什么。&lt;&#x2F;p&gt;
&lt;p&gt;装完之后，总算理解了一点点电脑的启动流程，写了一篇笔记：&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;booting&#x2F;&quot;&gt;电脑的启动流程&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/windows-10-ubuntu-22-dual-system-without-usb-flash-drive/">&lt;p&gt;这篇文章是一篇笔记，记录一下安装期间遇到的坑，不算是教程，因为我走了一遍流程之后决定放弃这样安装，还是乖乖的买一块新的 U 盘去安装系统，劝你也这样做（我为啥要这样装系统，是因为我的旧 U 盘是一个 360wifi 的 u 盘，试了用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;rufus.ie&#x2F;en&#x2F;&quot;&gt;refus&lt;&#x2F;a&gt;,&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.ventoy.net&#x2F;en&#x2F;faq.html&quot;&gt;ventoy&lt;&#x2F;a&gt;等工具创建引导 u 盘，电脑都无法启动这块 u 盘的引导系统，这才尝试无 U 盘安装）。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;背景是：最近刚搬家，无意中找到一个 dp 的转接头，神奇的发现之前屏幕坏掉的 Thinkpad T450 笔记本可以外接到房东的大电视上显示，（之前拿到联想售后店，售后告诉我整个显卡都坏掉，外接显示屏也无法显示，我也就没尝试过），所以准备给这台旧笔记本额外安装一个 Linux 系统，用作家庭服务器，可以跑旁路由，和一些媒体中心等等。这样的需求最适合装一个 headless 系统，平时都通过 ssh 连接和操作，把废旧笔记本当作树莓派一样用。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;我发现装系统的时候最能学到一些更底层的知识，我虽然是程序员，但还是有超多基本知识都不了解，通过这次装系统，又学了好多新知识。在查找教程的过程中，有一点感触很深，就是写教程的人，最好解释清楚每一步操作都干了啥，这样读者才能从中学到真正的东西，但是网络上有很多中文的教程就只是告诉你说这几行命令能解决问题，这就搞得人很虚。所以自己写教程或者笔记的时候，一定不要怕冗余，努力说清楚每一个操作实际上干了什么。&lt;&#x2F;p&gt;
&lt;p&gt;装完之后，总算理解了一点点电脑的启动流程，写了一篇笔记：&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;booting&#x2F;&quot;&gt;电脑的启动流程&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;blockquote&gt;
&lt;p&gt;下面文章里提到的很多名词，我会默认你已经读过上面这篇操作系统启动的综述了，所以就不再重复解释。&lt;&#x2F;p&gt;
&lt;p&gt;这篇文章是靠回忆完成的，所以可能会有一些步骤的遗失，如果你遇到问题，欢迎帮助我一起编辑这篇文章。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;1-guan-bi-kuai-su-qi-dong&quot;&gt;1. 关闭快速启动&lt;a class=&quot;zola-anchor&quot; href=&quot;#1-guan-bi-kuai-su-qi-dong&quot; aria-label=&quot;Anchor link for: 1-guan-bi-kuai-su-qi-dong&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;电源选项 -&amp;gt; 选择电源按钮的功能 -&amp;gt; 更改当前不可用的设置，取消勾选启用快速启动.这样电源按钮就恢复为单纯的电源按钮了。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;快速启动是 Windows 把传统的完全关机模式，升级为“关机+休眠唤醒”的混合启动模式。在传统的关机模式中，执行关机命令后，Windows 会彻底结束正在运行的应用程序、停止系统服务、注销登录用户账户、关闭计算机电源，而不刷入缓存、写入文件。故下次开机时，所有资源项都必须重新启动一遍、全新加载、全新读取，因而在进入桌面后，仍会有一段的等待加载时间(体现在鼠标转圈圈)。而在“快速启动”模式下执行关机，Windows 8、8.1、10 等系统版本会将系统当前的运行状态(包括进程、服务、会话、内核等)写入到休眠缓存文件中，待下次开机时，系统便直接读取该休眠文件，并将其加载到内存，从而实现快速唤醒、快速恢复、快速启动，故等待时间较短，所以有些时候关机前没有关掉的窗口开机后可能会再次出现。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;2-zhuan-huan-fen-qu-ge-shi-mbr-dao-gpt&quot;&gt;2. 转换分区格式 MBR 到 GPT&lt;a class=&quot;zola-anchor&quot; href=&quot;#2-zhuan-huan-fen-qu-ge-shi-mbr-dao-gpt&quot; aria-label=&quot;Anchor link for: 2-zhuan-huan-fen-qu-ge-shi-mbr-dao-gpt&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;我的笔记本的主板是用的 UEFI，但是它的默认设置却用了 Legacy boot 的模式，磁盘也是使用 Master Boot Record (MBR)作为分区格式。这是一种过时的配置，所以第一步，我就把整个电脑的分区格式从 Master Boot Record (MBR)改为 GUID Partition Table (GPT) 格式，全面 UEFI 化。这一步其实很底层，有可能丢失数据，但是我的电脑啥都没有，所以我不担心这个问题，如果你有重要数据，请一定做好备份。我使用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.disktool.cn&#x2F;&quot;&gt;傲梅分区助手&lt;&#x2F;a&gt;把整个磁盘转换为 GPT 格式，我只有一个磁盘。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;windows-10-ubuntu-22-dual-system-without-usb-flash-drive&#x2F;.&#x2F;convert-to-gpt-disk.png&quot; alt=&quot;conver&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;转换完成之后，重启系统，按 F1 进入 UEFI 的 Boot 设置菜单,把 Boot Mode 改为 UEFI，同时确认 Security Boot 是关闭状态，CSM 也是关闭状态。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Security Boot 开启后，uefi 将会用公钥验证操作系统是否由认证的厂商发型，当时好像只内置了 Windows，Ubuntu 的支持，所以其实我觉得爱折腾的人，家用电脑没必要开启这个选项&lt;&#x2F;p&gt;
&lt;p&gt;CSM（兼容性支持模块）,因为我们全面使用 UEFI，所以关闭 CSM 的支持，CSM 用于支持 MBR 引导&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;windows-10-ubuntu-22-dual-system-without-usb-flash-drive&#x2F;.&#x2F;mblegacyboot.jpg&quot; alt=&quot;uefi&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;3-ci-pan-hua-fen&quot;&gt;3. 磁盘划分&lt;a class=&quot;zola-anchor&quot; href=&quot;#3-ci-pan-hua-fen&quot; aria-label=&quot;Anchor link for: 3-ci-pan-hua-fen&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;开机后，使用 Windows 的磁盘管理工具，新建一个 8G 左右大小的 FAT32 格式的分区，用于代替 U 盘，存放 Ubuntu 的系统镜像文件。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;windows-10-ubuntu-22-dual-system-without-usb-flash-drive&#x2F;.&#x2F;disk-fat32.png&quot; alt=&quot;disk&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;然后在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ubuntu.com&#x2F;download&#x2F;server&quot;&gt;Ubuntu Server 的下载页面&lt;&#x2F;a&gt;, 下载最新版的 Server 镜像文件，然后把镜像文件解压到这个分区里。注意是把根目录的所有文件解压进去，不带根目录&lt;&#x2F;p&gt;
&lt;p&gt;解压完成之后，我们需要修改一个 grub 的引导启动项参数, 找到&lt;code&gt;boot&#x2F;grub&#x2F;grub.cfg&lt;&#x2F;code&gt;文件，然后用记事本打开，找到以下行：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;menuentry &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Try or Install Ubuntu Server&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot; {
&lt;&#x2F;span&gt;&lt;span&gt;	set gfxpayload=keep
&lt;&#x2F;span&gt;&lt;span&gt;	linux	&#x2F;casper&#x2F;vmlinuz  ---
&lt;&#x2F;span&gt;&lt;span&gt;	initrd	&#x2F;casper&#x2F;initrd
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;修改为：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;menuentry &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Try or Install Ubuntu Server&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot; {
&lt;&#x2F;span&gt;&lt;span&gt;	set gfxpayload=keep
&lt;&#x2F;span&gt;&lt;span&gt;	linux	&#x2F;casper&#x2F;vmlinuz toram  ---
&lt;&#x2F;span&gt;&lt;span&gt;	initrd	&#x2F;casper&#x2F;initrd
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;我们添加了一个&lt;code&gt;toram&lt;&#x2F;code&gt;参数，这个参数告诉 grub 把整个 ubuntu 系统加载到内存中，这样我们就不依赖硬盘了，也就能在安装的过程中操作硬盘了。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;4-xin-jian-xi-tong-yin-dao-xiang&quot;&gt;4. 新建系统引导项&lt;a class=&quot;zola-anchor&quot; href=&quot;#4-xin-jian-xi-tong-yin-dao-xiang&quot; aria-label=&quot;Anchor link for: 4-xin-jian-xi-tong-yin-dao-xiang&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;下载 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.easyuefi.com&#x2F;index-us.html&quot;&gt;EasyUEFI&lt;&#x2F;a&gt; 软件，进入系统启动项管理，点击新建启动项，名字可以叫&lt;code&gt;ubuntuinstaller&lt;&#x2F;code&gt;,选择你刚新建的 Fat32 分区，引导文件选择&lt;code&gt;EFI -&amp;gt; BOOT -&amp;gt; grubx64.efi&lt;&#x2F;code&gt;，使用 grub 来引导，然后确定即可。这样就创建了一个启动盘，代替 U 盘。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;5-xin-jian-ubuntu-de-fen-qu&quot;&gt;5. 新建 ubuntu 的分区&lt;a class=&quot;zola-anchor&quot; href=&quot;#5-xin-jian-ubuntu-de-fen-qu&quot; aria-label=&quot;Anchor link for: 5-xin-jian-ubuntu-de-fen-qu&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;接着再分出一个 80GB 左右的磁盘空间，用于安装 ubuntu 系统，具体操作是在磁盘管理里，先压缩 C 盘，压缩出大概 80G 的空间，然后把这个空间格式化为 nfts 格式&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果不格式化成 nfts 格式的话，ubuntu server 的安装程序无法发现未分配的磁盘，所以这一步先随便格式化一下，到时候安装的时候再让 ubuntu 安装程序格式化成 ext4 格式&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;6-an-zhuang-ubuntu&quot;&gt;6. 安装 ubuntu&lt;a class=&quot;zola-anchor&quot; href=&quot;#6-an-zhuang-ubuntu&quot; aria-label=&quot;Anchor link for: 6-an-zhuang-ubuntu&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;重启电脑，按 F12 选择启动项，选择刚刚创建的&lt;code&gt;ubuntuinstaller&lt;&#x2F;code&gt;启动项启动，这时会进入 grub 的引导菜单，选择&lt;code&gt;Try or Install Ubuntu Server&lt;&#x2F;code&gt;,接下来就按照菜单里的提示一步步来，到了 disk 选择那一步要注意：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;windows-10-ubuntu-22-dual-system-without-usb-flash-drive&#x2F;.&#x2F;ubuntu-disk.png&quot; alt=&quot;disk&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这一步要选择 Custom Storage layout, 然后选择你刚创建给 ubuntu 的分区，进入&lt;code&gt;edit&lt;&#x2F;code&gt;菜单，&lt;code&gt;Format&lt;&#x2F;code&gt;选择&lt;code&gt;ext4&lt;&#x2F;code&gt;格式，Mount 选择&lt;code&gt;&#x2F;&lt;&#x2F;code&gt;即可，其他的设置根据自己的喜好来就好。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;7-wan-cheng-an-zhuang&quot;&gt;7. 完成安装&lt;a class=&quot;zola-anchor&quot; href=&quot;#7-wan-cheng-an-zhuang&quot; aria-label=&quot;Anchor link for: 7-wan-cheng-an-zhuang&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;我的电脑完成安装后，好像会丢失 windows 的 UEFI 一级引导项，但是 grub 作为二级引导程序， 会在这里加上 Windows 的引导，开机后按&lt;code&gt;esc&lt;&#x2F;code&gt;键会进入 grub 的系统选择菜单，在这里可以进入 Windows，然后可以再打开 EasyUEFI，好像打开一下，它就会修复一级系统引导了，这样之后按 F12 就可以选择不同的系统了。另外完成安装后，就可以删除磁盘里的 ubuntu 安装分区里。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;8-xie-zai-ubuntu&quot;&gt;8. 卸载 Ubuntu&lt;a class=&quot;zola-anchor&quot; href=&quot;#8-xie-zai-ubuntu&quot; aria-label=&quot;Anchor link for: 8-xie-zai-ubuntu&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;卸载 Ubuntu 很简单，进入 Windows 系统后，直接删除 ubuntu 的分区磁盘，然后在 easyuefi 软件里也删除 ubuntu 的启动项即可。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>通过创建 dotfiles, 我终于拥有了一个 web3 身份</title>
        <published>2022-07-13T00:55:21+08:00</published>
        <updated>2022-07-13T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/web3-to-dotfiles/"/>
        <id>https://old.owenyoung.com/blog/web3-to-dotfiles/</id>
        
        <summary type="html">&lt;p&gt;作为技术人员,我对 web3 最大的障碍是创建一个 web3 身份并体面的保存下来。一个 web3 身份实在太重大了，我必须能良好的管理我的 web3
私钥，我我才有信心创建它，不然我怀疑我的整个 web3 世界只会建立在一个岌岌可危的根基上。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/web3-to-dotfiles/">&lt;p&gt;作为技术人员,我对 web3 最大的障碍是创建一个 web3 身份并体面的保存下来。一个 web3 身份实在太重大了，我必须能良好的管理我的 web3
私钥，我我才有信心创建它，不然我怀疑我的整个 web3 世界只会建立在一个岌岌可危的根基上。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;我之前一直在用人脑管理我的密码，所以我不在任何地方记录我的密码。而由于我没有地方去体面的记录密码，而我的人脑又无法记住一个那么长的私钥，所以我一直对创建一个
web3 身份很害怕。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;wei-shen-me-bu-yong-mi-ma-guan-li-qi&quot;&gt;为什么不用密码管理器？&lt;a class=&quot;zola-anchor&quot; href=&quot;#wei-shen-me-bu-yong-mi-ma-guan-li-qi&quot; aria-label=&quot;Anchor link for: wei-shen-me-bu-yong-mi-ma-guan-li-qi&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;简单的答案是：没有契机。密码管理器一直给我一种很贵很复杂，然后还全是 GUI
界面(通过研究各种密码管理工具，证明这是一个错误的印象)，而我喜欢纯文本工具，我喜欢用简单的工具。所以在此之前我一直使用一套可以用人脑计算的密码模型来决定我的密码，这使得我在每个网站每个账户的密码都不一样，这样我就不需要太担心哪家密码有泄露。这一套基本运行良好，但是我内心一直希望哪天可以有一套更科学的密码管理器来整理我的各种账户，我目前这套靠人脑的密码管理只适合我主动创建的账户，它不适合各种工具生成的
Token, ssh key, 一个 web3 身份，或者是一个双重因素验证的恢复码，这些东西没法靠人脑，一定需要放在某个地方存起来，或者打印出来放在某个地方。&lt;&#x2F;p&gt;
&lt;p&gt;为什么没有契机去做呢？&lt;strong&gt;因为我的数字花园很混乱&lt;&#x2F;strong&gt;。&lt;&#x2F;p&gt;
&lt;p&gt;定义一个人的数字花园混乱不混乱只需要看一点，那就是你在重装你的电脑系统后，能否体面地把自己的系统成恢复原样？（利用全盘备份的方式把系统恢复成和之前一模一样的在我看来并不体面，这种方式的恢复只是治标，隐藏在冰面之下的是一个不可重现的巨大黑盒。所以这种方式只能作为一种方便的备份手段，而不能成为数字花园的根基）。当然如果你连全盘备份都没有的话，那你的数字花园可能算是危房了。&lt;&#x2F;p&gt;
&lt;p&gt;在这个意义上，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;nixos.org&#x2F;&quot;&gt;NixOS 系统&lt;&#x2F;a&gt;算是可重现系统的天花板了，它的整个系统的核心设计理念就是可重现，可配置。安装
NixOS
系统，其实就是根据你的配置文件生成出来的，所以，同样的配置，永远都能构建出一模一样的系统，这简直太适合完美主义者了。你可以看下&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;gvolpe&#x2F;nix-config&quot;&gt;一个 nixos 全系统的配置文件&lt;&#x2F;a&gt;，这就是整个系统。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;yi-ge-qi-ji-de-dan-sheng&quot;&gt;一个契机的诞生&lt;a class=&quot;zola-anchor&quot; href=&quot;#yi-ge-qi-ji-de-dan-sheng&quot; aria-label=&quot;Anchor link for: yi-ge-qi-ji-de-dan-sheng&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;前段时间，我需要在自己的 macbook pro 上临时装一个 windows 系统（银行，政府，u
盾，驱动相关），本来我也不想动原有的系统，所以我就尽我所能把我总共就 256G 的存储清出来 95 个 G（我正常情况下电脑剩余空间通常都是 20G
以下），然后开始使用苹果的系统助手新建 windows
系统，结果有一个该死的错误&lt;code&gt;An error occurred while copying the Windows installation files&lt;&#x2F;code&gt;阻止了它，我开始尝试网上提到的各种办法，30
分钟后，苹果系统还是会告诉我一模一样的错误。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;所以只能祭出最鲁棒的方法了，重装 macOS 系统，然后再安装 windows 系统&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;但是，我敢这么做吗？我会不会有什么重要的东西忘记备份？之后要花多久重新恢复我的系统？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这让我下定决心，决定花大量的精力去重建我的数字花园根基，力求我的数字花园变得轻量，可重现，可持续化。这和我的博客一样，都属于值得用一生的时间去维护的一个东西。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;dotfiles&quot;&gt;Dotfiles&lt;a class=&quot;zola-anchor&quot; href=&quot;#dotfiles&quot; aria-label=&quot;Anchor link for: dotfiles&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;随后我了解到一个东西叫做 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;dotfiles.github.io&#x2F;&quot;&gt;Dotfiles&lt;&#x2F;a&gt;,简单的来说，这个 dotfiles
就是管理你整个系统的配置文件的集合。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;为什么叫 Dotfiles，因为类 unix 系统里习惯把配置文件用 dot 开头的文件名命名，如&lt;code&gt;.gitignore&lt;&#x2F;code&gt;,就是 git 的忽略配置文件，
dot 开头的文件在系统中是默认隐藏的。所以如果有一个文件夹存放你全部的配置文件，那大家习惯上叫这个文件夹为&lt;code&gt;dotfiles&lt;&#x2F;code&gt;. 关于如何组织自己的
dotfiles 文件，有非常多的方式，辅助工具，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;dotfiles.github.io&#x2F;&quot;&gt;Dotfiles&lt;&#x2F;a&gt; 就是一个很好的指引。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;如果我没有进入这个新领域，我永远都不会知道光 github
上就有&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;search?q=dotfiles&quot;&gt;17 万人&lt;&#x2F;a&gt;在公开他们的 dotfiles 文件&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;strong&gt;在我看来使用 dotfiles 文件主要有 3 个好处：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;随时随地轻量级的重现你的环境&lt;&#x2F;li&gt;
&lt;li&gt;可以在本地删除某个工具，然后在想恢复的时候，无痛恢复这个工具&lt;&#x2F;li&gt;
&lt;li&gt;现实中有人把自己房子打理的特别好，分类特别科学，当我们在数字世界中做了类似的整理之后，会对整个数字世界的体验变得非常的有信心，也可以帮助你了解很多软件的运行机制。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;从&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;dotfiles.github.io&#x2F;utilities&#x2F;&quot;&gt;这个页面看&lt;&#x2F;a&gt;，至少有 24 个工具可以帮你管理 dotfiles
文件，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;chezmoi.io&quot;&gt;chezmoi&lt;&#x2F;a&gt;可能是其中最全面的工具，但是我最终选择了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;comtrya&#x2F;comtrya&quot;&gt;一个比较小众的 rust 编写的二进制工具 Comtrya&lt;&#x2F;a&gt;，因为我想尽可能维持
dotfiles 管理工具的轻量级，不想过度复杂化 dotfiles，这个工具的配置大概长这样(&lt;code&gt;ssh&#x2F;ssh.yml&lt;&#x2F;code&gt;)：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;yaml&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-yaml &quot;&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;actions&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;action&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;file.copy
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;from&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;config
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;to&lt;&#x2F;span&gt;&lt;span&gt;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{{user.home_dir}}&#x2F;.ssh&#x2F;config&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;template&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;true
&lt;&#x2F;span&gt;&lt;span&gt;  - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;action&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;file.link
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;source&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;id_ed25519.pub
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;target&lt;&#x2F;span&gt;&lt;span&gt;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{{user.home_dir}}&#x2F;.ssh&#x2F;id_ed25519.pub&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;这是我的对 ssh
配置文件的动作配置，用&lt;code&gt;yaml&lt;&#x2F;code&gt;语言配置，是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.ansible.com&#x2F;&quot;&gt;ansible&lt;&#x2F;a&gt;工具的非常轻量级的替代。这几行配置告诉
comtrya 把指定的配置文件复制或者软链接到该去的地方，同时我在复制的过程还使用了模版，因为我在&lt;code&gt;config&lt;&#x2F;code&gt;配置文件里对 macos
加了一点小小的东西&lt;code&gt;UseKeychain yes&lt;&#x2F;code&gt;：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Host &lt;&#x2F;span&gt;&lt;span&gt;*
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;AddKeysToAgent&lt;&#x2F;span&gt;&lt;span&gt; yes
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;IdentityFile ~&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;.ssh&#x2F;id_ed25519{% if os.name==&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;macos&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;%}
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;UseKeychain&lt;&#x2F;span&gt;&lt;span&gt; yes{% endif %}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;这样之后，我的 ssh 配置就可以在 macos 和 linux 系统上通用了。&lt;&#x2F;p&gt;
&lt;p&gt;我最终的全部&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&quot;&gt;dotfiles&lt;&#x2F;a&gt;我已经放在 github
上了。整体的结构大概如下：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; modules
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── zsh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       ├── change_zsh_as_default_shell_debian.sh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       ├── files
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       │   ├── alias_debian.zsh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       │   ├── general_config.zsh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       │   ├── includes
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       │   │   ├── 1_env.zsh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       │   │   ├── 2_path.zsh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       │   │   ├── 3_function.zsh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       │   │   ├── 4_aliases.zsh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       │   ├── path_macos.zsh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       │   ├── zshenv.zsh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       │   └── zshrc.zsh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       ├── install_zsh_debian.sh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       └── zsh.yml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; private
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── keepassxc
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   │   ├── dev.kdbx
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   │   ├── high.kdbx
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   │   └── main.kdbx
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── ssh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   │   ├── files
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   │   │   ├── config
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   │   │   └── id_ed25519.pub
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   │   └── ssh.yml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; scripts
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; 0_install_pre_required_modules_for_debian.sh
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; 1_configure_macos.sh
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; 1_install_required_modules_for_debian.sh
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; 2_import_dotfiles_debian.sh
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; 2_install_required_modules_macos.sh
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; 3_import_dotfiles_macos.sh
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; 4_install_modules_macos.sh
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; env.sh
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; import_ssh_key.sh
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; import_temp_env.sh
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; link_all.sh
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; test.sh
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; unlink.sh
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;其中&lt;code&gt;modules&lt;&#x2F;code&gt;存放所有的模块的配置，我讨厌分类，所以&lt;code&gt;macos&lt;&#x2F;code&gt;的相关配置也是其中的一个模块。还有一个&lt;code&gt;private&lt;&#x2F;code&gt;文件夹，这里面放我觉得不便公开的模块的配置（但也不包含任何明文密码），比如说
ssh 的 config，caddy 的 config Caddyfile，以及密码管理器
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;keepassxreboot&#x2F;keepassxc&quot;&gt;keepassxc&lt;&#x2F;a&gt;中加密后的文件。我把 private 单独在
github 上设置了一个私有仓库，然后克隆在 dotfiles 仓库里，并在 dotfiles 仓库里忽略这个文件夹。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;keepassxreboot&#x2F;keepassxc&quot;&gt;keepassxc&lt;&#x2F;a&gt;是我最终选用的密码管理器，开源，易用，且久经考验。同时拥有
GUI 客户端，以及命令行客户端，可以很好的集成在我的 dotfiles 工作流里，同时 GUI
也可以方便的和浏览器等集成以及方便地编辑密码。这是一个完全本地的密码管理器，不依赖任何中心，你所有的密码都存放在一个加密后的文件,GUI
界面大概长这样，这是编辑某个密码的页面：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;web3-to-dotfiles&#x2F;.&#x2F;keepassxc-edit-entry.png&quot; alt=&quot;keepassxc-edit&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;我总共使用 3 个文件存放我的密码：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;high.kdbx
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;main.kdbx
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;dev.kdbx
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;其中&lt;code&gt;high.kdbx&lt;&#x2F;code&gt;是我的最高级的密码，比如银行密码，支付密码等，&lt;code&gt;main.kdbx&lt;&#x2F;code&gt;是我其他主要密码，比如 twitter，github 等，Like
this:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;twitter&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;github&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;hacker_news&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Microsoft&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;GPG&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;servers&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;tools&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;amazon&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;ifttt&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;IRC&#x2F;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;而&lt;code&gt;dev.kdbx&lt;&#x2F;code&gt;是我在各种开发服务器中会用到的密码，包括 token, 环境变量，ssh key 等,like this:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;youdao_translate_secret
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;ssh&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;github&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;cloudflare&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;ifttt&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;telegram&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;envs&#x2F;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;这三个密码文件都有不同的主密码，这三个主密码可以说是我人生最重要的秘密了，理论上这 3 个密码是我需要记住的全部密码了。&lt;&#x2F;p&gt;
&lt;p&gt;有了这个密码管理器，我的 dotfiles 文件的最重要的根基就搭建好了，我主要在 dotfiles 文件里使用 shell
脚本来管理所有的软件安装（顺便学习了一直想学习的&lt;code&gt;bash&lt;&#x2F;code&gt;脚本语言），每个
module(比如窗口管理器&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;tmux&#x2F;tmux&quot;&gt;tmux&lt;&#x2F;a&gt;)
下面都有一个类似&lt;code&gt;install_tmux_macos.sh&lt;&#x2F;code&gt;的脚本。然后还有一个&lt;code&gt;tmux.yml&lt;&#x2F;code&gt;的文件去告诉&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;comtrya&#x2F;comtrya&quot;&gt;Comtrya&lt;&#x2F;a&gt;去执行复制文件到对应
module 的配置文件夹所在地。&lt;code&gt;scripts&lt;&#x2F;code&gt;文件夹放一些集合的脚本，比如一次性安装所有的必要软件的脚本，这里面的脚本一般来说是调用 modules
里已有的脚本。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;所以，当我现在有个新电脑，我的初始化流程将会是这样：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;安装 xcode 的开发者工具（这样才能用 git 等命令）&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;xcode-select --install
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ol&gt;
&lt;li&gt;克隆 dotfiles 文件夹&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span&gt; clone https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles.git &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;~&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;dotfiles
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;cd&lt;&#x2F;span&gt;&lt;span&gt; dotfiles
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span&gt; clone https:&#x2F;&#x2F;theowenyoung:&amp;lt;token&amp;gt;@github.com&#x2F;theowenyoung&#x2F;private.git &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;~&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;dotfiles&#x2F;private
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;运行配置 macos
的文件，这样就不用一个个在界面上去做配置了，全部配置见&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&#x2F;blob&#x2F;main&#x2F;modules&#x2F;macos&#x2F;configure_macos.sh&quot;&gt;这里&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;.&#x2F;scripts&#x2F;1_configure_macos.sh
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&#x2F;blob&#x2F;main&#x2F;scripts&#x2F;2_install_required_modules_macos.sh&quot;&gt;安装必备软件&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;.&#x2F;scripts&#x2F;2_install_required_modules_macos.sh
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;安装&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&#x2F;blob&#x2F;main&#x2F;scripts&#x2F;3_import_dotfiles_macos.sh&quot;&gt;配置文件&lt;&#x2F;a&gt;（这一步会导入所有配置文件，以及密码，需要的环境变量等等（命令行脚本会提示你输入密码））&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;.&#x2F;scripts&#x2F;3_import_dotfiles_macos.sh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;source &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;~&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;.zshrc
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;blockquote&gt;
&lt;p&gt;其中包含 1
个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&#x2F;blob&#x2F;main&#x2F;scripts&#x2F;import_ssh_key.sh&quot;&gt;导入 ssh key 的脚本&lt;&#x2F;a&gt;，和&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&#x2F;blob&#x2F;main&#x2F;scripts&#x2F;import_temp_env.sh&quot;&gt;导入临时环境变量的脚本&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;ol start=&quot;5&quot;&gt;
&lt;li&gt;独立安装其他想安装的软件&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;.&#x2F;modules&#x2F;foo&#x2F;install_foo_macos.sh
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Linux 的初始化也是类似，可以看我的
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles#deiban-init&quot;&gt;readme 文件&lt;&#x2F;a&gt;,
&lt;strong&gt;我强烈建议你不要直接用我的 dotfiles
文件&lt;&#x2F;strong&gt;，就像自己的房子一样，你应该始终自己从头开始构建，这样才是保持可持续的好方法（我对&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.ankiapp.com&#x2F;&quot;&gt;anki&lt;&#x2F;a&gt;的使用也是同样的观点，你应该使用自己插入每一个要记住的单词，而不是使用别人做好的列表，只有你自己插入的，你才有场景去记住它）。我的
repo 只是给你做参考，还有&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;search?q=dotfiles&quot;&gt;17 万人&lt;&#x2F;a&gt;的 dotfiles 可以用来参考。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;comtrya&#x2F;comtrya&quot;&gt;Comtrya&lt;&#x2F;a&gt;的运行操作的命令是：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;comtrya&lt;&#x2F;span&gt;&lt;span&gt; apply
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;这个命令会应用所有当前目录下他找到的&lt;code&gt;.yml&lt;&#x2F;code&gt;文件。我写了一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&#x2F;blob&#x2F;main&#x2F;modules&#x2F;comtrya&#x2F;files&#x2F;comtrya_alias.zsh&quot;&gt;更方便的 bash 命令&lt;&#x2F;a&gt;去做这件事,有了个
function 之后，我可以在任意目录执行这些命令：&lt;&#x2F;p&gt;
&lt;p&gt;表示仅应用 ssh 模块下的配置：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;ca&lt;&#x2F;span&gt;&lt;span&gt; ssh
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;表示应用全部模块的全部更新：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;ca&lt;&#x2F;span&gt;&lt;span&gt; all
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;如果你当前在某个模块目录下，直接运行：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;ca
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;即可执行当前模块的配置。&lt;&#x2F;p&gt;
&lt;p&gt;另外我还有一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&#x2F;blob&#x2F;main&#x2F;scripts&#x2F;unlink.sh&quot;&gt;&lt;code&gt;unlink.sh&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;
的脚本，可让你一件删除所有 comtrya 创建的配置文件（为了更清晰，这个脚本是手动维护的）&lt;&#x2F;p&gt;
&lt;h3 id=&quot;guan-yu-wo-de-jian-pan&quot;&gt;关于我的键盘&lt;a class=&quot;zola-anchor&quot; href=&quot;#guan-yu-wo-de-jian-pan&quot; aria-label=&quot;Anchor link for: guan-yu-wo-de-jian-pan&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;我用的键盘的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&#x2F;tree&#x2F;main&#x2F;modules&#x2F;qmk&quot;&gt;键位配置&lt;&#x2F;a&gt;也在里面，我使用一款叫
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;mattdibi&#x2F;redox-keyboard&quot;&gt;redox&lt;&#x2F;a&gt;
的分体键盘（顺便说一下，分体键盘真的好用，你可以把手按照最舒服的姿势摆在任何地方），我的键盘的键位大概长这样：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;web3-to-dotfiles&#x2F;.&#x2F;redox-keyboard.png&quot; alt=&quot;keyboard&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这是一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.zfrontier.com&#x2F;app&#x2F;flow&#x2F;2wXVPWNnXn5v&quot;&gt;客制化&lt;&#x2F;a&gt;的键盘，意味着我可以按照我的习惯自定义全部的按键，还有一个重要功能是，可以“一键两用”，比如我最常用的空格键，在单击的时候是空格键，但是在按住的情况下是&lt;code&gt;cmd&lt;&#x2F;code&gt;键，几乎每个控制键,
我都重新定义了他在单击的时候的键位，这样就最大化的利用了键盘里最常用的区域。还有一个是键盘支持多层，我只利用了 2
层，我觉得人脑记不住那么多层，我的第二层就放一些播放，暂停，下一首，静音之类的控制键和 F1 到 F12 的键位。&lt;&#x2F;p&gt;
&lt;p&gt;你可以在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;config.qmk.fm&#x2F;#&#x2F;redox&#x2F;rev1&#x2F;LAYOUT&quot;&gt;这里&lt;&#x2F;a&gt;
导入我的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&#x2F;raw&#x2F;main&#x2F;modules&#x2F;qmk&#x2F;files&#x2F;redoxpro&#x2F;redoxpro.json&quot;&gt;键位配置文件&lt;&#x2F;a&gt;，以查看我的键盘的更多层。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;jie-lun&quot;&gt;结论&lt;a class=&quot;zola-anchor&quot; href=&quot;#jie-lun&quot; aria-label=&quot;Anchor link for: jie-lun&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;在做完以上的一切后，我的数字生活开始变得更加的得心应手，系统也更加的 robust，基本上可以随时 reset
重来。以及我终于拥有了自己的第一个以后会稳定使用的 web3 身份了（以前注册的 metamask 真的找不到了，不过反正也没钱），也许我应该把之前在
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;matters.news&#x2F;&quot;&gt;matters&lt;&#x2F;a&gt; 上赚的一点点 like 币（被我在交易所换成了 200 usdt
了）转到这里？以及我还需要开哪些 web3 账户？&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;上次看了这个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;branle.netlify.app&#x2F;&quot;&gt;nostr&lt;&#x2F;a&gt;协议，觉得很喜欢，现在终于可以生成一个永久账户了：&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;astral.ninja&#x2F;57c22f1ceef806230690b0932e3bc850d485f34ee722378b0f6f2e403097caa1&quot;&gt;astral&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;以及这是我当前的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&#x2F;tree&#x2F;main&#x2F;modules&quot;&gt;全部模块&lt;&#x2F;a&gt;,里面有我精心调试的最优配置（对于我），以及由于刚开始维护，还在频繁不断完善中（但是我对当前的文件结构很满意）：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; modules
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── acme
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── alacritty
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── alfred
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── anki
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── automator
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── bash-language-server
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── bat
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── broot
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── caddy
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── cargo-generate
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── clash
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── comtrya
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── curl
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── dashflare
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── dufs
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── editor
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── fd
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── font
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── fzf
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── git
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── git-filter-repo
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── gnupg2
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── gost
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── helix
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── homebrew
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── hurl
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── jq
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── kakoune
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── keepassxc
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── kitty
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── lua_language_server
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── macos
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── macports
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── meilisearch
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── microsoft_edge
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── miller
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── napa
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── navi
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── nodejs
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── nvim
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── pass
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── passwd
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── pepper
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── pip3
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── podman
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── podman-compose
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── postman
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── qBittorrent
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── qmk
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── rage
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── rust
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── rust-analyzer
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── shadowsocks-rust
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── simple-torrent
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── ssh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── ssh-agent
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── starship
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── systemd
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── taplo
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── tiny
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── tmux
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── translate-shell
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── vscode
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── wasm-pack
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── wezterm
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── wrangler
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── yaml-language-server
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   ├── zellij
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── zsh
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;我用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;tmux&#x2F;tmux&quot;&gt;tmux&lt;&#x2F;a&gt;
管理窗口，终端用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;alacritty&#x2F;alacritty&quot;&gt;Alacritty&lt;&#x2F;a&gt; ,模态编辑器
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;helix-editor&#x2F;helix&quot;&gt;helix&lt;&#x2F;a&gt;
和&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;mawww&#x2F;kakoune&quot;&gt;kakoune&lt;&#x2F;a&gt;,kak 更成熟，但是更喜欢
helix，我买了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.alfredapp.com&#x2F;&quot;&gt;alfred&lt;&#x2F;a&gt;的终身版，现在它已经升级到 alfred5 了（但是 alfred
的配置文件太恶心了，不适合在 dotfiles
里管理，因为是自动生成的，由于这一点我想找一个替代品，但是没有体验更好的），我用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;denisidoro&#x2F;navi&quot;&gt;navi&lt;&#x2F;a&gt;
管理常见的
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&#x2F;tree&#x2F;main&#x2F;modules&#x2F;navi&#x2F;files&#x2F;cheats&quot;&gt;cheatsheets&lt;&#x2F;a&gt;,
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;junegunn&#x2F;fzf&quot;&gt;fzf&lt;&#x2F;a&gt;查找文件（太好用了，强烈推荐），以及很多其他的好东西，上述的一些 module
有的已经没有在用了，但是配置文件我想留着，以防将来有一天想再试试。&lt;&#x2F;p&gt;
&lt;p&gt;在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&#x2F;&quot;&gt;这里查看整个 dotfiles repo&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;最后还要建议 web3 的大佬们，你们应该投资密码管理器才对，把更好用的密码管理器免费带给大家！&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>Zola 博客的中文阅读时间预估误差很大，所以我做了一个修复</title>
        <published>2022-07-12T21:11:21+08:00</published>
        <updated>2022-07-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/reading-time/"/>
        <id>https://old.owenyoung.com/blog/reading-time/</id>
        
        <summary type="html">&lt;p&gt;我发现 Zola 给中文文章的阅读时间预估特别高，比如我刚发布的这篇&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;add-search&#x2F;&quot;&gt;给 Zola 博客增加搜索功能&lt;&#x2F;a&gt;, 显示要 20 分钟才能阅读完:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;发布于: 2022-07-12 · 最后更新时间: 2022-07-12 · 阅读时间: 20 min&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;我就纳闷我这是写了一篇 essay 吗，于是就是查它的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;getzola&#x2F;zola&#x2F;blob&#x2F;39cf436b1174a3d5f2fbe4bac20e942795005f05&#x2F;components&#x2F;content&#x2F;src&#x2F;utils.rs#L55-L61&quot;&gt;实现&lt;&#x2F;a&gt;, 发现实现很简单，就是基于 unicode 字符除以了一个数：&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/reading-time/">&lt;p&gt;我发现 Zola 给中文文章的阅读时间预估特别高，比如我刚发布的这篇&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;add-search&#x2F;&quot;&gt;给 Zola 博客增加搜索功能&lt;&#x2F;a&gt;, 显示要 20 分钟才能阅读完:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;发布于: 2022-07-12 · 最后更新时间: 2022-07-12 · 阅读时间: 20 min&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;我就纳闷我这是写了一篇 essay 吗，于是就是查它的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;getzola&#x2F;zola&#x2F;blob&#x2F;39cf436b1174a3d5f2fbe4bac20e942795005f05&#x2F;components&#x2F;content&#x2F;src&#x2F;utils.rs#L55-L61&quot;&gt;实现&lt;&#x2F;a&gt;, 发现实现很简单，就是基于 unicode 字符除以了一个数：&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;pre data-lang=&quot;rust&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-rust &quot;&gt;&lt;code class=&quot;language-rust&quot; data-lang=&quot;rust&quot;&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;&#x2F;&#x2F;&#x2F; Get word count and estimated reading time
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;pub fn &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8fa1b3;&quot;&gt;get_reading_analytics&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;content&lt;&#x2F;span&gt;&lt;span&gt;: &amp;amp;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;str&lt;&#x2F;span&gt;&lt;span&gt;) -&amp;gt; (&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;usize&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;usize&lt;&#x2F;span&gt;&lt;span&gt;) {
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;let&lt;&#x2F;span&gt;&lt;span&gt; word_count: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;usize &lt;&#x2F;span&gt;&lt;span&gt;= content.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;unicode_words&lt;&#x2F;span&gt;&lt;span&gt;().&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;count&lt;&#x2F;span&gt;&lt;span&gt;();
&lt;&#x2F;span&gt;&lt;span&gt;    (word_count, ((word_count + &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;199&lt;&#x2F;span&gt;&lt;span&gt;) &#x2F; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;200&lt;&#x2F;span&gt;&lt;span&gt;))
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;然后他在注释里链接了这个数字的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;help.medium.com&#x2F;hc&#x2F;en-us&#x2F;articles&#x2F;214991667-Read-time&quot;&gt;来源&lt;&#x2F;a&gt;，证明它不是拍脑袋决定的, 来源是 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;medium.com&#x2F;&quot;&gt;Medium&lt;&#x2F;a&gt; 的文档：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Read time is based on the average reading speed of an adult (roughly 265 WPM). We take the total word count of a post and translate it into minutes, with an adjustment made for images. For posts in Chinese, Japanese and Korean, it’s a function of number of characters (500 characters&#x2F;min) with an adjustment made for images.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;这篇文档说英文这类字符大约是 265 个单词每分钟，中日韩这类文字是 500 个字符每分钟，所以对于中文来讲，zola 这个计算是有大约 1 倍的误差的，所以我加了一个判断：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;html&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-html &quot;&gt;&lt;code class=&quot;language-html&quot; data-lang=&quot;html&quot;&gt;&lt;span&gt;{% macro get_reading_time(minutes) %} {% if lang==&amp;quot;zh&amp;quot; %} {{ minutes&#x2F;1.88 |
&lt;&#x2F;span&gt;&lt;span&gt;round }} {% else %} {{ minutes }} {% endif %} {% endmacro get_reading_time %}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;然后在&lt;code&gt;page.html&lt;&#x2F;code&gt;里可以这样调用：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;html&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-html &quot;&gt;&lt;code class=&quot;language-html&quot; data-lang=&quot;html&quot;&gt;&lt;span&gt;{{ macro::get_reading_time(minutes=page.reading_time) }}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;这样应该就能修正中文的预估时间了。修正后，开头提到的文章现在预估时间大约是 11 分钟，比较合理了。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>给Zola博客增加搜索功能</title>
        <published>2022-07-12T00:54:03+08:00</published>
        <updated>2022-07-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/add-search/"/>
        <id>https://old.owenyoung.com/blog/add-search/</id>
        
        <summary type="html">&lt;p&gt;我觉得个人博客的一个最大的好处就是我可以把它当成任何东西的试验田，弄坏也没事，反正这只是我的个人数字花园而已。所以昨天我给博客新加了一个&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;search&#x2F;&quot;&gt;搜索页面&lt;&#x2F;a&gt;，以及首页也添加了一个搜索框。&lt;&#x2F;p&gt;
&lt;p&gt;我一直在这个博客里存放自己的所有公开内容，包括笔记和文章，我经常需要搜索自己的笔记，在此之前，我一直用 VSCode 在本地搜索文档。但是 VSCode 其实启动挺慢的，而且如果不在电脑边，也没法用，所以最近就研究了几种搜索方案。最终我选择了自托管 Rust 开发的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;meilisearch&#x2F;meilisearch&quot;&gt;Meilisearch&lt;&#x2F;a&gt;，但是这也不是特别理想的方案，因为需要在自己的 VPS 服务器上托管，对于静态博客来说，多了一环需要动态运行的服务需要维护。但是这已经是目前最不差的方案了。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/add-search/">&lt;p&gt;我觉得个人博客的一个最大的好处就是我可以把它当成任何东西的试验田，弄坏也没事，反正这只是我的个人数字花园而已。所以昨天我给博客新加了一个&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;search&#x2F;&quot;&gt;搜索页面&lt;&#x2F;a&gt;，以及首页也添加了一个搜索框。&lt;&#x2F;p&gt;
&lt;p&gt;我一直在这个博客里存放自己的所有公开内容，包括笔记和文章，我经常需要搜索自己的笔记，在此之前，我一直用 VSCode 在本地搜索文档。但是 VSCode 其实启动挺慢的，而且如果不在电脑边，也没法用，所以最近就研究了几种搜索方案。最终我选择了自托管 Rust 开发的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;meilisearch&#x2F;meilisearch&quot;&gt;Meilisearch&lt;&#x2F;a&gt;，但是这也不是特别理想的方案，因为需要在自己的 VPS 服务器上托管，对于静态博客来说，多了一环需要动态运行的服务需要维护。但是这已经是目前最不差的方案了。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;对于静态博客的搜索，我了解的主要有 4 种主流方案，一是客户端搜索，另一种是很流行的使用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.algolia.com&#x2F;&quot;&gt;Algolia&lt;&#x2F;a&gt;的搜索托管服务，还有一种是使用搜索引擎比如谷歌的索引结果，最后就是我最终使用的 Algolia 的开源&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;meilisearch&#x2F;meilisearch&quot;&gt;替代方案 Meilisearch&lt;&#x2F;a&gt;这类的自托管。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;ke-hu-duan-sou-suo&quot;&gt;客户端搜索&lt;a class=&quot;zola-anchor&quot; href=&quot;#ke-hu-duan-sou-suo&quot; aria-label=&quot;Anchor link for: ke-hu-duan-sou-suo&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;客户端搜索是最符合静态博客定义的，完全不依赖服务端，zola 博客内置的搜索功能也是这样，其原理是 build 的过程中，生成整个网站的搜索的 JSON 索引文件，在前端网页提出搜索请求后，用 js 去搜索这个索引，然后找出对应的结果。这个索引可大可小，如果你只索引标题和路径的话，那么索引就很小，但是如果你索引全文的话，取决于你的文档大小，索引可能会很大。Zola 目前内置的搜索使用 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;weixsong&#x2F;elasticlunr.js&quot;&gt;elasticlunr&lt;&#x2F;a&gt;, 其实已经 3 年没有更新了，项目处于等继承者状态。另一个就是，这个基本上是不支持中文搜索的，虽然 Zola 有选项可以建立中文的搜索索引，但是前端库方面对于中文的支持处于不可用的状态，我试过接入，但是太多 bug 了，之前看到一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.jpgov.art&#x2F;posts&#x2F;japanese-full-text-search-on-zola&#x2F;&quot;&gt;日本博主好像确实有成功集成日文搜索&lt;&#x2F;a&gt;, 我仿照的时候也失败了。&lt;&#x2F;p&gt;
&lt;p&gt;为什么对于中文搜索需要专门支持呢？因为所有类似的全文搜索实现都是要先建立一个倒排索引（听起来很牛逼，其实就是词语对文章 id 的哈希索引），类似下面这样：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;json&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-json &quot;&gt;&lt;code class=&quot;language-json&quot; data-lang=&quot;json&quot;&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Hello&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: [&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;hello&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;, &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;world&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;],
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;World&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: [&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;world&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;, &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;foo&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;]
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;有了这个索引，就能很快的找到最相关的文章。这种索引对于类似英语的语言来说很好实现，因为英语中分词很简单，只需要根据空格就能把所有词语分开，但是中文没有用空格分开的习惯，所以需要很大的词语字典，然后从字典里找到相关的词语，然后再建立分词索引。这才完成第一步（这个比较好解决，因为这一步发生在编译阶段，有足够的资源去做这件事）。第二步是从客户端发出搜索请求，这一步依然需要分词，比如用户搜索&lt;code&gt;如何给zola博客添加索引&lt;&#x2F;code&gt;，搜索引擎首先要把这句话分为&lt;code&gt;如何&lt;&#x2F;code&gt;,&lt;code&gt;给&lt;&#x2F;code&gt;,&lt;code&gt;Zola&lt;&#x2F;code&gt;,&lt;code&gt;博客&lt;&#x2F;code&gt;,&lt;code&gt;添加&lt;&#x2F;code&gt;,&lt;code&gt;索引&lt;&#x2F;code&gt;，然后再去对应的索引里进行最佳匹配查询。所以我觉得对于中文搜索，在客户端做是不现实的，因为基本上没法在客户端上进行复杂的分词，而且随着文档的增加，全文搜索的索引还会进一步增加，全部加载到客户端看起来也不是一个很道德的选择。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;WASM 怎么样？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;webassembly.org&#x2F;&quot;&gt;WebAssembly&lt;&#x2F;a&gt; 以作为 js 的高性能支持方案进入了主流浏览器的支持，你可以用 Rust, C++，或者任何你喜欢的语言来编写高性能的 WebAssembly 应用，然后在前端调用。&lt;&#x2F;p&gt;
&lt;p&gt;对于 WASM，看到过几个有意思的项目，比如&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;phiresky&#x2F;sql.js-httpvfs&quot;&gt;sql.js-httpvfs&lt;&#x2F;a&gt;, 把 sqlite 数据文件存储到 CDN 服务器上，然后前端用含有内嵌 sqlite 的 wasm 去读取数据，充分利用了 sqlite 的高效，从而实现让 web 客户端完全摆脱服务端数据库的依赖。&lt;&#x2F;p&gt;
&lt;p&gt;我也找到了几个关于 WASM 搜索的项目，主要包括：&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;tinysearch&#x2F;tinysearch&quot;&gt;tinysearch&lt;&#x2F;a&gt; ,&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jameslittle230&#x2F;stork&quot;&gt;stork&lt;&#x2F;a&gt;, &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;wilsonzlin&#x2F;edgesearch&quot;&gt;edgesearch&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;tinysearch&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;tinysearch&#x2F;tinysearch&quot;&gt;Tinysearch&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#tinysearch&quot; aria-label=&quot;Anchor link for: tinysearch&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;用 Rust 编写，原理和 js 客户端搜索基本类似，只不过把索引打包到 wasm 里面，最终的 wasm 大小可以是 100k 以内，但是也只支持英文。我把源码下载下来，然后把分词逻辑换用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;meilisearch&#x2F;charabia&quot;&gt;Meilisearch 的分词&lt;&#x2F;a&gt;，尝试打包我目前的博客，发现总共也才 113K，这 113K 是同时包括搜索逻辑和索引数据的哦，而用 Zola 自带的搜索打包的纯中文索引数据是 3.5M,英文索引是 650K, 可见 tinysearch 的作者真的做了很多优化，作者也写了一篇&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;endler.dev&#x2F;2019&#x2F;tinysearch&#x2F;&quot;&gt;详细的文章&lt;&#x2F;a&gt;记录优化的过程。但其实这样对比是有一点不公平的，因为&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.getzola.org&#x2F;documentation&#x2F;getting-started&#x2F;overview&#x2F;&quot;&gt;Zola 的索引会有更好的搜索体验&lt;&#x2F;a&gt;，你可以在文档网站体验一下, 而&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;endler.dev&#x2F;2019&#x2F;tinysearch&quot;&gt;Tinysearch&lt;&#x2F;a&gt;则为了性能做了一些取舍，比如不支持前缀搜索，搜索结果只显示标题，没有上下文，也没有高亮等等，但是从性能角度，我觉得这种方案算是客户端搜索的天花板了。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;stork&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jameslittle230&#x2F;stork&quot;&gt;Stork&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#stork&quot; aria-label=&quot;Anchor link for: stork&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;同样也是 Rust 编写，只支持英文，颜值很好，接入体验也很棒，搜索结果还能高亮，也有上下文，基本上和&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.algolia.com&#x2F;&quot;&gt;Algolia&lt;&#x2F;a&gt;类似，也使用了 wasm，不过 Stork 是把搜索逻辑单独打包成一个 wasm，然后把索引数据另外打包成另一个&lt;code&gt;st&lt;&#x2F;code&gt;文件，然后搜索的时候动态的加载索引数据。这样的操作其实多了一步序列化和反序列化的步骤。我也尝试把其内置的简单英文分词逻辑换用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;meilisearch&#x2F;charabia&quot;&gt;Meilisearch 的分词&lt;&#x2F;a&gt;，但是发现我的索引数据竟然达到了 85M（可能有别的坑，因为我只是简单的替换了分词的函数），所以就没有更多的体验了。这也印证了，想在客户端把搜索体验做好，确实需要权衡你的索引大小。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;edgesearch&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;wilsonzlin&#x2F;edgesearch&quot;&gt;edgesearch&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#edgesearch&quot; aria-label=&quot;Anchor link for: edgesearch&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;我喜欢这个哥们的概念，无服务器 Serverless 搜索，通过把 WASM 部署到 Cloudflare Workers 上，然后客户端通过网络请求进行搜索，我觉得这是最有戏的方案，我喜欢 Cloudflare Workers 这种一次书写，永远忘记的无服务器系统，而且每天还有 10 万请求的免费额度，同时作为基于 Chrome V8 中有限制的无服务器，冷启动又贼快，所以我觉得静态博客的最佳搜索方案就是这样了。虽然有一点点动态，但是我们用了最具有扩展性的方案，我倾向于认为这是必要的权衡。说回 EdgeSearch，它也是先 build 索引，然后把索引上传到 cloudflare 的 KV 内存数据库里，然后通过 wasm load 索引，进行搜索，性能很高，只是它目前只是处于实验阶段，接入需要自定义很多东西，而且也不支持中文，我个人很希望这个项目能获得更多的牵引力。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;nan-dao-zhi-neng-yong-yun-sou-suo-fu-wu-liao-ma&quot;&gt;难道只能用云搜索服务了吗？&lt;a class=&quot;zola-anchor&quot; href=&quot;#nan-dao-zhi-neng-yong-yun-sou-suo-fu-wu-liao-ma&quot; aria-label=&quot;Anchor link for: nan-dao-zhi-neng-yong-yun-sou-suo-fu-wu-liao-ma&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;algolia&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.algolia.com&#x2F;&quot;&gt;Algolia&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#algolia&quot; aria-label=&quot;Anchor link for: algolia&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;即刻搜索的鼻祖和天花板，我在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;&quot;&gt;Actionsflow 的文档网站&lt;&#x2F;a&gt;中用了他提供给开源项目的免费服务，接入和界面都是一流的，不信你去看&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;tailwindcss.com&#x2F;&quot;&gt;tailwindcss&lt;&#x2F;a&gt;的搜索体验，太棒了。唯一的问题就是贵，如果不差钱，那我觉得这是最佳选择了。他家同时也是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hn.algolia.com&#x2F;&quot;&gt;Hacker News&lt;&#x2F;a&gt;的御用搜索，我经常用来搜很多东西, 感谢感谢！&lt;&#x2F;p&gt;
&lt;h3 id=&quot;sourcegraph&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;sourcegraph.com&#x2F;&quot;&gt;Sourcegraph&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#sourcegraph&quot; aria-label=&quot;Anchor link for: sourcegraph&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;我在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ruanyf&#x2F;weekly&quot;&gt;阮老师的科技周刊&lt;&#x2F;a&gt;里看到阮老师给用户的其中一个搜索选项是利用 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;sourcegraph.com&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&quot;&gt;https:&#x2F;&#x2F;sourcegraph.com&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&lt;&#x2F;a&gt; 提供的对 Github 源码的免费搜索服务，我试了一下，搜索准确度非常高，但是只能链接到源文件，没法回到对应的网页，但是由于博客内容是用 markdown 写的，所以纯文本也没问题。所以，这是一个不错的替代品。我在&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;search&#x2F;&quot;&gt;Search&lt;&#x2F;a&gt;也添加了一个表单搜索链接过去，你可以体验一下。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;vscode-web-ban-github1s&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github1s.com&#x2F;theowenyoung&#x2F;blog&quot;&gt;VSCode Web 版(Github1s)&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#vscode-web-ban-github1s&quot; aria-label=&quot;Anchor link for: vscode-web-ban-github1s&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;你只需要在 github 的网址上加上&lt;code&gt;1s&lt;&#x2F;code&gt;之后，就能用浏览器以 VSCode 的方式打开你的 github repo，比如我的博客对应的地址就是：&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github1s.com&#x2F;theowenyoung&#x2F;blog&quot;&gt;https:&#x2F;&#x2F;github1s.com&#x2F;theowenyoung&#x2F;blog&lt;&#x2F;a&gt; ，这里自带 VSCode 的全局搜索，所以就可以直接在浏览器上搜索博客内容，这其实也是一个很好的搜索替代方案，完全不用担心自己托管，搜索速度也超快，就是差一个直接指向搜索并且带搜索参数的链接，我提了一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;conwnet&#x2F;github1s&#x2F;issues&#x2F;428&quot;&gt;Issue&lt;&#x2F;a&gt;,结果他们回复其实他们用的是我上面提到的 Sourcegraph 的搜索，被骗了！我以为是 VSCode 自带的搜索！但是还是期待一下后续的进度，希望能有一个直链，支持类似这样的链接&lt;code&gt;https:&#x2F;&#x2F;github1s.com&#x2F;theowenyoung&#x2F;blog&#x2F;panel&#x2F;search?q=term&amp;amp;files-include=content&lt;&#x2F;code&gt;,这样就可以直接从我的博客里的搜索框跳转到 vscode 的全局搜索里，体验更好。不过这个工具的问题也是首次启动挺慢的，期待微软官方能出一个类似的工具，因为反正 github 也是他家的，可能会更快。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;add-search&#x2F;.&#x2F;github1s.png&quot; alt=&quot;githbu1s&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;google-wang-zhan-sou-suo&quot;&gt;Google 网站搜索&lt;a class=&quot;zola-anchor&quot; href=&quot;#google-wang-zhan-sou-suo&quot; aria-label=&quot;Anchor link for: google-wang-zhan-sou-suo&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;你可以在谷歌的搜索框里加上&lt;code&gt;site:www.owenyoung.com&lt;&#x2F;code&gt;来指定搜索对应的网站，速度极快，缺点是可能收录不全。Anyway, 我在&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;search&#x2F;&quot;&gt;Search&lt;&#x2F;a&gt;也添加了一个表单搜索链接了过去，你可以体验一下。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;zi-tuo-guan-fang-an&quot;&gt;自托管方案&lt;a class=&quot;zola-anchor&quot; href=&quot;#zi-tuo-guan-fang-an&quot; aria-label=&quot;Anchor link for: zi-tuo-guan-fang-an&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;meilisearch&quot;&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;meilisearch&#x2F;meilisearch&quot;&gt;Meilisearch&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#meilisearch&quot; aria-label=&quot;Anchor link for: meilisearch&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;meilisearch&#x2F;meilisearch&quot;&gt;美丽搜索？&lt;&#x2F;a&gt;是一个用 Rust 写的美丽的 Algolia 的开源替代，我喜欢这个名字哈哈哈，美丽！Evething is ok, 就是界面相比 Algolia 还是差了那么一点点。使用流程是：在服务端启动服务后，每次你的静态博客编译后，请求 meili 的接口，把要索引的文档通通丢给他，然后他就会立刻建立索引，客户端就可以搜索里。meili 提供了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;meilisearch&#x2F;docs-searchbar.js&quot;&gt;客户端 js 库&lt;&#x2F;a&gt;让我们可以方便地一键接入。我研究了美丽自己的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.meilisearch.com&#x2F;&quot;&gt;文档网站&lt;&#x2F;a&gt; (&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;meilisearch&#x2F;documentation&quot;&gt;源码&lt;&#x2F;a&gt;),发现他的接入流程更美丽，用 Github 的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;meilisearch&#x2F;documentation&#x2F;blob&#x2F;master&#x2F;.github&#x2F;workflows&#x2F;gh-pages-scraping.yml&quot;&gt;Action&lt;&#x2F;a&gt;去扫描整个站点的 sitemap 文件，然后做一些针对网站排版的简单配置，就可以美丽的，有层次的索引你整个网站了。本来以为建立索引挺慢的，但是后面发现 1 分钟左右就能扫描完成，可以在&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;search&#x2F;&quot;&gt;Search 页面&lt;&#x2F;a&gt;体验一下这个搜索结果的层次感！（顺便说一下，这些功能 Algolia 都有哈！），这个层次感是我决定采用它的最重要的原因，因为它是针对文章的各种二级，三级标题，以及内容所在的大标题做的更有细节的索引，所以在搜索结果中，可以直接从结果中点击进入到对应文章的锚点。以下是扫描全站的核心配置：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;json&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-json &quot;&gt;&lt;code class=&quot;language-json&quot; data-lang=&quot;json&quot;&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;selectors&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;lvl0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;selector&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;.detail-page .p-category&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;default_value&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Random&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    },
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;lvl1&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;selector&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;.detail-page .p-tags&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;default_value&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Notes&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    },
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;lvl2&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;.detail-page .entry-title&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;lvl3&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;.e-content h2&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;lvl4&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;.e-content h3&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;text&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;.e-content p, .e-content li&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;  }
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;这样的配置的话， meilisearch 建立的索引是细节到具体的小标题和段落上的，可以让搜索体验直接上升一个层次。所有配置见&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;blob&#x2F;84f139a47658ff31482d4b36ba0acd86f08b071f&#x2F;meilisearch-docs-scraper-config.json&quot;&gt;这里&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;wo-de-bu-shu-guo-cheng&quot;&gt;我的部署过程&lt;a class=&quot;zola-anchor&quot; href=&quot;#wo-de-bu-shu-guo-cheng&quot; aria-label=&quot;Anchor link for: wo-de-bu-shu-guo-cheng&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;ol&gt;
&lt;li&gt;先在 VPS 上搭建 Meili,见&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;dotfiles&#x2F;blob&#x2F;main&#x2F;modules&#x2F;meilisearch&#x2F;meilisearch.yml&quot;&gt;我的 meilisearch dotfile 配置&lt;&#x2F;a&gt;，并不复杂，是我最喜欢的单一二进制文件，无依赖。&lt;&#x2F;li&gt;
&lt;li&gt;在 Github Actions 的中添加步骤，在网站更新后，立刻爬取整个网站.见&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;blob&#x2F;ee82d2d783c3b08b98862a7700a6a29a301e164e&#x2F;.github&#x2F;workflows&#x2F;build.yml#L20-L37&quot;&gt;build.yml&lt;&#x2F;a&gt; 以及&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;blob&#x2F;main&#x2F;meilisearch-docs-scraper-config.json&quot;&gt;爬取的配置文件&lt;&#x2F;a&gt;,得益于我上次在&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;en&#x2F;blog&#x2F;indieweb&#x2F;&quot;&gt;Now, I’m in IndieWeb?&lt;&#x2F;a&gt;中给网站的结构添加了很多有用的标记，所以很好定位到我的一级标题，二级标题，分类等, 我在配置中排除了列表页面，让他只爬取文章页。&lt;&#x2F;li&gt;
&lt;li&gt;在前端网页引入相应的 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;blob&#x2F;37de4f670b3b2d28a77e39b1804ce986c99f0a6a&#x2F;templates&#x2F;search.html#L6-L8&quot;&gt;css&lt;&#x2F;a&gt; 和 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;blob&#x2F;37de4f670b3b2d28a77e39b1804ce986c99f0a6a&#x2F;templates&#x2F;search.html#L71-L85&quot;&gt;js 脚本&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Over! 其实说的简单，但是我在建立索引的过程中多次调整了页面中 tag 的层级和 class 以便机器人可以更好的定位到需要的内容（面向机器人编程），最终打磨出来的效果就是：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;add-search&#x2F;.&#x2F;meilisearch.png&quot; alt=&quot;meilisearch&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;搜索页面的模版文件&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;blob&#x2F;main&#x2F;templates&#x2F;search.html&quot;&gt;在这里&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;升级的时候可能比较麻烦，我通常就是直接删除数据库，反正可以重新构建，跑一下 CI 就可以了。&lt;&#x2F;p&gt;
&lt;p&gt;升级后需要重新获取 admin key:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;make&lt;&#x2F;span&gt;&lt;span&gt; meilikey
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;jie-lun&quot;&gt;结论&lt;a class=&quot;zola-anchor&quot; href=&quot;#jie-lun&quot; aria-label=&quot;Anchor link for: jie-lun&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;虽然目前用 Meilisearch 解决了搜索的问题（而且体验超好），但是还是更喜欢&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;wilsonzlin&#x2F;edgesearch&quot;&gt;Edgesearch&lt;&#x2F;a&gt;的方案，这样我就能把搜索部署在类似 Workers 和 Deno Deploy 的平台上了。我不喜欢 Lambda 和 Vercel 的无服务器，虽然限制更少，但是相应的冷启动有点久，不够纯粹。我的理想方案应该是这样，它是一个通用的站内搜索引擎：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;通过 Fork 一个 Cloudflare Worker 项目即可部署自己的搜索引擎，带一些很少的配置。&lt;&#x2F;li&gt;
&lt;li&gt;这个搜索引擎会暴露一个开始索引的路由，你会给这个路由提供一个配置文件，然后告诉他&lt;code&gt;sitemap&lt;&#x2F;code&gt;文件，以及要索引的区块配置。&lt;&#x2F;li&gt;
&lt;li&gt;这个搜索引擎暴露几个类似 Algolia 的接口让前端可以搜索，以及管理索引。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;基本上就是把我在 meilisearch 上做的事搬到 wasm 上，但是我更喜欢在 cloudflare workers 上部署搜索服务的方案，因为它更简单，更快，更具有扩展性。&lt;&#x2F;p&gt;
&lt;p&gt;我目前是把 Meili 部署在我的一个 4g 内存位于日本的服务器，这台服务器还部署了我很多其他的东西，如果你也想要接入美丽搜索，但是不想自己部署服务端（我懂），可以邮件或者私信我，我告诉你我的 Master Key，然后你也可以利用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;meilisearch.owenyoung.com&#x2F;&quot;&gt;https:&#x2F;&#x2F;meilisearch.owenyoung.com&#x2F;&lt;&#x2F;a&gt;建立你的博客索引了。但是这是玩具产品，不能保证可用性，后续也可能被替换，但是终止前我会提前通知你～&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;更新：我目前把 Meilisearch 从我的 VPS 迁移到免费的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;mogenius.com&#x2F;home&quot;&gt;Mogenius&lt;&#x2F;a&gt;,更省心，这样就算我弄乱 VPS 的情况下，搜索也不会轻易下线，我也写了&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;en&#x2F;blog&#x2F;adding-search-to-zola-blog-with-meilisearch-deployed-on-mogenius&#x2F;&quot;&gt;一篇文章&lt;&#x2F;a&gt;记录整个过程&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>在Debian系统中安装 Gost</title>
        <published>2022-06-09T00:31:11+08:00</published>
        <updated>2022-06-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/debian-gost-setup/"/>
        <id>https://old.owenyoung.com/blog/debian-gost-setup/</id>
        
        <summary type="html">&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ginuerzh&#x2F;gost&quot;&gt;Gost&lt;&#x2F;a&gt; 是一个灵活的代理转发工具，可以转发 HTTP、HTTPS、SOCKS5 等协议，可以配置反嗅探策略等等。&lt;&#x2F;p&gt;
&lt;p&gt;本文记录在 Debian 上使用 Systemctl 配置 Gost 代理，以及使用 acme.sh 配置 https 证书。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/debian-gost-setup/">&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ginuerzh&#x2F;gost&quot;&gt;Gost&lt;&#x2F;a&gt; 是一个灵活的代理转发工具，可以转发 HTTP、HTTPS、SOCKS5 等协议，可以配置反嗅探策略等等。&lt;&#x2F;p&gt;
&lt;p&gt;本文记录在 Debian 上使用 Systemctl 配置 Gost 代理，以及使用 acme.sh 配置 https 证书。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;1-xia-zai-bing-jie-ya-zui-xin-de-gost-ya-suo-bao&quot;&gt;1. 下载并解压最新的 Gost 压缩包&lt;a class=&quot;zola-anchor&quot; href=&quot;#1-xia-zai-bing-jie-ya-zui-xin-de-gost-ya-suo-bao&quot; aria-label=&quot;Anchor link for: 1-xia-zai-bing-jie-ya-zui-xin-de-gost-ya-suo-bao&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;去&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ginuerzh&#x2F;gost&#x2F;releases&#x2F;&quot;&gt;Gost Release&lt;&#x2F;a&gt;找到最新版本的压缩包，比如 我的服务器系统是 Debian，amd64 架构，所以对应的是&lt;code&gt;https:&#x2F;&#x2F;github.com&#x2F;ginuerzh&#x2F;gost&#x2F;releases&#x2F;download&#x2F;v2.11.2&#x2F;gost-linux-amd64-2.11.2.gz&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# create gost directory
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;mkdir&lt;&#x2F;span&gt;&lt;span&gt; gost
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# download to current directory
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;wget&lt;&#x2F;span&gt;&lt;span&gt; https:&#x2F;&#x2F;github.com&#x2F;ginuerzh&#x2F;gost&#x2F;releases&#x2F;download&#x2F;v2.11.2&#x2F;gost-linux-amd64-2.11.2.gz
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# unzip
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;gzip -d&lt;&#x2F;span&gt;&lt;span&gt; gost-linux-amd64-2.11.2.gz
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;mv&lt;&#x2F;span&gt;&lt;span&gt; gost-linux-amd64-2.11.2.gz gost
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# Add execute permission
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;chmod&lt;&#x2F;span&gt;&lt;span&gt; +x gost
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;2-shen-qing-https-zheng-shu-bing-zi-dong-xu-qi&quot;&gt;2. 申请 https 证书并自动续期&lt;a class=&quot;zola-anchor&quot; href=&quot;#2-shen-qing-https-zheng-shu-bing-zi-dong-xu-qi&quot; aria-label=&quot;Anchor link for: 2-shen-qing-https-zheng-shu-bing-zi-dong-xu-qi&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;我使用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;acmesh-official&#x2F;acme.sh&quot;&gt;acme.sh&lt;&#x2F;a&gt;来管理证书，并且使用 Cloudflare 作为 DNS 管理，因为 Cloudflare 提供了 API 来验证域名所属权限，这样签发证书更方便。&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;下载 acme 工具:&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;wget -O&lt;&#x2F;span&gt;&lt;span&gt; - https:&#x2F;&#x2F;get.acme.sh | &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;sh -s&lt;&#x2F;span&gt;&lt;span&gt; email=my@example.com
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;把域名在 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.cloudflare.com&#x2F;zh-cn&#x2F;&quot;&gt;Cloudflare&lt;&#x2F;a&gt; 添加解析，解析到你的服务器 IP&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;在某个域名的 dashboard 面板右侧找到 &lt;code&gt;Account ID&lt;&#x2F;code&gt;, 记录下备用。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;进入&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;dash.cloudflare.com&#x2F;profile&#x2F;api-tokens&quot;&gt;https:&#x2F;&#x2F;dash.cloudflare.com&#x2F;profile&#x2F;api-tokens&lt;&#x2F;a&gt;，生成一个 API Token,选择&lt;code&gt;Edit Zone&lt;&#x2F;code&gt; 模版，Zone Resources 选择 &lt;code&gt;All Zones&lt;&#x2F;code&gt;,生成，&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;把以下的信息保存到 &lt;code&gt;~&#x2F;.bashrc&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;export &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;CF_Token&lt;&#x2F;span&gt;&lt;span&gt;=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;sdfsdfsdfljlbjkljlkjsdfoiwje&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;export &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;CF_Account_ID&lt;&#x2F;span&gt;&lt;span&gt;=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;xxxxxxxxxxxxx&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;使之生效：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;source &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;~&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;.bashrc
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;blockquote&gt;
&lt;p&gt;如果还有什么不清楚的，可以参考文档： &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;acmesh-official&#x2F;acme.sh&#x2F;wiki&#x2F;dnsapi&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;acmesh-official&#x2F;acme.sh&#x2F;wiki&#x2F;dnsapi&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;qian-fa-zheng-shu&quot;&gt;签发证书&lt;a class=&quot;zola-anchor&quot; href=&quot;#qian-fa-zheng-shu&quot; aria-label=&quot;Anchor link for: qian-fa-zheng-shu&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;blockquote&gt;
&lt;p&gt;修改 &lt;code&gt;example.com&lt;&#x2F;code&gt; 为你的域名&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;运行 &lt;code&gt;acme.sh --issue --dns dns_cf -d example.com&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: 默认的签发机构是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;zerossl.com&#x2F;&quot;&gt;Zerossl&lt;&#x2F;a&gt;, 也可以使用 letsencrypt , &lt;code&gt;acme.sh --issue --dns dns_cf -d example.com --server letsencrypt&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;运行之后他就会自动续期该域名，你可以检查 crontab 任务是否添加成功: &lt;code&gt;crontab -e&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;3-shi-yong-systemctl-qi-dong&quot;&gt;3. 使用 Systemctl 启动&lt;a class=&quot;zola-anchor&quot; href=&quot;#3-shi-yong-systemctl-qi-dong&quot; aria-label=&quot;Anchor link for: 3-shi-yong-systemctl-qi-dong&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span&gt; vim &#x2F;etc&#x2F;systemd&#x2F;system&#x2F;gost.service
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;写入以下文件：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;修改 &lt;code&gt;&#x2F;home&#x2F;green&#x2F;gost&#x2F;&lt;&#x2F;code&gt; 为你的 gost 文件夹&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;[Unit]
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Description&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Gost
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;After&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;syslog.target &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;network.target
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;[Service]
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;WorkingDirectory&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;home&#x2F;green&#x2F;gost&#x2F;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;User&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;green
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Group&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;admin
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;UMask&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;0002
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Restart&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;on-failure
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;RestartSec&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;5
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Type&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;simple
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;ExecStart&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;home&#x2F;green&#x2F;gost&#x2F;start.sh
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;KillSignal&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;SIGINT
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;TimeoutStopSec&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;20
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SyslogIdentifier&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gost
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;[Install]
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;WantedBy&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;multi-user.target
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;使之生效：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span&gt; systemctl daemon-reload
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span&gt; systemctl enable gost
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;4-an-zhuang-zheng-shu&quot;&gt;4. 安装证书&lt;a class=&quot;zola-anchor&quot; href=&quot;#4-an-zhuang-zheng-shu&quot; aria-label=&quot;Anchor link for: 4-an-zhuang-zheng-shu&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;an-zhuang-zheng-shu-dao-gost-mu-lu&quot;&gt;安装证书到 gost 目录&lt;a class=&quot;zola-anchor&quot; href=&quot;#an-zhuang-zheng-shu-dao-gost-mu-lu&quot; aria-label=&quot;Anchor link for: an-zhuang-zheng-shu-dao-gost-mu-lu&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;blockquote&gt;
&lt;p&gt;修改 &lt;code&gt;~&#x2F;gost&#x2F;&lt;&#x2F;code&gt;为你的文件夹， &lt;code&gt;example.com&lt;&#x2F;code&gt; 为你的域名&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;acme.sh --install-cert -d&lt;&#x2F;span&gt;&lt;span&gt; example.com \
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;--cert-file ~&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;gost&#x2F;cert.pem  \
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;--key-file ~&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;gost&#x2F;key.pem  \
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;--ca-file ~&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;gost&#x2F;ca.pem \
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;--reloadcmd &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;sudo systemctl restart gost&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;5-qi-dong-fu-wu&quot;&gt;5. 启动服务&lt;a class=&quot;zola-anchor&quot; href=&quot;#5-qi-dong-fu-wu&quot; aria-label=&quot;Anchor link for: 5-qi-dong-fu-wu&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;Gost 的命令还挺长的，所以可以写的简单的脚本，以后启动方便点：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;vim&lt;&#x2F;span&gt;&lt;span&gt; start.sh
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;#!&#x2F;bin&#x2F;bash
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# 下面的3个参数需要改成你的
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;USER&lt;&#x2F;span&gt;&lt;span&gt;=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;xxxx&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;PASS&lt;&#x2F;span&gt;&lt;span&gt;=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;xxxxxxxx&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;PORT&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;8443
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;BIND_IP&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;0.0.0.0
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span&gt; .&#x2F;gost \
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;    -L &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;http2:&#x2F;&#x2F;&lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;USER&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;}:&lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;PASS&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;}@&lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;BIND_IP&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;}:&lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;PORT&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;}?probe_resist=web:www.baidu.com:443&amp;amp;knock=example.com&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;添加执行权限&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;chmod&lt;&#x2F;span&gt;&lt;span&gt; +x .&#x2F;start.sh
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;6-cha-kan-ri-zhi&quot;&gt;6. 查看日志&lt;a class=&quot;zola-anchor&quot; href=&quot;#6-cha-kan-ri-zhi&quot; aria-label=&quot;Anchor link for: 6-cha-kan-ri-zhi&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# 查看状态
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span&gt; systemctl status gost
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# 查看日志
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span&gt; journalctl&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -u&lt;&#x2F;span&gt;&lt;span&gt; gost&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -f
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;7-ke-hu-duan-pei-zhi&quot;&gt;7. 客户端配置&lt;a class=&quot;zola-anchor&quot; href=&quot;#7-ke-hu-duan-pei-zhi&quot; aria-label=&quot;Anchor link for: 7-ke-hu-duan-pei-zhi&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;参见&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;haoel&#x2F;haoel.github.io#4-%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%AE%BE%E7%BD%AE&quot;&gt;这里&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;7-1-clash-pei-zhi-can-kao&quot;&gt;7.1 clash 配置参考&lt;a class=&quot;zola-anchor&quot; href=&quot;#7-1-clash-pei-zhi-can-kao&quot; aria-label=&quot;Anchor link for: 7-1-clash-pei-zhi-can-kao&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;pre data-lang=&quot;yaml&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-yaml &quot;&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;&lt;span&gt;- &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;h8443
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;password&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;xxxxxxxx
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;port&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;8443
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;server&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;example.com
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;tls&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;true
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;skip-cert-verify&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;true
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;type&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;http
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;username&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;xxxx
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;7-2-gost-zhong-zhuan-jie-dian&quot;&gt;7.2 Gost 中转节点&lt;a class=&quot;zola-anchor&quot; href=&quot;#7-2-gost-zhong-zhuan-jie-dian&quot; aria-label=&quot;Anchor link for: 7-2-gost-zhong-zhuan-jie-dian&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;blockquote&gt;
&lt;p&gt;在中转节点安装 gost，步骤同上&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;cd &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;~&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;gost
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;vim&lt;&#x2F;span&gt;&lt;span&gt; config.json
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;pre data-lang=&quot;json&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-json &quot;&gt;&lt;code class=&quot;language-json&quot; data-lang=&quot;json&quot;&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;ServeNodes&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: [&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;socks5:&#x2F;&#x2F;username:pass@0.0.0.0:1080&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;],
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;ChainNodes&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: [&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;username:pass@example:443&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;]
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;vim&lt;&#x2F;span&gt;&lt;span&gt; start.sh
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;#!&#x2F;bin&#x2F;bash
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# 下面的3个参数需要改成你的
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;USER&lt;&#x2F;span&gt;&lt;span&gt;=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;xxxx&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;PASS&lt;&#x2F;span&gt;&lt;span&gt;=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;xxxxxxxx&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;DOMAIN&lt;&#x2F;span&gt;&lt;span&gt;=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;xxxx.com&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;PORT&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;1080
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;TARGET_PORT&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;8443
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;BIND_IP&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;0.0.0.0
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span&gt; .&#x2F;gost \
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;    -L &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;socks5:&#x2F;&#x2F;&lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;USER&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;}:&lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;PASS&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;}@&lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;BIND_IP&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;}:&lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;PORT&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -F &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;&lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;USER&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;}:&lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;PASS&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;}@&lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;DOMAIN&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;}:&lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;TARGET_PORT&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;添加执行权限&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;chmod&lt;&#x2F;span&gt;&lt;span&gt; +x .&#x2F;start.sh
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;按照如上步骤 3，添加 systemctl 服务&lt;&#x2F;p&gt;
&lt;h2 id=&quot;can-kao&quot;&gt;参考&lt;a class=&quot;zola-anchor&quot; href=&quot;#can-kao&quot; aria-label=&quot;Anchor link for: can-kao&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;haoel&#x2F;haoel.github.io&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;haoel&#x2F;haoel.github.io&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>如果地狱真的存在，而你错了怎么办？</title>
        <published>2022-04-23T21:27:51+08:00</published>
        <updated>2022-04-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/what-if-hell-exists-youre-wrong/"/>
        <id>https://old.owenyoung.com/blog/what-if-hell-exists-youre-wrong/</id>
        
        <summary type="html">&lt;p&gt;“那如果你选错了宗教怎么办”？&lt;&#x2F;p&gt;
&lt;p&gt;“你指的是你的版本的地狱还是所有版本的地狱？”&lt;&#x2F;p&gt;
&lt;p&gt;在无神论共和国论坛看到&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;forum.atheistrepublic.com&#x2F;t&#x2F;what-if-hell-exists-youre-wrong&#x2F;2309&quot;&gt;这个帖子&lt;&#x2F;a&gt;，顺便摘抄一些无神论的常见观点。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/what-if-hell-exists-youre-wrong/">&lt;p&gt;“那如果你选错了宗教怎么办”？&lt;&#x2F;p&gt;
&lt;p&gt;“你指的是你的版本的地狱还是所有版本的地狱？”&lt;&#x2F;p&gt;
&lt;p&gt;在无神论共和国论坛看到&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;forum.atheistrepublic.com&#x2F;t&#x2F;what-if-hell-exists-youre-wrong&#x2F;2309&quot;&gt;这个帖子&lt;&#x2F;a&gt;，顺便摘抄一些无神论的常见观点。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;ding-yi&quot;&gt;定义&lt;a class=&quot;zola-anchor&quot; href=&quot;#ding-yi&quot; aria-label=&quot;Anchor link for: ding-yi&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;根据&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Atheism&quot;&gt;维基百科无神论&lt;&#x2F;a&gt;的定义：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;广义上来讲，无神论是对神灵存在的信仰的缺失。狭义的说，无神论是拒绝相信任何神灵的存在。更狭义的说，无神论特指没有神的立场。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;quotes&quot;&gt;Quotes&lt;a class=&quot;zola-anchor&quot; href=&quot;#quotes&quot; aria-label=&quot;Anchor link for: quotes&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;每个人生来都不相信神灵。因此，举证责任不在于无神论者来反驳神的存在，而在于有神论者为有神论提供理由。 –
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Atheism&quot;&gt;维基百科&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;未经证实的宗教命题应该像所有其他未经证实的命题一样受到怀疑，神存在的不可证明并不意味着任何一种可能性的概率相等。 –
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Atheism&quot;&gt;维基百科&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“一个认为是相信上帝而不是好法律使人们诚实的国家在我看来并不是很先进。“&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;如果你想让我相信上帝，你必须让我触摸他。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;如果上帝已经说话了，为什么宇宙不相信？ ——珀西·比希·雪莱（Percy Bysshe Shelley），《无神论的必要性》（The Essential
of Atheism）&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;许多社会、文化和道德准则随着时代的变化而变化。它们不能是静态的，因为它违背了自然法则。如果这些道德准则不能表现出灵活性，不能根据当今时代的需要而改变，人类将不得不面对非常严重的问题。在特定年龄为特定社会作出的决定绝不是要适用于所有年龄段和所有社会。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;社会学家菲尔-祖克曼（Phil
Zuckerman）分析了美国的“无神论者和世俗人士“的民族主义、偏见、反犹太主义、种族主义、教条主义、民族中心主义、封闭性和独裁性比有神论者低，在美国无神论者比例最高的州，谋杀率低于平均水平。在宗教最多的州，谋杀率高于平均水平“&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;山姆·哈里斯和理查德·道金斯等无神论者表示，斯大林的暴行不是受到无神论的影响，而是受到教条主义马克思主义的影响，虽然斯大林和毛泽东碰巧是无神论者，但他们并没有以无神论的名义行事。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;用智慧征服世界，而不仅仅是被来自它的恐怖所奴役。 – 罗素&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;在基督的道德品格中，我心目中有一个非常严重的缺陷，那就是他相信地狱。我自己并不觉得任何一个真正非常人道的人会相信永恒的惩罚。 – 罗素&lt;&#x2F;p&gt;
&lt;p&gt;There is one very serious defect to my mind in Christ’s moral character, and
that is that He believed in hell. I do not myself feel that any person who is
really profoundly humane can believe in everlasting punishment.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;你會發現這個奇怪的事實，任何時期的宗教越強烈，教條主義的信仰越深刻，殘酷就越嚴重，事態越糟。在所谓的信仰时代，当人们真正相信基督教的完整性时，就有了宗教裁判所及其所有的折磨;有数以百万计的不幸妇女被当作女巫烧死;以宗教的名义对各种各样的人实行了各种残酷的行为。
– 罗素&lt;&#x2F;p&gt;
&lt;p&gt;You find this curious fact, that the more intense has been the religion of any
period and the more profound has been the dogmatic belief, the greater has
been the cruelty and the worse has been the state of affairs. In the so-called
ages of faith, when men really did believe the Christian religion in all its
completeness, there was the Inquisition, with all its tortures; there were
millions of unfortunate women burned as witches; and there was every kind of
cruelty practiced upon all sorts of people in the name of religion.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;我一直在和你谈论的那种理性的论点并不是真正打动人的东西。真正促使人们相信上帝的根本不是任何智力上的论据。大多数人相信上帝，因为他们从婴儿早期就被教导要这样做，这是主要原因。&lt;&#x2F;p&gt;
&lt;p&gt;I know that the sort of intellectual arguments that I have been talking to you
about are not what really moves people. What really moves people to believe in
God is not any intellectual argument at all. Most people believe in God
because they have been taught from early infancy to do it, and that is the
main reason.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;当你环顾世界时，你会发现，在人道情感方面的每一点进步，在刑法方面的每一个进步，在减少战争方面的每一步，朝着更好地对待有色人种迈出的每一步，或者每一个减轻奴隶制的现象，世界上每一个道德进步，都一直受到世界上有组织的教会的反对。&lt;&#x2F;p&gt;
&lt;p&gt;You find as you look around the world that every single bit of progress in
humane feeling, every improvement in the criminal law, every step toward the
diminution of war, every step toward better treatment of the colored races, or
every mitigation of slavery, every moral progress that there has been in the
world, has been consistently opposed by the organized churches of the world.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;上帝的整个概念是源自古代东方专制主义的概念。这是一个非常不值得自由人接受的概念。當你聽到教會裡的人在貶低自己，說他們是可悲的罪人，以及其他所有的人，這似乎是可鄙的，不值得自尊的人。我们应该站起来，坦率地面对世界。我们应该尽我们所能，如果它不如我们所希望的那样好，毕竟它仍然会比这些其他人在所有这些时代所创造的更好。一个美好的世界需要知识、善良和勇气;它不需要对过去的遗憾渴望，也不需要无知的人很久以前所说的话对自由智力的束缚。它需要无所畏惧的眼光和自由的智慧。它需要对未来的希望，而不是一直回头看一个已经死去的过去，我们相信这个过去将被我们的智慧可以创造的未来远远超越。&lt;&#x2F;p&gt;
&lt;p&gt;The whole conception of God is a conception derived from the ancient Oriental
despotisms. It is a conception quite unworthy of free men. When you hear
people in church debasing themselves and saying that they are miserable
sinners, and all the rest of it, it seems contemptible and not worthy of
self-respecting human beings. We ought to stand up and look the world frankly
in the face. We ought to make the best we can of the world, and if it is not
so good as we wish, after all it will still be better than what these others
have made of it in all these ages. A good world needs knowledge, kindliness,
and courage; it does not need a regretful hankering after the past or a
fettering of the free intelligence by the words uttered long ago by ignorant
men. It needs a fearless outlook and a free intelligence. It needs hope for
the future, not looking back all the time toward a past that is dead, which we
trust will be far surpassed by the future that our intelligence can create.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;wu-shen-lun-2-0&quot;&gt;无神论 2.0&lt;a class=&quot;zola-anchor&quot; href=&quot;#wu-shen-lun-2-0&quot; aria-label=&quot;Anchor link for: wu-shen-lun-2-0&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=2Oe6HUgrRlQ&amp;amp;t=122s&quot;&gt;无神论 2.0 Youtube Video&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;教育是全世界都相信的一条路。&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;所有宗教都把我们看作孩子，我们需要指导&lt;&#x2F;li&gt;
&lt;li&gt;布道和讲座都区别是什么
&lt;ul&gt;
&lt;li&gt;布道
&lt;ul&gt;
&lt;li&gt;想改变你的生活&lt;&#x2F;li&gt;
&lt;li&gt;无条件相信神，并且重复这个想法（话语）&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;讲座
&lt;ol&gt;
&lt;li&gt;给你信息&lt;&#x2F;li&gt;
&lt;li&gt;当我们想听讲座的时候，我们期待听到新的东西，而不是一直重复旧的东西，想象一下，你连续听五场一样的讲座。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;man-hua&quot;&gt;漫画&lt;a class=&quot;zola-anchor&quot; href=&quot;#man-hua&quot; aria-label=&quot;Anchor link for: man-hua&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;what-if-hell-exists-youre-wrong&#x2F;.&#x2F;religious.webp&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;what-if-hell-exists-youre-wrong&#x2F;.&#x2F;prove.webp&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;what-if-hell-exists-youre-wrong&#x2F;.&#x2F;stats.png&quot; alt=&quot;2020年各国宗教情况统计&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>伊斯兰教中的“叛教者” - 前穆斯林们</title>
        <published>2022-04-20T21:46:04+08:00</published>
        <updated>2022-09-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/articles/ex-muslims/"/>
        <id>https://old.owenyoung.com/blog/articles/ex-muslims/</id>
        
        <summary type="html">&lt;p&gt;今天在维基百科上看到&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Ex-Muslims&quot;&gt;前穆斯林们&lt;&#x2F;a&gt;这个词条，挺感兴趣的，因为一直以来都听说伊斯兰教对叛教者惩罚非常严厉，我比较好奇，那究竟有没有叛教者，尤其是在西方相对自由的环境下，有没有叛教者？这些叛教者是怎么想的？他们有没有受到威胁？这个词条里有非常多的内容，让我受益良多，其中很多内容我觉得不只是针对伊斯兰教，具有一般性。我总结了其中一部分到这里。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/articles/ex-muslims/">&lt;p&gt;今天在维基百科上看到&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Ex-Muslims&quot;&gt;前穆斯林们&lt;&#x2F;a&gt;这个词条，挺感兴趣的，因为一直以来都听说伊斯兰教对叛教者惩罚非常严厉，我比较好奇，那究竟有没有叛教者，尤其是在西方相对自由的环境下，有没有叛教者？这些叛教者是怎么想的？他们有没有受到威胁？这个词条里有非常多的内容，让我受益良多，其中很多内容我觉得不只是针对伊斯兰教，具有一般性。我总结了其中一部分到这里。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;前穆斯林是指那些被培养成穆斯林或皈依伊斯兰教，后来放弃宗教的人。在伊斯蘭傳統中，對宗教的懷疑通常受到嚴厲的斥責，在來世對易受影響的年輕孩子威脅下地獄，並將懷疑的人與魔鬼的附身和進一步的迷信驅魔行為聯繫起來。因此，怀疑往往被极力地劝阻，从对那些提出任何怀疑的人说坏话到残酷地惩罚他们。这增加了同龄人和社区的压力，要求他们不要怀疑和偏离现状，导致令人不安的恐惧，即那些怀疑会被揭露的人可能会被羞辱并进一步放逐。怀疑者的下一步是自我审查，并试图压制反复出现的想法，导致挫败感。&lt;&#x2F;p&gt;
&lt;p&gt;Simon
Cottee（2015）写道，穆斯林很难表达对伊斯兰教的怀疑和质疑。那些有机会的人，必须在互联网上进行自我搜索，如果他们希望向任何宗教专家提问，那么他们必须非常谨慎地这样做，以避免被指责为不相信;与其问神为什么在经文中说了什么，他们需要用宗教上“正确”的语言重新表述他们的询问，问神所说的话是什么意思。在其他情况下，怀疑者使用真实或虚构的代理来避免对自己的敌意。由于许多疑问没有得到解答，意想不到的后果是进一步的不满。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;tuo-chi-yi-si-lan-jiao-de-dong-ji&quot;&gt;脱离伊斯兰教的动机&lt;&#x2F;h2&gt;
&lt;p&gt;离开伊斯兰教的动机大致可分为两类，即智力&#x2F;意识形态动机和社会&#x2F;经验动机。 根据 Teemu Pauha 和 Atefeh
Aghaee（2018）的说法，第一组会发现宗教是天真和非理性的，而第二组则强调对社会进步产生负面影响的个人对人权的限制和侵犯是他们最重要的关注点&lt;&#x2F;p&gt;
&lt;h3 id=&quot;zhi-li-yi-shi-xing-tai-dong-ji&quot;&gt;智力&#x2F;意识形态动机&lt;&#x2F;h3&gt;
&lt;p&gt;Khalil Bilici 研究的结果表明，在具有智力&#x2F;意识形态动机的前穆斯林中，以下因素似乎很重要：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;妇女在伊斯兰教中的从属地位;&lt;&#x2F;li&gt;
&lt;li&gt;伊斯兰教法（伊斯兰教法）与人权的矛盾,见&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Sharia#Contemporary_debates_and_controversies&quot;&gt;伊斯兰教法§当代辩论和争议&lt;&#x2F;a&gt;;&lt;&#x2F;li&gt;
&lt;li&gt;《古兰经》的问题性质（见&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Criticism_of_the_Quran&quot;&gt;对《古兰经》的批评&lt;&#x2F;a&gt;);&lt;&#x2F;li&gt;
&lt;li&gt;伊斯蘭先知穆罕默德和其他伊斯蘭領袖的性格（見&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Criticism_of_Muhammad&quot;&gt;對穆罕默德的批評&lt;&#x2F;a&gt;);&lt;&#x2F;li&gt;
&lt;li&gt;伊斯兰教是不合逻辑和不科学的（例如，相对于进化论，见&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Islamic_attitudes_towards_science&quot;&gt;伊斯兰对科学的态度&lt;&#x2F;a&gt;);&lt;&#x2F;li&gt;
&lt;li&gt;善良的非穆斯林的永恒诅咒（见&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Problem_of_evil%EF%BC%89&quot;&gt;邪恶的问题&lt;&#x2F;a&gt;;&lt;&#x2F;li&gt;
&lt;li&gt;伊斯兰不必要、严格的规则和期望;&lt;&#x2F;li&gt;
&lt;li&gt;伊斯兰教不是普世的，而是以阿拉伯人为中心(比如 Ajam(哑巴，贬义的指不说阿拉伯语的人)，Mawla 和 Shu’ubiyya);&lt;&#x2F;li&gt;
&lt;li&gt;《古兰经》和圣训的可疑历史性（见&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Historical_reliability_of_the_Quran&quot;&gt;《古兰经》的历史可靠性&lt;&#x2F;a&gt;和对&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Criticism_of_hadith&quot;&gt;圣训的批评&lt;&#x2F;a&gt;）&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;she-hui-jing-yan-dong-ji&quot;&gt;社会&#x2F;经验动机&lt;&#x2F;h3&gt;
&lt;p&gt;在背离伊斯兰教的有社会&#x2F;经验动机的叛教者中，哈利勒·比利奇指出了以下原因：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;与坏人、残忍的穆斯林发生不愉快的遭遇;&lt;&#x2F;li&gt;
&lt;li&gt;穆斯林是压迫性的;&lt;&#x2F;li&gt;
&lt;li&gt;穆斯林的落后;&lt;&#x2F;li&gt;
&lt;li&gt;穆斯林虐待妇女;&lt;&#x2F;li&gt;
&lt;li&gt;穆斯林虐待非穆斯林;&lt;&#x2F;li&gt;
&lt;li&gt;穆斯林对自己的宗教处于幻想状态。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;qian-mu-si-lin-de-huai-yi-li-zi&quot;&gt;前穆斯林的怀疑例子&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;穆斯林斋月期间，只能在太阳落山之后吃东西，那么在北极附近的国家，一天可以持续六个月，穆斯林什么时候应该打破他们一天的禁食？&lt;&#x2F;li&gt;
&lt;li&gt;在许多情况下，继续接受教育对女性来说变得困难，因为家庭和社区更喜欢早婚（在许多情况下是强迫婚姻）&lt;&#x2F;li&gt;
&lt;li&gt;如此伟大的真主为什么要将学校的所有非穆斯林孩子都送入地狱？&lt;&#x2F;li&gt;
&lt;li&gt;为什么任何奇妙的上帝都会创造地狱，甚至无辜的非穆斯林也会陷入地狱&lt;&#x2F;li&gt;
&lt;li&gt;一个似乎没有提供任何坚实的身体证据来证明自己存在的上帝，而希望将每个人永远送入地狱，只是为了怀疑他，即使他们是过着美好生活的好人，似乎也不符合通常归因于上帝的仁慈或公平的品质。&lt;&#x2F;li&gt;
&lt;li&gt;為什麼伊斯蘭的上帝似乎嫉妒，虛榮和不安全，並要求一直敬拜？&lt;&#x2F;li&gt;
&lt;li&gt;伊斯兰教禁止与其他宗教的人（特别是穆斯林妇女）建立关系&lt;&#x2F;li&gt;
&lt;li&gt;一些前穆斯林认为，他们可以选择如何过自己的性生活，宗教对个人性自由施加了令人反感的限制&lt;&#x2F;li&gt;
&lt;li&gt;许多前穆斯林在他们的仪式中是虔诚的，要么是为了取悦他们信教的亲人，要么是为了捍卫伊斯兰教。然而，一旦他们真正学习和检查圣经，他们就会偶然发现许多以上帝的名义进行的可疑和令人不安的莫名其妙的行为，例如被认为是暴力的经文，其中上帝在地狱中的行为将不信的人扔给好人，或者剥掉该死的人的皮肤，或屠杀投降的犹太部落
Banu Qurayza。&lt;&#x2F;li&gt;
&lt;li&gt;伊斯兰圣书中倡导可疑的非自由主义思想和实践，如古兰经，来自厌女症，同性恋恐惧症极端主义者对圣战的解释，严厉的体罚，如手截肢，对亵渎和叛教的严厉法律惩罚等等。&lt;&#x2F;li&gt;
&lt;li&gt;截至 2013 年，有 23 个穆斯林占多数的国家，通过刑法惩罚伊斯兰教的叛教行为。&lt;&#x2F;li&gt;
&lt;li&gt;在巴基斯坦，亵渎法被用来定罪超过一千人，其中约一半是艾哈迈德派教徒和基督徒。&lt;&#x2F;li&gt;
&lt;li&gt;一些以穆斯林为主的国家的政府批评《世界人权宣言》（UDHR）认为它没有考虑到非西方国家的文化和宗教背景。伊朗在联合国大会上宣布，《世界人权宣言》是“对犹太教-基督教传统的世俗理解”，穆斯林不能在不违反伊斯兰法律的情况下实施。伊斯兰学者和伊斯兰政党认为“普世人权”的论点是将非穆斯林文化强加给穆斯林人民，是对习惯文化习俗和伊斯兰教的不尊重。1990
年，代表所有穆斯林占多数的国家的伊斯兰合作组织在开罗举行会议，以回应《世界人权宣言》，然后通过了《开罗伊斯兰人权宣言》。2009
年，《自由探究》杂志在一篇社论中总结了对《开罗宣言》的批评：“该宣言希望禁止任何对宗教的批评，从而保护伊斯兰教对人权的限制性看法。鉴于伊朗伊斯兰共和国、埃及、巴基斯坦、沙特阿拉伯、苏丹、叙利亚、孟加拉国、伊拉克和阿富汗的国情，我们应该期望，在这些国家的人权议程上，首要任务将是纠正妇女的法律不平等、压制政治异议人士、限制言论自由、迫害少数民族和宗教异见人士——简言之，
保护其公民免受严重侵犯人权行为之害。吊诡的是，他们反而担心起如何保护伊斯兰教。“&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=43nK6CAcoRo&quot;&gt;告诉一个前穆斯林尊重伊斯兰教，就相当于告诉犹太人尊重纳粹。7:16&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;近年来，伊斯兰女权主义的概念进一步发展。此外，受过教育的穆斯林妇女正在努力阐明她们在社会中的作用。伊斯兰女权主义团体的例子有：由米娜·凯什瓦尔·卡迈勒创立的阿富汗妇女革命协会，穆斯林妇女在印度寻求平等，以及由扎伊娜·安瓦尔和阿米娜·瓦杜德等五名女性创立的马来西亚伊斯兰教修女会，但是
2014
年，雪兰莪州伊斯兰宗教理事会（MAIS）发布了一项法特瓦，宣布伊斯兰修女会以及任何其他促进宗教自由主义和多元化的组织都偏离了伊斯兰教义。根据该法令，被认为促进自由主义和多元化宗教思想的出版物将被宣布为非法并被没收，而社交媒体也将受到监控和限制。由于法特瓦在马来西亚具有法律约束力，SIS
正在以宪法为由对其提出质疑。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;exmuslim&#x2F;comments&#x2F;u7til0&#x2F;you_cant_be_a_muslim_feminist_you_just_cant&#x2F;&quot;&gt;为什么你不能成为一个穆斯林女权主义者&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;穆斯林没有意识到，如果伊斯兰教法接管了世界，我们的生活会是什么样子。&lt;&#x2F;li&gt;
&lt;li&gt;男穆斯林们为穆罕默德辩护，因为他们和他一样。穆罕默德给了他们理由去满足他们病态的欲望。&lt;&#x2F;li&gt;
&lt;li&gt;伊斯兰教是将整个世界观建立在古老的、不可变的文本上。&lt;&#x2F;li&gt;
&lt;li&gt;“如果真的有阿拉，请让阿拉在审判日惩罚我好吗？你们不要惩罚我，okay?”&lt;&#x2F;li&gt;
&lt;li&gt;一个声称自己如此完美的宗教不应该对于批评如此的没有安全感，因为怀疑是证明你是完美的唯一办法。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;exmuslim&#x2F;comments&#x2F;mpwim3&#x2F;well_thats_quite_a_point&#x2F;&quot;&gt;何为真穆斯林？&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;我一直从穆斯林护教者那里看到的一个论点是，“问题不在于书，而在于读者。通常跟着一个自鸣得意的胜利的样子。当然，这个论点证明了这本来就不是一本神圣的书吗？当然，如果不同文化背景的人选择书中的不同部分来遵循，那么这本书就不是他们道德的源泉，而是别的东西呢？这是最弄巧成拙的论点，但它是最常用的论点之一。坦率地说，这很乏味，并且表明使用它的人确实缺乏思维能力。&lt;&#x2F;li&gt;
&lt;li&gt;穆斯林所做的任何好事都是因为伊斯兰教，穆斯林所做的任何坏事都是因为穆斯林。&lt;&#x2F;li&gt;
&lt;li&gt;在有人说这只是文化之后，你应该回复:那么这是一种糟糕的文化习俗，需要被抛弃。&lt;&#x2F;li&gt;
&lt;li&gt;“众所周知，在穆斯林国家，文化与伊斯兰教是分开的。”&lt;&#x2F;li&gt;
&lt;li&gt;在全球范围内，一些穆斯林愿意谋杀他们认为侮辱了先知的人，这让对世界伟大宗教之一的讨论感到寒瞎——即使在穆斯林占少数的地方，比如欧洲。激进的伊斯兰主义者正试图执行一项全球言论准则，其中坦率地讨论他们的信仰将受到死刑的惩罚。 -
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.economist.com&#x2F;international&#x2F;2016&#x2F;06&#x2F;04&#x2F;the-muzzle-grows-tighter&quot;&gt;言论自由正在倒退&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;quotes&quot;&gt;Quotes&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;伊斯兰教声称他们的伊斯兰教法在整个宇宙的最后一天都适用。这是非常幼稚的，今天只有笨蛋才能相信这一点。这就像扔一块大石头并声称地球不会吸引它一样荒谬。自從現代工業和科學世界出現以來，我們在地球上甚至沒有看到一個成功的穆斯林國家。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;自 1400 年前伊斯兰教出现以来，没有一个穆斯林国家是完美、进步和福利的象征。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;当你根据一群生活在中东数千年的人的冒险经历来塑造你的生活时，你一定会表现出他们的特质。 –
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.atheistrepublic.com&#x2F;blog&#x2F;manithan&#x2F;do-i-hate-muslims-christians&quot;&gt;我恨穆斯林&#x2F;基督徒吗？&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;原教旨主义者是按照其宗教的基本原理生活的人。你可能会对这里的“原教旨主义者”这个词感到震惊，就像你会在大多数与暴力有关的报纸标题中看到这个词一样。但是，简单地说，如果你不是亚伯拉罕宗教的原教旨主义者，那么你就没有正确地遵循你的宗教。而且，如果沒有正確地遵循你的聖書，你就會走向你的地獄（根據同一本書）。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.atheistrepublic.com&#x2F;blog&#x2F;manithan&#x2F;do-i-hate-muslims-christians&quot;&gt;我恨穆斯林&#x2F;基督徒吗？&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;《古兰经》和《圣训》在如何处理叛教方面非常清楚，正如这里所看到的。离开伊斯兰的惩罚是死亡。即使你出生在其中，并且从未想要它的任何部分，你也不被允许简单地离开并拒绝它。这是许多穆斯林，特别是那些出生在伊斯兰政权中的穆斯林，甚至从未考虑过放弃伊斯兰教的最可能原因。
– &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.atheistrepublic.com&#x2F;blog&#x2F;casperrigsby&#x2F;measure-islam&quot;&gt;伊斯兰教的尺度&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;如果我们以纳粹主义为例，我们可以清楚地看到这一点。你看，在第二次世界大战期间的德国人民中，有很多德国人戴着纳粹的标签，但他们谴责希特勒实施的种族灭绝未遂行为。如果我们把伊斯兰辩护士对伊斯兰教的态度应用于纳粹主义，我们可以证明纳粹主义并不是那么糟糕，因为大多数自称为纳粹的人都不是极端分子。
– &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.atheistrepublic.com&#x2F;blog&#x2F;casperrigsby&#x2F;measure-islam&quot;&gt;伊斯兰教的尺度&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;It was progressive - in the 7th century. The problem is that it’s the 21st
century now, we’ve progressed quite a bit in the last~1400 years. –
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;IAmA&#x2F;comments&#x2F;58h5pd&#x2F;im_amani_the_founder_of_the_largest_online&#x2F;d90vo6c&#x2F;&quot;&gt;reddit comment&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;先知说：“我看了看乐园，发现穷人占乐园居民的大多数。我看着地狱，发现它的大多数居民都是女性。“【古兰经 4：11】”雄性的份额是女的两倍……”
“【古兰经
4：34】。“如果你害怕妻子的傲慢，提醒她们“上帝的教导“，然后在你上床睡觉时忽略她们，然后打她们。如果他们服从你，你就没有权利对他们采取行动。神是至高无上的，也是伟大的。我希望你們賦予婦女權力，我希望你們意識到婦女在整個社會中受到虐待，在伊斯蘭教中更是如此。赋权的第一步是承认你的压迫，否认伊斯兰教固有的性别不平等就是否认真理。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;IAmA&#x2F;comments&#x2F;58h5pd&#x2F;im_amani_the_founder_of_the_largest_online&#x2F;d90jaon&#x2F;&quot;&gt;reddit comment&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;古兰经 4：34
说：男人负责女人，因为真主使其中一个人胜过另一个人，因为他们花钱（为了支持女人）。所以好女人是顺服的，暗地守护着真主所守护的。至于那些你们惧怕悖逆的人，劝诫他们，把他们逐居到床上，并把他们滔灭。然后，如果他们服从你，就不要寻求反对他们的方法。&lt;&#x2F;p&gt;
&lt;p&gt;古兰经 2：282
说：“你们中间的两个人为所有此类文件作证。但是，如果两个男人不在场，应该有一个男人和两个女人来作证，这样如果其中一个女人忘记了（任何事情），另一个可能会提醒她。“（莫杜迪，第
1 卷，第 205 页）。&lt;&#x2F;p&gt;
&lt;p&gt;在圣训中，先知说：“女人的见证不等于男人的一半吗？“妇女们说：”是的。他说，’这是因为女人思想的不足。&lt;&#x2F;p&gt;
&lt;p&gt;人们不能相信（A）妇女不如男子，如果她们不服从就应该被殴打，（B）妇女应该得到平等的权利和尊重。这些都是不相容的说法，它们不可能都是真的。这导致了两个可能的结论，要么你对这种不相容性一无所知，要么你对你所相信的事情撒谎。&lt;&#x2F;p&gt;
&lt;p&gt;你是对的，世界上有许多压迫力量，但其他伤害的存在并不能以某种方式减少伊斯兰教的伤害。性客体化发生在西方世界，但不是上帝的命令。我们认识到它发生了，它代表了人类行为的一个可悲的方面，我们否认它，我们试图根除它。你似乎愿意忽略它并最小化它。&lt;&#x2F;p&gt;
&lt;p&gt;我真的希望你网站上的女性能比你更有成效地说些什么。我希望他们聚在一起，形成一个强有力的声音，摆脱压迫他们的宗教的束缚。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;我是前穆斯林，所以我听过你所有的谈话要点。伊斯兰教没有给女性你所谈论的那些权利。在伊克拉被揭露之前，Khadijah
已经是一位富有，受人尊敬的女商人。异教徒麦加人中也有著名的女祭司和诗人，正如圣训所证实的那样。羅馬婦女自己繼承財產，經營企業，並有權在穆罕默德出生前 600
多年向他人貸款。&lt;&#x2F;p&gt;
&lt;p&gt;男人被允许“轻轻”殴打他们的妻子，以取代他们。女性则不然。这怎麼不是羞辱女人呢？&lt;&#x2F;p&gt;
&lt;p&gt;男人可以自由地拒绝妻子的性接触，而不会产生任何后果。如果女人也这样做，她们就会整夜受到诅咒，这意味着拒绝与丈夫睡觉可能会导致她们在地狱里度过时光。这何尝不是一种胁迫呢？&lt;&#x2F;p&gt;
&lt;p&gt;男人可以通过说“我和你离婚”三次来与妻子离婚。妇女必须经过复杂的法律程序，仍然不能保证离婚。这是平等吗？&lt;&#x2F;p&gt;
&lt;p&gt;每个男性证人都需要两名女性证人，这样，如果一个人忘记了，她们可以互相提醒真相。这到底是怎么回事不贬低妇女的智力呢？&lt;&#x2F;p&gt;
&lt;p&gt;在建立婚姻时，不需要妇女的肯定同意。她的沉默就足够了。这在什么世界是合理的？
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;IAmA&#x2F;comments&#x2F;58h5pd&#x2F;im_amani_the_founder_of_the_largest_online&#x2F;d91ybxq&#x2F;&quot;&gt;reddit comment&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;如果穆罕穆德生在今天，他会不会由于这些东西容易糜烂人们的心灵而禁止游戏，电视，电影等东西？&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;这种心态对生活在中东的妇女产生了严重后果。如果不能承认问题的根源，你要如何改善妇女的处境。
–&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;IAmA&#x2F;comments&#x2F;58h5pd&#x2F;im_amani_the_founder_of_the_largest_online&#x2F;d9196th&#x2F;&quot;&gt;reddit comment&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Q:
总有人说，原教旨主义的伊斯兰教是一个大问题，但其实本质上讲，伊斯兰的基本面才是真正的问题所在。你如何去改变整个宗教对妇女权利&#x2F;同性权利&#x2F;非信徒权利的看法？
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;IAmA&#x2F;comments&#x2F;58h5pd&#x2F;im_amani_the_founder_of_the_largest_online&#x2F;d90eyz4&#x2F;&quot;&gt;reddit comment&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A:
我的意思是，我不同意你问题的前提。对你来说，它“看起来”是什么样子并不重要，你提出仅仅基于你的观点来改变整个宗教的问题，这似乎没有得到研究等的支持，这是中东外交政策失败如何在更大范围内发生的一个缩影例子。&lt;&#x2F;p&gt;
&lt;p&gt;Q1: 你应该竞选公职，你甚至比现任总统候选人更善于回避问题！这是我见过的最灾难性的 AMA，也许这会帮助你意识到你的固执和自负实际上是一个问题。&lt;&#x2F;p&gt;
&lt;p&gt;Q2: 躲闪得很好。让我们再试一次问。你是否相信伊斯兰教作为一个整体必须解决其对待妇女、同性恋者和非信徒的核心问题？&lt;&#x2F;p&gt;
&lt;p&gt;Q3:
那么，我们只是不解决我们最神圣的书的内在编织中固有的问题吗？了解穆斯林国家的妇女权利或同性恋权利并不需要太多研究，即使是那些被认为是温和派的人也把妇女视为二等公民。你可以责怪外交政策，或者整天认为提问者无知，但真正的问题是非常清晰的。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;当我还是一个穆斯林的时候，你倾向于把所有的责任都归咎于西方和犹太复国主义者，却没有反省地看待伊斯兰教的问题。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;我只是不知道你怎么能颠倒是非，并以某种方式从垃圾中取出积极的信息。创造这个宗教的人不是你的朋友。他们从不关心你，也不关心你的姐妹。它一直都是关于控制的。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;即使中东有更多的民主国家，它们也将是不自由的民主国家。这仍然是大多数人的暴政。马利基在伊拉克的宗派暴力是多数人暴政的一个很好的例子。 –
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;IAmA&#x2F;comments&#x2F;58h5pd&#x2F;im_amani_the_founder_of_the_largest_online&#x2F;d918x3t&#x2F;&quot;&gt;reddit comment&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;在伊斯兰教中，死刑是对叛教的惩罚并不罕见。关于世界各地普通穆斯林的观点，有真实的数字。一起来看看吧。赞成对皈依者判处死刑的穆斯林百分比：&lt;&#x2F;p&gt;
&lt;p&gt;埃及 - 79%&lt;&#x2F;p&gt;
&lt;p&gt;巴基斯坦 - 76%&lt;&#x2F;p&gt;
&lt;p&gt;巴勒斯坦 - 66%&lt;&#x2F;p&gt;
&lt;p&gt;约旦 - 82%&lt;&#x2F;p&gt;
&lt;p&gt;马来西亚 - 62%&lt;&#x2F;p&gt;
&lt;p&gt;这种信仰是伊斯兰词许多地方的主要内容。即使在土耳其和印度尼西亚等被称为“温和”的地方，也有 17%和 18%的人持有这种信念。–
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;IAmA&#x2F;comments&#x2F;9vy9ug&#x2F;comment&#x2F;e9gst37&#x2F;?utm_source=reddit&amp;amp;utm_medium=web2x&amp;amp;context=3&quot;&gt;reddit comment&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;只有在公众眼中，伊斯兰价值观与宽容直接冲突时，你才会假装宽容。&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;IAmA&#x2F;comments&#x2F;9vy9ug&#x2F;comment&#x2F;e9htxnh&#x2F;?utm_source=reddit&amp;amp;utm_medium=web2x&amp;amp;context=3&quot;&gt;link&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;gong-kai-xuan-bu-tuo-chi-zong-jiao-de-wei-xian&quot;&gt;公开宣布脱离宗教的危险&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;对于许多前穆斯林来说，出柜是以他们与家人、朋友、社区和国家的关系为代价的。即使是直系亲属也可能表达极端反应以及威胁。&lt;&#x2F;li&gt;
&lt;li&gt;在向家人和社区出柜后，前穆斯林在许多情况下报告了各种极端反应，例如被迫接受&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Spirit_possession_and_exorcism_in_Islam&quot;&gt;驱魔&lt;&#x2F;a&gt;，受到生命威胁，以及被追逐以进行报复。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;dui-mu-si-lin-de-feng-ci&quot;&gt;对穆斯林的讽刺&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;fan-bo-luo-ji-lian&quot;&gt;反驳逻辑链&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;exmuslim&#x2F;comments&#x2F;nxdagg&#x2F;comment&#x2F;h1f2i8g&#x2F;?utm_source=reddit&amp;amp;utm_medium=web2x&amp;amp;context=3&quot;&gt;当你对古兰经的某句话有质疑时，一些西方穆斯林会这样反驳&lt;&#x2F;a&gt;：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;《古兰经》没说过这句话。&lt;&#x2F;li&gt;
&lt;li&gt;如果古兰经中的确有这句话，那这是误译。&lt;&#x2F;li&gt;
&lt;li&gt;如果确实不是误译，那这是你对古兰经的误解。&lt;&#x2F;li&gt;
&lt;li&gt;如果确实没有误解，那这是在断章取义。&lt;&#x2F;li&gt;
&lt;li&gt;如果确实也没有断章取义，那么这也没什么大不了的。&lt;&#x2F;li&gt;
&lt;li&gt;最后，如果这句话确实连最正统的穆斯林都没法洗白的话，那么，你有伊斯兰教恐惧症。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;gen-ju-mu-si-lin-de-shuo-fa-mu-han-mo-de-bu-shi-mu-si-lin&quot;&gt;根据穆斯林的说法，穆罕默德不是穆斯林&lt;&#x2F;h3&gt;
&lt;h2 id=&quot;yu-dao-de-tiao-zhan-yi-ji-yun-dong&quot;&gt;遇到的挑战以及运动&lt;&#x2F;h2&gt;
&lt;p&gt;根据 Ziv Orenstein&amp;amp;Itzchak
Weismann（2016）的说法，前穆斯林恰恰是普世人类价值观，人权和融合的最坚定支持者。他们通常反对控制穆斯林社区的分裂保守主义，反对在非穆斯林占多数的国家滥用“多元文化主义”的伪装外衣（经常得到非穆斯林左翼中的某个群体的支持，被称为&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Regressive_left&quot;&gt;“倒退左翼”&lt;&#x2F;a&gt;），只要它实际上使穆斯林少数民族社区内的这种保守控制得以持续存在。虽然前穆斯林在如何面对和打击宗教极端主义方面可能有不同的看法，但他们强烈反对宗教恐怖主义，以及强加伊斯兰教法（伊斯兰教法），（强制）戴头巾，以及独立的伊斯兰学校。&lt;&#x2F;p&gt;
&lt;p&gt;一些前穆斯林成立了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Ex-Muslims#Rise_of_European_ex-Muslim_councils_(2007)&quot;&gt;组织来帮助脱离宗教的人&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;2012 年 7 月，一名自称山姆·巴基尔（Sam Bacile）的男子在 YouTube
上发布了一段&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=qmodVun16Q4&quot;&gt;短视频&lt;&#x2F;a&gt;。它展示了先知穆罕默德与各种妇女相爱，参加血腥的战斗并宣称：“每个非穆斯林都是异教徒。他们的土地，他们的女人，他们的孩子都是我们的战利品。一位埃及脱口秀主持人谴责了它，不久之后，这部简短的废话电影引发了整个穆斯林世界乃至更远的骚乱。一个与基地组织有联系的组织谋杀了美国驻利比亚大使。阿富汗、澳大利亚、英国、法国和印度爆发了抗议活动。巴基斯坦鐵路部長向殺害這位電影製片人的人提供
10 萬美元的獎金，但並沒有被解僱。到月底，至少有 50 人死亡。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;qi-ta-links&quot;&gt;其他 Links&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Female_genital_mutilation&quot;&gt;女性生殖器割礼&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;exmuslims.in&#x2F;&quot;&gt;印度-前穆斯林社区&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>为什么法国变成了西方世界里穆斯林最讨厌的国家？</title>
        <published>2022-04-20T16:32:15+08:00</published>
        <updated>2022-04-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/france-islam/"/>
        <id>https://old.owenyoung.com/blog/france-islam/</id>
        
        <summary type="html">&lt;p&gt;今天学英语，看了半岛电视台的一个视频&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=fQJUaYQN4os&quot;&gt;法国，伊斯兰教，世俗主义&lt;&#x2F;a&gt;，和
Vice 的一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=d_l0n_kc_Fc&quot;&gt;为什么法国变成了西方世界里穆斯林最讨厌的国家&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;曾经的法国是穆斯林最喜欢的国家之一，并且由于法国反对美国入侵伊拉克，这种情绪在 2003 年达到了最高峰。为什么现在的法国变成了西方世界里穆斯林最讨厌的国家呢？&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/france-islam/">&lt;p&gt;今天学英语，看了半岛电视台的一个视频&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=fQJUaYQN4os&quot;&gt;法国，伊斯兰教，世俗主义&lt;&#x2F;a&gt;，和
Vice 的一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=d_l0n_kc_Fc&quot;&gt;为什么法国变成了西方世界里穆斯林最讨厌的国家&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;曾经的法国是穆斯林最喜欢的国家之一，并且由于法国反对美国入侵伊拉克，这种情绪在 2003 年达到了最高峰。为什么现在的法国变成了西方世界里穆斯林最讨厌的国家呢？&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;法国当前的情况是，有约一半的人信仰基督徒，1&#x2F;3 的人则没有任何宗教信仰，同时，在法国的穆斯林和犹太教人数是全欧洲最多的。&lt;&#x2F;p&gt;
&lt;p&gt;而随着法兰西共和国在 1789 年至 1830
年间从天主教会逐步解放出来，亵渎法不复存在。在法国，政教分离是宪法的一部分。根据其条款，政府和所有公共行政部门和服务部门必须不带宗教信仰，必须避免任何宗教展示，但公民和组织可以在他们希望的地方和地点自由地实践和表达他们选择的宗教（同时也禁止基于宗教的歧视）。但是近年来，对该法律的解释趋于严格，显示法国政府正致力于把宗教元素在公共生活中消失。比如
2004 年的法律禁止法国在校学生佩戴“公然”的宗教标志（不仅是伊斯兰教）；2015
年的一个法律条款禁止公共场合的私人雇员佩戴宗教标志，比如托儿所。近年来，总统宣誓也不再使用圣经。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Charlie_Hebdo_shooting&quot;&gt;2015 年查理周刊被伊斯兰教恐怖分子袭击的事件&lt;&#x2F;a&gt;震惊了全世界，此后法国主流民意对伊斯兰教越来越不友好。&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Murder_of_Samuel_Paty&quot;&gt;2020 年法国中学教师塞缪尔·帕蒂被一名 18 岁的车臣裔俄罗斯穆斯林难民谋杀后&lt;&#x2F;a&gt;，法国总统马克龙发表了一些强硬的反伊斯兰极端主义的言论，随后法国遭到穆斯林国家的大量抵制。这一系列事件导致法国现在是全西方国家里穆斯林最不喜欢的国家。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Charlie_Hebdo&quot;&gt;查理周刊&lt;&#x2F;a&gt;是一份法国讽刺性周刊，以漫画、报道、论战和笑话为特色，经常发表嘲笑天主教，犹太教，伊斯兰教和其他各种团体的内容。在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Charlie_Hebdo_shooting&quot;&gt;2015 年查理周刊恐怖袭击事件&lt;&#x2F;a&gt;袭击前，该刊已经被袭击过几次。该刊主编也被法国警察提供终生保护，他曾说过：“我们必须继续下去，直到伊斯兰教变得像天主教一样平庸”。有很多次该周刊在发表关于伊斯兰的讽刺性漫画系列后，法国关闭了自己在各个穆斯林国家的大使馆，以保护雇员不受到攻击。该主编和保护该主编的警察都在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Charlie_Hebdo_shooting&quot;&gt;2015 年查理周刊恐怖袭击事件&lt;&#x2F;a&gt;中丧生。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;另外摘抄几则该视频下的评论：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;作为一个英国人，我发现自己并不经常同意法国人的观点,
但在不担心被斩首的情况下说出自己想说的话的自由是一项不可剥夺的权利。如果你不能同意这一点，你就不属于西方民主国家。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“很明显，你不必展示伤害一些人的漫画来教导言论自由“。实际上，更明显的是，你不必杀人来向他们表明你不喜欢对你的宗教的嘲笑。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;法国是第一个废除宗教的国家（在法国大革命期间），我敢打赌他们不会仅仅因为宗教宽容而放弃自己的安全。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>关于穆斯林女性为什么要戴头巾的问题</title>
        <published>2022-04-12T23:19:15+08:00</published>
        <updated>2022-04-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/muslam-hijabs/"/>
        <id>https://old.owenyoung.com/blog/muslam-hijabs/</id>
        
        <summary type="html">&lt;p&gt;最近在看 Youtube
视频学英语，挺喜欢&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;channel&#x2F;UCLXo7UDZvByw2ixzpQCufnA&quot;&gt;Vox&lt;&#x2F;a&gt;的视频的，质量很高，又都有字幕。&lt;&#x2F;p&gt;
&lt;p&gt;今天看了 Vox
的一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLJ8cMiYb3G5dIu76T0o8smkqjHOz1-kUo&quot;&gt;关于穆斯林的秘密的系列&lt;&#x2F;a&gt;，主要是为了消除人们对穆斯林的刻板印象。视频做的挺好的，我从中学到了很多。&lt;&#x2F;p&gt;
&lt;p&gt;当我看到&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=DclppILcDcg&amp;amp;list=PLJ8cMiYb3G5dIu76T0o8smkqjHOz1-kUo&amp;amp;index=12&quot;&gt;穆斯林女性戴头巾指南&lt;&#x2F;a&gt;时，感觉这个视频有点不能说服我。因为我自己的生长环境，让我非常抵制集体主义，所以特别排斥这种强制（视频中的人由于生活在美国，所以并不是强制的，所以她们视为是虔诚的象征），但无关紧要的东西。然后看了评论区，发现有两个评论我挺喜欢的，所以就引用一下：&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/muslam-hijabs/">&lt;p&gt;最近在看 Youtube
视频学英语，挺喜欢&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;channel&#x2F;UCLXo7UDZvByw2ixzpQCufnA&quot;&gt;Vox&lt;&#x2F;a&gt;的视频的，质量很高，又都有字幕。&lt;&#x2F;p&gt;
&lt;p&gt;今天看了 Vox
的一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLJ8cMiYb3G5dIu76T0o8smkqjHOz1-kUo&quot;&gt;关于穆斯林的秘密的系列&lt;&#x2F;a&gt;，主要是为了消除人们对穆斯林的刻板印象。视频做的挺好的，我从中学到了很多。&lt;&#x2F;p&gt;
&lt;p&gt;当我看到&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=DclppILcDcg&amp;amp;list=PLJ8cMiYb3G5dIu76T0o8smkqjHOz1-kUo&amp;amp;index=12&quot;&gt;穆斯林女性戴头巾指南&lt;&#x2F;a&gt;时，感觉这个视频有点不能说服我。因为我自己的生长环境，让我非常抵制集体主义，所以特别排斥这种强制（视频中的人由于生活在美国，所以并不是强制的，所以她们视为是虔诚的象征），但无关紧要的东西。然后看了评论区，发现有两个评论我挺喜欢的，所以就引用一下：&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;inverseagonist-de-ping-lun&quot;&gt;InverseAgonist 的评论&lt;a class=&quot;zola-anchor&quot; href=&quot;#inverseagonist-de-ping-lun&quot; aria-label=&quot;Anchor link for: inverseagonist-de-ping-lun&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;我是正统的犹太人，我所在的社区的已婚妇女基本都会遮住头发（有时戴着假发）。我对此有非常复杂的感觉。首先，我认为歧视或迫害佩戴宗教标识的人绝对是错误的，但我也不会鼓励&#x2F;称赞你。是的，我对戴着十字架，锡克教头巾，佛教念珠，印度教&#x2F;耆那教宾迪，挂在裤子外面的
tzitzit，等等都有同样的感觉。
即使它给人的感觉是个人的，但它从根本上说是部落性的。即使你认为这是解放，它仍然会影响到关于谦虚和性的想法，这些想法被用来压迫其他地方的女性。这个问题有很多层次。我很感激通过引入主流穆斯林妇女谈论头巾来揭开头巾的神秘面纱，但这远非全貌。我们在这里掩盖了一些重要问题。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;lai-zi-oldmoviemusic-de-ping-lun&quot;&gt;来自 oldmoviemusic 的评论&lt;a class=&quot;zola-anchor&quot; href=&quot;#lai-zi-oldmoviemusic-de-ping-lun&quot; aria-label=&quot;Anchor link for: lai-zi-oldmoviemusic-de-ping-lun&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;这对视频里的所有女性都是好事，我为她们感到高兴，因为她们为戴头巾而感到自豪，她们完全有权利这样想。但是….
这个视频基本上让人觉得似乎所有的穆斯林妇女都是这样的，正是这种不诚实和在讨论头巾这样的复杂话题时缺乏细微差别的做法，让人们对
“自由派政治正确“感到厌烦。我也是一个自由主义者，但我们需要正确地批评和赞扬伊斯兰教的好与坏。这是一场思想的战争，我们需要接受伊斯兰教的优点，同时也要诚实地对待它的缺点。每个宗教都会自我改革，而且总是为了更好的发展。现在是伊斯兰教加入这个团体的时候了。&lt;&#x2F;p&gt;
&lt;p&gt;一旦全世界各国的妇女都能像这段视频中的妇女一样感受到–她们可以选择戴头巾或不戴头巾，那么头巾将不再被看作是压迫的象征。这些妇女拥有非常优越的视角和经验，她们不仅可以选择是否戴头巾，还可以选择戴头巾的方式和时间。再说一次，这对她们来说是好事，但在中东许多穆斯林占多数的国家，如果妇女不戴头巾，就会有严重的、可怕的后果，在一些地方，如果她不戴罩袍，也会有严重的后果。&lt;&#x2F;p&gt;
&lt;p&gt;我知道这个系列试图使西方穆斯林人性化，但你必须以一种真实和诚实的态度去做，否则就会让人觉得你在试图说服人们相信一些只与你自己经验有关的东西，而不是试图全面看待这个话题。如果穆斯林和自由主义者对坏事更加开放，人们就会更容易接受穆斯林和伊斯兰教的优点，因为他们会看到世俗的穆斯林正在反对以伊斯兰教的名义进行的压迫和恐怖，而且不幸的是，《古兰经》中确实存在这种情况。&lt;&#x2F;p&gt;
&lt;p&gt;仅仅把头巾描绘成信仰和奉献的象征，对于伊斯兰教目前在全世界的状况以及它对全世界妇女的待遇来说是不现实的。我们需要诚实地对待这个问题–对穆斯林的迫害当然是应受谴责和不道德的，但同时我们也需要进行公平的对话，讨论在穆斯林国家所做的许多事情也是应受谴责和不道德的，而妇女往往是这些行为的接受者。&lt;&#x2F;p&gt;
&lt;p&gt;一个话题变得越神秘，人们对它的怨恨就越多，你就会得到与你所争取的相反的结果–你得到的不是接受，而是恐惧，因为当人们感觉到不诚实时，他们就会害怕被隐藏的东西。给人们提供真相，包括它的好的和坏的，他们会以深思熟虑的态度回应，而不是以不信任的态度回应。&lt;&#x2F;p&gt;
&lt;p&gt;在这里，Vox
要诚实。如果在这次谈话中包括一个真正受到头巾压迫的人，或者一个与那些因不戴头巾而被家庭拒绝的妇女打交道的人，将是对这个话题更复杂的做法。如果你打算把这些视频称为
“穆斯林的秘密生活”，而不包括一些在这个宗教中受到残害的人，那么你就是不诚实的，是在推动一个议程，一个对人们来说很明显的议程，因此不会说服任何人。&lt;&#x2F;p&gt;
&lt;p&gt;用同情心和细微的差别来对待这个话题，你会给大家带来启迪。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>俄罗斯的现状</title>
        <published>2022-04-10T00:00:00+00:00</published>
        <updated>2022-04-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/articles/russia-verge-nervous-breakdown/"/>
        <id>https://old.owenyoung.com/blog/articles/russia-verge-nervous-breakdown/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;在俄罗斯，反对派不会站在反对派的立场上。公民不会为公民权利挺身而出。俄罗斯人民遭受着受害者情结的折磨：他们认为没有什么可以依靠他们，他们无法改变任何事情。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;1.4
亿人口处于昏昏欲睡的状态，濒临失去生存本能的最后一丝痕迹。他们憎恨当局，但对变革有一种病态的恐惧。他们感到不公正，但不能容忍活动家。他们憎恨官僚主义，但屈服于国家对生活各个领域的完全控制。他们害怕警察，但支持扩大警察的控制。他们知道自己不断被欺骗，但相信电视上给他们的谎言。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;虽然这种情况每天都在发生，但人们不会承认新闻可能是假的。偶尔，谎言会在网上被曝光，但只有少数人发现。即使是那些这样做的人也面临着破坏从外部来源（互联网，外国媒体，政治活动家等）获得的信息的宣传。所有这些都适合现成的“朋友对敌人”的模板。所有事实都是通过意识形态模板的棱镜来看待的——世界的滤色镜。关于普京朋友数十亿美元财富和腐败的突发新闻被塑造成“外国特工的影射”;呼吁改变俄罗斯的政治取向被贴上“亲美”的标签;呼吁停止乌克兰战争被视为“反俄”。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;这篇&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;granta.com&#x2F;russia-verge-nervous-breakdown&#x2F;&quot;&gt;俄罗斯处于精神崩溃的边缘&lt;&#x2F;a&gt;以一种近乎绝望的口吻在介绍如今的俄罗斯。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/articles/russia-verge-nervous-breakdown/">&lt;blockquote&gt;
&lt;p&gt;在俄罗斯，反对派不会站在反对派的立场上。公民不会为公民权利挺身而出。俄罗斯人民遭受着受害者情结的折磨：他们认为没有什么可以依靠他们，他们无法改变任何事情。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;1.4
亿人口处于昏昏欲睡的状态，濒临失去生存本能的最后一丝痕迹。他们憎恨当局，但对变革有一种病态的恐惧。他们感到不公正，但不能容忍活动家。他们憎恨官僚主义，但屈服于国家对生活各个领域的完全控制。他们害怕警察，但支持扩大警察的控制。他们知道自己不断被欺骗，但相信电视上给他们的谎言。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;虽然这种情况每天都在发生，但人们不会承认新闻可能是假的。偶尔，谎言会在网上被曝光，但只有少数人发现。即使是那些这样做的人也面临着破坏从外部来源（互联网，外国媒体，政治活动家等）获得的信息的宣传。所有这些都适合现成的“朋友对敌人”的模板。所有事实都是通过意识形态模板的棱镜来看待的——世界的滤色镜。关于普京朋友数十亿美元财富和腐败的突发新闻被塑造成“外国特工的影射”;呼吁改变俄罗斯的政治取向被贴上“亲美”的标签;呼吁停止乌克兰战争被视为“反俄”。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;这篇&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;granta.com&#x2F;russia-verge-nervous-breakdown&#x2F;&quot;&gt;俄罗斯处于精神崩溃的边缘&lt;&#x2F;a&gt;以一种近乎绝望的口吻在介绍如今的俄罗斯。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;yuan-wen-zhai-chao&quot;&gt;原文摘抄&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;习得性无助最早是由美国心理学家马丁·塞利格曼（Martin
Seligman）描述的。他将两组狗暴露在电击之下。第一组的狗可以通过用鼻子按压面板来停止冲击;第二组没有控制权。这些狗被转移到一个新的共享环境中，有一个低矮的隔墙。当他们受到冲击时，第一组跳过墙壁逃脱。第二组什么也没做。俄罗斯人民已经变得像第二群狗一样。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;我们的大众媒体受到政府的控制——无论是通过间接购买还是恐吓——并且可以分为亲克里姆林宫和伪独立分支。无论你看什么，都是一样的：虚假报道，政客们相互矛盾，总统的个人崇拜，虚假信息运动，与行动相矛盾的言论，对现有法律的荒谬补充，以及杜马代表的疯狂倡议 -
所有这些都使人们陷入一种持续的压力状态，这已经成为我们的生活方式。即使偶尔看新闻也感觉像是脑外伤——每天看电视是一种自愿的脑叶切除术。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;俄罗斯是一个生活在矛盾中的国家。例如，总统告诉我们，他正在与寡头们作斗争，然后向这些寡头颁发“为国家服务”的奖章。或者政府告诉我们，消费品的价格不会上涨，一个月后，价格翻了一番。或者教会教导我们，贪婪是一种罪，“骆驼穿过针眼比富人进入天国更容易”，而族长则乘坐车队，与富人和强大的人交朋友。或者官员们告诉我们，乌克兰没有俄罗斯士兵，而媒体却不断谈论俄罗斯在乌克兰前线的军事成功。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;为了抵消更明显的矛盾，一些代表、神职人员和文化人士经常发表故意不可接受的言论，并提出荒谬的举措来震惊公众，以便这些言论可以被更高的权力慷慨地拒绝。这种形式的立法倡议包括禁止堕胎，惩罚同性恋行为，使二十三岁以上的无子女妇女必须服兵役，如果人们与外国人结婚，剥夺他们的俄罗斯公民身份，判处没有丈夫去海滩度假胜地的母亲十年监禁，将电视上的坏消息限制在广播时间的百分之十，
禁止在学校教授进化论，等等。他们从来不知道当局的真实意图，永远期待一项新的疯狂法律获得通过，人民感到沮丧，对自己的命运漠不关心。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;对于那些对现在感到羞耻和害怕未来的人来说，剩下的就是对过去的骄傲。当没有理由爱你的国家时，恨你的邻居。如果你无法改善自己的生活，那就毁掉别人的生活。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;在俄国，人们与国家事务疏远，而狭隘的统治阶级则像管理自己的私有财产一样管理着国家的资源。为了安抚人民被践踏的尊严，政府强调民族自豪感。为了分散他们对争取人权的斗争的注意力，他们被提出战争。为什么我们如此轻易地忘记乌克兰是我们兄弟国家？为什么我们心甘情愿地去另一个国家“建立秩序”，而我们迫切需要恢复我们自己的秩序？俄罗斯人总是被告知要恨谁：美国人，乌克兰人，中国人，德国人。愤怒将我们的注意力从日常的不公正转移到帝国主义的愿望上。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;俄罗斯的另一个症状是抽刀向更弱者。尼古拉斯-丁伯根（Nikolaas
Tinbergen）提出了这个概念，即任何缓解紧张局势而不解决问题的行为。例如，一个老板在与妻子争吵后对他的下属大喊大叫，然后这个下属害怕回嘴，在家里与妻子争吵。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;这是俄罗斯人的日常事务。当我们的无能当局，消费品价格飙升，失业率上升，人们无法改变政府或追究其责任时，他们就会把挫折感指向美国总统或乌克兰人民。工厂、医院和学校被关闭的一个省级小镇的居民自愿在顿巴斯战斗。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;俄罗斯三分之一的男性人口的寿命不足以领取养老金，8%的人生活在贫困线以下。这是一个拥有 131 位亿万富翁和 18 万富翁的国家。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;但我们不会在新闻中听到任何这些。为什么一个注定要失败的民族想要听到他们的命运？&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;年轻人没有前途，成年人没有工作，老年人没有养老金。在各省，数百万人生活在没有现代便利设施的地方，在农村，他们生活在破旧的房屋中，那里有木制的外屋，可以像一百年前一样。他们没有中央供暖系统，而是有柴炉;在“石油和天然气帝国”中，许多公民只梦想天然气供应。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;但即使是最落后的地区也已经实现了文明的一个标志 -
卫星天线几乎在每个房子上都像耳朵一样伸出来。晚上，肮脏的城镇和垂死的村庄的居民盯着电视屏幕，听着政治分析家、经济学家和各种专家告诉他们，全世界多么憎恨我们，仅仅因为我们是俄罗斯人。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;少数仍然意识到我们所生活的状态的人是“抑郁现实主义者”——这个词描述了那些做出现实评估的人，他们不那么容易上当受骗，因此更难操纵。成为一个抑郁的现实主义者并不容易——做一个快乐的白痴要容易得多。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;一个沮丧的现实主义者看到普京的朋友向西方银行、他们的游艇和豪宅投入数十亿美元，会有什么感觉？无助，绝望的愤慨，当然。但这种感觉只会伤害心灵，加剧他们的痛苦。正因为如此，他们倾向于防御性解释，努力为这种事态找到合理的依据。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;一般人开始钦佩“精英”，告诉自己政治家，商人和官僚所拥有的巨大财富归功于他们的杰出品质。即使某个骗子花了十亿美元买了一艘游艇，而你没有钱支付手术费用，部长的妻子在欧洲租了一整家酒店，而他们关闭了你镇上的最后一个产科病房，你也不能一直为此生气。人类的情感是有限度的。这要简单得多，心理上也要舒服得多，要与这种情况和解，并承认你是一个二流的人。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;但是，受虐狂伴侣和虐待狂一样喜欢受虐狂的关系。在俄国，我们在苦难中理想化并寻求神圣的意义。爱国主义和东正教文学充满了这样的思想：俄罗斯人民是殉道者和激情承载者，最耐心和温顺，受到上帝之母的保护 -
但与此同时，正如俄罗斯东正教教会告诉我们的那样，他们正在忍受在苏联统治七十年期间犯下的罪孽的惩罚。因此，他们的虔诚，甚至狂喜的虔诚，以及宣扬悔改和谦卑的神职人员日益增长的影响力。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>你所感受到的并不只是一种氛围转变，这是永久性的改变</title>
        <published>2022-04-10T00:00:00+00:00</published>
        <updated>2022-04-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/articles/vibe-shift-war-in-ukraine/"/>
        <id>https://old.owenyoung.com/blog/articles/vibe-shift-war-in-ukraine/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;我出生在全球稳定时间最长的时期。现在，似乎所有这些都是转瞬即逝的。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;这篇&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzfeednews.com&#x2F;article&#x2F;elaminabdelmahmoud&#x2F;vibe-shift-war-in-ukraine&quot;&gt;你所感受到的并不只是一种氛围转变，这是永久性的改变&lt;&#x2F;a&gt;
审视了如今的自由世界，探讨了我们如今的处境，以及富人和穷人，公众对政府的信任，公众对媒体的信任。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/articles/vibe-shift-war-in-ukraine/">&lt;blockquote&gt;
&lt;p&gt;我出生在全球稳定时间最长的时期。现在，似乎所有这些都是转瞬即逝的。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;这篇&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzfeednews.com&#x2F;article&#x2F;elaminabdelmahmoud&#x2F;vibe-shift-war-in-ukraine&quot;&gt;你所感受到的并不只是一种氛围转变，这是永久性的改变&lt;&#x2F;a&gt;
审视了如今的自由世界，探讨了我们如今的处境，以及富人和穷人，公众对政府的信任，公众对媒体的信任。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;yuan-wen-zhai-chao&quot;&gt;原文摘抄&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;几个月来，美国情报部门一直声称俄罗斯打算入侵乌克兰。情报是正确的，这是令人振奋的。但它也提出了另一个问题：为什么美国不采取任何措施来阻止它？美国仍然以自己是世界的道德指南针、自由秩序的守护者而自豪。为什么它不采取行动？我们为什么不召集北约及其盟国采取行动？&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;然后乌克兰人开始反击。在一场令人振奋的抵抗运动中，乌克兰人——由一位有魅力和直接的总统领导——提出他们想加入他们听说过的全球自由主义梦想。乌克兰人民非但没有在俄罗斯军事力量面前折腾，反而利用社交媒体讲述了一个连贯而感人的民族认同故事。从本质上讲，普通乌克兰人利用西方化的论点作为武器：我们在这里，展示你所宣扬和声称捍卫的价值观 -
自由，开放，透明和民族自豪感 - 所以你会来捍卫我们吗？&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;这种死亡的正常化与面对气候变化时失败的正常化——或者至少是默许的听天由命——背道而驰。科学家们可能已经开始用尽同义词和期刊批准的方式来表达“如果我们现在不对气候变化做些什么，很多人将会死去，我们所知道的生活将会改变。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>知道该做什么和真正去做之间的差距是巨大的</title>
        <published>2022-04-06T00:00:00+00:00</published>
        <updated>2022-04-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/know-vs-do/"/>
        <id>https://old.owenyoung.com/blog/know-vs-do/</id>
        
        <summary type="html">&lt;p&gt;有一位医生曾经被问到：“你工作中最难的部分是什么？”。医生回答：“不是压力或责任，那些都太基本了，最难的是让我的病人按照我要求的去做。“&lt;&#x2F;p&gt;
&lt;p&gt;如果你去看过病，你就会知道，医生有的时候嘱咐我们该吃什么，以及不该吃什么。我们知道医生是对的，这代表我们会严格遵守医嘱吗？不，正常情况下，我们可能只会在前几天有所注意，过不了多久我们又会回到自己以前的生活方式。我们只期待那该死的药能帮我们快捷的解决所有问题。&lt;&#x2F;p&gt;
&lt;p&gt;类似的我们知道不该做事情还有很多，比如抽烟，酗酒，社交网络成瘾，打游戏等等，我们都知道这样做是不对的，但是大多数人真的很难克制去这样做（对我来说是社交网络）。&lt;&#x2F;p&gt;
&lt;p&gt;而该做的事情，比如说多读书，吃健康的食品，保持运动等等，我们也都知道该做这些事情，但是为什么就那么难做到呢？&lt;&#x2F;p&gt;
&lt;p&gt;为什么知道该做什么或不该做什么和真正去做或真正克制自己不去做之间的差距这么的巨大？&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/know-vs-do/">&lt;p&gt;有一位医生曾经被问到：“你工作中最难的部分是什么？”。医生回答：“不是压力或责任，那些都太基本了，最难的是让我的病人按照我要求的去做。“&lt;&#x2F;p&gt;
&lt;p&gt;如果你去看过病，你就会知道，医生有的时候嘱咐我们该吃什么，以及不该吃什么。我们知道医生是对的，这代表我们会严格遵守医嘱吗？不，正常情况下，我们可能只会在前几天有所注意，过不了多久我们又会回到自己以前的生活方式。我们只期待那该死的药能帮我们快捷的解决所有问题。&lt;&#x2F;p&gt;
&lt;p&gt;类似的我们知道不该做事情还有很多，比如抽烟，酗酒，社交网络成瘾，打游戏等等，我们都知道这样做是不对的，但是大多数人真的很难克制去这样做（对我来说是社交网络）。&lt;&#x2F;p&gt;
&lt;p&gt;而该做的事情，比如说多读书，吃健康的食品，保持运动等等，我们也都知道该做这些事情，但是为什么就那么难做到呢？&lt;&#x2F;p&gt;
&lt;p&gt;为什么知道该做什么或不该做什么和真正去做或真正克制自己不去做之间的差距这么的巨大？&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;我的观点是：&lt;strong&gt;我们其实并不真正知道我们该做什么和不该做什么。&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;实际上，我们对这些事情只有一个模糊的概念，我们知道该吃健康的食物，但是我们有多了解这个问题？我们知道不该整天浪费时间刷社交网络，但是有多不该？为什么不该？&lt;&#x2F;p&gt;
&lt;p&gt;但是要真正解决一个问题，&lt;strong&gt;我们必须首先要了解它才行。这不能是只知道一个口号或者概念&lt;&#x2F;strong&gt;。&lt;&#x2F;p&gt;
&lt;p&gt;如何真正了解？我认为&lt;strong&gt;只能通过大量阅读相关的书籍&lt;&#x2F;strong&gt;。&lt;&#x2F;p&gt;
&lt;p&gt;为什么在有选择的情况下，我们应该通过读书去了解相关概念而不是通过阅读文章呢？&lt;&#x2F;p&gt;
&lt;p&gt;要知道，每一本书都是有人坐下来，花了几个月（或几年）的时间组织需要的信息，然后再由一位或者几位专业的图书编辑校对，整理，而我们可以在几个小时内就把所有的这些成果都放在我们的脑海中。&lt;&#x2F;p&gt;
&lt;p&gt;如果一个人有能力能“扯”出一本书的话，那么他肯定比只能“扯”出一篇文章的人做了更多的研究和思考。他会在写书的过程中多次帮我们去搜集各种资料，抽象各种东西，最终才能汇总成一本书。而这本书要出版还需要经过编辑的大量校对，整理，润色，最终才能来到我们的手上。&lt;&#x2F;p&gt;
&lt;p&gt;这位写书的人，一般来说，他已写过大量的文章（而即使是写文章，也需要大量的储备和信息的整理），只有这样，出版社的人才会注意到他，然后他会付出了比写文章多十倍的努力，然后才能慢慢凝结成一本能出版的书。&lt;&#x2F;p&gt;
&lt;p&gt;而我们将受益于他的思考和整理，得以深入了解我们关心的事情的本质。那些不看书的人，就只能凭自己的直觉，经验，然后再夹杂一些别人碎片化的思考来指导自己的想法和行事。&lt;&#x2F;p&gt;
&lt;p&gt;以我自己为例，直到现在，我才敢说自己能稍稍克服刷社交网络的问题。这本&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;books&#x2F;stolen-focus&#x2F;&quot;&gt;被偷走的注意力&lt;&#x2F;a&gt;对我影响巨大。在读了这本书之后，我才意识到，注意力问题已不是个人的问题，这是全世界，整个系统相互作用的结果，个人和社会在这种系统的影响下，已经失去了专注的能力，而这恰恰是我们最需要的能力。如果我没读这本书，我永远不会意识到这个问题有多严重，我们的意志力在面对社交网络时为什么会失败。&lt;&#x2F;p&gt;
&lt;p&gt;当我们真正了解问题的时候，我们才可能真正做出持久的改变。反之如果只是模糊的知道，那我们可能永远都不会有真正的改变。&lt;&#x2F;p&gt;
&lt;p&gt;这就是我的观点。&lt;&#x2F;p&gt;
&lt;p&gt;但是这里其实有一个很大的问题，就是读书。读书是一件很多人都知道自己该去做的事，但是却没有真正去做。按照我的观点，我们只有通过多读书，才能真正的了解读书的意义，然后才可能做到持续的读书。&lt;&#x2F;p&gt;
&lt;p&gt;这就有点悖论了，如何开始呢？&lt;&#x2F;p&gt;
&lt;p&gt;坦白说，这个问题我并不知道如何解决。如果你现在已经真正意识到读书的重要性，并且实际上也在一直读书，那么你真的很幸运。&lt;&#x2F;p&gt;
&lt;p&gt;其他那些只意识到我们应该多读书，但是没有实际这样做的人，我只能建议你尽可能多为自己创造能读书的条件，这样你才可能通过读书而真正的爱上读书。也许是买一些书，也许是买一个电子书设备，也许是查看我整理的&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;books-guide&#x2F;&quot;&gt;阅读指南&lt;&#x2F;a&gt;，或许你会在里面发现自己感兴趣的读物，开始自己的读书之旅。&lt;&#x2F;p&gt;
&lt;p&gt;希望你能如此的幸运而真正的爱上读书，继而通过读书来了解各种问题，最终能真正的去做或者克制自己去做那些重要的事情。&lt;&#x2F;p&gt;
&lt;p&gt;最后分享乔治·R·R·马丁说过的一句话：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;一个读者在死前活了一千次，但是从不读书的人只活了一次。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>迁移博客和Wiki到 Zola</title>
        <published>2022-04-06T00:00:00+00:00</published>
        <updated>2022-04-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/migrate-to-zola/"/>
        <id>https://old.owenyoung.com/blog/migrate-to-zola/</id>
        
        <summary type="html">&lt;p&gt;我在之前建立了一个个人的公开 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;wiki.owenyoung.com&#x2F;&quot;&gt;Wiki&lt;&#x2F;a&gt;和
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.owenyoung.com&#x2F;&quot;&gt;Blog&lt;&#x2F;a&gt;，这让我养成了记笔记，多写东西的习惯。但是随着时间的增长，我感到维护 2 个 repo
实在有点麻烦，并且由于 Wiki
和博客都是基于&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;gatsby-cons&#x2F;&quot;&gt;Gatsby 框架&lt;&#x2F;a&gt;的，更新，维护，还有编译都挺花时间的。&lt;&#x2F;p&gt;
&lt;p&gt;总的来说就是太复杂了，而由于我对自己的&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;about-notes&#x2F;&quot;&gt;笔记&#x2F;博客系统&lt;&#x2F;a&gt;是以一生的尺度去设计和维护的，所以我想让它保持简单。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/migrate-to-zola/">&lt;p&gt;我在之前建立了一个个人的公开 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;wiki.owenyoung.com&#x2F;&quot;&gt;Wiki&lt;&#x2F;a&gt;和
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.owenyoung.com&#x2F;&quot;&gt;Blog&lt;&#x2F;a&gt;，这让我养成了记笔记，多写东西的习惯。但是随着时间的增长，我感到维护 2 个 repo
实在有点麻烦，并且由于 Wiki
和博客都是基于&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;gatsby-cons&#x2F;&quot;&gt;Gatsby 框架&lt;&#x2F;a&gt;的，更新，维护，还有编译都挺花时间的。&lt;&#x2F;p&gt;
&lt;p&gt;总的来说就是太复杂了，而由于我对自己的&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;about-notes&#x2F;&quot;&gt;笔记&#x2F;博客系统&lt;&#x2F;a&gt;是以一生的尺度去设计和维护的，所以我想让它保持简单。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;&lt;strong&gt;所以这个博客现在拥有了以下特性：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;te-xing&quot;&gt;特性&lt;a class=&quot;zola-anchor&quot; href=&quot;#te-xing&quot; aria-label=&quot;Anchor link for: te-xing&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;由&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;tree&#x2F;main&#x2F;bin&quot;&gt;单一的二进制文件&lt;&#x2F;a&gt;驱动（为了更简单，我把那个二进制文件直接放在这个
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&quot;&gt;repo&lt;&#x2F;a&gt; 里了，所以这个博客相当于是自运行的，不依赖任何外部环境）&lt;&#x2F;li&gt;
&lt;li&gt;这个博客实际上是由&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.getzola.org&#x2F;&quot;&gt;Zola&lt;&#x2F;a&gt;驱动的，Zola 是用 Rust 写的，非常快，目前我的博客在
Github Actions
里从开始到部署完成只需要&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;runs&#x2F;5845460900?check_suite_focus=true&quot;&gt;14s&lt;&#x2F;a&gt;，实际构建时间只需要
2s。而之前用 Gatsby 搭建的 Wiki
站点，总共需要&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;wiki&#x2F;runs&#x2F;5684155852?check_suite_focus=true&quot;&gt;4 分钟&lt;&#x2F;a&gt;构建完成,
Blog
站点总共要&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;theowenyoung.github.io&#x2F;runs&#x2F;5845524376?check_suite_focus=true&quot;&gt;3m 37s&lt;&#x2F;a&gt;才能完成&lt;&#x2F;li&gt;
&lt;li&gt;所有的样式都在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;blob&#x2F;main&#x2F;static&#x2F;site&#x2F;styles&#x2F;site.css&quot;&gt;一个简单的 CSS 文件里&lt;&#x2F;a&gt;，全是手写的。保持样式文件的简单，有助于后续的持续维护。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.owenyoung.com&#x2F;&quot;&gt;同时支持&lt;&#x2F;a&gt;
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.owenyoung.com&#x2F;blog&#x2F;&quot;&gt;普通文章&lt;&#x2F;a&gt;，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.owenyoung.com&#x2F;categories&#x2F;notes&#x2F;&quot;&gt;笔记&lt;&#x2F;a&gt;，和&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.owenyoung.com&#x2F;thoughts&#x2F;&quot;&gt;短想法&lt;&#x2F;a&gt;，而且，维护很简单，所有文件都只是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;blog&#x2F;tree&#x2F;main&#x2F;content&quot;&gt;一个个的 Markdown 文件&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;dui-zola-bu-man-yi-de-dian&quot;&gt;对 Zola 不满意的点&lt;a class=&quot;zola-anchor&quot; href=&quot;#dui-zola-bu-man-yi-de-dian&quot; aria-label=&quot;Anchor link for: dui-zola-bu-man-yi-de-dian&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;Zola 有一些约束和约定俗成的东西，大多数是比较深思熟虑的限制，我最苦恼的一点就是他不支持把 Markdown 里的相对链接转成 html
的链接。相对链接自动转换这一点的限制其实是合理的，我以前写过&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;gatsby-theme-primer-wiki&#x2F;tree&#x2F;main&#x2F;gatsby-relative-path-to-slug&quot;&gt;Gatsby 的插件&lt;&#x2F;a&gt;去转换相对链接，但是逻辑其实很恶心，因为
markdown 的文件层级和 html 的文件层级其实是不一样的，对 markdown 来说是&lt;code&gt;xxx.md&lt;&#x2F;code&gt;,但是对 HTML 来说是
&lt;code&gt;xxx&#x2F;index.html&lt;&#x2F;code&gt;, 但是有的时候又是一样的,比如&lt;code&gt;xxx&#x2F;index.md&lt;&#x2F;code&gt; 同样是 &lt;code&gt;xxx&#x2F;index.html&lt;&#x2F;code&gt;.
所以我的插件转换需要约定不少东西，挺恶心的。而&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.getzola.org&#x2F;documentation&#x2F;content&#x2F;linking&#x2F;#internal-links&quot;&gt;Zola 的办法就很简单粗暴&lt;&#x2F;a&gt;，他刻意不帮你转换这些东西，只替换包含特殊符号的链接，比如&lt;code&gt;@&#x2F;xxx.md&lt;&#x2F;code&gt;，它会把这类链接统一替换按照正确的路径替换，这样就容易多了.&lt;&#x2F;p&gt;
&lt;p&gt;但是像这样&lt;code&gt;[xxx](@&#x2F;xxxm.d)&lt;&#x2F;code&gt;写链接的话，本地文件系统的相互链接就不工作了,编辑器不知道&lt;code&gt;@&lt;&#x2F;code&gt;是什么，这很令人苦恼。&lt;&#x2F;p&gt;
&lt;p&gt;我就这个问题在 Zola
的论坛提了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;zola.discourse.group&#x2F;t&#x2F;custom-content-dir-or-support-absolute-internal-link&#x2F;1242&quot;&gt;一个替代办法&lt;&#x2F;a&gt;，主要就是不用&lt;code&gt;@&lt;&#x2F;code&gt;做为特殊符号，直接用&lt;code&gt;&#x2F;content&lt;&#x2F;code&gt;作为特殊符号，这样本地链接就其实是一个合法的内部绝对链接，像这样：&lt;code&gt;[xxx](@&#x2F;xxx.md)&lt;&#x2F;code&gt;，但是
Zola 还没接受我的请求，所以我&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;zola&quot;&gt;改动了 Zola 的代码，改动很少，就几行&lt;&#x2F;a&gt;,
现在我可以用 &lt;code&gt;&#x2F;content&#x2F;xxx.md&lt;&#x2F;code&gt;的形式作为内部链接。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;ru-he-bian-ji&quot;&gt;如何编辑&lt;a class=&quot;zola-anchor&quot; href=&quot;#ru-he-bian-ji&quot; aria-label=&quot;Anchor link for: ru-he-bian-ji&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;在编辑方面，我在使用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;code.visualstudio.com&#x2F;&quot;&gt;VSCode&lt;&#x2F;a&gt;配合我开发的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;marketplace.visualstudio.com&#x2F;items?itemName=theowenyoung.foam-lite-vscode&quot;&gt;Markdown 输入插件 Foam Lite&lt;&#x2F;a&gt;来编辑这个博客的所有内容。我更喜欢文本辅助输入工具，而不希望软件修改我的原文数据格式。这让我更有掌控感以及不被运营商锁定。&lt;&#x2F;p&gt;
&lt;p&gt;试过&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;obsidian.md&#x2F;&quot;&gt;Obsidian&lt;&#x2F;a&gt;几次，很喜欢他的一些实用的功能，但是发现他的性能还是和 VS Code
差很多的。所以还是用回了 VSCode，然后把最需要的 Obsidian 功能：快捷输入内部文档的 Markdown 链接，改写了一个 VSCode
插件&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;marketplace.visualstudio.com&#x2F;items?itemName=theowenyoung.foam-lite-vscode&quot;&gt;Foam Lite&lt;&#x2F;a&gt;解决了。&lt;&#x2F;p&gt;
&lt;p&gt;这个插件目前只拥有 2 个功能，一个是快捷生成内部链接的地址：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;migrate-to-zola&#x2F;.&#x2F;foam-lite.gif&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;另一个就是快速从模版生成初始文章。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>不要再碎片化笔记了 - 关于笔记的思考</title>
        <published>2022-03-10T00:00:00+00:00</published>
        <updated>2022-03-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/about-notes/"/>
        <id>https://old.owenyoung.com/blog/about-notes/</id>
        
        <summary type="html">&lt;p&gt;笔记很重要，一个好的笔记系统应该以一生的尺度去设计和维护，让我们自己受益一生。&lt;&#x2F;p&gt;
&lt;p&gt;所以：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;非运营商锁定很重要，离线很重要，我们不能指望一个公司，或者一个在线服务能服务好一个以一生为尺度的个人系统。&lt;&#x2F;li&gt;
&lt;li&gt;笔记其实很简单，纯文本文件作为笔记完全够用，我们不需要任何运营商绑定的服务，重要的是笔记的内容，而不是形式。我们可以有很多辅助性的工具，但是最终的储存一定是一个简单易读的纯文本文件。进可攻，退可守！&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/about-notes/">&lt;p&gt;笔记很重要，一个好的笔记系统应该以一生的尺度去设计和维护，让我们自己受益一生。&lt;&#x2F;p&gt;
&lt;p&gt;所以：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;非运营商锁定很重要，离线很重要，我们不能指望一个公司，或者一个在线服务能服务好一个以一生为尺度的个人系统。&lt;&#x2F;li&gt;
&lt;li&gt;笔记其实很简单，纯文本文件作为笔记完全够用，我们不需要任何运营商绑定的服务，重要的是笔记的内容，而不是形式。我们可以有很多辅助性的工具，但是最终的储存一定是一个简单易读的纯文本文件。进可攻，退可守！&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;所以我的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;wiki&quot;&gt;以一生为尺度设计的笔记系统&lt;&#x2F;a&gt;就是一个纯文本的文件夹，里面保存了我所有能公开的笔记。至于公开笔记的原因，一方面，公开笔记能让我更有动力一直维护下去，另一方面，也许在某时可以给别人某种灵感，这会让我很满足。&lt;&#x2F;p&gt;
&lt;p&gt;近年来越来越多的人开始用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;zhuanlan.zhihu.com&#x2F;p&#x2F;258561003&quot;&gt;卢曼卡片盒笔记法&lt;&#x2F;a&gt;来记笔记，大多数人都是倾向于建立大量的笔记，然后再把这些笔记互相链接起来，以形成一个所谓的第二大脑。我的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;wiki.owenyoung.com&#x2F;&quot;&gt;笔记系统&lt;&#x2F;a&gt;的也采用了这种形式。现在的链接情况大概是这个样子的：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;about-notes&#x2F;.&#x2F;note-cuts.jpg&quot; alt=&quot;note-cuts&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;大概快记了一年吧，笔记条目现在急剧增加，我发现多卡片式的笔记系统开始出现经典的“日记问题”，类似我们以前可能会写很多日记，但是随着时间的增长，这些日记其实已经变成了一个类似&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;archiveprogram.github.com&#x2F;&quot;&gt;Github 北极封存&lt;&#x2F;a&gt;的项目了。由于条目过多，所以很困难去再次检索，翻阅。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;关于日记方面，现在其实有一个很好的记录形式，就是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;bulletjournal.com&#x2F;&quot;&gt;子弹日记&lt;&#x2F;a&gt;
，清晰明了的格式，只记最重要的东西，以及索引日记。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;笔记多了，即使有“第二大脑”的帮助下，你也会发现，很难通过卡片间找到灵感，因为卡片是在是太多了，仅仅通过卡片间互相链接的形式很容易忘记&#x2F;错过某些过去的卡片。我目前的采用的办法是：归类，而且归的类越少越好。事实证明纯文本很强大，一个纯文本文件可以放进去超级多内容而大小并不会有多少
K。比如说，如果你在一个纯文本文件里面发送&#x2F;放置你的原创推特，假设你平均每天发一条推特，假设你是活到 100 岁，其实这个推特的纯文本文件只有 36500
行，对于一个纯文本文件来说，这并不算太大。
我就用这个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;theowenyoung&#x2F;blog&#x2F;main&#x2F;content&#x2F;thoughts.md&quot;&gt;纯文本文件&lt;&#x2F;a&gt;记录我的短想法。还有个很有名的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;buckket&#x2F;twtxt&quot;&gt;twtxt&lt;&#x2F;a&gt;标准，就是用一个换行符作为分割的
txt 文件写推特。&lt;&#x2F;p&gt;
&lt;p&gt;以下是我目前整理出的大多数人可能会需要的几个纯文本文件笔记类型：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;quotes, 记录一些别人的话，&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;quotes&#x2F;&quot;&gt;收集发人深省的话&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;thoughts, 记录一些自己的话,&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;thoughts&#x2F;&quot;&gt;短想法&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;journal, 日记，可按照不同年份保存，&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;journal-2022&#x2F;&quot;&gt;2022 年的一些记录&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;tools, 记录好用的工具，&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;tools&#x2F;&quot;&gt;最好用的工具集合&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;articles, 记录好文章, &lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;articles&#x2F;&quot;&gt;收集值得阅读的文章&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;sources, 记录常用的内容源， &lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;sources&#x2F;&quot;&gt;探索互联网上高质量的内容&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;answers，记录一些好的答案，&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;answers&#x2F;&quot;&gt;有意思的问题收集&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;inspires, 记录一些启发灵感的，有意思的东西, &lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;inspires&#x2F;&quot;&gt;收集一些给人灵感的东西&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;tips，记录一些常用的技巧 &lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;tips&#x2F;&quot;&gt;生活技巧&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;以上这些就是我觉得大多数人都需要的一些公共类型的笔记，其他的类型就根据自己的类型来分类了。原则就是尽量少一点类型，这样更容易碰撞灵感和回顾，整理。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>手机可能是人类最有害的发明</title>
        <published>2022-03-10T00:00:00+00:00</published>
        <updated>2022-03-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/mobile-may-be-the-worst-tool/"/>
        <id>https://old.owenyoung.com/blog/mobile-may-be-the-worst-tool/</id>
        
        <summary type="html">&lt;p&gt;手机可能是人类最有害的发明，实在是让你太方便被它吸取注意力了。&lt;&#x2F;p&gt;
&lt;p&gt;而且上瘾程度已经不能说这是属于个人责任范围了。从普通人到高级知识分子，大都很难抵挡它的诱惑力。也许这和吸烟一样，需要长达几十年的时间才能让人们意识到它的危害，以至于必须作出限制。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/mobile-may-be-the-worst-tool/">&lt;p&gt;手机可能是人类最有害的发明，实在是让你太方便被它吸取注意力了。&lt;&#x2F;p&gt;
&lt;p&gt;而且上瘾程度已经不能说这是属于个人责任范围了。从普通人到高级知识分子，大都很难抵挡它的诱惑力。也许这和吸烟一样，需要长达几十年的时间才能让人们意识到它的危害，以至于必须作出限制。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;我在大多数方面都是自由主义，但是对于这件事，我想也许国家是应该出台政策，就像电影分级，吸烟一样，由第三方机构给注意力吸取的网站&#x2F;服务作出分类，然后作出一定限制，比如说限制他们不要用算法，限制他们不要用无限滚动，限制人们每天只能在这个网站上待
30 分钟，然后就强制退出。&lt;&#x2F;p&gt;
&lt;p&gt;一个简单的前期替代办法是：鼓励手机厂商生产只有简单功能的手机，这个手机没有浏览器，只能每小时同步一次信息。为了简化手机厂商的开发难度，我还想了几点：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;该手机被设计为只支持&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;gemini.circumlunar.space&#x2F;&quot;&gt;Gemini&lt;&#x2F;a&gt;协议或者类似的协议，这种简单的文本协议，用很少的代码就可以渲染出来，然后还可以配个墨水屏。&lt;&#x2F;li&gt;
&lt;li&gt;该手机可以给电脑传输信息，同样也是每小时一次，为了简化开发，只允许传纯文本消息，给某个邮件地址，一次只能传一个文档，不考虑列表。&lt;&#x2F;li&gt;
&lt;li&gt;有电话功能，短信功能&lt;&#x2F;li&gt;
&lt;li&gt;有每天只能同步 1 次的 RSS 客户端，这个客户端对内容源也有要求，内容源被设计为每天只能推送 1 则信息， 每月可以紧急推送 4 次。甚至 RSS
可以被设计为 web3 的形式，允许内容源做付费订阅。该手机可以生成多个加密钱包地址。系统内置加密钱包 id，且可以随机生成多个。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;你怎么看？&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>Gatsby框架的缺点</title>
        <published>2022-03-08T00:00:00+00:00</published>
        <updated>2022-03-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/gatsby-cons/"/>
        <id>https://old.owenyoung.com/blog/gatsby-cons/</id>
        
        <summary type="html">&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.gatsbyjs.com&#x2F;&quot;&gt;Gatsby.js&lt;&#x2F;a&gt;是一个基于 React 生成静态网站的工具链，也称为静态网站生成器(SSG),
旨在让开发人员使用基于 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;reactjs.org&#x2F;&quot;&gt;React&lt;&#x2F;a&gt; 的框架和基于 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;graphql.org&#x2F;&quot;&gt;Gaphql&lt;&#x2F;a&gt;
的数据层去构建快速、安全且功能强大的网站，从而将不同的内容、API 和服务生成一个体验良好的静态网站。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/gatsby-cons/">&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.gatsbyjs.com&#x2F;&quot;&gt;Gatsby.js&lt;&#x2F;a&gt;是一个基于 React 生成静态网站的工具链，也称为静态网站生成器(SSG),
旨在让开发人员使用基于 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;reactjs.org&#x2F;&quot;&gt;React&lt;&#x2F;a&gt; 的框架和基于 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;graphql.org&#x2F;&quot;&gt;Gaphql&lt;&#x2F;a&gt;
的数据层去构建快速、安全且功能强大的网站，从而将不同的内容、API 和服务生成一个体验良好的静态网站。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;我第一眼看到它的时候就被它简单的思想和丰富的社区生态给吸引了。总体来讲，他是一切皆 source，source 生成一个 graphql 的 API，然后在
react 组件里按需使用 graphql 的数据以生成对应的页面。&lt;&#x2F;p&gt;
&lt;p&gt;目前我的 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;wiki.owenyoung.com&#x2F;&quot;&gt;Wiki&lt;&#x2F;a&gt;, &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.owenyoung.com&#x2F;&quot;&gt;Blog&lt;&#x2F;a&gt;,
包括 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzing.cc&#x2F;&quot;&gt;Buzzing&lt;&#x2F;a&gt;里面的所有子攒点,
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;&quot;&gt;Track Awesome List&lt;&#x2F;a&gt;，其实都是用 Gatsby 构建的。&lt;&#x2F;p&gt;
&lt;p&gt;随着内容越来越多，以及 Gatsby 的升级，我发现在维护 Gatsby 的时候开始有点不喜欢它了。这主要是由于：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Gatsby 的大多数功能都是通过插件提供，导致项目有大量的第三方依赖（也有很多是官方维护的插件），而 Nodejs
的&lt;code&gt;package-lock.json&lt;&#x2F;code&gt;总是在升级的时候搞错一些版本，让我很抓狂（我不确定这个问题有没有得到解决），对于多依赖项目，我经常需要删掉整个
lock 文件，然后重新生成新的 lock 索引。&lt;&#x2F;li&gt;
&lt;li&gt;大量的第三方插件维护的质量参差不齐，维护不足。这其实很正常，我自己也维护了一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;gatsby-plugin-intl&quot;&gt;国际化翻译的 Gatsby 插件&lt;&#x2F;a&gt;,
但是由于后面我自己都没在用了，所以我就失去了继续维护和更新的动力了，至今还有用户在提 Issue，我只能在 Readme 里面写这个项目已经不在维护了。&lt;&#x2F;li&gt;
&lt;li&gt;Gatsby 目前还不支持&lt;code&gt;.mjs&lt;&#x2F;code&gt;,然而 gatsby
强依赖的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;syntax-tree&#x2F;unist&quot;&gt;unist&lt;&#x2F;a&gt;全生态系统都拥抱了&lt;code&gt;.mjs&lt;&#x2F;code&gt;,所以导致大量的
gatsby 第三方插件只能使用旧版的 unist 生态链。升级的时候会有很多依赖只能依赖旧版本。这导致了很多的混乱。&lt;&#x2F;li&gt;
&lt;li&gt;Gatsby 的底层设计导致多内容处理的性能问题。Gatsby 把所有的内容都加载到 graphql
的内存数据里，这导致了庞大的开销。在内容很多的时候，比如&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.trackawesomelist.com&#x2F;&quot;&gt;Track Awesome List&lt;&#x2F;a&gt;，每次构建需要
40 分钟左右的时间，好在这个网站每天只需要更新 2 次。&lt;&#x2F;li&gt;
&lt;li&gt;Gatsby 虽然思想简单，但是其 API 现在已经变得非常庞大和复杂了，有点类似
Webpack，一个东西只要变得如此复杂，那么后期维护一定会很痛苦。与之相对的是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.11ty.dev&#x2F;&quot;&gt;11ty&lt;&#x2F;a&gt;的 API
就很简单，但是也很强大。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;最后，来体会一下我的项目中 Gatsby 的依赖：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;json&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-json &quot;&gt;&lt;code class=&quot;language-json&quot; data-lang=&quot;json&quot;&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;@emotion&#x2F;react&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^11.7.1&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;@emotion&#x2F;styled&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^11.6.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;@mdx-js&#x2F;mdx&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^1.6.22&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;@mdx-js&#x2F;react&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^1.6.22&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;@theme-ui&#x2F;prism&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^0.13.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;date-fns&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^2.28.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;disqus-react&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^1.1.2&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-core-utils&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^3.4.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-plugin-emotion&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^7.4.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-plugin-feed&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^4.4.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-plugin-hn&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^1.0.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-plugin-image&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^2.4.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-plugin-instagram&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^1.0.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-plugin-mdx&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^3.4.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-plugin-react-helmet&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^5.4.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-plugin-sharp&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^4.4.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-plugin-theme-ui&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^0.13.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-plugin-twitter&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^4.4.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-remark-copy-linked-files&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^5.4.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-remark-images&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^6.4.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-remark-smartypants&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^5.4.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-theme-i18n&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^3.0.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-theme-ui-preset&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^3.0.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-theme-ui-timeline-preset&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^3.0.1&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-transformer-json&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^4.4.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;gatsby-transformer-sharp&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^4.4.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;html-to-text&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^8.1.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;mdx-utils&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^0.2.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;path-browserify&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^1.0.1&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;react-helmet&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^6.1.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;react-player&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^2.9.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;react-process-string&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^1.2.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;react-twemoji&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^0.3.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;react-ultimate-pagination&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^1.2.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;remark-slug&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^5.1.2&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;theme-ui&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^0.13.0&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;url-join&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;^4.0.1&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>Soylent News 的文章提交指南[翻译]</title>
        <published>2022-03-08T00:00:00+00:00</published>
        <updated>2022-03-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/soylentnews-guides/"/>
        <id>https://old.owenyoung.com/blog/soylentnews-guides/</id>
        
        <summary type="html">&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;soylentnews.org&#x2F;&quot;&gt;Soylent News&lt;&#x2F;a&gt;
是一个由志愿者维护的关于新闻和讨论的社区，重点关注网络上对每个人都很重要的文章或者书籍。允许注册或者匿名讨论。该社区的目标是成为一个关于技术，艺术，科学和政治良性讨论平台。&lt;&#x2F;p&gt;
&lt;p&gt;通常我看到一个感兴趣的社区的时候，我就会去阅读一下它的社区规范，一般来说，氛围良好的社区都会有一个非常出色的社区指南，我之前也翻译过一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.owenyoung.com&#x2F;zh&#x2F;posts&#x2F;share-a-forum-rule&#x2F;&quot;&gt;somethingawful.com 的论坛协议&lt;&#x2F;a&gt;
,
今天又看到&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;wiki.soylentnews.org&#x2F;wiki&#x2F;Submission_guidelines&quot;&gt;Soylent News 的社区提交规范&lt;&#x2F;a&gt;,
很喜欢他们的社区规范，所以想简单翻译一下。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/soylentnews-guides/">&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;soylentnews.org&#x2F;&quot;&gt;Soylent News&lt;&#x2F;a&gt;
是一个由志愿者维护的关于新闻和讨论的社区，重点关注网络上对每个人都很重要的文章或者书籍。允许注册或者匿名讨论。该社区的目标是成为一个关于技术，艺术，科学和政治良性讨论平台。&lt;&#x2F;p&gt;
&lt;p&gt;通常我看到一个感兴趣的社区的时候，我就会去阅读一下它的社区规范，一般来说，氛围良好的社区都会有一个非常出色的社区指南，我之前也翻译过一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.owenyoung.com&#x2F;zh&#x2F;posts&#x2F;share-a-forum-rule&#x2F;&quot;&gt;somethingawful.com 的论坛协议&lt;&#x2F;a&gt;
,
今天又看到&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;wiki.soylentnews.org&#x2F;wiki&#x2F;Submission_guidelines&quot;&gt;Soylent News 的社区提交规范&lt;&#x2F;a&gt;,
很喜欢他们的社区规范，所以想简单翻译一下。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;ti-jiao-zhi-nan&quot;&gt;提交指南&lt;a class=&quot;zola-anchor&quot; href=&quot;#ti-jiao-zhi-nan&quot; aria-label=&quot;Anchor link for: ti-jiao-zhi-nan&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;标题和摘要都中保持中立和事实&lt;&#x2F;strong&gt;，最好等到文章发布后再贴上链接，如有必要，请在摘要末尾明确标记为意见。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;提供原创内容&lt;&#x2F;strong&gt;，不要复制&#x2F;粘贴其他人的作品。&lt;&#x2F;li&gt;
&lt;li&gt;**如果可能的话，避免付费文章。**如果必须使用付费墙文章，请将其标记为：[付费墙]。对于在加载文章之前显示广告的网站也是如此。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;尽可能使用主文章的链接&lt;&#x2F;strong&gt;，如果某篇文章引用了原创作品，则应该链接到原始作品而不是该文章，除非文章提供了新的相关信息。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;如果可能，至少使用两个来源网页的链接&lt;&#x2F;strong&gt;。这为读者提供了选择，并有助于防止另一个网站的中断或页面被删除。&lt;&#x2F;li&gt;
&lt;li&gt;对于有争议的问题，请使用来自具有相反观点的文章网页链接。&lt;strong&gt;如果一只狼说他想吃羊作为晚餐，不要问另一只狼这是不是一个好主意，而是问一只羊。&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;如果链接到的其中一篇文章中包含了重要引用链接，则还应包含该引用的链接&lt;&#x2F;strong&gt;。一些新闻网站链接到研究摘要，它们是主要引用。&lt;&#x2F;li&gt;
&lt;li&gt;如果您要链接的新文章引用了较旧的文章，您也可以链接到它们以提供背景或引用。&lt;&#x2F;li&gt;
&lt;li&gt;解释大多数事物的首字母缩略词，第一次使用它时，请将其拼写出来。然后在后续使用时，使用首字母缩略词。我们的目标是成为一个全球网站，美国联邦航空局或英国
OfCom 等公司对这些国家以外的人来说可能并不了解。&lt;&#x2F;li&gt;
&lt;li&gt;维基百科链接是背景信息和统计数据的良好来源。&lt;&#x2F;li&gt;
&lt;li&gt;检查你的链接是否是最新的，没有什么比警告斯诺克 5 年前反驳的事情更糟糕的了。&lt;&#x2F;li&gt;
&lt;li&gt;引用一个或更少的句子时，请使用引号。当引用多个句子时，请使用块引用，因为这会使文本更加突出。&lt;&#x2F;li&gt;
&lt;li&gt;在提交之前，请仔细检查帖子预览，测试所有链接是否有效。编辑需要编辑的内容越少，您的提交获得批准的机会就越大。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;huan-you-yi-xie-shi-qing-xu-yao-bi-mian&quot;&gt;还有一些事情需要避免&lt;a class=&quot;zola-anchor&quot; href=&quot;#huan-you-yi-xie-shi-qing-xu-yao-bi-mian&quot; aria-label=&quot;Anchor link for: huan-you-yi-xie-shi-qing-xu-yao-bi-mian&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;不要抱怨你的提交被拒绝。随着网站的发展，更多的人会提交相同的帖子。我们正在尝试在系统中纳入“拒绝原因“的机制。&lt;&#x2F;li&gt;
&lt;li&gt;避免未经授权的复制。不要从其他类似的网站复制&#x2F;粘贴。这将导致您提交的任何其他帖子被忽略，因为编辑和审核你的帖子和来源需要的时间会增加。&lt;&#x2F;li&gt;
&lt;li&gt;虽然我们鼓励全球社区，但网站的语言是英语。避免链接到非英语来源，除非您还可以提供指向高质量英语翻译的链接。
不要使用“诱导链接“，即包含名人姓名或故意误导主题以诱使人们从搜索引擎点击的做法。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;nei-rong&quot;&gt;内容&lt;a class=&quot;zola-anchor&quot; href=&quot;#nei-rong&quot; aria-label=&quot;Anchor link for: nei-rong&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;我们的目标是大约
70%的技术和科学文章，其余的是我们社区普遍感兴趣的内容。具有技术主题并且独特的文章很有可能被发表，而一些晦涩难懂且对我们社区吸引力有限的文章不太可能成为头条。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;lian-jie&quot;&gt;链接&lt;a class=&quot;zola-anchor&quot; href=&quot;#lian-jie&quot; aria-label=&quot;Anchor link for: lian-jie&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;在提交中使用链接有一些限制。不遵守这些限制可能会导致提交被拒绝，或者更常见的是，编辑以更正或删除违规链接。限制是：&lt;&#x2F;p&gt;
&lt;p&gt;提交时，您可以使用您的用户名或匿名发布。联系人电子邮件地址字段可以留空，但如果使用，则该链接应指向您的用户页面，个人电子邮件地址或个人（即非商业）网站。
提交内容中的链接不应指向与政治竞选活动相关的网站、与色情或其他色情项目相关的网站、被认为不适合工作场所的网站（NSFW）或商业网站，除非该网站提交的主题。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>记者的对抗性提问 - 翻译一段美联社记者提问美国国务院发言人的片段</title>
        <published>2022-02-22T00:00:00+00:00</published>
        <updated>2022-02-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/ap-question/"/>
        <id>https://old.owenyoung.com/blog/ap-question/</id>
        
        <summary type="html">&lt;p&gt;为什么拥有一个强大的对抗性媒体来调查政府的说法并验证它们是否得到证据支持是如此重要？&lt;&#x2F;p&gt;
&lt;p&gt;在这篇文章&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.currentaffairs.org&#x2F;2022&#x2F;02&#x2F;the-urgent-need-for-adversarial-journalism&#x2F;&quot;&gt;《我们迫切需要对抗性的新闻报道》&lt;&#x2F;a&gt;中，作者认为不仅是俄罗斯政府，美国政府也有撒谎的前科和动机。所以媒体不应只是简单的转述政府的说法，而应该更加审慎的验证政府的说法。也就是我们需要更多的对抗性媒体。比如针对最近美国政府指控俄罗斯将要入侵乌克兰，&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/ap-question/">&lt;p&gt;为什么拥有一个强大的对抗性媒体来调查政府的说法并验证它们是否得到证据支持是如此重要？&lt;&#x2F;p&gt;
&lt;p&gt;在这篇文章&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.currentaffairs.org&#x2F;2022&#x2F;02&#x2F;the-urgent-need-for-adversarial-journalism&#x2F;&quot;&gt;《我们迫切需要对抗性的新闻报道》&lt;&#x2F;a&gt;中，作者认为不仅是俄罗斯政府，美国政府也有撒谎的前科和动机。所以媒体不应只是简单的转述政府的说法，而应该更加审慎的验证政府的说法。也就是我们需要更多的对抗性媒体。比如针对最近美国政府指控俄罗斯将要入侵乌克兰，&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;我想简单的翻译下文章中提到的美联社记者马特对美国国务院发言人的提问，我觉得这样的提问非常的精彩，值得我们深思。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;mtracey&#x2F;status&#x2F;1489376549375823872?s=20&amp;amp;t=cBHcMxmTWQ8Val1bmknqZw&quot;&gt;提问视频在这里&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;美联社的马特-李(Matt Lee)对国务院发言人内德-普莱斯(Ned Price)进行了无情的拷问，因为政府指控俄罗斯正在计划一次 “虚假指控“行动，俄罗斯将精心策划一次由乌克兰军队发动的假袭击，以此作为入侵乌克兰的借口。这份提问记录值得详细阅读，因为在其中我们可以看到关于记者应该如何对待政府叙述的大师级课程：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社: 你曾指控俄罗斯 “可能 “会这样做，他们真的做了吗？&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：马特，我们所知道的就是我刚才所说的，俄罗斯已经参与了这项活动。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：稍等一下，什么活动？&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：显然，这不是我们第一次公开这些报告了。你会记得，就在几周前…&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：对不起，公开了什么报告？&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：如果你能让我说完，我会告诉你我们公开了什么报告。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：好的。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：我们几周前告诉你，我们有信息表明，俄罗斯也已经预先部署了一批特工人员，在乌克兰东部进行虚假的行动。所以，马特，对于你的问题，这是俄罗斯已经采取的行动。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：这是&lt;strong&gt;你说的他们已经采取的行动，但你没有出示任何证据来证实这一点。&lt;&#x2F;strong&gt; 证据是什么？演员？这是真的吗？你有什么证据来支持有一些宣传片正在制作的说法？&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：马特，这是由美国政府已知的信息得出的，我们已经解密的情报信息。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：好吧，那它在哪里？这些信息在哪里？&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：这是我们已经解密的情报信息。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：那么，它在哪里？解密的信息在哪里？&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：我刚刚说过了。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：不，你只是提出了一系列的指控…&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：你想让我们打印出来吗？因为你会看到这份简报的记录，你可以自己打印出来。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：这不是证据，内德，那是你说的。很抱歉，这不是证据。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：你想要什么，马特？&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：我想看到一些证据，你能证明俄罗斯人在做这件事。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：马特，你一直在这一行（你懂的，我们不会公布情报来源和方法的）&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：奈德，我在这一行已经很久了。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：既然你已经做了很长时间了,你懂的，当我们解密情报信息时，我们不会公开情报来源，我们这样做是为了保护信息来源和方法。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：是的，我记得所谓的伊拉克大规模杀伤性武器，我还记得 “喀布尔不会沦陷”。我记得很多事情，那么，除了你在这里说之外，哪里能看到解密的信息？&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：马特，我很抱歉你不喜欢这种形式。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：不是形式问题! 是内容!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：我很抱歉你不喜欢这个内容。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：不是我 “不喜欢 “它…&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：我很抱歉你怀疑美国政府掌握的信息。我能告诉你的是，这是我们已经获取的信息。我们向你们提供这些信息有几个原因：一是试图阻止俄罗斯人继续进行这种活动，二是加入我们无法做到这一点，俄罗斯人真的继续这样做了，那么我们要清楚地表明，这一直是俄罗斯方面试图编造的一个借口。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：是的。但除了你所说的，你没有任何证据来支持它。你说’我们有消息说俄罗斯人可能会这样做’。但你不会告诉我们这些信息是什么，而当你被问及…&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：这就是威慑背后的想法，马特。我们希望俄罗斯人不要继续行动。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：当你被问及信息是什么时，你说’我刚给你的’。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：你似乎不明白威慑的概念。如果俄罗斯人不继续行动，这并不当然表明他们从来没有这样的计划。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美联社：但这是无法证实的！我的天！我的天！我的天！我的天！我的天！我的天 我的天啊！你有什么证据证明他们从来没有计划这么做？你有什么证据表明，俄罗斯人甚至在计划这个？我不是说他们没有，我是说你出来后希望我们相信它，却没有拿出一丝证据证明它是真的。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;美国国务院发言人：如果你怀疑美国政府、英国政府和其他政府的可信度，并想从俄罗斯人发布的信息中找到安慰，那是你的事。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>我从 Hacker News 中学到了什么？</title>
        <published>2022-02-20T00:00:00+00:00</published>
        <updated>2022-03-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/hackernews/"/>
        <id>https://old.owenyoung.com/blog/hackernews/</id>
        
        <summary type="html">&lt;p&gt;昨天看到 Hacker News 的创始人 Paul Graham 在 2009
年写的一篇文章&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;http:&#x2F;&#x2F;www.paulgraham.com&#x2F;hackernews.html&quot;&gt;《我从 Hacker News 中学到了什么》&lt;&#x2F;a&gt;,
作者提到：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;随着 Hacker News 变得越来越大，占用的时间比我预期的要多，但我并不后悔，因为我从工作中学到了很多东西。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;就挺感慨的，一方面是我亲自做了一遍 HN 的中文翻译，在整个过程中学到了很多，另一方面也让我回想起大学期间做的一个社区，对我的之后的种种影响。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/hackernews/">&lt;p&gt;昨天看到 Hacker News 的创始人 Paul Graham 在 2009
年写的一篇文章&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;http:&#x2F;&#x2F;www.paulgraham.com&#x2F;hackernews.html&quot;&gt;《我从 Hacker News 中学到了什么》&lt;&#x2F;a&gt;,
作者提到：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;随着 Hacker News 变得越来越大，占用的时间比我预期的要多，但我并不后悔，因为我从工作中学到了很多东西。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;就挺感慨的，一方面是我亲自做了一遍 HN 的中文翻译，在整个过程中学到了很多，另一方面也让我回想起大学期间做的一个社区，对我的之后的种种影响。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;如果有机会的话，我觉得每个人都应该尽可能的去亲自参与创造某个能有其他人一起创造信息的社区，比如成立一个小组，一个论坛，一个社群等等，线下的可能更好。和人交流，能碰撞出我更多的想法，以及让我知道更大的世界，更多元的价值观。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hn.buzzing.cc&quot;&gt;hacker news 的中文翻译&lt;&#x2F;a&gt;是一个非常普通的想法，每年可能都有人声称自己做了一个 HN 的中文版。因为
HN 上不仅文章质量普遍优质，而且最重要的是： HN 的 API 是业界最友好的，所有人都可以用来练手，做一个 HN 的 XX
版，比如各种平台的客户端，各种语言的实现，rss 服务，email 订阅，评论通知，大数据分析，newsletter
等等，不胜枚举。由于我的英文水平并不能像母语一样让我能快速找到感兴趣的东西（后来发现其实不少看起来英文很好的人，也有类似的体验），所以如果我想阅读 HN
的话，我可能有 2 个选择：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;抱着锻炼自己英语的想法逼迫自己不太流利的浏览 HN&lt;&#x2F;li&gt;
&lt;li&gt;使用浏览器自带的翻译功能，浏览 HN&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;这两个阶段我都经历过。我希望你不要经历，因为每个阶段都可能使你错过 HN，错过一个很优质的信息源。&lt;&#x2F;p&gt;
&lt;p&gt;第一个阶段，我只能坚持几天，然后就会本能的优先去看其他中文信息，慢慢的其实就没在看 HN 了。这在我的推特账号上尤其明显，我注册了 2
个推特号，一个是英文号&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;TheOwenYoung&quot;&gt;@TheOwenYoung&lt;&#x2F;a&gt;,一个是中文号&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;OwenYoungZh&quot;&gt;@OwenYoungZh&lt;&#x2F;a&gt;，本来是先开英文号的，专门关注的都是些英文博主，但是后面实在受不了了，说那就再开个中文号，尽量少关注人，只发一些东西。后来的故事就是，英文号上的很少，主力变成了中文号。唉，人就是离不开舒适圈，所以我们最好不要给自己创造舒适圈，比如在浏览器上设置很多社交网络的快捷书签；新
tab 页放很多快捷入口；手机上下载很多好用的应用；如果想克制自己，就最好只下必要应用，优先用网页版，或者像我现在做的，把 iPhone13
当成测试机，用一台好几年前的 Pixel 3a，又卡，掉电还快，但是用起来其实完全没问题，然后我又重新开始用
Kindle，只能一个操作，就是下一页，这样就能节省很多时间来看书了。&lt;&#x2F;p&gt;
&lt;p&gt;第二个阶段，我发现浏览器自带的翻译功能并不是太好用（去年我开始做 hn
中文版的时候更不好用，现在其实好了很多），比如有一些网页它会失败，要么就是要重试，然后排版也不太好看，我更希望的是有些区域不要翻译，只翻译标题之类的，但是浏览器会全部翻译，就不太好浏览。而作为一个要长期阅读的地方，体验还是挺重要的。&lt;&#x2F;p&gt;
&lt;p&gt;正好去年那会儿，刚做完&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;actionsflow&#x2F;actionsflow&quot;&gt;Actionsflow&lt;&#x2F;a&gt;, 想利用
Actionsflow 做点什么，所以说那就做一个 HN
的中文翻译吧，这很适合工作流去处理，处理完之后生成一个静态网页，就算没人用，我自己也可以天天用，做好之后也不用维护，就一直在那。于是就开干，没想到做到后面发现还可以顺便做点别的我感兴趣的英文内容翻译，比如&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;reddit.buzzing.cc&quot;&gt;Reddit 的美股讨论&lt;&#x2F;a&gt;，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;news.buzzing.cc&quot;&gt;国外的权威媒体报道&lt;&#x2F;a&gt;，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ph.buzzing.cc&quot;&gt;ProductHunt&lt;&#x2F;a&gt;等等，最后就汇总成了一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzing.cc&quot;&gt;Buzzing&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Buzzing
运行了一年之后，发现之前的设计有不少欠考虑的地方，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;actionsflow&#x2F;actionsflow&quot;&gt;Actionsflow&lt;&#x2F;a&gt;也有点太重了，尤其是看了一年
HN 的帖子后，觉得 Actionsflow
的设计简直就是一坨屎，又臭又长。这个时候&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;OwenYoungZh&#x2F;status&#x2F;1478928692781137925&quot;&gt;才发现 Deno 是最适合做工作流的运行时&lt;&#x2F;a&gt;，Deno
的依赖只需要
URL，天生适合脚本。这样就可以和&lt;code&gt;package.json&lt;&#x2F;code&gt;,&lt;code&gt;package-lock.json&lt;&#x2F;code&gt;,&lt;code&gt;node_modules&lt;&#x2F;code&gt;地狱说拜拜了，而且我的工作流也不用再依赖
Docker 和&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;nektos&#x2F;act&quot;&gt;act&lt;&#x2F;a&gt;了，于是过了 10 多天之后，我开始着手做了一个史上最快兑现的
「如果我有时间，我一定要做 XXX
」的项目：&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;OwenYoungZh&#x2F;status&#x2F;1485381401327267840&quot;&gt;Denoflow&lt;&#x2F;a&gt;,用来做我的低代码
IFTTT 或者说 Zapier，用流行一点的话说，这是配置即代码服务(Configure as Code)。&lt;&#x2F;p&gt;
&lt;p&gt;这一次，产生了一些变化，在泡了一年自己做的 HN 中文版之后：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;首先我没有像 Actionsflow 一样设计一个浮夸的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;&quot;&gt;Landing 页&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;其次我没有用自己蹩脚的英语凑成一个看起来功能很丰富，维护人员很多，很正规的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;reference&#x2F;&quot;&gt;一个文档网站&lt;&#x2F;a&gt;。我只在项目的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;denoflow&#x2F;denoflow&quot;&gt;Readme 文件&lt;&#x2F;a&gt;里写了一个我自认为很诚恳的说明，在一页的文本里说清楚这个项目的用途，和看一个示例就能明白的使用方法，没有多余的营销话语，把时间真正花在工具本身，利用省下的时间做了一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;playground.owenyoung.com&#x2F;&quot;&gt;在线 PlayGround&lt;&#x2F;a&gt;，运行在我的廉价
VPS 上。&lt;&#x2F;li&gt;
&lt;li&gt;没考虑买一个域名，尽管&lt;code&gt;denoflow.com&lt;&#x2F;code&gt;域名还在。直接放在我的个人子域&lt;code&gt;playground.owenyoung.com&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;版本号的克制，对于刚推出的项目，我使用&lt;code&gt;0.0.x&lt;&#x2F;code&gt;，而不是像 Actionsflow
一样，一上来就是&lt;code&gt;1.0.0&lt;&#x2F;code&gt;。而后来的证明，&lt;code&gt;0.0.x&lt;&#x2F;code&gt;是最适合这个项目的，因为在后来的使用中，发现了不少的致命 bug&lt;&#x2F;li&gt;
&lt;li&gt;在文档的显眼处声明：&lt;code&gt;项目仍处于非常早期的阶段，谨慎使用!&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;仔细思考了项目的 License,选择了 Apache2.0&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;做完之后，又花了 2 个小时，用 Denoflow
做了&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;showhn.buzzing.cc&#x2F;&quot;&gt;Show HN&lt;&#x2F;a&gt;,&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;askhn.buzzing.cc&#x2F;&quot;&gt;Ask HN&lt;&#x2F;a&gt;,&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hackernews.buzzing.cc&#x2F;&quot;&gt;HN 首页&lt;&#x2F;a&gt;,&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;besthn.buzzing.cc&quot;&gt;Best HN&lt;&#x2F;a&gt;，这里可以和之前的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hn.buzzing.cc&quot;&gt;HN 热门&lt;&#x2F;a&gt;对比下，没有追踪，没有
JS
代码，只是使用一个舒服的背景色，使用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;dbohdan&#x2F;classless-css&quot;&gt;class less 原则&lt;&#x2F;a&gt;，同时生成一个
RSS。没有使用任何框架，就几句简单的 deno
代码即可生成。和之前的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hn.buzzing.cc&quot;&gt;HN 热门&lt;&#x2F;a&gt;相比，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hn.buzzing.cc&quot;&gt;HN 热门&lt;&#x2F;a&gt;在一个屏幕里只能显示出
2 篇文章，而现在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hackernews.buzzing.cc&#x2F;&quot;&gt;HN 首页&lt;&#x2F;a&gt;可以放 20 多篇，效率直接提升 10 倍啊有木有。&lt;&#x2F;p&gt;
&lt;p&gt;很快，我发现按照这样布局的话，阅读效率高了太多了，已有的这些时间流，已经不够我看了，所以索性单独为我自己生成一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;myfeed.owenyoung.com&#x2F;&quot;&gt;HN 时间流&lt;&#x2F;a&gt;，里面包含了
hn 上前 100 位用户提交的任何帖子。&lt;&#x2F;p&gt;
&lt;p&gt;几天之后我就发现，之前只看 HN 的热门帖子损失有多大，HN
上有太多优秀的内容没有被顶上去了。热门真的很随机，所以我们也要万分警惕大公司的算法机制。基于此，我又做了一个变化，直接抓取 HN 上最新的提交（我去掉了 Ask
HN 的内容，因为 Ask HN
的质量相对较差，并且我还有专门的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ask.buzzing.cc&quot;&gt;Ask HN&lt;&#x2F;a&gt;可以回头再看）。那么现在专属于我的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;myfeed.owenyoung.com&#x2F;&quot;&gt;HN 时间流&lt;&#x2F;a&gt;就包括了
HN 上所有最新的文章了。即使是全部文章，由于是母语阅读，我还是能快速读完这些标题，找到感兴趣的内容，还可能留下我的 2 cents.
把之前关注了很久的不少优质英文 RSS
源，也利于&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;denoflow&#x2F;denoflow&quot;&gt;Denoflow&lt;&#x2F;a&gt;生成了一个专属于我的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;myrss.owenyoung.com&#x2F;&quot;&gt;RSS 翻译流&lt;&#x2F;a&gt;.
这样下来我的空余时间就可以住要花在阅读长文章，而不是刷推特这样更短的文章。我们都知道推特其实无法代替长文章，就像长文章也无法代替读书一样。&lt;&#x2F;p&gt;
&lt;p&gt;如果有人看到这里的话，那你一定会觉得 HN 有毒，而我已经上瘾了。其实没错，目前阶段是这样。&lt;&#x2F;p&gt;
&lt;p&gt;好在 HN 上的人也经常推荐图书，比如以下两个链接就是 HN 的用户制作的 HN 评论大数据最推荐的书（HN 的评论比图书网站，或者第三方网站更可信）：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hacker-recommended-books.vercel.app&#x2F;&quot;&gt;汇总了 hacker news 上评论里提到的书籍的排名&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hackernewsbooks.com&#x2F;top-books-on-hacker-news&quot;&gt;又一个 hacker news 提到的图书周报&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;比如我读了上面推荐的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;d.buzzing.cc&#x2F;post&#x2F;1&quot;&gt;《深度工作》&lt;&#x2F;a&gt;，作者提到：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;“如果在你全部的清醒时间，都能给自己的大脑找到有意义的事情去做，而不是放任自己在迷糊的状态下漫无目的地浏览几个小时网页，那么在一天结束时，你会觉得更加充实，第二天开始时更加轻松。
– 卡尔·纽波特《深度工作》&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;从我沉迷 HN
的例子里就能看出，网络已经剥夺了我保持专注和沉思的能力，但是真正值得探索和学习的知识都需要我拥有这种能力。如果我没有在某一个特定时段给自己安排任务，那么这些网站总是会更有诱惑力。所以如果我想抵御社交网络对我时间和精力的诱惑，那么必须要给大脑找一些高质量的替代活动，所以我基于开源
&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;lemmy.ml&#x2F;&quot;&gt;Lemmy&lt;&#x2F;a&gt; 搭建了一个类似 Reddit
的社区，叫&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;d.buzzing.cc&#x2F;&quot;&gt;&lt;strong&gt;如何度过每一天&lt;&#x2F;strong&gt;&lt;&#x2F;a&gt;,希望能在社区里分享有意义的事，不虚度光阴的事，可以是阅读某本书，学习某项技能，看某部纪录片等等等等。社区有投票的功能，某项活动被投票的次数越多，说明认为这项活动有意义的更多。&lt;&#x2F;p&gt;
&lt;p&gt;目前其实就只有少数几个用户在用，网站依然是部署在我的一个 廉价 VPS 上，没有盈利的打算，目前加载也有点慢，但是够用。&lt;&#x2F;p&gt;
&lt;p&gt;以上是我在 Hacker News 上学到的一些东西。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>2021年读书笔记</title>
        <published>2021-12-31T00:00:00+00:00</published>
        <updated>2022-03-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/books-2021/"/>
        <id>https://old.owenyoung.com/blog/books-2021/</id>
        
        <summary type="html">&lt;p&gt;2021 年的读书笔记，没有做更详细的整理，所以就一并列的这里了。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;books-2021&#x2F;content&#x2F;books&#x2F;_index.md&quot;&gt;点击查看最新读书笔记&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/books-2021/">&lt;p&gt;2021 年的读书笔记，没有做更详细的整理，所以就一并列的这里了。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;books-2021&#x2F;content&#x2F;books&#x2F;_index.md&quot;&gt;点击查看最新读书笔记&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
那不勒斯四部曲，埃莱娜费兰特，✨✨✨✨✨，看完电视剧看的书，小镇做题家最感同身受的一本书。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
动物农场英文版，乔治奥威尔，✨✨✨✨✨，适合初级阶段的英语学习者阅读&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot;&#x2F;&gt;
第二性，波伏娃，好吧，这个看了几章有点看不下去，这种偏哲学的书目前阶段有点不适合我，太难读下去了，读一会儿就犯困，只能先弃，再过几年再读。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
基督山伯爵，大仲马，✨✨✨✨✨，神作，人生必看，情节设计太精彩了，不知道有没有类似的读物，还想再读类似的。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
三个火枪手，大仲马，✨✨✨，看完基督山伯爵之后，感觉这本就一般般了，直到看完之后也没啥大惊喜，果然基督山伯爵是巅峰。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
包法利夫人，福楼拜，✨✨✨✨，经典的力量就是过多少年之后，书里探讨的问题依然存在。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
失踪的人，卡夫卡，✨✨✨，没咋看懂，本来想看完全集，但是有点看不下去，以后再说吧&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
少数派报告，菲利普迪克，✨✨✨✨✨，神作，50 年前作者在思考和探索的宇宙，人类，智能的问题，以及情节的设计，都太牛了，人生必读。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
堂吉诃德，塞万提斯,✨✨✨✨ “《堂吉诃德》是一个令人伤感的故事，它越是令人发笑，则越使人感到难过。这位英雄是主持正义的，制伏坏人是他的唯一宗旨。正是那些美德使他发了疯。” – 乔治·戈登·拜伦&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot;&#x2F;&gt;
罪与罚，陀思妥耶夫斯基，看了两章，暂时弃了，主要是还是对漫长的心理活动没有耐心。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
快思慢想，丹尼爾·卡尼曼， ✨✨✨✨，懂了很多道理，但是还是不怎么懂在生活中应该怎么做&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
银河帝国，阿西莫夫，✨✨✨✨✨，神作，由于最近在热播《基地》所有找来书看看，看完了 3 本，还在继续。
&lt;ul&gt;
&lt;li&gt;更新看完了 7 本了，基地 7 部曲，后面的是讲更早期的机器人和第一帝国的建立，感觉有点读不下去了，太长了！暂时弃坑&lt;&#x2F;li&gt;
&lt;li&gt;前 7 部必看！神作&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
永恒的终结，阿西莫夫，✨✨✨✨，不是很长，大概 3 个小时就能看完。反转确实很多！总体上这种时间旅行是因果论或者说是有点宿命论，但是其中又有人的自由意志对后续时空对影响，没有涉及平行世界，对时间旅行感兴趣的必读！&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
美丽新世界，阿道司，✨✨✨✨✨，竟然直到今天才看，非常非常有警示意义的设定，无知的快乐还是清醒的痛苦？ 有点不解的就是福帝竟然放任一个外国人在自己地盘里得到那么大的关注？福帝好的有点不像是独裁者了。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
沙丘，弗兰克·赫伯特，✨✨✨✨，看了电影&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
深度工作，卡尔·纽波特，✨✨✨✨✨，正在看，就目前来说，非常契合我自己的想法，人需要长时间的专注才能产出东西。像是开放式办公室就是深度工作的典型反例，我至今不知道为什么大多数公司都要这样干。尤其是国内，更不适合这样干，每次周围有任何响动都会打扰到你。
&lt;ul&gt;
&lt;li&gt;其实每次读类似的书之后的一小段时间都会比较亢奋，也比较上进，但是随后可能就不再能坚持，所以我需要找到能让自己坚持下去的方法。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
意志力，关于专注、自控与效率的心理学，罗伊•鲍迈斯特，✨✨✨✨，强调了意志力，自制力，自控能力对于人生的重要性。批判了目前的自尊文化，作者认为现在的孩子普通自尊都很高，但是自控力其实很差，我们应该从小开始把培养孩子的自制力当成第一件事。用一致，即时的奖罚机制来训练孩子。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot;&#x2F;&gt;
枪炮，病菌与钢铁，人类社会的命运，贾雷德·戴蒙德，✨✨✨✨，快速浏览的，不算看完。主要试图回答人类社会各大洲的发展为何不同。
&lt;ol&gt;
&lt;li&gt;各大陆民族长期历史之间的显著差异，不是源自这些民族本身的天生差异，而是源自他们环境的差异
&lt;ol&gt;
&lt;li&gt;第一组差异是各大陆在可以用作驯化的起始物种的野生动植物品种方面的差异&lt;&#x2F;li&gt;
&lt;li&gt;第二组因素就是那些影响传播和迁移速度的因素，而这种速度在大陆与大陆之间差异很大。在欧亚大陆速度最快，这是由于它的东西向主轴线和它的相对而言不太大的生态与地理障碍。&lt;&#x2F;li&gt;
&lt;li&gt;与影响大陆内部传播的这些因素有关的，是第三组影响大陆之间传播的因素，这些因素也可能有助于积累一批本地的驯化动植物和技术。大陆与大陆之间传播的难易程度是不同的，因为某些大陆比另一些大陆更为孤立&lt;&#x2F;li&gt;
&lt;li&gt;第四组也是最后一组因素是各大陆之间在面积和人口总数方面的差异。更大的面积或更多的人口意味着更多的潜在发明者，更多的互相竞争的社会，更多的可以采用的发明创造——以及更大的采用和保有发明创造的压力，因为任何社会如果不这样做就往往会被竞争对手所淘汰。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;中国在地理上的四通八达最后却成了一个不利条件，某个专制君主的一个决定就能使改革创新半途而废，而且不止一次地这样做了。相比之下，欧洲在地理上的分割形成了几十个或几百个独立的、相互竞争的小国和发明创造的中心。如果某个国家没有去追求某种改革创新，另一个国家会去那样做的，从而迫使邻国也这样去做，否则就会被征服或在经济上处于落后地位。欧洲的地理障碍足以妨碍政治上的统一，但还不足以使技术和思想的传播停止下来。欧洲还从来没有哪一个专制君王能够像在中国那样切断整个欧洲的创造源泉&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
一课经济学，亨利•黑兹利特，✨✨✨✨，古典自由主义经济的倡导者。作者认为政府真正该做的事，应该是建立并实施一套法律体系，禁止暴力和欺诈，鼓励并维护自由市场。其他的事情一概不要做，包括福利制度，社保制度等等。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot;&#x2F;&gt;
人类群星闪耀时，茨维格，✨✨✨✨，挑了自己感兴趣的几个故事看了下，文笔很优美，主要介绍了一些个人英雄？&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
哲学的故事，威尔杜兰特，✨✨✨✨✨，特别好的哲学入门书，还在看。 可能是读书太少的缘故，特别中意这类总结类书籍，可能没耐心或者是没能力读完原著，特别希望有饱学之士能总结，归纳，介绍各种书籍，然后有感兴趣的再深入阅读。这本书是看完的第一本哲学类著作。看完之后才能对西方哲学史有大概的了解，才不至于别人说 xxx 完全没概念的状态。我是在罗翔的那本《圆圈正义》里看到这本的，推荐入门的人读一下。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot;&#x2F;&gt;
卡拉马佐夫兄弟，陀思妥耶夫斯基，✨✨✨，实在读不下去啊。。为啥微信评分高达 9.1，我太菜了，迄今为止没读下去任何一本俄罗斯书。。谁能救救我。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
月亮与六便士，毛姆，✨✨✨✨✨，不得不说，毛姆的文笔，实在是太好了，一个好的作家就应该写出一种让人能一直想读下去，同时又不觉得又臭又长的本领，毛姆简直就是集大成者。之前在《一本小书》看过赵立新演绎的《月亮与六便士》戏剧，演的很好！所以一直想读原著，读了之后果然不后悔。
&lt;ul&gt;
&lt;li&gt;在对待爱情这个问题上，女人跟男人最大的不同就是，女人是每时每刻都陷在恋爱的情绪里不可自拔，而男人则是有空了才会去考虑它。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; checked=&quot;&quot;&#x2F;&gt;
面纱，毛姆，✨✨✨✨✨，读完月亮与六便士后，马上就想读下一本毛姆的书，选了这本看过电影版《面纱》的原著。在读中。同样，文笔依然非常吸引人读下去。
&lt;ul&gt;
&lt;li&gt;已读完。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>自由职业者如何度过每一天？</title>
        <published>2021-12-31T00:00:00+00:00</published>
        <updated>2022-03-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/how-to-spend-everyday/"/>
        <id>https://old.owenyoung.com/blog/how-to-spend-everyday/</id>
        
        <summary type="html">&lt;p&gt;自由职业的好处是时间变多，不用通勤，减少了很多不必要的社交，随心所欲的做自己的事情，但是确实要提升自我管理能力，不得不说，我走了很多弯路。其中最现实的问题就是：&lt;strong&gt;如何为碎片化的时间&#x2F;吃饭时间&#x2F;不想工作的时间找到源源不断的事做&lt;&#x2F;strong&gt;，我把这类时间统称为放松时间。&lt;&#x2F;p&gt;
&lt;p&gt;放松时间做的事情对一个人的幸福感至关重要，你在放松时间里做的事情越有意义，自由职业的幸福感就越高。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/how-to-spend-everyday/">&lt;p&gt;自由职业的好处是时间变多，不用通勤，减少了很多不必要的社交，随心所欲的做自己的事情，但是确实要提升自我管理能力，不得不说，我走了很多弯路。其中最现实的问题就是：&lt;strong&gt;如何为碎片化的时间&#x2F;吃饭时间&#x2F;不想工作的时间找到源源不断的事做&lt;&#x2F;strong&gt;，我把这类时间统称为放松时间。&lt;&#x2F;p&gt;
&lt;p&gt;放松时间做的事情对一个人的幸福感至关重要，你在放松时间里做的事情越有意义，自由职业的幸福感就越高。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;tai-chang-bu-kan-ban&quot;&gt;太长不看版&lt;a class=&quot;zola-anchor&quot; href=&quot;#tai-chang-bu-kan-ban&quot; aria-label=&quot;Anchor link for: tai-chang-bu-kan-ban&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;总结就是：让我的 Inbox 里 永远保持 10+件可以在放松时间做的未尽事宜，对于我的时间管理非常重要。为此，我搭建了一个类似 reddit 的网址聚合器，名字就叫&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;d.buzzing.cc&#x2F;&quot;&gt;《如何度过每一天 &lt;code&gt;d.buzzing.cc&lt;&#x2F;code&gt;》&lt;&#x2F;a&gt; 。里面摘抄了待看的书，待看的电影，视频甚至一些书摘，到了放松时间，如果下一件事可干，就去里面找到下一个未读的东西。里面的东西最好要多样化，比如电影，图书，视频，深度文章都要有，这样才能满足我们现代人越来越叼的胃口，满足各种状态和心情下的 Getting Things Done.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;zhan-kai-shuo-shuo&quot;&gt;展开说说&lt;a class=&quot;zola-anchor&quot; href=&quot;#zhan-kai-shuo-shuo&quot; aria-label=&quot;Anchor link for: zhan-kai-shuo-shuo&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;有位哲人曾经说过：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果在你全部的放松时间，都能给自己的大脑找到有意义的事情去做，而不是放任自己在迷糊的状态下漫无目的地浏览几个小时网页，那么在一天结束时，你会觉得更加充实，第二天开始时更加轻松。 – 《深度工作》&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;所以，那些所谓的放松时间就别去做什么有意义的事的说法都是 bullshit, 有意义的事情只会让你更有幸福感，而不是更累。&lt;&#x2F;p&gt;
&lt;p&gt;而且，其实有意义和放松并不冲突，比如看一部好的电影，看一部好书，看一部好的纪录片，甚至是看一部好的 Youtube 视频，这些事情都很有意义，但是做这些事情的同时也很放松。&lt;&#x2F;p&gt;
&lt;p&gt;所以如何去度过放松时间就变成了如何在想要放松的时候，快速找到源源不断的有意义的事去做。有点像 GTD 里的把一系列的事情塞在 Inbox 里，我在这条路上走了很多弯路。&lt;&#x2F;p&gt;
&lt;p&gt;刚开始自由职业的时候，就没啥大的规划，每天和女朋友的吃饭时间，就临时去找一部评分高的电影去看，就这样基本把豆瓣 Top250，和一些小众高分的电影都基本看完了，但是找的过程，还有下载无删减版电影资源，字幕等等其实都浪费的不少时间，如果能提前把要看的电影都下载好就好了，所以后来慢慢优化了我的看剧工作流， 见： &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;wiki.owenyoung.com&#x2F;tv-shows&#x2F;#workflows&quot;&gt;目前的追剧工作流&lt;&#x2F;a&gt;，优化之后其实找剧就变得方便了许多，但是发现大多数常见的剧都被我们看完了。。。而且后来，&lt;&#x2F;p&gt;
&lt;p&gt;我们分开了。&lt;&#x2F;p&gt;
&lt;p&gt;…&lt;&#x2F;p&gt;
&lt;p&gt;完。&lt;&#x2F;p&gt;
&lt;p&gt;…&lt;&#x2F;p&gt;
&lt;p&gt;…&lt;&#x2F;p&gt;
&lt;p&gt;…&lt;&#x2F;p&gt;
&lt;p&gt;Just kidding!&lt;&#x2F;p&gt;
&lt;p&gt;其实是后来我们分开办公了！因为发现一起办公其实挺影响效率的（比如抠鼻屎，放屁，放点音乐什么的，太影响双方了），所以这里一并声讨很多公司的大锅饭办公室，所谓的开放式办公室,Bullshit! 直接给你的员工效率打了 5 折。&lt;&#x2F;p&gt;
&lt;p&gt;刚分开的那段时间，我的放松时间是直接在 Bilibili 或者 Youteub 在线看了好多下饭视频（无意义视频），直到连下饭视频也没啥可看的了！（自由职业的时间可真多！&lt;&#x2F;p&gt;
&lt;p&gt;然后偶然在 Hacker News 发现 有个哥们分析了 HN 上 4 万多提到书籍的评论&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28595967&quot;&gt;40k HN comments mentioning books, extracted using deep learning&lt;&#x2F;a&gt;，然后做了一个排名。&lt;&#x2F;p&gt;
&lt;p&gt;我在里面发现了一本宝藏图书&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;book.douban.com&#x2F;subject&#x2F;27056409&#x2F;&quot;&gt;《深度工作》&lt;&#x2F;a&gt;，读完这本书之后，我决定全面利用起自己的放松时间，只做有意义的事，这是我在看了这本书之后，今年的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;wiki.owenyoung.com&#x2F;books&#x2F;#2021&quot;&gt;读书记录&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;但是，这还不够，我找书是没看完一本就去找下一本，找的中途会有空档，这个空档有的时候会间隔蛮久的，因为万事开头难，下决心开始看一本新书总会让你内心有点抗拒，&lt;strong&gt;尤其是还没找到下一本书看什么的时候&lt;&#x2F;strong&gt;。&lt;&#x2F;p&gt;
&lt;p&gt;所以我的策略是，必须提前充实我的 Inbox ， Inbox 里必须时时都有东西可立即读，或者看。&lt;&#x2F;p&gt;
&lt;p&gt;为了此目的，我用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;LemmyNet&#x2F;lemmy&quot;&gt;Lemmy&lt;&#x2F;a&gt; 搭建了一个类似 reddit 的网址聚合器，名字就叫&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;d.buzzing.cc&#x2F;&quot;&gt;《如何度过每一天 &lt;code&gt;d.buzzing.cc&lt;&#x2F;code&gt;》&lt;&#x2F;a&gt; , 里面摘抄了待看的书，待看的电影，视频甚至一些书摘，任何时候都让里面保持 10 个以上未读的东西，到了放松时间，如果没有下一件事可干，就去里面找到下一个未读的东西。里面的东西最好要多样化，比如电影，图书，视频，深度文章都要有，这样才能满足我们现代人越来越叼的胃口，满足各种状态和心情下的 Getting Things Done.&lt;&#x2F;p&gt;
&lt;p&gt;目前只有我一个用户，希望也可以有不多的其他用户能贡献一些高质量的网址，以及希望也能帮到其他有类似需要的人。 (因为论坛就放在我的大阪追剧服务器里，没啥优化，所以有的时候速度挺慢，请见谅)&lt;&#x2F;p&gt;
&lt;p&gt;希望 2022 会是充实的一年。&lt;&#x2F;p&gt;
&lt;p&gt;对还没有进入自由职业的人的忠告就是，在进入自由职业之前，请思考一个问题：&lt;strong&gt;如何度过每一天？&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>出国，这几句话必须学会用当地语言怎么说</title>
        <published>2021-12-26T00:00:00+00:00</published>
        <updated>2022-03-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/you-should-know-these-words-aboard/"/>
        <id>https://old.owenyoung.com/blog/you-should-know-these-words-aboard/</id>
        
        <summary type="html">&lt;ol&gt;
&lt;li&gt;你好&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Hello&lt;&#x2F;li&gt;
&lt;li&gt;สวัสดี&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;再见&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Bye&lt;&#x2F;li&gt;
&lt;li&gt;Goodbye&lt;&#x2F;li&gt;
&lt;li&gt;Thai: Fandimai&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;请&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Please&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;谢谢&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Thank you&lt;&#x2F;li&gt;
&lt;li&gt;Cong Kong&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/you-should-know-these-words-aboard/">&lt;ol&gt;
&lt;li&gt;你好&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Hello&lt;&#x2F;li&gt;
&lt;li&gt;สวัสดี&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;再见&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Bye&lt;&#x2F;li&gt;
&lt;li&gt;Goodbye&lt;&#x2F;li&gt;
&lt;li&gt;Thai: Fandimai&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;请&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Please&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;谢谢&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Thank you&lt;&#x2F;li&gt;
&lt;li&gt;Cong Kong&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;ol start=&quot;5&quot;&gt;
&lt;li&gt;我&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Me&lt;&#x2F;li&gt;
&lt;li&gt;ฉัน C̄hạn&lt;&#x2F;li&gt;
&lt;li&gt;Pon Shu Owen&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;6&quot;&gt;
&lt;li&gt;你&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;You&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;7&quot;&gt;
&lt;li&gt;他&#x2F;她&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Him&#x2F;her&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;8&quot;&gt;
&lt;li&gt;这个&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;This&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;9&quot;&gt;
&lt;li&gt;那个&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;That&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;10&quot;&gt;
&lt;li&gt;这儿&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Here&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;11&quot;&gt;
&lt;li&gt;那儿&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;There&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;12&quot;&gt;
&lt;li&gt;你有这个吗？&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Do you have this?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;13&quot;&gt;
&lt;li&gt;这个在哪里？&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Where is this?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;14&quot;&gt;
&lt;li&gt;那个多少钱？&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;How much money is that?&lt;&#x2F;li&gt;
&lt;li&gt;Tou lai crab&lt;&#x2F;li&gt;
&lt;li&gt;多少钱？&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;15&quot;&gt;
&lt;li&gt;洗手间在哪里？&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Where is the toilet?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;16&quot;&gt;
&lt;li&gt;数字&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Zero, one, two, three, four, five, six, seven, eight, nine, ten&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;17&quot;&gt;
&lt;li&gt;好的&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Ok, Yes&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;18&quot;&gt;
&lt;li&gt;不&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;No&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;19&quot;&gt;
&lt;li&gt;对不起，我不明白&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Sorry, I don’t understand.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;20&quot;&gt;
&lt;li&gt;我可以坐这里吗？&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;May I sit here?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;21&quot;&gt;
&lt;li&gt;这很好吃&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;This is so delicious!&lt;&#x2F;li&gt;
&lt;li&gt;a Roi&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;22&quot;&gt;
&lt;li&gt;这是什么？&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;What is this?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;23&quot;&gt;
&lt;li&gt;这个东西用你的语言怎么说？&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;How do you say {English word} in {your language}, please?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;24&quot;&gt;
&lt;li&gt;我 21 岁。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;Pon a yo 21 by crap.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>一个风险偏好的实验</title>
        <published>2021-10-16T00:00:00+00:00</published>
        <updated>2022-03-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/risk-perfer/"/>
        <id>https://old.owenyoung.com/blog/risk-perfer/</id>
        
        <summary type="html">&lt;p&gt;今天看《快思慢想》的时候，看到一个很有意思的实验：&lt;&#x2F;p&gt;
&lt;p&gt;想像美国正为一场亚洲爆发的疾病做准备，这个病预期会使 600 人死亡。有两个方式可以来对抗这个疾病，假设科学对这两种治疗方式的预测如下：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;假如采用 A 项目，200 人会得救。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;假如采用 B 项目，有三分之一的机会，600 人会得救，有三分之二的机会，所有人都会死。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;大部分的人选 A 项目，他们偏好确定性，不喜欢赌局。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/risk-perfer/">&lt;p&gt;今天看《快思慢想》的时候，看到一个很有意思的实验：&lt;&#x2F;p&gt;
&lt;p&gt;想像美国正为一场亚洲爆发的疾病做准备，这个病预期会使 600 人死亡。有两个方式可以来对抗这个疾病，假设科学对这两种治疗方式的预测如下：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;假如采用 A 项目，200 人会得救。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;假如采用 B 项目，有三分之一的机会，600 人会得救，有三分之二的机会，所有人都会死。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;大部分的人选 A 项目，他们偏好确定性，不喜欢赌局。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;在第二个版本中，项目的结果用不同的框架：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;假如采用 C 项目，400 人会死。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;假如采用 D 项目，有三分之一的机会，所有人都得救，有三分之二的机会，这 600 人都会死。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;请仔细比较这两个版本：A 项目和 C 项目的后果是一样的，B 项目和 D 项目的后果也是一样的，但是在第二个框架中，大部分的人选择赌局。&lt;&#x2F;p&gt;
&lt;p&gt;这两个框架中不同的选择非常符合展望理论，确定事情和赌局之间的选择是用不同方式解决的，依据结果是好还是不好而产生这个不同。决策者在结果是好的时候，喜欢确定的事情，不喜欢赌博（他们是风险规避者）。当两个结果都是负面的时候，他们会拒绝确定的事情，接受赌博（他们是风险追求者）。这些结论在以钱为主的赌局和确定的事情时，已经很确定，没有人挑战了。这个疾病的问题显示，当被测量的结果是拯救的人命或死亡的人数，同样的规则可以适用。在这个情境，框架实验显示出风险规避和风险追求的偏好并不是真实界规范的，对同一个客观结果的偏好在不同的公式时，会逆转。&lt;&#x2F;p&gt;
&lt;p&gt;作者说这个测试对做重要决定的官员也不例外。有一次他被邀请去对一群公共卫生的专业人士演讲，这些人是做疫苗决策和其他项目决定的人。他利用这个机会给他们看亚洲疾病的问题，一半的人看「拯救生命」的版本，另一半看「失去生命」的版本，然后请他们回答问题。这些专业人士像其他老百姓一样，受到框架效应的影响，这很令人忧心，如果这些决策官员这么容易就被一个表面的肤浅的操弄所左右，国民健康的展望堪忧。不过我们一定要记得，即使是重要的决定也是受到系统一的影响。&lt;&#x2F;p&gt;
&lt;p&gt;这个故事告诉我们，遇到类似的事情的时候，一定要放慢去思考，最后再做出谨慎的决定。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>分享somethingawful.com的论坛协议</title>
        <published>2021-10-12T00:00:00+00:00</published>
        <updated>2022-03-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/share-a-forum-rule/"/>
        <id>https://old.owenyoung.com/blog/share-a-forum-rule/</id>
        
        <summary type="html">&lt;p&gt;今天逛 hacker
news，意外看到一个很有意思的论坛，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.somethingawful.com&#x2F;&quot;&gt;Something Awful&lt;&#x2F;a&gt;,注册会员收费 10
美元，为了要过滤用户。好奇看了下他的论坛协议，觉得写的很有意思。尤其是这句：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;不要使用任何口头禅、表情包、网络流行语或任何其他让您看起来像 12 岁孩子的废话。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;原文地址见： &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.somethingawful.com&#x2F;forum-rules&#x2F;forum-rules&#x2F;&quot;&gt;https:&#x2F;&#x2F;www.somethingawful.com&#x2F;forum-rules&#x2F;forum-rules&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/share-a-forum-rule/">&lt;p&gt;今天逛 hacker
news，意外看到一个很有意思的论坛，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.somethingawful.com&#x2F;&quot;&gt;Something Awful&lt;&#x2F;a&gt;,注册会员收费 10
美元，为了要过滤用户。好奇看了下他的论坛协议，觉得写的很有意思。尤其是这句：&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;不要使用任何口头禅、表情包、网络流行语或任何其他让您看起来像 12 岁孩子的废话。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;原文地址见： &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.somethingawful.com&#x2F;forum-rules&#x2F;forum-rules&#x2F;&quot;&gt;https:&#x2F;&#x2F;www.somethingawful.com&#x2F;forum-rules&#x2F;forum-rules&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;以下是简单的翻译：&lt;&#x2F;p&gt;
&lt;h2 id=&quot;gei-xin-shou-de-yi-feng-xin&quot;&gt;给新手的一封信！&lt;a class=&quot;zola-anchor&quot; href=&quot;#gei-xin-shou-de-yi-feng-xin&quot; aria-label=&quot;Anchor link for: gei-xin-shou-de-yi-feng-xin&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;在 Something Awful 论坛上的我们既是精英，其实又都很混蛋,我们以经营互联网上最有娱乐性和没有垃圾用户的论坛之一为荣。&lt;&#x2F;p&gt;
&lt;p&gt;我们通过收取 10
美元的费用来过滤掉那些不认真遵守规则的人，并禁止那些设法溜过和破坏规则的人。我们非常重视保持我们论坛的清洁和没有垃圾用户，所以请将您的账户视为一项投资，并小心地对待它。&lt;&#x2F;p&gt;
&lt;p&gt;请阅读规则，运用常识，帮助 SA 论坛成为互联网上最好的论坛。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;yi-ban-xing-wei&quot;&gt;一般行为&lt;a class=&quot;zola-anchor&quot; href=&quot;#yi-ban-xing-wei&quot; aria-label=&quot;Anchor link for: yi-ban-xing-wei&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;发帖前先潜水!
这一点我们怎么强调都不为过。每个版块的名称和描述都很清楚地说明了什么是可以接受的，什么是不可以接受的。在发帖之前，请确保你发在了合适的子版块。如果没有专门针对您想讨论的话题的版块，请使用
“通用“版块。不要在通用版块上发布色情或任何 “有问题 “的内容；如果你在工作中看到这些内容会感到不舒服，就不要在那里发布。把所有恶心的图片放在
FYAD。此外，请检查您的帖子是否是重复的（它已经被其他论坛成员发布过）。&lt;&#x2F;p&gt;
&lt;p&gt;在你发帖之前。在发帖之前，请问自己以下问题。“我发表的帖子是否有趣、有信息量、或在任何层面上都很有趣？”&lt;&#x2F;p&gt;
&lt;p&gt;如果你能回答 “是”，那么请发帖。如果你不能，那就不要发帖。如果你还是发帖，管理员很可能会对你的主题发出警告，自动给予你 15 分钟的禁言。&lt;&#x2F;p&gt;
&lt;p&gt;在你回复之前。在回帖之前，请问自己以下问题。“我的回复是否提供了任何重要的建议或有助于以任何方式促进对话？”&lt;&#x2F;p&gt;
&lt;p&gt;如果你能回答 “是”，那么请回复。如果你不能，那么请不要回复。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;fa-tie-gui-ze&quot;&gt;发帖规则&lt;a class=&quot;zola-anchor&quot; href=&quot;#fa-tie-gui-ze&quot; aria-label=&quot;Anchor link for: fa-tie-gui-ze&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;低质量贴&lt;&#x2F;strong&gt; 请不要发没什么内容的帖（比如说“第一篇帖子“、“你好，我是新来的 “等）。这些帖子只会让论坛变得更乱，由于有超过 10
万的注册用户，我们需要尽可能地减少这种帖子。如果你不喜欢一个主题，那么就给它投一个
“1”，然后继续看；仅由嘲讽组成的回复也属于这一类。通常来说，就是你要像在现实生活中对另一个人说话一样来发帖。不要使用任何口头禅、表情包、网络流行语，或任何其他让你看起来像
12 岁小孩的废话。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;无价值的帖子&lt;&#x2F;strong&gt;
我们不关心你是喝醉了还是很嗨，请不要通知我们这两种情况。请不要注册噱头性的账户，并将其作为噱头发帖，因为这并不好笑。请不要发布废话，要求我们在一些网站上为你投票，给你推荐免费的
iPod&#x2F;平板电脑&#x2F;备用轮胎，或其他半垃圾的东西。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;破坏论坛氛围&lt;&#x2F;strong&gt;不要破坏论坛氛围或伤害论坛上的任何用户。如果你发布一个恶意链接（任何带有间谍软件或代码的网址，旨在惹恼人们），你将被禁言。不要因为你不喜欢发帖的人而和你的朋友一起投反对票；这使得投票功能毫无用处。不要制定计划来烦扰&#x2F;破坏其他论坛。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;保持目标一致&lt;&#x2F;strong&gt; 尽量为您的帖子使用适当的主题标签。这有助于人们找到您的主题，并使论坛更加友好。不要使用管理员专用的标签，否则您将被服务器自动禁止。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;遏制冲突&lt;&#x2F;strong&gt;将所有的冲突和其他争论放在适当的论坛（FYAD，YCS 等）。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;尊重版主和其他用户&lt;&#x2F;strong&gt;
版主们在这里是为了保持论坛的安全、理智和可靠。如果他们要求您做什么，请照做。请不要骚扰或故意惹恼版主或侮辱头版作者。如果你不喜欢版主或版主的工作，请不要在这里发帖。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;骚扰和讽刺&lt;&#x2F;strong&gt;如果有人在论坛上骚扰你，请在联系版主之前通过 PM
或电子邮件与他们讨论。争论和侮辱并不构成骚扰。请不要发布他人的个人信息（电话号码、地址、电子邮件等）。尽量不要干涉他人的个人生活。请记住，互联网和现实生活之间是有很大区别的。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;帐户功能&lt;&#x2F;strong&gt; 一个论坛账户只能有一个人使用。共享账户是一种被禁止的行为，所以请保持你的密码安全。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;搞小聪明&lt;&#x2F;strong&gt; 请不要试图利用漏洞来规避这里列出的一些规则。这些规则只是一般准则，非常灵活。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;FYAD 自由&lt;&#x2F;strong&gt;
你不能发布违法内容，不能通过发布他人的个人信息或裸体照片来骚扰他人，不能在主题行中加入垃圾信息来破坏论坛的秩序，不能骚扰任何管理员或版主，也不能在 FYAD
中发起论坛入侵行为。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;我讨厌的言论&lt;&#x2F;strong&gt; 诸如 “faggot “或 “nigger
“这样的攻击性词汇，根据句子的上下文，可能会被禁止，也可能不会被禁止。如果他们的意思是幽默，绝对没有攻击性的污言秽语，那么用户可能不会被禁言或者临时禁言。这条规则是完全的，100%的主观性，并且是是基于当时正在阅读该帖子的管理员,
使用时请自行承担风险。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>如何写作？</title>
        <published>2021-09-26T00:00:00+00:00</published>
        <updated>2022-03-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/how-to-writing/"/>
        <id>https://old.owenyoung.com/blog/how-to-writing/</id>
        
        <summary type="html">&lt;p&gt;来自&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;sive.rs&#x2F;book&#x2F;OnWritingWell&quot;&gt;写出更好的东西读书笔记&lt;&#x2F;a&gt;：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;用第一人称写。&lt;&#x2F;li&gt;
&lt;li&gt;如果它在写作中让你感到好笑，那就把它放进去&lt;&#x2F;li&gt;
&lt;li&gt;出乎意料但令人耳目一新的话语&lt;&#x2F;li&gt;
&lt;li&gt;在让它进入世界之前，大声朗读所有内容。&lt;&#x2F;li&gt;
&lt;li&gt;学习写作的唯一方法是强迫自己定期产生一定数量的单词。&lt;&#x2F;li&gt;
&lt;li&gt;每一部成功的非虚构作品都应该给读者留下一个他或她以前没有的挑衅性想法。不是两个想法，也不是五个- 只是一个。&lt;&#x2F;li&gt;
&lt;li&gt;任何文章中最重要的句子都是第一个句子。如果它没有诱使读者继续第二句话，那么你的文章就死了。如果第二句话没有诱使他继续第三句话，那么它同样已经死了。&lt;&#x2F;li&gt;
&lt;li&gt;特别注意每个段落的最后一句 - 这是下一段的关键跳板。试着给这句话一个额外的幽默或惊喜。&lt;&#x2F;li&gt;
&lt;li&gt;每一个小小的限定词都会削弱读者的信任度。&lt;&#x2F;li&gt;
&lt;li&gt;有趣的作家保持自己的兴趣。有趣的生活和继续教育。&lt;&#x2F;li&gt;
&lt;li&gt;现在，您的读者接下来想知道什么？在每句话之后问自己这个问题。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/how-to-writing/">&lt;p&gt;来自&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;sive.rs&#x2F;book&#x2F;OnWritingWell&quot;&gt;写出更好的东西读书笔记&lt;&#x2F;a&gt;：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;用第一人称写。&lt;&#x2F;li&gt;
&lt;li&gt;如果它在写作中让你感到好笑，那就把它放进去&lt;&#x2F;li&gt;
&lt;li&gt;出乎意料但令人耳目一新的话语&lt;&#x2F;li&gt;
&lt;li&gt;在让它进入世界之前，大声朗读所有内容。&lt;&#x2F;li&gt;
&lt;li&gt;学习写作的唯一方法是强迫自己定期产生一定数量的单词。&lt;&#x2F;li&gt;
&lt;li&gt;每一部成功的非虚构作品都应该给读者留下一个他或她以前没有的挑衅性想法。不是两个想法，也不是五个- 只是一个。&lt;&#x2F;li&gt;
&lt;li&gt;任何文章中最重要的句子都是第一个句子。如果它没有诱使读者继续第二句话，那么你的文章就死了。如果第二句话没有诱使他继续第三句话，那么它同样已经死了。&lt;&#x2F;li&gt;
&lt;li&gt;特别注意每个段落的最后一句 - 这是下一段的关键跳板。试着给这句话一个额外的幽默或惊喜。&lt;&#x2F;li&gt;
&lt;li&gt;每一个小小的限定词都会削弱读者的信任度。&lt;&#x2F;li&gt;
&lt;li&gt;有趣的作家保持自己的兴趣。有趣的生活和继续教育。&lt;&#x2F;li&gt;
&lt;li&gt;现在，您的读者接下来想知道什么？在每句话之后问自己这个问题。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;</content>
    </entry>
    <entry xml:lang="zh">
        <title>2021年美股值得关注的信息源包括推特，网站，Reddit小组</title>
        <published>2021-02-11T00:00:00+00:00</published>
        <updated>2022-03-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/us-stocks-you-should-follow/"/>
        <id>https://old.owenyoung.com/blog/us-stocks-you-should-follow/</id>
        
        <summary type="html">&lt;p&gt;自从&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;wallstreetbets&quot;&gt;华尔街赌徒小组&lt;&#x2F;a&gt; 从一个小众的小组在 $GME 的风潮下迅速涨粉到 89 万人，成为 Reddit 上金融相关小组中名副其实的第一名。身边很多人在看到一个 Reddit 小组对美国股市的影响力如此之大之后，都迫不及待的想找到一些美股的消息源。虽然我炒股不咋地，但是我搜索信息的能力还是家中一绝啊，万一能帮到下一个百万富翁呢！分享下我平时关注的一些关于投资的一些信息源，包括 Reddit，Twitter，网站还有 Youtube.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;这篇文章会一直更新，把我最新发现的一些有用的信息源更新上来&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/us-stocks-you-should-follow/">&lt;p&gt;自从&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;wallstreetbets&quot;&gt;华尔街赌徒小组&lt;&#x2F;a&gt; 从一个小众的小组在 $GME 的风潮下迅速涨粉到 89 万人，成为 Reddit 上金融相关小组中名副其实的第一名。身边很多人在看到一个 Reddit 小组对美国股市的影响力如此之大之后，都迫不及待的想找到一些美股的消息源。虽然我炒股不咋地，但是我搜索信息的能力还是家中一绝啊，万一能帮到下一个百万富翁呢！分享下我平时关注的一些关于投资的一些信息源，包括 Reddit，Twitter，网站还有 Youtube.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;这篇文章会一直更新，把我最新发现的一些有用的信息源更新上来&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;reddit&quot;&gt;Reddit&lt;a class=&quot;zola-anchor&quot; href=&quot;#reddit&quot; aria-label=&quot;Anchor link for: reddit&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;investing&#x2F;&quot;&gt;Investing 小组&lt;&#x2F;a&gt; 17 万人，投资相关，一般都是聊股票，有很多高人，在这里你可能会发掘不少不错的股票，在里面你可能可以总结出一个 Reddit ETF&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;stocks&quot;&gt;Stocks 小组&lt;&#x2F;a&gt; 22 万人，股票小组，顾名思义就是聊股票，主要是美股，质量也很不错，不过近期由于大量新人涌入，质量有所下滑，不过还是能发现不少好贴的&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;wallstreetbets&quot;&gt;华尔街赌徒小组&lt;&#x2F;a&gt; 89 万人，著名的 WSB，本来是一个比较小众的小组，里面的人自称是弱智，通过晒自己的骚操作来博得“弱智”的喝彩，有的晒自己赢了多少倍，有的晒自己输了多少倍，感觉氛围有点像曾经的李毅吧，欢乐而鼓舞，里面也有真大神，比如引领 $GME 风潮的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;user&#x2F;DeepFuckingValue&quot;&gt;&#x2F;u&#x2F;DeepFuckingValue&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;twitter&quot;&gt;Twitter&lt;a class=&quot;zola-anchor&quot; href=&quot;#twitter&quot; aria-label=&quot;Anchor link for: twitter&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;elonmusk&quot;&gt;Elon Musk 马斯克&lt;&#x2F;a&gt; 2020 年最火的股票就是特斯拉，特斯拉老板 Musk 也被很多人追捧，有人甚至做了马斯克推特提到的股票及时提醒器（而且还要付费订阅！）关注马斯克，及时知道下一个热点！&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;StockDweebs&quot;&gt;StockDweebs&lt;&#x2F;a&gt; 他每周都会推荐一些股票，也发一些统计和止损的分析，可以参考&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;charliebilello&quot;&gt;Charlie Bilello&lt;&#x2F;a&gt; 这个哥们做很多很多精美的图表，统计，分析，让你知道事情的变化&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;dividendcut&quot;&gt;Dividend Cut&lt;&#x2F;a&gt; 这位哥们关注股息减少的股票，当某家公司股息减少的时候，可能这家公司有不妙的情况了，关注这位兄弟及时知道&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;InvestmentTalkk&quot;&gt;Investment Talk 投资说&lt;&#x2F;a&gt; 每天都会谈很多关于股票的分析，可以作为参考&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;cathiesark&quot;&gt;Cathie’s Ark&lt;&#x2F;a&gt; 每天追踪 ARK 基金的持仓变化&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;Stocktwits&quot;&gt;Stocktwits&lt;&#x2F;a&gt; 美国版雪球，及时获得新闻和趋势&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;MarketWatch&quot;&gt;MarketWatch 市场观察&lt;&#x2F;a&gt; 市场观察，及时获得财经媒体的报道&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;wang-zhan&quot;&gt;网站&lt;a class=&quot;zola-anchor&quot; href=&quot;#wang-zhan&quot; aria-label=&quot;Anchor link for: wang-zhan&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;finviz.com&#x2F;screener.ashx&quot;&gt;Finviz 股票筛选器&lt;&#x2F;a&gt; 这是一个工具网站，你可以用很多维度去筛选出你要的股票，比如按照市值，涨跌，国家，类型等等找出你关注的股票，因为我对大公司比较感兴趣，那我就可以只看 100 亿市值以上的公司，或者你对中概股感兴趣，那你就可以只看中国的股票&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;whalewisdom.com&#x2F;whitepapers&#x2F;whalewisdom&quot;&gt;Whale Wisdom 鲸鱼智慧&lt;&#x2F;a&gt; 大多数对冲基金都非常赚钱，但是他们也非常神秘，所以如果能分析对冲基金的投资方向和股票，对散户来说就很有帮助，鲸鱼智慧就是干这个的，分析那些大型对冲基金的投资&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;arktrack.com&#x2F;&quot;&gt;ARK 基金持仓实时追踪&lt;&#x2F;a&gt; 女巴菲特的基金 ARK 是 2020 年最火的基金了，一年时间资产从几亿现在涨到了现在几百亿，ARK 最大的特点就是当天公布自己的具体持仓情况，公布持仓之后，又会促进股票继续增长。这个网站实时追踪 ARK 基金里的 5 支基金的持仓变化&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;stocks.buzzing.cc&#x2F;&quot;&gt;国外股市热门&lt;&#x2F;a&gt; 实时发布一些 Reddit，Twitter 上的股票相关热门内容的中文汇总，很适合中国关注美股的同学&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>我目前的投资（基金，炒股，存款）情况和投资方向</title>
        <published>2021-02-06T00:00:00+00:00</published>
        <updated>2021-02-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/investing-information-guide/"/>
        <id>https://old.owenyoung.com/blog/investing-information-guide/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;免责声明： 本文只是总结个人的投资方向，并不构成任何投资指南，我们每个人都应该根据自己收集的相关信息来指导自己的投资。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.owenyoung.com&#x2F;zh&#x2F;posts&#x2F;start-investing-again&#x2F;&quot;&gt;上一篇文章&lt;&#x2F;a&gt;，我认为自己过去 5 年的投资生涯，算是失败，所以本文也可以说是失败的经验总结&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;前两天看到 Reddit 上的一个讨论&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;AskReddit&#x2F;comments&#x2F;l92amj&#x2F;people_who_are_40_what_is_your_advice_to_people&#x2F;&quot;&gt;40 岁的人，你给 20 岁的人有什么建议？&lt;&#x2F;a&gt;，里面有不少 40 岁的人建议尽早开始投资。总的来说，我觉得投资确实是人生必须要学会的技能，所以，越早越好。越早，我的本金越少，可失去的越少，但是买的教训越大&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/investing-information-guide/">&lt;blockquote&gt;
&lt;p&gt;免责声明： 本文只是总结个人的投资方向，并不构成任何投资指南，我们每个人都应该根据自己收集的相关信息来指导自己的投资。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.owenyoung.com&#x2F;zh&#x2F;posts&#x2F;start-investing-again&#x2F;&quot;&gt;上一篇文章&lt;&#x2F;a&gt;，我认为自己过去 5 年的投资生涯，算是失败，所以本文也可以说是失败的经验总结&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;前两天看到 Reddit 上的一个讨论&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;AskReddit&#x2F;comments&#x2F;l92amj&#x2F;people_who_are_40_what_is_your_advice_to_people&#x2F;&quot;&gt;40 岁的人，你给 20 岁的人有什么建议？&lt;&#x2F;a&gt;，里面有不少 40 岁的人建议尽早开始投资。总的来说，我觉得投资确实是人生必须要学会的技能，所以，越早越好。越早，我的本金越少，可失去的越少，但是买的教训越大&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;我目前的投资经验包括 A 股，港股，美股，国内基金，国外基金，ETF，数字货币，模拟炒股：）&lt;&#x2F;p&gt;
&lt;h2 id=&quot;tou-zi-ying-li-qing-kuang&quot;&gt;投资盈利情况&lt;a class=&quot;zola-anchor&quot; href=&quot;#tou-zi-ying-li-qing-kuang&quot; aria-label=&quot;Anchor link for: tou-zi-ying-li-qing-kuang&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;A 股 - 赔钱&lt;&#x2F;li&gt;
&lt;li&gt;港股 - 小赚&lt;&#x2F;li&gt;
&lt;li&gt;美股 - 小赚&lt;&#x2F;li&gt;
&lt;li&gt;基金&#x2F;ETF - 小赚&lt;&#x2F;li&gt;
&lt;li&gt;数字货币 - 小赚&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;mu-qian-de-tou-zi-qing-kuang&quot;&gt;目前的投资情况&lt;a class=&quot;zola-anchor&quot; href=&quot;#mu-qian-de-tou-zi-qing-kuang&quot; aria-label=&quot;Anchor link for: mu-qian-de-tou-zi-qing-kuang&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;国内
&lt;ul&gt;
&lt;li&gt;坚决不碰 A 股（已经坚持了 4 年，原因是 A 股市场不健康，管控，不允许卖空，涨停板限制，不透明，庄，所以我觉得不适合小散，目前没有一毛钱在上面&lt;&#x2F;li&gt;
&lt;li&gt;国内的钱总得找地方放着吧？分为 3 种
&lt;ul&gt;
&lt;li&gt;54%放在 5 年定期存款，但是不是普通的低息储蓄存款，而是所谓的智能存款，50 万存款保障的那种，大概利息是在年化 5.2%左右&lt;&#x2F;li&gt;
&lt;li&gt;20%放在 1 年&#x2F;1 月的定期存款，同上，选的利息较高的智能存款，风险可以 hold 住，大概利息是 4.3-4.8%左右&lt;&#x2F;li&gt;
&lt;li&gt;15%放在基金里，买了一些理财通&#x2F;支付宝官方的一起投&#x2F;以及 QDII 基金&lt;&#x2F;li&gt;
&lt;li&gt;10%的活期，其中大多数放在银行的活期货币基金里，利息大概是年化 2.7%左右&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;国外的钱
&lt;ul&gt;
&lt;li&gt;90%的现金（前两天全部清仓，准备重新开始规划投资&lt;&#x2F;li&gt;
&lt;li&gt;10%的股票和基金&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;mei-gu-tou-zi-fang-xiang&quot;&gt;美股投资方向&lt;a class=&quot;zola-anchor&quot; href=&quot;#mei-gu-tou-zi-fang-xiang&quot; aria-label=&quot;Anchor link for: mei-gu-tou-zi-fang-xiang&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;由于美股目前一直出去历史高点，所以目前的策略是逢低定投买入 ETF 和头部股票，主要定投以下几个 ETF&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;长期投资，一直拿着，除非有大的变故&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;VOO, 标普 500，头部企业，相对稳定，下滑时恢复更快&lt;&#x2F;li&gt;
&lt;li&gt;VUG, 成长股票 ETF，收益可能比 VOO 高&lt;&#x2F;li&gt;
&lt;li&gt;QQQ, 科技股 ETF，就历史数据来看，一直都是收益最高的，但是也有泡沫风险，见仁见智&lt;&#x2F;li&gt;
&lt;li&gt;ARKK, 创新企业投资，风险更大一点，但是目前来看收益也非常高&lt;&#x2F;li&gt;
&lt;li&gt;ICLN, 全球清洁能源 ETF，这是我选的一个未来方向，所以专门投一下这个&lt;&#x2F;li&gt;
&lt;li&gt;EWG, 德国 ETF，欧洲火车头，当前已接近顶点&lt;&#x2F;li&gt;
&lt;li&gt;EWU, 英国 ETF，当前处于不高的位置，英国已脱欧，这里可以重点关注一下&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;dang-qian-zhong-dian-guan-zhu-gu-piao&quot;&gt;当前重点关注股票&lt;a class=&quot;zola-anchor&quot; href=&quot;#dang-qian-zhong-dian-guan-zhu-gu-piao&quot; aria-label=&quot;Anchor link for: dang-qian-zhong-dian-guan-zhu-gu-piao&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;目前投资股票，有一个原则，就是不碰市值小的股票，因为市值小的股票非常容易被庄操纵，涨跌幅度非常大，所以坚决不碰，比较典型的就是 GSX，我比较保守，市值 500 亿美金以下的公司不碰，这已经可以过滤掉很多股票了，另外就是中概股，谨慎谨慎再谨慎，占很小比例即可，因为政策风险，以及中概股一贯的不透明&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;SE, 东南亚电商巨头，当前历史高点 $256, 可以逢低进入&lt;&#x2F;li&gt;
&lt;li&gt;FDX, 联邦快递，优质企业，目前处于较低位置, 当前是$255&lt;&#x2F;li&gt;
&lt;li&gt;DIS, $181, 当前处于历史高点，但是优质企业，可能会一直创新高&lt;&#x2F;li&gt;
&lt;li&gt;TSM, $127, 台积电，优质企业，当前历史高点，逢低买入&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;mei-gu-xin-xi-lai-yuan&quot;&gt;美股信息来源&lt;a class=&quot;zola-anchor&quot; href=&quot;#mei-gu-xin-xi-lai-yuan&quot; aria-label=&quot;Anchor link for: mei-gu-xin-xi-lai-yuan&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;早几年，我觉得我的美股信息来源基本上是来自富途的评论区，但是现在一方面逼着自己学英语，一方面也想了解更一手的信息，所以目前的获取美股信息的方式主要是以下几个渠道：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;finance.yahoo.com&#x2F;&quot;&gt;Yahoo Finance&lt;&#x2F;a&gt; APP, 雅虎财经，定制和推送一些你关注的股票的新闻和评论&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.investing.com&#x2F;&quot;&gt;Investing&lt;&#x2F;a&gt; APP，同上&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;stocks.buzzing.cc&quot;&gt;国外股市热门讨论&lt;&#x2F;a&gt;， 这是我做的一个站点，主要是收集国外热门股票论坛和财经博主的热门推特，并且用 Deepl 翻译成中文，相当于做一个中文导读，看到感兴趣的内容再点进去看原文，这样既能提高英文水平，又能快速找到感兴趣的内容。当然，如果你的英文足够好的话，直接去 Reddit 和 Twitter 关注这些人就好，不用看中文导读了&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;暂时先写这么多，后面有更新再写一篇投资简报。&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>重新开始投资</title>
        <published>2021-02-04T00:00:00+00:00</published>
        <updated>2022-03-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/start-investing-again/"/>
        <id>https://old.owenyoung.com/blog/start-investing-again/</id>
        
        <summary type="html">&lt;p&gt;说起来我投资的时间还蛮久的，从大学的时候就开了股票账户，一直到现在有 8 年以上的投资经验了，但其实还是像一个菜鸟一样，没赚过什么钱，当然，万幸的是至少没亏钱。&lt;&#x2F;p&gt;
&lt;p&gt;今天有一笔股市打新的意外收入，填平了一直萦绕在我心里的 3 年前的一笔股票巨额亏损，这让我终于没了心魔，这才敢在 Google Sheet 里创建了一个表格，总结了下近几年的投资收益和各个账户的资金状态（还有一个原因是，我一直想总结下自己在各个银行开立的账户，万一我发生什么意外，让亲友能知道我的账户情况）&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/start-investing-again/">&lt;p&gt;说起来我投资的时间还蛮久的，从大学的时候就开了股票账户，一直到现在有 8 年以上的投资经验了，但其实还是像一个菜鸟一样，没赚过什么钱，当然，万幸的是至少没亏钱。&lt;&#x2F;p&gt;
&lt;p&gt;今天有一笔股市打新的意外收入，填平了一直萦绕在我心里的 3 年前的一笔股票巨额亏损，这让我终于没了心魔，这才敢在 Google Sheet 里创建了一个表格，总结了下近几年的投资收益和各个账户的资金状态（还有一个原因是，我一直想总结下自己在各个银行开立的账户，万一我发生什么意外，让亲友能知道我的账户情况）&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;总的来说，总盈利 60000 元左右，其中基金 25000，数字货币 25000，股票 10000.&lt;&#x2F;p&gt;
&lt;p&gt;总结完毕后，觉得神清气爽，在表格里记录自己的各项账户余额真是一个很有必要的做法，想想以前的自己，唉，竟然一直都马马虎虎的在脑子中记个大概的数，我觉得这可能也是遗传了家人的性格，父母从来不把自己的钱做一个清晰的规划，所以这么多年来他们的钱老是攒不起来，我要找个时间给他们做一次整理。&lt;&#x2F;p&gt;
&lt;p&gt;我决定把 2021-02-04，作为我投资生涯的一个新的开始，以今天为初始资金的计算点，开启今后的投资，每半年更新下 Google Sheet，看看收益如何。&lt;&#x2F;p&gt;
&lt;p&gt;我在表格里记录了以下字段：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;平台&lt;&#x2F;li&gt;
&lt;li&gt;金额&lt;&#x2F;li&gt;
&lt;li&gt;状态&lt;&#x2F;li&gt;
&lt;li&gt;到期时间&lt;&#x2F;li&gt;
&lt;li&gt;预估到期收益&lt;&#x2F;li&gt;
&lt;li&gt;方式&lt;&#x2F;li&gt;
&lt;li&gt;年化收益率 %&lt;&#x2F;li&gt;
&lt;li&gt;派息时间&lt;&#x2F;li&gt;
&lt;li&gt;登录入口&lt;&#x2F;li&gt;
&lt;li&gt;存入时间&lt;&#x2F;li&gt;
&lt;li&gt;平台账号&lt;&#x2F;li&gt;
&lt;li&gt;产品名称&lt;&#x2F;li&gt;
&lt;li&gt;登录方式&lt;&#x2F;li&gt;
&lt;li&gt;登录账号&lt;&#x2F;li&gt;
&lt;li&gt;分行&lt;&#x2F;li&gt;
&lt;li&gt;唯一标识&lt;&#x2F;li&gt;
&lt;li&gt;银行卡号&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;希望以后能分享一些投资心得吧（前提是赚钱了的话，亏钱的话都不敢看账户的&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>使用Actionsflow在Github上免费部署Rsshub</title>
        <published>2021-02-03T00:00:00+00:00</published>
        <updated>2022-03-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/deploy-rsshub-with-actionsflow/"/>
        <id>https://old.owenyoung.com/blog/deploy-rsshub-with-actionsflow/</id>
        
        <summary type="html">&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;DIYgod&#x2F;RSSHub&quot;&gt;Rsshub&lt;&#x2F;a&gt;是一个很棒的工具，把很多知名或不知名的网页数据通通统一为&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;RSS&quot;&gt;RSS 格式&lt;&#x2F;a&gt;，堪称中文互联网的 W3C. 但是官方推荐的部署方式是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.rsshub.app&#x2F;install&#x2F;#docker-compose-bu-shu&quot;&gt;Docker 部署&lt;&#x2F;a&gt;，对于大多数轻量使用的用户来说有点重，所以这里介绍一种免费，轻量，按需使用的部署方式，利用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;actionsflow&#x2F;actionsflow&quot;&gt;Actionsflow&lt;&#x2F;a&gt;部署在 GitHub 的 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.github.com&#x2F;en&#x2F;actions&quot;&gt;Actions&lt;&#x2F;a&gt; 上。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;actionsflow&#x2F;actionsflow&quot;&gt;Actionsflow&lt;&#x2F;a&gt;是一个基于 Github Actions 上的 IFTTT&#x2F;Zapier 的开源替代，使用 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;workflow&#x2F;&quot;&gt;Github Actions 的配置格式&lt;&#x2F;a&gt;来配置你需要的工作流, 更多关于 Actionsflow 的使用可以看我的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.owenyoung.com&#x2F;zh&#x2F;posts&#x2F;actionsflow&#x2F;&quot;&gt;另一篇文章介绍&lt;&#x2F;a&gt;,或者&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;&quot;&gt;官方文档&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/deploy-rsshub-with-actionsflow/">&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;DIYgod&#x2F;RSSHub&quot;&gt;Rsshub&lt;&#x2F;a&gt;是一个很棒的工具，把很多知名或不知名的网页数据通通统一为&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;RSS&quot;&gt;RSS 格式&lt;&#x2F;a&gt;，堪称中文互联网的 W3C. 但是官方推荐的部署方式是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.rsshub.app&#x2F;install&#x2F;#docker-compose-bu-shu&quot;&gt;Docker 部署&lt;&#x2F;a&gt;，对于大多数轻量使用的用户来说有点重，所以这里介绍一种免费，轻量，按需使用的部署方式，利用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;actionsflow&#x2F;actionsflow&quot;&gt;Actionsflow&lt;&#x2F;a&gt;部署在 GitHub 的 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.github.com&#x2F;en&#x2F;actions&quot;&gt;Actions&lt;&#x2F;a&gt; 上。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;actionsflow&#x2F;actionsflow&quot;&gt;Actionsflow&lt;&#x2F;a&gt;是一个基于 Github Actions 上的 IFTTT&#x2F;Zapier 的开源替代，使用 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;workflow&#x2F;&quot;&gt;Github Actions 的配置格式&lt;&#x2F;a&gt;来配置你需要的工作流, 更多关于 Actionsflow 的使用可以看我的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.owenyoung.com&#x2F;zh&#x2F;posts&#x2F;actionsflow&#x2F;&quot;&gt;另一篇文章介绍&lt;&#x2F;a&gt;,或者&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;&quot;&gt;官方文档&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;比如我自己在用的一个工作流就是监控豆瓣车组的一些我需要的关键词，如果有提到关键词的帖子，那么发送一个 telegram 消息给我，配置如下：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;yaml&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-yaml &quot;&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;on&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;rsshub&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;path&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;path&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;douban&#x2F;group&#x2F;669481
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;query&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;filter_case_sensitive&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;false
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;filter_title&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;罐头|狗粮|爱肯拿|渴望|姐妹们快|牛奶|牛肉|羊肉|来伊份岩烧|来伊份面包|烤箱|生鲜|螺蛳粉|米诺|果酸|杏仁酸|鸡蛋|大米|薅|cr海盐|洗头膏|崔娅蓬松|洗鼻|橙
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;filterout_title&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;求|转|求购|交流|已购|专楼|蒙牛|伊利|讨论|华为|停车|代拍|完|分装|意向|拼单|删|一元
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;jobs&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;ifttt&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Make a Request to telegram
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;runs-on&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;ubuntu-latest
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;steps&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Send a telegram message
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;appleboy&#x2F;telegram-action@v0.1.0
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;with&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;to&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.TELEGRAM_TO }}
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;token&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{ secrets.TELEGRAM_TOKEN }}
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;message&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;|
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;            &amp;lt;b&amp;gt;${{ on.rsshub.outputs.title}}&amp;lt;&#x2F;b&amp;gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;            &amp;lt;a href=&amp;quot;${{on.rsshub.outputs.link}}&amp;quot;&amp;gt;${{on.rsshub.outputs.description}}&amp;lt;&#x2F;a&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;format&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;html
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;disable_web_page_preview&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;true
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;blockquote&gt;
&lt;p&gt;配置来自&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;actionsflow-workflow&#x2F;blob&#x2F;main&#x2F;workflows&#x2F;rsshub.yml&quot;&gt;这里&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;接下来介绍下如何部署：）&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;因为 rsshub 这个 trigger 没有内置在 Actionsflow 里，所以按照官方的教程初始化之后，需要主动安装下&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;actionsflow-trigger-rsshub&quot;&gt;@actionsflow&#x2F;trigger-rsshub&lt;&#x2F;a&gt;这个 trigger&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;使用这个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;actionsflow&#x2F;actionsflow-workflow-default&#x2F;generate&quot;&gt;链接&lt;&#x2F;a&gt;用 Actionsflow 的默认模板创建一个新的 GitHub 项目，一个典型的 Actionsflow 项目长这样：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; .github
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── workflows
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       └── actionsflow.yml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; .gitignore
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; README.md
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; workflows
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── rss.yml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── webhook.yml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; package.json
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;clone 你刚创建的项目到本地&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span&gt; clone git@github.com:&amp;lt;your-github-username&amp;gt;&#x2F;&amp;lt;repo-name&amp;gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;在本地编辑 &lt;code&gt;.github&#x2F;workflows&#x2F;actionsflow.yml&lt;&#x2F;code&gt; 文件，取消&lt;code&gt;schedule&lt;&#x2F;code&gt;的注释&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;安装&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;actionsflow-trigger-rsshub&quot;&gt;@actionsflow&#x2F;trigger-rsshub&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;npm&lt;&#x2F;span&gt;&lt;span&gt; i @actionsflow&#x2F;trigger-rsshub
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;在&lt;code&gt;workflows&#x2F;&lt;&#x2F;code&gt;文件夹创建你自己的 workflow 文件&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;workflow 的写法和 rsshub trigger 的用法清参考官方文档&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;workflow&#x2F;&quot;&gt;Actionsflow Workflow Syntax&lt;&#x2F;a&gt;, &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;theowenyoung&#x2F;actionsflow-trigger-rsshub&quot;&gt;Actionsflow rsshub trigger&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;可以参考&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;actions&#x2F;&quot;&gt;这里&lt;&#x2F;a&gt;列出的 常用 Github Action，以及这个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;actionsflow&#x2F;awesome-actionsflow&quot;&gt;Actionsflow 的 Awesome 项目&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;示例(&lt;code&gt;&#x2F;workflow&#x2F;rsshub.yml&lt;&#x2F;code&gt;)：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;yaml&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-yaml &quot;&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;on&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;rsshub&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;path&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;smzdm&#x2F;keyword&#x2F;女装
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;jobs&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Print
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;runs-on&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;ubuntu-latest
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;steps&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Print Outputs
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;env&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;title&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{on.rsshub.outputs.title}}
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;description&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{on.rsshub.outputs.description}}
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;link&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;${{on.rsshub.outputs.link}}
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;|
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;          echo title: $title
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;          echo description: $description
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;          echo link: $link
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;保存并提交你的文件到 Github&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;blockquote&gt;
&lt;p&gt;如果你想本地测试的话，需要先安装&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.docker.com&#x2F;get-docker&#x2F;&quot;&gt;Docker&lt;&#x2F;a&gt;, 并运行 &lt;code&gt;npm run start&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>如何培养长期的英文阅读兴趣？</title>
        <published>2021-02-03T00:00:00+00:00</published>
        <updated>2022-03-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/how-do-i-cultivate-long-term-interest-in-english-reading/"/>
        <id>https://old.owenyoung.com/blog/how-do-i-cultivate-long-term-interest-in-english-reading/</id>
        
        <summary type="html">&lt;p&gt;在我自己博客里的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.owenyoung.com&#x2F;about&#x2F;&quot;&gt;&#x2F;about&lt;&#x2F;a&gt;页里对自己的第一个介绍就是:&lt;strong&gt;A failure of English learning&lt;&#x2F;strong&gt;, 一个学了 10 年英语的菜鸟，我自己认为根本原因是我的意志力，物理原因主要是对英文的练习不够，所以我现在的主要思路还是要提高英语的练习量，重点是坚持。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/how-do-i-cultivate-long-term-interest-in-english-reading/">&lt;p&gt;在我自己博客里的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.owenyoung.com&#x2F;about&#x2F;&quot;&gt;&#x2F;about&lt;&#x2F;a&gt;页里对自己的第一个介绍就是:&lt;strong&gt;A failure of English learning&lt;&#x2F;strong&gt;, 一个学了 10 年英语的菜鸟，我自己认为根本原因是我的意志力，物理原因主要是对英文的练习不够，所以我现在的主要思路还是要提高英语的练习量，重点是坚持。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;第一次看到&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;wanqu.co&#x2F;&quot;&gt;湾区日报&lt;&#x2F;a&gt;的时候觉得，哇又能看自己感兴趣的，又能看原文学英语，多好！但是最后还是没能坚持看下去，为啥呢？可能还是因为这事太正能量了，潜意识可能告诉我，这是工作不是兴趣！不然为啥刷推刷的那么频繁呢？&lt;&#x2F;p&gt;
&lt;p&gt;所以，为了让自己像刷推一样刷感兴趣的英文讯息，我仿照湾区日报的模式，做了几个导读网站 - &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzing.cc&#x2F;&quot;&gt;Buzzing&lt;&#x2F;a&gt;，其中我每天必刷的有&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;reddit.buzzing.cc&#x2F;&quot;&gt;Reddit 热门&lt;&#x2F;a&gt;, &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;stocks.buzzing.cc&#x2F;&quot;&gt;国外股市热门&lt;&#x2F;a&gt;, &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;hn.buzzing.cc&#x2F;&quot;&gt;Hacker News 热门&lt;&#x2F;a&gt;, &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ph.buzzing.cc&#x2F;&quot;&gt;Product Hunt 热门&lt;&#x2F;a&gt;， &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ask.buzzing.cc&#x2F;&quot;&gt;Reddit 热门提问&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;导读内容的翻译是自动进行的，用的是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.deepl.com&#x2F;en&#x2F;translator&quot;&gt;deepl&lt;&#x2F;a&gt;的服务，据说是翻译中文最好的翻译引擎，我试了谷歌翻译，腾讯翻译和 deepl，确实 deepl 翻译的更准确一点。&lt;&#x2F;p&gt;
&lt;p&gt;目前推进的很好，每天都会上去看更新，而且是带着强烈兴趣的去看更新，有了中文导读之后，可以更快的找到自己想看的内容，然后进去之后看原文会更有动力。&lt;&#x2F;p&gt;
&lt;p&gt;如果你也有类似问题，可以尝试刷下&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.buzzing.cc&#x2F;&quot;&gt;Buzzing&lt;&#x2F;a&gt;，或者你有一些感兴趣的主题，也可以 DM 或者邮件联系我，可以新增一些主题～&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>Actionsflow介绍 - 可以一键部署在Github上的IFTTT&#x2F;Zapier的开源替代</title>
        <published>2021-02-02T00:00:00+00:00</published>
        <updated>2021-02-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/actionsflow/"/>
        <id>https://old.owenyoung.com/blog/actionsflow/</id>
        
        <summary type="html">&lt;p&gt;我还记得当年第一次使用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ifttt.com&quot;&gt;IFTTT&lt;&#x2F;a&gt;的时候的那种兴奋，天呐，这才是互联网！从那时起，就一直使用 IFTTT 到今天，真的很棒的一个产品！直到 IFTTT 最近宣布要收费，我就在想有没有合适的开源方案可以替代，因为托管方案肯定没戏了，连 10 年都免费的 IFTTT 都开始收费了，其他的只会更贵，结果发现主流的开源替代方案，比如 huginn, n8n, node-red 好像又有点重，不够轻量，而且扩展起来也不容易。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/actionsflow/">&lt;p&gt;我还记得当年第一次使用&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ifttt.com&quot;&gt;IFTTT&lt;&#x2F;a&gt;的时候的那种兴奋，天呐，这才是互联网！从那时起，就一直使用 IFTTT 到今天，真的很棒的一个产品！直到 IFTTT 最近宣布要收费，我就在想有没有合适的开源方案可以替代，因为托管方案肯定没戏了，连 10 年都免费的 IFTTT 都开始收费了，其他的只会更贵，结果发现主流的开源替代方案，比如 huginn, n8n, node-red 好像又有点重，不够轻量，而且扩展起来也不容易。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;刚好在那时看到&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.github.com&#x2F;en&#x2F;actions&quot;&gt;Github 的 Actions&lt;&#x2F;a&gt;支持&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.github.com&#x2F;en&#x2F;actions&#x2F;reference&#x2F;events-that-trigger-workflows#schedule&quot;&gt;Schedule&lt;&#x2F;a&gt;事件，而 Github 的 Actions 又是对开源项目免费使用，所以就萌生了利用 Github Actions 的定时运行来检测更新，并执行指定动作。所以一个新的轮子&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;actionsflow&#x2F;actionsflow&quot;&gt;Actionsflow&lt;&#x2F;a&gt; 来了！&lt;&#x2F;p&gt;
&lt;h2 id=&quot;kai-shi&quot;&gt;开始&lt;a class=&quot;zola-anchor&quot; href=&quot;#kai-shi&quot; aria-label=&quot;Anchor link for: kai-shi&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;使用这个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;actionsflow&#x2F;actionsflow-workflow-default&#x2F;generate&quot;&gt;链接&lt;&#x2F;a&gt;用 Actionsflow 的默认模板创建一个新的 GitHub 项目，一个典型的 Actionsflow 项目长这样：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; .github
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── workflows
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;       └── actionsflow.yml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; .gitignore
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;├──&lt;&#x2F;span&gt;&lt;span&gt; README.md
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; workflows
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── rss.yml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;│&lt;&#x2F;span&gt;&lt;span&gt;   └── webhook.yml
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;└──&lt;&#x2F;span&gt;&lt;span&gt; package.json
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;取消 &lt;code&gt;.github&#x2F;workflows&#x2F;actionsflow.yml&lt;&#x2F;code&gt; 文件里&lt;code&gt;schedule&lt;&#x2F;code&gt;的注释&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;在&lt;code&gt;workflows&#x2F;&lt;&#x2F;code&gt;文件夹创建你自己的 workflow 文件&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;保存并提交你的文件到 Github&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;pei-zhi&quot;&gt;配置&lt;a class=&quot;zola-anchor&quot; href=&quot;#pei-zhi&quot; aria-label=&quot;Anchor link for: pei-zhi&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;我对 Actionsflow 的设计原则是规则尽可能简单，并且可扩展，workflow 的配置规则直接采用 Github Actions 的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.github.com&#x2F;en&#x2F;actions&#x2F;reference&#x2F;workflow-syntax-for-github-actions&quot;&gt;配置格式&lt;&#x2F;a&gt;，如果你之前有用过 Github Actions 的话，应该立刻就能懂 Actionsflow 的全部配置规则：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;yaml&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-yaml &quot;&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;on&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;rss&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;url&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;hnrss.org&#x2F;newest?points=300
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;config&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;limit&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;10
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;jobs&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;request&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Make a HTTP Request
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;runs-on&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;ubuntu-latest
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;steps&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Make a HTTP Request
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;actionsflow&#x2F;axios@v1
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;with&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;url&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;https:&#x2F;&#x2F;hookb.in&#x2F;VGPzxoWbdjtE22bwznzE
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;method&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;POST
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;body&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;|
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;            {
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;              &amp;quot;link&amp;quot;:&amp;quot;${{ on.rss.outputs.link }}&amp;quot;,
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;              &amp;quot;title&amp;quot;: &amp;quot;${{ on.rss.outputs.title }}&amp;quot;,
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;              &amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;lt;&amp;lt;${{ on.rss.outputs.contentSnippet }}&amp;gt;&amp;gt;&amp;gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;            }
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;和原生的 Github Actions 的配置相比，Actionsflow 只是扩展了&lt;code&gt;on&lt;&#x2F;code&gt;的事件，在 Actionsflow 里，我把它叫做&lt;code&gt;trigger&lt;&#x2F;code&gt;，&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;triggers&#x2F;rss&#x2F;&quot;&gt; RSS trigger&lt;&#x2F;a&gt;经常被用来做示例使用，你可以点击[这里](&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;triggers&#x2F;&quot;&gt;Actionsflow Triggers | Actionsflow Documentation&lt;&#x2F;a&gt;)查看目前 Actionsflow 支持的所有 trigger. Trigger 里有个特殊的参数是&lt;code&gt;config&lt;&#x2F;code&gt;,这个 config 是通用参数，也就是所有的 trigger 都支持 config 参数，config 实现了很多通用的功能的，比如设置过滤条件，设置过滤条数，格式化输出结果，设置触发时间等等，点击[这里](&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;workflow&#x2F;#ontriggerconfig&quot;&gt;Workflow Syntax for Actionsflow | Actionsflow Documentation&lt;&#x2F;a&gt;可以查看所有支持的配置。&lt;&#x2F;p&gt;
&lt;p&gt;其他的就和 Github Actions 的配置一样了，你可以在 jobs 里配置任何复杂的任务，或者简单的发个请求，你可以用&lt;code&gt; ${{ on.rss.outputs.&amp;lt;key&amp;gt; }}&lt;&#x2F;code&gt;来使用 trigger 的结果，每个 trigger 的结果的 key 需要去看对应 trigger 的文档。&lt;&#x2F;p&gt;
&lt;p&gt;我在&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;actions&#x2F;&quot;&gt;这里&lt;&#x2F;a&gt;列出了你可能会用到的 Github Action，同时新建了一个&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;actionsflow&#x2F;awesome-actionsflow&quot;&gt;Awesome 项目&lt;&#x2F;a&gt;列出一些常用的 Actionsflow 工作流。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;webhook&quot;&gt;Webhook&lt;a class=&quot;zola-anchor&quot; href=&quot;#webhook&quot; aria-label=&quot;Anchor link for: webhook&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;Actionsflow 不仅支持定时抓取类的任务，同时还支持 Webhook 类的任务，这样第三方服务如果有任何更新就可以主动通知 Actionsflow 了。这里 Webhook 机制是利用 Github 可以接收外界的 &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.github.com&#x2F;en&#x2F;actions&#x2F;reference&#x2F;events-that-trigger-workflows#repository_dispatch&quot;&gt;&lt;code&gt;repository_dispatch&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; 事件来触发 Action 运行来实现的，具体使用可以见&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;triggers&#x2F;webhook&#x2F;&quot;&gt;这里&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;ben-di-yun-xing&quot;&gt;本地运行&lt;a class=&quot;zola-anchor&quot; href=&quot;#ben-di-yun-xing&quot; aria-label=&quot;Anchor link for: ben-di-yun-xing&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;大多数情况下，使用 Github Actions 运行 Actionsflow 是更方便，也是推荐的使用方式，但是可能出于某种原因你需要在本地或者你自己的 VPS 上部署 Actionsflow. 要在本地运行 Actionsflow，必须先安装&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.docker.com&#x2F;&quot;&gt;Docker&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;然后只需要运行:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;docker&lt;&#x2F;span&gt;&lt;span&gt; run&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -it -v&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;var&#x2F;run&#x2F;docker.sock:&#x2F;var&#x2F;run&#x2F;docker.sock&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -v &lt;&#x2F;span&gt;&lt;span&gt;${&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;PWD&lt;&#x2F;span&gt;&lt;span&gt;}:&#x2F;data&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -p&lt;&#x2F;span&gt;&lt;span&gt; 3000:3000 actionsflow&#x2F;actionsflow
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;手动运行方式见&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;actionsflow.github.io&#x2F;docs&#x2F;self-hosted&#x2F;#manual&quot;&gt;这里&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
    </entry>
    <entry xml:lang="zh">
        <title>Anki背单词必备的3个插件</title>
        <published>2020-11-10T00:00:00+00:00</published>
        <updated>2020-11-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Owen Young
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://old.owenyoung.com/blog/anki-get-started/"/>
        <id>https://old.owenyoung.com/blog/anki-get-started/</id>
        
        <summary type="html">&lt;p&gt;用了那么多背单词软件，发现还是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ankiweb.net&#x2F;&quot;&gt;Anki&lt;&#x2F;a&gt;好用，我觉得其中最好用是 Anki 提供的强大的 Tag
功能，你可以给每个单词打上一个 Tag ，这样方便你日后归类来复习这些单词，比如你可以有一个「hard」的 Tag。&lt;&#x2F;p&gt;
</summary>
        
        <content type="html" xml:base="https://old.owenyoung.com/blog/anki-get-started/">&lt;p&gt;用了那么多背单词软件，发现还是&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ankiweb.net&#x2F;&quot;&gt;Anki&lt;&#x2F;a&gt;好用，我觉得其中最好用是 Anki 提供的强大的 Tag
功能，你可以给每个单词打上一个 Tag ，这样方便你日后归类来复习这些单词，比如你可以有一个「hard」的 Tag。&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;Tag 是 Anki 官方提供的功能，你可以直接在 Anki 上管理 tag，但是默认的 tag 管理比较不够便捷，所以如果配合以下插件，就能更方便的添加，查看
Tag。&lt;&#x2F;p&gt;
&lt;p&gt;这里纪录下我的 Anki 配置，希望你也能用得着。最终效果如下：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;anki-get-started&#x2F;.&#x2F;final.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;yu-xian-zhun-bei&quot;&gt;预先准备&lt;a class=&quot;zola-anchor&quot; href=&quot;#yu-xian-zhun-bei&quot; aria-label=&quot;Anchor link for: yu-xian-zhun-bei&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;apps.ankiweb.net&#x2F;&quot;&gt;下载 Anki 桌面版&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;[下载一个词库][https:&#x2F;&#x2F;ankiweb.net&#x2F;shared&#x2F;decks&#x2F;] -
可选，我初学的时候用的是这个排名第一的&lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ankiweb.net&#x2F;shared&#x2F;info&#x2F;1104981491&quot;&gt;4000 Essential English Words 英英&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;bi-bei-cha-jian&quot;&gt;必备插件&lt;a class=&quot;zola-anchor&quot; href=&quot;#bi-bei-cha-jian&quot; aria-label=&quot;Anchor link for: bi-bei-cha-jian&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;下载插件是在「Tools-&amp;gt;Add-ons-&amp;gt;Get Add-ons」,输入插件的 Code，插件的 Code
在插件主页上找到，[点击这里](https:&#x2F;&#x2F;ankiweb.net&#x2F;shared&#x2F;addons&#x2F; 2.1)可以浏览所有的插件。&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: 每次安装完插件后，重启才能生效。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;1-quick-tagging&quot;&gt;1. &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ankiweb.net&#x2F;shared&#x2F;info&#x2F;304770511&quot;&gt;Quick tagging&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#1-quick-tagging&quot; aria-label=&quot;Anchor link for: 1-quick-tagging&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Code: &lt;code&gt;304770511&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这个插件用来在 review 时，用快捷键快速添加 tag，默认是「q」键，你可以配置自己常用的 tag，比如「h」键添加一个「hard」标签。&lt;&#x2F;p&gt;
&lt;p&gt;以下是我的配置(其实就只是加了一个 hard 快捷键)：&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;json&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-json &quot;&gt;&lt;code class=&quot;language-json&quot; data-lang=&quot;json&quot;&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;add tag shortcut&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;q&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;edit tag shortcut&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;w&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;quick tags&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Ctrl+Shift+B&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;action&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;bury note&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;tags&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;burynote&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    },
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Shift+B&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;action&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;bury card&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;tags&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;burycard&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    },
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;Shift+S&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;action&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;suspend card&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;tags&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;suspend&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    },
&lt;&#x2F;span&gt;&lt;span&gt;    &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;h&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: {
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;action&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;again card&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;,
&lt;&#x2F;span&gt;&lt;span&gt;      &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;tags&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;hard&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;  }
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;2-clickable-tags&quot;&gt;2. &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ankiweb.net&#x2F;shared&#x2F;info&#x2F;380714095&quot;&gt;Clickable Tags&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#2-clickable-tags&quot; aria-label=&quot;Anchor link for: 2-clickable-tags&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Code: &lt;code&gt;380714095&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;接下来就是这个 Clickable Tags 插件了，上一个插件解决了添加 Tag 的问题，这个插件解决显示 Tag
的问题，用了这个插件后你可以把这个单词所属的 Tag 都显示在 Review 页面，并且可以随时点击进去查看同个 Tag 的所有单词。效果如下：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;anki-get-started&#x2F;.&#x2F;clickable-tags.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;安装完成后，你需要在你的单词模板里插入一个占位符来作为显示 Tag 的地方，步骤如下：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;anki-get-started&#x2F;.&#x2F;tag.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;点击「Cards」，选择「Back Template」，在合适的地方插入 &lt;code&gt;{{clickable:Tags}}&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;old.owenyoung.com&#x2F;blog&#x2F;anki-get-started&#x2F;.&#x2F;template.png&quot; alt=&quot;&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;保存并重启 Anki，你就会在卡片背面看到单词的 Tags（如果有 Tag 的话）&lt;&#x2F;p&gt;
&lt;h3 id=&quot;3-tag-entry-enhancements-v2&quot;&gt;3. &lt;a rel=&quot;noopener nofollow noreferrer&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ankiweb.net&#x2F;shared&#x2F;info&#x2F;536796161&quot;&gt;Tag Entry Enhancements v2&lt;&#x2F;a&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#3-tag-entry-enhancements-v2&quot; aria-label=&quot;Anchor link for: 3-tag-entry-enhancements-v2&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Code: &lt;code&gt;536796161&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;这个插件提供标签输入增强的，提供了以下功能：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;添加 Return &#x2F; Enter 作为热键以应用第一个建议的标签&lt;&#x2F;li&gt;
&lt;li&gt;将 Ctrl + Tab 作为热键添加以在建议列表中移动&lt;&#x2F;li&gt;
&lt;li&gt;输入字段时禁用初始建议框弹出窗口&lt;&#x2F;li&gt;
&lt;li&gt;允许使用 ↑&#x2F;↓ 调用标签建议框&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;安装后重启即可使用&lt;&#x2F;p&gt;
&lt;h2 id=&quot;zong-jie&quot;&gt;总结&lt;a class=&quot;zola-anchor&quot; href=&quot;#zong-jie&quot; aria-label=&quot;Anchor link for: zong-jie&quot;&gt;🔗&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;总之，我使用 Anki 的重度功能就是这个 Tag，背到某个单词的时候，可以看到你标记的同类单词，这样更不容易忘记。&lt;&#x2F;p&gt;
</content>
    </entry>
</feed>
