Author: qingbo

  • Nautilus预览音乐

    许多人不会注意到Nautilus还可以预览音乐。如果安装了mpg123,把鼠标停放在某个音乐文件上时,就会自动播放,鼠标离开时停止播放。在Edit->Preferences->Preview那里可以设置预览选项。不过除了有声音,其它现象都没有,所以一般不会注意这个功能。

    没多大用。还是希望gtk/gnome去死。现在不得已用gnome,emacs在KDE里有时显示不正常,gtk程序在KDE里有一堆错误。许多优秀的程序用gtk做了界面,是堕落,也是无奈,之前QT还没有GPL。Ubuntu对KDE也不大重视,希望有一天KUbuntu消失,GUbuntu诞生。gtk去死,让qt一统江湖。qt的协议应该再开放些,windows中开源软件也可以用它的GPL协议就好了,这样更有助于它的发展和扩大市场。

  • 想学一下javascript

    最近对Web编程比较感兴趣了。javascript这些脚本语言语法限制相对C之类的较为宽松,看书也就是浏览一下,主要功夫还在练习上。学习C/C++/Java语言千万别看那种“24小时学会……”的书,纯粹是垃圾,应该看”The C Programming Language”之类的,把语法以及与底层联系实现紧密的一些概念搞清楚。

    Javascript就不同了,似乎没有像C语言之类的有那么几本特别权威经典的书籍,别捧着一本宝典在那里钻研,不然兴趣都被磨灭了。不过也不能什么都不看,上来就到网上搜索。这年头尤其在国内,真是天下文章一大抄,往往搜索一个东西,每页结果上都是那么几篇文章,而且有很大几率是错误的。

    好的学习途径可能就是初学时找本书看一下基本的语法,了解一些内置支持的对象和基本概念,然后在运用中就会不断有提高了。也许有时候会突然发现某个问题原来可以这样简单地解决,这就是一个积累知识的过程了。听说Javascript也是很强大的东西,我得慢慢学。

    目前开始看一本书叫”JavaScript for Breakfast”,写得比较随意,看着舒服。刚开始学,得看看别人(权威)是如何用它来解决问题,解决哪些问题的。比较困惑的几点:

    • Javascript有哪些内置支持的对象如document,document.images这样的呢?在哪里有完整的列表。不知道所谓的Javascript core language到底包含哪些部分。
    • 它和DOM是个什么样的关系。
    • 不同浏览器之间有怎样的兼容性问题。那本书上写着最好用object.property这样的方式来设置属性,而不要用setAttribute。
  • 自动更新水木签名档

    有人想要这个自动更新签名档的插件,我就整理一下放出来吧,有兴趣就用。插件的功能是每次有新日志发表时,自动更新水木社区的签名档,显示最新的两篇帖子,删除日志时也会更新。

    它是用curl通过模拟Web登录实现的,本来想改成模拟telnet的,发现更复杂,遂作罢。

    想用这个插件,首先请注意以下几点:

    • web登录的窗口是有限制的,超出了会提示,这个我没有处理,所以登录过多的话更新可能不成功。不过插件本身的模拟登录会自动退出的,一般term用户不会有问题。
    • 需要服务器的PHP支持curl。即便支持了,有的服务器可能仍然不允许这种对外请求。
    • 签名档六行一个,可以设置多个,插件的代码只生成一个,并且会把你原来的所有签名档覆盖,千万注意。通过修改代码,想设置多个也可以。
    • 这种东西不是那么稳定,所以有时候更新不成功也找不到原因。可能等一段时间就更新过去了。

    愿意尝试的话,从这里下载,照如下步骤设置:

    1. 把sig-update.php中的用户名和密码填上,需要的话,把生成签名档的代码(SQL,PHP)改改。我就懒得在插件中做配置页面了,估计也没多少人用,呵呵。
    2. cookie文件是必要的,且传到服务器上要可写,否则无法更新。
    3. 将sig-update目录上传到插件文件夹中,激活。如果一切正常,再发文的时候签名就会更新了。

    ***有兴趣的继续看***

    这个东西可能不太实用,不过对curl模拟web登录可以作为粗略的参考。首先POST自己的用户名、密码给登录页,获得一个cookie,在以后的请求中把这个cookie带上就可以了。最初中文发过去是乱码,后来发现水木页面编码是gb2312,于是把中文用mb_convert_encoding函数转换了一下,问题解决。

    由于WordPress中,hook到delete_post的函数在删除之前执行,因此需要在SQL查询中把它给去掉。另外在编写的过程中发现,激活的插件中的代码在所有的管理页面载入时都会执行(没注意非管理页什么效果),需要特别小心。还有插件代码是被其它文件调用的(可能是wp-admin中的吧),因此工作目录并非这个插件所在的目录,那个cookie还是用绝对路径比较好。开始的时候就是搞不清楚为什么不能更新,原来是找不到cookie。

  • 在Ubuntu中使用ColorZilla

    设计、修改网页的时候很想要一个color picker,比如想跟某个颜色保持一致,一般还得翻出CSS代码来看它的颜色码是什么。有时候我也截个图,然后到GIMP里面去看它的颜色,都比较麻烦。

    今天发现一个大惊喜,ColorZilla,实在是一个must have的扩展,太爽了。Mozilla addons网站上不是最新的,建议直接到这个主页去安装。

    像我一样用Ubuntu的人可能比较郁闷,它把Firefox重新打包并做了些修改,导致ColorZilla不能正常使用。刚开始安装时说该平台不支持,到其主页看,要安装Mozilla官方的Firefox。我扩展装了好多,Flash、播放器各种插件都配好了,才懒得折腾。搜索半天发现这里有个好的解决办法,只需替换几个文件:

    * Uninstall colorzilla
    * Download latest firefox binaries from getfirefox.com
    * Unpack (tar -xvzf firefox.....tar.gz)
    * cp firefox/libxpcom* /usr/lib/firefox/
    * Reinstall colorzilla
    * Restart firefox and eyedropper should now work

    它的color picker实际上只是一个在调色板中取色的工具。真正有用的也是我们想要的color picker,是那个Eyedropper。安装好后在状态栏里面单击,鼠标变成十字形,开始在网页上取色。移动到想要的颜色后单击,颜色码就保存下来了。

    右键单击状态栏图标,可以选择复制哪种代码。更方便的是在Options->Auto Copy那里设置一下格式(要选上“Enabled”),一劳永逸。总之Eyedropper这个功能已经相当完善了,快快安装,想查看某个颜色的代码会方便很多。color picker无太大作用,它的zoomr功能也很差劲,期待哪天做好了,也就可以对那些想从Opera转过来的人说,整体放大功能已经有了。不过这个可能由Firefox开发组来做更好一些。

  • Emacs 23支持xft

    前阵子在Gnome中不能用XIM,后来解决了又不能用–enable-font-backend选项,现在终于一切都没问题了(至少我们关心的没问题了)。

    取得最新的源代码,加选项–enable-font-backend和–with-xft来编译。我用如下参数启动

    emacs --enable-font-backend --font "Bitstream Vera Sans Mono-14"

    效果:

    Emacs-snapshot-unicode-2

  • 同学相聚

    老孙出差来了北京,聚了这里一帮人又去喝酒。

    想起上半年快毕业时天天喝酒。毕业那次聚餐,个个喝得人仰马翻,吐的吐,哭的哭,装的装,好不热闹。小强被抬回去睡在地上,起来时奇怪怎么会跑地上睡去,期间每次起来都问一句“学位服拿回来没有”,小桂子被送进医院。如今大家都分开了,北京一群书呆子,上海一群打工仔,合肥一群留守的,还有一些到国外闯世界。有像老孙这样苦苦奋斗的,有继续努力专攻学业的,也有我这样游手好闲的。

    仔细想想,自己和大学时已经变了很多。那时候有自信,有斗志。现在却总是放纵自己,以不得志为借口。

  • glxgears输出FPS

    想用glxgears输出一下FPS看看,怎么弄都不输出了,很郁闷,在manual上也看不到相关的选项。

    搜索半天才发现glxgears已经改了但是manual page并没有更新。glxgears一直被当作Linux里面测试3D性能的一个benchmark来使用,但它并不能成为一个benchmark,因为测试太片面了。

    新的glxgears发源加一个选项才打印FPS,或者是-printfps,或者是-iacknowledgethatthistoolisnotabenchmark。从后面这个长长的参数就可以看出其用意,这些人也太搞了:smile:。

    现在glxgears的选项有:

    -display
    -info
    -stereo
    -fullscreen
    -iacknowledgethatthistoolisnotabenchmark
    -printfps
    
  • 推荐这个Articles插件

    Articles 1.0,这是Alexking写的一个插件,留心的朋友应该已经从WordPress后台的Dashboard里面看到了,利用它可以把自己blog里面一些值得读的日志整理出来放到一个页面中(其实也不限于是一个页面)。对某些人可能比较有用。

    想把某文章加进该页面需要为它加一个名为article的custom field,值为1。可以通过新建一个页面模板来实现,或者用它默认打开的”token”方法,显示效果可以选择单列或双列,具体用法见插件中所带的说明文件。效果可以看我的Articles页。

  • WordPress的一个小bug

    今天删除了一个无用的分类,该类下有一篇文章,文章除了属于这个分类外还属于默认分类。删除后,偶然发现在默认分类中该文章竟然出现了两次,在数据库中直接查询了一下,果然是有重复的行。

    看来删除分类的时候,WP想当然地认为该分类下的日志没了爹,就应该进孤儿院。可是爹死了说不定还有妈在,这样做有点着急了,至少应该检查一下,没有的话再划到默认分类里面。

    WP也没有检测重复分类,显然是疏忽了,如果考虑到这点,自然也就有上面的想法了。默认分类不一定是垃圾坑,我就把Uncategorized类别删除了,默认分类是Blogging。

    我觉得正确的做法应该是检查一下这些文章有没有别的类别,有的话就不用加默认分类了。不知道其他用户什么看法?我已经在trac里面提交了这个问题,见Ticket #3460

    Update: Trac里面有了回应,说这在2.1里面已经修正了,有可能加到2.0.7版本中。

  • 梦见回去了

    好像是这里把我开除了,也不知道是回到哪里了,跟高中的同学说我回来了,似乎是回到高中了,连教学楼都是高中时的样子。可是同时又有一种想法,开除当然不太爽,好在合肥这个城市比北京要安静得多,尤其是──网络比中科院好一百倍:smile:,似乎又是在科大。

    开除我吧!