这一个条目在 Trello 的代办事项中已经躺了快两周,期间一直在寻找合适的任务提醒 app 能够来帮助初期养成一定的习惯,没想到寻寻觅觅最后竟然又回到了 Google Calendar 的怀抱。
培养习惯
个人原来就有一习惯,对于需要长期规划的有固定时间的事情一般都会记录在 Google Calendar 中,比如周期性长时间的课程,或者一次性的旅程时间安排等等,而对于非周期性任务用 Trello 来管理,所以一直想要寻找一个能够周期性提醒,关键是要手机通知栏提醒,但是使用起来又比较方便(可以一键 mark as done,定制任务快捷)的应用,下面
Read more ...
重构第一步,构造可靠的测试环境。
What
任何可以立即查阅的东西,都故意不去记忆。
什么是重构
重构,对软件内部结构调整,在不改变外部可观察行为的前提下,提高其可理解性,减低修改成本。
重构难题
对于修改接口,能获取所有调用者,那么可以安心修改。如果无法修改全部调用者,如果是公开已经发布的接口,就需要同时维护新旧两个接口,直到所有用户将该变化做出反应。
How
Duplicated Code
重复代码提炼。兄弟类,则推到 super class,如果是不完全相同的,则分解方法提炼统一的方法。
Long method
小函数准确的命
Read more ...
Executor:多 Agents 和外部世界之间的统一代理层
同时使用 Claude Code,Codex,Pi,OpenClaw 等等 Agent 工具时有一个非常尴尬的状况,就是不同的 Agent 工具维护了不同的配置格式,如果要配置 MCP server 就需要分别到不同的配置文件中定义,相同的配置散落在系统的各个角落中。同一份 API Key 也需要重复粘贴到不同的配置中,更麻烦的是如果一旦有更新或者 API Key 变动就需要重复修改多个地方,我之前还调查过如何[[跨平台管理 MCP]],主要的思路还是通过脚本和同步来对齐配置,但本质上还是在管理多个副本,直到我看到了 Executor 这个项目。
把 Android 手机当成 USB 无线网卡:以及那些被低估的安卓妙用
昨天我把一块装着 [[Proxmox VE]] 系统的硬盘从之前的 SER8 拆下来,插到 4 盘位的 Me Pro 上,本以为开机就能继续用,结果卡在了最基础的一步:Me Pro 的物理网口和我原来的网口对不上,物理网口变更了名字导致无法上网。屏幕上 PVE 的控制台在闪,ip addr 里却无法找到两个物理网口,Web 管理界面自然也打不开。
Ignis:把 Obsidian 变成真正的自托管网页应用
用 [[Obsidian]] 记笔记这么多年,有一个需求一直没有被很好地解决,那就是在浏览器里直接访问自己的笔记库。Obsidian 官方一直没有推出 Web 版本,过去想要在别人的电脑上、或者在不方便安装客户端的环境里查看和编辑笔记,要么依赖远程桌面这种笨重的方案,要么就只能把笔记渲染成静态网站,牺牲掉编辑能力,或者通过 SSH 登录我的 macOS 通过命令行方式访问。最近我发现了一个叫 Ignis 的开源项目,它的口号非常直接:Run Obsidian as a self-hosted web app. Not remote desktop, an actual web app。它不是远程桌面,而是让 Obsidian 真正跑在浏览器里,体验下来确实让我眼前一亮,这篇文章就来聊聊它。