I've always had a project website, but blogging has been a more recent addition. I started a blog a few years back to document my arcade restoration projects. My website at the time was built with MVC5, and rather than use a third party component for blogging, I wrote my own.

At first this required me to recompile the site using Visual Studio every time I wanted to post. This quickly proved too cumbersome. After a few posts, I rewrote a portion of the site to be able to serve blog posts from standard cshtml files, which could be added without recompiling.

Initially this worked pretty well--the site was located in a git repository hosted on BitBucket that would auto-deploy to Azure when I made a commit. A JSON file acted as an index to specify the timestamp and other metadata for each post, while the post's content lived in its own cshtml file. This enabled me to write a blog post from anywhere, provided it had access to BitBucket and a standard text editor.

I then began blogging about my arcade restoration projects.

Later on, I came across this post by Scott Hansleman, and I decided I wanted to start writing articles about my adventures in software development. There had been so many times I had solved a problem and wanted to share a quick write up. I've got a blog, I thought, so why not start using it more?

I found, however, that my home-grown blogging engine was holding me back. Although it was fairly easy to add a post, there were still too many steps, each acting as a mental roadblock: git pull, edit the JSON manifest, create the cshtml file (how does that work again? I'll just copy another one to start with), write the post (ugh, it's a mix of HTML, don't forget to close those tags), create a lightbox image gallery for the post (grab the image resizer tool, do all that jazz), upload the images, commit them all, check the website to make sure it works. Whew.

Usually, I ended up deciding not to write the post after all.

So I'm trying something new. I've switched to the Ghost blog engine, which I self-host on Azure. This allows me to simply log on and start writing. Articles are written in markdown, so I can concentrate on the content instead of on HTML tags. To publish, I click Publish. Easy!

Hopefully this removes all the roadblocks, mental and otherwise, so I can really start sharing useful code-related articles!

For now, the old website is still available at: http://justin-credible.azurewebsites.net.