This page looks best with JavaScript enabled

近期的生活日记 ❄️ 北方的冬天 ❄️

 ·  ☕ 6 min read

我好恐惧,恐惧时间的流逝,所以迫不及待的想把看到的感受到的都记录下来。

于是,我记了好多好多,到现在我的 org-journal 已经写下六千多行了。。。。

有了 Emacs 的 Org Journal,我就喜欢到处记
有了 2 亿像素的 Galaxy, 我就到处拍,走到哪拍到哪。

Spotify 2023 Wrapped

我最近生活挺开心的!因为最近 Spotify 总结了我 2023 年的音乐总结:

原来我 2023 年最喜欢的歌手是 HOMIE, 我还一直以为是 Rauf & Faik 兄弟或 IVAN VALEEV 呢!

附上我的 2023 年度歌单: https://open.spotify.com/playlist/37i9dQZF1Fa1IIVtEpGUcU?si=d750c403996645d5

切换到 Wayland

最近切换到了 Wayland,并且在享受它。
由于我是 HiDPI 屏幕,需要让 chrome 做些调整,才能让窗口和 Cursor 的缩放正常点。
为了额外能让 fcitx5 在 chrome 中工作,我不得不 wrap 一下 chrome:

1
2
3
4
5
    (google-chrome.override {
      commandLineArgs = [
        "--enable-wayland-ime" # on purpose to make it break
      ];
    })

看电影

最近听说了一部总是和《教父》一起提的电影:《爱尔兰人》,片长共 3 小时,我只看了一小时就累了,以后有空接着看。

触发了 gdb 的 bug

最近在 CI 上做静态链接 OpenSSL 3 的事情,在 github 的 macos-11 darwin64-x86_64 平台上,打包出来的二进制触发了 illegal instructions, 然后我想着用 gdb 能不能得到一些有帮助的线索,结果没有得到线索,而是触发了 gdb 的 bug。

魔改 ripgrep

我很喜欢用 ripgrep,但是当我加上 –no-heading –line-number 参数时,每一行最开始的行号并不对齐,我觉得很不美观。搜索了相关 issue,发现以前有人有过和我一样的 idea。于是我干脆 fork 一下,自己将 line-number 的宽度 align 好,魔改自用。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

    /// Create a new decimal formatter for the given 64-bit unsigned integer.
    pub(crate) fn new(mut n: u64) -> DecimalFormatter {
        let mut buf = [32; Self::MAX_U64_LEN];
        let mut i = buf.len();
        loop {
            i -= 1;

            let digit = u8::try_from(n % 10).unwrap();
            n /= 10;
            buf[i] = b'0' + digit;
            if n == 0 {
                break;
            }
        }
        DecimalFormatter { buf, start: i }
    }

    /// Return the decimal formatted as an ASCII byte string.
    pub(crate) fn as_bytes(&self) -> &[u8] {
        let mut start = self.start;
        if start > 16 {
            start = 16;
        }
        &self.buf[start..]
    }

Mastering Bitcoin 第三版

Master Bitcoin 最近出了第三版,相比第二版有新改动,在看。

最新款的病毒

我上周末可能感染了最近新发布的最新款的病毒了,流鼻涕!头晕!还略微有点发热!用力呼吸的时候,眼睛和鼻子之间的区域就感到难受!真的非常难受!于是我多喝热水,好了。

Wayland 下的 KDE Plasma 5 不能和 tdrop 很好的配合

我以前在 Xorg 下一直使用 tdrop 来完成任意窗口的弹出和隐藏,但是 tdrop 在 wayland 下不工作。
于是我尝试寻找 Wayland 下有没有和 xorg 下的 xdotool 一样的东西。想着我能不能在 Wayland 下获取任意的窗口的 ID,有了这个 ID,我就能操作目标窗口的隐藏或呼出了。结果并没有找到满足我需求的方案。

所以,我不得不尝试 programmatically manipulate windows with KWin scripts

为了在 KWin Wayland 下达到我的目的,我不得不这样:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function toggleClient(app_name) {
  const clients = workspace.clientList();

  let client = null;

  for (var i = 0; i < clients.length; i++) {
    let resource_name = clients[i].resourceName;

    if (resource_name == app_name) {
      client = clients[i];
      break;
    }
  }

  if (client) {                                                                                                                                                                                                                                       %    if (client.desktop != workspace.currentDesktop) {
      client.desktop = workspace.currentDesktop;
      client.minimized = false;
      workspace.activeClient = client;
      console.log('app not in current desktop, activate now', app_name)
    } else {
      if (client.minimized) {
        client.minimized = false;
        workspace.activeClient = client;
        console.log('in current desktop, but minimized, activate now', app_name)
      } else {
        console.log('in current desktop, but not minimized, minimized it now', app_name)
        client.minimized = true;
      }
    }
  } else {
    console.log("not found client , we have: ", app_name);
  for (var i = 0; i < clients.length; i++) {
    let resource_name = clients[i].resourceName;
      console.log("we have ", resource_name)
  }
  }
}

我现在是通过 qdbus 来和 KWin Wayland 交互来加载和启动这个脚本的。
以后我可以把这个粗糙的脚本打包成 KWin Plugin,那样会更加符合 KWin 的最佳实践?

北方的冬天

前段时间气温快 -10 度了,这几天暖和了点,0 度

Kernel Panic

在唤醒睡眠状态的系统时,发现 Kernel Panic 了!我目前用的 Kernel 版本是 6.6.2。目前还没空排查 panic 的原因。

Samsung OneUI 6.0 升级

喜迎 OneUI6.0 !

电脑合盖之后,装包里,15 分钟后取出,发烫

今天把电脑盒盖之后放包里,15 分钟之后取出后发现很烫。。。。

估计是盒盖的时候,电脑还正在 hibernate 呢。
真的好心疼我的宝贝电脑。。。。
看来以后合上电脑之后,要等待风扇不转了之后,完全关闭了之后再放进包里。

我升级到了 kde6

期待 kde6 很久了,之前我从 kde2nix 体验过 kde6 的预览版,但是当时遇到了很多 bug,于是又回滚到 kde5 了。
今天 nixos-unstable 中出现了 kde6,于是我便升级了。

2024 年 03 月

当我从 kde 的 panel 音量控件调节音量时,会有 1~2 秒的卡顿。。。。没事,我还能忍。


最近我陷入了焦虑,每天早上醒来的第一件事情是执行 nix flake update, 吃早饭前的要 nix flake update, 吃早饭后要 nix flake update, 吃午饭前要 nix flake update, 吃午饭后要 nix flake update, 吃晚饭前要 nix flake update, 吃晚饭后要 nix flake update, 每天睡觉前也要 nix flake update


周末看电影:《沙丘 2》和《包法利夫人》

小时候家里有一本英文原版的书,是《包法利夫人》,但是当时我年龄太小,阅读能力和对感情的理解都阻碍了我读懂那本书。
这周日,完整的看了对应的电影。。。

我今天晚上去了帕米尔家吃晚饭了

我去野生动物园了

野生动物园,我最喜欢的地方是滑梯。我玩了好多遍滑梯。

我沉迷于 Ivan Valeev 最新的单曲

去野生动物园的路上,我发现了 Ivan Valeev 最新单曲, 太陶醉了。。。。单曲循环 100 多遍了:

https://www.youtube.com/watch?v=moZyF_tJeMw

我今天晚上又去帕米尔家吃饭了

我在 vagrant 下搞公司的 windows 平台下的单元测试,cygwin 把我的 C-c C-c C-D C-c 识别为 ❤️

怎么回事?怎么突然感觉有点浪漫?

准备听歌,打开耳机仓却发现没带耳机…..

我不得不关闭 diff-hl 了

因为
[2024-04-16T14:15:01.596077] Error running timer ‘track-changes–call-signal’: (cl-assertion-failed (eq tracker diff–track-changes))

盲猜是 master 分支的改动对 diff-hl 有不兼容,但是我太忙了,没有空关注这个问题。

我在 linux 的虚拟机中启动了 vagrant win10, 尝试编译公司的项目,搞了好久都编译不过

vmware 启动失败:

我今天启动 vmware 发现了:

1
2
3
4
5
❯ vmware
[AppLoader] Use shipped Linux kernel AIO access library.
An up-to-date "libaio" or "libaio1" package from your system is preferred.
[AppLoader] Use shipped PC/SC Lite smart card framework.
An up-to-date "pcsc-lite-libs" or "libpcsclite1" package from your system is preferred.

后来我发现我的整个桌面设置了 GDK_BACKEND=wayland, 然而 vmware 并不能直接跑在 wayland 上,
所以我不得不 unset 这个环境变量。
unset 之后,发现 vmware gui 上相邻的字符 overlap 了,
仔细回想我过去几天都干啥了,原来是我把 font hinting 设置成了 full, revert 成 slight 之后,overlap 就消失了。

我来看话剧了:《进入黑夜的漫长旅程》

本来这周末打算在家宅两天的,但是还是挺想出门逛逛的。
天气太热,白天在家宅着,晚上出去看话剧了。

沉迷 Billie Ellish 的歌:BIRDS OF A FEATHER

我今天发现了 Billie Elish 的歌,无限单曲循环中。。。
https://open.spotify.com/track/6dOtVTDdiauQNBQEDOtlAB

waypipe 和 Nvidia 有奇怪的 bug,造成我电脑卡死

今天我尝试用 waypipe 远程链接远程服务器上的 emacs。

当 waypipe ssh xxx emacs 之后,本地的 NixOS 直接卡死,连 tty 都进不去,我迫不得已只能启动 SysReq 重启了操作系统。
重启之后发现, sudo journalctl -b -1 的日志中:

1
2
3
4
5
6
7
8
Jul 07 17:39:22 Mufasa kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000e59a8c97
Jul 07 17:39:22 Mufasa kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000e59a8c97
Jul 07 17:39:22 Mufasa kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000e59a8c97
Jul 07 17:39:22 Mufasa kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000e59a8c97
Jul 07 17:39:22 Mufasa kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000e59a8c97
Jul 07 17:39:22 Mufasa kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000e59a8c97
Jul 07 17:39:22 Mufasa kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000e59a8c97
Jul 07 17:39:22 Mufasa kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000e59a8c97

这种日志,在短短 1 分钟就输出了 300 多万次,这应该是造成我 NixOS 卡死的原因。。。。

Share on

EXEC
WRITTEN BY
EXEC
Eval EXEC