MoreRSS

site iconCyrus Yip | 叶寻修改

自学者,对编程、学习新事物充满热情。喜欢阅读、写作、看动画、玩单机游戏。每天进行正念冥想。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

Cyrus Yip | 叶寻的 RSS 预览

用文本文件制作 Anki 牌组

2025-01-30 00:00:00

Anki 是开源的记忆软件。我们可以用文本文件制作牌组(一组需要记忆的内容),文本文件更易于修改。

将下面文本保存为 deck.txt,然后用文本编辑器编辑。

1
2
3
4
5
#separator:Pipe
#html:true
hi|你好
why|为何
two lines|第 1 行<br>第 2 行

此文本对应的导出格式是「Cards in Plain Text(.txt)」。

第 1 行的 separator(分隔符)用于区分正面和反面,可以用 Comma(,)、Semicolon(;)、Tab( )、Space( )、Pipe(|)、Colon(:),用名称(例如:Pipe)和符号(|)都可以。我推荐用 |,它很少在卡片里用到,而且可以用键盘直接输入。

第 2 行表示可以使用 HTML 代码。比如:<br> 表示换行。

第 3 行开始就是卡片,一行就是一张卡,分隔符左边是卡片正面,分隔符右边是卡片反面。

在 Anki 创建牌组,将 deck.txt 导入到这个牌组。如果你想制作翻转卡片(反面->正面),导入时 Note Type 选择「Basic and (reversed) card」,这样牌组会同时存在基础卡片(正面->反面)和翻转卡片。

在闲鱼遭遇到手后砍价,最后拿回货款

2025-01-01 00:00:00

为保护隐私,本故事略有改编。

卖前 #

我在闲鱼卖一台五六年前发售的手机,定价 200 元人民币,原价 2999 元。这台手机可以正常使用,屏幕有一处明显划痕,边框掉漆。

放了几天,有个人猛砍价1到 120 元,我说 180 元他就不回了。

后来又有个人问了,这个人一开始就让我感觉不爽。她的名字类似于「闭嘴吧你」,一副不好沟通的模样,芝麻信用还未授权。

买家说话吞吞吐吐,沟通起来很浪费时间。

买家:你好

我:你好,想了解一下这台手机吗?

买家:是的

我内心:喂,你有话快说,非要我说一句你就说一句吗!

买家开始问有没有换过屏幕和电池,是不是自用。我说原装自用。买家叫我拍边框,拍了她就挑剔有磕碰,又说几年前手机电池不行,换电池都要几十块,以这些为由要求降价。这时我就开始感觉恶心,二手手机本来就有耗损,还按照新机那种标准挑剔,新机至于卖 200 吗?

买家问钢化膜、手机壳、充电器。我都在商品页面写清楚只有手机跟手机壳了。买家还嫌手机壳变色。几年前的手机壳你想要多好,有送都不错了。买家问有没有划痕,我都在商品页面说了在哪个位置有一处明显划痕,她又要我拍照。

充电器我说用 USB Type-C 就行了,其他品牌的充电器也可以的。买家以只有 iPhone 为由(iPhone 15 之前的 iPhone 不使用 Type-C 接口),让我送数据线。为了促成交易,我也送了一条本来在用的,重新买又得十多块,气死。

买家问有没有账号、会不会重启,最后她砍价到 160 元,并且收到马上确认收货(买家确认收货,卖家才会收到货款)。我内心的最低价格是 180 元,她砍那么多我是很不爽的,看她说马上确认收货就算了吧。

下单后她说地址错了。我不知道这是什么套路。让她取消订单,重新上架让她买。

到货 #

发货后买家这个贱人又开始挑剔了,想看购买凭证。我连包装盒都没了,哪来的购买凭证。一般人也不会问这个,这台手机没什么造假价值,又不是奢侈品。

到货后买家并没有爽快得确认收货,从这时开始她越来越恶心了。她说手机缝隙不一致,怀疑拆过机,一边缝隙大,似乎夹了纸片。我也不确定,但之前用手机的时候是没问题的,我就说不用就放着了。于是买家又换另一个理由,说摄像头进灰了影响拍照,又装可怜说贴膜、手机壳、充电头也要钱,希望我优惠点(到手后砍价)。这些配件要钱关我屁事,而且她那么吝啬肯定不会买配件。啊,气死我了!我说摄像头进灰是二手机正常损耗。我手头上刚好有台摄像头进灰的手机,前置摄像头和后置摄像头都进灰了,但是拍照没有明显问题。

过了一天,买家说去手机店清灰要 20 元,问我给她 20 元还是退货2。我说已经最优惠了。她接下来一直以进灰为由缠着我,我就一直说已经最优惠了,后面不想回复了等到货后 3 天自动确认收货。结果这个家伙在最后一天申请了退货,理由是质量问题/功能异常,附上前摄像头的照片,确实有灰尘。最后没收货真是气死我了。

我无法接受退货,因为:

  • 不能容忍她讹人这样错误的行为。
  • 质量问题退货要卖家(我)给运费。
  • 我前面的交流让我觉得她品德低下,怕她弄坏手机再寄回来,真的有人得不到就毁掉。
  • 我不想留下质量问题退货的记录。

闲鱼小法庭 #

我拒绝了退货申请,理由是:问题不存在,补充的文字和截图表示买家有到手刀(到手后砍价)行为。我点击维权之后就进到闲鱼小法庭了。闲鱼小法庭就是解决买家卖家纠纷的方式,由 17 位陪审员(闲鱼用户)投票,17 票 9 胜制,票差小于 4 票时可以申诉。陪审员可以查看双方聊天记录。小法庭有两个环节:前 24 小时是双方举证,发起维权者先发言 1 次,然后开始计时,双方可以发言 5 次;后 24 小时是评审员投票。在我这个例子,如果我赢了就马上到账,如果买家赢了我就必须接受退货。

老实说,第一次上小法庭还是蛮紧张的,要是输了就很难过。发言太多了,我就简单总结一下。

买家的发言:

  • 摄像头进灰影响拍照(附上前摄像头照片,水印表面是用 Android 手机拍的)。
  • 卖家不说明摄像头有灰尘、敷衍了事、不回信息。
  • 急起来说气话,说卖家强买强卖和土匪(拜托,是你自己买又不是我逼你买的)、说用多台手机不行吗。
  • 卖家未标明售出不退。

卖家(我)的发言:

  • 摄像头进灰是手机使用的正常损耗,我之前自拍和打视频电话都没问题,我已经提供了最优惠的价格。
  • 买家买前过度挑剔,也没有表面很在意摄像头灰尘。
  • 买家到手后用模糊的语言砍价(说缝隙大又不提供图片,说摄像头进灰在聊天时也未提供图片),心虚才不会提供照片证明观点。
  • 买家承诺直接确认收货,买后到手刀,这是不诚信。
  • 买家说自己用 iPhone 没 Type-C 数据线,但被我发现他拍照用了 Android 手机,所以他有 Type-C 数据线。买家骗了我一条数据线,这是不诚信。

差不多晚上 12 点的时候开始投票,第二天买家已经取消了退货申请,大概是自知理亏。买家拖 20 小时后自动确认收货,我收到钱了,太好了!

回顾 #

现在回想起来,买家的手段不算很高明,只是我没经验而且想快点卖出手机就中招了。

下面总结一下甄别坏买家和避免纠纷的技巧。

甄别坏买家 #

有以下特征的买家可能是坏买家:

  • 吞吞吐吐(可能没有恶意,但和这样的人聊天很浪费时间)
  • 挑剔,尤其是不合理的挑剔(电池损耗)
  • 用模糊的表达而不是提供证据
  • 表现得很在意问题但只要求砍价(一般人会选择退货)
  • 没有芝麻信用或者买家芝麻信用优秀以下
  • 差评多
  • 新用户

避免纠纷 #

  • 拍 360 度视频/图片
  • 拍装箱视频
  • 用验货宝(闲鱼的验货服务)
  • 声明售出后非质量问题不退

  1. 像 200 元砍到 120 元这种大比例砍价叫做屠龙刀。 ↩︎

  2. 如果不想和买家纠缠,一定要让其确认收货后才发钱给他。 ↩︎

了解与使用 Android 的 root 权限

2024-12-23 00:00:00

root 权限 #

root 是 Android 系统的最高权限。Android 系统就像房子。没有 root 的时候用户就是租客,只有使用权,不能随便改动房子。有 root 权限的时候,用户就是房东,有所有权,可以随便改动房子(修改系统)、丢掉原有的家具(卸载系统应用)。

总之,有了 root 权限之后我们就可以完全掌控 Android 系统了。

基本流程 #

获取 root 的前提条件是解锁引导程序(bootloader),解锁了引导程序才能安装 init_boot.imgboot.img

init_boot.imgboot.img 是启动系统需要用到的文件,推荐先备份好它们。修补其中一个并安装后就能获取 root 权限。最后使用 root 管理器来管理 root 权限。

方案 #

目前有三个开源的 root 方案:

Magisk 是最经典的 root 方案,教程和资源最多。缺点是会被应用检测到,比如:中国农业银行应用检测到 root 会退出。用额外的模块才能隐藏 root。

KernelSU 是内核级 root 方案,不需要刻意隐藏 root,被授权的应用才能感知到 root。App Profile 功能可以授予应用部分权限,比如:只允许应用使用 adb 权限。

APatch 也是内核级 root 方案,KernelSU 是内核级 root 方案,不需要刻意隐藏 root,被授权的应用才能感知到 root。需要设置密码。使用方法是修补 boot.img,使用 fastboot boot boot.img 可以临时获取 root,重启后 root 消失。

如果你懒得研究隐藏 root,那就使用 KernelSU 或者 APatch。

用法 #

root 有两种使用方法。一是管理器授权给应用,二是在管理器安装 root 模块(module)。比如:授权给 Neo Backup 就可以备份应用。安装 BCR 模块之后可以自动录制通话。

root 权限可以很危险,比如用来清除手机数据或者弄坏系统。请勿授权给来源不明的应用,也不要安装来源不明的模块。尽量选择开源、知名的应用和模块。

我的用法 #

我目前使用 APatch 最新编译版1

用到 root 的应用有:

模块有:

  • BCR

root 的功能远不止这些,推荐你看 GitHub - fynks/awesome-android-root: A comprehensive and up-to-date list of latest Android root apps that require or utilize root privileges, rooting guides, tips, tricks and tools

相关项目 #


  1. 本来我是想在一加 Ace 3 的 PixelOS 14 用 KernelSU 的,但是修复 init_boot.img 后没用,不知道为什么。 ↩︎

推荐可以刷机的一加 Ace 3

2024-12-15 00:00:00

上个月买了可以刷机1的一加 Ace 32。一加 Ace 3 的性能不错,处理器是骁龙 8 二代(2022 年末的旗舰处理器),目前在骁龙处理器中仅次于骁龙 8 三代和骁龙 8 至尊版。喜欢刷机的读者可以考虑这台手机。

相关链接:


  1. 刷机指安装操作系统。 ↩︎

  2. 一加 Ace 3 的国际版为 OnePlus 12R。 ↩︎

小米已退烧

2024-12-08 00:00:00

小米一开始的口号是为发烧(友)而生,现在新的解锁 bootloader 政策让我感觉小米退烧了。

原本小米解锁 bootloader 的条件是等待 168 小时(7 天)。小米推出 HyperOS 后中国大陆的型号解锁 bootloader 非常难,需要小米社区 5 级,还要考试1

这个解锁政策真是让我大跌眼镜,根本是刁难用户。真搞不明白小米公司怎么想的。如果嫌用户解锁后弄坏手机要去售后,那可以在用户解锁 bootloader 后取消售后。

新解锁政策还有一个恶心的点:只针对中国大陆的设备。凭什么陆版手机解锁就那么难,国际版手机解锁就和以前一样2

新解锁政策大大影响了第三方 ROM 的开发。本小米老用户感到伤心、失望、生气。买陆版小米手机刷机的日子可能一去不复返了。


  1. Xiaomi-HyperOS-BootLoader-Bypass 可以绕过 HyperOS 的解锁限制。 ↩︎

  2. 国际版手机解锁也没那么容易了,我在 PixelOS Chat 看到有人申请解锁时提示额度已满(https://t.me/pixeloschat/466581)。 ↩︎

一加 Ace 3 刷机前的准备与安装 PixelOS 的过程

2024-12-05 00:00:00

注意事项 #

  • 本文的操作可能会过时,建议参考文末的文章。
  • 拿到手机要马上关闭自动更新,避免更新到不合适刷机的版本。
  • 解锁 bootloader 重启后马上关掉自动更新。
  • 解锁 bootloader 时会清除数据。如果确定要刷机,建议买到手机马上解锁,后面拿到 root 权限可以用 Neo Backup 备份应用数据。

名词解释 #

  • 刷机:安装操作系统
  • ROM:操作系统。ROM 本义是可读存储器(read-only memory),在刷机的语境下是(安装于 ROM 的)操作系统的意思。
  • bootloader:引导程序,需要先解锁它才能安装其他操作系统
  • root:最高权限
  • ocdt.img:每台一加手机特有的分区
  • persist.img:每台手机特有的分区

恢复系统教程 #

先看这篇恢复系统的教程:How To Guide - [12R/Ace 3] EDL DownloadTool to restore your device to OxygenOS/ColorOS | XDA Forums,最好用不上啦。

测试硬件功能 #

测试硬件功能,参考 charter/device-support-requirements.md at main · LineageOS/charter

确定硬件没问题后,如果刷机后有问题就是 ROM 有问题。

  • 扬声器、听筒
  • WIFI
  • 通话
  • USB
  • 蓝牙
  • 前置摄像头(拍照、录像)
  • 后置摄像头(0.6/1/2/5 倍数,拍照、录像)
  • 指纹
  • NFC
  • 红外线(遥控)
  • 定位
  • 陀螺仪(指南针)
  • 距离传感器(通话时会熄屏)
  • 光传感器(自动亮度)
  • 网络(只测了 5G)

记录版本信息 #

记录版本信息,可能以后有用。打开设置->关于手机->版本信息。

1
2
3
4
5
6
7
8
版本号
PJE110_14.0.0.813(CN01U140P02)
基带版本
Q_V1_P14,Q_V1_P14
内核版本
5.15.123-android-13-8-00766-gf04dea8b48fa
SOTA 版本号
U140P02(BRB1CN01)

解锁 bootloader #

在电脑安装 adb 和 fastboot,参看 Using ADB and fastboot | LineageOS Wiki

解锁时会清除数据。如果确定要刷机,建议买到手机马上解锁,后面拿到 root 权限可以用 Neo Backup 备份应用数据。

打开设置->关于手机->版本信息,快速多次点击版本号,开启开发者模式。

返回设置,打开系统与更新->开发者选项,开启 OEM 解锁和 USB 调试。

手机通过数据线插到电脑 USB 口。

1
2
3
4
adb devices # 手机按允许调试
adb reboot bootloader # 进入 fastboot 模式
fastboot devices # 应该会看到编号
fastboot flashing unlock # 解锁 bootloader,用音量键选择 UNLOCK THE BOOTLOADER,按电源键确认

现在手机重置了,开机后跳过可以跳过的设置,进入桌面。打开设置,搜索「更新」,打开「自动更新设置」,关闭自动下载和夜间自动更新。

获取 root 权限 #

Oxygen Updater 不能下载一加 Ace 3 的 ROM,所以从大侠阿木的网站下载当前版本的 ROM,也就是 PJE110_14.0.0.813

解压文件,获得 payload.bin

安装 payload-dumper-go

1
2
# Arch Linux 的安装方法
paru -S payload-dumper-go-bin

解压 payload.bin

1
payload-dumper-go payload.bin

进入解压目录,将 init_boot.img 传到手机。

1
adb push init_boot.img /sdcard/Download/

在电脑下载 Magisk,通过 adb 安装到手机。

1
adb install app-release.apk # 在手机同意安装

在手机打开 Magisk,点击「Magisk 安装->选择并修复一个文件」,选择 init_boot.img,点击「开始」。在文件管理将修补好的文件重命名为 magisk_patched.img

magisk_patched.img 复制到电脑。

1
adb pull /sdcard/Download/magisk_patched.img

获取 root 权限。

1
2
3
adb reboot bootloader
fastboot flash init_boot magisk_patched.img
fastboot reboot

备份 ocdt.img 和 persist.img #

每台一加手机的 ocdt.img 和 persist.img 都是独一无二的,所以先要备份下来。

1
2
3
4
5
6
adb shell
su # 在手机授权
dd if=/dev/block/bootdevice/by-name/ocdt of=/sdcard/Download/ocdt.img
dd if=/dev/block/bootdevice/by-name/persist of=/sdcard/Download/persist.img
exit
exit

现在 ocdt.img 和 persist.img 都在手机的 Download 文件夹,将它们复制到电脑。

1
2
adb pull /sdcard/Download/ocdt.img
adb pull /sdcard/Download/persist.img

把前面记录的版本信息保存成文本文件,和这两个 .img 文件一起备份到网盘。

安装 Pixel OS #

参考以下资料安装 Pixel OS。

我的安装过程有错误操作,为了避免误导读者,就删掉了。如果你真的想看,请点击这里

系统自带谷歌服务,用 YASNAC 测试 SafetyNet,Basic integrity 显示 pass。

再次测试硬件功能 #

参考前面的章节。既然在原装系统没事,我这次就懒得测了。

参考资料 #