avatar

Life of a Programmer

`Simplicity is prerequisite for reliability.’ - EWD

City Walk

难得进城,就用 city walk 作为标题。 Old days 🔗夫人预定了古北路附近一家餐馆吃晚餐。午餐后出发,先压马路。赚足步数后想必也会胃口大开。室外略有点冷。 先去长

pwrite() & O_APPEND

Linux 的 pwrite() 有个 BUG: 当文件以 O_APPEND 模式打开时,虽然 file offset 不会变,但是写入的内容会追加到文件尾部。 此外,pwrite() 和 pwritev() 的 offset 参数不能为 -1, 否则会 EINVAL. 但是 pwritev2() 可

Future & Promise

基于异步事件的编程框架基本上都有 Future 和 Promise 的概念。比如, 主流编程语言中 C++11 有std::future 和std::promise, 而 Java 1.5 开始有Futu

Address Sanitizer

N 年前,调试 C/C++ 内存问题一般会选择用valgrind 或者efence. 目前 Address Sanitizer (ASan) 居多, 它已经被集成进了 LLVM 以及 GCC, 用来比较方便。 访问越界 🔗比如,下

A Trip to Wuxi

上次去鼋头渚已经是二十年前了,当时没有随身电脑更没有手机、相机,记忆也已经接近空白。现在只能回想起三件事: 当时湖心的太湖仙岛上还有猴群出没;