Relaunching My Blog

I have left my blog dormant for about 3 years now. There aren’t good reasons or excuses to have done so. I just focussed my energies on other activities and outlets (mainly Twitter and Facebook.

The upcoming demise of Posterous made me rethink how I wanted to host and maintain my blog. The idea of being utterly dependent on a service that may not be around for a while was a little unsettling. So I decided to regain control of how my blog is authored, built and hosted.

We are using Middleman at dojo4 to build and maintain static web sites for our clients. This has proven to be a powerful and flexible way to quickly build small web site and work on larger ones as well. It’s ability to apply layouts to pages and to build data driven sites has made it easy and pleasant to build data driven sites and evolving the layout of a site without having to touch every single pages.

Middleman happens to have a blogging extension. This extension gives you the tools needed to build and maintain a blog. The layout feature and a small collection of helpers are comfortable and familiar to individuals who work with Ruby on Rails on a daily basis.

Another nicety is that you can treat your blog just like you treat your code. I am managing my site through GitHub. I just turned it into a public repo for other individuals who may choose to follow the same path.

The last piece of the puzzle is where to host the blog proper. In my case, I am authoring a Ruby Gem called middleman-s3_sync whose whole purpose is to push files to an S3 bucket. The bucket itself is configured to expose it’s content as a web site. I then used DNSimple.com to point fredjean.net to the bucket.

The end result is a blogging environment that I control, build and manage using tools that are familiar to me as a developer and leverages cloud computing technologies.

Many thanks to dojo4 for allowing me to work on enabling technologies and in particular to Peter for feedback on the design and Steve for reminding me that I did indeed write middleman-s3_sync.