I’ve been using the Pomodoro Technique for over a year now. The Pomodoro Technique is a way to divide your day into a several sets of time and (try) to focus on one task at a time without distractions. It has worked great for me with a graph paper notebook.
This morning though, I was wondering if there was a way to do the planning digitally in Emacs. I didn’t want a timer, just a simple way to allocate my pomodoros (chunks of time). Asking on Twitter, I had two people suggest using org-mode. So I dug into the org-mode manual and hacked something simple together using it’s tables.
The screenshot is a perfect example of a single day:
- using org-mode’s folding I can hide all of the other days except for today (2011-05-05 is hidden). I also have a section for Help where I’m keeping my notes
- the columns in the table are
- category – G(eneral), M(arketing), C(lient), E(mail), O(SS).
- name of the todo item from my other todo list
- the number of pomodoros I’ve allocated (empty [ ]), spent ([X]), and ones I didn’t need ([-])
- completed todo items are crossed out the as I go
So I’ve finished everything I wanted to do today except for “Write about pomodoro in org mode” and I still have one pomodoro left for it. I also set aside 2 pomodoros for the Redmine Tip today but only need to use one.
To make it easy to add a new table and allocate pomodoros, I recorded a few simple macros:
;; Emacs macro to add a pomodoro item (fset 'pomodoro "[ ]") ;; Emacs macro to add a pomodoro table ;; ;; | G | Organization | [ ] | ;; | | | | (fset 'pomodoro-table [?| ? ?G ? ?| ? ?O ?r ?g ?a ?n ?i ?z ?a ?t ?i ?o ?n ? ?| ? ?\[ ? ?\] ? ?| tab])
This lets me add a block of pomodoros with something like
C-u 5 M-x pomodoro. I also set up a macro to add the entire table,
M-x pomodoro-table which should save me time each morning.
Playing with org-mode and it’s tables was really useful. I really like how you can tab through a table and let it auto-format the column width. Finding this out will save me a bunch of time editing some of the wiki pages in ChiliProject.