CSAPP_3rd_Edtion

CSAPP即是传说中的《Computer Systems: A Programmer's Perspective》,中文版译作《深入理解计算机系统》,在原书第三版出版(2015-03-11)一年多后,终于在2016年底出版了中译版。虽然中文版书名有"深入"两字,本书却是CS专业不折不扣的入门级教材。

拿到书的第一感觉是印刷装订很好,双色印刷,纸张非常出色,完全不同于机工有一阵子薄的惨不忍睹的纸张。同第二版相比,第三版的Chap2 3 4 5 7 8 11 12均有较大程度修改。

The biggest overall change from the second edition is that we have switched our presentation from one based on a mix of IA32 and x86-64 to one based exclusively on x86-64. This shift in focus affected the contents of many of the chapters. Here is a summary of the significant changes.

- 继续阅读 -

编译Linux内核

从Debian 5开始接触Linux,主要当桌面系统使用。最近在业余时间尝试了一下编译内核,记录一下主要步骤。

1. 准备工作

目前安装的系统是Debian testing,内核版本4.8.0,先将所有软件包升级到最新

$sudo aptitude update
$sudo aptitude upgrade

安装编译工具包

$sudo aptitude install build-essential

安装ncurse和ssl开发库

$sudo aptitude install libncurses5-dev libssl-dev

- 继续阅读 -

Git合并多次提交

理想的开发过程,是在原始代码的基础上,继续开发新功能,每完成一个功能点提交一次。实际工作中可能发现实现一个功能点需要很长时间,这期间在Git中会有多次临时的提交(没认真写 commit message 的提交~),希望最终保留在Git中的只有初始版本和添加了新功能的版本,去掉所有中间状态的混乱提交,可以用 git diff 和 git apply 实现。

- 继续阅读 -

使用sysprep重置系统

Windows系统用了一段时间之后,安装的软件越来越多,或不幸感染了恶意软件,会变得越来越慢,重装系统是很干脆很重量级的解决方法。除了需要重新激活外,重装软件,设置系统参数也是非常麻烦,此时可以利用系统提供的系统准备工具sysprep来解决。

Win+R打开运行窗口,输入sysprep,此时会打开sysprep.exe所在目录C:\Windows\System32\sysprep,直接运行程序。

选择进入系统全新体验(OOBE),勾选通用,关机选项可以选重新启动。系统会在重启后重新安装驱动程序,检查视频性能,并要求设置新的系统用户。和重装系统不同的是,原系统安装的程序和原来的用户都会保留,只是系统桌面图标会有一些小的变化。更重要的是,无需再重新激活。

参考资料

1. Sysprep 命令行语法
https://technet.microsoft.com/zh-cn/library/cc721973(WS.10).aspx

12_Steps_to_Better_Code

Copy From:
The Joel Test: 12 Steps to Better Code
https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/

1. Do you use source control?
2. Can you make a build in one step?
3. Do you make daily builds?
4. Do you have a bug database?
5. Do you fix bugs before writing new code?
6. Do you have an up-to-date schedule?
7. Do you have a spec?
8. Do programmers have quiet working conditions?
9. Do you use the best tools money can buy?
10. Do you have testers?
11. Do new candidates write code during their interview?
12. Do you do hallway usability testing?

Chinese Translation
http://local.joelonsoftware.com/wiki/Chinese_(Simplified)#The_Joel_Test:.E8.BD.AF.E4.BB.B6.E5.BC.80.E5.8F.91.E6.88.90.E5.8A.9F_12.E6.B3.95.E5.88.99