Category Archives: writing

On this page:

Blogging tip: Test your ideas and get more feedback in order to make your posts better

This entry is part 18 of 19 in the series A No-Excuses Guide to Blogging

It turns out that you don’t have to write alone, and that you don’t have to have all the answers (or all the ideas!) at the beginning.


I’ve been using Twitter to share ideas related to upcoming blog posts. For example, I asked people what kept them from taking notes, and I added their thoughts to a blog post that I was writing. I shared something I realized about dealing with uncertainty by making potential outcomes arbitrarily better, and that led to a back-and-forth conversations that helped me clarify what I meant.

Condensing an idea into 140 characters is a great exercise. Bonus points if there’s a question in there too.

Sometimes I share post ideas before I’ve drafted the posts so that I can see if an idea resonates enough to make me want to write it. Sometimes I share the idea after I’ve outlined or drafted the first version so I know what I think. I don’t ditch post ideas if they don’t get a response, but I mix in people’s feedback whenever I can.

I also use Twitter to share links to some blog posts after they go live, but the conversation seems more interesting if I don’t start it with a monologue. Besides, editing an upcoming post to incorporate people’s thoughts is much easier and more useful than updating something that people have already seen in their feed readers. The Share a Draft plugin is great for giving people links to unpublished posts. ScribeFire is great for editing existing posts.

Another benefit of writing posts in advance is that by the time you get around to folding people’s insights into your post, you probably have enough distance to edit your first version ruthlessly. If you do this at least a few days in advance, you can even go back to the people who shared their thoughts with you and see if you’ve quoted them properly.

imageIf you blog, try giving people a sneak peek at upcoming thoughts and asking them for feedback. You can do this through e-mail or through social networks. I like social networks like Twitter and Facebook more than e-mail because other people can see and build on responses, but feel free to use whatever works for you. Enjoy!

Series Navigation« Getting started with blogging when no one’s readingHow to get people to read your blog post »

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

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?
Series Navigation« Write about what you don’t know: 5 tips to help you do research for your blogBlog to find out how you think »

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

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!

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

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?

Balancing writing with other things

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

Reorganizing WordPress categories with Term Management Tools and other tweaks

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.