September 2, 2006

Bulk view

Wanted: real-time calendaring for get-togethers

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
“gimmicks”.

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
blend groups!

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
head. ARGH!

On Technorati: ,

A passion for social systems – clues to my next short-term step?

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
contact database.

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
with…

… 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…

On Technorati: , , ,

Free Software and Open Source Symposium, Toronto, Oct 26-27

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.

Coming? =)

On Technorati: , , ,

Networking tips: Bring your own nametag

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
conversations.

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
nametags. Hmm…

Preparing a nametag was definitely a good idea. You should try it at
your next networking event!

On Technorati: ,

More Emacs goodness: Refresh your memory when you e-mail using notes from BBDB

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.

On Technorati: , , , , ,

../emacs/dotgnus.el