推荐 CSAPP:3e 课程视频以及 Bomb Lab

经过差不多 7 年时间(2008 ~ 2015),CSAPP 终于出了 3rd edition;根据官方的 changelog,新版全面用 x64 的体系结构去替代了旧版的 ia-32。

不管手头有没有第三版的书(讲道理其实挺贵的,机工的翻译版 2016/12 会发行,但是不知道英文版/影印版什么时候发),课程的在线视频都是很好的一个补充手段。

Read More

在 WSL 的 VIM 里安装 YCM

注 1:此处的 WSL 指的是 Windows Subsytem for Linux,不是“猥琐流”

注 2:如果是在中国并且没有专用的全局科学上网线路(比如在自己家里),建议找一个类似 SS 的梯子,让 WSL 里的网络操作走代理,提高速度,避免因为某些连接被和谐导致悲剧发生。

Read More

在 Windows 上构建并接入最新发布分支的 breakpad

新直播姬项目重构的差不多了,于是前几天 leader 对我说:组织已经决定了,你来接入 crash dump 的处理收集!

于是我就念了句口号:Hail Hydra,然后开始研究怎么接入 google-breakpad

Read More

C++ is fine, it's you that suck

这篇主要内容是吐槽,干货不多。

曾经我以为只要是我设计的代码结构里,基本不会碰到需要 multiple inheritance 的情况,更不用说需要 virtual inheritance,结果没想到这周就被啪啪啪打脸了。

起因在于我要为底层的 obs properties 体系设计一个 wrapper,为上层提供类似的等价物。

Read More

在 Windows 10 上获取正确的系统版本

大约从 Windows 8 开始,微软开始觉得大家之前那种不同系统版本给不同的代码的方式太不和谐了,怎么可以搞 discrimination 呢?要和谐,要有爱!于是把常用的 GetVersionEx() 给标记成了 deprecated,并且建议大家使用另外一套更加政治正确的 version verification API。

Read More

闲扯 KAdBlockEngine

几天前给 KAdBlockEngine 加上了 README 之后,这个 repo 算是正式的结了。

对别人来说,这只是一个很普通的 repo;但是对我而言,却意义重大。

Read More

避免在类设计上混合 Owner 及 View 语义

这个论断来自于前段时间重构 pickle 时的想法。

The Big Picture

Pickle 是一个二进制序列化设施,内部维护一块 buffer 用以保存被序列化的二进制数据,语义上看,一个 Pickle 对象对内部 buffer 具有无争议的 resource owner 语义。

Read More