2025-12
12 月水水的不知道在干什么,有些事情可能没有太大难度, 但是找借口不做就会浪费很多精神里上下文切换的时间。
wlroots
需要进一步测试,顺便试试能不能修(更新:症状都不存在)
- https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3425
- https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3257
之前和朋友讨论 wlr_output 为什么有 enable 这个字段,这下就遇到了
多显示器下,需要关闭指定显示器以避免烧屏-论坛-深度科技
pkg-search
SQLite有支持自定义分词器,似乎实现也很简单。
支持中文和拼音的 SQLite fts5 全文搜索扩展 | A SQLite3 fts5 tokenizer which supports Chinese and PinYin
对于 pkg 中的文件路径来说,/ 和 . 比空格更有分词意义。
后面试试能不能把这部分功能迁移过来,避免拖一个巨大无比的 MeiliSearch。
alpine
计划把libgit2项目过一遍升级(SHA256 破坏挺大),很多功能和测试需要再看看
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/94330
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/94375
准备把 C 语言项目 STC 迁移过来,不过要等版本 6 发布
GTK2 很早就 EOL 了,尝试把相关包都 drop 掉。还有其他一些包日常刷下版本
- https://gitlab.alpinelinux.org/alpine/aports/-/work_items/17848
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/94135
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/94375
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/94426
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/94427
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/94429
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/94437
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/94909
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/95035
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/95100
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/95104
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/95109
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/95130
user-aports
可能需要搭建一个流水线,准备把玲珑包先在这边测试
- 公司声誉不好,上游如果做安全审查会耗时很久
- 即使合并也是进 testing,如果 stable 可用又要等半年
- stable 即使可用也是落后半年的老版本
qaqland/user-aports
bushi
可能是和朋友一起去了图书馆、聊天,bushi 进展不错正在稳步推进。 进展之一是架构设计上确定下来。拆分单体:
- bushi-scan
- 扫描 Git 仓库,遍历调用 bushi-index,通知 bushi-web 读写数据库切换
- bushi-index
- 索引 Git 仓库的关键信息到 SQLite。
- bushi-web
- 只读连接池打开 SQLite,基于 Rust 实现高性能网络托管
进展之二是 bushi-index 完成了 40%,陆续解决了 SQL 跨行字符串的嵌入、 全局变量的分配、单元测试、算法说明文档等问题。 预计后面再投一周的时间就能完成这部分。bushi-scan 到时候会写几个 example 留给用户自己做。bushi-web 也没啥难度后面再说。
发现了 Git 一个 Bug 或者可以改进的地方,好像能修但是有点麻烦,以后再跟踪吧
$ export GIT_PAGER=cat
$ git log --pretty=format:%H --name-only
这样会打印出 commit 和对应的 diff,类似下面输出
commit
diff
commit <<< 有问题
commit
diff
现在用的是 format,默认行为是后一个 commit 负责放置一个 \n,
如果用 tformat 则会在当前 commit 和对应的 diff之间放一个换行。
目前观察到每次有效 diff 后会多一个换行,而 diff 不存在时空行消失。
Git 源码主要集中在以下几个函数,其中 diff_queue_is_empty 判断的逻辑挺抽象
log_tree_commitlog_tree_difflog_tree_diff_flushshow_log
在 libgit2 上发现了一个小错误💦 https://github.com/libgit2/libgit2/pull/7175
ctrlp
测试了一哈,ctrlp 比 fzf 慢的不是一点半点。 核心匹配算法似乎可以抽象出来一个组件:
- 终端目录路径跳转(Alt + C)
- 终端历史记录模糊查询(Ctrl + R)
- 窗管启动器应用选择(如 wmenu)
- Vim 不同缓冲区等切换(如 fzf.vim)
- 浏览器历史记录跳转
匹配库还有一些杂乱的需要考虑的事情:
- 英文大小写、其它字符的大小写
- 中文拼音等 IME
- 是否要考虑 LRU
walker-scan + user-input + lib-fzf-algo => output-list
output-list + user-input => exec-or-output
DDUC
拿到了很多周边!见到了很多朋友!茶歇很好吃!希望明年能跟深入的参与。
MISC
mdBook 的前端代码写的很烂,最近更新了侧边栏动态目录才发现我之前都是坏的
https://github.com/rust-lang/mdBook/pull/2993
非常不错的 markdown 工具,作者很热情的升级了依赖库版本来支持龙架构
https://github.com/kivikakk/comrak/issues/707
alsa-tools 这个仓库挺破旧的,不知道为什么仍然存在
https://github.com/alsa-project/alsa-tools/pull/44
Donation
回过头来看之前定下的捐款三点要求很严肃,很难找到对口的项目。 12 月的最后一天发现 fastfetch 符合要求。
https://github.com/fastfetch-cli/fastfetch/pull/2123
TODO
重新梳理了一下对笔记软件的要求,似乎还挺简单的:
- 功能和易用性与 Apple Notes 持平
- 性能和稳定性拉到最满
- 图片、富文本编辑等可有可无
- 开源甚至自研,数据随时导入导出
在大脑中筛选了一下,还是dnote符合这个要求。 不过也许可以自己尝试搓一个,用类似 Git 或者 Quilt 的交互接口。
电脑终于从 Windows 刷回了 Alpine Linux 好起来了。 最近总是装系统,需要找个 dotfile 管理工具来帮助快速启用了。