Friday, June 3, 2011

texlive 2010 制作虚包

为什么要做虚包?
因为我不是apt-get回来的,我觉得texlive还是去ctan上下载下来自己装比较舒服,如果你和我一样,那么一定就会想着做一个虚包的,因为,你比如说,你现在想装texmacs,可是,apt还是按部就班的找依赖,提示我们要装上一大堆我们已经有的texlive的东西了。所以咱们就做一个dummy(虚包)来忽悠它吧。下面是方法,关键是得到你已经装的包。


$ aptitude install equivs # as root
mkdir /tmp/tl-equivs && cd /tmp/tl-equivs


equivs-control texlive-local
# edit texlive-local (see below)

$ equivs-build texlive-local
$ dpkg -i texlive-local_2010-1_all.deb # as root

Thursday, June 2, 2011

linux代码查看工具lxr的安装和配置

配置好之后,我只能说,这个东西如果你没有一定的耐心的话,还真是折腾不下去,不像windows下的source insight,一路next,就马上有一个很好的交叉索引好的代码查看了,可是linux木有啊。那咱们就只有耐着性子折腾了。


用lxr看我的计算器实现

Wednesday, June 1, 2011

ubuntu10.10下用virtual box跑hadoop全分布[2]

以上的四步,可以说,我们的环境基本搭建完成,下面就是hadoop的配置了

hadoop的配置就是几个文件,但是要注意,三台电脑上的hadoop最好最好是保持不变吧

我的hadoop路径是放在

/home/pythonee/java_lib/hadoop-0.20.2下,以下看你的情况来更改

首先是配置hadoop-env.sh,把你的JDK路径告诉hadoop吧
export JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.24"

和hadoop真正相关的文件

第一个文件:masters,写上你的master计算机名,不要填IP,我的这里就是host里的master
第二个文件:slaves,写上你所有slave的计算机名,不要填IP,我的这里就是slave和child

ubuntu10.10下用virtual box跑hadoop全分布[1]

因为本科的时候的毕业设计是用mahout来做个性化推荐系统,当时那个系统真是麻雀虽小,但是五脏俱全,有爬虫,有搜索,有个性化推荐,有调用开放api来做mashup。但是呢,我的那部分用mahout来做推荐引擎部分其实当时并没有做到完美,主要是速度非常非常慢。因为mahout是建立在hadoop集群上的,而当时我们的系统是windows,所以就懒得去折腾hadoop的全分布,所以当时的hack方向就是怎么减少数据集来减少数据量,但是发现精确度是不够的。如果你也有兴趣的话,你会发现典型的mapper和reducer。 但是现在有了时间,所以就想把这个未完成的心愿补完吧,这边文章主要描述如何在ubuntu下通过virtualbox建立一个小集群。并成功运行word count的例子

我的集群
一台master
两个slave,计算机名分别为slave和child
                          ip
master     192.168.1.15
slave       192.168.56.101
child       192.168.56.102

使用beautifulsoup和lxml来解析html和xml文件

这两个库的介绍就不说了吧,在网上,我们可以看到很多用beautifulsoup和urllib2就可以写出不用50行就可以很强大的爬虫。如果加上优先权队列还有多线程什么的,再简单对页面上的<a>进行pagerank,那么就是一个本科的毕业设计题目了吧,lxml这个库真是太优秀了,在xml的解析中,我还真没有见到如此好用的库,性能也很好。当然你要用lxml来解析html也是可以的。不过我不是很喜欢那种不漂亮的代码。下面就看我这次是怎么来玩的吧。


事情的起因是,我想完善我的google custom search engine。我平时用google reader订阅了很多大牛的feed,所以我的习惯是,先用google搜索我的keyword,慢慢的锁定我要找的范围,然后看看它给的search suggestion。 一旦锁定了范围,那么我就会到我的google reader再细化我的搜索,通常都能短时间内找到高质量的文章。因为我的google reader feed数达到了784个。但是我比较懒,所以我就想把google reader里的feed添加到custom search engine中,开始认为可以用google reader的导出功能,然后只要import到custom search engine就可以了,结果....不行,尼玛啊,这里得说,google还是要提高自己产品的互连的。不然老是被大家诟病。 Google reader可以导出opml格式的文件。说白了就是一个xml文件,我们接下来就要解析这个xml文件,提取我们需要的链接。