Y

YeungYeah 的乱写地

YeungYeah 的乱写地中记录了作者的所思所想及所为。

跟着 Alpha Picks 来投资

之前的个股投资一直都没有什么章法,去年年中学习了一下价值投资的相关理念,了解了公司估值分析和选股的方法,但是精力与时间有限,也可能是水平有限,最终也没有花太多的时间去仔细研究个股。然后就演变成看 YouTube 或者其他平台,谁聊到某个股票,看一下凭感觉就入手了。什么时候买,买多少,什么时候加仓,什么时候卖,全凭感觉。 意识到需要创建一个自己的交易系统,无论好坏,总比乱来强。国内的基金定投这些基本已经形成固定的计划,不需要操心了。美股这里,在之前黑五的时候,入手了一个 Seeking Alpha 的 premium 会员以及他们家的 Alpha Picks 服务。本文正是这段时间尝试摸索使用 Alpha Picks 来进行投资的记录。 什么是 Alpha Picks? Alpha Picks 是 Seeking Alpha 家推出的一个收费选股服务,会根据其收集的数据,通过量化的方式,每个月挑选出两支股票给用户。当前其挑选出的股票,运行至今收益已经到 270+%,是标普 500 指数的 3 倍多。 官方持仓的运行思路是,每个月月初和月中,会分别新加一支 STRONG BUY 的股票,购入定额持仓,然后等到股票的量化评级调到 SELL 以下,或者降到 HOLD 180 天之后,就会卖出。 新加入用户如何用? 现在新用户开通 Alpha Picks 的时候,持仓里面已经有几十个股票了。官方的建议是挑 5 个 STRONG BUY 的购入或者直接入手全部持仓。 通过与 Gemini 的沟通,最后 Gemini 给了一个操作指南,供大家参考下。 https://docs.google.com/document/d/1fZ_0du3qfKGU_5BtFEgDxOBwa5TEQMjC5yLwj_wXsc0/edit?usp=sharing 作为一个普通投资者,如果想要通过跟随 Alpha Picks 赚钱,不应该追求 100% 完美的机械复制,而应该掌握其核心逻辑,并采用简化的执行方案。 以下是针对普通投资者的最佳实践指南: 1. 核心心态:像机器一样执行 (Trust the System) 这是最难的一点。Alpha Picks 是基于量化数据(Quant Ratings)的,它的选股逻辑往往反直觉。 你可能会遇到的情况: 它推荐了一只你从未听过的冷门股,或者是你觉得已经涨太多、甚至是你个人很讨厌的行业的股票(比如煤炭、甚至某些消费股)。 怎么做: “捏着鼻子买”(Pinch your nose and buy)。 如果你订阅了这个服务,就请信任它的算法。普通投资者最大的亏损来源往往是“我感觉这只股不行”或者“这只股涨太高了我不敢买”。 2. 建仓阶段:如何开始? (Getting Started) 如果你今天刚订阅,面对 30 多只历史持仓,怎么买? 官方/理想建议: 按照当前权重买入整个投资组合(Buy the entire portfolio)。 普通人/现实建议: 资金有限,别买那 30 只。 策略: 只买目前评级为 “Strong Buy”(强力买入) 的前 5-10 只股票。 理由: 那些早期的“赢家”虽然涨了很多,但如果它们现在的评级降到了“Hold”(持有),你就没必要现在去追高建仓。只买当下数据最硬的。 3. 日常操作:每月两次的“新股日” (The Monthly Routine) Alpha Picks 通常每月会有两个新的推荐(Pick)。 资金分配: 尽量保证每次投入的资金量大致相同(Equal Weighting)。 错误做法: 这个月我有钱,买 $2000;下个月没钱了,只买 $200。这会导致你的业绩被大仓位的那只股左右。 正确做法: 设定一个固定的“月供”金额。例如每月定投 $1000,每只新股分 $500。如果有结余,就存着等下一次。 4. 卖出规则:严格遵守纪律 (Selling Rules) 这是 Alpha Picks 能够跑赢大盘的关键——“让利润奔跑,截断亏损”。 何时卖出? 只有在收到官方邮件通知时才卖。通常有两种情况: 评级暴跌: 股票评级直接降为 Sell(卖出) 或 Strong Sell(强力卖出) —— 立即卖出。 评级滞涨: 股票评级降为 Hold(持有),并且连续 180 天都维持在 Hold 状态 —— 卖出。 注意: 很多普通投资者看到变成“Hold”就慌了想卖,这是错的。Alpha Picks 允许股票在“Hold”状态下调整半年,这往往能吃到后续的涨幅。 无论赚赔都要卖: 即使这只股票你亏了 40%,如果系统说卖,必须卖(止损);即使这只股票你赚了 200%,如果系统没说卖,千万别为了“落袋为安”而卖出(不仅是让利润奔跑,更是为了避免错过主升浪)。 5. 资金再投资:简化你的生活 (Simplifying Reinvestment) 回到你最关心的资金处理问题。 不要: 每次卖出一只股票,就拿着计算器把几百美元平分给剩下 20 只股票。这会让你产生大量碎股和税务麻烦。 要: “资金池”策略。 当你卖出一只股票(比如回笼了 $1000),或者收到一笔股息(比如 $50),把这些钱全部视为“下一次买入的弹药”。 直接把这笔钱投入到下一次推荐的新股中,或者加仓目前排名前 3 的 Strong Buy 股票。 总结:普通投资者的“懒人协议” 操作环节 官方复杂指令 普通人推荐做法 买入什么 整个组合按权重配置 只买最新的推荐 + 当前评级最高的 Strong Buys 买入多少 严格均分 尽量固定金额(如每只股投入 $500),不用太精确 卖出资金 平分给剩余所有持仓 攒着,全额买入下两只新推荐的股票 股息分红 平分给剩余所有持仓 攒着,凑够一手再买新股,或者开启自动再投资(DRIP) 心态 理性量化 哪怕这只股很丑、你不认识,闭眼买 按照这个简化版策略,你能够获得 Alpha Picks 95% 以上的收益,但操作复杂度会降低 90%。

2026/1/8
articleCard.readMore

2025 年度记录

依旧是年度惯例,通过写流水账的方式回顾一下 2025 年,并记录一些想法。 Timeline 一月 BU 及团队开始大量招聘内包成为后续项目落地执行的主力,正式员工需要成为所谓的架构师带着内包干活。先不说对我一个入职才一年半的新人,是否有资格当所谓的架构师。但在上层看来,堆人能解决一切问题。正式员工太贵?那就堆内包。内包能不能干?不能干也得有人带着干。哪怕效率低,只要基数大,总比 0 强。于是乎,老板开始带了一个内包的团队,并且团队规模逐渐扩大到正式员工的数倍,后面每个正式员工带几个内包干活,最终变成一个包工头。对我这种还是校招出来两年的人来说,当包工头真的是个好事情吗? Anyway,也是借着这个招内包的机会,一月份去了两次长沙与他们交流及指导。长沙是个好地方,虽然差旅过程没有怎么去哪里玩,但是吃得还可以。 春节回家的时候,家里的新房子入伙了,换到了另一个小区,有了更好的环境,更大的房间,更好停的车位,非常舒服。尤其是车位升级后,再也不需要有开车回来需要求助父亲帮忙停车的情况了。 三月 三月第一天,在香港玩的时候,突然看到消息说方大同离世了,几个人给我发消息告诉我这个事情。作为方大同的老粉丝,第一时间感到的是茫然和不相信,去年还复出发了新专辑上节目,突然看到这样的一个噩耗。除了为他感到悲伤以外,还越发觉得生命无常,真正的没有什么能永垂不朽,人真的是会突然死的,不论年龄,不论身份。 月底绩效出来后,拿到了第一个好绩效和晋升。然而看着那点年终和涨薪,觉得也就那样,甚至这又叫做最好的一年,钱也不是很多,尤其是对比了好绩效和一般绩效的年终,多两个月也多不了多少钱,不知道意义在哪里(当然也可能是我的 base 不够高)。另外也一直觉得晋升跟绩效绑定也挺抽象的,晋升应该是能力达到了下一个层级,因此晋升后让你的层级符合你的能力水平。然而绩效又只是反映本年度的干活情况,是否达到/超出预期,两者实际上关联都不到。甚至于很常看到有低层级被派高层级的活当高层级用,然后到了打绩效时因为干的是高层级的活,反而目标与预期都高了,导致拿不到好绩效,自然也无法晋升。全凭老板良心。 四月 - 六月 五一的时候和女朋友去了昆明玩,自从小学毕业后再去云南,昆明天气实在是舒服,云南菜和菌子也非常好吃。 六月份的时候,团队 outing 又去了广西崇左,原本考虑的是轻松不特种兵,但最后感觉反而松弛过头了,都没去到什么地方玩,最终就是和同事狠狠打牌。 出去玩是挺开心,虽然工作还是在,比较可惜的是还是做不到放假就让自己彻底失联,以前更多可能是不敢,怕被上升,现在更多变成担心事情出问题或者推进不下去,放假了还主动去看。 八月 - 十一月 公司计划重点往巴西市场发力,大老板就突然想到要让我们技术也去巴西当地支持。说实话我也不明白一个技术到巴西当地出差两个月能支持出个啥来,但是是老板的想法,我们也只能照做。刚开始主管还是收集大家的意愿,看有没有人自愿去。然而结果很显然是没有的,时差、治安、语言、长距离,每个因素都非常劝退。最终变成了团队内轮流去,主管第一批,我是第二批,+2 也无法避免。 在确定要去之后,就是各种准备,办签证,买机票,订酒店。在这个过程中,也不断接收到来自社交媒体和已经外派到巴西的同事的各种各样关于巴西的负面消息,比如治安差,比如基建差。最主要是这个治安问题,各种偷东西和抢东西,甚至在国庆的时候还看到某华为员工被枪击、笔记本挡枪救一命的帖子,真让人害怕。 就是抱着这样的心态,在国庆后和另一个同事出发前往巴西,加起来坐了二十多个小时的飞机,落地圣保罗。然后过于谨慎的我,可能是飞机坐昏头了,落地打 Uber 到酒店的时候,背包直接落在了车上忘拿,在入住吃完东西过了两个多小时后才意识到,我把我的背包落在车上了,包里还有我的两台电脑和一台 iPad。虽然已经马上尝试联系 Uber 司机,但是 Uber 的失物招领机制实在是过于逆天,无法拿到司机的联系方式直接联系司机,只能等平台把消息转给司机,然后让司机回复平台再转发给我,这样一来二去,司机回复已经是第二天早上了。再加上在巴西当地的电子产品实在是太贵了,最终也没有找回来,去报警也只拿到了一个报警回执。 于是在巴西的差旅就这样天崩开局,落地后丢失了除手机外的所有电子设备,包括我的办公电脑和个人电脑(两台 MacBook Pro)。设备丢了其实第一反应还是心疼钱,第一反应其实是电脑没了,我还怎么办公??本来在飞行途中就攒了两天的事情,现在电脑没了。幸好最后求助到当地的 IT,借到了电脑,比较难顶的是借用电脑只有 Windows 笔记本,还是一台 19 年 DELL 老旧笔记本,但也只能将就用了。最后还是挺过来了,顶着时差和垃圾设备,工作上没出什么问题,生活上也比较适应,治安问题后面也没有遇到过。 抛开这个意外和工作的话,巴西差旅还是有点意思的,虽然治安不行,但是晚上不出门,出门只打车,在外面不看手机,基本上也还没遇到大问题。在遥远的圣保罗,还是体验到不少新东西,也吃了不少东西,甚至吃了不少还挺正宗的中菜,有家川菜甚至能比上国内不少饭店。另外出差两个月,还顺便收获了万豪白金卡和希尔顿钻石会员,开始有意识地养会员和住酒店。 通过这一趟巴西的差旅,更加意识到我的英语实在是不够好,尤其是 Speaking 上,和当地同事沟通起来比较勉强与费劲。一直在学英语,但是一直都没有达到一个让自己满意的程度,实在是可惜。 十二月 从巴西回来之后,因为设备都丢了,于是又得买设备了。之前是苹果全家桶,一直想脱离苹果的生态,然而如果再买一个 Macbook Pro + iPad,又得花个 2w 出去,不舍得。于是换了一个安卓平板 + Windows 笔记本,也开始逐渐适应了,也逐渐意识到这些都只是工具而已,基本上用什么都能达到目的满足要求,无非是够不够顺手。当然换生态自己也是希望能体验点新东西。 Thoughts Work & Life 随着工作越来越忙碌和大压力之后,工作在生活中比重和对生活的入侵也越来越多。比如今年的年度回顾,大部分其实都是工作或者与工作相关的事情,自己的或者生活上的事情其实没多少,甚至下半年也主要是因为巴西差旅的缘故。比较可悲,工作使我逐渐异化,元旦前的这几天其实请了三天假凑了一个八天的小长假,但是各种项目放心不下,即使关掉了通知,仍然担心工作事情问题或者有没有人找,时不时就点进去看看,回复下消息。 工作越来越没有意思,不只是因为上面吐槽到的种种。在工作的过程中,也会越发感到技术在其中的螺丝钉属性,业务才是核心,BD 比技术重要多了,技术做出花都没有用,没有业务的话还是没有人用,比如在收单支付领域你提供再多的功能和 feature,都不如费用再降低一点。技术在这时变成了 basic 的东西,而 basic 的东西自然也很难 argue 出什么价值,毕竟是人有我有的东西。可能大厂打工这类型的工作都这样,希望能有点不同的工作环境体验下。如果有好工作的话,也欢迎联系我🤣 Money & Investment 工作没意思,搞钱才是核心。去年开了美股账号之后,趁着整体上涨的势头,在股票上也是赚了一点。今年投入的本金也开始加大,并且在各种账户搞不同策略在攒钱投资。然而在股票交易上,始终没有形成一个交易系统,可能看了几个视频对某个股票的分析说是低估就买进,结果越低越加仓,然后狠狠套牢。投资还是一个很专业的事情,还是需要投入时间不断学习,但是在现在高强度工作的情况下,对于美股投入的时间和精力反而越来越少,可能最终归属还是变成通过指数基金攒钱的路子了。 除了美股个股以外,这一年还在不断调整对于指数 ETF 的定投方式。最开始的时候只是在支付宝上随便定投纳指和标普 500,后面美股账户开了之后,在美股账户也有买点场内的 ETF。但是后面想到要定投指数的话,其实通过国内的 QDII 基金都可以了,在美股账户就没必要了。然后下半年的时候纳指突然又火到了公众的眼中,每个人都开始定投纳指。场外基金纷纷开始限额,限额到五十一百,甚至有限额到每天 10 元的,非常离谱。然后还有些直接停止申购了,于是这两个月开始转向场内基金了。 回顾一下整体的回报率,支付宝基金赚了 9 个点,美股还亏了 2 个点,无论哪个都是跑输大市,明年还需要更加努力和用心调整。 在这个过程中,今年开始对所有资产进行定时记录,每个账号有多少钱,加起来多少钱,搞了一个 Google Sheet 每个月记一次。通过这样数字记录的方式,可以非常清晰地看到自己攒钱的变化。攒钱确实不容易,可能还是赚得不够多吧,还在向攒出自己的第一个一百万努力中,希望今年能够早日达成。 越写越觉得似乎工作给我带来了太多的负能量哈哈,年度回顾总结,仿佛变成了一个吐槽大会。吐槽无用,还是需要干点事情改变一下。最近刚好在看《复利效应》,提到哪怕是做了一点微小的事情,只要坚持做,最终总会有成效。新的一年,无论是攒钱、学英语还是生活,希望每天都能做多一点点。

2026/1/1
articleCard.readMore

低损耗用港卡薅羊毛

手上开了一些港卡账户,除了日常的一些境外消费使用需要外,有些福利还是挺香的,比如众安 ZA Bank,交易 2% 回赠,可以直接换成现金,然后现在推广股票交易后,还可以将回赠转成想要的股票回赠。比较可惜的是,外币交易的话众安会收 1.95% 的货币转换费,无论是直接卡支付还是绑定支付宝微信,所以也不怎么用,只是偶尔在需要消费 HKD 时使用。 最近刷小红书学到了新东西,没有 HKID 的情况下,也有办法开通 Wechat Pay HK,然后通过 Wechat Pay HK 绑定 ZA Bank,这样用 Wechat Pay HK 支付的场景下,众安的卡可以 HKD 入账,这样就免去货币转换费了。同时大部分能用微信支付的场景(商户码)现在也能用 Wechat Pay HK 支付。一天使用下来,支持的范围还是挺全的。 流程如下 微信搜索 WeChat Pay HK 公众号,通过菜单找到自助开通入口 选择绑定香港银行账号 如果没有 HKID 的话,这里限制了只有中银香港等五家银行才能绑定 输入相应银行的网银账号登陆,进行验证绑定 绑定后就能开通成功 Wechat Pay HK 了 开通之后可以再给 Wechat Pay HK 绑卡,这个时候就能帮 ZA Bank 的卡了 Wechat Pay HK 和微信切换起来也比较方便,点进去钱包,切换地区就行了。比较有意思的一个点是,切换了 WeChat Pay HK,给好友发红包和转账都是 HKD,然而如果对方没有开通 Wechat Pay HK 的话,就收不了红包。但是反过来就没有问题,别人发 CNY 的红包,在切换 WeChat Pay HK 后可以直接收下,连切换都不需要。

2025/12/18
articleCard.readMore

切换 RSS Reader,撤出 Folo

国外出差了两个月,基本没有怎么看 RSS 订阅内容。之前在推特上偶然刷到说 Folo 出新的 AI 功能开始商业化,当时还以为只是出了新的 feature 来变现。 然后十二月初回到国内后就吃到了 Folo 技术人员离职的瓜,一个贡献很多的技术人员在突然被开后,写了一些很真诚的感想(只剩 RSS version 了,想看的话可以订阅用 RSS 阅读器渲染下),最后还被公关掉,甚至引起推特各种争论和公告。说实话几个 Folo 和 RSS3 的员工之前就有关注他们的博客,对项目的贡献其实看在眼里。说实话之前还可能挺羡慕他们这样能够为喜欢的事情还能远程工作,现在看来,打工都是一个样子。 然后这周打开 Folo 想看一下我的 RSS 订阅,发现商业化的行为原来已经影响到我原本的正常使用了:非付费订阅用户只能订阅 150 个源。看了下订阅价格,想了下之前的使用体验,对我来说这个订阅价格并不值得,尤其是很多时候 RSS Reader 我只是用于抓取了解是否有新内容,大多数时候我还是会跳进去博客本身去浏览内容,这些很多 feature 对我来说都是浪费。 最终重新挑选一下后,选择切换到 Fluent Reader 这个开源的 RSS 阅读器,纯本地抓取与阅读,而且完全免费。暂时使用体验也很不错,而且也没有限制订阅源数量,估计应该能一直用下去了。 回想一下觉得这种名人产出的项目/社区明星项目,其实很多时候也不见得运营得很好,或者是没有想好。产品可能是好产品,想法可能是好想法,但是商业化这些完全都没跟上,甚至我都怀疑是没考虑过?比如推特上面有解释说 Folo 收费是因为运营成本高,但是这些运营成本难道不是一开始做的时候就能预想到运营成本的?尤其是加的 AI 功能,随便算一下就能算出来要烧多少资源。运营实际上也做得莫名其妙。最开始邀请制炒得红红火火,但是居然是每个人都能生成邀请码,最后大赚的是卖邀请码的贩子,平台自己啥都没赚到。(最搞笑的是我的邀请码也是咸鱼低价买的,然后我买了之后后期又靠签到生成了两个邀请码卖出去把钱赚回来了。) 然后上一个 xLog 项目,去年有段时间推特上也是很快,号称区块链的博客平台,这个就更加完全不知道可以转化盈利的地方在哪里?无偿搭一个博客平台给大家使用,也看不出有什么需要付费获得的功能,也没有广告等流量变现的内容。看了下原作者的推特,简介里已经完全看不到这个项目的痕迹了,甚至作者自己的博客也已经从 xLog 迁走了。而 xLog 的官方推特,活跃时间也已经停在了 24 年 5 月。当时刚出的时候也掀起一股热潮,不少人可能也把自己的博客都迁过去过,我当时也搞了一个博客镜像在那里,但是后面又迁走了。实在是想不到这个平台能带来的价值在哪,在后续没有运营,没有热度,没有奖励之后,只能慢慢等待衰落和死亡。 现在回过头看,其实产品和商业化变现,并不一定就是坏事,为爱发电实际上并不可持续,合理的商业化规划,反而才能让产品变得更好和走得更远。毕竟理想主义也得靠钱烧出来。 迁移 RSS 订阅源的过程中发现,200 个订阅里面,有 20 个订阅的 RSS 链接已经访问不了了,然后剩下的 180 个订阅中,也有很多博客已经可能一两年没有更新了,what a pity.

2025/12/14
articleCard.readMore

Scoop 安装指定版本应用

切换到 Windows 环境,重新设置一些软件,在拉回博客设置 hugo 的时候,又遇到了之前的 hugo 版本过高与本地博客主题不适配的问题,需要降级 hugo 的版本到指定版本。macOS 环境通过 Homebrew 管理应用,在 Windows 中通过 Scoop 来完成。 问了一下 Gemini,给的回复是 Scoop 也像 Homebrew 一样不支持安装指定版本的应用,但是可以通过指定 url 指定安装的配置文件,来安装旧版本的应用。 于是只要到 Scoop 的软件仓库,找到对应应用的配置文件,查看提交历史,找到历史版本的源文件 url 就可以了。 去 Scoop 的 GitHub 仓库(通常是 ScoopMain 或 ScoopExtras)。 找到对应软件的 .json 文件(例如 nodejs.json)。 点击右上角的 History 查看提交历史。 找到你想要的那个版本的提交记录,点击查看文件。 点击 Raw 按钮,复制浏览器地址栏中的 URL。 URL 看起来像这样: https://raw.githubusercontent.com/.../commit_hash/.../app.json 然后根据这个 url 进行安装。这样通过指定配置的 url 来安装,安装下来的 app 也没有办法更新,自动就锁了版本了。 1 scoop install https://raw.githubusercontent.com/ScoopInstaller/Main/4e72c5167244e249bbb063a93c28bb8aac034682/bucket/hugo-extended.json 但是这样找配置文件的历史版本,实际上是非常麻烦的,需要一页一页往后翻,如果版本旧点,得翻挺久。搜了一下,发现实际上 Scoop 是支持下载应用的指定版本的。下载指定版本后,可以通过 hold 命令禁止更新。 1 2 3 4 # Install specific version scoop install <app>@<version> # The scoop hold command prevents apps from being updated. scoop hold <apps> 实际上这个命令在 Scoop 的 help 命令里面都能看到,Gemini 有点不太靠谱,在后面我发现了可以下载后,还是嘴硬不承认。

2025/11/30
articleCard.readMore

注销网站备案

之前为了境内能够流畅地访问博客,给网站做了 ICP 备案,用上了又拍云赠送的 CDN 加速。境内访问非常丝滑,而且因为备案的原因,在微信内分享也可以直接打开,不会提示未知网站,需要多点一次才能访问。 然而备案后还是时不时有问题找过来。备案的要求也非常奇怪,网站备案除了要求域名备案,还需要有一个授权码,而授权码又来自于购买云服务器。导致即使只是部署一个在 GitHub 上的静态页面,还要额外掏钱买个云服务器,基本上就是闲置了。 突然昨天直接网警打电话过来了,因为网站之前只做了 ICP 备案,没有做公安备案。当时没有公安备案也不影响访问,而且做公安备案也比较麻烦,还有说法是甚至还要去派出所面谈做备案,干脆就没有做公安备案。现在籍贯地的网警直接打电话来问网站还用不?用的话要去做公安备案。 原本还想坚持下,把公安备案做了。后面想了想,还是算了,还是放弃备案。申请备案麻烦,各种材料,还要手写申请书,备案材料层层上交审批,搞一次得几天。然而撤销就干脆利落得多了。十一点提交的撤销申请,过十来分钟直接撤销完成了。 放弃备案之后,又拍云的 CDN 加速用不了了,应该基本国内平台的 CDN 都用不了。于是干脆迁到 Cloudflare 上,整个域名都迁到 Cloudflare 上来解析,静态内容都可以走它家的 CDN。 至此,所有域名都迁移到 Cloudflare 这个赛博菩萨上。自己试验了一下,访问速度也还好,不知道看到这边文章的大家感觉如何?

2025/9/12
articleCard.readMore

Logseq 移除空白 Journals 页面

Logseq 在打开的时候,会自动创建当天的 Journal 页面。正常来说,当打开 Logseq 的时候,确实大部分可能都是要记录,这样的 feature 看着没什么问题。然而如果 Logseq 打开后没有彻底退出,也会照常每天创建 Journal 页面。久而久之,打开 Logseq 后你将会看到一堆的空白页,让人非常不爽,而且想要浏览此前的 Journal 记录也非常不方便。 为了避免这种情况,之前都是提醒自己在用完之后,记得 commond + q 完全退出 Logseq,然后偶尔忘掉的情况,再手动删除空白页。但实际上非常容易就忘掉退出,然后又可能因为工作可能过了一周再打开,一次就积累了一堆空白页,手动一个个删除也比较费力。 一开始想的是简单写个脚本,扫一下目录里面空白的 markdown 文件,但是打开本地目录发现,空白的 Journal 页面还不一定会创建空白文件。后面上网搜了一下发现,原来自带就有这个移除功能的,而且移除的范围还不止空白的 Journal,所有的空白 Page 都能扫出来然后移除。 具体入口路径:All pages -> ... -> Remove orphaned pages

2025/8/31
articleCard.readMore

自建 Bitwarden 突然不可用

前言:我的配置 我一直是 Bitwarden 的忠实用户,并且为了数据自由和可控性,以及省钱,选择了自建服务。我的整套配置如下: 服务器:腾讯云服务器 密码服务:Vaultwarden (Bitwarden 的 Rust 实现) Docker 镜像 域名:腾讯云托管的个人域名 客户端:全平台 Bitwarden 客户端 反向代理:Caddy 自动处理 HTTPS 这套组合一直稳定运行,直到今天…… 一、问题的发现 今天像往常一样,我打开手机上的 Bitwarden App,想添加一个新的登录项。但奇怪的是,当我点击保存后,在列表里却怎么也找不到刚刚添加的项目。 起初我以为是 App 的 Bug,但为了保险起见,我打开了电脑客户端尝试添加,结果客户端直接提示我保存失败。 这时我意识到,问题可能没那么简单,大概率是客户端与我服务器之间的接口通信出了问题。 二、排查之路 1. 初步诊断:证书过期 我首先想到的是检查我的 Vaultwarden 管理页面。我通过域名访问,结果发现了第一个问题: HTTP 访问:直接被腾讯云拦截,提示“该网站未根据工信部相关法律规则进行备案”。 HTTPS 访问:可以打开页面,但浏览器地址栏赫然显示着“不安全”的警告——SSL 证书过期了。 (图:腾讯云因未备案拦截页面) 破案了?看起来八九不离十。证书过期导致 API 接口的 HTTPS 请求失败,客户端自然无法正常保存数据。 2. 深入探究:Caddy 为何没自动续期? 但新的问题也随之而来:我使用 Caddy 就是因为它能自动实现 HTTPS,可以自动申请证书并续签,为什么这次偏偏就失效了?更奇怪的是,我同一台服务器上的其他服务的域名都能正常访问,证书也都是有效的,唯独 Bitwarden 的这个域名出了问题。 我尝试重启 Caddy 服务、重新加载配置,但都无济于事。无奈之下,只能去看 Caddy 的运行日志。 日志中的错误信息揭示了真相:Caddy 在尝试申请新的 HTTPS 证书时,需要通过 HTTP 端口进行验证(HTTP-01 challenge)。然而,这个验证请求被腾讯云的直接拦截并返回了一个未备案提示的页面。 所以,核心原因找到了:腾讯云升级了防火墙策略。以前对于未备案的域名,仅仅是拦截了 80 端口的访问,而现在,它会拦截所有端口的对外服务。 这个策略直接导致了 Caddy 的证书续期 / 申请机制完全失效。 三、挣扎与放弃 尝试迁移域名 既然是腾讯云的问题,我心想,能不能把域名解析迁移到 Cloudflare,利用 Cloudflare 的 DNS 服务来绕过这个限制? 然而,当我尝试在腾讯云后台修改域名的 NS (Name Server) 记录时,发现这个选项是锁定的!想要修改,必须通过一个独立的“DNS 服务器修改”入口,比较隐蔽。 然后迁移后发现其实也没有作用,拦截实际上是发生在服务器上而不是 dns 解析上(也可能是两边都会有拦截) 四、最终的解决方案 最后为了稳定性和省心,选择了付费订阅 Bitwarden 高级会员,$10 一年,不再折腾。这境内的个人云服务器感觉用处越来越小,要不是博客需要备案号需要云服务器,绝对停掉转用境外的云服务器。

2025/7/19
articleCard.readMore

Logseq 如何同步

Logseq 是一个与 Obsidian 类似的双链笔记软件,断断续续地用了应该有几年了,但是同步/备份比较麻烦,尤其是在不同系统类型的设备多个设备上。Logseq 与 Obsidian 都是通过加载一个本地文件夹作为笔记仓库的形式来运行的,因此笔记的同步,本质上还是同步这个文件夹,但是这样的同步,在不同的系统和设备上,达到完美的体验,实际也有点烦的。 总结下来有几个阶段,每个阶段基本都尝试了一些方式,然后都不太好搞。因此最后的我现在还是选择官方的同步功能,每月 $5. PC 间通过 OneDrive 同步文件夹实现同步 最开始使用的时候只在电脑上面使用,甚至都没想过用手机查看或者记录,因此最开始的时候只有在两台 PC 之间同步笔记的需求。这样就比较简单,选择一个可以实时同步文件夹内容的云盘,比如 OneDrive 或者坚果云都可以。当时用的就是 OneDrive,同步流畅度还可以,再加上基本有不会有同时在两台设备上编辑的情况出现,基本没出过什么问题。 iCloud 同步文件夹实现同步 后面换了 iPhone,需要在 iPhone 和 PC 上同步笔记。iPhone 上很自然就考虑选择使用 iCloud 同步,而且 Windows 实际上也是可以安装 iCloud 进行同步的,最开始的时候我就是使用 iCloud 在 iPhone 和 Windows 上面同步。 然而 iCloud 同步实际上很容易出现问题,尤其是在 Windows 设备上。有些时候文件在正常使用的时候,会因为同步问题而出现多个版本。有时候文件的某个版本因为莫名的原因无法下载,这个时候 logseq 就会一直卡在下载文件阶段,然后阻塞界面,卡死程序。 这种情况需要手动地去 iCloud 的存储位置把多出来的同步不成功的文件删掉才好。Obsidian 也有这个问题,但是这种卡死的情况只会出现在打开软件的时候,在使用过程好像还没见过。而这个在 iCloud 目录找出重复文件并删除的操作,在移动端上基本搞不了,因此如果是在外面手机打开出现了这个问题,基本等于无解。 后面电脑换成了 Mac,这种同步出现冲突多版本的问题基本没有出现过了。但是后面在实际使用的时候也发现了一个另一个问题:文件的同步和拉取可能会有延迟,导致有可能电脑记了今天的日记,然后手机在打开前没有识别到今天实际上是有更新的,在打开软件的时候默认会创建今天的笔记,而这个新创建的笔记日期更新,就会直接把电脑端的笔记给覆盖掉。不过原来logseq里面有个bak文件夹可以做备份,找还是能找回来的,但是就得手动在程序外操作。 Git 同步 在换到 Mac 之前使用,Windows 使用 iCloud 同步容易出问题,当时还尝试了另一个通过 Git 同步的办法: Logseq 原生就带有 Git 版本管理能力,定时(比如每分钟)会自动提交。PC 端可以通过配置 Git Hooks,实现提交的时候自动 push 到一个 remote repo. 移动端的话当时使用 IOS,通过 a-shell 和快捷指令的方式实现文件的拉取和同步。具体是通过快捷指令,在打开 Logseq 的时候先 pull 一把,然后在关闭应用的时候提交并 push 到 remote 上面 这样的方式只能做到笔记文件在不同设备上面同步,但如果真的出现同时修改的情况,感觉会出问题。 流程看着很可行,但实际用下来体验也很差,很多问题 remote repo 我是放在 GitHub 上面,移动端拉取很容易有网络问题而拉取失败,导致移动端笔记不能同步到最新 有可能会出现冲突,冲突还必须要 Git 解冲突,这就必须人工介入操作了 Android 与 PC 通过 Google Drive 同步 后面手机换回 Android 了,移动端用不了 iCloud,换到了 Google Drive 上面。这时候才发现各家云服务商在安卓上面原来都没有像 iCloud 这种实现文件夹在本地与云服务上双向同步的能力,需要的话,必须使用第三方的软件(比如 AutoSync)来实现双向同步。而这些服务用下来体验也很一般,首先使用前必须将云端存储的读写权限全部授权给三方软件,这样就已经有点担心了,然后实际的同步也只是通过周期性执行同步任务,调用 Drive 获取最新文件的方式来同步的,同步很慢,也容易失败。试了几次我就删掉,并且撤回授权了。 官方同步功能 上面提到的各种同步方式,本质上还是在程序外通过系统或者软件,同步更新存放笔记的文件夹内容。这样无可避免一个问题:Logseq 本身是感知不到这个同步过程,以及文件内容是否已经同步好了的。每次打开其实都会是当作一个已经同步好的状态来处理,读写文件。这样 logseq 和外部就可能会出现对文件的同时读写,继而出现问题。这也是上面出现各种同步问题的主要原因。 题外话:obsidian 上面有很多内部插件实现同步的能力,logseq 是否可以提供像 obsidian 一样,基于内部插件的方式来进行同步呢?为什么 logseq 上面基本都没有同步的插件?有可能官方对这能力依赖的口子没有打开? 在 Android 上折腾同步实在是折腾不动了,最后选择了氪金。现在 Logseq 提供了同步功能,虽然还是 beta 阶段,但是实际用下来已经非常丝滑,各个设备轻松同步(Android+Mac+iPad)。现在最低只需 donate 5$ 每月,就可以启用,详细的方法可以看官方文档,支持通过银行卡(Visa/Master),Google Pay,或者 PayPal 付款。 官方的同步功能支持最多 10 个 graph 的同步,我看 v2ex 上面也有出合租车位的,只要几块钱。虽然说每个 graph 都有单独的密码加密,但是感觉这种出租空位的方式,还是有点安全问题,因为给别人创建 graph,需要把帐号给别人登陆才能创建,而试了一下,remove 远程的 graph,好像是不需要密码的,可能有数据被恶意删掉的可能性,有点危险。 汇总 同步方法 适用场景 优点 缺点 OneDrive 同步 PC 间同步 • 同步流畅 • 操作简单 • 基本无冲突问题 • 仅限 PC 设备 • 移动端支持有限 iCloud 同步 iPhone + PC/Mac • Mac 环境下相对稳定 • 原生 iOS 支持 • Windows 上容易出现文件冲突 • 同步延迟可能导致数据覆盖 • 移动端难以处理冲突文件 • 程序可能卡死 Git 同步 跨平台技术方案 • 版本控制能力强 • 支持自动提交 • 理论上支持所有平台 • 网络问题导致同步失败 • 需要手动解决冲突 • 配置复杂 • 移动端操作困难 Google Drive + 第三方同步 Android + PC • 支持 Android 平台 • 需要授权第三方软件 • 安全风险较高 • 同步慢且容易失败 • 只能周期性同步 官方同步功能 全设备同步 • 程序内置,体验丝滑 • 支持多设备(Android+Mac+iPad) • 数据加密安全 • 支持最多 10 个 graph • 需要付费($5/月) • 仍处于 beta 阶段 • 合租存在安全风险 单纯 PC 使用:OneDrive 等云盘同步即可满足需求 Mac + iOS 环境:iCloud 基本可用,但需注意同步延迟问题 涉及 Android 的跨平台多设备:官方同步功能是最佳选择,虽然需要付费但体验最好 技术用户:可以试试 Git 方案,但需要有处理冲突的能力

2025/6/13
articleCard.readMore

从 IOS 迁移到 Android

这两年一直有把 iPhone 换成安卓手机的想法,去年尝试过换成小米 14,但坚持了不到一周,就因种种问题和不习惯而放弃,退掉后又换回了 iPhone。这次选择换成 OPPO X8 Pro,已经使用了两周多,逐渐适应,没有感觉有什么问题,算是暂时迁移成功了。这里记录一下迁移相关的一些细节。 替代 iCloud -> Google Photos/Drive 需要特殊网络环境 Google Photos 后台不能自动同步照片,需手动进入应用才会开始备份 Apple Notes -> OPPO Notes 原本就用得很少,OPPO 的体验也不错 iCost -> 钱迹 后者支持导入前者导出的数据 没有了自动记账 Apple Watch -> OPPO Watch X2 Apple Pay -> Google Pay 旅客八达通 -> 安卓八达通 只能用香港手机号注册 AirPods -> 附送的不知名耳机 失去了苹果生态中耳机无缝接力的丝滑能力,现在日常带两个耳机上班 iMessage -> ❌ 原本基本只和堂哥聊天用,现在只能回到微信 有些替代方案算是降级,但还是可以接受。 迁移 通过 O+ 互传可以将 iPhone 上的 live 图传到 OPPO 上 这个功能可以算是促使我选择 OPPO 的最大原因了,之前在 iPhone 拍照基本都开 live 模式,当时换小米的时候就没有办法转移过来 一次最多只能传 1000 张,因此需要手动分批选择传输 手机初始化换机时已经把照片传过去了一遍,后面再传 live 图时会重复 需要手动一张一张删除 健康/健身数据导出的数据,OPPO 的健康软件不支持导入,只能重新开始 历史数据可以参考下面的方法导出和查看,但不能导入当前健康软件使用,后续估计也会逐渐废弃遗忘 https://sspai.com/post/66163 https://www.ericwolter.com/projects/apple-health-export/ 软件:手动从软件商店和 Google Play 一个个下载 内外软件分开下载,感觉比之前两个不同区 Apple ID 在 App Store 切换方便多了 其余基本没有什么 loss 一些体验 充电速度真的快 电量明显增大,续航能力提升 所谓的信号变好其实没什么感觉 但 iPhone 的信号确实差,换安卓其中一个重要原因就是在某些地方真的没有一点信号,比如在深圳中心区的网咖里竟然完全没有信号 通知推送有点不给力,可能是安卓通病 通知类型不准确: 系统有分不同的通知类型,但实际应用发来的通知感觉都是一个类型的,导致系统想对不同类型通知设置不同的处理(声音还是震动还是静默)没有效果 比如钉钉通知要么全开声音,来一条消息都要响一下,要么全关声音,电话打过来都听不到也不震动 通知收不到 某些应用的通知收不到或者有延迟,偶尔需要打开应用通知才推送过来

2025/4/29
articleCard.readMore