为类型创建模板 在成功导入之前所有的Markdown文档之后,我很惊喜地发现Markdown格式与分段都被正确处理了。 在以前Logseq和Obsidian中,各自对于Markdown的不同理解,以及大纲、缩进、排版,实际上给了我很多困扰。AnyType这一次又给了我一个惊喜,它的模板系统超级好用,而且非常灵活。 理解类型 AnyType的模板是基于类型的。意思是说:在同一个类型下,可以创建非常多的不同模板来适应需要。这样的场景随处可见,比如:我每天的发生的活动中,都会产生时间长度,但是每个活动有着各自不同的目的,比如遛狗,吃饭。其中要跟踪的数据也非常不同,有些是需要跟踪路线,有些是需要跟踪卡路里。 以前的笔记系统里,我大概也是要为不同的事件创建不同的模板,然后为模板配置不同的属性。问题在于属性只是这个模板对象的,或者也可以父对象的,它的继承性决定了使用面上比较狭窄。 AnyType的类型却没有这样的限制。它创建了一个关联的概念,也是一个对象,但是可以专门用于连接或者记录某个类型下的特质。 在上面这个Event事件类型里,我创建了很多模板对应生活中的事情,有一些共同的关联比如Tag,Duration,Effectiveness就做为默认这个类型里需要带出的。创建一个新的类型时,关联里只有Description 一项,所以一个类型里默认有哪些关联,是为了方便使用模板时直接可以在下面的界面中选择: 所有默认的关联都会在In This Object中,而如果在模板中自主添加了一些关联,则会显示在这个类型里。区别在于如果在页面编辑时使用斜杠命令/,是可以直接选择已经和该类型绑定的关联的。 模板 模板就是一个普通的页面,不像其他的系统,这个模板系统非常灵活,但是还没有完全的发挥功能。 有一点作者也暂时声明了,只有当创建新对象时可以选择模板,无法在改变一个页面类型时,同时选择改变模板。 比如前面我导入了很多Markdown文件和日志,我其实是想把它们按照AnyType里我创建好的类型和模板去归类的。 导入的文件被默认为Page类型,由于导入的顺利和便利操作,我可以很容易地把所有想修改的类型设置出来,比如把导入的所有日志转成了Daily Journal类型。这只是类型变了,模板却不能直接改变。 当然这并不是大问题,而且模板的页面和块都是可以拷贝的。而我的模板通常更在意的不就是里面配置好的tag、关联吗?只要一复制,然后在页面里粘贴、排版,也是可以达到相同的目的,只是需要一些手工时间罢了。 更何况,被导入的页面,在Tag设定上肯定还是需要修改的以适应更深入的需要。现在我的一项大工作就是将模板拷贝出来,然后去修改调整一个个的页面。这一点儿也不枯燥,因为它正帮助我把原来散落的珍珠串成项链,这太棒了! 一个实际的应用例子 最好的一个实践例子就是我的日志。 我自己的工作流方式开始于日志,然后在每个时间点记录下重要发生的事件,以及生成的笔记、内容、学习资料等,这个概念很好,也是从Logseq和Tana里都有的。 Logseq帮助了我很多,产生了大量的内容,但Tag过于灵活,开始让我惊艳的组织后来就乱掉了,比如习惯的追踪,三餐卡路里的追踪等等。 现在我的日志长成这样: 日志把所有的笔记和事件串联在一起,而HomePage里我有一个基于Event事件集合: 在这里跟踪所有的事件,然后通过不同的过滤来生成自己想要观察的视图。 这里的视图最强大的一点就是可以在视图中添加几乎所有你需要跟踪的关联,就如同他们也是某个事件的属性一样。 一个简单的集合视图可以衍生出非常多的变化。比如这里面展示的近期学习事件、餐饮事件都跟踪着不同的数据和类型,一目了然。 想到之前在Logseq和Obsidian里挖空心思想达到类似的效果却怎么都做不好,除了怪自己笨外,就只能感谢AnyType太了解我了!…
Humans have been writing down their best ideas for 5,000 years. Read them!
AnyType 一下子抓住了我(3)
导入文件 从导入体验上来说,是非常平滑的。 开始我尝试选择多个文件导入发现不成功,只能选择一个文件;后来才理解直接导入一个文件夹就可以完成了。 而且,每次导入后,会将该批导入的文件置为Page类型,并且生成一个何时导入的集合。这样我可以很容易访问到所有导入的页面并加以后续的处理。 例如,我在Logseq中把所有的日志文件都保存在Journal文件夹下,那么这一批导入的页面就全部是类型为Page的Markdown文件。之后,我想做的事是把所有之前的日志按照现在AnyType里的分类日志部分,只把将全部页面选中,然后改变Page类型为Daily Journal类型就完成了。 Daily Journal类型是AnyType官方自定义的一个类型,用于帮助用户理解它的工作方式 尽管之前的页面还无法完全保持统一的风格,但是已经足够使用强大的筛选、排序等功能了。只要需要,快速地在原有页面上添加一些关联,就能够完美地适配现在的系统体系了。 我必须得说,集合提供的视图以及过滤条件的创建,也许不如Notion那么复杂、强大,但是特别符合我的需要。我曾经在Logseq中花时间苦苦研究如何设置页面创建时间的条件,来筛选出需要的页面和属性,但是对于Datalog工作的方式一知半解,得到的结果可想而知,学习投入和收获不成比例,所以就放下了。而在AnyType这里,没有花多少时间就完成了。 在上图里,可以看到我很容易创建一个本月的所有日志视图,然后复制该视图,修改过滤条件为上个月,就可以得到所需要的结果。改变一下视图的方式从图库模式转到网格模式,然后筛选前七天的日志,把页面中的关联列出来,就得到了完美的: 利用这种方法,我很轻松地构建了自己常用的文库、知识库来方便知识点的再现、回顾以及复用。 我想,这可能是AnyType一下子抓住我的根本要素。曾经类似的感觉有出现在Tana上,当时感觉SuperTag可以随意设置调整,联结万物,而且定义方式也很自由,但我很快发现,不同节点的同名配置和自己想要的工作结果总是有些出入(比如设置一个任务项的Do Date和Due Date),它的过滤方式也是很奇怪不直观,我相信一定有人可以做到正确的结果,但一样,投入的时间和收获不成比例。 AnyType做到我要的效果几乎没有任何学习曲线,这是我最大的一个收获了吧!…
AnyType一下子抓住了我(2)
至今自己也没有明白为什么这个决心下得如此之快,大概是AnyType的结构太容易控制和关联了。 AnyType的类型 不管把类型叫什么,分类也好,存储桶也好,我理解就是一个简单的规则,比如人、动物、文章、书。 以前的App也有类似的Category或者分类,难度在对象的继承和发展,每一种分类下可能会延伸出不同的子分类,而子分类又具有着不同的属性。那么当我在管理自己的页面也好,块也好,到底它们应该怎么分类就成了一个麻烦的问题。 AnyType却用了一个很特别的办法来处理这一点,在每个类型下,可以创建很多不同的模板,而模板则起到了细化子类的作用。 如果还要再细分,那么Tag就可以上场了。我发现这真是AnyType最好用的部分之一。下面在我的工作流上会具体地描述这一点 AnyType的关联 在模板里,我们可以设置多个相同或者不同的关联。是的,AnyType里使用了关联的概念而非对象的属性。在AnyType里,关联也是一种对象,可以存在于不同的类型之中,因此同一类型下的对象可能拥有与其他类型相同的关联,从而发生关系,这太棒了! 我不用去考虑哪些属性是通用的,哪些属性是专有的,只要创建一个关联,这个关联就可以用在全部的类型中,需要的时候加入进来,不需要的时候不用管它。 AnyType的集合 AnyType里的集合在我看来就是查询。它支持两种查询,一个是类型,一个是Tag。 这也太符合直觉了,我可以很快地找到所有某个特定类型的笔记,如文章、资料、图书,然后创建不同的视图,根据需要定制出自己想要看到的内容就可以了。 使用Tag似乎是另一种渠道,而我发现自己构想已久的知识库其实可以很轻易地用这个Tag管理起来。 AnyType的集锦 开始我还不太明白集锦Collection的描述,象个文件夹一样,第一反应是Folder Tree。 但后来发现,它就是一个文件袋,你可以把相关的内容全部装到一个袋子里,然后用自己想要的方式去呈现。 比如创建一个公司工作的集锦,与公司有关的工作内容全部扔进去就可以了,非常方便。 AnyType的Tag 最后我还是想说一下这个标签Tag。自打使用Evernote以来,就对Tag又爱又恨! 有些App添加Tag很随意,Evernote和Logseq都是,但是前者更乱,后者相对需要Tag来组织,Obsidian也有自己的Tag管理系统,而且支持层级,Tana更是把Tag玩出了花,但是层级的管理,或者一开始我很惊艳的Tana节点式的管理,都没有能帮助我把需要的结构完美搭建出来。或者说,搭建出来了,但是不好用。 问题在于,我很容易定义知识库分类的框架和Tag,但是标签什么时候打,什么时候给材料赋是有问题的。最后我要么是在页面里加入了不合适的Tag,要么是放重复了,不管是什么样的问题,PKM没有搭出来,或者我用不上,就是问题。 我的PKM最终建好了 令我没有想到的是,使用AnyType分分钟就实现了我的PMK结构和使用。 我的PKM有下面的简单的特点: 内容可能是文章、资料、人物、知识点或者笔记 使用图书馆数字型的编码,所以可能有些编码不能完全反映资料的特点,还需要添加额外说明 在AnyType中,我只需要创建出从101到909每一个我已经明确好的分类,然后创建一个集合,集合是收集所有这些Tag的相关资料就可以了。 然后在这个集合下,我用All生成了一个PKM的图谱,这太棒了,没有其他不想干的任务工作干扰。 然后从100到900的分类,在过滤器中,可以设置在这个视图下呈现哪一个或者哪几个Tag的内容,这也太方便了。 而在每一个类型下,我可以在不同的类型模板里加上预定的Tag,这样就不会出现临时乱想Tag的问题,而我可以根据内容,直接再添加相关的PKM的分类Tag。AnyType的Tag原生支持多Tag,而且添加的方式非常顺手,可以在任何位置任何地方搜索添加,被添加的会显示在前端,即使加错也可以轻易去掉。 我的PKM就这么轻易地建成了哦!…
AnyType一下子抓住了我(1)
以前选择一个应用软件,我总是反复对比优缺点,找到最合适的才进行尝试。可从来没有一个App像AnyType这样,让我在一两天内就做出了一个大改变,放弃了使用了一年半之久的Logseq和Obsidian。 要知道,我在网站上推广的Logseq和Obsidian,都是我反复比较后选择并使用了一年多的工具。在Logseq的热图和生成的笔记上,已经是满满当当的了。 为什么做出这么快的决定?难道只是因为在YouTube上偶然瞄到的一个关于AnyType可以替代Notion的短视频吗?仔细想想,可能还是得从我不用Notion说起。 我的Notion之路 其实我非常喜欢Notion,它功能强大,尤其是数据库的结构、存储的多样性、关联的方便,以及各种类型的支持。但它暴露的问题我也很清楚: 过于漂亮的界面让我花了太多心思在打造界面上,而不是内容上。 数据库的灵活性和不同使用者的介绍,让我在搭建笔记和知识库时感觉到各处都有关联,但又没有真正地使用起来。 Notion的保存和访问受网络限制,图片加载速度也影响了使用体验。 我的Logseq和Obsidian 在使用Notion的过程中,我一直在尝试Obsidian和Logseq,这两个纯粹本地存储Markdown文件的App。在大多数情况下它们可以协调使用,但各有优缺点: Logseq的大纲模式和加点操作方式,使得文档在Obsidian中输出时美观度打折,但完全自由的风格又让Logseq的精确逻辑关系丧失了特点。 尤其是Obsidian后来发展的属性概念基于YAML,而Logseq又使用自己的一套Properties,也很方便,但有点零乱。基于Properties建立了多套模板,形成了自己的笔记习惯,由每天的日志出发,生成一天发生的事件,再创建可回顾和处理的笔记,思路很好,但还是有一些问题没有解决: 页面属性的零乱和规则性,在使用模板时常常出现索引错误,后来我改用Alfred的Snippet来解决。 Logseq的查询系统是Datalog,学习曲线陡峭,虽然基本懂了,但生成的效果不理想,尤其是从Project→Objectives→Key Results的实现不太方便。 Logseq能够基于属性进行统计,但展示效果不稳定,有时候灵有时候不灵。 Logseq支持继承和分类,开始让我很惊艳,但最终还是没有成功建立起有效的知识分类体系。 Obsidian支持众多插件,包括强大的Dataview,但基于block层面的查询又做不到像Logseq那么细。 Logseq的手机端如同鸡肋,备份机制也给我造成了很多困扰。 虽然以上问题没有根本上影响使用,我每天在Logseq的加持下还是产生了很多内容,但直到遇到AnyType,一切都变了。 初遇AnyType AnyType的界面乍看之下有点懵,因为介绍说它是Notion的替代,自然就不是纯粹的Markdown笔记。但它提供了丰富的格式化效果,在简单的Markdown语法支持下,又是纯粹本地部署。 刚开始还没有太搞懂每一个块都是对象,以及对象都是某个特定类型的意义。但简单摸索之后,突然发现它其实拥有我真正想要的一切: 它不像Tana那样,用SuperTag区分所有内容,导致我创建了大量Node而没有实际内容。 它能够根据需要适配不同的模板,同一种属性可以在不同对象中使用,只要加载就能用,不用担心关联是否为特定对象创建的。事实上,关联也是一种对象。 基于对象类型和Tag可以很好地生成查询,马上意识到我的知识库在AnyType下应该长什么样子。 本地化应用,加载选项和Tag时没有任何延迟,使用体验完美。 界面简洁,拥有像Notion一样漂亮的自定义和栏,但不过度在界面上下功夫。 事实上,了解了AnyType的基本操作后,马上就明白了它和之前尝试过的Capacities有类似的想法,但实现得更好。Capacities的试用体验让我感到挫折,但AnyType一下子就抓住了我的心。 现在怎么办呢?在Logseq里生成了那么多的笔记和日志,我能顺利迁移到AnyType吗?AnyType能很好地支持我已经习惯的工作流吗?…
囚徒困境与针锋相对的博弈策略
“你决定好了吗?”对面的人一脸严肃地看着我。他是我的法官,手里掌握着我的命运。 “你其实只有两条路,要么指认同伙有罪,要么指认同伙无罪!”他继续说。 “如果你指认同伙有罪,而你的同伙说你无罪,你就可以被释放了。”他顿了顿,脸上露出一丝不易察觉的坏笑。 “如果你指认同伙无罪,而你的同伙指认你有罪,那么你等着坐大牢吧!” “如果你们两个都说对方无罪,你们俩只会被关两天就放了……不过没那么简单。” “要是你们两个都说对方有罪,那么你们俩一起蹲监狱吧!” “要知道,你的同伙也知道这个规则,所以你会怎么选?” 法官口中的同伙是另一个关在隔壁屋子里的人,我们并不熟悉,所以我不知道他是个什么样的人,会做出什么选择。 显然,如果他说我有罪,不管我怎么选,我都会坐牢;而如果他说我无罪,我指认他有罪就可以脱身。至于我们俩都指认对方无罪?我想他的想法应该和我一样,都是指认别人有罪是最佳策略。 我决定了,我的选择是…… 这就是博弈论里非常有名的囚徒困境!显然,双方都指认对方无罪是最能获得利益的做法,但这不符合逻辑。不管怎么选,指认对方都是最佳策略。我不能把希望寄托在对他的信任上,毕竟我根本不认识那个家伙! 在这种情境下,最符合逻辑的选择却无法获得最佳利益,而是得到最差的结果。而且这种情况是无解的,它是典型的零和博弈,有人赢就有人输,最终的结果是零。 难道这种博弈真的只能相信人性的恶,而没有信任吗?要知道,对方是否值得信任需要时间、记忆和认知去建立。如果这个游戏只玩一次,理性的选择结果永远都是双输,而不会是合作双赢。 在这个情境下,策略没有什么好选择的,但如果和对方一直持续地玩这个游戏,把坐牢和释放改成输钱和赢钱呢?怎么做才能让自己或者两个人收益最大化? 如果剧情这么发展,策略就会多起来,零和博弈就会变成非零和博弈。双方的目的是共同从第三方赢得更多利益,而不是拼个你死我活。 博弈论专门研究这个问题。他们发现,当持续地让双方在囚徒困境中选择时,可能会生成多种不同的策略,其中“针锋相对”策略既简单又最有效。其策略是:第一次选择合作,之后根据上一次对方的选择,做出相同的选择。意思是:我一开始抱着信任的态度,相信对方。如果对方背叛,那么下一次我也会背叛以示惩罚,之后每一次都根据对方上一次的选择做出相应的回应。 这个策略看似简单,却包含了非常深刻的人性和心理。既然我不能当一个坏人,但也不会只扮演逆来顺受的和事佬;我的包容会让我点到为止,而不是斤斤计较,执拗到底。 了解一些博弈论和策略,可能会让我们在这个世界上的生存更容易一些。…
我为什么选择跑了一个八公里?
因为早上要去医院复查眼睛,时间比较紧张,所以一开始我犹豫要不要早上去跑步。 跑步的习惯促使我采取行动,所以我需要选择今天的路线。 通常来说,我有两条路线。一条比较喜欢的是七公里,用时稍长,有一个路口可能需要等待;而另一条是六公里,用时稍短,虽然也有一个路口,但是可以通过天桥通过。 所以无论怎么看,我今天应该选择六公里,保证可以锻炼的条件下,用时最小。 然而,奇怪的事情发生了。 我在日常都会拐弯的路口竟然决定等了一下红灯,选择一条自己平时从来没有去跑的路线,而且还沿着这条路线跑出了八公里。心里还惦记着赶时间这回事,所以不由自主地提高了配速,前面几公里的配速都跑进了五分钟。虽然这条路线没有跑过,但是也非常熟悉,因为它有两三个大路口是可能需要等待的。 为什么会这样?在跑上这条路后,我才开始反思这个问题。本来应该选择一条短路线迅速完成锻炼,为什么竟然还跑出了八公里? 最近的阅读和学习让我找到了可能的答案。 第一个是提示 这个提示是当我打开Runkeeper准备记录跑步活动时,发现这个月有一个10KM的挑战活动,我没有参加,但是它显示只剩下几天了。 这个提示显然让我产生了一种联想:是否要参加这个挑战?我应该可以。但是我需要迅速结束,下一次的锻炼时间还有吗?什么时候方便?我要不要选择另一条路线看看? 这个提示使我对选择路线产生了犹豫。 第二个因素是相对论。 在心理学中,相对论选择(Relativity of Choices)理论指出,在A和B选项中难以决定时,一个A-的选择项会让你最后确定选A。 在我这个例子中,跑步的人都倾向于多跑,但是由于赶时间,我可能会选择跑短一些。但是这里的A-选项是一个更长距离的挑战,这促使我在选择时下意识地去选择了一个更长的路线,但是实际上不是想真正完成的路线。 这些决定在那一瞬间就基本上决定了,我甚至在跑到平时那个里程路口时心里还在想,要是剩下的路程能够完成10KM挑战,我有很大的可能性会继续从那条路线上跑。其实内心就是想跑更远的距离。 分析自己内心的思路挺有意思,结合提示影响行为来看,提示的出现促使了想完成更长距离的想法,产生了完成长距离跑的动机,跑者的身份认同也加大了这一筹码,尤其是我已经是跑在路上了,多跑一两公里在当下的决定来看不会成为影响自己时间的重要因素。 所以尽管自己知道赶时间,结果还是提高配速,选择了一条陌生的道路,让自己心理上先满足我没有选长距离跑,因为如果从那个路口出发跑过去,估计就会选择一条明确的路线了,不确定的路线让我自己觉得并没有选择长或者短,但是其实内心上是已经做好了跑长距离的准备了。 真是有趣的一次心理决策啊。…