怎么又是你! too many open files

整理一下前段时间的一个问题。我的 nvim 在某个时间段后就经常发生 too many open files 的问题,导致很多功能都无法正常工作,只能重启 nvim。自己用的笔记本,ulimit 这些参数都是没有改过的,默认值是 1024。一个 nvim 你要用 1024 个 fd,简直是开玩笑。这肯定是 fd »

Redir your local socket with eBPF and aya-rs

本文是对于经典文章 How to use eBPF for accelerating Cloud Native applications 的一个练习。鉴于当前关于 Rust 构建 eBPF 程序的资料比较少,所以写了这篇文章来记录一下过程 截止 2023/04,使用 Rust 来构建 eBPF 除了手动进行 binding »

为什么我觉得 すずめの戸締まり 剧情很奇怪

2023/03/24 看了 《すずめの戸締まり》。以下是观后感,涉及剧透 个人评分(5分制), 作画 5 音乐 4 故事 3 行动逻辑 首先剧情中人物的行动逻辑很有奇怪 第一个便是右大臣。解除了封印并将要石的责任转移到草太身上之后,完全可以逃离主角们的视野之外。为什么要引导主角们前往一个接一个门存在的地方。而且最后直接将喜欢女主角,想要住在其家中为理由强行进行感情氛围渲染,实在很突兀。一般这种初期反派,后面洗白, »

Drop is inserted automatically when mutable variables are re-assigned

我们知道在 Rust 中无法同时拥有 mutable reference 和 immmutable reference。但是我们是否可以通过 Rust 的 unsafe 来绕过这种限制呢? 下面是我最近遇到的一个例子,代码实现了一个简单的 LinkedList 数据解构,并且尝试通过双指针来找到中点,然后切分成两个 LinkedList。为了演示简单,这里省略掉循环解构,并简化为三个节点的 LinkedList。 上面的代码会在 66 »

Migrate from Vim to Neovim

整理了一下环境,把 Vim 切换到 Neovim 了。首先如果想体验 Neovim,并不意味着你的 vimrc 要重新写,大部分是兼容的。只需要参考 Transitioning from Vim 中的步骤就可以基于原本在 Vim 中的配置使用 Neovim 了。我这里选择通过 Lua 重写,一是 Vimscript »

日语入门 & JLPT 经验分享

再一次达成年更成就 这次分享一下通过 JLPT N1 的经验。因为文章长度及排版的问题,这次直接 host 在 Notion 上了。链接如下 日语入门 & JLPT 经验分享 - Notion »

What happens when a key is pressed - (1)

本文讲讲上图的这个东西,当你按下按键后会发生了什么。因为个人能力有限,本系列可能永远不会有下篇了 首先我们需要了解几个术语: Scancode, Keycode, Keysym Scancode/Keycode/Keysym Scancode Scancode 是键盘向计算机发送的数据,以报告哪些键被按下了。一个字节或字节序列被分配给键盘上的每个键。—— 引用自 Wikipedia - Scancode 可以通过 showkey --scancodes 命令来查看,所按下的按键的 Scancode »