Sergey Shishkin

on agile software development

Archive for November 2010

First Success With Heroku

Recently I moved my blog away from Live Spaces to I remember myself a few years ago comparing Live Spaces and WP among other blogging platforms, I bought in to Live’s tight integration of the blog engine, the SkyDrive and the Live Writer. That was definitely not my best decision as recently Microsoft announced that they are discontinuing Live Spaces and all users are kindly requested to move their blogs to WP. The migration procedure took just several clicks and I got my whole blog with all the comments on WP. One thing I missed after Live Spaces however was custom domain redirection. I want my domain – to point to my blog, but this is a premium feature at WP that costs money. After no luck with DNS configuration at my registrar I headed to cloud solutions.

And here comes Heroku. Heroku is a ruby hosting platform in the cloud, which is free for small demands and feature rich, rock-solid and scalable when you need it. So I decided to build and host at Heroku an absolutely dumb HTTP Ruby application that should redirect all the requests to my blog at WP. Thanks Heroku Custom Domains I was able to host my small dumb app for free with my custom domains ( and

The application itself is a simplest Rack application:

class Redirect
  def call(env)
    [301, {
      "Location" => "",
      "Content-Type" => "text/plain"


That’s it! Using simple Heroku documentation I was able to build, test and deploy my little app in minutes. Heroku’s git-based deployment is somewhat cool. It just can’t be simpler given that each Ruby developer probably has git installed already.

As for Rack, I think it’s an awesome framework we really miss in .NET. After being intrigued by Rack’s ultimate simplicity and extensibility I watched TekPub’s episode on Rack and started to watch the Sinatra series. Now I’m intrigued even more Winking smile Rob Conery does a great job of getting .NET developers out of their comfort zone and provoking us by showing how simple software development can really be on the other side of the fence.

To summarize, I finally did something productive with Ruby! I solved my real-world problem (not that big for sure), I solved it simple, fast and elegant. And I learned a lot along the way.


Written by Sergey Shishkin

29.11.2010 at 21:44

Posted in Uncategorized