为什么要做虚包?
因为我不是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
Friday, June 3, 2011
Thursday, June 2, 2011
linux代码查看工具lxr的安装和配置
配置好之后,我只能说,这个东西如果你没有一定的耐心的话,还真是折腾不下去,不像windows下的source insight,一路next,就马上有一个很好的交叉索引好的代码查看了,可是linux木有啊。那咱们就只有耐着性子折腾了。
用lxr看我的计算器实现
Labels:
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
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
我的集群
一台master
两个slave,计算机名分别为slave和child
ip
master 192.168.1.15
slave 192.168.56.101
child 192.168.56.102
Labels:
hadoop,
mahout,
ssh,
ubuntu,
virtualbox
使用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文件,提取我们需要的链接。
事情的起因是,我想完善我的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文件,提取我们需要的链接。
Labels:
beautifulsoup,
lxml,
python
Subscribe to:
Posts (Atom)
