September 2013

How to learn Emacs keyboard shortcuts (a visual tutorial for newbies)

September 2, 2013 - Categories: emacs, sketches
This entry is part 2 of 4 in the series A Visual Guide to Emacs

Emacs keyboard shortcuts often mystify beginners because they’re not the same as the shortcuts for other applications (C-w instead of C-x for cutting text, etc.), and they’re long (what do you mean, C-x 5 f?!). I hope this guide will help break down the learning process for you so that you can pick up the keyboard shortcuts step by step. It’s under the Creative Commons Attribution License, so feel free to share!

Click on the image to view or save a larger version. It should print out fine on 8.5×11 paper in landscape mode, and you might even be able to go up to 11×17.

20130830 Emacs Newbie - How to Learn Emacs Keyboard Shortcuts

This is actually my second version of the guide. In the first one, I got a little sidetracked because I wanted to address common frustrations that get in people’s way. Here’s the Grumpy Guide to Learning Emacs Keyboard Shortcuts:

20130830 The Grumpy Guide - How to Learn Emacs Keyboard Shortcuts

The #emacs channel on Freenode was totally awesome in terms of feedback and encouragement. Special thanks go to agumonkey, aidalgol, Fuco, ijp, JordiGH, nicferrier, pkkm, rryoumaa, and webspid0r for suggestions. =)

If you like this, you might also like the similar hand-drawn one-page guide I made on How to Learn Emacs, or my other Emacs-related posts. Enjoy!

For your convenience, you can find this page at

Sketchnote: Managing Oneself (Peter Drucker)

September 3, 2013 - Categories: career, sketchnotes

Xiaoxiao asked me to sketchnote Managing Oneself, a classic article by Peter Drucker. Here are my notes. Click on the image for a larger version.

20130822 Managing Oneself - Peter Drucker

Please feel free to share this! (Creative Commons Attribution License)

In addition to sketching a visual summary, I thought I’d reflect on the points discussed in the article.

What are my strengths?

I’m happy, optimistic, appreciative, and resilient. I reflect a lot on what I do, how I do it, and why. I learn quickly, thanks to speed-reading and note-taking skills.  I know how to adapt to many of my characteristics, such as introversion and visual thinking. I’m comfortable with numbers, words, and drawings. I embrace deliberate practice and continuous improvement. I’m good at setting up little experiments, taking calculated risks, and finding ways to improve. I’m frugal and I’m decent at questioning assumptions. I work on being more rational and compensating for my biases, and I’m not intimidated by research.

Feedback analysis: I periodically review my decisions through scheduled decision reviews, blog archives, and other reflections. I’m good at breaking decisions down into smaller ones that I can try out or test. I can get better at involving other people in my decisions. I tend to discount things that are unscientific or that seem dodgy, but that hasn’t really gotten in my way. The main thing that gets in my way is my tendency to flit from interest to interest, although I’m dealing with that by learning how to create value in smaller chunks. I’m planning to improve my feedback analysis process by scheduling more decision reviews.

How do I work?

I learn primarily through reading, writing, and trying things out. I find it difficult to absorb information by listening to lectures or talking to other people. My preference for team or solo work depends on the project: for most development project, I prefer to work with at least one other person whose skill I respect, because I learn a lot more that way. I’m also comfortable working on my own. (I’m learning how to delegate, though.) I’m more comfortable making decisions than giving advice. I prefer some order and predictability in my daily schedule, but I minimize commitments. Routines give me a platform from which I can go wherever my interests take me. I enjoyed working in a large organization, but I’m also fine working on my own.

I know that it’s easier to make things happen if I adapt to my idiosyncrasies rather than wish I were someone else. I’m good at passing opportunities on to other people, and helping people see what might fit me.

What are my values?

I value learning and sharing as much as I can of what I learn with as many people as possible, which is why I prefer to share information for free instead of locking it down in order to earn more. I value equanimity rather than excess.

Where do I belong?

Where I am. (Yay!) This experiment is going well, and I’d like to continue it.

I know I worked well in large corporations too, and I think I’d get along with small ones. I definitely don’t belong outside my comfort zone (that time I had to do some Microsoft SQL Server admin? Yeah…) or in high-stress, high-travel, workaholic environments. (Which, fortunately, consulting wasn’t – at least for me.) I do better in situations where it’s okay to ask forgiveness instead of always asking for permission, and where 80% is okay instead of trying to get to 100% the first time around. I do well with some discretionary time to work on useful projects or help people outside my typical responsibilities.

What should I contribute?

I think people could use more examples of this sort of smaller-scale life, because it’ll help free people from assumptions about what they need or how much they have to sacrifice. I’d love to make it work and to share what I learn along the way.

I also care about helping people learn and think more effectively. Visual thinking is one way to do that, so I want to help people who have the inclination for it discover tools and techniques that they can use.

I care about learning in general, which includes learning about different topics and then creating resources or mapping concepts so that other people can learn them more easily.

Books, blog posts, drawings, presentations, and coaching are some ways I can make progress in these directions.

In addition to those five questions, Peter Drucker also gave these career tips:

Taking responsibility for relationships

One of the things I learned as a kid was that you can take responsibility for the way you interact with people and you can help them get better at interacting with you. (Yes, I was the kid reading Parenting Teenagers for Dummies and How to Talk So Kids Will Listen and Listen So Kids Will Talk.) At work, it was great explicitly discussing communication styles and motivational preferences with my managers, who helped me tweak things to play to my strengths.

The second half of your life

… why wait until your forties? Winking smile

I’m a big fan of having at least two good things on the go at any given time. I learned this as a software developer. That way, when you run into a setback or delay, you can always work on the other thing in order to keep yourself moving forward.

For me right now, there’s writing, drawing, and software. In the future, who knows?

How about you? What do you think about managing yourself?

4 steps to a better blog by planning your goals and post types

September 4, 2013 - Categories: blogging, planning
This entry is part 14 of 19 in the series A No-Excuses Guide to Blogging

Here’s what I’m learning about being clear about your goals and analyzing how your actions match up with them. I’ve been thinking about my goals for blogging because I want to get better. I have time to learn things, and I can learn more effectively if I learn deliberately. It might work for you too!


1. Clarify your goals

It’s good to know what your goals are and how the different approaches serve those goals so that you can choose the ones that are the most effective. You can also look at each approach to see how you can improve it.

After some reflection, I came up with this list of goals for my blog:

  1. Learn more effectively by thinking through complexity or explaining what I’m learning
  2. Explore assumptions and possibilities; become more aware of them myself, and help other people see them
  3. Improve core skills through practice: making decisions, explaining ideas, organizing thoughts, etc.
  4. Save myself and other people time spent re-solving the same problems or learning the same things
  5. Build a long-term archive that I can use to remember what I’m learning and see differences over time
  6. Learn from other people through questions, comments, and conversations

Your list of goals will probably look different. Many people have goals such as building a business by promoting their products or services, educating clients or readers, keeping family members up to date, working through difficult issues by writing anonymously, and so on. Take a moment to think about and prioritize your goals.

If you’re having problems expressing your goals, you can also take a look at your recent blog posts and ask yourself, “Why did I write this?” What results did you want to get? What purpose did it serve? One blog post might work towards several different goals.

2. Analyze the ways you approach those goals

Different actions support different goals to different extents. Think about the different types of blog posts you write. Score them against each of your goals on a scale of 1 to 5, where a score of 5 means that type of post helps a specific goal a lot, while 1 means it does very little or even nothing for that particular goal.

Here are some of the types of posts I share and how they line up with the goals I listed above:

Goal 1: Learn Goal 2: Explore Goal 3: Improve Goal 4: Save time Goal 5: Build Goal 6: Learn from others Total
T1: Draw original stuff 5 5 5 5 5 3 28
T2: Draw book reviews and events 5 2 5 5 5 5 27
T3: Think out loud 5 5 5 1 5 3 24
T4: Share tech tips, troubleshooting notes, or code 5 5 3 4 2 4 23
T5: Review longer spans of time (yearly, decisions) 5 4 5 1 5 3 23
T6: Write tips that few other people can cover 4 2 3 3 4 3 19
T7: Write tips that other people can also cover 3 1 2 2 2 2 12
T8: Review recent posts (weekly, monthly) 1 1 4 1 4 1 12

Sorting the table by the total score makes it easy to see which approaches you value more. If some goals are much more important to you than others, you can also weight those goals in your calculations. For example, if building a long-term archive was twice as important to me, I could double that column when calculating the total score.

Anyway, this ranking makes it clearer why I feel good about original drawings and sketchnotes, and why I skew towards decision reviews and “thinking through things”-type posts even if they don’t feel focused enough on saving other people time. Most of the blogging advice tends to focus on writing tips, but they don’t motivate me as much.

How about you? Do your post types match up with your goals? Are there clear winners that you should focus on? You can write lower-value posts from time to time because they address different needs. For example, I post weekly reviews because they’re useful to me even if they’re less useful for others.

3. Adjust your priorities based on feedback

Of course, since these values are subjective, it helps to adjust them based on your website analytics or feedback from your readers. For example, if you think a type of post saves people a lot of time, you’ll probably see a lot of visits or comments on it. If you have Google Analytics, you can export the Content – Site Content – All Pages table to a spreadsheet, classify the top X links, and then see what types of posts people spend their time on. For example, I analyzed the top 500 pages visited in July 2013, classified each by type, calculated average views and time per page, and sorted it by average views to get a sense of which posts tend to be more popular.

Post type Number of pages Number of views Average page views per page Average minutes per page view Average bounce rate
T1: draw original 23 2875 125 3.4 67%
T4: share tech 149 12468 84 5.8 74%
T2: draw book / event 41 2346 57 2.3 64%
T3: think out loud 62 2452 40 3.4 72%
T5: review long / decision 14 504 36 2.7 73%
T6: write tip (few) 41 1392 34 3.1 72%
T8: review 9 283 31 1.0 61%
T7: write tip (many) 24 461 19 4.7 73%

My sketchnotes are more popular by far. My technical notes are surprisingly durable over time, even though you’d expect them to be superseded by bugfixes, technical changes, better documentation, and so on. Posts as old as 2004 still turn up. Because people still get a lot of value from my old tech posts, I adjusted the “Save time” rating for tech tips from my original value of 3 to 4. (I had started with a lower value because I figured that not a lot of people would probably have run into the same issues I did, but it turns out that time makes up for audience size and the long tail works.) As I expected, tips that few other people have written about get more pageviews than tips that more people have written about, although I’m surprised that people tend to spend more time on the common tips. My “thinking out loud” posts are more popular than I expected. Also, people tend to click on my weekly reviews if I add a brief description to the title, so that’s something.

Limitations: This only looks at single-page views in a single month. Also, I picked July because I started drafting this post in August.

Anecdotally speaking, I get a lot of comments and links to my sketchnotes. I’m also delighted by the conversations that occasionally grow out of the “thinking out loud” posts, and how sometimes people will share even better solutions when I post my technical notes.

4. Identify ways to improve each approach

Now that you’ve looked at what makes each type of post different, you can focus on how to improve each type by building on its strengths or compensating for its weaknesses. Here’s what I’m planning for the kinds of posts I write:

Draw original stuff: It takes me 2-4 hours to make one of these. I like making technical notes (ex: Emacs), sketchnote tutorials (to help people draw more), and other drawings related to life and planning. I’m getting used to drawing them with less up-front planning. Even though I end up moving things around, I think it’s useful to just get started. Drawing involves a trade-off because images are not as searchable as text. I can fix that by including the text, but it’s a little awkward and it takes more time. Still, people like the drawings a lot, and I like them too.

Draw book reviews and events: I go to fewer events these days, but I’m reading a lot more books. It takes me two hours to read a typical business book in depth, drawing notes along the way. I tend to draw book reviews only when I’ve already gotten a sense that a book is worth reading in depth. One way to increase my frequency is to draw book notes based on the skimmed parts of books that I’m not reading deeply – perhaps breaking out just the chapter or idea that resonates with me, and using that to illustrate a blog post reflecting on it. I can also work on getting more high-quality books into my pipeline, or practise by drawing more books with fewer value judgments.

Think out loud: I can improve the “Save time” score by stashing the notes in my outline, adding observations, until I’ve fleshed it out enough for preliminary findings and advice. It means that the output will be more concise in its reasoning and I’ll have to do more learning on my own instead of opening up the conversation early, but then the posts will be useful for other people as well as for me. Mr. Money Mustache is a good example of a blog that mixes personal stories and useful observations. The main thing that was holding me back from doing this before was losing track of my drafts, but my outline is a good step.

For example, this post started as a rough outline, thinking out loud about what kinds of posts I wanted to write. Now I’m going back and filling it in with other information that might be useful for people. If it ends up too long, I might have to trim it. We’ll get there!

Share tech tips, troubleshooting notes, or code: The limiting factor here is that I’m not working on any professional projects that I can write about, so I’m forced to run into and resolve fewer issues. I can replace that with working on my own projects or on open source projects, or helping people with questions. I often tweak or work on things related to Emacs, WordPress, or data visualization, so there’s that. If I set aside time and find a good source of small bugs so that I can ease my way into a habit of contributing to open source again, then that will also help me with my life goal to keep my technical skills sharp.

Review longer spans of time: I can increase the frequency of decision reviews by scheduling them so that I don’t lose track of items. Because I manage my outline in Org Mode, that should be relatively easy to do. I can also bootstrap this by reviewing last year and last decade’s monthly reviews (if available), or the blog posts if not.

Write tips that few other people can cover: There are lots of information gaps to fill. Sometimes it’s because people don’t have the time, inclination, or confidence to write about something. Sometimes it’s because I have a useful combination of skills or I can bring a different perspective. If I can’t find information, that’s a good reason to write it.

Write tips that other people can also cover: The world doesn’t really need another “how to find the time to blog” tutorial. If I can filter through search results for a good one and make it more findable, that beats writing one from scratch–unless I can add something special or relate different types of advice to each other.

Review recent posts (weekly, monthly): These are low-value in the short term (mostly lists of links, plus the nudge to do my weekly planning process), but I’ve found them to be surprisingly useful over the years. They also help keep my large blog archive manageable. That’s why I keep posting them. I’ve started using the weekly and monthly reviews to give people less-frequent subscription options (daily can be a little overwhelming), so that’s helpful too.

One way I can increase the value of the weekly reviews is to add more quick notes to them. For example, in my most recent weekly review, I included an annotated list of links I clipped and books/movies I liked from this week’s haul. I think it will provide additional value, and it’s a good way for me to review them as well.

Wrapping up

“Get better” is a vague goal. If you can identify the specific goals you would like to work toward, different ways to move towards those goals, and specific actions you can take to improve those approaches, you’ll have a lot of flexibility in terms of growing. You’ll find it easier to recognize or create opportunities to grow, and you can track your progress along the way. You might also be able to identify counter-productive approaches and replace them with ones that move towards more of your goals. Good luck and have fun!

Sketchnote lessons: Stick figures

September 5, 2013 - Categories: drawing, sketches
This entry is part 9 of 11 in the series Sketchnote Lessons

Stick figures are fun to draw. Click on the image to view or download a larger version that you can trace or doodle on, and feel free to share this with others! (Creative Commons Attribution License)

20130904 Sketchnote Lessons - Stick Figures

See for the other tips in this series, and check back next Thursday for more!

What keeps you from taking notes? 9 excuses and how to get past them

September 6, 2013 - Categories: learning, notetaking, tips

How do people get away without taking notes at presentations and conferences? Slides are rare and recordings practically non-existent, so… Do other people just remember?  It boggles. I find it hard to remember stuff from two days ago, much less last week or last month.


Note-taking is such a big part of learning. It helps you stop wasting your time. Notes help you remember not only the key points, but also the questions and ideas you had and the actions you wanted to take. And yes, this goes for you even if you’re more of an auditory learner than a visual learner. Notes can help you remember where the interesting bits were, triggering your memory.

Not that people need to be convinced of the value of taking notes… It’s like exercise. Everyone thinks exercise is great, but not that many people do it. If I want to help people learn how to take better notes, then I have to help people get over their excuses. We are very good at making excuses for things we don’t do. I’m amazing at making excuses when it comes to exercise! At least I can help with the excuses you might make for note-taking.

Here are some perfectly reasonable reasons you might use to explain why you DON’T take notes—and some ideas for working around them.

1. “I’m not in school any more!”


Many people probably got so burned out in school that they don’t want to do anything remotely related to it, including reading books and taking notes. I understand. I didn’t get along with many of my classes. I nearly flunked some of them. But really, why let seething resentment left over from your grade school years get in the way of learning more effectively now?

(Just to clarify: I liked school. Mostly.)

2. “Taking notes makes me look stupid.”

Taking notes makes you look like you’re paying attention and that you care enough to learn. It makes you look smart. (Read Ben Casnocha: Experts Take Notes)

People generally feel flattered—unless they’re saying things that are sensitive or that they may want to deny later, in which case they’ll feel uncomfortable and might ask you to stop.

3. “I’m not fast enough to keep up while people are talking.”

Write down key words or phrases instead of whole sentences. Shamelessly abbrv. You don’t have to write down everything. (No more quizzes or final exams!) Focus on the stuff that matters to you.

If you’re taking notes on a computer, learn how to touch-type. That way, you don’t have to think about typing, you just take notes.

4. “My handwriting is hard to read.”

Slow down and write less. Bigger letters can be easier to read and write. Print block letters instead of using script. Legible is better than fast.

5. “I’m smart. I can remember this easily.”

Sure. While you’re there. Tomorrow, who knows? Your notes aren’t for your current self. They’re for your pre-coffee future self who’s frazzled and fighting fires but needs to follow up.

Also, if you need to share what you’ve learned with other people (which, by the way, is an excellent idea if you’re doing this on your company’s dime and you want your company to send you to other events), notes help.

6. “I get distracted.”

You’ll get even more distracted without notes. At least with notes, you can quickly review what was discussed and come back.

7. “I might miss something while I’m taking notes.”

Worried that writing will distract you from listening, or that looking down will mean that you miss an important slide? Start by writing less – you just need enough to remind you, and you can fill in more details later. As you practise taking notes, you’ll get better at storing things in your working memory. Most speakers repeat themselves at some point, so that’s a good time to go back and add more notes.

8. “When I look down to take notes, I can’t lipread the speaker.”

Mel Chua points out that touch-typing helps, especially if you can’t write legibly without looking. Also, in her experience, getting a good hearing aid opens up all sorts of possibilities.

9. “I never review my notes anyway.”

Taking notes will help you pay attention and remember things better, even if you don’t review your notes. You’ll get extra value if you review, though. Reviewing a large block of text can be overwhelming. Right after a talk (or shortly after, when you have time), go back and highlight key points. A highlighter or a coloured pen works well on paper. If you’ve only got one pen, go ahead and draw boxes or arrows instead. The Cornell note-taking method is great for adding keywords and summaries. On the computer, you can make things bold or change the background. That way, when you review things afterwards, you can easily jump to important information.

What else gets in the way of your note-taking? Let’s see if we can blast those excuses and get you going!

Image credits: Pen with notebook, Mikael Cedergren (Shutterstock), Burnt notepaper, Monchai Tudsamalee (Shutterstock)

Thanks to gozes, John Dietrich, Mich W., Mel Chua, and Richard Manriquez for feedback through Twitter!

Weekly review: Week ending September 6, 2013

September 7, 2013 - Categories: weekly

Blog posts

Other notes

Link round-up

Focus areas and time review

  • Business (21.5h – 12%)
    • Earn (14.5h – 67% of Business)
      • [X] Earn: Consulting – E1 – Tuesday
      • [X] Earn: Consulting – E1 – Thursday
      • [ ] Earn: Consulting – E1 – Thursday
      • [ ] Earn: Consulting – E1 – Tuesday
      • [ ] Work on new slides
    • Build (4.8h – 22% of Business)
      • Quantified Awesome (0.0h)
      • Drawing (1.0h)
        • [X] Draw another sketchnote lesson
        • [ ] Package sketchnote lessons as a PWYC PDF
        • [ ] Sketchnote a book
      • Paperwork (0.0h)
        • [X] File payroll return
        • [X] Updated my Quickbooks with Paypal transactions
      • [ ] Rejig 404 page
    • Connect (2.2h – 10% of Business)
      • [X] Send bio to Ryerson
      • [X] Chat with Sedarius about personal knowledge management
      • [ ] Process and upload another QS Toronto video
      • [ ] Sketchnote Third Tuesday Toronto (Mitch Joel)
  • Relationships (15.6h – 9%)
    • [X] Hang out with W-‘s family
    • [X] Mend curtain
    • [X] Make an inventory of the spices in our cabinet
    • [ ] Go through Latin Made Simple chapter 1
  • Discretionary – Productive (14.2h – 8%)
    • [X] Call MA
    • [X] Follow up on How to retire the cheapskate way
    • [X] Scan receipts
    • [ ] Go to MEC
    • [ ] Practise with stove
    • Writing (9.5h)
  • Discretionary – Play (6.7h – 4%)
    • Started playing “The Legend of Heroes: Trails in the Sky”
  • Personal routines (24.1h – 14%)
  • Unpaid work (18.2h – 10%)
  • Sleep (69.0h – 41% – average of 9.9 per day)

Monthly review: August 2013

September 8, 2013 - Categories: monthly, review

Last month, I wrote:

Anyway, the rest of August will be about planning ahead, and also
squeezing the most out of this wonderful span of discretionary time.

It was great to take a month off to experiment with Proper Retirement. A contiguous block of time is qualitatively different from the same time interrupted by other commitments. I learned a lot about writing and drawing, and I can’t wait to dig into both of those skills more. In particular, outlining made a big difference in how I can structure my notes so that I can flesh them out over time. I made a lot of sketchnote lessons as a way to teach other people (and myself), too.

Also, I turned 30! =) I ended up going into introvert mode all month, which was quite restful, so I didn’t have any parties aside from the Skype party that my friends and my parents threw for me. =) That was awesome.

I’m back to consulting on Tuesdays and Thursdays in September, with Mondays, Wednesdays, and Fridays for my experiment with semi-retirement. Let’s see if I can keep the momentum!

Reorganizing WordPress categories with Term Management Tools and other tweaks

September 9, 2013 - Categories: blogging, geek, wordpress

Over ten years, my WordPress blog had ballooned to more than 500 categories. Part of it was because Org2Blog makes creating new categories super-easy, so I just piled them on (occasionally mispelling a few). Part of it was because I don’t really know what I’ll write a lot about until I write, so I had categories with one or two posts and then I moved on. Part of it was because I hadn’t decided what I’m going to use categories for and what I’m going to use tags for–yes, even after all those years.

I wanted to revamp my categories so that the Life, Geek, and Visual categories and their corresponding feeds might be useful to people who find my daily posts awesome-but-overwhelming and who would prefer a slice of my blog tailored to their interests. (There are even more categories on my archive page.) This meant organizing the categories into a hierarchy, but first I wanted to cut the number down to something more manageable.

The WordPress interface for managing categories leaves much to be desired when it comes to bulk actions. Fortunately, the Term Management Tools plugin makes it easy to merge categories or convert them to tags using additional Bulk Actions on the standard Categories screen.

I merged a few of the common typos, then converted any category with fewer than 10 posts into a tag. The original version failed silently when converting a category if a tag with the same name already existed, so I patched my version to silently merge the terms.

The Screen Options menu let me change the number displayed on screen to 100 items, which made it much easier for me to weed out most of my categories. Term Management Tools also provides a bulk action for setting a category parent, which was great for quickly reorganizing my categories into a hierachy.

I still had almost 3,000 uncategorized posts. Since I haven’t quite found or written an automatic N-gram text classifier for WordPress posts (if you have one, please share!), I decided to see if I could make a dent in this manually. I started by prioritizing the posts with comments. I assigned categories using the Posts screen, but that took a while and too many mouseclicks. The Categorized plugin automatically unchecks the default category once you select a different one, which saved me one click per post, but it still wasn’t enough. I ended up extracting a list of posts from my database with the following SQL command:

SELECT, p.post_title, p.post_date, p.comment_count FROM wp_posts p 
INNER JOIN wp_term_relationships r ON ( AND r.term_taxonomy_id=1) 
WHERE p.post_type='post' AND p.post_status='publish' into outfile '/tmp/published.txt';

and another list of terms and taxonomy IDs:

SELECT t.*, tt.term_taxonomy_id FROM wp_terms t INNER JOIN wp_term_taxonomy tt ON (t.term_id=tt.term_id AND tt.taxonomy='category')
INTO OUTFILE '/tmp/terms.txt';

After a little spreadsheet manipulation involving VLOOKUP-ing the category name that I manually entered for each one, I copied the term taxonomy ID and post IDs into an Emacs buffer and used a keyboard macro to change it into the form:

UPDATE wp_term_relationships SET term_taxonomy_id=? WHERE object_id=? AND term_taxonomy_id=1;

where 1 was the term_taxonomy_id corresponding to Uncategorized.

Since I was on a roll, I decided to categorize everything from 2007 onwards, which is farther back than my manual index goes. That got me through about a thousand items before I decided it was enough filing for one day. As of the time of writing, there were 6512 posts on my blog. 4,536 posts (70%) belong to various categories, while 1,976 are still uncategorized.

I hope this work pays off! =) I expect that it will make my blog a little easier to browse.

How I prepare for professional digital sketchnoting

September 10, 2013 - Categories: business, drawing

imageCaroline Chapple was curious about how people prepare for sketchnoting events. I focus on digital sketchnoting, and here’s the workflow that allows me to cover a conference while publishing sketchnotes within 5-10 minutes after the end of each talk.

Before the event

  • I confirm the agreement, invoice, copyright, and publishing arrangements. Sometimes I take care of publishing right away, which gives clients the full benefit of working digitally. If the client wants to integrate the images into their branded website, I can also e-mail the high-resolution images to a specified person. I can also CC a specified person when publishing links on Twitter to make it easy for them to retweet the talks. My standard agreement retains copyright, grants clients various rights, and places the work under Creative Commons Attribution license for wider distribution.
  • I confirm the order of the talks and the spelling of speaker names and talk titles. It’s better to get this in written form before the day of the event, as sometimes getting it on the day of the event itself can introduce errors. If speakers are hard to find or confirm on Twitter, I ask about Twitter usernames as well.
  • I confirm event URL and hashtag. Sketchnotes tend to get shared widely, so I like including a short URL where people can find more information. To facilitate conversation during the event itself, I can also include a Twitter hashtag.
  • I collect event and sponsor logos, official speaker photos, and more. One of the advantages of digital sketchnoting is the ease of adding other images. See for an example of  sketchnotes that used event-specific speaker photos for a consistent feel.
  • Collect speaker presentations if possible. This gives me a sense of the presentation flow and key points. It also lets me start thinking about how to
  • Get other background information. My consulting work means I’m familiar with large corporations, technology, and the financial industry. Other interests give me familiarity with entrepreneurship, personal finance, personal development, and so on. I speed-read, so getting through a stack of background information is no problem.

Prepare the sketchnote template

For events with multiple talks, I create a Dropbox folder in order to make sharing easier. If the event has a single talk, I save it in my sketchnotes folder in Dropbox. Here’s how I set up my Autodesk Sketchbook Pro template from the bottom up:

  • Dot grid: A light dot grid to help me write letters in straight lines and consistent sizes.
  • Event information: Name, date, URL, hashtag, etc. Does not vary between talks.
  • Sponsor logos, if any: This makes sponsors extra happy.
  • Talk titles and speaker names, pictures, and Twitter usernames: If there are multiple talks, I use layers instead of separate files to make it easier to switch during the event itself or make any modifications I need to the base layers.

See “How I set up Autodesk Sketchbook Pro for sketchnoting” for more details, including resolutions and brush sizes.

Other setup

Palette colours: If the event or organizer has specific colours, I use those in order to visually brand the images. If not, I use black with yellow highlights and possibly red or blue accents.

  • Filenames: I use Save As to set up all the filenames beforehand so that I can overwrite them during the event instead of retyping them. This is handy when in tablet mode when I don’t have access to my keyboard. My naming convention is YYYYMMDD – Event – # – Title – Speaker.png.
  • Tweets and ClipMate: If I’m in charge of publishing, I prepare the tweets beforehand so that I can tweak them to fit within the character limit. The tweets should include the title, Twitter username of speaker (or name if they’re not on Twitter), collection URL, hashtag, and any CCs I need to include.
  • Clear disk space for recording: As a backup and a potential bonus, I record my screen and the audio. This allows me to fill in the gaps in case something goes wrong, and I can also create speed-drawing videos if things work out. The audio quality isn’t very good, but it’s enough to fill in the gaps or allow me to synchronize in case the organizer publishes an official recording.
  • Shared folder: If a conference includes multiple talks, it’s easier for me to share a Dropbox folder with the organizer than e-mail them all the files and worry about e-mail bounces. In that case, I’ll confirm that they can accept the invite and access the files. (Some company intranets block access to Dropbox.)
  • Visual vocabulary: I dig into my Evernote-based visual library and look at how other people have drawn abstract concepts I’ll probably run into. I also use Google Image Search to look for ideas. I flip through my past sketchnotes to get a sense of what I liked and what I want to improve, too.


I carry a lot of gear. In addition to a fully-charged Lenovo X220 tablet PC, I also carry:

  • an external battery that lets me cover an entire conference day
  • a charger
  • a backup stylus in case I drop mine
  • a cellphone with unlimited Internet to allow me to tether, if the event doesn’t have usable WiFi
  • a backup battery for the cellphone
  • a tablet in case my computer suffers catastrophic failure
  • a notebook and a technical pen in case my computer suffers catastrophic failure and the tablet isn’t as convenient to use
  • business cards or print-outs of sketchnotes, because people always ask me for contact information
  • USB drives (I always carry two in my belt bag, and they’ve come in handy for transferring files)
  • water bottle, energy bars, nuts, dried fruit: Some fast-paced conferences barely have time for bathroom breaks, especially if you’re trying to cover as much as possible. My concentration wavers if I get hungry, so I keep snacks and water handy.

I usually manage to cram all of these into a backpack, although I switch to a rolling suitcase if needed. I usually bike to events, although sometimes I’ll take transit or hitch a ride if the weather is bad or the event is far (or there are lots of hills and other biking annoyances).

When I get to the event

  • I check in with the organizer and find my seat. Because I work digitally, I don’t need easel space or a wall, and I can sit anywhere in the audience. I prefer to sit near the front: more leg room, it’s easier to see speakers’ faces, and you can often get speakers to autograph the sketches. For conferences with short breaks and multiple rooms, I may sit near the back to make it easier to go to the next room. For long events, I look for a spot near a power outlet (sometimes the organizer can arrange this), or I use my extended battery and then recharge it in the staff room during breaks.
  • I get the WiFi information if the event provides it. Uploading is much faster over WiFi compared to my phone, so I use that if it’s available. Most events that offer WiFi require some kind of login. If there’s no WiFi, I set up tethering on my phone.
  • I close other apps. This declutters the recording and reduces the chance of things going wrong.
  • I start the screen recording and any backup audio recording if needed. I use Camtasia Studio to record my screen, and I sometimes record backup audio on my phone or on a voice recorder.
  • If I’m worried about battery power, I turn off WiFi. I use my phone to monitor Twitter during breaks and slow parts, so I don’t need wireless access on my laptop for that.
  • Finally, I convert to tablet mode and switch to the appropriate layers in Autodesk Sketchbook Pro. If the speaker is around, I might start sketching them.

After each talk (~5-10 minutes)

  • I do any last-minute clean-ups. Working digitally means that I can quickly rearrange things if the talk included less information than I expected, or I can work with multiple layers if the talk included more information.
  • I hide the grid layer. Tada! It looks like I just happen to have really neat handwriting.
  • I save the main file. Good to have the layered PSD.
  • I use “Save a copy” to save a PNG, overwriting the file that had already been set up with the talk information.
  • I turn on WiFi and upload the image, if I’m publishing each talk as it comes out. For one talk, I’ll use Windows Live Writer to publish it directly to the company blog. For multiple talks, I’ll upload it using WinSCP to the NexGen Gallery I set up, refresh the gallery, and copy the talk information from the filename. If the organizer wanted per-talk e-mails, I e-mail the file to the organizer.
  • I tweet the link. I use my prepared tweets or write one quickly.

At the end of the event

  • I post the talk collection and tweet the URL if I’m in charge of publishing. This makes it easy for people to see everything.
  • I e-mail the organizer with the details on where to find the files. If they asked for e-mail instead of publishing, I attach the files. If there are a lot of files, I split it over several e-mails or upload the files to Dropbox and send them a note once the files are available. I thank them for the opportunity to be of service. =)
  • If there were a lot of talks, I might put together a PDF or PPT of the slides, following the agenda order. This is another handy bonus.
  • If I didn’t receive payment on the day itself, I schedule a reminder to follow up.
  • I schedule social media follow-ups. These are really useful too: “Missed last week’s ____? Check out these sketchnotes: _____ #hashtag”. The organizers usually monitor the hashtag for a while, so it also nudges them to spread the links to their networks.


So that’s how I can publish sketchnotes a few minutes after the talk itself. Sketchnoting a full-day conference with lots of fast-paced talks can be a real scramble (see my sketchnotes from Lean Startup Day – 33 sessions with hardly any breaks!), but it’s exhilarating. A streamlined workflow makes it easier to focus on capturing and sharing ideas instead of fussing about with tools.

Working digitally means minimal post-processing, faster publishing, better branding and visual coherence with the other event materials… Digital sketchnoting isn’t as immediately impressive as large-scale drawing on a four-foot sheet of paper taped to the wall, but it’s great for getting things out there while the talk is on people’s minds.

I’m keeping my sketchnoting commitments minimal because I have another high-priority project that has an unpredictable schedule, so I’m not currently accepting new jobs. Instead, I’m focusing on creating my own content. Still, this was an awesome workflow, and I hope someone picks it up and improves on it. When I get back into sketchnoting, I’m sure I’ll find it fun and awesome. =) Hope this workflow helps!

Sketchnote: Reboot Your Business, Reboot Your Life: Your Future Depends On It – Mitch Joel (Third Tuesday Toronto)

September 10, 2013 - Categories: business, marketing, sketchnotes

Here’s my sketchnote of Mitch Joel’s talk at Third Tuesday Toronto. Click on the image to view or save a larger version, which should also print out nicely on an 8.5×11” paper in landscape.

20130910 Third Tuesday Toronto - Reboot Your Business, Reboot Your Life - Your Future Depends On It - Mitch Joel

Feel free to share it! (Creative Commons Attribution License)

For more information, check out:

Want more? Take a look at my sketchnotes category. Enjoy!

For your convenience, this page is available at . Share away!

Dealing with SIGSEGV in php5-fpm and Nginx

September 11, 2013 - Categories: geek

I screwed up my self-hosted WordPress blog three ways in one evening.

First, I had an infinite loop thanks to Display Post Shortcode and include_content in a post that had the same tag that I was looking for. Right. Don’t do that. Remember to remove include_content or exclude the post right before publishing.

Then I published a post without checking several times that my site was still up. I checked twice, which was apparently not enough. I should probably check five times. Or ten. Or at least a few times after restarting PHP. Since I hadn’t checked, I spent a couple of hours playing a video game with W- instead of, say, stressing out about my site. Could’ve solved the problem sooner.

And then when I stressed out about my site, I “fixed it” in entirely the wrong way. I reduced php5-fpm‘s max_children instead of increasing it. This made it worse.

I had been worrying about running out of memory when I should’ve been worrying about running out of processes.

I felt that panic-induced haze setting in, scrambling through Google and adding all sorts of bits to my config, ripping out all sorts of plugins, and wondering how I could get a coredump. When I noticed I was making things worse, I made myself stop. I took a deep breath, and started untangling what was going on. I tried the opposite of what I had been trying. That worked.

Good timing, actually. Well, it could have been better timing, but that’s one of the nice things about minimizing commitments and making good stuff for free; it lowers the risk of trying things out and learning something new.

I’m still getting SIGSEGV errors. It happens even if there are few active server processes. But at least it’s sporadic instead of constant, and 1:59 AM is not the best time to dig into something like that. After sleep and reading, perhaps.

I’m a little bit nervous about my setup, and I’ll probably set aside some time this week to dig into system administration and build my skills. I really should have a good plan for downtime, and a better plan for learning the essentials outside of a fire. But mistakes are great because they show you multiple holes in your system, so this is not too bad. Better now than when I’m managing a client site.

On the plus side, I did have the presence of mind to temporarily redirect to the static URL, switching it back after the PHP issues seemed to have cleared. Good strategy. Should do that first in the future.

With any luck, the blog is still up today. If you’re reading this, yay!

I’m still happy that I self-host, even if I make mistakes like this. =) Good time to make mistakes and learn from them.

So, what am I going to change for next time?

  • Prepare a contingency plan for Stuff Happening, possibly involving throwing up a quick maintenance page that collects e-mails so that I can send abject apologies and link updates. Make this static so that it loads quickly, and have an external copy (ex: Dropbox) just in case my server is down and I have to redirect at the domain level.
  • Check several times after restarting PHP. Just because it loads once doesn’t mean it’s going to load again.
  • Consider redirecting URLs to static sketchnotes or external pages. Links and comments are nice, but viewing is essential.
  • Start screen right away instead of trying to juggle different commands. Set up logs and go to different configuration directories in order to minimize typing.
  • Don’t panic. Yes, website failures are embarrassing, but the nice thing about making this a gift is that I don’t have to worry about racking up the business losses. When I notice that I’m panicking (making wild guesses in terms of changes, for example), I should slow down and remind myself that This Is Not The End of The World.

Everything’s going to be all right.

Sketchnote Lessons: Having fun with words

September 12, 2013 - Categories: drawing, sketches
This entry is part 4 of 11 in the series Sketchnote Lessons

In addition to drawing icons, you can also play with the forms of words in order to make them more fun or visually interesting. Here are some examples. Click on the image to view or download a larger version that you can trace or doodle on, and feel free to share this with others. (Creative Commons Attribution License)

20130909 Sketchnote Lessons - Playing With Words

See for the other tips in this series, and check back next Thursday for more!

Balancing writing with other things

September 13, 2013 - Categories: blogging, life, quantified, writing

From August 11: I’ve written myself into the next month already. Good thing the Share a Draft plugin lets me send people links to upcoming blog posts so that they don’t have to wait for answers. I leave Saturdays for weekly reviews and Sundays for other stories that come up, and all the rest have one blog post a day. I don’t know when I’m going to schedule this post. Maybe I’ll shuffle things around so that some posts are in September. Let’s see if I can fill September up.


There’s more to write. There always is. Ideas from my outline. Answers to comments and e-mailed questions. Things I’m learning.

The main trick is to remember which posts are time-related and which ones aren’t. Or, I suppose, to write things so that they aren’t time-sensitive: to refer to recent events as “recently” instead of “last Wednesday”.

I haven’t been coding as much. You can see it. Here’s my writing activity (yay Quantified Awesome):


Here’s my coding on Quantified Awesome:


Other coding:




At least I’ve been drawing (a little bit, not much):


Writing is just so much more squeezable into the spaces of my life. I can write anywhere. I just need a question, and off I go. Sometimes I write throughout the process of finding that question in the first place. And more people could possibly benefit from writing, while only a few people use my code. Although lots of people like my drawings (and I do too), so I should make more of those.

Writing is less frustrating than coding because I feel like I make immediate progress, and I don’t get error messages. Not that coding is frustrating. Coding is fun. But I’m picking writing more than I’m picking code, and that tells me that I should tweak the rewards so that I pick code more. Besides, there are a gazillion blogs out there, but not as many people working on Emacs, Org Mode, WordPress, Rails, or the other awesome tools that I use. I could make more of a difference with code.

Maybe I need to put a time limit on my writing so that I get forced to do something different. Except it doesn’t really take all that much time to write.

If I’m a month ahead, maybe I should hold off writing and focus on outlining instead. Except writing is fun and it clears my head… Maybe writing one blog post, maybe a maximum two blog posts every time I sit down to write, and checking off some other non-writing task (code, drawing, learning Latin) before I allow myself a writing session again? I’m allowed to write if I’m blogging in the process of learning something.

People think flow is awesome (as in Mihály Csíkszentmihályi’s research). It is, but it’s dangerous. Too much flow could mean neglecting other parts of life. So, time to revisit other interests…

August 13: Hmm. Writing really has a strong pull. I’ve learned that it’s easier (and often much better!) if I don’t fight my interest, so maybe I should just give myself permission to write and outline (and draw, on occasion) whenever I feel like it.

Enhanced by Zemanta

Weekly review: Week ending September 13, 2013

September 14, 2013 - Categories: weekly

Blog posts

Other things I learned

  • I still have to get the hang of using a steel to start a fire (or using a lighter, even!), but it’s fun. =)
  • Sometimes I need to storyboard a presentation or figure out how to organize information on a poster. This is where working on paper really shines. Instead of using pre-printed templates, I use lots and lots of index cards. (Or Post-It notes, but index cards are cheaper and handier.) Index cards are great because you can move them around easily, so you can add, remove, or swap out cards right away.
  • How to keep ssh agents through sudo: Defaults env_keep+=SSH_AUTH_SOCKLink

Link roundup

Focus areas and time review

  • Business (36.4h – 21%)
    • Earn (20.3h – 55% of Business)
      • [X] Earn: Consulting – E1 – Thursday
      • [X] Earn: Consulting – E1 – Tuesday
      • [X] Work on new slides
      • [ ] Earn: Consulting – E1 – Thursday
      • [ ] Earn: Consulting – E1 – Tuesday
      • [ ] Follow up with SR
      • [ ] Follow up with B
    • Build (13.0h – 35% of Business)
      • [X] Think about how to reinvest profits
      • Quantified Awesome (0.5h)
        • [X] Renew, file as business expense
      • Drawing (3.3h)
        • [ ] Package sketchnote lessons as a PWYC PDF
      • Paperwork (3.8h)
    • Connect (3.1h – 8% of Business)
      • [X] Prepare template for sketchnoting Third Tuesday Toronto
      • [X] Talk to Mike Rohde about having a gig board on so that people can refer work
      • [ ] Process and upload another QS Toronto video
  • Relationships (0.0h – 0%)
    • [X] Assemble Altoids kit
    • [X] Go to Walmart
    • [X] Sew pouch
    • [X] Call vet to ask about next behavioural steps to deal with inappropriate elimination
    • [X] Practise with stove
    • [ ] Go for a walk
    • [ ] Set up appointment with U
  • Discretionary – Productive (10.0h – 5%)
    • [X] Set up SSH tunnel
    • Writing (1.2h)
      • [X] Plan topic-focused blog
  • Discretionary – Play (27.2h – 16%)
  • Personal routines (18.7h – 11%)
  • Unpaid work (16.0h – 9%)
  • Sleep (60.9h – 36% – average of 8.7 per day)

Sewing: Made a PS Vita case!

September 15, 2013 - Categories: sewing

W- and I have been playing The Legend of Heroes: him on his PS Vita, and me on the PSP he lent me. He’s been using his PS Vita more now, so he was looking around for a case. He liked the design of Waterfield’s PS Vita CitySlicker, but didn’t need all the bells and whistles. He asked me to see if I could make a PS Vita clutch with snaps.

We had left-over Ultrasuede from the time we cat-proofed the sofa and extra fleece from J-‘s cosplaying. I wanted to see if I could figure out the assembly without referring to tutorials, so I prototyped something with a little hand-sewing. It was a good start, but it didn’t quite feel right. I kept thinking about the design during my bike rides to and from work.

On my next free day, I sat down with my laptop, read through a couple of clutch sewing tutorials, made a test one (it turned out to be slightly too small for my PSP), and then sewed this:

2013-09-11 12.15.09

Ultrasuede with a bright orange fleece lining. Bonus: it matches the couch. Whee!

It was actually pretty fun. It was less frustrating than trying to make clothes. Making small things means you can get feedback and payoff faster. I chalked all of my seams and allowances, and my measurements worked out. For the most part, things lined up nicely. (The snaps were the only iffy bit.)

W-‘s thinking of modifying it to have more interfacing so that it’s stiffer. The nice thing about making things yourself is that you can tweak things without worrying too much.

Yay! One small step towards developing more of those practical skills I want to have. Hmm… what else should I clutch-ify? Maybe I can look for more of these little organizer patterns and see if I can use them around the house.

When I blog with Emacs and when I blog with other tools

September 16, 2013 - Categories: blogging, org
English: org-mode logo:

English: org-mode logo: (Photo credit: Wikipedia)

Updated 2014-10-29: I no longer use Windows Live Writer. I now use Org2blog (thanks to this thumbnail code!) or the WordPress web interface to write and update my posts.

I would love to be able to write all of my blog posts within Emacs. I like the outline tools and simple markup of Org Mode. Org Mode and org2blog are invaluable when I’m writing a post with lots of code or keyboard commands, because it’s easy to set up syntax highlighting or add teletype text. Here’s an interesting self-referential example of org2blog’s power that uses #INCLUDE to include the Org blog post source in the post itself.

If I expect that a post will have lots of images, I tend to use Windows Live Writer because it takes care of resizing and aligning images, linking to the original size. Because it uses my blog’s stylesheet, I can get a sense of how the text will flow around it. I can quickly draw an idea in Autodesk Sketchbook Pro, copy and paste it into Windows Live Writer, and then resize it until it feels balanced on the page. Sometimes I draft a post in Emacs and then open it in Windows Live Writer or ScribeFire so that I can add images.

Org Mode also supports images, but it’s not as easy to resize things there. If I wrote a function that used ImageMagick to save the clipboard image to a file, resize it to the appropriate dimensions, and link it to the full-size image, maybe that would do the trick. Still, that sounds like it would be a fair bit of work. Maybe someday. Hmm – any chance someone reading this blog happens to already have that snippet handy? =)

If I need to edit an existing post, I either use the WordPress web interface or I use ScribeFire. That way, I don’t have to fill in the post publishing date again.

It’s a bit of a patchwork system of different tools, but it does the job. What’s your workflow like?

Help me figure out how I should reinvest business profits

September 17, 2013 - Categories: business, decision, planning, review

image_thumb20I’m approaching the end of my second fiscal year. (Hooray!) I thought I’d review my decisions for reinvesting profits, plan ahead, and ask for feedback. Here’s how I reinvested some of my profits this year:


  • Tools and education:
    • I bought $289 worth of books, including pricey but useful books on drawing emotions and stick figures (Bikablo, from Neuland). I’ve made the most of them by reading, taking notes, and sharing what I’ve learned, so this was definitely worth it.
    • I also took the AlphaChimp Rockstar Scribe course (CAD 298.66, it’s now USD 497; affiliate link). I picked up a few tips on digitizing scanned sketches (lesson 6: digital documentation). The exercises also prompted me to put together my 3-word life philosophy and my 5-year plan.
    • Next steps: My laptop should be good for another year or two, so I have no major upgrades planned there. I may invest more into courses. These tend to be bigger commitments, but I think the experience might be worthwhile. I can test this by seeing if I can improve my retention in free or low-cost courses (Coursera, Udacity) before going on to more expensive courses. Gotta build up those study habits! If I find that I’m hitting the limits of what I want to learn in group classes and I’m already making the most of the Q&A or mentoring that courses tend to offer, then I can look into getting a one-on-one coach.
  • Connecting with people:
    • The biggest chunk here was flying to London for the Emacs Conference, which was a great way to connect with people, create resources, and develop skills.
    • I also signed up for HackLab ($51.75 a month) as a way to connect with other geeks and have a place to work at when I’m downtown.
    • I attended networking events ($170.45). AndroidTO was less useful than I expected because I hadn’t actually been developing stuff then, although it was good sketchnoting practice. The Third Tuesdays Toronto events were definitely worth it for me. Rotman events were okay.
    • I met four people for lunches/dinners and had lots of tea with others, talking about mentoring or business opportunities.
    • Next steps: I want to focus on virtual connections, because there are lots of interesting people out there. This means ramping up my scheduling, inviting people to reach out, and reaching out myself (possibly appreciating people with gift certificates or donations to charity)
  • Delegation:
    • I greatly increased my delegation budget compared to last year. I subcontracted $1,333.34 of my work and delegated an additional $2,030.30.
    • Hiring a virtual assistant to help with scheduling really helped me get past the hassles of booking people. Worth it.
    • Hiring a transcriber for my podcasts and presentations worked out well, too.
    • Hiring a local consultant to help me brainstorm was okay, but not amazing. It was a helpful nudge to work on my marketing, though.
    • Hiring another on-shore consultant to give me feedback on my website and e-books was also okay but not amazing. It was great for pushing me to add more hand-drawn elements to my website, though.
    • Hiring a developer to work on Rails prototypes gave me a leg up on dealing with various APIs, although I ended up not pursuing the projects.
    • Next steps: Virtual assistance gives me a low-cost way to experiment with and learn more about delegation. In addition to ODesk, I should experiment with Fiverr, Guru, and other sites.

I made $90 in e-book sales in FY 2013, which absolutely delights me. It’s a tiny fraction of what I make in consulting or even sketchnoting or speaking, but it’s a start. I’ve been moving towards a Pay What You Want model so that everyone can get access to the resources and people can show their appreciation by funding future experiments. My experiment-related savings take care of my living expenses, so everything goes to Making Stuff. I want to focus on making more things.

For this coming year, I’m planning to focus on consulting until it winds down. I’m also going to ramp up creating content: blog posts, drawings, articles, e-books, courses, and more. I often get requests to sketchnote events or other people’s content, and I’d like to refer those to other people instead of handling them myself. That way, I can help other people grow, and I can make myself learn more about creating my own content.

Ideally, by September 2014, I’ll have:

  • a separate topic-focused weekly blog with evergreen posts and useful, well-formatted, illustrated articles
  • several e-resources for that blog
  • a mailing list that I’ve learned how to use
  • and possibly a course that includes tips, worksheets, checklists, animations, and video

I might keep a "Wanted" list on my site so that I can funnel other requests to it, like people looking for sketchnoters. That way, instead of simply telling people no, I can help them a little further along the way and help other people grow their businesses too.

Here’s my plan for getting there:

  1. Brainstorm headlines and article ideas to help me choose which topics I want to start a weekly topic-focused blog around.
  2. Get feedback on which topics people would like to read about first. Start collecting e-mail addresses for launch.
  3. "Bank" 4-8 good articles (write two months ahead). Invite early readers.
  4. Publicize it a bit more widely once I’ve gotten into the rhythm of publishing on the blog and I know that the rate is sustainable.
  5. Plan an outline for a brief e-book and gear my articles towards that.
  6. Reach out and find guest posting opportunities once the blog is more established.

To make the blog different and useful, I plan to illustrate the ideas with one-page cheat sheets / references. This will also make a handy collection.

With that in mind, what are some ways I can reinvest some of my profits in order to make things better, and which ways make more sense than others? These are ordered in terms of how useful I think they will be, with the best ones on top. I’d love your feedback and suggestions!

  • Find a system administrator who can help me review my config and backup plans, and who can answer questions from time to time. As someone said, good judgement comes from experience, and experience comes from bad judgement. I can learn things on my own, but it’s probably really good to take advantage of other people’s hard-won experience too. That way, I have a solid platform to grow on.
  • Go through a course like the ones offered at Platform University, CopyBlogger, or ProBlogger. I can get multiple levels of value out of this. First, there’s the lessons themselves. Even if I know most of the basics because I’ve been blogging for more than ten years, it will be good to deliberately go through them. I can turn them into blog posts about my experiences applying those tips. I can turn them into sketchnotes and references. Along the way, I’ll also learn about the structure of courses and communities – what I like or don’t like, and what other people seem to respond to.
  • Sign up for a good mailing list service, possibly with an autoresponder or digital delivery mechanism. This will give me more control than simply using FeedBurner to give people e-mail updates.
  • Sign up for survey tools so that I can get better feedback. Provide giveaways or incentives for survey completion.
  • Experiment with richer media: presentations, animations, podcasts, video. Buy tools and hardware. Possibly delegate editing. Podcasts and screencasts might be a good way to work myself up to doing webinars regularly.
  • Pay for a web conferencing service, and set up regular web conferences or webinars. Monthly webinars might justify paying for a premium service so that I’m not constrained by Google Hangout or AnyMeeting’s limitations. I can also use this to interview people. Any recommendations for a cross-platform webinar service that allows all participants to chat with each other?
  • Work with a reputable SEO company to avoid penalties for duplicate content and to learn more about doing keyword research. Sometimes little tweaks make things more findable or discoverable.
  • Invest in better web planning and design, maybe for the topic-focused blog. I might start off with a basic template, fill it in with content, add some resources, and then go for a more professional design when the topic and audience for the blog has firmed up a little. That way, I can get feedback from people too.
  • Buy premium plugins, scripts, or themes to make navigating the blog or content easier. A responsive theme and a good gallery can make a lot of difference.
  • Buy books, read them, and give them away. That way, I’m not limited to the library’s selection. The library has lots of books and it could take forever for me to get through the backlog, but learning from and sharing tips from newly-published books may create more value for readers. Plus, if I set aside a budget for shipping (which is expensive in Canada!), I can give lightly-read copies away. I’ve had publishers send me copies of books to review, so maybe I can ramp that up also.
  • Hire someone to format e-resources. They can help develop the template, lay things out nicely, and make sure it fits in well with the blog.
  • Learn how to work with article writers or pay for excellent guest posts. I have the time to write and I enjoy writing, but I’m curious about the perspectives that other people might bring.
    • Worst-case scenario: They write the first draft, and I end up rewriting it extensively because I have a better idea of what I don’t want.
    • Best-case scenario: I give them a topic to write about, they come up with insights or research I might not have come across myself, and then I can personalize it with more stories or experiences.
  • Work with copywriters and editors and get better at writing.
  • Hire a coach to help me learn more about planning posts, creating resources or courses, building a community, and so on.
  • Buy domain names and learn how to set up landing pages.
Do you have any suggestions on where you think I should invest more money, business-wise? Are there things on my blog where a little money can have high impact? Please share your comments below, or e-mail me at!

Image credit: Piggy bank (Oliver Hoffman, Shutterstock)

Sketchnotes: Conversations About Social Business (Jennifer Okimoto, IBM)

September 18, 2013 - Categories: sketchnotes, social, web2.0

Jennifer Okimoto spoke about social business at yesterday’s Canadian Women in Communications (CWC, @cwcafc) meetup in Toronto. Since she’s a friend, former colleague, and all-around awesome person, I just had to catch up with her while she was in town. I was amused to turn up in a couple of her stories. =) Here are my notes from her talk. Click on the image for a larger version.

20130917 Conversations About Social Business - Jennifer Okimoto

Feel free to share this! (Creative Commons Attribution License) Like these? Check out my other sketches for more. You can find out more about Jennifer Okimoto on Twitter (@jenokimoto) or LinkedIn.

For your convenience and ease of sharing, you can find this page at .

Sketchnoter’s notes: I did these sketchnotes on paper because I didn’t have my tablet PC with me. I used a black Pilot V5 Hi-Tecpoint on a legal-sized sheet of paper. It turned out that my flatbed scanner can’t handle legal-sized sheets of paper and my margins were too small for the sheet-fed scanner, so I cut it in half (hooray for plenty of whitespace!), scanned the pieces, overlaid them in Autodesk Sketchbook Pro, erased the overlap, and desaturated the layer to get rid of the slight greenish cast. I added the blue colour by drawing a separate layer in “Add” mode. Since I drew in ink, I decided to leave the contrast as varying instead of redrawing everything digitally. Drawing on paper makes me miss working digitally (those nice, clean, confident lines!). <laugh> Next time!

Sketchnote Lesson: Adding color

September 19, 2013 - Categories: drawing, podcast
This entry is part 2 of 11 in the series Sketchnote Lessons

Color is a great way to add visual interest and guide people’s eyes to what you want them to focus on. Here’s Kevin Dulle’s sketchnote lesson on adding emphasis with shadows and color:


Reposted with permission – check out his blog for more tips!

If you’re starting out with sketchnotes, you don’t have to use color right away. Go ahead and draw with whatever you feel comfortable with, whether that’s a black technical pen, a 4-color ballpen, or a digital stylus.

You can always add color afterwards. On paper, you can use crayons, colored pencils, highlighters, markers, and so on. Make sure you test it in an inconspicuous area (maybe on a separate piece of paper) because your coloring method may interact badly with your drawing.

You can also add color on the computer. I prefer this way because then I can easily change my mind about what colors to use. Erasing is easier. Learn how to use the software tools that are out there. Here is a quick video I put together on how to use the free GIMP tool to add color by either replacing the ink that’s there (as if you changed pens) or adding color on top (as if you used a highlighter).

Okay, so that takes care of the mechanics. What about the styles?

Develop your personal style by looking for inspiration and experimenting with ideas. In addition to checking out people’s sketchnotes, look elsewhere for interesting color combinations: nature, art, product designs, and so on. Try different techniques and colors.

Here’s a sampler of different coloring styles I’ve played with in my sketchnotes:

image Highlighter
I like this because it’s super-easy to add quickly if you’re drawing digitally – just add a new layer below your text.
Visual Book Review: The First 20 Hours: How to Learn Anything… Fast
image Color as accent for images
You can add this while drawing by switching between pens (on paper) or between colors (if digital), or you can use the Color layer trick in the video to add it afterwards.
How to use Evernote to improve your visual thinking
image Colors with meanings
Here I used red to indicate the path of my mistakes and blue to indicate what I could improve.
An embarrassing failure is the result of a series of unfortunate decisions, and that’s a good thing.
image Emphasis
Red is a great color for drawing attention. Coloring your headlines helps set them apart.
Visual Book Review: Running Lean – Ash Maurya
image Extra information
You can also use gray or lighter colours to include extra information that people don’t need to focus on.
Visual Book Review: The Start-Up of You – Reid Hoffman, Ben Casnocha
image Depth
You can use a lighter colour for shading or depth.
Visual Book Review: The Sketchnote Handbook
image Branding
Pick up colors from company logos or event materials to make your sketchnotes look more like part of the event.
Sketchnotes: #INNOTalkTO Innovatively Speaking
image Lots of colors
This is fun to do when you have more time. In this case, I colored in my sketchnote while waiting in line for an “autograph.”
Sketchnotes: How to Live an Amazing Life – C.C.Chapman

Sketchnote Army has a wide variety of sketchnoting styles. Flip through it, see what you like, and try playing around with those ideas. Have fun!

Like this? Check out the other sketchnote lessons and learn more. Feel free to suggest topics, ask questions, or share your own tips!

Thinking about hard commitments and soft commitments, and adapting my life accordingly

September 20, 2013 - Categories: business, decision


In the process of experimenting with different types of businesses, I’ve been learning a lot about different types of commitments. There’s a spectrum of commitment-hardness, from very hard (spend money if you have to, but Make This Happen) to very soft (it’s nice to have, but no big deal if it doesn’t work out).

An example of a very hard commitment is speaking. If I commit to giving a talk at event, I need to prepare the talk, and I need to be there. Doesn’t matter if I have a cold. Doesn’t matter if I’m running late because of another meeting and have to hop into a cab. Doesn’t matter if I’m feeling out of it. I need to show up and be professional, which means energy and connection. I can collapse afterwards.

An example of a hard commitment is sketchnoting an event. I promise to be at the event on a certain date, and if I miss that, the opportunity is gone forever. It’s not as big a deal as speaking, since sketchnoting is usually an extra. I write my agreements so that I’m only responsible for refunding the client’s payment if something falls through instead of being liable for loss of business or other costs. I’ve never had to invoke this clause, but I’ve turned down gigs because of uncertainty.

An example of a medium commitment is freelance development. If I’m working with other developers, then I usually need to work at specific times or at a specific pace, but there’s often some leeway in what I can do and when.

Conversations are also medium commitments. They’re scheduled in the calendar, but we can reschedule if necessary.

An example of a softer commitment is illustration. Someone is counting on the images, and sometimes there’s a deadline. I’m free to do the work at a time of my choosing, though, aside from the occasional meetings that are more like hard commitments.

The kind of consulting I’ve settled into is another example of a soft commitment. I have a few meetings (usually mid-day or early afternoon), but I have a lot of flexibility in terms of how many hours I work each week. We keep a long, prioritized list of things to work on, so I can usually choose what I want to work on at a particular time.

Writing is a very soft commitment. No one cares when I do it, so I can write whenever I want. I can write a whole bunch of posts in one day and spread them out for consistency and variety. I can slowly accumulate thoughts or resources for books. I care about writing at least a little bit each week, but that push comes from me.

Oddly enough, compensation isn’t always proportional to the hardness of the commitment. Most of it has to do with the underlying skills rather than how strict the commitment is.

I vastly prefer softer commitments over harder ones. Some of the things I’m working on have unpredictable schedules, and I’d rather be able to reschedule or move things around if something comes up. I minimize the number of hard commitments (business or personal) I need to plan for, and keep a stock of soft commitments that help me take advantage of spare moments. Soft commitments make it easier to match interest or energy with choice of activity, so it’s easier to focus and get things done.

I’ve been taking on fewer events, working on consulting and writing instead. After all, if I can get away with it, why not work with less stress and more happiness? =)

What’s the mix of commitments in your life? Do you want to shift it one way or the other?

Sketchnotes, commitments, cooking, plans, blogging – Weekly review: Week ending September 20, 2013

September 21, 2013 - Categories: weekly

Blog posts

Quick notes

  • Whiteboard Selling (2013) is a potentially useful book for consultants and others who sell services/products in face-to-face meetings.
  • The Strategy of Conflict (1980) is mind-boggling. There’s an excellent essay on bargaining that’s like “The Art of War” for haggling.
  • Kitchen math: A double batch of egg tarts needs six extra egg yolks, so 1.5 batches of coconut macaroons balances that out nicely with a need for six egg whites.
  • If you can’t override a WordPress widget plugin because it doesn’t use a filter, you can subclass the widget and rewrite the output.

Link round-up

Focus areas and time review

  • Business (35.6h – 21%)
    • Earn (18.8h – 52% of Business)
      • [X] Earn: Consulting – E1 – Thursday
      • [X] Earn: Consulting – E1 – Tuesday
      • [X] Earn: Consulting – E1 – Wednesday half-day
      • [X] Follow up with SR
      • [ ] Earn: Consulting – E1 – Monday half-day
      • [ ] Earn: Consulting – E1 – Tuesday
      • [ ] Earn: Consulting – E1 – Wednesday half-day
      • [ ] Follow up with B
    • Build (12.2h – 34% of Business)
      • Quantified Awesome (0.0h)
      • Drawing (6.2h)
      • Paperwork (1.6h)
      • [X] Identify five top-rated article writers
      • [X] Modified BWP Recent Comments widget to rewrite HTTPS URLs to HTTP by subclassing it
      • [X] Plan business reinvestments
      • [ ] Rejig 404 page
    • Connect (4.5h – 12% of Business)
      • [X] Sketch Jennifer Okimoto’s talk on social business
      • [ ] Go to Hacklab members meeting
      • [ ] Host Visual Thinkers Toronto meetup
      • [ ] Make a hi-res version of Learn Emacs
      • [ ] Prepare limitations presentation
      • [ ] Create Org page
  • Relationships (4.4h – 2%)
    • [X] Go to MEC
    • [X] Plan get-together?
    • [X] Set up appointment with U
    • [X] Try the lentil can
    • [ ] Go for a walk
  • Discretionary – Productive (15.4h – 9%)
    • [X] Go through Latin Made Simple chapter 1
    • [X] Replace inner tube
    • [X] Set up the Colemak keyboard layout
    • [ ] Try reconstituting dehydrated food
    • Writing (4.1h)
  • Discretionary – Play (18.7h – 11%)
    • [X] Played more Legend of Heroes
  • Personal routines (16.4h – 9%)
  • Unpaid work (14.7h – 8%)
  • Sleep (64.3h – 38% – average of 9.2 per day)

Ten years of learning how to cook

September 22, 2013 - Categories: cooking, review

imageA few of my friends want to learn more about cooking, going beyond eating out or occasionally making a bowl of pasta at home. It’s a welcome change, and I’m looking forward to more and more people making that shift.

For some people, it seems a point of pride to not know how to cook: they’re too busy to sit down and do that, or there are so many good restaurants out there, or cooking is just plain not enjoyable. For us, cooking is part of our way of life. We can cook most meals for much cheaper than we can buy them, and our weekday meals are more convenient than eating out. I love being able to have my favourite foods at any time of day. Despite the occasional drudgery, I’ve grown to enjoy cooking – especially when W- and I spend a few hours putting together something delicious.

I thought I’d reflect on past 10 years of learning how to cook to see what I learned and how I learned it. When I started, I struggled with the basics: burning pancakes, trying to figure out how to use ground beef in different recipes. Now we can make lists based on the grocery fliers, adjust our plans based on what’s marked down for quick sale, and stock our freezer with meals to last us through the week.

B.C. – Before Cooking

Growing up, I hadn’t imagined being this comfortable with cooking. My sister was the cook in the family, the one with an intuitive sense of what went with what. She took whatever was in the fridge and made something delicious with it, no recipe required. We enjoyed the occasional meal she prepared for us, and she told us stories of how cooking helped her make friends while travelling. The rest of the time, we were spoiled by the fact that family business–advertising photography–retained a cook to feed clients, staff, and us.

I wasn’t totally hopeless. I helped in the kitchen, and I loved making lasagna together with my mom. I took cooking lessons one summer. I mainly learned that following recipes produced reasonable results. At home, I occasionally made myself instant noodles or reheated pork and beans, but I didn’t really have the motivation to cook.

Cook or Die

That changed a few months after I graduated from university. I had just turned twenty, and I was teaching computer science at my alma mater. To cut down on the commuting time, we found an apartment-style dormitory near the campus. Each unit was shared by two people, and there was an unfurnished kitchen. My parents outfitted it with a hot plate (a single electric burner, which was all the dormitory allowed), a toaster oven, a microwave, and a compact fridge. There were a number of fast food restaurants in walking distance that I’d frequented as a student, but I resolved that my grown-up life shouldn’t involve KFC every lunch and dinner. There was a supermarket a bit of the way up the street. To force myself to learn how to cook, I decided that I would eat out for at most one meal a day. If I didn’t cook, I’d go hungry. Cook or die. (Well, that was an exaggeration, but it was a good project name.)

Did I mention that my apartment didn’t have Internet access? I know. Boggle.

It was… interesting. I loaded up on kid- and singles- and microwave-oriented cookbooks, and occasionally made things up just as an experiment. You may find my blog posts from that time amusing. Here’s a summary of the first two weeks:

As you can see, I was a bit of a slow learner. ;)

Eventually I graduated to being confident enough in a few recipes that were ready for company. I was living in an exclusive girls’ domitory, so no guys were allowed inside the units. That meant my friends could help me with groceries and give me tips, but they couldn’t actually help me learn how to cook unless I was home for the weekend. The dormitory did have a garden with picnic tables and some shelter, though, and both male and female guests were welcome there. We worked out this weekly rotation, and I had dinner with someone practically every day. I particularly enjoyed being able to prepare individual-sized portions of lasagna rolls using the recipe in one of my microwave cookbooks. Even in pouring storms, friends would come and join me. It was wonderful.

I enjoyed teaching, but I left that to take advantage of a technical internship that the Japanese government was offering. In the in-between months, I stayed at home. In Japan, I stayed at a hotel-type dormitory with a cafeteria. There was hardly any cooking, although I did develop an appreciation for the sheer variety of ramen (instant or otherwise) available in Japan.

Graduate student life

When I moved to Canada for graduate school, I made sure I was in an apartment-style residence with a kitchen and a small shared living room. I shared my unit with three other people, and the mix changed each semester or so. There was a 24-hour supermarket within walking distance (somewhat expensive, but convenient) and other markets available a long walk or a short streetcar ride down the street.

I made friends: some students who lived in the building, and other people I met in my studies or research. I often invited a couple of friends over for dinner, usually something experimental – a stir-fry, or chicken breast and sauce, or whatever recipe intrigued me. From time to time, I took advantage of the large common outdoor party/barbeque area. At some point, I decided I was grown-up enough to want my own set of plates instead of the mismatched hand-me-downs, so I headed over to Walmart and splurged on a set of Corelle, a rice cooker, a teapot, and other essentials.

There were occasional group cooking lessons in the residence, open to whoever signed up. I liked them. We split up into small groups and prepared different recipes such as roasted red pepper soup, and then we got to enjoy the tastes of all the recipes together.

The administration decided on the mix of roommates based on the questionnaires we submitted. I didn’t always get along with my room-mates, one of whom tended to abscond with my dishes without returning them. (I lost a couple of cereal bowls this way.) When I had finished most of my research and lined up a job at IBM, I decided it was time to look for my own apartment. Of all the ones I looked at, my favourite was a one-bedroom apartment across the street. The rent was a little high and the kitchen was tiny, but I was looking forward to cooking without squabbling over fridge space or dishes in the sink.

Cooking with W-

I was a relative newcomer to Canada, so the building management didn’t want to prepare a lease without a co-signer. Of all my friends, W- was probably the stablest and most respectable. He knew I managed my finances well and had the year’s rent set aside, so he didn’t have to worry about being on the hook for it. In preparation for the move, I’d boxed up my kitchen tools and resolved to live on peanut butter sandwiches like my mom had done in university. W- took pity on me and invited me over for dinner. These scrumptious home-made meals became a regular occurrence.

We signed the paperwork and moved my stuff (easy across the street, especially with a skateboard), I feathered my nest and set up my tiny kitchen. As a housewarming present, W- gave me Happy Bunny socks with witty slogans, since I’d mentioned my sister’s trick of happy socks. As a kitchen-warming present, he gave me a basic set of Wusthof Classic knives. (Embarrassed by the generosity of the gift, I tried to talk him out of it, but he insisted that good tools make all the difference.)

They say the way to a man’s heart is through his stomach. Apparently, this is true for women too. Even though the paperwork was done, W- kept inviting me for delicious meals: crushing basil in a mortar and pestle for pesto, pinakbet (which he had learned how to make long before meeting me, so it was fun to encounter this familiar dish), a comparison of two lasagna recipes. I assisted, of course: chopping, stirring, learning more about cooking. Sometimes I invited W- or other people over to my place for whatever simple dishes I could prepare with my minimal kitchen setup; the knives made preparation a joy even in the cramped space.

Eventually we realized we were in love. I sublet my apartment and moved in. I brought my cherished knives and selected kitchen tools, leaving the rest for my tenant.

After my tiny kitchen, W-‘s kitchen was a real treat. Cast-iron skillets, a decent-sized wok, two rice cookers (large and small), a low-cost supermarket up the street, a garden to grow herbs in, a large kitchen table that we ended up spending most of our time at… I volunteered to be the sous chef as often as I could. Over time, I took the lead in making more meals. I learned family favourites and we discovered new ones together. Cooking with W- made learning fun – we could celebrate successes and gamely finish anything that wasn’t an absolute failure.

Cooking was part of W-‘s way of life, and I was delighted to make it part of mine too. We rarely ate out. It just wasn’t convenient during schooldays, and cooking was more frugal anyway. From March 2007 to August 2009 (30 months), I logged $145/month for groceries for 2.5 people (85%) and $25/month for dining out (15%). The actual numbers are different because W- picked up some groceries and usually treated me when dining out, although we set up this system where I contributed a fixed amount to household expenses so it worked out anyway.

We periodically tweaked the kitchen to improve the way we worked. We moved the canned goods from the basement into an industrial-style shelving unit. We moved the microwave to a custom shelf and freed up the rolling table it had been on, which turned out to have an excellent cutting surface on top of it – more counter space! Little tweaks like that made cooking more efficient and more fun.

I’d been reading about the benefits of a chest freezer on frugality blogs. We weren’t sure if we had the space or if we could make it part of our lifestyle, so we dithered. In 2009, W- and I finally decided to take the plunge. We bought a 5.3 cu-ft freezer and started stocking it with sale items, filling the extra space with water jugs to improve efficiency. Eventually we learned the basics of bulk cooking, discovered which of our favourites froze well, and standardized our food containers for easier organization.

We also experimented with community-supported agriculture. It was a good way to get through lots of vegetables, and Internet recipes were really helpful. (All that zucchini! All that cabbage!) We eventually decided to buy our own vegetables, but it was a good experience.

Now I’ve gotten to the point where a 30% markdown on pork tenderloin makes me think of tonkatsu, I can make a stir-fry with whatever vegetables look okay, and cooking is more like fun than a chore.

What I learned along the way

People make cooking much more fun

Cooking by myself was a drag. Cooking for other people was better, because we could enjoy the good stuff and laugh about the dishes that didn’t go as well. (You can tell who your friends are – if they eat your experimental cooking, they’re good friends!) Cooking with other people was the best, because then you can chat while chopping (carefully) and watch out for each other (looks like the eggs are done!). W- helped me learn so much more about cooking than I probably would have on my own.

Good tools really do matter

A sharp knife is less dangerous than a dull one because a sharp knife won’t slip. W- periodically sharpens the knives, and I try to remember to use the steel before I use the chef’s knife. I’ve also come to really appreciate the convenience of a dough scraper, Microplane graters, and other little kitchen things. That said, we try to minimize the number of unitaskers we have: no egg poachers, no slot toasters, no corn cob holders… This means our drawers are easier to organize and keep uncluttered.

The Internet is awesome

The Internet has a gazillion recipes. I used to feel a little intimidated by the variety, but I realized that it meant that recipes are (mostly) just guidelines. Can I skip a spice that I don’t normally stock? Can I substitute an ingredient for something I don’t have? Do I want to adjust the temperature so that I can bake two different things at the same time? Chances are that someone has a recipe that calls for that, so it should be fine. It might not be amazing, but it will be okay.

Absolute failures are very rare

There was the time I put the yeast in water that was too hot. My lump of pizza dough didn’t rise, and I had to throw it out and start over. Sometimes I burn things and have to scrape off bits. One time I was learning about seasoning cast-iron pans and I heated one for so long that the season flaked off. I broke a rice cooker and repaired it by replacing the thermal fuse. Most of my cooking failures were salvageable, though. It turns out that it’s difficult to Completely Mess Things Up, so you should worry less and just go ahead and try it.

Chest freezers and bulk cooking make everything easier

Cooking in bulk lets us minimize the number of left-over ingredients, especially if we adjust the recipes. Having meals in the freezer is an amazing way to reduce the risk of cooking experimental recipes: if it’s an absolute failure, well, there’s a guaranteed meal all ready to go. Freezing is also great for dealing with leftovers. If I don’t feel like eating the same thing for the rest of the week, I can package it as individual lunches in the freezer for when I feel like having it again.

Next steps for me

There’s plenty more to learn, and I look forward to getting even better at this over the next ten years. Here are some of the skills that would be fun to improve:

Regular menu planning and a broader repertoire of recipes

You know how some households run on predictable patterns? We do a little of this: soups and baking on the weekends because of time-of-use electricity charges; stir-fries to take advantage of fresh vegetables from our grocery shopping; maybe a vegetarian meal sometime during the week… It would be good to get even better at planning what we’re going to have, perhaps based on a two-week cycle of themes that’s adjusted by what’s on sale, and to introduce new recipes within that framework.

Recycling leftovers into new dishes

I tend to be pretty happy eating the same thing again and again (or freezing the leftovers if they’ve been around a while), but recycling left-overs into new dishes would extend their fridge-life and encourage people to eat them. There are books that focus on cascading one recipe into another, and it seems like a good skill to learn. It’s also a quick way to get more variety out of the same cooking effort.

Working with different spices and sauces

We have a lot of spices in the cabinet. I should make an inventory of them and organize them for easy reach. Sauces are also good ways to give the same basic dish different tastes. If I learn more about flavour, I can stock the freezer and fridge with a wider range of tastes.

So that’s my cooking story

I’ve written a lot about bulk cooking and other things I’ve learned, so check out those blog posts for more tips. You can also read the posts in chronological order if you want to see all the steps along the way. If you’re learning how to cook, I hope my story helps – hang in there and keep practising, and you’ll probably come to enjoy cooking too. Good luck and have fun!

Setting up dynamic DNS with Tomato and Namecheap, and limiting SSH

September 23, 2013 - Categories: geek, linux

We have a computer downstairs with backups of files, and I’ve been using it to explore Vagrant and development using virtual machines as well. It can be useful to be able to SSH into it from outside our network, so I spent some time setting up a dynamic domain name, port forwarding, and new limits for the SSH server.

Namecheap (the domain name registrar that I use) supports dynamic domains, so it was easy to enable.

  1. Enable dynamic domains: Manage Domains, choose the domain, and then choose Dynamic DNS. Enable it and copy the password.
  2. Create an A record: Choose All Records and add a subdomain with a temporary address (ex: and type A. Save the settings.

Our router uses the Tomato firmware, which has built-in support for Namecheap and other dynamic DNS provider.

  1. Click on BasicDDNS.
  2. Fill in the details for Dynamic DNS 1.

Before I forwarded the ports, I wanted to make sure that SSH permitted password authentication on our local network but required passphrases for external connections. OpenSSH: requiring keys, but allow passwords from some locations (Michael W. Lucas) was really helpful. I edited /etc/ssh/sshd_config, set PasswordAuthentication no, and added the following lines to the end of the file:

Match Address
  PasswordAuthentication yes

(I had some problems in the beginning because I typed this as Yes instead of yes… Case matters!)

I restarted the SSH server with service ssh restart and confirmed that I could still SSH in.

Back to Tomato. Port Forwarding lets you set up forwarding rules. The port for SSH is 22, so I filled in a row with the port I wanted, the internal port, and the internal IP address of the server. I clicked Save (forgot to do this a few times because the button was near the end of the page) and that was that.

On Windows, I walked W- through generating a DSA public key with PuttyGEN, loading it in Pageant, and copying it to his .ssh/authorized_keys2 file.

Posting this here because I’m probably going to want to do this again someday, and it took some searching around. Besides, someone might find it handy!

Poll: Planning a weekly topic-focused blog – what would you like to read more about?

September 24, 2013 - Categories: blogging, planning

Your blog is so eclectic,” said someone recently. In one week, I can write about deep geekery, business, blogging, drawing, decision making, and cooking. I deliberately shuffle my posts around so that you get a variety of topics each week. (When I didn’t do this kind of planning, you sometimes got long stretches of geeky posts that went over everyone else’s heads…)

My blog has a lot of different topics because I have a lot of different interests. The only challenge with posting daily is making myself stick to it instead of publishing two or three posts because I get carried away. There’s always so much to learn and share, and if I don’t write about it, I tend to forget it.

I think it’s time to experiment with different ways to write. The variety is fine for other people with wide-ranging interests. The frequency is a little overwhelming, so I’ve started directing people to weekly and monthly updates. I’ve tried category feeds, but they’re still a little difficult to focus on if people just care about one or two topics.

Please help me plan a new blog that’s more focused on a set of topics. =) One that’s updated weekly, so it’s more manageable in terms of reading. One that’s written for readers first, instead of being mostly personal notes that might be useful for other people. I’m still going to update my personal blog ( with all these notes, but once a week, I want to post a focused, well-written, illustrated, “I spent 4-10 hours making something useful for you” post that saves you time or money.

I’m going to focus on general-interest topics so that I can write posts that might be useful for years and years to come. Tech-related posts can be difficult to keep current – people come across Emacs blog posts from 2008, and it can be hard to figure out what needs to be changed. General topics tend to be longer-lasting.

Here is where I need your help and feedback: What do you want to read about the most? There’s a poll in this blog post. If you don’t see it, please check it out at If you give me your e-mail address (optional), I can invite you to check out the blog when it starts out. I’m going to brainstorm some headlines, fill in outlines, write posts, draw sketches, and get things going maybe a month or two in advance before I tell most people about it. Vote and tell me how to contact you, and you can help shape the way the blog evolves. =) Please fill in the poll by October 4, 2013 (next Friday) - I’d love to get things going quickly!

2013-10-07 09_25_14-All Polls ‹ sacha chua __ living an awesome life — WordPress

I know there are a lot of blogs like those out there. Here’s how I want to make a difference:

  • You can benefit from summarized insights from books and blog posts. I speed-read and have access to an amazing library, so I can grab ideas from books you don’t have the time to read, summarize them in neat one-page graphical notes, and help you learn faster.
  • Instead of generic advice, you can learn from stories and experiences. There are lots of platitudes out there: “Follow your passion.” “Spend less than you earn.” “Make something useful.” I don’t want to write generic run-of-the-mill link-building articles. I’ll tell you what it’s like to apply the advice to real life and what I learned along the way. I’ve got a lot of practice in thinking about what I’m thinking (including identifying and questioning assumptions), so I’d be happy to take you behind the scenes.
  • You can explore interesting perspectives with me as we combine different experiences. There’s plenty of advice on how to make better decisions, but that’s even more fun when you can bring Quantified Self-type tracking and metrics to measure the results. Writing is a useful tool for learning, and it gets even better when you can tweak the software you use. Learning complex topics can be difficult, but sketchnoting can make the ideas more approachable. I’m a geek, and that spills over into everything I do.

So that’s why I’m thinking of adding a topic-focused blog to the abundance of content already on the Internet. I’ll probably branch it out under the “” domain name – maybe in a subdirectory for ease of expansion later on.

Also, since it’s good to question one’s assumptions: Is there a better way to improve navigation and reduce overwhelming volume than a topic-focused blog? Have you come across other wide-ranging blogs that make it easy for you to focus on just the topics you want, while discovering “neighbouring” topics if you’re interested? What do those blogs do differently?

Got any additional thoughts? Feel free to share them in the comments!

The learning machine: How I turn what I learn into blog posts

September 25, 2013 - Categories: learning, writing
This entry is part 3 of 19 in the series A No-Excuses Guide to Blogging


@gozes was curious about my workflow for transforming my notes and lessons learned into blog posts. Here’s what I’ve learned!

Why it’s worth taking the time to share

Many people struggle with sharing what they know. "I don’t have time to blog." "No one will read it anyway, so why bother." "I’m not an expert." "Knowledge is power, so I should keep it to myself – job security!"

Let me tell you this: The time I take to share what I learn is the most valuable part of my learning process.

I can spend three hours solving a technical problem or learning more about a skill, but the thing that makes it really worth it is the 30 minutes I spend writing about what I learned. The biggest benefit is being able to refer back to my notes. If I don’t write it down, I forget, and I’ve wasted the time spent learning. If I don’t publish my notes, I’m probably going to lose them. It makes sense to invest a little time now so that I can save time later. I can’t tell you how many times I’ve searched for something and ended up at a blog post I’d completely forgotten I’d written.

There’s a more subtle benefit, too: Explaining things to other people exposes holes in my understanding. It’s easy to think that I know something. When I start writing about it, though, I stumble across things I don’t quite know how to explain. Filling in those gaps helps me learn even more. Even if I think no one’s going to find my explanation useful because I’m working on something so quirky or obscure, the process of explanation helps. (And the Internet being the Internet, I’m often surprised by people who turn out to be working on similar things.)

Sharing lets me help other people, even if I’m not an expert. In fact, the best time to write is when you’re a beginner, because you run into all the things that other people take for granted. More selfishly, sharing helps me learn from other people. People ask questions that help me learn more. They point out where I’ve made mistakes. They share better ways to do things. And because we’re building these connections, they also pass along professional and personal opportunities. Sharing is an excellent way to learn and grow.

When and what to write

Write early, write often. Don’t wait until you’ve figured everything out. I try to write a blog post as soon as possible instead of waiting until I can write a more comprehensive one. I try to keep my blog post focused on answering a single question or sharing one thought. This makes the post easier to link to, keeps it (relatively) short, and gets rid of any excuse that would let me procrastinate putting it out there.

Write enough to help you remember. When I write posts, I want to include enough details so that I can re-solve the problem if I run into it again, place myself back into the situation if I’m reflecting on how things worked out, or share what I’ve learned so that other people can figure things out (or at least ask follow-up questions). I don’t need to answer everything. Sometimes I’ll skip explaining things because people can always ask me to go deeper if they’re interested. You don’t have to write a complete guidebook to everything, you just have to add more guideposts to the trail.


I love it when other people have already done the hard work of writing something up. Then I can just link to what they’ve said, adding some thoughts of my own. If I can’t find a great explanation within the first few pages of a web search–or if I want to dig into something myself so that I understand it better–then I write my own post.

Sometimes I can start with just a question and I go from there. I write paragraph after paragraph as if I was e-mailing someone the answer or talking to them in person. I jump around here and there to edit the text or add links. I write quickly, and then I post.

Most times, I start with a rough outline or my technical notes. When I explore something I want to learn, I jump around an outline, gradually filling it in with what I come across. When I research, troubleshoot, or try to figure something out, I copy links and ideas into my notes. I’ve learned that it can be difficult to backtrack your steps to remember the things you tried, or remember the resources that were particularly helpful. It’s better to take notes and update them along the way, even if you find yourself sometimes going down dead ends.

In terms of tools, I really like Org mode for Emacs because of its great outlining support. My notes are in plain text, so I can search or work with my notes easily. I can collapse or expand parts of my outline, and I can easily reorganize items. I can organize my post ideas into a larger outline. I can export to HTML and share it with others, like I did with the outline for this post. My outline also supports TODOs and integrates with my other tasks, so I can set deadlines, track TODO states, or even clock in/out to see how long something takes.

When I’m happy with the outline, I start turning it into text. I write detailed outlines that include sections and the key points I want to make in paragraphs. (If you’re curious, the outline for this post can be found at .) When I’m happy with how the outline flows, I copy the outline and start transforming it into my blog post. It’s much less intimidating than working with a blank page, and I don’t have to flip back and forth between my outline and my blog post editor. Working with an outline gives me an overview of where I want to go with the post, and it can also hold my thoughts when I go on tangents.

The outline doesn’t always completely translate into the blog post, of course. Sometimes I cut out snippets and stash them in a different place in my larger outline, for use in a future blog post. Sometimes I move things around, or add more explanations to glue paragraphs together. I sometimes have a temporary title, but I usually don’t know what the title could be until I’ve written the post.

When I’m ready to post the entry, I add categories and sometimes tags to make posts easier to discover. See When I blog with Emacs and when I blog with something else for a more detailed discussion of the tools I use for publishing. I often add images because that’s good practice for developing my visual vocabulary, either drawing stick figures or picking stock photos. Besides, the images break up otherwise-intimidating text.

I’m learning a lot, but I don’t want to overwhelm people, so I try to keep it to at most one post a day. (Although sometimes I get excited and post anyway.) I schedule blog posts using the Editorial Calendar plugin for WordPress, and I use the Share A Draft plugin to give people a sneak preview. This lets me answer people’s questions with links to future blog posts. That way, they get the info they want, and everyone else will get it eventually.

Writing about what I learned and reading people’s feedback often gives me plenty of follow-up ideas. I put those ideas back into my outline or TODO list, and the cycle continues.

How I’m working on getting better (continuous improvement for the win!)

I really like the way sharing helps me learn more effectively, and I want to get even better at it. Here are some things that I think will help:

I’m working on getting better at tweaking the structure of my posts before writing them. As in programming, it makes sense to fix logical errors or flow issues earlier rather than later. Working with outlines can help me get better at thinking in terms of questions and the flow from one point to another, and it’s much easier to see and reorganize things there than when everything’s written up.

I’m working on making posts more "scannable" with illustrations, headings, and emphasis. One of the tips I picked up from Beyond Bullet Points is that when designing presentations, your slide titles should make sense in sequence. I remember reading similar advice applied to writing. Paragraphs should also make sense when you’re quickly scanning the starting sentences, and people who want more detail can read the rest of the paragraph or section. I’ve still got a long way to go here, but I think I’m getting better.

I’m working on organizing higher-level outlines. I’m getting more used to with outlining individual blog posts. The next step is to be able to explore and organize larger topics so that I can guide people through a series of chunks, perhaps with blog posts series or e-books. This will also help me plan my learning and build resources that guide people step by step.

I’m curious about delegation or outsourcing, but I haven’t really made the jump yet. Would it be worth learning how to work with other people to flesh out these blog posts? For example, working with an editor might help me find ways to make these posts clearer, more concise, or more approachable. Can article writers or blog researchers add other perspectives or resources to these posts so that we’re learning from more people’s experiences, not just mine? I have to work through a couple of my concerns before I can make the most of this, but I think it might be worth exploring.

Share your thoughts: What’s getting in your way when it comes to sharing what you learn? What could help?

Sketchnote Lessons: Adding Emphasis

September 26, 2013 - Categories: drawing
This entry is part 3 of 11 in the series Sketchnote Lessons

If you emphasize parts of your sketches, you make it easier to review and “read.”

20130925 Sketchnote Lessons - Adding Emphasis

Color, weight, spacing, contrast, underline, depth, highlighter, size, all caps, lettering, reverse, layout, boxes, banners, arrows, icons, stick figures, and other drawings… Have fun!

Like this? Check out the other sketchnote lessons and learn more. Feel free to suggest topics, ask questions, or share your own tips!

Growing authority

September 27, 2013 - Categories: learning, planning

It’s good to think about the kind of life you want to grow so that when everything comes together – knowledge, skills, character – you can make the most of it.


I recently turned thirty. This is great. Being a thirty-something carries a little more gravitas than being a twenty-something. It’s not a magic bullet, but I think it will help. Maybe in my thirties, I’ll get better at using the Voice of Authority. Maybe I’ll figure out how to stop sounding like I’m five years old. Maybe I’ll stop hedging my blog posts and conversations with maybes and probablys.

I checked the mirror the other day. Still no crow’s feet. Gotta work on those. Every so often, I think about the way I want my face to wrinkle and age. Smile lines, yes. Frown lines, anger lines, not so much. Do you think it would be weird to find someone who can retouch one of my photos so that I’m more crinkly? Usually people want to go the other way around.

Anyway. Growing older has its perks. While I wait for the aura of respectability to settle in, I’m working on accumulating knowledge and skills. They’ll come in handy someday.

I was going to say, this girl looks like she’s 16, what does she know? … but she says she’s 29. A little better. :)

from a forum post

I think it’s about deliberately growing my circles of authority: understanding my limits and then gradually expanding them. Here’s a snippet from a recent HackerNews article that made me think about this concept of “authority”:

3. I built a bigger product than I had authority for

I started up Happy Bootstrapper in April with no followers or authority. I planned to write a book about metrics first. The reason is simple – I know my metrics, but I’m not a growth consultant or a SaaS owner. Starting with simple info-products would have bought me time to grow my authority at the same speed with my products.

Then I just happened to stumble into a problem/pain that I knew I could help people with. I didn’t stop to think if I had the authority to actually sell the product. And if you aren’t selling something trivial then you’d better have something to prove people that you know your topic. Teaching people about the topic does the job, but it requires time.

3 Lessons From My Almost Failed Launch

Authority isn’t just for selling things. It can help when asking questions or sharing thoughts. It’s like the way open source mailing lists strongly encourage people to show their work when asking a question. Don’t just ask a question out of the blue, show how you’ve tried to find an answer on your own. Experience (even a little bit) earns you conversation.

It’s also about making it easier for people to identify with you, which is essential if they’re going to listen. I did a lot of technology evangelism as a consultant, coaching teams and communities on social business and internal collaboration platforms. It was always about finding a few people within the group or in a similar group with whom people could identify. Few people were going to listen to me say that something was easy to learn. In many cases, I was the same age as their sons or daughters, and they were used to being confused by stuff that their kids found easy. If the advocate was someone in their group – especially someone who’s not always the first adopter of new things – it was much more effective. One of the most useful techniques for influencing people is Feel, felt, found: I know how you feel. I felt that way when… I found that… You can tell it with other people’s stories, but it’s more effective with your own.

As I go through life, I’ll probably collect more experiences that can help me identify with people and vice versa. I’ll probably also diverge (like with this semi-retirement experiment thing!), but with experience, I can get better at emphasizing similarities. It’s the ethos of rhetoric’s logos, pathos, and ethos: character is part of persuasion.

And I’ll learn more, too. I’ll learn things worth sharing. I’ll learn things that can save other people time or money, make ideas easier to explore, and so on. Here’s what I’m a semi-authority on (based on what people have asked me about) and my current limits:

  • Emacs: getting started, playing around with it, some coding – but not yet working with Emacs core or doing lots of Emacs Lisp wizardry
  • Sketchnotes: getting started, working digitally, publishing, learning from others, using in presentations and blog posts – but not paper, and not graphic recording/facilitation
  • Quantified Self: tracking time, analyzing data, working with Excel, basic stats – but not R, and only a few types of measures
  • Blogging: learning through writing, blogging about tech and life, working with a large archive, adding sketches – but not yet e-books or other information products
  • Bulk cooking: filling the freezer with individual meals (with an Asian slant), cooking frugally – but not vegetarian and not large-scale
  • Hacking around introversion: connecting, taking notes, following up, speaking in public – but not networking events

I don’t want to turn into the “I know what’s best for you” sort of authority. I think good authority is more along the lines of being able to:

  • empathize with people because you’ve been through something similar, and make it easier for them to understand where you’re coming from
  • ask the right questions to help people think through things, share their experiences, and come to their own conclusions
  • share experiences and pitfalls so that other people can avoid your mistakes or explore the secret bonus levels you’ve discovered
  • enrich the conversation

What kinds of authority do I want to build?

I want to get really good at learning and sharing. I want to grok things and share what I understand. I want to inspire and help lots of people learn and share more effectively.

I want to get really good at working around my limits. That’s where Emacs, sketchnotes, Quantified Self, blogging, cooking, and introversion all fit in, I think. Emacs gets around the limitations of the tools I use. Sketchnotes and blogging help me get around the limitations of memory and introversion. Bulk cooking helps me get around the limitations of time. Quantified Self helps me get around the limitations of irrationality and forgetfulness. Not perfect, but useful.

I want to get really good at living life with equanimity. I want to weather the ups and downs and sidewayses of life. Frugality is a subset of this, I think – the ability to resist the temptations of consumption and desire.

So how can I build that kind of authority over the next few decades?

shutterstock_111523355Primary insights come from doing things. As Washington Irving said: “One of the greatest and simplest tools for learning more and growing is doing more.”

Secondary insights come from reading, talking to people, and learning from other people’s lives. I can make the most of being close to a library and speed-reading like crazy. Decent fill-in while I don’t have much experience.

At some point in time, maybe everything will come together. I wrote once:

If I can get a decade or two of great writing out right around the time I should have tons of experiences to write about, that should be fine.

Quantified Awesome: Time and building mastery

Let’s see how this works out. =)

Image credits: Brain tree: Christos Georghiou (Shutterstock), Book tree: Cienpies Design (Shutterstock)

What kind of authority are you building? How are you going about it?

Learning, writing, and growing; Weekly review: Week ending September 27, 2013

September 28, 2013 - Categories: weekly

Blog posts

Quick notes from this week

  • Figured out that my Plover problem was because I’d remapped Backspace in Autohotkey. Got that working again!
  • Remapping Left-Ctrl to Backspace is pretty handy.
  • HST/GST on meals and entertainment are usually 50% claimable. It seems easier to split this for each transaction – guide
  • Inkscape was choking on my bitmap tracing, but Potrace 64-bit worked just fine. Now I don’t have to buy Illustrator to scale up or rearrange my sketchnotes. =D
  • Added version 2 of How to Learn Emacs: A Hand-drawn One-pager for Beginners – Oooh, PosteRazor lets me test-print large images and create poster mockups, yay! about -L he El about
  • The 3 Secrets to Effective Time Investment: How to Achieve More Success with Less Stress (Elizabeth Grace Saunders) has a detailed chapter on routines and processes.

Link roundup

Focus areas and time review

  • Business (40.6h – 24%)
    • Earn (21.7h – 53% of Business)
      • [X] Earn: Consulting – E1 – Monday half-day
      • [X] Earn: Consulting – E1 – Thursday
      • [X] Earn: Consulting – E1 – Tuesday
      • [X] Earn: Consulting – E1 – Wednesday half-day
      • [X] Follow up with B
      • [ ] Earn: Consulting – E1 – Monday half-day
      • [ ] Earn: Consulting – E1 – Thursday
      • [ ] Earn: Consulting – E1 – Tuesday
      • [ ] Earn: Consulting – E1 – Wednesday half-day
    • Build (13.3h – 32% of Business)
      • Quantified Awesome (0.0h)
      • Drawing (6.0h)
        • [X] Work on a hi-res version of Learn Emacs
      • Paperwork (2.6h)
        • [X] Adjust HST on meals and entertainment expenses
        • [X] Investigate depreciation expenses
        • [ ] File payroll return
      • [X] Put together mini business cases for different possible investments
      • [X] Scanner – $455.99
      • [X] Turbotax 2012
      • [X] Pilot Hi-Tec-C 0.4
      • [X] Find my power adapter
    • Connect (5.6h – 13% of Business)
      • [X] Create help wanted page
      • [X] Go to Hacklab members meeting
      • [X] Host Visual Thinkers Toronto meetup
      • [X] Prepare limitations presentation
  • Relationships (9.6h – 5%)
    • [X] Go for a walk
    • [X] Go to MEC
    • [X] Copy emergency numbers
    • [X] Try reconstituting dehydrated food
    • [X] Repack new things
  • Discretionary – Productive (12.7h – 7%)
    • [X] Call DC with go or no go decision
    • [X] Replace inner tube
    • Writing (0.3h)
  • Discretionary – Play (12.7h – 7%)
  • Personal routines (20.9h – 12%)
  • Unpaid work (14.7h – 8%)
  • Sleep (60.8h – 36% – average of 8.7 per day)

Bulk cooking by the numbers: A ton of tonkatsu

September 29, 2013 - Categories: cooking

From last month: We don’t eat pork or beef as much as we eat chicken, since chicken is so cheap and easy to prepare. When I found pre-sliced pork tenderloin halves at $3.04/kg (30% off the sale price because it was nearing the best-by date), I knew that tonkatsu was definitely in the cards. It’s one of my favourite freezer meals, and I always like to make it when pork’s on sale.


The previous week, when the pork first came on sale for $4.34/kg, I had bought one package and turned into a good stack of frozen tonkatsu lunches. I was reasonably confident that I could scale up to two packs, so I bought two for a total of $14.75, or nearly 5kg.  I had planned to work on that after making pad thai for supper, which I needed to do in order to use up some of the vegetables in the fridge. Sure, it was a weekday, but I didn’t have plans for the evening anyway.

Fortunately, W- saw the magnitude of the tonkatsu-making task I’d set for myself and helped out. J- got conscripted into tenderizing the pork. W- battered and breaded the cutlets while I prepared the pad thai. After dinner, I breaded the remaining cutlets while W- fried the previous ones.

A full rice cooker yielded 18 portions of 180g cooked rice, which we packed along with frozen vegetables and tonkatsu. We stored the remaining tonkatsu cutlets in whatever other containers we could find. In total, we made 50 portions of tonkatsu (including the two that we ate while cooking, cut into small bites and dipped in chili sauce).

Ingredient costs: (18 portions with rice and frozen vegetables, 32 portions without)

    Portion cost Ingredient Notes Total cost
    $0.33 Frozen vegetables ~3/4 of a large bag at $7.99 $6
    $0.30 Pork   $14.75
    $0.13 Rice 10 cups is 1.44kg, or ~16% of a $14.99 bag $2.39
    $0.06 Eggs 13 eggs out of an 18-egg carton for $4.27 $3.08
    $0.05 Panko half a $4.59 box $2.29
    $0.05 Oil half a $4.49 bottle $2.24

+ salt, pepper, flour

Each lunch portion was $0.92 (not including electricity), or roughly $1.

Time-wise, it was about 3 hours by 2 people. Assuming each lunch has a value of $11 including tax, that’s a labour value of $83/hour for something that’s tiring but enjoyable. Since W- and I were working together, it was good relationship bonding time too.

We usually save our cooking marathons for the weekends because they take up time (and besides, time-of-use charging means it’s more expensive to cook during the week). The pork was near its use-by date, though, so we had to make it right away. While we were cooking, I wondered out loud what I’d gotten myself into. W- smiled and said I probably wanted something to write about on my blog. He’s at least a little bit right – everything’s an adventure.

Now we have neat stacks of tonkatsu in the chest freezer. Life is good.

It’s difficult to argue with the economics of bulk cooking, if you’ve got the space and the stamina for it. I enjoy cooking, and I love knowing that lunches (and the occasional lazy dinners) are already taken care of. Bulk cooking reduces the risk of regular cooking, too. I can experiment with new recipes easily, because even if it turns out terrible and I have to throw it away, there’s food in the freezer.

I’m glad we do this! For more about bulk cooking, see my post on Making bulk cooking easier. Enjoy!

Using Emacs to figure out where I need to improve in order to type faster

September 30, 2013 - Categories: emacs, geek, kaizen

I’ve been thinking about how to type faster than 110wpm, and digging into the specific factors that I could improve. In particular, I wanted to get a sense of:

  • my theoretical top speed
  • whether alternates or rolls are better for me
  • how quickly I can twitch, measured by single-key repeats or two-key alternations


By using totally artificial typing tests (ex: type “thththth…”) instead of word-based ones, I can explore the relationships between character combinations and speed without worrying about hitting SPC, sounding out words, correcting errors, and so on. Since I can do the tests in short sprints, I can rest enough in between to minimize my risk of RSI.

Using Emacs to test my raw typing speed

I haven’t come across an online typing test that gives the kind of stats I want, or even a per-character or digram breakdown. I thought about writing a Javascript-based typing timer, but I figured it would be less work to cajole Emacs into measuring what I wanted. Here’s the code:

(defun sacha/timer-go ()
  "Quick keyboard timer."
  (insert "GO\n")
  (run-with-timer 3 nil (lambda () (insert "\n")))  ; for warmup
  (run-with-timer 15 nil (lambda () ; 12 seconds + the 3-second warmup
                           (let ((col (- (point) (line-beginning-position))))
                             (insert (format " | %d | \n" col)))
(local-set-key (kbd "<f7>") 'sacha/timer-go)

This prints “GO” to show you that it’s running. You have three seconds to warm up, so you don’t have to worry about wasting any milliseconds after M-x sacha/timer-go (or F7, the keyboard shortcut I bound mine to). After the warmup, Emacs adds a newline and the “race” is on. There’s a 12 second period of actual typing, and then Emacs adds the number of characters you typed. When you see that, you can stop.

Twelve seconds is a useful number for estimating typing speed because the conversion from characters per minute (CPM) to words per minute (WPM) usually uses a factor of 5: CPM / 5 = WPM. So the number of characters you can type in 60 seconds / 5 is probably the number of “words” you could type in a minute.

Note: L and R refer to left and right hand. I’ve also numbered the fingers with 1 being the thumb and 5 being the pinky. The patterns I used are based on a Dvorak keyboard, but that doesn’t matter as much. You can probably figure out what the equivalent patterns are on your preferred keyboard layout.

Limitations: I didn’t do any special calculations to deal with errors (there were many doubling or transposition errors multi-character sequences), so the actual CPM will be lower. Also, repeated character sequences are definitely not normal and have quirks of their own. It’s interesting to establish the range and see the kinds of errors that show up when I go faster than I’m comfortable with, though.

Pure speed

Key description Pattern Estimated WPM based on CPM/5
keyboard mashing -none- (mashing) 379
keyboard mashing -none- (mashing) 379
keyboard mashing -none- (mashing) 354
R side mashing -none- (mashing) 245
L side mashing -none- (mashing) 217

If you don’t care what you’re typing, it’s easy to type quickly. This is just about how fast my hands go if I don’t have to think about which finger to activate. This mostly ended up as alternating left- and right-hand rolls (ex: aoeusntoahuesnto). Because I didn’t have to precisely alternate, two-handed mashing resulted in more characters than one-handed mashing. Interestingly, my right hand is slightly faster than my left.

Alternates versus rolls

4-key combinations

Key description Pattern Estimated WPM based on CPM/5
R-side 4-key roll snthsnth 232
L-side 4-key roll aoeuaoue 201
L 3 & 2, R 3 & 2 eutheuth 164

3-key combinations

Key description Pattern Estimated WPM based on CPM/5
R 3 & 2, L 3 thethe 187
L 5, R 4 & 2 andand 184
R 3 & 2, L 3 thethe 182
roll R 3 nthnth 176
R 3 & 2, L 3 thethe 170
roll L 3 oeuoue 166
roll L 3 oeuoeu 164
R 3 & 2, L 3 thethe 159
roll R 3 nthnth 152
R 3, L 4 & 3 toetoe 140

I expected rolls to be faster than alternates, but it turns out that alternating works out fine too (“the” and “and” on a Dvorak keyboard). Same-hand rolls had fewer errors than alternates, though – timing can be tricky when doing high-speed repeats. That can be partially handled by autocorrecting “teh” to “the” and similar transpositions. I use an AutoHotkey-based autocorrect script, but it screws up the typing tests I like, so I can’t take advantage of it then.

A roll-optimized keyboard layout might be more effective. 3- and 4-character rolls like the ones I tested aren’t that common in actual typing, but it might be possible to find keyboard layouts that are better-optimized for the languages I use. I’ve read that Arensito, Capewell, and Colemak focus more on rolls and alternating rolls, so they might be worth a look.

Two-character pairs

Key description Pattern Estimated WPM based on CPM/5
alt L and R 1 uhuh 139
L 5, R 5 asas 137
R 2 & 3 chch 135
R 2 & 3 thth 134
L 2, R 3 tutu 130
R 3, L 4 toto 129
L 2, R 2 uhuh 128
R 1 & 5 xsxs 126
L 2 & 3 eueu 124
R 2 and 5 shsh 115

Two-character patterns are slower than three-character patterns, probably indicating that there’s a small delay as I think about repeating things. Alternates and same-hand two-character pairs seem to work okay. Even for same-hand two-character pairs, I get the occasional doubling or transposition error.

Single-finger twitching

Key description Pattern Estimated WPM based on CPM/5
R 2 hhhh 79
R 3 tttt 76
R 1 mmmm 75
R 4 nnnn 74
L 2 uuuu 73
R 5 ssss 71
L 3 eeee 71
L 4 oooo 65
L 1 kkkk 64
L 5 aaaa 61

Single-finger keypresses (no automatic repeats) are slow. Good thing I don’t have to do them that often. If this represents the speed at which I can send an impulse to my finger and have it do something, this might be a limiting factor for my typing speed, which is compensated for by alternates and rolls.

Three characters with repositioning

Key description Pattern Estimated WPM based on CPM/5
R 3, L 2, L 2 cupcup 67
R 3, L 5, R 3 catcat 66
R 2, L 4, R 2 dogdog 64

Moving my fingers takes time too. Also, did you know that there are typing equivalents of tongue-twisters? I can’t type “ranranranran…” a long time without it turning into rna and other permutations. Maybe my brain gets hiccups.

Interrupted combinations

Key description Pattern Estimated WPM based on CPM/5
R 4, L 4, R 3 notnot 63
L 4, R 4, L 3 oneone 57
L 5, R 4, L 3 areare 55

Alternating hands is actually pretty tough if you have to care about timing. Oddly, this is slower than repositioning. Maybe it’s because the repositioning helps me remember where I am in the word when I’m repeating it, so natural typing will be a different case.


Chunking seems to make a big difference for me. 4-character combinations tend to beat 3-character combinations and those tend to beat 2-character combinations, unless there’s some timing involved. Common combinations (the, and) are easier to type. If I can get better at chunking words into syllables, that might help. The most common digraphs are TH, HE, AN, IN, ER, ON, RE, ED, ND, HA, AT, EN, ES, OF, NT, EA, TI, TO, IO, LE, IS, OU, AR, AS, DE, RT, and VE (source), so that might be good to look at next.

Twitching or moving individual fingers are slow operations, so being able to “look ahead” and move my fingers to the right spots while I’m typing the first few characters helps. Muscle memory also helps minimize errors. Also, maybe finger dexterity and agility exercises?

I’m probably in the region of Diminishing Returns here. I could spend hours inching up my typing speed… or I could spend that time doing other things. Now that I’ve identified specific areas to look into, though, I might be able to set up exercises to take advantage of interstitial time. For example, while I’m reading a book, I could do finger dexterity exercises (pausing, of course, if I feel any hint of strain – I’d like to avoid RSI if I can).

On another note, testing my theoretical speed in this way reminded me a little of how we used to play Decathlon on the computer as kids. (Was it Microsoft Decathlon? The screenshots look familiar…) Somehow our keyboard survived the rampage back then. =)

Next steps

Because alternation can lead to typing errors or slowness for me, I might look into Colemak, which optimizes for single-hand rolls. Still, I’m pretty happy with Dvorak, and the Colemak FAQ warns that the switch might not be worth it. Another thing I’m looking into is Plover, which lets you do stenography using a regular keyboard. My laptop keyboard can’t easily do some of the combinations and I’m more visual than phonetic when it comes to words, so it might be a challenge to learn.

The easiest win will probably come from training my speech recognition software to recognize my words more accurately. I’ve been dictating book notes to my computer. This is great because it reinforces the key points of the book in my memory, trains the computer, and helps me practice clear diction. I’ve gotten to the point of using speech recognition to take notes during my first pass through a book, editing after each paragraph. I feel that the accuracy is gradually improving. I make fewer edits as I learn how to speak the way the computer wants me to and I teach the computer to understand the way I speak.

Besides, an average of 107 wpm on Dvorak is fast enough to let me get words out of my head and onto my computer, and I can focus on what I want to say instead of how to type.  There’s plenty more to learn about how to write efficiently. Time to go back to David Fryxell’s How to Write Fast (While Writing Well)! So it’s interesting to dig into what my rate-limiting factors are when it comes to typing faster, but it’s even better to focus on how I can think faster (although speech recognition will still be useful for the benefits mentioned above).

Have you analyzed your typing? What did you learn?

Image credits: Keyboard with time (Cienpies Design, Shutterstock)