sort…

August 9, 2009 9:35 pm UTC | In Tech | 1 Comment | hide

I recently noticed CentOS 5.3’s sort is way slower than Ubuntu 9.04’s. Apparently the i18n patch used in coreutils-5.97 CentOS rpm is a performance killer:

$ LANG=C time -p sort --buffer-size=128M -n -k1 -k2 test.info > /dev/null
real 92.58
user 86.04
sys 6.52
$ time -p sort --buffer-size=128M -n -k1 -k2 test.info > /dev/null
real 463.04
user 456.01
sys 6.64

P.S. grep and other locale sensitive utilities have similar issue.

BTW, if your disk is slow, --buffer-size is a parameter you might want to play with to optimize performance. By default sort uses very conservative buffer size while your seemingly used memory is actually just used for cache. [ref]

Tags: , , ,

我们为什么要用 Linux ?

February 12, 2009 11:17 am UTC | In Life, Tech | 28 Comments | hide

在多年以后,我仍旧记得在上个世纪末北大老 37 楼三楼东头每天晚上都会出现的那个情景:一个瘦瘦高高的身影,手握一张 Redhat 6 的光盘,游走于各个宿舍之间,看到电脑就会凑上前去说一句:“装个 Linux 吧!”——这就是我的 Linux 启蒙老师 elephant 先生 [1]。那是一个什么样的年代?那是一个我用 56 kbps 电话线下了一通宵 XFree86,又编译了一个白天最后发现显卡还是驱动不了的年代……

Trueice 说,工作机学习康神,不用 Linux,并号召我紧跟康神步伐。回头一看,这么多年我确实从未放弃过使用 Windows。Hutuworm 个人简介写道:“沉浸于 Linux 系统管理十余年,以此为业逾五载”。我虽功力远不及小糊涂虫,但用 Linux 也有些年头了,见过无数 Linux 初学者,却几乎从未见过有人完全抛弃 Windows,唯一一个在我影响下成功脱离 Windows 的某人,还是用的 Mac!下面我就来罗列一下各种学习 Linux 的(不靠谱的)理由……

  • Linux 很酷。有句话是这么说的:“帅有什么用?还不是被卒吃掉!”基于耍酷玩 Linux 注定是不能长久的……没事儿买辆保时捷,半道儿没油了才想起来问:这马子咋这么废油呢?电脑首先是一个拿来用的工具,Windows 用的好好的,你干嘛非要换个系统呢?是,现在 Linux 的桌面是很炫,特别是 3D 效果之类的,但我看来看去也就半透明窗口这一条能提高点工作效率,就连多桌面这个功能,也被我实验室同事说成是“poor man’s solution to multi-monitor”。而且很多程序在 3D 桌面下工作有问题,动不动就 crash。我看我周围的 Linux 用户,还开着 3D 桌面的不是极高的高手就是极新的新手。
  • Linux 本身和大部分软件是开源的,或者至少是免费的。这个理由看起来很诱人,其实也不靠谱。Windows 下好的免费软件也很多,关键在于发现。还是那句话,Windows 下用的好好的,为什么要投资这样的迁移成本?换软件环境的适应期是很长的。Windows 下很多优秀的收费软件,在 Linux 下都很难找到同样质量的替代品。开源这个理由对于新手就更牵强,有多少人会自己去修改代码?然后这些软件将来出新版本你如何跟进?另外,免费这个理由,也要考虑到学习和维护的人力成本。
  • Linux 系统稳定,不会有木马和病毒。这理由更不靠谱,说到底只不过是个使用习惯的问题,如果你是一个连 Windows 都用不好的人,那么到了 Linux 下面照样能把系统搞崩了。我的 Windows 系统用了五年还是很稳定,实在没必要对 Linux 盲目崇拜。
  • Linux 效率高,适合破机器。这么说,如果有好机器,你就肯定抛弃 Linux 了?裁剪过的 Linux 确实挺适合嵌入式系统,不过一般的普通桌面用机,XP 并不比 Linux 慢(Vista 我们就不说它了)。
  • 会 Linux 的话简历上写着好看。功利主义是注定要失败的。

说了一堆新手学习 Linux 不靠谱的理由,那么有没有什么靠谱的理由呢?列几个:

  • Linux 做服务器很稳定。前提是不要搭配什么乱七八糟的硬件。破硬件让 Windows 蓝屏,同样也能让 Linux kernel panic。
  • Linux 核心命令集经过几十年的发展和验证,不但参数丰富而且性能可靠。这个同时使得远程操作极其方便,强化了 Linux 作为服务器操作系统的优势。
  • Linux 下系统包管理能自动可靠的安装大部分通用软件,特别是装开发环境很快速,用来开发调试小软件很方便。(如果开发大软件呢?当然是你同事用什么你也用什么,如果你是项目经理,那就去问你老板。)

大部分优势都和 Linux 桌面没什么关系,实际上,Linux 桌面也没什么优势,Linux 的优势不是新手立刻就能体会到的。所以,说说我对 Linux 新手的建议:

  • 忘掉 Windows 的工作模式,Linux 是一个全新的环境,做事的时候想我希望做什么,而不是首先去想我在 Windows 下做这件事的具体步骤。
  • 碰到问题多搜索多求助。搜索尽量用英文。求助尽量把问题表述完整,不要加入自己三脚猫的判断和推理试图简化问题。碰到傲慢的老手尽量容忍,有的时候只是因为你的 Windows 思维无法和他们有效的沟通导致他们不屑和你沟通。
  • 如果周围有人在用 Linux,一定要经常骚扰他们。学习 Linux 初期有人指导和没人指导的差别是巨大的,有的时候前人的一句话甚至一个词都能让你少走很多弯路。
  • 当 Linux 和 Windows 交换数据出现问题的时候,不要怪罪任何一个操作系统,把精力集中在解决兼容性问题上。Linux 下编辑的文件到了 Windows 记事本里看没有回车,这应该怪谁呢?
  • 不要排斥命令行操作。Linux 不是古老的 DOS,命令行很强大也很必要。图形界面不是万能的。Linux 的命令行就像 Windows 的注册表,用久了肯定要接触到。
  • Linux 是人,不是神,请允许 Linux 犯错误。Linux 也会死机,程序也会 crash,硬件也有驱动不了的,不要失去信念。

Blog 是干嘛用的呢?写给未来的自己(取自 Forcey 博客名)。今天把我对 Linux 的愚见写下来,等十年后回过头来笑一笑。

[1] Elephant 语:他现在 fan Gentoo,早就不玩 Redhat 了。

[2] SUSE LINUX 10 扫盲系列:为什么用 SUSE LINUX?

Tags: ,

Matlab under Ubuntu

June 27, 2008 10:17 pm UTC | In Tech | 1 Comment | hide

Some tips:

  • Q: Matlab desktop does not show up correctly.
    A: export MATLAB_JAVA=/usr/lib/jvm/java-6-sun/jre/ (requires Sun Java 6 Runtime)
  • Q: Matlab windows disappear in taskbar (Window List applet).
    A: minimizing all windows (show desktop button) seems to bring all windows back into taskbar. Or you can try to export AWT_TOOLKIT=MToolkit
  • Q: Printing in Matlab throws java exception.
    A: Go set all printers > Job Options > Orientation to something other than “Automatic Rotation”.

Links: 1, 2.

Tags: , ,

德国人的形式主义

March 7, 2008 8:35 pm UTC | In Life, Tech | 6 Comments | hide

下面这个材料转载自 Guide to LaTeX(第四版 146 页 7.5.1 节)。如果你直接看第三列,可能会觉得有点别扭,但又不一定说的上来哪里别扭;事实上,别扭的是有些符号之间的水平间距不理想。而第二列则是微调过水平间距的,看起来比第三列好看一些。熟悉 LaTeX 的可以仔细看第一列里相应的水平间距微调命令(这材料很有名,很多 LaTeX 书里都有,如果你看见过不要说我 TOOOOOLD!)。举例来说,第一行根号 2 和后面那个 x 之间需要稍微有点空隙;如果不留空隙(如第三列所示) ,看起来就比较难看。

format.png

如果你没觉得第二列比第三列好看,甚至没看出来两列有什么不一样,这很正常,不要觉得自己有问题!即便是每年成千上万屁挨着地用 LaTeX 生产出来的博士论文里,也只有极少数专门美化了这个水平间距问题,而这里面德国人占了大多数。为什么德国人这么注重形式?我也不知道,可能和他们民族严谨的作风有关。事实上,上面那本葵花宝典 Guide to LaTeX 的作者 Helmut Kopka 和 Patrick W. Daly 就是俩德国人。

说起德国人的严谨,我倒也认识一位严谨的德国物理学家。他光是让别人设计个 FPGA,就要专门写一个 RFC。这可不是拿 RFC 做个标题而已,而是严格按照标准 RFC 格式和风格书写,并且写完了那个 XHTML Strict 文档他还专门去 W3C 通过了验证。他把这个 RFC 发给同事们,结果半个月过去还没有人理他。于是他召集开会,说我老早就 request for comments,你们怎么一点 comments 都没有?你想啊,这么一群笨蛋物理学家,有谁会知道他电子邮件标题里的缩写 RFC 就是要 comments 的意思啊。

该德国仁兄给实验组建了一个内部 wiki,服务器装的是 Debian。在那个 wiki 的某个小角落里,他写了一大段使用 Debian 的理由,其中的废话包括:我最爱 Debian;Debian stable 很 stable;我装的,当然我选!等等……是因为有人和他争论哪个 Linux 发行版好的无聊问题么?不,事实上,整个实验组只有他一个人懂 Linux……

是严谨?还是形式主义呢?

Tags: , ,

诡异的备份方法

October 14, 2007 10:50 pm UTC | In Tech | 2 Comments | hide

某人 Windows 下一个硬 Raid5 不太稳定,怀疑芯片快挂了,于是打算把数据全部转移到另一个硬盘上。这个 Raid5 上有几百 G 数据,几万个小目录,几千万个文件,由于这个机器常常挂掉,直接复制是行不通的,于是他用了一些同步软件。同步文件不是一件复杂的事情,软件也多如牛毛,据说该哥们试用了 Karen’s ReplicatorSyncToyAllway Sync,还让老板买了一些别的软件,可是居然没有一个软件完成任务。不是容错能力差受不了硬盘文件错误,就是由于文件数量太大索性直接挂掉。于是一遍一遍重试,搞了四天连一半文件都没搞定,实在受不了了,问我怎么办……

于是我出了我以前出过的一个大法,把 src 和 dst 目录都 smbmount 到一个 linux 机器上,在 linux 机器上 rsync src dst。奇迹发生了,rsync 了一个晚上数据就全过去了。这个问题自然不一定要用这么诡异的方法解决,我只是很奇怪为啥这么多 Windows 下的软件都会不及一个外来妹 rsync……

今天某人一个 avi 死活放不了,我后来建议她试一试 VLC,居然就能放。 晕啊,难道我们进入共产主义了,要钱的软件做不过免费/开源的软件了……

Tags: , ,

康神是如何欺骗群众的

October 1, 2007 4:53 pm UTC | In Misc | No Comments | hide

以下两个配置均出自康神之手

$ curl -sI http://dev.kcn.cn/|grep Server
Server: Microsoft-IIS/6.0
$ ftp dev.kcn.cn
Connected to dev.kcn.cn (60.2.251.5).
220 Serv-U FTP Server v6.0 for WinSock ready...

其实都是 Linux 服务器……

Tags: , ,

This weblog is licensed under a Creative Commons License.
Powered by WordPress. Theme based on Pool by Borja Fernandez.