June 3, 2006

Bulk view

BBDB pinging code

I love tweaking Emacs to fit the way I work. Here’s some code to make it easier to keep track of pinged people.

(defun sacha/bbdb-ping-bbdb-record (bbdb-record text &optional date regrind)
  "Adds a note for today to the current BBDB record.
Call with a prefix to specify date."
  (interactive (list (bbdb-current-record t)
                     (read-string "Notes: ")
                     (if current-prefix-arg (planner-read-date) (planner-today))
                     t))
  (bbdb-record-set-notes bbdb-record (concat date ": " text "\n" (bbdb-record-notes bbdb-record)))
  (if regrind
      (save-excursion
        (set-buffer bbdb-buffer-name)
        (bbdb-redisplay-one-record bbdb-record)))
  nil)

(defun sacha/bbdb-gnus-ping (text)
  "Add a ping for authors/recipients of this message.
Call with a prefix to specify a manual note."
  (interactive (list (if current-prefix-arg (read-string "Notes: "))))
  (let* ((from-me-p
          (string-match gnus-ignored-from-addresses
                        (message-fetch-field "From")))
         (bbdb-get-only-first-address-p nil)
         (bbdb-get-addresses-headers
          (list (assoc (if from-me-p 'recipients 'authors) bbdb-get-addresses-headers)))
         (bbdb/gnus-update-records-mode 'annotating)
         (bbdb-message-cache nil)
         (bbdb-user-mail-names nil)
         (gnus-ignored-from-addresses nil)
         records)
    (setq records (bbdb/gnus-update-records t))
    (if records
        (bbdb-display-records records)
      (bbdb-undisplay-records))
    (while records
      (sacha/bbdb-ping-bbdb-record
       (car records)
       (concat
        (if from-me-p "-> " "<- ")
        (or text (message-fetch-field "Subject")))
       (planner-date-to-filename
        (date-to-time (message-fetch-field "Date"))))
      (setq records (cdr records)))
    (setq records (bbdb/gnus-update-records t))
    (if records
        (bbdb-display-records records)
      (bbdb-undisplay-records))))

On Technorati: , ,

/home/sacha/notebook/emacs/bbdb-config.el

Random Japanese sentence: 猫がソファの上に寝ている。 A cat is lying on the sofa.

Anxiety

Birds on wires

Photo by Automatt, licensed under Creative Commons (Attribution)

After reading my post about being a girl, one of my closest friends wrote:

I never thought you ever got such thoughts:

And when the shadows in my head whisper that I’m not as good as the others,
not as geeky as the others, I drown them in Emacs Lisp. ;)

I always saw you as someone strong and has everything together – yeah like
you are a hitchhiker with your towel with you all the time ;)

I get that a lot, the nagging thoughts that I am not as good as others.
It’s kinda tough when that happens because I still haven’t figured out what
my strengths are. I am something like a Jack of all trades but a master of
none. And that is something I have to live with everyday.

This is one of the reasons why I think out loud. I want to connect
with other people on a deeper level. It is important to me to be
human
, approachable and understandable. This blog will not be a
polished, professional archive of useful articles. It will have my
cooking misadventures, my existential crises, my questions. My
issues, as a friend put it. Yes, I have issues. Not very
earth-shaking ones, mind you, but I have more questions than I have
answers – and I love that!

I talk a lot about feeling insecure, but that’s because I love looking
for what I can learn from other people. I don’t feel threatened as
much as I feel inspired. My confidence is not a show that I put on for
other people. When I’m in my element, the energy I get from people and
from the situation fills me.

When I falter, friends help me remember. You help me remember who I am
and why I’m here. My blog lets me go back and look over things in my
own words, searching for similar times to find out what I did and how
I resolved the situation.

Sometimes it may seem that I’m worried too much about how I measure up
to other people (5’1/4″? ;) ) or that I feel too insecure. But hey, we
all have different strengths, and I love exploring different things in
order to find out how I can be of most benefit to the world. =)

(Besides, one of the cool things about this picture is that the bird on the lower line can see everything that’s going on! ;) )

On Technorati: , , ,

Random Japanese sentence: 寝る前に猫を外に出すのを忘れないでね。 Please remember to put out the cat before you go to bed.

Blackberries and such

John Sullivan said:

You’ve really got to get a comment system working on your blog :)

There are a lot of new interesting devices that are better and less locked down than the Blackberry. I’m writing this email from one right now, a Nokia E61. It has wifi and can make SIP calls in addition to regular phone calls! Also, it runs Python. It’s expensive, but only about the same as a new new Blackberry.

I’ve just yesterday started a backpack page about my working with it, at http://johnsu01.backpackit.com/pub/613005.

Nokia also appears to be heading rapidly down the FLOSS path, and I _know_ you’ll be wanting to hack your device. :)

Well, if someone wants to hack together Planner + a nice non-spammy comment system, I’d love to test it. I used to use blogKomm, but I needed to modify it at some point and the code was in German. Not quite fu.

Ooooh, wifi is good.

I’ve been doing okay with my laptop so far. It’s actually more
portable than I thought. Might try the Vaio for even more fun and
profit. =) And yes, I’d rather have a hackable device than something
that Just Works for everyone but me… ;)

Random Japanese sentence: おばあさんは、しばらく考えました。そして言いました。「わかりましたよ!どのねこをうちにおくか」ねこたちに決めさせましょう」 The very old woman thought for a while and then she said, I know! We will let the cats decide which one we should keep.

David Crow 2.0

My experience of Toronto has always been that of a vibrant tech life, but everyone tells me that this really just started a year ago. When asked for possible causes, one name keeps coming up – that Toronto BarCamp instigator, troublemaker, catalyst: David Crow.

David Crow is special.

Living in Toronto and breathing in the tech scene is like watching a
Tipping Point example play out in real life.

What makes him special? Here’s what I think might be the key:

Passion. David’s an intense kind of person. Just ask him about Innovation Commons, for example, and he’ll speak of it with complete conviction.

Drive. His passion is backed by the determination to make things happen. BarCamp in a warehouse? Sure!
He seems to be the kind of guy who never has to worry about getting “No” for an answer because he already has five, ten alternative plans.

Learning. He learns out loud. He’s always looking for ways to improve things, and he shares his thoughts with others.

He’s a true evangelist, and what an evangelist he is.

What can I do to learn from his example, and how can I step into this whirlwind?

On Technorati:

Random Japanese sentence: 「にゃお、にゃお、今度はおなかが減った!」と、百匹のねこ千匹のねこ、百万匹一億匹のねこがいいました。 “Mew, mew! Now we are hungry!” cried the Hundreds of cats, Thousands of cats, Millions and billions and trillions of cats.

Reading list

Peter Dawson just sent me his knowledge management reading list for
the second quarter. What an excellent idea! I should read lots of
books and write about them, as I enjoy reading books…

On Technorati:

E-Mail from Peter Dawson

Random Japanese sentence: ライオンと虎は猫科の2つの違った種である。 The lion and tiger are two different species of cat.