2025-03-07 14:01:30
终于实现了,在 org-mode 里直接嵌入视频、PDF、网页等多媒体内容了。
功能
支持在 Org-mode 中嵌入各种视频平台的视频 支持在 Org-mode 中嵌入任意网页 支持在 Org-mode 中嵌入 PDF 文件 模块化设计,易于扩展支持更多内容类型
支持的视频平台
YouTube Bilibili Vimeo Dailymotion TED Talks
本地视频文件
支持的其他内容 任意网页 PDF 文件(本地)
2025-03-05 09:52:36
由于自己开发了一个叫 org-supertag 的 Emacs 插件,一直在思考:
总之,结合最近的思考,我给 org-supertag 开发了新的功能,对以上这 3 个问题进行了回应:
标签是一种集合,共同添加到同一对象上的标签具备联系
很多人抱怨标签不好用,尤其使用一段时间后,标签数量膨胀,像多年未整理的仓库,让人失去整理动力。这种痛苦源于工具将标签视为简单标记,仅用于搜集资料,忽视层级与分类。更关键的是,工具缺乏对标签的组织和管理能力,导致数量过多时,用户陷入管理无能的困境,标签从帮手变成负担。
我在思考“标签如何更有用”时,发现标签本质上是一种集合,汇聚被标记事物的共性。例如,“工作”标签集合会议记录、任务清单和邮件,“学习”标签包括笔记、文章和视频。这种集合视角让我联想到推荐算法——大数据和AI通过为数据打标签,并挖掘标签间联系,实现精准推荐。
我想将推荐算法的机制应用于个人管理中。如果把标签视为动态集合,并赋予标签间关系,就能形成网络状结构化体系。例如:
“工作”与“deadline”关联,提醒任务紧急性;
“读书”与“笔记”形成层级,梳理学习脉络;
“旅行”与“预算”并列,方便规划。
这样的系统能消除标签数量膨胀带来的混乱,让用户在信息中自由切换视角。例如,面对项目,你可通过“时间”查看进度,“团队”检查分工,或“资源”评估需求。这种多维度思考是网络化标签的核心优势。
所以,我为 org-supertag 新增加了如下功能:
## 为标签与标签之间设定关系 org-supertag-relation-manage
在如何帮助人发现标签关系这件事上,我进一步思考,发现不少标签会添加到同一个对象上。这意味着,这这些同时出现的标签,存在着内部关系。我们可以快速通过「同现」这一关系,找到相互关联的标签。
因此,在标签关系的管理界面可以看到「Co-occurrence Tags」这一栏,可以直接看到一起出现过的标签。在我们添加标签关系时有重要的参考意义。
这里有两个小功能:
Find By Relation,可以找到存在着关系的标签。 Find By Relation Group,可以基于标签关系组找到存在着关系的标签。 这两点可以提供比较丰富的发现维度。
隐式发现信息结构 org-supertag-tag-discover
标签发现面板,是一种渐进式过滤的机制。可以在添加了一个标签的同时,添加另外的标签,寻找位于两个标签之间的交集里的笔记(笔记节点)。
同样,它会有 Co-occurring Tags 一栏,可以看到此间一起出现过的标签,并将它们直接添加为过滤条件,像放大镜一样,一点点变得具体。
换言之,这里存在着一种发现路径,这个发现路径将你第一次添加为过滤条件的标签,视为一个入口。如果这是一个箱庭世界,就可以通过不断添加标签,从而方便自己回顾和寻找对应的笔记。
在这个过程中,如果不断重复这一发现过程,路径本身就是结构化的象征,自然而然,在不断设计标签关系,以及发现标签的交集时,这种结构化自然地会印在脑海里。
多列对比视图 org-supertag-column
如果把标签视为集合,为了方便不同的集合之间的对比,应该以一种列状视图来表现。
在 Multi-Colmn Tag View 中,可以快速地添加标签,进行对比,同时,还可以通过 Add Realated Tag,来将相关联的标签放在一起进行对比。
内联标签 org-supertag-inline-insert-tag
当然,将多个标签添加到同一个对象是吃力的。尤其是当前大部分工具添加标签的过程,在思考标签的时候都花了太多时间。
我提出的解决方案是,让 org-supertag 支持内联标签。让人在自然输入的过程中,直接输入标签。以 # 作为前缀。
2025-03-03 22:20:00
我第一次知道到「封装」这个词,是初中时,当时买来第一本《微型计算机》兴致勃勃地翻看,里面介绍了基础 CPU 的运行原理,当然也提到了 CPU 制造完成之后,为了保护脆弱的硅晶片,需要在芯片之外进行封装,把它完全包起来。
在竞争激烈的商业世界里,将某样业务,某种技术发明,某种商业模式,某种资源,某种特权,完全包起来,是否可以视为一种「封装」?我认为,尽管作用对象不同,但动作定义一致,因此在谈及商业时,的确可以使用「封装」这个词。
我觉得这个「封装」,相比「垄断」这个单纯的名词,更能适合描述商业的基本的行为,以及可以解释处于正在发生时的现象。
作为一个动词, 「封装」更加形象的形容了商业竞争的本质,而且可以比垄断更早描述,而非等待一切尘埃落定,再用倒后镜视角来形容。「封装」永远在路上,每一个参与市场竞争的商业组织,都在试图把某样东西包起来。
2025-03-01 15:57:08
因为用 cursor 经常爆仓,所以也订了 Windsurf。
但后来很少用 Windsurf,因为之前 agent 模式用着有点难受,尤其一份源文件突破 500 行代码的时候,它就开始乱看跟乱搞了。
你都不知道给它添加 context 的意义是什么,经常偷懒不看,即便明确指明某处代码需要参考都无用……还有经常的说无法修改文件的问题,糟心。
但如今 Claude 3.7 出来之后明显感到不一样,当然也和 Windsurf 自己积极更新有关,现在使用下来明显感到,Winsurf 的代码助手,起码达到了老实,又聪明的程度。该参考的代码,勤勤恳恳地去参考,遇到不懂的,也会好好地翻看和参考。
现在可以说,给 Windsurf 添加 context 是很有意义的,因为添加了它肯定看,肯定参考,来回回地,看着它自己调优和纠错。
Claude 3.7 + thinking,这个大模型的推理能力很强,但在 cursor 下的表现同比 Winsurf,有差距。最关键的还是,我刚才说,cursor 下的大模型,真的不愿意参考你之前写的代码,能偷懒就偷懒。尽管它看上去挺快的,但出错的概率也大。Windsurf 就比较简单,需求讲清楚,它帮你演绎,代码的错误还少。