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,

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