[原创] 树莓派出现在科技美剧《Mr. Robot》中


科技美剧《Mr. Robot》(黑客军团)第1季第4集里,第一次出现了树莓派的身影,虽然我不是一个美剧达人,但这还是我第一次看到树莓派被用在了剧情里,深感好莱坞的编剧们真是紧跟时代潮流啊。

[原创] 如何用Apache Pig输出压缩格式的SequenceFile

查看更多Apache Pig的教程请点击这里

SequenceFile是Hadoop API提供的一种二进制文件,它将数据以<key,value>的形式序列化到文件中。

如果你要用Apache Pig读取这种类型的数据,可以用 PiggyBank 中的SequenceFileLoader——我没有用过,但肯定是没问题的。

[原创] 树莓派视频教程

我为极客学院录制了一个系列的树莓派视频教程,总共有6节大课。
该系列课程内容是基于树莓派Model B+型号的,而本站里我以前写过的很多树莓派文章是基于树莓派Model B型号(较老)的,因此,我录制的这些课程内容更“新”一些,适合于初学者学习。
由于是商业用途的课程,所以极客学院只把每节大课的第一课时设置为可以免费观看的,并且由于有协议约束,我也不能把教学视频发布到其他任何一个网站上,在这里我要向大家说抱歉,希望大家能支持极客学院。
但是,作为一个知识共享的拥护者,我希望每个人都能得到尽可能多的知识,因此,如果有时间的话,我会在本站写一些类似的技术文章出来。并且,本系列教程中的所有代码,都上传到了Github,你可以到这里下载。

阅读更多

[原创] gnuplot调教记

gnuplot是命令行绘图的极佳选择之一。用它画出一副简单的图极其容易,但是对画出的图进行微调却很令人抓狂,这主要“得益”于gnuplot超级强大的功能,以及无穷无尽纷繁复杂的说明文档,通常让人没时间去细细研究。
如果你经常有gnuplot的使用需求,那么可以仔细研读一下它的文档,否则,还是像我一样,现学现用吧。
我折腾了一天多时间,把我想要的一副图给画出来了,里面涉及到了很多图像的微调过程,有些解决方案很难搜到,但我运气稍好,终究还是弄出来了,在此,作为一个使用案例来分析一下。因此,本文并不是gnuplot的使用教程,而是用gnuplot绘图时,对某些奇怪问题的解决办法的分享。

本文基于gnuplot版本:4.4,系统:RHEL 5.3

阅读更多

[原创] 解决找不到emacsclient命令的问题 / Solve the emacsclient: command not found problem

用daemon模式运行Emacs,并且用emacsclient连接上这个已经启动的server的话,那么Emacs启动速度真是如光速一般。不过,在我的一台计算机上,竟然找不到emacsclient命令,于是我挖了一番,解决了这个问题,于是写下来。

阅读更多

[原创] 如何用「归纳假设法」求归并排序的时间复杂度

分析归并排序算法的时间复杂度,可以根据算法的逻辑,分析每一个步骤的最坏情况,然后得到总体的时间复杂度;也可以利用数学中的『归纳假设法』,用几乎纯数学的方式来得到它的时间复杂度。而后者比前者好理解得多,所以,我认为要推导归并排序的时间复杂度的话,归纳假设的方法是不二之选。

阅读更多

[原创] Shell sort(希尔排序)笔记

『1』概述
希尔排序(Shell sort)是一种不常用的排序算法,因为它效率不算高,但是作为插入排序的改进算法之一,有必要了解一下。

  • 时间复杂度:

最坏情况: O\left( {{n^2}} \right)
最好情况: O\left( {n{{\log }^2}n} \right)
平均情况: O\left( {{n^{1.5}}} \right)

  • 是不是稳定排序算法:否
  • 得名起源:1959年的时候Donald Shell发明的,所以叫Shell sort

阅读更多

[翻译] 在JAVA中,怎样周期性运行一个任务

本文是对这篇文章的翻译:《How to Schedule a Task to Run in an Interval》
我不知道原作者是否允许这样做,但我翻译本文仅在于传播知识的目的,在此向原作者表示深深的感谢:感谢你们的分享。

在程序中通常都有在后台周期性运行某些任务的需求。例如,类似于Java垃圾收集的后台运行任务。
我将在本文中向你展示3种不同的实现方法,如下:

[原创] mysql-mxj/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 错误的解决办法


环境:Ubuntu 12.10 64位
这个错误是我在一个Java的单元测试中遇到的,因为该unit test使用了Embedded MySQL。

[原创] InputStream读取多次导致的Unexpected end of ZLIB input stream问题

有一次,在一个程序中,对jar包里的一个文本文件使用如下方式来读取:

InputStream fin = getClass().getResourceAsStream("/file_to_read.txt");

然后在后面的代码中,对 fin 进行读取:

BufferedReader reader = new BufferedReader(new InputStreamReader(fin));
for (String line = reader.readLine(); line != null; line = reader.readLine()) {
    //TODO: your code here
}

读一次是没有问题的,但如果对同一个InputStream对象读取两次,就会报类似于下面的错误:

Error: java.io.EOFException: Unexpected end of ZLIB input stream
at java.util.zip.ZipFile$1.fill(ZipFile.java:239)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:141)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
Read More

[原创] 再谈 共轭方向法/Conjugate Direction Method In Optimization

共轭方向法是介于最速下降法牛顿法之间的一种存在——它的收敛速度(二阶收敛)比最速下降法(线性收敛)快,同时它的计算量又比牛顿法要小,因此它的存在是有意义的。

阅读更多

[原创] Hadoop 2.x的DistributedCache无法工作的问题

现象:和这个帖子描述的一样,简单说来就是,在Hadoop 2.x上,用新的DistributedCache的API,在mapper中会获取不到这个cache文件。
下面就详细地描述一下新旧API的用法区别以及解决办法。

阅读更多

[原创] 去除流氓插件“微度标签页”内置的“亿起发”返利链接跳转

写这篇文章实在是因为受不了“微度标签页”这个流氓插件内置的“亿起发”返利链接跳转,不得不愤怒地写此教程告诉大家如何去除它们的流氓行径。

作为互联网公司的一员,我对互联网营销相关的技术,虽然谈不上敏感,但还是有一点嗅觉的。
最近,我注意到一个现象,那就是我的Chrome浏览器在访问一些购物网站的时候(是我在地址栏里输入的干净网址),会先快速跳转到一个 yiqifa.com 的网址,然后再继续跳转回我要访问的购物网站,于是我立马明白了:我中了流氓公司的招了。
网上有一些人也遇到了同样的困扰,但是不明为什么,所以我想我有必要写一篇文章出来,让大家看看某些公司有多么无节操。
注意:本文的方法无法防止流氓插件“微度标签页”的全部流氓行为——因为“微度”一旦升级,你修改过的本地插件数据可能就会被覆盖掉。所以,最好的方法就是:卸载它!大家可以换用Speed Dial 2这样的良心插件(云同步功能需要支付$2.99,我觉得完全可以接受,至少它一点流氓行径也没有)。
如果你非要自虐,继续使用“微度标签页”(我已经卸载了,改用Speed Dial 2),那么本文可以在一定程度上帮你去除其强制跳转的恶心行为,请继续往下看。