Category: 未分类

  • 慎用 Shift+Del 啊

    我Muse的源文件放在wiki根目录下的一个文件夹里面,叫source. 还有一个目录叫software,本来是想把它删除重新发布的。删完后去发布,却告诉我目录不存在之类,一看,我靠,source没了!搜索了一下,Linux里恢复文件比较麻烦。多亏现在发布的页面还不多,我一个一个又从HTML弄成了Muse的格式。然后多了个心眼,把Muse源文件一起更新到服务器上去了。

    用图形的文件管理器时,相近的文件名很容易看混,而用shell操作,这样错误的几率可能会小一点。以后在文件管理器中只用Delete好了,完了都进.Trash了,时间长了再清理。

    对了,Muse发布的页面在这里。刚加了CSS上去,大家给看看这个网页,还有这个,给提点意见:smile:.

  • Subclipse的配置

    Subclipse是为Eclipse做的一个Subversion插件,不过我安装后出现了一些问题。

    首先我的操作系统、Eclipse都是英文语言的,但安装Subclipse后,菜单却是中文的。中文倒也罢,只是有些名词翻译得莫名其妙,看不懂。即便把插件目录中的中文相关文件删除,还是显示中文,真神了,或许是我没有找对。搜索到一个网页,说它是根据Java的locale来判断的。于是修改/usr/bin/eclipse启动脚本,在最后的VMARGS里加上参数:-Duser.language=en,可以了。注意加在Eclipse的菜单快捷方式上没有用,脚本好像不检查传递给它的参数。另外也可以加在/usr/lib/eclipse/eclipse.ini文件中。

    点击Window->Preferences->Team->SVN选项时,报错误“Javahl interface not available”。可以选择纯Java实现来避免这个问题,不过还是JNI来得快点。在这个网页上,作者修改了java.library.path这个变量使得javahl库能被找到。但我的系统中根本就没有这个库,思索半天后用aptitude搜索了一下,果然源里面有这个专门的包,装上之后就没问题了。

    Eclipse启动的参数可以在Help->About Eclipse SDK->Configuration Details里面看到。

  • 终于又用上Muse了

    有些东西放在Blog里不太合适,比如软件使用中的一个小tip,或者学习中的一点心得,还有一些不太成熟的想法等等。

    很久以来也在想着找个CMS系统,试过drupal,用了一阵子doku wiki,感觉这个还可以,不需要数据库,后来搬到本机上来了。不过后台管理、插件之类还是比较麻烦,也许是我不熟悉的原因,不想放到服务器上。我觉得WordPress真的很简单又很强大,兼具这两点真不容易。

    用Emacs Muse的顾忌就是页面多了管理起来不方便。不过考虑再三,还是用起了Muse,毕竟代价低,只有静态的HTML,不用操心后台管理。需要的就是在Emacs里写好,然后发布到FTP上去。即便我不太会用Emacs,还是感觉在里面写东西真是一种享受。

    其实是读JavaScript for Breakfast这本书,想记些东西,才折腾这些的。以前读C++/Java的书,也记了不少精华的东西,或许记了好多遍,但记在纸上,本子一扔,就没了。目前仅有一个页面,以后慢慢积累。

  • 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