About this site


Current Setup

Over the years, I have migrated from a standalone site to more of a hub, joining together all of my content on Twitter, Flickr, Linkedin, etc. Currently this site is a Rails + S3 + Flickr + Tumblr combo.

Long articles, like DiagonalMethodVersusTheRuleOfThirds are written in Markdown, peppered with wiki-style syntax to allow stable cross-links. These live in a versioned S3 bucket because I expect these articles to outlive any particular instance of this site. Flickr holds any unique image content; similarly to S3, I’m happy to pay them to look after my images and the many related tags.

Tumblr is for blog-style posts and very short articles which may eventually turn into larger articles on the main site. Having it on Tumblr makes it easier to write quick posts on-the-go using their mobile app, and allows easy searching by tag or by date. It is exposed as blog.houseofmoran.com and their URL structure is sufficiently similar to what I would have designed that I am happy supporting it into the future – if need be, I can take it back under my roof.

A Rails instance forms the hub. It is a stateless web-app which is hosted on Heroku. Right now, I don’t get enough hits to justify paying more than $0 for some free dynos, but I know I can scale out if I need to.

The Rails app has read-only access to my S3 article bucket via a special S3 user. To edit an article, I mount the S3 bucket as a filesystem on my Mac using the very reliable Transmit.app, copy it to a temporary directory, then open it in whatever editor I like (usually something minimal, like emacs). I have a local Rails instance on my Mac which I use for viewing these works-in-progress. To publish, I just copy the temporary article over the original and delete the temporary copy.

Why roll your own?

Good question. I have asked myself this many times over the years. The simple answer is that I like tinkering a little too much. Also, you only really understand the design decisions behind a kind of web-site if you have attempted to build one yourself. My hope is that I have found the balance between my desire to tinker and the need not to burden myself with too much work.

But why, just why?

Why have a personal website at all? Another good question. Maybe I’ll get back to you on that one.

Grand plans

I’ve been consistently tagging my content on Flickr for some time now, and I’d like to re-use these tags in my articles and in Tumblr so that I can use this site to unify all my streams.

I would also love to expose more of my content in a machine-readable way e.g. RDFa. This makes sense for things like my reviews, or my tag-space. I have made a start on this by adding a section to my S3 article format which allows embedded RDF statements in N3 format. However, I only currently use this as a way to set the human-readable title via dc:title!

History

Some time during University, in the mid-90’s, I put together a home page using the newly invented ability to place an image in some html. On this page, was the ‘house of moran’, a picture of a house that I wished was my actual home, but wasn’t. It’s all a bit fuzzy now, but I think the page was possibly on tardis. At the time, my username was rfc1149. My homedir was almost deleted a couple of times because it looked like a storage area for rfcs.

houseofmoran.com came into being on 2000-10-02 at 11:50:46.0. It lived on an old Sparcstation IPX with less disk-space than there is memory in a video card. That cute little Sparcstation happily sat next to my desk on a spare IP, until an aborted “apt-get dist-upgrade” trashed the installation irrecoverably.

It was then that I got set up on a UML box with the very reliable people at bytemark hosting. It stayed there until around 2010, when I moved to a Slicehost instance out of cheapness (sorry bytemark).

I was once very much into writing fiction (I went to classes and everything) so for a long time the majority of the content was my writing. After delivering my prose, disguised as bad grammar and spelling, the site lay fallow for years. An occasional re-design was attempted, but these only exist on the hard disk of my laptop.

Then came the blogging era, where it was re-born as a means for me to pretend I had an ego big enough to sustain a readership. I switched to using the oddmuse bliki. After a while I got frustrated with that big-ol hunk of Perl, and decided to write my own blogging platform (obviously).

I liked the file-per-article system of oddmuse because it allows you to re-use unix tools like sort/grep/etc for simple searching. However, it still had hunks of binary stuff in it to support different versions, so I decided to go for plain old Markdown files stored within SVN. I put together a JAX-RS web-app using Scala and Jersey, which talked to the SVN repository using SVNKit.

Whilst educational to write, the JAX-RS + Scala combo was more suited to webapps with a significant amount of computation (like LSystems) than a bliki. This is when it turned into it’s current setup.

Finally, in 2012, I became a bit bored with running my own Linux box, and decided to move the Rails component to Heroku.