The blog of
Archive: March, 2014
  • Welcome to the new blog, same as the old blog. But different! [Hosting my blog at a new location on a new framework]
    Tuesday, March 25th 2014

    I've had blog since 2006. It's called Delay's Blog and - for a time - was among the top most visited blogs on MSDN. MSDN hosts its blogs on the Telligent platform and has a team of people whose job it is to keep things running. This is a nice perk and that team makes it easy for Microsoft employees to reach a wide audience. I had a good run and I appreciate all their efforts!

    However, I'm something of a control freak and tinkerer and I've always thought it would be nice to own the whole content pipeline. So I decided a number of months ago to migrate this blog to my own site instead. Of course, there are a wealth of good blogging platforms I could have chosen, and lots that are based on the ASP.NET stack I use for the rest of my site.

    But I didn't choose any of them - instead, I've written my own blogging platform based on the Node.js stack. While I'll be the first to acknowledge there's an element of NIH going on [ :) ], there were other considerations:

    • Node.js presents a good learning opportunity for a .NET guy like myself
    • My current job is all about HTML/CSS/JavaScript, so Node.js is a great fit
    • The Node.js community is very active and NPM has a wealth of great packages
    • Though I like typing posts in HTML, I want to experiment with Markdown
    • By writing my own blog, I have complete control (evil laugh...)

    Development happened in small bits and pieces over many weeks and bus rides; the result is the blog you're reading now.

    For the curious, here's what I used to build the site:

    And here are a few of the features I implemented:

    • Post content is HTML or Markdown (original posts were migrated directly)
    • Support for both posts (in the timeline) and pages (separate, linkable content)
    • Responsive design scales/scrolls wide content and moves the sidebar when narrow
    • Database-less implementation makes content easy to deploy with Git
    • Short, deterministic, human-readable URLs for posts and pages
    • Pre-blogging support via automatic "go live" times for posts
    • Automatic server-side syntax highlighting for code samples
    • Simple, quick, semi-relevance-based search across all posts
    • Tags, archives, paged content, RSS, and other standard blog stuff

    For convenience, I've migrated all the existing content from MSDN so I can reference it in one place (here!). For continuity, I've left the posts on MSDN, with comments disabled and a pointer to this site for new content.

    As expected, developing my own blogging platform on a new framework was a great learning experience; I had a good time doing it and am happy to finally have complete control over my (blogging) destiny.

    I even queued up new ideas for blog posts along the way! :)

    Tags: Miscellaneous Node.js