June 2012

The Shy Connector: Thinking about the difficulties people encounter

June 1, 2012 - Categories: connecting

I want to revise and expand on The Shy Connector, which seems to have become a perennial resource. I was thinking about the kinds of things I have a hard time with and that other people might want help with too. Does this resonate with you, and can you add more?

Creating opportunities for serendipity: I’m choosy about the events I go to because networking can be draining just as much (or more, even!) than it can be energizing. I don’t really go to coffee get-togethers just to hang out. It doesn’t feel natural to me to possibly interrupt someone else’s train of thought for a question or an idea. That said, I often don’t mind overhearing other people’s questions, and sometimes I end up chatting with them about that.

Because it takes a lot to tempt me out of the house, I work harder on creating online serendipity through blogging and social networks. I spend time reading about other people’s interests and sharing my own. It does tend to be limited to the people who participate online, though, which means a tiny fraction of the possibilities.

Starting conversations: You know those people who will happily strike up conversations with strangers they meet on the bus or in an elevator? Totally not one of them. I find it difficult to start a conversation with someone for no particular reason. I prefer to have the excuse of a conference, an event, or a question.

I hardly ever start conversations with new people, but I’ve discovered a handy trick of jumping right in the middle of one. If people have read my blog, or if I’ve read theirs, then we can continue the conversation from those points. If we’ve attended a lecture together, I can use that as a starting point as well. As I do more of this, I might get more used to starting conversations to find out what people know.

I also get around this by pulling people into existing conversations. If I see someone else (usually another introvert!) hovering around the edge of a conversation I’m in, I use body language to invite them closer, and direct a few questions their way. I also hover around the edges of other conversations, which is a great way to not have to start one.

Continuing the conversation past small talk: If I go to an event and end up having one unmemorable small talk surface-level conversation after another, it’s quite draining. I like digging to find what people are really interested in or what they’ve learned, but it’s sometimes a struggle to get people out of the name-job-and-serial-number swap.

I find small talk a little easier for acquaintances and friends (naturally), because I can take advantage of the notes I keep on people’s interests and ask after those instead of talking about the weather. With people I don’t know, I try to take the lead in the conversation by asking questions. This means I can avoid the somewhat dead-end-ish “So, what do you do?” and use questions like “So, what are you passionate about?” or “What’s your story?” If I’m lucky, that gives me enough information for follow-up questions, and I can weave some self-disclosures into other questions or ideas to even out the conversation.

Managing my energy during events. A buzzing event can be overwhelming. A multi-day conference, even more so. I can tell when I’m getting tired and networked out: I start glazing over or feeling pressed in on.

I’ve learned to take my breaks unashamedly. Excusing myself is one way to do it. The women’s bathroom is often a quiet place to retreat to. Other times, I’ll go for a walk. In a pinch, I can hover on the periphery of a conversation that I don’t need to participate in, or take out my paper notebook and update my notes, or pretend to answer e-mail while clearing out my brain.

Following up afterwards. Okay, so I’ve met people and they’re potentially interesting, but then what? If I don’t bridge the gap between that and the next conversation, then it’s just conversation practice and the slim chance of being remembered in case we bump into each other again.

It helps to realize that most people suck at this too. You know those exchanges of business cards and contact information? I tend to follow up with more people than people follow up with me, and that goes for extroverts too.

I try to make it easier by giving myself homework during the conversation. If I think of a relevant book, for example, I might promise to send the details and a short description. If I’m at a conference, I might promise to send my notes. Then I have a built-in excuse for writing.

Building the connection from there. Because I rarely go to events or hang out in cafes, I tend to not bump into people much. However, it takes quite a few conversations to build a connection. Some people are comfortable inviting other people for follow-up lunches or coffees. I’m still getting the hang of that myself.

Blogging makes it easier for people to get to know me. I link to my blog in my e-mail signature, and try to share notes of events as another way to create value. If other people blog or post on Twitter, I subscribe to their updates too.

So that’s what I’ll work on helping other people with:

  • Creating opportunities for serendipity
  • Starting conversations
  • Continuing the conversation past small talk
  • Managing my energy during events
  • Following up afterwards
  • Building the connection from there

Can you think of other things that might be challenges for introverts too?

Weekly review: Week ending June 1, 2012

June 2, 2012 - Categories: review, weekly

Many small improvements this week! I installed a drip irrigation system in the garden to help with watering. I think I may need to replace some of the hoses or tweak the configuration a bit, but it’s a good start, and it’ll mean that the tomatoes, peas, and bitter melon plants will get watered reliably. The garden is starting to do interesting things. The bok choy plants we bought and planted are now enormous, the first strawberries are reddening, the tomato plants are flowering, the peas are climbing away, and the bitter melon is flourishing. We’ve been cheering on some birds-eye pepper seedlings, too – let’s see how far they get!

I upgraded my laptop to a solid-state drive (SSD) last night, and I’m looking forward to enjoying much snappier performance. It’s almost like having a new laptop.

It’s been wonderful having so many different types of desserts in the house. Brownies, lemon squares, polvoron… Hooray for freezable goodies that can be spread out over weeks.

Business-wise, this week was another sprint – 45.7 hours spent consulting. It’s been okay so far, although I was glad to take Friday to learn Quickbooks and upgrade my drive. I want to learn Quickbooks because even if I outsource bookkeeping and accounting, I want to know what’s going on, and I want to be able to have better conversations about it. It’s a bit expensive, but I’d rather do that kind of tracking throughout the year instead of waiting until tax-filing time or leaving it entirely in someone else’s hands. I might look for a bookkeeper on Odesk to help me review my setup and keep the files up to date.

I’ve got a lot of data to analyze. My virtual assistant has typed in all the details from our grocery receipts, so I can crunch the numbers in time for the Quantified Self Toronto meetup on Thursday. I’ve reviewed the three notebooks I scanned in, and am looking forward to scanning in more. I’m most of the way through my blog archive – now looking at 2009 and moving forward – and I’ve been rating posts from 1 to 5. I’ve hired a WordPress developer to make a plugin for filtering the rated posts so that it’s easy to see highlights. Tapping other people’s time and skills turns out to be lots of fun.

From last week’s plans

  • Business
    • [X] Earn: E1: Mon-Thu: More training, get ready for conference
    • [X] Earn: R1: I18n, invoice
    • [-] Connect: Practise pinging people
    • [X] Build: Set up my local development environment for Quantified Awesome
    • [-] Build: Coach my mom on delegating to virtual assistants
    • [X] Build: Learn more about Dragon NaturallySpeaking
    • [-] Build: Write about first-quarter experience
    • Build: Upgraded to SSD, yay!
    • Earn: R1: Production deployment slightly stressful, but should improve going forward
    • Earn: R1: Learned a little about Sencha Touch
  • Relationships
    • [-] Help with study group – no study group, PA day
    • [X] Clear my inbox
    • [-] Plant front garden
    • [X] Install irrigation system
    • Watched Going Postal, which was lots of fun; also, a few other movies
    • Made polvoron
  • Life
    • [X] Balance books and update accounts
    • [X] Review past notebooks
    • [-] Finish rating my past blog posts
    • [-] Relax

Plans for next week

  • Business
    • [ ] Earn: E1: Conference
    • [ ] Earn: E1: Community prototyping
    • [ ] Earn: R1: Support, i18n
    • [ ] Connect: Set up meetings with people
    • [ ] Build: Write some blog posts on Emacs
    • [ ] Build: Investigate pictures in org2blog
    • [ ] Build: Write about first-quarter experience
    • [ ] Build: Post a job on ODesk for a bookkeeper
    • [ ] Build: Braindump lots of blog posts
  • Relationships
    • [ ] Have M- and C- over for lunch
    • [ ] Plant front garden
    • [ ] Help with study group
  • Life
    • [ ] Finish rating my past blog posts

Time notes

  • Business: 62:31 (E1 30:52, R1 13:47, connect 1:05)
  • Discretionary: 18:35 (gardening 3:23, writing 1:02, social 0:47)
  • Personal: 28:20 (biking 7:03, routines 13:50)
  • Sleep: 50:58 (average 7.3 hours per day)
  • Unpaid work: 7:34

Quantified Awesome: Back to buying our own fruits and vegetables

June 3, 2012 - Categories: quantified

We decided to skip the community-supported agriculture program this season in order to try buying the vegetables ourselves. Without the commitment device of a box of vegetables turning up at our doorstep once every two weeks, would we still buy and eat the same amount of vegetables? For comparison, the CSA programs typically cost $25/week.

To analyze this, I delegated data-entry to a virtual assistant who typed in the line-item details from all our grocery receipts. Total time: 2:10 for a total cost of USD 1.38, so I gave him a bonus. I used VLOOKUP in Microsoft Excel to map the line items to descriptions and categories.

Anyway, here’s what the data says.

Grocery item Total
Baking $26.65
All-purpose flour $9.77
Whole-wheat flour $7.49
Sugar $7.41
Unsweetened medium coconut flakes $1.98
Bread $12.46
Tortilla wraps $6.98
7 Grain Bread $3.99
Hot dog buns $1.49
Breakfast $5.98
Steel-cut oats $5.98
Canned fruit $2.34
Pineapple chunks $2.34
Canned vegetables $1.38
Pizza sauce $1.38
Cheese $16.95
Mozzarella $11.96
Cheddar cheese $4.99
Condiments $15.60
Seaweed $8.97
Barbecue sauce $3.94
Mayonnaise $2.69
Dairy $63.95
Organic milk, 3.8% $36.96
Unsalted butter $15.51
Skim milk powder $6.49
Organic yogurt $4.99
Deli $10.58
Salami $10.58
Dessert $8.99
Ice cream sandwich $8.99
Eggs $8.58
Extra-large eggs $8.58
Fish $34.64
Tuna $22.00
Atlantic salmon (fresh) $12.64
Frozen food $8.26
Frozen fish $5.99
Frozen fries $2.27
Frozen vegetables $2.99
Frozen soy beans $2.99
Fruit $78.48
Apricots $25.19
Clementines $14.97
Apples, gala $7.11
Navel oranges $6.68
Apples, ambrosia $5.69
Tangerines $4.99
Pears $4.83
Bananas $4.39
Lemon $3.20
Strawberries $1.44
Meat $80.00
Lamb shanks $50.30
Extra-lean ground beef $12.43
Hot dogs $12.27
Ground pork $5.00
Mushrooms $3.66
Cremini mushrooms $3.66
Nuts $12.66
Walnut pieces $5.99
Almonds $3.98
Cashews $2.69
Pasta $9.98
Pasta $4.17
Spaghetti $4.15
Fusilli $1.66
Poultry $7.21
Chicken legs $7.21
Snacks $3.99
Granola bars $3.99
Spices $4.33
Cinnamon sticks $3.69
Garlic $0.34
Ginger $0.30
Vegetables $7.77
Organic spinach $2.99
Sweet peppers (green) $2.72
Sweet peppers (orange) $1.44
Carrot $0.62
Grand Total $427.44

$78.48 on fruits and $7.77 on vegetables?  Yeah, we need to work on that. Partly it’s because we made large batches of lunches using the frozen vegetables in the fridge that we’d bought the other month, so that wasn’t counted in this month. I’ll track for a few more months, and we’ll keep trying to build the habit of eating more vegetables… =)

How I track my time, and how I’d like to

June 4, 2012 - Categories: quantified, time

I track my time so that I can find out if I’m spending enough time on the things that matter. For example, I find it easy to get sucked into work because I enjoy programming, but if I spend too much time at work, then I might not spend enough time developing other interests or sleeping. I’m also curious about how much time it takes me to do things so that I can estimate tasks better. Since much of my work involves consulting, being able to bill time accurately helps as well.

Off-the-shelf apps like TimeRecording helped me get started quickly, and it was easy to use the CSV export to analyze my data. When I had developed the habit of tracking my time and decided that it was worth investing in further, I began building my own system. QuantifiedAwesome.com is a Rails application that lets me track time, clothes, library books, and a bunch of other things that I’m curious about. The offline mode doesn’t work right now, but the web-based interface makes tracking easy.

I’ve set up a hierarchy of categories that somewhat follow the OECD leisure time study so that I can compare my individual metrics with international ones. For example, I count writing as Discretionary – Writing and cleaning up as Unpaid Work – Tidy.

To track, I type a substring into a text field of my dashboard. For example, if I want to say that I’m starting to tidy up now, I type in tidy and press Enter. I can also update it from my phone. Autocomplete will suggest categories if I type in text and wait a little.

I can backdate entries, which comes in handy when I start doing something while away from my computer or phone. For example, if I want to say that I spent the last 40 minutes gardening, I can type in -40m garden. It also understands things like -2h social, or 5/31 7:30 routines.

If I spent the entire day away from the Internet or if I have quite a few timestamps to enter, I can use the batch mode. The batch mode lets me specify a date and entries of the form:

7:00 category1
8:00 category2
13:30 14:00 category3

Sometimes I need to make the system recalculate the ending timestamps and durations. I can do that by expanding the options for the records list and choosing Recalculate durations.

My system makes it easy to see weekly or monthly summaries, and I can review the records by category or by time as well.

So that’s how I’m currently tracking my time. I’d like to get the mobile interface working again so that I can quickly update it while on the go, or rig up import/export from apps like Time Recording or Tap Log Records so that I can use those instead. I also want to build more reports that can help me answer questions like:

  • What do I spend my time on?
  • How does that time fluctuate?
  • Are there any gaps or oddities that might indicate that I’m missing an entry or I’ve encoded things incorrectly?

I also want to import my old data so that I can analyze it. When that settles down, perhaps I’ll add another layer of granularity too!

Relearning QWERTY

June 5, 2012 - Categories: geek

I type in Dvorak on my laptop. I’d learned it for kicks some time ago – 2003, one slow summer? – because I’d read that it was somewhat better for you in terms of typing. I was more interested in playing around with rewiring my muscle memory than the purported gain in speed. It took me a couple of weeks, but I eventually got the hang of it, and I type more correctly in it than I do in QWERTY. I enjoy typing in Dvorak more, too – I like the balancing of the left and right hand.

Still, I live in a QWERTY world. One of my clients issued me a laptop that’s locked-down, so I can’t change my keyboard layout. At the other client, I work on a Mac that other people occasionally log into, so I’m a little wary of changing the keyboard layout to Dvorak just in case it messes up the login screen.

I can touch-type in QWERTY, but I tend to use two or three fingers, relying on muscle memory to hit the key with the finger that feels closest to it. This is not as efficient as it could be, so I’ve been thinking about making myself learn how to type QWERTY the proper way: fingers on the home row, lots of use of pinkies, and so on.

It’s frustrating learning how to type properly in QWERTY, but then again, it was frustrating learning Dvorak too. I have to think about typing instead of just focusing on what I want to say or do. Still, if I can get rid of some of the frustration that comes with working on other people’s computers, I think that will pay off.

I like the typing lessons at http://typingclub.com the most. I just have to remember to spread them out so that I don’t get annoyed and overwhelmed. Here we go again…

Working on getting better at calendars

June 6, 2012 - Categories: geek, kaizen

Calendars are among my weaknesses. I’ve had scheduling conflicts. I’ve missed appointments. I’ve plumb forgotten about stuff. Fortunately, people tend to be forgiving, like the way I don’t stress out over other people’s calendar mishaps. Things like this happen.

I’m working on ways to get better, because calendar problems can get in the way of awesomeness. I’m learning to slow down when it comes to anything that involves calendars, although I sometimes still forget. Because I sometimes miss reminders from Google Calendar on my phone, I’ve installed Calendar Snooze, an app that repeats the reminders at configurable intervals. Important events get put on both my business calendar and my personal calendar.

Maybe I should develop the habit of checking my calendar every hour to keep track of where I am in the day, especially when I’m using other people’s computers. I’ve added a Tasker hourly chime that also opens my calendar. We’ll see how well that works.

One of the reasons why I sometimes miss reminders is that I forget to take my cellphone out of silent or low-volume mode. I’ve now configured Tasker to set my phone on silent when I place it face down on a surface, and to restore it back to full volume when I pick it up again. I’m still looking for a good app that can make it easier to come back from silent mode during time-based events, like watching a movie. In any case, I have another Tasker task that resets the volume in the morning.

Slow and steady improvement!

Monthly review: May 2012

June 7, 2012 - Categories: monthly

Business: I’ve been in business for a quarter. By golly. This business thing is pretty cool. I rather enjoy doing contracts and cash flow projections – and the actual work, of course. I ended up focusing on client work for 179.4 hours, including the occasional Friday, because I wanted to help a friend. So May was less discretionary than I expected, but I plan to refocus in June and July. I want to make sure I’m learning how to think like a business owner, not just as a contractor or consultant.

Drawing: Looking back, it doesn’t feel like I did a lot of drawing, but I posted quite a few. I think it’s because I’ve been drawing based on presentations and events instead of sitting down and drawing things on my own time. I synchronized the images with my phone, though, and I had a virtual assistant type in all the text from my sketchnotes. I haven’t worked on book reviews at all, though!

Life: A full month of biking to work, too. Hooray! The weather has been mostly cooperative, although I’ve been caught out in the rain a few times. I like the bike ride. It gives me a little space to think.

Tracking: I analyzed our yield from Cooper’s Farm and started tracking grocery receipts. Looks like we have a long way to go in terms of getting more vegetables into our routines.

So far, so awesome!

May 2012 in blog posts:


Lots of planning:

Lots of Emacs stuff:

Enjoying life:

Started delegating again:

Some analysis:

I went to lots of events. You can tell from my sketchnotes:

Some more drawing and thinking about drawing. I scanned and reviewed my old notebooks, too!

Literate programming and my Emacs configuration file

June 8, 2012 - Categories: emacs

Update 2013-08-30: Changed Emacs Starter Kit link. Thanks, Thomas!

Inspired by the Emacs Starter Kit and the literate programming features in org-babel, I reviewed and organized my Emacs configuration. I’m looking forward to adding more notes to my configuration as I explore!

Literate programming is the idea that you should write first and program second, and that you can interweave the program into your explanation. Nifty.

Here’s my Emacs configuration (you can also find it at sach.ac/dotemacs. Share yours! =)

Weekly review: Week ending June 8, 2012

June 9, 2012 - Categories: weekly

I departed quite a bit from the plans I sketched, but I’m happy with the way that the week turned out. I spent a lot of my discretionary time thinking about Quantified Awesome, learning how to design without going straight to code and implementing a few of the ideas that I’d been thinking about for a while. I’ve also been spending some time digging into Emacs. There’s always so much more to learn.

Our experiment with eating more vegetables is going decently well, too. I cooked a large batch of vegetable curry today, and I’m getting the hang of putting things together without worrying too much about recipes. Progress…

From last week’s plans


  • [X] Earn: E1: Conference
  • [X] Earn: E1: Community prototyping
  • [X] Earn: R1: Support, i18n
  • [X] Connect: Set up meetings with people
  • [X] Build: Write some blog posts on Emacs
  • [-] Build: Investigate pictures in org2blog
  • [-] Build: Write about first-quarter experience
  • [-] Build: Post a job on ODesk for a bookkeeper
  • [-] Build: Braindump lots of blog posts
  • Connect: Quantified Self Toronto meetup
  • Build: More Quantified Awesome tweaks
    • Hyperlinked the time graph
    • Increased the time graph height
    • Started redesigning the user interface (without coding it, for once!)


  • [X] Have M- and C- over for lunch
  • [-] Plant front garden
  • [-] Help with study group


  • [-] Finish rating my past blog posts

Plans for next week


  • [ ] Earn: E1: training and community prototyping
  • [ ] Earn: R1: i18n
  • [ ] Connect: Have lunch with one of my mentors
  • [X] Build: Get a simple Emacs interface going again
  • [X] Build: Photograph more of my clothes for Quantified Awesome
  • [ ] Build: Review more of my blog
  • [ ] Build: Tweak Quantified Awesome – receipt display, perhaps?


  • [X] Cook many vegetable-focused meals
  • [X] Check out Value Village
  • [ ] Watch Prometheus with W-


  • [ ] Write for myself
  • [ ] Take it easy

Time notes

  • Business: 59:30 (E1 39:31, R1 7:44, connect 6:12)
  • Discretionary: 18:12 (gardening 4:00, writing 3:46, social 4:34)
  • Personal: 21:48 (biking 5:50, routines 10:09)
  • Sleep: 52:55 (average 7.6 hours per day)
  • Unpaid work: 12:38

Tips for making the most of the Toronto Public Library

June 11, 2012 - Categories: library, tips, toronto

The Toronto Public Library saves me thousands of dollars of book costs and opens up an amazing trove of knowledge. Here are some of my tips for making the most of this wonderful library system. What are yours?

You can borrow more than just books. The library has a wide collection of magazines, audiobooks, and videos. Check out the DVD shelves of your library for recent releases, or browse the periodicals to see what catches your eye.

You can request items online and have them delivered to any branch. You have access to all the circulating books in the system. With a library card, you can request items and have them delivered to a branch. The library will hold the items for a week. If you don’t pick up the items within the week, they will return to circulation. (Watch out for the new $1/item fines.)

Check out electronic resources, too. The library offers e-books, downloadable audiobooks, online journals, databases, and other resources.

Avoid overdue fines by returning items even after hours. When a library branch is closed, you can return items through the book drop slot. These items will be counted as returned on the last day that the library was open. For example, if a book was due on Saturday, but you put it in the book drop slot on Sunday while the library was closed, you won’t pay any overdue fines. If Monday is a public holiday, you can even return it then.

This is one of the reasons why I check out most of my books or renew them on Saturdays, so that I have Sunday as a grace period.

Renew strategically. If there are no other holds on an item, you can renew it, over the phone, or in person. It’s easier to renew items online than over the phone. Even if you can’t renew an item because of an existing hold, try again closer to your due date. Holds may be filled by other people’s returns, allowing you to renew your copy.

Books can be renewed for 3-week periods, and videos can be renewed for one week at a time. I believe the renewal period starts from the day that you renew the item, so don’t renew things too early or you’ll waste the extra time on your account. I usually renew my items on Saturdays (see above). I wrote a Perl script that checks items due in the next week and renews whichever items it can.

Associate other people’s cards with yours in order to pick up books for them, or to borrow on their account. Ask a librarian for a consent form and present both cards. My husband borrows items from the library too, so we pick up books for each other if needed. This has come in quite handy when I’m on a book-reading sprint, too, as I sometimes exceed the limit of 50 checked-out items.

Ask about passes to get free admission to city attractions. Some libraries distribute passes for museums and other attractions. There can be quite a line-up for popular places, so ask the librarians when the passes are released and plan accordingly.

You can find materials in many languages. Learning a new language, or pining for movies and books in your native tongue? Check out the library’s collections for books, videos, and other items in different languages.

Ask librarians for recommendations. Librarians are happy to answer questions and point you to more resources. There’s also a Q&A service that you can get to on the website. Talk to your librarians, and you’ll learn a lot.

Check out events at different libraries. Many libraries have regular events: book clubs, group exercise, even yoga sessions. These events tend to be free or inexpensive. Find out if any of these match your interests, and have fun!

Check out tech resources. The library offers computers, printers, photocopiers, and scanners. Check out the free WiFi, too.

Book meetings. The library has many meeting rooms that people can rent for reasonable fees.

Support your local library. You can get tons of value from the resources at your library. Give some of it back.  =)

Do you use your library a lot? What are your favourite tips?

Sketchnotes: Sandra Emilia Calderaro, Multilingual Kids; Andres D’Imperio, Creative Design (Small Business Network @ Toronto Reference Library)

June 12, 2012 - Categories: business, meetup, sketchnotes


Click on the image to view a larger version. Neat!

Numbers from rereading more than ten years of my blog

June 13, 2012 - Categories: blogging, writing

I’ve been rereading more than ten years of my blog posts, rating each of the entries on a scale of 1 to 5 based on how significant the memory was to me. I started blogging in 2001, although really, that was more like 2002 – mostly notes from class, Emacs Lisp adventures, and other things I wanted to remember.

I was eighteen years old and taking my bachelor’s degree in computer science at the Ateneo de Manila University in the Philippines, firmly convinced that I would teach in the Philippines all my life and grow old in an apartment with a cat or two. My plans have changed a bit since then. I moved halfway around the world for my master’s degree, enjoyed working in the IT industry, got married, and started my own business (four months ago!), picking up three cats along the way.

It hasn’t been easy rereading my blog posts. I winced at memories of ex-boyfriends, mistakes like sending people a ton of mail, and the chapter drafts for the Wicked Cool Emacs books (I turned the project over to Ian Eure, but he seems to have been busy with other things too). I missed the earnestness of my declarations of teaching and of not joining the brain drain. I miss having close, close friends and spending time with my family without a departure date looming on the horizon. Some things I do better than my past self, and some things I do worse. I don’t play the piano or sew the way I used to, and my blog posts remind me of what it was like to have fun with those skills. I knew things before that I’ve forgotten since, and it’s interesting reading them in my own words.

Still, it’s been a great experience rereading all of my old posts. Writing and reading help me remember the good stuff vividly. Eventually I’ll get the hang of refreshing my memory, and then I won’t forget so much of the things I’ve learned along the way.

I’m planning to collect the highlights into an e-book so that it’s easy for you to read through things as well if you want to. In the meantime, let me share a few numbers.

Year 1 2 3 4 5


Rated >= 2 % >= 2
2001 1 1 1 3 2 67%
2002 39 10 2 1 4 56 17 30%
2003 982 95 10 13 37 1137 155 14%
2004 850 84 16 8 19 977 127 13%
2005 462 201 7 3 8 681 219 32%
2006 633 227 8 7 5 880 247 28%
2007 305 192 6 1 7 511 206 40%
2008 342 55 11 3 10 421 79 19%
2009 332 61 13 8 38 452 120 27%
2010 234 92 17 5 51 399 165 41%
2011 328 61 4 2 2 397 69 17%
2012 107 31 1 1 140 33 24%
Total 4615 1110 95 51 183 6054 1439 24%

I rated 1439 of 6054 posts (24%) as interesting and worth going back to. That’s probably too many to include in one e-book (well, maybe just the long version), but maybe I can focus on the posts rated 3 to 5. I’ll need to go over the posts rated 2 to 5 and re-rank them. I’m pretty good at saying, “This was definitely significant to me: 5!” and “This was a highlight, but it’s not too important: 2”. The rankings in the middle are a little more difficult. What makes something a 3 versus a 4? What can I demote or promote among the 2s and 5s in comparison to other highlights?

Some more context for numbers: In the early years, I used Planner Mode for Emacs to capture quick snippets about life. Many of these notes weren’t particularly for public use, but they weren’t confidential, so I included them when I figured out how to add blogging capabilities to Planner Mode and again when I converted my blog to WordPress. In 2003, I graduated from university. In 2004, I went to Japan for a six-month technical internship. In 2005, I went to Canada for my master’s degree. I graduated in 2007 and started working at IBM, writing a lot about what I was learning along the way. In 2010, W- and I married. I also started trying to limit myself to one or two posts a day. In 2012, I left IBM in order to experiment with business, and I’ve been writing about what I’m learning there too.

I like getting a sense of the kinds of posts I find myself still enjoying after years. I want to write more of them, and I want to have more of the memories and experiments that lead to them.

Figuring out an easy way to export filtered blog posts might take time, but I’m looking forward to putting together something that I can re-read on my Kindle and share with other people to make reading my blog easier.

It’s amazing what you can learn from yourself when you’ve forgotten. I hope many people will be able to look back at their own decades of writing someday.

Things that I’ve used Emacs for

June 14, 2012 - Categories: emacs

Emacs can do a ton thanks to the code that people have contributed over the decades. Here’s a list of things I’ve used Emacs for, although I’m sure I’ve still missed a few!

  • Taking notes
    • Storing reference information
    • Publishing blog posts
  • Programming / coding
    • Rails
    • PHP / Drupal
    • Java
    • Javascript
    • HTML / HAML / ERB
    • CSS / Sass
    • Emacs Lisp
    • Ruby
    • Perl
    • SQL
    • Bash scripts
  • Managing my to-do list
  • Timing tasks
  • Managing my finances
  • Studying
    • Dictionary (Japanese)
    • Flashcards
      • With random fortunes displayed for correct answers
      • With random images displayed for correct answers (cute kittens!)
    • Example sentences lookup (Japanese)
    • Random example sentence added to blog posts (Japanese)
  • Brainstorming, outlining, and mindmapping
  • Handling my mail
    • Doing mail merges or file merges
    • Tracking correspondence
    • Personalizing greetings and signatures
  • Managing contacts
  • Writing research papers
  • Managing my bibliography
  • Making presentations
    • Planning presentations
    • Delivering dynamic presentations (with executable code!)
    • Using speech synthesis to remind myself about what’s coming in the next “slide”
  • Reading documentation
  • Analyzing my blog and my writing
  • Running a shell
  • Searching files
  • Cleaning up, filtering, or transforming text
    • String and regexp replacement
    • Keyboard macros
    • Custom Emacs Lisp functions
  • Editing files on a remote server
  • Editing files inside an archive
  • Reviowing and making text notes about images and other files
  • Chatting on IRC
  • Chatting on instant messengers
  • Checking the calendar
  • Playing Nethack
  • Playing dunnet and snake
  • Browsing the Web
  • Posting to Twitter and other status update sites
    • Rigging up my to-do list to automatically publish task data to an internal status update site
  • Calculating expressions
  • Using a spreadsheet
  • Exploring directories
  • Renaming, deleting, or moving files
  • Drawing ASCII art
  • Reading news
  • Comparing files or revisions
  • Typing in Japanese or Latin
  • Reviewing similar files
  • Synthesizing speech – “reading” books, technical manual, mail, etc.
  • Learning more about Emacs
    • Random symbols and commands
    • Documentation
    • Source code
  • ROT13 and Morse code encryption/decryption
  • Editing GPG-encrypted files
  • Practising typing
  • Opening spreadsheets and other files downloaded from the Web
  • Taking screenshots (mostly of Nethack games)
  • Analyzing web logs and other files
  • Calculating days between two dates
  • Sending text messages
  • Analyzing source code
  • Interacting with APIs
  • Doing weekly, monthly, and yearly reviews
  • Versioning my files
  • Expanding text snippets
  • Drafting a book
    • Tracking my progress
  • Editing files as root
  • Compiling and running programs
  • Editing text from the browser

Making lists of things I do so that I can learn more about delegation

June 15, 2012 - Categories: business, delegation

The Great Big Extract of top-rated posts will wait a little while, as I’m working with a WordPress developer (in Bulgaria!) to make a plugin that will allow people to filter my blog by the ratings I’ve set. That way, it’s not just a one-off export. I want to be able to quickly filter my blog posts like the way people filter photos. Wouldn’t that be nifty?

I can probably figure out how to write my own plugin, but I also want to learn about delegating technical tasks. Delegating might involve more time, more money, and more risk, but it’s useful to learn how to delegate on small projects before I end up being the bottleneck on large ones.

I picked someone with good ratings on the oDesk freelancing platform, told him what I was trying to accomplish, set him up with access to my development site, and backed everything up carefully just in case. Let’s see how this goes.

It can be difficult to let go, so I’ve been working on identifying more tasks to delegate. I make long lists of different kinds of activities that I do or want to do – well over two hundred activities like “Analyze my data” in the blogging category and “Clean the litter boxes” in the routines category.

Now I’m fleshing the list out in more detail, starting with the business category. I organized the business activities into the “earn”, “build”, and “connect” subcategories, which I’d been finding useful for my weekly reviews. Focusing on the “business – earn” category, I listed quite a few tasks that I can eliminate, automate, or delegate. For example, while I might outline a talk, I could get an assistant to look up prices and trends, design nifty graphics, or transcribe the presentation.

After I analyze my “business – earn” tasks, I’ll look at my “business – build” tasks. That will probably be harder to delegate, but maybe I’ll find surprising opportunities.

Optimizing non-business tasks such as cooking can also free up time that I can use to build the business. I want to make sure that I don’t end up tilted too far towards business, though, because life is awesome.

Listing all these activities makes it much easier to think about them. Which of these things are core? Where do I have an advantage, and what can other people do much more effectively than I can? What are my processes for these different activities, and how can I improve them? Can I estimate how much time I spend on these activities, and how can I time myself at that level of detail in order to verify my estimates?

One of these days – maybe after I’ve added some time estimates or measurements, or I have some more delegation experiences to report — I’ll put together a braindump of activities so that you can see what it’s like.

In the meantime, you might enjoy playing around with the idea yourself. Think about the things you regularly do, and make a list of as many things as possible. For each item, ask yourself:

  • Is this really something I need to do?
  • Can I automate most or all of the task? How? Is it worth the time/money/attention tradeoff?
  • Can I outsource or delegate it? How? Is it worth the time/money/attention tradeoff?

Weekly review: Week ending June 15, 2012

June 16, 2012 - Categories: weekly

It’s funny how my Business category is regularly much bigger than my Work category used to be, and it still feels like a manageable load. Maybe it’s because only part of the Business category feels like work-work – the billable consulting I do. There’s paperwork, but it’s rather like dealing with all the admin issues. Planning is fun, and so is tinkering around with Quantified Awesome or researching other ways to improve how I work.

W- has been in crunch mode because his team is working on making a target date, but things should ease up a little over the next few weeks. Me, I’ve been ramping up my writing. I’ve read through all the posts in my archive and rated them. Now I’m going to work on pulling the rated items out and copying them into a draft e-book, maybe using Scrivener or Sigil. It’ll be nice to put that together.

The summer solstice is approaching. Shorter days from then on! That’s okay, I think I’m getting the hang of this…

From last week’s plans


  • [X] Earn: E1: training and community prototyping
  • [X] Earn: R1: i18n
  • [-] Connect: Have lunch with one of my mentors – actually next week
  • [X] Build: Get a simple Emacs interface going again
  • [X] Build: Photograph more of my clothes for Quantified Awesome
  • [X] Build: Review more of my blog – all done!
  • [-] Build: Tweak Quantified Awesome – receipt display, perhaps?
  • Build: Listed activities and started planning delegation
  • Earn: Signed November conference contract
  • Build: Attended QS conference organizer meetup
  • Build: Reviewed phone decision
  • Connect: Went to library business meetup


  • [X] Cook many vegetable-focused meals
  • [X] Check out Value Village
  • [X] Watch Prometheus with W-


  • [X] Write for myself
  • [-] Take it easy
  • Build: Listed activities
  • Tried out BigOven for grocery list; crashes on my phone

Plans for next week


  • [ ] Earn: E1: Community prototyping and remote training
  • [ ] Earn: R1: I18n, invoice
  • [ ] Connect: Meet with mentor
  • [X] Build: Post a job ad for Quickbooks help
  • [ ] Build: Start copying highlights into Scrivener
  • [ ] Build: Write guide for analyzing Tap Log CSVs


  • [ ] Paint chairs
  • [ ] Call friends
  • [ ] Take Neko to vet for checkup


  • [ ] More writing

Time notes

Way more writing this week, yay! Although maybe I should start filing writing under business as well…

  • Business: 49:43 (E1 30:16, R1 6:20, connect 4:05)
  • Discretionary: 31:40 (writing 10:47, social 9:57)
  • Personal: 22:28 (biking 9:13, routines 7:22)
  • Sleep: 51:55 (average 7.4 hours per day)
  • Unpaid work: 12:11

The weekends are just packed

June 17, 2012 - Categories: life

Saturday: Took Neko to the vet for an annual checkup and vaccination, and to ask about her squinty right eye. The vet gave us eyedrops just in case Neko’s eye had gotten infected after a fight with the other cats. The eyedrops are to be administered every twelve hours. Eyedrops are tricky enough with people, much less cats. Pointy cats. It turns out that eyedrops for cats are more like this toothpaste-y ointment that you squeeze in a line from one end of the eye to the other, and then you massage the cat’s eye veeeery carefully to help spread it. W-‘s been the brave person taking care of this at home while I hold Neko, as she tends to not scratch me.

W- spent the afternoon painting various things – fixing a rust spot on his car, adding a second coat of paint to the chair that he built. My chair still looks fine. We’re looking forward to hanging out. I spent the afternoon gardening. I turned the compost, weeded the garden, watered the plants, and contemplated what to plant next. The bok choy and lavender plants are doing amazingly. I want to cover the garden with them.

One of my clients was getting ready for a big demo, so I agreed to be on call. A couple of testing and production issues were stressful, but we made things work again. I’m glad to be able to help out.

Sunday was mostly cooking. Practically all cooking. 5 hours and 42 minutes of cooking, another 17 minutes for tidying (hooray for clean-as-you-go and meals that can simmer or bake). The shrimp kebabs were awesome explosions of colour and flavour, and today’s pizza crust turned out wonderfully too. I think we might be getting the hang of this. Also, I had fun figuring out how to use Emacs Org Mode to plan my batch cooking sessions, so you’ll probably see a blog post about that soon.

Still, I turned down two invitations to hang out this weekend. Part of me knows that we should be cultivating friendships, but then hanging out with W- and getting things ready for the week is so much fun, and I needed to be available just in case things were on fire at one of my clients. The client should have a full-time sysad next month, so things should ease up a little. Both W- and I are in crunch mode, but the time we invest during the weekends helps us keep things sane. Maybe I should see about connecting with people online or over the phone instead?

Tired but happy.

Quantified Awesome: Analyzing my cellphone data

June 18, 2012 - Categories: quantified

I’m curious about how much I use my cellphone, and for what purposes. Does it make sense to switch plans? What do the patterns tell me about how I communicate?

The Fido network website allows me to download a CSV of my usage, and I pulled in all the data available. In addition to the call data, I’ve been copying the summary data (daytime minutes, etc.) into another worksheet so that I can estimate how much I would pay with different cellphone plans. From there, I can come up with questions and neat graphs. I have summary data going back to Jan 2011, and I have detailed call data going back to March 2011. There’s a little fuzziness about dates because my billing cycle ends on the 11th of a month, but it should be fine for data analysis. In general, the month is the month of the bill.

How have my call patterns changed since I started my own business?


I took a vacation in May and October, which accounts for most of the dips in calls. I spend more time on incoming calls than on ongoing calls, as I prefer to send text or e-mail messages instead.

Am I on the phone a lot more now that I’m in business compared to when I was an employee?


This box and whisker plot shows that on average, I spend more time on the phone now that I’m in business. I’ve only been in business for five months and I’m comparing it with eight months of employee data, so it’s hard to tell if this pattern will continue. Still, it’s interesting to see the average shift. If you’re curious, I followed this tutorial on creating box and whisker plots in Microsoft Excel 2010.

What about text messages?


I send a lot of international text messages, mostly to my mom. =) I also send quite a few Canadian messages, mostly to Twitter. In May, we were in the Netherlands to attend Kathy’s wedding, so we coordinated plans through texting.

I haven’t been sending anything nearly like the 579 text messages that I sent in July 2006, though. Partly it’s because Canada is growing on me – some cellphone plans charge for incoming messages here (I know! Boggle), so I don’t want to inconvenience my friends. Partly it’s because I’ve been in introvertish mode. Partly it’s because I’m married and like spending most of my discretionary time with my husband, so I’m organizing fewer get-togethers and the like. (I’m also texting said husband less, because we can just talk to each other.)

When am I on the phone?


Travelling across timezones messes up my data, so I filtered this report to remove any calls while roaming networks. Most of my calls are during business hours. Some are after for a part-time project that I’ve been supporting, and there were a few late conference calls that I joined as well. Some late-night calls were about production issues – side-effect of taking on the system administration role in many of my projects!

On what days of the week am I on the phone?


I use my phone primarily for work, which is why you see so much more activity from Monday to Friday. I do get the occasional Saturday or Sunday call, sometimes about production issues that I need to look into. Thursday seems to have a lot of following-up-on-plans-for-the-weekend calls.

What do I want to do about this data?

I wanted to know if my cellphone plan is the right balance for me. After crunching the numbers, I’ve concluded that:

  • among Fido plans, my plan is pretty decent
  • Mobilicity is tempting, but reviews are mixed
  • WIND Mobile is probably a good experiment; must decide whether I’d want unlimited data. Probably. I want unlimited battery life first! Ah, well…

Do I want to wait for a port-in credit promo (typically $100), take advantage of the current international texting promo, or wait for other kinds of promos? My expected annual value for international texting is $28.50 per year. I’ll probably get a lot of value from giving myself more permission to play with data. I think I’ll wait for the Samsung Galaxy S3, though, because the display looks promising and I want a phone that runs Ice Cream Sandwich.

I don’t mind waiting to see how things shake out. It’s nice to know I’m not missing out on any clearly superior choices, and to know what my triggers are for reevaluating my decision.

Using Emacs Org for grocery lists and batch cooking

June 19, 2012 - Categories: cooking, emacs, org

We like preparing our meals in bulk. Buying groceries and cooking up a storm on the weekends means that we can grab quick and healthy lunches from the fridge or freezer, enjoy a variety of dinners during the week, and focus on other things that we want to do in the evenings.

I was looking for a menu planner and grocery list maker to help us plan and execute these batch cooking sessions more efficiently. In particular, I wanted something that could sort the ingredients for preparation, too. I like preparing ingredients for all the different recipes before I start cooking. If several recipes call for garlic, I might as well chop a lot of garlic in one session instead of breaking out the chopping board for each recipe.

I tried several menu planning and grocery list apps, but I wasn’t happy with any of the ones I came across. I like using Emacs for as much as possible, so I figured that I should give it a try. Here’s what I did and how it worked out.

I created an Org file for my recipes. In this plain-text outline, I created sections for my plan, shopping list, preparation tasks, and recipes. Under recipes, I created TODO items and scheduled them. Here’s an example entry:

** TODO Colorful bulgur salad
   SCHEDULED: <2012-06-19 Tue>
| 1/2 cup        | bulgur wheat     |                    | [[Colorful bulgur salad]] |
| 1/2 cup        | chicken broth    |                    | [[Colorful bulgur salad]] |
| 1 small        | cucumber         | seeded and chopped | [[Colorful bulgur salad]] |
| 1              | tomato           | chopped            | [[Colorful bulgur salad]] |
| 1              | carrot           | shredded           | [[Colorful bulgur salad]] |
| 3              | green onions     | thinly sliced      | [[Colorful bulgur salad]] |
| 3 tablespoons  | fresh lime juice |                    | [[Colorful bulgur salad]] |
| 3/4 tablespoon | chili powder     |                    | [[Colorful bulgur salad]] |
| 1 pinch        | garlic powder    |                    | [[Colorful bulgur salad]] |

I reformatted each recipe to fit this format, with columns for quantity, type, preparation, and recipe link. After I chose several recipes, I copied the ingredient lists into my preparation section and my shopping section. In the shopping section, I deleted the lines for ingredients I already had or could skip. I used org-table-sort-lines to sort the table by the second column, which gave me this list:

| 1 bag              | chicken legs and thighs |                                                        | [[Arroz caldo]] |
| 2 small or 1 large | cucumber                | chopped                                                | [[Gazpacho]] |
| 1 small            | cucumber                | seeded and chopped                                     | [[Colorful bulgur salad]] |
| 3                  | green onions            | thinly sliced                                          | [[Colorful bulgur salad]] |
| 1                  | red onion               | cut into 1" pieces                                     | [[Shrimp kebabs]] |
| 1 pound            | shrimp                  | peeled and deveined                                    | [[Shrimp kebabs]] |
| 6 - 8              | tomatoes                | chopped (Roma or plum are best; Don't lose the juice!) | [[Gazpacho]] |
| 1                  | zucchini                | seeded and cut into 1" pieces                          | [[Shrimp kebabs]] |

It wasn’t sorted by aisle, but that was easy to do when I copied the list onto a recycled envelope. If I find myself using this a lot, I might write an Emacs Lisp function to gather the tables and sort the rows by aisle.

Anyway, shopping list in hand, we picked up our groceries in about ten minutes last Saturday. The next day, I looked at my prep list:

|                    | basil                                  | chopped                                                | [[Gazpacho]]              |
| 1/2 cup            | bulgur wheat                           |                                                        | [[Colorful bulgur salad]] |
| 1 tbsp             | butter                                 |                                                        | [[Bubble and squeak]]     |
| 2 tbsp             | canola or peanut oil                   |                                                        | [[Teriyaki tofu]]         |
| 1                  | carrot                                 | shredded                                               | [[Colorful bulgur salad]] |
| 1/2 cup            | chicken broth                          |                                                        | [[Colorful bulgur salad]] |
| 1 bag              | chicken legs and thighs                | separated                                              | [[Arroz caldo]]           |
| 3/4 tablespoon     | chili powder                           |                                                        | [[Colorful bulgur salad]] |
| 1/4 cup            | cider vinegar                          |                                                        | [[Teriyaki tofu]]         |
| 1 can              | corned beef                            |                                                        | [[Bubble and squeak]]     |
| 3 tbsp             | cornstarch                             |                                                        | [[Teriyaki tofu]]         |
| 1 tbsp             | cornstarch                             |                                                        | [[Teriyaki tofu]]         |
| 1 small            | cucumber                               | seeded and chopped                                     | [[Colorful bulgur salad]] |
| 2 small or 1 large | cucumber                               | chopped                                                | [[Gazpacho]]              |
| 1 lb               | firm tofu                              | drained                                                | [[Teriyaki tofu]]         |
|                    | fresh ground black pepper              |                                                        | [[Gazpacho]]              |
| 3 tablespoons      | fresh lime juice                       |                                                        | [[Colorful bulgur salad]] |
| 3 cloves           | garlic                                 | chopped                                                | [[Arroz caldo]]           |
| 1 clove            | garlic                                 | minced                                                 | [[Teriyaki tofu]]         |
| 2 cloves           | garlic                                 | diced                                                  | [[Gazpacho]]              |
| 1 tablespoon       | garlic                                 | minced                                                 | [[Shrimp kebabs]]         |
| 1 pinch            | garlic powder                          |                                                        | [[Colorful bulgur salad]] |
|                    | glutinous rice                         |                                                        | [[Arroz caldo]]           |
| 1 tsp ginger       | grated or minced                       |                                                        | [[Teriyaki tofu]]         |
|                    | green onions                           | chopped                                                | [[Arroz caldo]]           |
| 3                  | green onions                           | thinly sliced                                          | [[Colorful bulgur salad]] |
|                    | leftover vegetables (cabbage, carrots) |                                                        | [[Bubble and squeak]]     |
| 1                  | lemon                                  | juice of                                               | [[Gazpacho]]              |
| 2 teaspoons        | lemon juice                            |                                                        | [[Shrimp kebabs]]         |
| 1/4 cup            | olive oil                              |                                                        | [[Shrimp kebabs]]         |
| 1                  | onion                                  | thinly sliced                                          | [[Bubble and squeak]]     |
| 1/2 large          | onion                                  | chopped finely       (red is a nice alternative)       | [[Gazpacho]]              |
| 1/2 large          | onion                                  | chopped in 1/4 inch chunks                             | [[Gazpacho]]              |
| pinch              | parsley                                | finely chopped                                         | [[Shrimp kebabs]]         |
| 1/4 tsp            | pepper                                 |                                                        | [[Teriyaki tofu]]         |
| 1/4 teaspoon       | pepper                                 |                                                        | [[Shrimp kebabs]]         |
| 3 cups             | potatoes                               | mashed                                                 | [[Bubble and squeak]]     |
| 1                  | red onion                              | cut into 1" pieces                                     | [[Shrimp kebabs]]         |
|                    | salt (preferably sea salt)             |                                                        | [[Gazpacho]]              |
| 1 tsp              | sesame oil                             |                                                        | [[Teriyaki tofu]]         |
| 1 pound            | shrimp                                 | peeled and deveined                                    | [[Shrimp kebabs]]         |
|                    | soy sauce                              |                                                        | [[Arroz caldo]]           |
| 1/2 cup            | soy sauce                              |                                                        | [[Teriyaki tofu]]         |
| 1                  | tomato                                 | chopped                                                | [[Colorful bulgur salad]] |
| 6 - 8              | tomatoes                               | chopped (Roma or plum are best; Don't lose the juice!) | [[Gazpacho]]              |
|                    | virgin olive oil                       |                                                        | [[Gazpacho]]              |
| 1/2 cup            | white sugar                            |                                                        | [[Teriyaki tofu]]         |
| 1                  | zucchini                               | seeded and cut into 1" pieces                          | [[Shrimp kebabs]]         |

Sorting the list by ingredient made it easy to go through the groups of ingredients and prepare them all, and the links to the recipes made it easy to look up next steps. I planned the order of doing them. First, I prepared the bulgur wheat because that needed an hour to soak. I saved the chicken legs for the end because they were messy, and I saved the onions for later as well because they always make me cry. I cut and chopped and food-processed my way through stacks of vegetables, covering the kitchen table with bowls.

With all the ingredients prepared, I washed the utensils and put things away. That freed up counter space for cooking. I reordered the recipes so that it was easy to see what to work on next, and I started cooking.

The entire cooking sprint took me 5 hours and 42 minutes, which was a lot of cooking but well worth it. With that and the meals we’d prepared over the past few weeks, our freezer’s stuffed to capacity. Four tidy stacks of identical food containers, then odds and ends crammed into the spaces! By golly.

I really liked planning this batch cooking session in Emacs. Org tables made things easy to sort, and the hyperlinks let me look up recipes and notes quickly.

I could probably make this even better by:

  • rigging up my foot pedal to scroll up and down through food.org
  • copying in the recipe steps so that I can take advantage of that scrolling
  • figuring out how to use Org Babel to automatically compile the ingredient tables for the named recipes

Now if only someone would write M-x wash-dishes

Emacs braindump from John Wiegley =)

June 20, 2012 - Categories: emacs

I’m going to edit and post my Skype chat with John Wiegley, but here are some quick notes:

  • Read Emacswiki and go through the package lists to find cool stuff
  • Learn the Emacs way of doing things (keybindings, etc.)
  • paredit
  • redshank
  • helm
  • ace-jump
  • color-moccur
  • use-package
  • async?

Looks like Camtasia Studio 8 grabbed the video just fine, so I’ll work on editing it tomorrow. Whee! I totally have to chat with other Emacs geeks about their config and their projects – it’s such a different experience from just reading people’s configuration files or chatting on IRC…

Not getting overwhelmed by learning, no siree

June 21, 2012 - Categories: life

Sometimes I feel like I’m buzzing from all the different things that are going on. So many new things to attend to! I upgraded to Camtasia Studio 8 so that I can record better screencasts and experiment with sketchcasting. I bought Quickbooks Pro 2012 so that I can use it for business accounting. I’m playing around with delegation, so I want to make sure that people have things to work on. W- ordered the LEGO Batman 2 game, which is pleasantly distracting. So many things to explore and learn. If I manage things well, I can avoid running around in circles or getting distracted too much.

It’s a good opportunity to practise slowing down and not getting overwhelmed. Breaking ideas down into small chunks makes it easier for me to make progress, and checking tasks off lets me see how I’m doing. Writing slows me down and helps me reflect.

And then there’s slowing down with non-computer time, too: a conversation over lunch, some alone time with my sketchbook, a walk with my husband, that sort of thing.

It’s also important to make space for play – both the exploration of the world that the LEGO game creators made, and the exploration of these worlds of software that all these other developers have put together.

Maybe I should start tracking these moments so that I can get a better sense of what my sweet spot is like and how I get there. In terms of household routines, we’re doing pretty well. Work is good, too. This – this isn’t work-overwhelm or chores-overwhelm or even social-overwhelm, this is just spreading myself a little too thin, and I can fix that.

Still working on that shift from services to products

June 22, 2012 - Categories: business

I’ve been in business for four months, hooray! Consulting is going well. I want to learn how to build products, though – maybe short e-books or small apps. That’s going to be significantly different from the consulting that I did as as an employee and as a freelancer, and it’ll be a terrific learning experience.

The idea of about building products is intimidating, though. What can I do to create value? How can I get that into people’s hands, and will people buy? There’s some resistance in my brain even in terms of brainstorming ideas, but if I keep pushing, I’ll break through. AFter all, I’m surrounded by products. People have figured out how to create value for other people. I can do this too.

I have a hard time thinking of ideas when I try to use big questions like: “What kind of difference do I want to make in the world?” “What problem do I want to solve?” “When I look back at this five-year experiment, what do I want to have accomplished?” I’m going to try sneaking up on ideas like this: “What’s the smallest problem I can solve for other people, and can I get people to pay me a dollar for it?” Something like that.

It’s a tough shift for me to make, going from an employee or consultant to a proper entrepreneur. People tell me what they want and they reward me when I make things happen. Coming up with something and seeing if it sticks… there’s a lot of uncertainty in there. I’m getting better at making mistakes and not beating myself up about them, though, and once I can break through that fear or messing up, I’ll do even better.

I don’t have to come up with something new. I don’t have to come up with an innovative business model. I can start by picking something and making it better. The worst thing would be to be overwhelmed by ideas and never get started. I don’t have to hit a homerun on my first time on the plate. What’s important is that I get out there and I learn how to swing.

I am going to write. I want to summarize those ten years of blog highlights. I don’t know if it solves a problem in the world, much less be something that people will pay me for, but it will teach me about editing and formatting, and maybe people will buy it for a small sum considering that people spend on all sorts of other reading. Then I want to start compiling and writing time-saving tips, nifty ideas, and other things I learn. People have figured this out. I can too.

Making good progress! I spent some time editing my draft while sitting outside in the Adirondack chair I built myself, enjoying the summer breeze. Life is good.

Weekly review: Week ending June 22, 2012

June 23, 2012 - Categories: weekly

Busy week, business-wise. I learned how to use Quickbooks Pro to set up my books, and now I’m having an accountant review them to set things up correctly and answer some of my questions. I also picked up Camtasia Studio 8, and I’ve been playing around with using that for screencasts. Both are cool, and I’m learning a lot.

W- ordered LEGO Batman 2, and it’s awesome. I’ve been balancing it with long walks and lots of writing, though, so it’s not a complete timesuck!

From last week’s plans


  • [X] Earn: E1: Community prototyping and remote training
  • [X] Earn: R1: I18n, invoice – invoice next week
  • [X] Connect: Meet with mentor
  • [X] Build: Post a job ad for Quickbooks help
  • [X] Build: Start copying highlights into Scrivener – copied into Sigil instead
  • [-] Build: Write guide for analyzing Tap Log CSVs – postponed
  • Build: Bought Quickbooks Pro and Camtasia Studio 8
  • Build: Set up my books
  • Build: Hired a bookkeeper/accountant/advisor
  • Build: Learned how to work with Camtasia Studio 8


  • [X] Paint chairs – didn’t need to paint mine
  • [-] Call friends – I’ve just been hanging out with W- lately… =)
  • [X] Take Neko to vet for checkup


  • [X] More writing
  • Chatted with John Wiegley about Emacs
  • Played Lego Batman 2, yay!

Plans for next week


  • [ ] Earn: E1: Community prototyping, in-person training
  • [ ] Earn: R1: I18n, invoice
  • [ ] Build: Edit more blog highlights; finish 2003
  • [ ] Build: Build a backlog of posts
  • [ ] Connect: Prepare Girl Geeks Dinner talk
  • [ ] Connect: Go to WordPress meetup
  • [ ] Connect: Go to torontob2b meetup


  • [ ] Cook a large batch of food
  • [ ] Get together with friends?


  • [ ] Play Lego Batman 2

Time notes

  • Business: 50:25 (E1 21:25, R1 6:51, connect 4:47)
  • Discretionary: 31:52 (writing 9:10, social 1:21, Emacs 8:49, LEGO Batman 3:15)
  • Personal: 23:51 (biking 7:51, routines 7:19)
  • Sleep: 51:00 (average 7.3 hours per day)
  • Unpaid work: 10:26

Hmm, my time use is actually pretty stable over weeks…

Making progress on my book of highlights!

June 24, 2012 - Categories: writing

I spent the weekend editing, tidying, and formatting the 5-star posts from my blog archives. I’m currently working on a two-column landscape PDF optimized for on-screen reading. It’s 253 pages long and has posts, sketches, and photos. I might take advantage of Microsoft Word’s built-in inking capabilities to annotate it even further.

I enjoy investing time into organizing my posts and improving the layout. I learned a lot about Microsoft Word, using field codes to create section-specific tables of contents, creating headers that included the section names, and tweaking my styles for consistent formatting.

The book is coming together well, and I’m looking forward to sharing it with you.

My next steps are:

  • flesh out the introduction and the notes at the end; perhaps create a sketchnote for the entire journey, or sketchnotes for the different chapters?
  • design a cover image
  • create a sample PDF with the first chapter and the full table of contents
  • figure out how to publish and sell the PDF
  • create an EPUB version so that I can republish it to different platforms

This is actually quite fun. After I finish putting together these blog highlights, I think I’ll go back and create collections of posts on topics such as blogging, networking, Emacs, and other things I write a lot about.

Making GNU Emacs play well on Microsoft Windows 7

June 25, 2012 - Categories: emacs

Emacs 24 has been released, hooray! Here’s how you can download and install it on Windows 7. Bonus tip: pin it to your taskbar so that you can open Emacs easily.

Step 1. Get the Emacs zip file from http://ftp.gnu.org/pub/gnu/emacs/windows/ . You’re looking for something like emacs-24.1-bin-i386.zip, or whatever the latest version is. Download and extract the files. I like extracting it to C:\ and renaming the new emacs-24.1 directory to c:\emacs so that I can get to it easily. I’ll assume you’re renaming it too, but if you prefer to keep your Emacs installation elsewhere, just translate the rest of these instructions.

Step 2. Add Emacs to your path. This way, you can start Emacs or emacsclient from anywhere. To change your system path, click on the Windows logo, right-click on Computer, and choose Properties. Click on Advanced system settings, then click on Environment Variables.

If you see a Path variable under User variables, click on it, then click on Edit. Add c:\emacs\bin to the beginning of this path, separating it from the next item with a semicolon. Click OK.

On the other hand, if you don’t see a Path variable under User variables, click on New and add it. The variable name should be Path and the value should be c:\emacs\bin. Click OK.

Step 3. While you’re here, you might as well set your Home variable. This is what Emacs will use whenever you refer to ~, or the home directory. To set that, look under User variables and click on New. Create a variable called HOME, and set the value to whichever directory you would like to use as your home directory. For example, I’ll set mine to c:\sacha. Again, click on OK, then click OK a few more times until you’re done with the System Properties dialog box.

Step 4. All right, let’s start up Emacs! Click on the Windows icon, and type runemacs at the Run prompt. You should see runemacs in the list. If you don’t, you may need to log out and log in so that your new path settings are applied. Once you’ve sorted that out, start runemacs. You should see Emacs open, yay!

Step 5. Want to be able to start up and switch to Emacs quickly? To pin Emacs to your task bar, right-click on the Emacs icon in the task bar. Right-click on the small Emacs icon that appears, and click on Properties. Change the target to c:\emacs\bin\runemacs.exe, and change the start directory to whichever directory you prefer. You can also choose to start it maximized – handy. Once you’ve set that up, click OK. I like dragging the Emacs icon so that it’s the very first item in my task bar. That way, pressing the Windows key and the number 1 at the same time lets me switch to Emacs and away from Emacs easily.

That’s it. Check out http://planet.emacsen.org for lots of other Emacs bloggers. Happy editing!

The Virtual Self: Nora Young at Third Tuesday Toronto

June 25, 2012 - Categories: quantified, sketchnotes

20120605 Nora Young

Click on the image for a larger version. Enjoy!

Previous Third Tuesday Toronto sketchnotes:

Here’s another write-up from John Krissilas

Experiment! Stories from My Twenties PDF

June 26, 2012 - Categories: blogging, writing

I find myself procrastinating posting this, so that’s probably a good sign that I should face my fear and get this out the door. =)

I spent a few weeks rereading all of my blog posts and picking my favourites. I cleaned them up, added pictures and updates, and organized them into chapters. Now, for less than the cost of a cup of yummy hot chocolate, you can check out this PDF compilation of the highlights of my past ten years of blog posts.

I designed the PDF for reading on laptops, tablets, and other large screens, but I’ll put together an EPUB version for smaller e-book readers if people want one. Check out the preview to see if it works for you. =)

There are tons of things I can do to tweak this. I might revisit it in August (when I turn 29) and again when I finish my twenties. In the meantime, though, it’s better to share this (warts, potential misunderstandings, and all), fix it up a little, and then start on the next book! I’ve got “101 Things You Can Do With Emacs” bouncing around my brain…

Small steps!

If you do buy it and want to hear about any updates, e-mail me your receipt ([email protected]) and I’ll add you to my list. That way, if I release an update, I can send you a link to the PDF. Enjoy!

Emacs: Chatting with John Wiegley about the cool things he does with Emacs

June 27, 2012 - Categories: emacs, Emacs Chat, podcast

John Wiegley – June 26, 2012 from Sacha Chua on Vimeo.

Transcript: http://sachachua.com/blog/2012/07/transcript-emacs-chat-john-wiegley/

Read more context for John Wiegley’s thoughts on the GPL. Note from Sacha: The WordPress folks seem to have figured out how to earn money with premium themes, plugins, and training, so it’s not incompatible with the GPL… =)

John Wiegley is one of my Emacs heroes. =) Check out John’s Emacs configuration and other tools on Github. John occasionally posts Emacs-related things at newartisans.com. You can find him on Twitter as @jwiegley. Enjoy!

Business update: Four months in!

June 28, 2012 - Categories: business

I started my own business four months ago, and I’ve been slowly poking and prodding the boundaries of my comfort zone.

Consulting has been an excellent start. It allowed me to build on my experience in intranet social business and in web development. I took on those engagements because I like working with those particular clients and I could see how I could make a difference. Now I’m helping them build their own capabilities. I’d rather teach and build my way out of a job so that we can free up time and attention for the next level.

Besides, I want to make sure that I don’t just stay within my comfort zone. I want to learn more about other business models and ideas, such as building products and creating value in scalable ways.

My clients are mostly stable now, so I’ve been investing more time into drawing, writing, and learning. Toronto has many meetups focusing on business and technology, and I’m starting to get the hang of the rhythm of a page when I create sketchnotes: how time roughly translates to space so that I don’t run out of room and I don’t end up with too many blanks. I find myself digging up my sketchnotes from previous meetings. They’re very handy.

I reviewed ten years of blog posts and compiled the highlights into an e-book, spending some time on layout so that the PDF looked good on-screen. I’ll work on creating an EPUB version as well so that people can read it on Kindles and other e-book readers. It’s my very first experiment with creating an information product. I figured that I’d want to remember the milestones, and maybe people might resonate with the things I’ve learned about dealing with homesickness or living an awesome life. Four people have bought it so far, and it’s only been up for a day. I’m amazed and encouraged! Thank you for the votes of confidence, and for being part of the story. I look forward to sharing more.

I’ve also been learning a lot about Emacs because I want to make things better and help more people learn. I had a lot of fun talking to John Wiegley over Skype, and people have suggested other people whom I should talk to. This is another area where I’m tweaking my comfort zone. I’m going to learn how to ask people if I can pick their brains, and I’m going to learn how to package and share that information so that other people can learn from those conversations too. So many good things to explore!

Where do I want to go next? I think writing, drawing, and learning will keep me busy for a while. I’m gearing up for a couple of talks – July, September, and November – and perhaps chatting with more people about Emacs and other things. I want to get better at reaching out and keeping in touch. I’m also looking forward to getting better at managing other people. Delegating data entry has been working out very well, and now I’m working on learning how to delegate book-keeping and web development.

I’m learning a lot, and I’m making things better. This is good.

#torontob2b: Sean O’Donovan on managing content for lead generation + Q&A with Ben Harrison and Scott Armstrong

June 29, 2012 - Categories: marketing, meetup, sketchnotes

Update 2012-11-15: Here’s the video recap!

20120628 torontob2b - sean odonovan - managing content for lead gen

20120628 torontob2b - ben harrison and scott armstrong

Click on the images for larger versions. Feel free to share these under the Creative Commons attribution license.

In Sean O’Donovan’s talk on managing content for lead generation, he shared tips on mapping your content to the customer’s buying journey, repurposing what you have, and making it easier for people to find the information through metacontent and packaging. If you’re having someone else develop your content, it’s a good idea to ask them to develop the promotional materials for it too.

Ben Harrison and Scott Armstrong shared some of their experiences and opened the floor up for Q&A. It was interesting to hear about the marketing side of things.

If you like this, you might also want to check out my sketchnotes from the previous torontob2b meetup:

Other links:

To find out about the next #torontob2b event, check out Brainrider’s events page.


Weekly review: Week ending June 29, 2012

June 30, 2012 - Categories: weekly

What a productive week! I went to three meetups and posted sketchnotes for two of them. I chatted with John Wiegley about how he uses Emacs, and I transcribed the conversation. I finished reviewing the past ten years of blog posts, spent the weekend formatting them as a screen-optimized PDF, and released it for sale on the Internet. People say that the first sale is always the hardest, and now that I’m over that hump, I’m looking forward to where these adventures take me.

From last week’s plans


  • [X] Earn: E1: Community prototyping, in-person training
  • [X] Earn: R1: I18n, invoice
  • [X] Build: Edit more blog highlights; finish 2003
  • [-] Build: Build a backlog of posts
  • [-] Connect: Prepare Girl Geeks Dinner talk
  • [X] Connect: Go to WordPress meetup
  • [X] Connect: Go to torontob2b meetup
  • Earn: Sold e-books! =D
  • Build: Ordered emergency charger for phone
  • Build: Changed cellphone to business credit card
  • Build: Chatted with John Wiegley and transcribed the recording
  • Build: Posted four-month update
  • Connect: Posted sketchnotes from Third Tuesday Toronto and #torontob2b meetups
  • Connect: Chatted with Nick regarding note-taking
  • Connect: Followed up after meetups; entered notes into org-contacts


  • [-] Cook a large batch of food
  • [-] Get together with friends?


  • [X] Play Lego Batman 2
  • Completed story mode for LEGO Batman 2
  • Read a ton of books

Plans for next week


  • [ ] Earn: E1: Community prototyping
  • [ ] Earn: R1: Transition
  • [ ] Build: Create EPUB version of book
  • [ ] Build: Schedule next Emacs chat
  • [ ] Connect: Prepare for Quantified Self talk at Girl Geeks Toronto
  • [ ] Connect: Chat with Suchitra
  • [ ] Connect: Chat with Med
  • [ ] Connect: Follow up some more


  • [ ] Help move everything out of shed
  • [ ] Move rear planter box
  • [ ] Cook a lot


  • [ ] Plan The Dark Knight Rises get-together
  • [ ] Write =)

Time notes

  • Business: 37:50 (E1 19:35, connect 15:42)
  • Discretionary: 47:59 (writing 25:22 (!), social 1:18, Emacs 4:33, LEGO Batman 6:42)
  • Personal: 22:06 (biking 10:14, routines 8:22)
  • Sleep: 55:50) 0 (average 8 hours per day)
  • Unpaid work: 4:13