BarCampEarthToronto was a blast, and so was my laptop ad campaign.
It’s about time that we stopped advertising just Apple or Dell. ;) Do something creative with your laptop cover! Double-sided tape peels off quite cleanly, so go do something funky with it! =)
Because a Big Brother Database of my contacts isn’t complete if I
don’t keep track of what e-mail I sent them and when I sent it, this
bit of Emacs Lisp code adds Gnus subjects to the BBDB records of the
people to whom I sent e-mail.
(defun sacha/gnus-add-subject-to-bbdb-record () "Add datestamped subject note for each person this message has been sent to." (let* ((subject (concat (planner-today) ": E-mail: " (message-fetch-field "Subject") "\n")) (bbdb-get-addresses-headers (list (assoc 'recipients bbdb-get-addresses-headers))) records) (setq records (bbdb-update-records (bbdb-get-addresses nil gnus-ignored-from-addresses 'gnus-fetch-field) nil nil)) (mapc (lambda (rec) (bbdb-record-set-notes rec (concat subject (bbdb-record-notes rec)))) records))) (add-hook 'message-send-hook 'sacha/gnus-add-subject-to-bbdb-record)
It should be really easy to set up Gnus to expand some kind of
!followup macro into a TODO item in my planner and an “I hope to hear
from you by ….”. Ridiculously easy with Emacs Lisp and an insanely
customizable editor, but I might not have enough battery life. I’ve
got 28 minutes, and then I’m off PC for a while.
This bit of Emacs Lisp code produces a Planner-ready list of the contacts displayed in the BBDB window.
(defun sacha/planner-bbdb-annotation-from-bbdb (&optional record) "If called from a bbdb buffer, return an annotation. Suitable for use in `planner-annotation-functions'." (when (or record (eq major-mode 'bbdb-mode)) (setq record (if record (car record) (bbdb-current-record))) (or (bbdb-record-getprop record 'plan) ;; From a BBDB entry with a plan page; use that. Yay! (planner-make-link (concat "bbdb://" (planner-replace-regexp-in-string " " "." (bbdb-record-name record))) (bbdb-record-name record))))) (defalias 'planner-bbdb-annotation-from-bbdb 'sacha/planner-bbdb-annotation-from-bbdb) (defun sacha/yank-planner-bbdb-list () "Copy the list of people displayed in the buffer." (interactive) (kill-new (mapconcat 'sacha/planner-bbdb-annotation-from-bbdb bbdb-records ", ")) (sacha/planner-bbdb-annotation-from-bbdb rec))
It allows me to say, for example, that I met 23 people yesterday:
Bruce, Daniel Charles, Shane D’Costa, Emily, Greg A. Fitz, Clara Fong, Jay Goldman, Harvey, Kai Fai Ho, Iris, KC, Charles McCulloch, Jamie McQuay, Joshua Meles, Naomi, Helen Overland, Wayne Penney, Simon Rowland, San, Colin Smillie, Solomon, Le Quan Truong, Perry Wong
(defun sacha/compose-mail-to-everyone (&optional subject) (mapc (lambda (rec) (setq rec (car rec)) (when (bbdb-record-net rec) (bbdb-send-mail rec subject) (save-excursion (message-goto-signature) (forward-line -2) (insert "\n---- NOTES ---\n" (bbdb-record-notes rec) "\n")))) bbdb-records)) (defun sacha/gnus-delete-notes () (goto-char (point-min)) (when (re-search-forward "^--- NOTES ---" nil t) (goto-char (match-beginning 0)) (message-kill-to-signature))) (add-hook 'message-send-hook 'sacha/gnus-delete-notes)
Inspired by an e-mail-based customer relationship management system briefly described by Daniel Charles of digital ketchup at Shoeless Joe’s last Friday, I decided to hack together a system that would allow me to see the notes from my contact database (aptly named the Big Brother Database, or BBDB) when I write e-mail using the Gnus mail client in Emacs.
The first thing I needed to build, of course, was something that
removed my notes from outgoing messages. People really don’t need to
see the kinds of notes I keep on them. ;) Well, they’re fairly
innocuous notes: how we met and what they’re interested in, usually,
although sometimes I’ll have notes on people’s food preferences or
shoe sizes. I’ve recently started keeping track of the subjects of
e-mail I send them, too.
(defun sacha/gnus-remove-notes () "Remove everything from --- NOTES --- to the signature." (goto-char (point-min)) (when (re-search-forward "^--- NOTES ---" nil t) (let ((start (match-beginning 0)) (end (and (re-search-forward "^--- END NOTES ---") (match-end 0)))) (delete-region start end)))) (add-hook 'message-send-hook 'sacha/gnus-remove-notes)
Then it was easy to write another function that composed individual
messages to all the people currently displayed in the BBDB buffer,
adding notes to each message.
(defun sacha/gnus-send-message-to-all (subject) "Compose message to everyone, with notes." (interactive "MSubject: ") (let ((records bbdb-records)) (while records (when (bbdb-record-net (caar records)) (bbdb-send-mail (caar records) subject) (when (bbdb-record-notes (caar records)) (save-excursion (insert "\n--- NOTES ---\n" (bbdb-record-notes (caar records)) "\n--- END NOTES ---\n")))) (setq records (cdr records)))))
I use BBDB to display only the people I want to e-mail, then I call
M-x sacha/gnus-send-message-to-all and specify a message subject. This
creates a gazillion message buffers which I can then edit. If I feel
particularly paranoid, I can remove the notes section myself with C-c
C-z (message-kill-to-signature), but sacha/gnus-remove-notes does it
as long as it’s in message-send-hook.
This code works particularly well with these other customizations:
It supersedes More Emacs fun: Composing mail to everyone with notes.
I bought myself a pack of inkjet/laser self-adhesive name tags, which
turned out to be a remarkably good idea. Before heading to Dave
Forde’s networking get-together last Friday, I printed out a nametag
that not only gave my name but also included an experimental tagline:
“Tech evangelist, storyteller, conversationalist, geekette”.
Dave Forde’s networking get-together was a very informal one, just a
bunch of people standing around in a pub sipping beverages while
chatting. I was the only one with a nametag – a printed nametag, at
that! – and that garnered me quite a number of compliments for my
foresight. Despite the lack of nametags, I was generally good at
keeping everyone’s names sorted in my head. Having a printed nametag
on made it easier for people to remember my name in conversation,
though. Having felt the embarrassment of forgetting someone’s name
right after an introduction too many times, I’m glad I could make
things smoother for other people by wearing a nametag.
The nametag was also handy at the second networking event I went to on
the invitation of someone I’d just met at Dave Forde’s get-together.
At that event, people wore nametags of masking tape. Again, my large
printed nametag stood out, and the keywords on it prompted
I think that bringing a prepared nametag to events is a terrific idea.
Even at events with proper nametags, preparing a nametag allows you to
pay more attention to design and to stand out from the crowd.
Clip-on nametags may be even more effective because then I don’t have
to worry about what material I’m wearing. They also allow other tricks.
I remember Richard Boardman’s nifty lifehack for
nametags. The CHI 2006 nametag holders were top-loading plastic, so he
put business cards behind his nametag. He also put business cards he
received into the nametag case. Very accessible location – no
shuffling around for a business card case.
Note to self: I should always carry masking tape and a marker to these
events. To help even more, perhaps I should always carry self-adhesive
Preparing a nametag was definitely a good idea. You should try it at
your next networking event!
Via Kelly Drahzal: there’ll be a Free Software and Open Source Symposium in Toronto from Oct 26 to 27. Admission for full-time students to the symposium is just CAD 10.00! I will so be there, if only to hang out.
The workshops look like mainly intro courses, which isn’t bad. I’d
like to see more people get into development. I wanted to get into the
workshop for educators because I want to convince everyone that open
source development really should be part of all computing students’
experience. I can get quite passionate about that! The workshop seems
to be full, though, so I may need to talk my way in.
Each day brings an opportunity for me to reaffirm my decision that
connecting with people is important to me and that I want to learn how
to be really good at building and maintaining relationships. I’ve been
spending a fair bit of time thinking about the tools for doing so,
from my extensive customizations of the Emacs Big Brother Database
to why I like OpenBC.
Every time I use Emacs+Gnus+Planner+BBDB, LinkedIn, OpenBC or even my
little black Moleskine notebook and fountain pen, I always find little
things to improve. I’m in that zone again, and I’m having *so* much
fun. Emacs and my Moleskine are nearly infinitely hackable within the
constraints of computer and paper, respectively. As for LinkedIn and OpenBC—that *itch* is making me want to write code for someone else.
The last time I felt like this was when I was in the thick of Planner
development, working with a fantastic community of enthusiastic users
around the world. It was *amazing* being able to make all these little
differences in people’s lives. I stayed with the project until I found
myself too content, and then I turned it over to someone else because
it was something that deserved passion.
Maybe I’ve found my coding passion again, something wider in scope
than the little ways I customize my blog or my e-mail client or my
The more I think about it, the more attractive it is. How strange that
low-key services like LinkedIn and OpenBC appeal to me more
than the big names in the industry! I have the feeling that I’ll be
able to make more of a difference there (at least for now) than in
companies like IBM, Google, or Yahoo – although those three are
certainly exciting in terms of the other cool geeks I’d get to work
… but oooh, imagine the opportunity to work directly with really
cool users? I could so totally rock. I’d *love* to be able to bring my
technical *and* social passions to the table. That feels like a good
short-term next step.
Figuring out my options…
My social calendar tends to stay relatively full. I have to
consciously schedule breaks into it because otherwise I just pack it
with stuff. Google Calendar’s monthly view is great for keeping things
sorta organized. I’m really, really tempted to write a social app that
makes it easier to manage these get-togethers – what Filipinos call
Such an app would have a floating list of non-time-specific
activities, with people indicating interest or even availability.
People should be able to take events from that list and schedule it
onto a group calendar.
There should be *some* way I can easily manage having multiple
overlapping circles of friends. See, there’s a reason why I’d rather
And all of this, of course, should be available from a mobile
interface so that I can go from one event to another.
But that’s too much interface complexity, so it has to stay inside my
Whenever I get organic large rolled oats (not quick-cooking!), I keep
telling myself that ah, this is life, this is what oatmeal is supposed
to be like. It’s actually a *joy* to eat.
Someday, I might even take pll’s advice on preparing them perfectly.
She’s hilarious. =)
I sometimes forget that I’ve only been here for a year and that it’s
perfectly normal for me to feel homesick from time to time. Sometimes
it can be almost paralyzing.
We spent Labour Day weekend with Simon’s parents. The conversation
turned to the Philippines. I told them about the idea of a barkada –
the close, mutually supportive group of friends that I often hung out
with. I told them stories from my grandmother’s colorful past. I told
them about my parents, about the new house, about these little facets
of life—and I found myself silently crying, wondering once again what
I was doing in Canada, wondering whether I couldn’t have just stayed
home and made a difference anyway.
Simon stood up, walked over, and held me until I felt better. He promised
that we’d talk afterwards. His dad looked at me with compassion and
quietly asked me if I was feeling homesick. I nodded, and then joined
Simon’s mom in feeding peanuts to the raccoons that come to their deck
– a little bit of serenity as I cleared my thoughts.
On the drive back, Simon helped me sort through not only what I was
feeling but also how I might make the most of my talents and skills. I
hurt because I care, Simon said, and that’s a good thing. It’s
particularly difficult because my homesickness is also bound up in a
sense of responsibility and a desire to help. Sometimes I get
paralyzed by the thought that if I’m going to be away, I need to be
doing something absolutely spectacular.
Yeah, sometimes that can be really scary.
I need to make sure that what I’m doing here is worth the sacrifice.
Most of the time, I can see that. Most of the time, I remember that
through luck or circumstance or work, I have more opportunities than
most people would, and I can share those opportunities with other
people. I have a good-karma file of the changes I’ve made to people’s
lives and the encouraging messages I’ve received. I sometimes need
help remembering, though.
To all the people who remind me when I forget why I’m here: thank you.
The song “Bayan Ko” never fails to move me, and it is to this song and
other traditional songs that I turn to whenever I feel homesick. I
wish I knew the first stanza better, and I wish I could sing well
enough to help even my non-Tagalog-speaking friends appreciate the
beauty of the song.
Lyrics by Jose Corazon de Jesus, melody by Constancio de Guzman
Ang bayan kong Pilipinas
Lupain ng ginto’t bulaklak
Pag-ibig ang sa kanyang palad
Nag-alay ng ganda’t dilag.
At sa kanyang yumi at ganda
Dayuhan ay nahalina
Bayan ko, binihag ka
Nasadlak sa dusa.
Ibon mang may layang lumipad
Kulungin mo at umiiyak
Bayan pa kayang sakdal dilag
Ang di magnasang makaalpas!
Pilipinas kong minumutya
Pugad ng luha ko’t dalita
Makita kang sakdal laya!
The Labour Day weekend gave me an excellent opportunity to reflect on
what I can do with my life, and I really appreciated being able to
bounce ideas off Simon.
I have a lot of options ahead of me, and I want to think about this
carefully. My first job doesn’t have to be perfect, but it would be
good to understand what my values and priorities are. I want to be
extraordinary. I know, I’m 23 and my direction in life will change as
I discover more about myself and about others. =) But it’s good to
think about it every now and then…
So here’s where I stand, so far:
Technical: Social systems: Improving a social system such as
OpenBC would probably be the best fit for
me in terms of technical work. I would enjoy listening to users and
figuring out things that can make the tools easier to use or more
powerful. I’m more interested in systems that help people connect in
real life or in one-to-one relationships than in things like social
bookmarking, where the social aspect is often secondary. I’m also more
interested in facilitating introductions than I am in supporting
groupware, although I can do that as well. I would love to help build
systems that make it easier for people to keep in touch with lots and
lots of people (attention-based aggregators, etc?), introduce people
to others, move online connections into the real world and vice versa,
and so on.
Management: Outsourcing: The Philippines has a lot of talent,
and there are plenty of opportunities to outsource. I want to learn
how to help people set up outsourcing relationships, specify and
manage projects, and manage and train people.
These are the two prospects I feel most passionate about, and I may be
able to pursue them both. I don’t want to be so heads-down in tech
that I serve a narrow audience—only the users of my system—nor do I
want to be so heads-down in management that I lose touch with my
technical side. I think I can make this happen, though.
So, how can I go about doing that?
For social systems, there are all sorts of little things that I would
like to build for myself or suggest to other people. I can learn good
design through exposure and experience. I can write about features and
systems I would like to see. I can even prototype them. I should spend
some time learning how to make better user interfaces (a proper mouse
may help!) and prototyping things on Rails or some other quick
platform. Easy enough for me to get into.
For outsourcing, there might be a good opportunity to help set up a
relationship between Direct Leap and either QSR or Exist. I know a few
people who want to help me learn how to do this. I’m all for it!
My master’s degree can help me with both. My research is related to
the former, and my coursework is related to the latter.
Hmm. Sounds like a good plan. I’ve got other plans, just in case, but
these are the two best plans at the moment.
I deserved that public finger-wagging for my two-line reply to one of
my sister’s long stories. Which reminds me, I still have a stack of
letters and cards to go through. In the future, I should never let
myself get so busy that I flub my personal correspondence.
Joel Spolsky writes about finding great developers. Internships are a terrific way to scope out a candidate and also get them passionate about your company. Previous blog post about career aside, I do really like IBM and I *am* really curious to see how far we can take social software – and one of the reasons why I’m crazy about that company and all the cool people in it is because I’ve seen it from the inside, thanks to the IBM Toronto Centre for Advanced Studies.
Check out the essay.
More thoughts: One of the things that frustrates me about the
Philippines is that we’ve got this entire chicken-and-egg problem in
the schools. Few companies do on-campus recruitment for challenging
internships, so students don’t get motivation or experience – which is
why few companies bother to do on-campus recruitment or R&D.
Programming competitions help, I guess, and we do still manage to find
a couple of geeks who learn about open source and end up teaching
I read your blog and I see two issues that are bothering you: homesickness
and “guilt” for being away from your country.
First, let me say that it is alright to feel homesick – in fact, we would
worry if you never felt the pain of being away. It only means that you miss
us – your family, your home, your cat, our pets, your friends, our weather,
even the places where you hang out. We feel the same sadness and longing for
you because we would prefer to see you everyday, to see you smile, to hear
the excitement in your voice when you tell stories, to be able to tell if
you are sad and to be able to hug you when you are. Which is why Skype is
my preferred way of communicating with you – because I want “to be with you”
as much as possible, even if it means listening to your voice on one
computer and looking at you (webcam) on another. Since our schedules do not
always allow “skyping,” I depend on your blog, and your occasional emails
-too few and too short =( to know what’s happening with you. It’s pain that
we must bear, because we love you and want you to grow and become fulfilled.
But the “guilt” that you feel for being away from your country is
unnecessary grief. As long as you carry your love for your country in your
heart, then there is nothing to grieve for being somewhere else. Think of
the Filipinos who have brought pride to their countrymen – they’re not
necessarily here. Patricia Evangelista won the speaking competition in
London. Lea Salonga made her name in London, New York and Hollywood. Leo
Oracion, Erwin Emata and Ching’s friend, Romy Garduce could not have
conquered Mt. Everest by staying here. In the same manner, Einstein was born
in Germany but his genius flourished in the U.S. The Kennedys were
originally Irish. Your papa’s parents were from China. Pre-historic
Filipinos were migrants from Malay Peninsula and Indonesia. You know what I
am trying to say but you need to say this to yourself every now and then,
especially when some people, or you yourself, make you feel guilty about
being away from your country. Nobody should be limited by the physical
boundaries of one’s country – you need to climb your highest mountains, no
matter where they are. And when you are on top, you plant the Philippine
flag and proclaim to the world that you are a Filipina.
We love you and we are proud of you, and if the pain of loneliness is the
price we have to pay so you can be the best that you can be, then so be it.
E-Mail from Mama
Whenever I falter and lose sight of my way, other people lift me up,
set me on my feet, and point me back in the right direction.
Where would I be without my family and my friends and those random
strangers and acquaintances who take a moment out of their busy days
to reach out to me in all their generous humanity?
I am thankful for these moments of sadness and confusion, however
brief they are, because they give me an opportunity to appreciate and
deepen my respect for the wonderful, wonderful people in my life.
From friends who called and messaged and e-mailed as soon as they read
my doubts, to my mom whose encouragement addressed my fears and
strengthened my resolve, to coworkers who not only told me of
interesting opportunities but also expressed their concern
I am loved beyond my ability to comprehend, and if I can spend the
rest of my life sharing that experience of love with other people…
It’s been said that it takes a village to raise a child. I am being
raised by the world.
With the number of e-mail addresses people have, I think that all
business networking sites should allow people to have multiple e-mail
addresses as part of their profile.
LinkedIn does this right.
OpenBC‘s implementation forces you to have
a business e-mail, and changing this requires re-confirmation *and*
locks you out of your account. Yes, you can set your personal e-mail
address, but it’s not the same. For example, I’m known as sachac AT
ca.ibm.com and sacha AT sachachua.com . Both are equally valid for
business, and people will look for me using either address. sacha AT
sachachua.com is also my personal e-mail address, as is sachac AT
gmail.com and sacha AT sacha.free.net.ph . LinkedIn allows me to associate all of these e-mail addresses with my profile, ensuring that people find me easily. I can even log in with any of the e-mail addresses. OpenBC doesn’t. Waah.
Quinn celebrated her 22nd birthday party at Mariko Sushi (851 Bloor St
W), which has a decent all-you-can-eat menu for CAD 14.99 (~ 20 with
tax and tip). It was a wonderful evening of round-robin discussions as
we introduced different aspects of ourselves. We started by giving our
names and our favorite type of sushi. Fan asked what our official job
titles were, then I asked people to talk about one of their non-geeky
aspects. Each (re)introduction spawned other conversation, and I
really enjoyed getting to know everyone at the table a little more
It was a good party held in honor of a great friend. =)
On the walk back toward Greg’s Ice Cream for post-sushi dessert, Simon received an invitation from Shane to join him and a few friends for The Secret, a motivational video about the power of positive thinking. Although I had been looking forward to getting to know Richard and the rest of the folks over ice cream in
the continuation of Quinn’s birthday party, I also felt that it would be good to join Simon for this. It was a good decision. Not only did I have the unexpected pleasure of reconnecting with Bryan Pickle (whom I had met at one of Mike Fletcher’s parties), but the video was thought-provoking.
Not that the ideas proposed in the video were new to me. I take it practically for granted that you see what you’re looking for. The video was flashy and fast-paced, although you’ll probably want to skip the pretentious first sequence and mentally edit out some of the more over-the-top effects. Despite the distractions, though, I managed to still my mind enough to attend to the video, collecting stories, gleaning insights, and reflecting on my own experiences.
There was a short lull after the video ended, then everyone else dug into the almost-forgotten fruits. I stayed still, turning the thoughts over in my head, permitting silence to fill in the gaps and listening to how I felt instead of immediately putting things into words. This was perhaps strange to the friends who were there. Shane asked me if I
didn’t like the movie. Lara agreed that everyone could probably find examples of experiences that fit, and the conversation went on – but still I kept quiet, reflecting.
A few hours earlier and I could have channeled the energy of passion and excitement into the discussion, matching the tone of Shane and Lara’s voices, but I was in a serene mood. I haven’t yet connected with either Shane or Lara on that level, when the silences are comfortable and one speaks when moved to. I’ve been that way with Quinn, and Jed, and Simon – yes, Simon has his calm moments, hard as that may be to believe. <laugh>
Serenity. Those who know me primarily for my enthusiasm and who have mainly seen me on the sugar-high I get on life usually worry the first time they see me in one of my calm moods, and even those who know me well often ask me if I’m feeling down. (Trust me, if I were feeling down, you’d know!) Serenity is that quiet stillness within me and the space I create in order to discern.
And now, hours later, I have a better understanding of how I feel.
I agree with the gist of the video: the mind is powerful, our attitude shapes our life, and our feelings and intuition give us a good way to sense how well we’re doing.
However, thinking about it, I’ve come to realize that it is not the full secret of my life. What thesecret.tv describes is not my philosophy or my way of living. There is something different, something missing…
Ah. Here is a gap. The video focuses on receiving, but does not describe the great joy I have in giving. The video describes visualizing a goal, but I also love discerning a path. The video talks about uplifting the self, but my desires go beyond myself.
In order to serve, I must take care of myself, of course. I can’t help people if I am miserable; joy comes from joy. But I am confident that if I listen and extend myself, the universe will nourish me. It always has.
I do not need to manifest anything into my life. Happiness is not something that is in my future, a puzzle with jigsaw pieces that I have to find and assemble. It is simply now. I have an abundance of opportunities, and my job is to explore them. It’ll be *tons* of fun!
I ask the universe for some things, but in general the I come across opportunities before I even know to ask for them. If I am to receive anything, I ask for the discernment to see the best things to do at a moment, the beauty in each instant, and the ways to help people explore their potential.
I dropped into the University of Toronto Career Resource Library for a few minutes before my annual health checkup. Seeing one of my to-read books on the shelf, I picked it up and skimmed through it. It’s great having these resources close by!
Darcy Rezac’s “Work The Pond: Use the Power of Positive Networking to Leap Forward in Work and Life” is an engaging book that focuses on a “what-can-I-do-for-you” attitude. It’s a good read, and one that I’d recommend to others next to Keith Ferrazzi’s “Never Eat Alone”, Leil Lowndes’ “How to Talk to Anyone: 92 Little Tricks for Big Success in Relationships,” and Tim Sanders’ “Love is the Killer App.”
I particularly like Chapter 5: Travel in Pairs. “Work the Pond” has the best tips on pair networking that I’ve read so far. Your tag-teammate doesn’t have to be your spouse, or even a close friend. A business associate whom you would like to get to know better can make a terrific tag-teammate. if you both decide to help each other out. It’s a powerful technique, and one that I’d like to help with more!
Here’s an excerpt from p75:
- Tag-teammates introduce you to people they know you might be interested in meeting. Their network is working for you.
- Tag-teammates help you when you forget a person’s name.
- Tag-teammates keep an eye out for each other. If one is trapped in a conversation or left high and dry, the other can come to their aid.
- Tag-teammates can sing your praises much better than you can. It’s hard for you to launch into a story about yourself.
The chapter is full of practical tips, such as sitting two seats apart – that way, each of you will get to know two people but you will be close enough to build on each other’s stories or rescue each other from the “cone of silence” that sometimes happens when people to either side of someone engage in separate conversations.
The book is well worth getting just for that chapter alone. Here’s the quick summary:
Get the book and grab a networking buddy. I’d be happy to help at any of the networking events I go to, and I’d love to attend even more!
When two people share an incredible experience, that experience is not
multiplied by two, but rather raised by the power of two. It more than
doubles – it’s squared! A 10 doesn’t become 20 – it becomes 100, or
even more. Why?
Because shared experiences become stories that are told over and over
On page 79 of “Work the Pond” (Darcy Rezac) is a powerful example of
how to build an incredible experience and get a story told not ten
times, but a thousand times. The Navy invited opinion leaders to
understand what the Navy does and to tell the Navy’s story. They put
together a fantastic experience involving landing aboard and taking
off from an aircraft carrier and hanging out of top-gun pilots. But
they didn’t just arrange this spectacle for the opinion leaders – they
were smart enough to include the spouses as well. This meant that
instead of the experience becoming, “Oh, no, not the carrier story
again!”, it became a treasured story to be told over and over again.
I remember a story my parents told me about giving people incredible
experiences. My parents understood that if you’re going to give
someone an Experience with a capital E, that experience would be
magnified even more if they had someone to share it with. If they were
the only ones to, say, go on a helicopter flight, the stories would
wear thin or be almost unbelievable. If they had one friend along,
though, the stories would go on and on, growing more exciting with
I’ve seen that among friends, too. Driving around town with the
Katz brothers was *amazing*. They completed each others’ sentences,
refreshed each others’ memory, built up each other’s energy. Reliving
memories with my barkada (close group of friends) brings back the fun
and the laughter. (Peppy, remember all the ice cream we had after I
worked on your computer?)
I really appreciate being able to share all these experiences with
people. I think that’s one of the coolest things about having long
relationships, and I’m looking forward to enjoying that even more with
my family and my friends.
Anyway. If you want to make something really special for someone, make
it possible for them to share the experiences and the stories with
at least one other person. =) “Remember when…” are such powerful words!
Okay, you definitely have to get this book. =) Read the chapter on
“Opportunity is Everywhere”, too. And “Repeat, repeat, repeat.” Great
role models, great stories, great tips.
Actually, just go and read the whole thing.
Darcy Rezac’s “Work The Pond: Use the Power of Positive Networking to
Leap Forward in Work and Life”. ISBN 0-7352-0402-0.
(Someday I’m going to have Amazon links…)
I have in front of me a big yellow binder with news clippings about
Awesome. You know what that gives me? Names and organizations of
people who have recently written about networking…
I heart U of T! I am so building a library like this in whatever
universities are near me in the future…
On Technorati: networking
From Didith Rodrigo’s blog: Dr. Pablo Manalastas will be retiring in 2007.
Who’s going to bounce up and down and talk about Linux? Or coach
contest geeks? Or tease people about their love lives?
Doc Mana’s ubercool.
In honor of Doc Mana’s wonderful, wonderful service, the computer
science department of the Ateneo de Manila University is setting up
The Pamana Fund. I’m definitely contributing to that one. He rocks,
and he’s one of two teachers who were the reasons why I’m into Linux,
open source, programming competitions, and all those other things that
really made me grow.
When DISCS gets the contribution sorted out, I’ll blog about it in
See Didith Rodrigo’s blog for details.
Will blog more after my nap. Met lots of interesting people, whom I
e-mail and (maybe even) snail-mail soon.
When Simon called me up to say that he was really excited about
working with QSR because of their interest
in Asterisk but that they hadn’t gotten in touch with him yet, I said,
“Really? That’s it, I’m going to make something happen.”
So I did. I didn’t have anyone from QSR online in my buddy list, but I
knew that if anyone could find people, it would be
Clair Ching. (Tip: If you ever need any kind
of information, no matter how obscure, ask a librarian!) She gave me
Ian’s cellphone number. I tried calling it up, but my cellphone seems
to be blocked for international calls. She called it up, but Ian
didn’t answer. I sent a text message to Ian asking him to go online.
Clair also pointed me to other QSR people like
Marvin Pascual. Marvin told me that Ian was
probably out to lunch or en route to dotPH because it was Friday. He
gave me Ian’s Yahoo Messenger ID and dug up Myna’s cellphone number. I
remembered that Ian told me I should talk to Myna about business
development opportunities, so it was terrific that they were traveling
I noticed that I had a Google chat message from
J. Angelo Racoma. I remembered that
Angelo’s associated with dotPH, so I asked him to track Ian down,
possibly by calling the dotPH folks. Angelo set that in motion, too.
… and when I saw Ian’s Yahoo Messenger status change, I was, like,
“w00t!” I messaged, “Thank you for letting me assert my SUPER GEEK
GIRL POWER and renicing myself to -20!”
Big, big, big kudos to Clair Ching, J. Angelo Racoma, and Marvin Pascual for helping me track Ian down and get him online right then and there. I owe homemade cookies and lasagna all around. You rock.
Simon and Ian had a great conversation threshing out the technical
aspects of the project. I think they were basically establishing that
they knew what they were talking about and that the other person did,
too. While they were doing this, Myna and I chatted about the business
side of things.
Good stuff. I think it’ll be a terrific fit, and I look forward to
seeing what’ll come of it. I’m glad I helped make that phone
conversation happen, if only because I exerted enough will for them to
get around to talking. I knew they’d have a good conversation, but
it’s sometimes hard to get around to it what with everything else
Sometimes you just have to make things happen.
Past MediaG8way weirdness aside (Remember Digital Pinay?), they’ve also done some pretty cool things. And even if they didn’t, no one deserves to die that way.
E-Mail from Jim Ayson
Bruce Schneir facts – is this not the geekiest thing ever? Thanks to Leigh and Seth for telling me about this. Marcelle – this totally beats the Chuck Norris stuff.
There. I’ve admitted it. Happy? ;)
Normal introverts don’t find themselves trying to find more hours in
the day so that they can go to four different things on a Friday
night, or more weekends in a month so that they can meet up with
I feel more than a little guilty about not having enough time to blog
about all of this cool stuff, because writing and reflection are also
very important to me.
Life is terrific. =)
I went to David W. Gray‘s workshop last
Friday to learn more about visualizations because of my research
interest in tracking, visualizing, and supporting technology adoption
in large companies. I expected a Tufte-esque critique of the ways data
are presented in graphical form, with practical advice on presenting
complex information easily. Instead, the workshop turned out to be one
on visual thinking and brainstorming. Not quite what I expected, but
My key take-aways from that were:
A number of other participants thought that one of the most powerful
points was the idea of writing thoughts on Post-it notes or other
easily-rearrangeable media, one thought per note. I was familiar with
the idea because of my interest in tools for thinking (mind-mapping,
brainstorming, etc.), productivity, and communications, and that kind
of thinking comes naturally to me now. I do my speeches, thoughts, and
even my school papers on, well, paper form before I get them into the
computer, although sometimes I’ll start with a blog rant.
Hmmm. I think what I really wanted from the workshop were more
examples of how to support communication by presenting complex
information beautifully, like the way his company presents business
processes. There were a few examples very quickly glossed over as part
of his corporate bio, and I really wish there were more. Another
powerful addition could be an exercise where we’d take data and figure
out how to present it, perhaps working in groups and presenting it to
the class. That would have been tons of fun, and it would have made
the most of Dave’s presentation consulting experience with Xplane.
Oh, and it would’ve been nice to see more of Dave’s sketches. =) He’s
a fun visual artist, and the sketches would’ve really punched things
up. Granted, it’s a lot of work to do that with the Lessig method of
one gazillion little slides, but an occasional gapingvoid-style thing
would be terrific.
I gave him some feedback on the workshop and on his presentation
style. He’s trying to get the hang of the Lessig method—fast-paced,
lots of slides. This takes a fair bit of work to pull off, but it’s
great when you can speak ahead of the slides instead of reading off
them – there’s such a difference between using slides as cues and as
punchlines! I haven’t given a mind-blowing Lessig-style presentation
myself, although I remember my operating systems students’ feedback
that my lectures felt a lot like ads (in a good way!) when I was
teaching them about OS history. I remember listening to a Lessig
presentation and noting how his speech was slightly ahead of the
slides, and I also remember being impressed with Michael Geist’s
presentation. They are teh c00l.
Dave seems more interested in doing instructional design and packaging
this as a workshop that other people can give, so he didn’t want to
bring too much of himself into it – which is a pity, really, as he’s
an interesting character and infusing more of the workshop with his
personality would liven it up. =) I think he’ll do well in
instructional design. He’s particularly interested in video. Might be
The main value of the event came from the conversations that it
sparked, I think. I met a lot of people there whom I’d like to keep in
touch with, including Dave Gray.
The Royal Ontario Museum offers free admission from 4:30 PM onwards
every Friday. Simon suggested heading over there for a bit of cultural
appreciation, and we had fun walking around before my 8:30 dinner with
the folks I met at the Oriented networking event.
I always find Japanese woodblock prints fascinating, and we spent some
time in that gallery. I’m also drawn to calligraphy, classical
sculptures, and realistic paintings (particularly those with literary
or mythological references, like classical paintings). I like room
reproductions, too – glimpses of what people’s lives were like in the
past or how they are elsewhere. I like pieces with stories.
We’ll go back one of these Fridays. It would be nice to contemplate a
single thing and learn its story. Too bad there are no Wikipedia
kiosks in the museum. Do you think there’ll be wireless?
I know, Simon said I shouldn’t waste more time thinking about this,
but I had an interesting learning experience today. =)
A friend invited me to a free recruitment / networking breakfast
session for a consulting networking group which shall not be named. I
RSVP’d with enthusiasm, name, and affiliation. I promptly got the
“We’re looking for people who want to sign up right now” brush-off,
which is another variant of the “You’re just a student, so what can
you do for me” brush-off that totally turned me off networking before.
I have to admit, my ego is a *little* bit pricked. <teasing
grin> I could understand where they’re coming from, though. I wrote
them a polite note about how I understood that they need to protect
their potential members from schmoozing salespeople, etc. I said that
although I’m currently a graduate student at the University of
Toronto, I thought I’d familiarize myself with professional
organizations in Toronto because I meet a lot of people and I’d like
to be able to recommend good resources to them. It would’ve been nice
to be able to say more than the blurb on the website and to give
people a good idea of the kind of people they might meet at the
group’s networking meetings or how the organizers run things, but oh
well… I guess they don’t want me to voluntarily learn how to “sell”
the idea to other people just in case I run across someone who might
be interested. ;) I suppose I can always point people to the website.
This kind of rejection isn’t a new thing for me, though. At
business-oriented networking events, I often get the once-over and
then ignored by people who are only interested in what they can get
out of networking instead of what they can give. On the other hand,
people who are open to me find me remarkable. I filter through *lots*
of information about things I’m passionate about, such as networking,
public speaking, technology. I attend all sorts of events and I write
about what I’ve learned. My enthusiasm and joy remind people of why
life is fun and exciting. I know a lot of people who’ve taken an
interest in my success. Not only that, they’re often interested in
other people who’ve taken an interest in my success, too. =) The
people who see me only as a student don’t open up enough for me to
show them all these other things, and the people who open up have a
hard time believing that I’m a student or that I’ve only been in
Canada for a year!
I think that a better way for this group to have handled the situation
was not to assume that I’d be there to market my services
inappropriately, but to probe and find out what value I think I’d
bring to and get out of it. But then again, that would probably have
been more time and attention than they’d think of spending on a
student’s request. (After all, what can a student offer a group of
management consultants, anyway?)
It’s a pity, because I’m interested in finding out more about the
organization, what kind of people they attract, what value they
provide, and what opportunities they’re looking for. I’d still like to
go. It’s worth a try, and hey, I’m already learning a lot from this
experience. I just hope that the feel of their meetings is better than
my first impression of them, though.
Laurie Dillon-Schalk told me never to
give up and that selling only starts when someone says, “No.” If they
can’t see my value or at least ask constructively about it, then maybe
the people they attract won’t be able to see my value either, and I’d
be better off spending that time blogging. But if I can show them that
I’m not there for the free food or to hit people up for a job, but
that I actually want to create value, then nifty. =)
So, what do you think? Should I try to talk my way into this for the
practice, or look for a gentler and more generous networkers to start
with? I told Ian Garmaise that I wanted to
meet more Connectors. I want to focus on meeting people who live with
that sense of gratitude for others who have helped them along and that
desire to reach out and help others grow, because those are the people
who can really nourish and inspire me. I’m going places, and I want to
take a lot of other people along with me. I would love to meet people
who can help show me the way.
Hmm. Maybe I should try learning some kind of sport. Dr. Oposa is very
fond of tennis. Maybe I should give that a try? The Athletic Centre
has courses. I might sign up for either the Mon/Wed noon courses or
the Saturday morning courses, which will be a bit of a hassle for my
schedule but which will work out well for me in the long run.
Currently more practical than golf.
Another thing to remember when I feel homesick – these words by
Nigerian novelist Ben Okri:
Travelling challenges you to change your provincial
perspective. Travel begins by altering your sense of the assumptions
that you make about the world.
From Jim Paredes‘ blog. Thanks to Jojo Paderes for posting the link to PLUG-Misc.
I feel very much ethnic and I don’t want to lose that, but I am also
discovering my global identity. =) Life is good.
I don’t have butterflies in my stomach. I’ve got representatives from
every species of the order Lepidoptera and they’ve taken up residence
not only in my stomach but all throughout me, including the nerves of
I’m not doing something that scares me, I’m doing something that
terrifies the heck out of me. And I *know* that it’s not supposed to,
but I’m really, really nervous anyway.
Just remember, Sacha, it’s not going to be the end of the world. Okay.
If he doesn’t show up, I go ahead and have dinner with a bunch of
interesting people. Not a problem.
If people cancel, I can apologize profusely to the restaurant, and we
can have a cozier conversation.
If the restaurant turns out to be too noisy, we talk louder or we do
creative things with the seating arrangement. Mariko’s was doable, so
this should be okay.
If conversation is awkward, I can… umm… just remember that people
are responsible for enjoying themselves. I’ll do my best to keep
things flowing, though.
If more people show up than expected, I can drag more tables in.
And even if I flub it, some people will still be my friends. After
all, they’ve survived my cooking.
Right. Not the end of the world. Things are going to be okay.
Had a terrific dinner conversation with people named in the second
e-mail I sent today. Will blog more tomorrow or Thursday evening. Am
so glad to have good friends. =D
Ian Garmaise introduced Lawrence Miller, who
was a wonderful addition the conversation. Talk turned to wisdom. I
asked him, “How do you live a good life?”
He turned the question around, asking, “What is a good life?”
That made me think about what I value and what I want.
One of the things that I want to improve in my life is integrity. I
feel guilty about thank-you cards I haven’t finished and e-mail I
haven’t yet responded to. A friend recently passed away, and I hadn’t
visited her or finished writing the card. I think that going back and
taking care of all of these things would be the best way to spend my
time. I want to get into the habit of keeping my task list sorted out.
I’ll do the bare minimum I need to fulfill my other responsibilities
until I’ve (re)gained a sense of integrity.
I should make that happen. When I do, all other things will be easier.
Things to remember when setting up sound in Ubuntu Linux on a Sony Vaio U1:
I have a tiny laptop: 8.9″ diagonally. With a 1024×768 pixels screen
resolution, things can get *pretty* small. The following functions use
the gnome-terminal-style shortcuts (Ctrl-plus, Ctrl-minus) to change
the font size without the mouse:
(defun sacha/increase-font-size () (interactive) (set-face-attribute 'default nil :height (ceiling (* 1.10 (face-attribute 'default :height))))) (defun sacha/decrease-font-size () (interactive) (set-face-attribute 'default nil :height (floor (* 0.9 (face-attribute 'default :height))))) (global-set-key (kbd "C-+") 'sacha/increase-font-size) (global-set-key (kbd "C--") 'sacha/decrease-font-size)
Quinn Fung needed some help with Muse and RDF so that she could easily generate RSS feeds from Emacs, so we declared today to be Emacs Clinic day at the Linux Caffe.
We started by getting publishing to work. We then figured out how to get RDF to publish, and that was pretty okay too.
Quinn needed multiple authors, and muse-journal didn’t support it yet,
so we hacked it in. I told her to pick a syntax, and I added code to
make it happen. It took us a while to track things down, but it turned
out to be a reasonably easy addition. (I need to refactor that code
sometime… that’s a really long function!)
Along the way, we found a bug in muse-journal. Muse-journal summarizes entries by taking the first two sentences, but dies when the post doesn’t contain at least two periods. I spent a fair bit of time tracing through the different changes we made before realizing that it wasn’t my bug. I probably would’ve found it earlier, but debug-on-error wasn’t getting honored. Odd. Anyway, here’s the patch, which I’ll submit to GNA when I get back into the swing of things:
--- orig/lisp/muse-journal.el +++ mod/lisp/muse-journal.el @@ -570,7 +570,9 @@ (let ((beg (point))) (if (muse-style-element :summarize) (progn - (forward-sentence 2) + (condition-case err + (forward-sentence 2) + (error (goto-char (point-min)))) (setq desc (concat (buffer-substring beg (point)) "..."))) (save-restriction (muse-publish-markup-buffer "rss-entry" "html")
Now Quinn’s jumping feet-first into Lisp development by doing the Atom
implementation. muse-atom does single-entry Atom files, but she can
model it on muse-journal’s RSS implementation.
I also helped Ian set up a very very basic Planner. It reminded me
that I *really* need to package planner-bundle again, and either
retire or update plannerlove. In fact, I need to set up scripts so
that it’s ridiculously easy to keep up to date…
I miss hacking on Emacs! This is fun. I’ll reconfigure my kernel and
get VPN working. Then I’ll set up my Emacs development environment
At some point in time, I think I should go for figuring out how to do
my mail properly so that I can have email@example.com on my outgoing
mail. Jijo currently generously hosts my mail, but I should look into
properly paying for it like the rest of the civilized world.
The Greater IBM Initiative is having its first party in New York City on Thursday, Sept 21. I really, really want to go and meet all these people in person. Why? Because I can do really really well face-to-face, and because I’d love to make those deeper connections. How can I make it happen?
First, let’s set that up as a deal I make with myself. After I finish
five articles about networking that I can post on the Greater IBM
blog, I’ll give myself permission to go on this trip.
In the meantime, I need to plan ahead. How can I keep my costs down?
How can I raise money for this? (Hah. Maybe a donation jar at the event!) Ideas?
Let’s make this happen!
One of the simple joys in life is waking up (relatively) early on a weekend morning and preparing a proper breakfast. I made myself a twice-baked potato that was pretty decent, although it wasn’t as good as the ones I enjoyed in childhood. The idea is to scoop out the insides of a baked potato and mash that up with cheddar cheese, then bake it again until the cheese browns. I settled for microwaving the potato for 7 minutes, mashing it up, mixing it with grated cheddar, and broiling it for a short while. I also cooked bacon bits on the side.
Ah. Happy girl.
One of the things that surprises people is that as high-tech and
plugged in as I am, I still have an appreciation for old ways. I send
hand-written notes, write with a fountain pen in a little black
notebook, hardly ever swear, and occasionally pick up quirky styles.
Such as this hat, for example.
I’ve been told by quite a few people that I wear hats well. I picked
up this vintage hat during the Cabbagetown festival. It was CAD 18 or
so. I didn’t know when I’d have an occasion to wear it, but I decided
to get it anyway and find excuses to wear it whenever I could. It so
happened that I was wearing flowing black plants and a black velvet
top at the time that I bought the hat, so it fit perfectly, and a
number of people stopped to compliment me on the ensemble. It made a
few people wonder if I was in mourning, though.
Why should elegant hats be restricted to such occasions? Women of
breeding used to never go out without something on their heads, and
some cultures maintain this tradition to this day. I’ll continue
playing around with this idea, and perhaps I might fold it into my
I’m not used to thinking of myself as stylish, but I do like being
distinctive. This isn’t the harsh uniqueness of piercings or dye, but
rather a hint of something old, something different.
(Look, dad! I’m also getting better at taking self-portraits. The
cheap tripod I bought has been working out. Now all I need is a
full-length mirror that I can use for clothing and that I can set up
behind the camera…)
I have a new favorite statistics textbook. Not that I had one before. Who knew that a statistics textbook could have a sense of humor? Discovering Statistics Using SPSS is infinitely cool. It’s funny, it’s solid, it’s detailed, it’s good. Get it if you ever need to do anything with statistics. Heck, get it even if you just want to get over a fear of statistics.
Props to Mark Chignell, my research supervisor and the professor teaching the statistics course I’m taking this term. He’s hilarious, too. This is going to be such a great term…
I received an e-mail interview from a Philippine-based popular IT
magazine, and something about the interview made me think about how
e-mail interviews are conducted. I’ve copied the letter here sans
identifying details. I plan to write articles in the future, so this
reflection will help me remember tips for when I’m the one conducting
an e-mail interview. You can find my comments below.
Dear Ms. Chua,
Good afternoon. I am XXXXXXXXXXXXXXXXXX, a writer for XXXXXXXXXXXXXXXX.
I am writing an article for the magazine XXXXXXXXXXXXXXX, where the
story will focus on Filipino teenagers and the cyberspace. I plan to
angle the story on the general behavior of Pinoy teens online as well
as that of the parents on the idea of their kids linking up to the
cyberspace. I also hope that my interview with you will help in
shedding light to teens and the MMORPG industry.
I have below a set of questions; pardon me for this, but may I request
for your answers by Tuesday morning? I hope that it will be alright
If you have any questions or objections/clarifications, you can text
me at XXXX-XXX-XXXX. Thank you for having the time to read my letter.
Have a nice day.
Generally, how do Filipino teenagers see the Internet? Is going online
a more common phenomenon among teenage Filipinos? Do they prefer this
more than other types of media like TV or radio? How so?
With only a small percentage of the local household owning computers,
as well as going online through cafes and getting connected are still
expensive for some, is linking up to the cyberspace a difficult affair
for Pinoy teens? What do you think should parents as well as the
government do about this?
Should chatting, Instant Messaging, or joining social network services
like Friendster be allowed to teens? How so? Should parents allow
their teens to build relationships =96 platonic and/or romantic –
online? Again, how so?
How about blogging, should teenagers go for this online trend? What do
you think is its appeal to Filipino teenagers?
What dangers do these services pose to the Filipino teen? How about
the other malicious elements lurking the cyberspace?
What makes MMORPGs very popular among teens? How do these affect
teenagers? Should parents let their kids go for online gaming?
Should teenagers pursue their entrepreneurial spirits online? How is
it helpful to teenagers?
How do you think can the Internet help teenagers become responsible
adults? What should parents do to ensure this happens?
How often are you online? What do usually do when online?
I like journalists. Journalists have a hard job. They always need
stories, and they’re always chasing deadlines. They never have enough
time. I love helping journalists as much as I can, pinging them when I
hear about something interesting. I’ve even taken a few hours to
review articles and provide additional information and stories.
There’s something about this e-mail interview that distracts me from
replying to it, though. I started happily replying to a couple of
questions, but then I trailed off. The interview felt wrong.
What gave me that feeling? The questions were too generic and too
broad. There’s nothing of me in it, nothing to show how I would bring
a unique perspective on the issue. I felt like filler material that
can be dropped in to help the writer meet the word count. This didn’t
make me too keen to spend a lot of time imparting pearls of wisdom,
not that I had any in the first place. ;) This kind of shortcut-taking
also made me wary of cut-and-paste quoting, which would require me to
think in terms of soundbites and could lead to me being quoted out of
One way this e-mail interview could have been better is if it focused
on one or two key points, mentioning my background and showing how I’m
relevant to the issue. The entire e-mail was about the writer and what
the writer wanted, and I didn’t feel like my participation was at all
that I didn’t matter as long as the quotes came from somewhere. It
felt like a totally generic e-mail. Had the e-mail opened with a note
about how the writer found my blog or a personal referral from a
friend, talked a little bit about why the writer wanted my
perspective, and asked a couple of questions that tapped into my
interests, then I would’ve probably spent more time and energy
answering those questions than I did writing this blog post. As it
stands, it gives me the feeling of doing someone else’s homework,
I like journalists a lot. I’ve been tapped for quick quotes before,
and I’ve always risen to the occasion with helpful thoughts and
summaries. I hate to be unhelpful, but this e-mail interview doesn’t
make me feel good. I have great personal stories to share about how
blogging can be an incredibly good thing (I have no end of examples
for that!) and how people should be encouraged to explore their
entrepreneurial sides online (like my
laptop ad campaign), but I don’t want to be just filler, just a short line in a grab-bag of quotes.
<sigh> Is it a matter of just getting my ego stroked? I don’t
think it’s just that. I won’t say anything just for the sake of saying
something. If I’m going to say something and be quoted for it, I want
it to be based on personal experience. I want to be able to stand by
it. I’m not going to wave my hands and generalize about
entrepreneurship for teenagers, even though I think it’s a terrific
thing. I’d rather tell my story of taking a crazy idea and running
with it, or stories like that of Gary King, who started a Web business
when he was in high school and managed to talk his way into a Web 2.0
conference even though the student tickets were sold out. I don’t want
to say dry facts that anyone could say. I want to tell stories.
I’ll give this issue some time first. If I happen to blog a story
related to the questions the writer asked, then I’ll send a link
along. If not, well… it’ll be the first time I’ve said no to a
journalist. <sigh> Ah, those important little things.
On Technorati: writing
Little things can make someone smile. I wrote to the author of my new favorite statistics textbook, “Discovering Statistics with SPSS.” I included the text of my blog entry about it entitled “Wow. Statistics can be fun.“
Thanks for your email and nice comments about the book: it goes
without saying that it’s nice to have positive feedback! I also, for
the record, think it’s the first time I’ve made it into someone’s
blog. So there you are, a world first!
Interesting website by the way. Good luck with your stats and thanks
for taking the time to write: I appreciate it.
Authors like getting mail. Write and put a smile on their face. =)
Today’s laundry gave me an insight into what kinds of clothes I love
and would like be part of my personal style. With limited space on my
clothing rack and not enough time to handwash everything, I picked out
just the pieces I love wearing. The clothes that made the cut today?
All of my malongs, my Thai silk pants, and a couple of nicely textured
tops. Jeans, t-shirts, stretch pants, buttoned blouses: all stayed in
the laundry pile for another day. And there’s the fact that I’m typing
this blog entry while dressed in a black sari…
I don’t think I’d be happy just shopping at Gap. Or at a Vera Wang
boutique, for that matter. I like clothes with stories. I can get away
with my ethnic clothes now because people give students a lot of
latitude when it comes to outfits. If I can figure out a way to wear
clothes with character throughout my life, that would be fantastic. I
may have to be semi-conservative for a while if I work with IBM, but
if I can find out how to get ethnic accents into business and business
casual clothes, I’ll be happy. =)
If money were no object, I’d probably be more likely to bring a wallet
from Sagada than one from Louis Vuitton. If I could have anything I
wanted, I’d rather bring to light an obscure designer than clothe
myself in Armani. I’d rather have tailored clothing than designer
ready-to-wear. I’d rather wear homespun cotton than crisp pinstripes.
Clothes may make the man, but I make my clothes – that is, I can make
my clothes special.
All of this is academic, of course, because I have other things to
spend time and money on – particularly as a grad student! <grin>
But I get the sense that this is probably one of those unchanging
things, and I’d like to find role models who’ve gotten away with it.
The woman from Sonja’s Garden, for example – I remember really liking
So here’s the deal: I’ll keep a few business-type suits around just in
case I have to wear something conservative. I’ll probably use those a
lot if I work at IBM, anyway. But if people want me to wear anything
fancy, they should give it to me. ;)
More thoughts on this eventually…
Kevin Aires of IBM just called me up to tell me to check my e-mail. I just might make it to the Greater IBM Connection party in New York! Woohoo!
I *really* love this company, and I really love this universe!
I picked up a package from the front desk today. My mom had sent me a
box of Crane stationery, perhaps reminding me that I still owe her a
handwritten letter for my birthday. I have to admit: I’ve been
absolutely terrible at keeping in touch. I haven’t talked to my
barkada at home in ages, although I check LiveJournals once in a
I need to set aside time for this. I’m missing out on people’s
stories, on the cool stuff that’s happening in their lives. I miss
hearing about my dad’s adventures and my sister’s colorful goings-on.
I miss listening to my mom’s insights and chatting with my barkada.
I should schedule that in. It’s at least as important as meeting my
research supervisor regularly or hanging out with my friends here. I’d
like that time to be less about me telling them stories or asking for
advice and more about me listening to their stories. My mom doesn’t
blog, so that’s the only way I’ll get to hear about Ginger and Adphoto
and all of these other things…
(Which reminds me – I still owe them the map thing.)
Okay. The New York thing is going to happen. Awesome!
Travel. I found bus tickets for $100.
Sure, I have to leave at 6:00 AM and arrive at 2:00 PM, but I can deal
with that. I’ll just have to take the night bus on Thursday, and…
errr… deal with New York at 5:00 on Monday. That’s okay. I can hack
that. Simon suggested just going ahead and booking a flight, but the
backpacker in me resists the idea of spending nearly five times more
money than I have to, even if IBM might end up paying for it. When I’m
a high-powered executive, sure, they can fly me in. But if I can nap
and write on the bus, I might as well take the bus.
Okay. Ticket booked. Next.
Accommodations. Chaya’s offered her couch. Yay! The party probably
won’t run too late – the Greater IBM thing ends at 8:30, and there
might be a later event that ends at 10:00 or something like that. I
should give myself margin on the first day to account for travel
fatigue, etc. Still, I don’t want to inconvenience Chaya, so I can
stay at a hostel (or with an IBMer?) for the first night and then stay
over for the weekend. *Somehow* or another, it’ll all get sorted out
and I’ll find myself back in NYC for the 6:00 AM bus trip back on
Goals. What do I want to do in NY? Whom do I want to meet?
Greater IBM Initiative: My primary goal is to link up with the
Greater IBM Initiative folks. There’s just something about meeting in
person. I’m so looking forward to swapping tips and ideas with them!
I’m going to do that entire dogear thingy there again. Oh, I
absolutely have to wear The Shirt.
Other IBMers: It would be totally awesome to have a blogger
meetup at IBM in New York. There is one, right?
Family friends: I wonder if Tita Inda would like to come over
and help us learn how to cook…
My friends: I’ve pinged Byron and Ernest. Who else might be in
Other people: Anyone here from New York, or know anyone I
should definitely meet while I’m there?
This probably won’t be my only trip to New York, so I’m not too panicky about organizing a geek dinner or cramming my sched full of interesting things. I’ll get around to watching a Broadway musical eventually, and someday I’ll focus on tapping the New York tech scene. =) But yeah, it’s all good.
Send me your number if you’ll be somewhere near NY this weekend, or if you know of something interesting I should do!
Headline: Educational Administrator, Connector, Evangelist
Currently: Sr. Director, Management Programs at New York University
I love his headline! And he’s a personal/business coach, too. I wonder if I can set up an informational interview while I’m down in NY…
I definitely have to write about using LinkedIn to look for role models.
I’ve forgotten my laptop power cord at IBM (meep!), so life will be
*very* interesting for the next few days. This just means that I’ll be
forced to keep a paper journal of my time then, which is not a bad
Fortunately I have four hours of battery life if I’m fairly
conservative about them, which should be enough time to grab all the
important information and even last me through mail-check on Monday
afternoon. I won’t take my laptop on the trip, though, so I just have
to plan everything carefully.
Here’s the plan:
|Thu morning||Ride bus to NY|
|Thu afternoon||Settle in, prep for party|
|Thu evening||Greater IBM Connection, NYC IBM happy hour (also, NYC IBM bloggers meetup?)|
|Fri morning||IBM 39 Broadway|
|Fri afternoon||IBM 11 Madison Ave|
|Fri evening||Hang out with Ernest|
|Sat||Hang out with host, friends and other people who pass by|
|Sun||Hang out with host, friends and other people who pass by|
|Mon morning||Ride bus to Toronto.|
You can reach me at +1 416 823 2669. Whee!
The bus stop is just 1.5 km away from my residence. I’m splurging on a
cab ride anyway as I want to minimize the number of things that could
go wrong (and besides, the fall chill is starting to get to me).
I’m looking forward to living alone, but I appreciate the lessons I’m
learning by living with random roommates. It’s interesting seeing the
real-life versions of situations I read about, and trying to apply the
lessons I’ve learned from books, my experiences, and other people’s
stories. The constant challenges of living with other people force me
to learn how to be a better person. I’m getting better at finding the
good and creating enough space in each moment for me to choose my
I don’t think I’ll have the kind of easy friendship I’ve heard about
and which other people in Graduate House enjoy. I get the feeling I
should be making more of my residence life. I didn’t really get to
know people at the other dormitories I stayed at, though. Maybe it’s
because my outside life is already bursting at the seams. Maybe it’s
because the dorm tends to be just a place I sleep.
I should make more of an effort to involve myself in residence life, I
think. I’ll try to make it to international coffee night. Sam’s
hosting one this Wednesday, I think, and it would be a good occasion
to wear my terno. I haven’t been out to Sunday coffee in ages, either.
And then there’s billiards, which I keep telling myself I’ll learn one
of these days.
However you want to refer to whatever makes you try to be greater than yourself, this prayer rings true.
And she writes better than I do… <laugh> She’s totally
awesome! I’m looking forward to reading more stories from her. I
should ask her if I can link to her…
Okay, that’s it, I’m spending all of Friday catching up with my
blogging backlog. Promise! And then I’ll get on the story-a-day wagon
Goodness, I have *such* a blogging backlog. Here’s a story about
Software Freedom Day last 2006.09.16 that helped me learn a little bit
more about what I love doing. =)
Jane Zhang e-mailed me the night before. The
projector plans had fallen through. She asked me if I knew anyone with
a projector or knew anywhere they could rent one on short notice. I
remembered that Roger Yang brought a projector
to a vegetarian food fair a few weeks ago, so I forwarded her request
to him. I was glad to hear that it turned out well. Good karma points
The funny thing about favors is that they draw people closer together.
Who keeps score in these things, anyway? I get a warm and fuzzy
feeling (hereafter abbreviated as WAFFy) about Roger for helping Jane
out with this, and I look forward to, say, going rockclimbing with him
this weekend. I get WAFFy about Jane for thinking of me and giving me
this opportunity to help out. And I get WAFFy about being able to make
that connection, too. They’re both awesome people.
So that’s story 1 for Software Freedom Day. More to follow!
Hooray! Finally! Network access from my laptop Just Works!
This means I can work on my research from my regular computer instead
of cramming it into one day a week. I just need to figure out how I
can free up more space on this system…
On Technorati: ibm
My mom would rather that I don’t directly link to her blog, which is a
pity because you won’t get to read her totally awesome stories, but
it’s also good because embarrassing kid stories of mine would no doubt
turn up as well. ;) <grin> So you’ll just have to get to know my
mom yourself, and ask her really really really nicely. ;)
I’ve reached the last page on my well-loved Moleskine notebook and
must retire it to my archives. This is the little black notebook I
described in my blog post on
Networking with Moleskines. I have a fresh Moleskine to write in, newly numbered (odd pages only)
and ready for all the conversations I’ll have in the future. I’ve moved my masking-tape fountain pen holder to the new Moleskine.
It’s a good time to think about what I’d like to keep and what I’d
like to change.
I’ve come to see my notebook as a temporary buffer for conversations,
notes, promises, thoughts, ideas – anything that should make its way
into my computer. It performs this job admirably. It’s the only way I
can remember to keep in touch with so many people after all the events
I go to. It lets me be proactive in following up. Of course, it’s not
much good if I don’t actually have the time to sit down and do some
correspondence, but at least the data is kept somewhere safe.
I love the back pocket – great for business cards and emergency cash.
I love the binding. I love the fountain pen’s heft in my hand and the
smoothness with which it glides across the cream paper. I love the
comments and smiles I get when people notice the pen, too. I love the
secret knowing grins of fellow members of the Moleskine cult. ;)
Most of all, I love the trust. I love knowing that everything would be
in my little black book. All I have to do is go through everything
sequentially to make sure that I get everything into my computer and
my Big Brother Database.
The following code should not be run until you’ve backed up your Big
Brother Database and sacrificed a chicken. It goes through the list of
people in your exported LinkedIn CSV, creates BBDB records if
necessary, adds a linkedin mail alias, and notices new e-mail
addresses and job titles. Call sacha/linkedin-import from the CSV.
which you should load before running this code.
If anyone else ever finds this useful, I’ll be quite surprised.
(require 'csv) (require 'lookout) (setq lookout-bbdb-mapping-table '(("lastname" "Last Name") ("firstname" "First Name") ("company" "Company") ("job" "Job Title") ("net" "E-mail Address"))) (defun sacha/lookout-bbdb-check-linkedin (line) (let* ((lastname (lookout-bbdb-get-value "lastname" line)) (firstname (lookout-bbdb-get-value "firstname" line)) (company (lookout-bbdb-get-value "company" line)) (job (lookout-bbdb-get-value "job" line)) (net (lookout-bbdb-get-value "net" line)) (addr1 (lookout-bbdb-get-value "addr1" line)) (addr2 (lookout-bbdb-get-value "addr2" line)) (addr3 (lookout-bbdb-get-value "addr3" line)) (phones (lookout-bbdb-get-value "phones" line t)) ;; ! (notes (lookout-bbdb-get-value "notes" line )) (j (concat job ", " company)) (otherfields (lookout-bbdb-get-value "otherfields" line t)) (addrs nil) (n (concat "^" firstname " " lastname)) (record (or (bbdb-search (bbdb-records) n) (bbdb-search (bbdb-records) nil nil net))) (message "")) (unless record (if (string= company "") (setq company nil)) (if (string= notes "") (setq notes nil)) (if (and addr1 (> (length addr1) 0)) (add-to-list 'addrs (vector "Address 1" (list addr1) "" "" "" ""))) (if (and addr2 (> (length addr2) 0)) (add-to-list 'addrs (vector "Address 2" (list addr2) "" "" "" ""))) (if (and addr3 (> (length addr3) 0)) (add-to-list 'addrs (vector "Address 3" (list addr3) "" "" "" ""))) (setq record (list (lookout-bbdb-create-entry (concat firstname " " lastname) (concat job ", " company) net addrs phones notes otherfields)))) ;; Check if net has changed (when record (setq record (car record)) (let ((nets (bbdb-record-net record))) (unless (member net nets) ;; New e-mail address noticed, add to front of list (add-to-list 'nets net) (bbdb-record-set-net record nets) (message "%s %s: New e-mail address noticed: %s" firstname lastname net))) ;; Check if job title and company have changed (when (or job company) (cond ((string= (or (bbdb-record-company record) "") "") (bbdb-record-set-company record j)) ((string= (bbdb-record-company record) j) nil) (t (bbdb-record-set-notes record (concat "Noticed change from job title of " (bbdb-record-company record) "\n" (bbdb-record-notes record))) (message "%s %s: Noticed change from job title of %s to %s" firstname lastname (bbdb-record-company record) j) (bbdb-record-set-company record j)))) (let* ((propsym bbdb-define-all-aliases-field) (oldaliases (bbdb-record-getprop record propsym))) (if oldaliases (setq oldaliases (if (stringp oldaliases) (bbdb-split oldaliases ",") oldaliases))) (add-to-list 'oldaliases "linkedin") (setq oldaliases (bbdb-join oldaliases ", ")) (bbdb-record-putprop record propsym oldaliases))))) (defun lookout-bbdb-create-entry (name company net addrs phones notes &optional otherfields) (when (or t (y-or-n-p (format "Add %s to bbdb? " name))) ;;(message "Adding record to bbdb: %s" name) (let ((record (bbdb-create-internal name company net addrs phones notes))) (unless record (error "Error creating bbdb record")) (mapcar (lambda (i) (let ((field (make-symbol (aref i 0))) (value (aref i 1))) (when (and value (not (string= "" value))) (bbdb-insert-new-field record field value)))) otherfields) record))) (defun lookout-bbdb-get-value (key entry &optional as-vector-list) "Returns the value for a key from a lispified csv line, using the mapping table." (let* ((table (if (listp lookout-bbdb-mapping-table) lookout-bbdb-mapping-table (symbol-value lookout-bbdb-mapping-table))) (mapped-keys (cdr (assoc key table))) (result nil) (separator "")) (unless as-vector-list (setq result "")) (when mapped-keys (if (stringp mapped-keys) (setq mapped-keys (list mapped-keys))) (mapcar (lambda (i) ;;(message "%s...%s" i (cdr (assoc i entry))) (let ((value (cdr (assoc i entry)))) (unless (string= "" value) (if as-vector-list (add-to-list 'result (vector i value)) (setq result (concat result separator value))) (setq separator " ")))) mapped-keys)) ;;(message "%s" result) result)) (defun sacha/linkedin-import () (interactive) (mapcar 'sacha/lookout-bbdb-check-linkedin (csv-parse-buffer)))
One of the things I want in a contact management system is a quick way
to find out who I haven’t pinged in a while. The following code
filters currently-displayed contacts to show who I might want to get
back in touch with. Call it from a *BBDB* window and specify the date
(could be 2006.01.01 for annual, -7 for the last seven days, etc.).
This works incredibly well with the following hacks:
I should write a small book about how to build a contact management
system with Emacs. ;) It’s insanely powerful, you know.
(require 'planner) (require 'bbdb) (defun sacha/bbdb-show-only-no-contact-since (date) "Show only people who haven't been pinged since DATE or at all." (interactive (list (planner-read-date))) (let ((records bbdb-records) new-records last-match omit notes) (while records ;; Find the latest date mentioned in the entry (setq notes (or (bbdb-record-notes (caar records)) "")) (setq last-match nil omit nil) (while (string-match "[0-9][0-9][0-9][0-9]\\.[0-9][0-9]\\.[0-9][0-9]" notes (or last-match 0)) (unless (string> date (match-string 0 notes)) (setq omit t) (setq last-match (length notes))) (setq last-match (match-end 0))) (unless (and last-match omit) (add-to-list 'new-records (caar records) t)) (setq records (cdr records))) (bbdb-display-records new-records)))
One of the other things I’d like to smooth over is keeping track of
who owes whom e-mail… <laugh>
And because it’s good to quickly flash through records once in a while
to refresh my memory…
(defvar sacha/bbdb-rapid-serial-visualization-delay 1 "*Number of seconds to wait between records. Set to 0 to wait for input.") (defun sacha/bbdb-rapid-serial-visualization () "Breeze through everyone's name and notes." (interactive) (window-configuration-to-register ?a) ;; Copy the currently visible records (let ((records bbdb-records) (default-size (face-attribute 'default :height)) (new-size 400) (continue t)) (set-face-attribute 'default nil :height new-size) (pop-to-buffer (get-buffer-create "BBDB-Serial")) (delete-other-windows) (while (and records continue) (insert (bbdb-record-name (caar records)) "\n\n" (or (car (bbdb-record-net (caar records))) "No e-mail") "\n\n" (or (bbdb-record-notes (caar records)) "") (make-string 50 ?\n)) (goto-char (point-min)) (sit-for sacha/bbdb-rapid-serial-visualization-delay) (setq records (cdr records))) (set-face-attribute 'default nil :height default-size) (when continue (jump-to-register ?a))))
… and because this is just so endearingly old-school and crazily
Emacs, here’s what’s going to be my title “slide” for DemoCamp10.
(progn (set-face-attribute 'default nil :height 700) (delete-other-windows) (sit-for 1) (animate-sequence (list "Livin' la Vida Emacs" "DemoCamp10" "Sacha Chua") 1))
I may end up writing a presentation mode if there isn’t one yet. I’ve
seen one before, but I don’t know if it accepts arbitrary Lisp
expressions. Maybe I can mess around with eev, too..
Comment from pll:
OMG!!!!!!!!!!!!!! That’s just SOOOOOO cool, and hysterical. I’ve got
to steal^H^H^H^H^Hborrow this hack. I’ve been toying with the idea
for a while of doing a “Life with Emacs” talk for my LUG. What a
perfect opening :)
Whenever I go to a networking event and see people without nametags or
with nametags that only have their first names, I see all these missed
opportunities to help memory and enrich conversations.
Nametags are essential at networking events. Hardly anyone can be
expected to remember everyone’s names after such brief introductions.
Nametags help other people discreetly remember your name without
embarrassing them by asking you again.
Here are some tips I’ve picked up from books and from experience:
Always wear your nametag high on your right shoulder. This is where
the eye is naturally drawn to when you shake hands with someone. Make
it easy for people to read your nametag when they shake hands with
Make sure there’s enough space on your nametag for your first and last
name. This makes it easier for people to remember you when they review
all the business cards they’ve received and the notes they’ve taken.
And why stop at names? You want people to remember what you do, too. I
find that “Sacha Chua, Tech Evangelist” starts more conversations and
is remembered better than just “Sacha Chua”. Make it easy for people
to find out and remember what you’re interested in by adding a tag line
or some keywords to your nametag. Use a second nametag if necessary.
You can repeat some of these keywords on your business card or e-mail
signature to reinforce people’s memories.
For serious networking, always bring a nametag with your first and
last name and a tag line. Many events don’t provide printed nametags,
and your preparation will set you apart.
Do you have any other tips for nametag success? Please e-mail me at
firstname.lastname@example.org, and I’ll add it to this entry!
Does the thought of speaking in public make you anxious? Want some
tips on how to deal with the butterflies in your stomach? Come to the
Toast I.T. Toastmasters Open House on Oct 10, 2006 for a fun,
I’m giving one of the Toastmasters International educational modules
called “Taking the Terror out of Talk”. It will be part of the 229th
meeting of Toast I.T. Toastmasters, so you’ll also get to see a little
bit of what Toastmasters is like.
This is free, so come on over!
(And even if you’re a polished public speaker, come anyway to show
support and share tips! ;) )
Photo credit: Cherie, Creative Commons Attribution License, from Flickr.
What do you do when you’re into both Emacs geeks and social
networking? Well, you build a really really weird contact management
tool, that’s what!
One of the things I often need to do is filter my contacts for a
particular set of interests. I would have no idea how to do this in
Microsoft Outlook and other proprietary contact management systems.
Because Emacs is infinitely programmable, though, I can just hack it
You’d expect the intersection of the set “emacs geek” and the set
“social networker” to be a null set or a singleton (me!). As it turns
out, there’s at least one other geek in this space – hooray!
Paul Lussier’s been bouncing all sorts of
crazy ideas off me, which explains all the weird
porridge-and-toe-nails posts of Emacs Lisp code on my blog lately.
He’s responsible for my puttting together yesterday’s LinkedIn
importer. Today, he wrote:
Then found your sacha/bbdb-search-tags stuff which
totally, completely rocks. I just wish I had the first inkling as to
how it worked :) Now, the question I have is: How can I use
sacha/bbdb-search-tags to search for entries which are tagged with one
label, but NOT with another? For example, I want to search on: (and
(taq eq “planner”) (not (tag eq “muse”)))
I’d completely forgotten about sacha/bbdb-search-tags! Anyway, I’d
been meaning to write a fancy alias management thing for a while now,
and this code does a reasonable job for me. I can now filter my
displayed records by arbitrary Lisp expressions, bringing me closer to
insane contact relationship management. I mean, c’mon…
;; M-x sacha/bbdb-filter-by-alias-function RET ;; (lambda (aliases) (and (member "planner" aliases) ;; (not (member "muse" aliases))))) RET
If I do this often enough, I might make up an easier syntax, but
lisp expressions work fine for me.
Here’s the code:
;;;_+ Mail aliases ;; Code for working with aliases ;; You can use "a" (bbdb-add-or-remove-mail-alias) in BBDB buffers to add ;; a mail alias to the current entry, or "* a" to add a mail alias to ;; all displayed entries. ;; Goal: Be able to specify ALIAS and ALIAS ;; M-x sacha/bbdb-filter-displayed-records-by-alias RET alias alias ;; Goal: Be able to specify ALIAS or ALIAS ;; C-u M-x sacha/bbdb-filter-displayed-records-by-alias RET alias alias ;; Goal: Be able to specify not ... ;; M-x sacha/bbdb-omit-displayed-records-by-alias RET alias alias ;; C-u M-x sacha/bbdb-omit-displayed-records-by-alias RET alias alias (defun sacha/bbdb-filter-by-alias-match-all (query-aliases record-aliases) "Return non-nil if all QUERY-ALIASES are in RECORD-ALIASES." (let ((result t)) (while query-aliases (unless (member (car query-aliases) record-aliases) (setq query-aliases nil result nil)) (setq query-aliases (cdr query-aliases))) result)) (defun sacha/bbdb-filter-by-alias-match-any (query-aliases record-aliases) "Return non-nil if any in QUERY-ALIASES can be found in RECORD-ALIASES." (let (result) (while query-aliases (when (member (car query-aliases) record-aliases) (setq query-aliases nil result t)) (setq query-aliases (cdr query-aliases))) result)) ;; Moved this to a convenience function so that we don't ;; have to deal with invert and property splitting. (defun sacha/bbdb-filter-by-alias (bbdb-records alias-filter-function query &optional invert) "Return only the BBDB-RECORDS that match ALIAS-FILTER-FUNCTION. ALIAS-FILTER-FUNCTION should accept two arguments: - QUERY, a list of keywords to search for - aliases, a list of keywords from the record If INVERT is non-nil, return only the records that do not match." (delq nil (mapcar (lambda (rec) (if (funcall alias-filter-function query (split-string (or (bbdb-record-getprop (if (vectorp rec) rec (car rec)) propsym) "") "[ \n\t,]+")) (when (null invert) rec) (when invert rec))) bbdb-records))) ;; Splitting this into two functions because of interactive calling. (defun sacha/bbdb-filter-displayed-records-by-alias (query &optional any) "Display only records whose mail-aliases match QUERY. If ANY is non-nil, match if any of the keywords in QUERY are present. See also `sacha/bbdb-omit-displayed-records-by-alias'." (interactive (list (let ((crm-separator " ")) (completing-read-multiple "Mail aliases: " (bbdb-get-mail-aliases))) current-prefix-arg)) (when (stringp query) (setq query (split-string query "[ \n\t,]+"))) (bbdb-display-records (sacha/bbdb-filter-by-alias-by-function (or bbdb-records (bbdb-records)) (if any 'sacha/bbdb-filter-by-alias-match-any 'sacha/bbdb-filter-by-alias-match-all) query))) ;; Splitting this into two functions because of interactive calling. (defun sacha/bbdb-omit-displayed-records-by-alias (query &optional any) "Display only records whose mail-aliases do not match QUERY. If ANY is non-nil, match if any of the keywords in QUERY are present. See also `sacha/bbdb-filter-displayed-records-by-alias'." (interactive (list (let ((crm-separator " ")) (completing-read-multiple "Mail aliases: " (bbdb-get-mail-aliases)) current-prefix-arg))) (when (stringp query) (setq query (split-string query "[ \n\t,]+"))) (bbdb-display-records (sacha/bbdb-filter-by-alias-by-function (or bbdb-records (bbdb-records)) (if any 'sacha/bbdb-filter-by-alias-match-any 'sacha/bbdb-filter-by-alias-match-all) query t))) ;;;_+ Advanced mail alias queries ;; Goal: Use complicated lambda expressions to filter displayed records ;; M-x sacha/bbdb-filter-by-alias-function RET ;; (lambda (aliases) (and (member "planner" aliases) ;; (not (member "muse" aliases))))) RET ;; Thanks to Paul Lussier for the suggestion! (defun sacha/bbdb-filter-by-alias-function (bbdb-records alias-filter-function) "Return only the BBDB-RECORDS that match ALIAS-FILTER-FUNCTION. ALIAS-FILTER-FUNCTION should accept one argument: - aliases, a list of keywords from the record." (interactive (list (or bbdb-records (bbdb-records)) (read t))) (let (records) (setq records (delq nil (mapcar (lambda (rec) (when (funcall alias-filter-function (split-string (or (bbdb-record-getprop (if (vectorp rec) rec (car rec)) propsym) "") "[ \n\t,]+")) rec)) bbdb-records))) (if (interactive-p) (bbdb-display-records records)) records))
Someday I want to be able to make people feel as welcome as Luis Suarez felt in Cincinnati:
But on the contrary, it was one of those parties
difficult to forget. I know I will not forget it that easily. Not only
did Melody open her house to everyone as if they were close family
members but everyone else even made you feel that way, too ! An
incredible experience ! It felt like I was part of the group and all
that from someone who visited Cincy for the first time ever and who
didnÃƒÂ¢Ã‚Â€Ã‚Â™t know most of the people back there. If there is a way to define
hospitality in the best terms possible that, folks, would be the best
I can come up with.
On Technorati: rolemodel
Business cards are not only a good way to leave your contact
information with people, but they can be a great way to make a
memorable impression by sharing valuable tips. Here’s how I made a
difference with my business cards.
I had two hours of free time before going to a networking workshop,
and I wanted to create as much value as possible for the other
attendees. The back of my business card felt like a good place to put
a takeaway message, so I pulled up my business card template and a few
sheets of perforated business cards.
Would my recent blog post about networking with nametags have been a good fit? Hmm, maybe not. It would be useful if I gave them my card before they made nametags, but I wasn’t sure if I could get to everyone in time unless I volunteered to be at the reception. Besides, that kind of information is easy to absorb and remember. What could create lasting value for people?
Aha! Whenever I meet someone who wants to learn more about networking,
I run through a list of my favorite books on the topic. Why not put
*that* on my business card? That way, I could help people learn even
more about networking. So I changed the back of my business card to read:
My favorite networking books:
- Never Eat Alone, Keith Ferrazzi
- Work the Pond, Darcy Rezac
- Love is the Killer App, Tim Sanders
- How to Talk to Anyone, Leil Lowndes
- Dig Your Well Before You’re Thirsty, Harvey Mackay
Then I thought, hey, what else can I do to create value for other
people? Well, I read, think, and blog a *lot* about networking and
other topics. What if I e-mail people a free networking newsletter
with tips? So I added this to the back of my business card:
Want tips, good networking resources, and upcoming
events? E-mail me at email@example.com to subscribe to
my free networking newsletter!
Hey, I’ll figure out how to do newsletters if people are interested.
I’ve got plenty of material, I know. I just have to search through my
blog and tidy up some of the articles!
I printed out thirty new business cards and headed to the event. I
handed one to the organizer, whom I knew from other tech events.
Whenever I got people’s contact information in order to send them
something or to continue a conversation, I gave them a business card.
I didn’t call attention to the back; it was just there.
The perfect opportunity to mention the business card came up during
the networking workshop, though. Alex Sirota
mentioned the idea of interdependence and networking, and one of the
books on my list has a very good description of how networking can
help you reach out to others. I told him (and thus everyone) that on
the back of my business card is a list of my favorite networking
books, and book 3 – Love is the Killer App – has a great description
of networking along those lines. People perked up, and some of the
people I hadn’t gotten to talk to reached out and asked for a business
card. I got several compliments on such a great idea, too!
So, networking tip for the day: Take a look at your business card
and figure out how you can create more value for the people you
meet. For example, if you’re a writer, you might want to list your
latest useful articles and offer to send a copy if people are
interested. Carry several versions of your business cards targeted for
different audiences. (Thanks to Greg A. Fitz
for this tip.) It’s a great way to make an impression!
I love following these crazy little ideas. Stay tuned for more
networking tips. I’d love to hear yours, too!
On Technorati: networking
I was thrilled when the Greater IBM Initiative invited me to be one of
the Core Connectors. Thrilled, yes, and more than a little anxious. I
didn’t know what I could bring, being so new to IBM and knowing hardly
anyone, much less being able to convince them to register for a new
social networking site or get them excited about networking with IBM
alumni I didn’t even know. Still, I accepted the invitation with great
enthusiasm, and I signed up to help with the blog.
I still haven’t contributed anything to the blog despite all the stuff
I’ve been blogging here about networking. I think I should just work
up the nerve to get one of these potential articles out there in
My insecurity about not feeling like a proper Core Connector didn’t
stop me from being excited about the events the Greater IBM Initiative
was organizing. They were kicking it off with parties in New York, San
Francisco, and other awesome places.
On 2006.09.16 (Saturday), I woke up and asked myself, “What if we could make this happen?” I knew I really wanted to meet these people in person. I wanted to meet other people serious about social networking and passionate about connecting people. So I said, okay, what can I do to get there?
I was thinking about it during the Queen West Art Crawl, and I just kept seeing encouraging signs wherever I went. Quinn, Ian, Simon and I were hanging out at the Melody Bar for karaoke (kudos to Simon for stepping out of his comfort zone, although we still haven’t gotten him to sing!). Someone sang “New York, New York” – imagine that! It made me smile, and for the rest of the evening I felt such an urge to break out into song.
Next thing I knew, a UK IBMer called me up to tell me to check my mail, because the Greater IBM Initiative had heard me muse about things on my blog and people were trying to figure out how to fit me into their budget. My mom hooked me up with a family friend who could lend me couchspace. Suddenly, everything was falling into place.
All I needed to do was find a cheap way to get to New York. I stumbled across Skybus, which offered a round trip for USD 100. What a deal! I signed up for that using my Canadian credit card, scrambled to pack my things and prepare for the networking event, and off I was!
And that’s how I found myself in New York last Thursday: a crazy idea that I wanted to make happen, and the generous, generous support of family and friends and everyone around me.
On Technorati: travel
The e-ticket from the bus company said that people should arrive
twenty minutes early in order to keep their reservation priority. The
pickup point was 1.5 km from my residence. I was taking no chances,
though. If I missed the bus, I had no idea how I’d get to New York
without spending way too much on a plane ticket! I requested a cab for
5:00 AM (meep!), giving myself _plenty_ of time to get there.
Too much time, apparently.
As it turns out, waiting alone on the sidewalk at 5:10 in the morning
is nerve-wracking, even in Toronto. Toronto feels like a generally
safe city (compared to Manila, at least!), but I was still pretty
nervous. Someone with a thick Irish accent asked me for help getting
back to Oakville. I normally don’t give people money because, well, I
haven’t sorted out the best response to panhandlers yet, but I was
just so rattled that I gave him the smallest amount I had. Didn’t have
any coins, so I ended up giving him CAD 10. Fortunately, he headed off after that…
… but then I was sitting on the sidewalk, shivering, scared, and
more than a little worried that the bus might not actually show up.
After all, I wasn’t going with an established company like Greyhound.
Knowing that I’d charged it to Visa and could dispute the charge just
in case they scammed me was small comfort waiting there at 5:15 in the
morning with no bus in sight.
And that was one of the times I felt really, really, really lucky to
have friends I can call at 5:17 in the morning.
Jedediah Smith lived closest to the
intersection. Although I knew he wasn’t really a morning person and
he’d probably need the sleep, I called him up anyway. I was starting
to get really nervous.
And he came, and that was awesome. =) We chatted for a bit before the
bus showed up. It turned out to be non-dodgy. Whew! But it was
wonderful having company. =)
On Technorati: friends
Attendance: Dave Kemp, MJ Suhonos, Sacha Chua
|Next action||Work on individual ANT maps, due Oct 5|
|Next meeting||Oct 5 2:00 PM at Dave Kemp’s studio|
On Technorati: kmd2004
I often include people’s names in my notes on other people, such as
when I’m tracking who introduced me to whom. The following code
modifies BBDB’s behavior to put exact matches for name, company, or
network address above matches for notes.
(defun sacha/bbdb (string elidep) "Display all entries in the BBDB matching the regexp STRING in either the name(s), company, network address, or notes. Prioritize non-note matches." (interactive (list (bbdb-search-prompt "Search records %m regexp: ") current-prefix-arg)) (let* ((bbdb-display-layout (bbdb-grovel-elide-arg elidep)) (notes (cons '* string)) (records-top (bbdb-search (bbdb-records) string string string nil nil)) (records (bbdb-search (bbdb-records) string string string notes nil)) temp) (setq temp records-top) (while temp (setq records (delete (car temp) records)) (setq temp (cdr temp))) (if (or records-top records) (bbdb-display-records (append records-top records)) ;; we could use error here, but it's not really an error. (message "No records matching '%s'" string)))) (defalias 'bbdb 'sacha/bbdb)
At last night’s New Path Network workshop, Alex Sirota told us a story about how Fernando Morales networked his way to an opportunity. Fernando turned up at a New Path meeting because he was interested in catering for their events. It so happened that New Path Networks was thinking of having a summer social, so they hooked up with Fernando. New Path Networks sold 25 tickets to its members for a social event that was part of a larger celebration organized by Fernando, and Fernando’s event gained more people, visibility, and credibility.
So get out there and ask for opportunities! =)
Kevin McIntosh made a couple of great points at last night’s Newpath Network workshop. One of my favorite ideas from the evening was:
Networking isn’t about getting an immediate business lead. It’s about making an impression on someone. Your opportunities are probably not going to come directly from the people you meet, but rather from the people _they_ meet. Make that connection with people so that they’ll remember you.
I think that’s one of the things that I still find a little bit
strange about networking events. I’m getting better at finding an
excuse to e-mail people. Knowing a bit about a lot of different topics
helps. I love offering to send people more information about
something, and my trusty Moleskine notebook means I can promise all
those things and (usually) be good at following up. When I’m in a
large crowd, then, all I’m really looking for is an idea of what
someone’s interested in and a reason to get in touch with them in the
For example, Quinn and I were talking about the Toronto Public Library
system at Wednesday’s !CaseCamp. Someone else jumped in with praise
for the public library system. I immediately asked him if he’d heard
of the library lookup bookmarklet and other cool tools. He hadn’t, so
I got his e-mail address and promised to e-mail him more information
I get the feeling that most people aren’t like that. Many people I
talk to at networking events don’t immediately give me hooks to get in
touch with them about, or spend time finding out what I’m into. I
noticed that when I _don’t_ actively look for those ways to continue a
conversation, don’t actively deep-bump people, I come away from these
events feeling that I haven’t really met anyone. One of the social
salons I went to was like that: random people talking about the
weather, little self-disclosures that I’ll never use, maybe a bit of
trivia that I _might_ pick up and remember even though I probably
wouldn’t remember the person I heard it from.
My awareness of this difference is shaped in part by Keith Ferrazzi’s
book “Never Eat Alone”, from which I got the term “deep bump.” I go to
networking events not to have full conversations, but to start them. I
guess it’s because I hate chatting at loud, crowded networking events.
;) I’d rather sit down and have coffee with someone (well, when I can
find the time to do so!), or have them over for a barbecue or dinner
party, or e-mail them a little tidbit that fits their interests…
Hmm, there’s probably a little article in here somewhere. How can I
help other people get the hang of the deep bump?
On Technorati: networking
Simon just finished a sales call that came in through a referral. He’s
got a pretty nifty voice messaging system (for non-profits that don’t
do evil!), and he’s starting to realize that he doesn’t have to spend
a lot of time doing development when he’s already got a totally cool product
that he should be selling the heck out of. =)
Kevin McIntosh’s presentation on networking reminded me of Geek Dinner. I’ve been meaning to organize one of these for ages.
You know what? These networking/hanging-out events might be fun with a
little more structure instead of the hit-or-miss things that usually happen.
I’m curious as to how a networking event would work with the following tweaks, roughly in order of effort/preparation required:
You know, that would be _so_ fun to hack. I’d love to have a venue for trying out my crazy networking ideas.
On Technorati: networking
If I’ve invited you to do something today, please accept my apologies
and last-minute cancellation. I am currently in no condition to
receive guests, and need to sort through some deeply disturbing
things. I’m not sure if I can explain things over the phone or IM just
Warm and fuzzy thoughts will be much appreciated.
Was propositioned over dinner last night by someone whom I had hoped
would be a good mentor and friend. Firmly said no and left when I was
too uncomfortable. Later that night, found myself losing touch with
reality. Couldn’t clearly remember more than a few minutes at a time.
This freaked the heck out of me. Other things, too, disturbed me a
great deal, but I need to sort that out later.
Right now, I need to feel safe. I need to feel loved. I need to feel
good about myself.
I’m terrified that this will happen again and again in the future,
just because I’m female and just because I am who I am.
I’m frustrated that I can’t just get over it.
I’m ashamed because I wasn’t myself afterwards.
I’m sad that other people live that kind of life.
And I’m *darned* lucky that the universe pulls me out of situations
like this and that I have friends to run to when crazy stuff happens.
And I’m trying my best not to be angry or disappointed (but not for
the reasons you might think)…
And I’m trying to fight off the panic, trying not to cry so hard I
feel like throwing up, trying not to freak all of my friends out in
the process… My rationalization engine’s kicking in overtime trying
to reassure me that it’s good that I learn these lessons now, good
that the circumstances were just right to keep me safe and all of
that, but I’m still terrified and I’m still scared and I’m still
trying my best to remember what makes me feel good about myself.
So it’s time to break out the GoodKarma page and the Cute Overload blog, time to bring out the stuffed toys and the letters, time to wrap myself in the warm and fuzzy thoughts people are sending my way and would have sent my way had they heard about it in realtime…
But I don’t want to ever have this feeling again.
Many many many thanks to Dan and Jed for coming over, reassuring me,
and helping me sort things out. Warm and fuzzies back to Leigh, Quinn,
Wayne, and all the other people who sent me thoughts of hot chocolate.
Warm and fuzzies out to everyone else, too. Life is good.
Post-mortem to be friends-only-ed on LJ soon. Going out for dinner,
walk, and long conversation.