作弊条:几个不太常用的git库管操作
配合 svn 使用 git 时可能会遇到许多问题,例如两个人分别做了 git svn clone,然后希望合并到同一个 git 库中。如何做合并呢?假定两个库分别是 old, new,将这两个库对应的分支和对应的源分支 (svn/*) 通过 .git/config 分别复制到不同的分支名字下面,例如 svn/releng/8.2 和 old-svn/releng/8.2。假定需要合并的分支是 old/my8.2,则做以下操作:
配合 svn 使用 git 时可能会遇到许多问题,例如两个人分别做了 git svn clone,然后希望合并到同一个 git 库中。如何做合并呢?假定两个库分别是 old, new,将这两个库对应的分支和对应的源分支 (svn/*) 通过 .git/config 分别复制到不同的分支名字下面,例如 svn/releng/8.2 和 old-svn/releng/8.2。假定需要合并的分支是 old/my8.2,则做以下操作:
DNSSEC 是一种验证域名信息真实性的协议扩展。个人之前一直觉得这事相当的蛋疼:DNS协议本身是不安全的,而DNSSEC无非是增加了数字签名验证,而这验证还依赖于相当复杂的密钥更新和分发机制,这一切都给它的推广带来了困难。
近日, netmap 已经正式进入 -CURRENT (r227614)。目前联编带 netmap 的内核需要做下面的操作:
% cd /usr/src/sys
% patch -p0 < dev/netmap/head.diff然后在内核联编配置中加入:
📜 历史文件已不具备现实意义
文章介绍的是旧版 clang 的用法。
静态分析是一种辅助的代码品质提高手段,简而言之静态分析大致是走一个类似编译的过程(或者走完生成副产品),然后给出代码中可能存在的问题。
现时 InfiniBand 硬件已经相当廉价。有些 4x 的 InfiniBand 适配器已经可以在 $100 以内拿到。由于 InfiniBand 可以提供高带宽、低延迟的数据传输,而且点对点对联不需要交换机,因此可以以十分低廉的价格满足近实时同步,或分离存储服务这样的需求。
今年年初的时候, Isilon、我厂 和 Panasys 联合资助了 FreeBSD 上的 InfiniBand 协议栈的实现。这个实现基于 OpenFabrics Alliance 的 OFED,对基于 Mellanox 芯片的多种常见的 InfiniBand 卡都提供了支持。这些代码目前已合并至 FreeBSD 的开发主线,并将随 FreeBSD 9.0-RELEASE 发布。
比较感兴趣的项目是之前了解过但仔细看过的 FlashCache,这是 Facebook 搞的一个 SSD 加速模块,原理不复杂,是在文件系统下面做上一层集关联(set-associative)高速缓存,提供了LRU和FIFO两种淘汰方法。这次 Mohan Srinivasan 讲解的时候提到了以前公开发表的讲稿上没有的一个内容—-按线程id/线程组id去做的黑白名单,并对MySQL进行了修改,令其在扫描表时不做cache。从使用的角度,这个不失为一个不错的折衷方法。
C语言和 UNIX 之父、K&R 的"R",Dennis Ritchie,于2011年10月12日在家中病逝。
Dennis Ritchie 在 Bell 实验室对 Ken Thompson 设计的 B 语言进行了扩展,并以此为基础设计了 C 语言。 C 语言与当时设计操作系统常用的汇编语言相比,提供了更好的可移植性,并成为了 UNIX 系统高可移植性的基础。Dennis Ritchie 做的这些工作是开创性的。这些工作使得我们能够使用包括数据结构、函数等高级语言特性的语言书写程序,并可以很容易地移植到不同类型的硬件上,同时又保持与为不同的硬件手工书写的汇编代码接近的性能。C++ 之父 Bjarne Stroustrup 对于 Ritchie 的工作如此评价:“They said it couldn’t be done, and he did it."。即使在 40 多年后的今天, C 仍然在从嵌入式设备到超级计算机在内的各种计算环境中广泛使用。
📜 历史文件已不具备现实意义
基于 TOTP 的做法不易备份,此外无法防止钓鱼。新部署时应考虑 FIDO 2
等更为现代化的解决方案。
Google Authenticator 是一个 TOTP(基于时间的一次性口令)实现,它采用了 RFC 4226 算法。