九月 29, 2008

Load on demand

为了能够玩更多的黑莓程序,我第一次购买了一个手机软件——Aerize Card Loader,有了它,就可以把程序存在SD卡上,然后想运行什么,就加载什么,不想要了,就卸载掉。尽管卸载之后仍然需要重启,但是相对于只能把程序存在系统内存里来说,仍然方便了很多。最爽的当然是试用各种主题,然后只加载中意的那一个,其它的仍然放在卡上,等哪一天想换了,再调出来。

趁着Crackberry appstore打折的时机,以9.95美金买下来,原价要20美金。很多软件都可以试用,这个也不例外,在买之前,我把各个功能用了个遍,才买下来。

尽管买下来,还是觉得挺贵的,稍微搜索了一下,发现更贵的还有,功能也不见得怎么强大,而且还有收年费的。

九月 23, 2008

My calendars

我有好几个日历。分类如下:

分别使用3个日历有个不好的地方,不方便查看,想知道自己今天需要做什么,得查看3个地方。

目前的解决方案是使用Thunderbird + Lightning做一个集成的查看终端,RTM提供iCalendar订阅方式,org mode也可以发布为iCalendar文件,所以只要在Lightning里面订阅就可以了。MS Outlook稍微麻烦一点,所幸Google提供了Calendar Sync,可以实现MS Outlook和Google Calendar的双向同步。我只用到其中的单向同步功能,把MS Outlook同步到Google Calendar上,这样就可以用Lightning订阅了。

Google还有一个Mobile Sync,可以把Google Calendar和Blackberry Calendar同步,有了这个东西,我就可以很方便地在家里查看第二天的工作安排了。需要注意的是Google Mobile Sync使用cmnet,而不是cmwap。

九月 19, 2008

hippie-expand

直到前两天才通过Most useful Emacs features - Stack Overflow知道hippie-expand这么好用的东西,然后抄了一段Alex Schroeder的配置,也就是根据可能性重新排列一下补全的规则,如将补全文件名放到链表的后面。另外还从wiki页上抄了一段用tag做补全的配置。

虽然补全文件或路径很少用到,但是在添加load-path的时候就很方便了,感觉就像在mini-buffer里输入路径一样。当然用得最多的还是在写程序的时候了。下面是我的配置:

(global-set-key (kbd "M-/") 'hippie-expand)

(defun he-tag-beg ()
  (let ((p
         (save-excursion 
           (backward-word 1)
           (point))))
    p))

(defun try-expand-tag (old)
  (unless  old
    (he-init-string (he-tag-beg) (point))
    (setq he-expand-list (sort
                          (all-completions he-search-string 'tags-complete-tag) 'string-lessp)))
  (while (and he-expand-list
              (he-string-member (car he-expand-list) he-tried-table))
              (setq he-expand-list (cdr he-expand-list)))
  (if (null he-expand-list)
      (progn
        (when old (he-reset-string))
        ())
    (he-substitute-string (car he-expand-list))
    (setq he-expand-list (cdr he-expand-list))
    t))

(setq hippie-expand-try-functions-list
      '(try-expand-all-abbrevs try-expand-dabbrev
 try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill
 try-complete-lisp-symbol-partially try-complete-lisp-symbol
 try-complete-file-name-partially try-complete-file-name try-expand-tag))

九月 16, 2008

Anything

使用filecache可以快速打开项目里的某个文件,但是它的文件名补全功能有一个小小的局限,就是必须从头开始匹配,不像iswitchb那样可以匹配buffer名的任意部分。配合使用Anything可以解决这个问题。

Anything不仅仅可以配合filecache使用,之所以叫Anything,就是因为它可以快速打开anything,而且高度可配置、可扩展。在Anything模式下有几个快捷键,左右方向键在不同分类之间切换;C-nC-p在不同条目之间切换;C-vM-v上下翻页。下面是我的配置,使用F9作为快捷键启动Anything模式。

(require 'anything)
(require 'anything-config)
(add-to-list 'anything-sources anything-c-source-file-cache)
(setq anything-enable-digit-shortcuts t)
(global-set-key (kbd "<f9>") 'anything)

九月 11, 2008

easytag

EasyTag是一款操作音频文件标签的软件,其中包含我最需要的mp3标签编码转换功能。

由于大多数抓取软件制作的mp3标签编码多为GB18030或GB2312,而手机等播放设备只支持unicode,因此如果不转换编码的话,在移动设备上看到的只能是乱码。原来不知道EasyTag的时候,听了半天歌,还不知道叫啥名。现在不再烦恼了,只要在选项里设置读取编码为GB18030或者GB2312就可以了,然后存储为unicode,再复制到移动设备上,就能够看到歌手、曲名和专辑等信息了。

九月 03, 2008

Google chrome

Google给自己的浏览器起了一个独特的名字——Google Chrome,而不是像其它产品——如Google Calendar, Google Talk, Google Docs——那样直接称为Google Browser。Google还为这个新的浏览器制作了一部漫画书,解释了此浏览器的不同,如果不是看了这本小书,我是断不会在第一天就尝试Chrome的——这确实是一个非常不同寻常的浏览器(还附带了一个任务管理器)。

试用了一下,几个快捷键和Firefox一样,而且支持从Firefox导入书签、密码、Cookie等等。目前还只有Windows版。

真希望Google Chrome能够撼动那些铁杆的IE Only的网站(如银行等)。