番茄工作法

相对于David Allen的GTD,番茄工作法 (The Pomodoro Technique) 要简单得多,但是我仍然无法一下子将其完全实践起来,而是采用了渐进的方式,逐步熟悉。

首先,早上把当天要做的事情列出来,做完一个划掉一个,有新出来的事情,就添加到列表最后。今天没有完成的,搬到明天的列表上。

习惯了之后开始计时。没找到合适的计时器,在办公室里又不可能真的弄个闹钟叮叮当当,一度使用firefox插件Stopwatch。我采用默认的25分钟作为一个工作单元,中间休息5分钟,下午3点之后休息半小时。当然由于工作特点,不可能完全遵守其时间安排,毕竟有时候中断之后重新在大脑中恢复工作现场代价非常高昂,所有也有连续工作四五十分钟的时候。

本子上操作熟练后就想着数字化,初步选择evernote做记录,orgmode做计时。

evernote的效果如图(点击图片看大图),checkbox正好合适,只不过X变成了勾。竖线用来分隔估算时间的次数,竖线越多表示对任务消耗时间的估计失败的次数越多。

orgmode做计时需要一个小小的调整,即在mode line上只显示最近一次开始任务后消耗的时间。当然到时提醒功能仍然是没有的。

(setq org-clock-modeline-total 'current)

除了上述的划线打叉之外,番茄工作法还包括其它一些实践活动,将会陆续添加进来。就目前来看,对提升我的工作效率还算是效果显著啊!

让中英混杂的orgmode table对齐

orgmode的表格简单实用,甚至具有电子表格功能,除此之外,它还是column view的表现形式。然而当中英文混杂时,如果不做特殊处理,表格不对齐,看起来一团糟。

不太完美的解决方法依然是使用中文大字英文小字,只不过为Emacs 23.2需使用不同的字号(英文12中文15)。英文设置如下

(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(default ((t (:inherit nil :stipple nil :background "#ffffff" :foreground "#000000"
                         :inverse-video nil :box nil :strike-through nil :overline nil
                         :underline nil :slant normal :weight normal :height 120
                         :width normal :foundry "unknown" :family "Liberation Mono")))))

中文设置如下:

(if (and (fboundp 'daemonp) (daemonp))
    (add-hook 'after-make-frame-functions
              (lambda (frame)
                (with-selected-frame frame
                  (set-fontset-font "fontset-default"
                                    'chinese-gbk "WenQuanYi Micro Hei Mono 15"))))
  (set-fontset-font "fontset-default" 'chinese-gbk "WenQuanYi Micro Hei Mono 15"))

另外,为了column view能够在daemon模式下正常显示,还需要如下代码:

(defun wl-org-column-view-uses-fixed-width-face ()
  ;; copy from org-faces.el
  (when (fboundp 'set-face-attribute)
    ;; Make sure that a fixed-width face is used when we have a column table.
    (set-face-attribute 'org-column nil
                        :height (face-attribute 'default :height)
                        :family (face-attribute 'default :family))))

(when (and (fboundp 'daemonp) (daemonp))
  (add-hook 'org-mode-hook 'wl-org-column-view-uses-fixed-width-face))

使用这些补丁(在Ubuntu 10.04和Fedora 13上测试成功)之后,表格能够对齐了,瑕疵是中文字过大。