May 2009

Getting started with virtual assistance

May 4, 2009 - Categories: delegation

When people ask me about virtual assistance, I usually start off with a few stories about things my assistants do, like:

  • Renew my library books and e-mail me a list of the books they couldn’t renew
  • Look up information in my e-mail and call me with it while I’m out and about
  • Call stores to find out if something I’m looking for is in stock
  • Double-check the dates and times of appointments and talks, because I sometimes mess that up and it’s embarrassing

My reasons for experimenting with virtual assistance are to:

  • Learn how to delegate
  • Understand and improve my processes
  • Learn how to scale
  • Help other people grow

I use Timesvr for 15-minute tasks and well-specified processes, and I work with virtual assistants I hired through oDesk for more specialized skills or more extended projects. Definitely worth the experiment, and quite affordable considering what you can learn and how you can help yourself and other people grow. =)

To get started:

  1. Make a list of things you do and things that you’ve been meaning to do.
  2. Identify things you frequently forget to do, don’t like doing, or can delegate to someone else easily.
  3. Set aside some money in your budget for outsourcing. Timesvr costs USD 69 + tax a month, and oDesk virtual assistants can go from USD 3 – USD 20 or more per hour. The virtual assistants I work with generally charge about USD 5 per hour, with specialized skills like illustration costing more.
  4. Try to estimate how much time it would take to complete each of those tasks. If your list has a large number of 15-30 minute tasks on it, consider signing up for Timesvr. If you have extended projects or projects that need specialized skills, consider posting on oDesk. You might even try both.
  5. Try a few small tasks. Timesvr has a free 3-day trial, and you can hire people on oDesk on an as-needed basis (< 10 hours a week, with no charges if you don’t assign them work).
  6. Think about your processes and your outsourcing experiences, and look for ways to improve. You can ask experienced assistants to help you learn, too. For example, I have Timesvr e-mail me a list of sample tasks every day.
  7. Lather, rinse, repeat. =)

Resources for people getting started:

My experiences


Check out my blog category about managing virtual assistants, and feel free to ask questions or share your experiences through comments or e-mail!

Weekly report: Week ending May 3, 2009

May 4, 2009 - Categories: weekly

From last week’s plans:

  • get better at making design documents, thanks to my team members’ feedback They’re happy with the design documents I wrote, AND I learned how to use the documents to improve my programming thinking, too!
  • prepare background research for upcoming talks More talks to prepare! =)
  • develop a presenter’s guide for internal conferences Put some basic notes together, yay!
  • spend some time going through some of the great learning resources we have at work Haven’t done so, but blocking out time to do this on Saturday
  • mentor a colleague on Drupal application development It’s fun to help!
  • sew a skirt Finished my red wool skirt =)
  • sew a muslin for a blouse Haven’t started
  • sketch five new stick figures Drew some cats
  • … and continue to have and share tons of fun! Totally!

I also:

  • Submitted my personal business commitments and individual development plan, with plenty of insights from my mentors (yay!)
  • Got the hang of playing Chopin’s Prelude Op. 28 No. 6, yay! Next: Pachelbel’s Canon, then Memory.
  • Planned and planted our garden: garlic (from last year), rosemary (from last year), basil, oregano, thyme, hot peppers, jalapeno peppers, bell peppers, tomatoes, onions, strawberries, and mint. We’ll see how many of them survive this week. =)
  • Played lacrosse catch with W- and J-. Fun!
  • Handled more errands on my bicycle.
  • Learned a little about playing the flute.
  • Attended Isaac Ezer’s totally awesome house party. Feeling the urge to attend social dancing sessions again.
  • Attended a charity gala. Interesting excuse to dress up in a terno. Made a wrap myself using some pretty (and inexpensive) sheer blue fabric.
  • Coached people on virtual conferences.
  • Helped out at a training session in SecondLife.
  • Hired another virtual assistant (hi Mylene!).
  • Discovered that Linda Ristevski’s also into sewing clothes. Looking forward to swapping stories and pictures!
  • Chatted with Dries about Drupal, fun!
  • Read a whole bunch of books, improved my book workflow a little bit more (borrowing idea from Mel about using Goodreads+VA to manage to-read list)

Next week:

  • Work: Merge development changes into release-4
  • Work: Build event calendar system
  • Work: Get feedback on presenter guide
  • Work: Attend speed mentoring event in SecondLife
  • Work: Mentor more people on Drupal
  • Garden: Encourage plants to survive
  • Piano: Learn Pachelbel’s Canon, Memory
  • Sewing: Pin-fit blouse pattern, start making muslin
  • Sewing: Make spring skirts
  • Blog: Write monthly report

Just a simple red skirt

May 5, 2009 - Categories: sewing

My skirt! I’m getting more and more confident about wearing my creations outside the house. <laugh> This is the skirt I wore to work today. It’s a simple straight skirt using the Simplicity 2906 pattern. As I mentioned previously, the wool’s rough, so I used some lining scraps to make a slip. The skirt came together quite nicely, and I could probably make the hemline a little neater next time.

I love the colour of this wool. It’s a rich, deep red with warm undertones, and it’s the same wool I used for my red jacket (Vogue 8343). So nice picking up things like that!

Thinking about organizing sewing patterns

May 5, 2009 - Categories: sewing

My stash of patterns keeps growing.


  • Vogue V8322 (princess-seamed shirts with snaps)
  • Butterick 3030 (raglan-sleeved and dolman-sleeved shirts shirts)
  • Butterick B4815 (vest) – made this, then realized I don’t particularly like wearing vests =)
  • Butterick B4659 (princess-seamed shirt with wide collar) – made this, not happy with the collar
  • Butterick 6085 (shirts)
  • Vogue V2218 (princess-seamed blouses and skirt)


  • Simplicity S2906 (full and slim skirts) – have three skirts using this pattern already ;)
  • Vogue V7881 (instructions for slacks) – working on this, made muslin


  • Vogue V8020 (princess-seamed dresses with full skirts)
  • Simplicity 4097 (wardrober with top, jumper, slacks, and collarless blazer) – made the jumper and the blazer: first time to line an outfit, yay, but the cut is too casual
  • Butterick 5746 (dress fitting shell) – made this and learned more about how I need to alter patterns (eliminate top darts, trim bottom darts ;) )
  • Butterick B5277 (dress with asymmetric collar)


  • Simplicity 3548 (pajama set) – made this with an awesome kitty-printed flannel fabric!
  • Vogue V7837 (nightwear)

Outerwear and sportswear

  • Vogue V8343 (wardrober with asymmetric jacket, skirt, slacks, dress, and top) – made the jacket, liked it
  • Butterick B4610 (blazers with notched collars)
  • McCall’s M4598 (blazers)
  • McCall’s M5764 (capelet)
  • McCall’s M5668 (princess-seamed blazer with roll collar)
  • Vogue V1020 (knit wardrober)

I’d love to have the yardage and notions information on my iPod when I’m at the fabric store, and to have a taggable, browsable, very visual way to navigate through my patterns. I usually take all the envelopes when I go shopping, leaving the pattern tissue and instructions at home, but this results in quite a bit of shuffling around as I try to match fabrics with patterns. And it would be nice to have the patterns on my computer as inspiration instead of just sticking up one or two using magnets on my board…

Oooh, and a way to organize online fabric swatches would be nice, too.

PatternReview has a Pattern Stash and Wishlist. It’s one of their for-pay features, but it doesn’t support the kind of tagging and categorization I want, and I’d like the thumbnails to be a lot bigger, too. Maybe make styleboards using Kaboodle, so I can plan my spring/summer and fall/winter projects? That might be interesting…

Otherwise, tempted to either put static images together in Inkscape or Scribus, or build a pattern and fabric organizing system using Drupal… <laugh>

Yes, I work at a big company

May 7, 2009 - Categories: career, ibm, work

Sara Morgan e-mailed me to ask if I could tell any stories about self-employment for inclusion in her upcoming book, “No Limits: How I escaped corporate America to live the life of my dreams.” I laughed and told her that I’m actually very much in corporate [North] America, having joined IBM fresh out of graduate school a little over a year and a half ago. People often think I’m self-employed or an independent consultant. I guess they think I’m much too happy to be working for a large company. <grin>

Big companies have gotten quite a bad rap. Job security? Health benefits? Retirement plans? Lots of things have been scaled back. The benefits that used to differentiate large companies from small companies or self-employment seem to have dwindled. On the flip side, technology and society make it easier for people to start their own companies and provide products or services to a global market, so it’s even easier now to get into the risks and rewards of entrepreneurship.

I didn’t join my company for job security. I joined it because I wanted to work with these absolutely amazing people all around the world, and because I believed that we could make a difference in the way companies and people work, at a scale much larger than I could do by myself. After one and a half years, one worldwide economic shock, and lots of friends now at different companies, self-employed, or retired, I’m even more passionate, more engaged, and more amazed that I have these opportunities to make a difference.

What is it like to work in a large company? You probably don’t hear many good things in blogs or news. It seems fashionable to complain, or to hunker down and just get through. So let me tell you what I love about my work, and maybe you’ll recognize some of your own company in it.

I love the people I get to work with all over the world. When I think about how much my mentors have shared with me, when I think of all the talents sprinkled through the organization, when I think of how people are looking out for me and helping me learn, I feel just absolutely privileged to be in the same company, to have the same overall goals, and to share so much common ground with them. I can’t wait to help as many people as I can, and I’m so lucky that the same infrastructure that helps me discover and meet all these inspiring people is also the same platform for me to try to reach out and help others along the way.

I love the work we get to do and how it helps me grow. I hear stories about the big projects that people work on, things that save lives and make difficult things easier. For me, even with the small project I’m working on, there’s always something new to learn every day, and there’s always something little I can teach others. I care about what I’m building, and it helps me learn how to build even bigger systems.

I love it just because I do. It’s easy to get weighed down by other people’s fears, anxieties, and complaints. But work is such a large chunk of life, so I may as well look for and maximize the things I enjoy about it!

I might try working with a small business sometime, and I’ve got endless lists of businesses I would love to try myself. But while I’m here in corporate (North) America, I’m going to be completely here, and I’m going to totally rock it. =) If I change that situation, it won’t be because I’ve let the situation grind me down into misery, it’ll be because I think that change would make life even better. Won’t that be a fun experiment?

And no, this isn’t just because I’m new around here. I know some people who are still like this after decades, and I think that’s absolutely amazing. No matter which path I end up taking, I hope to grow up to be like them.

I’m living the life of my dreams, and my dreams just keep getting better and better. I don’t think of myself as ambitious. I’m already happy and successful. I’m just driven by curiosity: how awesome can things be, and how can I help others along the way?

May 8, 2012
So I get to give a proper update, yay! I had a lot of fun working at IBM, and I ended up rocking it for four years. After I built up my opportunity fund, I left in order to explore my curiosity about experimenting with business. This is turning out to be wonderful too. I still have a warm and fuzzy feeling about what I got to do in the corporate world, and I think I had the best experience possible. On to new adventures!

Putting together an inspiration board

May 7, 2009 - Categories: sewing

I asked one of my assistants to track down envelope images for the sewing patterns I have, and to send them all back to me with the pattern number as the filename. Then I created a large image using the free photo-editing program The Gimp, and I opened all the files as layers. Using my ever-so-wonderful Cintiq 12 WX, I moved the pictures around to organize them by type. I circled the patterns that I was happy with and crossed out the ones I tried and didn’t like as much, and then I added some more notes.

The result:
[Harrumph, I’ve lost my original inspiration_board.jpg].

Some patterns are missing, but I can fix that next time. =) Must make room!

Delegating weaknesses; experimenting with social secretaries

May 9, 2009 - Categories: connecting, delegation

I really enjoy bringing people together for great conversation and sending them home with new connections, new ideas, and perhaps a reading assignment or two. What I don’t enjoy is actually organizing these get-togethers. I’m terrible at it. I mix up dates all the time, as soon as I hit a calendar, I get mildly dyslexic. Even using the great calendaring systems we have at work, I occasionally mess up dates of meetings. Not good. Embarrassing!

When it’s my job to organize an event, it drops in priority, I lose sight of it, and a monthly tea party becomes a quarterly tea party or worse. I would like to get better at this, and the fastest way that can get much better at this is to have someone else plan the event. Things I don’t like about organizing events:

  • making sure everyone (including me!) has the right location and time
  • coordinating RSVPs and following up with people
  • making sure it’s on my calendar and that Io don’t have any conflicts
  • keeping track of potluck contributions and dietary restrictions
  • making sure there’s enough food
  • reminding me a few days before the event and telling me how many people there are so I can go shopping for groceries,
  • and maybe even suggesting some recipes to try.

There’s so much here I can delegate so that I can focus on the things I love:

  • welcoming people into my home
  • providing a space for great conversation
  • providing lots of simple, yummy food
  • shaping the conversation through questions, interest, introductions, stories, etc.
  • connecting the dots between people, ideas, and tools

And I learn so much whenever I have one of these get-togethers that it’s worth learning more about how to scale up. =D

I shouldn’t let my idiosyncrasies get in the way of having great conversations. So I’m going to have an experiment — I’m going to see what it’s like to have a social secretary. =) It’ll be a learning experience for everyone, but I think it’ll be awesome!

Weekly review: Week ending May 10, 2009

May 10, 2009 - Categories: weekly

From last week’s plans:

  • Work: Merge development changes into release-4
  • Work: Build event calendar system
  • Work: Get feedback on presenter guide
  • Work: Attend speed mentoring event in SecondLife
  • Work: Mentor more people on Drupal
  • Garden: Encourage plants to survive Brussels sprouts and cauliflower plants look like they’ve gotten eaten by local wildlife. Catnip was completely dug up; rescued tattered remains and put them into a pot, and they seem to be okay. Basil’s thriving. Yay!
  • Piano: Learn Pachelbel’s Canon, Memory Played these for my mom on Mother’s day. yay!
  • Sewing: Pin-fit blouse pattern, start making muslin; make spring skirts Ignored this in favour of pretty Vogue 8020 dress with princess seams because I bought a few yards of cheerful and slightly glittery butterfly fabric =)
  • Blog: Write monthly report Heh, still not done


  • Baked apple-walnut muffins, mmm
  • Had a great chat with my mom about encouraging happiness at work =)
  • Coached people on LinkedIn and other tools/ideas
  • Had lunch with a number of my mentors
  • Attended Science Rendezvous
  • Biked a bit!
  • Got a bike rack installed
  • Delegated organizing get-togethers, for now
  • Filled out my GoodReads profile
  • Learned a lot about JQuery and Drupal =D
  • Learned a lot about getting Date+Calendar to do what I want (also Drupal)
  • Received acceptance notice for IBM Early Career Conference, yay!

Next week:

  • Work: Finish AJAX behaviour for event calendar
  • Work: Build new Drupal access model for our partners
  • Presentations: Prepare for upcoming presentations
  • Sewing: Finish dress
  • Blog: Write that monthly report
  • Life: Host a get-together

Making things; Vogue 8020

May 10, 2009 - Categories: sewing

I’ve been writing a lot about sewing lately, which might surprise you if you came to this blog for tips on Emacs or Drupal. =) It’s the way my life works–I focus on things, but the set of things I focus on evolves over time. I still have lots to write about Drupal, social networking, and virtual assistance, but I have to confess I haven’t been tweaking my .emacs lately! =)

Anyway, sewing. I enjoy picking fabrics and imagining what to do with them, and then convincing the fabric to look like a reasonable facsimile of my intended result. For example, I picked up 5 meters of the adorable blue fabric below (100% cotton; the white flowers are glittery), and I’ve been making a dress following Vogue’s V8020 pattern (also pictured below). I’ve made it with a V neckline instead of a rounded neckline (yay options!), and the only things I need to do to make it wearable are to sew in the zipper and fix the hems.

And then I’ll have a pretty dress to wear at my get-together this Saturday. =) Sure, the seams are a little crooked and puffy, but I made the dress, and I’ll just get better and better with each thing I make.

The fabric’s also available in pink, but I thought that might be too jeune fille. I sound five years old, and I don’t need to look it. Blue takes a bit of that edge off, and the simple, non-frilly lines of the pattern further modify the effect of the print.

New this time: diligently marking all seamlines, making a princess-seamed top whose fit I actually like, making the first dress I like. This will be my first time to use ribbons, too!

A love affair with books

May 12, 2009 - Categories: love


W- and I got to know each other over lots of carpool conversations. One time, he gave me a lift downtown. I asked him to drop me off at the Lillian Smith library, which was just a few blocks from my dorm. I had just discovered that I could order books online and have them delivered to a branch close to me, and I was looking forward to a quiet evening with a pile of books.

I hadn’t expected forty-two books to arrive all at once.

I called W- on his cellphone and explained the situation. He drove back, loaded the books into his car, and helped me take the books to my place.

I wonder what he must thought when he saw me with those two large piles of books and big puppy-dog eyes.



After we cleared the dinner settings, W- sat down with Neal Stephenson’s Diamond Age. He was nearly done with it, and had been amused by Stephenson’s occasional geek references (pirates and ninjas! Lisp!). I started reading You’ve Got to Be Believed to Be Heard. When I finished before he did, he said, “Sometimes, you scare me.” I made slurping sounds, and he laughed. We joke about this–I practically inhale books. Most nonfiction books are easy to skim. On the other hand, fiction and really well-written non-fiction are meant to be savoured.



“I have some more books for you,” W- said as he walked in the door. He had dropped by the library at his workplace and picked up a few books: one book on women and success, and another book on design.

He often brings home books he knows I’ll like. Two weeks ago, he brought home books about leadership, management, and workplace engagement. Before that, he brought home books on productivity, life, and comics.

He reads them as well. He likes how I bring a constant stream of books into his life, and often enjoys reading my finds.



We went to the library today. W- and I were browsing through the section for graphic novels. Flight Vol. 4 (Kazu Kibuishi) caught my eye. I picked it up and browsed through it, then tucked it into my to-read pile. When I looked up, I noticed that W- already had the next volume in his. That made me smile.



“There seem to be about fifty new books in my account,” W- said over lunch.

I’d borrowed a great idea from a friend and had someone go through my long list of things to read, requesting them from the library if available. My assistant must have put the requests on W-‘s library card instead of mine.

He laughed and corrected himself. “Okay, seventeen outstanding holds.” He read a few titles and smiled. He knows who I am, what I read, and why I read what I read.


I often tell people that my two main reasons for putting up with Toronto’s winters are W- and the Toronto Public Library. In some countries like my homeland, books are hard to get. I want to change that. Someday.

Smiling over a distance

May 12, 2009 - Categories: work

I spent another hour this morning coaching Milind, a developer in India who’s starting on the Drupal project I worked on a year ago. I helped him set up Eclipse, the PHP Development Toolkit, and Subclipse, and import the project into his workspace. <laugh> What do you know – a month and a half after I started my experiments with delegating to virtual assistants, I’m learning how to delegate to and coach someone at work!

I learned two interesting things from our session today:

I’m really lucky to be working with other people who are good at asking for what they need. Milind not only asked me to provide more details in my bug reports, he also explained how that helps him build confidence while learning the new system. I understood his request right away and I was happy to add step-by-step guides. (Hey, all that practice in documenting processes for my virtual assistants is paying off!). He probably has way more experience working in a globally-distributed team than I do, and I’m glad I can learn from him!

I enjoy making sure that a smile carries through in my voice. Technological challenges and timezone differences make remote collaboration tough enough, so I’m always looking for ways to make it a little bit better. For example, today’s call was scheduled a little after Milind’s typical office hours and a little before mine. We might not be at peak energy time–he might be tired, I might be sleepy–but I think it’s important to make sure that the conversation has a lot of positive energy.

Imagine if it didn’t! Imagine if we went through all of that with sleepy or impatient or frustrated or tired voices. I think that would’ve wasted a lot of time and energy, and we would’ve gotten very little done. Now imagine what an awesome remote coaching session might be like: full of time-saving tips, acknowledgement, and feedback.

There are plenty of reasons to be happy–he’s making the effort to meet after his own office hours, he’s picking up the concepts quickly, and he’s indirectly teaching me how to be a better communicator. If I can make the call a little more pleasant, a little more effective, then that’s terrific! I think the ideal kind of call that would leave him happy with his day and looking forward to the next one, and leave me happy about his work and looking forward to my own day ahead.

Then there are all the other bits of work I can do to support project progress, happiness, and growth. If I spend some time adding more details to bug reports, not only would Milind be able to work more effectively on them to solve the problems in less time, but he’ll also improve his skills, grow a little more in knowledge and confidence, and feel happier about his accomplishments. That’ll make both of us feel good, and it’ll all make the project better.

I don’t know if other people think about this, but it’s interesting to think about how these tiny human interactions affect the way we work, and I look forward to learning even more. =)

Learning from Gen Y: Help needed!

May 14, 2009 - Categories: gen-y

In a few weeks, I’ll be giving a talk called I.B.Millennials: Working with and Learning From Generation Y at the IBM Technical Leadership Exchange. I want to help managers and technical leaders understand my generation better, get inspired by ways they can engage, coach and learn from younger members of their team, and find out how we can all work together to make something cool.

I’ve got lots of stories from my one and a half years at IBM, including:

  • how I got to know my team and they got to know me even before my first day at work
  • how my team’s learning from the way I search for information online, the way I reach out and connect, the way I give presentations, and the way I experiment with new things
  • how mentoring and reverse-mentoring are awesome
  • how Gen Yers at IBM are connecting online and in person, and how that’s different from other networking groups within IBM
  • what my manager, my team members and I have talked about
  • how we pulled together a panel of Gen Yers to help clients brainstorm ideas
  • what issues usually come up (face-time, communication, etc.) and how we’ve dealt with them

But I’d love to tell your stories, too. If you’re a Gen Yer, tell me a story about how working with your team has been, and how they’ve been learning from you too. If you’ve worked with Gen Yer, tell me what that’s been like, what you’ve learned, and what you’ve helped them learn as well. Leave your stories below in a comment, or post it on your blog and leave a link back, and I’ll look for a way to feature your story, name, and picture in my presentation to IBM technical leaders!

Best story will get a $25 Kiva gift certificate so that you can support an entrepreneur of your choice in a developing country!

Please post your stories or e-mail them to me by Wednesday, May 20, 2009 to be eligible for the Kiva gift certificate (and lots of thanks and gratitude). If you’re reading this after that date, feel free to share your stories anyway – it’ll be a great way to inspire others!

Drupal: I’m learning how to be a JQuery/Date+Calendar ninja! =)

May 14, 2009 - Categories: drupal

Our customized Date+Calendar-based Drupal event calendar is coming along quite nicely. The information architect’s design called for extensive customizations, such as:

  • hiding the year view
  • creating a context-sensitive year navigator that displays the entire year, and linking that to the title of the image
  • adding AJAX effects
  • adding a pop-up callout with three of the day’s events
  • displaying times in the user’s timezone generally, and in the user’s timezone and the event’s timezone on the actual event page
  • including dates for the previous month in the month view
  • allowing people to subscribe for notifications for new events in their interest group
  • allowing people to get iCal feeds for their events, all the events, or a group’s events, and these feeds should work without login
  • allowing people to sign up for e-mail reminders

We went with Date+Calendar instead of Event because Date+Calendar seemed more up to date, and its integration with Views meant that it was easy to add in domain access and other constraints. I learned quite a lot of new things in the process of implementing these features, such as:

  • writing a lot of Javascript using jQuery in order to bind events and do AJAX calls
  • writing test cases to check event subscription, event notification, timezone handling, and so on
  • programmatically creating a CCK node type with a date field
  • overriding to modify the way Drupal prepares the calendar
  • overriding calendar.theme to modify the way Drupal presents the calendar
  • making my own set of functions to generate the year navigator, based on the year view in

It took me a bit of time to figure out how this Date+Calendar AJAX patch worked, and I ended up modifying it extensively. I had been getting confused by mini= and view=ajax and all the other parameters floating around. I tried different approaches, including creating a callback function that generated just the HTML for the block, but then I found myself passing in too many parameters to control the URLs for the links.

My aha! moment was when I realized that the way the patch was handling the AJAX was to generate the entire page. When it got to processing the calendar block in the sidebar, the code checked for the $_GET[‘view’] parameter, and if an AJAX view was requested, it would print out the block and exit without printing the rest of the page. While that worked for the general case, we needed to modify our code so that the calendar blocks don’t appear on the calendar detail pages, so I wrote some Javascript code that requested a page within the right context.

This approach of generating the whole page didn’t quite work when it came to the subscription form that we embedded in event node page templates, though, because it printed out the node content before it generated the form. I used jQuery to retrieve the entire page, and then I extracted just the DIV I wanted to keep.

I still don’t like fussing with CSS (particularly when it comes to collapsing borders or dealing with browser issues), so I’ll leave that in the capable hands of our information architect. But now I’m the jQuery ninja on our team, too, and I know I can rock CCK+Views and calendars for future projects. =D

(p.s. Left out details, but if you’re curious about any of the bullet points, comment and I might flesh it out into its own blog post!)

Thinking about the next summer dress I’m going to make

May 14, 2009 - Categories: sewing

I’m trying to decide what to do with this pretty embroidered-border linen I picked up from Fabricland. J- thinks I should make it into a dress.  I think I’ll reuse the princess-seamed V-neck bodice from Vogue 8020, because that actually fits me (hooray!). Instead of continuing the seams into the skirt, I’ll just gather the skirt. I’ll need to either line the dress or wear a camisole and slip.

It’s either that, or try to figure out how to sew two rectangles to each other in a way that makes sense… <laugh>

Sewing: Of sewing more dresses and making more pots

May 15, 2009 - Categories: sewing

After I sewed the zipper on the Vogue 8020 dress I made using the butterfly blue fabric from Fabricland, I checked the fit in the mirror. I was beginning to think that the dropped waistline that hovered about my hip wasn’t the best place to put it. I tried smoothing my crooked seams, but they refused to behave. The more I looked at the dress, the more I noticed all the little things I needed to fix.

Then my happy-do defense mechanism kicked in, and I realized I was letting myself do negative self-talk. I focused on the positives instead. The dress was wearable, the fabric was pretty, and my friends would let me get away with amateur creations. =) It was my first time to make a dress with princess seams or a dropped waist, and I was happy about how the princess seams in the bodice turned out. And the blue ribbon was a nice touch, although other accents might be more practical in a house with two cats.

I told W-, “Sewing is good practice in celebrating the small wins.”

He said, “Everyone starts somewhere.”

I said, “It’s all about throwing more pots.” I started telling him the story. It turned out that he already knew the story. But you might not yet, so here it is:

There’s a story about a pottery teacher who divided the class into two groups. A student in one group would be graded based on the quality of one pot that they turned in at the end of the semester, while a student in the other group would be graded based on the sheer number of all the pots submitted throughout the semester. At the end of the semester, students in the second group–those measured only on quantity–had produced better pots than those who had focused on quality. In the process of creating a large number of pots, the second group had learned from their mistakes, while the first group had been paralyzed by endless theorizing about what a perfect pot would be.

Go ahead. Make mistakes and learn from them.

Here’s pot #4:

V8020 in butterfly blue

I’m going to hem this dress, and then I’m going to practice straight and curved seams on some scrap cloth, and then I’m going to work on that white embroidered-border dress. I’m going to fill my wardrobe with clothes I’ve made. Over time, the quality of those clothes will just get better and better.

Thank you, Lotus forums!

May 15, 2009 - Categories: geek

I started panicking when Lotus Notes 8.5 wouldn’t show me my mail. Everything else worked, but when I went to my e-mail, my folder hierarchy and my inbox just wouldn’t show. I tried rebooting Lotus Notes 8.5 several times, and I even rebooted the entire computer.

No joy.

Then I noticed an error message in the terminal. It said: SEVERE CLFNM0003E: Error getting outline actions for navigator (and so on).

When I looked for that string, I found one hit – which was a perfect fit for the problem.

The recommended fix was to get rid of bookmark.nsf. I moved it from ~/lotus/nodes/data/bookmark.nsf to a temp directory and restarted Lotus Notes.

Now my mail works again. HOORAY! Thank you, Internet! =)

Refuse to Choose: or life is a many-splendoured thing

May 15, 2009 - Categories: life, reflection

One of the things people pick up on right away, whether it’s from a five-minute conversation or a glance at my business card, is that I’m passionate about what I do.

What I do, however, may change, and that’s totally okay.

Whenever I feel guilt about things I’ve left behind, I should reread Refuse to Choose, which has lots of terrific insights into what it’s like to be one of these people with multiple passions. It’s okay to move on to other things. It’s okay to revisit things. It’s okay to explore and have fun.

Whew! That feels better already.

Refuse to Choose proposes this useful four-step system: Learn, Try, Teach, Leave. LTTL. I’ve been doing this all along the way, compressing Learn-Try-Teach into a quick cycle by blogging along the way, so that I can Leave when I feel like it.

I’ve been interested in many things over the years. Here’s a short list of interests and skills:

  1. Computer programming: Started in grade school, went on to join and win programming competitions in high school and university, and continue to do a lot of programming today
  2. Open source: Started contributing to projects in university, went on to maintain some packages, and have since then scaled back my direct open source contribution because of intellectual property guidelines at work. I currently use a lot of open source systems to build applications, though, and I continue to write about it.
  3. Wearable computing: Started looking into this in third year university, went on to do my fourth-year university research project in this area (receiving quite a bit of media attention and one research prize along the way), used many of the ideas when I was in Japan, and have since then let it lapse.
  4. Computer science education: Started coaching my classmates in university. I went on to teach. I presented ideas for improving computer science education at a national conference, and several of my exercises were picked up by other teachers at my school and in other schools. I’m not in the academe at the moment, but I still teach people in a way.
  5. Emacs: Started in university,  went on to contribute source code and maintain modules, became an op on the #emacs channel at, gave well-received presentations like Livin’ la Vida Emacs (DemoCamp10), wrote four-ish chapters of a book on Emacs, then got distracted by other cool things. I still use Emacs to write code, but I haven’t been customizing it lately.
  6. Personal information management: Started learning more about this because I was maintaining Planner, went on to help people develop all sorts of cool stuff, then turned over community and source code to a new maintainer
  7. Web 2.0 and Enterprise 2.0: Started doing this because of my interest in social bookmarking, went on to do my graduate research in this area, became a subject-matter expert and most valued ambassador within the company, continue to coach people and organizations on this
  8. Managing virtual assistants: Started a little over two months ago and have quickly gotten to the point where I’m helping other people figure this out.
  9. Drupal: Started in early 2008 because of projects at work, went on to becoming one of the subject matter experts in the company, gave well-received presentations on development processes, and am now building systems and coaching people on how to use this.
  10. Public speaking: Started in third year university at technical conferences, went on to keynote conferences. Now reaching out and helping other people improve their communication skills, and enjoying experimenting with techniques.
  11. Gen Y, multi-generational workplace: Started reading and talking about this because it kept coming up at work. Now a subject matter expert within the company.
  12. Technical writing: Occasionally write documentation. Also got four chapters into writing that book about Emacs.
  13. Copywriting: Started reading about this when I was a kid. Occasionally write marketing materials.
  14. Sewing: Started a couple of months ago and am slowly building up a wardrobe of amateurish clothes.
  15. Biking: Learned how to bike when I was a kid. Stopped biking for a while. Got my own bike a month ago. Now lovin’ it.
  16. Art: Had art lessons as a kid. Nothing fancy, just drawing. Now drawing stick figures, occasionally posting them on my blog or sneaking them into my presentations.
  17. Piano: Took piano lessons as a kid. Didn’t like them. Now teaching myself how to play the piano, and liking it. When I started picking my own music and schedule, things got much more fun. =)
  18. Theatre: Everyone did theatre in grade school. I loved it, and went on to take a theatre workshop that summer. Haven’t done anything with it since, although have toyed with the idea of trying out improv. One of my mentors seems quite happy with it.
  19. Chess: Started in grade school, went to summer camps, played on the chess varsity from grade 4 to first year university, stopped because programming competitions took more training time.
  20. Photography: Started really looking into this a year ago or so. Occasionally take pictures, set up lights, etc.
  21. Event organization: Played around with this with LifeCampToronto and tea/dinner parties. Tend to switch between liking events and going into introvert mode. Like hosting events more than organizing them.
  22. Screen printing: Briefly flirted with the idea of screenprinting, but didn’t go far with it. Bought the kit, didn’t use it for much.
  23. Calligraphy: Toyed with this idea after receiving prettily-inked letters from Quinn. Bought a nib, read some books, haven’t pursued it further.
  24. Typography: Learned about making fonts, installed the software for making fonts of Linux but haven’t gotten around to actually making one.
  25. System administration: Started in high school, when my computer teacher introduced me to Linux. Still handle little sysad-type tasks for our team.
  26. Web development: Started in high school. Primarily focused on back-end development, although I’m picking up Javascript now.
  27. Languages: Learned Japanese, passed proficiency test. Occasionally pick up snippets of other languages in preparation for trips.
  28. Poi, diabolo, and other street performances: Started when my sister taught me, then went on to learn more about the diabolo, staff, devilsticks, and other things. Helped my sister do some professional gigs with fire poi. Singed my hair once. ;) Hardly do this now (not because of the hair thing, mind you).
  29. Crochet: Started in grade school. At one point, was even crocheting in class. Haven’t done it much since then.
  30. Singing: Joined the UP Singing Ambassadors’ rehearsals, joined my dorm’s choir, had singing lessons, and joined a U of T jazz choir too. Haven’t done much with this since then, although singing in those groups was lots of fun.
  31. Gymnastics: Did this when I was a kid. Loved the uneven bars and the trampoline. Couldn’t get the hang of doing backwalks on the floor – my arms would always give. Haven’t done anything with this since then
  32. Yoga: Started doing this a year ago. Enjoyed doing this with W- after krav maga, but then the gym I was going to cut down on the frequency of their yoga classes, and we decided to spend our exercise time elsewhere.
  33. Krav maga: Doing this with W- was a lot of fun. Haven’t been to that gym lately, though.
  34. Trapeze: This was tons of fun. I tried the flying trapeze and liked it, then found a static trapeze class and went to it. I stopped when the instructor stopped teaching, and haven’t looked for another place to take it. We’ve put in a chin-up bar, though, so I can work on my core muscles until I’m ready to take this again.
  35. Cooking: Love doing this with W-. =) Baking is lots of fun, too!
  36. Ballroom dancing: Started doing this in high school (swing, boogie, cha-cha). Took this in university, enjoyed it.
  37. Tango: Joined U of T tango club when I was in graduate school, got dancing shoes, enjoyed went to milongas, stopped dancing after a while. (Got busy with other things.)
  38. Renaissance dancing: Started because U of T tango club head was also into renaissance dancing and she needed some people for her group. Enjoyed learning the steps, dressing up in costumes, learning how to work with a hoop skirt. ;) Participated in public performance, then stopped. This was fun, though!
  39. Swing dancing: Tried out the Charleston at an event organized by the U of T Swing Club, and before that, danced a bit at Isaac Ezer’s party. Love the cardio and the rhythm; may pick it up again sometime.
  40. Gardening: Started when I was kid, trying to grow mung beans and salvia on my parents’ windowsill. Lugged home tea roses in high school. Tried to start a herb garden in a planter box when I was in Graduate House, but neglected it. Grew rosemary and sage quite happily in 2008. Now working on a proper herb and vegetable garden! (Update: June 18, 2010 – garden is wonderful!)
  41. Woodworking (Spring 2010): After W- and I built a chickenwire cage to protect the garden from squirrels, we got interested in making boxes and furniture.

And the intersections between those interests are tons of fun.

I’ll have many more interests in the future, and I’ll move on from my old ones. It’s all good. =)

I am a young shock-worker

May 15, 2009 - Categories: geek, sketches

Tania Samsonova pointed me to this Russian-English language book because of its amusing stick figures and hilarious dialogue. To wit:

How do loafers live?
At work they steal pencils.
In parks they conduct themselves badly.

I laughed when I saw this dialogue:

– Who are you?
— I am a young shock-worker.
– What does that mean?
— That means that I work with enthusiasm.
– The public wants to know why you work with enthusiasm.
— I like to work with enthusiasm. I am a young shock-worker.

Thanks, Tania!

Sewing, or on soldiering on

May 15, 2009 - Categories: sewing

It’s amazing what a difference a hemline makes.

I hand-basted most of the hem so that I could ease it to lie flat. I ran out of thread three-fourths of the way through. I really wanted to sew it already, so I didn’t bother with the remaining quarter. After I trimmed the excess material, I hemmed it with my sewing machine, and I put it on.

And I’m happy with it!

Maybe it’s just that I’ve had more time to get used to the idea of the dress. It’s blue (not one of my usual colors) and has a somewhat dropped waist (not one of my usual silhouettes). My seams are still crooked, and I haven’t yet bothered to put the hook-and-eye above the zipper.

But it’s a dress, and it’s mine. =)

I tied the ribbon around my waist and dashed upstairs to show W- and J- before W- tucked J- into bed. Both of them cheered as I twirled around. I had told J- the pot story after dinner, and it was–well–fitting that I follow it up with an unexpectedly happy twist. I had been prepared for the possibility that this was going to be Just One Of Those Attempts (like the gray wool jumper I have to figure out how to tweak), but the dress actually makes me smile.

Must be the exceedingly cheerful glittery butterfly print. ;)

Pictures tomorrow or Sunday. I’ll ask W- to take them when there’s light out.

ANYWAY, on to the next dress, which will be my first experiment with borders…

I’ve been thinking about taking classes, but class fees can buy a lot of fabric. =) Maybe I can sit in on some classes to see what they’re like first. Anyway, I’m happy and I’m learning a lot.

On soldiering on: I’ve noticed that if I keep sewing, the project often turns out better than I thought it would be during the process. Red jacket, this dress… Lesson learned: sometimes I just need to keep soldiering on until the big picture reveals itself!

Virtual assistance: Process for managing my to-read books

May 16, 2009 - Categories: delegation

I read a lot. Inspired by Mel Chua’s process for books: turning stocks into flows, here’s how I can ask a virtual assistant to keep my library account well-stocked:

  1. Log on to with my account. (Note: Make sure you use the account labeled “ – *Sacha* (me)”, as there are two library cards associated with my Timesvr profile. My library card ends with 3536.)
  2. Log on to and go to my to-read bookshelf (My books – to-read)
  3. Search the library for the first book on my list. If it’s available, place a hold, then click on [edit] under the shelves column and choose requested. If it’s not available or you can’t place a hold, click on [edit] under the shelves column and choose bookstore.
  4. Repeat #3 until you have placed the requested number of books on my shelf, until you have reached the time limit set, or the library system reports an error because I have too many holds already.

This is so cool! I have 2 books waiting for me at the library, with another 10 on the way… =D Combining this with my process for renewing my library books leads to library awesomeness. Looking forward to tweaking this even more!

Cintiq 12WX on Ubuntu Jaunty with ATIconfig

May 17, 2009 - Categories: geek, linux

After far too much pain and suffering, I got my tablet to work again. Culprit: the switch to an ATI graphics card threw my config out of whack.

Section "ServerLayout"
        Identifier     "Default Layout"
        Screen      0  "aticonfig-Screen[0]-0" 0 0
        Screen         "aticonfig-Screen[0]-1" RightOf "aticonfig-Screen[0]-0"
        InputDevice    "stylus" "SendCoreEvents"
        InputDevice    "eraser" "SendCoreEvents"
        InputDevice    "pad"

Section "Files"

Section "Module"
        Load  "glx"

Section "ServerFlags"
        Option      "DontZap" "True"
        Option      "AutoAddDevices" "False"
        Option      "Xinerama" "on"

Section "InputDevice"
 Identifier  "cursor"
        Driver      "wacom"
        Option      "Mode" "Absolute"
        Option      "Device" "/dev/input/wacom"
        Option      "Type" "cursor"
        Option      "USB" "on"                  # USB ONLY

Section "InputDevice"
        Identifier  "stylus"
        Driver      "wacom"
        Option      "Mode" "Absolute"
        Option      "Device" "/dev/input/wacom"
        Option      "Type" "stylus"
        Option      "USB" "on"                  # USB ONLY

Section "InputDevice"
        Identifier  "eraser"
        Driver      "wacom"
        Option      "Device" "/dev/input/wacom"
        Option      "Type" "eraser"
        Option      "USB" "on"                  # USB ONLY

Section "InputDevice"
        Identifier  "pad"
        Driver      "wacom"
        Option      "Device" "/dev/input/wacom"
        Option      "Type" "pad"
        Option      "USB" "on"                  # USB ONLY

Section "Monitor"
        Identifier   "aticonfig-Monitor[0]-0"
        Option      "VendorName" "ATI Proprietary Driver"
  Option      "ModelName" "Generic Autodetecting Monitor"
        Option      "DPMS" "true"

Section "Monitor"
        Identifier   "aticonfig-Monitor[0]-1"
        Option      "VendorName" "ATI Proprietary Driver"
        Option      "ModelName" "Generic Autodetecting Monitor"
        Option      "DPMS" "true"

Section "Device"
        Identifier  "aticonfig-Device[0]-0"
        Driver      "fglrx"
        Option      "OpenGLOverlay" "off"
        Option      "OverlayOnCRTC2" "1"
        Option      "DesktopSetup" "clone"
        Option      "VideoOverlay" "on"
        Option      "EnableMonitor" "crt1,tmds1"
        BusID       "PCI:1:0:0"

Section "Device"
        Identifier  "aticonfig-Device[0]-1"
        Driver      "fglrx"
        BusID       "PCI:1:0:0"
        Screen      1

Section "Screen"
        Identifier "aticonfig-Screen[0]-0"
        Device     "aticonfig-Device[0]-0"
        Monitor    "aticonfig-Monitor[0]-0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes    "1600x1200"

Section "Screen"
        Identifier "aticonfig-Screen[0]-1"
        Device     "aticonfig-Device[0]-1"
        Monitor    "aticonfig-Monitor[0]-1"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes    "1280x800"

I also had to manually calibrate my Wacom tablet.

xsetwacom set pad StripLDn "CORE KEY  Minus"
xsetwacom set pad StripLUp "CORE KEY  Plus"
xsetwacom set pad Button4 "core key  Del "
xsetwacom set pad Button3 "core key space "
xsetwacom set pad Button2 "CORE KEY n"
xsetwacom set pad Button1 "CORE KEY p"
xsetwacom set stylus Screen_No "1"
xsetwacom set stylus topy "361"
xsetwacom set stylus TopX 29500
xsetwacom set stylus BottomY 22000
xsetwacom set stylus TopY 0

Last bit of weirdness: the pad buttons only work if I’m also touching the scroll strip. It took me ages to figure that out.

Weekly review: week ending May 18, 2009

May 19, 2009 - Categories: weekly

From last week’s plans:

  • Work: Finish AJAX behaviour for event calendar Hooray! I know a lot more about JQuery now
  • Work: Build new Drupal access model for our partners Mostly there, still needs more testing. Hooray test-driven design and development!
  • Presentations: Prepare for upcoming presentations Hadn’t done enough of this
  • Sewing: Finish dress Whee!
  • Blog: Write that monthly report Still haven’t done this
  • Life: Host a get-together This was fun! I’ve asked my assistant to start organizing one for next month.

I also:

  • Planted lots of basil in our garden
  • Watched Star Trek. It was awesome!
  • Went on my first fully-loaded books+groceries bike trip with my new pannier
  • Fixed bugs in the event calendar system
  • Got my Cintiq 12WX to work again, after much pain and suffering
  • Coached a developer in Pune and a senior IT architect in Toronto on Drupal
  • Requested a whole bunch of books using my awesome Goodreads+virtual assistance+TPL combo
  • Submitted another abstract called “Remote Presentations That Rock” for a leadership conference at work

This week, I plan to:

  • Revise our event calendar some more
  • Fix up the partner access model, pass tests
  • Finish prepping for some of my upcoming talks
  • Write that monthly overview
  • Start thinking about the next dress I want to make, maybe a little black dress
  • Bike every day

Drupal from the trenches: Database glitches

May 21, 2009 - Categories: drupal, geek

The problem: Our Drupal site stopped displaying nodes on our fuzzysearch-based pages.

I started breaking down the SQL query to find out which joined table didn’t have the data that was supposed to be there. At first, I thought it might be that the publication dates or expiration dates were incorrect, but that wasn’t it. All of the nodes were set to ‘published’ (status = 1), and all remained correctly associated with the domain through the Domain module.

I checked the search_fuzzy_index table. Hmm. The table was smaller than it should be. When I queried it for a node that should’ve been there, I got zero rows.

I tried forcing the system to reindex the node. Still nothing.

I printed out the SQL statements and ran them myself. ERROR 1062 (23000): Duplicate entry '2147483647' for key 1.


That looked like a suspiciously large number. I popped it into Google and found a lot of people with the same problem. Turns out that the autoincrement sequence fuzzysearch was using had jumped all the way to the end, for some reason or another (we couldn’t have been reindexing _that_ much!). I changed the column to a BIGINT, reindexed all the nodes using Drush commands like:

drush eval "\$rs=db_query(\"select nid from node where type='transitions_job'\");while(\$nid=db_fetch_array(\$rs)){fuzzysearch_reindex(\$nid['nid'], 'fuzzysearch');} fuzzysearch_cron();"

(using my custom eval command),

That worked. I reported the results to my team members in our group chat.

The IT architect said we were still having disk space issues. We’d removed all the unnecessary files and stale backups already, and I didn’t think there was much more that we could trim. I used du --max-depth=2 /var | sort -n to look at the disk usage in the /var tree, which was where we were having those problems. The three biggest directories were /var/www, /var/lib/mysql, and /var/spool/mail, and we’d already scrubbed as much as we could.

I used ls -lSr to look at the contents of /var/lib/mysql, and noticed that our watchdog table was 2.3 GBs. Gah! Turned out that Drupal had logged each of the PHP errors raised when we were trying to fix the previous problem. We didn’t want to delete all the logs, so we just deleted the logs of type ‘php’. After the IT architect ran DELETE FROM watchdog WHERE type='php'" in the MySQL client, though, we still didn't have free space.

I guessed that the lack of free space could be solved by compacting the MySQL database, which I did with OPTIMIZE TABLE watchdog. That solved it!

That was an interesting day. =)

Drupal: Timezones and places

May 22, 2009 - Categories: drupal, geek

The Drupal date_timezone module (part of Date) lets you use city names instead of timezone offsets in order to select a timezone, and that picks up Daylight Savings Time rules in a reasonably good manner, too.

A long list of cities can be hard to work with, though. This list is equally long, but it’s organized by GMT offset, which people are also likely to know.

Index: date_api.module
--- date_api.module	(revision 2404)
+++ date_api.module	(working copy)
@@ -490,6 +490,14 @@
+      // Now reformat the zonenames so that they're of the form (GMT+0800) Asia/Manila
+      foreach ($zonenames as $name => $zone) {
+        $x = date_make_date('now', $name);
+        $list[$name] = '(GMT' . date_format($x, 'P') . ') ' . str_replace(' ', '_', $zone);
+      }
+      asort($list);
+      $zonenames = $list;
       if (!empty($zonenames)) {
         cache_set('date_timezone_identifiers_list', 'cache', serialize($zonenames));

There’s probably a much more efficient way to do this, but hey, it works.

Monthly review: April 2009

May 22, 2009 - Categories: monthly

Better late than never! =) Here’s what April 2009 was all about:

I thought about my typical day’s happiness, what makes me happy at work, what makes me happy in general, and happiness as a martial art.

Software development
I’ve been getting better at writing design documents. Our staging and deployment practices (particularly with my Drupal Makefile) are pretty good, too! Learned a lot from the previous phase of our Drupal project…

Virtual assistance
I found myself talking to more and more people about virtual assistance, so I wrote some tips for getting started with virtual assistance. Turns out transcription is awesome. Imagining more possibilities for talk management and talk information too! I shared some tips on building a team.

I had a great conversation with Isaac Ezer and Andrew Louis. I wrote a quarterly review and weekly reports (April 5 April 12 April 18 April 24). I drew a map of my financial network and thought about making ridiculous amounts of money. I enjoyed riding on my bicycle, working on wool skirts and learning piano pieces

From last month’s plans:

  • Virtual conferences and public speaking: I will put together two webinars and at least four blog posts about tips for public speaking, particularly for remote presentations. I think that would help make a difference at work. Hadn’t worked on this, although I did put together a few abstracts.
  • Bicycling: I will get more comfortable on my new bicycle so that I can easily run errands or ride my bike for fitness and enjoyment. DONE!
  • Delegation: I will delegate more tasks and develop more processes. DONE!

Plans for May:

  • More Transition2 work
  • Get ready for another presentation crunch
  • Finally have that get-together Done!

Weekly review: Week ending May 22, 2009

May 22, 2009 - Categories: weekly

From last week:

  • Revise our event calendar some more I think I’ve gotten a handle on those pesky timezone problems…
  • Fix up the partner access model, pass tests DONE!
  • Finish prepping for some of my upcoming talks In progress
  • Write that monthly overview Did it after starting to work on this weekly review. Felt it was easier to just do it than to keep carrying the task forward…
  • Start thinking about the next dress I want to make, maybe a little black dress Still thinking! Keeping an eye out for nice patterns
  • Bike every day I’ve exercised every day. Does that count? =D

I also:

  • Solved database problems
  • Helped my team avoid a lot of complexity and lower our estimated time needed by convincing the team to adopt a simpler approach
  • Watched Star Trek with W- (whee!)
  • Sorted out my flight arrangements for California
  • Borrowed a large number of books from the library
  • Started helping another client learn more about LinkedIn and Facebook
  • Started on “Send in the Clowns”, which is one of my dad’s favourite songs

Next week:

  • More Transition2 work – finish event-related bugs
  • More LinkedIn and Facebook coaching – prepare guide
  • More presentations – finish slides and notes!
  • More gardening!

Purple carrots

May 23, 2009 - Categories: gardening, gen-y

Last week, W- told me that he’d been thinking about what house-related tasks we might try delegating. He’s been helping me learn more about delegation in my experiments with virtual assistance, and he thought it might be fun to give real-life delegation a try too. We decided that housekeeping and gardening were easy ways to get started.

I checked the Toronto Craigslist section for household services, and I came across this ad for organic vegetable gardening:

Backyard Harvesting offers a full range of customizable services from
seed to harvest to solve your backyard dilemmas and put fresh, organic
produce on your table at reasonable prices. We take care of all the
heavy lifting and you enjoy the fruits of our labour. Check out for more information.

I found a number of other gardening services, too. I asked one of my virtual assistants to send e-mail and call the services without websites, and I e-mailed the Backyard Harvesting service to set up an appointment so that we could see what the process was like.
We set up an appointment with Backyard Harvesting for this Saturday at 2.

I came home to find W- chatting with Laura, the gardener from Backyard Harvesting–a young woman with a notebook and some sheets of paper. As she was going through the list of plants she could get from her suppliers, I asked, “By the way, did you bring a portfolio?”

Laura replied, “This is my first summer, actually. I’m a student. I couldn’t find a summer job, so I made one.”


After some discussion (which mostly involved things like “Have you thought about growing heirloom plants?” “Oooh!” “Did you know carrots didn’t always come in orange? They were bred like that. You can get purple carrots and white carrots.” “Oooh!”), she filled up a page of notes and sketches. She promised to send us a plan and estimate by Wednesday.

There are other services like Under the Sun which also offer edible landscaping, and we might get other quotes. But if it all comes out similar, I wouldn’t mind supporting a Gen Y entrepreneur! =D

More gardening

May 24, 2009 - Categories: gardening

We spent most of this weekend thinking about and working on our garden. Laura’s going to think of what we can do with the two 6’x7′ patches we’re planning to turn into vegetable and herb plots. I’m thinking of growing nasturtiums in the front flower boxes, which are edible and pretty.

W- and I raided Home Depot, Canadian Tire and Rona. We picked up seeds for:

  • Thai basil – to grow indoors, all year round =)
  • coriander – to be grown indoors, all year round
  • snow peas – 2-3 sowings about two weeks apart
  • zucchini – 15 cm apart, to be thinned to 45 cm
  • mustard sprouts – to be grown indoors
  • nasturtium – for the front box
  • edamame – Mmm. I love these!

So J- and I are going to work on the starter pots over the next few days. If we’re lucky, they’ll germinate over the next couple of weeks, and then we’ll start planting them in the ground.

W- and his brothers grew up helping out with their parents’ garden, and they often enjoyed the harvest. Me, I’ve played with growing things a couple of times, but I haven’t really gone into it seriously. I really appreciated growing rosemary last year, though, so now I’m ready to try more. Herbs give almost instant gratification, and the vegetable plants will come up over the next few months. Looking forward to our first harvest!

Drupal in the trenches: AJAX history makes my brain hurt

May 25, 2009 - Categories: drupal

Many websites use asynchronous Javascript and XML (AJAX) to provide all sorts of whizbang improvements, such as smooth interaction without page reloads. It took me a week to figure out how to do all the effects specified in our information architecture document: callouts, modal dialogs, in-page calendar navigation, and so on. I was pretty happy with what I did, considering it was my first serious work with JQuery.

Then my project manager said, “If I go to the event details page from the month view and hit back, it takes me to the day view instead.”

I said, “Welcome to the wonderful world of AJAX. This might be tough to fix.”

Making the back button work in AJAX applications requires a lot of effort. It doesn’t look like people have a nice and clean solution for it yet, although there are a number of libraries that try to address the situation.

Following the principle of progressive enhancement, I had built all the plain HTML functionality first, then layered the Javascript on top of it using jQuery callbacks. In addition to ensuring that the site still works even if Javascript is disabled, this approach also helps make sure that I have proper URLs for almost all the webpages involved. (I didn’t bother with explicitly transient pages like the year navigator or the day pop-up.)

I started with this Hijax-based approach, because it had the most documentation. I had problems getting it to behave, though, because my AJAX pages have other AJAX links that fail with the history-remote plugin. The history_remote plugin works by replacing all the links with the current page and a code (#remote-1, for example). When the back button is pressed, the library looks for the appropriate link and triggers the click event. This breaks down when the link isn’t actually on the first page. For example, when a user switches from a week to a month view, then goes to the next month, the plugin can’t find the link to the next month on the week view’s page, which is where the user started.

What I really needed to do is encode more information in the URL. If I encode information in the anchor portion of the URL (#…), I can use that to request the page and put that into the appropriate div. For example, if I pass in #transitions_content?new_path=connect/calendar/2009/05 , I might be able to parse that and put the content of new_path into the transitions_content div.

I started going down that rabbit-hole, and then I got myself thoroughly confused, so I decided that the best way would be to just rip out the major AJAX navigation and go back to the simple stuff (which fortunately still works).

Gah. Brain hurts!

Does anyone have a clean way to do this?

The Read/Write Internet: Advice to students

May 27, 2009 - Categories: presentation

This is a draft for an upcoming talk called “The Read/Write Internet” for high school students at Sir Wilfred Laurier Collegiate this Friday. I plan to have very few slides, and a lot more discussion than indicated here. Actually, what’s likely to happen is that I’ll show up there with the headlines on slides, and then I’ll ad lib the rest of the way. =)

What advice do people give students on how to use the Internet?

“Don’t plagiarize, especially from Wikipedia.”
“Don’t trust everything you read online.”
“Don’t waste time surfing, chatting, or playing games.”
“Don’t talk to strangers.”

You’ve probably heard all that advice before. It’s common sense, really. But it doesn’t give you an idea of what you can do with the incredibly wonderful tool that’s the Internet, so that’s what we’re going to talk about today. At the end of this session,  you’re going to be full of ideas on how you can make the most of the Internet, and you’ll be able to use those ideas both inside and outside the classroom. Whether you’re researching information for your essays or you’re figuring out what you want to do with your life, there’s a whole lot of good stuff on the World Wide Web.

So let’s take a look at the first one:

“Don’t plagiarize, especially from Wikipedia.”

When I was in second year high school, I once wrote an article for a small magazine. The editor sent it back and said it looked like I’d plagiarized it. I thought I’d done my research well, and I didn’t even copy things word for word. The editor suggested ways to cite the sources properly. I still remember how embarrassed and confused I was, and that reminds me to be extra clear about where my thoughts come!

What’s the difference between plagiarism and research? Wilson Mizner (an American playwright) once said, “If you copy from one author, it’s plagiarism. If you copy from two, it’s research.” (He had an interesting life. You should look him up–on Wikipedia, of course, which is where I found that quote.)

Plagiarism is when you take someone else’s work and you pass it off as your own, even if you do it accidentally. This is particularly bad in school, because if you plagiarize, you’ll be missing the entire point of the assignment or the project. School projects aren’t for the teacher’s benefit. They’re for yours. They’re there so that you can have an opportunity to learn about different things, practice your communication skills, and learn about all sorts of other useful skills along the way (such as time management and dealing with mistakes).

Let’s say you have a friend who hasn’t worked on her project, and it’s due tomorrow. If she takes a shortcut and just copies things off the Internet, she’ll miss out on the learning experience. If a teacher catches her, it’s really embarrassing. If the teacher doesn’t catch her, she might end up with the idea that plagiarizing is okay, and then she’ll wake up thirty years later feeling like an imposter and being afraid that someone will discover she’s such a fake. Don’t go there. Life can be so much better than that.

Write things in your own words, draw on your own experiences, add your own thoughts. If you’re going to write something, you might as well write something only you can write. It might be hard in the beginning, but trust me, you’ll be much better off developing your own voice and building your own experiences. If you use material from other people, give credit where credit is due. I won’t go into all the details on how to properly cite Internet articles, but you can find out about that on your own.

So plagiarism is bad. Learning from and building on what other people have shared, however–that’s good, and that’s something you don’t learn nearly enough about in school. One of the fantastic things about Wikipedia and about the Internet in general is that you can learn about so much, and you can learn about things related to that, and things related to that, and so on. It’s incredible! Compare that with a traditional book

And you can learn from all sorts of different perspectives, too. Interested in learning about the politics in China? You can read a (probably outdated) book or encyclopedia, or check paper newspapers for stories. You can also go online to read debates and blog posts, watch videos, and explore links, and you’ll probably find quite a lot of knowledge shared by people who are actually there. If you’re interested in any topic–science, gadgets, sports, or even retro car racing games–you’ll probably find lots of people who are passionate about those topics and who share what they know on the Internet.

Don’t just settle for the summaries that you might get in an encyclopedia or in a news entry. You can get so much more than that! Look for the actual people involved, find out what their stories are, learn from their experiences, and express what you’ve learned in your own words.

There’s a lot out there to learn from, and that takes us to the next point:

“Don’t trust everything you read online.”

Lots of teachers are nervous about Wikipedia and the Internet. If you do your research using something like Encyclopedia Britannica, for example, you can be reasonably sure that some very smart people have double-checked the facts. Wikipedia, on the other hand, was built with a bunch of volunteers–some of whom might be more interested in seeing if they can get away with adding “facts” that aren’t true.

But printed books have mistakes, too. The scientific journal Nature found that Wikipedia was pretty close to Encyclopedia Britannica in terms of accuracy. And of course, things can change. When they kicked Pluto out of the planet club, I was heartbroken! People updated the Wikipedia page right away. Print books? That might take a while.

The real lesson here isn’t that the Internet is better than printed material, or vice versa. It’s about thinking critically about what you’re reading, no matter where you’re reading it. You probably wouldn’t want to rely on what a used-car salesman says about how good a car is, whether that’s on a website or in a newspaper article.

When you’re thinking critically, you might even find it fun to read people who are obviously biased. One of the great things about the Internet is that it’s so easy to find different perspectives on any particular issue. Read a lot and make your own decisions about what to trust.

When you’re doing all of this reading and learning, you might hear this next bit of advice from well-meaning parents:

“Don’t waste time surfing, chatting, or playing games.”

Have you ever heard that? We hear that all the time when we’re doing something other people don’t see the point of or don’t understand. The important thing here is: Know why you do things, and make sure you’re getting those benefits.

Surfing is a great way to learn a lot about things you wouldn’t have otherwise come across. It’s not fine when you’re just flipping through pages without learning. Chatting is a great way to get to know people. It’s not fine when you become really dependent on it and you feel terrible when your online friends aren’t around. Games are a great way to try new things. They’re not fine when they suck you in and you play so much that you ignore other things in your life, which can happen because companies have figured out how to make games really addictive.

Know why you do things, and make sure you’re getting those benefits.

In fact, the Internet can be a wonderful way to improve your skills and reach out to people. You can learn from all sorts of websites and all sorts of people, and–this is important–you can share things yourself.

I have to confess: when I was in university, I got Ds in my English classes. I just didn’t care about the irony in the Love Song of J. Alfred Prufrock, and I got tired of writing essays that only my teacher would ever read, working on projects that went into recycling bins. (Looking back, thought, most of my work wasn’t really special.)

The thing that changed everything for me was starting a blog. I started a blog when I was in third year university, which was about seven years ago. I started by writing about my classes, sharing my notes, asking questions. And other people occasionally came across my blog, shared what they thought, and taught me new things along the way. I could write things that other people could read! I could make presentations that could teach other people something new! Wow. I thought that was pretty awesome considering that I was a university student in the Philippines, and I was reaching people all around the world. You can too, and you can do even more. You can even make movies and share them on YouTube, although you probably don’t want to do anything you’ll find embarrassing.

Anyway. Writing about what you’re learning is an excellent way to learn even more effectively, and sharing what you’re learning with other people is an excellent way to reach out and learn more. If you’re interested in this, learn about blogging, podcasting, or making videos, and then rock on.

Which leads to the last clich├ęd bit of advice which you’ve probably heard:

“Don’t talk to strangers.”

There are a lot of scary people in the world, and there are a lot of scary people on the Internet. It’s a crazy world out there, which is why you should be careful about the personal information you share, and if someone invites you to meet up–even if the invitation’s from someone who seems to be your age–always use your judgment. If you do decide to meet, meet in a public place, and bring someone you trust.

The second part of this is that you should also be careful about what you share about yourself. Blog posts complaining about your summer job, pictures of you at wild parties, videos of you doing that crazy dance–your future employers, clients, and significant others might come across that, you know. If you’re going to share that, make sure you check your privacy settings very carefully (sites sometimes let you restrict who can view something). Even then, those safeguards have been known to fail. The safest thing is not to do that.

There was an intern who once e-mailed his manager, saying that he couldn’t come into work. His manager found a photo on Facebook from the Halloween party the intern had attended the night before, complete with Tinkerbell costume, fairy wings and wand. Not only that, the manager forw

This is not to say that the safest thing is to just not be on the Internet at all. If you’re not on the Internet, you’re just leaving your reputation to what other people say about you, and that opens up all sorts of confusion or even cyberbullying. At other schools, there are problems with people creating pages for people they don’t like, and putting all sorts of nasty things on those pages. Not good. Be online, keep your future self in mind, and share what you do want to share.

So that’s the public service advisory part of this. What’s the flipside?

Getting to know strangers can actually be a wonderful thing. I’ve met lots of people through the Internet. Some of them turned out to be just plain weird, but that’s expected, and many people turned out to be good friends. Share what you’re interested in, keep yourself (and your future self) safe, and look for ways to create value for other people, and you should be fine.

In summary:

“Don’t plagiarize, especially from Wikipedia.”
Build on what other people have shared, give credit where credit is due, and use your own words and experiences.
“Don’t trust everything you read online.”
Read a lot and think critically.
Don’t waste time surfing, chatting, or playing games.
Know why you do things, and make sure you’re getting those benefits.
Don’t talk to strangers.”
Reach out to people, keep yourself and your future self safe, and have fun.

Next steps: Learn a lot, think a lot, share a lot, and have fun. What do you want to learn more about?

Drupal from the trenches: This is my game

May 28, 2009 - Categories: drupal, geek, goodkarma

I’ve been coaching a senior architect on a Drupal site he’s developing on a tight schedule. With a little bit of help, he was able to build all the functionality needed and keep up with constantly changing requirements. Now it was time to theme the site. As I was walking through how to modify the Zen theme to use the HTML, CSS, and images that he received from the designer, flipping between Vim editors in two Putty sessions connected to the web server, I saw his eyes start to glaze over. Hmm. He was definitely interested in learning how to do it, but I knew he’d enjoy learning it more if he had most of the framework already in place.

I offered to get things started. The senior architect asked me how much time I thought it would take. “Two hours,” I said, which was the first number that came to mind.

After lunch, I headed to the senior architect’s desk with my laptop and wireless mouse. I thought about asking him to change his password to something I could easily type, just in case I needed to start multiple sessions. Then I realized a much better way to do it would be to use my Emacs environment, which is already set up for doing really cool things with Drupal. So I switched my keyboard layout to QWERTY, used ssh-copy-id to copy my authentication ID to the server, and then opened the directory in Emacs using the location /ssh:[email protected]:/usr/share/drupal6.

Emacs worked like a charm. I edited files on the server as easily as those on my own computer, with all the syntax highlighting and keyboard shortcuts I’d gotten used to. I split windows, moved windows around, copied and pasted regions, and even did a little autocompleting.

I think I made the senior architect’s jaw drop.

I finished almost all the basic theming (minus a few quirky CSS things) in one hour and fifty minutes, ten minutes less than my thumb-in-the-air estimate. The senior architect said it would’ve probably taken him 16 hours over the weekend.

While we were chatting about the changes he’d need to make and the other things he could learn, the senior architect asked me if I played any games. I told him that I play one computer game–Nethack (an old text-based roleplaying game)–and I only play it in airports. I pointed to my laptop and said, “This is my game.” Programming has its own major challenges and minor opponents, it has progress, it has points, it has that adrenaline rush of trial and triumph. Programming is my game. Life is my game.

And it’s tons of fun. =)

Helping people learn about Web 2.0 through stories

May 28, 2009 - Categories: web2.0

I help people learn about social media and Web 2.0 through stories.

Bullet points and screencasts aren’t enough, but stories about how real people use these tools to reach out and connect can help inspire others to learn about and try those tools themselves.

But I don’t just tell stories. I make them, and that’s my favourite, favourite way to teach.

Take this week, for example. I was coaching a client on how she and others could make the most of LinkedIn. She called me up to ask me some questions. She started the conversation by asking, “How are you?”

“Fantastic!” I replied, as I almost always do.

“I know! You’re living an awesome life.”

That made me laugh. And then she told me that she’d been reading about my gardening, and that she’s looking forward to hearing more about it. Turns out that she’s also growing a garden, and has rather ambitiously planted fifteen tomato plants.

Fifteen! That’ll be quite a harvest. =)

We had a great laugh about that… and now she has a story about finding common ground that she might not have come across in ordinary conversation.

You can give a hundred presentations on social media and Web 2.0 without getting through, or you can make stories and cultivate the kind of environment and culture where other people will make stories. Focus on being part of other people’s stories, and make magic happen! =)

Coming soon:
Imagining stories
Helping people create even more stories for others

No magic beans required

May 29, 2009 - Categories: life

Over dinner and gardening plans, Laura (Backyard Harvesting) said, “So I was reading your blog… There’s just so much! Do you even sleep?”

“I’m a big fan of sleep, actually,” I said, “and I have a blog post about that.” I told her that I have a lot of interests (now up to 40!–not concurrent, thank goodness), and that many of those interests build on each other.

W- chimed in and told her that I often find other people who can help me finish things I start, which is great. =) (And I’m looking forward to learning how to scale up even better!)

Whenever people go “Wow!”, I tell them that anyone can do it, and that I want to help people do even better. I emphasize that not because I’m downplaying what I’ve done or what I’m doing (or how much fun I’m having along the way!), but because I don’t want people to give themselves excuses just because they think I’m different.

Go and make something happen.
Here’s what I’ve learned that might help you along the way:

Do things you love, and love the things you do.
Do things that complement each other.
Do things that scale.

No magic beans required. =)

Finally figured out what to do with presentation templates! =)

May 29, 2009 - Categories: presentation, speaking

I give lots of presentations at conferences, and I often receive presentation templates that the organizers would like me to use so that there’s consistent visual branding. The templates specify color schemes, the title page layout, and some of the other text slide layouts as well, including the background and the conference logo.

While I’m glad that the templates can help bullet-ridden presentations be a little more visually attractive, the suggested style almost never goes with the creative presentation styles I use. Whether I’m using full-bleed images, simple text, or hand-drawn stick figures, nothing I use quite fits into the formal confines of a typical conference template.

I finally figured out how to think about the presentation template, though. For the presentation I just finished making, I kept the title slide of the conference. Then I took the color scheme and the gradient from the top part of the title page, and I made the rest of the slides have a similar feel. Tada! Something that will probably get along well with the rest of the presentations, but that I had fun making. =)

The actual presentation will have at least five stories, and will probably end up with even more.

And I did all of that without a Mac or a beret! ;)

Taking the Stage

May 30, 2009 - Categories: leadership, life

My manager recommended me to the “Taking the Stage” workshop series, a leadership program that helps women develop a more powerful presence and good communication skills.

The first session was about choosing to take the stage. Many women are brought up to play supporting roles, but hesitate to be in the spotlight. Instead of talking about their individual accomplishments, they talk about their team’s. Instead of talking about what they’re interested in, they talk about their families. Even the way women sit shows a habit of self-minimization. While men might stretch over more than one chair, women can often be found perched on a corner of their chair, with legs crossed as if to minimize the physical space occupied. (I think wearing skirts has much to do with this!)

We watched a video by the leadership training group who developed the program. Then the facilitator asked us about our first impressions.

I told the group that the video was different from the way I’d grown up, and the part that interested me the most wasn’t the part about overcoming fears (which I recognize to still be useful), but about envisioning what kind of leader I wanted to grow into. In general, I prefer focusing on growing towards things rather than growing away from things. I wanted to think about this a bit further, because maybe something about what I’m learning can help other people develop their inner leaders too.

I’d never felt the need to blend into the background or to minimize my accomplishments. Perhaps it’s because I saw both of my parents achieve remarkable things, or because I saw my two older sisters establish themselves, or because I was in the spotlight at a young age. The first news article I remember my mom saving was when a local tabloid had an article on me as a child genius who uses computers. I remember my dad asking me to put the floppy disk into the computer so he could take a picture. I said, “But it’s not even on!” And the reporter spelled my name incorrectly, too. <laugh>

Yes, I was the kid who cried when her Grade 1 classmates made fun of her name, and I was also the kid who wrote down an explanation of what made her upset (on a half-sheet of intermediate pad paper – I still remember!) and figured out how to deal with it (I think I decided I needed a day off). I was the kid who was unafraid to raise her hand and try to answer a question, unafraid to get it wrong–or right!–in front of almost all the students in the entire grade school. The principal invented a whole new award for me in graduation. And yes, I still get those agh-I-don’t-know-if-I-can-pull-this-off moments, but I know that no matter what happens, I’m sure I’ll get a great story out of it.

So it had never been about whether or not I would take the stage, but about what I would take the stage for, what I would do with the opportunities that came up, and how I could share those opportunities with others–how I could help other people discover their own spotlights.

Taking the stage isn’t about being boastful or elbowing other people out of the way. I learned that from my parents, who always ended up with press attention when it
came to their major projects. They never did something just for the exposure. They
did whatever they wanted to do, and they made things happen.

I remember when my mom told me how difficult it was for her to encourage the employees to talk about their accomplishments, and how important it was for them to do so because otherwise, it was hard for her to find out about their strengths. Culturally, Filipinos look down on boastfulness, saying that boasting is like trying to lift your own boat. Many cultures have similar sayings that discourage people from sticking out, from distinguishing themselves. But my parents showed me that accomplishments don’t need to separate you from other people. It’s not about being superior or inferior. It’s about making things happen, inspiring other people, and teaching them about you and about themselves.

So there are a few interesting ways to look at this:

  • It’s not about telling other people you’re better than they are. It’s about teaching people how you can serve them, and learning more about your talents along the way.
  • It’s not about trying to grab a larger piece of the pie. It’s about making the pie bigger for everyone.

I believe that being female–or being a foreigner, or being Asian, or being young, or being a geek, or being Filipino, or being a person of many interests–doesn’t put me at a significant disadvantage when it comes to what I do and who I want to be. I’ve worried about this before, and every so often I think about work-life balance and other topics. Yes, these things may make some possibilities harder than others, but there are still so many that would be a terrific fit. I see more opportunities than most people think about. I don’t need to claw my way to the top and struggle with organizational politics so that I can enjoy a position of power. (Knowing me, I’d probably get bored along the way). I trust that I can find or shape a life where I’ll be happy along the way, and as I grow in skill and understanding, people will help me find ways to help more and more people.

So what would I like to learn from this program on Taking the Stage?

  • I’d like to meet other people interested in developing themselves and other people
  • I’d like to develop a good vision of the kind of person (or kinds of people!) I’d like to grow to be, and learn a little more about growing
  • I’d like to reflect on leadership, how I can grow, and how other people can grow