NEW: For a prettier blog interface, see the Wordpress version!

Headlines for Friday:

  1. More Emacs fun: Composing mail to everyone with notes (52 words)
  2. More Emacs coolness: List of contacts (158 words)
  3. Emacs: Keep track of messages sent (169 words)
  4. The great laptop ad campaign (76 words)

Work on research

Tasks

    Priorities - A: high, B: medium, C: low; Status - _: unfinished, X: finished, C: cancelled, P: pending, o: in progress, >: delegated. Covey quadrants - Q1 & Q3: urgent, Q1 & Q2: important
    AXGet all the networking people into my database
    AXBlog about laptop ads
    BXGreet Sam Watkins happy birthday : E-Mail from Sam Watkins
    BXPlane : E-Mail from Mama
    CCFollow up with BlueSpark people

Notes

1. The great laptop ad campaign: 10:03

BarCampEarthToronto was a blast, and so was my laptop ad campaign.

It didn't generate any qualified leads, but it did get Orange & Bronze and Wordpress.org some warm-and-fuzzy feelings, and now it's a good story.

It's about time that we stopped advertising just Apple or Dell. ;) Do something creative with your laptop cover! Double-sided tape peels off quite cleanly, so go do something funky with it! =)

On Technorati: , ,

2. Emacs: Keep track of messages sent: 12:06

Because a Big Brother Database of my contacts isn't complete if I don't keep track of what e-mail I sent them and when I sent it, this bit of Emacs Lisp code adds Gnus subjects to the BBDB records of the people to whom I sent e-mail.

(defun sacha/gnus-add-subject-to-bbdb-record ()
  "Add datestamped subject note for each person this message has been sent to."
  (let* ((subject (concat (planner-today)
                          ": E-mail: " (message-fetch-field "Subject") "\n"))
         (bbdb-get-addresses-headers
          (list (assoc 'recipients bbdb-get-addresses-headers)))
         records)
    (setq records
          (bbdb-update-records
           (bbdb-get-addresses nil gnus-ignored-from-addresses 'gnus-fetch-field)
           nil nil))
    (mapc (lambda (rec)
            (bbdb-record-set-notes rec
                                   (concat subject
                                           (bbdb-record-notes rec))))
            records)))
(add-hook 'message-send-hook 'sacha/gnus-add-subject-to-bbdb-record)

It should be really easy to set up Gnus to expand some kind of !followup macro into a TODO item in my planner and an "I hope to hear from you by ....". Ridiculously easy with Emacs Lisp and an insanely customizable editor, but I might not have enough battery life. I've got 28 minutes, and then I'm off PC for a while.

On Technorati: , , , ,

/mnt/media/sacha/notebook/emacs/dotgnus.el

3. More Emacs coolness: List of contacts: 12:14

This bit of Emacs Lisp code produces a Planner-ready list of the contacts displayed in the BBDB window.

(defun sacha/planner-bbdb-annotation-from-bbdb (&optional record)
  "If called from a bbdb buffer, return an annotation.
Suitable for use in `planner-annotation-functions'."
  (when (or record (eq major-mode 'bbdb-mode))
    (setq record (if record (car record) (bbdb-current-record)))
    (or (bbdb-record-getprop record 'plan)
        ;; From a BBDB entry with a plan page; use that. Yay!
        (planner-make-link
         (concat "bbdb://"
                 (planner-replace-regexp-in-string
                    " " "." (bbdb-record-name record)))
         (bbdb-record-name record)))))
(defalias 'planner-bbdb-annotation-from-bbdb 'sacha/planner-bbdb-annotation-from-bbdb)

(defun sacha/yank-planner-bbdb-list ()
  "Copy the list of people displayed in the buffer."
  (interactive)
  (kill-new
   (mapconcat 'sacha/planner-bbdb-annotation-from-bbdb
              bbdb-records
              ", "))
        (sacha/planner-bbdb-annotation-from-bbdb rec))

It allows me to say, for example, that I met 23 people yesterday: Bruce, Daniel Charles, Shane D'Costa, Emily, Greg A. Fitz, Clara Fong, Jay Goldman, Harvey, Kai Fai Ho, Iris, KC, Charles McCulloch, Jamie McQuay, Joshua Meles, Naomi, Helen Overland, Wayne Penney, Simon Rowland, San, Colin Smillie, Solomon, Le Quan Truong, Perry Wong

On Technorati: , , , ,

4. More Emacs fun: Composing mail to everyone with notes: 12:24

(defun sacha/compose-mail-to-everyone (&optional subject)
  (mapc (lambda (rec)
          (setq rec (car rec))
          (when (bbdb-record-net rec)
            (bbdb-send-mail rec subject)
            (save-excursion
              (message-goto-signature)
              (forward-line -2)
              (insert "\n---- NOTES ---\n" (bbdb-record-notes rec) "\n"))))
        bbdb-records))

(defun sacha/gnus-delete-notes ()
  (goto-char (point-min))
  (when (re-search-forward "^--- NOTES ---" nil t)
    (goto-char (match-beginning 0))
    (message-kill-to-signature)))
(add-hook 'message-send-hook 'sacha/gnus-delete-notes)

On Technorati: , , , , ,

E-mail sent

  1. E-mail to Sacha Chua
  2. E-mail to Erwin Oliva
  3. E-mail to Mama
  4. E-mail to luis_suarez
Previous day | Next day

I'd love to hear about any questions, comments, suggestions or links that you might have. Your comments will not be posted on this website immediately, but will be e-mailed to me first. You can use this form to get in touch with me, or e-mail me at [email protected] .

Page: 2006.09.01
Updated: 2006-09-0221:18:0921:18:09-0400
NOTE: ANTI-SPAM MEASURE NOW IN PLACE. Please answer the following question with the right number in order to send me your comment.
What is two minus one? (hint: one ;) )
Name:
E-mail:
URL:
Comments: