在很早的上一篇文章中,我们讲了英语当中的时态选择。时态选择涉及到的主要是谓语动词的形态变化。此篇继续讲动词,不过话题转向非谓语动词。
SARS-CoV-2 莫自牢,千病万疫避白袍
希望若干年后的史书,会这样记载 2020 年初的疫情。
泥潭挣扎记:Linuxbrew 里的 Glibc
本着 Homebrew 真香的原则,我尝试在 CentOS 上安装 Linuxbrew。至于不用 Yum 的原因,请看刚才提到的真香原则。
但随即,我就陷入到了 Glibc 的泥潭。这个泥潭是一个需要自举(bootstrap)的循环依赖;这个泥潭长这样:
- Linuxbrew 安装任何东西都依赖
curl
和git
,而且它不想用系统中自带的curl
和git
。 curl
和git
都直接或间接依赖 Glibc。- Linuxbrew 里的 Glibc 版本比较高,目前是 2.23,因此依赖高版本的 GCC(
>= 4.7
),以及因为 Linuxbrew 的缘故依赖curl
和git
。 - 系统里的 GCC 版本较低,因此 Linuxbrew 安装 Glibc 失败;而通过 Linuxbrew 安装高版本的 GCC 又再次依赖 Glibc。
泥潭里有两个循环依赖:
- Glibc 和
curl
及git
等基础工具相互依赖; - Glibc 和 GCC 相互依赖。
USB 3.0 射频噪声对 2.4GHz 无线设备的干扰
早些年,第一次使用 USB 3.0 硬盘的时候,我就发现了它对 Wi-Fi 网络信号的影响。为了解决这个问题,当时投资几百块,换了 NetGear 的路由器,并启用其 5GHz 的 Wi-Fi 信号。最近,在结合 rMBP 使用无线鼠标时,我发现鼠标经常出现跳帧的现象。因为距离上一次踩坑的时间已经过去六七年的时间,一时完全没想到可能是 USB 3.0 带来的问题。在经历了一系列折腾之后,才突然想起这个坑。特此记录。
程序员的自我修养(⑨):Linux 系统里的进程状态
今天有同事问到 top
命令里的 running
, sleep
, stop
, zombie
等进程状态分别是什么意思。于是借这个机会写一下 Linux 系统里的进程状态。