My First Chain

Back in April I was reading hacker news when I came across a blog posted titled '366 or How I Tricked Myself into Being Awesome'. It was written by a fellow named Chris Strom. It was written on blogspot. It was mostly unstyled.

Chris wrote every single day for 366 days and in so doing self-published three books on programming languages that he knew nothing about. His post was to champion that milestone. At the time I read it and thought, "I can totally do this," meaning if I follow the steps that Chris has outlined I can potentially trick myself into becoming a blogger.

That probably seems rather silly to say but it's true. Every developer I know Googles for answers when they're stuck or trying to learn something new. And it seems like, over and over again, we end up in the same places. And if you're a developer, or maybe if you're just me, you totally revere these people. They are guides in what is a truly unfamiliar world and they do it without asking anything in return.

So I set out to try to do my own chain. I have to write until I go to Europe on June 27th. At this moment I have 22 blog posts that I've written as a result of the chain. Prior to that I'd written 3 in an entire year. At first I found the whole process exhilarating, until it started to get in the way of my personal activities. Now I have to figure out how to write something of substance while still balancing my job and my home life. This is not easy. It requires setting boundaries and self-discipline. I try to write in the mornings, usually between the hours of 7 to 9. Frequently I don't finish and my posts have to be resumed in the evening. But working like this interferes with the time I can spend with my girlfriend and that breaks one of the unspoken rules I have which is that writing should not disturb my normal social life. Getting to the first 10 posts this was not a problem but now that I'm passing 20 it is. I've changed my writing style from full blown tutorials to more of a play-by-play as I code. I'm always striving to be more succinct in what I write but usually the challenge is disappearing down a rabbit hole while I research something new only to realize that I've blown half an hour of my writing time googling minutia. I'm going to try to associate googling minutia with some guy getting in between me and my girlfriend. As a result I will want to stab googling minutia.

Anyway, if you find this post and you are thinking about writing let me tell you that I highly recommend it. Here is some quick advice:

Don't worry about what your blog looks like.

I'm 100% serious on this point. If you spend any time designing your blog before you write your first 5 articles then you're doing it wrong. I have fallen into this trap innumerable times. Just accept this challenge: Make it to 10 blog posts, then you can redesign the thing.

I think we fall in love with the idea of having a beautiful blog and get lost in design and programming how everything will look. This is a mistake. Blogging is supposed to just be a journal of what you're currently working on and thinking. Assume no one will read it (this is probably true). After you have a few readers then work on the look and feel if you choose. Personally I've found that not worrying about the design at all has been incredibly freeing. Again, look at Chris Strom's blog. He has a ton of readers, is a published author, and is running the default blogspot theme.

Try to write at the same time every day

I find it easiest to focus in the morning especially when everyone else is asleep. I think Chris works late at night. Figure out what times suits you and do your best to stick to it. When I finish a post in the morning I feel free for the whole rest of the day. It's kind of cool to have that sense of accomplishment before arriving at work :D

Use the best tools you can

I tried writing in Wordpress on several different occasions. I've also tried Tumblr and Posterous. I find writing in shitty WYSIWYG editors drives me totally crazy. There are apps out there that let you write in more of a desktop setting but I'm not sure if they are still subject to Wordpress or Tumblr's weird formatting. Basically if you're writing a code blog it fucking sucks to use a WYSIWYG because they'll try to wrap all of your funky syntax in weird markup. I found Octopress and it's been the best tool I've ever used for writing. I also wrote a little article on it if you're trying to get it setup for your personal domain. Octopress is great because it uses Markdown, the same language that's used to generate most of the pages on Github, there's no database and you can write in any text editor. I do all of my blogging in Sublime Text 2, often times with my blog in one cell with my code in the other. Here's a screenshot of what this can look like.

Side-by-side blogging

Don't worry when no one reads it

Finally, don't get too hung up on who is (or isn't) reading your blog. I know that pretty much all of the visits I see in my google analytics are actually just me checking the site on my phone or laptop. Definitely do add analytics so you can see which parts are successful and which are not but don't expect to be Daring Fireball overnight. In fact, don't ever expect to be Daring Fireball. Keep in mind that what you're doing is a personal journal. It may not seem like blogs are framed in that context but that's what they're best at. I often times find this really interesting flow where I write down what I think I should build before I build it, then I write a test, then I write the implementation. Often times I work out what I'm doing in the blog post well before I've even written the test. This is like a whole other kind of BDD, Blog Driven Development :) Use it for what it's best at and you'll find it rewarding.

Ok that's it for now. Goodnight!

You should follow me on Twitter here.