MoreRSS

site iconYeungYeah修改

广东人,精通中文、英文和粤语。喜欢写作和编程。武汉大学本科,南京大学研究生,目前在国内大厂从事后台开发。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

YeungYeah的 RSS 预览

Logseq 如何同步

2025-06-13 22:30:09

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 阶段
• 合租存在安全风险
  1. 单纯 PC 使用:OneDrive 等云盘同步即可满足需求
  2. Mac + iOS 环境:iCloud 基本可用,但需注意同步延迟问题
  3. 涉及 Android 的跨平台多设备:官方同步功能是最佳选择,虽然需要付费但体验最好
  4. 技术用户:可以试试 Git 方案,但需要有处理冲突的能力

从 IOS 迁移到 Android

2025-04-29 10:17:04

这两年一直有把 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 的健康软件不支持导入,只能重新开始
  • 软件:手动从软件商店和 Google Play 一个个下载
    • 内外软件分开下载,感觉比之前两个不同区 Apple ID 在 App Store 切换方便多了

其余基本没有什么 loss

一些体验

  • 充电速度真的快
  • 电量明显增大,续航能力提升
  • 所谓的信号变好其实没什么感觉
    • 但 iPhone 的信号确实差,换安卓其中一个重要原因就是在某些地方真的没有一点信号,比如在深圳中心区的网咖里竟然完全没有信号
  • 通知推送有点不给力,可能是安卓通病
    • 通知类型不准确:
      • 系统有分不同的通知类型,但实际应用发来的通知感觉都是一个类型的,导致系统想对不同类型通知设置不同的处理(声音还是震动还是静默)没有效果
      • 比如钉钉通知要么全开声音,来一条消息都要响一下,要么全关声音,电话打过来都听不到也不震动
    • 通知收不到
      • 某些应用的通知收不到或者有延迟,偶尔需要打开应用通知才推送过来

Homebrew 降级安装指定版本应用

2025-03-15 15:21:17

总是习惯性地把所有软件都更新到最新,然后在写博客的时候发现,Hugo 更新后,本地运行出问题了。

ERROR deprecated: site config key paginate was deprecated in Hugo v0.128.0 and subsequently removed. Use pagination.pagerSize instead.
ERROR deprecated: resources.ToCSS was deprecated in Hugo v0.128.0 and subsequently removed. Use css.Sass instead.
ERROR deprecated: .Site.IsMultiLingual was deprecated in Hugo v0.124.0 and subsequently removed. Use hugo.IsMultilingual instead.
ERROR deprecated: .Site.Author was deprecated in Hugo v0.124.0 and subsequently removed. Implement taxonomy 'author' or use .Site.Params.Author instead.

从报错提示来看,就是 Hugo 更新搞出了 breaking changes,升级后直接一些把字段和方法移除掉了。一开始看它的提示,还很贴心地给出替代的字段,然后直接简单替换后发现,跑不起来,并不是那么简单替换就行。于是只能把 Hugo 的版本降回原来的版本。

具体操作如下

  1. brew info hugo. 找出需要降级应用所在的 repo 和路径
    1. 我这里用了镜像,原始的 repo 在 GitHub 上
  2. 到 GitHub 上找到对应 repo 的对应文件
    1. 路径可以参考 https://github.com/Homebrew/homebrew-core/blob/master/Formula/h/hugo.rb
  3. 找这个文件的提交历史,找到需要降级版本的提交 id
    1. 根据 commit 的 id 可以判断出来版本,是由 bot BrewTestBot 提交的
  4. 拿到 commit id 后可以拿到这个安装文件的 url,同时也可以拿到文件的内容
    1. https://github.com/Homebrew/homebrew-core/blob/2fd8dba871a6a5412fa7c00b12ac99b5738cd199/Formula/h/hugo.rb
    2. https://raw.githubusercontent.com/Homebrew/homebrew-core/2fd8dba871a6a5412fa7c00b12ac99b5738cd199/Formula/h/hugo.rb
    3. 把 commit id 和 app 的名字替换一下就可以了
  5. 按照网上看到的办法,可以直接根据 url 来安装 brew install url
    1. 但实际试了一把后发现,会报错 Error: Non-checksummed download of hugo formula file from an arbitrary URL is unsupported! brew extract or brew create and brew tap-new to create a formula file in a tap on GitHub instead.
  6. 于是直接把文件内容 copy 下来保存到本地,然后 brew install ./hugo.rb,安装成功

brew 应用降级成功之后,可以通过 brew pin hugo 锁定版本,避免后续又把它升级了。


在通过 install url 失败之后,又看到一个办法可以降级,看着也很可行,但是构建脚本本地执行的时候出错了,也可以参考下。

1
2
3
4
brew tap-new $USER/local-cmake
brew tap homebrew/core --force
brew extract --version=3.31.1 cmake $USER/local-cmake
brew install $USER/local-cmake/[email protected]

以下是 AI 的解释:

这四条 Homebrew 命令的目的是创建一个本地 tap 并安装特定版本的 CMake。我来逐条解释每个命令的作用:

1. brew tap-new $USER/local-cmake

这条命令创建一个新的 tap(软件仓库)。$USER 是当前用户名的环境变量,所以这个 tap 的名称会是 "你的用户名/local-cmake"。

  • 作用:创建一个新的本地 tap,用于存放自定义的软件包公式
  • 结果:在 $(brew --repo)/Library/Taps/$USER/homebrew-local-cmake 目录下创建一个新的 tap 结构

2. brew tap homebrew/core --force

这条命令强制重新 tap Homebrew 的核心仓库。

  • 作用:确保 homebrew/core 仓库(包含官方软件包公式的主仓库)被正确 tap,--force 参数强制执行,即使该 tap 已经存在
  • 结果:确保可以访问 homebrew/core 中的软件包公式,这是后续提取 CMake 公式所必需的

3. brew extract --version=3.31.1 cmake $USER/local-cmake

这条命令从 homebrew/core 中提取特定版本的 CMake 公式到你的本地 tap 中。

  • 作用:从官方仓库提取 CMake 3.31.1 版本的公式,并将其放入你刚创建的本地 tap 中
  • 结果:在你的本地 tap 中创建一个 [email protected] 公式文件

4. brew install $USER/local-cmake/[email protected]

这条命令安装你本地 tap 中的特定版本 CMake。

  • 作用:使用刚刚提取的公式安装 CMake 3.31.1 版本
  • 结果:在你的系统上安装 CMake 3.31.1 版本

退掉佳明手表

2025-03-15 13:06:54

之前就一直心动想要摆脱苹果生态,尝试使用其他的设备,避免被生态绑架住。首当其冲的,就是电量有点不太行的 Apple Watch。原本想要换一个安卓的手表,但是看了一下各家的安卓手表,基本也需要绑定自家的手机和软件生态。然后现在使用 iPhone 的情况下,支持也不太好,很多功能会缺失掉,因此迟迟没挑好。

既然各家的安卓手表挑不中,干脆挑一个运动手表,不绑定手机厂商,安卓与 IOS 阵营都能通用。于是刷了几天小红书,选中了几乎是最多人用的佳明,挑了一个价格和 Apple Watch 差不多价格的手表下单。

用了几天之后发现,从 Apple Watch 转向运动手表,真的像是从现代社会退化为原始社会,运动手表,可谓是与智能没有一点关系。运动手表,尤其是像佳明这种专业的运动手表,其实是 for 专业运动水平的人和跑者使用。而我对手表更需要的,可能还是因其智能性能在生活当中带来的便利,我更需要的,还是智能性,能够帮我在日常生活在手表上完成一些很方便的操作,而不是在运动上的专业性。尤其是手表不能控制手机闹钟,没有了我才意识到这个对我来说,其实是个刚需。就运动记录上,感觉佳明和我之前的 Apple Watch 差不了多少,该有的,我能看懂的好像大家都有,对我来说好像也没有太大的提升和意义。

看来还是逃离不了苹果生态,逃离不了 Apple Watch,只能乖乖退掉佳明手表,重新戴上 Apple Watch。

2024 年度记录

2025-01-04 10:06:50

度过作为纯种打工人完整的一年,简单地写点流水账,记录下今年的一些事情与想法。

一月

终于去香港办银行卡了,虽然遇到了一些预料之外的问题,去到发现电信电话卡在香港漫游无效没信号的问题,不过有惊无险,最后还是顺利办成并当场下卡。

从这刻开始,我也开启了我的美股投资之路。通过美股这个渠道,我对投资和赚钱有了更多的思考。在去年工作之后,我就觉得搞钱才是最重要的事,但具体该怎么搞钱、如何在不工作之外还能有收入,当时还没有太多的想法。如今接触到美股投资后,虽然不可能通过投资马上赚大钱,但起码看到了希望,尤其是看到一些转行当专职 trader 的同行还能养活自己并过得不错之后,更让我觉得这条路有可能性。

核心还是需要:做好准备,等待机会。 多攒钱,积极寻找机会,be open,不局限于某一条路子。

借着办卡的机会,我顺便在香港玩了一天。上次去香港应该还是初中的时候。作为一个广东人,虽然对香港的各种信息接触得比较多,看似很熟悉,但实际上这才是我第二次去香港。不过会粤语、熟悉香港文化,去玩也没遇到什么问题。香港这个城市还是有许多吸引我的地方,让我想起初中时的志愿是到香港大学读书。现在其实有机会拿到 hkid 去香港工作,但各种因素让我迟疑,尤其是“待七年”这个门槛太高。不过,去生活不行,多点去玩还是可以的。第一次去香港之后,回来我就马上把签注更新成了一签多行。

二月

过年,越来越没什么年味和感觉,也可能是年纪大了,对过年也越来越没什么期盼。过年逐渐演化成回乡下吃饭,亲戚间互相探亲吃饭,各种吃饭的模版一般的场景,并不喜欢。

三月 & 四月

own 的一个项目终于要上线了,期间外部合作机构各种幺蛾子,各种出问题,上线后也还有很多手尾需要跟进。不过最终的业务效果还是极好的,上线的这一年带来了极高的 TPV。虽然说技术是为了业务服务,但很现实的一点是,真的拿到了好的业务成果之后,还会 credit to 技术人员上吗?想起内网曾经看到的一个吐槽贴,庆功会上各种人都在,唯独不见技术人员。

再结合年度绩效出来后的年终奖和调薪,更加让人想笑 (我这个新人连这个500都没) 更加意识到打工没什么前途。


女朋友的考研成绩也出了,初试高分,复试准备了两周后也顺利拿下,终于上岸,可喜可贺,算是弥补了当年的遗憾。

五月

打卡汕头。虽然高中时身边有不少潮汕同学,但直到现在才第一次去。对汕头的印象,全是牛肉火锅和甘草水果。

六月

和团队团建去了马来西亚,时隔七年再次出国,而且也还是去马来西亚。海岛的景色确实还可以,浮潜也很有意思。

去东南亚旅行消费确实低,来回的机票全包也才 900+。逐渐开始意识到,其实出国玩并没有想象中那么麻烦,性价比也挺高的。新的一年希望能有更多机会解锁不同的国家(但还得先解锁各国签证)。

九月 - 十一月

三个月参加了三个同学的婚礼,身边的同学和朋友开始逐渐结婚成家了。还是挺多感慨的,见证着身边同龄人进入下一个人生阶段,偶尔也会想:什么时候轮到我呢?我并不恐婚恐育,相反甚至还有点向往婚姻、家庭与小孩。然而结婚也没那么简单,结婚意味着两个家庭的结合,不是两个人领证就完事,还需要考虑方方面面的各种因素。不过麻烦归麻烦,还是需要面对的,也不会去逃避。希望这两年能让这个喜事发生。

十二月

公司的年度体检拖到年底才去做,所幸体检结果没啥大问题。工作以来自我感觉身体没以前好了,以前常常和别人自嘲说,我们这行是拿命换高薪。现在真工作了,发现工作确实会是一种损耗,both 生理上和心理上。如何面对这些损耗并尽可能减少它们带来的影响,这是我工作中最重要的一个课题。

生理上影响最大的一个点是运动时间少了。读书时时间充足,几乎每天都有时间运动,即使没运动,每天的步行量也足够。但工作后很容易一周都没运动(当然也有一部分原因是工作累了自己懒得动)。于是也在寻找一个高效且自己能坚持的运动方式,让自己动起来。之前买了一个壶铃,运动效果确实不错,当成 HIIT 都可以,但坚持了一个月就闲置了。

最近这个月重拾了游泳。其实从小就很喜欢游泳,小时候的夏天一放假家里人就会带我去游泳,也练出了自认为还可以的游泳技能。后面上大学后就基本没怎么接触游泳了。现在重新游泳后,开始在有泳道的专业泳池游(小时候游的泳池真的就是一个大池子)。接触游泳的人多了,再加上用手表开始记录自己的游泳情况,才发现其实我也不是那么会游。

在小城市里,会游泳的人没那么多,泳池也没那么专业,可能大多数人去游泳实际上是在玩水。在这样的环境里游得最好,其实也不代表什么。但处于其中的话,还是会被环境与平台局限着眼光与想法。

以前的自己有点坐井观天了,这不仅是游泳,还有许多方面。被自己的思维、想法,或者各种因素局限了。还是得打开自己,be open and keep exploring.

被生态绑架的数据

2025-01-03 20:49:51

才用了两年多的 Apple Watch,现在电量已经开始撑不住了。目前电池健康度是 85%,晚上充满电后睡前戴上,第二天晚上七八点就会弹出 10% 的低电量警告。如果晚上需要去游泳,还得专门早上起床后给手表补一下电,确实有点顶不住。

打算换一个手表。继续用苹果的话,从 S7 换到 S10 感觉提升也不大;换成 Ultra 又觉得有点太贵了。于是考虑换个安卓厂商出的手表,看上了华为的 GT5 Pro。非华为手机也能用,只需要安装一个华为运动健康的 APP。不过这样一来,记录的数据就得全部存放在华为运动健康当中。这样的话,这些数据还属于我的吗?

其实有点好笑,我用他们的产品产生的属于我自己的数据,却无法对其拥有绝对的掌控权。某种程度上,这些数据存在他们的 APP 中,似乎就成了他们的数据。但这并不是华为一家会这样,几乎所有安卓厂商都有自己的健康 APP和手表,生成的各种监测数据也只能同步到各自的 APP 和生态当中。

不过,现在在用的苹果也一样。如果我不用 iPhone,健康与健身的所有数据,我同样没有办法迁移出来继续使用。这也是一直阻碍我换手机回归安卓的一大原因。

科技越发展,数码生态越完善,反而越建立起了生态上的壁垒。生态之间的迁移太过痛苦,甚至可以说是必然会有成本。迁移必须做出取舍(trade-off),选择任何一方都会有不足之处,无非是看自己能接受哪些问题作为妥协点。但其实这种取舍一直都存在,只是以前生态未完善时积累的数据还不够多。而现在,工作之后,时间和精力也不像以前那样充裕,去适应新的生态变得更加困难。

所以要换啥呢?一直在想,却始终想不出一个结果,这样就一直拖着不换了吧😂。然而,想换的心已经有了,拖着其实并不能打消这个念头。看什么时候彻底忍不了了吧。