分类: 随笔

  • 有多少「黄牛」在抢四川消费券?

    2024年9月,四川省财政厅投入了 3 亿资金用来向市民发放家装消费券

    在9月27日消费券被领取完后的 30 分钟,我在闲鱼上找到了跟四川家装消费券相关的87条搜索结果:

    补贴金额数量小计
    4k416k
    2k48k
    1.5k1319.5k
    0.9k1715.3k
    0.6k148.4k
    总计5267.2k

    在领取完后的一小时,相关搜索结果有 158 条。据此粗略估计,每天在闲鱼上被转卖的消费券大概价值 20 万元。

    根据官方的消费券发放安排,价值 3 亿的消费券会在 9 月 26 日到 10 月 31 日中的 31 天发放,假设能够全部发完,每天应该发放价值 967 万元的消费券。

    如果只有闲鱼上有黄牛,那么 9 月 27 日这天的黄牛含量大概在 2% (20/967≈2.07%)。

  • 如何选购冰箱

    冰箱是柜子,冰柜是箱子

    影响冰箱摆放位置的产品参数

    作为家中体积最大的电器,找个合适的位置放冰箱很关键。影响冰箱摆放空间的参数有两个:

    • 散热方式
    • 开门方式

    两侧散热的冰箱需要预留更多的空间帮助全年无修的冰箱散热,通常需要在冰箱的左右两侧以及后侧各预留 10cm 左右的空间。

    底部散热或者顶部散热的冰箱对空间的需求比较小,适合摆放在比较狭小的空间。

    开门方式也会影响冰箱的摆放,虽然冰箱叫「箱」,但是开门方式跟柜子类似,主要使用抽屉跟平开门。所以在摆放冰箱的时候也应该像摆放柜子一样,考虑门板、抽屉跟其他家具的冲突。如果空间比较狭小,可以选择 90° 的平开门。

    另一个节省冰箱摆放空间的技巧是把冰箱插座的位置调整到冰箱的侧面,或者使用内嵌式插座。这样可以为冰箱节省 3 ~ 4cm 的深度空间。

    影响收纳能力的产品参数

    作为柜子,冰箱当然越能装越好,商家往往只会商品详情页上写明容量,例如,500L,但是我们往冰箱中存放的只会是固体。所以容量只能作为参考,真正影响使用体验的是冰箱的收纳方式,对应的产品参数是门款式。

    门款式通常对冷冻区的格局影响比较大,大家可以按照自己最常屯的物品选择适合的冷冻区格局。

    影响使用体验的产品参数

    串味是影响冰箱使用体验的一个常见问题,从冰箱的角度解决这个问题有两种方式:

    • 双循环风道
    • 净味系统

    现在多数冰箱采用风冷降温,冷空气会在冷藏区、冷冻区之间流动,只有单循环风道的冰箱会有跨区窜味的问题。一些冰箱通过引入双循环风道,将冷藏、冷冻区之间物理隔离开,从而避免串味的问题。

    净味系统则是引入了类似空气净化器的模块,也能在一定程度上减少冰箱的异味,异味浓度低了,串味的影响也会降低。

    影响保鲜功能的产品参数

    保鲜可以从两个层面理解 —— 防止腐败、防止风干

    为了防止腐败,我们应该尽量选择带有杀菌能力检测证书的冰箱 只声称可以杀菌但不提供证书的都看作没有杀菌能力,通过抑菌、灭菌来降低食物污染风险。

    为了防止冷风将新鲜蔬果吹干,可以选择带有湿度调节区域的冰箱,减少干冷空气对果蔬的影响。

    不过防止腐败跟防止风干是有些冲突的两个功能,潮湿的有氧环境有利于微生物繁殖,所以, 最好还是减少新鲜蔬果的存放时间,或者将蔬果单独分区存放。

    产品关键参数速查表

    • 摆放位置
      • 长宽高
      • 散热方式
      • 开门方式
      • 插座位置
    • 收纳能力
      • 容量
      • 门款式
    • 防串味
      • 是否双循环
      • 净味系统
    • 保鲜
      • 杀菌、抑菌能力证书
      • 果蔬保鲜区

  • 如何为博文自动生成可读的 Permalink

    WordPress 默认提供了一个比较适合英语文章的 Permalink 生成机制,如果你跟我一样使用中文标题,那自动生成的 Permalink 中就会包含汉字,这对 URL 而言并不友好。之前我都会手动给每篇博文翻译一个英文标题,再将其 slugify,做得多了就会觉得繁琐,于是我开发了一个 API,可以用来帮助自动化地完成这个过程。

    API 的调用方式如下,大家可以免费使用。

    GET https://blogkit.apps.gianthard.rocks/api/v1/slugify?t=如何科学饲养母猪
    
    HTTP/2 200 OK
    server: nginx
    date: Mon, 19 Aug 2024 10:01:06 GMT
    content-type: application/json; charset=utf-8
    age: 189318
    cache-control: public,max-age=31536000
    content-length: 24
    x-http2-stream-id: 3
    
    "scientific-sow-rearing"

    要在 WordPress 中自动调用的话,需要在 WordPress 管理页面添加一些代码:

    function suggest_slug_from_api( $slug, $post_id, $post_status, $post_type, $post_parent, $original_slug ) {
        // Only apply for new posts or when the slug is empty
        if ( empty($slug) ) {
            $post = get_post($post_id);
            $title = $post ? $post->post_title : '';
    
            if ( empty($title) ) {
                return $slug; // Return original slug if no title
            }
    
            $api_url = 'https://blogkit.apps.gianthard.rocks/api/v1/slugify';
    
            // Encode the title for use in URL
            $query = http_build_query(array('t' => $title));
            $url = $api_url . '?' . $query;
    
            // Make the API request
            $response = wp_remote_get($url);
    
            // Check if the request was successful
            if ( !is_wp_error($response) && wp_remote_retrieve_response_code($response) == 200 ) {
                $body = wp_remote_retrieve_body($response);
                $suggested_slug = json_decode($body, true);
    
                // If we got a valid slug, use it
                if ( $suggested_slug && is_string($suggested_slug) ) {
                    return $suggested_slug;
                }
            }
        }
    
        // If anything goes wrong or if the post already has a custom slug, return the original slug
        return $slug;
    }
    add_filter( 'wp_unique_post_slug', 'suggest_slug_from_api', 10, 6 );
    

    我使用的是 WP Code 插件,用这个插件管理 PHP 代码片段非常方便,免费版也很够用。

    https://wordpress.org/plugins/insert-headers-and-footers/
    注意只在 Admin 页面上启用这个片段

    上面的代码工作完成后,WordPress 就会在草稿保存后自动生成 URL slug 。需要注意的是,编辑页面的前端可能不会及时更新 URL slug 预览,但是发布后就会使用通过 API 生成的 URL Slug。

  • 等一个后续

    像个鸵鸟一样,把头埋进沙子里。

    2024-07-09 五问煤制油罐车混装食用油:流向哪里?有何危害?谁该负责?

    https://web.archive.org/web/20240809024444/https://www.thepaper.cn/newsDetail_forward_28010047

    2024-08-27 国务院食安办通报“罐车运输食用植物油乱象问题”调查处置情况(简讯)

    https://web.archive.org/web/20240829090033/http://paper.people.com.cn/jksb/html/2024-08/27/content_26077451.htm

    2024-08-27 关于征求《食用植物油散装运输卫生要求》拟立项强制性国家标准项目意见的通知

    https://web.archive.org/web/20240829090629/https://www.samr.gov.cn/bzjss/zqyj/art/2024/art_94a628a1632644a2862d4f2ba8f6fc43.html

    2024-08-08 披露“75人涉嫌盗尸4000具”案律师:我甘愿受处罚,希望推进法律完善

    https://web.archive.org/web/20240809024851/https://news.sina.com.cn/s/2024-08-08/doc-inchxvay1591238.shtml

  • 为什么中国人均汽车保有量这么低?

    中国汽车保有量有多低?

    各国人均汽车拥有量列表

    2023 年统计数据:

    总人口 14.1亿 https://www.stats.gov.cn/xxgk/jd/sjjd2020/202401/t20240118_1946711.html

    总汽车 3.36 亿 https://www.gov.cn/lianbo/bumen/202401/content_6925362.htm

    每千人汽车数 238

    感觉上中国的人均汽车保有量不应该这么低

    收入太低导致汽车保有量低?

    对比分析几个国家的用车成本与人均可支配收入的关系

    • 用车成本:一辆车在燃料、税费、保养、维护上一年的支出,排除车辆折旧跟车贷
      • 为了方便跟美国的统计结果比较,年行驶里程假定为 24,000 公里
    • 人均可支配收入:一个人一年的税前总收入 – 税费
      • 美国是这么计算的,不太好确认中国跟南非是否也是如此计算
    美国中国南非
    千人汽车保有量868238232
    用车成本占人均可支配收入比例43.78%48.07% (燃油)
    13.95% (新能源)
    83.28%
    中国、美国、南非用车成本与人均可支配收入对比

    实际上,美国人每年平均驾驶里程数大概在1.4万英里(约2.25万公里);中国人每年平均驾驶里程大概在 1.5 万公里;南非人每年平均驾驶里程在 1.2 万公里左右 。考虑到这点对燃料的影响后,实际上中国的用车成本只会比美国更低。

    从这方面来看,用车成本似乎并不是导致中国人均汽车保有量较低的原因。

    中国用车成本与人均可支配收入

    数据来源:懂车帝排行榜最近一年(2024年8月)销量最高的10万元以下轿车:

    人均可支配收入数据:

    2023年1月17日,国家统计局发布数据显示,2022年全国居民人均可支配收入36,883元,比上年增长5.0%,扣除价格因素,实际增长2.9%。分城乡看,城镇居民人均可支配收入49,283元,增长3.9%,扣除价格因素,实际增长1.9%;农村居民人均可支配收入20,133元,增长6.3%,扣除价格因素,实际增长4.2%。

    中国居民收入的五档划分,从数据看差距_澎湃号·政务_澎湃新闻-The Paper

    中国用车成本占可支配收入比例:

    • 燃油车:17728/36883=48.07%
    • 新能源车:5116/36883=13.95%

    美国用车成本与人均可支配收入

    用车成本的数据来源(2023年)

    Based on AAA’s data, the average monthly cost of owning and operating a car is $1,015. The organization used six cost categories to determine their average: depreciation, finance costs, fuel, insurance, government taxes and fees, and maintenance, repair and tires. They based their numbers on vehicles that were driven for approximately 15,000 miles a year and assumed a five-year ownership period. Your own rate will likely differ from the average since it is based on factors unique to you, your car and your situation.

    The average cost of owning a car

    折旧费数据来源

    According to AAA, depreciation costs car owners an average of $3,334 annually.

    美国人均可支配收入(2023年):20,204.9 美元

    美国用车成本占可支配收入比例:

    1015*12-3334 / 20204.9 = 43.78%

    南非用车成本与人均可支配收入

    用车成本数据来源 The real cost of owning a standard R350,000 car in South Africa – BusinessTech

    每年用车成本(按24,000公里计算燃料消耗,排除车贷):

    (11167-7222+1150) * 12 = 61140 ZAR

    南非总可支配收入:4,449,450 百万 ZAR(2023)

    南非人口60,604,992(2022)

    南非人均可支配收入:4,449,450,000,000 / 60,604,992 = 73,417.76 ZAR

    用车成本占可支配收入比例:61140 / 73,417.76 = 83.28%

    中国人用车需求不足?

    美国人每年平均驾驶里程数大概在1.4万英里(约2.25万公里);中国人每年平均驾驶里程大概在 1.5 万公里;南非人每年平均驾驶里程在 1.2 万公里左右

    根据易车网的数据,大部分国人用车的高频场景是通勤,所以中国人对车辆的需求应该还算比较刚需的。

    中国人倾向使用共享出行?

    中国跟南非千人汽车保有量跟人均驾驶里程相差不太 ,南非在人均 GDP、人均可支配收入比中国低的情况下,而汽车保有量大,可能有共享出行性价比低的原因。

    南非公共交通并不发达,且网约车价格昂贵:

    由于南非基本没有像国内那样的公交系统,都是私人运营线路,当地人用小巴来跑这些线路,在南非这个词就叫 Taxi Bus

    可靠数据是南非 Uber 有 13000 个兼职或者专职司机(20 年数据),而中国滴滴是有 1166 万个兼职或专职司机(19 年数据)

    记得我 2015 年刚去南非没买车的时候,我为了去二手车店看车,打了个 Uber,区区 10 公里的路,打了 150 兰特,约 80 人民币,当时国内打车也就 20,30 的样子,当时真的让我觉得肉疼。后来赶紧自己买车买个几十公里也就是个油钱,也就很少打车了。

    杂谈南非打车

    中国则全然不同,公交覆盖广,而且网约车的普及率也高:

    城市交通出行大调查-36氪

    我认为大家倾向使用共享出行的方式的主要原因还是价格因素:

    • 城市公交都有补贴
    • 网约车定价超低:
      • 身边统计学,成都的网约车单价大概在2元/公里,按每年 1.2 万公里的出行里程来算,大概需要 2.4 万元;虽然比养车成本高,但如果算上自有车辆的折旧费、车贷,网约车可能跟自有车费用差不多甚至更便宜。

    结论

    中国共享出行比自有车辆成本更低,且覆盖了主要出行的上下班通勤场景,满足了当前阶段的出行需求,所以汽车保有量会保持在一个较低的位置。

    如果要让中国千人汽车保有量提升到 400?

    • 减少公交补贴
    • 网约车涨价
  • Migrate blog site to Hawk Host

    I migrated this blog site to Hawk Host last weekend, it doesn’t take much time, about 2~3 hours.

    • Create a new database and a database user for WordPress
    • Upload public_html with rsync FTP is too slow
      • rsync -avhP -e ssh ./public_html host-server:~/path/to/website/public_html
    • Update DNS records on CloudFlare

    My previous hosting service provider set up a mailer for me.

    After migration, the mail notification didn’t work, so I installed an SMTP plugin for WordPress.

    WP Mail SMTP by WPForms – The Most Popular SMTP and Email Log Plugin – WordPress plugin | WordPress.org

    Reference

  • 2024 新年,我的 EDC 立大功

    春节假期,我的 EDC (Every Day Carry,每日携带物品)立了大功,不管是修理门锁还是处理小伤口,都派上了用场。接下来,我要和你们聊聊这些随身小物怎样解我燃眉之急。

    假期之前,带我用的

    春节假期前我按照“带你用的,用你带的”思路,给自己配置了一个可以塞进衣服口袋的随身 EDC 小包,里面放有我精心挑选的工具小物,旨在帮助我应对日常所需和一些较为紧急的情况。我的物品配置理念可以总结为三个原则:带能用的、带常用的、以及带“我”要用的。

    三个原则

    首先,选择装备应基于个人的知识储备,确保每一件装备都是你能够熟练使用的。这意味着,即使是最高端的工具,如果你不能熟练使用,它也不应该出现在你的 EDC 中。其次,针对高频场景选择用得上的装备,这要求我们对日常生活有深刻的观察和了解,确保 EDC 中的每一样物品都能在常见情况下派上用场。最后,每个人的生活方式和需求都有所不同,因此,配置 EDC 时还应考虑个人的独特需求,确保它真正适合自己。

    多功能工具

    我的 EDC 中携带的多功能工具很少,只有一把“钥匙”( https://geekey.com ),这个小工具在国内可以买到款式类似但价格更加亲民的盗版。我选择它主要是为了这些功能:

    • 开瓶器
    • 割绳锯齿
    • 扁头撬棒(一字螺丝刀)

    像瑞士军刀这样的多功能工具也有这些功能,但是国内公共交通中的安检标准过于灵活,我不想在外出的时候因为安检惹上任何麻烦,就只好选择了这个小钥匙。

    个人卫生

    受限于我贫瘠的医疗知识储备,我的随身医疗物品只能处理小创伤或者让人很“急”的症状:

    • 碘伏棉片:清理伤口,物品消毒
    • 丁腈手套:消毒后接触伤口
    • 氯雷他定片:应对突发的过敏症状
    • 蒙脱石散:应对急性腹泻
    • 创口贴、医用透气胶布:应对简单的小伤口,比如鞋子磨脚
    • 一张便签:记录药物的用法用量、保质期
    • 棉棒:无聊的时候可以掏掏耳朵
    • 牙线:由于牙缝太宽每次吃肉过后必须得清理牙缝
    • 唇膏:

    物品收纳

    除了上面介绍的多功能钥匙之外,其他所有的装备都会装进一个小包。为了方便塞进衣服口袋,我选择了一款钱包大小可以平铺展开的拉链小包。它比我的手机略宽一些,但是要矮很多,能放下手机的口袋一般也能装下它。

    小包尺寸
    尺寸示意
    内部收纳空间
    内部收纳布局

    扩展收纳

    除了小包本身之外,为了应对临时的大体积收纳场景,我在小包中放了一个小号的食品保鲜袋跟一个常规尺寸的垃圾袋。外出溜街的时候,食品保鲜袋可以装洗净的水果,垃圾袋除了用来装垃圾之外,还可以当作临时的防潮坐垫。

    春节假期,用我带的

    正如我所展示的,我的 EDC 配置基本涵盖了从基础工具到个人卫生等多方面的需求,它们在我刚刚度过的春节假期中,表现尤为突出。

    除夕前两天,我回到了重庆小镇上的老家。然而,一进家门就发现卧室的门锁有些松动。这时,我的多功能钥匙便派上了用场,螺丝刀部分轻松紧固了那些松掉的螺丝,门锁也恢复了正常。

    除夕当天,准备年夜饭的热闹景象中发生了小意外。在宰杀鸡鸭时,家里人不小心划伤了手。幸好,我随身携带的碘伏棉片立刻就派上了用场,迅速对伤口进行了消毒处理,紧接着用创口贴包扎好,避免了伤口的进一步感染。

    重庆的年夜饭中,腊肉香肠从不缺席。但美中不足的是,它们经常会卡在我的牙缝里。饭后,我便用我随身携带的牙线棒轻松清理,保持了口腔的舒适。

    重庆这边年夜饭的另一特点就是量特别大,饭菜准备过多,导致我们不得不吃剩菜。加之除夕之后天气突然升温,有些剩菜吃后让人“打标枪”(川渝方言,指腹泻),幸运的是,我随身携带的蒙脱石散迅速缓解了这一不适,止泻效果显著。

    写在最后

    正如这次春节假期的经历所展示的,我能够在需要时用上我带的东西,这说明了我在前面提到的三条配置原则是可行且实用的:带能用的、带常用的、以及带“我”要用的。在我看来,合理配置 EDC 是一种生活的艺术,需要我们思考自己的知识和技能,梳理日常生活和个性需求,从而定制出真正用得上的 EDC。

    如果你看完文章后也想试着打造自己的 EDC 随身小包,下面的参考资料对你可能有所帮助:

    一些搜索关键词

  • 轻松备份,安心生活:个人电脑全盘备份指南

    有没有想过,如果电脑因为一些意外原因突然罢工,所有的宝贵记忆和重要文件就这么不翼而飞?这可不是危言耸听,但好消息是,有了全盘备份,这种噩梦就可以避免了。

    为什么要备份?

    想象一下,你的笔记本电脑突然不工作了,所有的工作文档、个人照片以及定制的系统设置都无法访问。这种情况下,如果你有一个最新的系统全盘备份,那么你可以快速地在新电脑上恢复工作环境。这就像是给数据做了一个时间胶囊,无论发生什么,都能回到过去,将你的数字生活恢复到最后一次备份的状态。

    全盘备份是什么?

    系统全盘备份与仅备份用户数据不同,它是对电脑上所有内容的完整克隆,包括操作系统、应用程序、设置和所有文件。这意味着在恢复过程中,你无需担心哪些隐藏的配置文件没被备份或者某些应用程序无法正常工作,因为一切都会被还原到备份时的状态。

    怎么选备份软件?

    作为一个对价格敏感的用户,我的选择标准很实在:便宜、好用、快速、还得能省空间。我找到了两款不错的备份软件,一款适合 Windows,一款适合 Linux:

    要求Dism++ (Windows)restic(Linux)
    成本免费软件,备份会被压缩,硬盘占用较小开源软件,备份会被压缩,硬盘占用较小
    备份格式WIM,标准的 Windows 部署文件格式开源的专有备份格式
    备份速度不比直接复制文件慢多少 🚗速度超快 🚀
    增量备份不支持增量备份 😥支持增量备份 😃
    其他优势WePE 内置工具支持加密备份文件;支持查看备份系统中的文件内容

    我选择 Dism++ 和 restic 的原因是它们都能够提供简洁且高效的备份解决方案。Dism++ 的备份文件格式是 WIM,这是 Windows 的标准部署格式,意味着即使未来 Dism++ 不再更新,我也能找到方法来恢复我的数据。Restic 虽然使用的是开源的专有备份格式,但它的速度和增量备份功能使得它成为 Linux 环境下的理想选择。这两款工具都解决了我对备份速度和便捷性的需求。

    备份计划

    我的备份策略是定期且频繁的备份。对于 Windows 系统,我每季度备份一次 C 盘;而 Linux 系统则更频繁,每周都要备份一次,因为这是我的主力办公电脑,这样的策略确保了在任何紧急情况下我都能迅速恢复工作环境。

    数据恢复测试与体验

    案例 1:备份并恢复 Windows 系统

    • 准备:使用带有 WePE 的 U 盘进行离线备份,将备份文件存储在一块旧的 1TB 移动硬盘上。
    • 结果:整个系统原本有 250GB ,被压缩成大概 80GB WIM 镜像,恢复后一切正常,就连原系统 Surface Book 的特殊驱动都在。所以还需要手动清理一些不必要的驱动程序。手动清理 Windows 驱动有风险,如果旧驱动没有清理干净可能导致新驱动不生效,可以参考这篇文章尝试修复。

    案例 2:备份并恢复 Linux 系统

    • 准备:使用 systemrescue Live CD 的 U 盘恢复备份,备份文件存储在运行 restic server 的 NAS 上。
    • 结果:原系统大概 300 GB,备份文件总体积约为 40GB ,恢复速度快。尽管需要手动修复 bootloader,但对于有经验的用户来说,这不是难题。

    安全与隐私

    备份时,我确保不通过公网传输数据。而且,为了防止家里 NAS 遭遇不测,我还会把加密后的备份放到云盘,实现异地存储。不过得提醒一下,Dism++ 不支持加密,所以要先用别的工具加密再上传,确保隐私安全。

    结论

    全盘备份就像是给电脑的生命买了份保险,无论遇到什么灾难,都能让你的数字生活重回正轨。备份或许听起来有点技术性,但实际操作起来并不复杂,而且它给你带来的安心,是任何金钱都买不到的。

  • 修复小新 Pad Pro 2021 运行 GSI 时的亮度问题

    This entry is part 3 of 3 in the series 小新 Pad Pro 2021

    上回书说道,我给小新 Pad Pro 2021(aka. Lenovo J716F)装上了 GSI 系统。当时用的联想 Y700 的模块勉强修复了自动亮度失效的问题。最近我心血来潮,经历了快 10 小时的摸索,终于为 J716F 制作出了专属的 Magisk 模块 —— lenovo-j716f-gsi-fix 年轻人的第一个 Magisk 模块

    这个模块与上一篇文章中的修复模块冲突,请先卸载之前的模块,再启用这个模块。重启平板之后,你应该会发现:

    • 亮度调节的最低档不再是「伸手不见五指」之黑了
    • 在系统设置中的 Phh Treble Settings / Lenovo features 中可以启用 DT2W

    不过可惜的是,磁吸锁屏开关功能还是无效。可能是缺少驱动程序导致的

    解决问题的历程

    自动亮度、自动旋转、亮度等级

    参考 Y700 模块的内容,自动亮度、亮度等级这类设置可以通过 vendor_hardware_overlay 控制。最简单的做法就是从原厂镜像中提取这些配置文件,然后通过 Magisk 模块安装到设备上。

    对于小新 Pad 而言,提取原厂文件的方法很简单,直接「只读」挂载原厂镜像的 system.img 文件就好了:

    sudo mount -t ext4 -o loop,ro ./system.img ./payload-fs/sys
    

    接着参考这篇帖子的内容 操作,就可以得到原厂的 hardware overlay。这篇帖子用到了 phhusson/vendor_hardware_overlay 项目,该项目并不能支持所有的厂商 hardware overlay 配置,需要手动删除不支持的配置。这是一个非常繁琐的体力操作,我制作了一个小工具来简化这一个过程:

    1. 把全部的 vender hardware overlay 文件拷贝到 phhusson/vendor_hardware_overlay 项目
    2. 执行下面的代码,导出所有不兼容的配置到一个临时文件中
    # 在 phhusson/vendor_hardware_overlay 根目录下执行
    ./tests/tests.sh | grep J716F | tee test-out
    
    1. 手动编译这个工具 https://github.com/ZeekoZhu/projects/tree/gsi-overlay-tool/apps/gsi-overlay-tool ,使用 fix 命令批量删除所有不兼容的配置
    ./dist/apps/gsi-overlay-tool/net7.0/GsiOverlayTool fix /path/to/test-out /path/to/phhusson/vendor_hardware_overlay/overlay/
    

    得到设备的 overlay 文件后,打包生成一个 apk 文件,放到一个 Magisk 模块中即可(参考操作)。

  • 网上冲浪指南 – 002

    This entry is part 2 of 3 in the series 网上冲浪指南

    Kitty https://sw.kovidgoyal.net/kitty/

    Kitty 是我现在的主力终端模拟器,它使用 GPU 渲染,性能强劲,并且功能强大:

    • 支持 CLI 命令操作 Kitty 界面(窗口、Tab),可以方便地用脚本打造自己的终端工作环境
    • 支持图像协议,cat 一个图片、视频会直接在终端展示,而不是被二进制输出糊一脸

    分享一下我使用 Kitty 快速启动工作环境的 fish shell 脚本:

    function work-start
      cd ~/path/to/project
      # 分屏打开一个新的 kitty 窗口
      set win1 (kitty @ launch --location split --copy-env --cwd current)
      # 分屏打开一个新的 kitty 窗口
      set win2 (kitty @ launch --location split --copy-env --cwd current)
      # 在窗口 1 中登录远程开发服务器
      kitty @ send-text --match id:$win1 'ssh foo@remote-server -t "screen -r dev"\n'
      # 在窗口 2 中启动代码同步服务
      kitty @ send-text --match id:$win2 'lsyncd ./frontend.lsyncd\n'
      # 光标聚焦回当前窗口
      kitty @ focus-window --match id:$KITTY_WINDOW_ID
    end
    
    在终端查看图片

    Chezmoi https://www.chezmoi.io

    Chezmoi 是一个基于 Git 管理 dotfiles 的命令行工具,我的个人目录下有各种各样的配置文件,为了能够在台式机跟笔记本上有相同的体验,我会使用 Chezmoi 定期在两台电脑上同步配置。Chezmoi 的这些功能我认为非常重要,能够极大地简化在多设备上维护配置文件的操作:

    • 文件模板,允许我们在应用配置之前使用变量替换模板文件中的占位符,这样类似主机名、用户名这样的每台机器上可能不尽相同的信息就可以从配置文件提取出来,方便复用配置模板
    • 密码管理器,像 ssh key 这样的信息并不适合明文存储在 Git 中,好在 Chezmoi 的模版语法中允许我们调用常用的密码管理器,从中读取信息

    搞机工具箱 https://www.coolapk.com/apk/com.byyoung.setting

    这是一款功能丰富过头的 Android 手机工具箱,其功能包括但远不限于:

    • Magisk 模块管理
      • 模块安装、卸载、编辑、更新、备份
      • 音量键救转
    • Xposed 模块管理
      • 模块安装、卸载、编辑、更新、备份
    • 应用管理
      • 系统、用户应用安装、卸载、冻结、编辑权限、多开、提取 apk、设置程序语言、备份、还原、IFW 设置
      • 替换国产系统恶心人的应用安装器
    • 系统工具
      • SWAP 设置
      • 查看 Wifi 密码
      • 修改 Host

    这些功能只是我最常用的,它们只是搞机工具箱全部功能的冰山一角,而且由于功能过多且晦涩,导致用户体验很差,上手难度比较高。
    不过总的来说,瑕不掩瑜,是一款不可多得的搞机必备应用。