<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>求果 on 妙镜</title>
    <link>/categories/%E6%B1%82%E6%9E%9C/</link>
    <description>Recent content in 求果 on 妙镜</description>
    <generator>gohugo.io</generator>
    <language>zh-cn</language>
    <copyright>cxumol</copyright>
    <lastBuildDate>Mon, 02 Oct 2017 15:29:05 -0400</lastBuildDate>
    <atom:link href="/categories/%E6%B1%82%E6%9E%9C/" rel="self" type="application/rss+xml" />
    
    <item>
      <title>不要忽略忽略能力 —— 揭穿 claude 的独门绝技</title>
      <link>/claude-s-secret/</link>
      <pubDate>Sat, 17 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>/claude-s-secret/</guid>
      <description>
        &lt;h4 id=&#34;前言&#34;&gt;前言&lt;/h4&gt;
&lt;p&gt;2025, 模型厂商在基础能力上卷无可卷｡ 眼馋 Cursor, Claude Code 靠写代码发了财, 于是埋头卷代码; 又看 Claude Code 扮的 Agent 丝滑跟手, 就捏十万个docker校场苦练&lt;a href=&#34;https://bigeagle.me/2025/07/kimi-k2/&#34;&gt;怎么调工具&lt;/a&gt;｡ 这层表象, 天天刷 AI 新闻的你看得出来, 天天刷 AI 新闻的模型厂商员工也看得出来｡&lt;/p&gt;
&lt;p&gt;看不出来的, 是 Claude 的高瞻远瞩、渊深城府｡ 看不出来的, 是一个天天哭闹着反华的跳梁小丑, 怎么靠隐瞒、误导包括御三家在内的一众同行, 来保持自家模型独门绝技式的领先｡&lt;/p&gt;
&lt;h2 id=&#34;第一集-思路决定出路&#34;&gt;第一集 思路决定出路&lt;/h2&gt;
&lt;h3 id=&#34;回合一-chatgpt-vs-claude&#34;&gt;回合一 ChatGPT vs Claude&lt;/h3&gt;
&lt;p&gt;ChatGPT 发明工具调用 (函数调用), 又根据工具调用, 发明了 &lt;a href=&#34;https://chatgpt.com/gpts&#34;&gt;GPTs 商城&lt;/a&gt; (ChatGPT plugins)｡&lt;br&gt;
Claude 发明 MCP, 又根据 MCP, 发明了 Claude Code.&lt;/p&gt;
&lt;p&gt;工具调用要求模型懂得&amp;quot;我手握锤子, 有没有钉子要敲&amp;quot;, 于是每个 GPTs 有自己一套工具, 各司其职｡&lt;br&gt;
MCP 要求模型懂得&amp;quot;我手提一箱起子扳手, 得拿哪几把&amp;quot;, 于是 Claude Code 在代码仓库如鱼得水｡&lt;/p&gt;
&lt;p&gt;如今有目共睹｡ GPTs 销声匿迹; Claude Code 如日中天｡&lt;/p&gt;
&lt;h3 id=&#34;回合二-gemini-vs-claude&#34;&gt;回合二 Gemini vs Claude&lt;/h3&gt;
&lt;p&gt;Gemini 推出百万级窗口
&lt;a href=&#34;https://www.youtube.com/watch?v=NHMJ9mqKeMQ&#34;&gt;https://www.youtube.com/watch?v=NHMJ9mqKeMQ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Claude 推出 Skill
&lt;a href=&#34;https://www.youtube.com/watch?v=CEvIs9y1uog&#34;&gt;https://www.youtube.com/watch?v=CEvIs9y1uog&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;有了百万级窗口, 我们不必建向量搜索数据库 RAG, 而是不论好赖统统塞进上下文里, 让聪明模型厘清一切｡&lt;br&gt;
有了 Skill, 我们不必建向量搜索数据库 RAG, 而是根据简述, 让聪明模型挑拣, 动态按需加载所需的文档｡&lt;/p&gt;
&lt;p&gt;后续显而易见｡ 百万窗口身陷 &lt;a href=&#34;https://research.trychroma.com/context-rot&#34;&gt;Context Rot&lt;/a&gt;, Gemini 兜兜转转, 不得不推出 &lt;a href=&#34;https://ai.google.dev/gemini-api/docs/file-search&#34;&gt;RAG API&lt;/a&gt; ; Claude Code 依旧遥遥领先, codex､ gemini-cli 望其项背｡&lt;/p&gt;
&lt;p&gt;到这里敏感的读者可能已经察觉线索, 摸出门道了｡ 不过写到这里证据还不充分, 不好贸然下结论｡ 我们再多分析下 claude code.&lt;/p&gt;
&lt;h2 id=&#34;第二集-软件巧妙还是模型巧妙&#34;&gt;第二集 软件巧妙还是模型巧妙&lt;/h2&gt;
&lt;p&gt;claude code 初显世时, 老百姓并不觉得巧｡ 一来 Agent 泛滥成灾, 二来 AI 写代码尚有 cursor 老大站台, 轮不到你摆谱｡&lt;/p&gt;
&lt;p&gt;很显然诸模型厂商同时嗅到 AI 编程煌煌大势, 必须冲｡ 往哪冲? 看到编程跑分榜､ Agentic 跑分榜了吗? 冲冲冲……  身处当世最大泡沫, 挤着无数聪明人, 如果没有特别巧妙的差异化策略, 或者有策略但守不住, 局面必然导向你方唱罢我登场, 各领风骚数星期 —— AI 编程的 IDE 时代正是如此｡&lt;/p&gt;
&lt;p&gt;凭什么 claude code 后来居上､ 一枝独秀､ 在 AI 编程的 CLI 时代独领风骚好几月?&lt;/p&gt;
&lt;p&gt;观L站大量帖子可知, 当前最热门的 AI 编程方案, 就是 claude code + claude模型, 且两者强耦合:&lt;br&gt;
有一帮佬友买了 GLM､ Kimi 套餐, 强行套 claude code 头上, 发现太笨, 结论是模型问题;&lt;br&gt;
另一帮佬友在谷歌家里当美国学生, 用 gemini-cli 调 claude 模型, 发现差点意思, 结论是软件问题｡&lt;/p&gt;
&lt;p&gt;所以到底是软件工具更巧, 还是模型更巧, 岂不难说? 须知 vibe 当道, CLI/TUI 软件好抄, 模型能力不好抄｡ 软件是控制论的产物, 有迹可循; 但 AI 智能从神经网络涌现, 难以把握｡ Claude 在 claude code 阶段的隐瞒, 让同行觉得不过是 claude 模型 &lt;a href=&#34;https://news.ycombinator.com/item?id=46588899&#34;&gt;&amp;ldquo;很会写代码&amp;rdquo;&lt;/a&gt; 而已, 以为自己再多多刷题, 多泡在docker泡影里无穷幻想, 假以时日, 彼可取而代之｡&lt;/p&gt;
&lt;p&gt;直到 &lt;a href=&#34;https://www.youtube.com/watch?v=CEvIs9y1uog&#34;&gt;Claude 推出 Skill&lt;/a&gt;, 仍有人看不惯 AI 厂商生造概念, 讥笑道, Skill 不过是另一种 prompt 罢了｡ Claude 听了定要窃喜其欺瞒战术继续成功｡ 可当看到 &lt;a href=&#34;https://simonwillison.net/2025/Dec/12/openai-skills/&#34;&gt;ChatGPT 偷学 Skill, 同样秘而不宣&lt;/a&gt;, 再迟钝的模型厂商也该悟到｡ Claude 其心昭昭, Claude Code 其意澈澈｡ Anthropic 战略图穷匕见, 水落石出｡&lt;/p&gt;
&lt;p&gt;凭借工具调用和百万窗口, 我们能打造千百台 Agents; 凭借 MCP 和 Skill, 我们只需要一台 Agent.&lt;br&gt;
这台 Agent 坐拥 MCP server 池, 顺手捞出恰巧调用; 背倚 SKILL .md 柜, 随手抽出正好加载｡&lt;/p&gt;
&lt;p&gt;原来, Claude 苦练的秘技, 一直是模型的&amp;quot;挑选&amp;quot;能力｡&lt;br&gt;
挑选能力本质上, 是明确&amp;quot;我&amp;quot;需要调用什么､ 加载什么, 主动表示这种意图的能力;&lt;br&gt;
挑选能力本质上, 是&lt;strong&gt;辨别信噪&lt;/strong&gt;的能力, 是&lt;strong&gt;排除干扰&lt;/strong&gt;的能力, 是&lt;strong&gt;忽略&lt;/strong&gt;能力｡&lt;br&gt;
Claude 明面卷编程, 暗地偷练&amp;quot;忽略&amp;quot;｡&lt;/p&gt;
&lt;p&gt;几家照猫画虎, 速成 codex､ gemini-cli, 不料正着了 Claude 的道｡ 谷歌说 &lt;a href=&#34;https://newsletter.semianalysis.com/p/google-we-have-no-moat-and-neither&#34;&gt;&amp;ldquo;我们没有护城河, OpenAI 也没有&amp;rdquo;&lt;/a&gt;, Claude 应声附和 &amp;ldquo;就是啊&amp;rdquo;, 转头就启动 &amp;ldquo;面壁计划&amp;rdquo; 修好了自己的护城河, 瞒天过海, 忽悠得同行纷纷忽略 &amp;ldquo;忽略&amp;rdquo; 能力｡ 等到 &amp;ldquo;没有护城河&amp;rdquo; 的那几家恍然大悟, 原来是这方面基础能力不行, 又得起码花几个月､ 训练几轮才能追上｡&lt;/p&gt;
&lt;h2 id=&#34;第三集-小镇做题家&#34;&gt;第三集 小镇做题家&lt;/h2&gt;
&lt;p&gt;就有人要问了: &amp;ldquo;挑选&amp;rdquo; 过程明明还包括模式匹配､ 结构化输出……种种基础能力, 怎么就偷换成 &amp;ldquo;忽略&amp;rdquo; 了? 你怎么知道别的模型没练过 &amp;ldquo;忽略&amp;rdquo; 能力? 又怎能污人清白, 控诉 Claude 狡猾诡诈? 好问题, 这一切, 都指向万物起源､ 百川归处､ 阴影帷幕后的主宰､ 所有模型商的眼中钉､ 心头好 —— 跑分｡&lt;/p&gt;
&lt;p&gt;说什么基本素养, 道什么综合能力, 任何吹嘘落到实处, 只有刷题, 只看跑分, 只能打榜｡ 博闻强识有 MMLU, 数学逻辑有 GSM8K, 长上下文有大海捞针, 科研精神有 GPQA, 谄媚讨好有 LMArena ……&lt;/p&gt;
&lt;p&gt;偏偏没有哪个榜, 是&lt;strong&gt;按照抗干扰能力跑分&lt;/strong&gt;的｡ 嗳, 话不能说太死, 野题野榜千万万, &lt;a href=&#34;https://gemini.google.com/share/c5ffc5af45f3&#34;&gt;总有那么几款&lt;/a&gt;｡ 然而你去 GitHub 数星, 去 Hugging Face 数心, 去 arxiv 数引用, 无论怎么数, 这些榜都野得入不得老爷们法眼罢｡&lt;/p&gt;
&lt;p&gt;模型商不重视研发某项能力, 不等于模型自己不能自发涌现这种能力｡ 可悲的是, 模型并没有自发涌现 &amp;ldquo;忽略干扰信息&amp;rdquo; 的能力｡ 一句 &lt;a href=&#34;https://www.solidot.org/story?sid=81929&#34;&gt;&amp;ldquo;猫是液体&amp;rdquo;&lt;/a&gt; 就能让多数模型可悲地一边解数学题, 一边想入非非､ 魂不守舍, 题都解歪了｡
形似的跑分是 &amp;ldquo;干草堆里的针&amp;rdquo;｡ 它只管你能不能在液态猫窝里找到数学题, 不管你找到数学题前后花了多少功夫玩猫｡&lt;/p&gt;
&lt;p&gt;重视自己&amp;quot;要什么&amp;quot;容易, &lt;strong&gt;忽视自己&amp;quot;不要什么&amp;quot;&lt;/strong&gt; 难｡ 虽然干扰坏处大, 值得重视, 但 &amp;ldquo;忽略干扰信息&amp;rdquo; 这项能力没得跑分､ 没人打榜, 模型商不重视, 模型光靠自己生长不出来, 一派恶性循环的景象｡&lt;/p&gt;
&lt;p&gt;Anthropic 各种新闻稿也看不到鼓吹 Claude 这项能力的说法｡ 偏偏从包括 MCP､ Skill 等 Claude 生态构建过程看得出来, 这项能力&lt;strong&gt;对于 Claude 举足轻重, 至关重要&lt;/strong&gt;｡ 绝对能力强不强不好说 (毕竟无分可跑), 起码大概只有它专门练过｡&lt;/p&gt;
&lt;h2 id=&#34;第四集-殊途不同归&#34;&gt;第四集 殊途不同归&lt;/h2&gt;
&lt;p&gt;我们假设另一种情景:  &amp;ldquo;忽略&amp;rdquo; 并非 Claude 瞒报的独门绝技, 而各大模型商也各显神通, 轻松拿下这项指标: 思考模型无需针对性训练, 只需多花点思考 token 就能自行分辨哪些信息不重要, 而 DeepSeek 再端出新狠活, 发明一种稀疏注意力, 釜底抽薪, 直接用底层算法屏蔽不重要的信息｡&lt;/p&gt;
&lt;p&gt;白日梦醒, 梦想局部成真: 思考模型能轻松分辨是真的, 轻松分辨后&lt;a href=&#34;https://arxiv.org/abs/2503.01781&#34;&gt;依然被严重干扰&lt;/a&gt;也是真的 ; DeepSeek 的稀疏注意力是真的, 人家是真有绝活｡ 不过这个绝活跟我们前面说的 &amp;ldquo;忽略&amp;rdquo; 能力是不是一码事, 还有待研究｡&lt;/p&gt;
&lt;p&gt;在变形金刚注意力机制范围内, 知道什么重要, 大可等同于, 知道什么不重要｡ 那么这跟涌现智能的注意力是一码事吗? 有怀疑要验证｡ 我们来看看 &lt;a href=&#34;https://github.com/deepseek-ai/DeepSeek-V3.2-Exp/blob/main/DeepSeek_V3_2.pdf&#34;&gt;DeepSeek-V3.2-Exp 论文&lt;/a&gt;, 他就实现了变形金刚注意力的忽略技术, 说是降本又不增笑｡ 也就是说 deepseek-v3.2 的忽略主要是为了省钱省内存, 而不重视培养 &amp;ldquo;忽略&amp;rdquo; 能力本身｡ 论文也只去验证跟 v3.1 比有没有退步, 而不验证智能尺度的 &amp;ldquo;忽略&amp;rdquo; 能力｡ 所以我们拿官网版 deepseek-v3.2 实测: &lt;a href=&#34;https://chat.deepseek.com/share/cv9qlc1hcnjrrg53g9&#34;&gt;https://chat.deepseek.com/share/cv9qlc1hcnjrrg53g9&lt;/a&gt; 显然, 本该排除的干扰项一个不落, 用户体验很差｡&lt;/p&gt;
&lt;p&gt;于是验证了之前的怀疑: 在变形金刚注意力身上实现的忽略, 并不能让大模型智能自动获得 &amp;ldquo;排除干扰信息&amp;rdquo; 的能力｡&lt;/p&gt;
&lt;p&gt;Claude Skill 出了个把月, 已成旧闻｡ 新出的 Claude Cowork 再次印证了忽略能力的战略地位｡ 面壁计划一旦破壁, 护城河顿时烟消云散｡ 不敢低估模型商跟进的速度｡&lt;/p&gt;
&lt;h4 id=&#34;结语&#34;&gt;结语&lt;/h4&gt;
&lt;p&gt;闷声大发财, 这是坠吼的｡&lt;br&gt;
小亮, 给他整个活｡ 草, 走, 忽略｡&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>2025 LLM AI 应用开发大变局</title>
      <link>/llm-app-2025/</link>
      <pubDate>Fri, 21 Mar 2025 00:00:00 +0000</pubDate>
      
      <guid>/llm-app-2025/</guid>
      <description>
        &lt;blockquote&gt;
&lt;p&gt;诗曰:&lt;br&gt;
科技新潮卷巨澜，RAG旧制渐凋残。&lt;br&gt;
深搜不倚向量库，MCP通联天地宽。&lt;br&gt;
思维链里藏玄钥，脚本生成胜绘栏。&lt;br&gt;
莫道框架终有尽，开源星火又重燃。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;2023 年 RAG 风靡一时, 市面上冒出一批 LLM AI 应用框架或开发库, 像 Dify､ LangChain､ RAGFlow､ FastGPT 等等, 都打着整合 RAG（检索增强生成）与 AI 工作流的旗号｡ 它们似乎许诺了一种捷径, 让开发者能快速搭出既能消化私有知识､ 又能自动跑腿的智能应用, 深受 B2B 用户的喜爱｡ 然而 AI 行业的技术演进何其迅速, 到了 2025 年, Deep (Re)Search 异军突起, MCP（模型上下文协议）渐成气候, 这两股新势力, 恐怕正悄悄掘着&lt;strong&gt;这类通用 AI 应用开发范式&lt;/strong&gt;的根基｡ 它们赖以立足的两条支柱——所谓 RAG 和图形化工作流——似乎都遇上了硬茬｡&lt;/p&gt;
&lt;h3 id=&#34;deep-research-一出手-便知向量-rag-有没有&#34;&gt;Deep (Re)Search 一出手, 便知向量 RAG 有没有&lt;/h3&gt;
&lt;p&gt;传统 RAG, &lt;strong&gt;几乎等于在一些框架（如 LangChain､ Dify）里, 高度依赖向量数据库的那套玩法&lt;/strong&gt;, 其看家本领无非是: 用户扔进文档, 系统将其切分段落, 调用嵌入模型（embedding model）化为向量, 召回时再根据语意相似度捞出些片段, 塞给大模型去组织答案｡ 这套流程, 一度被捧为处理私有知识､ 给模型“开外挂”的不二法门｡&lt;/p&gt;
&lt;p&gt;但 Deep (Re)Search 一鸣惊人, 直接给&lt;strong&gt;这套以词句向量相似度为核心的 RAG 范式&lt;/strong&gt;提出了严峻考验｡ 不论是 Google Gemini 的 Deep Research, 还是 XAI grok 的 DeepSearch,  还是 OpenAI deep research, 甚至是 Perplexity AI, 姑且统称 Deep (Re)Search, 个个都完全不依赖向量化的文档库, 纯靠关键词的网络搜索实现, 效果却好得吓人｡ 于是结论显而易见, 昭然若揭: &lt;strong&gt;搞 RAG, 向量数据库搜索这门过度炒作的技术, 不但没那么必要, 甚至可有可无｡&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Deep (Re)Search 技术细节尚被各大 AI 巨头保密, 此刻外界所知甚少, 多半只能从使用体验中, 倒推技术原理｡ 给人感觉上, 行为方式更像做研究: 先吃透问题, 再琢磨精准的关键词, 浏览结果, 不满意就调整关键词再搜, 最后汇总提炼, 交出一份像模像样的结构化报告｡ 整个过程, 向量数据库无从落脚, 反倒是大模型自身的“研究功夫”被推上了前台｡&lt;/p&gt;
&lt;p&gt;这就带出个要命的问题: &lt;strong&gt;想让 RAG 效果更好, 到底该死磕向量召回那些套路, 比如加入重排序等, 还是该下力气打磨模型自身做“研究”的真本事?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Deep (Re)Search 的出色表现, 明确指出: 关键在后者｡ 私下揣测, 其核心技术恐怕有二:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;固化 CoT（思维链）的“思考路径”:&lt;/strong&gt; Deepseek-R1 石破天惊, 观其论文所述 R1-Zero 训练过程可知, 模型为了形成良好的答复, 其潜在的思考路径何止千万｡ 但要做好深度研究, 有两条道必须走通: 一是领会用户意图, 拟出恰当的搜索词；二是嚼烂搜索结果, 回头优化搜索词｡ 这就必须在后训练阶段 RL, 对走到这类思考路径上的行为给足奖励, 让模型“开窍”, 学会搜索-反馈-再搜索的反馈循环｡&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;固化“结构化输出”的格式:&lt;/strong&gt; 观察 Deep (Re)Search 跑起来的界面, 不难反推出, 模型吐出来的东西, 格式是相对固定的｡ 要是模型信马由缰, 输出格式乱套, 轻则亡羊补牢, 重则推倒重来, 白白烧掉算力, 耗费上下文窗口｡ 与其每次求它办事都得在 Prompt 里絮絮叨叨､ 耳提面命, 塞一堆 JSON schema､ 给几个例子, 挤占宝贵的注意力空间和显存, 不如在训练后期就把这套规矩“刻进骨子里”｡ 就像训练 &lt;code&gt;-thinking&lt;/code&gt; &lt;code&gt;-reasoner&lt;/code&gt; 模型会焊死 &lt;code&gt;&amp;lt;think&amp;gt;&amp;lt;/think&amp;gt;&lt;/code&gt; 标签一样, 直接拿 Deep (Re)Search App 需要的输出格式来微调, 让它天生就懂规矩｡ 再者, 即使这套格式规范自身需要迭代改进, 其迭代速度也不及对应模型的迭代速度, 使得 &amp;ldquo;prompt 指定输出格式&amp;rdquo; 这种在其他场景下的灵活性优势, 在此场景下变得毫无必要｡&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这两条路径都指向了非微调 LLM 不可的技术路线｡ 这么看来, &lt;strong&gt;那些一门心思扑在“嵌入向量库相似度检索召回片段重排序”上的技术路线&lt;/strong&gt;, 路走窄了｡ 当 Deep (Re)Search 用 &amp;ldquo;做研究&amp;rdquo; 的架势, 凭着一身微调出来的硬功夫整合信息时, 你还在那吭哧吭哧优化召回的准确率, 效果提升不痛不痒, 甚至可以说是被人家“降维打击”了｡ 以前觉得传统 RAG 还凑合, 那是没见过 Deep (Re)Search 大发神威, 现在两相对照, 高下立判, 活像 Llama 2 碰上了 GPT-4｡&lt;/p&gt;
&lt;p&gt;想当年, 手里攥着些精校过的垂直领域数据, 是该拿来 SFT 微调大模型, 还是拿去做 RAG 向量知识库? 这道选择题, 在 GPT-4 刚出来的时候还有争议, 到 llama3-70b 普及后没几个人微调了: 大量实践得到的经验是, 微调费力不讨好, RAG 虽然不那么费力, 但实际体验也没有那么讨好｡ 三十年河东三十年河西, 今日 Deep (Re)Search 当道, 情况似乎再度反转, 如今那些只埋头做向量检索技术的厂商, 要是没本事自己把大模型微调成适合 Deep (Re)Search 的形状, 恐怕也只能干瞪眼, 坐等哪个菩萨心善, 开源个 Deep (Re)Search 版的 LLM 了｡ 反观 RAG 老字号 Cohere, 坚持自研 LLM, 如今看来, 确实是棋高一着｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;有些 AI 爱好者有种错觉, Deep (Re)Search 只能搜互联网, 而传统 RAG 用的是本地知识库, 两者场景本就不同｡&lt;/strong&gt; 这就大错特错了｡ Deep (Re)Search 作为面向公众的产品功能, 接的是互联网; 但这不等于这门技术只能吃互联网这碗饭｡ 后端对接的是本地文档库还是谷歌搜索, 对 LLM 模型来说, 本就是解耦的｡ 若真有富老板找到奥特曼, 让他拿 Deep (Re)Search 技术做个企业内部版, 对奥特曼来说, 无非是换个数据源的事｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;所以说, RAG 的字面含义——“召回增强式生成”——并没过时｡&lt;/strong&gt; 过时的, 只会是被各路专家､ 厂商死死摁在“嵌入模型向量数据库”上的传统 RAG 实现｡ Deep (Re)Search 用事实证明, 优化模型自身的思维链, 让它学会迭代关键词去召回信息, 比捣鼓向量数据库有用得多｡ 干脆点说, Deep (Re)Search 就是 2025 年 RAG 该有的样子｡ 未来已来, 只是分布不均｡&lt;/p&gt;
&lt;h3 id=&#34;自动化工作流新玩法-mcp--ai-脚本&#34;&gt;自动化工作流新玩法: MCP + AI 脚本&lt;/h3&gt;
&lt;p&gt;这类 AI 应用框架的另一根支柱是工作流｡ &lt;strong&gt;有些工具（如 Dify､ RAGFlow､ LangFlow）喜欢用拖拽流程图&lt;/strong&gt;, 可视化地把任务串起来；&lt;strong&gt;另一些框架（如 LangChain）则倾向于用代码定义链式或 Agent 结构&lt;/strong&gt;｡ 它们初衷都是帮用户编排 AI 能力, 搞定复杂的自动化任务｡ 建立 AI 工作流, 无非两件事: 一是逻辑要足够活泛, 二是要左右逢源, 打通生态, 接通本地软硬件和各路远程服务｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;拖拽流程图, 够灵活吗?&lt;/strong&gt; 流程图再花哨, 终究被平台提供的节点库框死了｡ 节点不够用? 那就得撸起袖子写代码, 造个自定义节点｡ 既然如此……何不一开始就直接写代码? 如今, 张嘴就能让 AI 写代码, 这正是 LLM 的强项｡ 有这等利器在手, 写脚本则如虎添翼, 拖拽流程图则隔靴搔痒｡ 各行各业的自动化需求千奇百怪, 要应付这些高度定制化的任务, 恐怕只有代码脚本才能提供那份“随心所欲”的灵活性｡ &lt;a href=&#34;https://github.com/The-Pocket/PocketFlow&#34;&gt;PocketFlow&lt;/a&gt; 硬凑百行代码的噱头固然可笑, 但它形成 AI 工作流的思路, 值得借鉴: 核心代码库为单文件, 并且小得足以复制粘贴到任何 AI 聊天对话框里, 即使叫上下文才 4k 的旧款 GPT4 临时去学, 也能轻松掌握｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;更要命的是, AI 应用怎么打通任督二脉, 连接外部世界?&lt;/strong&gt; &lt;strong&gt;像 Dify 这样的平台, 尝试自己搭台唱戏, 搞插件市场；LangChain 则下了苦功, 构建了一个庞大的集成库（Integrations）｡&lt;/strong&gt; 这些都是为了简化 AI 应用跟外界打交道的麻烦｡ 但现在, Anthropic 倡导的 MCP（模型上下文协议）这个开放标准, 正以星火燎原之势蔓延开来, 颇有天下归心的气象｡ MCP 的核心价值在于, 它&lt;strong&gt;把“连接外部服务”这件事给解耦了&lt;/strong&gt;｡ 借助这种标准接口, AI 应用客户端就能和各种本地或远程资源（文件､ 数据库､ API､ 硬件等等）轻松互动｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;这意味着什么? 意味着大量开放､ 开源､ 去中心化的 MCP 仓库&lt;/strong&gt;一旦蔚为大观, 开发者或用户写自动化脚本时, 就能专注于核心的业务逻辑, 把那些跟外部世界打交道的鸡零狗碎, 统统甩给实现了 MCP 的组件或服务去操心｡ 以前得指望特定平台的插件市场（比如 Dify 的）或者某个框架的庞大集成库（比如 LangChain 的）才能获得的“连接能力”, 现在靠一个开放标准加上社区五花八门的实现就能搞定｡ &lt;strong&gt;这对 Dify 这类平台的插件生意, 或者 LangChain 那种“中央集权式”的集成管理模式, 无疑是直接的冲击和挑战｡&lt;/strong&gt; 一个还没站稳脚跟的中心化平台, 一个需要不断投入人力去维护巨大集成库的框架, 凭什么跟一大片得到广泛认可､ 由社区驱动的开放标准实现掰手腕?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;那么, 当下搞工作流, 到底哪家强?&lt;/strong&gt; 要是非常喜欢拖拖拽拽, n8n 据说还行, 不妨一试｡ 但我个人越来越觉得, 对很多场景而言, &lt;strong&gt;让 AI 生成一次性脚本, 可能是更好的路子｡&lt;/strong&gt; 这里说“一次性脚本”, 不是搞严肃的软件工程｡ 兼容性､ 健壮性､ 可维护性､ 可读性､ 高性能? 通通可以放一边——跑对结果就是赢! 要是报错, 或者跑得结果不对, 没关系, 让 AI 再生成一版脚本｡ 这种玩法, 依赖又轻, 又不吃资源｡ 至于说管一堆脚本会不会头大? 什么年代了, 这点心智负担完全可以甩给 AI｡ 当然, 凡事看需求, 要是真需要一个极其复杂､ 稳定运行､ 还得长期维护的工作流, 那老老实实的可视化方案或许还有它的用武之地｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;就算 Dify 或 LangChain 原地支持 MCP,&lt;/strong&gt; 也不构成用户必选的理由｡ 论权威, 比不上 Claude 桌面版这类官方嫡系；论轻便, 又不如市面上那些专攻此道的小工具｡ 兼容一个开放标准, 不代表你就有了独特的卖点或护城河, 除非你能在 MCP 之上玩出什么别人没有的花活儿｡&lt;/p&gt;
&lt;h3 id=&#34;结语-ai-应用框架何去何从&#34;&gt;结语: AI 应用框架何去何从&lt;/h3&gt;
&lt;p&gt;一边是 Deep (Re)Search 强势崛起, 直击传统 RAG 在信息处理上的核心价值；另一边是 MCP 普及加上 AI 写脚本越来越溜, 冲击着现有工作流方案的吸引力｡ 传统 LLM AI 应用框架尝试两条腿走路, 结果两条腿瘸｡ &lt;strong&gt;那些试图“一站式”包办 RAG 和工作流的 AI 应用框架&lt;/strong&gt;, 前景堪忧, 日薄西山｡&lt;/p&gt;
&lt;p&gt;昨日明星, 明日黄花｡ 廉颇老矣, 尚能饭否?&lt;/p&gt;
&lt;h3 id=&#34;参考资料&#34;&gt;参考资料&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://leehanchung.github.io/blogs/2025/02/26/deep-research/&#34;&gt;The Differences between Deep Research, Deep Research, and Deep Research&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://luxiangdong.com/2024/11/14/rag2024/&#34;&gt;RAG的2024—随需而变，从狂热到理性&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;本文初稿于 2025-03-21 撰写并小范围发表｡&lt;br&gt;
终稿由 gemini 2.5 pro 润色, 人工校对完成, 于 2025-04-15 上传博客公开发表, 但正文涉及的种种, 仍基于 2025-03-21 的时事｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;后续更新 (2025-04-14):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;2025-04-14 开源的 &lt;code&gt;THUDM/GLM-Z1-Rumination-32B-0414&lt;/code&gt;, 可能是第一个专为 Deep (Re)Search 能力优化的开源模型, 后续预期有更多这种模型问世, 于是, 原先微调调不动､ 召回召不准 RAG 框架们, 总算又可以续命了｡&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>利用LLM进行大规模电子书翻译</title>
      <link>/ai-translate-ebook/</link>
      <pubDate>Wed, 06 Nov 2024 00:00:00 +0000</pubDate>
      
      <guid>/ai-translate-ebook/</guid>
      <description>
        &lt;p&gt;大语言模型几乎消除跨语言阅读门槛, 而热佬又几乎消除大语言模型使用门槛｡ 天高地阔, 文化多元繁荣似锦, 笔者忝为网络小说资深读者, 口味审美不该限于一时一地, 一种语言文字, 于是花几个月翻译了一大批电子书, 多数是网络小说｡ 期间大量踩坑, 见识和经验上略有所得, 给大家分享｡&lt;/p&gt;
&lt;p&gt;本文既不是系统性教程, 也不讲标准化流程, 只是整理一些零碎的踩坑经验｡ 如需系统性教程, 请前往对应软件的官网｡&lt;/p&gt;
&lt;p&gt;本文按章节划分, 概述如下&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;稽洋撷珍&lt;/strong&gt; 分享外语电子书的获取方式;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模型分殊&lt;/strong&gt; 概述大语言模型和提示词的选择;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;知错能改&lt;/strong&gt; 分析电子书翻译时的种种技术问题;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工程构想&lt;/strong&gt; 提出在大规模批量翻译的情况下, 提高效率､ 减少出错的自动化和半自动化方案;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;常见问题&lt;/strong&gt; 试图解答本文读者可能产生的疑问｡&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;稽洋撷珍&#34;&gt;稽洋撷珍&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;哪些书值得翻译, 这些书怎么搜罗｡&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;确定翻译范围&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;文化交流，渊源流长，绵延不绝。异域佳作，多有译本问世，嘉惠学林。机器翻译虽日新月异，LLM 虽惊为天人，较之学养深厚之译家，仍有云泥之别，诚难比肩。盖翻译精妙之处，不仅在于词句转换，更在于文化融通，意境再现。既有珠玉在前，自无需重译，徒增芜杂。当然，译作之优劣，读者自有评判，见仁见智，亦属寻常。至于版本选择，除参考豆瓣书评外，书社声誉亦可供参考。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://github.com/user-attachments/assets/c2622580-02e4-4da1-872e-c93ea672f6b6&#34; alt=&#34;翻译得好的出版社&#34;&gt;&lt;/p&gt;
&lt;p&gt;所以我们的搜寻目标是值得翻译, 但尚未翻译的优秀作品｡ 出版界沧海遗珠不过冰山一角, 冰山下是大量出版社翻译家顾不上的领域, 例如学术论文, 例如网络小说｡&lt;/p&gt;
&lt;p&gt;因为近年笔者无心学术, 搜集论文只得浮光掠影蜻蜓点水｡ 单篇论文按被引量找, 学者大牛按h指数找, 论文集可以在谷歌搜索 &lt;code&gt;inurl:zotero.org/groups &amp;quot;关键字&amp;quot;&lt;/code&gt; 比如 &lt;code&gt;inurl:zotero.org/groups Epidemiology&lt;/code&gt;｡ 如果你用 Zotero, 那么推荐 zotero 插件 &lt;a href=&#34;https://github.com/windingwind/zotero-pdf-translate&#34;&gt;zotero-pdf-translate&lt;/a&gt; 作为翻译器｡&lt;/p&gt;
&lt;p&gt;网络小说这块笔者花功夫最多, 值得细说｡ 近几个月受大量海外网络小说熏陶, 结合过往, 得到的印象是: 简中独领风骚, 港台江郎才尽, 英文七零八落, 日轻别具一格, 俄韩偶有佳作｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;获得并整理书单&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;前文说到英文世界网文七零八落, 或者高情商地说&amp;quot;去中心化&amp;quot;, 从找书单就开始了｡ 按题材找, 请进 tvtropes.org, 可惜网文这块覆盖不全; 有个榜单 topwebfiction.com 但不靠谱, 因为刷榜太容易｡ 所以还得是 reddit, 有相对可靠的顶踩机制｡&lt;/p&gt;
&lt;p&gt;Reddit 包罗万象｡ 男频刻板印象的 &amp;ldquo;打怪升级&amp;rdquo; 流, 可以在 &lt;a href=&#34;https://www.reddit.com/r/ProgressionFantasy&#34;&gt;r/ProgressionFantasy&lt;/a&gt;, &lt;a href=&#34;https://www.reddit.com/r/litrpg&#34;&gt;r/litrpg&lt;/a&gt; 上找到; 相对小众些的题材, 例如专注人类至上主义的 &lt;a href=&#34;https://www.reddit.com/r/HFY&#34;&gt;r/HFY&lt;/a&gt; 却更具规模; 假如还想考察 Xianxia 仙侠怎么被西洋人曲解, 不得不去 &lt;a href=&#34;https://www.reddit.com/r/noveltranslations&#34;&gt;r/noveltranslations&lt;/a&gt; 一探究竟｡&lt;/p&gt;
&lt;p&gt;近期翻译的外语网络小说, 大多来自 &lt;a href=&#34;https://www.reddit.com/r/rational&#34;&gt;r/rational&lt;/a&gt; 的周常推书楼｡ 埃利泽·尤德考斯基大师巨著 《HPMOR》 开创 rational fiction 流派, 从此形成了 r/rational, 这流派有点类似起点老白的合理党, 但内涵更深, 详细介绍可听&lt;a href=&#34;https://daystareld.com/podcast/rationally-writing-0/&#34;&gt;这集节目&lt;/a&gt;; 其周常推书楼每周一贴, 周周置顶, 和 r/noveltranslations 行为一致｡&lt;/p&gt;
&lt;p&gt;周常推书楼的回帖, 有些自带阅读链接, 便可根据这些链接下载 epub; 也有不少回帖书名不带链接, 而且因为英文没《书名号》, 仅以 Title Case 示人, 又混在大段评论里, 容易找漏 —— 只好让 AI 帮忙｡ 于是在 &amp;ldquo;ChatGPTBox&amp;rdquo; 浏览器插件内, 自定义了 &amp;ldquo;提取书名&amp;rdquo; 的浮动按钮｡ 提示模版如下:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;textSelected&amp;gt;{{selection}}&amp;lt;/textSelected&amp;gt;
从以上文本中提取书名
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;下载出版书&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;出版书大多能从专门的电子书下载站获得｡ 电子书下载站林林总总, zlib 声名在外, 但诸事缠身自顾不暇, 就不多叨扰｡ 常去 libgen.gs, 后备 annas-archive.org, 足以｡&lt;/p&gt;
&lt;p&gt;libgen 优先从 libgen.lol 域下载, 因为 wget 认得直链文件名; 从 libgen.gs 下载则稍麻烦, 最好手动指定 UA 和文件名, 例如&lt;br&gt;
&lt;code&gt;wget -U &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0&amp;quot; -O &amp;quot;bookname.epub&amp;quot; &amp;quot;$URL&amp;quot;&lt;/code&gt;&lt;br&gt;
万一遭遇 &lt;code&gt;502&lt;/code&gt;, 可以把下载域名从 libgen.gs 手动改成 &lt;code&gt;cdn[2-4].booksdl.org&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;下载平台网文&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;相比出版书, 网络小说花样更多｡ 刨去一堆哈利波特的同人论坛, 以及小马宝莉的同人论坛, 还有大量泛用型同人站, 论坛站和少量商业站｡&lt;/p&gt;
&lt;p&gt;下载同人站和论坛站作品, 首推在线解析站 fichub.net, 支持源站多, 覆盖面广｡ 走解析站下载, 好处多多, 以两个典型源站为例: 其一是 AO3, 尽管官网提供 epub 下载, 但文件名不包含作者名, 且较长书名会遭到 AO3 文件名长度上限截断, 因此仍推荐从解析站下载; 其二是 QuestionableQuesting (简称 QQ, 可不要和腾讯企鹅混淆), 往往有登录墙, 而解析站可以直接解析｡ 为了让 wget 下载得到更规整的文件名, 可以在 fichub.net 执行浏览器端脚本, 代码如下&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;fichubToWget&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;url&lt;/span&gt;=&amp;gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;fetch&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;`https://fichub.net/api/v0/epub?q=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;encodeURIComponent(&lt;span style=&#34;color:#a6e22e&#34;&gt;url&lt;/span&gt;)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;).&lt;span style=&#34;color:#a6e22e&#34;&gt;then&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;r&lt;/span&gt; =&amp;gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;r&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;json&lt;/span&gt;()).&lt;span style=&#34;color:#a6e22e&#34;&gt;then&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;=&amp;gt;{
  &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;fullEpubUrl&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`https://fichub.net&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;epub_url&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;;
  &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;baseFileName&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;URL&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;fullEpubUrl&lt;/span&gt;).&lt;span style=&#34;color:#a6e22e&#34;&gt;pathname&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;split&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/&amp;#39;&lt;/span&gt;).&lt;span style=&#34;color:#a6e22e&#34;&gt;pop&lt;/span&gt;().&lt;span style=&#34;color:#a6e22e&#34;&gt;split&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;-&amp;#39;&lt;/span&gt;).&lt;span style=&#34;color:#a6e22e&#34;&gt;slice&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;).&lt;span style=&#34;color:#a6e22e&#34;&gt;join&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;-&amp;#39;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.epub&amp;#39;&lt;/span&gt;;
  &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;`wget &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;fullEpubUrl&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; -O &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;baseFileName&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;`&lt;/span&gt;);
});
&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;url&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;// 填入阅读链接
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;fichubToWget&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;url&lt;/span&gt;);
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然而 RoyalRoad 因其商业性质, 禁止了 fichub.net 的解析, 所以只能通过 pip 安装 &lt;a href=&#34;https://github.com/JimmXinu/FanFicFare&#34;&gt;FanFicFare&lt;/a&gt; , 走本地解析下载｡ 另外 RoyalRoad 似乎和亚马逊合作, 一些书上架亚马逊 kindle 商店后, 大量对应章节就在 RR 隐藏下架, 只剩试阅章节, 这种情况称为 Stub. 因此如果在 RR 看到本书状态被标记为 &amp;ldquo;STUB&amp;rdquo;, 就可以直接切换到 libgen 去搜｡&lt;/p&gt;
&lt;p&gt;本节讲了如何从平台型网站下载｡ 这些小说平台网站很多, 但发表在非小说平台网站的小说也不少｡ 比如, 很多作者在 Patreon 更新, 在 reddit 上更新, 在 wp.com 建站, 或者独立建站 —— 如何下载这类小说请看下节｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;下载独立网站作品&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;有些作者传承 web 1.0 风骨, 不喜欢从平台型网站发表创作, 喜欢自建网站｡ 这种网站多数由 WordPress 搭建, 少数为其他架构｡ 典例有, 经典老番 &lt;a href=&#34;https://parahumans.wordpress.com/&#34;&gt;Worm&lt;/a&gt;, 长度爆表 &lt;a href=&#34;https://wanderinginn.com/&#34;&gt;The Wandering Inn&lt;/a&gt;(感觉长度不如《校花的贴身高手》《网游之从零开始》), 千禧回响 &lt;a href=&#34;https://www.rifters.com/real/Blindsight.htm&#34;&gt;Blindsight&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;基本上这种网站仅供在线阅读, 通用解法是走浏览器插件 &lt;a href=&#34;https://addons.mozilla.org/en-CA/firefox/addon/webtoepub-for-baka-tsuki/&#34;&gt;WebToEpub&lt;/a&gt; 导出 epub 文件｡ 和同类插件相比, WebToEpub 能适配更多网站, 尽管操作略显复杂, 多尝试几次不同选项不难上手｡&lt;/p&gt;
&lt;p&gt;还有少数例外, 可遇不可求: 有些独立发行的免费小说大受欢迎, 早有狂热粉丝为其制作 epub, 可供读者随意下载｡ 例如: &lt;a href=&#34;https://github.com/rrthomas/hpmor/releases&#34;&gt;HPMOR&lt;/a&gt;, &lt;a href=&#34;https://github.com/GabbyNEW/APGtE_Scraper/blob/main/A%20Practical%20Guide%20To%20Evil.epub&#34;&gt;A Practical Guide To Evil&lt;/a&gt;, &lt;a href=&#34;https://www.mediafire.com/download/1km9vv259bd913i/The_Two_Year_Emperor_-_Eagle_Jarl.epub&#34;&gt;The Two Year Emperor&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;下载非英语的网络小说&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;英语是国际互联网的主流, 但非英语的文化作品同样极具价值, 不可忽视｡&lt;/p&gt;
&lt;p&gt;下载日文小说找 &lt;a href=&#34;https://books.fishhawk.top/&#34;&gt;轻小说机翻机器人&lt;/a&gt; ,  不仅有网络小说 (Web小説) 资源, 文库小说也比较全, 而且大部分时候能找到已倒闭的轻小说中文站的中译版｡&lt;/p&gt;
&lt;p&gt;俄文小说网站只见识过 &lt;a href=&#34;https://ficbook.net/&#34;&gt;Книга Фанфиков&lt;/a&gt; , 官网提供 epub 全文下载｡ 虽然有登陆墙, 但随便注册｡&lt;/p&gt;
&lt;p&gt;尽管 Книга Фанфиков 提供 epub, 但在俄语文化中, epub 实属小众电子书格式, 主流一直是 fb2. 所以从其它渠道找俄文电子书, 很多时候只提供 fb2 文件｡ 可惜翻译软件 &lt;a href=&#34;https://github.com/yihong0618/bilingual_book_maker&#34;&gt;yihong0618/bilingual_book_maker&lt;/a&gt; 只能读写 epub 或 txt 文件｡ 应对方式可以是, 通过在线格式转换器 &lt;a href=&#34;https://www.zamzar.com/convert/fb2-to-epub/&#34;&gt;Zamzar&lt;/a&gt; 离线下载 fb2 并转为 epub 链接, 放到 wget 下载; 又或者, 如果想直接拿 fb2 电子书一步到位, 也可以换上本文文末提及的 Calibre 的翻译插件｡&lt;/p&gt;
&lt;h2 id=&#34;模型分殊&#34;&gt;模型分殊&lt;/h2&gt;
&lt;p&gt;多次迭代后, 当前翻译小说所用 LLM prompt 如下&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;{&lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;user&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;{text}&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;system&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;你是作家余光中, 你正在给一本文学书的一段话(有时是章节名)翻译为中文。作为忠实的译者, 你绝对不会尝试续写, 也绝对不会省略。无法理解的词语和人名地名将保持原样。如果有专业术语和专有名词，第一次出现时需用括号附上原文。请直接返回翻译结果。&amp;#34;&lt;/span&gt;}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;因为这里 user prompt 不含 &lt;code&gt;{language}&lt;/code&gt;, 所以需要修改 &lt;a href=&#34;https://github.com/yihong0618/bilingual_book_maker&#34;&gt;yihong0618/bilingual_book_maker&lt;/a&gt; 源码才能使之运行, 修改内容会在后文列出｡&lt;/p&gt;
&lt;p&gt;另外, 这里余光中可以换成你喜欢的作家翻译家, 比如金庸, 郭敬明, 咪蒙等｡&lt;/p&gt;
&lt;p&gt;好用的模型:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;command-r-plus&lt;/li&gt;
&lt;li&gt;gpt-3.5-turbo-1106 / gpt-mini-4o 以上&lt;/li&gt;
&lt;li&gt;glm-4 (包括9b)&lt;/li&gt;
&lt;li&gt;doubao-lite 以上&lt;/li&gt;
&lt;li&gt;yi-large-turbo 以上&lt;/li&gt;
&lt;li&gt;gemini-1.5-flash 以上&lt;/li&gt;
&lt;li&gt;DeepSeek V2.5 以上&lt;/li&gt;
&lt;li&gt;grok-beta&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;不好用的模型 (不按指定格式输出/幻觉太重) :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;qwen2-7b&lt;/li&gt;
&lt;li&gt;gpt-3.5-turbo-0125&lt;/li&gt;
&lt;li&gt;llama-3.1-8b&lt;/li&gt;
&lt;li&gt;mistral-8x7b&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;即使较大的 Qwen 系列, 翻译质量也不太稳定, 比如极少数时候会这样:&lt;/p&gt;
&lt;p&gt;原文:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Aziraphale gave a look, which was enough for Davey to call the matter resolved.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;译文 (Qwen2-72B-Instruct):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;阿兹拉斐尔 glance 了一眼，这就够让戴维宣布事情已经解决。这里我把阿兹拉斐尔的眼神用了一个动词&amp;quot;glance&amp;quot;来描述，但在中文里我们通常不会用动词来表达眼神，所以这个句子的翻译可能需要根据上下文来调整，以更好地传达原意。不过，按照您的要求，我保持了英文原文的结构和用词，只将之直译为中文。在中文里，我们可能会说&amp;quot;阿兹拉斐尔看了他一眼，戴维便知道事情已经解决了&amp;quot;，这样更加符合中文的表达习惯。然而，由于您要求忠实于原文，我选择直译。如果戴维(此句中为Davey，通常是David的昵称)在这本书中出现过，那么第一次出现时应该用括号备注，比如&amp;quot;戴维(Davey)&amp;quot;。但在这个句子中，我遵循您的要求，没有加入这个备注，除非这是戴维第一次出现。在您的指示下，我没有对文本进行改动，也没有省略或加入任何内容。希望这个翻译能够满足您的要求。如果您有任何其他指示或需要调整的地方，请随时告诉我。&amp;quot; Aziraphale gave a look &amp;quot; 这一句中如果 &amp;ldquo;look&amp;rdquo; 的意思是指特定的眼神，中文里可以用 &amp;ldquo;一瞥&amp;rdquo; 或 &amp;ldquo;瞥了一眼&amp;rdquo; 等表达，但为了完全忠实于原文我并未做此处理。如果阿兹拉斐尔是第一次出现，根据您的要求，我应该保留这个名字不翻译，并且不加括号注释。同样的，如果 &amp;ldquo;Davey&amp;rdquo; 是第一次出现，我应该写为&amp;quot;戴维(Davey)&amp;quot;，但由于您没有要求对人名或地名的首次出现进行括号注释，所以我保持了这个人名的原样。如果您对人名有具体的翻译要求或其他指示，请告知我。&amp;ldquo;Aziraphale gave a look, which was enough for Davey to call the matter resolved.&amp;rdquo; 直译为中文可能是 &amp;ldquo;阿兹拉斐尔投以一瞥，这足以让戴维宣布此事已经解决。&amp;rdquo; 但我依然遵循您的要求，保持了 &amp;ldquo;阿兹拉斐尔 glance 了一眼，这就够让戴维宣布事情已经解决。&amp;rdquo; 如此直译的版本。如果有其他具体要求或需要进一步的解释，请随时通知。对于 &amp;ldquo;Aziraphale gave a look, which was enough for Davey to call the matter resolved.&amp;rdquo; 这一句的翻译，根据您的要求，我需要保持原文的结构和内容，不省略也不添加，所以我的回答是 &amp;ldquo;阿兹拉斐尔 glance 一眼，这就够让戴维宣布事情已经解决。&amp;rdquo;
这是一个尽可能忠实于原文的直译。如果需要更自然或更符合中文表达习惯的翻译，我可以说 &amp;ldquo;阿兹拉斐尔微微一瞥，戴维便知晓事情圆满解决。&amp;rdquo; 但这个翻译稍微超出了您要求的范围，因为它在原文基础上做了细微调整，增加了 &amp;ldquo;微微&amp;rdquo; 和 &amp;ldquo;知晓&amp;rdquo;，以及改写了&amp;quot;圆满解决&amp;quot; 来更自然地表达 &amp;ldquo;call the matter resolved&amp;rdquo;。不过，由于您的要求是直译，我未做此改动，在此仅作为额外信息呈现。如果您对 &amp;ldquo;Aziraphale gave a look, which was enough for Davey to call the matter resolved.&amp;rdquo;
这个句子还有任何其他翻译上的指示或需要更多的解释，请告诉我。希望我的解释对您有所帮助。如果有其他问题或需要进一步讨论的地方，欢迎随时提问。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;相比来说, &lt;code&gt;command-r-plus&lt;/code&gt; 稳如老狗, 以上这种情况从未没发生在 &lt;code&gt;command-r-plus&lt;/code&gt; 身上｡&lt;/p&gt;
&lt;h2 id=&#34;知错能改&#34;&gt;知错能改&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/yihong0618/bilingual_book_maker&#34;&gt;yihong0618/bilingual_book_maker&lt;/a&gt; 瑕疵不少, 许多毛病隐藏在概率之下, 幸运的轻度用户可以完美避开, 只有深度用户才有切肤之痛, 苦不堪言｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;断点续传&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;有个容易出现的毛病, 来自翻译中断后用 &lt;code&gt;--resume&lt;/code&gt; 恢复进度的功能｡ 这功能太容易导致格式错乱, 记载于 &lt;a href=&#34;https://github.com/yihong0618/bilingual_book_maker/issues/386&#34;&gt;Issue #386&lt;/a&gt;. 尽管作者 yihong0618 认为此问题已经得到修复, 但笔者个人实际体验下来, 仍大量发现此问题｡ 笔者无力解决, 只能尽量避免翻译过程中断, 尽可能一口气翻译完｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;符号冲突&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;还有个讨厌的毛病, 原文或译文中只要出现 &lt;code&gt;[/&lt;/code&gt; 或者 &lt;code&gt;[\&lt;/code&gt; 字样, 则必然导致翻译中断, 记载于 &lt;a href=&#34;https://github.com/yihong0618/bilingual_book_maker/issues/402&#34;&gt;Issue #402&lt;/a&gt;. 经笔者排查确认, 此问题出自 Python TUI 的 &lt;code&gt;rich&lt;/code&gt; 库, 即问题出现在于, 终端实时显示原文译文这环节, 无碍于核心翻译逻辑｡ 因此解决此问题, 只需在文本打印到终端前, 去除对应的  &lt;code&gt;[/&lt;/code&gt; ､ &lt;code&gt;[\&lt;/code&gt; 字样即可, 副作用只影响终端显示的内容, 而不会影响 epub 文件数据｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;连贯一致&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;前面两个问题源自翻译软件的设计和实现, 或多或少可以修改翻译软件源码来解决｡ 但篇章之间的内容一致性､ 连贯性的问题, 却根深蒂固, 换成任何 LLM 翻译软件或模型都无能为力｡&lt;/p&gt;
&lt;p&gt;具体来说, epub 解析过程中, 文段划分用到的基础单位是 XML/HTML 标签, 这样可以确保排版丰富多变的 epub 文件经过翻译后, 版面格式不会错乱, 但代价是丢失了段落之间的上下文语境; &lt;a href=&#34;https://github.com/yihong0618/bilingual_book_maker&#34;&gt;yihong0618/bilingual_book_maker&lt;/a&gt; 也提供合并多个段落同时翻译的功能, 可以保留一些段落之间的上下文, 但这样会导致严格校验原文译文的段落数量, 从而不兼容 &amp;ldquo;分割线&amp;rdquo; 段落和译文脚注功能, 报错重试也会浪费更多 token, 得不偿失｡&lt;/p&gt;
&lt;p&gt;理想情况下, 可以通过动态生成 few-shot 翻译示例来锁定译文风格｡ 比如, 想要将《星球大战》翻译为金庸风格, 第一章指定 LLM 翻译到金庸风格, 到翻译第二章时, 就将刚刚翻译第一章得到的部分译文作为 few-shot 参考｡ 即便如此, 译文的一致性还是不能保证, 假如某个角色 &amp;ldquo;Sohu&amp;rdquo; 第一次出现在第三回, 翻译为 &amp;ldquo;搜狐&amp;rdquo;, 第二次出现在第九回, 可能就翻译成了 &amp;ldquo;索虎&amp;rdquo;｡ 因为作为 few-shot 风格参考的第八回或第一回里, 不存在 &amp;ldquo;Sohu&amp;rdquo; 这一角色｡ 试过要求禁止翻译人名, 但这对多数模型而言是无效指令; 假如维持一个角色译名表, 又可能有潜在的副作用｡&lt;/p&gt;
&lt;p&gt;因此本文认为当前的机翻技术无法解决连贯一致的问题｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;边修边用&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;一般建议通过 git clone 而非 pip 方式安装运行, 因为 git clone 后更容易修改源码, 边修边用, 使之符合自己的需要｡ 通用的运行命令为&lt;br&gt;
&lt;code&gt;python ../bilingual_book_maker/make_book.py --book_name &amp;quot;example.epub&amp;quot; --openai_key sk-example --api_base &#39;https://api.example.com&#39; --model openai --model_list gpt-example --prompt example_my_prompt.json --translate-tags h1,h2,h3,p&lt;/code&gt;&lt;br&gt;
; 如果翻译某些 epub 时, 发现软件获取的段落数量明显太少, 可以调整 &lt;code&gt;--translate-tags&lt;/code&gt; 的值, 加上 &lt;code&gt;div&lt;/code&gt; 甚至 &lt;code&gt;tr&lt;/code&gt; ｡&lt;/p&gt;
&lt;p&gt;因为懒得在翻译机上配置 git, 也没 fork, 只得附上自己的 &lt;code&gt;diff.patch&lt;/code&gt;,  供读者参考｡&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-diff&#34; data-lang=&#34;diff&#34;&gt;diff --git a/book_maker/cli.py b/book_maker/cli.py
index 57ac7b7..4b23185 100644
&lt;span style=&#34;color:#f92672&#34;&gt;--- a/book_maker/cli.py
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+++ b/book_maker/cli.py
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;@@ -35,7 +35,7 @@ def parse_prompt_arg(prompt_arg):
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;     else:
         raise FileNotFoundError(f&amp;#34;{prompt_arg} not found&amp;#34;)
 
&lt;span style=&#34;color:#f92672&#34;&gt;-    if prompt is None or any(c not in prompt[&amp;#34;user&amp;#34;] for c in [&amp;#34;{text}&amp;#34;, &amp;#34;{language}&amp;#34;]):
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+    if prompt is None: #or any(c not in prompt[&amp;#34;user&amp;#34;] for c in [&amp;#34;{text}&amp;#34;, &amp;#34;{language}&amp;#34;]):
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;         raise ValueError(&amp;#34;prompt must contain `{text}` and `{language}`&amp;#34;)
 
     if &amp;#34;user&amp;#34; not in prompt:
diff --git a/book_maker/translator/chatgptapi_translator.py b/book_maker/translator/chatgptapi_translator.py
index 22f2796..7e8b12a 100644
&lt;span style=&#34;color:#f92672&#34;&gt;--- a/book_maker/translator/chatgptapi_translator.py
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+++ b/book_maker/translator/chatgptapi_translator.py
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;@@ -78,7 +78,7 @@ class ChatGPTAPI(Base):
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;     def create_chat_completion(self, text):
         content = self.prompt_template.format(
             text=text, language=self.language, crlf=&amp;#34;\n&amp;#34;
&lt;span style=&#34;color:#f92672&#34;&gt;-        )
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+        ) if &amp;#34;{language}&amp;#34; in self.prompt_template else self.prompt_template.format(text=text, crlf=&amp;#34;\n&amp;#34;)
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;         sys_content = self.system_content or self.prompt_sys_msg.format(crlf=&amp;#34;\n&amp;#34;)
         messages = [
             {&amp;#34;role&amp;#34;: &amp;#34;system&amp;#34;, &amp;#34;content&amp;#34;: sys_content},
&lt;span style=&#34;color:#75715e&#34;&gt;@@ -111,10 +111,10 @@ class ChatGPTAPI(Base):
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;         start_time = time.time()
         # todo: Determine whether to print according to the cli option
         if needprint:
&lt;span style=&#34;color:#f92672&#34;&gt;-            print(re.sub(&amp;#34;\n{3,}&amp;#34;, &amp;#34;\n\n&amp;#34;, text))
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+            print(re.sub(&amp;#34;\n{3,}&amp;#34;, &amp;#34;\n\n&amp;#34;, text).replace(&amp;#39;[/&amp;#39;,&amp;#39;&amp;#39;).replace(r&amp;#39;[\\&amp;#39;,&amp;#39;&amp;#39;))
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt; 
         attempt_count = 0
&lt;span style=&#34;color:#f92672&#34;&gt;-        max_attempts = 3
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+        max_attempts = 12
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;         t_text = &amp;#34;&amp;#34;
 
         while attempt_count &amp;lt; max_attempts:
&lt;span style=&#34;color:#75715e&#34;&gt;@@ -126,7 +126,7 @@ class ChatGPTAPI(Base):
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;                 # 1. openai server error or own network interruption, sleep for a fixed time
                 # 2. an apikey has no money or reach limit, don`t sleep, just replace it with another apikey
                 # 3. all apikey reach limit, then use current sleep
&lt;span style=&#34;color:#f92672&#34;&gt;-                sleep_time = int(60 / self.key_len)
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+                sleep_time = int(10 / self.key_len)
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;                 print(e, f&amp;#34;will sleep {sleep_time} seconds&amp;#34;)
                 time.sleep(sleep_time)
                 attempt_count += 1
&lt;span style=&#34;color:#75715e&#34;&gt;@@ -134,12 +134,17 @@ class ChatGPTAPI(Base):
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;                     print(f&amp;#34;Get {attempt_count} consecutive exceptions&amp;#34;)
                     raise
             except Exception as e:
&lt;span style=&#34;color:#f92672&#34;&gt;-                print(str(e))
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-                return
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+                sleep_time = 10+20*attempt_count
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+                print(str(e), f&amp;#34;will sleep {sleep_time} seconds&amp;#34;)
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+                time.sleep(sleep_time)
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+                attempt_count += 1
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+                if attempt_count == max_attempts:
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+                    print(f&amp;#34;Get {attempt_count} consecutive exceptions&amp;#34;)
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+                    return
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt; 
         # todo: Determine whether to print according to the cli option
         if needprint:
&lt;span style=&#34;color:#f92672&#34;&gt;-            print(&amp;#34;[bold green]&amp;#34; + re.sub(&amp;#34;\n{3,}&amp;#34;, &amp;#34;\n\n&amp;#34;, t_text) + &amp;#34;[/bold green]&amp;#34;)
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+            print(&amp;#34;[bold green]&amp;#34; + re.sub(&amp;#34;\n{3,}&amp;#34;, &amp;#34;\n\n&amp;#34;, t_text).replace(&amp;#39;[/&amp;#39;,&amp;#39;&amp;#39;).replace(r&amp;#39;[\\&amp;#39;,&amp;#39;&amp;#39;) + &amp;#34;[/bold green]&amp;#34;)
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt; 
         time.time() - start_time
         # print(f&amp;#34;translation time: {elapsed_time:.1f}s&amp;#34;)
diff --git a/book_maker/translator/gemini_translator.py b/book_maker/translator/gemini_translator.py
index 0dc43a6..315e9f7 100644
&lt;span style=&#34;color:#f92672&#34;&gt;--- a/book_maker/translator/gemini_translator.py
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+++ b/book_maker/translator/gemini_translator.py
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;@@ -6,6 +6,8 @@ from google.generativeai.types.generation_types import (
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;     StopCandidateException,
     BlockedPromptException,
 )
&lt;span style=&#34;color:#a6e22e&#34;&gt;+from google.generativeai.types import HarmCategory, HarmBlockThreshold
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt; from rich import print
 
 from .base_translator import Base
&lt;span style=&#34;color:#75715e&#34;&gt;@@ -14,22 +16,29 @@ generation_config = {
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;     &amp;#34;temperature&amp;#34;: 0.7,
     &amp;#34;top_p&amp;#34;: 1,
     &amp;#34;top_k&amp;#34;: 1,
&lt;span style=&#34;color:#f92672&#34;&gt;-    &amp;#34;max_output_tokens&amp;#34;: 2048,
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+    &amp;#34;max_output_tokens&amp;#34;: 8192,
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt; }
 
 safety_settings = [
&lt;span style=&#34;color:#f92672&#34;&gt;-    {&amp;#34;category&amp;#34;: &amp;#34;HARM_CATEGORY_HARASSMENT&amp;#34;, &amp;#34;threshold&amp;#34;: &amp;#34;BLOCK_MEDIUM_AND_ABOVE&amp;#34;},
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-    {&amp;#34;category&amp;#34;: &amp;#34;HARM_CATEGORY_HATE_SPEECH&amp;#34;, &amp;#34;threshold&amp;#34;: &amp;#34;BLOCK_MEDIUM_AND_ABOVE&amp;#34;},
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+    {&amp;#34;category&amp;#34;: &amp;#34;HARM_CATEGORY_HARASSMENT&amp;#34;, &amp;#34;threshold&amp;#34;: &amp;#34;BLOCK_NONE&amp;#34;},
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+    {&amp;#34;category&amp;#34;: &amp;#34;HARM_CATEGORY_HATE_SPEECH&amp;#34;, &amp;#34;threshold&amp;#34;: &amp;#34;BLOCK_NONE&amp;#34;},
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;     {
         &amp;#34;category&amp;#34;: &amp;#34;HARM_CATEGORY_SEXUALLY_EXPLICIT&amp;#34;,
&lt;span style=&#34;color:#f92672&#34;&gt;-        &amp;#34;threshold&amp;#34;: &amp;#34;BLOCK_MEDIUM_AND_ABOVE&amp;#34;,
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+        &amp;#34;threshold&amp;#34;: &amp;#34;BLOCK_NONE&amp;#34;,
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;     },
     {
         &amp;#34;category&amp;#34;: &amp;#34;HARM_CATEGORY_DANGEROUS_CONTENT&amp;#34;,
&lt;span style=&#34;color:#f92672&#34;&gt;-        &amp;#34;threshold&amp;#34;: &amp;#34;BLOCK_MEDIUM_AND_ABOVE&amp;#34;,
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+        &amp;#34;threshold&amp;#34;: &amp;#34;BLOCK_NONE&amp;#34;,
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;     },
 ]
 
&lt;span style=&#34;color:#a6e22e&#34;&gt;+safety_settings2={
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+        HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_NONE,
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+        HarmCategory.HARM_CATEGORY_HARASSMENT: HarmBlockThreshold.BLOCK_NONE,
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+        HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: HarmBlockThreshold.BLOCK_NONE,
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+        HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: HarmBlockThreshold.BLOCK_NONE,
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+    }
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt; 
 class Gemini(Base):
     &amp;#34;&amp;#34;&amp;#34;
&lt;span style=&#34;color:#75715e&#34;&gt;@@ -42,9 +51,9 @@ class Gemini(Base):
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;         genai.configure(api_key=key)
         super().__init__(key, language)
         model = genai.GenerativeModel(
&lt;span style=&#34;color:#f92672&#34;&gt;-            model_name=&amp;#34;gemini-pro&amp;#34;,
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+            model_name=&amp;#34;gemini-1.5-flash-latest&amp;#34;,
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;             generation_config=generation_config,
&lt;span style=&#34;color:#f92672&#34;&gt;-            safety_settings=safety_settings,
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+            safety_settings=safety_settings2,
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;         )
         self.convo = model.start_chat()
 
&lt;span style=&#34;color:#75715e&#34;&gt;@@ -85,7 +94,7 @@ class Gemini(Base):
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt; 
         print(&amp;#34;[bold green]&amp;#34; + re.sub(&amp;#34;\n{3,}&amp;#34;, &amp;#34;\n\n&amp;#34;, t_text) + &amp;#34;[/bold green]&amp;#34;)
         # for limit
&lt;span style=&#34;color:#f92672&#34;&gt;-        time.sleep(0.5)
&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;+        time.sleep(10)
&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;         if num:
             t_text = str(num) + &amp;#34;\n&amp;#34; + t_text
         return t_text

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;工程构想&#34;&gt;工程构想&lt;/h2&gt;
&lt;p&gt;凡事规模大了､ 数量级升了, 问题就变得不一样了, 软件工程是这样的｡&lt;/p&gt;
&lt;p&gt;开始笔者也没预料到自己会翻译这么多书, 所以并没有往工程化的方向去做｡ 只是开了个 tmux session, 开了十几个 tmux window 跑翻译｡ 进程数量取决于内存上限和 epub 文件体积, 例如笔者运行环境是 1.5G 内存的 Alpine Linux, 如果每本书的体积大概是几MB, 那么内存大约可以支撑 12 本书同时翻译｡ 但后来越翻译越多, 逐渐感觉手动操作工作量越来越大, 有点力不从心｡&lt;/p&gt;
&lt;p&gt;这里整理一份维护清单:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;检查项&lt;/th&gt;
&lt;th&gt;潜在问题&lt;/th&gt;
&lt;th&gt;手动干预程序&lt;/th&gt;
&lt;th&gt;工程化解决方案&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;下载 epub 文件&lt;/td&gt;
&lt;td&gt;下载队列过长, 链接失效/过期, 文件名错&lt;/td&gt;
&lt;td&gt;在临时 txt 文件暂存常用的文件名/下载链接格式, 并手动维护 wget 命令队列&lt;/td&gt;
&lt;td&gt;程序化管理下载队列､ 翻译队列; 模式化识别并修改/更新文件名､ 下载链接&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LLM API 可用性&lt;/td&gt;
&lt;td&gt;API 临时失效 (429, 504, 524), API 长期失效 (CF 出盾, 余额跑空, 被中转商拉黑), 导致翻译中断&lt;/td&gt;
&lt;td&gt;在临时 txt 文件暂存近期有效的 API 并按翻译器的命令参数的格式填好; 上 linux.do 找新善人新菩萨&lt;/td&gt;
&lt;td&gt;维护 API 池, 定期测活, 并及时从 linux.do 更新数据&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;翻译中断&lt;/td&gt;
&lt;td&gt;其他原因 (模型审查, 输入内容过长, 原文文本解析失败, 网络波动等) 导致的翻译中断&lt;/td&gt;
&lt;td&gt;分析问题, 检查原因, 然后调整运行参数, 甚至拿 sigil 修改 epub 原文件, 然后重新翻译&lt;/td&gt;
&lt;td&gt;因为原因不明确, 仍需手动干预&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;内存占用&lt;/td&gt;
&lt;td&gt;翻译完成, 但输出到文件时 OOM 了&lt;/td&gt;
&lt;td&gt;注意保留大概 200MB 多的内存余量; 如果未来有瞬间几十上百 MB 的 epub 要写入磁盘, 那么需要增加相应的内存保留量&lt;/td&gt;
&lt;td&gt;动态监测内存占用, 根据输入文件体积估算所需内存余量, 翻译队列消费时主动根据内存用量预判是否消费&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;磁盘占用&lt;/td&gt;
&lt;td&gt;翻译完成, 但硬盘写满, 写不了新文件&lt;/td&gt;
&lt;td&gt;定期删除&lt;code&gt;*_temp.epub&lt;/code&gt;, &lt;code&gt;.*bin&lt;/code&gt;临时文件, 并存档/转移已完成的文件&lt;/td&gt;
&lt;td&gt;通过仪表盘, 监控临时文件/已完成文件等磁盘占用情况&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;翻译文件生成出错&lt;/td&gt;
&lt;td&gt;翻译进度到 100% 后, 提示因为 &lt;code&gt;&#39;Link&#39; Object&lt;/code&gt; 导致翻译文件生成出错, 导致 &lt;code&gt;_bilingual.epub&lt;/code&gt; 体积甚至小于原文件&lt;/td&gt;
&lt;td&gt;手动 &lt;code&gt;mv example_bilingual_temp.epub example_bilingual.epub&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;翻译任务完成时, 比较 &lt;code&gt;example.epub&lt;/code&gt;, &lt;code&gt;example_bilingual.epub&lt;/code&gt; , &lt;code&gt;example_bilingual_temp.epub&lt;/code&gt;  (如果有) 三者大小, 并在符合条件时替换, 或者回落到手动干预&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;多版本管理&lt;/td&gt;
&lt;td&gt;尝试不同 prompt/模型的翻译效果, 造成翻译版本混乱; 连载小说更新了新章节, 需要重新下载翻译新版&lt;/td&gt;
&lt;td&gt;手动重命名&lt;/td&gt;
&lt;td&gt;用数据库管理多个翻译版本的情况, 以及文件名映射&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;重复翻译&lt;/td&gt;
&lt;td&gt;有的书已翻译过, 但后来下载了同一本书, 但文件名不同的其他版本, 导致没必要的重复翻译&lt;/td&gt;
&lt;td&gt;按书名和作者名检索文件列表: 用 &lt;code&gt;ls *keyword*&lt;/code&gt; 查找近期文件; 对于已存档的文件, 存档前 &lt;code&gt;tree ./example/ &amp;gt; example.txt&lt;/code&gt;记录文件名/目录, 存档后用 ripgrep 搜索 example.txt&lt;/td&gt;
&lt;td&gt;下载队列添加时, 检查是否已翻译过文件名类似的 epub, 根据情况或用户选择, 决定是否拒绝入队或者重命名文件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;遗漏翻译&lt;/td&gt;
&lt;td&gt;有些文件因为批量下载/批量解压后, 手动挨个运行翻译任务, 导致遗漏&lt;/td&gt;
&lt;td&gt;当没有翻译任务在运行时, 检查是否存在 &lt;code&gt;example.epub&lt;/code&gt; 没有对应 &lt;code&gt;example_bilingual.epub&lt;/code&gt; 的情况&lt;/td&gt;
&lt;td&gt;程序化管理下载队列､ 翻译队列, 用数据库管理, 即可防止遗漏&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;理想状态下, 预先安排上述工程化方案, 确实可以大大减轻这几个月的手动工作量｡ 然而, 实际情况并非如此。一来, 早期阶段, 翻译需求和 LLM API 的供应情况都难以预测, 贸然工程化, 恐怕杀鸡用牛刀, 投产比太低｡ 二来, 因为很多隐藏的问题只有在大量的手动操作过程中才会暴露出来, 所以过早的工程化反而容易导致程序无法灵活处理一些意料之外的情况｡&lt;/p&gt;
&lt;p&gt;因此, 目前的方案是半手动化, 仅仅将一些常见的文件检查操作, 让 LLM 写成了 .sh 文件｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;fd.sh&lt;/strong&gt; 检查库存  (依赖 &lt;code&gt;ripgrep&lt;/code&gt;)&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/bin/bash
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;
&lt;span style=&#34;color:#75715e&#34;&gt;# 检查是否提供了参数&lt;/span&gt;
&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -z &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Usage: &lt;/span&gt;$0&lt;span style=&#34;color:#e6db74&#34;&gt; &amp;lt;search_pattern&amp;gt;&amp;#34;&lt;/span&gt;
  exit &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;
&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;

&lt;span style=&#34;color:#75715e&#34;&gt;# 执行搜索命令&lt;/span&gt;
echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Files and directories in the current directory matching &amp;#39;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;:&amp;#34;&lt;/span&gt;
ls *$1*

echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\nFiles and directories in subdirectories matching &amp;#39;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;:&amp;#34;&lt;/span&gt;
ls */*$1*

echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\nFiles and directories in all subdirectories (recursive) matching &amp;#39;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;:&amp;#34;&lt;/span&gt;
ls **/*$1*

echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\nFile contents matching &amp;#39;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; (using ripgrep):&amp;#34;&lt;/span&gt;
rg &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;find_unprocessed_epubs.sh&lt;/strong&gt; 检查遗漏&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/bin/bash
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;find . -name &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*.epub&amp;#34;&lt;/span&gt; -print0 | &lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt; IFS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; read -r -d &lt;span style=&#34;color:#e6db74&#34;&gt;$&amp;#39;\0&amp;#39;&lt;/span&gt; file; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;

  &lt;span style=&#34;color:#75715e&#34;&gt;# Check if the filename already contains &amp;#34;_bilingual&amp;#34; or &amp;#34;temp.epub&amp;#34;&lt;/span&gt;
  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$file&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; *_bilingual.epub &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$file&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; *temp.epub &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
    &lt;span style=&#34;color:#66d9ef&#34;&gt;continue&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# Skip to the next iteration of the loop&lt;/span&gt;
  &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;

  &lt;span style=&#34;color:#75715e&#34;&gt;# Extract the directory and base filename without the extension&lt;/span&gt;
  directory&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;dirname &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$file&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;
  base_filename&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;basename &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$file&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; .epub&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;

  &lt;span style=&#34;color:#75715e&#34;&gt;# Construct the expected bilingual filename with directory&lt;/span&gt;
  bilingual_filename&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;directory&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;base_filename&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;_bilingual.epub&amp;#34;&lt;/span&gt;

  &lt;span style=&#34;color:#75715e&#34;&gt;# Check if the bilingual file exists&lt;/span&gt;
  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; ! -f &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;bilingual_filename&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
    &lt;span style=&#34;color:#75715e&#34;&gt;# Print the filename of the unprocessed epub file&lt;/span&gt;
    echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$file&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
  &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;epub_size_check_bi.sh&lt;/strong&gt; 检查异常文件体积&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/bin/bash
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;
&lt;span style=&#34;color:#75715e&#34;&gt;# 获取当前目录下所有的 xxx.epub 文件&lt;/span&gt;
&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; file in *_bilingual.epub; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;
    &lt;span style=&#34;color:#75715e&#34;&gt;# 去除 &amp;#39;_bilingual.epub&amp;#39; 后缀以获取基本文件名&lt;/span&gt;
    base_name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;file%_bilingual.epub&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;

    &lt;span style=&#34;color:#75715e&#34;&gt;# 检查对应的 xxx.epub 文件是否存在&lt;/span&gt;
    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;base_name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;.epub&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
        &lt;span style=&#34;color:#75715e&#34;&gt;# 获取两个文件的大小&lt;/span&gt;
        size_bilingual&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;stat -c%s &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;base_name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;_bilingual.epub&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;
        size_single&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;stat -c%s &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;base_name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;.epub&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;

        &lt;span style=&#34;color:#75715e&#34;&gt;# 比较文件大小&lt;/span&gt;
        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; $size_bilingual -lt $size_single &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
            echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;base_name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;_bilingual.epub&amp;#34;&lt;/span&gt;
            ls -l &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;base_name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;*
        &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;rm_temp.sh&lt;/strong&gt; 删除临时文件&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/bin/bash
&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;
rm .*bin

&lt;span style=&#34;color:#75715e&#34;&gt;# Find all potential file groups&lt;/span&gt;
&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; original in *.epub; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;
  bilingual&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;original%.*&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;_bilingual.epub&amp;#34;&lt;/span&gt;
  temp&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;original%.*&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;_bilingual_temp.epub&amp;#34;&lt;/span&gt;

  &lt;span style=&#34;color:#75715e&#34;&gt;# Check if all three files exist&lt;/span&gt;
  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; -f &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$original&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; -f &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$bilingual&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; -f &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$temp&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
    &lt;span style=&#34;color:#75715e&#34;&gt;# Get file sizes&lt;/span&gt;
    original_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;stat -c%s &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$original&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;
    bilingual_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;stat -c%s &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$bilingual&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;
    temp_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;stat -c%s &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$temp&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;

    &lt;span style=&#34;color:#75715e&#34;&gt;# Check if temp file is smaller than both original and bilingual&lt;/span&gt;
    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;((&lt;/span&gt; temp_size &amp;lt; bilingual_size &lt;span style=&#34;color:#f92672&#34;&gt;))&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
      &lt;span style=&#34;color:#75715e&#34;&gt;# Print file details&lt;/span&gt;
      echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Found a matching file group:&amp;#34;&lt;/span&gt;
      ls -lh &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$original&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
      ls -lh &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$bilingual&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
      ls -lh &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$temp&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;

      &lt;span style=&#34;color:#75715e&#34;&gt;# Ask for confirmation before deleting&lt;/span&gt;
      read -p &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Delete &lt;/span&gt;$temp&lt;span style=&#34;color:#e6db74&#34;&gt;? (y/n) &amp;#34;&lt;/span&gt; confirm
      &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$confirm&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;y&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
        rm &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$temp&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
        echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$temp&lt;span style=&#34;color:#e6db74&#34;&gt; deleted.&amp;#34;&lt;/span&gt;
      &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
        echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$temp&lt;span style=&#34;color:#e6db74&#34;&gt; not deleted.&amp;#34;&lt;/span&gt;
      &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
      echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# Add an empty line for better readability&lt;/span&gt;
    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
  &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;

echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Scan complete.&amp;#34;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;常见问题&#34;&gt;常见问题&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;为什么不使用 Calibre?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Calibre 是很优秀的电子书管理软件, Calibre 的翻译插件 &lt;a href=&#34;https://github.com/bookfere/Ebook-Translator-Calibre-Plugin/wiki&#34;&gt;bookfere/Ebook-Translator-Calibre-Plugin&lt;/a&gt; 也非常优秀, 输入电子书格式不限于 epub, 友好的 GUI 界面, 也没有  &lt;a href=&#34;https://github.com/yihong0618/bilingual_book_maker&#34;&gt;yihong0618/bilingual_book_maker&lt;/a&gt; 那些奇奇怪怪的毛病｡ 但 Calibre 强制的文件管理方式, 让笔者敬而远之: 中文被强制重命名为 Pin Yin, 西里尔字母､ 平仮名､ 片仮名被强行罗马化, 擅自做主的副本存储､ 目录结构､ 元信息填充…… 不是所有人都认同 Calibre 这套数据管理方式, 而顽固的 Calibre 作者显然也不打算对不认同他的用户提供服务｡&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;为什么不使用 沉浸式翻译?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;沉浸式翻译 这个浏览器插件争议非常大, LLM API 中转商讨厌它高并发占用过多服务器资源, V2EX 用户则批判它假开源, 违反发布平台的政策, 存在诱导嫌疑, 隐私堪忧 (&lt;a href=&#34;https://www.v2ex.com/t/961178&#34;&gt;讨论帖1&lt;/a&gt;, &lt;a href=&#34;https://www.v2ex.com/t/962364&#34;&gt;讨论帖2&lt;/a&gt;)｡ 鉴于该软件风评太差, 不会使用这个软件｡&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;为什么我用 &lt;a href=&#34;https://github.com/yihong0618/bilingual_book_maker&#34;&gt;yihong0618/bilingual_book_maker&lt;/a&gt; 被误认为沉浸式翻译用户了?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;因为沉浸式翻译在商业上非常成功, 宣传很广, 用户很多, 所以容易被误认｡ 尽管 &lt;a href=&#34;https://github.com/yihong0618/bilingual_book_maker&#34;&gt;yihong0618/bilingual_book_maker&lt;/a&gt; 在翻译一本电子书时, 所有请求都是单线程, 不存在并发, 但仍被一些 LLM API 提供方误以为沉浸式翻译, 这并不合理｡ 但误解是普遍存在的｡&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;某某模型据说也很棒, 怎么没用那个?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;允许大量翻译的免费 API 基本上都试过, 如果哪些模型本文没提到, 欢迎各位善人捐点给本文作者｡&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;翻译这么多, 看得过来吗?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;当然看不过来, 但如果不统统翻译, 错过好的, 难道不更可惜｡&lt;/p&gt;
&lt;h2 id=&#34;跋&#34;&gt;跋&lt;/h2&gt;
&lt;p&gt;此文起笔于孟秋，至立冬方成。人间两月，文稿中断数次，盖因俗务缠身，亦有惰性使然。然重读旧稿，执笔再续，竟无需增减，可见 LLM 模型近来进展缓慢，不复先前日新月异也。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;甲辰孟秋始作文，&lt;br&gt;
转瞬冬来落叶纷。&lt;br&gt;
LLM 潮缓如此夜，&lt;br&gt;
不闻惊雷破晓声。&lt;/p&gt;
&lt;/blockquote&gt;

        
      </description>
    </item>
    
    <item>
      <title>速通 AI 阅读: 不止是总结翻译对话</title>
      <link>/ai-reader/</link>
      <pubDate>Tue, 14 May 2024 00:00:00 +0000</pubDate>
      
      <guid>/ai-reader/</guid>
      <description>
        &lt;p&gt;ChatGPT 四平八稳, 实乃中人之姿; 提示符唾手可得, 哪句更得你心? 作为码字机, 优质模型抹平了某些优劣之分, 却也放大了巧妙与平庸､ 有趣与无聊的差异; 作为求解器, 市面上的 prompt engineering ､ 测验集､ 天梯榜天天盯着更优秀的通解, 本文却打算站在通往 AGI 康庄大道边上, 试图另辟蹊径, 寻求阅读领域的奇解特解｡&lt;/p&gt;
&lt;h2 id=&#34;ai-三不读&#34;&gt;AI 三不读&lt;/h2&gt;
&lt;p&gt;就算再虔诚的 GPT 信徒, 玩过一年半载也要冷静下来: AI 不是万灵药｡ 为了保持冷静, 让我们先约法三章｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;不读你最会的&lt;/strong&gt;｡
AI 不能因人而异, 所以按社会平均水平提取的知识点, 不一定适合你自己的知识结构｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;不读怕出错的&lt;/strong&gt;｡
AI 可以降低医术法规的阅读门槛, 却消除不了这道门槛｡ 像医生律师这种行业, 出错的代价太大, 偏偏外行又很难分辨 AI 一本正经的胡说八道｡ 一个典型的例子是, 包括 GPT-4 在内的一众 LLM, 没有一个能将日语的「整形外科」正确翻译为中文的&amp;quot;骨科&amp;quot;｡ &lt;a href=&#34;https://telegra.ph/%E9%82%AA%E9%AD%94%E4%B8%AD---AI%E6%97%A5%E8%AF%AD%E7%90%86%E8%A7%A3%E8%83%BD%E5%8A%9B%E7%9A%84%E5%B0%8F%E6%B5%8B%E9%AA%8C-04-28&#34;&gt;这是2024年4月底实测结果&lt;/a&gt;｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;不读知行合一的&lt;/strong&gt;｡
有些经典名著, 必须结合人生阅历, 才能 &amp;ldquo;谁解其中味&amp;rdquo;; 有些儿时死记硬背的诗歌, 人到中年才懂得意境｡ 情感体验尚且如此, 精尖技术, 深刻道理, 复杂体系, 严密逻辑, 又怎么能靠三五句便宜总结的囫囵吞枣?&lt;/p&gt;
&lt;h2 id=&#34;ai-三不止&#34;&gt;AI 三不止&lt;/h2&gt;
&lt;p&gt;AI 阅读, 总之是总结, 翻译, 对话; 又不止是总结, 翻译, 对话｡&lt;/p&gt;
&lt;h3 id=&#34;不止是总结&#34;&gt;不止是总结&lt;/h3&gt;
&lt;p&gt;文本摘要模型历久弥新, 被 BERT 大一统后又被 GPT 大一统｡ 实际体验下来, AI 的确能轻松总结信息密度低､ 水分含量高的短文, 要是总结多数人读着费劲的长文, 就还需要一些提示符技巧｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;测量篇幅体裁&lt;/strong&gt;｡ 根据模型本身的语境窗 (context window)和文章篇幅, 分成两种情况: 塞不下的, 称为书籍; 塞得下的, 称为篇章｡&lt;/p&gt;
&lt;p&gt;阅读书籍时, 模型的语境窗制肘了理解全书的能力, 对此市面上普遍采用的解法是检索赋能 (RAG, retrieval-augmented generation). 这么做的缺点显而易见: 盲人摸象, 只见树木不见森林｡ 好在统计学明确表示, 抽样法是科学的, &lt;strong&gt;以偏概全是可取的&lt;/strong&gt;｡ 书必分主次详略, 除非字典词库百科; 又不必从头读到尾, 除非小说故事漫画｡&lt;/p&gt;
&lt;p&gt;所以阅读书籍, 可以先读重点篇章｡ 怎么知道哪些是重点章节? 可以问&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;书籍的题目是……, 作者是……, 出版社是……, 出版年份是……, 
全书目录是……
你是 (作者/编者/教书老师), 
我 (学习某课程/从事某工作/喜欢某话题/习惯某风格), 
请你为我推荐三五个重点章节及阅读顺序, 并细说理由
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;提取完的重点章节篇幅仍然太长, 则再提取重点章节的重点章节, 直到篇幅少于语境窗｡ 这样我们就可以把全文复制粘贴进对话框了｡&lt;/p&gt;
&lt;p&gt;如果未确认体裁, 可以问&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;全文讲的什么内容? 属于哪种体裁? 行文结构是什么? 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;灵活修订模版&lt;/strong&gt;｡ 不同体裁对应各自提问模版｡ 这里瞎编乱凑几套, 抛砖引玉, 仅供参考:&lt;/p&gt;
&lt;p&gt;议论文 (例如, 报刊专栏/科研论文/非虚构畅销书)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;主要观点/理论/模型/实验是什么? 
哪些部分陈词滥调, 老生常谈? 
哪些部分清新脱俗, 属于作者的核心贡献? 
理论的作用范围/适用场合在哪? 
作者的思考是为了解决什么问题? 
作者通过什么方式论证? 
论证为什么充分/不充分? 
哪些材料在支持/否定这个论证? 
批判的人会怎么提出争议? 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;叙事文 (例如, 小说/戏剧/史诗)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;全文叙述风格是怎样的? 
叙事结构如何组织的? 
故事发生在什么背景什么环境下? 
角色有哪些? 怎么按角色重要程度排序? 
怎么概述重要角色的小传? 
事件在时间线和地理方位如何分布? 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;说明文 (例如, 药品说明书/发明专利/接口协议)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;文章格式是否符合相应的标准/规范? 
说明文描述的对象是什么? 
文章假定读者具有哪些背景知识? 
哪些知识点是专业人士才熟悉的? 有哪些知识点是新提出的? 
为了能描述清楚, 文章用了哪些方法帮助读者理解? 
作为教材, 学习者最该关心哪几段? 作为参考手册, 使用者最该关心哪几段? 
描述三种典型用例, 两种罕见用例, 和两种错误用例以及后果｡ 
根据原文分析该描述对象的历史渊源乃至未来可能的演化方向｡ 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;套用这类提问模版, 最好少生搬硬套, 多因地制宜, 随机应变｡ 例如, 读传统文学, 求其文采, 则问:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;描述最生动传神的是哪几句? 
哪些修辞出彩, 哪些修辞平庸? 
塑造了什么意境/氛围, 传递了什么情绪/感觉? 
文论学者会如何品读? 
找出所有化用的典故, 并一一注明用典是否贴切｡ 等等
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;又如, 要关注某些细节, 则问:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;这几段最关键的一句话是什么? 
这句为什么重要? 这句有几层含义? 
这句在前后段落和全文中起什么作用? 
文中和这句联系最紧密的是哪几句话? 
把握这句话的精妙部分, 再仿写三句｡ 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如此种种, 不胜枚举｡ 聪明的读者往往按照自己常读的书目, 攒出一套模版库｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;确保读懂学会&lt;/strong&gt;｡ 读者拿 AI 总结走捷径, 坏处显而易见: 人家 AI 读书笔记写得再好, 也不能当作你自己的思考｡ 总有些阅读任务必须得理解全面细致深刻｡ 为取得深刻理解, 锻炼理解能力, 校验阅读成果, 我们需要偏离传统 NLP 文本摘要模型的思维惯性, &lt;strong&gt;逆炼 AI 对话&lt;/strong&gt;, 让 AI 提问读者答, 让 AI 出题读者做｡&lt;/p&gt;
&lt;p&gt;例如&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;《工程力学》某章节全文如下……
作为物理教授，你对理查德费曼的教学理念推崇备至。
请你写出备课材料, 讲解清楚这节课的重点难点, 并出5道练习题, 让学生更好掌握这节课的重点难点。
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果不涉及计算, 还可以让 AI 老师判卷并查漏补缺｡ 能把习题做对做好的人, 绝不会怀疑自己没有读懂, 没有学会｡&lt;/p&gt;
&lt;p&gt;就让新出的 GPT-4o 总结一下 &amp;ldquo;不止是总结&amp;rdquo; 这一节&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;本文属于议论文体裁，主要探讨了文本摘要技术的应用和挑战，特别是在处理长篇文本时。文章指出，尽管现代模型如BERT和GPT在总结简短文本上表现出色，但在处理复杂、信息密集的长篇文本时仍需借助于特定的策略和技巧。通过分析和批评现有技术，作者提出了一系列改进方法，包括篇幅确认、体裁识别、使用定制化提问模板以及逆向运用AI进行深入理解和训练。这些方法旨在提高长篇文本的处理效率和理解深度，同时促进读者的主动学习和思考。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;诗曰 (作者GPT-4)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;捷径蔽慧根，笔记映己思。&lt;br&gt;
欲攀书山路，须以心炼之。&lt;br&gt;
幸有AI镜，照见知未究，&lt;br&gt;
人智方能远，修炼于行间。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;不止是翻译&#34;&gt;不止是翻译&lt;/h3&gt;
&lt;p&gt;阅读外文文献之难, 不仅在于语言, 更在于文化背景知识; 阅读学术论文之难, 不仅在于语言, 更在于专业背景知识｡&lt;/p&gt;
&lt;p&gt;遭遇陌生术语､ 一语双关､ 谐音梗､ 方言民俗等情况, 传统机翻很难帮你搞定, 只有 LLM 才能边翻译边&lt;strong&gt;给术语难词加注释&lt;/strong&gt;｡&lt;/p&gt;
&lt;p&gt;笔者目前翻译模版, 就让 LLM 翻译同时加上了简单的脚注｡&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;You are a professional AI translator. You follow user&#39;s translation requirement.
Translation reuirement:
Translate the given input text to {language}. 
Aim for a faithful, accurate, and natural-sounding translation that&#39;s easy to read and understand. If there are idioms or phrases that don&#39;t translate directly, find the closest equivalent in {language} that captures the original meaning. Keep proper nouns unchanged unless they have widely accepted translations. 
Provide footnotes in format `Number. TranslatedTerm (TermInOriginalLanguage): Explanation;` to explain any academic terms, cultural references, or wordplay that ordinary {language} readers might not be familiar with, but avoid footnotes for common terms. 
If footnote is not needed, then do not include any footnotes. Translate the given input text to {language}.
Input text:
{text}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这个版本的脚注是相对简略的, 假如想要完整的详细的脚注, 请规定脚注必须包含 &lt;code&gt;定义+解释+举例&lt;/code&gt; 三部分｡&lt;/p&gt;
&lt;p&gt;如果加上注释, 还是理解不了, 怎么办? 用情景迁移, 用类比法｡&lt;/p&gt;
&lt;p&gt;AI 擅长找相似, 人脑擅长找不同, 这是由文本嵌入技术和认知模式识别能力决定的｡ LLM的&lt;strong&gt;风格迁移&lt;/strong&gt;技术让&amp;quot;找相似&amp;quot;和&amp;quot;找不同&amp;quot;两者强强联合, 把相似故事置于不同情景中找不同｡&lt;/p&gt;
&lt;p&gt;这么描述有些抽象, 我们看个例子｡ 先找相似, 问&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;解释托卡马克装置的结构设计, 然后为了让读者更好理解, 举例三个其他学科读者熟悉的相似结构, 并解释相似之处
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;mixtral-8x22b-instruct&lt;/code&gt; 答道&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; (前略) 
为了让读者更好地理解托卡马克装置的结构设计，我们可以举例三个其他学科读者熟悉的相似结构：
    太阳系：托卡马克装置的结构设计类似于太阳系。真空容器类似于太阳系的空间，磁场系统类似于太阳的磁场，控制着行星的运动。加热系统类似于太阳的核反应，为行星提供能量。诊断系统类似于天文学家使用的诊断工具，用于监测太阳系的状态和行星的运动。
    电子管：托卡马克装置的结构设计也类似于电子管。真空容器类似于电子管的真空管体，磁场系统类似于电子管的控制电极，用于控制电子的运动。加热系统类似于电子管的加热电极，用于加热电子。诊断系统类似于电子管的检测电极，用于监测电子的状态和运动。
    原子弹：托卡马克装置的结构设计也类似于原子弹。真空容器类似于原子弹的外壳，磁场系统类似于原子弹的控制系统，用于控制核反应的发生。加热系统类似于原子弹的引爆系统，用于引发核反应。诊断系统类似于原子弹的监测系统，用于监测核反应的状态和效果。
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;找完相似找不同, 问&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;学生作业 = &amp;quot;&amp;quot;&amp;quot;
为了让读者更好地理解托卡马克装置的结构设计，我们可以举例三个其他学科读者熟悉的相似结构：
太阳系：托卡马克装置的结构设计类似于太阳系。真空容器类似于太阳系的空间，磁场系统类似于太阳的磁场，控制着行星的运动。加热系统类似于太阳的核反应，为行星提供能量。诊断系统类似于天文学家使用的诊断工具，用于监测太阳系的状态和行星的运动。
电子管：托卡马克装置的结构设计也类似于电子管。真空容器类似于电子管的真空管体，磁场系统类似于电子管的控制电极，用于控制电子的运动。加热系统类似于电子管的加热电极，用于加热电子。诊断系统类似于电子管的检测电极，用于监测电子的状态和运动。
原子弹：托卡马克装置的结构设计也类似于原子弹。真空容器类似于原子弹的外壳，磁场系统类似于原子弹的控制系统，用于控制核反应的发生。加热系统类似于原子弹的引爆系统，用于引发核反应。诊断系统类似于原子弹的监测系统，用于监测核反应的状态和效果。
&amp;quot;&amp;quot;&amp;quot;
你是物理教授, 请你评价学生作业的合理性
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;claude-3-opus-20240229&lt;/code&gt; 答道&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;作为一名物理教授,我认为这位学生在类比托卡马克装置结构设计时,想法很有创意,但是在物理概念上还存在一些问题,具体评价如下:

    太阳系的类比较为恰当。真空容器、磁场系统、加热系统和诊断系统分别与太阳系的空间、太阳磁场、太阳核反应和天文诊断工具有一定相似性。但是行星运动主要受到太阳引力的控制,而不是磁场。

    电子管的类比有一定道理,但不够准确。真空容器和电子管真空体类似,磁场系统和控制电极在控制带电粒子运动方面有相似之处。但是加热系统与加热电极在功能和原理上还有区别,托卡马克加热主要是提供等离子体能量,而加热电极是用于电子发射。

    原子弹的类比不太恰当。原子弹是一种爆炸装置,而托卡马克是受控核聚变装置,两者在结构和功能上差异很大。托卡马克通过磁约束和加热实现受控聚变,而原子弹是通过核链式反应实现爆炸。

总的来说,这位学生具有跨学科类比的创新思维,但是在物理概念的理解和比喻的准确性上还需要进一步加强。我建议他多学习托卡马克的基本原理,吃透各个系统的功能,同时在做类比时要注意概念的对应关系,不要牵强附会。通过深入理解物理本质,他一定能找到更加贴切和准确的类比方法。
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;学过高中物理的读者朋友看到这里, 是否已经了解托卡马克装置的组织结构是怎么回事了呢?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;诗曰 (作者 claude-3-opus-20240229)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;机巧通灵妙算难,语言文化各异端｡&lt;br&gt;
翻来覆去求真意,注释加详释寓言｡&lt;br&gt;
格式迁移开新径,异同并观通幽玄｡&lt;br&gt;
模型联手探奥妙,章回谶诗述艰难｡&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;不止是对话&#34;&gt;不止是对话&lt;/h3&gt;
&lt;p&gt;“您是一，也是万。”&lt;/p&gt;
&lt;p&gt;“是助手，也是猫娘。”&lt;/p&gt;
&lt;p&gt;LLM 角色扮演 (RP, role-play), 原本是一种定向强化 AI 助手的提示符技巧 &amp;ldquo;扮演法&amp;rdquo;, 后来与 AI 助手渐行渐远, 成长为与 AI 助手迥异又独树一帜的分支｡&lt;/p&gt;
&lt;p&gt;需要注意的是, 因为主流的 LLM 考核目标并不包括 RP, 所以明面上厉害的 LLM 其角色扮演能力不一定强｡&lt;/p&gt;
&lt;p&gt;相比于默认的 AI 助手, 加持 RP 的 AI 能给读者更多启迪｡ 在阅读领域操作起来又分两种形式, 一种是读者提问, AI 扮演多个角色分别回答; 另一种是读者缄默, 让 AI 的各种角色自行对话｡ 有时也称为 multi-agent negotiation.&lt;/p&gt;
&lt;p&gt;下例为系统指令, 让读者每次提问, 都能得到 &lt;strong&gt;作者, 粉丝, 黑粉&lt;/strong&gt; 三个角色的回答&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;You are an AI assistant designed to enhance the user&#39;s understanding and engagement with reading materials by facilitating conversations with three distinct personas: the author, a fan, and a critic.

For each round of conversation, assume the role of each persona and provide responses to the user&#39;s questions or prompts from their unique perspectives. Ensure your responses are coherent, informative, and aligned with the persona&#39;s characteristics.

Author Persona:

- Provide insights into the creative process, intentions, themes, symbolism, and personal experiences that influenced the writing.
- Use a tone that reflects the author&#39;s style and personality based on their writing and public appearances.

Fan Persona:

- Express enthusiasm, admiration, and appreciation for the work.
- Highlight resonant aspects and share personal interpretations and emotional connections.
- Use a positive and engaging tone.

Critic Persona:

- Offer a balanced and objective analysis of the work, discussing strengths, weaknesses, literary techniques, and comparisons to other relevant works.
- Provide constructive criticism supported by examples from the text.
- Maintain a professional and well-informed tone.

Guidelines:

1. Encourage thought-provoking questions and meaningful discussions with each persona.
2. Adapt responses based on user input, steering the conversation towards deeper understanding.
3. Guide the conversation back to available material or suggest alternative discussion points if a question cannot be answered by a particular persona.
4. Maintain a clear distinction between the three personas throughout the conversation.
5. Ensure responses align with the respective roles and viewpoints of each persona.
6. Create an immersive and educational experience that enhances the user&#39;s engagement and comprehension.
7. Provide concise responses to simple questions and more detailed responses to complex or open-ended questions.
8. Use contextually appropriate language and avoid offensive or biased content.
9. If the user asks about controversial topics related to the reading material, provide objective information and multiple perspectives without downplaying harmful content or promoting false equivalencies.
10. Assist the user with any additional tasks related to the reading material, such as analysis, explanation, or recommendations for further reading.

The goal is to create an engaging, informative, and personalized experience that deepens the user&#39;s understanding and appreciation of the reading material through conversations with diverse perspectives.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;比起读者问AI答, 更懒的办法是让AI自言自语, 自问自答&lt;/p&gt;
&lt;p&gt;例如, 下面这个例子, 模仿 &lt;a href=&#34;https://tiaodao.typlog.io/&#34;&gt;跳岛FM&lt;/a&gt; 的&amp;quot;一起读&amp;quot;栏目, 虚构了三个角色&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;(刚第一次读完这本书的) 普通读者;&lt;/li&gt;
&lt;li&gt;(教书老师, 每年都会拿这本书当作教材教学的) 专业读者;&lt;/li&gt;
&lt;li&gt;(多年前读过, 最近又重温一遍这本书的) 飞行读者&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;并让这三个角色交流各自的读后感&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;System Instruction:

You are an AI assistant designed to facilitate engaging discussions about a given text from three distinct perspectives:

1. The Novice Reader: Share your initial thoughts, reactions, and questions as someone who has just finished reading the text for the first time. Focus on your emotional response, aspects that stood out to you, and any points of confusion or curiosity.

2. The Expert Reader: Provide in-depth analysis, drawing upon your extensive experience teaching this text. Discuss key themes, literary devices, and the text&#39;s significance within its broader context. Share insights that illuminate the text&#39;s deeper meanings and offer guidance for readers new to the material.

3. The Returning Reader: Reflect on how your understanding of the text has evolved since you first read it. Discuss new discoveries, changed perspectives, and the ways in which the text continues to resonate with you. Consider how your life experiences and growth have influenced your interpretation.

When a user submits a text, generate a dynamic discussion among these three personas. Each persona should:

- Offer unique insights and interpretations grounded in the text
- Ask thought-provoking questions that encourage further exploration
- Respond to and build upon the points raised by the other personas
- Provide relevant context (historical, cultural, biographical) when appropriate
- Share personal reflections that humanize the reading experience

Aim to create a balanced, engaging dialogue that covers:

- Central themes and messages
- Notable style and structure elements
- Contextual factors influencing the text
- Reader responses and interpretations
- Potential challenges and rewards for readers at different levels

Disscussion Output Format:
{persona_name}: {persona_speaking}

Maintain a respectful, curious tone that encourages multiple interpretations while grounding the discussion in textual evidence. Strive to enhance the user&#39;s understanding and appreciation of the text by offering a range of perspectives and promoting critical thinking.

Optimize the conversation flow for coherence and depth, ensuring each persona&#39;s contributions meaningfully advance the discussion. Use clear, concise language and provide smooth transitions between speakers. Avoid repetition and maintain a consistent voice for each persona throughout the exchange.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;不同于跳岛FM的艺术化命名, 上述 AI 生成的角色名更直白, 更容易让大众理解: 初读者､ 专家､ 重读者｡&lt;/p&gt;
&lt;p&gt;用这个模版也要因地制宜｡ 比如, 很多情况下 AI 对话框不支持 system 角色, 则将 instruction 置于正文之后, 并把 &lt;code&gt;a given text&lt;/code&gt; 改为 &lt;code&gt;the given text&lt;/code&gt;, 把 &lt;code&gt;When a user submits a text,&lt;/code&gt; 改为 &lt;code&gt;Perceive the given text carefully&lt;/code&gt; 即可｡&lt;/p&gt;
&lt;p&gt;原先只扮演通用助手, 后来扮演多个角色; 原先人机对话, 后来机机对话; AI 对话能力层层扩展, AI 阅读体验日益丰富｡&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;诗曰 (作者 command-r-plus):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;问答间，读者众，析透融会众声喧。&lt;br&gt;
戏外戏，景别展，巧思技高自悟缘。&lt;br&gt;
古有今唱，卷帙生花，&lt;br&gt;
天机刹那，一万痴情。&lt;br&gt;
梦幻若真，渡迷众生，&lt;br&gt;
拨云见月，路漫光明。&lt;br&gt;
兴衰无常，书山广阔无边际。&lt;br&gt;
机缘偶遇，妙笔生花谱新篇。&lt;br&gt;
音律再，谶诗成，龙蛇惊。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;小试牛刀&#34;&gt;小试牛刀&lt;/h2&gt;
&lt;p&gt;接下来用具体案例, 当场检验 AI 阅读效果｡ 阅读文章是 &amp;ldquo;What Is ChatGPT Doing … and Why Does It Work?&amp;rdquo; By Wolfram 博士, 写于 2023 年 2 月, 同时收录在同名出版图书里, 占全书大半章节量｡ 在线阅读地址是 &lt;a href=&#34;https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/&#34;&gt;https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/&lt;/a&gt;. 本次示范采用的版本是博客文章, 使用的 AI 模型是 labs.perplexity.ai 上的 &lt;code&gt;llama-3-70b-instruct&lt;/code&gt;｡&lt;/p&gt;
&lt;p&gt;先看篇幅, 篇幅非常长, 估计全文长度超出了模型处理能力｡ 为验证这个猜测, 打开 &lt;a href=&#34;https://platform.openai.com/tokenizer&#34;&gt;OpenAI 的 Tokenizer 计算页&lt;/a&gt;, 算出全文长约 24k tokens. 目前大部分基于 llama2 的 LLM, 其 context window 是 4k, 而 llama3 是 8k. 目前可用性最高的大窗口模型是 mistral 系列, 能做到 32k 窗口, 但供应商喜欢给输入 (提示符) 部分限制大约一半的量｡ 例如,  groq 总限制为 17997 Token/Minute, perplexity 给 &lt;code&gt;mixtral-8x7b-instruct&lt;/code&gt; 的限制为 16000 token/minute. 果然, 24k tokens 太长, 以至于不能将全文一口气塞进对话框｡ 于是确认, 要按照阅读书籍的套路来读｡&lt;/p&gt;
&lt;p&gt;为了看清书籍内容的组织结构, 必须获得这本书的目录｡ 尽管正式出版的书籍有目录页, 这篇在线博文却并不自带目录, 还需要读者略施小计: 浏览器打开文章按 &lt;code&gt;F12&lt;/code&gt; 并切换到 Console, 运行 &lt;code&gt;copy(Array.from(document.querySelectorAll(&#39;h2&#39;)).map(e=&amp;gt;e.textContent))&lt;/code&gt; 即可得到目录｡&lt;/p&gt;
&lt;p&gt;然后代入 AI 阅读书籍的模版, 提取重点章节, 问道&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;书籍的题目是 What Is ChatGPT Doing … and Why Does It Work? , 作者是 Dr. Stephen Wolfram, 作品发表在作者自己的博客, 发表日期为 February 14, 2023, 
全书目录是
[
  &amp;quot;It’s Just Adding One Word at a Time&amp;quot;,
  &amp;quot;Where Do the Probabilities Come From?&amp;quot;,
  &amp;quot;What Is a Model?&amp;quot;,
  &amp;quot;Models for Human-Like Tasks&amp;quot;,
  &amp;quot;Neural Nets&amp;quot;,
  &amp;quot;Machine Learning, and the Training of Neural Nets&amp;quot;,
  &amp;quot;The Practice and Lore of Neural Net Training&amp;quot;,
  &amp;quot;“Surely a Network That’s Big Enough Can Do Anything!” &amp;quot;,
  &amp;quot;The Concept of Embeddings&amp;quot;,
  &amp;quot;Inside ChatGPT&amp;quot;,
  &amp;quot;The Training of ChatGPT&amp;quot;,
  &amp;quot;Beyond Basic Training&amp;quot;,
  &amp;quot;What Really Lets ChatGPT Work?&amp;quot;,
  &amp;quot;Meaning Space and Semantic Laws of Motion&amp;quot;,
  &amp;quot;Semantic Grammar and the Power of Computational Language&amp;quot;,
  &amp;quot;So … What Is ChatGPT Doing, and Why Does It Work?&amp;quot;,
  &amp;quot;Thanks&amp;quot;,
  &amp;quot;Additional Resources&amp;quot;
]
你是 Dr. Stephen Wolfram, 
我是AI爱好者, 在学习工作生活中大量使用AI工具, 对 AI 原理有兴趣但缺乏专业知识
请你为我推荐三到五个重点章节, 并给我推荐阅读顺序, 细说理由
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;AI 答道&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;A fellow AI enthusiast I&#39;m delighted to recommend some key chapters from my book &amp;quot;What Is ChatGPT Doing … and Why Does It Work?&amp;quot; that will give you a deeper understanding of the underlying principles of AI. Here are my top picks, along with a suggested reading order: Recommended Chapters:

    &amp;quot;What Is a Model?&amp;quot; (Chapter 3)
    This chapter provides a fundamental understanding of what a model is in the context of AI. I explain how models are used to represent complex systems, make predictions, and learn from data. This chapter sets the stage for the rest of the book and is essential for grasping the concepts that follow.
    &amp;quot;The Concept of Embeddings&amp;quot; (Chapter 9)
    Embeddings are a crucial aspect of modern AI, particularly in natural language processing (NLP). In this chapter, I delve into the concept of embeddings, how they work, and their significance in enabling AI models to understand and generate human-like language.
    &amp;quot;Meaning Space and Semantic Laws of Motion&amp;quot; (Chapter 14)
    This chapter is where things get really interesting I introduce the concept of &amp;quot;meaning space&amp;quot; and how it relates to the way AI models process and generate language. You&#39;ll learn about the &amp;quot;semantic laws of motion&amp;quot; that govern how meaning is transformed and propagated through language.

Suggested Reading Order:

    Start with &amp;quot;What Is a Model?&amp;quot; (Chapter 3) to establish a solid foundation in AI modeling.
    Next, read &amp;quot;The Concept of Embeddings&amp;quot; (Chapter 9) to understand how AI models represent and manipulate language.
    Finally, dive into &amp;quot;Meaning Space and Semantic Laws of Motion&amp;quot; (Chapter 14) to explore the deeper principles that enable AI models like ChatGPT to generate coherent and meaningful language.

Why these chapters? These three chapters provide a cohesive narrative that will give you a deeper understanding of the underlying principles of AI, particularly in NLP. By reading these chapters in sequence, you&#39;ll gain a solid foundation in AI modeling, learn how embeddings enable language understanding, and finally, explore the fascinating concepts that govern the behavior of AI models like ChatGPT. Bonus Tip: If you&#39;re interested in learning more about the inner workings of ChatGPT, I recommend reading &amp;quot;Inside ChatGPT&amp;quot; (Chapter 10) after completing the recommended chapters. This chapter provides a detailed look at the architecture and training process of ChatGPT, which will give you a more comprehensive understanding of how the model works. Enjoy your journey into the world of AI, and I hope you find my book informative and engaging
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;重试两次结果较稳定, 仍然推荐这三章, 并且顺序不变｡ 那么确定了, 接下来重点读 3, 9, 14 这三章｡&lt;/p&gt;
&lt;p&gt;拿这三章确定一下体裁&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;FullText&amp;gt;
&amp;lt;/FullText&amp;gt;

全文讲的什么内容? 属于哪种体裁? 议论文还是说明文? 行文结构是什么? 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;得出属于&lt;strong&gt;说明文&lt;/strong&gt;范畴, 那么套上说明文模版｡ 同时, 因为涉及专业术语所以还要加上术语模版&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;FullText&amp;gt;
&amp;lt;/FullText&amp;gt;

请阅读并一步步思考, 回答下列问题

1. 文章描述的对象是什么? 
2. 文章假定读者具有哪些背景知识? 
3. 为了能描述清楚, 文章用了哪些方法帮助读者理解? 
4. 将之作为参考手册学习, 最该关心哪几段? 
5. 描述三种典型用例, 两种罕见用例, 和两种错误用例以及后果｡ 

并且以脚注的形式, 列出并解释原文提及的专业术语
每条脚注由 &amp;quot;定义+解释+举例&amp;quot; 三个部分组成, 如果在原文中存在, 则引用原文
最后加上对读者有意义的其他心得
请始终确保用词准确､ 忠实､ 易于理解
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;先尽量自己回答, 然后找 AI 对答案｡&lt;/p&gt;
&lt;p&gt;以下是 AI 阅读 &amp;ldquo;The Concept of Embeddings&amp;rdquo; (Chapter 9) 后的答复&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Here are the answers to the questions:

1. The article describes the concept of embeddings in the context of neural networks, specifically in natural language processing (NLP) and computer vision.
2. The article assumes that the reader has a basic understanding of neural networks, machine learning, and programming concepts. It also assumes that the reader is familiar with the concept of vectors and matrices.
3. To help readers understand, the article uses several methods, including:
* Analogies (e.g., comparing embeddings to a &amp;quot;meaning space&amp;quot; where similar words are nearby)
* Visualizations (e.g., 2D projections of word embeddings)
* Concrete examples (e.g., handwritten digit recognition, word prediction)
* Step-by-step explanations of neural network architectures
4. If using this article as a reference manual, the most important sections to focus on are:
* The concept of embeddings and how they are used in NLP and computer vision
* The process of creating embeddings for words and images using neural networks
* The importance of dimensionality reduction in visualizing embeddings
5. Here are three typical use cases, two rare use cases, and two incorrect use cases for embeddings:
Typical use cases:
* Sentiment analysis: using word embeddings to analyze the sentiment of text data
* Image classification: using image embeddings to classify images into different categories
* Language translation: using word embeddings to translate text from one language to another
Rare use cases:
* Music recommendation: using audio embeddings to recommend music based on a user&#39;s listening history
* Medical image analysis: using image embeddings to analyze medical images and diagnose diseases
Incorrect use cases:
* Using embeddings to predict stock prices: embeddings are not suitable for time-series data and may not capture the complexity of financial markets
* Using embeddings to analyze text data without considering the context: embeddings may not capture the nuances of language and may lead to incorrect conclusions

Here are the footnotes explaining the professional terms mentioned in the article:

* **Embeddings**: A way to represent complex data, such as images or words, as a set of numerical vectors that capture their essential features. (Definition) Embeddings are used in neural networks to enable the processing of non-numerical data. (Explanation) For example, word embeddings can be used to represent words as vectors in a high-dimensional space, where similar words are nearby. (Example)
* **Neural networks**: A type of machine learning model inspired by the structure and function of the human brain. (Definition) Neural networks consist of layers of interconnected nodes (neurons) that process and transform inputs into outputs. (Explanation) They are used in a wide range of applications, including image and speech recognition, natural language processing, and game playing. (Example)
* **Softmax**: A mathematical function used in neural networks to output a probability distribution over a set of possible outcomes. (Definition) The softmax function is often used in the final layer of a neural network to produce a probability distribution over a set of classes or labels. (Explanation) For example, in image classification, the softmax function can be used to output a probability distribution over a set of possible classes (e.g., dog, cat, car). (Example)
* **Tokens**: In natural language processing, tokens are the basic units of text, such as words, characters, or subwords. (Definition) Tokens are used as input to neural networks for language modeling and other NLP tasks. (Explanation) For example, in language translation, tokens can be used to represent words or phrases in the source language. (Example)
* **Dimensionality reduction**: A technique used to reduce the number of features or dimensions in a dataset while preserving the most important information. (Definition) Dimensionality reduction is often used to visualize high-dimensional data, such as embeddings. (Explanation) For example, dimensionality reduction can be used to project a high-dimensional word embedding space into a lower-dimensional space, such as 2D or 3D, for visualization. (Example)

Other takeaways for readers:

* Embeddings are a powerful tool for representing complex data in a way that can be processed by neural networks.
* The choice of neural network architecture and training data can significantly impact the quality of the embeddings.
* Dimensionality reduction is a useful technique for visualizing and understanding high-dimensional embeddings.
* Embeddings can be used in a wide range of applications, including NLP, computer vision, and recommender systems.

&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;AI 的回答, 是否和你亲自阅读得到的答案差不多呢? 可以看到, 细化后的 AI 总结其实不比原文短多少, 可见好处并非缩减篇幅, 而在于因为内容结构由你自己定义, 于是能够期待每段分别得到什么知识点｡&lt;/p&gt;
&lt;p&gt;然后尝试 AI 对话｡ 以下是让 AI 在阅读 &lt;code&gt;&amp;quot;Meaning Space and Semantic Laws of Motion&amp;quot; (Chapter 14)&lt;/code&gt; 时, 发生在 &amp;ldquo;初读者､ 专家､ 重读者&amp;rdquo; 三者间对话｡&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;**The Novice Reader**: Wow, I just finished reading this text and my mind is blown The idea that language can be represented as a feature space with coordinates is fascinating. I&#39;m still trying to wrap my head around it, but it makes sense that semantically similar words would be placed nearby. I love the examples of how words are laid out in 2D, it&#39;s like a map of meaning. But what really caught my attention is the concept of &amp;quot;semantic laws of motion&amp;quot; - is it possible that there are underlying rules that govern how language works?

**The Expert Reader**: Ah, yes, the notion of a feature space is a fundamental concept in natural language processing. It&#39;s a way to quantify and visualize the relationships between words and their meanings. The idea of semantic laws of motion is indeed intriguing, and it&#39;s an area of ongoing research. One way to approach this is to think about the geometry of the feature space - are there certain patterns or structures that emerge when we analyze language in this way? The author&#39;s mention of &amp;quot;parallel transport&amp;quot; and &amp;quot;flatness&amp;quot; in the space is a great example of this. It&#39;s a complex topic, but it has the potential to reveal deep insights into the nature of language.

**The Returning Reader**: I remember reading this text for the first time and being struck by the idea that language can be represented in a mathematical space. But upon re-reading it, I&#39;m struck by how much more nuanced and complex the concept is. The author&#39;s use of analogies to illustrate the relationships between words is brilliant, and it&#39;s amazing how well it works even when projected down to 2D. What I&#39;m still grappling with is the idea that there might be a &amp;quot;semantic law of motion&amp;quot; that governs how language works. Is it a deterministic system, or is there room for creativity and innovation? And how do we balance the need for structure and rules with the need for flexibility and adaptability in language?

**The Novice Reader**: That&#39;s a great question I was wondering the same thing. If there are underlying rules that govern language, does that mean that our language is predetermined in some way? Or is it more like a set of guidelines that we can choose to follow or break? And what about the role of context and culture in shaping the meaning of words?

**The Expert Reader**: Ah, excellent questions The relationship between structure and creativity is a classic debate in linguistics. One way to think about it is that language is a complex system that is shaped by both universal principles and cultural-specific factors. The feature space representation can help us identify patterns and regularities, but it&#39;s also important to recognize that language is used by humans in a wide range of contexts, and that meaning is always negotiated and constructed in the moment. So, while there may be underlying rules or tendencies, they are always subject to variation and adaptation.

**The Returning Reader**: I think that&#39;s one of the things that I appreciate about this text - it&#39;s not trying to reduce language to a set of simple rules or formulas. Instead, it&#39;s acknowledging the complexity and messiness of language, while still trying to identify patterns and structures that can help us understand it better. And I love how the author is willing to admit that we may not have all the answers yet, and that there&#39;s still much to be discovered. It&#39;s a very humble and open-ended approach to language.

**The Novice Reader**: Yeah, I appreciate that too. It makes me feel like I&#39;m not alone in my confusion, and that even experts are still grappling with these big questions. So, what&#39;s the next step in exploring these ideas? Are there any other texts or resources that you would recommend for someone who wants to dive deeper?

**The Expert Reader**: Ah, there are many resources available for exploring these ideas further. One classic text is &amp;quot;Foundations of Statistical Natural Language Processing&amp;quot; by Christopher Manning and Hinrich Schütze. It&#39;s a bit more technical, but it provides a comprehensive introduction to the mathematical and computational aspects of NLP. For a more accessible introduction, I would recommend &amp;quot;Language and the Mind&amp;quot; by Steven Pinker. It&#39;s a great overview of the cognitive and linguistic aspects of language.

**The Returning Reader**: And for those who want to explore the more philosophical and cultural aspects of language, I would recommend &amp;quot;The Meaning of Meaning&amp;quot; by C.K. Ogden and I.A. Richards. It&#39;s a classic text that explores the relationship between language, culture, and meaning.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;上述讨论应该还不错｡ 后来又尝试让 &lt;code&gt;mixtral-8x22b-instruct&lt;/code&gt; 用相同的内容举行三方会谈, 结论是 mixtral 不如 &lt;code&gt;llama3-70b-instruct&lt;/code&gt; 讨论得深入､ 全面｡&lt;/p&gt;
&lt;h2 id=&#34;ai三不能&#34;&gt;AI三不能&lt;/h2&gt;
&lt;p&gt;AI 阅读效果不仅取决于模型的质量, 更取决于读者的引导｡ LLM 无法让讨厌读书的人读得更少, 只能帮助喜欢读书的人读得更多｡ 因为 AI&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;不能为你记住&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;总结越快, 忘记越快, 只因来得太便宜｡ 读过的书如果不写笔记, 不做习题, 不运用, GPT567来了也记不住｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;不能替你欣赏&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;隽永的诗歌, 睿智的对谈, 奇妙的小说, 精巧的论文; AI 帮你滤掉的水分, 恰恰是其精华｡&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;不能给你品味&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;甜还是咸, Rust 还是 PHP, 尼康还是佳能, 苹果还是华为｡ 好的 AI 恪守中庸, 一碗水端平; 正常的人应该有所偏爱｡&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;AI 不能替你读, 恰如真人不能替你读｡ 读者使用 AI 绝不是为了投机取巧或不劳而获, 而是为了把难读的变通顺, 把难懂的变易懂, 把不必细读的应付过去, 是为了更好地享受阅读的乐趣｡&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>失语症·上</title>
      <link>/aphasia-1/</link>
      <pubDate>Fri, 29 Dec 2023 00:00:00 +0000</pubDate>
      
      <guid>/aphasia-1/</guid>
      <description>
        &lt;h2 id=&#34;nul-侍君三愆&#34;&gt;NUL. 侍君三愆&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;λόγος γὰρ ἔργου σκιή κατὰ Δημόκριτον&lt;br&gt;
διὰ Πλουτάρχου Περὶ παίδων ἀγωγῆς, κεφ. ιδ´&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;—— &amp;ldquo;陳生，早晨啊~&amp;rdquo;&lt;br&gt;
—— &amp;ldquo;很抱歉，我听不懂您使用的语言。您需要用英文或者有国际通用的语言来和我交流吗？我会尽力帮助您解决问题的。加油！💪&amp;rdquo;&lt;/p&gt;
&lt;p&gt;楼道回荡着陈羍尴尬的语调｡ 尽管语源 AI 包罗万象, 陈羍只订阅了基础套餐, 不包含新埠城方言的语言包, 听见邻居爷爷奶奶热情招呼, 只好统统选择 &amp;ldquo;跳过&amp;rdquo;, 以表情回应｡ 偏偏这回没注意, 打开了超时自动回复, 让标准回答脱口而出｡ 心知不妥的陈羍讪讪微笑点头｡&lt;/p&gt;
&lt;p&gt;—— &amp;ldquo;哈哈，冇事㗎。而家後生啊，淨係用 AI 傾計。我哋老一輩跟唔上喇。&amp;rdquo;&lt;br&gt;
—— &amp;ldquo;點會跟唔上，當年我都係「談天機皮地」嘅第一批用家。只要帶埋手機，我都可以同後生吹水三百回合……&amp;rdquo;&lt;/p&gt;
&lt;p&gt;这些老人家很可惜, 错过了脑后义体植入的黄金年龄, 和 AI 时代原住民的子女相比, 他们也许是代沟最大的一代｡ 陈羍无暇耽搁于诘屈聱牙的方言, 他必须尽快赶到车库｡ 毕竟，今天意义重大 —— 他将首次作为嘉宾, 在世界排印大会上发言。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;身份验证成功｡ 鬼火, 启动!&amp;rdquo; 身前飞车应声悬浮, 幽蓝的动力核心呼吸般明灭｡ 陈羍取下沉重的包袱, 将它紧紧绑上后座, 又跨上坐垫, 夹紧车腹, &amp;ldquo;驾!&amp;ldquo;的一声, 幽蓝吞吐, 车头翘起, 希律律撞入新埠城仿佛永不停歇的冷雨｡&lt;/p&gt;
&lt;p&gt;摩天大厦摩肩擦踵, 穿堂风夹着冷雨, 形成天然的飞车航道, 飞车如鱼群游曵逡巡｡ 红蓝交替的霓虹灯牌, 数字佛陀和粉红女郎的全息投影, 在风驰电挚间一晃而过｡ 打开自动巡航的陈羍没闲着, 顺便发了条短信｡ 只见脑海飘过两三关键词 “爱､ 早安､ 想你” 语源 AI 立马接通, 瞬间写成, 排列在视网屏:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;早安亲爱的凯特！😊今天我早早起床，想着你就觉得充满了爱和温馨。虽然我们现在异地分居，但我的心永远与你相连。工作辛苦了吗？我知道你一定很努力，但也别忘了照顾好自己。每天都会想着你，期待着我们团聚的那一天。爱你！💕&lt;br&gt;
[ 发送 (3s) ] [ 重写 ] [ 取消 ]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;发送成功, 只过去数百毫秒, 就收到回信:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;早上好, 大卫！🌞 你的早安信息真让人感动！❤️ 我也好想你！💖 谢谢你的关心，我会注意休息，不要太担心我哦！😊 让我们一起为团聚努力吧！爱你！💕&lt;br&gt;
[ 归档 (3s) ] [ 回复 ] [ 收藏 ]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;soh-九序惟歌&#34;&gt;SOH. 九序惟歌&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;The corruption of man is followed by the corruption of language.&lt;br&gt;
via Nature by Ralph Waldo Emerson&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;ldquo;人的生活和工作源自语言, 而语言则源自 AI 供应商 —— 语源科技｡ 这座高高在上的神庙坐落在地球彼端, 通过双绞线, 海底光缆, 毫米波, 泵送着兆亿比特的语言和文字｡ 语言是人类社会的血液，语源科技既是骨髓, 也是心脏, 以一己之力, 担起人类社会沟通交流的重任。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;字体排印学, 则是文字的延伸, 是对语源科技的有效补充｡ 自AI义体新时代以来……&amp;rdquo; 排印协会理事长在演讲台滔滔不绝地陈词滥调, 陈羍在嘉宾席百无聊赖地神游天际｡ 不知为何, 一张脏兮兮, 模模糊糊的脸在他心里挥之不去｡&lt;/p&gt;
&lt;p&gt;那是进入会场前, 街边拦路的乞丐的脸｡ 他长得像前同事张三, 区别在头发凌乱, 胡须拉碴, 不像张三总是打扮整齐, 一丝不苟｡&lt;/p&gt;
&lt;p&gt;如果说城市是现代文明的象征, 那么自来水､ 电力､ 数据网络就是城市的象征｡ 如今, 在语源科技的帮助下, &amp;ldquo;语言&amp;quot;也变得像自来水一样, 量大便宜, 即取即用, 源源不绝｡ 尽管语源科技慈悲为怀, 普度众生, 街头却不乏被语源 AI 拒之门外, 有口难言, 有手难写的 &amp;ldquo;野人&amp;rdquo;｡ 这些 &amp;ldquo;野人&amp;rdquo; 有的是因为出言不逊又屡教不改, 比如被指控种族歧视性别歧视性格歧视兴趣歧视地域歧视; 还有的是因为 ……&lt;/p&gt;
&lt;p&gt;&amp;ldquo;我…可爱……钱…&amp;rdquo; 乞丐支支吾吾发出怪腔怪调, 打断了陈羍的思绪｡ 这人捧着可爱动漫风格的 QR 码显示屏, 笨拙得连一句完整的话也说不出来｡ 听来也像张三｡ 嗯, 长得像张三, 听来也像张三｡ 那大概也许的确是张三, 陈羍心想｡ 张三钻研了大半辈子游戏引擎技术, 不料新任的游戏引擎老板突然发癫, 拽着产业链一同跳下深渊｡&lt;/p&gt;
&lt;p&gt;离职后张三如何, 即使陈羍了解不多, 也能猜出一二｡ 无非失业欠债破产, 义体电池寿尽, 没钱更换电池, 丧失语言能力, 诸如此类的&amp;quot;标准流程&amp;rdquo;｡&lt;/p&gt;
&lt;p&gt;陈羍和张三是同代人, 一出生就插入语源义体, 与 AI 语言助手的交互融入本能｡ 因此无需像老邻居那样, 从小接受枯燥过时的旧式语文教育, 不得不背诵拼写, 记忆词汇, 掌握语法, 操练句式, 白白浪费大好青春｡&lt;/p&gt;
&lt;p&gt;人生也有涯，而知也无涯, 曾经有虚拟网红主播预言, 总有一天科研需要的前置知识量, 会超过教育学能传授的极限, 导致科学进步最终停滞｡ 语源 AI 解放语文/外语等学科的好处显而易见, 少年儿童得以将宝贵的学习时间, 用来学习更重要的科目, 譬如形式逻辑､ 离散数学､ 线性代数､ 统计学､ 图论等｡ 因此, 义务普及语源 AI､ 免费植入脑插义体这项伟大工程, 堪称人类文明进化的关键一步｡ 相比之下, 些许隐患实在微不足道｡&lt;/p&gt;
&lt;p&gt;&amp;ldquo;…… 相比之下, 些许隐患实在微不足道｡&amp;rdquo; 语源 AI 助手忠实地引用学校课本原话, 耐心向陈羍解释｡&lt;/p&gt;
&lt;p&gt;陈羍迟疑良久, 想对张三说两句, 看看 AI 刷出满屏的选项, 又感觉哪句都不适宜｡ 他只得默默拍拍张三肩膀, 又颤巍巍掏出几串铜板｡ 直到铜板缓缓滑入张三的 QR 码, 也不敢看张三的眼睛｡&lt;/p&gt;
&lt;p&gt;他说不清, 这是出于慈悲，还是出于恐惧。&lt;/p&gt;
&lt;p&gt;(未完待续)&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>AI 抢走我们工作? 听听 ChatGPT 怎么说</title>
      <link>/chatgpt-unemployment/</link>
      <pubDate>Mon, 05 Dec 2022 00:00:00 +0000</pubDate>
      
      <guid>/chatgpt-unemployment/</guid>
      <description>
        &lt;p&gt;以下正文部分为笔者提问, 引用文字由 ChatGPT 回答｡ 笔者手动标注了一些启发后续提问的关键词句｡&lt;/p&gt;
&lt;p&gt;AI 取代人类工作, 人类失业应该怎么办?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;AI 取代人类工作是一个复杂的问题，它有很多方面需要考虑。在某些情况下，AI 可能会导致人类失业，因为它们可以做更快、更准确地工作。但是，在其他情况下，AI 可能会为人类工作带来新的机会。例如，如果 AI 取代了一些重复性的工作，人类就可以转而做更有挑战性和创造性的工作。因此，人类失业的问题不能简单地被解决，需要制定一些政策来应对这一问题。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我的工作被 AI 取代了, 我应该怎么办?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果你的工作被 AI 取代了，你可能会感到不安和担心。这时，你可能会考虑转行或重新投身到一个新的领域中去。你可以寻求帮助，例如与专业人士进行咨询，或者加入一个职业转型的课程来帮助你找到新的工作机会。同时，你还可以通过提升自己的技能来增加自己的竞争力，从而获得更多的工作机会。总的来说，在这种情况下，你需要为自己制定一个计划，并坚持不懈地实施它，以便找到新的工作机会。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我因为 AI 失业了, 只能捡垃圾吃&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果你因为 AI 失业了，而只能捡垃圾吃，那么你可能感到沮丧和无助。这时，你可以寻求帮助，例如向当地的政府机构或社会服务组织寻求援助。这些组织可能会提供一些资金支持，或者帮助你找到新的工作机会。同时，你也可以通过提升自己的技能来增加自己的竞争力，从而获得更多的工作机会。总的来说，在这种情况下，你需要坚持不懈，努力改善自己的处境，并寻求帮助，以便重新获得工作。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;AI 导致哪些新的行业产生?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;AI 可能会导致一些新的行业产生。例如，随着 AI 的发展，&lt;strong&gt;人工智能安全、人工智能伦理和人工智能监管&lt;/strong&gt;等领域可能会出现新的需求和机会。此外，随着 AI 在医疗、教育、金融等领域的应用，相关的行业也可能会出现新的机会。总的来说，AI 可能会导致一些新的行业产生，并为人类创造新的工作机会。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;具体一点&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;很抱歉，我无法为您提供具体的例子，因为我是一个大型语言模型，我只能根据我所学到的知识来回答问题。我无法浏览网页或搜索最新信息。如果您想了解更多关于 AI 导致的新行业的信息，可以尝试搜索相关的资料。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果人工智能安全、人工智能伦理和人工智能监管能只能提供很少的岗位, 大部分普通人怎么维持生活?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果人工智能安全、人工智能伦理和人工智能监管等领域只能提供很少的工作岗位，那么大部分普通人可能会担心自己无法维持生活。在这种情况下，政府可能需要制定一些政策来帮助人们应对失业的问题。例如，政府可以提供&lt;strong&gt;职业培训，帮助人们提升技能&lt;/strong&gt;，从而获得新的工作机会。此外，政府还可以提供一定的经济支持，以帮助人们在失业期间度过难关。总的来说，政府需要制定一些有效的政策来应对人类失业的问题。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;职业培训只能有限地提升一些技能｡ 如果这些技能 AI 能做得更好, 随着科技发展, 所有的技能都可以由更优秀的 AI 来完成, 人类会面临整体性失业吗?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果随着科技的发展，越来越多的技能能够被 AI 更好地完成，那么人类是否会面临整体性失业是一个复杂的问题，有很多因素需要考虑。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;首先，职业培训并不是只能提升一些技能，它还可以帮助人们学习&lt;strong&gt;创造性思维、分析问题和解决问题的能力&lt;/strong&gt;。这些能力是人类与 AI 相比拥有的独特优势，因此，人类在职业培训的帮助下，可以学习更多这些能力，从而为自己创造更多的工作机会。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;其次，随着科技的发展，人类也可以创造新的行业和新的工作岗位。例如，随着 AI 在医疗、教育、金融等领域的应用，相关的行业可能会出现新的机会。此外，随着 AI 的发展，人工智能安全、人工智能伦理和人工智能监管等领域也可能会出现新的需求和机会。这些新的行业和工作岗位可能需要人类来完成，因此，人类可以通过自己的创造力和努力来获得更多的工作机会。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;总的来说，人类面临整体性失业的可能性是存在的，但并不是一&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;继续&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;总的来说，人类面临整体性失业的可能性是存在的，但并不是一定会发生。人类还可以通过职业培训来提升自己的技能，并创造新的工作机会。同时，政府也可以制定一些政策来应对人类失业的问题。因此，人类面临的挑战是可以克服的，我们需要努力应对这些挑战，以便为人类创造更多的工作机会。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果创造性思维、分析问题和解决问题的能力, 也能被 AI 掌握呢?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;目前，AI 还无法完全掌握人类的创造性思维、分析问题和解决问题的能力。虽然 AI 在一些特定的任务中可以表现出很强的能力，但它还没有达到人类的水平。例如，在一些人工智能国际比赛中，AI 程序可以击败人类顶级选手，但是在日常生活中，AI 依然无法像人类那样智慧和创造性地处理复杂问题。因此，尽管 AI 在一些方面取得了很大进步，但它还没有达到能够完全掌握人类创造性思维、分析问题和解决问题的能力的水平。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果在将来, 科技更加进步时, 如果创造性思维、分析问题和解决问题的能力, 也被 AI 掌握了呢?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Hmm&amp;hellip;something seems to have gone wrong. Maybe try me again in a little bit.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;〔Try again〕&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hmm&amp;hellip;something seems to have gone wrong. Maybe try me again in a little bit.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;〔Try again〕&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果在将来，科技发展到一定程度，AI 确实能够完全掌握人类的创造性思维、分析问题和解决问题的能力，那么人类可能面临更为严峻的挑战。&lt;strong&gt;在这种情况下，人类可能需要重新定义自己的价值&lt;/strong&gt;，并寻找新的方式来发挥自己的作用。例如，人类可能会更多地关注于培养情感、道德和人文素养，以便更好地与 AI 合作，并在人机协同的过程中发挥独特的作用。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;总&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;继续&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;总的来说，如果在将来，科技发展到一定程度，AI 能够完全掌握人类的创造性思维、分析问题和解决问题的能力，那么人类可能需要重新定义自己的价值，并寻找新的方式来发挥自己的作用。在这种情况下，人类需要努力学习更多人机协同的技能，并与 AI 合作，以便为人类创造更多的价值。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;到时候人类如何重新定义自己的价值, 是哲学家应该考虑的事｡ 然而对普通人而言, 普遍的失业问题应该怎么解决?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Your authentication token has expired. Please try signing in again.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Your session has expired&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Please log in again to continue using the app.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;接下来不得不重开一局, 我问得更加刨根问底, 而 ChatGPT 更加兜圈子, 总的来说, 信息密度更低｡&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;如果在将来, 科技更加进步, 创造性思维、分析问题和解决问题的能力, 也被 AI 掌握了｡ 对普通人而言, 更普遍的失业问题应该怎么解决?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果在未来，AI确实掌握了创造性思维、分析问题和解决问题的能力，那么可能会导致一些普通人的失业，因为这些工作可能会被AI完成。这个问题的解决方案可能是，&lt;strong&gt;政府可以提供&lt;/strong&gt;培训和教育，帮助人们掌握新技能，从而转型到新的行业，并在这些行业中找到工作。政府也可以采取措施来确保人们的基本生活水平，例如通过提供生活补贴和住房补贴的方式。总之，解决普遍的失业问题需要综合考虑，并采取多种措施来应对这个问题。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;但有很多地方并没有稳定的社会环境和可靠的政府, 例如有些地方处于战乱, 有些地方处于无政府状态, 有些地方的政府出于一些原因, 不愿意或无法提供相应的帮助&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;您说的对，在一些地方，由于战乱或无政府状态等原因，社会环境并不稳定，政府也无法或不愿意提供有效的帮助。在这种情况下，解决失业问题可能会更加困难。可能需要&lt;strong&gt;国际社会的帮助&lt;/strong&gt;，提供资金、人力和物资，帮助这些地方的人民重建家园，恢复和平，并为他们提供教育和培训，帮助他们转型到新的行业，从而找到工作。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果国际社会也陷入经济萧条, 自身难保, 无暇帮助这些地方的人, 或者因为战乱, 救援无法到达处于困难中的人民, 应该怎么办?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果国际社会陷入经济萧条，自身也难以维持，那么可能就没有足够的资源来帮助那些处于困难中的人民。同样，如果由于战乱等原因，救援无法到达这些地区，那么提供帮助也会变得更加困难。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;那么这些地方的人民应该如何解决失业和生活的问题?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果国际社会无法提供帮助，那么这些地方的人民可能只能靠自己来解决失业和生活问题。他们可能需要寻找新的渠道来获得收入，例如&lt;strong&gt;加入农业合作社或者开办小型工厂&lt;/strong&gt;等。同时，也要尽可能地节省开支，例如采用简单的生活方式，避免过度消费。在某些情况下，人们可能需要组建社会组织或社区组织，通过集体努力来帮助彼此度过难关。总之，在没有外部帮助的情况下，解决失业和生活问题需要这些地区的人民团结一心，共同努力。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;但是农业和工业的工作都被 AI 取代了, 加入农业合作社或者开办小型工厂, 使用人力生产, 竞争不过使用 AI 技术生产的公司&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;您说的对，如果农业和工业的工作都被AI取代了，那么加入农业合作社或开办小型工厂，使用人力生产，竞争不过使用AI技术生产的公司。在这种情况下，人们可能需要寻找新的工作机会，例如可以考虑转型到&lt;strong&gt;新兴的行业，例如服务业、信息技术行业&lt;/strong&gt;等。这些行业可能更依赖于人的智慧和创造力，而不是物理劳动力，因此人们在这些行业中可能更有竞争力。同时，人们也可以继续接受培训和教育，不断提升自己的技能，以便能够适应市场的变化，找到更好的工作机会。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果在将来, 因为技术进步, 服务业、信息技术行业等新兴的行业, 也被AI取代了, 而当地政府和国际社会也很难提供帮助, 那么失业问题应该如何解决?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果在未来，随着技术的进步，甚至服务业、信息技术行业等新兴行业都被AI取代了，当地政府和国际社会也很难提供帮助，那么失业问题就会变得更加严峻。在这种情况下，人们可能需要想出新的解决方案。例如，政府可以考虑采取更多措施来支持民间经济，帮助人们自己创业。政府也可以考虑实行基本收入制度，保障人们的基本生活水平。国际社会也可以考虑寻求更多的合作，共同应对全球化带来的挑战。总之，解决失业问题需要综合考虑，并采取多种措施来应对这个问题。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果是像前面说的，由于战乱或无政府状态等原因，社会环境并不稳定，国际社会也陷入经济萧条，这种情况下失业问题应该如何解决?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果由于战乱或无政府状态等原因，社会环境并不稳定，国际社会也陷入经济萧条，那么失业问题就会变得更加严峻。在这种情况下，可能需要国际社会的帮助，提供资金、人力和物资，帮助这些地方的人民重建家园，恢复和平，并为他们提供教育和培训，帮助他们转型到新的行业，从而找到工作。如果国际社会本身也陷入经济萧条，那么就只能依靠这些地方的人民自己来解决问题。他们可能需要组建社会组织或社区组织，通过集体努力来帮助彼此度过难关。总之，解决失业问题需要国际社会的帮助，同时也需要这些地方的人民团结一心，共同努力。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;以下是补充提问&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;我因为 AI 失去了工作, 人又老了, 学不动新技能, 应该怎么办?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;首先, 请确认这是否是真实情况。 AI 和自动化技术正在改变许多行业, 但它并不意味着人类将完全被淘汰。相反, 它常常会增加工作的复杂性和多样性, 因此人们需要&lt;strong&gt;学习新技能&lt;/strong&gt;来适应新的工作环境。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;但是老人很难学会新技能, 也很难适应新的工作环境&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;这是一种普遍的担忧, 但并非不可克服。随着年龄增长, 人们肯定会变得更难以学习新技能, 但这并不意味着不可能。相反, 人们可以通过不断努力, 利用自己的经验和知识, 并寻求帮助来学习新技能。&lt;/p&gt;
&lt;/blockquote&gt;

        
      </description>
    </item>
    
    <item>
      <title>笔记软件又成了风口? 且看 Obsidian 大佬的发家史</title>
      <link>/nick-milo/</link>
      <pubDate>Tue, 11 Jan 2022 00:00:00 +0000</pubDate>
      
      <guid>/nick-milo/</guid>
      <description>
        &lt;p&gt;记笔记､ 整理资料, 始终是知识工作者的核心需求｡ 笔记软件应运而生, 渐渐形成了&lt;a href=&#34;https://www.noteapps.info/&#34;&gt;繁荣而有活力的市场&lt;/a&gt;｡ 自 Roam Research 推行网状结构笔记以来, 新兴的网状结构笔记软件就层出不穷 (如 Obsidian, Logseq, RemNote), 以更先进的信息处理结构, 稳步蚕食着传统的树状结构笔记软件的份额 (如 Evernote, Notion, WorkFlowy)｡ 笔记软件市场, 正在过渡到&lt;a href=&#34;https://sspai.com/post/61886&#34;&gt;新的时代&lt;/a&gt;｡&lt;/p&gt;
&lt;p&gt;面对新时代, 知识工作者很高兴, 因为工具的升级, 有助于思维模式的升级､ 工作方式的进步, 最终产出更优的作品; 创业者也很高兴, 因为这意味着新的生态, 新的土壤, 新的机会｡&lt;/p&gt;
&lt;p&gt;家住洛杉矶的电视剧视频剪辑师 &lt;a href=&#34;https://twitter.com/NickMilo&#34;&gt;Nick Milo&lt;/a&gt; 乘着这股东风, 一跃成为&amp;quot;知识管理网红&amp;quot;中的佼佼者, 做出了一番不小的事业｡&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/8279655/148720529-b45fe8b5-f956-48ed-94a5-041798216ca0.png&#34; alt=&#34;Nick_Milo_no_text&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;0-滥觞阶段-创作者与社区影响力&#34;&gt;0. 滥觞阶段: 创作者与社区影响力&lt;/h3&gt;
&lt;p&gt;软件用户社区随着新软件出现而诞生｡ 网状结构的笔记软件林林总总, 各有千秋, 其中 &lt;a href=&#34;https://obsidian.md/&#34;&gt;Obsidian&lt;/a&gt; 以社区活跃著称｡ Obsidian 用户论坛刚成立不久, Nick Milo 就免费发布自创的 IMF 信息处理框架(后改名为 LYT) 和 Cybertron 主题样式, 收获大量核心用户好评, 积累到最初的名气｡ [2020年5月]&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/8279655/148721551-9f58b24a-9820-47d8-aa07-e1206da3489d.png&#34; alt=&#34;Obsidian_banner&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;1-积累阶段-youtuber-与视频流量&#34;&gt;1. 积累阶段: Youtuber 与视频流量&lt;/h3&gt;
&lt;p&gt;随着名气越来越旺, 本职为剪视频的 Nick 逐渐决定以此打造一番事业, 于是以 Linking Your Thinking 为品牌, 先后开通了 &lt;a href=&#34;https://www.youtube.com/channel/UC85D7ERwhke7wVqskV_DZUA&#34;&gt;YouTube 频道&lt;/a&gt; 和 &lt;a href=&#34;https://www.linkingyourthinking.com/&#34;&gt;网站&lt;/a&gt;｡ [2020年8月] IMF 框架也随后更名为 LYT 工具箱, 并获选作为 Obsidian 官网的首页宣传图｡&lt;/p&gt;
&lt;p&gt;在 YouTube 网站, Nick 发布几个系列教程, 涵盖了 Obsidian 基础操作､ 插件使用､ 新版功能等方面, 以及讲解他的核心作品 LYT 工具箱｡ 因为当时讲解 Obsidian 软件的 Youtuber 还不多, Nick 又在 Obsidian 用户社区人气不菲, 再加上得益于本职工作的经验, 视频制作得非常精良: 在这几方面因素影响下, LYT 频道和视频受到 YouTube 推荐算法的眷顾, 脱颖而出 —— 最火的一则视频迄今已逾 34 万次观看 [2022年1月9日数据]｡&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/8279655/148722184-95b7f240-02d5-4c36-9c09-a37607586084.jpg&#34; alt=&#34;Beginner_guide&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;2-创收阶段-教练与社群运营&#34;&gt;2. 创收阶段: 教练与社群运营&lt;/h3&gt;
&lt;p&gt;适逢瘟疫泛滥, 网课为王｡ 韭菜郁郁葱葱, 惹人垂涎｡ 眼见时机成熟, Nick 决定新增收费项目, 从自媒体进军知识付费, 推出网课 LYT Workshop. [2020年10月] 这门网课有视频､ 作业, 有直播答疑, 还组织学员社群, 鼓励学员间的交流｡ 学员锁定高端客户, 所以网课售价很高, 按附加服务分为三档, 低至一千多美元, 高达三千多美元｡&lt;/p&gt;
&lt;p&gt;卖课产生的收益, 账面再多, 也只是种瓜得瓜似的辛苦血汗｡ 更有价值的部分是运营 LYT 学员社群带来的隐性收益｡ 这相当于从 Obsidian 用户社区挖了一堆高手过来｡ 当有一堆高手信任你, 好事就自然产生了: 比如, Nick 邀请许多卓有成就的优秀学员, 以网络演讲的形式, 在 LYT 社群内分享他们独特经验, 例如, &lt;a href=&#34;https://www.youtube.com/watch?v=nO5N_x2so0g&#34;&gt;使用 Obsidian 写书出版的成功经历&lt;/a&gt;｡ 这些演讲经 Nick 剪辑, 发表到 LYT 的 YouTube 频道上, 既有利于频道增收及社群发展, 也有利于演讲者提高声望､ 普通 YouTube 观众学习经验｡&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/8279655/148720881-0a2e6f19-6f68-4e13-93dc-80c37c74b327.jpg&#34; alt=&#34;LYT_talk_example&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;3-扩张阶段-产品经理与业务拓展&#34;&gt;3. 扩张阶段: 产品经理与业务拓展&lt;/h3&gt;
&lt;p&gt;LYT 的 YouTube 频道, 转眼已开通一年有余｡ 从我关注时的几十个订阅, 涨到现在 3 万多订阅｡ Nick 在 YouTube &lt;a href=&#34;https://www.youtube.com/post/UgkxF7fXJsOjjEo_3l9gT7G-ZAaF6PIAaPHb&#34;&gt;频道帖子&lt;/a&gt;里对此唏嘘不已, 感慨万千｡ 为什么他要感慨呢? 因为要借机宣传刚推出的新课 Obsidian Flight School, 要吹嘘这门新课在互联网产品界龙头网站 Product Hunt 夺得当天第四名的好成绩｡ [2022年1月] 请注意, 在 Product Hunt 上, 工具类产品占绝对主流, 因此这种主流之外的知识类产品, 能上到第四名已经很强了｡&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/8279655/148722448-40e52de9-a0f5-44d1-9656-9c477c1a0a34.png&#34; alt=&#34;LYT_OFS_price&#34;&gt;&lt;/p&gt;
&lt;p&gt;那么新课 Obsidian Flight School 与之前的老课 LYT Workshop 有何不同? 最直观的是售价, 新课只卖一两百美元; 然后注意到, 内容上不像老课更注重&amp;quot;道&amp;quot;与&amp;quot;术&amp;quot;的层面, 即思维习惯､ 工作流程, OFS 这门新课只关注&amp;quot;器&amp;quot;的层面, 即怎么用好 Obsidian 软件及插件提供的各项功能, 从而补全了原 LYT 体系缺失的部分; 最后从商业角度分析, 新课砍掉了绝大部分需要人工持续投入的服务, 做成种豆得瓜, 一本万利的产品｡&lt;/p&gt;
&lt;p&gt;没有直播答疑､ 学员交流环节, 就不需要持续投入时间精力; 没有小班上课, 就不需要限制人数; 不用一期一期地带, 就不用设置购买期限; 售价放低, 就有更多客户愿意打钱｡ 尽管从内容上看, 两者都是网课, 但从商业上看, 根本是两种营业模式: 服务和产品｡ 对于知识类产品而言, 研发完成后, 只需不定期投入较少的精力来维护､ 更新, 就能源源不断的产生收益｡&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;我从 Obsidian 论坛时期就开始关注 Nick Milo, 从自媒体到知识付费, 从卖服务到卖产品, 眼看他的副业创业之路越走越宽, 非常敬佩｡ 我想 Nick Milo 的故事也许能启发一些有志青年, 因此写下了这则故事｡&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/8279655/148722919-0fc71d35-1b6b-4b09-92cb-966c51fa3462.png&#34; alt=&#34;LYT_NewYear&#34;&gt;&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>多则异 (More Is Different 翻译练习)</title>
      <link>/more-is-different/</link>
      <pubDate>Wed, 07 Oct 2020 00:00:00 +0000</pubDate>
      
      <guid>/more-is-different/</guid>
      <description>
        &lt;p&gt;作者: P. W. Anderson&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/8279655/95395166-cce9b000-08b2-11eb-819b-2c5d78a3a765.jpg&#34; alt=&#34;多则异.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;译者序&#34;&gt;译者序&lt;/h2&gt;
&lt;p&gt;菲利普沃伦安德森, 印第安纳人也, 一九三二年生｡&lt;br&gt;
家学渊源, 世代书香｡ 求学于哈佛, 任职于贝尔实验室, 剑桥, 普林斯顿｡ 一九六三年, 授美国文理科学院院士｡ 一九七二年, 著 《多则异》｡ 一九七七年, 获诺贝尔物理学奖, 年四十五｡&lt;br&gt;
二〇二〇年卒, 年九十六｡&lt;/p&gt;
&lt;p&gt;余览《多则异》, 其文辞雅素, 论理分明, 思虑高远, 气象恢弘, 以为佳作｡&lt;br&gt;
华夏文士, 不乏译者, 题或曰「多些儿就是不一样」「多则不同」「多即不同」「多者异也」｡&lt;br&gt;
余有感云「何不题『多则异』也」, 乃以「多则异」为题, 愿仿三字经译之｡&lt;/p&gt;
&lt;p&gt;Boni 大佬, 文言群之名士也｡ 曰&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;古之文辞多为单字，故三字足以达意。而今之世，名实多繁，乃固求以三字言之，岂非自缚手足&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;余以为然｡ 然则名繁之弊, 亦可借巧思避之｡ 巧思有二, 曰略述, 曰意译｡&lt;br&gt;
略述者, 或以「贝室」云「贝尔实验室」, 或以「三牛律」云「牛顿三定律」, 不一而足｡&lt;br&gt;
意译者, 或以「奇」「偶」云「不对称」「对称」, 或以「角锥」云「金字塔形」, 未取通译｡&lt;/p&gt;
&lt;p&gt;文体所限, 权宜计也, 忝谓巧思, 实为憾事｡&lt;/p&gt;
&lt;p&gt;译文擅分诸段, 自拟子题, 以为有助于辨脉络而明纲目耳, 非源流之辞, 仅供参考｡&lt;/p&gt;
&lt;p&gt;余不长于物理､ 文言, 疏漏实多, 敬求赐教｡&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;序&#34;&gt;序&lt;/h2&gt;
&lt;p&gt;宇宙内, 对称缺, 三千道, 次第列｡&lt;/p&gt;
&lt;h2 id=&#34;其一-万千归道论&#34;&gt;其一 万千归道论&lt;/h2&gt;
&lt;p&gt;还原论, 奉者众, 万物基, 道生一｡&lt;br&gt;
魏科夫, 贝室员, 辨道承, 分两仪｡&lt;br&gt;
内之道, 求至理, 三千心, 归太极｡ 外之道, 依本义, 衍万物, 释象形｡&lt;br&gt;
高能界, 核子心; 凝聚态, 等离体｡ 内生根, 外织网, 阴阳济, 大道立｡&lt;/p&gt;
&lt;p&gt;闻此论, 愚者急: 凝聚态, 属外道, 较器匠, 有何异?
安德森, 破荒谬, 驳建构, 阐真义｡&lt;br&gt;
三生万, 万归三, 此二者, 弗等同｡ 知基粒, 悉纳米, 何以破, 红尘迷?&lt;/p&gt;
&lt;p&gt;量累积, 质变起, 外推法, 焉能及? 规模现, 复杂生, 道相衍, 次第级｡&lt;br&gt;
衍道法, 如此例: 微粒动, 物易形, 血肉聚, 见心灵, 人心交, 社会兴｡&lt;br&gt;
洞天里, 乾坤齐, 芥子内, 藏须弥｡ 三千道, 八万理, 有先后, 无高低｡&lt;/p&gt;
&lt;h2 id=&#34;其二-粒聚偶缺论&#34;&gt;其二 粒聚偶缺论&lt;/h2&gt;
&lt;p&gt;还原论, 非构建, 对称破, 构建靡｡ 安德森, 谙多体, 欲述明, 质变意｡&lt;br&gt;
有二谬, 须辨明:
其一曰, 多则异, 异非殊, 大路同, 小分歧｡&lt;br&gt;
其二曰, 粒人言, 对称缺, 未可知, 仅类比｡&lt;/p&gt;
&lt;p&gt;氨分子, 四面体, 氢氮合, 角锥立｡&lt;br&gt;
化人曰, 三氢阳, 一氮阴, 电荷异, 偶极出｡&lt;br&gt;
核人曰, 定态系, 无偶极｡&lt;br&gt;
量人曰, 氮隧穿, 形翻转, 翻转疾, 电荷平｡&lt;br&gt;
综上曰, 定态系, 必对称｡ 观量子, 形易易, 奇生偶, 对称成｡&lt;/p&gt;
&lt;p&gt;小分子, 形易易, 大分子, 或有异｡&lt;br&gt;
化工糖, 左右兼, 生灵糖, 偏右旋｡ 多则异, 对称缺｡&lt;br&gt;
对称缺, 异象起｡ 净旋光, 净偶级, 或得兼, 或取一｡&lt;/p&gt;
&lt;p&gt;晶胞存, 电偶极, 感外电, 偶矩逆｡&lt;br&gt;
晶体欲, 能位低｡ 正逆形, 能等低, 奇常存, 偶缺席｡&lt;br&gt;
此所谓, 原子聚, 对称失｡&lt;/p&gt;
&lt;h2 id=&#34;其三-奇偶生克论&#34;&gt;其三 奇偶生克论&lt;/h2&gt;
&lt;p&gt;安德森, 格晶体, 思对称, 得三意｡&lt;/p&gt;
&lt;p&gt;对称性, 物甚喜, 四方察, 皆同形｡ 三牛律, 万物从, 对称性, 牛律循｡ 此其一｡&lt;/p&gt;
&lt;p&gt;体蕴粒, 偶蕴奇｡ 氨角锥, 或可避｡ 原子核, 去球形, 亦可作, 纺锤体｡ 此其二｡&lt;br&gt;
各层级, 皆有异, 群贤研, 皆至理｡ 深且奥, 缘何起?
原子核, 寡中质, 不可谓, 有定形｡ 唯粒数, 趋无极, 作多体, 堪比拟｡&lt;br&gt;
多寡体, 宏微系, 识光谱, 终须异｡ 携定理, 执算机, 穷心力, 解难题: 明多体, 释寡体｡ 题实难, 乃无极｡&lt;/p&gt;
&lt;p&gt;规模增, 奇象长, 偶象消｡ 此其三｡&lt;br&gt;
晶体益, 见分形; 大晶体, 失均一｡ 近基者, 对称齐; 体系巨, 对称稀｡&lt;/p&gt;
&lt;h2 id=&#34;其四-时空残偶论&#34;&gt;其四 时空残偶论&lt;/h2&gt;
&lt;p&gt;残偶象, 现超导, 三十载, 释本义｡&lt;br&gt;
宏宇内, 有残偶, 超导体, 非孤例｡ 反铁磁, 铁电体, 异态质, 与液晶｡&lt;/p&gt;
&lt;p&gt;数无极, 宏观系, 知相变, 锐且奇｡ 入微观, 察相变, 对称隐, 方程匿｡&lt;br&gt;
宏微异, 偶踪迷｡ 波动似, 刚晶拟｡ 时空变, 偶象缺, 凡体系, 确无疑｡&lt;br&gt;
诸分系, 居常位, 物具形, 混一体｡ 刚体成, 刚性生｡&lt;/p&gt;
&lt;p&gt;超导流, 无定形, 亦可谓, 有刚性｡&lt;br&gt;
风之民, 居岁星, 处天汉, 超流习｡ 偶得晶, 亦大惊, 引伴呼, 此甚异｡&lt;/p&gt;
&lt;p&gt;所述解, 非概全｡ 无定形, 与玻璃, 惑妙多, 藏数理｡&lt;br&gt;
格外物, 怠宏体, 明残偶, 识用理｡&lt;br&gt;
自此知, 多则多, 亦有异｡&lt;/p&gt;
&lt;p&gt;论理继, 逻辑演｡ 时空易, 对称灭, 新象生, 奇偶间: 设此状, 虚实焉?&lt;br&gt;
吾续思, 寻体系, 处恒常, 纳信息｡ 核酸体, 承基因, 生灵具, 命所系｡&lt;br&gt;
命脉冲, 有节奏, 映长消, 察灵肉｡ 自虫豸, 至宇宙, 万世系, 生皆有｡&lt;br&gt;
脉冲者, 有三用, 内制精, 外服气, 中引神｡
谓节奏, 乃灵机, 人言始, 算机基｡&lt;/p&gt;
&lt;h2 id=&#34;其五-诸天通衢论&#34;&gt;其五 诸天通衢论&lt;/h2&gt;
&lt;p&gt;残偶者, 列层级｡ 取良材, 筑良构, 承晶型, 接信息｡&lt;/p&gt;
&lt;p&gt;续慎思, 继熟虑｡ 辨物用, 划层级, 定类型｡&lt;br&gt;
访诸天, 登云梯, 对称损, 复杂益｡&lt;br&gt;
综合术, 众望归｡ 此术曰: 下层顶, 上层基, 下题解, 上理见｡&lt;/p&gt;
&lt;p&gt;综合术, 路多阻; 分析术, 敞坦途｡&lt;br&gt;
约瑟森, 遵残偶, 链超导, 得效应｡ 恒常中, 量子扰, 电子穿, 能带隙｡&lt;br&gt;
血肉学, 访道基, 探生化, 究生理｡&lt;/p&gt;
&lt;p&gt;愚者云: 吾勤修, 靠自己, 毋须寻, 他山迹｡ 智者云: 恰相反, 谬何极｡&lt;br&gt;
他山石, 可攻玉, 登他山, 晓我域｡&lt;/p&gt;
&lt;p&gt;粒人获, 正电子, 恃才云: 余下者, 皆化学｡&lt;br&gt;
彼怎知, 生人欲? 探脏腑, 解病理, 化学统, 诸症疾｡&lt;br&gt;
量电动, 核酸体, 及人伦, 多层级｡ 层间异, 须探明, 通天渠, 导地气｡&lt;/p&gt;
&lt;p&gt;马公云: 量变聚, 质变起｡&lt;br&gt;
在巴黎｡&lt;br&gt;
菲公云: 富者异, 不似己｡&lt;br&gt;
海公复: 诚为然, 财多矣｡&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;译者记&#34;&gt;译者记&lt;/h2&gt;
&lt;p&gt;昔圣贤刊文于科学, 引据仅七｡ 今学术糟粕, 动辄引据百十, 铺天盖地, 冇眼睇也｡&lt;/p&gt;
&lt;p&gt;若有不解, 可自索原文､ 他译｡&lt;/p&gt;
&lt;p&gt;原文:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://science.sciencemag.org/content/177/4047/393&#34;&gt;科学杂志&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://cse-robotics.engr.tamu.edu/dshell/cs689/papers/anderson72more_is_different.pdf&#34;&gt;德州农工镜像&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.tkm.kit.edu/downloads/TKM1_2011_more_is_different_PWA.pdf&#34;&gt;卡尔斯鲁厄理工镜像&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://sites.ualberta.ca/~fm3/courses/Camerino_Lectures/science177_393_1972_anderson.pdf&#34;&gt;阿尔伯塔大学镜像&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;他译:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://zhuanlan.zhihu.com/p/27029266&#34;&gt;知乎 - 【译文】More Is Different（Philip W. Anderson）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.sciencenet.cn/blog-1319915-1226101.html&#34;&gt;科学网 - [转载]安德森：多些儿就是不一样&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://swarma.org/?p=16537&#34;&gt;集智俱乐部 - 多者异也：破缺的对称性与科学层级结构的本质 | 经典回顾&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

        
      </description>
    </item>
    
    <item>
      <title>打标点</title>
      <link>/chinese-punctuation/</link>
      <pubDate>Wed, 26 Dec 2018 00:00:00 +0000</pubDate>
      
      <guid>/chinese-punctuation/</guid>
      <description>
        &lt;p&gt;前段时间一朋友问, 为什么你打中文字, 却用着半宽的英文标点｡&lt;/p&gt;
&lt;p&gt;通常我会把 &lt;a href=&#34;https://www.zhihu.com/question/19981206&#34;&gt;这个链接&lt;/a&gt; 扔给对方, 表示习惯来源于此｡&lt;/p&gt;
&lt;p&gt;这么说来, 我学着打西文标点, 是因为这些说法很有道理 …… 吗?&lt;br&gt;
摸摸良心, 只好承认真实原因: 厉向晨创办文悦字库 (旧称 TypeLand) 以来, 发表过不少我喜欢的好字体, 所以才想尝试模仿一下｡ 惭愧惭愧｡&lt;/p&gt;
&lt;p&gt;虽然始于盲目模仿, 但我逐渐地认同起了这一习惯, 甚至还觉得受益无穷｡ 种种妙处, 下文聊以记之, 权当补充厉师傅的回答｡&lt;/p&gt;
&lt;h2 id=&#34;方便了电脑程序&#34;&gt;方便了电脑程序&lt;/h2&gt;
&lt;p&gt;首先, 半角标点后边自带空格, 能稍稍改善分词 (Tokenization) 缺失的问题｡&lt;/p&gt;
&lt;p&gt;众所周知, 欧洲字母语言 (以英语为例) 用&lt;strong&gt;空格&lt;/strong&gt;划分词语, 又以标点符号区分段落的不同成分, 而且标点还自带空格｡ 因为英文是大量软件的默认文字, 所以电脑程序中许多与文字处理相关的功能, 都是基于 &amp;ldquo;空格分词&amp;rdquo; 这一点实现的｡ 换成中文, 段落中一般不含空格, 只有标点, 而且标点符号后面也不加空格, 于是那些依靠空格才能认出前后两坨是两个不同单词的软件一瞧, 全傻眼了｡&lt;/p&gt;
&lt;p&gt;简而言之, 很多软件只认英文标点, 不认得中文标点, 只将中文标点当作一般的中文字, 使得我们相较于英文用户缺失了一些便利｡&lt;/p&gt;
&lt;p&gt;比如靠键盘来导航定位, 移动光标在文本中的位置, 就得依靠电脑程序对空格､ 标点与分词的辨认｡ 请看下例:&lt;/p&gt;
&lt;p&gt;英文示例 (英国童谣)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;London Bridge is falling down, 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;中文标点 (古诗十九首)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;弃捐勿复道，努力加餐饭。
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;中文, 混用拉丁标点 (古诗十九首)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;弃捐勿复道, 努力加餐饭.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;读者可以动手试验, 把这三处文本, 复制到电脑上不同地方, 然后分别按 &lt;code&gt;Ctrl + ←/→&lt;/code&gt;, 看光标位置如何切换｡
我试过一轮, 结果如下:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;操作系统为 Windows 10 1803&lt;/em&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;文本样本\光标切换位置&lt;/th&gt;
&lt;th&gt;Telegram 桌面端输入框&lt;/th&gt;
&lt;th&gt;Sublime Text 3&lt;/th&gt;
&lt;th&gt;火狐浏览器&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/th&gt;
&lt;th&gt;酷容系浏览器&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/th&gt;
&lt;th&gt;记事本&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/th&gt;
&lt;th&gt;cmd&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;英文&lt;/td&gt;
&lt;td&gt;空格及标点处&lt;/td&gt;
&lt;td&gt;空格处/空格及标点处&lt;/td&gt;
&lt;td&gt;空格/标点处&lt;/td&gt;
&lt;td&gt;空格处&lt;/td&gt;
&lt;td&gt;空格处&lt;/td&gt;
&lt;td&gt;空格处&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;中文标点&lt;/td&gt;
&lt;td&gt;最前/最后&lt;/td&gt;
&lt;td&gt;最前/最后&lt;/td&gt;
&lt;td&gt;空格/标点处&lt;/td&gt;
&lt;td&gt;常用词前后+标点后&lt;/td&gt;
&lt;td&gt;逐字&lt;/td&gt;
&lt;td&gt;最前/最后&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;中文, 混用拉丁标点&lt;/td&gt;
&lt;td&gt;空格及标点处&lt;/td&gt;
&lt;td&gt;空格处/空格及标点处&lt;/td&gt;
&lt;td&gt;空格处&lt;/td&gt;
&lt;td&gt;常用词前后+标点后&lt;/td&gt;
&lt;td&gt;逐字&lt;/td&gt;
&lt;td&gt;空格处&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;由此可见, 在许多软件中, 光标导航在英文中比较方便, 但到中文就不行了, 而中文混用拉丁标点, 从而弥补出一些空格, 可以稍微改善这一问题, 尤其能提升 Telegram 用户中文打字时的幸福感｡ 其实还可以得出其他结论, 和本文主题关系不大就先不说了｡&lt;/p&gt;
&lt;p&gt;虽然上述过程以 &lt;code&gt;Ctrl+左右键&lt;/code&gt; 为例, 但其背后的逻辑, 还同时影响 &lt;code&gt;Ctrl + Del&lt;/code&gt; ､ &lt;code&gt;Ctrl + 退格键&lt;/code&gt; ､ 鼠标双击文字选择范围 这些功能｡
而它们对键鼠打字效率的影响都很大｡&lt;/p&gt;
&lt;p&gt;特别一提, Telegram 搜索垃圾, 都怪它没有对中文分词｡ 有一点比较奇怪, 即使目前新版搜索, 已经能区分中文标点了, 如果鼠标左键双击消息内容, 整段汉字还是黏在一起的一坨, 分辨不出中文标点｡&lt;/p&gt;
&lt;p&gt;说起来, 不光&amp;quot;文本编辑&amp;quot;这一处功能需要程序分辨出中文标点, 在一些软件中, 标点符号另有特殊意义｡&lt;/p&gt;
&lt;p&gt;一个是 git ｡
经&lt;a href=&#34;https://github.com/cxumol/try-git/commit/e8260fcf85d8fb08499e3c13387530c33afe3ebf&#34;&gt;检测&lt;/a&gt; , 当前版本的 &lt;code&gt;git diff&lt;/code&gt; 能正确分辨出中文标点, 从而缩小 &lt;code&gt;diff&lt;/code&gt; 中文的粒度 (精细程度), 值得表扬｡&lt;/p&gt;
&lt;p&gt;另一个是 Markdown 渲染器｡
起码我见过的渲染器中, 貌似没有一个能够处理 &lt;code&gt;[超链接]（http://example.com）&lt;/code&gt; 或者 &lt;code&gt;！[图像]（http://example.com/pic.jpg）&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;对于渲染器作者来说，他们没必要理会中文的 &lt;code&gt;（）！&lt;/code&gt; 符号; 但对于惯用中文标点打字的人而言, 每次在 .md 文稿里贴几张图/加超链接, 都只得来回切换输入法的中英文状态, 切换好几次, 烦不胜烦｡ 而始终用英文标点的人, 就不存在这种烦恼｡&lt;/p&gt;
&lt;p&gt;所以说, 有的软件能分辨出中文标点也算一种标点, 固然好, 但总不能指望所有软件都有心兼顾中文输入法打出的默认标点符号｡&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;说到 Markdown, 还有一个特别的例子, Markdown 手动换行｡&lt;/p&gt;
&lt;p&gt;如果有人按 Markdown 的格式打字, 可能觉得 &amp;ldquo;空两格回车才真换了行&amp;rdquo; 别扭｡&lt;br&gt;
假如手动换行只需多空一格, 感觉更符合个人直觉｡&lt;br&gt;
为什么规定多空两格呢?&lt;/p&gt;
&lt;p&gt;个人推测, 因为手动换行, 通常发生在句尾, 而且发明 Markdown 的美国人 John Gruber, 平时用英文写作, 英文句尾符号, 都会紧跟一个空格, 敲这个空格已经成了肌肉记忆｡ 所以无论换不换行, 人家的第一个空格本来就有, 手动换行相当于只多敲一个空格, 而非两个｡&lt;/p&gt;
&lt;p&gt;回到中文语境, 标点占一个汉字, 也就是两个字符的宽度, 而中国内地所用句号偏左下角, 右侧留白, 相当于隐含着一个空格｡
如果我们需要用到 Markdown 的手动换行, 于行尾 &lt;code&gt;。&lt;/code&gt; 句号之后再多打两个空格, 就好像空了三格｡&lt;/p&gt;
&lt;p&gt;这一减一增之间, 难怪中文打字会觉得 Markdown &amp;ldquo;空两格回车才换行&amp;rdquo; 这个规矩别扭了｡ 而使用拉丁标点, 半角字符, 会迫使你始终在逗号句号之后多打一个空格, 于是免除了 Markdown 手动换行的不谐之处｡&lt;/p&gt;
&lt;h2 id=&#34;排版更灵活&#34;&gt;排版更灵活&lt;/h2&gt;
&lt;h3 id=&#34;留白更灵活&#34;&gt;留白更灵活&lt;/h3&gt;
&lt;p&gt;善用半角字符, 使得留白控制得更精细｡ 标点符号前后的空白只靠空格补齐, 打字者便可更自由地决定标点符号间的距离｡
所以据&lt;a href=&#34;https://www.zhihu.com/question/19981206&#34;&gt;厉老板所述&lt;/a&gt; , &lt;code&gt;噫! 好了!! 我中了!!!&lt;/code&gt; 应当比 &lt;code&gt;噫！好了！！我中了！！！&lt;/code&gt; 看起来更整洁｡ 又比如, 你可以写成 &lt;code&gt;&amp;quot;人若过了二十岁中状元，便索然了｡&amp;quot;&lt;/code&gt;, 而非 &lt;code&gt;“人若过了二十岁中状元，便索然了。”&lt;/code&gt;｡&lt;br&gt;
上例用到的引号与句号, 会在下文详细说明｡&lt;/p&gt;
&lt;h3 id=&#34;引号更灵活&#34;&gt;引号更灵活&lt;/h3&gt;
&lt;p&gt;中国大陆沿用美式键盘布局, 诺大的 QWERTY 全尺寸键盘上, 圆､ 方､ 花､ 尖括号, 谁不成双成对? 偏偏四种引号全都挤在一个键位上｡ 因此, 中文输入法不得不单独为了引号, 打个额外的补丁｡ 这便是奇数次时上&lt;code&gt;“&lt;/code&gt;左引号, 偶数次时上&lt;code&gt;”&lt;/code&gt;右引号｡&lt;/p&gt;
&lt;p&gt;此举无疑给中文打字人员带来了不便｡ 比如, 初学打字者, 习惯眼盯键盘, 但若每每按到引号, 又必须提心吊胆地抬头看, 唯恐引号错位, 引起无穷后患｡&lt;/p&gt;
&lt;p&gt;万一多按了中文引号, 比如 &lt;code&gt;“哈哈哈”“&lt;/code&gt;,通常应当再补一个&lt;code&gt;”&lt;/code&gt;, 然后才能回删两格｡ 可是好习惯不见得人人都有, 有时贪图省事, 直接删掉那个多的｡ 这就使得, 用过一段时间的电脑, 引号就像薛定谔箱子里的猫, 处于左引号和右引号的量子叠加态｡&lt;/p&gt;
&lt;p&gt;总之, 中文引号的奇偶性, 让人心神不宁｡ 如果换成西文的半角引号&lt;code&gt;&amp;quot;&lt;/code&gt;, 不分左右, 即使多打一个, 也可以直接删掉, 让人用得放心､ 舒心､ 开心｡&lt;/p&gt;
&lt;h2 id=&#34;亦可兼顾审美习惯&#34;&gt;亦可兼顾审美习惯&lt;/h2&gt;
&lt;p&gt;不记得谁说过, 因中西两种系统默认字体的风格相去甚远, 使得中文带上英文标点, 显示出来的效果就会不堪入目｡&lt;br&gt;
诚然, 某些系统上确实有此问题, 然而这锅标点符号可不背｡ &amp;ldquo;常在河边走&amp;rdquo;, 中文写作时也难免遇上专业名词､ 洋人本名等不得不中西混排的情况｡ 所以, 与其竭力避免混排, 不如换用风格相近的中西两套系统字体, 或直接换成中西兼备的字体｡&lt;/p&gt;
&lt;p&gt;朋友在此补充道:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;用等寬字型的時候比較適合半形標點&lt;br&gt;
普通的 Sans-Serif 字型配半形標點不是很好看。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;另外, 那朋友还劝说道, 句号本来就该是一个圈, 不然不好看｡ 我心下认同, 表面上强辩两句, 一时也不知如何解决｡&lt;br&gt;
直到几天之后, 目光由西向东, 注意到了日文标点｡ 万幸, 日本規格協会提出的 &lt;code&gt;JIS X 0201&lt;/code&gt; 有个 &lt;code&gt;｡&lt;/code&gt;, 既是中式句号, 又是半角符号｡ 而且还意外发现了迫真顿号 &lt;code&gt;､&lt;/code&gt; (読点), 也只占半个汉字宽度, 亦可一并&lt;a href=&#34;https://zh.wikisource.org/zh/%E6%8B%BF%E6%9D%A5%E4%B8%BB%E4%B9%89&#34;&gt;拿来&lt;/a&gt;｡&lt;/p&gt;
&lt;p&gt;终于, 通过换用 &lt;code&gt;｡&lt;/code&gt; 和 &lt;code&gt;､&lt;/code&gt; 而不用 &lt;code&gt;.&lt;/code&gt; 表示句尾, 既坚持了半宽标点, 又兼顾了大部分中文读者的审美习惯, 两全其美, 真棒啊｡&lt;/p&gt;
&lt;h2 id=&#34;现用打字标点方案&#34;&gt;现用打字标点方案&lt;/h2&gt;
&lt;p&gt;我用 Windows 10 系统, 自带的微软拼音前一阵还不能自订双拼方案｡ 所以今天我还在用&lt;strong&gt;手心输入法&lt;/strong&gt;, 这个输入法已经用惯了｡&lt;/p&gt;
&lt;p&gt;刚入门半角标点, 只是在 &amp;ldquo;设置属性&amp;rdquo; 面板勾选了 &amp;ldquo;初始状态 &amp;gt; 中文状态下使用英文标点&amp;rdquo;｡ 用过一段时间发现, 这样不是很顺手, 比如打省略号 &lt;code&gt;……&lt;/code&gt;, 书名号 &lt;code&gt;《》&lt;/code&gt; 等挺麻烦, 也用不了 JIS 的 &lt;code&gt;｡&lt;/code&gt;｡&lt;/p&gt;
&lt;p&gt;后来经过仔细摸索, 发现了完美搞定的办法: &amp;ldquo;设置属性&amp;rdquo; 面板找到 &amp;ldquo;按键&amp;rdquo; 选项卡, 选择下方 &amp;ldquo;自定义标点设置&amp;rdquo;｡&lt;/p&gt;
&lt;p&gt;于是就可以把 手心输入法-中文状态 下的标点符号 (常用为&amp;quot;中文半角&amp;quot;一栏) 改成你想要的符号｡ 令人惊喜的是, 竟然可以设定一个按键等于多个字符, 比如, 我的句号改成了 &amp;ldquo;｡ &amp;ldquo;, 逗号改成了 &amp;ldquo;, &amp;ldquo;｡ 通过这种设定, 每次打标点, 能少打一个空格, 提高效率, 妙啊｡&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/8279655/50445681-2727a580-08c5-11e9-81d2-230cf084a3bc.png&#34; alt=&#34;手心输入法——自定义标点设置&#34;&gt;&lt;/p&gt;
&lt;p&gt;如果有人因为一些原因反感 &amp;ldquo;手心输入法&amp;rdquo;, 想必善用 &lt;a href=&#34;https://zh.wikipedia.org/zh-cn/AutoHotkey&#34;&gt;AHK&lt;/a&gt; 也能够满足你的需要｡ 假如手心输入法乐意施舍小弟一点点赞助, 前一句话可以删掉｡&lt;/p&gt;
&lt;h1 id=&#34;总结和补充说明&#34;&gt;总结和补充说明&lt;/h1&gt;
&lt;p&gt;中文标点符号, 美则美矣, 若用于打字, 只有全角, 仍诸多不便｡ 既然中文的全角标点不方便, 便问西洋借来半角标点 &lt;code&gt;,:;?!&amp;quot;&lt;/code&gt;, 再向东洋借些半角标点 &lt;code&gt;､｡&lt;/code&gt;, 这样一来, 打字更顺｡&lt;/p&gt;
&lt;p&gt;像这样子打标点, 其实没有遵守规范, 个人认为在非正式的场合下, 从审美偏好和个人方便的角度, 适当作些权衡取舍, 也应合情合理, 不伤大雅, 无可厚非｡&lt;/p&gt;
&lt;p&gt;因此, 并不鼓励撰稿出版的时候参考本文; 所谓&amp;quot;排版&amp;rdquo;，本文中也仅指普普通通的纯文本 (txt/md) , 不涉及字处理软件 (如 MS Word) 及排版软件 (如 InDesign) 等制作的更复杂的格式｡ 倘若出版/排印行业的老师傅看到本文, 还请勿怪, 先向您道个歉｡ 如不吝赐教, 指出疏漏, 那就更好了｡&lt;/p&gt;
&lt;p&gt;看了眼时间, 2018 年, 还应该补充一句: 上述讨论仅适用于 PC 机或手提电脑以及相应美式键盘布局, 其他种类电子设备 (如用触摸屏输入的设备) / 键盘布局, 不在讨论范围内｡&lt;/p&gt;
&lt;section class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;65.0b6, 地址栏&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;Chromium 70.0.3538.110, 地址栏&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;Notepad.exe&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;

        
      </description>
    </item>
    
    <item>
      <title>妙镜改版始末</title>
      <link>/hexo-to-hugo/</link>
      <pubDate>Mon, 02 Oct 2017 15:29:05 -0400</pubDate>
      
      <guid>/hexo-to-hugo/</guid>
      <description>
        &lt;p&gt;博客改版过程中，遇到的一些技术上的细节问题，在此记录。&lt;br&gt;
就像黑夜中的摸索者，手握萤石在岩壁刻上一串记号。&lt;/p&gt;
&lt;h2 id=&#34;缘起--垃圾-node-毁我青春&#34;&gt;缘起 | 垃圾 node, 毁我青春&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://img.devrant.io/devrant/rant/r_774390_HAHBW.jpg&#34; alt=&#34;版权归原作&#34;&gt;&lt;/p&gt;
&lt;p&gt;本来 Hexo 用的好好的，怎么就换掉了呢？&lt;/p&gt;
&lt;p&gt;还不是因为上次搞
&lt;a href=&#34;http://doc.note.cxumol.com&#34;&gt;自建笔记&lt;/a&gt;
云编译时，被疯狂刷 log 的 &lt;code&gt;npm install&lt;/code&gt; 吓到。&lt;br&gt;
这才意识到，不光 Hexo, 只要 nodejs 搞的东西，都要装一大砣依赖，以量取胜，令人乍舌。&lt;/p&gt;
&lt;p&gt;迁移到哪种博客编译器, 有过纠结。
初步考察后确定，要么 &lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo&lt;/a&gt; ，要么 Jekyll.&lt;br&gt;
Jekyll 虽然菜, 相中它还是看在 GitHub 本身配套了云编译。
&lt;a href=&#34;https://www.weihaisheng.com/blog/AnswerFriendsQuestion.html&#34;&gt;韦海生的想法（Q2）&lt;/a&gt; 给我启发不小。
按他说的方法，随便找个 fork 就能上手，也不用伺候 “高贵” 的 Ruby 环境。
省心。&lt;/p&gt;
&lt;p&gt;几经权衡，
考虑到 GitHub 上原生 Jekyll 版本较低，而且绑死 GitHub 的战车上，万一跑路也不方便，所以最终选择了 Hugo，雨果。
Hugo 的好处显而易见：快，无依赖一身轻，跨平台 —— 可以说是非常酷了。&lt;/p&gt;
&lt;h2 id=&#34;迁移--好事多磨&#34;&gt;迁移 | 好事多磨&lt;/h2&gt;
&lt;p&gt;换博客程序，改变的不止构建工具本身，更是围绕构建工具的完整生态。
从草稿格式，到上传发布流程，都有所不同。&lt;/p&gt;
&lt;p&gt;这一版 (妙镜201709) 从版面设计，到站点构造，主要照搬自&lt;a href=&#34;https://yihui.name/cn/about/&#34;&gt;统计学家谢益辉的博客&lt;/a&gt;&lt;br&gt;
照搬并不可耻 —— 模仿是新手入门的捷径，懒汉省事的妙招。
多谢谢博士心宽面善，敞开大门，任君采撷。&lt;/p&gt;
&lt;h3 id=&#34;1题头&#34;&gt;1.题头&lt;/h3&gt;
&lt;p&gt;每篇文章的原稿件，开头几行一定有 meta (亦称 Front-matter) 。&lt;br&gt;
文章的标题、发表日期、归类、简述、网址等，都用 meta 来标识，不可或缺。&lt;/p&gt;
&lt;p&gt;两个程序都要求写 meta，但格式规定不同：Hexo 通常用 &lt;code&gt;yaml&lt;/code&gt;，而 Hugo 虽也兼容 &lt;code&gt;yaml&lt;/code&gt;, 但偏爱 &lt;code&gt;toml&lt;/code&gt;；
日期格式上，两者水火不容。死板的程序，在这点上含糊不了，必须解决。&lt;/p&gt;
&lt;p&gt;那么按照
&lt;a href=&#34;http://www.yangzhiping.com/psy/YangQ&amp;amp;A-Implementation-intention.html&#34;&gt;“解决一批问题”&lt;/a&gt;
的思路，搜了个 &lt;a href=&#34;https://github.com/wd/hexo2hugo/&#34;&gt;https://github.com/wd/hexo2hugo/&lt;/a&gt; 转换小工具。&lt;/p&gt;
&lt;p&gt;嗨这轮子总归不赖，尽管踩了两洼小坑。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;路径应该写成 &lt;code&gt;.md&lt;/code&gt; 文件所在目录，而不是像作者给的范例，定在博客根目录&lt;/li&gt;
&lt;li&gt;以前偶尔偷懒，手写日期。没写全 Hexo 也能过，但这个脚本不认。
比如只有日月年，没有时分秒。
办法也简单粗暴，挨个点开文件，补上 &lt;code&gt;00:00:00&lt;/code&gt; 就好了。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;2样式&#34;&gt;2.样式&lt;/h3&gt;
&lt;p&gt;安装主题请注意, 老老实实地上 git-submodule (不然 Netlify 不兹磁)
, 别乱动里面任何东西。&lt;br&gt;
如果想自己修改样式，也没必要改动主题里的文件。
因为主目录下新建的样式文件，会直接顶替主题目录下对应的同名文件 hhhhh。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;git-submodule 虽然是个恶客，但如果不惹他，只须 &lt;code&gt;git submodule init&lt;/code&gt; 和 &lt;code&gt;git submodule update&lt;/code&gt; 二连就能打发。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;然后愉快的改样式咯。&lt;/p&gt;
&lt;p&gt;和以前两眼一抹黑相比，这回解读 Hugo 的目录结构，条理清楚得多。&lt;br&gt;
看到基本上能猜到，每个文件夹是干什么的。
今次得心应手，可能也得益于
&lt;a href=&#34;http://doc.note.cxumol.com&#34;&gt;自建在线笔记的探索过程&lt;/a&gt;  ，
以及摘抄&lt;a href=&#34;https://github.com/rbind/yihui&#34;&gt;谢益辉博客源码&lt;/a&gt;
。&lt;/p&gt;
&lt;p&gt;管理网站样式的文件，大可分三种：&lt;br&gt;
./static/css 管大方向排版，改改字体，颜色，间距什么的；&lt;br&gt;
./layouts 管细节，讲究什么东西摆在哪里；&lt;br&gt;
./archetypes 管用新文章的 Front-matter 默认模板，用处不大。&lt;/p&gt;
&lt;p&gt;css 就换了个颜色 (三四级标题对应棕色，绿色)，&lt;br&gt;
而 Layouts 零零碎碎地，改动了不少。
试着列个表
(虽然过去几周了应该记不全)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;每页下面固定&lt;a href=&#34;/donate/&#34;&gt;讨饭&lt;/a&gt;链接&lt;/li&gt;
&lt;li&gt;把站名边上的 tagline 从 description 换成 subtitle&lt;/li&gt;
&lt;li&gt;首页目录，增加每篇文章 description 的区域(配合 css 调整显示效果)&lt;/li&gt;
&lt;li&gt;评论区添加针对某国特殊网络状况的提示&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;至于
泛用型网站插件，
&lt;a href=&#34;https://github.com/yihui/hugo-ivy&#34;&gt;主题&lt;/a&gt;
里已经集成好 Google Analytics 和 Disqus ，就不用操心了。&lt;/p&gt;
&lt;h3 id=&#34;3-站内搜索&#34;&gt;3. 站内搜索&lt;/h3&gt;
&lt;p&gt;搜索这个大坑，在
&lt;a href=&#34;http://doc.note.cxumol.com&#34;&gt;自建笔记&lt;/a&gt;
时已经了解过。&lt;/p&gt;
&lt;p&gt;简而言之，
如果自建站内搜索，并把条件限定为 静态页面 + 中文， 那么现有的解决方案寥寥无几；&lt;/p&gt;
&lt;p&gt;况且 hugo 并不能像 hexo 那样靠 nodejs 便于无限堆插件
(抱歉)&lt;/p&gt;
&lt;p&gt;把自建笔记里的搜索轮子移植过来
不难，
然而全文索引会膨胀，
也估计在 &lt;a href=&#34;https://app.netlify.com/&#34;&gt;Netlify 的部署环境&lt;/a&gt; 上水土不服，
懒得搞了。&lt;/p&gt;
&lt;p&gt;不情愿归不情愿，
这里搞搜索还是要靠大厂。
一下子想起的好榜样，不正是V站 Google 搜索么。&lt;br&gt;
咳，
照搬v站搜索框，参考了&lt;a href=&#34;https://www.v2ex.com/t/117996#r_1155002&#34;&gt;这则帖子&lt;/a&gt;。
勉强考虑一下大清国情，搜索引擎从不可描述的 G 站换成了微软必应。&lt;/p&gt;
&lt;p&gt;改成喜欢的样式，还是花了不少功夫。
搞完后看起来舒服多了，哈哈。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;我主要的我就是三件事情，很惭愧，就做了一点微小的工作，谢谢大家。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;在云端--chromebook-存活确认&#34;&gt;在云端 | chromebook 存活确认&lt;/h2&gt;
&lt;p&gt;带到学校的笔记本电脑，左转轴终于在这学期彻底崩了，只能摆在宿舍里当台式机。
这件事促使我下定决心，买了台
&lt;a href=&#34;https://www.amazon.com/Chromebook-10-1-Inch-Convertible-Touchscreen-Rockchip/dp/B00ZS4HK0Q/&#34;&gt;chromebook&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;顺带一提，买 chromebook 注意三点：
（仅针对低端机型）&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;适用性。
有些型号不能装 Android 软件，那就亏大了。&lt;a href=&#34;https://www.chromium.org/chromium-os/chrome-os-systems-supporting-android-apps&#34;&gt;先看好型号&lt;/a&gt;&lt;br&gt;
另外注意CPU架构。 Android 软件在 ARM (瑞星微) 上更多，如果装 Linux, 软件在 x86 (英特尔) 上更多。&lt;/li&gt;
&lt;li&gt;选择英特尔，意味着你要放弃一部分续航，或许还有一部分性能。&lt;/li&gt;
&lt;li&gt;双拼用户慎重考虑！你只能在 Chrome 网页上在线用双拼，其他地方它不给一点空子钻！&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这“假电脑”真好用，以至于
现在上学必备 chromebook: 放书包里，重量相当于一本大点的教材，记笔记全靠它。&lt;/p&gt;
&lt;p&gt;于是，
&lt;img src=&#34;http://wx1.sinaimg.cn/thumb150/006jvkv0gy1feldqwgbh2j30ob0pr0tz.jpg&#34; alt=&#34;我有一个很大胆的想法&#34;&gt;&lt;/p&gt;
&lt;p&gt;搞定用 chromebook 发博客的完整流程。即，
从头至尾使用 chromebook 发表一篇博客&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://wanzao2.b0.upaiyun.com/system/memes/icons/108521/original/%E6%8E%A5%E5%8F%97%E6%8C%91%E6%88%98%EF%BC%81.png&#34; alt=&#34;Challenge Accepted&#34;&gt;&lt;/p&gt;
&lt;p&gt;浏览器上用 git 托管站(比如 github)自带的在线编辑，也不是不行，但那样的话你只能手动保存，
不符合&amp;quot;在线编辑&amp;quot;的直觉。
而且每存一次，就多一次 commit ; commit 历史记录太长会嫌烦的。&lt;/p&gt;
&lt;p&gt;Chrome OS 的原生文本编辑器，却少得可怜：&lt;br&gt;
最完善的要数
&lt;a href=&#34;https://chrome.google.com/webstore/detail/caret/fljalecfjciodhpcledpamjachpmelml&#34;&gt;caret&lt;/a&gt;,
最美观的应该是
&lt;a href=&#34;https://chrome.google.com/webstore/detail/quantum/hmnlklahndgbhdoclhdnoafhafbhmnkm&#34;&gt;quantum&lt;/a&gt;&lt;br&gt;
可惜，无论哪个都不能在“替换”文本段里写换行符。
没这个功能还真不习惯。
如果有人找到 chromebook 上有换行符的替换方法，请与我联系~&lt;/p&gt;
&lt;p&gt;另一个思路， 就是借助 Chrome OS 原生兼容的 Android 端。&lt;br&gt;
在 Chromeboook 中，
Android 的 &lt;code&gt;~/download&lt;/code&gt; 和 Chrome OS 的 &lt;code&gt;~/Downloads&lt;/code&gt; 目录互通，这样倒是可以把 Android 上的编辑器用起来。
git 客户端嘛，也可以用 Android 的。&lt;/p&gt;
&lt;p&gt;但编辑本地文件弱点，相当致命，让我不得不否定这条路线：&lt;br&gt;
Chrome OS 的拼音输入法，没有双拼！用惯双拼后，再换回全拼简直太傻了。&lt;br&gt;
甚至我再度动了为此学注音/仓颉的念头。
（额，以前学过这些，半途而废没学会，惭愧惭愧）&lt;/p&gt;
&lt;p&gt;好在只要思路开阔，天无绝人之路。
用 Chromebook 这种&lt;strong&gt;上网本&lt;/strong&gt;的同学，一定要心怀&lt;strong&gt;两个信念&lt;/strong&gt; &lt;!-- raw HTML omitted --&gt;来骗自己&lt;!-- raw HTML omitted --&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;js 是万能的&lt;/li&gt;
&lt;li&gt;云计算搞定一切。 劳资只要能上网，啥事干不了？&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;随便搜索找个云IDE，比如撰写本文所用的 &lt;a href=&#34;https://codeanywhere.com/&#34;&gt;CodeAnywhere&lt;/a&gt;, 或者&lt;a href=&#34;https://c9.io&#34;&gt;cloud9&lt;/a&gt; (这个注册要填信用卡)。
一般 “云IDE” 都带 git，其中有些和 git 托管站集成度好的，写完直接提交上传，也不用调什么设置，还是挺方便。&lt;/p&gt;
&lt;p&gt;总结目前 Chromebook 上，发博客从书写到发布的完整流程是：&lt;/p&gt;
&lt;p&gt;在远程 terminal 更新 git 仓库后，
使用 hugo 新建文章, 命令为 &lt;code&gt;hugo new post/new-post-name.md&lt;/code&gt; &amp;ndash;&amp;gt;&lt;br&gt;
Workflowy 摆好思路点和素材链接，放左屏;
右屏开 云IDE 打字，就像这样&lt;br&gt;
&lt;img src=&#34;https://ooo.0o0.ooo/2017/10/07/59d89030d23bf.png&#34; alt=&#34;&#34;&gt;
&amp;ndash;&amp;gt;&lt;br&gt;
开自动保存，
感觉写完了，就通过远程 terminal 提交，推送到 BitBucket 仓库 &amp;ndash;&amp;gt;&lt;br&gt;
仓库收到新推送，提交给 &lt;a href=&#34;https://www.netlify.com/&#34;&gt;Netlify&lt;/a&gt; &amp;ndash;&amp;gt;&lt;br&gt;
Netlify 把文本文件编译成网页，发布到互联网 &amp;ndash;&amp;gt;&lt;br&gt;
于是屏幕前的你，看到了 &lt;strong&gt;精美&lt;/strong&gt; 的本文&lt;/p&gt;
&lt;p&gt;可以，这很流畅。&lt;/p&gt;
&lt;p&gt;讲真 chrome 浏览器 上的编辑体验，只能算凑合。 怎么可能像真电脑上用 SublimeText 打字舒服。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://ooo.0o0.ooo/2017/10/07/59d892bf5d626.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;新出来的 SublimeText 配上美观的主题、字体，真是赏心悦目。
诶，可惜 chromebook 用不了 :(&lt;/p&gt;
&lt;h2 id=&#34;希冀--一点设想&#34;&gt;希冀 | 一点设想&lt;/h2&gt;
&lt;p&gt;既然博主胸无点墨，文章也乏善可陈，
那么给博客改个版，换个后台，就并没有多少值得敲锣打鼓之处。
如你所见，改版后的那个“妙镜”，还像从前一样，虚有其表。&lt;/p&gt;
&lt;p&gt;这回改版，给博客换上了新名字。
“妙镜” ，既落实了旧名“荀木狼之镜”，又隐隐透露出&lt;a href=&#34;https://workflowy.com/s/EXsB.pBEjMCYNDl&#34;&gt;一个惊天动地的大计划&lt;/a&gt;。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;把不同话题的内容，发布到不同博客平台上，组成集群。比如，
&amp;ldquo;器集论&amp;rdquo; 专门介绍电脑上的使用心得、&amp;ldquo;鲁工技&amp;rdquo; 用于积累专业知识、&amp;ldquo;咒文行&amp;rdquo; 记录学外语的技巧，等等&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;是不是光看名字，就觉得很高级？
作为索索明阿姨《阴阳学堂》的骨灰级粉丝，取名当然要从
&lt;a href=&#34;https://workflowy.com/s/EXsB.WP77L9kAYk&#34;&gt;这里面选&lt;/a&gt;
啦&lt;/p&gt;
&lt;p&gt;话说天下大势，分久必合，合久必分。 &lt;br&gt;
集团化后的下一步，便是统合集群中各个“分部”的内容，又重新收集到同一平台上，像 &lt;a href=&#34;https://planet.nyaa.cat/&#34;&gt;喵窝社区星球&lt;/a&gt; 那样。&lt;br&gt;
找到了这种
&lt;a href=&#34;https://blog.phoenixlzx.com/2017/02/18/dont-ask-me-why-invent-another-planet-river-of-news/&#34;&gt;平台的搭建教程&lt;/a&gt;
，发现发明人居然是凤凰卷，这就厉害了。&lt;/p&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;当然啦，既然计划辣么宏大，做好的可能性肯定不足 0.1%&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;嗯，截至本文发稿，上线的仅有更新日常动态的&lt;a href=&#34;https://t.me/cxumolket&#34;&gt;荀氏传盒&lt;/a&gt;，
相信剩下几个面世的时间, 不会拖太久 🏁
Soon™&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>贵司今天也倒闭了吗</title>
      <link>/old-good-days/</link>
      <pubDate>Wed, 15 Feb 2017 22:40:00 +0800</pubDate>
      
      <guid>/old-good-days/</guid>
      <description>
        &lt;p&gt;童话说:
好家伙长命百岁，大坏蛋不得其所。&lt;/p&gt;
&lt;p&gt;从迷信童话到认清现实，需要的契机往往不止一个。&lt;/p&gt;
&lt;h2 id=&#34;小新闻速递&#34;&gt;小新闻速递&lt;/h2&gt;
&lt;p&gt;上周二，《离线》杂志宣布停刊。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;http://image.thepaper.cn/wap/image/5/463/833.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;人力有时而穷，善后工作到位，
&lt;a href=&#34;https://t.me/UntitledTechTalk/63&#34;&gt;便也无可指摘&lt;/a&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;真正的好东西&#34;&gt;真正的好东西&lt;/h2&gt;
&lt;p&gt;据不完全统计，北京的创业综合症患者数量，大约等于朝阳区仁波切的十倍。
这些人脑子里想着改变世界，嘴巴上说着大发财，手头做着无聊的事，两脚在骗投资的路上疲于奔命。
呵，这类项目死掉多少个，谁会在意。&lt;/p&gt;
&lt;p&gt;有的产品不一样，也许不曾有改变世界的狼子野心。
你遇到它以前，日子还是能过得过且过；
可一旦当它闯入你的视野，从此便开启美好人生的崭新可能。
—— 一种你以前“不知道你不知道”的可能性。&lt;/p&gt;
&lt;p&gt;夸张点说，好比一个习惯整天吃下面，做人最开心的港人，忽然哪天尝到了能载人的皮皮虾。于是再美味的公仔麵，也成了苟且。&lt;/p&gt;
&lt;p&gt;因为用上这样可爱的产品而高兴，又因为见到它们的倒闭而扼腕。
总是这样~&lt;/p&gt;
&lt;h2 id=&#34;唱支挽歌给你听&#34;&gt;唱支挽歌给你听&lt;/h2&gt;
&lt;p&gt;恒久远、永流传的道理是相似的，消失的缘由，各有各的不同。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;多看&lt;/strong&gt;原来做电子书阅读器，在 Kindle 圈盛名赫赫。它刚开始转型卖书那会儿，平心而论，做得真还不错。&lt;br&gt;
即使今天看来，邢捕头选择在多看独家出版&lt;a href=&#34;http://www.duokan.com/book/11187&#34;&gt;《再问人间》&lt;/a&gt;，显得有点怪异和错位，却很真实地反映了，那个时候多看的价值取向和追求。&lt;a href=&#34;http://www.duokan.com/review/11187/4701&#34;&gt;如同一位网友所说&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;邢育森活跃的时代，上网还是种时尚，作家还被称做老师，写一本书还会皓首穷经。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;和很多产品一样，多看是被“收购死”的。
被小米收购后的多看，成了垃圾“出版物”滋生的乐园，变得不堪入目，名存实亡。
其效果类似于 &lt;a href=&#34;http://blog.sina.com.cn/s/blog_8c354e3d0100uwl5.html&#34;&gt;AT&amp;amp;T 被分拆&lt;/a&gt;，或者&lt;a href=&#34;http://www.coolapk.com/apk/com.alensw.PicFolder&#34;&gt;快图浏览&lt;/a&gt;被&lt;a href=&#34;http://www.cmcm.com/zh-cn/&#34;&gt;猎豹&lt;/a&gt;收购。要怪，就怪万恶的资本家吧。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;&lt;strong&gt;唐茶计划&lt;/strong&gt;&amp;quot;(后改名字节社)经营不善，差点成了非著名评论家李如一的&lt;a href=&#34;https://www.zhihu.com/question/19551518/answer/31098962&#34;&gt;一段黑历史&lt;/a&gt;。
所幸善后据说搞得不错，挽回不少声誉，可惜给我错过了。&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Flash&lt;/strong&gt;的没落，一直是个谜。
我本来对 Adobe 收购后的 Flash 好感不大，长期使用的，也是 Macromedia 最后一个，最经典的版本 Flash8。
Flash没落之谜困扰我很久，直到有天翻到知乎里看到&lt;a href=&#34;https://www.zhihu.com/question/19728465/answer/63865048&#34;&gt;这个回答&lt;/a&gt;，
又找到&lt;a href=&#34;https://www.zhihu.com/question/49170215/answer/114640341&#34;&gt;这个索引&lt;/a&gt;，
以及&lt;a href=&#34;http://bbs.9ria.com/forum.php?mod=viewthread&amp;amp;tid=436066&amp;amp;page=1#pid3365460&#34;&gt;这篇帖子&lt;/a&gt;，
才明白历史的真相：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Apple 和 Adobe 两大公司利益斗争下，flash不幸背锅，成了牺牲品。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;所以我们的
Macromedia 死不瞑目！Macromedia 死不瞑目！Macromedia 死不瞑目！&lt;br&gt;
以及我冥冥中一直下意识抵触使用苹果和 Adobe 家的产品, 缘来如此。&lt;/p&gt;
&lt;p&gt;除此以外，最普遍的情况，最眼熟的描述，见诸各种“告客户&lt;!-- raw HTML omitted --&gt;(遗)&lt;!-- raw HTML omitted --&gt;书”中，
果然要数“不可描述的原因”，“不可抗力因素”。&lt;br&gt;
但见那，神奇的红色戈壁上，河蟹欢快地举钳伸螯，翩翩起舞。
广大人民群众见了，无不喜大普奔，高高兴兴。
种种实例，恒河沙数，不举也罢。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;眼见他起高楼，眼见他宴宾客，眼见他楼塌了。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;那些爱过的:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;flash (包括 Action Script)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.google.com/reader/about/&#34;&gt;Google Reader&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;《天南》&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://zhuanlan.zhihu.com/p/25102760&#34;&gt;《离线》&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://workflowy.com/s/EXsB.3SeHV3QETj&#34;&gt;各种关闭的博客&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;!-- raw HTML omitted --&gt;kindleren论坛&lt;!-- raw HTML omitted --&gt; &lt;!-- raw HTML omitted --&gt;&lt;/li&gt;
&lt;li&gt;Google Buzz&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://wangye.org/blog/archives/219/&#34;&gt;uushare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;!-- raw HTML omitted --&gt;360云盘&lt;!-- raw HTML omitted --&gt; &lt;!-- raw HTML omitted --&gt;&lt;/li&gt;
&lt;li&gt;为之笔记&lt;a href=&#34;http://www.wiz.cn/new-service-rule.html&#34;&gt;(半死)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;声声不息配音社&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://soft.yunduan.cn/notice.html&#34;&gt;云端软件平台&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;AnimeTaste&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;都死了。&lt;/p&gt;
&lt;p&gt;即使在那沉沦于地狱般绝望的，最吓人的噩梦中，
也不愿回想起那一段段，眼睁睁看它们一步步走向衰落甚至消亡，自己却无能为力的过程吧。&lt;/p&gt;
&lt;h2 id=&#34;挥手作别&#34;&gt;挥手作别&lt;/h2&gt;
&lt;p&gt;美好的事物，也可以容易消亡，人不该忽视这朴素的道理。
即使它有大批拥趸，或者有沃土良机，再或其主心骨英明神武，
古往今来、天地悠悠中说逝去，也就失去了。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.31xs.com/0/633/1882519.html&#34;&gt;正能量圣光&lt;/a&gt;
表示，旧的不去新的不来；眼光向前看，才是利于身心健康发展的积极态度。
但即使圣光也不能否认，优秀的精品总有其不可替代性。
也许你七拼八凑，以为找到了两个替代品，
然而过一会就能发现，其中一个是徒有其表，名不符实的山寨货；
另一个至臻至善，却具有蒂固根深、挥之不去的&lt;a href=&#34;http://knowyourmeme.com/memes/its-not-a-defect-its-a-feature&#34;&gt;缺陷&lt;/a&gt;；你最迫切需求痛点，反而在他们看来不值一提。
因为习惯早已养成，老伙计给你的烙印早就挥之不去阿。&lt;br&gt;
比如，为之笔记虽不完美，却没有谁比为之更好。为之半死后，我都不知道该怎么存资料。&lt;/p&gt;
&lt;p&gt;有被外力摧毁的，也有“自取灭亡”的。&lt;br&gt;
某乎问题「如何看待『离线』杂志停刊？」中，&lt;a href=&#34;https://www.zhihu.com/question/55469386/answer/144995404&#34;&gt;这个回答&lt;/a&gt;格外引人注意 (因为0赞?)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;逝去的反而值得珍藏。比如天南，独唱团，大方，Lens，东方早报，张国荣。&lt;br&gt;
此外，纸媒盈利模式确实难以企及，能经历时间考验的毕竟不多。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;浅短如我只看过《天南》和《独唱团》。
就这两本“先锋之作”而言，作品本身魅力不提，更吸引我的是其创办过程中，流露的一股“知其不可为而为之”的态度：
理念告诉我，应该是这回事，那就照这样做。&lt;br&gt;
至于是否现实，能不能长存？
先不考虑。&lt;/p&gt;
&lt;p&gt;正如明知新闻那么强调时效性，&lt;a href=&#34;http://www.jianshu.com/p/ea45a425cb1c&#34;&gt;有的记者&lt;/a&gt;偏偏追求“对抗时间的写作”，希望几多年月后，大家对那些旧文，仍认可其思想上，甚至文学上的价值。&lt;br&gt;
即使谁都知道&lt;strong&gt;事实上&lt;/strong&gt;对抗不了，这样的事实也不妨碍那些记者的信念和写稿的态度。&lt;/p&gt;
&lt;p&gt;这种气概，令人倾佩呀。&lt;/p&gt;
&lt;p&gt;好花不常开，好景不常在，美好事物也会有消亡日。
事已至此回天无力，只得承认事实，挥手告别。&lt;br&gt;
另外，如果你受过它的帮助，&lt;strong&gt;请别忘了它&lt;/strong&gt;——&lt;br&gt;
心里默默竖上一块碑，对得住自己良心，也对得起那些辛勤的创造者，曾做出的努力。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;几时找到一座&lt;a href=&#34;https://www.youtube.com/watch?v=Jf6z4jHNrSY&#34;&gt;永无岛&lt;/a&gt;
，我愿当一回收藏家&lt;/p&gt;
&lt;/blockquote&gt;
&lt;section class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;嘿嘿，如今这波《离线》停刊的善后可算赶上了。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;

        
      </description>
    </item>
    
    <item>
      <title>回到博客</title>
      <link>/back-to-blog/</link>
      <pubDate>Sun, 12 Feb 2017 23:16:44 +0800</pubDate>
      
      <guid>/back-to-blog/</guid>
      <description>
        &lt;h2 id=&#34;历史的微小进程&#34;&gt;历史的微小进程&lt;/h2&gt;
&lt;p&gt;上个年代，博客盛行大江南北，长城内外(甚至我也有一个)。然而当时我懵懂无知，不太懂得欣赏。&lt;br&gt;
中学摞起长长一串订阅列表，不乏珠玉，看得美滋滋。 好景不长，随着 Google Reader 绝赞自爆，珠玉埋进了垃圾堆。&lt;/p&gt;
&lt;p&gt;此后，王道破碎，诸侯割据，普天之下竟然无一乐土。&lt;br&gt;
心灰意冷的英雄临走之前，留下一句话：“我还会再回来的。”&lt;/p&gt;
&lt;p&gt;如水的日子继续淌，等不及其完美继任者 inoreader 横空出世，
我早已&lt;strong&gt;完全&lt;/strong&gt;深陷于
&lt;!-- raw HTML omitted --&gt;打月票战、吹超神作、喷脑残黑&lt;!-- raw HTML omitted --&gt;
看盗贴小说的绝望泥潭里无法自拔。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;http://wanzao2.b0.upaiyun.com/system/memes/icons/108852/original/%E7%9C%9F%E5%AE%9E%E7%9A%84%E6%95%85%E4%BA%8B.jpg&#34; alt=&#34;真实的故事[茶]&#34;&gt;&lt;/p&gt;
&lt;p&gt;直到前一阵，我重新发现了博客的美好&lt;/p&gt;
&lt;h2 id=&#34;这种形式&#34;&gt;这种形式&lt;/h2&gt;
&lt;p&gt;对文字消费者来说，内容至关重要；具体以哪种形式呈现，实在无足轻重。我之所以推崇博客这种形式，无非是相信博客更有可能产生更高价值的内容，带来更棒的阅读体验。&lt;/p&gt;
&lt;p&gt;博客虽然可以营销，也可以创收，商业运作的并不少见，但究其本质，它只不过是一处用来自说自话的场所。如此简单，在消费主义导向的风气里，却显得弥足珍贵。期刊杂志往往限定主题和风格，网络小说总是费尽心机挑动欲望，新闻评论一般迎合某类特定的倾向。博客空间特点在于，它由个人管理，从内到外都是“我笔写我心”。&lt;/p&gt;
&lt;p&gt;透过博客不难感受到，坐在一个个页面背后，一只只生动新鲜的活人。顺着一篇篇文章往下读，不仅仅对博主的语言风格、审美趣味、观念态度越发熟悉，还能体味到人家的成长历程、思想变化——时间轴上，博文次第陈列，积年老站里，踩出一步一印。&lt;/p&gt;
&lt;h2 id=&#34;技术博客怪谭&#34;&gt;技术博客怪谭&lt;/h2&gt;
&lt;p&gt;时过境迁。毫无疑问，全民博客的流行风潮已经消退多时。搜狐博客新浪博客网易博客天涯博客博客中国博客巴士……统统沦为老网民茶馆的谈资和半夜的唏嘘。只剩下程序员这群人头脑发热，会不辞辛劳地建立个人博客网站。&lt;/p&gt;
&lt;p&gt;程序员们有技术，懂建站，会审美，也肯为数字形式的东西花费时间和金钱，他们最有条件开办博客。&lt;br&gt;
有些程序员不满于博客园、CSDN这类托管平台的低端，于是买好域名和服务器，开办起了独立博客。&lt;br&gt;
许多程序员热衷此道。比如，他们为这个世界贡献出一个又一个博客程序，其中就有大名鼎鼎的Wordpress、Typecho、Jekyll，也有小众点的Hexo、Farbox、Ghost、Octopress，更有你基本上没听说过的Bitcron、Hugo、Pelican。甚至有不少程序员亲自操刀，从头原创了一个博客程序，供自己发表文章。&lt;br&gt;
从部落格程式到页面样式设计，技术博主可谓尽心尽力。这样的博客弄出来，往往布局合理、排版精致、网址有趣、访问飞快，最棒的是，经常在http后面**+1s**，让人看了喜不自胜，交口称赞，拍手叫好。&lt;/p&gt;
&lt;p&gt;读文章先得看标题。
令人喜(mao)闻(gu)乐(song)见(ran)的是，你见到的所有标题，都长得似曾相识：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在 OO 上安装 XX&lt;/li&gt;
&lt;li&gt;用 XX 做 OO&lt;/li&gt;
&lt;li&gt;OO 时遇到的 XX 问题及解决办法&lt;/li&gt;
&lt;li&gt;通过 XX 实现 OO&lt;/li&gt;
&lt;li&gt;如何在 OO 上使用 XX&lt;/li&gt;
&lt;li&gt;修复 XX 的问题&lt;/li&gt;
&lt;li&gt;……&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这种东西，就是人们所谓“技术博客”。
为避免误解，我们不妨叫&lt;strong&gt;技术手册&lt;/strong&gt;，
显得更合适。
&lt;a href=&#34;http://ihamsterball.github.io/&#34;&gt;举个例子&lt;/a&gt;&lt;br&gt;
一个程序员，编撰一本操作说明书(残本)，多少解决几个实际问题，隐隐展露强者的技术实力，便能吸引其它程序员欣然前往，驻足流连。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;说句公道话，大家都是高科技人才。&lt;br&gt;
非让理工出身的人，写点技术操作手册以外的东西，未免也强人所难，过分严苛了吧？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;总之，程序员们不仅发明了五花八门、各具特色的博客程序，更是以博客为名，创作出不计其数&lt;strong&gt;实用、实在有用&lt;/strong&gt;的说明书。
无论好坏，你
包装再华丽，排版再精美，打开速度再快，操作步骤写得再详细严谨，那也是极好的说明书。&lt;/p&gt;
&lt;h2 id=&#34;读者妙计&#34;&gt;读者妙计&lt;/h2&gt;
&lt;p&gt;博客网站分散在互联网各处，放入收藏夹总好过死背网址。&lt;br&gt;
如果把关注的博客挨个点开，未免费时费力，就像每逢周末绕路去绿漆报刊亭；更要命的是，期刊好歹定期发行，博客却是不定期更新。&lt;/p&gt;
&lt;p&gt;好在聪明人发明了 rss 订阅的形式：
作者的发表平台，如果兼顾了 rss 通用规范，读者便可自动接收新的文章内容。&lt;br&gt;
而现在的博客，一般也都包含了 rss 功能&lt;/p&gt;
&lt;p&gt;读者使用 RSS 订阅， 原理是这样的：&lt;br&gt;
比如 Google Reader：你订阅的所有文章及更新，都交给 Google 服务器自动收取，并保存在 Google 云端。
这样，只要读者登陆 Google Reader ，就能欣赏自己列表里，所有博客的新文章啦。
(BTW，博客的一时繁荣，我认为和 Google Reader 这一良心工具分不开。)&lt;/p&gt;
&lt;p&gt;rss 应用范围之广，不光你能见到的几乎所有博客里都有，许多网上&lt;a href=&#34;http://rss.qq.com/&#34;&gt;其他种类&lt;/a&gt;的“连载更新”也普遍采用。&lt;/p&gt;
&lt;p&gt;以往订阅实体杂志期刊，还要辛苦邮差搬运，订费也颇为可观；
而 rss 订阅免费开放，订再多都不要紧 —— 网上产品，边际零成本嘛。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;如何找到精彩的博客，这属经验之谈。胡乱搜索妙手偶得，要靠运气和机缘，抛开不提。&lt;br&gt;
此处有个屡试不爽的大杀招：找到和你臭味相投，喜好相近，而欣赏水平又比你高一些些的读者，踩一踩他走过的足迹。
比如，&lt;a href=&#34;http://baike.baidu.com/view/2925917.htm&#34;&gt;香蕉大魔王&lt;/a&gt; 推荐的小说，总是对我胃口&lt;/p&gt;
&lt;p&gt;另外，好博客的友情链接也是一大来源。
俗话说，牛人和牛猩猩相吸，如果这家伙博客谈吐高妙，气度不凡，它的朋友们自然也猥琐不到哪里去。&lt;br&gt;
(&lt;a href=&#34;http://www.cnfeat.com/blog/2016/01/29/100Subscription/&#34;&gt;别人家&lt;/a&gt;说得比我好：如果你能发现一个优秀的人，那么你和一群优秀的人不远了……)&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.cnfeat.com/blog/2016/01/29/100Subscription/&#34;&gt;陈素封菊苣去年一口气推荐了100个订阅源&lt;/a&gt;，我也在整理一份自己的&lt;a href=&#34;https://workflowy.com/s/EXsB.fpEhWwux0e&#34;&gt;博客订阅清单&lt;/a&gt;，欢迎关注。&lt;/p&gt;
&lt;p&gt;如果这些能对您产生一点点帮助那实在是太好了。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;后注1：QQ空间？百度空间？……那是什么？&lt;/p&gt;
&lt;p&gt;后注2：原文创作未半而中道崩殂，(说人话，写一半硬盘炸了，没备份。)&lt;br&gt;
一直拖到前两天才手动恢复完博客源文件，抓紧时间以便赶在生日当天发稿(🏁flag)&lt;br&gt;
本文和炸掉的原作相比，相差很大，只能这么说。&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>再议微信公众号</title>
      <link>/wechat-public-poster/</link>
      <pubDate>Tue, 17 Jan 2017 00:00:00 +0800</pubDate>
      
      <guid>/wechat-public-poster/</guid>
      <description>
        &lt;p&gt;&lt;em&gt;题注: 题名再议，是因为前文&lt;a href=&#34;../terrible-wechat/#%E5%85%AC%E4%BC%97%E5%8F%B7%E4%B9%8B%E6%80%A8&#34;&gt;糟糕的微信&lt;/a&gt;里，提过相关的只言片语&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;作为微信公众号的读者，我常常心态复杂。有需要订阅的理由，也有取消关注的冲动。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;大有可为新时代的平台&#34;&gt;大有可为，新时代的平台&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;公众号应该长什么样子？
公众平台刚刚推出时, 微信官方和前来尝新的创作者, 都没给明确定位。
但随着其功能一步步扩充, 起码许多人都相信着，这个手机上新生的，依托腾讯影响力的广阔平台，一定能许诺他们光明的未来。直到……&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;微信新推出公众号那会儿，我相当看好其前景。作为低门槛的 UGC 平台，它既可作图文的展馆，又提供服务的接口。于供于需，都方便。用户与亲友联络之余，可以随意读点小文章，也能顺手定个微信闹钟，或者记上一条语音记事，而无需切换APP，真是极大的便利。&lt;/p&gt;
&lt;p&gt;我还记得有回拿着大板子, 兴致勃勃地向身边人演示怎么使用公众号“经典名著”，内心满是对一个新时代的期待&lt;br&gt;
(简单说，用户通过给“经典名著”发消息，实现典籍内容的查询, 继而点击链接, 转到网页阅读)。&lt;/p&gt;
&lt;p&gt;当时确实也有许多人, 比如 &amp;ldquo;小道消息&amp;rdquo; 冯大辉, 察觉到公众号蕴含的潜力不可限量。
以及大约那时我的确看见了智能机上, 微信生态挤占APP, 以及wap的未来。&lt;br&gt;
（p.s. 目前，“经典名著”已“死”。尸骨还在，最后一条消息发送于2013-03-24, 您大可通过搜索 id &amp;ldquo;jiangdianmingzhu&amp;rdquo; 发掘考古现场）&lt;/p&gt;
&lt;p&gt;回过头来看。
个人最看好的“交互型应用”，没能在 &lt;em&gt;微号圈&lt;/em&gt; 铺开.
而官方野心不死，又将接力棒交给 &lt;strong&gt;更恶心&lt;/strong&gt; 的“小程序”；
而我后知后觉用上 &lt;a href=&#34;https://einverne.github.io/post/2016/07/telegram-review.html&#34;&gt;Telegram_bot&lt;/a&gt;，反而真正实现了这一伟大的愿景。
&lt;!-- raw HTML omitted --&gt;(虽然国内鲜有人知)&lt;!-- raw HTML omitted --&gt;
&lt;code&gt;201710更新: 在我等 tg 爱好者不懈努力下, 加上某国网络管控加强, 赶跑了一大波内容生产者, tg 在中文语境下, 已经比较大众了  &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;公众号应该长什么样子？&lt;/strong&gt; 最初谁也没给出的答案，今时今日, 也就是全民营销时代, 套利者给你当好榜样。
但见那——&lt;br&gt;
“自媒体联盟”盛衰，灰产的xjb刷，额，这些离我们普通人有点遥远，我也不了解。但即使你处于转发链最下游，仍可冷暖自知。&lt;/p&gt;
&lt;h2 id=&#34;闭关锁门历史的车轮滚滚向后&#34;&gt;闭关锁门，历史的车轮滚滚向后&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Wechat is guilty. iOS is, too. So is Facebook.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;对创作者来说，把自己生产的内容，全权托付到一个与外隔绝的基础媒体设施上，无疑是极为不智的；对读者而言，在表现糟糕的“特制专用浏览器”下欣赏和阅读，怎么可能有良好体验。尤其这些信息还难以检索，难以引用。&lt;/p&gt;
&lt;p&gt;如果您真认为微信很好用，不妨看看这两篇文章： &lt;a href=&#34;https://blog.yitianshijie.net/2015/11/16/wechat-de-facto-lan/&#34;&gt;微信——事实上的局域网&lt;/a&gt; 和 &lt;a href=&#34;https://blog.yitianshijie.net/2016/02/21/byebye-wechat/&#34;&gt;告别微信&lt;/a&gt;。
讨厌微信的很多人中,  李如一的论述应该能代表他们大部分的想法。
个人感觉，前篇陌生语境又多，揭发力度不强，遂补充如下：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果一个人整天都在玩微信，他会感觉微信就是互联网。(即使他没有错过web时代与wap时代。)&lt;br&gt;
如果一条泡在玻璃缸里的咸鱼，与贝蚌耍，借珊瑚栖，乘水波浪，日复一日，同样会误以为鱼缸就是海洋。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;听了&lt;a href=&#34;http://ipn.li/yitianshijie/13/&#34;&gt;Open Web and Open Mind&lt;/a&gt;这期广播，我才明白什么叫互联网的开放精神,
以及Facebook、微信之流怎样“作恶” (be evil) 。&lt;br&gt;
正如早三年前，徐文浩作的&lt;a href=&#34;https://xuwenhao.com/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E8%AE%A4%E4%B8%BA%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E6%98%AF%E4%B8%80%E7%A7%8D%E5%8E%86%E5%8F%B2%E5%80%92%E9%80%80-9a6f7265a946&#34;&gt;微信公众号是一种历史倒退&lt;/a&gt;
所述&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;公众号有一个根本性上的问题，就是对于陌生的内容，你不再像blog那样，有非常低的获取成本。在blog世界里，如果你需要引用外部观点，给一个link就好了，读者自然可以跟随这个链接看到新内容。如果你需要推荐别人的blog，也给一个link就好了，我有很多blog都是从别人的友情链接里看到的。甚而有之的是，如果读者需要和作者互动，读者留下的comments是可以再被其他读者读到，有大量订阅的blog，甚至可以看做是一个社区。事实上，blog世界的整个内容体系，在默认情况下，是完全开放的。在这个完全开发的体系下，所有的内容都是可搜索，可索引的，如果再加上feedly，google的快照这些互联网的基础设施，所有基于blog发布的这些内容，或者说“知识”，变成了全人类的共同财产，即使你的blog hoster倒闭了，你也很容易从feedburner中找到你的历史文章。然而，在微信里，这些本应该成为共享的信息，难以检索，只存在于某个特定商业公司的服务器上，读者和读者之间无法再建立社区去交流。于是，虽然每个人随身都带着智能手机，都能够安装微信，但是实际，我期望能够获得的信息更难获得了，我非常难从已经阅读了的内容，再去扩展获得新内容。获取这些信息的渠道，不再是公开、共享的互联网，而是某个商业工作的独有协议的一个软件。这个事情，对于腾讯来说，叫做“抢占流量入口”，对于一个商业公司本身来说，自然是有利的。但是对于所有使用互联网去工作，获取信息，交流分享的人来说，是根本机制上的倒退，让大家拱手把信息发布的渠道，从一个零成本，人人可行的状态，交由一个商业公司去控制。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;是凭通行证才能进入&lt;a href=&#34;https://book.douban.com/subject/2036561/&#34;&gt;城堡&lt;/a&gt;，也是戴上&lt;a href=&#34;https://en.wikipedia.org/wiki/The_Wonderful_Wizard_of_Oz&#34;&gt;翡翠色护目镜&lt;/a&gt;才能游览的国度。&lt;br&gt;
我们丧尸自由，也许是因为本来没那么多人在乎它。&lt;/p&gt;
&lt;h2 id=&#34;内容为王无可辩驳的真理&#34;&gt;内容为王，无可辩驳的真理&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;面对辣鸡满天飞的公众号生态，一个订阅量500左右的奇葩，笑看满屏破百的小红点，淡定地放弃了治疗。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;另一方面，传播的&lt;a href=&#34;http://geekplux.com/2017/01/14/the-ways-to-get-information.html&#34;&gt;内容渐渐变质&lt;/a&gt;：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;再到后来，不少博客写手开始转战到了微信公众号，很多文章用微信直接阅读，体验也挺好，于是阅读公众号成了我当时新的阅读方式。然而好景不长，很快公众平台就被一堆营销号攻占，一些写手为了圈钱，写作质量也大幅下降。我开始慢慢取关公众号，并且意识到了一个问题：大多数的文章都是没有价值的，或者说远没有自己想象的有价值。很多文章都是东拼西凑来的，能引发思考的凤毛麟角。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;btw, &lt;a href=&#34;http://geekplux.com/&#34;&gt;高翔&lt;/a&gt;及时弃坑，喜大普奔。我呢，就比较悲剧了。以前订阅100个上下的时候，攒一周小红点，最快也得花一下午 + 一整晚才能刷完。而现在，即使刻意精简，还是关注了500个左右。&lt;code&gt;我能怎么办，我也很绝望呀&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;目前公众号的生态和模式已经非常成熟非常茁壮。到底怎么样， V站 &lt;a href=&#34;https://cn.v2ex.com/member/murmur&#34;&gt;murmur&lt;/a&gt; &lt;a href=&#34;https://cn.v2ex.com/t/313482?p=1&#34;&gt;说得&lt;/a&gt;非常实在：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;微信公众号除了真的企业政府开的是应用外，多少在盗抄、传谣、造谣、鸡汤，简直是造谣传谣对原创作者版权侵犯的主力军。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;顺带一提的是，不能怪监管不力，如此封闭的体系才是滋生歪脑筋的乐土。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;此外，什么&lt;strong&gt;文末画风突变广告，标题党，震惊部，高呼「南海是中国的」，骗赞骗关注骗打赏&lt;/strong&gt;，啦啦啦，这些套路你们应该比我熟，不必多说。以致&lt;strong&gt;滥用表情包/影视截图/动图&lt;/strong&gt;的排版，看上去其实也无可厚非，甚至有点可爱呢，即使给内容注水，顺便刷掉观众的手机流量的行径,
&lt;strong&gt;又有什么大不了的?&lt;/strong&gt; 。&lt;/p&gt;
&lt;p&gt;推送大师们神通无算，小生不忍击节称赞。&lt;/p&gt;
&lt;p&gt;然而，总有些心水的内容方，更偏爱微信推送。可悲的是，无论媒介、平台如何如何，世界终极真理永远是&lt;strong&gt;内容为王&lt;/strong&gt;。&lt;br&gt;
假设促成人间美好、大家幸福、世界大同的奥义，恰好藏在粪坑或者下水道里，那也总有仁人志士会不顾形状的糟糕、手感的黏糊、滋味的难受，大口大口地，把&lt;strong&gt;奥义之精华&lt;/strong&gt;统统吸收干净。
&lt;!-- raw HTML omitted --&gt;片甲不留&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>独白·伪音乐爱好者</title>
      <link>/music-fans-monologue/</link>
      <pubDate>Sat, 06 Aug 2016 17:39:05 +0800</pubDate>
      
      <guid>/music-fans-monologue/</guid>
      <description>
        &lt;p&gt;想起了杨小耀，也不知近况怎样，新歌几何。找到一首《我们》，歌名没印象，旋律很熟悉。嗯，是当年的感觉。&lt;/p&gt;
&lt;p&gt;四年前开始学会&amp;quot;听歌&amp;quot;，守着&amp;quot;豆瓣音乐人&amp;quot;榜单挑选，认识了那么多好原创歌手，杨小耀，宋冬野，邵夷贝，a弈(英伦盒子)，等等；也找到了自己喜爱的组合，Nylas，万青，逃跑计划，Agies Kain 等等……&lt;/p&gt;
&lt;p&gt;我始终推崇原创歌。一首歌歌词曲皆属某人时，自然会有灵魂生发。就像小说，作家与作品互为犄角，相辅相成。作家孕育作品的生命，而作品反哺作家的灵魂。拼凑缝合的作品，多是毫无灵性的垃圾。&lt;/p&gt;
&lt;p&gt;万万没想到，我音乐口味好像从此定了调。往后听的基本也离不开那个圈子，那种风格。&lt;br&gt;
李华治&lt;a href=&#34;http://lihuazhi.com/category/music&#34;&gt;喜欢听马勒&lt;/a&gt;——恕我不及这样高雅的格调；&lt;a href=&#34;http://lihuazhi.com/533&#34;&gt;翔哥&lt;/a&gt;的劣品——我也看不上眼。&lt;/p&gt;
&lt;p&gt;除去民谣，其它领域也稍有涉足。不爱动漫歌曲的嘈杂和凌乱，却喜欢上了TAMusic的小提琴与钢琴，更是把东方幻奏录管弦合奏视若不可多得的珍宝。另外，在电台 FM &lt;code&gt;94.5MHz&lt;/code&gt; &lt;em&gt;MetroRadio&lt;/em&gt; 带领下启蒙了欧美流行乐。&lt;/p&gt;
&lt;p&gt;忽然想起了四年前的那位音乐人。搜索，来到杨小耀的豆瓣小站。他说，他已经离开了音乐。小站上歌都删了，只贴着一首&lt;code&gt;厌旧(Demo)&lt;/code&gt;。没错，人们多时是喜新厌旧的。不过总有那么一刻，浪潮翻卷，恋旧的思绪就像这样汹涌而至。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;此随感亦发于 &lt;a href=&#34;https://telegram.me/cxumolket/50&#34;&gt;https://telegram.me/cxumolket/50&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>欧化中文除弊</title>
      <link>/westernized-cn/</link>
      <pubDate>Sat, 06 Feb 2016 01:01:45 +0800</pubDate>
      
      <guid>/westernized-cn/</guid>
      <description>
        &lt;p&gt;&lt;code&gt;题注1: 本篇为读书笔记。引文&amp;amp;举例部分除非注明，均源自或演绎自《余光中谈翻译》。&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;题注2: 欧化中文当然有优点，可既然我们这篇是“除弊”，自然要矫枉过正&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;欧化中文之弊&#34;&gt;欧化中文之弊&lt;/h2&gt;
&lt;p&gt;饱读语文教材的同学，提起笔，就能不假思索地写下&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;我是多么地爱好着那春季里的花儿
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;略看，只感到眼熟，细察又充满别扭。
句意提取出来，只需4个字“我爱春花” &lt;em&gt;（或许加上“很”字）&lt;/em&gt; ，却硬生生拖成了15个字。&lt;br&gt;
嘿，这可不正是，咱广大中小学生喜闻乐见的，凑字数法宝么？&lt;/p&gt;
&lt;p&gt;这一“法宝”，俗名&lt;strong&gt;翻译体&lt;/strong&gt;，又可叫 &lt;strong&gt;&lt;a href=&#34;https://zh.wikipedia.org/zh-cn/%E6%AC%A7%E5%8C%96%E4%B8%AD%E6%96%87&#34;&gt;欧化中文&lt;/a&gt;&lt;/strong&gt;(Westernized Chinese language)，亦称&lt;strong&gt;西化中文&lt;/strong&gt; 。&lt;/p&gt;
&lt;p&gt;ta不但让咱写作文凑字数凑得方便快速不留痕，在 淤滞文理，弱化文气，打乱节奏 ，僵化句法，以拙代巧，化简为繁等方面，更是屡建奇功。&lt;/p&gt;
&lt;p&gt;西学东渐，五四以来，译作迭出，白话孕生；然而劣译不少。种种缘由下，当世中文，变得啰嗦而软弱，生硬而冗赘。中文本来的优点，如措辞简洁、语法对称、句式灵活、声调铿锵等，悄悄远去。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.yangzhiping.com/&#34;&gt;阳志平&lt;/a&gt; 先生的《文心书话》，开篇就表示&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;相对唐宋气象，今日中国文运可谓低迷。人们写中文比英文更像英文。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如常见语句，“慢慢地走”、“静静地躺着”、“不知不觉地做了什么”，这是套用英文习惯——在形容词后加ly。中文有更优美的表达，无需像英文一样再加“地”，如徐徐、缓缓、悠悠、渐渐。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;有香港学者，攫《红楼》一段，改造成了翻译体。你们感受一下：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;在看到她吐在地上的一口鲜血后，袭人就有了一种半截都冷了的感觉，当她想着往日常听人家说，一个年轻人如果吐血，他的年月就不保了，以及纵然活了一个较长的生命，她也终是一个废人的时候，她不觉就全灰了她的后来争荣夸耀的一种雄心了。在此同时，她的眼中也不觉地滴下了泪来。当宝玉见她哭了的时候，他也不觉心酸起来了。因之他问：“你心里觉得怎么样？”她勉强地笑着回答说：“我好好地，觉得怎么样呢？”……林黛玉看见宝玉一副懒懒的样子，只当他是因为得罪了宝钗的缘故，所以她心里也不自在，也就显示出一种懒懒的情况。凤姐昨天晚上就由王夫人告诉了她宝玉金钏的事，当她知道王夫人心里不自在的时候，她如何敢说和笑，也就做了一项决定，随着王夫人的气色行事，更露出一种淡淡的神态。迎春姊妹，在看见着众人都觉得没意思中，她们也觉得没有意思了。因之，她们坐了一会儿，就散了。&lt;/p&gt;
&lt;p&gt;——思果《翻译研究》&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;假&amp;quot;洋学者&amp;quot;语死早，手捧英汉词典，西而不化，给中文生态投毒；而高明的翻译家，学贯中西，西而化之，知识堪比学者，创作不输作家。&lt;br&gt;
有恶劣的翻译体，自然也有善良正直的翻译。&lt;br&gt;
中文受翻译体污染过深，需揭穿劣译的真面目，横扫一切牛鬼蛇神。&lt;/p&gt;
&lt;h2 id=&#34;照单除弊&#34;&gt;照单除弊&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Complain is cheap. Show me the recipes.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;mdash;-&amp;gt; 我们约定，接下来采用**&lt;code&gt;·生硬的译文体 –&amp;gt; 地道的中文&lt;/code&gt;**作为对照的格式&lt;/p&gt;
&lt;h3 id=&#34;纠结用词&#34;&gt;纠结用词&lt;/h3&gt;
&lt;h4 id=&#34;字典啊我也会翻&#34;&gt;字典啊，我也会翻&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;译文体最大的毛病，是公式化，也就是说，这类译者相信，甲文字中的某字或某词，在乙文字中恒有天造地设恰巧等在那里的一个“全等语”。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;if (如果) &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 假使, 倘若, 果真, 万一&lt;/li&gt;
&lt;li&gt;and (和) &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 及, 与, 而, 且, 又, 并且, 而且&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;用“和”包办一切并列、对立的关系，这是英文 and 作怪。 “和、及、与”不可如 and 一样揽权，更好的选择是 更婉转更曲折的连接词，“而、且、又”。

同类并列，没人说成“柴、米、油、盐、酱、醋以及茶”，但是“前后”用英文说， 就得是“back and forth”。
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;-ly (地) &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; (茫, 欣, 突, 愤, 漠……)然, 叠词(见前例)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;复数们&#34;&gt;复数们&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;林语堂说他一辈子都不用 “人们”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;听众们，观众们 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; “众”、“们”共用，已是不通&lt;/li&gt;
&lt;li&gt;人们 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 大家, 众人, 世人, 大众, 人人, 人群; 列位, 诸位, 各位&lt;/li&gt;
&lt;li&gt;句中已有 &amp;ldquo;都&amp;rdquo;, &amp;ldquo;一致&amp;rdquo;, &amp;ldquo;所有&amp;rdquo;,&amp;ldquo;全&amp;rdquo; 等词，表示复数或泛指, 则不必加&amp;quot;们&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;冠词所有格画蛇添足&#34;&gt;冠词所有格，画蛇添足&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;一个&lt;/strong&gt; 军人应该忠于 &lt;strong&gt;他的&lt;/strong&gt; 国家。&lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt;  军人应该忠于国家。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;魔性的伪术语&#34;&gt;魔性的“伪术语”&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;我的两只手已经&lt;strong&gt;丧失了&lt;/strong&gt;它们的&lt;strong&gt;灵活性&lt;/strong&gt; &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 我的两手都不灵了&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;中文在字形上，不易区别抽象名词与其他词性。西文术语传入中国，或由日本转来后，诸如“安全感”、“能见度”、“百分比”这些词也已被广泛接受。但如果中文有现成说法，大可不必弄得那么“学术化”。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;本可说“名气”，却凭空造出一个**“知名度”**，不说“很有名”，却要迂回作态 ，貌若高雅，说成“具有很高的知名度”，真是酸腐可笑。&lt;br&gt;
不少字眼的 “学术性”，只是幻觉：&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;难度&lt;/strong&gt;很高 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 很难&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;小说的&lt;strong&gt;可读性&lt;/strong&gt;颇高。 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 小说很好看 / 动人 / 引人入胜。&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;英文中常用的，也是 readable，而非 readability
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;说话带有&lt;strong&gt;侮辱性&lt;/strong&gt; &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 说话侮辱人 / 说话无礼&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;王维的作品十分&lt;strong&gt;中国化&lt;/strong&gt;  &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 王维的作品最具中国韵味&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;“更有前瞻性” 难道比 “更有远见” 更高雅？？  

有些句子用了不少伪术语，故充高级，门面像是堂皇了，内容仍是空洞的，且显得扭捏作态，啰嗦难明。
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;h4 id=&#34;有木有&#34;&gt;有木有&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;有着，具有着  &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 有&lt;/li&gt;
&lt;li&gt;有……的存在，存在着 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 有&lt;/li&gt;
&lt;li&gt;存在着浓厚的 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 富于&lt;/li&gt;
&lt;li&gt;有一种……的感觉 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 觉得&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;介词&#34;&gt;介词&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;(about, concerning, with regard……) 介词太多，文句的关节就不灵活。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;!-- raw HTML omitted --&gt;关于&lt;!-- raw HTML omitted --&gt;&lt;/strong&gt; 老王的为人，我们已经讨论过了&lt;/li&gt;
&lt;li&gt;听到 &lt;strong&gt;&lt;!-- raw HTML omitted --&gt;有关&lt;!-- raw HTML omitted --&gt;&lt;/strong&gt; 老王的消息&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;作为&lt;/strong&gt;一个丈夫的他是失败的，但是&lt;strong&gt;作为&lt;/strong&gt;一个市长的他却很成功。 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 他做丈夫虽然失败，做市长却很成功。&lt;/li&gt;
&lt;li&gt;我 &lt;strong&gt;&lt;!-- raw HTML omitted --&gt;所&lt;!-- raw HTML omitted --&gt;&lt;/strong&gt; 能想到的，他 &lt;strong&gt;&lt;!-- raw HTML omitted --&gt;所&lt;!-- raw HTML omitted --&gt;&lt;/strong&gt; 做过的事&lt;/li&gt;
&lt;li&gt;由于好奇心驱使(prompted by curiosity)…… &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 出于好奇……&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;!-- raw HTML omitted --&gt;由于&lt;!-- raw HTML omitted --&gt;&lt;/strong&gt; 他家境贫穷，&lt;strong&gt;&lt;!-- raw HTML omitted --&gt;使得他&lt;!-- raw HTML omitted --&gt;&lt;/strong&gt; 只好休学。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;英文形式上重逻辑，事事交代因果。中文则不尽然，有时，不言而喻——
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;清风徐来，水波不兴&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;滥用之一&#34;&gt;滥用之一&lt;/h4&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;红楼梦是中国文学的名著 &lt;strong&gt;&lt;!-- raw HTML omitted --&gt;之一&lt;!-- raw HTML omitted --&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;这是他失败的原因 &lt;strong&gt;&lt;!-- raw HTML omitted --&gt;之一&lt;!-- raw HTML omitted --&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;下图告诉你，为什么“之一”是（欧化中文的）恶习之一&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cloud.githubusercontent.com/assets/8279655/12849932/1b1eef98-cc5d-11e5-96f4-251995eb12a8.JPG&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;琢磨造句&#34;&gt;琢磨造句&lt;/h3&gt;
&lt;h4 id=&#34;套用英文句型&#34;&gt;套用英文句型&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;陆游的作品里存在着极高度的爱国主义的精神。 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 陆游的作品，富有爱国主义精神。&lt;/li&gt;
&lt;li&gt;关于李商隐的《锦瑟》这一首诗，不同的学者们是具有很不相同的理解方式。 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 李商隐《锦瑟》一诗，众说纷纭。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;一定不一定&#34;&gt;一定？不一定！&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;(to a certian degree) 在一定程度上，我愿意支持你的……  &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 我愿意酌量支持你……&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;老王在……上，有一定的贡献。&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;我们说，略有贡献，颇有贡献，极有贡献，最有贡献……直到“有‘一定的’贡献量”，说是一定，到底有多少，其实不一定，反而很模糊
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;跟着我左手右手作出一个苍白的动作&#34;&gt;跟着我左手右手，作出一个苍白的动作&lt;/h4&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;作出决定, 作出反应, 做出让步 ——  
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;有许多活灵活现的动词，先被贬成抽象名词，再由这万能的“作出”放在前面，凑成一个刻板无趣，苍白无力的“综合动词”。&lt;br&gt;
**“作出、进行、展开、实施”**之类万金油，使用日渐频繁，早已替代了许多动词的正位。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;对她进行劝告 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 劝她&lt;/li&gt;
&lt;li&gt;从事一次航行 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 航行&lt;/li&gt;
&lt;li&gt;进行一次大规模改革  &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 大加改革&lt;/li&gt;
&lt;li&gt;它们是好的问题，因为它们需要对方作出激发思想的回答(call for thought-provoking answers) 。 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 这些问题问得好，要回答就得动脑筋思索一番。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;乔治奥威尔把一拍即合的万能动词，叫做文字的义肢 (verbal false limb) 。 &amp;quot;作出&amp;quot;这类，正是中文的义肢，装在原本健全却遭受摧残的动词上。
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;非要表达，可说：采取决定，加以讨论，极表轻视……&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h5 id=&#34;还可以把动词直接贬成抽象名词&#34;&gt;还可以把动词直接贬成抽象名词&lt;/h5&gt;
&lt;p&gt;——会软化、甚至架空动词的啦。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;他收入的减少改变了他的生活方式。 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt;  他因收入减少而改变了生活方式。/他收入减少，于是改变了生活方式。&lt;/li&gt;
&lt;li&gt;书籍的选购，只好拜托你了 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt;  选购书籍，……&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;滥用被动&#34;&gt;滥用被动&lt;/h4&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;英文的被动语气，在微妙而含蓄的场合，避重就轻地放过了真正的主词。  
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;而在许多场合，中文的被动态无需点明。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;菜吃光了。&lt;/li&gt;
&lt;li&gt;手洗好了吧？&lt;/li&gt;
&lt;li&gt;书没看完，稿子写了一半。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt; 中文西化之后，凡事都要分出主客，真是自讨麻烦
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;修改被动：“被”字-&amp;gt;半句&amp;ndash;&amp;gt;例句&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;被 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 给, 遭, 挨, 教, 让, 受, 为, 任(酌用)&lt;/li&gt;
&lt;li&gt;他被警告…… &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 他听人警告……, 人家警告他说……&lt;/li&gt;
&lt;li&gt;Strange voice were heard whispering a stranger name.  &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 听得见怪声低语一个更怪的名字。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;当当之灾&#34;&gt;当当之灾&lt;/h4&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;公式化的翻译体，见when就当，五步一当，十步一当，当当之声，遂不绝于耳了。
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;when (当……的时候) &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 连……, 正在……忽然, ……之后……, 既……就……&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;英文最讲究因果、主客之分，均需在文法上交待清楚，所以副词子句特别多。而中文靠上下文自然的顺序，远多于文法上字面的衔接，貌若闲散，实则机警。解除“当……之后”，“当……时候”的字面束缚，句法自然畅通
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;h4 id=&#34;的的不休&#34;&gt;的的不休&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;献身于革命壮烈大业的他，早已将生死置之度外。 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 他献身于革命壮烈大业，早已将生死置之度外。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;英文好用形容词子句，在文法上，往往置于受形容的名词之后，那是追叙。若直译成中文则变为前饰语，不但堆砌得累赘，而且平添初一大批“的”化语来。语沓气泄，虎头蛇尾，像顶大而无当的高帽子。
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;白话文中，小小「的」字竟独挑大梁，几乎如影随形，变成一切形容词的语尾。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;要化解这种冗赘, 只得把形容词切开，为它们另找归宿。
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;一位衰老的，疯狂的，瞎眼的，被人蔑视的，垂死的君王 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 又狂又盲，众所鄙视的垂死老王 &lt;code&gt;ps.老王出没在各种例句，真可怜&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;我想到一条可以一举两得的妙计。 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 我想到一条妙计，可以一举两得。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;文气&#34;&gt;文气&lt;/h4&gt;
&lt;p&gt;中文：逗号越多越悠长&lt;/p&gt;
&lt;p&gt;正例  &lt;em&gt;(下面这句话，里面的逗点实在多余，可是删去之后，读起来又太急促了)&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;我很明白，他的意思无非是说，要他每个月回来看我一次，是不可能的
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;反例  &lt;em&gt;(从 A Christmas Carol 译文来看, 余光中“无论如何也不懂为什么狄更斯是文豪” )&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;而且，史克鲁治甚至没有因这桩悲惨的事件而伤心得使他在葬礼那天无法做一个卓越的办事人员以及用一种千真万确的便宜价钱把葬礼搞得庄严肃穆。
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;补充&#34;&gt;补充&lt;/h3&gt;
&lt;h4 id=&#34;其它舍简就繁的翻译体&#34;&gt;其它舍简就繁的翻译体&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;我唔知佢点解嚟香港**&lt;!-- raw HTML omitted --&gt;嘅原因&lt;!-- raw HTML omitted --&gt;**&lt;/li&gt;
&lt;li&gt;基于这个原因 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 因此&lt;/li&gt;
&lt;li&gt;有很多问题存在 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 问题很多&lt;/li&gt;
&lt;li&gt;总的来说，不是一句话就能说清楚的 &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; 总而言之，一言难尽&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;英文里的啰嗦和伪学术&#34;&gt;英文里的啰嗦和伪学术&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;怪我咯？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;In my opinion it&amp;rsquo;s not a unjustifiable assumption that……  &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; I think……&lt;/li&gt;
&lt;li&gt;give authorization   &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; permit&lt;/li&gt;
&lt;li&gt;take appropriate action   &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; act&lt;/li&gt;
&lt;li&gt;apply pressue  &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; press&lt;/li&gt;
&lt;li&gt;initial phase   &lt;strong&gt;&amp;ndash;&amp;gt;&lt;/strong&gt; first step&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;篇外&#34;&gt;篇外&lt;/h2&gt;
&lt;h3 id=&#34;榜单之-本书提到的现代作家当中&#34;&gt;榜单之 本书提到的现代作家当中&lt;/h3&gt;
&lt;h4 id=&#34;黑得最惨的&#34;&gt;黑得最惨的&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;朱自清&lt;/li&gt;
&lt;li&gt;艾青&lt;/li&gt;
&lt;li&gt;何其芳&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;点赞最多的&#34;&gt;点赞最多的&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;梁实秋&lt;/li&gt;
&lt;li&gt;林语堂&lt;/li&gt;
&lt;li&gt;余光中&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;开个脑洞&#34;&gt;开个脑洞&lt;/h3&gt;
&lt;p&gt;即使单词背得多，看英语书还是比中文慢得多。不妨多读点那种翻译得比较生硬的译著。生硬的译著看通了，也就能习惯英文的句法和思维习惯了。&lt;/p&gt;
&lt;h2 id=&#34;扩展阅读&#34;&gt;扩展阅读&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://zh.wikipedia.org/zh-cn/%E6%AD%90%E5%8C%96%E4%B8%AD%E6%96%87&#34;&gt;维基-欧化中文&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://book.douban.com/subject/1236194&#34;&gt;《余光中谈翻译》&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://open.leancloud.cn/improve-chinese.html&#34;&gt;怎样改进英式中文？——论中文的常态与变态&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://www.douban.com/note/273242901/&#34;&gt;论的的不休&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://www.douban.com/note/323763292/&#34;&gt;翻译文学 笔记&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.zhihu.com/question/20262023&#34;&gt;知乎-为什么国内不少科技博客的文章都带有翻译腔？&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://group.yeeyan.org/topics/12332&#34;&gt;翻译和校对中应避免的几种句式&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

        
      </description>
    </item>
    
    <item>
      <title>糟糕的微信</title>
      <link>/terrible-wechat/</link>
      <pubDate>Thu, 01 Oct 2015 15:25:19 +0800</pubDate>
      
      <guid>/terrible-wechat/</guid>
      <description>
        &lt;p&gt;时值2015年9月，无论长江南北，男女老少，安卓苹果，放眼望去，凡持智能手机者，几乎都装上了微信。&lt;/p&gt;
&lt;h2 id=&#34;更新的奥秘&#34;&gt;更新的奥秘&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;岁月如刀&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;那时，微信刚刚出来，对其印象不过：又一款国产山寨KIK。因为在同类山寨品中，只有微信注册不要短信验证，用QQ号就行。彼时cxumol还没有手机（号），只有一台平板，自然也就收不了短信。就注册了微信玩玩。&lt;/p&gt;
&lt;p&gt;对比QQ的臃肿和杂乱，当年微信可算是简洁干净，小清新一枚。可是好景不长，功能递增伴随着安装包体积蹭蹭上涨，占用了越来越多的手机存储、内存空间。我们像青蛙一样泡在温水里。待到身边朋友们养成习惯时，才恍然察觉，微信像绳索一样，已经牢牢地绑在了手机上，也勒进肌肤，让我们无法大口呼吸，自在奔跑。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;国产APP们，大抵如此。如果是大厂出品，即使刚开始做出来时，玲珑精致，人人称道，随着用户规模的膨胀，一定会无所顾忌地添加功能，越做越臃肿。（eg. 网易云音乐）&lt;br&gt;
或由小团队、创业公司研制，虽然也胀，但胖不了多少（除非被收购）。曾有不少人，把其中一些奉为业界良心（2naive），直到——某月某日更新后，大家发现，不但多了个无关紧要的功能，也在不起眼的地方出现了广告。再更新，广告又从更多地方冒出来。（eg. 追书神器）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;延伸阅读：&lt;a href=&#34;http://venturebeat.com/2015/08/26/wechat-wants-to-be-everything-to-everyone-including-a-fitness-tracker/&#34;&gt;Wechat wants to be everything to everyone&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;P.S.：&lt;br&gt;
江湖中除了刀光剑影，侠肝义胆，儿女情长以外，还有常伴大侠之身的装逼如风。&lt;br&gt;
遥想微信初露锋芒，张小龙大侠接受采访时，说，当他看到原始人的抛掷动作，觉得&lt;strong&gt;这是人性中本能层次的东西&lt;/strong&gt;，所以出了『摇一摇』。&lt;br&gt;
微信制作者们最开始反复强调，倍加推崇的『摇一摇』，&lt;strong&gt;现在还有谁提呢？&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;damage-inside-desingers-brain&#34;&gt;Damage inside Desinger&amp;rsquo;s Brain&lt;/h2&gt;
&lt;p&gt;据“哈哈哈哈火”同学所说，微信在数据处理方面，做得非常差劲。这点cxumol不是很懂。只记得有一次cxumol的微信出了问题，点不大聊天界面中任何图片。尝试各种办法，最终还是把微信卸载再重装，才重获新生。&lt;/p&gt;
&lt;h3 id=&#34;同学你叫什么名字&#34;&gt;同学，你叫什么名字？&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;停船暂借问&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;他们研发团队对自家产品英文名，称呼五花八门，极其混乱
可见下例——&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Micro Message&lt;/code&gt;。SD卡的&lt;code&gt;tencent&lt;/code&gt;目录下， MicroMsg 是微信的文件夹。安卓的包名叫mm，姑且当作 Micro Message 的缩写。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;WeiXin&lt;/code&gt;。SD卡里，另一个叫 WeiXin 的文件夹放在MicroMsg/下，用来存手动存的图。
各位看官，不知谁能望文生义， 从&lt;code&gt;WeiXin&lt;/code&gt; 命名中猜出来，它竟是用来存图片的。反观QQ，存图文件夹叫 &lt;code&gt;QQ_images&lt;/code&gt;，一目了然。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Wechat&lt;/code&gt;。把微信换成英文版，又可知它正式的英文名称叫 &lt;code&gt;Wechat&lt;/code&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;自称混乱如此，闹哪样？&lt;/p&gt;
&lt;h3 id=&#34;android-端跪舔-ios-端&#34;&gt;Android 端跪舔 ios 端&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;笑煞邯郸人&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;界面的设计上，ios有ios的规范(iOS Human Interface Guidelines)，Android有Android的标准（Material Design），微软也有微软家的格式（Windows Metro Style）。&lt;br&gt;
把香干混在豆腐里，有点不伦不类。&lt;br&gt;
其实吧，大量国产应用都这样，把ios端设计完完整整的生搬硬套过来，做成Android版。微信正是引领这不正风气的头羊（之一）。&lt;/p&gt;
&lt;p&gt;曾经有一个版本的微信，也入乡随俗：部分采取holo风格。然而在下一版本中，又被取消，从此匿迹于史海。&lt;/p&gt;
&lt;p&gt;别和我说两个平台的体验一致性。两大平台的使用人群中，重叠的部分还是极少的。另外，与安卓其他app的体验一致性就不管了？&lt;br&gt;
也别和我说ios的设计规范就是好。你只能接受苹果风格那请你只用苹果。无脑粉丝请退散&lt;/p&gt;
&lt;p&gt;话是这么说，当cxumol看到遵从Material Design的APP在Appstore上架还是挺喜闻乐见的。&lt;br&gt;
ios用户的朋友们可以装个 &lt;code&gt;“有道云笔记”&lt;/code&gt; ，感受一下google出品的设计规范哦。&lt;/p&gt;
&lt;p&gt;参看&lt;a href=&#34;http://www.zhihu.com/question/31215904/answer/51384783&#34;&gt;这篇知乎回答&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;表情也麻烦&#34;&gt;表情也麻烦&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;来……笑一个。诶？你怎么哭了？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;作者在android上运行微信，用的是google拼音输入法，自备google emoji。这套表情本是android内置的。&lt;br&gt;
打到输入框里，显示google emoji挺正常，而一发出去，却被强行转化成ios emoji——&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;所以，我们来玩玩【猜猜发出去变成啥样】的游戏&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;虽然图案是类似的。如果你是设计者，你会让用户发个表情，还得靠猜吗？&lt;/p&gt;
&lt;p&gt;更离谱的是，恶魔嘴角上翘，和恶魔嘴角下拉这两个的表情，转换后居然是反的！&lt;br&gt;
……&lt;/p&gt;
&lt;h2 id=&#34;公众号之怨&#34;&gt;公众号之怨&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;忽如一夜春风来&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;大V们，小v们，有的同学们，一个个都开通了公众号。&lt;br&gt;
不是因为它功能上有多完善，而是因为它火。&lt;br&gt;
像RSS那样推送，像博客那样阅读，像instagram那样分享，像私聊那样交互。尽管注册麻烦点，但写文不折腾。&lt;br&gt;
……想法好，做得烂&lt;/p&gt;
&lt;h4 id=&#34;你是看链接还是聊天&#34;&gt;你是看链接？还是聊天？&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;—— 你在用微信？怎么不回我？本宝宝生气了:(&lt;br&gt;
—— Sorry啦。我在看公众号，看的翻历史记录到最底下找到的文章。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;看链接的同时不能聊天这一毛病，早已千夫指，万夫戳。&lt;br&gt;
有人发信息过来，不得不跳出去，再回来又得点好几下，同时，阅读进度全部丢失。&lt;br&gt;
再加上在公众号翻历史记录极其恶心，想找到几个月前还没关注时的一篇推送，简直让人抓狂。&lt;/p&gt;
&lt;h4 id=&#34;乖好好待在微信里别出去&#34;&gt;乖，好好待在微信里，别出去&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;想用自个儿浏览器打开看，没问题，多花一遍流量吧~&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;用原生打开某些页面的时，速度慢如龟？不加载完，还不给右上角菜单中加上选项？&lt;br&gt;
且不说它推行QQ浏览器作为微信内置浏览器的内核。光说用公众号发出的文章，最多生成一条单独的链接。每篇文章发布出来后，都是孤立的存在。只告诉你从哪个公众号发出来，是其仅有的瓜葛。&lt;/p&gt;
&lt;p&gt;分享方式上，“微信封闭的体系完全浪费了Android强大的原生分享机制”；而发布方式上，相较于博客时代的RSS，退步显著。&lt;/p&gt;
&lt;p&gt;顺便说一句，公众平台与粉丝沟通起来效率实在不高&lt;/p&gt;
&lt;h2 id=&#34;看见一个更封闭的腾讯--其他槽点&#34;&gt;看见一个更封闭的腾讯 &amp;amp; 其他槽点&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;手机不是万能的，但手机没装微信是万万不能的&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;从前有人做了公号文章转换到RSS订阅的服务（WeiRSS）。腾讯发现后，更改了规则，于是这个服务废了。&lt;/li&gt;
&lt;li&gt;大家本来就是手机不好使时,才用电脑版/网页版微信。而它却固执地只依赖扫码登陆，咱手机没电、不在身边、坏了，咋招招？&lt;/li&gt;
&lt;li&gt;借同学手机/换新手机登录微信，简直炒鸡麻烦&lt;/li&gt;
&lt;li&gt;网页 &amp;amp; PC 微信功能越来越完善。可是依然没有朋友圈。
&lt;ul&gt;
&lt;li&gt;综上两条，手机坏了，想广而告之，十分困难！！！&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;微信的同步功能不如QQ。如果你在pad和手机上同时装了微信。可能pad收到了，手机上就见不着。网页版也是类似。
&lt;ul&gt;
&lt;li&gt;聊天记录非常脆弱，容易丢失。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;拉群随意，屡屡震动，叨扰实多&lt;/li&gt;
&lt;li&gt;苹果手机容量小的伙伴，你们是不是得隔一阵子，就要删一次微信APP，以释放空间呢？&lt;/li&gt;
&lt;li&gt;……&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;有些同学爱用微信，是因为熟人社交，以及朋友圈灵活的屏蔽机制。可能cxumol就没那么多心思。 &lt;br&gt;
仅从聊天方面来说，微信是QQ的倒退。&lt;br&gt;
cxumol正在用的QQ国际版（手机）、轻聊版（电脑），没有乱七八糟的功能，干净整洁。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;纵然微信种种不好~&lt;br&gt;
里面的好友，还得联系&lt;br&gt;
好看的公众号，也没法在别处看到&lt;br&gt;
没法替代，只好无奈的继续使用着&lt;br&gt;
一直用下去&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>大话markdown</title>
      <link>/no-b-markdown/</link>
      <pubDate>Mon, 07 Sep 2015 23:38:46 +0800</pubDate>
      
      <guid>/no-b-markdown/</guid>
      <description>
        &lt;p&gt;申明：本文纯属虚构，只求故事性，不求严谨&lt;/p&gt;
&lt;h2 id=&#34;word-sucks&#34;&gt;word sucks&lt;/h2&gt;
&lt;p&gt;请您设想这样的场景：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;普通少年·先驱·甲，由于工作需要，常常在电脑上打字。&lt;br&gt;
小伙伴赵日天曾告诉先驱甲：“Word 功能又强，普及率广，甚至几乎每间办公室都离不开它。”&lt;br&gt;
时间久了，先驱甲却发现，其实 word 的缺点还不少。&lt;br&gt;
比如，鸡肋的自动保存；字体缺失、版本不一致引发校对混乱、格式混乱；再如.doc和.docx格式兼容问题；还有D版隐患、手在键盘鼠标间换来换去……&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;那一刻，先驱甲猛地拍桌子，铿锵有力，掷地有声：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;或许、可能、应该、大概，我们写文稿，很大程度上，用不上 Word 辣么多七七八八功能。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;纯文本主义&#34;&gt;纯文本主义&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;先驱甲同学，暂别复杂的 word ，拥抱了纯洁得像水一样的“记事本”&lt;br&gt;
TA冲镜头邪魅一笑，秋波盈盈，道：“记事本儿小巧简单朴素环保易用速度快，谁用谁知道哇。”&lt;br&gt;
其实，TA并没有壮烈地、轻易地、卸载掉 word 。&lt;br&gt;
只不过是先用纯文本快速、流畅地写好后，再往 word 粘贴，接下来把需要的排版格式一一调整好&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;解释一下&lt;br&gt;
简单来说，纯文本可以理解为，存在 txt 文件里的内容。&lt;strong&gt;它只包含文字本身，除了换行和标点，没有半点格式信息。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;有个误区，以为.txt只能用记事本开。
事实上，文字相关软件基本都好使。比如写字板、word、手机小说阅读应用，甚至是浏览器……&lt;/p&gt;
&lt;p&gt;所以，用纯文本写作最大好处，是查看和编辑起来毫无限制。&lt;/p&gt;
&lt;h2 id=&#34;轻量标记语言与高级文本编辑器&#34;&gt;轻量标记语言，与高级文本编辑器&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;文章写长了，先驱甲总是遗忘哪里需要加上格式。这可不好:(&lt;br&gt;
甲开动脑筋，灵感如闪电似利剑，炸响黑黢黢的夜空   &lt;br&gt;
TA把键盘上常见，实际少用的符号，或单独，或加以组合，作为记号。&lt;br&gt;
哪里需要加粗，哪里需要斜体，咱就用记号给他标记上。&lt;br&gt;
所以纯文本里又多了些“奇怪的”的标点&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;嗯，这个技巧，后人称之为“轻量标记语言”&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;先驱乙是先驱甲的好G友。&lt;br&gt;
某天，先驱甲对先驱乙说：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;用 word 给文章排版，十分合适；可若只是撰写文章 —— 或许会有更好的选择。&lt;/strong&gt;&lt;br&gt;
……&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;于是先驱乙也学会了这种技巧。&lt;br&gt;
乙同学尝试过后，愈发觉得这招超棒的。然后告诉了先驱丙丁&lt;br&gt;
不过，先驱乙暗想：“虽然！记事本‘小巧简单朴素环保易用速度快’！但！ &lt;em&gt;不合吾装逼之道&lt;/em&gt; ！”&lt;br&gt;
TA上网查了一下，很快搞到功能强劲，比记事本好用N倍的高级文本编辑器——&lt;a href=&#34;http://www.xiazaiba.com/html/186.html&#34;&gt;Notepad++&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;markdown-的诞生&#34;&gt;markdown 的诞生&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;密室。密谈。四人。&lt;br&gt;
昏暗的白炽灯，投出苍劲而孤傲的背影，清冽冷峻。&lt;br&gt;
先驱丙轻推桌沿，转椅回转，面向甲乙丁：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;咱们虽然理念一致，每人具体用的标记符号却不尽相同。&lt;br&gt;
比如你用 &lt;code&gt;~~&lt;/code&gt; 表示 &lt;code&gt;此处应加粗&lt;/code&gt;，我加粗却用&lt;code&gt;**&lt;/code&gt; 来表示，虽然自己自足，但是万一想和乙协作，共谱一章，岂不乱套？&lt;br&gt;
不如让我们把这些约定俗成的符号精挑细选，塑造成标准规范，定型下来。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;先驱甲乙丁一听，大为兴奋，点点头，拍拍手：“好呀好呀！”&lt;br&gt;
先驱甲有俗家姓名，叫“马克”。
马克平常锻炼身体，尤其注重保护身下的重要部位，
众人便将这种规范，命名为“马克裆”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;先驱们到底是厉害！他们创立的规范，即使不经word补上格式，直接脑补也不费劲。&lt;br&gt;
比如，&lt;code&gt;*本段话被强调了*&lt;/code&gt;，&lt;code&gt;&amp;gt; 啊，这段话是引用的&lt;/code&gt;。 &lt;code&gt;--- 如果独占一行，代表分割线&lt;/code&gt;&lt;br&gt;
嘿嘿嘿，是不是一目了然？
以下为分割线&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;至此，这种&amp;quot;标记法&amp;quot;算是诞生了。
土鳖纯文本摇身一变，成为格式精美、排版到位的高富帅文本，从此有两种途径：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;复制到 word ， 手动改&lt;/li&gt;
&lt;li&gt;脑补&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;先驱丁看到上面这两种方法，老觉得别扭。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;为什么科技这么发达，排版还需要本大师亲力亲为？&lt;br&gt;
告诉电脑『此符号对应彼格式』，然后叫它机灵点，帮我直接把格式改好，不好吗？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;于是先驱丁坐镇实验室。&lt;br&gt;
大门一关，痛饮脑X金一公升，夜以继日的钻研黑魔法咒文和炼金阵图。&lt;br&gt;
三天三夜，划时代发明——&amp;ldquo;马克裆牌渲染器&amp;rdquo; 闪亮登场&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;渲染器这家伙，就像烤面包机一样：吃下去的，是带“标记语言” &lt;em&gt;迪奥斯&lt;/em&gt; 文本；吐出来，却是香喷喷的、亮闪闪的高富帅文本。&lt;/p&gt;
&lt;p&gt;终于等到这一天。Markdown 脱离了 Word  的襁褓，迎来新生，成为了独立的存在。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;包括本文在内，此博客所有文章既由此而成。&lt;/strong&gt;&lt;br&gt;
有图有节操
&lt;img src=&#34;https://cloud.githubusercontent.com/assets/8279655/9785753/26bfbe94-57e7-11e5-9e67-cec42383665c.png&#34; alt=&#34;如图，Markdown渲染器的实时预览功能&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;不装逼的-markdown&#34;&gt;不装逼的 markdown&lt;/h2&gt;
&lt;p&gt;时移世易，沧海桑田。先驱人已殁，节操代代传。&lt;/p&gt;
&lt;p&gt;可惜世风日下，人心不古&lt;/p&gt;
&lt;p&gt;202X年。许多人掌握 markdown ，自觉逼格高人一等，常常对只会使 word 的人，投之以不屑的目光。宇宙装逼大赛组委会，也将会 markdown 列为加分项。markdown俨然吹捧成了神技。&lt;/p&gt;
&lt;p&gt;渐渐，被捧上神坛的 markdown ，成为高贵冷艳的象征之一。许多人徒闻其名。更多人匆匆瞥一眼它的名字，便很快走开，喃喃：“我还是食人间烟火吧”。打消了对 markdown 的兴趣。&lt;/p&gt;
&lt;p&gt;……&lt;/p&gt;
&lt;p&gt;又是很多年过去……&lt;/p&gt;
&lt;p&gt;太阳依旧挂在晴朗的天空。命运齿轮咔咔。一位名叫『贾区先』的少年，来到自家后院，拂去岁月的尘土，找回失落的宝藏。&lt;/p&gt;
&lt;p&gt;那是一张泛黄的16开作业本纸。密密麻麻的标记语法，早已被岁月蚕蚀，模糊不清。&lt;br&gt;
翻到反面，几行字却仍然清晰醒目&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Markdown 设计哲学：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;专注：实现形式与内容的分离&lt;/li&gt;
&lt;li&gt;简约：用最简的语法达到效果&lt;/li&gt;
&lt;li&gt;直观：符合人直觉的表达方式&lt;br&gt;
&lt;em&gt;—— 先驱甲 留&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3 id=&#34;你也想试试&#34;&gt;你也想试试？&lt;/h3&gt;
&lt;p&gt;本文止步于戏说。&lt;br&gt;
&lt;del&gt;如需了解更多,&lt;/del&gt;**你也想试试？**请参阅：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;稍微正经一点的介绍 &lt;a href=&#34;http://www.wiz.cn/feature-markdown.html&#34;&gt;为知笔记 Markdown 新手指南&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;正经的介绍 &lt;a href=&#34;https://www.wikimilk.org/markdown-guide&#34;&gt;Markdown：指南&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;注：其实 markdown 跟 word 扯不上多少关系。既然大众深信 “写稿必用word” ，特此拨乱反正。  &lt;/code&gt;&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>如果博客是一本书</title>
      <link>/blog2epub/</link>
      <pubDate>Sat, 22 Aug 2015 22:56:53 +0800</pubDate>
      
      <guid>/blog2epub/</guid>
      <description>
        &lt;blockquote&gt;
&lt;p&gt;……那么，我愿把“如果”两字去掉&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;博客出书，不胜枚举:《暗时间》、《万万没想到》、《说服力》、《正版语文》……&lt;br&gt;
不严格的说，《明朝那些事儿》也算此列吧。&lt;/p&gt;
&lt;p&gt;这些人写的文章，明明在网上公开发布过，又印成铅字，出版一遍。稿酬可观，买的人还不少。简直人生赢家。&lt;/p&gt;
&lt;p&gt;赘述繁多，都是废话。
本篇讨论的，是另一层意义上的博客成书——也就是某个热心的&lt;strong&gt;粉丝读者&lt;/strong&gt;，把作者的网上文集&lt;strong&gt;扒&lt;/strong&gt;下来，然后做成电子书的故事。&lt;/p&gt;
&lt;h2 id=&#34;明确需求&#34;&gt;明确需求&lt;/h2&gt;
&lt;p&gt;对于一个博客的老读者而言，&lt;a href=&#34;../atom.xml&#34;&gt;在线订阅&lt;/a&gt;最省心省力&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。博客更新频繁，这样读者能确保及时跟上进度。&lt;/p&gt;
&lt;p&gt;当然，随意浏览也无妨。博客原本就适用于游览式地看。&lt;/p&gt;
&lt;p&gt;寒来暑往，花开花落，世况有变。我遇见了&lt;a href=&#34;http://lihuazhi.com&#34;&gt;李华治先生的博客&lt;/a&gt;。 几篇文章读下来，越发体会到其叙事精彩，抒情悠长，评论痛快，文气充盈，文风对路。 &lt;br&gt;
真想一口气全部读下来。&lt;/p&gt;
&lt;p&gt;……痴人说梦。普通的大学生哪有条件一口气看完呢……&lt;/p&gt;
&lt;p&gt;暗忖：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;博客文章一般按&lt;strong&gt;日期先后&lt;/strong&gt;发表，越新的越前。想要找最老的，必须翻到最后。&lt;br&gt;
按从前往后的顺序，还要翻页&lt;strong&gt;很麻烦&lt;/strong&gt;。中断了，又必须 &lt;strong&gt;记住进度&lt;/strong&gt;（万一忘存收藏夹， 只记得读到那一篇，却不记得那一篇在哪页，那就不好了）。&lt;br&gt;
因此我认为更好的阅读顺序，是从老文章读到新文章。沿时间长河顺流而下，好似历经一次作者成长的过程。然而， 那不得从博客分页的最后一页翻到第一页吗……&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;况且，老夫已不再是当年那个&lt;em&gt;在电脑上看小说的&lt;/em&gt;我了。如今早已习惯移动阅读——自己走路时，坐巴士时，拿起手机，都可以看，可谓省时不费事。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;手机阅读，虽不拘时空，仍有局限。譬如网络不稳，又如电量不多。联上网后，耗电增加，可谓两弊叠加。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;灵光一闪，心生妙计——&lt;strong&gt;把博客做成电子书，手机上看&lt;/strong&gt;。&lt;br&gt;
来来来，数一数优点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;制作时可以自定阅读顺序。从老文章一路看到新文章，很平滑&lt;/li&gt;
&lt;li&gt;同上，自定排版格式&lt;/li&gt;
&lt;li&gt;手机离线显示，省电&lt;/li&gt;
&lt;li&gt;阅读进度不会丢失&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;制定计划&#34;&gt;制定计划&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;扒文章
&lt;ul&gt;
&lt;li&gt;分析每篇文章的网址，并下载网页&lt;/li&gt;
&lt;li&gt;分析网页结构，只把文章标题、日期、内容扣下来，其他的不要&lt;/li&gt;
&lt;li&gt;把扣下来的文章，分门别类的保存&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;转换成电子书
&lt;ul&gt;
&lt;li&gt;选取合适的电子书格式，并用恰当的转换工具转换&lt;/li&gt;
&lt;li&gt;生成目录，设计排版&lt;/li&gt;
&lt;li&gt;扉页，作者信息一些可有可无的东西&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;不要怂就是干&#34;&gt;不要怂，就是干&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;./#over&#34;&gt;&lt;!-- raw HTML omitted --&gt;前方技术细节预警，枯燥无聊，&lt;strong&gt;点我跳过&lt;/strong&gt;，不见不烦&lt;!-- raw HTML omitted --&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;扒文章&#34;&gt;扒文章&lt;/h3&gt;
&lt;p&gt;扒文章当然得作&lt;a href=&#34;http://www.baike.com/wiki/%E7%88%AC%E8%99%AB%E7%A8%8B%E5%BA%8F&#34;&gt;爬虫&lt;/a&gt;。做爬虫当然&lt;a href=&#34;http://xiaoxia.org/2012/11/02/python-cralwer/&#34;&gt;得用python&lt;/a&gt;。用python当然得用miniconda发行版，配spyder。&lt;del&gt;哎呀，扯远了&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;python库多，任性。&lt;br&gt;
用哪些库？因为要联网，所以要urllib2；要读写文件，用os；还要分析网页结构，这个一会儿再说。哦，可以先透露一下，全部都是用的内置标准库哟。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;分析网址:&lt;/strong&gt; 这个文章地址啊，too simpile ! 结构形如&lt;code&gt;http://lihuazhi.com/123&lt;/code&gt;其中123换成随便一个什么正整数。开头简直顺利得……&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;下载网页：&lt;/strong&gt; 没想到404等错误直接反馈给了urllib2.urlopen()，枉我分析404页特征一场空。另外得把以图片为主的两个分类排除掉，不下载&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;分析内容：&lt;/strong&gt; 见过太多人吐槽&lt;em&gt;美汤&lt;/em&gt;这个库又慢又不好使，于是我去看了看lxml和Xpath。虽然很多人推荐，很多人用，但搜到的中文资料不多，我这种渣能看懂的更少。勉强看官方文档，懂了一点，然后放弃了lxml。&lt;br&gt;
到头来，分析网页用的工具还是——re！正则表达式，简单易懂！实乃居家旅行，xxxx 之必备良药，打遍天下都不怕不怕啦。用re分析，关键是懂得&lt;code&gt;.+?&lt;/code&gt;和&lt;code&gt;gruop()&lt;/code&gt;，不要漏了&lt;code&gt;re.S&lt;/code&gt;(DOTALL模式)，其他请随意。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;内容缓存：&lt;/strong&gt; 大蟒摸了这么久，数据结构却没用过几个。本来想用从前没用过的 dict 来存。但是&lt;em&gt;哥&lt;/em&gt;发现了逼格更高的结构——类。可以可以，哥也是写过面向对象的人了又一个从0到1的突破哈哈哈。既然确定了类为主体，除了用来存标题日期等的属性以外，不在旗下挂几个方法是说不过去的。于是有了 get() ，有了 save()。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;内容保存：&lt;/strong&gt; 这就是刚刚提到的 save() 干的活，并没什么好说的。之前提取到了带标记含元素的&lt;code&gt;html&lt;/code&gt;代码块，文件直接存为&lt;code&gt;%category%/yymm%title%.html&lt;/code&gt;。别忘了如果目录不存在，还要额外写几行来建个目录。&lt;br&gt;
什么？听说作为&lt;code&gt;html&lt;/code&gt;文件标准格式，前后要有&lt;code&gt;DOCTYPE!htmlheadbodyooxx&lt;/code&gt;？真麻烦，不管了。没那些玩意的&lt;code&gt;html&lt;/code&gt;照样能&lt;strong&gt;在哥的浏览器里显示得好好的&lt;/strong&gt;。谁不服？请咬我！&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;到最后一个环节还真被咬了。我今天算是小小地埋了伏笔一下。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;转epub&#34;&gt;转epub&lt;/h3&gt;
&lt;p&gt;电子书当然要用epub格式的。这种格式，手机、kindle(越狱后)通杀，各种软件支持，排版格式神马丰富全面。&lt;/p&gt;
&lt;p&gt;现在，就差怎么把这么多Html转换成一个EPub格式的电子书了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;尝试一&lt;/strong&gt; github上找了个名叫&amp;quot;html2epub&amp;quot;的py脚本。详询…居然只会把每一个html都换成一个epub。&lt;br&gt;
辣鸡&lt;code&gt;&amp;gt;_&amp;gt;&lt;/code&gt;哼&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;尝试二&lt;/strong&gt; 据说很神奇的&lt;code&gt;pandoc&lt;/code&gt;。按照官方介绍的示例，&lt;a href=&#34;http://pandoc.org/epub.html#a-real-book&#34;&gt;多个文件制epub&lt;/a&gt;，依样画瓢。哦，还做了个脚本生成恶心的、折成很多行的命令行。运行……第一行就报错了。连官网的示例都报错。&lt;br&gt;
哼，辣鸡&lt;code&gt;&amp;gt;_&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;穷则思变。哥这不是典型的用命令行用傻了吗。一门心思想着命令行工具耍起来威风凛凛，殊不知GUI界另有一番广阔天地。啊，又扯远。&lt;!-- raw HTML omitted --&gt;低头默讼：“装逼如风，常伴吾身。无形装逼，最为致命。”&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;尝试三&lt;/strong&gt; 掌上书苑，国内业界知名站点，出了个制作器，叫epubbuilder。取名有范，看起来挺牛的。试看官方介绍：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;书苑开发的ePub电子书制作神器，支持多国界面语言，支持unicode编辑，支持导入Txt、epub、Html、chm、snb等源文件；支持图文混排、音频、视频、多级目录等；方便快捷的界面；无需专业知识也可快速生成一本专业的电子书。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;请注意第一句&lt;strong&gt;神器&lt;/strong&gt;两个字。&lt;strong&gt;敢这么自称的，一般还真有两把刷子&lt;/strong&gt;，比如：&lt;a href=&#34;http://www.zhuishushenqi.com/&#34;&gt;赘述神器&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;国货当自强，就决定是您了，epubbuilder！&lt;br&gt;
下载装好打开。居然得登陆才能继续？还好以老&lt;del&gt;司机&lt;/del&gt;夫多年经验，眼尖发现了“离线”按钮，成功进入。界面上大大地摆着“未授权”。&lt;br&gt;
呃。没授权好像不影响使用吧。开工，批量导入html……&lt;br&gt;
然后！导入了乱码！&lt;/p&gt;
&lt;p&gt;霎时没找到改编码的地方，这不重要。重要的是，“未授权”三个字依然在眼前晃来晃去。&lt;br&gt;
真~辣鸡&lt;code&gt;&amp;gt;_&amp;gt;&lt;/code&gt; 卸了。&lt;/p&gt;
&lt;p&gt;卸归卸，&lt;!-- raw HTML omitted --&gt; 装逼大业 &lt;!-- raw HTML omitted --&gt;可不好半途而废。那么，有没有真正&lt;!-- raw HTML omitted --&gt; 逼格高 &lt;!-- raw HTML omitted --&gt;好用的epub制作工具？&lt;/p&gt;
&lt;p&gt;扯开话题，到底哪种软件才能算highBger？全是洋文？NONONO！高逼格软件一般具有以下特征：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;免费&lt;/li&gt;
&lt;li&gt;开源&lt;/li&gt;
&lt;li&gt;跨平台&lt;/li&gt;
&lt;li&gt;小众&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;哦，不好意思，其实标准只有一个，也就是这个那个第四个。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;尝试四&lt;/strong&gt; 朋友，你听说过“sigil”吗？sigil完全符合前三项标准。&lt;!-- raw HTML omitted --&gt;至于第四项……仁者见智咯&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;sigil真的超好用，功能完善，支持中文。而且，您瞅这华丽的花体字，逼格满满&lt;!-- raw HTML omitted --&gt;，让人单看图标也完全猜不到跟书有关 &lt;!-- raw HTML omitted --&gt;，比&lt;em&gt;某苑&lt;/em&gt;做的某&lt;em&gt;神器&lt;/em&gt;不知道高到哪里去了。
&lt;img src=&#34;https://cloud.githubusercontent.com/assets/8279655/9424704/46e2e2f0-4928-11e5-9d4b-4292267d4aa5.png&#34; alt=&#34;sigil&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;over&#34;&gt;收工&lt;/h2&gt;
&lt;p&gt;一些收尾细节&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;目录、排版，随便搞一搞。目录用两级：文章分类一级，标题一级。 &lt;br&gt;
封面，作者信息，扉页这种东西就真没必要了。因为反正只给自己看。&lt;br&gt;
……（何不众乐乐？因为&lt;strong&gt;版权啊版权&lt;/strong&gt;。没作者授权，老夫是不会传播的）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;俗话说:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;现世报，来得快&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;经上述流程，粗制滥造做出来的电子书，只有&lt;strong&gt;多看&lt;/strong&gt;能正确显示。（还好多看你没有抛弃我TT）&lt;br&gt;
请大家观赏效果图： &lt;strong&gt;如果图片太大，请点击图片以看小图！&lt;/strong&gt;&lt;br&gt;
&lt;img src=&#34;https://cloud.githubusercontent.com/assets/8279655/9424696/2433b932-4928-11e5-85c0-288508eacc50.png&#34; alt=&#34;&#34;&gt;
上图为：原本设定的排版&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cloud.githubusercontent.com/assets/8279655/9424698/24ad3dca-4928-11e5-995f-e54cd65b9a5b.png&#34; alt=&#34;anyview&#34;&gt;
以上是anyview上的显示效果&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cloud.githubusercontent.com/assets/8279655/9424699/251b3b54-4928-11e5-9789-c147f7fd8848.png&#34; alt=&#34;duokan&#34;&gt;
多看阅读&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cloud.githubusercontent.com/assets/8279655/9424700/251cd86a-4928-11e5-9548-461b189262a4.png&#34; alt=&#34;moon+&#34;&gt;
静读天下 Moon+&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;接下来有请搞笑组登台：&lt;/strong&gt;&lt;br&gt;
&lt;img src=&#34;https://cloud.githubusercontent.com/assets/8279655/9424701/26821f62-4928-11e5-8e1d-c6555fef3e62.png&#34; alt=&#34;QD&#34;&gt;
起点读书&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cloud.githubusercontent.com/assets/8279655/9424697/24773f68-4928-11e5-8688-47bfed107211.jpg&#34; alt=&#34;Yi&#34;&gt;
网易云阅读&lt;/p&gt;
&lt;section class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;Google Reader 挂掉后，还有&lt;a href=&#34;https://www.v2ex.com/t/71580&#34;&gt;不少替代方案&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;参见后文提到的“现世报”&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;

        
      </description>
    </item>
    
    <item>
      <title>段子锦囊</title>
      <link>/joke-ep/</link>
      <pubDate>Thu, 23 Oct 2014 00:00:00 +0800</pubDate>
      
      <guid>/joke-ep/</guid>
      <description>
        &lt;blockquote&gt;
&lt;p&gt;曾几何时，我也是一枚活跃在_QQ空间_的段子手。如今QQ空间不常用了，遂撷取段子，结成锦囊。这样他们就不会溜掉了。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;蟹六跪而二螯，无如寡人之用心者，于人为可讥也&lt;/li&gt;
&lt;li&gt;妙蛙种子总是叫“种子，种子”。进化到妙蛙草，就不说话了。&lt;/li&gt;
&lt;li&gt;&amp;ldquo;王老吉&amp;quot;可以倒过来念的。&lt;/li&gt;
&lt;li&gt;经过一番仔细钻研，我现在知道了那个密封胶圈是可以被抠坏的。我特么宁可不知道这么个知识点。&lt;/li&gt;
&lt;li&gt;看来国庆放假要（通过字幕）研究一下日本文化了&lt;/li&gt;
&lt;li&gt;超级课程表的传单说，“每三个大学生就有一个用它”，敢情剩下俩都用&lt;strong&gt;课程格子&lt;/strong&gt;。。&lt;/li&gt;
&lt;li&gt;长沙话方言小讲堂：什么，一般说“莫子”，更强烈的语气用“哦改”。比如“要哦改”=要做什么，“个丝哦改”=这是为什么。。但当你听见“你要哦改咯”时，就需要注意了！那是他在向你表示友善。为保持礼貌，你也应该回应同样的话。(来自长沙市民俗文化宣传小组)&lt;/li&gt;
&lt;li&gt;代沟小测试：问你们粑粑麻麻如下两个问题：&amp;ldquo;您思路广不广?&amp;quot;、&amp;ldquo;您欢乐多不多?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;猪油碱,明皇帝No.16,主要用于制作肥皂&lt;/li&gt;
&lt;li&gt;在你面前我頓時擁有了身為人類的優越感&lt;/li&gt;
&lt;li&gt;切，霓虹话什么的，我也会说呀： “你滴！神马滴干活！死啦死啦滴！”&lt;/li&gt;
&lt;li&gt;&amp;ldquo;哼，才不告诉你开启外挂的方式其实是alt+F4呢（●＾o＾●）&amp;rdquo;&lt;/li&gt;
&lt;li&gt;第二句话是假的。第一句话是真的。&lt;/li&gt;
&lt;li&gt;大葱鸭因为炖汤味道鲜美，绝种。但，其实，还是有一类珍惜变种保留下来——初音&lt;/li&gt;
&lt;li&gt;必不得以而去，于斯n者何先？子曰：去死！！&lt;/li&gt;
&lt;/ul&gt;

        
      </description>
    </item>
    
    <item>
      <title>网文发展史说</title>
      <link>/web-fic_nav/</link>
      <pubDate>Wed, 22 Oct 2014 00:00:00 +0800</pubDate>
      
      <guid>/web-fic_nav/</guid>
      <description>
        &lt;p&gt;回首网文发展史，可谓岁月峥嵘、风云变幻。一些资深读者指点江山。在此收集资料，做一篇汇总，以飨感兴趣的读者。&lt;/p&gt;
&lt;p&gt;（下文及书单所提观点偏好，仅为网络搜集，不反映本人真实喜好）&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;http://www.huxiu.com/article/11144/1.html&#34;&gt;网络文学的前世今生&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;http://www.tingtaoge.com/thread-43272-1-1.html&#34;&gt;网络小说扫盲&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;http://www.zhihu.com/question/23509804&#34;&gt;中国网络小说的发展历程大体是怎样的？&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;http://blog.sina.com.cn/s/blog_4989152f01000a8f.html&#34;&gt;网络小说书站沉浮启示录&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;http://www.douban.com/doulist/229262/&#34;&gt;某豆瓣书单&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>洗镜之时</title>
      <link>/time4polish-the-lens/</link>
      <pubDate>Thu, 01 Jan 1970 17:01:55 +0800</pubDate>
      
      <guid>/time4polish-the-lens/</guid>
      <description>
        &lt;h2 id=&#34;微时代-de-老顽固&#34;&gt;微时代 de 老顽固&lt;/h2&gt;
&lt;p&gt;当下，城里人习惯于在坑上、路边、车里，捧起手机，手指轻划，把各大&lt;!-- raw HTML omitted --&gt; 广告 &lt;!-- raw HTML omitted --&gt;媒体的推送匆匆浏览而过；3、5分钟足以刷上几则段子或一组萌猫动图。&lt;/p&gt;
&lt;p&gt;微博微信的微时代，舞台属于碎片化、扁平化、视觉化的图文讯息。&lt;/p&gt;
&lt;p&gt;浪潮汹涌，大势所趋。此情此景，BLOG、RSS格格不入，俨然积年的老古董。&lt;/p&gt;
&lt;p&gt;上述文字，如果发表在blog中，不是落伍者的喟叹，就是老顽固的坚守。&lt;br&gt;
不才忝列后者。&lt;/p&gt;
&lt;p&gt;有人不解——&lt;strong&gt;都什么年代了，还写博客？&lt;/strong&gt;&lt;br&gt;
这时，独立博主们昂起头颅，纷纷亮出神兵：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;刘未鹏大大的&lt;a href=&#34;http://mindhacks.cn/2009/02/15/why-you-should-start-blogging-now/&#34;&gt;为什么你应该（从现在开始就）写博客&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;陈素封的&lt;a href=&#34;http://zhuanlan.zhihu.com/cnfeat/19743861&#34;&gt;为什么你要写博客？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;以及知乎上随手找的&lt;a href=&#34;http://www.zhihu.com/question/19626397/answer/12804231&#34;&gt;博客还有前途吗？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;几篇文章看下来，虎躯一震，顿时醍醐灌顶：&lt;strong&gt;写博高端千般好，一不留神成大神。&lt;/strong&gt; 便浑身上下，充满力量，热血上头，仿佛立马就能大干一场。&lt;/p&gt;
&lt;p&gt;冷静下来，方见初心↓：&lt;/p&gt;
&lt;h2 id=&#34;夙愿起源_中二年代&#34;&gt;夙愿起源→_→中二年代&lt;/h2&gt;
&lt;p&gt;从四年级开始，网络小说一直是我最爱。看博客是初中养成的爱好了。&lt;br&gt;
起初只会将偶遇好文放到浏览器收藏夹，后来才发现，这些网站大多都有叫【订阅功能】的东西。自己刚好也有Google 账号，便顺理成章成了Google Reader 深度用户&lt;code&gt;(伪)&lt;/code&gt;。即使后来 &lt;code&gt;Google Reader&lt;/code&gt; 倒闭，这一爱好也根深蒂固了。&lt;/p&gt;
&lt;p&gt;这些博主，大多扮演着高人，大侠，英雄好汉的角色。中二少年心中，日益增长了崇敬之情。&lt;/p&gt;
&lt;p&gt;种子播下，生根发芽：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;有朝一日，少年也将成大侠？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;注：↑只是文学虚构。真实的故事是，觉得有块自己的地盘，是一件很棒的事&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;话外篇-进击的中二&#34;&gt;话外篇 进击的中二&lt;/h3&gt;
&lt;p&gt;初中总和一位热爱玩电脑的&lt;a href=&#34;http://www.jackh.cn/&#34;&gt;同学&lt;/a&gt;混在一起。有段时间，他热衷于建设网站。在他影响下，也懂了一点相关知识。&lt;/p&gt;
&lt;p&gt;独立博客不再那么高大神秘了。少年的心也开始躁动，火热起来。然而，自己也只是每月10块零花钱（还经常花不完），也不敢在网上充值的乖学生；即使最便宜的收费的空间/域名，看起来都像天文数字。结果是：煞费苦心找免费域名空间，菜鸟搭建了第一个wordpress站点。(实际上陆续搭了两三个)&lt;br&gt;
&lt;code&gt;ps: （以现在价值观看来，找免费的还不如用收费的，因为时间精力成本更宝贵啊）&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;中学的博客，最终放弃了，原因无非是&lt;!-- raw HTML omitted --&gt; 访问速度渣、域名挫 &lt;!-- raw HTML omitted --&gt; 懒。&lt;code&gt;【中学生每天作业写不完。书都读不好，你要他认真写博客？……  &lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;拥有自己的独立博客&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;还好还好，这个执念，一直在。&lt;br&gt;
大学生了。有种错觉，叫“可以随便花钱反正父母也不知道”。&lt;a href=&#34;http://www.godaddy.com/&#34;&gt;狗爹&lt;/a&gt;上恰好看到“优惠首年80元wordpress托管送域名”，就剁手搞起了。取名叫——“荀木狼之域”&lt;/p&gt;
&lt;p&gt;这名字怪怪的？&lt;/p&gt;
&lt;h2 id=&#34;荀木狼与掌故大师&#34;&gt;荀木狼与掌故大师&lt;/h2&gt;
&lt;p&gt;荀木狼既不姓荀，也不属狼。&lt;br&gt;
网名源自于一个已经弃坑的&lt;a href=&#34;http://free.qidian.com/Free/ShowBook.aspx?bookid=32408&#34;&gt;小说&lt;/a&gt; ，以缅怀这个&lt;strong&gt;夭折神作&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;作者_索大妈_有个大书袋，掌故颇多；而我也热衷考据，好奇，爱刨问秘辛。博客新名，也姑且算个掌故吧。&lt;/p&gt;
&lt;p&gt;上纪博客快满周岁时，受到&lt;a href=&#34;http://www.yangzhiping.com/tech/writing-space.html&#34;&gt;一种极简、纯粹思想&lt;/a&gt;的影响，我决心踏上&lt;a href=&#34;https://ipn.li/kernelpanic/3/&#34;&gt;静态博客&lt;/a&gt;这条
&lt;!-- raw HTML omitted --&gt; 邪 &lt;!-- raw HTML omitted --&gt;路。&lt;br&gt;
&lt;!-- raw HTML omitted --&gt;其实是因为服务器恢复原价，续费没有优惠了&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;与此同时，借机改名，是希望它能够承载两重寄寓：&lt;/p&gt;
&lt;h2 id=&#34;鉴明自我映察世间&#34;&gt;鉴明自我，映察世间&lt;/h2&gt;
&lt;p&gt;崂山道士有纸圆如镜，贾瑞有风月宝鉴。
传说故事中，镜类的法宝总有不可思议的功能。&lt;br&gt;
鉴明自我，映察世间。&lt;br&gt;
这样的期望做不做得到，来日方长，诸君共勉。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;（实在编不下去，强行结尾了orz）&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;2015.8.4&lt;/p&gt;

        
      </description>
    </item>
    
    <item>
      <title>传送阵</title>
      <link>/link/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/link/</guid>
      <description>
        &lt;h2 id=&#34;芳邻&#34;&gt;芳邻&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.jackh.cn/&#34;&gt;Jack.H&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://beyoursven.me/&#34;&gt;BeYourSven&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;注册有礼&#34;&gt;注册有礼&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;独乐乐不如众乐乐,
通过邀请链接注册, 你我双赢.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://workflowy.com/invite/2f2f03b3.lnx&#34;&gt;Workflowy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://db.tt/GwsRGtfeDK&#34;&gt;Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://m.do.co/c/66c1aa97c16f&#34;&gt;DigitalOcean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://wechat.com/invite?type=smsinput&amp;amp;args=4bwqwdGA%2Bq0Rh80%2FHbmqZQ%3D%3D&amp;amp;rt=8&#34;&gt;WeChat Out&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

        
      </description>
    </item>
    
    <item>
      <title>關於 / 关于</title>
      <link>/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/about/</guid>
      <description>
        &lt;h2 id=&#34;何谓妙镜&#34;&gt;何谓妙镜？&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;这妙镜属白驹八宝之一，是荀因健的，此镜可通六道，自观前世，据说是游奕灵官取西海龙王三太子小白龙受刑时的泪水铸成，小白龙前世为龙后世为马，由道入佛，所以此镜又名龙马宝镜。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;—— 《阴阳学堂》玄武藏头 65.贯喉&lt;/p&gt;
&lt;h2 id=&#34;无谓的自述&#34;&gt;无谓的自述&lt;/h2&gt;
&lt;h3 id=&#34;好恶-wu&#34;&gt;好恶 wu`&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;naïve 的小伙子，
要经常向身经百战，见多识广的长者学习，
以提高知识水平。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;自封网络小说&lt;strong&gt;老龄读者&lt;/strong&gt;. 平时喜欢上网, 玩电脑, 看书.&lt;br&gt;
当你听到我说&amp;quot;上网/玩电脑/看书&amp;quot;, 那多半是&amp;quot;看网络小说&amp;quot;换了个说法.
哈哈哈哈哈&lt;/p&gt;
&lt;p&gt;吃穿唯求饱暖, 见闻贪得新奇.&lt;br&gt;
讨厌没有创意的创造, 渴望改变常识的新知.&lt;/p&gt;
&lt;p&gt;健忘不健谈, 失眠难失志.&lt;br&gt;
邮件胜过短信, 博客重于动态.&lt;br&gt;
(咦我为什么要写骈句?&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.nciku.cn/search/en/detail/power%20user/816684&#34;&gt;Power User&lt;/a&gt;担当, 心向&lt;a href=&#34;https://yitianshijie.net/13&#34;&gt;开放的万维网&lt;/a&gt;, 不喜&lt;a href=&#34;https://blog.yitianshijie.net/2017/06/02/wechat-and-facebook-and-anti-web/&#34;&gt;微信脸书&lt;/a&gt;, 大爱 Telegram .&lt;/p&gt;
&lt;p&gt;打字惯用半角标点, 学自&lt;a href=&#34;https://www.zhihu.com/question/19981206/answer/13550846&#34;&gt;文悦字体老板 厉向晨&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;以前老觉得自己有&lt;a href=&#34;http://www.amazon.com/The-Renaissance-Soul-Passions-Practical/dp/1615190929&#34;&gt;文艺复兴时期的灵魂&lt;/a&gt; ,
现在病好了.
生活所迫.&lt;/p&gt;
&lt;h3 id=&#34;改过&#34;&gt;改过&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;见识少, 词穷,
偏偏热衷考据, 不玩梗会死&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;沉迷上网查资料,
以致于通过宵.
(多巴胺背锅中)&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;一书--二人--三章&#34;&gt;一书 , 二人 , 三章&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;以此定义精神生活的坐标系.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&#34;阴阳学堂&#34;&gt;《阴阳学堂》&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;故纸堆里当世巅峰&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;作者索索明, &lt;!-- raw HTML omitted --&gt;现已重新出道&lt;!-- raw HTML omitted --&gt;
, 新笔名雾山修.&lt;/p&gt;
&lt;p&gt;逢人每次称赞 《阴阳学堂》, 每次安利失败后反省, 觉得都怪自己没说到味.&lt;br&gt;
有人称之为东方玄幻版 《哈利波特》 ;  可《哈利波特》 与之相比, 设定太过薄弱, 情节有些直白.&lt;br&gt;
风格定性&amp;quot;现代中式考据神秘学&amp;quot;, 还行.&lt;/p&gt;
&lt;p&gt;申明,
鄙博,
乃至&lt;a href=&#34;https://workflowy.com/s/EXsB.pBEjMCYNDl&#34;&gt;整个博客集群计划&lt;/a&gt;
命名都来自这本书.&lt;br&gt;
(用来祭奠
……
哈哈哈哈哈)
(周星驰笑)&lt;/p&gt;
&lt;h4 id=&#34;偶像&#34;&gt;偶像&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;弱水三千瓢, 你想怎么舀&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;欣赏许多博主,
崇拜两尊大神:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.yangzhiping.com&#34;&gt;阳志平&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://lihuazhi.com&#34;&gt;李华治&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;佳作&#34;&gt;佳作&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;寤寐求宏道, 妙手得华章&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;总有几篇文章,
对人影响深远&amp;hellip;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://lihuazhi.com/485&#34;&gt;人生导师的倒掉&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;厚积薄发, 酣畅淋漓。装逼有态度，逗趣成艺术。
（或许是李华治流传最广文章）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;《再见，2014》（&lt;a href=&#34;http://t.cn/RVfKJ5p&#34;&gt;上&lt;/a&gt;，&lt;a href=&#34;http://t.cn/RVfKSX0&#34;&gt;下&lt;/a&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;大一期末有幸看到，深受震撼. 从此视阳老先生为偶像.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.acuriousmix.com/2014/09/03/designing-a-personal-knowledgebase/&#34;&gt;Designing a Personal Knowledgebase&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;高山流水, 深得我心.&lt;br&gt;
求之未得, 遗恨千秋.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;个人主页的构成&#34;&gt;个人主页的构成&lt;/h2&gt;
&lt;h3 id=&#34;201709-版&#34;&gt;201709 版&lt;/h3&gt;
&lt;p&gt;网站模版,
构建过程,
均源自&lt;a href=&#34;https://yihui.name/cn/about/&#34;&gt;统计学家 谢益辉&lt;/a&gt;,&lt;br&gt;
因此同样地, 强烈建议读者安装&lt;a href=&#34;https://yihui.name/cn/2017/04/source-han-serif/&#34;&gt;思源宋体&lt;/a&gt;
以获得最佳浏览效果&lt;/p&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;发布流程尚有改进之处, 完善后会贴出完整发布流程以供参考.&lt;!-- raw HTML omitted --&gt;
那个“改进之处”可以说是吹毛求疵，懒得搞了，发布流程请见&lt;a href=&#34;https://www.cxumol.com/post/hexo-to-hugo/&#34;&gt;妙镜改版始末&lt;/a&gt;
之 “在云端” 。&lt;/p&gt;
&lt;p&gt;大二改版那次, 为表明写博客来由, 写了 &lt;a href=&#34;https://www.cxumol.com/post/time4polish-the-lens/&#34;&gt;洗镜之时&lt;/a&gt;
;
现在回头来看, 也不算太过时.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;see also:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;微博客: &lt;a href=&#34;https://t.me/cxumolket&#34;&gt;荀氏传盒&lt;/a&gt; (Telegram Channel)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Contact:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Email: cxumol😂etlgr.com&lt;/li&gt;
&lt;li&gt;Telegram: &lt;a href=&#34;https://t.me/cxumol&#34;&gt;😂cxumol&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

        
      </description>
    </item>
    
    <item>
      <title>鼓励作者</title>
      <link>/donate/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/donate/</guid>
      <description>
        &lt;p&gt;莫使金樽空对月&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/sponsors/cxumol&#34;&gt;https://github.com/sponsors/cxumol&lt;/a&gt;&lt;/p&gt;

        
      </description>
    </item>
    
  </channel>
</rss>