Hello World. Again.

No servers. No problems.

Posted by Ceaser Larry on August 14, 2015

It’s been 2618 days since the last time I wrote an article for my blog.

My previous blog succumbed to the pressure of bots and spammers right around the same time I started working on my own. Years later, my professional site went down for the same reason, except my professional site was actually using a Expression Engine, a commercial content management system, instead of the now defunct Typo blog software.

While working on restoring the professional site on the latest Expression Engine, I began to question why should I use a large complex system for only three static web pages and a feedback form. So I deployed it to Amazon’s S3 with a few client side snippets for the contact form and bot detection.

No infrastructure required. No server to maintain, no database to backup, no software to upgrade and basically no cost (Current pricing is $0.024 per GB).

I begin looking into how I could restore my blog using the same approach. I was doubtful. There are a few must have features I want on my blog.

  • RSS Feed - to allow readers to parse the content.
  • Separation of content and HTML code - to easily apply new style changes.
  • Secure API - to allow me to edit content offline.
  • Easy to publish – or it won’t happen.

One of the biggest challenges of a completely static web site, is that you have to copy the same layout on every page. Then you have to add links and the number of edits grows exponentially as you add new articles. Not to mention you’ll have to update your RSS feed XML.

I needed just enough software to solve this problem.

My first thought was to create a AngularJS application. This would allow me utilize a number of different RESTful web services, but I don’t want to rely on the client having JavaScript enabled.

I remember watching a presentation on static site generators. Searching the web, I came across Middleman, Jekyll and Root.

I’m still experimenting to see which one I like. I will have to write an article about my experience later. So today this is just a test to make sure everything is working.

So that you don’t leave empty handed and to keep to the theme that this blog is mostly about programming, here is how I determined how many days since my last post.

I grabbed the date from the last post using the Archive.org Wayback machine. This read June 13th, 2008.

Inside a irb session I typed:

require 'date'
(Date.today - Date.new(2008, 6, 13)).to_i

Our backyard at sunset. Captured by Cearah