编译Linux内核

一、下载 linux 内核源代码

1.0  www.kernel.com 下载源代码

2.0  将下载的源程序解压到 /usr/src 内

二、下载工具

2.0  下载 build-essential:apt-get install build-essential

2.1  下载 libqt3-header:apt-get install libqt3-header

2.2  下载 gcc:apt-get install gcc

备注:如果不下载,后面的 make xconfig 将提示:没有规则可以创建

三、配置并编译

进入 /usr/src 目录,以下操作都是在该目录下进行:

3.0  make xconfig 配置 linux 内核信息,如果需要在嵌入式中装 linux 这点很重要。

详见:http://lamp.linux.gov.cn/Linux/kernel_options.html 讲解了内核配置

3.1  make clean (当源被重新编译需要执行)

3.2  make

3.3 make modules_install

3.4 cp /arch/i386/boot/bzImage /boot/vmlinuz-<version>

3.5  cp System.map /boot/System.map

3.6   mkinitramfs -o /boot/initrd.img-<version> <version>

3.7 修改 /boot/grub/grub.cfg

Reboot 

继续阅读

有个简单的经济原理

2007年美国金融危机爆发,2007年中国房价以深圳为代表开始大幅涨价,记得还有个深圳的娃在byhh 爆料自己家人劝他好好读书,深圳房价都涨到一万了。

2008年美国出台刺激消费措施,国内房价开始大幅下跌,出现有意思的情况是深圳许多之前买房的人,要还的贷款比当时房价还贵。

接着美国刺激消费措施失败,国内金融危机进一步加剧,中国房价持续走高。

再接着美国开动印钞机,发行大量美元,这些热钱大量流入中国,进一步促使房价上涨。

继续阅读

Bloom filter

Bloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员,这种检测只会对在集合内的数据错判,而不会对不是集合内的数据进行错判,这样每个检测请求返回有“在集合内(可能错误)”和“不在集合内(绝对不在集合内)”两种情况,可见 Bloom filter 是牺牲了正确率换取时间和空间。

如需要判断一个元素是不是在一个集合中,我们通常做法是把所有元素保存下来,然后通过比较知道它是不是在集合内,链表、树都是基于这种思路,当集合内元素个数的变大,我们需要的空间和时间都线性变大,检索速度也越来越慢。 Bloom filter 采用的是哈希函数的方法,将一个元素映射到一个 m 长度的阵列上的一个点,当这个点是 1 时,那么这个元素在集合内,反之则不在集合内。这个方法的缺点就是当检测的元素量很多时候可能有冲突,解决方法就是使用 k 个哈希 函数对应 k 个点,如果所有点都是 1 的话,那么元素在集合内,如果有 0 的话,元素则不再集合内。

Bloom filter 优点就是它的插入和查询时间都是常数,另外它查询元素却不保存元素本身,具有良好的安全性。它的缺点也是显而易见的,当插入的元素越多,错判“在集合内”的概率就越大了,另外 Bloom filter 也不能删除一个元素,因为多个元素哈希的结果可能在 Bloom filter 结构中占用的是同一个位,如果删除了一个比特位,可能会影响多个元素的检测。

继续阅读

关于因子分析

因子分析是模式识别中降维的一个重要方法,它把具有相关性的多个特征参数去相关性,提取出因子进行分析,有效的减少了计算量,但通过 SPSS 实验发现,如果进行因子分析后,得到的因子对分类的贡献值不相同,通过碎石图可以看到少量因子对聚类贡献大,更多的因子对聚类贡献小,如果把它们同等对待进行下一步的聚类(如 k-means 聚类)会严重影响聚类结果,导致还不如用一个因子进行聚类。下面是计算因子的方法: 继续阅读

怎样做出透过显示器的效果【例】

最近看到穿过显示器效果的一些图,创意不错就用 PS 简单做了一个,图片是手机现场拍得效果不是很好:

  1. 首先拍摄两张图片,只有显示器的与显示器之前的物体(你将要穿过的,我这里的是手)。
  2. 把两张图片在 PS 中对整齐,可以调整前一个图层的透明度。
  3. 把单独拍的显示器图层放在有物体(手)图层的后面,用钢笔或者直接选取工具将显示器的边框选取出来,切换到前一个图层应用这个选取的蒙版,将手遮挡显示器边框的位置遮挡住,这样就只显示了下一个图层的显示器边框。
  4. 调整显示器内手的饱和度和色阶,大功告成了。
  5. 下面上面两张是原始图片,下面一张是结果图。