Categories: geek » emacs » planner

RSS - Atom - Subscribe via email

FreeBSD ports for planner

Posted: - Modified: | emacs, planner

From Dryice:

I've got emacs-wiki, planner, and remember in the FreeBSD ports
tree. Now FreeBSD users can install these all by

cd /usr/ports/deskutils/remember.el
make install clean

And turn on the “planner support” in the menu.

Thank you all for making this great software!

E-Mail from Dryice Dong Liu

Modification of johnsu01’s scoring

| emacs, planner

The following code allows you to sort tasks based on regexp matches
against the line. It’s fairly simple, but may give people ideas about
fancier task sorting.

(setq planner-sort-tasks-key-function 'planner-sort-tasks-by-score)

(defvar planner-score-rules '(("read" . 50))
  "Alist of planner scoring rules of the form (regexp . score-value).
Tasks with higher scores are listed first.")

(defun planner-sort-tasks-by-score ()
  "Sort tasks by the rule in the table."
  (let ((score 0)
        (case-fold-search t)
        (line (buffer-substring-no-properties (line-beginning-position)
                                              (line-end-position))))
    (mapc
     (lambda (item)
       (when (string-match (car item) line)
         (setq score (- score (cdr item)))))
     planner-score-rules)
    score))

Yet another cool little Planner hack: really smart tab expansion

Posted: - Modified: | emacs, planner

One of the greatest things Planner has done for me has been to make it
easy to keep track of little tasks. Having lots of things on the shelf
makes it far easier for me to take advantage of moments of inspiration
and turn them into real code. I do my best thinking on the train,
walking home, in the bath: wherever I can squeeze some reflection into
a couple of minutes of waiting. Then I mentally run through whatever
little tasks I have lying around, and if inspiration hits, I run with it.

Today was pll’s lucky day. He asked for ways to easily hyperlink to
people’s records and to days like “tomorrow”, “yesterday”, and
“today”. I remember thinking, “Hey, that would be cute.” The feature
was really close to something I hacked together over a year ago, so I
pulled up my old configuration, tweaked it a bit, and ended up
creating this nifty tab expansion module that used hippie-expand to
expand planner names in an intelligent way.

I _love_ hacks like that. I love making small and nearly insignificant
tweaks to help people fit Planner to the way they want to work. People
may or may not use that little tab completion thing. Browsing
through my ../emacs/planner-config.el and
../emacs/emacs-wiki-config.el reveals a lot of cruft I wrote long
ago but have since then forgotten. The point is, at least we
experiment with these things. Planner makes it easy to experiment.
Planner makes it easy to try things out.

A major part of my role as the maintainer of Planner is really just to
keep track of people’s wishes and see if we can kludge together some
kind of attempt. While other software projects have awe-inspiring
grand plans, we stumble along in the directions people want to go
in—sometimes contradictory—and somehow or another, we manage to make
an environment that fits us. Planner is not a one-size-fits-all
personal information manager. Planner is crafted, tailored for each
person. Planner grows just as much as you want it to.

Of course, this constant experimentation leads to rough spots if you
track the development branch and try all the new features. There are
bugs we still haven’t tracked down, particularly the new code that’s
out there so that people can bang on it and experiment with it and
hammer it into something that makes sense.

I think this development model works. That’s why the mailing list is
essential. That’s why #emacs on irc.freenode.net is essential. That’s
why a constant stream of suggestions really really helps.

Perhaps one day Planner will get buried under features. It already
seems to be overly complex at first glance; newbies who take one look
at it run away screaming. ;) I think that is something that cannot
quite be addressed by documentation or simplification or even
reasonable defaults. I will not hide the complexity of Planner. I will
not hide Lisp programming from Planner users. In fact, you are very
much encouraged to try it out, and if this is your first introduction
to Emacs Lisp programming, I think that it is quite good that your
first hack is something you will use and benefit from daily.

How, then, are we to manage the complexity as Planner grows more and
more features? How are hapless newbies supposed to get into this
extremely wonderful thing? ;)

I think the answer lies with people. I learn most by asking people how
they use their Planner. I learn by asking people what they want to be
able to do with their Planner. I think it’s silly to ask people to use
all of Planner right away—_I_ don’t use all of Planner. Even if you
go through the manual, there’s just so much information. There are
just so many ways of doing things.

The trick, really, is to evolve from something small and comfortable
to something slightly larger and perhaps just a little uncomfortable,
but something that is still easy to get used to. Show people the bare
minimum that they need in order to do their job (or to at least feel
they’re keeping track of the things they need to do their job), give
them a glimpse of what’s possible, and encourage them to think of
other things they’d like to do.

That’s where little hacks like pll’s tab completion fit in. Planner
encourages people to think about that next little hack as a “nice to
have”: not something to waste a lot of time thinking about, perhaps,
but something to keep on a todo list somewhere just in case
inspiration strikes.

Upgrade yourself! =)

| emacs, planner

Creating Passionate Users
is a great blog just full of insights. The latest gem is about upgrading users.

Right, that's you. (If you don't use Planner, read on; maybe I can
convince you to try it out.)

Planner probably isn't interesting in itself. _You_ make Planner way
cool. You aren't just an anonymous person who uses Planner. You are a
bundle of unique ways of doing things and maybe I can come up with
things that fit you better. I want to know how you think. What makes
you tick. How you keep yourself from going crazy even though you have
to keep track of so many things.

(If this is starting to freak you out, don't worry; you can pretend
I'm just like any other maintainer out there. ;) Ignore that large
BBDB in the corner.)

I don't think of myself as hacking just Emacs Lisp. I'm hacking your
process. Your way of doing things. _Real_ planner development happens
inside _your_ head when you come up with a nifty idea or something
you'd like improved. Real planner development happens when you take a
look at the way you do things and wonder if you can do them better. My
job is to keep track of all these little things people want to do and
see if someone else has already done it, I can help you do it, or I
can hack it in myself. The Japanese have a word for continuous
improvement—kaizen. Process optimization.

We make a lot of progress in small steps. Take that +tue feature. It's
not a big thing, but it brings Planner _juuust_ a little closer to the
way a lot of people think. Who knows what kind of hacks it just made
easier? John Sullivan has plans for that feature, mainly for his
template hacks.

The end result is that Planner is this strange, almost bewildering
personal information manager that just keeps growing and growing.
Sure, the quickstart introduces the essential parts of the system, but
there's much more to it. I'm here to guide you through it. I'd love to
ask questions to help you figure out how you plan. I'd love to suggest
ways of doing things. =) Whether you're a Franklin/Covey or GTD geek
or you're using a funky home-brew kind of planning method that changes
all the time (I'm like that!), I'd like to think we can get Planner or
some other Emacs-based PIM to dance to your tune.

(Of course, there's the danger of spending too much time hacking your
process and too little time actually doing things, but I think we can
keep ourselves from going overboard.)

So there. Sure, the mailing list is usually where software updates are
announced, but think of it as meant for user upgrading.

Keep the suggestions coming. Share your thoughts!

Creating Passionate Users: Upgrade your users, not just your product

Proof of concept: Deleting private tasks

Posted: - Modified: | emacs, planner

It’s easy to tweak Planner. For example, the following two lines of
code delete all lines that contain \{\{private\}\} before publishing. Your
planner pages will be fine, but the published HTML won’t contain them.

(add-to-list 'planner-publishing-markup (lambda () (delete-matching-lines "\{\{private\}\}")))
(planner-update-wiki-project)

Fun, isn’t it?

planner-multi-read-name

Posted: - Modified: | emacs, planner

I read through crm.el on the train. Now that I have an idea as to how
completing reads work, I think I’ve gotten spaces in multiple page
names to work. I’m still having problems—TAB complains that something
is read-only—but this looks promising.

../emacs/dev/planner/planner-multi.el

43Folders: Snapshots of a Dream Productivity App

| emacs, planner, productivity

Hooks and more hooks – As I've repeated until I'm hoarse, apps like Quicksilver change the way you use
your Mac. Drastically. Ditto for any app that's open to interaction via (the vastly underutilized) OS X
Services. There are smart ways to provide some kind of access to most any program without switching from
the foreground app and the task at hand. I want ways to append information, create new items, and do any
“capturing” from wherever I am. At the very least, I want a universal “drop box” to which I can
periodically return to process, file, and enrich any kind of productivity app data (reminders, phone
numbers, notes, etc.).

See, Planner’s onto something here.

We’re not very good at ad hoc collections, though.

43 Folders: I Want a Pony: Snapshots of a Dream Productivity App