Category Archives: blogging

On this page:

Test what you know by sharing

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

In grade school, I discovered the power of testing what I knew, even at the risk of embarrassment. I was that kid who always had her hand raised in class—and I’d raise the other one when my hand got tired. Think Hermione without the restraint. (And often without the encyclopedic knowledge, but who’s counting?)

Later, after I caught on to the fact that the teacher wasn’t going to call me every time (even when mine was the only hand raised), I still kept doing it. I figured I might as well. After all, if other students didn’t want to take advantage of this part of the education that their tuition had already paid for, that was their loss. I wanted to see if I understood something well enough to explain it. (As a teacher, I winced slightly at recognizing my younger self in the eager hand-wavers who probably intimidated their classmates like all heck – but I sympathized, although I still prodded the quieter ones.)

There are no more teachers and no more exams, but I still share as much as I can. There’s a saying that goes, “Better to remain silent and be thought a fool than to speak and remove all doubt.” Me, I’d rather know when I’m being a fool. How can you find bugs in your code unless you look for them? How can you find flaws in your understanding unless you test what you think you know?

Duncan Mortimer saw the following similarities between sharing and test-driven development:

  • Both provide you with tight feedback loops — the first person you’re sharing with when you write something up is yourself. I guess that’s a bit like getting a test to pass in TDD.
  • Both help you to avoid ‘regressions’ — if you’ve got a permanent record of what you’ve done, what’s worked, what hasn’t, then perhaps it’s easier to get a sense for when an action you’re considering will cause problems.
  • Both offer a form of ‘documentation’. Sharing, for your life: for your actions; for your situation. It shows what you were thinking at the time.

I like that. It’s why I blog. I get to find out whether I understand something enough to explain it, and if that explanation makes sense, and if I can answer the questions that other people might ask. I get a record that I can refer to and reminders of my fallability. Sharing helps me learn.

One of the tips that Timothy Kenny shares in Accelerated Learning for Entrepreneurs (e-book, $16.77) is assigning yourself a final project when you want to learn something well. Map the ideas, blog what you learn, create a checklist, write a report or a book, teach a class… create some kind of tangible proof  that you’ve learned something. With that final project in mind, you’ll find—as Duncan also points out—that you study more deeply and more effectively.

Duncan wraps up with this thought:

Perhaps deliberately sharing your life and reflecting on that experience ultimately helps you to live a life that’s worth sharing?

image… and I think there’s something to that. I’m learning a lot about life, and one of my ongoing projects is to have an amazing blog by the time I’m 60 or 90. That nudges me to learn things and do things that are worth sharing. It challenges me to share what I’m learning while I’m learning it, because later on the fuzziness of memory and the curse of expertise will make the details disappear.

How about you? What can you share, and how can sharing help you learn and live?

Series Navigation« Share while you learnPersonal blog? Don’t worry about your strategy »

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.

Feedback

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 »

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 (sachachua.com) 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 http://sachachua.com/blog/p/26117. 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 “LivingAnAwesomeLife.com” 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: http://orgmode.org/wor...

English: org-mode logo: http://orgmode.org/worg/org-faq.php#unicorn (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.

image

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):

image

Here’s my coding on Quantified Awesome:

image

Other coding:

image

Emacs:

image

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

image

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.id, p.post_title, p.post_date, p.comment_count FROM wp_posts p 
INNER JOIN wp_term_relationships r ON (p.id=r.object_id 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.