相比于使用原版的MySQL命令行客户端,Mycli这个用Python开发的命令行客户端软件就高级多了,它支持自动完成以及语法高亮功能,用起来看起来简直赏心悦目。
[原创] 树莓派出现在科技美剧《Mr. Robot》中
科技美剧《Mr. Robot》(黑客军团)第1季第4集里,第一次出现了树莓派的身影,虽然我不是一个美剧达人,但这还是我第一次看到树莓派被用在了剧情里,深感好莱坞的编剧们真是紧跟时代潮流啊。
[原创] 树莓派视频教程
我为极客学院录制了一个系列的树莓派视频教程,总共有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)是一种不常用的排序算法,因为它效率不算高,但是作为插入排序的改进算法之一,有必要了解一下。
- 时间复杂度:
最坏情况:
最好情况:
平均情况:
- 是不是稳定排序算法:否
- 得名起源:1959年的时候Donald Shell发明的,所以叫Shell sort
[翻译] 在JAVA中,怎样周期性运行一个任务
本文是对这篇文章的翻译:《How to Schedule a Task to Run in an Interval》
我不知道原作者是否允许这样做,但我翻译本文仅在于传播知识的目的,在此向原作者表示深深的感谢:感谢你们的分享。
[原创] 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对象读取两次,就会报类似于下面的错误:
… Read MoreError: java.io.EOFException: Unexpected end of ZLIB input streamat 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)
[原创] 去除流氓插件“微度标签页”内置的“亿起发”返利链接跳转
写这篇文章实在是因为受不了“微度标签页”这个流氓插件内置的“亿起发”返利链接跳转,不得不愤怒地写此教程告诉大家如何去除它们的流氓行径。
注意:本文的方法无法防止流氓插件“微度标签页”的全部流氓行为——因为“微度”一旦升级,你修改过的本地插件数据可能就会被覆盖掉。所以,最好的方法就是:卸载它!大家可以换用Speed Dial 2这样的良心插件(云同步功能需要支付$2.99,我觉得完全可以接受,至少它一点流氓行径也没有)。
如果你非要自虐,继续使用“微度标签页”(我已经卸载了,改用Speed Dial 2),那么本文可以在一定程度上帮你去除其强制跳转的恶心行为,请继续往下看。