zhao's Moments

让我们组建一支乐队,一起来超越我们的偶像吧!

Jan 10th
2024

用 Python 的多进程时,创建进程的方式会影响导入模块的状态。

例如,在 a.py 中有一个变量 x

1x = 0

我们导入这个模块,修改 x 的值,然后创建子进程:

 1from multiprocessing import Process
 2
 3import a
 4
 5
 6def f():
 7    print(a.x)
 8
 9
10if __name__ == "__main__":
11    a.x = 1
12    p = Process(target=f)
13    p.start()
14    p.join()

在 Linux 下默认使用 fork 的方式,输出的结果是 1。而 Windows 下默认方式是 spawn,输出是 0

在 Linux 下,如果使用 set_start_method("spawn") 使用 spawn 方式创建子进程,输出同样是 0

19:50


Dec 1st
2023

最近写博客,发现 Alma Linux 9 源里的 pandoc 2.9.2.1 无法识别 Markdown 里以 @ 开头的链接,比如这种:

1[@EE0000](https://zhaozuohong.vip)

而我本地 LMDE 6 源里 2.17.1.1 版本的 pandoc 就没有这个 bug。于是,把 CI 的容器里的 pandoc 升级了一下,改用 GitHub Release 里的最新版本。

另外发现 NexT 主题没有 emoji 的支持。虽然找到了 hexo-filter-github-emojis,但也有段时间没更新了。于是运行里面的 update-emojis.js,更新了 emojis.json,推到了 zhao/hexo-filter-github-emojis。安装时就直接从源码安装:

1pnpm install git+https://git.zhaozuohong.vip/zhao/hexo-filter-github-emojis

GitHub 的 emoji 可以看 ikatyang/emoji-cheat-sheet

昨天在博客里写了个贸易计算器,不得不说,自建的博客还是舒服。表格、公式、emoji 甚至 js,想加就加,完全不受平台的约束。

趁机试了下 petite-vue。虽然只有英文的说明,但上手还是挺快的。

16:04


Jul 26th
2023

我在 distrobox 里装 Arch Linux,用来跑 MaaAssistantArknights 这种要求高版本 glibc 的软件。长久以来,疏于维护;上周末升级时遇到了两个问题:一是 pacman 密钥环过期了,算是意料之中,按照 Arch Wiki 中pacman/Package signing 的方案顺利解决了;二是升级之后 cage 命令用不了,一运行就报错。第二个问题没找到什么解决方法,只得放弃。

对我来说,滚动发行版,尤其是像 Arch 这样更新激进而频繁的发行版,哪怕是在容器中,维护成本也实在是太高了。思来想去,还是决定把 distrobox 里的发行版换成 Debian bookworm。一方面降低维护成本,不用频繁升级,也不用担心升级之后出问题;另一方面,等我升级到基于 Debian bookworm 的 LMDE 6 后(虽然还没发布),在容器外,就可以直接使用容器内编译的 Python 了。

Responsive image

08:12


Jun 5th
2023

好久没玩同步音律喵赛克了。

这首《独角》又好听又简单。截图是初见成绩。

Responsive image

19:44


Apr 30th
2023

更新了 Debian 11.7,顺便编译了 6.3.0-tkg-tt 内核,趁机重启。

编译很顺利,安装时遇到一个小问题,提了 Issue

10:53