<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Productivity on Yerong Li</title>
        <link>https://014af258.yerong-li.pages.dev/tags/productivity/</link>
        <description>Curious about how the world works. Building, writing, learning.</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <managingEditor>ping@yerong.li (Yerong Li)</managingEditor>
        <webMaster>ping@yerong.li (Yerong Li)</webMaster>
        <copyright>© 2024-2026 · CC BY-NC 4.0</copyright>
        <lastBuildDate>Mon, 08 Jun 2026 13:17:37 +1000</lastBuildDate>
        <atom:link href="https://014af258.yerong-li.pages.dev/tags/productivity/index.xml" rel="self" type="application/rss+xml" />
        <item>
            <title>Site Log 02: Writing Without Friction</title>
            <link>https://014af258.yerong-li.pages.dev/posts/2026/06/site-log-02-writing-without-friction/</link>
            <pubDate>Mon, 08 Jun 2026 13:17:37 +1000</pubDate>
            <author>ping@yerong.li (Yerong Li)</author>
            <guid>https://014af258.yerong-li.pages.dev/posts/2026/06/site-log-02-writing-without-friction/</guid>
            <description>Discover how Yerong Li streamlined their writing process by integrating Obsidian and leveraging iCloud for idea capture and publishing.</description>
            <content type="html"><![CDATA[<h4 id="writing-workflow-with-obsidian">Writing workflow with Obsidian</h4>
<p>5 月 11 号的这次更新，进一步把一些写作流程自动化了。</p>
<p>之前用 Hugo 写作，需要先在 terminal 里跑命令生成新的 Markdown 文件；写完后，还要再回到 terminal 里构建并推送。整个流程分散在多个地方。如果我想在文中引用图片，还需要把图片特别放到某个目录下。对一个原本应该顺畅的写作过程来说，这些摩擦都太明显了。</p>
<p>最开始我想象中的理想状态，是能直接在自己的网站上写作并发布。但和 AI 讨论几轮后，我意识到这件事的工程量其实很大：自己写编辑器的体验大概率不如现成工具，还需要考虑认证、存储、后端和部署成本。于是平衡之后，我选择把本来就很习惯的 Obsidian 融合进来。现在从创建新 post，到插入图片，再到最后 git push，都可以尽量在同一个写作窗口里完成。</p>
<p>这样的事情还有很多。想要实现什么，总是有成本的。一个现实的理想主义者必须不断做这样的考量和决策，才能让一个不那么糟的东西真正成型。前段时间看《巴拉巴西成功定律》，里面提到 Q 因子，可以简单理解为一个人把想法转化为成果的能力。若再细究，我觉得它也包含一种“妥协并推动”的能力。这里的妥协并不是降低标准，而是为了推动一个实体的产生。它远比一个单纯好的 idea 更重要。</p>
<h4 id="voice-to-inbox---capture-ideas-anytime">Voice to inbox - capture ideas anytime</h4>
<p>写作的另一个摩擦，是表达冲动的收集。很多想要表达的东西，并不是产生于正襟危坐在电脑前、准备开始写作的那一刻，而是发生在更早之前，更随机的场合。</p>
<p>考虑到场景和成本，我最后确定使用 iPhone 自带的 Shortcuts 和转录能力。转录效果没有那么理想，但在当前阶段已经够用。后续如何触发自动写入，在和 AI 讨论时出现过几版方案。</p>
<p>最初，在 Claude 和 ChatGPT 的一致确认下，我继续尝试使用 Telegram bot 来接收转录信息，并进一步通过 Cloudflare Worker 写入本地 Obsidian 的 inbox 文件。但实际测试后发现，这条链路并不成立。更准确地说，Telegram Bot API 本身可以接收消息，也可以发送消息；真正的问题是，运行在 Cloudflare 上的 Worker 没有办法直接写入我 Mac 本地的 Obsidian vault，除非我另外暴露一个本地服务、使用同步目录，或引入额外的中转层。也就是说，Telegram 可以作为消息入口，但它并不能神奇地绕过本地文件系统的边界。</p>
<p>实践中的失败也纠正了 AI 一开始给出的幻觉。确认“此路不通”之后，我们换了另一个方案：使用 iCloud 做中转。这个方案最开始被我否决，是因为我以为它会带来额外成本，而我并不想为了这件小事再花钱买 iCloud。后来经 AI 解释，这类文本数据量非常小，免费空间远远够用，而且它本来就在 Apple 生态内，和 Shortcuts 的连接也更自然。</p>
<p>这次经历很好地说明了如何应对 AI 的幻觉问题：要么依靠人类原本就有的相关知识，提前意识到方案行不通；要么就靠实践出真知。而现实中，绝大多数情况都是后者。</p>
<h2 id="english-version">English version</h2>
<h4 id="writing-workflow-with-obsidian-1">Writing workflow with Obsidian</h4>
<p>The update on May 11 further automated parts of my writing workflow.</p>
<p>Previously, writing with Hugo meant running a command in the terminal to create a new Markdown file. After writing, I had to return to the terminal to build and push the site. The whole process was split across several places. If I wanted to reference images in a post, I also had to put them into a specific folder. For something that should feel like writing, there was too much friction.</p>
<p>At first, my ideal state was to write and publish directly on my own website. But after a few rounds of discussion with AI, I realized that the engineering cost would be quite high. A self-built editor would probably be worse than existing tools, and I would also need to think about authentication, storage, backend logic, and deployment costs. So I chose a more balanced path: integrating Obsidian, a tool I already use comfortably. Now, creating a new post, inserting images, and finally running git push can all happen as much as possible within the same writing window.</p>
<p>There are many more things like this. Everything I want to build comes with a cost. A practical idealist has to keep making these trade-offs and decisions in order to make something real, even if it is imperfect. In <em>The Formula</em>, Barabasi writes about the Q factor, which can be roughly understood as the ability to turn ideas into outcomes. Looking more closely, I think it also includes the ability to compromise and keep pushing. This kind of compromise is not about lowering standards; it is about helping something concrete come into being. That matters far more than simply having a good idea.</p>
<h4 id="voice-to-inbox---capture-ideas-anytime-1">Voice to inbox - capture ideas anytime</h4>
<p>Another source of friction in writing is capturing the impulse to express something. Many things I want to write do not appear at the moment when I sit properly in front of a computer and decide to start writing. They happen earlier, in more random places.</p>
<p>Given the context and cost, I eventually chose to use iPhone Shortcuts and the built-in transcription capability. The transcription quality is not perfect, but it is good enough for now. The next question was how to trigger the content to be written automatically, and during my discussions with AI, several possible designs came up.</p>
<p>At first, with both Claude and ChatGPT agreeing, I tried to keep using a Telegram bot to receive the transcribed text, then have a Cloudflare Worker write it into the local inbox folder of my Obsidian vault. In practice, that chain did not work. More precisely, the problem is not that the Telegram Bot API can only receive messages and cannot send them. The Bot API can do both. The real issue is that a Worker running on Cloudflare cannot directly write to my local Obsidian vault on my Mac unless I expose a local service, use a synced folder, or introduce another relay layer. Telegram can be a message entry point, but it cannot magically bypass the boundary of the local filesystem.</p>
<p>That failure in practice corrected the hallucination AI gave me at first. Once we confirmed that this route was blocked, we moved to another design: using iCloud as the relay. I initially rejected this option because I thought it would create extra cost, and I did not want to pay for more iCloud storage just for this small workflow. But after AI explained it, the amount of text involved is tiny, the free tier is more than enough, and iCloud already lives inside the Apple ecosystem, which makes it much easier to connect with Shortcuts.</p>
<p>This experience is a good example of how to deal with AI hallucination. Either you rely on relevant knowledge you already have and notice early that a plan will not work, or you let practice reveal the truth. In reality, most cases are solved through the second path.</p>
]]></content>
        </item>
        
    </channel>
</rss>

