2025-08-01 08:21:00
2023 年 4 月我在 xlog 下写下了第一篇博客。xlog 真的是一个我很喜欢的博客平台,好看,对于 markdown 的第一方支持,不用考虑部署、图床等问题,自带 AI Summary、自带双语翻译,真的是一切只需要「写」即可,哦对,更重要的是,依赖于区块链技术,虽然你写的文章是在平台上的,但所有数据都依然属于你,且所有数据都是永久保存。
然而,两年过去了,xlog 这个平台虽然还在,但我认为它已经死了。GitHub 更新已基本停滞,没有人处理 issue、没有人审阅 pr,xlog 官网上充满了 spam,也没有人去管理社区。
其实这一切的原因都很好理解 —— xlog 的开发者 DIYGod 转去做 Folo 了。是啊,Folo 相比于 xlog 绝对是更有前景的项目,也更容易讲故事……
xlog 已被放弃,再加上 xlog 的母公司 RSS3 最近的动荡,我觉得是时候从 xlog 迁移走了。
我其实无比庆幸,两年前的时候我是打算把我所有博客迁移到 xlog 的。但是我的博客用的是 /yyyy/mm/dd/xxx
的 url 格式,而 xlog 并不支持这种格式,因而我一直是用 blog.singee.me 作为博客主域名 + articles.singee.me 作为 xlog 博客域名的,然后通过自动化将内容进行同步,且配置 xlog 博客的链接作为 Canonical URL。
这让我这次的迁移十分简单:将我原始博客的链接删掉、将 articles.singee.me 的原链接进行跳转即可!
嗯…… 唯一的副作用,通过 RSS 订阅我的博客的人应该会因为 id 变化了重新看一遍我的博客。其实这个是可以解决的,因为我之前 blog.singee.me 的 RSS 是通过 patch 了 hexo-generator-feed 实现的,完全可以特殊处理,但考虑到经历这个事件以后我应该不会再考虑这种「奇葩」的两处链接的形式了,所以我就把之前的 patch 回滚了,顺便增加一下我博客的曝光度 emm
anyway,博客又回来了,我又回到了原来的工作流:Notion 写作 + 同步到博客。已经这样写了两个博客了,一切都挺好,和两年前相比仿佛什么都没变 XD
2025-07-18 05:36:00
Python 的 pth 文件提供了在任何 Python 解释器执行前执行命令的能力,可以方便的执行一些初始化脚本
Python 解释器在启动时会自动 import site 模块(除非启动时指定 -S flag),而 site 模块有一个行为就是会寻找 site-packages 目录(最常用的场景就是我们安装包的目录)下的所有 .pth
文件并依次「执行」它。
需要注意的是, pth
实质上并不是脚本,它的定义是「path configuration file」,格式是每行一个「additional items (one per line) to be added to sys.path
」,实际上,它每一行可以是下面的值之一:
import
开头的字符串:会被 exec() 解释执行sys.path
之中因此,利用第二个能力,我们实质上可以任意执行我们需要的脚本!
🗒️ 注:如果脚本执行出现异常,只会打印出错误而不会阻止解释器的继续执行
在 Python 3 的所有版本可用
相关 pth
文件会在 python 解释器启动时执行 —— 这包括执行脚本前、启动解释器前、执行任何用 python 写的程序前(如 pip)
当存在多个 pth
文件时,将采用字母序的方式依次执行 —— 一个值得强调的点是,python 的 virtualenv 就是通过 _virtualenv.pth
执行的 —— 这意味着,我们应当注意 pth
的命名以让其确保在 venv 之前或之后运行
2025-03-21 07:57:06
将 A-Z 逐一输入到 Google Chrome 的地址栏里,我的 Google Chrome 都会自动补全出哪些域名呢?
本文灵感来源于 2024: 浏览器从 A 到 Z,首发于少数派
Axiom 是我最喜欢的网站日志收集分析工具,免费版拥有着高达 500GB / 月的免费额度,我的多款产品(包括我最新正在做的 1Space)都是使用的它作为日志收集。
如果你在找一款日志工具,强烈推荐它!
无可争议…… 虽然我现在确实不怎么用百度了,但是网络连不上的时候还是第一时间用百度做测试的😂
ChatGPT 作为 AI 时代的先驱,在目前似乎仍然保持着第一🤔
如果这篇文章是在 2024 年写的,那么我的 C 可能就不是它了;2024 年或许算是 ChatGPT 落后的一年,但是在 2025 年,O1-Pro 和 Deep Research 让它再次成为了模型领域的 No.1。我追随着最新的前沿技术,也订阅了高达 $200 / 月的 ChatGPT Pro,或许很贵,但我觉得它确确实实为我节省了很多的时间和精力。
论「社区」,似乎已经有越来越多的服务选择在 Discord 这个平台上建立了。我在用的很多产品都用它作为产品发布和讨论的渠道。
没想到竟然是个 Inspect 页面。这是 Chrome 自带的浏览器调试工具页面(不过因为我在用的是 Edge,所以不是 chrome://inspect 而是 edge://inspect)。我在做的 1Space,因为利用了 Shared Workers 作为多标签页的同步方案,因此我需要频繁访问它来查看同步日志。
Fly IO 是我用了数年的容器服务平台,曾经驱动了我绝大多数的产品(其实现在也有不少,还剩下 40% 吧),体验很不错。
Fly IO 给我印象最深刻的其实是他们的 招聘。他们的招聘与绝大多数的面试不同,采用的是「做 2-3 道实践题」+「与他们工作一天」的形式,只看能力,不看背景(甚至他们不要求简历),而且是全远程工作、薪资透明(仅与面试定级有关,与历史薪资、所在地域无关)。
Gmail —— 一个不存在的邮箱平台
好好好,竟然是 localhost —— 3333 这个端口是我的 1Space 的本地开发服务器所使用的端口。
虽然 RSS 越来越没落,虽然 RSS 平台越来越多(嗯?这俩之间的因果关系有点反直觉),但我还是觉得 RSS 是最适合我的信息收集渠道,inoreader 也是最好用的 RSS 客户端。
多说一句(广告时间到),inoreader 单纯做 RSS 已经到了几乎极致了,但是我们用 RSS 的目的或许不是为了收集信息,而是为了学习信息,而在整理回顾上,inoreader 就没那么强了,甚至我觉得其他能作为它下游知识管理的产品(例如我目前在用 readwise,或许下面 R 能看到它的身影)也不够优秀。因此我做的 1Space 目的就是打通知识「收集 - 管理 - 回顾」的全流程。
JetBrains 曾经是无可争议的 IDE 老大。
唉,曾经。JetBrains 的体验真的比 VS Code 好太多,哪怕在 VS Code 最擅长的前端领域,我也敢说 WebStorm 吊打它。奈何,现在是 AI 的时代,IDE 已经被 Cursor 为首的 AI IDE 重塑,而 JetBrains 真的在 AI 的潮流上落后了。打败你的,可能并不是你的竞争对手。
哦吼,我自己的 Knowledge Base!我的知识库一直是公开的,我的很多懒得不适合整理成博客的内容都写在了上面,主要记录我各种笔记、踩过的各种坑。
嗯…… 和 H 一样,看出来我真的很努力去做 1Space 了。
在我从浏览器中测试「M」之前,我就猜到了,我最常用的网站必有它。
Monica 可能宣传的不多,但是说它所属公司的另一个产品 Manus 估计大多数人都听过。如果说 Manus 是 AI Agent、完全替代人工方面的王炸,那么 Monica 就是你日常使用 AI 过程中的瑞士军刀 —— 你需要的 AI 能力,几乎总能在 Monica 中找到。
竟然是 Notion。Notion 似乎我已经不用多余篇幅介绍了,估计能看到本文的受众都见过它。我曾经是 Notion 最早期的用户之一,但坦白说我已经挺长时间没怎么用过 Notion 了…… 其他 N 开头的产品还不够能打哇🤷
又是一个程序员专属产品。这是一个 UI 组件库,算是 shadcn 的补充,同样以「复制-粘贴」的形式引入组件,需要的人值得一看!
竟然是 Paypal,类似国内的支付宝的产品?又是一个实际上我没怎么用的产品,看起来 P 开头的服务也不够能打😮💨
emm 企业内部平台,略过
哦!Readwise Reader!一个稍后读的阅读器 + RSS!
真的挺好用的,而且对于我一个早期的 Readwise 用户而言直接是加量不加价。但我其实对它的很多细节还是不怎么满意的。我的 1Space 去年才开始正式做,但其实早在数年前就有计划了。但当时,刚刚打算做,就遇到了 Readwise Reader 宣布立项,我被他们开始宣传的「Reader for Power Reader」吸引了,决定等他们的产品,奈何,等了这么久,虽然已经比其他阅读器做的好很多了,还是不足以达到我想要的地步😮💨 最后还是没逃开自己做的命运。
我的某产品的内测页面🤔
Temporal 的管理面板。Temporal 是一个 Workflow 管理与调度的工具。写后端的人应该都知道,如果一个逻辑直接使用很普通的代码编写,在项目发展的过程中,很容易就会遇到复杂度指数级提升。如果并发、重试等基础操作在每个接口、每个 RPC 调用都自己写一遍,实在是没有意义,而且很容易漏了哪里导致上线 bomb。Workflow 就是对这种场景的一个解决方案,你的一切逻辑都定义成 Workflow,而重试、日志、并发等等都由调度器管理,项目初期看起来可能稍显繁琐,但是随着项目复杂度的提升、随着项目对并发的要求的提升,你会感谢当年选型选择了使用 Workflow 进行组织的你的。
哦对,Temporal 被设计为可以支撑超大型项目。如果你的项目是个中小型项目,也可以看看其他解决方案,例如 Trigger.dev、inngest、Restate。
要不是这篇文章严格按照字母序组织,它应该是和前面的 Origin UI 放在一起的。Shadcn/ui 简直就是没有设计能力的开发者的福音,如果你想做一个自己的产品,又苦于不知如何让页面变得好看,不如试试它。
另外,shadcn/ui 的开发者目前已经加入了 Vercel,因此 Vercel 的 v0 对 shadcn/ui 有很强的支持,如果你不但没有设计能力、甚至不是开发者,那么,利用 v0,只动动嘴皮子也可以得到利用 shadcn/ui 组织的很好看的界面。
i2exv2ex 论坛可以说是中国最大的同性交友社区程序员论坛了,嗯,就是这样。
我自用的某产品页面
全球最大的社交平台,实话说,对不追星的人来说,比微博好玩多了
各种词典软件层出不穷,但我觉得依然还是有道最好用。带有韦氏、柯林斯、牛津的资源,各种原版例句,而且完全免费。
如果你是一个开发者,又不想浪费过多的精力在自动部署、运维上,就选 Zeabur 吧!推送代码秒部署,最重要的是,还有国内的服务器节点,真的很好用
2024-10-17 06:22:00
(按照实付月金额降序)
我是 Proton Visionary 用户,Proton Visionary 的价格 $479.76 / 2y,是我所有订阅服务中最贵的了。
我依然在持续订阅中,且目前对于 Proton 依然很满意
在可以预见的未来我将继续长期订阅下去
AD:Proton Visionary 可以分享给他人加入,如果你想加入我的家庭组请发邮件给我 [email protected],价格为 92 天 ¥109
订阅了 Monica Unlimited,年付 $199
Monica 是一个我认为最全的 AI 工具,可以说覆盖了几乎所有需要 AI 的平台,有网页版的 chat、浏览器插件扩展(Chrome + iOS Safari)、桌面端、手机端,几乎可以说只要订阅 Monica 即可满足所有对于 AI 的需求
AD:如果想购买 Monica,请使用我的邀请链接 https://monica.im/?ref=bryan
订阅了 ZTM 年度订阅,价格 $195.3 / 年(使用了提供给中国用户的 30% PPP 折扣)
一个计算机相关知识的学习网站。我是从 Udemy 学习到的他的课程,质量很不错而且持续更新,并且有比较多我感兴趣的内容,所以就去网站订阅了。目前在这上主要用来学习算法、系统设计和设计。
如果你也对它感兴趣,单门课程可以看看 Udemy 搞促销的时候,大概七八十一节,如果想订阅的话记得取申请 PPP 折扣订阅
另外他家还有一点有意思的是,Lifetime 标价 $999,但只要你学习 30 个月(每个月学习至少一节课)就可以得到免费的 Lifetime Plan。这种不促销而是鼓励你持续学习的做法我很喜欢。
订阅了 Duolingo Family,价格 $195.3 / 年
和 GF 一起用,总觉得用多邻国学知识是次要的,玩玩才是主要的…… 我目前用它来学习日语和粤语,女票用来学习韩语
如果你也对多邻国感兴趣,去淘宝买 ¥40 / 年的家庭组拼车或许才是最划算的方案
订阅了 Personal Plan,价格 $10 / 月
不知何故我三年的 Copilot 免费突然没了,或许和最近确实没怎么折腾开源有关吧。 一直用 Copilot 已经形成惯性了,写代码时候没有 Copilot 提示(特别是一些错误信息什么的)总觉得麻烦好多,价格也不贵,就付费订阅了。
而且现在 Copilot 已经不只是代码补全了,一方面支持了 CLI,一方面支持了 Chat。特别是 Chat,之前只能在 IDE 和手机版用,现在不但可以在 GitHub 主站用了,还可以索引仓库来 Ask Repo,甚至还有独立的 Chat 页面。
Copilot 我唯一不满意的应该还是在 JetBrains 下生成 Commit Message 吧(而 JetBrains 自家的 JetBrains AI 就支持),我其实挺期待一个可以学习我历史 commit message 习惯来自动生成一个 commit message 然后我只需要简单更改就可以提交的功能的。
订阅了 iCloud+ 2TB,价格 ¥68 / 月
emmm 这可能是唯一一个我一直想退订但是没退吧,还每次扣款前五天提醒我下让我头疼。因为和家人共用,存储照片 + 备份,所以虽然感觉这是个性价比极低还不好用的东西我也只能忍着用了
翻*服务,Pass Gold 套餐,享受了 8 折,折后 ¥800 / 年
实话说已经不是很满意了,两年前我对 Dler 的评价是「综合体验最好的翻*服务」,但是现在我已经要打个问号了。
近年来持续的涨价 + 服务劣化,可能和大环境有关,但是我也实在不想为它付这么高昂的费用了。(事实上,之前我的套餐是最高等级 ¥1688/年 的 Diamond,现在也降级了)
卓越会员,¥680 / 年
有点乱入的感觉,毕竟山姆可能是这个列表里唯一不是数字产品的了
之前一直都是蹭别人的卡或者闲鱼,今年终于自己开了。在 ¥260 的普通卡和 ¥680 的卓越卡之间纠结来着,但是想了下差价每个月 ¥35,卓越+联名卡额外返利共 3%,平均每个月消费 1167 应该还是很容易的;而如果想完全赚回卡费,扣除掉送了 ¥50 开卡礼券、副卡 ¥100 闲鱼卖了,¥530 的价格在 4% 的返利下只需要每月消费 1104 就能回本相当于卡完全没付钱(这个金额我没算错哈,420/0.3 > 530/0.4),更何况还有副卡也会消费、加上卓越还有一些洗牙洗车券什么的,很容易回本,就开了。
Paid Plan,$5.2 / 月(因为我超用量了……)
我有数十个小服务跑在 Worker 上,大大提升了我的效率,可以说这个 5 刀是我付的最值的 5 刀了。
前期通过 Pateron 赞助获得的 Premium,$5 / 月
一个用来学习服务端技能的 learn-by-doing 平台,提供 tutorial 和对应的实验环境
RSS 服务商,活动时候开的 $89.99 / 18 月
$4.5/月(中国用户 PPP 优惠 50%)
我在同时用着它的回顾卡和 Reader 服务。但事实上我对它并不是非常满意,更多的是一种「市面上没有替代品」心态在用着它;我也在筹备我自己的类似产品,或许 2025 能见面。
HK$396 / 年(前几天活动 40% off 开的)
X Premium 可以说是一个我有时候需要有时候不需要的东西,大多数情况 Basic 够了,但我又很烦广告。之前一直都是一阵开一阵关的,这次想了下入了年付。
X Premium 有一个非常坑的地方!如果你点了升级按钮,那么不会有任何二次确认而是会给你直接升级+扣费;而如果你点了降级按钮,那么会立刻把你降级而且没有任何退款。
月付下损失可控,但是想像下年付的情况下,还剩下 11 个月的时候,想看看 Premium+,点了下,立刻升级成功了,反应过来不对,我只是想看看啊,于是又点了下降级,然后立刻降级成功了,紧接着发现哎竟然扣款了,那我降级会退款吗,等了几天发现没退,然后想那应该差额成为 credit 了吧,再次支付,嘿,又扣了一次钱。。然后联系客服,等待一周得到了一个「no refund」的回复……
同样是翻 * 服务,¥398 / 400 天
我用来做 Dler 的 backup 的,另外如果坚持每日签到的话价格要低于标价,因为差不多每签到 20 天能得 10 天,算下来 ¥398 能用两年多
固定美国家宽出口 IP,$4 / 月
懂得都懂,应付风控
微信公众号转 RSS 订阅,VIP3 ¥292.5/年
家庭组拼车,¥18/月
单单其中的 Timing 这个订阅 App 就能回本了,我额外在用的 Spark、Bartender、iStat Menus 等都算是白送的
土耳其订阅 TRY 809.99/年
我认为体验最好的网盘,没有之一
一个编程学习平台,在出 Insider 之前赞助了 $2 / 月现在获得了免费的 Insider【但其实所有功能都能免费使用】
主要可以用来学习多种编程语言,让自己刻意走出舒适区,而且有问题可以找 mentor 帮忙,完全免费
Pro+ Plan,很早期订阅的,$1.99 / 月
算法学习网站,¥109 / 年
¥88 / 年
我名下目前有 13 个域名,差不多均价 $12 / 年,加起来约 $150
目前我的主要服务都跑在 fly.io 和 Digital Ocean 上,约 $100 / 月,但目前均在免费 credit 范围内
各种联名卡活动开的,很难去算清楚具体花了多少钱,差不多每年 ¥400 吧
之前订阅了 Monica 的年付($199 / 年),本来是打算长久用下去的,但是这个季度我决定取消了它的自动续费,等到过期了再重新考虑是否续费,主要原因:
我曾经入了 Memex 的 lifetime plan,但是用了不到一周就发现完全不足以达到我的期望,就申请了退款。作者很快回复了,了解我不满意的点并承诺会在 6 个月内改善(也就是到现在这个月,2024.10)如果到时候仍然未能改善,继续给我退款,我同意了。
但自那以后,我所有的询问邮件、产品反馈邮件都石沉大海,再无人回复过。而现在 6 个月到了,我更是发现整个产品已经 3 个月没有更新了。
我以 Chargeback 作为威胁给作者再次发了最后一封邮件并表达了我的愤怒之情,这次作者倒是很快恢复了,说会 asap 启动 退款流程,然而至此又消失了,没有退款、没有回复……
其实早在两年前我就已经计划停用 inoreader 了,一个原因就是日益渐长的年费,现在已经丧心病狂到了$7.5 / 月(对比 miniflux 官方实例只要 $15/年),另一个原因就是最近的新 UI 让我卡到完全无法正常使用(事实上,在我现在的数据规模下,旧的 UI 也在某些地方会很卡,但至少不至于卡到不能用)
替代方案现在主要打算自己开发了,想做一个完整的 RSS + Workflow 的形式,来替代我目前 inoreader + IFTTT 的形式
2023-12-13 10:08:49
OmniFocus 4 即将发布!在我多年管理我的待办的过程中,我尝试过 Todoist、滴答清单、Things、Sorted 等等几乎所有市面上的 TODO 软件,但最终,OmniFocus 终成我一直以来的最终选择。而谈及 OmniFocus 的强大性,不得不提的就是他强大的自动化能力 —— Omni Automation。
Omni Automation 实际上是基于 JS 脚本的,而编写纯 JS 脚本的过程…… 一言难尽。虽然 Omni Automation 官方提供了 TypeScript 的定义文件,但一方面难以做好类型检查,另一方面其详尽程度仍有待提升(长久不更新、大量使用 any 等),此外,由于缺乏打包工具,代码逻辑的复用也显得颇为困难(我甚至很长一段时间都是靠着 Mac 版本 OmniFocus 的一个 bug 实现的逻辑复用)。
为了庆祝 OmniFocus 4 的面世,我决定将我个人开发并使用的方案整理开源,包括打包脚本和类型定义,还有我使用的一些工具函数及脚本,希望可以让更多人能够愉快地编写 OmniFocus Script。
pnpm install
安装依赖项pnpm build
构建脚本脚本源码放在 src
目录中,编译结果(可被 OmniFocus Scripts 使用的)放在 dist
目录中。
src
目录内的任何不以 _
开头的 TypeScript 文件都将被视为 OmniFocus 脚本并编译(_
开头的脚本文件被保留用于工具函数)。
任何脚本都必须遵循以下模式:
1 |
export const action = new PlugIn.Action(function (selection) { |
其中:
action
和 meta
是必需的,action.validate
是可选的meta
必须是脚本的最后一部分。它之后不可以有任何内容。运行 pnpm build
,构建后的脚本(以 .omnifocusjs
结尾)将被放置在 dist
目录下。
你可以直接将 dist 目录中的脚本拷贝到 OmniFocus 的脚本目录,也可以利用脚本进行同步。
如果你使用 iCloud 保存 OmniFocus 脚本,可以直接使用 pnpm sync
自动将构建好的脚本同步到 iCloud 中的 OmniFocus 脚本目录;如果你不使用 iCloud 而是使用了自定义路径,可修改 sync.sh
文件改变目标路径。
此方案我个人已用一年有余,但一方面开源版本可能有些错误,另一方面可能有更多的定制化需求。
欢迎进入 仓库 页面提交 Issue 和 PR!
2023-12-12 06:29:38
基础规则:
在 Go1.20 及之前:
在 Go1.21 及之后:
特殊注意:
https://github.com/singee-study/go-init