普通视图
作为价值投资者应该具备哪些能力
受害人「有罪推论」的前提是什么?
有人让我聊聊「北京理工大学教授失德失范实名举报」的事儿。其实吧,事儿不是大事儿,而且明理的人都知道这件事里面的「逻辑bug」,比如当事人为什么要保持两年关系后,才曝光此事,或者说两个人有非常漫长的「交往过程」,甚至当事人从这样的关系当中得到了「利益」,那到最后东窗事发的时候,却可以把自己摘得干干净净。
毕竟我是法学出身,会本能地对「施害人」进行无罪推论,也非常反对一上来就对「受害人」进行有罪推论的。但这件事情本身充满了太多盲点,而且仅凭当事人一方说辞,很难还原事件真相。
所以伴随而来的,就是网络对于这个「受害人」的有罪推论,比如他跟教授之间本身就是保持了长时间的同性情侣关系,可能在后期因为「分手」甚至是「分赃不均」而发展到了揭老底的地步。中国人很擅长通过「谁弱谁有理」的方式来无条件地支持弱者,但这件事情本身又有违背公序良俗的成分,比如里面涉及了中国社会并不承认但是客观存在的同性恋群体、师生恋,甚至是通过师生恋之便得到了教育资源的「特权」等等。这件事情最后很有可能会被压制,通过让「受害人」也闭嘴的方式得到平息。
但是这里,我可能会提出一个疑问:这个用PPT控诉「情人」的学生,真的是受害人吗?
谁弱谁有理,是大部分时候中国人用来断案的重要依据。例如女性以自己的贞洁作为担保,控诉一个男性对自己实施了强暴的案子,从古至今都是「相信」女性一方的指控的,因为她们已经用了一个几乎可以评价自己一生的「东西」来指认凶手。
至今,法律仍然是这样保护女性的,认为女性单方面控诉男性存在强奸行为,在立案阶段优先考虑女性的说辞。
那么,一个男性在控诉被另一个男性「强暴」的时候,刑法第236条强奸罪并不承认男性作为客体被强奸的法律事实,所以这件事很难用「谁弱谁有理」来作为最初的评判标准。因此这次的PPT小作文,很难让整个社会达到「共情」。
再则,PPT的内容本身是一厢情愿的表达,但同时又在陈述单方面的「事实」。但是一部分人习惯性地「质疑题干」——比如当时所用语言习惯不是自己认为的「规范性」而怀疑当事人的表达能力。于是从「质疑题干」开始游走至「质疑动机」。
因为这件事,我收集了网络和身边一些朋友的观点。发现,几乎学生思维的人会咬着「动机」不放,甚至会被非常好地伪装成对当事人一字一句的拆解。用自己对于表达能力的标准去覆盖他者的「意图」,这几乎快要进入到「付诸阴谋论」的最低认知层级。
当然,不是说学生思维就低级,而是对于这件事的评价,如果要采用质疑题干、动机甚至是辅助阴谋论的层级,那干脆就不要法律了,大家都他妈做网络法官得了!
不过在聊天的过程中,我也得到了一些很「中立」的(可能又会被认为是「没有主见」的)观点,但我觉得它非常符合法理——有人觉得,既然要分析这件事的真相到底是什么,那就要看谁是最后的「受益人」。
虽然说「谁弱谁有理」分出的对与错,一定是让弱者变成那个「受益人」,但也有例外情况,因为我们在用最标准化的博弈论讨论这样的关系对垒。看上去这是一场零和博弈,即学生控诉了老师,老师得到了处罚,学生得到了社会的同情与支持。很显然,如今这场社会游戏进入到了非常微妙的囚徒困境,即学生也开始被人怀疑其「动机」。
那与其讨论谁是「受益人」,我觉得应该从头讨论起谁才是「受害人」,或者说「他到底是不是受害人」。
很显然,这个「受害人」在两人保持所谓的情人关系时,确实从中得到了很多「好处」。那这些好处是否构成了受害人身份的丧失?显然不是,就比如婚内强奸,两人就算结了婚,但在婚内违背女性性自由也算强奸行为。但是我刚才说了,男性不构成强奸罪的受害人,所以这条法理线是说不明白的,更何况这个男生是「自愿」的而非被胁迫发生性关系。所以,当受害人身份无法坐实时,就会出现刚才提到的囚徒困境,以至于人们会开始寻找通过受害人有罪推论的方式使其达到平衡——总不可能让你过河拆桥了还能得到好处?
那受害人觉得自己是受害人,但是社会层面又无法认同「受害人」身份(甚至再发展下去,法律其实也不会认可他的受害人身份,但当事人受到处罚,是因为他实际的行为,而不是「施害」)这两件事的断层到底在哪里?
举一个我身边的例子,我有一个朋友,在结婚前原本母亲答应给她的丈夫1万元的红包作为改口费,但在婚宴举行前「临时变卦」,于是朋友和母亲爆发了争吵。朋友认为这是「承诺好的事情」,特别是要给自己未婚夫的红包,这种变卦会让自己颜面扫地;但母亲认为,这笔钱是自己答应,但又不是说一定要给,因为现实问题就是她拿不出这么多钱,是不是做女儿的也应该为自己的母亲再三考量。
两人的争吵发展到最后就变成了「你这是要弄死我」。
从法律来讲,这件事最大的问题,在于那「1万元」的红包是不是契约?那么就看你站在了谁的角度去看待这件事。比如当事人已经认为自己就应该拿到这1万元,甚至已经规划好了这1万元要成为蜜月旅行里订高级酒店的费用,那是否意味着它对于新人双方是非常重要的?
在法律上,这样的收益看上去很符合「信赖利益」的条件,但实际上所谓的信赖利益是我为此付出了「成本」,而不是这本来就是我的「既得利益」。比如,我和你打算签署一份制造协议,但由于事情紧迫,你需要我先生产,再在交付的时候完成合同的签署。结果当我投入生产之后,你认为费用不合适,单方面解除了与我的合作。在法律层面,我为了这份「要约」提前投入生产的成本,这是我对契约签订的信赖所致。
如今,这份利益被抽走,而朋友在这个过程中已经付出了她的「期待」,这看上去很符合「信赖利益」,于是因为信赖利益受损,算不算是「被害」了?特别是当这种信赖利益又和既得利益混淆之后。通过道德绑架的方式要求对方必须履行「合同」,一旦违约自己就是受害者身份,这件事本身就是学生曝光老师的底层逻辑。
所以,当人们开始对学生进行有罪推论时,我本身认为是合理的,因为学生这个角色在这一次的事件中,并不是「受害人」的角色。但是学生有罪吗?我个人觉得仍然没有,因为这仅仅是一场利益博弈的闹剧。
既然老师受到了惩罚,学生就不应该受到「惩罚」吗?
很可惜,法律确实无法对学生进行「复仇」,因为老师被处理这件事本身已经符合了信息被披露之后的处罚结果。因为没有进入到「审判阶段」,这件事情无法从老师嘴里还原真相,所以这不是一起纠纷,而更像是一起「自爆行为」,即我出卖了我的隐私,控诉了另一个人的隐私。
出卖隐私这件事本身就是一种「代价」,只是它的层级远远不够网友们所期待的「反转」罢了。
既然法律无法将这一场陷入囚徒困境的博弈推至纳什均衡,即非零和也非双赢的博弈结果,所以「审判权」必然会交给「社会」。既然无法透过法律进行法律人格的死亡,但是社会可以制造社会人格死亡。
所以我并不觉得如今的「网爆」是不对的,或者说根本就没有对错,这是必然的平衡结果。因为他是一个既得利益的非受害人形象,在真相被层层包裹的情况下,社会会做出第一次非对等判决,想让他接受社会性死亡的部分;若再有反转,乌合之众又可以重新调整判决结果——即谁弱谁有理咯~
办公类 AI 初探:扣子空间
一、AI 的风口
问问大家,AI 产品的风口是什么?
我的意思是,什么样的产品有最大的机会。
现在的 AI 多如过江之鲫,大部分都是昙花一现,走不远。
在我看来,最有机会的产品,既不是面向普通大众的问答类 AI,或者内容生成 AI,也不是面向开发者(API 用户)的编程 AI。
真正的风口是办公类 AI。
企业和个人的办公市场巨大无比,而且有真金白银。
谁能把 AI 引入文档、会议、决策......,谁就会吃到肉。就像 Office 软件是商业软件之王一样,企业级办公 AI 也一定会是 AI 的销售之王。
二、办公类 AI 的现状
不过,办公类 AI 眼下寥寥无几。不要说赢得市场,就连想得起名字的产品都不多。
究其原因,一是 AI 现阶段的能力,还达不到企业级软件的安全、稳定、准确、高效。
二是办公类 AI 到底是什么样的产品形态,大家还在摸索。
我一直非常关注这个领域,对于新出现的办公类 AI 有着强烈的兴趣。
下面介绍一个新产品"扣子空间",我这些天一直在试用。大家看看,它怎么用 AI 完成办公任务。
三、扣子空间
先说一下,扣子(coze.cn)是一个国内的平台,提供基于浏览器的低代码环境,来搭建 AI 应用,有免费额度。
我一直是它的用户,以前还写过文章,介绍它的工作流模式:在图形化界面上,用鼠标编排 AI 工作流,生成独立应用。
工作流模式号称不需要编码,小白也能用,但用户最好有编程基础,所以还是有一点点门槛。
于是,扣子现在又推出了"扣子空间",真正零基础,无门槛完成任务。
它的最大特点是,内部自动调用各种 Agent(智能体),不需要用户介入,就能完成各种任务。你可以把它想象成一个"Agent 的自动调用器"。
对于用户来说,因为有了底层的 Agent 能力,它不仅可以回答问题,还能解决问题(任务),从而成为你的办公助手和工作搭子。
正如它的宣传语:"和 Agent 一起开始你的工作"。
注意,它现在需要邀请码,可以去扣子公众号和扣子空间官网(space.coze.cn)领取。
四、界面
扣子空间的网址是 space.coze.cn,点进去就可以使用。
界面很简单,左侧是任务列表,右侧是一个对话框,用来输入新任务。
执行任务要求时,默认是"探索模式",AI 自动完成各个步骤,速度较快。
你也可以改成"规划模式",显示 AI 思考的中间步骤,便于随时调整。
除此以外,就没有需要设置的地方了,很符合直觉。
五、任务示例
下面是我的一些使用实例,都是办公类的任务。
大家看看,它完成得怎么样,像不像一个精通各种技能的实习生。
5.1 撰写研究报告
最常见的办公任务,肯定是撰写文档。我让 AI 撰写下面的研究报告。
我需要一篇研究报告,关于上海茶饮行业近几年的发展情况,以及投资机会的分析,包括行业发展、热门产品等信息。
注意,文档类的任务最好指定输出格式,否则生成的内容以 Markdown 格式展示在对话页上,不方便利用。
我一般是在提示词最后,加上这样一句。
同时做一个可视化的网页。
开始运行后,它就会分解任务,按步完成。
最后,它给出生成的 markdown 文件和网页文件。
你可以在新窗口打开网页预览。下面就是它生成的网页,图文并茂,有数据也有论述。
整个报告分成四个部分,可以根据需要增减,自己使用或交差,总体上没有问题。
5.2 多种输出格式
前面说过,扣子空间内置了各种 Agent。
除了生成网页的 Agent,还有生成 Office 文档、PDF、飞书文档的 Agent,都可以用,下面是一个例子。
帮我比较一下T3、滴滴出行、高德,作为新手网约车司机,在重庆跑,哪个平台最推荐,并说明详细原因,输出一份飞书文档。
由于飞书文档是带有布局的,实际生成时,也是从文字报告生成网页,然后系统提示你将网页内容复制到飞书。
如果输出 PDF 文件或幻灯片 PPT 文件,系统会直接给出文件下载。
我正在编排行程,目的是安徽皖南地区,包括黄山和当地的其他风景点,请详细研究行程、交通路线、景点介绍、门票、住宿和当地饮食等信息,形成一份完整的行程安排,以 PPT 形式展示。
它生成了一个28页的 PPT 文件,下载后,完全可以直接上台演示。
5.3 表格能力
办公类的 AI,一定要有表格处理能力。
请生成一个表格,包含上证50指数成分股,及其最新的收盘价。
默认情况下,表格生成后,会显示在网页上。
系统还会给出一个 csv 文件,供下载。
如果想要完备的电子表格功能,可以把 csv 文件导入电子表格软件。
5.4 其他功能
扣子空间内置的 Agent 很多,还可以调用高德地图、生成网页游戏等等。
请生成一个互动式的学习网站,帮我学习 CSS 的 oklch 颜色函数。
上面是网页小游戏的例子,下面是调用地图的例子。
用高德地图分析一下上海外滩地区所有瑞幸咖啡的门店选址,做成一个可视化的网页给我。
如果内置的 Agent 不足以满足需求,你还可以设置让它接入各种 MCP,扩展能力。
5.5 专家系统
最后,它还自带了专家系统,也就是高级的专业知识库,提供深度的分析能力。
目前,内置了两个专家系统:用户研究专家和 A 股观察助手。
前者用来用户问卷调查、访谈、生成分析报告;后者用来分析自选股和大盘,提供研究分析报告。
深度的分析和处理任务,需要特定的专业知识,可以试试它们。
六、总结
经过初步的试用,我对扣子空间评价很好,非常好用的办公助手和 AI 实习生,确实能够提高办公效率。
我觉得,它的设计思路很正确,自动调用各种 Agent,既能扩展各种能力,又能消除了上手难度,同时具备深度研究(deep research)能力。
更难得的是,它的完成度相当不错,没遇到明显的 bug,可以用于实际的办公。
总之,作为办公类的 AI 产品,它的"工作搭子"的模式,我觉得可用也可行。
后面,办公类 AI 产品相信会大量涌现,鉴于它的重要性,我还会介绍和评测更多。
(完)
文档信息
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
- 发表日期: 2025年4月21日
肯德基和麦当劳的早餐
当年今日
- 2025 : 肯德基和麦当劳的早餐
- 2024 : 探索出一条新路
- 2023 : 神奇的身体
- 2022 : 没有后悔药
- 2021 : 圆珠笔回忆录
- 2020 : PK我自己
- 2020 : 找2个词汇表
- 2020 : 字典真牛
- 2020 : 循序渐进
- 2019 : RUN NOTE
- 2019 : 人性泯灭
- 2018 : 被拖下水
- 2017 : 生来平等
- 2016 : 对着干
- 2015 : 认命吧,凡人
- 2014 : 身体太奇妙
- 2013 : 无穷无尽的父爱杯具
- 2012 : 小探区域动态图
- 2011 : 喜欢的到底是什么
- 2010 : 继续学习邮件合并
- 2009 : 很疯很变态
- 2008 : 玩高科技
- 2007 : 累人的果胶实验
- 2006 : 找地方?Easy Job?
- 2005 : The Most Charming Person
突然意识到,420的周末已经是我4月的最后一个,因为下一个周末周日要上班,所以实际上只有周六一天,这样的话我就不回家了。不回家就意味着肯德基的三元早餐在这个周末我必须得兑换,而且必须是周六,因为周日是家庭的清明节扫墓,很早就得出发。万一周六兑换不成功,也就只能走退款这条路了。早餐一个是皮蛋瘦肉粥加油条,另外一个是芝士鸡肉帕尼尼加美式咖啡。这两个如此普通的早餐,我也居然试过附近的肯德基都显示售罄,尤其是皮蛋瘦肉粥加油条。其实我家附近已经有很多肯德基了。1公里之内估计有4家以上,这还是我见到的,可能有一些在一些比较隐秘的地方我没见到。以前的肯德基早餐兑换时间是到早上10点30之前,麦当劳也是,现在的肯德基不知道为什么,早餐居然是6点-9点30。他们到底是怎么想的呢?那些睡懒觉的人,周末9点30还没起床呢。
以前麦当劳的时间也是10点30之前。为什么我记得那么清楚?因为我大概周六早上7点出去跑18K。如果我没有很拖拉,10点之前我就可以到达万国奥特莱斯的麦当劳。在那里吃早餐,不断地去续杯他们的现煮咖啡,我只喝黑咖啡,而且要喝得快一点,因为喝得快,才能在10点30之前多喝一杯。那咖啡很烫,根本喝不快。通常情况是我喝两杯,然后再打包一杯回家给外婆。这已经是很早以前的事了,后来我的起跑时间越来越慢,所以结束时间也越来越晚,有时会遇到某个老年跑友,会聊上一阵。那么当我路过万国奥特莱斯的时候,可能已经超过11点。早餐肯定没戏了,咖啡也肯定没戏了。我经常是在那里坐到10点30,看着他们换菜单。我通常要的又是最普通的火腿肠麦满分,那个时候火腿扒麦满分加麦咖啡才6块钱,是最便宜的早餐组合。
外婆不在以后,我再也没有跑过18K,又或者说外婆最后的那些时光,我已经不跑18K了。首先是因为我懒,其次是因为我们给外婆请了个全职的保姆。回去以后还得洗澡之类不太方便。自从有了全职的保姆,我觉得我们在外婆那里待的时间没那么长了,也没那么自在了。毕竟那是个外人,但请又不行,因为外婆晚上已经说不准会不会发生什么意外。
对我来说,肯德基的早餐约等于是招行的三元早餐,就是每个月某些等级以上的用户可以花三元钱买一个肯德基早餐的兑换券,以前有4个款式可选,这个月开始只有2个。在肯德基之前,三元早餐兑换出来的东西是某些快递到家的玩意,我换得最多的是燕麦片。燕麦片比肯德基的三元早餐更容易被抢光。现在随着早餐可选的品种少了,投放的份数也少了,抢得也很激烈。
麦当劳的早餐给我留下最深的印象是我周六早上18K完了之后去麦当劳,先吃个早餐,然后把咖啡带回家,有时候也把薯饼带回家。外婆会像个小孩一样,非常高兴。其实我也搞不懂为什么外婆居然会喜欢喝咖啡。小时候家里偶尔会有阿华田,但在我记忆之中,给我跟表姐冲阿华田的时候,外婆不会给自己来一杯。现在回想起来,估计其实她也很喜欢,但是她要把最好的留给我们。
肯德基和麦当劳还在,但是与记忆关联的人和事已经没有了。
长毛象新通知推送TGBot
其实蜗牛哥之前开发过一个Chrome扩展,可以在浏览器里显示一个图标和通知数量。但是我电脑上现在Chrome一打开十几个进程,我实在不想再新增扩展了。
所以这两天用Deepseek糊了一个搭配Cloudflare推送到TGBot的Worker脚本,效果如截图。设置好长毛象和TGBot的设置后,程序会每5分钟检测一次有没有新通知,有的话才进行推送操作。

准备KV
先添加一个KV,名称 KV_STORE
,备用。
准备长毛象TOken
获取长毛象Access Token,不放心的话在权限部分可以单独只设置通知获取权限
- 登录你的 Mastodon 实例(如 https://mastodon.social)。
- 进入 "Preferences(偏好设置) > Development(开发)(或直接访问 https:///settings/applications)。
- 点击 "New Application(新建应用):
- Application Name(应用名称):填写你的应用名称(如 MyBot)。
- Website(网站)(可选):填写你的应用网站(如果没有可留空)。
- Scopes(权限):选择你需要的 API 权限(如 read、write、follow 等)。
- 点击 "Submit(提交),系统会生成:
- Client Key(客户端 ID)
- Client Secret(客户端密钥)
- Access Token(访问令牌)(可直接使用)
准备Cloudflare Worker
再添加一个Worker,代码如下,并修改代码中的 config
部分的配置为你自己的设置,其中长毛象token
// 配置部分
const config = {
// Mastodon 配置
mastodon: {
instance: 'https://your-instance.social', // 替换为你的 Mastodon 实例地址
accessToken: 'ZTDJN2ZMZMZI5MTU1MZHH', // 替换为你的 Mastodon 访问令牌
lastNotificationIdKey: 'last_notification_id' // KV 存储中保存最后通知ID的键名
},
// Telegram 配置
telegram: {
botToken: 'your-bot-token', // 替换为你的 Telegram Bot Token
chatId: 'your-tg-chart-id' // 替换为接收消息的聊天ID
},
// 检查间隔(分钟)
checkInterval: 5
};
// 主处理函数
export default {
async scheduled(event, env, ctx) {
// 执行检查通知任务
await checkNotifications(env);
},
async fetch(request, env) {
// 手动触发检查
if (new URL(request.url).pathname === '/check') {
await checkNotifications(env);
return new Response('Notification check triggered');
}
return new Response('Not found', { status: 404 });
}
};
// 检查未读通知
async function checkNotifications(env) {
try {
// 获取上次处理的通知ID
let lastNotificationId = await env.KV_STORE.get(config.mastodon.lastNotificationIdKey);
lastNotificationId = lastNotificationId || '0';
// 获取新通知
const notifications = await fetchMastodonNotifications(lastNotificationId);
if (notifications.length > 0) {
// 有新通知,发送到 Telegram
await sendToTelegram(notifications, env);
// 更新最后处理的通知ID
const latestId = notifications[0].id;
await env.KV_STORE.put(config.mastodon.lastNotificationIdKey, latestId);
console.log(`Sent ${notifications.length} new notifications to Telegram. Latest ID: ${latestId}`);
} else {
console.log('No new notifications.');
}
} catch (error) {
console.error('Error checking notifications:', error);
}
}
// 从 Mastodon 获取通知
async function fetchMastodonNotifications(sinceId) {
const url = new URL(`${config.mastodon.instance}/api/v1/notifications`);
url.searchParams.append('exclude_types[]', 'follow');
url.searchParams.append('exclude_types[]', 'follow_request');
url.searchParams.append('since_id', sinceId);
const response = await fetch(url.toString(), {
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
'Authorization': `Bearer ${config.mastodon.accessToken}`
}
});
if (!response.ok) {
throw new Error(`Mastodon API error: ${response.status} ${response.statusText}`);
}
return await response.json();
}
// 发送通知到 Telegram
async function sendToTelegram(notifications, env) {
// 按时间倒序排列通知
notifications.sort((a, b) => new Date(b.created_at) - new Date(a.created_at));
let message = `📨 你有 ${notifications.length} 条新通知:\n\n`;
notifications.forEach(notification => {
const sender = notification.account; // 通知发起者
const senderName = sender.display_name || sender.username;
const senderHandle = `@${sender.acct}`;
const senderUrl = sender.url;
// 根据不同通知类型构建不同消息
switch(notification.type) {
case 'mention':
const mentionContent = stripHTML(notification.status.content);
message += `💬 <b>${senderName}</b> (${senderHandle}) 提到了你:\n${mentionContent}\n\n`;
break;
case 'reply':
const replyContent = stripHTML(notification.status.content);
message += `↩️ <b>${senderName}</b> (${senderHandle}) 回复了你:\n${replyContent}\n\n`;
break;
case 'reblog':
const reblogContent = notification.status
? stripHTML(notification.status.content)
: "[内容不可用]";
message += `🔁 <b>${senderName}</b> (${senderHandle}) 转发了你的嘟文:\n${reblogContent}\n\n`;
break;
case 'favourite':
const favContent = notification.status
? stripHTML(notification.status.content)
: "[内容不可用]";
message += `⭐ <b>${senderName}</b> (${senderHandle}) 喜欢了你的嘟文:\n${favContent}\n\n`;
break;
case 'poll':
message += `📊 <b>${senderName}</b> (${senderHandle}) 的投票已结束\n`;
break;
case 'follow':
message += `👤 <b>${senderName}</b> (${senderHandle}) 关注了你\n`;
break;
case 'follow_request':
message += `🫂 <b>${senderName}</b> (${senderHandle}) 请求关注你\n`;
break;
default:
message += `ℹ️ 你有一条新通知 (${notification.type}) 来自 <b>${senderName}</b>\n`;
}
});
// 添加来源链接
message += `\n查看所有通知: ${config.mastodon.instance}/notifications`;
// 发送到 Telegram
const url = `https://api.telegram.org/bot${config.telegram.botToken}/sendMessage`;
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
chat_id: config.telegram.chatId,
text: message,
disable_web_page_preview: true,
parse_mode: 'HTML'
})
});
if (!response.ok) {
throw new Error(`Telegram API error: ${response.status} ${response.statusText}`);
}
}
// 去除 HTML 标签
function stripHTML(html) {
return html.replace(/<[^>]*>?/gm, '');
}
配置KV和定时执行
去Cloudflare Worker设置页面绑定KV和设置定时执行。

除了定时执行外,你还可以用 https://wokrerurl.dev/check 手动触发
PIVOT Vol.15
本刊物不定期发布,推荐通过 RSS 订阅:https://anotherdayu.com/feed/

Devonthink 最近更新了 4.0 Public Beta,在原有基础上支持更多 AI 功能,和文档版本控制功能。目前为免费试用阶段,感兴趣的可以试试。
「Open Source Mac Apps – Indie Goodies」
一个开源 macOS 软件列表。
一款macOS文件搜索工具,可补充Spotlight的不足,对网络、外部卷、系统目录甚至其他用户文件夹进行深度搜索;支持基于文件名、扩展名、大小、日期和类型等多属性的精准检索,并能在多种格式(纯文本、压缩包、Office文档、二进制文件)中进行全文本搜索;此外,FAF提供分层视图、图像预览、根搜索模式、结果保存与导出,以及与Alfred、Keyboard Maestro、PopClip等工具的集成,满足高级用户的多样化需求。
开源文献管理工具,采用纯文本 BibLaTeX 格式存储数据,很适合 LaTeX 和 Markdown 格式。
RunRepeat通过深入的跑鞋技术与功能指南,为跑者提供权威参考;其评测流程包括将跑鞋切半以检视内部结构并在实验室中测量20多项参数,实现精准数据采集;结合标准化测试、真实环境穿着试验和全自费购鞋的无偏见原则,确保评测结果客观、可比且可信。
OpenAI 检测到异常流量或可疑代理、地区限制、频繁更换 IP 地址的情况下,ChatGPT 的输出质量可能会被可以降低,回答内容变得简单、重复或不够准确,对某些问题避免作答或回答含糊其辞。
这个方案通过指纹浏览器结合美国静态住宅IP,实现稳定的 ChatGPT 合租方案,避免降智。
「Researching with Hazel, DevonThink, Bookends, and Tinderbox Applications」
一套科研写作的工作流。
Hazel 和 DEVONthink 是我常用的软件,最近开始尝试使用 Bookends 进行文献管理。
本篇文章介绍了开源工具 Zowie,解决了在 Zotero 之外(如 DEVONthink)查看或编辑 PDF 文件时,无法快速定位对应 Zotero 条目的问题。Zowie 能扫描本地 Zotero 存储文件夹中的文件,并将对应的 Zotero select 链接写入 PDF 元数据或 Finder 注释中。
kOS 是 Helper Systems 推出的一款本地化研究辅助平台,它通过新型kBase仓库和可视化工具(如目录、缩略图、词云和索引)帮助用户高效管理与探索PDF文档;内置AI功能可生成摘要。
FlashSpace 是一款为 macOS 设计的 workspace 管理器。
为了两叠醋包了两盘饺子
记账
想记录一下装修房子一共要花多少钱,一开始是用手机记事本记录的,后来看着似乎要越来越乱,于是逮着 Cursor、 Github Copilot 免费额度一顿薅,造了一个重复的轮子,在线记账程序。
自用的,地址就不放了。
既然做了,肯定不是只记装修了,顺手把吃穿住行玩等类别加上。然后想着付款微信、支付宝、银行卡的也给整上去。统计报表也得整,修改密码设置也要有,于是就乱七八糟整了一大堆,不过最后筛选功能没加上,暂时没用就放着后面再加吧。
Mardown 文件管理
博客换成 Hugo 搬到 github 和 cloudflare 后,更新明显少了许多。主要原因当然是有了二胎,实在是没时间。还有个不可忽略的原因是发布文章太不方便了。
曾试过 Obsidian,也直接在 vscode 上写过,甚至下载了 github 手机 app,但写文章还是麻烦。对比上面的三个,Obsidian 设置同步比较麻烦,github app 写起来比较痛苦,vscode 是最好用的,但是得电脑操作。
于是,我又逮着 deepseek 和 Github Copilot 一顿薅,整了一个 md 在线编辑和管理的程序。
界面参考的是 typecho 后台,只有文章添加、文章管理、分类和标签管理。然后通过浏览器和 api 翻译标题,自动插入一些简单的 md 标签,最后是保存和下载以及一键同步 md 文件到 github 仓库。下载的 md 文件也可以用于复制或上传到 github 使用。
除了一键插入图片到又拍云外,其他都弄完了,趁热发一篇。
为了两叠醋包了两盘饺子
记账
想记录一下装修房子一共要花多少钱,一开始是用手机记事本记录的,后来看着似乎要越来越乱,于是逮着 Cursor、 Github Copilot 免费额度一顿薅,造了一个重复的轮子,在线记账程序。
自用的,地址就不放了。
既然做了,肯定不是只记装修了,顺手把吃穿住行玩等类别加上。然后想着付款微信、支付宝、银行卡的也给整上去。统计报表也得整,修改密码设置也要有,于是就乱七八糟整了一大堆,不过最后筛选功能没加上,暂时没用就放着后面再加吧。
Mardown 文件管理
博客换成 Hugo 搬到 github 和 cloudflare 后,更新明显少了许多。主要原因当然是有了二胎,实在是没时间。还有个不可忽略的原因是发布文章太不方便了。
曾试过 Obsidian,也直接在 vscode 上写过,甚至下载了 github 手机 app,但写文章还是麻烦。对比上面的三个,Obsidian 设置同步比较麻烦,github app 写起来比较痛苦,vscode 是最好用的,但是得电脑操作。
于是,我又逮着 deepseek 和 Github Copilot 一顿薅,整了一个 md 在线编辑和管理的程序。
界面参考的是 typecho 后台,只有文章添加、文章管理、分类和标签管理。然后通过浏览器和 api 翻译标题,自动插入一些简单的 md 标签,最后是保存和下载以及一键同步 md 文件到 github 仓库。下载的 md 文件也可以用于复制或上传到 github 使用。
除了一键插入图片到又拍云外,其他都弄完了,趁热发一篇。
反全球化、反脆弱性
9年前,我曾写过日志,担心(特朗普)川普会不会是下一个希特勒,所幸他第一任总统期间不是。时间到了2025年,他再次入主白宫,又一次掀起贸易风暴,在全世界大打关税战。
尤其是针对中国的关税,这一次明显看得出来,对于中国这种世界第二的经济体,我想到了“修昔底德陷阱”,这一次的守成大国和新兴大国它们之间能和平相处吗?历史上16次这样的情况,有12次以战争冲突解决。
关税大战之下,股市大受冲击,新兴资产市场也不例外,全球避险情绪高涨。唯一例外的是黄金,不断刷新历史新高——之前建议朋友们买的黄金ETF有福了。而包括美元在内的法币,正在丧失信用和地位,贬值自然不在话下。
更令我惊奇的是,作为一个世界大国的领导人,川普总统不断抛出不符合经济常理的观点,连《经济学人》都接连发文批评他颠倒是非、信口雌黄,我越来越感觉世界就是一个巨大的草台班子?
另外,川普似乎是作为一个强人领导在治理他的国家,并且他的政策似乎只需要在社交媒体上发一段话就算宣布。而且,他的政策也不断变化,一会儿宣布要加关税,一会又说要和其他国家达成协议,整个世界就被他一个人牵着鼻子走似的。
在这样的一个反全球化、甚至可能会产生战争冲突的大环境下,我担忧的事情是,作为一个时代的小个体,如何增强自己的反脆弱性来应对不可预知的未来?
【知途人文】7:写作的核心,不是词汇和修辞
专注于每个步伐
周三北上了一趟,同日返回,学习“一老一小”健康管理。工作不表,收获满满。京城的天是亮的真早,比成都早一个小时。团队八点出发学习,我六点出门,刚好在附近溜达两个小时,自然。
出门不久便是互通,关键还看到了蓉宝,嘿,在北京见到成都大运会的熊猫宝宝,还是多亲切的。走胡同多了,也便没有了起初的那般美好感觉,反而觉得有些压抑,太狭小了,当景点看还差不多。
街头有一个小巫师哦,呃,不对,这是不是小矮人啊,白胡落地,红帽高耸,提着油灯,拿着小铲子,你这是去挖宝啊,还是去掘坟?给人一种非常神秘的感觉,街头一角,不千篇一律,倒也欢喜。
嘿,冰墩墩,和我的小墩墩相比,这就是个巨无霸啊。虽然距离冬奥会已经三年了,但冰墩墩看起来还是那么亲切,想当年可是一墩难求~~看着冰墩墩,萌萌大眼,我便嘴角上扬,开心笑起来。
继而又到了一个公园,六点半,晨练人们或跑步、或打拳、或压腿……一棵树下,两个孩子正在戏耍,看着装扮又似古人,或许这是两个仙童吧。桃花满园,或许海棠花,傻傻分不清,反正,漂亮。
上过街天桥,高楼耸立间还是有低矮瓦房,桥上看去,房屋虽破,但烟火气满满,屋顶铺的有石棉瓦,塑料布,砖头压着,防水。别看这破破烂烂,但高攀不起。不知道这里面住的是哪些人?
穿过胡同时,看到一棵高耸的树。喜欢这种绰约的姿态,自然而然的生长,将全部的能量集中于当下。随风而起,可方可圆,顺其本性,或许这是一棵快乐的树。呃,不对,应该不起分别心,安然。
走过街道时候,看到一排萌芽的树。春意盎然,大抵就是这样的一种状态,充满了生命力。花儿的绽放、风儿的低鸣、蟋蟀的清唱,听凭内心的召唤,这些都是本性使然,没有特别的理由。
树,还是树,自然蓬勃,屈伸自如,刚柔并济。以前觉得北京很陌生,后来渐渐熟悉,现在倒有几分归家感。正如神照本如禅师所说的,处处逢归路,头头达故乡。本来现成事,何必待思量。
福,一面墙上五个福字,可真是五福临门。或许,我们追求幸福的过程,才是最幸福的。既然每个人重要赤条条来,赤条条去,什么都带不走,还不如在追求一切的过程中好好享受,不枉在尘世走一遭。
遇到一处庙宇,门口上书南无阿弥陀佛,加之清晨,没几个人,突然有种静谧感,自在放松。世间万物本来清闲,只是人们自己在喧闹忙碌。何不闲看庭前花开花落,漫随天外云卷云舒?岂不快哉!
瞧,上面说的那个小矮人的家在这里,一间知更疗愈小馆,心理咨询,水晶能量,塔罗星图,艺术疗愈。继续行走,安稳自在的走路,专注于每个步伐,在时间的桎梏下获得最大的自由与洒脱。
一诚法师道:人的心原本很简单,并没有那么多负累与技巧,只因为在社会里侵染太久,染上了不属于自己的色彩。明心,就是要抖落这些不纯的色彩,洗净铅华,寻回最本真的自己;见性,就是要在无明的迷惘中,收回向外发展的目光,转回自身,彻悟内心最深处未被污染的本性。
在平台之外,留一片属于自己的空间:读 Be A Property Owner And Not A Renter On The Internet 一文有感
文章讨论了互联网平台的集中化带来的问题,如用户被锁定和内容控制权的丧失。建议用户成为“房东”,拥有自己的域名和服务器,建立个人网站,维护自我内容的独立性。强调真正拥有数字资产的重要性,以实现自由和灵活性。
在平台之外,留一片属于自己的空间:读 Be A Property Owner And Not A Renter On The Internet 一文有感最先出现在Justin写字的地方。
反差
当年今日
- 2025 : 反差
- 2024 : 兽医
- 2023 : 重回篮球场
- 2022 : 缩短2分钟
- 2021 : 迷上钢笔
- 2020 : 更爽
- 2020 : 你的自由
- 2019 : 不想分离
- 2018 : Office 2016的烦心事
- 2017 : 无谓的怨恨
- 2016 : 拒绝同流合污
- 2016 : 学霸与学渣
- 2015 : 里程标志物呢?
- 2014 : 没有运动的忏悔
- 2013 : 3分钟的重点
- 2012 : GAS08E20碎碎念
- 2011 : 不是时候
- 2010 : 审视自己
- 2009 : 适应,必须的
- 2008 : 冲动stop!
- 2007 : 3女兵+1排长
- 2006 : 羽毛球终结篇
- 2005 : My Own Style (Ⅱ)
新事物通常都会让我紧张又兴奋。不管之前有没有接触过那个东西,也不管那个玩意跟我之前所认知的有没有交集,我觉得一把年纪的好处就是无论遇到什么,只要敞开心扉,生活的经验总会在消化吸收理解上有那么一点点帮助。有可能那个帮助是正向的,也有可能是反向的。正向的好处是,面对同样的新事物,我给出的解决方案可能要比其他人多很多,或者考虑的层面也要比他们广很多。反向是,我会用固有的思维觉得那个东西也就只能那样,实际上可能有更多解决方案,那些新的解决方案更直接更简便。无论是哪一款,所有都得建立在认真的聆听以及吸收理解的基础上,如果只是一知半解,就给出自己的感受,我觉得那个通常是谬论。
某天某个公众号上说到很多人会把周末浪费掉,因为觉得工作日做牛做马,周六日得放纵一下自己,吃饭睡觉打游戏或者追剧如此循环。大家觉得这种形式是放松,公众号的那个文章认为这没有一点帮助,尤其如果你是一个脑力工作者。如果你是一个体力工作者,睡觉和休息是一个很好的恢复方式,但脑力工作者不是这样的。公众号的建议是周末要多尝试一些自己平时不怎么做的事情,比如学习一项新的技能,又或者去运动,反正跟工作日的反差越大越好。这种大反差,反而会让人解脱出来缓解疲劳。我觉得这样的原理是这样的反差操作会调用人不一样的区域,无论是脑部区域还是身体的各种肌肉,所以对那些常用的肌肉和脑部区域来说,反而是让它们能喘一口气。
说来也神奇,原来我自己一直以来都是这么干的,无论是工作日还是休息日。我经常做一些反差很大的事情,一些根本没有关联的事情。工作以来我一直在干这种事,所以我的兴趣爱好会让别人觉得瞠目结舌。在运动方面,几乎没有什么不涉及,只有最终被我坚持下来一直做的是哪些而已,。至于其它的不存在我喜不喜欢我会不会,只要你让我去干,都可以。其它方面,什么尤克里里、什么橡皮章、什么做字幕、什么摔角统计,什么LED灯牌……我经常干一些几乎没什么关联的事情。做那些事的时候,当然我会碰到不少的钉子,但做的过程中其实我是快乐的,或者说我不得不享受其中,因为既然已经开始了,就不该去考虑会不会不行。干截然不同的事情会让人忘却,又或者说是快速忘却一些主业上的烦恼。对我来说运动在这方面的效果特别明显,尤其是高强度运动。可能因为高强度运动的时候,人的血液得给供给全身,大脑的那些纠结处就显得不那么纠结了。运动能让我快速暂时忘却一些烦恼。睡觉可以像擦黑板一样把那些不应该留存的东西擦掉,一次可能擦得不那么彻底,但几次过后,基本上就没有残留了,但是睡觉跟运动比起来,睡觉需要的时间长很多,万一因为某事睡不着呢。
在进行有氧运动的时候,我可能会进入冥想状态,脑部还是继续可以纠结的,但现在对我来说,进入这种冥想状态的几率降低了,持续时长也降低了。在没进入冥想状态自动巡航之前,运动的时候分心可能会让你效果不好,又或者出现各种意外。当你不得不专注于运动的时候,人脑哪有那么多的CPU去处理其它事情,起码我自己是这样的。
周末的计划再好,如果被雨水打断,什么都是浮云。
【2025也闲谈·十八】今天有人来踢馆
万豪系酒店总结
和凯悦不同,万豪系酒店时间跨度非常大,我第一次星级酒店是喜达屋,当时还没有和万豪合并,后面喜达屋和万豪合并,无论会员数还是酒店分布都是遥遥领先了。
万豪白金是我最早的酒店高卡,用的88VIP 挑战获得,差不多用了两年多,去年没有保级,,以后大概率也不太会去住万豪系的酒店了,不过快速获得一个白金还是挺不错的,搭配中信的万豪联名卡可以更好玩转万豪。
本文简评下住过的万豪系酒店,给大家一个参考。
长沙建鸿达JW万豪

硬件很顶,积分兑换比较划算,位置居然在我之前住过的小区旁边,也是缘分,白金给升级了角房。
海口威斯汀

白金升套,还不错,不过海口没啥玩的。
青岛瑞吉

白金给了卡洛琳套房,运气无敌了,其实非常抠门。
曼谷玛迪派迪酒店

积分兑换加套房券,现在无论积分还是现金都不值,不如附近的洲际。
曼谷苏拉旺万豪

通过ota 直接定的行政,位置其实一般,但可以看到像素大厦,有无边泳池。
芭提雅万丽

位置比较偏,但挺好的,酒店很大。
清迈艾美

商务类型,不咋推荐。
吉隆坡 W

中转住了一晚,可以看到双子塔,泳池拍照不错,价格比较高了。
巴厘岛丽思卡尔顿隐世

积分兑换,太贵了,升了别墅,无敌。
上海 W

上海热度最高的酒店之一,景观确实厉害,住过两次,没住过奇幻套。
上海艾迪逊


住过两次,套房无敌,普通房间不值得。
上海红塔豪华精选
非常老的酒店了,在我玩酒店之前入住过一次。
广州威斯汀
非常老,不值得花钱入住。
成都茂业JW万豪
非常一般的商务酒店,但位置不错,之前飞九寨的航班取消了,被迫住了一晚。
成都瑞吉
老,房间傻大,胜在便宜。
成都 W

位置垃圾,花里胡哨。
厦门 W

位置垃圾,抠门。
厦门喜来登

建筑金碧辉煌,实在是太老了。
深圳中洲万豪

升级不太大方,位置好,硬件好。
深圳博林天瑞喜来登

还挺有特色的,位置一般。
深圳佳兆业万豪

太远了,周末人多。
重庆威斯汀

位置还行,泳池不能游泳,适合拍照。
三亚艾迪逊

个人比较喜欢,挺好的。
三亚瑞吉

比较老了,房间傻大,我个人还挺喜欢的,住过两次。
三亚亚龙湾喜来登

老,其实位置非常顶。
三亚福朋喜来登

中转酒店,挺好的,几乎每次去三亚都要中转住一晚。
珠海瑞吉

白金给套大方,不错。
武汉威斯汀

老,武汉酒店洼地,没啥选择,不过威斯汀有个江景。
拉萨福朋喜来登
入住的时候还是喜达屋旗下,在瑞吉旁边,不咋推荐。
呼和浩特喜来登

很老了,呼和浩特选择不多。