What happens when a key is pressed - (1)

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

N 种方式复制上一条命令的输出

在写技术 Blog 的时候,经常会遇到粘贴一段命令及其输出的情况。对于粘贴上一条命令有很简单的方法,读取 history 文件就好了,比如下面这条 alias alias '@cpc'='echo -n $(fc -l -1 | awk "{\$1=\"\";print substr(\$0,2)}") | xclip -select »

My Arch Linux RICE

本文分享一下自己的 Linux 配置,发行版为 ArchLinux GRUB Theme Display Manager Theme LockScreen 电源键锁屏 快捷键锁屏 超时自动锁屏 合上笔记本锁屏 输入法 配置键位 CapsLock 映射到左 Ctrl 快捷键组合 Lanucher Window Manager Terminal Tmux »

从 timeshift restore 导致 home 挂载失败说起

新安装的 ArchLinux 使用的 btrfs 作为文件系统,使用了开源的工具 timeshift 进行周期备份。某天突发奇想,我备份了这么多次,那么是否能够成功恢复呢?所以作死的使用了 sudo timeshift --restore来检验一下备份的效果,果不其然重启后挂了,报错如下 Starting version 249.7-2-arch [FAILED] Failed to mount /home. »

Kubernetes 源码剖析 — kubelet ImageGC

本文基于 Kubernetes v1.21.2, commit sha 为 092fbfbf53427de67cac1e9fa54aaa09a28371d7 本文针对 kubelet 中的 ImageGC 进行分析,目光回到 createAndInitKubelet 上 cmd/kubelet/app/server.go:1211 func createAndInitKubelet( // .. 省略: »

Kubernetes 源码剖析 — kubelet PLEG

本文代码基于Kubernetes v1.21.2, commit sha 为 092fbfbf53427de67cac1e9fa54aaa09a28371d7 继续上一篇文章,本文对于 pkg/kubelet/kubelet.go:1459 中的 PLEG 进行展开 func (kl *Kubelet) Run(updates <-chan kubetypes. »