Ah, a new year and a new beginning. I love the start of a new year, it gives me a chance to press the reset button and completely obliterate the chaos that has accumulated during the past year. At the start of every new year, I get a chance to to do a full system wipe and begin anew with a fresh install. Of course, I'm speaking metaphorically of my life in general and not of my laptop. At the beginning of each new year, I try my best to put the brakes on all of my extracurricular activities and decide which ones are important enough to carry on into the new year and which are mere obstacles to my coming year's successes. To use another metaphor, This is the time when I decide my route for the coming year and try my best to remove all other detours that may take me miles off course and set me back on my journey. In this post I want to address the very first of these obstacles that I've decided to get rid of this year, namely my overly complicated and utterly unenjoyable blogging setup.
Past Blogging Failures
Roughly two years ago I setup an account with Slicehost and installed Wordpress and began my weblog. Now, Wordpress is a very nice system, but, at the time, I had a bad case of the Not Invented Here syndrome and an itch to learn Django that I desperately wanted to scratch, so, I scrapped my Wordpress system, which honestly was a bit of overkill anyway, for my own homegrown system written in Django. While this was a nice learning opportunity for me and a fun project to work on, it still did not produce a system that made me want to write more. The standard Django admin just wasn't cutting it as a nice interface for long periods of writing and the whole system was again just overkill for what I needed. After deciding to switch to yet another blogging system in an attempt to encourage myself to blog more, I started looking around the Ruby ecosystem, since recently I had turned my attention to MacRuby for a little side project, and that's when I found my current blogging software. And now, that brings us to the latest version, v3.0, of the christoperroach.com website.
My New Blogging System
This time around I'm learning from my mistakes. I'm taking a page from Tom Preston-Werner's blog and I'm sticking with what I know and love. I'm going to blog like a hacker. Rather than writing my blog posts in a cramped admin web interface in a browser and storing them in a database, I'll be writing them in TextMate and Emacs and storing them as flat files with the help of Jekyll and Git. Why stop there, now that I've decided to run with another developer's software to run my blog, why not also outsource other needs on my site. With that in mind, I'm now using the wonderful Gist from Github to keep track of all my code snippets and Disqus to power my blog's comments. Now, when I feel the need to write a new post, I simply clone my blog's repo (if I'm away from my main computer), create a new text file, and write the post. When I'm finished, I commit the new post and a Git hook on my main repository is responsible for rebuilding the entire site whenever I do a push to the origin. That's about as simple and painless as I can possibly make this whole blogging thing. Given a system so simple and so enjoyable to use, I'm expecting nothing less than a plethora of new posts in the coming year.
I hope you all enjoy the new site. In the coming weeks I'll be going over the rest of my New Year's goals and resolutions and how they relate to the content of this website.