LogoAbout this site

What is this place?

It is a hub for everything about me and/or stuff I am interested in. Historically this meant more content actually lived here, but when Twitter came into existence (yes I have had it that long) more of my "hot takes" moved to there.

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.

Motivation for a change

Previously by blog was split across Tumblr (as "blog.houseofmoran.com") with the main content ("www.houseofmoran.com") hosted on Heroku.

Now that Tumblr is showing signs of being on it's way to death I am wary of leaving my content on there. This angst is not reduced by the behaviour of other companies like Flickr, deciding maybe it wouldn't be keeping all those photos for you after all.

I used to get away with running my main site on free heroku "dynos" but not any more. I also really should have written my blog in the first place as a static site as I don't update it anywhere near often enough to validate making it very dynamic.

The world has also moved on since I last touched this setup seriously, with HTTPS now expected and lots more choices. So, I decided to bring it all back under my control again as a static site.

Current setup, as of January 2019

I'd been eyeing Gatsby for the past year as something I wanted to learn. I finally got round to going through the tutorials and liked the simplicity.

I went ahead and did a first pass port of Tumblr content. This was extracted from their API, because the dump they give you does not contain any original markdown text. The metadata, such as the original slug, became front-matter for the Markdown. My original blog posts from years ago are also written in Markdown which means they can more easily unified under Posts.

Free hosting by Netlify solved the cost problem. The only thing I opted to pay for was a private repo on Github.

History (from mid-90's to 2019)


Some time during University (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.


Redundant Hardware, not just for xmas

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 at NetPhysic, 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).

Fiction and redesigns (also Fictional)

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 now-defunct laptop.

Blogging era

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 allowed you to re-use unix tools like sort/grep/etc for simple searching. However, the oddmuse format 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, which had the content in it, using SVNKit.

Migrating to the hub

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. Also, I became a bit bored with needing to run and manage my own Linux box, so decided to move to Rails running on Heroku.

I migrated from a standalone site to more of a hub, joining together all of my content on Twitter, Flickr, Linkedin, etc. It ended up being a Rails + S3 + Flickr + Tumblr combo.

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

Tumblr was for blog-style posts and very short articles which may eventually turn into larger articles on the main site. Having it on Tumblr made it easier to write quick posts on-the-go using their mobile app, and allows easy searching by tag or by date. It was 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 -- so if need be, I could take it back under my roof.

A Rails instance formed the hub. It was a stateless web-app which was hosted on Heroku. For a long time I did't get enough hits to justify paying more than $0 for some free dynos.

The Rails app had read-only access to my S3 article bucket via a special S3 user. To edit an article, I mounted the S3 bucket as a filesystem on my Mac using the Transmit.app, copied it to a temporary directory, opened it in whatever editor I liked (usually something minimal, like emacs). I had a local Rails instance on my Mac which I used for viewing these works-in-progress. To publish, I copied the temporary article over the original and deleted the temporary copy. Looking back at this from 2019, in the age of hot-reload and git, this seems really laborious, but honestly it was great at the time.

Grand RDF plans

I've been consistently tagging my content on Flickr for some time now, and I had a notion of re-using these tags in my articles and in Tumblr so that I could use this site to unify all my streams.

I would also (still) love to expose more of my content in a machine-readable way e.g. RDFa. This may make sense for things like my reviews. I made a start on this by adding a section to my Markdown article format which allows embedded RDF statements in N3 format. However, I only got as far as using this as a way to set the human-readable title via dc:title!