var tumblr_api_read = {"tumblelog":{"title":"Beards and Keyboards","description":"About programming, illustrations and other things.\r\nThis is the tiny site of Sebastian Hermida","name":"sebastianlab","timezone":"US\/Eastern","cname":"sebastianlab.com","feeds":[]},"posts-start":0,"posts-total":"60","posts-type":false,"posts":[{"id":"3961461732","url":"http:\/\/sebastianlab.com\/post\/3961461732","url-with-slug":"http:\/\/sebastianlab.com\/post\/3961461732\/happyprog-runs-on-amazon-s3","type":"regular","date-gmt":"2011-03-19 15:33:00 GMT","date":"Sat, 19 Mar 2011 11:33:00","bookmarklet":0,"mobile":0,"feed-item":"","from-feed-id":0,"unix-timestamp":1300548780,"format":"html","reblog-key":"XkTlXbZC","slug":"happyprog-runs-on-amazon-s3","regular-title":"Happyprog runs on Amazon S3","regular-body":"<p><span><img src=\"http:\/\/www.happyprog.com.s3-website-us-east-1.amazonaws.com\/images\/happyprog.png\" width=\"173\" height=\"209\"\/>A couple of days ago, I launched a tiny site called <a href=\"http:\/\/happyprog.com\">happyprog<\/a>. My current idea with the site is to write small fun utilities to help programmers visualize some core eXtreme Programming practices like test driven development and refactoring. That sounds very grandiose and I might seem that I know what I am doing but I am just experimenting with a few ideas that rounded my mind for a while.<\/span><\/p>\n<p><span>Right now, these ideas are coming out as plugins for Eclipse.<\/span><\/p>\n<p><span>As I was getting closer to release my first experiment: <a href=\"http:\/\/www.happyprog.com\/pulse\/\">Pulse<\/a>, Amazon S3 announces <a href=\"http:\/\/aws.amazon.com\/about-aws\/whats-new\/2011\/02\/17\/Amazon-S3-Website-Features\/\">support for hosting static websites<\/a>. I am usually a big fan of Google App Engine, it&#8217;s easy and magic to quickly build and deploy a website with python and <a href=\"http:\/\/webpy.org\/\">web.py<\/a>. <\/span><\/p>\n<p><span>However, for this project, the installation of an Eclipse plugin usually requires a static website to host a bunch of configuration files and jars files. So, I decided to follow the Amazon S3 route all the way  and host everything on S3.<\/span><\/p>\n<p><span>Their documentation is <a href=\"http:\/\/docs.amazonwebservices.com\/AmazonS3\/latest\/dev\/index.html?WebsiteHosting.html\">a good start<\/a> and here are a few tricks that I learned along the way.<\/span><\/p>\n<p><span>Your S3 bucket name needs to match your website name. In my case my bucket name is &#8220;www.happyprog.com&#8221;.<\/span><\/p>\n<p><span>To redirect your domain directly to your S3 bucket, you need to remap the &#8220;www&#8221; CNAME to point to your bucket end-point. My bucket end-point is <a href=\"http:\/\/www.happyprog.com.s3-website-us-east-1.amazonaws.com\/\">http:\/\/www.happyprog.com.s3-website-us-east-1.amazonaws.com\/<\/a> so the value for the &#8220;www&#8221; CNAME should be &#8220;happyprog.com.s3-website-us-east-1.amazonaws.com&#8221;.<\/span><\/p>\n<p><span>This change can take up to 24 hours, so it&#8217;s just a matter of patience<\/span><\/p>\n<p><span>So far, one of the advantages to use the app engine over an S3 bucket is that I can push code without to worry about deleting old files. Right now, I am uploading and maintaining the site with Cyberduck. So the process is manual.<\/span><\/p>\n<p><span>One of the advantages to use S3, is that I hope I don&#8217;t run out of cycles like it happened on the app engine a couple of times. I am also using the free account of the app engine, so I can&#8217;t complain. <\/span><\/p>\n<p><span>&#8230;We&#8217;ll see what happens when I receive my bill from S3 next month.<\/span><\/p>","tags":["amazon","s3","happyprog"]}]};

