currently reading articles under blog/2011

Hash Tree 哈希树

Image Title

哈希树的特点很鲜明: 叶子节点存储的是数据文件,而非叶子节点存储的是其子节点的哈希值(称为MessageDigest) 这些非叶子节点的Hash被称作路径哈希值, 叶子节点的Hash值是真实数据的Hash值. 因为使用了树形结构, MT的时间复杂度为 O(logn)

比如下图中, 我们如果使用SHA1算法来做校验值, 比如数据块8对应的哈希值是H23, 则按照这个路径来看 应该有

H11=SHA1(H23∥H24)

H5=SHA1(H11∥H12)

H2=SH......

Killing VIM!!!

1st EMACS资源网站

[EmacsWiki](http://www.emacswiki.org/ "Emacs的维基百科, 内容最丰富的emacs网站"

[水木Emacs](http://www.newsmth.net/bbsdoc.php?board=Emacs "水木Emacs版, 国内Emacser主要在此讨论"

[DEA](http://emacser.com/dea.htm "Dot emacs of ahei, ahei的Emacs配置文件大全"

[pluskid的Emacs](http://lifegoo.pl......

实验: git 如果.gitignore中添加一个已经跟踪的文件结果是?

背景,一个kernel,里面有大量硬件厂商的库,拿过来后直接

$git init

$find . -name .gitignore -type f -exec rm -rf {} \; #前面说过,有大量库,默认的规则是会过滤掉,这样的代码你push上去谁也编不过去

$git add .

$git commit -a -m "init commit"

没问题,拿到的是干净的内核,没有什么该忽略的,至少还不清楚,都包进去是应该的。

然后问题来了,$make -j4 编译完成

$git status

...

然后就是超长的Untracked files列表了......

C Standard Library

http://www.utas.edu.au/infosys/info/documentation/C/CStdLib.html#math.h

C Standard Library

[Last modified : 2006-11-30]

Contents

<assert.h> : Diagnostics

<ctype.h> : Character Class Tests

<errno.h> : Error Codes Reported by (Some) Library Functions

<float.h> : Implemen......

Minicom 自动换行

启动时加 -w 参数

或者启动后 C+a 然后按 w 启动line warp 模式

Makefile 常用函数表

一、字符串处理函数

1.$(subst FROM,TO,TEXT)

函数名称:字符串替换函数—subst。

函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。

返回值:替换后的新字符串。

2.$(patsubst PATTERN,REPLACEMENT,TEXT)

函数名称:模式替换函数—patsubst。

函数功能:搜索“TEXT”中以空格分开的单词,将否符合模式“TATTERN”替换为“REPLACEMENT”。参数“PATTERN”中可以使用模式通配符“%”来代表一个单词中的若干字符。如果参数“REPLACEMENT”中也包含一个“......

Makefile中指示符“include”、“-include”和“sinclude”的区别

指示符“include”、“-include”和“sinclude”

如果指示符“include”指定的文件不是以斜线开始(绝对路径,如/usr/src/Makefile...),而且当前目录下也不存在此文件;make将根据文件名试图在以下几个目录下查找:首先,查找使用命令行选项“-I”或者“--include-dir”指定的目录,如果找到指定的文件,则使用这个文件;否则继续依此搜索以下几个目录(如果其存在):“/usr/gnu/include”、“/usr/local/include”和“/usr/include”。

当在这些目录下都没有找到“include”指定的文件时,make将会提......

如何查看ANDROID源码版本

编译的时候从makefile的信息中确实可以看到,另外还可以从git(.repo/manifest.xml)中查询,或者到build/core/version_plaform.mk中去查询plaform_version的定义值

linux常用到的库

Library components in glibc and root filesystem inclusion guidelines

Library component

Content

Inclusion guidelines

ld

Dynamic linker.[2]

Compulsory.

libBrokenLocale

Fixup routines to get applications with broken locale features to run. Overrides application defaults through preloading. (Nee......

Makefile 中 大括号和小括号 的区别

shell 用的是大括号, Makefile两种都行.但是在命令里用shell变量的是候就需要大括号.

all

curr_dir=`pwd`;

echo ${curr_dir};

echo $(LOGNAME);

echo ${LOGNAME}