去年开始博主我大致确立了一个以 RSS 聚合为主,其它信源随缘查看的资讯订阅流程。其中一大需求是同步不同客户端的阅读记录,需要一个服务器端运行的订阅器。当时用的是 Tiny Tiny RSS 和它的 fever 插件,结合 tt-rss 安卓客户端和 Reeder 实现。

忙起来之后,碎片信息积攒得多了,有点超载。闲暇时间,也多消耗在读书类的 APP 和微信的公众号、看一看这类身边人分享的信息之中。加之手上服务器多了,这一套东西也无暇维护,不值得投入精力在反反复复的安装和修改配置上。最近这段时间也逐渐把手头的各个网站都迁移到 Docker,到了 tt-rss 这个站,想不清过去在这里魔改过什么,索性整个服务器重装了,这一套体系被我再次摧毁。

经过这样的建立、崩溃、重组、再崩溃的经历,RSS 这一工具在我的角度的使用场景也明确到了两个字:必读。RSS 满足了从关注的人、关注的领域开始发散的树形结构,与微信构筑的特有的以人的关系网为中心、不刻意的“口耳相传”这样的圈层结构相结合,形成我目前的资讯的主要来源。

RSS 这一块,进一步梳理之后可以得到以下需求:

  • 由于阅读不局限于一个地方,tt-rss 的强大功能反而更不适合,需尽可能地小巧精悍
  • 获得的信息不局限于日常所见,要穿过检查站,不能被 spy 和 filter,传输层加密是必要的
  • 不想在运维上花太多精力,希望安装配置有记录,方便后续的迁移和维护

对应的解决方案:

  1. miniflux:恰到好处的 Web 端阅读器,更新勤快,效率高,支持与各种服务对接。
  2. 域名 + HTTPS:满足加密的需求,Let's Encrypt 有免费的 HTTPS 证书
  3. Docker + Docker Compose:一次配置,一键部署
  4. RSSHub:消息源格式标准化,以便统一订阅

阅读全文 »

周六发现一个安静看书的好去处:科苑站附近的 Dots Coffee。这儿没有星巴克的喧嚣、没有挤满考研考证党后的图书馆的压抑、东西不贵,点杯茶可以坐一整天。一切都刚刚好。

所以周日又来到了这里。两天来我都在整理手里的英文版龙书 PDF,这文档目录书签不完全,为了和 MarginNote 对上,得手动用 Acrobat 给它一个小节一个小节地加上,1000 多页的书,两天弄完,想来也当作对这本书的框架的一种熟悉吧。

一个领域的知识就像是一座山,这座山只存在于心灵的世界,只有在内心足够平静的时候,才可能构建起来;在它足够强大之前,实在是不堪一击,外界的一点点干扰都可能把它摧毁殆尽。在这两天我也渐渐地感受到心中那片名为“编译原理”的那座小山的渐隐渐现。这种感觉熟悉却又陌生,已不记得上次是什么时候有过这种体验了。

恰好周日也是母校北江中学的返校纪念日,回忆起来,上一次可以这样安静祥和地构筑起一座座思想中的大山的体验的日子,不正是在北中的那段时光么?

阅读全文 »

这两年来接触了不少的笔记工具,尝试去建立自己的知识库和信息收集、整理、内化的体系。实习工作的忙碌,则带来了体系的一次又一次的 崩溃-->重建-->崩溃... 的过程,让我对这方面有了更多的思考。

用过各种各样的工具,到最后都是一个“是否顺手”的问题,关键点在于能否跑起一个高效又稳定的流程。这方面需求我觉得大体可以分为两块:

  • 日常的业务相关的琐碎信息的固定
  • 沉淀知识的整理与加工、回顾

从我入 iPad 的那会儿开始,我在尝试着用印象笔记与 OneNote 来做这些事情。时间长了,发现它们其中的一些特点:

首先,它们都强调富文本格式的支持,但编辑功能有点难用。整理起来总是要复制粘贴,很麻烦。

在页面的组织上,两者都是以分区和页面的概念去做的,印象笔记的 笔记本组 -> 笔记本 -> 页面,OneNote 则类似一种模仿纸质笔记本的 笔记本 -> 分区 -> 页面 的模式。在这固定的分类模式之下,有些东西很难去界定该怎么分类,整理起来纠结,一忙起来到后头很大概率不会再去回顾,于是也很难坚持下来。

最近开始尝试 Notion,这东西主要以 Block 为粒度来组织信息。一个页面由 Block 组成,Block 有很多种类型,可以是纯文本、Todo、列表、链接、代码块、甚至还可以是一个新的页面。

最后一点最为关键,页面中可以插入新的页面,如此递归下去,形成了一个灵活的树状结构。在这个模式之下,无论是横向发散还是纵向深入都没有限制,在组织上非常适合一些知识性的东西的梳理,避免固定分类结构难以适应多种多样的知识结构的弊端。

交互上,Notion 的页面上的 Block 调整起来十分灵活,简单地拖动整个 Block 到合适的位置就 OK 了,避免频繁地剪切和粘贴的繁琐与出错的可能性,解放双手。

以 Block 为粒度组织信息的带来的便利,是牺牲了格式的丰富性换来的。这也就决定了它在固定富文本的东西方面还是比较弱势,类似网页上的剪藏等功能也不太完善。这一点不足,可以辅以印象笔记作为临时固定信息的存在,印象笔记的组织模式类似一种线性的结构,恰好适应随时间积累的“流水信息”。

由此得出一个结论:

  • 流水信息的临时固定 --> 印象笔记
  • 沉淀知识的整理加工 --> Notion

阅读全文 »

再一次冒出许多想法,想着发条朋友圈,不知不觉写了很长,一看时间,也已过去很久,想到这一大段文字最终的宿命不过是一瞬的滑过,只好让它继续留在了笔记之中,才意识到自己还有这么一个更适合写东西的地方。

虽早已对此有所认知,在忙碌的生活之中,下意识下总会再犯。反思这么做的原因,潜意识中还是渴望着与身边人的即时交流吧。

发表是最好的记忆,但在这封闭的体系之下,微信里留下的很多值得回顾交流的记忆失去了本应有的活力。在翻某人的朋友圈时,是不敢再去点赞和评论的吧。后来越来越多人打开了“三天可见”,让它成了一个记忆的无底洞。

所以也异常讨厌微信的这一点,这个把一切都抽象成作为工具的工具,掠夺了生活的绝大部分时间之后,因为界限的模糊,无形中也把那尚存无几的有点深度的思考和交流给掠夺了。

微信是微信,博客是博客,微信不过是一个所有人妥协下的促进信息流动的平台,不应该在这上面承载太多的东西。认清此中差别,也是时候把那些本属于博客的文字抢救出来了。

无意中发现和尝试了 Chrome DevTools 的 Layers 面板,Get 到了庖丁解牛的新视角。不禁感叹 Web 浏览器的巧夺天工,也从此打开了浏览器从 Layout->Paint->Composite 中的 Composite 过程的研究的大门。

Layers Panel

恰好前一天同组的妹纸问我为什么微信的 Web 开发者工具的预览页底部有白边,下意识想到微信的开发工具实际上是 NW.js 做的,自然也会有开发者工具吧,一看,果然有。

阅读全文 »