October 2006

Little joys

October 2, 2006 - Categories: happy

On the way back from Simon’s place last night, I took a streetcar with
a wonderful surprise. The streetcar driver sang out the stops in this
beautiful, beautiful voice! I was so tempted to take the car all the
way to Humber just to keep listening to him. On the way out, I told
him that I really wished I could tip on the TTC and that it was the
awesomest streetcar ride ever. I wish the other riders on the
streetcar were as appreciative. He deserved a lot of warm and fuzzy

I love it when people go above and beyond, turning even ordinary jobs
into something that brings joy to other people. I remember the
announcer for Delta Airlines at the Washington airport whose sense of
humor over the public announcement system made the four-hour delay so

Waking up with wonder

October 2, 2006 - Categories: life

I’ve figured out a great way to start my day. I love waking up to the
alarm on my cellphone, hitting the snooze button, and spending the
next five minutes slowly waking up and thinking of all the things that
make me happy and grateful to be alive. I also mentally sort through
my day and think of what I want from it.

Sometimes it takes more than one snooze button and sometimes I fall
asleep again. When I notice that I’m getting sleepier instead of more
awake, I focus on just doing the very next step: sitting up, for
example. I will graduate to doing this kind of five-minute meditation
sitting up, or maybe even over breakfast. I think it’ll be easier to
stay awake that way.

Speaking of breakfast, I need to clear out my part of the fridge and
go for more groceries…

Reaching out and being human

October 2, 2006 - Categories: connecting

Most of the time, I’m on the top of the world. People wonder where I
get the energy to be so enthusiastic and positive almost all the time.

Here’s the secret: I get that energy from other people. Being around
loving people fills me with great love, which spills over into
everything else I do and everyone else I meet. People don’t have to be
perkily happy. They just need to be real, and I’m lucky to be
surrounded by very real friends.

I get that energy from all the wonderful things around me, too. A
singing streetcar conductor. Sunlight glinting off a sign. Sentimental
letters. Crazy coincidences. My parents observed that it was very rare
for me to be disappointed or sad for more than twenty minutes or so.
What can I do? The world kicks in. =)

For longer-running, deeper-seated issues, though, sometimes I end up
returning to what threw me out of whack in the first place. Sometimes
the issue’s too big for me to deal with. When I’m running on empty,
that’s when the most amazing and wonderful thing happens: people and
the universe just infuse me with love (and, occasionally, vast
quantities of hot chocolate).

It never fails to amaze me how my moments of weakness are those which
draw me closer to other people. This is why I do not fight being sad,
do not deny it, do not hush it away or starve it of sunlight. The
other day, as Dan Howard comforted me, he said that he was glad that I
shared this with him. Before that day, I had seemed to be some
unapproachably, inhumanly happy person. Now our bond is stronger for
those tears: he knows more of me, and I know that he can know that me
and still be there.

The outpouring of warm and fuzzy thoughts from people I’d never even
met fills me with great gratitude and the determination to give even
more back to the world. My life has been too short and my work too
small for me to deserve the smallest fraction of the love I have
received, and so I am driven to be more and love more in order to
repay this tremendous debt—one of gratitude to the world. Not that I
ever can. The interest on this debt grows and grows. The principal of
it grows and grows. But it is a debt I am happy to labor under!

I am human, and these are the moments that make me love being so. I am
flawed, and as Quinn pointed out, that’s a wonderful opportunity for
others to show compassion—and for me to learn by their example.

Tim Sanders told me the story of how a reporter
once asked Albert Einstein what question he would ask if he knew he
would get an answer. Immediately—as if he had been thinking about it
for a long time—Einstein said, “Is the universe friendly?” To him I
would say: the world is not only friendly, but loving. To the world: I
love you too. I love you too. I love you too.


October 2, 2006 - Categories: -Uncategorized

I am also very, very lucky to have people who remind me that this
experience of great love is not yet universal. Some provide me with an
opportunity to be compassionate. Others remind me that I have been
extraordinarily lucky and loved, and that not everyone has the same
experience or awareness. Thank you for helping me grow as a person.


October 2, 2006 - Categories: happy, life, purpose

Since childhood, I have had a gift for working with computers. For a
while, this seemed like the perfect fit for my life. My grade school
teachers were not surprised to find me interested in computers in high
school. My high school teachers were not surprised that I took
computer science in university. One of my university teachers told me
I’d do well in “hard” computer science and encouraged me to go for a
master’s degree, maybe even a PhD.

But I am also awakening to a gift I have with people. I want to reach
millions and millions of people over generations and generations. I
want to lift them up, inspire them, share my experiences with them.
I want to tell their stories and help make their dreams come true.
This is what I want to do with my life.

I don’t want to wait until I’ve made my money before I do good. I want
to get out there and live and love and do and write and speak and
share. I will keep my needs simple, my schedule flexible, and my
overhead low so that I can spend as much time as possible developing
myself and other people.

I belong to the world not just as a mind, but also as a heart, and I
will make a life that allows me to express both.

So, concretely, how can we make this happen?

  • I want to repay the trust the university has shown in me by finishing my master’s degree and doing well.
  • I want to set up a newsletter and topic-focused blog that inspires people and shares tips with them.
  • I want to write best-selling books. The second book will be easier than the first, so I should really just sit down, pull out material from my blog, do more research, and make this happen. Hey, maybe even before I’m 25. ;)
  • I want to be a totally awesome professional speaker. That way, I can reach *lots* of people with not only my message but with my communication style. It’s also a good reason to meet people around the world.
  • I want to set up an organization for generous connecting.
  • Lots more!

How can I make this self-supporting? I want to get as quickly as
possible to the point where I don’t have to worry about my expenses so
that I can follow these crazy ideas for free. Then I can build up my
crazy idea capital, and then we’re off!

The best way for me to do that is not to plan for retirement at 60
with a slow-and-steady savings plan, but to take advantage of my crazy
ideas, train my intuition, and get better at going from crazy idea to

If I open my mind and look for ways I can create value for other
people (like my networking business cards that list my favorite
networking books!), then I’ll probably be able to create enough value
to make the kind of life I want.

(Crazy idea! Trust in coincidence by having business cards with random
stuff on the back. Moo cards does this with Flickr photos. Why not do
that with whatever you currently want/have? I think business cards
should be short-run and current. That way, they’re more than just a
static piece of contact information, and you’ll have reasons to keep
giving people your cards and for people to keep reading yours! Maybe I
should start date-stamping my business cards… Ah, now there’s a
great idea…)

Right. That’s the ticket. I should keep a notebook of all these crazy
ideas. Probably a blog page *and* a paper notebook. Probably part of
my Moleskine. And I should go and make those crazy ideas happen, like
advertising on my laptop or tweaking my business card, etc.

I don’t mind giving the ideas away. I get terrific feedback. In fact,
if other people pick up the idea and run with it, that means I get to
train my crazy-idea sense for free!

Remember the movie Phenomenon? I want to be that guy, overflowing with
lots of ideas and improvements! I want to be someone you tell about
the cool stuff you’re working on because I’ll be enthusiastic about it
too, and I *might* just go “Hey, what do you think about trying out

Simon’s fantastic at designing systems from scratch. I’m good at
thinking about how to improve something that’s already there, finding
things to smoothen, noticing things that are missing… Come to think
of it, even my computing background points to this. Why do I love open
source development? Because I can build on what’s there! Why am I
totally addicted to Emacs? Because it indulges my crazy-idea thing!

So I want the ability to explore all these crazy ideas even when I’m
working. I have lots of options in terms of the type of job, too.

  • A high-margin job that will train me up and take advantage of what I can do well and the crazy ideas I can come up with – marketing and sales, maybe?
  • A job that develops my skills even though it requires more work and concentration, such as writing. But not for long.
  • Something that pays for my expenses without demanding any mindshare, such as waiting tables ;) (Can’t do that on my work permit, though!)

Right. Getting a better sense of what I want in life. There we go. Does that sound like a plan? Let’s make it happen. =)

On Technorati: , ,


October 2, 2006 - Categories: -Uncategorized

One of our friends blogs poetry between stories of his work. It’s always interesting reading, although you wonder sometimes if you should probe further…

Places to eat in New York City

October 2, 2006 - Categories: Uncategorized

Things to remember next time I’m in New York: Jim Suto highly
recommends Little Lad’s Restaurant and Cafe, which has a USD 2.99
vegan buffet special (eat-in) of homemade soups, salads, entrees, and
breads. 120 Broadway downstairs. Totally vegan – no animal products.
Way cool!

On Technorati:

Also of note: East West Books

October 2, 2006 - Categories: Uncategorized

I picked up a pretty set of postcards from East West Books in New York City (78 Fifth Avenue at 14th). The bookstore feels great. Check it out if you find yourself in the area. It’s open daily from 10 AM to 9 PM. http://www.eastwestnyc.com , +1 212 243 5994.

On Technorati:

Sweet! The Peer Review: Graduate Studies and Academic Life

October 2, 2006 - Categories: school

I opened my mailbox to find a small publication called “The Peer Review: Graduate Studies and Academic Life.” The cover advertised an article on “The Ultimate Guide to Scholarly Publishing: Editors of leading journals tell you how to make sure your research gets published *before* you hit the job market”. It continued: “Also inside: How to memorize all of your students’ names in just one class: + why some students hate new ideas (and what to do about it).” The trailer: “Grad research: The nurture of your true nature… do fish have feelings?”

I should just take a picture of it, really. ;)

I’m sold. I don’t remember signing up for this, but the first thing I thought was, “This is a terrific idea.” The second thing I thought was, “How can I help with this?” The third thing I thought was: “How can I send them warm and fuzzy thoughts for a job well done?”

So I’ve left voicemail (although the office will be closed for a few weeks), blogged this entry, and sent enthusiastic kudos to the Peer Review folks. I would totally subscribe to this in order to keep more of this content flowing, and I would love to write for it as well.

Check it out. A casual flip-through reveals both good U-of-T-specific
content as well as lots of other helpful things.

The Peer Review

Now I’m thinking: how can we syndicate this idea to lots of other
universities? I’m sure other universities have some kind of serious
grad-student-oriented bulletin…

Crazy idea for Emacs: Random Emacs taglines

October 2, 2006 - Categories: emacs, pimpmyemacs

Would anyone happen to know of a way to select a random symbol with a

Actually. Hmm.

  (apropos ".")
  (write-file "~/.taglines.random-emacs-symbols")
  (delete-matching-lines "Plist")
  (delete-matching-lines "not documented")
  (replace-regexp "\n  " " - " nil)
  (delete-non-matching-lines " - "))

Et voila! Random Emacs taglines together with the code:

(defun sacha/random-tagline (&optional file)
  "Return a random tagline and put it in the kill ring."
  (with-current-buffer (find-file-noselect (or file "~/.taglines"))
    (goto-char (random (point-max)))
    (let ((string
           (buffer-substring (line-beginning-position)
      (kill-new string)

(defadvice remember (after sacha-tagline activate)
  "Add random tagline."
  (goto-char (point-max))
  (insert "\n\nRandom Emacs symbol: "
          (sacha/random-tagline "~/.taglines.random-emacs-symbols")

On Technorati: , ,

Random Emacs symbol: eshell-remove-entries – Function: From PATH, remove all of the given FILES, perhaps interactively.

Crazy Emacs: Personalized signatures with random taglines

October 2, 2006 - Categories: bbdb, emacs

Of course, that naturally leads to the crazy idea: “What if I can
personalize my signatures?” Knowing that Paul Lussier is an Emacs geek, I can reward him for reading all the way
to the bottom of my message… ;)

(defun sacha/gnus-personalize-signature ()
  "Personalizes signature based on BBDB signature field.
BBDB signature field should be a lambda expression.
First person with a custom signature field gets used."
  (let* ((bbdb-get-addresses-headers
          (list (assoc 'recipients bbdb-get-addresses-headers)))
         (records (bbdb-update-records
                    gnus-ignored-from-addresses 'gnus-fetch-field)
    (while (and records (not signature))
      (when (bbdb-record-getprop (car records) 'signature)
        (setq signature
              (eval (read (bbdb-record-getprop (car records)
      (setq records (cdr records)))
    (or signature t)))
(setq-default message-signature 'sacha/gnus-personalize-signature)

So then all I have to do is add the following field to his record:

      signature: (concat "Sacha Chua - Emacs geek
                 What crazy idea can I help you hack next?
                 Random Emacs symbol: "

Emacs. One crazy idea at a time. Now I can use this to select random
information, like my favorite networking books or a list of my
upcoming events…

On Technorati: , , ,

Random Emacs symbol: sort-coding-systems-predicate – Variable: If non-nil, a predicate function to sort coding systems.

Must be a better way to reserve books at the library

October 2, 2006 - Categories: library

I’m going on another reading spree, this time on relationship

At some point in time, I will be annoyed enough to write a non-(mouse
and pageload)-intensive way to say “Request all selected books and
have them delivered to my nearest branch.”

Argh. Little inefficiencies like that annoy me. That is so getting
hacked. Probably during CASCON, even.

Random Emacs symbol: Info-edit – Command: Edit the contents of this
Info node.

43folders blogger and GTD guru Merlin Mann in Toronto tomorrow

October 2, 2006 - Categories: -Uncategorized

Merlin Mann of 43Folders and uber-cool GTD/productivity lifehacking
will be in town for a podcast tomorrow (Tuesday).

I will probably not be able to go, or if I do, I’ll be cramming for
school in the background. But go and have fun!

Random Emacs symbol: auto-coding-alist-lookup – Function: Return the coding system specified by `auto-coding-alist’ for FILENAME.

So many resources!

October 2, 2006 - Categories: -Uncategorized

Every so often, I just stop and wonder what I’ve been doing with my
time. This usually happens when I go on an academic reading spree and
I rediscover just how amazing it is that the University of Toronto has
full-text access to almost everything.

I’m *so* tempted to scale back everything as much as possible and just
pack lots and lots of information into my head. ;) I want to take
advantage of all the magazine subscriptions and the huge library just
two blocks from my residence.

I love reading!

Random Emacs symbol: gnus-summary-article-header – Macro: Return the header of article NUMBER.

Misplaced index cards

October 3, 2006 - Categories: -Uncategorized

The strangely solid kerplunk I noticed when I emptied my trash into
the garbage chute may have been the sound of a full index card case
containing hundreds of index cards with notes from the Power Within
event and from a brainstorming session on goals. Maybe. Possibly.


That’s okay. Good reason to write down my goals again. I know, I’ll
make that my reward activity for the day. Once I get through all the
rest of the stuff…

Random Emacs symbol: decompose-string – Function: Return STRING where `composition’ property is removed.

Lazyweb request: dependency grapher?

October 3, 2006 - Categories: -Uncategorized

Would anyone happen to know of something that makes it easy to graph
dependencies, preferably interactively? I’d like it to be ridiculously
easy to split an entity into two entities A and B, while preserving
the inbound connections for A and the outbound connections for B. This is for a crazy goal management thing I’d like to have… =)

If it’s open source and keyboard-friendly, that would totally rock. If
not, well, I’ll sit down one of these vacations and hack something up.
Maybe Christmas. (Only two months away! eek!)

Random Emacs symbol: message-unix-mail-delimiter – Variable: Regexp matching the delimiter of messages in UNIX mail format.

The power of applause

October 3, 2006 - Categories: -Uncategorized

Listening to the Entrepreneurship 101, I find myself struck by the
silence of the rooms sometimes. Perhaps it’s Toastmasters training,
but I feel strange when transitions between speakers aren’t
accompanied by applause. I’ve been up there before. The stress of
speaking in public does *not* stop when you step off the stage. No, it
gets worse. You start wondering whether you said the right thing.
You’re sure you rambled on and that no one learned anything useful.
You retreat to your seat and agonize.


I should try applauding every transition, even if that means being the
first to clap…

Random Emacs symbol: ad-update-regexp – Command: Update functions with an advice name containing a REGEXP match.

October is crazy!

October 3, 2006 - Categories: -Uncategorized

If I disappear from the surface of the earth or blog sporadically, it
is because not only do I have a number of academic deadlines
(important!), but I also have:

Taking the Terror out of Talk
Oct 10, 6:00 – 8:00 at Metro Hall
(A Toastmasters educational module on dealing with anxiety
when speaking in public)

Oct 16 – 19, a free IT conference at which I am:

  • on a panel about Enterprise 2.0
  • presenting my research at the technology showcase
  • giving a lightning talk
  • organizing and running a “Hack Night”

DemoCamp: Livin’ la Vida Emacs
Oct 23, Monday (*UPDATE! Not 26 as originally announced)

AND the IBM Center for Advanced Studies is reviewing its proposals
this month or so, too…

So we’re looking at one major thing each week, although the truth is,
all of them are droppable if I accept the consequences.

I can do this. =)

Random Emacs symbol: group – Widget: A widget which groups other widgets inside.

Good things: KMD2004

October 3, 2006 - Categories: conference

Quote for the day: An unexamined life is not worth living. –

I come from a technical background, and the almost-sociological
analyses we need to do for this KMD2004 course on Knowledge Media,
Culture and Society actually scares me. That’s probably why I
participate the most in class – I want to test my ideas, even if that
means admitting I don’t understand something or taking a wild guess at
something else.

I’m happy with the critique I submitted today, though. Instead of the
usual bullet points, I spent some time last night and this morning
picking out the main point and summarizing other points in the
article. You can find a draft of my critique at
http://sachachua.com/notebook/school/lea.muse.html . I like it more
than the terse, almost telegraphic summaries my classmates prepared,
following the text closely. It’s less of a summary than a discussion,
and I didn’t repeat all the points during the main discussion – I just
picked out a few to talk about. I’m happy with it, although I may have
nervously rambled. I guess it’s a good sign that as I explained
things, I learned more, and I realized some of the answers to my
questions! <laugh>

I can’t take credit for another good thing that happened today, but
still. =) During the break, the person beside me turned to me and
asked if my frequent blogging examples meant that I blogged. I said,
“Sure!”, introduced myself, and handed him a business card with my
blog URL. I asked him if he blogged too, and he said that he hadn’t
updated his in a while. I asked how I could get in touch with him
anyway. Upon reading his e-mail address, I mentioned the roleplaying
I’d done in high school, and that turned into a good conversation.
(And he said he was shy! He started the conversation… <smile>)

I turned up at the MaRS Entrepreneurship 101 series and met a few people whom I want to introduce to others, so that was good. Heading over to No Regrets to catch Merlin Mann of 43Folders also netted me a few people I should follow up with.

I wish I could’ve worked more on the IBM stuff, but that just means
I’ll need to plan my morning carefully. And get up early, for once!

It was a good day, and tomorrow will be even better.

An unexamined life is not worth living. – Socrates

(I keep messing up the attribution of this quote! Socrates, not
Aristotle, not Aquinas. Socrates. Must remember; I cite it so often!)

Developing a better sense of time

October 4, 2006 - Categories: emacs, pimpmyemacs, planner, productivity

One of the things I want to do is develop a good sense of how long it
takes me to do something. Better time estimates lead to better
scheduling, better sense of what I can commit to, and ultimately less
stress and more happiness. =)

Fortunately, Planner makes it easy for me to do really detailed
time-tracking. When I mark a task as in progress, the clock starts
ticking. When I postpone or close a task, the system clocks out

I find that my attention occasionally strays. Sometime ago, I wrote a
function to help me keep track of what I’m supposed to be doing.
Today, I’ve decided to try estimating task completion times for more
of the tasks on my list. I modified my old function to tell me how
much time has elapsed since I started the task. This doesn’t take into
account previous clock-in/clock-outs, but it will do for now.

We’ll see how well it works. =)

;; I've bound sacha/planner-what-am-i-supposed-to-be-doing to F9 F11. I
;; start out by clocking into the task (use planner-timeclock.el and
;; C-c TAB to mark a task as in progress). Then, when I find myself
;; getting distracted, I hit F9 F9 to see my current task in the
;; minibuffer. C-u F9 F9 jumps back to the task so that I can either
;; mark it as postponed. M-x planner-task-pending (bound to C-c C-p in
;; my local config) and M-x planner-task-done (C-c C-x) both clock out
;; of the task. If I want to jump back to the previous window
;; configuration from that planner page, I can just hit F9 F9 again.

(defvar sacha/window-register "w"
  "Register for jumping back and forth between planner and wherever I am.")
(defvar sacha/planner-current-task nil
  "Current task info.")
(defadvice planner-task-in-progress (after sacha activate)
  "Keep track of the task info."
  (setq sacha/planner-current-task (planner-current-task-info)))

(defun sacha/planner-what-am-i-supposed-to-be-doing (&optional prefix)
  "Make it easy to keep track of what I'm supposed to be working on.
If PREFIX is non-nil, jump to the current task, else display it
in a message. If called from the plan page, jump back to whatever
I was looking at."
  (interactive "P")
  (if planner-timeclock-current-task
      (if (string= (planner-task-page sacha/planner-current-task)
          (jump-to-register sacha/window-register)
        (if (null prefix)
            (message "%s %s"
                     ;; Minutes so far
                     (timeclock-seconds-to-string (timeclock-last-period))
          (frame-configuration-to-register sacha/window-register)
          (planner-find-file (planner-task-page sacha/planner-current-task))
          (planner-find-task sacha/planner-current-task)))
    (if prefix
      (message "No current task. HEY!"))))

On Technorati: , , ,

Random Emacs symbol: cal-tex-mouse-filofax-week – Command: Two page Filofax calendar for week indicated by cursor. (Hey, I didn’t know we could print Filofax calendars from Emacs cal…)

Emacs Gnus hack: Prioritize based on the number of recipients

October 4, 2006 - Categories: emacs, pimpmyemacs

Ever found yourself confronted with an inbox overflowing with general
messages that you can ignore and messages that you and only you can
act on? Here’s something to help you sort the wheat from the chaff.

This indicates how personal messages are so you can immediately see which messages are just for you and which are part of a long Cc. Stephen Perelgut showed me the feature in Lotus Notes and I wanted to steal it sometime, so I did it while waiting for the Instant Rails archive.

To use it, add %ur to your gnus-summary-line-format.

(add-to-list 'nnmail-extra-headers 'To)
(add-to-list 'nnmail-extra-headers 'Cc)
(defvar sacha/gnus-count-recipients-threshold 5
  "*Number of recipients to consider as large.")

(defun sacha/gnus-count-recipients (header)
  "Given a Gnus message header, returns priority mark.
If I am the only recipient, return \"!\".
If I am one of a few recipients, but I'm listed in To:, return \"*\".
If I am one of a few recipients, return \"/\".
If I am one of many recipients, return \".\".
Else, return \" \"."
  (let* ((to (or (cdr (assoc 'To (mail-header-extra header))) ""))
         (cc (or (cdr (assoc 'Cc (mail-header-extra header))) "")))
     ((string-match gnus-ignored-from-addresses to)
      (let ((len (length (bbdb-split to ","))))
         ((= len 1) "!")
         ((< len sacha/gnus-count-recipients-threshold) "*")
         (t "/"))))
     ((string-match gnus-ignored-from-addresses
                    (concat to ", " cc))
      (if (< (length (bbdb-split (concat to ", " cc) ","))
     (t " "))))

(defalias 'gnus-user-format-function-r 'sacha/gnus-count-recipients)

Random Emacs symbol: dired-listing-switches - Variable: *Switches passed to `ls' for Dired. MUST contain the `l' option.

On Technorati: , , ,

Clearing e-mail clutter

October 5, 2006 - Categories: geek

I’ve set almost all of my Yahoogroups mailing lists on Special Notice
only to curb my inbox overload. I’ll reenable them as I miss them, if
I ever. =)

Random Emacs symbol: ibuffer-pop-filter-group – Command: Remove the first filter group.

Rotman School of Management: Nexus for non-profits

October 5, 2006 - Categories: business

Ushnish Sengupta told me about
Nexus, the Rotman School of
Management’s initiative for providing low-cost services to non-profit
organizations. Already in its second year of operation, Nexus has
helped many non-profits through affordable management consulting and
other services provided by MBA students and a network of mentors.

I’m glad to see that Rotman (part of the University of Toronto) is
doing cool things like that. It’s a great way for students to gain
real-world experience, and it should be fun getting to know the people
in the program.

On Technorati: ,

Random Emacs symbol: tramp-pre-connection – Function: Do some setup before actually logging in.

Minutes from meeting on Thursday

October 6, 2006 - Categories: Uncategorized

Attendance: Dave Kemp, Sacha Chua
From 2:10 to 2:30 or so

  • Apologies for miscommunication: Sacha had written down the meeting for 1:00 but for some reason thought it would be 2:00 instead.
  • Briefly discussed Sacha’s actor-network map for the economic effect of open source development in developing countries and Dave’s actor-network map for open content
  • Dave focuses more on content creators, while Sacha focuses more on “content remixers” adapting global content for a local market. MJ will focus on content distributors. Neat, isn’t it?
  • Sacha’s AN map includes proprietary content developers (notably foreign proprietary software companies), which actively try to discourage open source development and adoption. On the other hand, Dave’s AN map shows how proprietary content organizations assimilate open content (indie movies get bought up, etc).
  • Maybe our joint AN map can discuss the open economic model?

On Technorati:

Random Emacs symbol: map-char-table – Function: Call FUNCTION for each (normal and generic) characters in CHAR-TABLE.x

Check out Hack Night!

October 6, 2006 - Categories: life

In Toronto from Oct 16 to 19? Come to Hack Night on Oct 17 (Tuesday)! It’ll be fun. Free pizza, free T-shirts, computers, Net, lots of geeks… Sign up today!

Random Emacs symbol: muse-project-alist-set – Function: Turn customized version of `muse-project-alist’ into something

Book: Endless Referrals, by Bob Burg

October 10, 2006 - Categories: connecting

Endless Referrals
Network your everyday contacts into sales
by Bob Burg
ISBN 0-07-146207-4 (3rd ed, paperback)

Having gone through a majority of the Toronto Public Library’s books
on networking, I’m starting another reading sprint into relationship
marketing. *Endless Referrals* is a good primer on how to network by
focusing on what you can give to others, and it has great tips for how
to ask for referrals. The key point of the book is that people give
business to those they know, like, and trust, and the book is filled
with things you can do to build that trust.

Reading the book, I was reminded of the two nuggets
Dave Forde shared during my BarCamp session on
networking for introverts. He mentioned the F-O-R-M questions (Family,
Occupation, Recreation, Message) and the Feel-Felt-Found method for
addressing objections.

The book repeatedly emphasizes the importance of personalized notes
with pictures and contact information on them, so I might use some of
my idea capital to have some printed. I’d like to send many more notes
than I normally do. Alternatively, I could have my picture printed on
my business card, and just include that in all my correspondence.

Pages 16 to 19 list ten networking questions that work every time
because they make people feel good.

  1. How did you get your start in the … business?
  2. What do you enjoy most about your profession?
  3. What separates you and your company from the competition?
  4. What advice would you give someone just starting in the … business?
  5. What one thing would you do with your business if you knew you could not fail?
  6. What significant changes have you seen take place in your profession through the years?
  7. What do you see as the coming trends in the … business?
  8. Describe the strangest or funniest incident you’ve experienced in your business.
  9. What ways have you found to be the most effective for promoting your business?
  10. What one sentence would you like people to use in describing the way you do business?

Chapter 8 discusses how to use the Internet to help build your
network, and has good examples of how to use blogs and instant
messaging to reach out to more people.

Chapter 15 has good tips for starting an effective and profitable
networking group, which might be useful for a few people I know.

Good book. Worth reading and recommending to other people.

On Technorati:


October 10, 2006 - Categories: life

So I walk in (late) for my KMD2004 class, and who do I find
demonstrating something—Sunir Shah! He’s got this totally awesome
bibliographic wiki. I like it more than WIKINDX, although WIKINDX
still has some cool quote management stuff that I like.

Funny crossover. Small world!

Random Emacs symbol: gnus-open-server – Function: Open a connection to GNUS-COMMAND-METHOD.

Collaborative lit review

October 10, 2006 - Categories: research

Sunir Shah has gone and built a wonderful
collaborative wiki with features for lit reviews. The one for our
class is at http://meatballsociety.org/cgi-bin/kmd2004 . He will be
moving the main site to http://www.designbiblio.org sometime in

I can’t wait to play around with it. He’s even put up the readings…
Isn’t that so cool?


Random Emacs symbol: utf-8-pre-write-conversion – Function: Prepare for `utf-translate-cjk-mode’ to encode text between BEG and END.

Crazy idea: SMART goaltracker

October 10, 2006 - Categories: -Uncategorized

Goals should be S.M.A.R.T. – specific, measurable, ardently desired, realistic, time-bound. Why don’t we already have a system that makes it easy for people to measure their progress towards goals? I might build one for Hack Night. Something that takes off on Joe’s Goals and has a lot of little meters, e-mail interaction (and maybe even SMS! ;) ), daily/weekly/monthly/quarterly reminders and reports… Hmm.

This should be fun.

Random Emacs symbol: browse-url-epiphany-sentinel – Function: Handle a change to the process communicating with Epiphany.

Oh well, no takeaways

October 10, 2006 - Categories: -Uncategorized

I was going to print neat little takeaway business cards with tips on
one side and Toast I.T. club info on the other, but the printer isn’t
working today. Oh well! Good thing we have Toastmasters promo material
in our kit.

Maybe I have time to throw some quick visuals together and run through them.

Random Emacs symbol: compilation-get-file-structure – Function: Retrieve FILE’s file-structure or create a new one.

Next thing on the horizon: CASCON 2006

October 11, 2006 - Categories: conference

I survived the Toast I.T. Toastmasters Open House. Yay!

The next thing on my horizon is CASCON 2006, IBM’s free conference. We’re still not sure if my research demo is going to get yanked from the tech showcase due to patent concerns, but I’ll be helping out with a social computing panel and Hack Night is a go.

Sign up for Hack Night! Free T-shirt, computers, pizza, hacking into the night… Sweet!

Surviving October one thing at a time…

Random Emacs symbol: gnus-cite-unsightly-citation-regexp – Variable: Regexp matching Microsoft-type rest-of-message citations.

How to get to CASCON

October 11, 2006 - Categories: cascon

If you’re coming from downtown, you can take the subway to Finch and
the Viva bus from there. Three choices:

Viva Pink Get off at South Town Centre
#300 Express Get off at South Town Centre
#1 YRT Get off at Warden

Check out York Region Transit
for schedules.

On Technorati: ,


October 11, 2006 - Categories: -Uncategorized

I just got a flash of what my DemoCamp presentation on Emacs will be
like. <laugh> It’s going to be *so* diggable.

I need to plan this well. I want to completely blow the DemoCampers
away. Maybe even get a standing ovation. ;) That means I need to build
in a crescendo.

I should also figure out how to record a presentation and how to put
it up online, so that it can go live right after the event. Mwahahaha!

Note to self: Get Adsense sorted out.

Emacs: Hideshow

October 11, 2006 - Categories: emacs, pimpmyemacs

One of the things I love about vising irc.freenode.net #emacs is that helping people with their questions lets me discover all sorts of cool things about Emacs. Today’s nugget? hideshow.el, which allows you to automatically hide / show code. (Equivalent of vim folding).

I’ve added the following code to my config:

(load-library "hideshow")
(add-hook 'emacs-lisp-mode-hook
          (lambda () (hs-minor-mode 1)
            (set (make-variable-buffer-local 'my-hs-hide) t)))
(defvar my-hs-hide t "Current state of hideshow for toggling all.")
(defun my-toggle-hideshow-all ()
  "Toggle hideshow all."
  (set (make-variable-buffer-local 'my-hs-hide) (not my-hs-hide))
  (if my-hs-hide
(global-set-key (kbd "C-c @ @") 'my-toggle-hideshow-all)
(global-set-key (kbd "C-c @ h") 'hs-hide-block)
(global-set-key (kbd "C-c @ s") 'hs-show-block)
(global-set-key (kbd "C-c @ SPC") 'hs-show-block)


… and then I find that I already have a
hideshow config, of course, and that
I added it on 2003.11.21… <bonk>!

On Technorati: ,

Random Emacs symbol: timezone-parse-date – Function: Parse DATE and return a vector [YEAR MONTH DAY TIME TIMEZONE].

The Constant Connector

October 12, 2006 - Categories: connecting

I spent some time reviewing all of my blog posts that contained the keyword “networking”. I think you’ll find the results useful. =) Check out the Constant Connector page for a preview of what just might become a topic-focused blog!

On Technorati:

Random Emacs symbol: tramp-find-ls-command – Function: Finds an `ls’ command which groks the `-n’ option, returning nil if failed.

Meeting minutes from KMD2004

October 12, 2006 - Categories: conference

Started 2:20 PM
Ended 3:00 PM
Attendance: Dave Kemp, Sacha Chua

  • Talked about tentative plans for lit review. Sacha will probably choose one of the articles from AN map reference, Dave Kemp will do The Wealth of Networks (book) or maybe change his mind. E-mail each other about concepts.
  • Intervention: Press kit about the Experimental Exhibition Laboratory (EEL). Open Source, Open Access grant will fund development of the online version of the gallery under Creative Commons license (Electric EEL). If showing work, then should be released under CC. Exposing people to the ideas that they might not aware of. Gaining attention for? Project launch November or so. We can write the press kit that can be used when the gallery is formally opened in March or so. Press kit for: Eye and Now magazine.
  • Integrative summary: We will provide point form summaries, and maybe one person can take the lead in preparing the summary. Wiki: post an outline or bullet points, try to merge as much as possible. Post a summary. Then post full drafts. Individual structure: 1-2 page summary. Set up wiki. Final paper due week 9, outline up by week 7 (Oct 24). Oct 26 meeting, we’ll try running through five-minute presentations of key ideas, come up with introduction and conclusion. Week 8, seriously start working on the integrative summary.

SACHA: Set up wiki, e-mail everyone by tonight, post minutes

Week 7 (Oct 24) point form up on the wiki, maybe even a summary if you’re feeling really nice
Oct 26* 2:00 meeting run through 5-minute presentations, think about introduction and *depending on symposium
Nov 7 Seriously work on integrative summary, people should be mostly done with their backgrounder articles
Nov 14 submit backgrounder article and integrative summary
Afterwards write intervention piece

Random Emacs symbol: pcomplete-match-end – Function: Return position of end of text matched by last search.

Emacs: Quick way to collect references

October 12, 2006 - Categories: emacs, pimpmyemacs
(defvar sacha/planner-collector-buffer nil "Buffer for collecting links.")
(defun sacha/planner-collect-reference ()
  (let ((text (sacha/yank-blog-reference-for-summary)))
    (with-current-buffer sacha/planner-collector-buffer
      (insert text))))

(defun sacha/planner-collect-reference ()
  (let ((text (buffer-substring (line-beginning-position)
                                (1+ (line-end-position)))))
    (with-current-buffer sacha/planner-collector-buffer
      (insert text))))

On Technorati: ,

Random Emacs symbol: sgml-tag – Command: Prompt for a tag and insert it, optionally with attributes.

Emacs and a British voice

October 12, 2006 - Categories: emacs, pimpmyemacs

There’s something about deep, deep cultural programming. Anything
spoken with a British accent just sounds infinitely cool. Everyone
uses the default voice for Asterisk and all of that – an American

You want to install festvox-rablpc16k or festvox-rablpc8k in addition
to all the usual things you need for emacspeak. You’ll also need
espeakf from CVS.

cvs -d:pserver:[email protected]:/cvsroot/espeakf login
cvs -z3 -d:pserver:[email protected]:/cvsroot/espeakf co -P espeakf
cd espeakf
sudo make install

One of these lines is responsible for setting up espeakf. I just can’t
be bothered with figuring out which. ;) Probably the dtk-program line.

(setq dtk-program "/usr/share/emacs/site-lisp/emacspeak/servers/espeakf.pl")
(setenv "DTK_TCL" dtk-program)
(setenv "DTK_PROGRAM" dtk-program)

Then add this to your /etc/festival.scm:

(set! voice_default 'voice_rab_diphone)

Yummy British accent goodness.

On Technorati: , ,

Random Emacs symbol: mail-extr-disable-voodoo – Variable: *If it is a regexp, names matching it will never be modified.


October 12, 2006 - Categories: -Uncategorized

I love looking back at the day and knowing that I finished everything
I set out to do. I can get rid of so much stress simply by keeping my
horizon in mind, choosing the one or two things that could make the
most difference in my life right now, and doing those things.

Today, I got my MIE assignment out of the way. It won’t be due for
another 6 days, but it’s one of the things with high importance and a
hard deadline. The sooner I finished it, the sooner I could
concentrate on other requirements that might have softer deadlines.

If my task list looks scarily detailed, just wait until you see my
time log. ;) I find it handy to account for as much of my time as
possible while still blocking in treats to reward myself with and time
to relax. Today, I rewarded myself by organizing a small get-together
for tomorrow night. I’ll need something to look forward to! First snow
today, and lots of work to be done at IBM tomorrow…

… but today was good, and it’s nice having the feeling that things
are more or less under control.

I’m still probably going to do more than one headless-chicken
impressions over the next few weeks. I’ve taken on quite a set of
challenges. I have no idea if I can really pull all of it off, or how
gracefully I can drop things if nevessary. But just as I force myself
to speak before I’m 100% ready, I’m going to step up and do things
even though I’m not sure how it will all work out. I’m going to jump,
and grow my wings on the way down!

One day at a time becomes one week at a time becomes one year at a
time becomes one life at a time. =) Things are going well.

Random Emacs symbol: gnus-article-strip-all-blank-lines – Command: Strip all blank lines.


October 13, 2006 - Categories: -Uncategorized


I’m still…

Simon told me the story of his first project. There is *no* way I can
do it justice. If you ever hear him tell it, you’ll understand
instantly why I can’t help but say “Wow.”

Here is someone who makes things happen. Even if his back is to the
wall, he won’t give up – he’ll find a way to make things work.

Simply by being, he inspires me to push beyond myself.

He’s amazing.

Bus updates for Hack Night

October 13, 2006 - Categories: life

FYI, the YRT changed their bus routes back in April – the #1 doesn’t
go to Finch anymore, it stops at Richmond Hill. Also, the Pink stops
running after 9am and doesn’t start up again until 3 or so and stops
again at 6-something, so the alternative to the Pink for those staying
late for Hack night would be purple viva + whatever buses go to finch,
which includes the blue viva and the 91 or the 99, I forget which.

E-Mail from Karen Quinn Fung

Random Emacs symbol: inhibit-quit – Variable: Non-nil inhibits C-g quitting from happening immediately.

Of all the days

October 14, 2006 - Categories: ibm

I knew I was going to have a potentially difficult teleconference call
to determine the IP concerns for my research, so I decided to dress
interestingly. IBM dress code isn’t strict at the Center for Advanced
Studies because we’re expected to be geeky researchers, and I knew I
could get away with it. Besides, Fridays during off-seasons, there’s
hardly anyone there.

So I decided to wear the skirt Kathy gave me. I thought I might as
well get a few more uses out of the skirt before winter really set in.
The skirt naturally suggested this whole pink outfit: a heavy maroon
corduroy shirt/jacket, a pink T-shirt, a plaid miniskirt, and shocking
pink tights. Fortunately I didn’t have pink winter boots, only black
ones! ;) (Despite all your assurances, Kathy, it is *NOT* a winter

In the middle of cramming my presentation for the teleconference, I
heard the distinctive clicking of the shutter of an SLR camera. I grew
up around photographers. I’d know that sound anywhere. I looked up to
find five or so people standing in the middle of the Center for
Advanced Studies. One of them has a serious-looking camera, and he was
pointing it in my direction.

“This is just perfect,” said the person who appeared to be in charge,

I stopped slouching and looked around. There was no one else in my
corner of the lab: just my desk, the brightly colored kite dangling
from my wall, the wobbler toy I occasionally talk to when I podcast,
and me in a shocking pink outfit.

They said that they’d talked to my manager already.

I pushed up my glasses and touched my hair, self-conscious about a
messy ponytail. I’d gotten just five hours of sleep and hadn’t had the
time to put it in a bun.

“Oh, don’t worry, it’s just for a poster for IBM 3600. We want to show
them what the Lab is like.”

I smiled while thinking, “Oh no oh no oh no…” Of all the days to
catch me in a miniskirt and shocking pink tights. Then again, it
would’ve been a tossup between that or a brilliantly colored malong.

And hey, if word got out that IBM technology gets invented by cute
girls… ;)

I suppose that dressing conservatively would allow me to avoid stuff
like that, but then it wouldn’t be *nearly* as much fun. Although
maybe I should start seriously looking for ethnic accents like scarves
and stuff like that, so that I can still spice up a conservative-ish

Another interesting thing is that this was the second time my desk has
turned up in promotional material. Apparently, my desk was included in
a recently filmed video about the Center for Advanced Studies,
although I wasn’t there at the time.

Possible explanations:

  • The brightly-colored kite and stash of hot chocolate packets at my desk give it far more character than other grad students’ desks.
  • They want to archive potentially embarrassing material for when I’m famous. ;) “See, this was her first IBM desk!”

Heh. IBM. Gotta love the place.

On Technorati:

Whew! Midterms done

October 16, 2006 - Categories: school

I’m not too happy with my performance on the midterms, but there’s no
use worrying about it now. I’m surviving this crazy month!

I’m so tempted to write down each milestone on index cards just for
the visceral satisfaction of tearing them up once I’m finished with

Ah, what the heck. I have plenty of index cards. MWAHAHA! Let me write
down “MIE1402 Midterm” just so that I can tear it up! ;)

More cramming

October 16, 2006 - Categories: school

I realized that I’d forgotten Alvin’s poster in the lab, so I trekked
back there to pick it up. The walk wasn’t a total waste, though. I
breezed through some 400 blog posts (out of 1200 or so) from IBM’s
blogs in October.

More cramming to follow. I need to work on my KMD2004 requirements.
Then I need to work on adapting the dogear tagclouding code so that we
can make tagcloud T-shirts. After I finish that, I can quickly sort
out my CASCON schedule so that I know how crazy tomorrow will be.
Fortunately, I don’t have to present anything at either Wednesday’s
workshop or Thursday’s panel. I just have to show up and be

After I survive this, I’m treating myself to a musical! (And *then*
there’s DemoCamp to pull off…)

During times like this, I wish Simon lived closer downtown.
<laugh> Then I’d have some company while cramming, and a steady
supply of hot chocolate. Speaking of hot chocolate – we tried the
spiced hot chocolate from Soma last Sunday. I followed the
instructions, whisking it over low heat until it was smooth. It was
terrific, although tsokolate eh from Tsoko.Nut was still much better.

Anyway. Little breaks are good for sanity. Maybe we’ll hook up the
headsets later so that we could be doing things separately but still
prompt each other to relax. My cellphone plan has unlimited incoming
anyway, and he can use his home line to call for free. I guess
Canada’s telecom pricing was *just* right after all…

Random Emacs symbol: w3m-halfdump-command-arguments – Variable: Arguments passed to the w3m command to run “halfdump”.


October 16, 2006 - Categories: -Uncategorized

Wow. This timing thing is freaky. It’s *fun* to dash off a few quick
estimates of how long something will take me, do the task, and find
myself almost right on the mark.

I don’t know if that means I’m getting better at estimating how long
I’ll take to finish something, or if work expands to fit available
time. ;)

Random Emacs symbol: whitespace-toggle-leading-check – Command: Toggle the check for leading space in the local buffer.

On the other hand…

October 16, 2006 - Categories: -Uncategorized

On the other hand, it’s great when something takes you a third of the
time you thought it would! =)

It took me 30 minutes to summarize an article in 494 words. I had read
the article before, though, and knew what the key points were. 16
words a minute means my bottleneck is thinking, not typing… <laugh>

Random Emacs symbol: eshell-error-handle – Variable: *The index of the standard error handle.

Waiting for the keynote

October 17, 2006 - Categories: conference

I am seated front and center for the CASCON keynote, having decided to
run off my laptop battery so that I don’t have to sit near the edges
of the room.

My jeans are spattered with mud (and possibly cement) from the
construction site that I had to walk through in order to get to the
Hilton. The pouring rain wasn’t kind to me, either, and there was an
appalling lack of sunlight at 7:30 in the morning. I guess winter is

Despite that, I am here. In one piece. And suitably well-fed. I may
yet survive the day.

I’ve put up Alvin’s poster in the technology showcase. Mine doesn’t
look so intimidatingly empty after all, what with the provided signs.
If I have to, I can just handwave.

Ah, there’s another thing I forgot to do: print out something
interesting for the back of my laptop. And print business cards. The
lab printer’s broken, so I didn’t get to print them last night.

It begins.

Address from Martin Wildberger

October 17, 2006 - Categories: cascon

Martin Wildberger opened by reexamining IBM’s motto, “Innovation that
matters”. One of the key things we struggle with is making sure that
what we do matters, and one of the ways to do that is through
collaboration. CAS is about meeting of minds of industry and academe
to germinate ideas.

Wildberger also commended Kelly Lyons, who heads the CAS program for
the Toronto Lab. Last night in Winnipeg, the CAS program received a
very prestigious award: the NSERC Leo Derikx Award for Synergy.

He showed a video clip from last night’s awarding ceremony. (Hey! That
was my desk! Kelly and Luanne borrowed my desk! <laugh> You can
tell – my e-mail address is actually readable for a second…)

He then went on to thank NRC and introduce Christian Couturier,
Director General of the Institute for Information Technology, National
Research Council Canada.

On Technorati: , ,

Random Emacs symbol: diary-cyclic – Function: Cycle diary entry—entry applies every N days starting at MONTH, DAY, YEAR.

Address from Christian Couturier, NRC

October 17, 2006 - Categories: cascon

Christian Couturier spoke about the importance of ICT and rattled off
a number of areas that would not be possible without ICT. He also
thanked those who helped make the conference a reality.

Introduced technical program co-chairs:

  • Eleni Stroulia, University of Alberta
  • Hakan Erdogmus, National Research Council, Canada

On Technorati: , ,

Random Emacs symbol: gnus-nntp-server – Variable: *The name of the host running the NNTP server.

Technical co-chairs

October 17, 2006 - Categories: cascon

Eleni and Hakan joked a bit about their ethnic origins (Greek and
Turkish), gave a few statistics for paper submissions, and announced
the best papers. Ooh, Ian Bull gets a Lenovo Thinkpad for having the
best Student Paper!

On Technorati: , ,

Random Emacs symbol: event-apply-shift-modifier – Function: Add the Shift modifier to the following event.

CAS Dublin

October 17, 2006 - Categories: cascon

The CAS Dublin team linked up through videoconferencing. The speaker
highlighted four key fields: high performance computing, software
engineering, visualization, and computational analytics and language.
He presented awards for best paper and best student paper.

On Technorati: , ,

Random Emacs symbol: eshell-post-command-hook – Variable: *A hook run after each interactive command is invoked.

OMG. Girls have the geek gene, too?! NO WAY!

October 18, 2006 - Categories: cascon, women

Girls have the geek gene, too, reports Jen Gerson of The Toronto Star. Read it and weep.
Goodness gracious, someone *please* tell me that this is a satire
article appearing in The Onion, not a serious article appearing in the
I.D. section of a major newspaper.

The opening sentence starts the same way as most articles about women
in technology, making us feel like an endangered species. (Crikey!)
But then it gets worse, and worse, and worse. I feel like printing and
framing it.

I.D. chatted with one of the key speakers, Dr. Telle Whitney,
president of the Anita Borg Institute for Women and Technology, about
why young women are frightened by the prospect of joining a field
dominated by intelligent men who have no idea how to please them.

The things I could say about this…

So, women and technology. Why do they need their own symposium?

Because we’re afraid of cooties. Snark snark snark.

Do you think fewer women are getting involved in technology because they’re
not as interested in it, or are they just not smart enough?

Could you possibly have a more provoking question if you tried?

But tech companies, they paint their electronics pink. Shouldn’t that draw
women in?

Apparently you *can* have a more provoking question.

So pink is not the way to go, for attracting women?

I like frilly interfaces and flowers myself. NOT.

Should we bring more women in? Aren’t there few enough jobs in technology
that we need to bring women too, into it?

Completely missing the point!

But how is it that women can juggle making computers with making babies?


But are the babies disruptive to the computers? How do you trust babies
around all that sensitive equipment?

More than I’d trust a certain reporter, apparently.

The following segment is just… horrible.

  • Q Is Anita Borg a real name?
  • A Anita Borg was the founder of the Institute.
  • Q Was that before Star Trek: The Next Generation, or after?
  • A It was really her name.
  • Q Bad luck.
  • A She passed away a few years ago from brain cancer. She was a very dear friend of mine and I took over here a few years ago.
  • Q Oh. I’m a terrible human being. Is that what you’re saying?
  • A No no, she used to have these big pictures of Borg all over her house. She was a Star Trek fan.

There are no words to explain how terrible the article is. It is
downright irresponsible of the Toronto Star to publish something this
insensitive and disrespectful, considering the pressures that are
already on women in technology.

Should we cut Jen some slack just because she’s a fourth-year Ryerson
University journalism student, or the Toronto Star for giving its
columnists free rein? At what point are journalism students supposed
to gain common sense? Jen asked those questions, typed up the
interview, and the Toronto Star published it. At what point was
someone supposed to go, “Wait a minute, what is this article saying?”

ARGH! Read, blog, link, whatever: clueless journalist. Her e-mail address is [email protected] . Help her learn not to do that again.

On Technorati: , , , ,

Random Emacs symbol: compilation-find-file – Function: Find a buffer for file FILENAME.

I miss cooking

October 20, 2006 - Categories: cooking

Now that I’m back from CASCON, I can think about cooking again. For
example, tomorrow, I am going to have a proper breakfast!

So I need to go buy groceries sometime. Hmm. I still have plenty of
pasta to work through, but I need to combine that with some kind of
veggie. Now is a good time to go through the meat in the freezer, too.
I might as well.

I think I’ll grab a pita, head back to the dorm, inventory my fridge,
plan out my week, pick up some staples at Dominion, and then get back
to blogging.

Random Emacs symbol: shell-directories – Group: Directory support in shell mode.

Notes from CASCON2006: Passion is the key to Web 2.0

October 20, 2006 - Categories: cascon

What do you as an individual need to do to make the most of Web 2.0?
In the middle of answering this question as part of the Enterprise 2.0
panel at IBM CASCON 2006, I realized that nothing else is as important
as passion. Passion leads to Web 2.0 success.

Passion > skill

I had started off thinking that communication skills were essential to
making the most of blogging and other Web 2.0 opportunities. But I
only learned how to write because I stumbled across something I wanted
to write about.

Web 2.0 can help you find out what matters to you, and you can share
that with the world. The most valuable thing you can do to make the
most of Web 2.0, to make the most of *life*, is to find out what makes
you uniquely you. That’s how you get visibility. That’s how you get
audience. And that’s how you’ll rock your world.

Passion is more important than skill. You can learn anything you want
to – if you want to. Passion will drive you to learn how to write, to
blog, to link, to embed pictures and widgets. You can develop
technical and communication skills along the way, but you *have* to
give yourself permission to be bad before you can be better.

Write for an audience of one

A lot of people give up after posting a few entries on their blogs,
discouraged by the lack of response. REALITY CHECK: You are not going
to win any prizes for your first few blog posts. You are going to be
BORING. Your coworkers might visit your blog out of curiosity, but
they probably won’t come back.

Writers don’t win accolades for their first drafts. Scientists don’t
do their best work as undergrads. They all had to practice. They all had to develop their skills.

Write. Write for an audience of one. Write and write and write until
you know what you’re talking about. You’ll feel some topics click with
you. When you’ve written something you can’t help but tell other
people about, you’ve got yourself a blog.

So what’s Web 2.0 about this? Can’t you do this with a paper diary,
too? Sure. But with Web 2.0, you can share your thoughts with
thousands and thousands of other people who can give you suggestions
and encouragement. You can be searchable. You can become an expert in
your area.

But it all starts by writing for an audience of one. If you have other
readers, great. Listen to them, but don’t be afraid to lose them in
order to follow your voice.

You’re either visible or you’re dead

Where can you find the time to do all of this? You make time for it.
You have to. Stephen Perelgut pointed out
that in the coming age, you’re either visible or you’re dead.

The cost of *not* getting into blogging will be really high.
Traditional networking methods such as face-to-face meetings, phone
calls, and e-mail will still be effective. However, blogs give
bloggers so much of an edge when it comes to finding their passions,
discovering common interests and building collaborative relationships.
Can you afford to be outside this conversation?

Start today

Find your passion and learn how to share it with others. That’s how
you can make the most of Web 2.0. Browse through bookmarks at
del.icio.us and see what strikes you. Bookmark
websites and see how your tag cloud evolves. Read blogs and find out
what you resonate with. Blog. Comment. Link. Share. Blog some more.

Web 2.0 can help you find Life 2.0. Have fun!

On Technorati: ,

Random Emacs symbol: gnus-topic-forward-topic – Function: Go to the next topic on the same level as the current one.


October 22, 2006 - Categories: -Uncategorized

<laugh> Okay, this not-working-on-Sunday thing is driving me
nuts. I can’t just sit around and do nothing all day; I have to be
doing something! <impish grin> Maybe I should set aside Sunday
evening for catching up with people, and Sunday (day) for a Hack Day
or some other form of stretching myself. Mama’s right – sleeping until
noon is no way to spend a day. Not only does it throw my sleeping
patterns off, but it throws me off as well.

And to think that I’ve got such a backlog of blogging…

There’s nothing wrong with being on the computer on Sundays. <laugh>

Random Emacs symbol: remprop – Function: Remove from SYMBOL’s plist the property PROPNAME and its value.

Excited about my DemoCamp presentation!

October 23, 2006 - Categories: democamp, emacs, pimpmyemacs

I’ve written a totally small-time presentation thingy that cues me thanks to Emacspeak. ;) Here’s the setup code:

(progn ;; Setup
  (defvar democamp/presentation-file "~/democamp.el")
  (defvar democamp/cue-buffer "*DemoCamp*")
  (defun democamp/next ()
    (let (start sexp)
      (with-current-buffer (find-file-noselect democamp/presentation-file)
        (setq start (point))
        (setq sexp (buffer-substring-no-properties start (point))))
      (eval (read sexp))))

  (defun democamp/previous ()
    (let (start sexp)
      (with-current-buffer (find-file-noselect democamp/presentation-file)
        (setq start (point))
        (setq sexp (buffer-substring-no-properties (point) start)))
      (eval (read sexp))))

  (defun democamp/repeat ()
    (let (start sexp)
      (with-current-buffer (find-file-noselect democamp/presentation-file)
        (setq start (point))
        (setq sexp (buffer-substring (point) start))
      (eval (read sexp))))

  (defun democamp/say (text)
    (with-current-buffer (get-buffer-create democamp/cue-buffer)
      (insert text)
      (goto-char (point-min))
      (call-interactively 'emacspeak-speak-buffer)))
  (global-set-key (kbd "") 'democamp/next)
  (global-set-key (kbd "S-") 'democamp/previous)
  (global-set-key (kbd "C-") 'democamp/repeat)

On Technorati: , ,

Random Emacs symbol: gnus-multiple-choice – Function: Ask user a multiple choice question.

Demo camp: Online grading and code review

October 23, 2006 - Categories: democamp

The online grading and code review system demonstrated by Greg Wilson‘s students from the University of Toronto is really cool, and the kind of thing I’d love to see open-sourced and spread. I know my alma mater would find it handy!

Things I particularly like about it:

  • You can highlight a region and attach either a predefined comment or a new comment.
  • The support for rubrics makes grading much easier and more consistent.

Hmm, maybe the student view can be improved by making it easier for students to see all their projects.


  • Per project views, etc.
  • Accessibility guidelines
  • Downloadable spreadsheets
  • Usable for code reviews for open source projects? Won’t be grading, of course, but interesting for annotation…

The developers said that Turbogears made development much easier. One of the biggest challenges that faced them was cross-browser Javascript. Another is that the school uses a different authentication system (Kerberos) than the one used by Turbogears.

On Technorati:

Random Emacs symbol: nnvirtual-find-group-art – Function: Return the real group and article for virtual GROUP and ARTICLE.

Demo Camp: Quotiki

October 23, 2006 - Categories: democamp

Quotiki has live search for quotes, which would be good if it was more
responsive. For example, the search “caesar” just shows the results
for “ca” even after a while. Tagging and bookmarking is great, of
course, and if I can get a fortune file or RSS for my favorite quotes
(there *must* be an RSS feed for this and all the other views), then
that would be fun to pull into my blog.

Hmm. They’ve got some kind of hyperlinking going on when you hover
over the quote, which may make it difficult to copy the text.

A podcast of quotes, too. Hmm. It’s nice to go into the history of
these quotes. =)

Hmm, interesting. Stumbledupon gave them lots of traffic.


  • Digg-style: Add some information to the large graphic elements at the left of each quote.
  • Blog widgets! Lots of blog widgets! QOTD, random quote, stuff for the sidebar…

On Technorati:

Random Emacs symbol: muse-replace-regexp-in-string – Function: Replace REGEXP with REPLACEMENT in TEXT.

Demo Camp: Broken Tomb: The world’s first commercial Smalltalk host

October 23, 2006 - Categories: democamp

Look! It’s the Demo Camp of the Living Dead Languages! =D

Smalltalk is a fun language. I ran into it when a friend told me about
Squeak, which is this *totally* awesome little 3D Smalltalk
environment which you should try if only so that it can warp your

I would do more Smalltalk, but Squeak is not fun to use when you don’t
really have a mouse. =) Maybe when I get a proper computer.

But really, it’s adorable!

Okay, the demo is back on track. Okay… AJAX for Smalltalk… <laugh>

Murphy’s Law unfortunately strikes again. I’ll check this out later.


Random Emacs symbol: nnmail-purge-split-history – Function: Remove all instances of GROUP from `nnmail-split-history’.

On Technorati:

PBJ 1.0

October 23, 2006 - Categories: democamp

Kudos to the presenter for structuring the presentation for quick and early audience participation, and for taking on the challenge of writing something in realtime! =) He’s doing a quick tic-tac-toe game with the help of some PHP code he prepared before and a framework called PBJ, which isn’t linked on the Democamp site and is near-impossible to search for.

Look at that, programming with maybe a hundred people in the
audience catching missing parens and stuff like that. =)

On Technorati:

Random Emacs symbol: gnus-article-washing – Group: Special commands on articles.

Hello world

October 23, 2006 - Categories: democamp

This is a blog entry

On Technorati:

Random Emacs symbol: eshell-script-load-hook – Variable: *A list of functions to call when loading `eshell-script’.

Emacs presentation was a blast!

October 23, 2006 - Categories: democamp

Had too much material (of course), but had tons of fun anyway. =)
Blew people’s minds. Yay!

On Technorati:

Democamp a blast! Blew their brains to bits

October 24, 2006 - Categories: democamp, emacs

I set out to geek the heck out of Toronto’s hippest geeks, and I did.
I showed them Emacs as they’d never seen it before—and even that was
a tiny fraction of my config. Lots of cool stuff behind the scenes,
too. When I showed them M-x doctor (the Emacs psychotherapist),
someone shouted out, “Is Emacs talking to you?” I laughed and
continued. What I *really* should’ve done was break the sequence of my
presentation, hook up the speakers, and tell them about Emacspeak –
presentation sequence be darned. ;) Oh, if they only knew how easy it
was to make jokes reality under Emacs! I remember writing my ‘bot
implants’ – the hippie-expand code I used to answer questions really
really quickly on IRC…

Anyway. That was FUN. And it was relatively easy to get through,
especially with the cue system I made (Emacspeak rocks!). I’ll talk
about that some other time. It’s a really cool hack and well worth exploring.

SO. The democamp.ca folks will eventually get
around to posting a vidcast. In the meantime, I have a 431MB MPEG
movie that I need to either downsample or cut up in order to put
online, maybe on YouTube. I don’t have
enough memory or hard disk space to play around with this (have you
seen my computer?!), but I’ll happily put the video up if we can
figure out how to go about doing that.

If you enjoyed the talk, missed it, or just want to hear/see me bounce
up and down about Emacs some more, come to the Linux Caffe
on Saturday (Oct 28, 2006) from 1:00 PM to 3:00 PM. I’ll be there,
and we might even see about having some kind of mini-show / vidcast. I wonder if
David has a projector. =)

That was fun! Can’t wait to do it again!

On Technorati: , , , ,

Random Emacs symbol: comint-input-sender-no-newline – Variable: Non-nil directs the `comint-input-sender’ function not to send a newline.

Terrible at remembering names?

October 24, 2006 - Categories: connecting

Check out this teacher-oriented article What’s Your Name Again? by Mary !McKinney. It starts:

“I’m terrible at names,” complained my friend Steve. He’s a respected professor of
entomology who is fascinated by ugly bugs that make many of us shudder. “Really?” I
asked. “How many species of beetles can you identify by name?”


On Technorati:

Random Emacs symbol: comint-input-ignoredups – Variable: *If non-nil, don’t add input matching the last on the input ring.

Not among strangers

October 24, 2006 - Categories: democamp

It’s amazing, looking out over a crowd of some 70 people and realizing
that very few of them are strangers. It was my first
DemoCamp presentation. I
jumped at the opportunity to wear my beautiful white suit (I *love*
that outfit!), but neither the suit nor the stage (MaRS is big!)
imposed any distance whatsoever. It felt as if I was sitting around a
table with good friends who indulged me by listening to an
enthusiastic demonstration of my latest cool hacks.

It helped that there was a low table that I could put my computer on
so that I could do my demo without hiding behind the podium. (I hate
podiums and other things that stand between me and the rest of the
people!) The microphones were good, too. I left the podium microphones
in place, and my natural presenting voice was strong enough to get
picked up without effort. And of course, a warmed-up sympathetic crowd
was just *wonderful* to work with… =)

I can’t wait to work on a few more things. A lower voice might be
easier to listen to, as long as I can still keep my warmth and humour.
A slightly higher table would’ve been nice. More structure for the
hacks, maybe a clearer message? But it was a fun presentation, and I’m
glad I got the chance to show people something crazy and fun.

I’d like to refine this presentation even further. I have an important
message I want to share with as many geeks as possible. I want people
to push the boundaries, to imagine what’s possible when software can
be customized to that extent. Maybe the benefits will trickle down to
everyone else, the way wild ideas in research prototypes can be taken
into the mainstream…

On Technorati: , ,

Random Emacs symbol: emerge-revisions-with-ancestor – Command: Emerge two RCS revisions of a file, with another revision as ancestor.

Awww, good karma

October 24, 2006 - Categories: goodkarma, happy

You are really becoming an great speaker ;)
btw, I was hanging around the back and overheard people asking if you had
gone yet – apparently you were the only thing they were there for! awesome!

E-Mail from Mike Tsang

On Technorati: ,

Random Emacs symbol: color-values – Function: Return a description of the color named COLOR on frame FRAME.

10 rules for staying young

October 24, 2006 - Categories: life

Via Quinn, who got it from Richard, who got it from Dave Pollard, George Carlin’s 10 rules for Staying Young:

  1. Throw out nonessential numbers. This includes age, weight and height. Let the doctors worry about them. That is why you pay “them”.
  2. Keep only cheerful friends. The grouches pull you down.
  3. Keep learning. Learn more about the computer, crafts, gardening, whatever. Never let the brain idle. “An idle mind is the devil’s workshop”. And the devil’s name is Alzheimer.
  4. Enjoy the simple things.
  5. Laugh often, long and loud. Laugh until you gasp for breath.
  6. The tears happen. Endure, grieve, and move on. The only person who is with us our entire life is ourself. Be alive while you are alive.
  7. Surround yourself with what you love, whether it’s family, pets, keepsakes, music, plants, hobbies, whatever. Your home is your refuge.
  8. Cherish your health: If it is good, preserve it. If it is unstable, improve it. If it is beyond what you can improve, get help.
  9. Don’t take guilt trips. Take a trip to the mall, even to the next county; to a foreign country but not to where the guilt is.
  10. Tell show the people you love that you love them, at every opportunity.

On Technorati:

Random Emacs symbol: byte-goto – Variable: Byte code opcode for unconditional jump.

Postfix TLS problems

October 24, 2006 - Categories: geek

It looks like my mail authentication has very quietly broken behind
the scenes. I’ve been using SSH tunnel to get out to another host, and
then TLS to authenticate against Jijo’s mail server.

I think TLS is no longer doing its job, which is why Jijo’s mail
server is now rejecting all my mail. How do I go about troubleshooting

Hmm. HANG ON A SEC. This is dodgy.

telnet localhost 10025
Connected to localhost.localdomain.
Escape character is '^]'.
220 pd7mf1no.prod.shaw.ca -- Server ESMTP (Sun Java System Messaging Server 6.2-2.05 (built Apr 28 2005))
HELO sachachua.com

That’s not the server I’m looking for! The port is supposed to be
forwarding to mail.hosting.qsr.com.ph. I think Shaw may have just
started transparently fiddling with its SMTP out.

That’s not good. I don’t know if I can find another way out, as I
think Grad House or the university blocks port 25 out…

I rock! Mail back online

October 24, 2006 - Categories: geek

Stymied by the sudden breakage in my mail setup, I racked my brain
for another way to get to the mail server in order to deliver my mail.
None of the shell accounts I had on other systems were active, and
none of the people I pinged were online.

I remembered that /etc/services was a list of well-known ports. If
mail.hosting.qsr.com.ph was listening on another standard port, that
would be a good place to find it. Searching this file for “smtp”
turned up port 25 (smtp) and port 465 (smtp over SSL).

A quick check confirmed that port 465 was accessible from my computer
even without tunneling.

All I had to do, then, was set up my mail system to use the new port.

I tried putting the port in directly. I also tried playing around with
the configuration, but I couldn’t find a clear tutorial.

I found stunnel along the way. Stunnel is a generic SSL tunnel for any
network service, and it was really easy to set up. Here’s my
/etc/init.d/stunnel-mail based on
http://www.technovelty.org/linux/tips/exim4ssmtp.html :

case "$1" in
    echo -n "Starting ssmtp tunnel "
    start-stop-daemon --start --quiet --exec /usr/sbin/stunnel -- -c -d ssmtp -r mail.hosting.qsr.com.ph:ssmtp
    echo "stunnel."
    echo -n "Stopping ssmtp tunnel "
    start-stop-daemon --stop --quiet --oknodo --retry 2 --exec /usr/sbin/stunnel
    echo "stunnel."
    $0 stop
    sleep 1
    $0 start
    echo "Usage: /etc/init.d/ssmtp-tunnel {start|stop|restart|reload|force-reload}"
    exit 1

Then it was just a matter of adding new entries to my sasl_passwd file
and regenerating the map.

Nothing like a good problem solved!

Random Emacs symbol: visible-frame-list – Function: Return a list of all frames now “visible” (being updated).

Whoops, a little too hasty with the rm there

October 24, 2006 - Categories: geek

I accidentally deleted the second half of my workshop recording. Which
is a pity, as it turns out you can get a fair bit of quality out of a
plain recording.

Wow. The first one’s not bad at all.

Random Emacs symbol: dump-emacs – Function: Dump current state of Emacs into executable file FILENAME.

mencoder rocks for editing movies

October 24, 2006 - Categories: democamp

I used my Sony Cybershot digital camera to take a video of my
presentation at Democamp
last night. The file weighed in at 400+ MB! After a bit of trial and
error, I figured out how to use mencoder to crop to just me bouncing
up and down and talking excitedly about Emacs. =) Here’s the
incantation I’m currently using:

mencoder -ss 111 -vf crop=275:300 mov07578.mpg \
         -of mpeg -oac mp3lame -ovc lavc -o emacs.mpg

I might need to tweak it a bit more. Still, mencoder is fun!

On Technorati: , ,

Random Emacs symbol: w3m-w3m-retrieve – Function: Retrieve web contents pointed to by URL using the external w3m command.

Progess report

October 25, 2006 - Categories: ibm, research

I’ve been with the IBM Toronto Center for Advanced Studies since
February, and it’s time to make a progress report. What have I done in
the past eight months to create value for them and work on my

My work seemed pretty random in the beginning. I spent a fair bit of
time just getting the feel of IBM, learning about the different
services on IBM’s intranet and making sense of the blogosphere. I had
to be told to concentrate several times! ;)

The funny thing is that this random casting-about is probably *just*
what I needed to do. My blog helped me meet other people working in
the space, and I learned about visualizations and resources that I
wouldn’t have come across on my own.

The prototype that I made for kicks might be an interesting tool. The
researchers I talked to found it novel…

What’s next?

I need to sit down and just build the darn tool. I think it’ll take me
two, three weeks for the search engine, maybe another week for the
aggregator. I already have most of the code. November will be my
intensive hacking month, so don’t expect to hear much from me externally.

Then I need to test the tool with people so that I have data that I
can write up during my vacation. Early December?

On Technorati: ,

Random Emacs symbol: w3m-url-authinfo – Function: Return a user name and a password to authenticate URL.

Alumni networks and business networking sites

October 25, 2006 - Categories: connecting
The Greater IBM Connection

My notes from last month’s Greater IBM
networking party are in my backpack, just in case I find
the time to write a trip report. They get me thinking: how useful are
alumni networks, anyway? How can we use social networking to support people even when they leave an organization?

Pauline Ores pointed out that alumni need to find:

  • Candidates for open job positions in their company
  • Jobs for themselves or other people in their network
  • Clients or vendors

There’s also a fourth need that I think alumni will definitely
appreciate: keeping in touch with people in the organizations they’ve
left behind, even when those people have moved on to other

Hmm. Are any of these needs compelling enough for some people to
actively participate in a space, or can they be handled by basic
social networking without the additional structure of an IBM group?

What value can IBM bring? I’ll split this up into several blog posts
and reassemble them into an article when we’re done thinking out loud.
Here’s one of them.

Looking for candidates for an open position

IBM hiring is a vote of confidence in the person. Experience at IBM
may be an asset that employers could look for. Would people explicitly
search for IBM alumni when looking for candidates to fill a position.
Does IBM want to encourage and support that?

We’re looking at two use cases:

  1. Finding a list of people who are interested in a different position
  2. Advertising an open job position

It’s unlikely that business networking sites will ever support case

as such information is sensitive. Would you indicate on your
profile that you’re looking for a different job? Probably not.

Case 2 can already be done with current business networking systems.
LinkedIn allows people to post job
advertisements to their personal network. People can see these job ads
when they log in. A group affiliation allows you to be part of a
larger network without having to make all the connections yourself,
which is useful.

If organization networks and other affiliations were automatically
considered part of your personal network, the volume of information
from IBM and all your other affiliations could be overwhelming.
Filtering will become essential as volume grows. A smart social
networking site would make it easy to filter displayed jobs by area of

Jobs advertised through second- orA third-degree personal networks
make sense because of referrals. Does it make sense to use second- or
third-degree affiliations in your network? I think that affiliations
might only be useful for the immediately-connected.

How would it work? If I want to advertise a position, it would be
useful to be able to either explicitly activate a network (such as my
Toastmasters network if I’m looking for people with good public
speaking skills) or advertise to all my networks. It wouldn’t make
much sense for these jobs to be advertised to people without those
affiliations, though.

To support the search for candidates, business networking services
should make it easy to advertise jobs to selected networks of people.


On Technorati: , , ,

Random Emacs symbol: sacha/bbdb-gnus-ping – Command: Add a ping for authors/recipients of this message.

The magic of helping out

October 25, 2006 - Categories: life, purpose

Magic Johnson believed that if he helped everyone around him get what they wanted out of the game, then winning would always follow. And so would his own rewards, in their own time and of their own accord.

– From the Winner Within, by Pat Riley, coach, Miami Heat, as quoted in Business is a Contact Sport, by Tom Richardson, Augusto Vidaurreta, and Tom Gorman.

On Technorati: ,

Random Emacs symbol: next-file-list – Variable: List
of files for M-x next-file to process.

Now that’s how to recruit!

October 25, 2006 - Categories: connecting

As part of its employee recruitment effort, Adjoined Technologies spent $20 apiece to have “care packages” delivered to 40 IT majors who were studying for their final exams at a nearby university. The packages included Starbucks coffee, Power Bars, snack foods, and such. Cost-benefit analysis told Adjoined that $800 spent on a memorable win for 40 hand-picked potential candidates is a bargain compared with scattershot advertisements in the Sunday paper for hundreds of dollars each or recruiter’s fees of $2,000 to $3,000 per hire. Moreover, providing that win got the relationship between the company and the candidate off to a beautiful start. Adjoined did not offer a position to everyone in that group of 40, but every candidate who was extended an offer accepted it.

– From “Business is a Contact Sport”, by Tom Richardson, Augusto Vidaurreta, and Tom Gorman

Now *that’s* how to recruit!

On Technorati:

Random Emacs symbol: file-modes – Function: Return mode bits of file named FILENAME, as an integer.

Business is a contact sport

October 25, 2006 - Categories: book, connecting

“Business is a Contact Sport” by Tom Richardson, Augusto Vidaurreta,
and Tom Gorman (ISBN 0-02-864163-9) makes the case for a dedicated
Chief Relationship Officer or a team for dealing with all the
important relationships a company has. It contains twelve principles:

  1. See relationships as valuable assets.
  2. Develop a game plan.
  3. Create ownership for relationships
  4. Transform contacts into connections.
  5. Move into the win-win zone.
  6. Get to know your stakeholders as people.
  7. Build bonds of trust with all stakeholders.
  8. Banish relationship killers.
  9. When something breaks, fix it fast.
  10. Get rolling and maintain momentum.
  11. Maximize the long-term value of relationships.
  12. Keep the wins coming, stakeholder by stakeholder.

The appendix is pure gold. It’s a list of typical wins for the
different stakeholders in company relationships. Keep it in mind when
you’re dealing with people, and look for ways to help them win!

On Technorati: ,

Random Emacs symbol: auto-coding-regexp-alist – Variable: Alist of patterns vs corresponding coding systems.

(MUST find a better way to blog about books…)

KMD2004 meeting

October 26, 2006 - Categories: -Uncategorized

Start: 2:15 PM
End: 4:00 PM
Dave Kemp, Sacha Chua, MJ Suhonos

  • Sacha will send Dave Kemp login information for the wiki
  • Discussed feedback on actor-network map; needs more focus, technological actors, adversarial relationships to change it from a system diagram into an actor-network map
  • Confirmed deadlines for backgrounder articles and integrative summary (Nov 14)
  • MJ Suhonos mentioned First Monday issue on open science that contains an article about confluence of open source, Creative Commons, open science
  • Chatted about Project Open Source, Open Access
  • Tentative internal deadline Nov 7
  • Will meet again Nov 9
  • Draft backgrounder article on the wiki
  • Sacha is focusing on remixers, Dave is focusing on free riders, MJ can focus on producers
  • Keep an eye on the context so that we can write the integrative summary
  • We will revise actor-network map and submit for remarking
  • Discussed intervention piece: press kit for EEL
  • Revised actor-network map

Random Emacs symbol: eshell-parse-command – Function: Parse the COMMAND, adding ARGS if given.

What does a portfolio for a tech evangelist look like?

October 26, 2006 - Categories: career

Software developers show printouts of code. Artists bring a portfolio.
What does a tech evangelist wannabe show?


Speech transcripts?

A short pitch for something interesting?


On Technorati:

Looking for a personal board of advisors

October 27, 2006 - Categories: career, life, reflection

I won’t be going to the Free Software and Open Source Symposium tomorrow because
I’m meeting Stephen Perelgut and a possible mentor for lunch.

I’m really lucky to know people like
Stephen Perelgut, who reminded me in his

And, for the record, you are in a rush. You may not know it yet, but you’re
very ready for a mentor. Just accept that the inner-parent in me “knows”.

I need a mentor. I need more than one mentor, actually. If I’m
thinking of being in Canada for a while, I’ll need a whole new
personal board of advisors. I miss talking to my parents, my
godparents, and other people back home. It’s hard to talk about
everything, though, because so much context is missing. I can’t blog
everything, and it’s hard to explain things over the Internet! I need
people I can talk to here.

I’m growing rapidly, and opportunities unfold everywhere I turn. I
need to make sure that I’m growing sustainably and in the right
direction(s). I have a lot of hats on at the moment, and I’m having a
hard time fully living up to some roles. Here’s what’s on my plate:

  • Graduate student (MIE1402, KMD2004)
  • Researcher (IBM CAS project, University of Toronto)
  • IBM 2.0 evangelist – I could do a whole lot more than I am right now
  • Graduate House Council member – sustainable
  • VP Education, Toastmasters – I don’t do enough to help out with this
  • Daughter, sister – I don’t keep in touch well enough
  • Friend – I don’t keep in touch well enough

And somewhere in there is the networking I also care about and love

I have a number of goals, too, and I need help figuring out which
goals really matter to me and how I can go about accomplishing them.
My short-term goals are easy to figure out:

  • Finish my schoolwork.
  • Finish my thesis.

But I’m not spending all my waking hours doing these things because
I’m also trying to build a few more things before I need them. An
excellent professional and personal network. A personal brand. Useful

I remember how my very first roommate finished her project with CAS,
looked up, and found herself without any job offers despite having a
MS from the University of Toronto. I don’t think I’ll be in that
situation, and even if I were, I have confidence in my contingency
plans. (I can do a lot of cool stuff in the Philippines!) So it’s not
that I’m in a rush to do all of these things, to write that
bestselling book, etc. I know there’s time.

I have to admit, though, that it’s *very* hard to resist the urge to
focus on things outside my short-term goals. I feel that I could make
such a difference if I concentrate on, say, IBM 2.0 evangelism: pour
myself into it, devote my energies to it, make it happen. I feel that
the time would be right for such things, too. Thanks to the constant
reminders of my research manager (Hi Julie!) and the occasional
restraining hand placed on my head (Stephen’s figured out how to get
me to stop bouncing, at least temporarily), I do manage to resist it.

This is one of the reasons why I really need a board of directors whom
I can tell about opportunities, ask for advice, think things out loud
with, hold myself accountable to…

And I’m surrounded by wonderful, wonderful, wonderful people whom I am
glad to have as part of my life and whom I would love to include in
whatever successes I may have.

Quinn Fung, Dan Howard, and Jed Smith have taught me so much about
love and friendship. I owe them big time.

Stephen Perelgut is practically on my board already, what with all his
help and support. I’m really, really grateful for his help.

Gabriel Mansour has volunteered to be on my board. He’s my crazy-idea
go-to person who can enthuse about my crazy ideas and help me figure
out how to make things happen.

Ian Garmaise has taught me a lot about networking and speaking, and I
look forward to learning more from him.

There are others, but it’s 2 in the morning and I need to sleep at
some point. =) And of course, there’s my extended circle of mentors,
and that could include you reading my blog: thank you for putting up
with my random thoughts and telling me about everything from how to
prepare really good oatmeal to free software evangelism opportunities!

So yeah, I need a board of directors. They don’t have to read my blog
(I write way too much), but I’d like to keep in touch with them
quarterly at least. Probably monthly, as I’m changing so much. I need
that help as I’m growing. I also need to find role models who have
succeeded at the things I want to do, so that I can learn from their

I’m 23 years old. I haven’t quite figured out life yet. With your help
and theirs, I’m slowly getting there.

E-Mail from Stephen Perelgut

On Technorati: , ,

Random Emacs symbol: ps-mule-plot-composition – Function: Generate PostScript code for plotting composition in the region FROM and TO.

UPDATE: Changed “directors” to “advisors” now that I understand more. =) Dec 10 2009

Livin’ la Vida Emacs

October 27, 2006 - Categories: goodkarma, happy

Squee! <bounce, bounce, bounce>

Democamp10: Back at Mars

Last, and certainly not least was Sacha Chua. If we could harness it I’m pretty sure we could power a few small cities of the energy that’s contained in this one, tiny person – especially when you get her talking about Emacs. Sacha’s demo, entitled, “Livin’ la vida Emacs” was hands down the most entertaining of the evening. Sacha has basically taken this simple, extendable text editor and pushed it about as far as it can go – at DemoCamp10 she pulled back the curtain and showed us all her little systems and apps she’s created in it. I like my GUI/Windows so the whole text-based thing isn’t for me but it certainly was interesting to see just how strung out she’s got that machine.

DemoCamp10: Congratulations

DemoCamp 10 was held last night, and three of the five presentations were from U of T. Sana Tapal (now at Jonah Group) and Andrey Petrov led off with the Online Marking tool; Jonathan Lung (who was part of the student team that presented at DemoCamp 5) showed us all how productive PHP procrastination can be; and Sacha Chua tried to convince us that Emacs isn’t actually bad for you. The other two demos were a social networking/quotes site called Quotiki.com, and Broken Tomb, which advertises itself as the world’s first commercial Smalltalk host. There wasn’t any new technology, but the presenters were entertaining, and it was fun to read the stuff that flashed by on the screen during their demo; the Smalltalk demo had a lot of technical and other difficulties.

Demo Camp Toronto 10 : The return to MARS

Sacha Chua showed off what can be done in the scriptable environment, in this case emacs, as she went from Text editor, to a.i. doctor, to game engine to task / email organizer and beyond. Sacha was six feet tall on that stage, even though she did not actual levitate at anytime (although she came close, as always). A Tour de force of the Emacs, a text editing tool built in a interpreted lisp language environment, bascially a personalized productivity platform which allows for massive customization. Sacha had the crowd entertained and enthralled. (Sacha blogged her own impressions and mentions that Emacs was speaking to her!)

What would you do with Sacha Chua?

Within Toronto’s Web community, Sacha Chua has become one of the leading “personalities”. Armed with infectious enthusiasm, charm and smarts, she would be an excellent person to hire once she graduates from UoT. The key question is how best to use her talents. It would probably be as a “super customer service rep, who can come into a bad situation and get everyone happy by the time she leaves. If I was an HR person from Microsoft, IBM,, etc. I’d be knocking on Sacha’s door ASAP.

On Technorati: ,

Planet Emacsen

October 27, 2006 - Categories: emacs, pimpmyemacs

http://planet.emacsen.org/ by Edward O’Connor. ‘Nuff said! =D

On Technorati: ,

Random Emacs symbol: ido-subdir – Face: *Font used by ido for highlighting subdirs in the alternatives.

Keeping track of the age of messages

October 27, 2006 - Categories: emacs, pimpmyemacs

I can get pretty bad at responding to e-mail. This is an experiment to
see whether the negative reinforcement of seeing just how old a
message is will help me be more responsive. Either that, or I can
strive for a Mean Time Between Responses of whatever… ;)

Hmm, maybe I should combine this with my blog and start distinguishing
between E-mail to and Reply to…

(defadvice gnus-post-news (around sacha/gnus-track-message-age activate)
  "Insert a header showing how old a message is, to shame me into replying faster."
  ;; Before you post the news, figure out how old it is
  (let (days)
    (when article-buffer
      (setq days
            (- (time-to-days (current-time))
    (when days
      (goto-char (point-min))
      (when (re-search-forward "--text follows this line--" nil t)
        (forward-line 1)
        (insert "In reply to a message sent by "
                (mail-header-from message-reply-headers)
                " "
                 ((= days 0) "today")
                 ((= days 1) "yesterday")
                 (t (format "%d days ago" days)))
                ": \n\n")))))
(setq message-citation-line-function nil)

On Technorati: , ,

Random Emacs symbol: tramp-perl-directory-files-and-attributes – Variable: Perl script implementing `directory-files-attributes’ as Lisp `read’able

Heavy stuff nearer floor = good

October 27, 2006 - Categories: life

I can’t believe I hadn’t thought of this earlier. The perfect place
for my heavy suitcases is, of course, *on the floor* instead of on the
top shelf. Granted, the suitcases very neatly fit on the top shelf and
that’s the best way to keep them out of the way, but it was just such
a mission (and a hazard!) getting them up there in the first place.
The sweater organizers I use to keep matching clothes together easily
squish up to accommodate the suitcases under them.

Slowly figuring out how to organize my stuff.

Random Emacs symbol: eval-expression-print-length – Variable: Value for `print-length’ while printing value in `eval-expression’.

Don’t sell; help people buy

October 27, 2006 - Categories: connecting

A book I’m reading right now (151 Quick Ideas to Get New Customers, by
Jerry R. Wilson) notes that people hate it when you sell to them, but
love it when you help them buy. That could be why Microsoft’s
evangelists are now called advisors, which makes sense in the
more-about-helping-you kind of way.

I’ve gotten many positive comments about the unofficial title of
“evangelist” that’s in my ~/.signature and my business card. I’m
thinking of changing that, though, to reflect market trends. ;)

I’m not too keen on “advisor” because I’m younger than most people,
but “advocate” might be a fun word to try. There seems to be an
interesting distinction between a technical advocate and a technology
advocate. I feel that a technical advocate is someone who’s on your
side, and a technology advocate is on the technology’s side. Hmm…

Something to think about and test on other people.

Halloween party downstairs, but not in the mood

October 29, 2006 - Categories: life

The Graduate House Halloween bash is still going on downstairs. The
loud whoops seem to indicate that people are still having tons of fun.
But I don’t have any energy. I feel so out of things.

This lethargy started at dinner. Maybe an MSG overload at the Japanese
place we went to? Not eating there again.

But there’s also… well… it’s never really been my scene. That’s
why I still insist that I’m an introvert. I don’t get a thrill out of
just partying.

I’m tired. I don’t want to meet more people right now. I want to get
to know the people I know, and maybe go from them to the people they
think I should know.

The high energy, bubbly person most people know – that’s me. That’s a
real me. But there’s also a quieter, deeper me. That’s a real me, too.
I think it’s time for people to get to know that side of me. (That
said—I might be quieter, but I still think life is good!)

Or maybe this is just the MSG talking…

Random Emacs symbol: mail-extr-disable-voodoo – Variable: *If it is a regexp, names matching it will never be modified.

Stuffed toy!

October 30, 2006 - Categories: -Uncategorized

My mom sent me a penguin stuffed toy! =) And cute cat self-adhesive
notes! And a Halloween gift box with a cute cat on it! =) Awww…

Random Emacs symbol: ucs-input-activate – Function: Activate UCS input method.

Activity ideas, or Spending-time-with-Sacha-HOWTO

October 30, 2006 - Categories: life

A good way to grow friendships (or relationships, for that matter) is
to do non-work stuff together. I initially stuck this under
OnLove#date-ideas, but realized it was generally applicable.

Objectives for activities:

  • Enjoy life
  • Get to know each other
  • Share experiences: “Remember when…”
  • Expand our experience and try something new
  • Work towards goals
  Familiar surroundings Change of scene
  • Conversation
  • Playing board games like Scrabble or chess
  • Watching a movie (thought-provoking, uplifting, funny, senti (but not cheesy))
  • Reading books and sharing ideas
  • Playing billiards
  • Meditating
  • Exploring art and culture (see below)
  • Learning a foreign language
  • Walking around, preferably near water
  • Exploring art and culture
  • Window-shopping
  • Attending a lecture
  • Visiting friends
  • Picnicking
  • Golf
  • Badminton
  • Larger conversation / dinner party
  • Hack night
  • Goal sprint – pick a goal and work towards it
  • Table tennis
  • Foosball
  • Attending a tech event
  • Volunteering: canvassing, etc.
  • Rockclimbing
  • Tennis
  • Skating
  • Power-walking/running
  • Biking

Art and culture

  • sketching
  • working with clay / pottery / sculpture
  • listening to music
  • making music
  • reading
  • writing (poetry, short stories, nonfiction)
  • developing a better sense of design
  • taking photographs
  • going to a museum or gallery (realistic paintings, photographs, sculptures)
  • watching a play

Feel free to suggest more!

Random Emacs symbol: bbdb-finger-host-field – Variable: *The field for special net addresses used by “M-x bbdb-finger”.

Remembering to breathe

October 31, 2006 - Categories: life

One of the things about always being on, always working on stuff, is
that it’s sometimes hard to remember to just breathe. I’m glad that
Simon’s around to remind me of these things and to share those
moments. He came over last night. We talked until almost one o’ clock.
I showed him the video of my Emacs presentation, and he laughed and
regretted missing it. Much of the time, though, we just sat on the
couch and relaxed. Note to self: when I have my own place, I need a
more comfortable couch…

The programming competitions continue…

October 31, 2006 - Categories: emacs

Didith Rodrigo’s blog post about Ateneo’s performance in the ACM Intercollegiate Programming Competition reminded me that the first-years I taught are in their fourth year now, and will soon face the Real World. I miss teaching…

Random Emacs symbol: planner-page-name – Function: Return the canonical form of a Muse page name.