December 25, 2007

Get a grip on your tasks

December 25, 2007 - Categories: emacs, wickedcoolemacs

Most time management books will tell you to think of your three- to five-year goals, come up with projects, and then make tasks based on those projects.

You know that life doesn't happen as neatly as that. Instead, tasks come at you from all sides: the bugs you discover while you read code, the e-mails you get from coworkers, the milk that you need to pick up on the way home. The task list just keeps getting bigger.

I want to help you set up Emacs so that it will:

  • capture all those tasks so that you don't worry about forgetting anything,
  • show you what you need to do so that you can work effectively,
  • help you organize your day, your week, your life,
  • show you what you've accomplished so that you have a feeling of progress,
  • help you plan the things that _you_ want to do, and
  • fit the way _you_ want to work, whether that's Franklin-Covey, GTD, or a home-brew system for keeping sane.

If you've been keeping your task list in your head, you'll find it immensely helpful to get it out and into your computer. If you swear by your day planner or index cards, you might find that Emacs is not only a good backup, but it can also give you an overview of where you're going and where you've been. If you need to bill for your time, you'll love how time tracking is integrated into your task list. And even if you've never written a line of Emacs Lisp before, you might find that customizing Emacs to fit the way you think will *transform* the way you think.

Give it a try. Use Emacs to manage your tasks for a month. Write everything down in it. Use it to run your life. At the end of the month, if it doesn't feel natural to you, at least you can say that Emacs really isn't just an editor, it's a way of life. It might not be _your_ way of life, but you'll have learned something from it, guaranteed.

In this chapter, you will learn how to:

  • Plan from your projects (top-down)
  • Plan from your task list (bottom-up)
  • Schedule the tasks
  • View your schedule and tasks
  • Organize the tasks into projects
  • Track your time
  • Review your accomplishments

Let's get started!

(This is a draft for my book, "Wicked Cool Emacs". See other Wicked Cool Emacs blog entries.)

On Technorati: , ,

Random Emacs symbol: gnus-summary-number-of-articles-in-thread - Function: Return the number of articles in THREAD.

Publishing my Org agenda to my blog

December 25, 2007 - Categories: emacs, org, wordpress

Some people like reading my task list.

No, I don't know why, either. =)

But it's up again, just in case you want to see it. This one is based on Org-mode for Emacs, so it's not the same task list that used to show up on my Planner wiki.

Expect this to change a lot as I figure out how I want it to fit in. The downside of using WordPress as my front-end is that it looks like it's going to be difficult to get the kind of day view I have with my Planner version. How do I get it to display future pages?

I may end up writing yet another layer on top of this... =(

Anyway, here's my highly idiosyncratic config, just in case you want to get started hacking this onto your system:

(defvar sacha/org-publish-agenda-directory "~/notebook/org/" "*Directory to save the published agenda to.")
(org-defkey org-agenda-mode-map  "p" 'sacha/org-publish-agenda)
(defun sacha/org-publish-agenda ()
  "Copy the agenda buffer to a file in `sacha/org-publish-agenda-directory'."
  ;; Take the entire contents of the agenda and dump it into a text file labeled with the date.
  (let ((agenda (with-current-buffer org-agenda-buffer-name
                  (unless org-agenda-show-log (org-agenda-log-mode))
        (filename (format-time-string "%Y-%m-%d.txt" (if org-starting-day (calendar-time-from-absolute (1+ org-starting-day) 0)
      (insert agenda)
      (write-file (expand-file-name filename

(defun sacha/org-publish-agenda-today (interactive)
  "Publish today's agenda. Suitable for ~/.emacs, we hope."
  (let ((entry (assoc "a" org-agenda-custom-commands)))
    (if entry
        (org-run-agenda-series (nth 1 entry) (cddr entry))
      (call-interactively 'org-agenda-list))

On Technorati: , ,

Random Emacs symbol: hack-local-variables - Function: Parse and put into effect this buffer's local variables spec.

Some of my favorite quotes

December 25, 2007 - Categories: Uncategorized
"If you want to build a ship, don't drum up people together to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea."
Antoine de Saint-Exupery
The creation of something new is not accomplished by the intellect but by the play instinct acting from inner necessity. The creative mind plays with the objects it loves.
Carl Jung
There's a story of a tech-support representative who kept a stuffed toy on his desk. When users approached with questions, he required that they ask the question of the stuffed toy before bothering him. The stuffed toy allegedly had an 80% success rate...
Source unknown

On Technorati:

Not quite the same

December 25, 2007 - Categories: sketches