2007/11/30

firefox的搜索结果

firefox提供的搜索框(右上角)可以很方便的进入搜索界面,但缺省时是在当前TAB页面中加载搜索结果,大部分情况下,我不希望搜索结果覆盖我的当前页面,所以我用alt-enter,这样就可以打开一个新的页面来显示搜索结果。

但象我这种懒人,常常会忘记敲Alt,所以这里有一个一劳永逸的方法,在firefox的about:config页面中,配置browser.search.openintab为true就好了,以后直接按enter也会打开新的搜索结果页面了。 我是在2.0.0.6版本上验证了这个方法,其它版本就不知道管不管用了。


2007/11/29

Members Choice Awards

这个怎么翻译? 大众选择奖?也许吧,不过我还是比较喜欢这种奖的(相信群众总是正确的),感觉比什么编辑选择奖要好一些。

下面是一些和Linux下软件相关的大众选择奖(2006的结果,稍有些过时,不过暂时还没有2007的),应该是颇为公平的(起码从域名上看,不会偏向于某个发行版)
http://www.linuxquestions.org/awards

稍嫌奇怪的是Ubuntu获得了最佳发行版,而KDE获得了最佳桌面。

2007/11/27

超级服务-xinetd

我曾经配置过Linux下的xinetd,用于ftp和telnet服务,可一直都没有理解xinetd为什么被称作"超级服务进程"。

原因是xinet处理了tcp/udp连接请求,并根据连接类型、端口号来匹配预先配置的服务(这些服务就是一些程序),并启动相应的服务程序,这样xinet就充当了一个电话总机的角色,避免了所有的服务程序都要驻留内存,这是使用xinetd的主要原因。其它的原因在于xinetd可以提供附加的功能,比如访问控制、响应时间,连接数限制等,这样让服务程序可以专心于完成自己提供 的服务就可以了。

从这个角度看,称xinetd为超级服务程序一点也不为过,这里是比较好的一篇解释xinetd的文章

2007/11/25

找到Media Player的临时文件

在Windows下,用IE浏览一些内嵌Media Player的网页时,我有时想将播放的媒体文件下载,可是大多的网站不会提供直接的下载链接,我的简单方法如下:

在播放快结束时,按暂停,然后在资源管理器里面使用搜索,加入两个条件,一个是文件大小,一个是创建时间,文件大小可以猜出来,通常音频会大于1M,视频会更大,创建时间就是你开始播放的时间,可以用Windows提供的简单的"Last Day"做为快捷的创建时间过滤参数,虽然不是很精确,但多半够用了,这样一般都可以找到Media Player存下来的媒体文件,但通常文件名已经面目全非,所以需要打开浏览一下,确认是否是需要下载的文件。

这个方法看似复杂,但好处就是不需要任何第三方的工具,完全绿色无污染。

2007/11/24

Java SWING

Java Swing库似乎已经占领了很多的应用程序, Swing本身也有了长足的进步,在Java6(哦,实际上是版本1.6)中的Swing更是智慧与美貌并重,可以在大多数操作系统下显示类似本地界面的UI,比如在Windows下显示类似Windows的界面,在Gnome下显示类似Gtk的界面,这个功能可以使得Java的部署更平滑。可惜的是,在我的Ubuntu 7.10下,1.6的JRE 可以显示本地界面 ,1.5的JRE则不可以。

而1.6的JRE目前还和一些Java程序不能兼容, 所以为了鱼和熊掌,只能用这个
sudo update-alternatives --config java
在各种Java版本间切换 ,有点烦。

2007/11/23

截获telnet输出

遇到一个实际的问题,需要抓取一个telnet的所有输出,可输出过多,不能通过Ctrl-C/Ctrl-V大法,试了以下的两个方法都可以解决:

1) 使用带capture功能的客户端,比如Windows下的超级终端hyperterminal就支持截获输出到一个文本文件中,这样就方便了(hyperterminal不仅支持串口终端,也支持telnet)。

2)Linux下面有一个tee命令,功能很简单,将标准输入同时记录到文件并送到标准输出,这样我们就可以使用下面的命令,和管道结合,来截取telnet的输出(实际上可以截取任何命令的输出)。
 telnet x.x.x.x | tee capture.txt
Windows下,如果想用这个方法,可以安装一个cygwin,就有tee命令可以用。

2007/11/22

Linux下的音乐播放软件

在Ubuntu下,我用过很多音频播放软件,比gtk的Rhythmbox,轻量级的Quod Libet,以及QT的Amarok,在我没有多少"收藏"的时候,这些软件区别并不大,因为Gnome下QT的Amarok启动要慢一些,所以用的较少,而逐渐收集的音乐多了以后,Amarok的优势就显示出来了,它在多张Album(专辑?)间切换非常方便,并且操作比较流畅(即使你有很多很多album,这应该得益于Amarok后台的数据库支持)。

Amarok对于文件的tag功能支持很好,可以方便修改多个文件的tag,这个功能对于文件较多时的管理可是必备的,(Rhythmbox缺乏这个重要的功能),Amarok对于便携播放器的支持也很好,可以方便的在播放器和PC间拷贝,可惜对于中文tag,在往播放器中拷贝时会导致文件目录名乱码。

基本上,当音乐较多时,可以试一下Amarok,也许它会成为你的音乐总管。

2007/11/21

MKV文件

一直就觉得奇怪,为什么很多视频文件,内含了音频,但却不包括字幕呢,搞的很多电影下载了还需要自己去找字幕,RMVB不能算内置字幕,它那个字幕是不能分离的(是图像),当然也不能切换字幕语言。

原来是我孤陋寡闻了,有一种叫做MKV的格式,是可以支持字幕的,这多好啊,一张DVD,转换为MKV几乎完美啊,那些经常做这种转换的人们,转到这种格式吧,我们看家就不用到处配字幕了,只是那些提供字幕下载的网站可能会有些不高兴了。

Linux下的mplayer可以很好的支持MKV格式,如果是中文字幕的话,可能还要设置一下编码和字体。

2007/11/20

播放ogg

我曾经发帖赞过ogg这个格式,压缩率高且音质好,基本上64k ogg可以和128k mp3想比较,可是今天发现了一个问题,在Linux下很多播放软件播放ogg时CPU占用率过高,在我的1.6GHz的CPU下,居然也能占用10%左右的CPU,但又和播放软件有些关系,vlc要好一些,而mplayer要更好一些,所以可能也不是ogg格式本身的问题,何解?

大多播放软件应该使用gstreamer来播放音频,所以gstreamer有问题的嫌疑较大一些,(vlc和mplayer估计不用gstreamer),不知Windows下播放器的效能如何?

2007/11/19

Safari有感

Safari前次忽悠了大家,放出了一个不支持中文的浏览器,最近又放出了一个号称支持中文的3.0.3(又或是3.0.4)版,本着相信大厂的思想,我还是去升级了一把,果然,可以支持中文了,输入也可以,但。。。。不幸的是,一打开用来测试的Sina就崩溃了。

水果可是一个大厂,可似乎向来不重视中国市场,在Safari上又再次验证了,虽然我对水果的大多产品都满怀敬意,但也让我恨的牙痒痒啊。。。

2007/11/17

Netcraft检测Web Server及OS

Netcraft可以检测网站的web服务软件和操作系统,并被视为比较"可信"的参考数据,看了一下,它的数据给出Apache的份额最近在大幅降低(IIS势头则很拉风),不过也有一些其它网站提供的统计数据不太相同,比如这个 http://www.securityspace.com/s_survey/data/200707/index.html ,则大大的打击了MS。

不过我不喜欢这种统计,上面的两种统计包括了各种规模的网站,而我更关注的是那些出名的网站,下面是用Netcraft检测得到的结果,所统计的网站按照iResearch的Web2.0大奖来的(这样好像比较中国特色):
http://www.iresearch.com.cn/online_community/detail_news.asp?id=49354

51.com:Linux:Apache
爱情公寓:FreeBSD:Unknown
世纪佳缘:Unknown:Apache
Wealink :Unknown:Apache 2
奇虎:FreeBSD:Apache
优酷:Linux:Apache
土豆 :Linux:Apache
ZCOM :Linux:Apache 2.2.3/PHP 5.2.0
口碑:Linux:Apache
PPLive:Linux/Windows:IIS
大众点评:Unknown:Apache
Babytree:Linux:Apache
搜狐:Unknown:Apache

这可是一边倒啊。。。

2007/11/16

Java 程序的启动脚本

由于Java程序的跨平台,很多Java程序可以不加修改的在Windows和Linux下运行,很多java程序是类似这样的脚本来启动的
java xx.yy.zz.aaaaaa

今天我遇到的一个程序,可能它是在Windows下开发的,当我将它放入Ubuntu下,它的启动脚本在Linux下却无法启动,报告方法找不到,原因其实很简单,DOS和Linux下文本文件对于回车的处理的不同,导致启动脚本在Linux下的行尾多了一个字符,用mc -e(一个Linux终端下的编辑器)可以看到,启动脚本变成了
java xx.yy.zz.aaaaaa^M

所以,,可以理解为什么启动不成功了,我想开发者可能是忘记了这个小小的差异了。

2007/11/14

mount的noatime选项

本着榨尽PC最后一点油水的思想,在看到mount可以有一个noatime选项可以提高文件系统性能时,我毫不犹豫就挽起袖子动起手来。

noatime是Linux下文件系统的一个mount选项,表示在读文件时不去更改文件的access time属性了,而缺省时每次读文件,都要更新这个文件的last access time属性,相当于附加了额外的写操作,想想对性能应该有不小的影响啊。

动手前,自然先测一下当前的性能,我用hdparm -tT和postmark(这个可以用apt-get安装)分别测了一下,
postmark的结果是:
PostMark v1.51 : 8/14/01
pm>run
Creating files...Done
Performing transactions..........Done
Deleting files...Done
Time:
        1 seconds total
        1 seconds of transactions (500 per second)

Files:
        764 created (764 per second)
                Creation alone: 500 files (500 per second)
                Mixed with transactions: 264 files (264 per second)
        243 read (243 per second)
        257 appended (257 per second)
        764 deleted (764 per second)
                Deletion alone: 528 files (528 per second)
                Mixed with transactions: 236 files (236 per second)

Data:
        1.36 megabytes read (1.36 megabytes per second)
        4.45 megabytes written (4.45 megabytes per second)

hdparm的结果是:
 Timing cached reads:   1170 MB in  2.00 seconds = 585.12 MB/sec
 Timing buffered disk reads:   84 MB in  3.00 seconds =  27.96 MB/sec


改这个noatime倒是很简单,在/etc/fstab中的文件系统的属性后加上noatime,再用 sudo mount -oremount / 就可以立即生效了(是的,不需要重启)。用mount命令验证,确实有了noatime的选项。

现在再测(心情激动的说),啊,嗯,哎。。。结果几乎一模一样,确认没有搞错步骤之后,只能失望的写一篇blog安慰一下了,有希望借此提高性能的同学,我劝你们也别忙活了,否则可能是和我一样失望了。

2007/11/12

邮件服务程序

从未对这个感兴趣过,以前也只知道sendmail(印象还不怎么好,大多是和安全漏洞联系在一起的),看了下面的文章才知道原来这个领域也是有四大金刚:
http://shearer.org/MTA_Comparison

对于这四个服务程序,Google Trends给出了下面的趋势图(怎么Google Trends总是不把图例放在图里面呢?)虽然总体滑落,但似乎Postfix和Exim表现稍好,也许哪天咱会用上它们呢。
Sendmail, Postfix, Qmail, Exim


2007/11/11

让程序进入后台

这是一个小小的窍门:有时在命令行启动一个GUI程序后,如果程序没有退出,那么命令行就被"占用了",不能继续输入命令。如果想继续用命令行的话,可以按Ctrl-Z,这会让这个程序进入暂停状态,命令行就可以用了,但一般情况下我们也希望那个GUI程序继续运行,这只要再用bg命令将这个任务放到后台运行就可以了。比如下面的例子:
$ gedit    //接下来按Ctrl-Z

[1]+  Stopped                 gedit
$ bg 1
[1]+ gedit &

当然,如果在开始GUI程序的时候就在后面加&就可以直接将程序置为后台了,但谁能够未卜先知呢,所以这个小窍门我还是经常用的。

2007/11/10

XML编辑器

XML编辑器,不是文本编辑器吗? 当然不是。对于XML的支持,可以分三个层次:
1) 仅仅支持XML标签的识别,大多通用的文本编辑器能做到这一点,比如VIM,gedit等。
2) 支持DTD(或者说schema也可以),并能够依据DTD自动完成标签,支持到这个层次的编辑器一般就可以称为XML编辑器了,这类的编辑器还是蛮多的,比如XMPSpy,XMLBlueprint等,不过开源的不太多,遗憾啊。其中有些编辑器还支持XSLT(XML的格式转换),当然大多是依赖于外部的转换程序,如Windows下的MSXML,Linux下的xsltproc,或者Java的跨平台实现saxon等。
3) 支持XML的应用,比如支持svg,docbook等,甚至是所见既所得。不过这种编辑器比较少见,比如XMLMind(个人版本free)。

很多好的XML编辑器是基于Java实现的,且不开源,太可惜了。

2007/11/08

移动最大化的窗口

最大化的窗口可以移动吗?Windows下自然不能,但无意中发现Gnome下可以(我的Gnome是2.20),试试用鼠标移动一个最大化的窗口,当鼠标移动距离大于一个值之后,窗口会被自动恢复正常大小并移动,也就是相当于Restore后再移动,这个设计相当的贴心啊。比如当我想在两个窗口间做拖放操作时,通常需要先排列窗口,有了这个功能,我就不需要考虑是否有窗口最大化而先点击Restore了,直接拖动就可以了。

试了一下,最小化的窗口是没有这个功能的 :(

2007/11/06

Evince 的超级拷贝

Coooooool,用Evince(Gnome下的PDF查看软件)已经很久了,才发现Evince居然内置了OCR(光学字符识别),用于对图像中字符的提取,简单的说就是就算打开了一本扫描版本的PDF,也可以在Evince下使用文本拷贝将字符大差不差的拷贝出来(因为OCR总有一定的识别差错率啦,可以理解)。

这个不知道是从哪个版本引入的,不过我是昨天才发现的,自己无意发现这个新特性的时候,要比参考别人的What's New好像来的更加兴奋一些。 Evince,加油!

2007/11/05

Powertop

Powertop是intel出品的Linux工具,可以显示当前PC的功率,检查各个应用程序的耗电情况,还可以做一些优化工作。

在我的Dell D400下,使用Powertop发现,在启动Ubuntu后不运行任何程序时,功耗可以降低到10W左右,这个功率还是不错了,当应用程序跑起来就不行了,经常到13W以上,而Firefox和Virtual Box是两个典型的耗电大户(Powertop不能直接测试一个程序的耗电情况,但可以测出一个程序让CPU离开IDLE状态的次数( 需要2.6.21版本以上内核))。

倒是没有在纯文本状态下测过Powertop的功率,不知能低到什么程度,9W?8W?。。。(虽然没有什么实际用途)。