Well, this is embarrassing. My last post was from almost 4 years ago. A lot has happened in the past 4 years. I guess I have been too busy and too lazy to jot down anything.
But that’s got to change, as I am quite certain my writing skills are deteriorating as long as I am away from keyboard. To motivate myself, I’ve spent a week to create this neat site to share my thoughts both in the present and past.
I’ve dug up some ancient posts that I wrote in high school around 2005, some of which are full of embarrassing grammar quirks and childish thoughts. But as badly written as they are, I dare not to lose any of them.
I believe I started blogging on a Windows Live service called Spaces. (Can’t remember if anything had happened before that.) Then I switched to Blogger in 2006 for its professional look when I came to the states for undergraduate study. Somewhere along the line, I migrated to my own Wordpress server for customization. Then in 2010 I was sick of maintaining PHP and decided to move back to blogger again.
This moving back and forth inevitably induced some losses of posts and comments. I find it too easy for any service, public or private, to disappear one day along with all my content. Therefore, this time I decided to do it right. I am going to put everything into a repository, just as I learned to never write code outside of a repository. If it isn’t in a repository, it never happened.
The repository of choice is naturally git, and the hosting service of choice is therefore GitHub. GitHub provides this CDN service to host static content of your repository for free. When I add a blog post and make a commit to the repository, GitHub handles the push by passing my files through a static site generator called Jekyll. The reason I like Jekyll is that it enables templating while keep everything minimalistic. It takes all my blog posts, stored in markdown format, converts them into plain old HTML with my built-from-scratch templates. No magic here.
You may find the complete source code here: https://github.com/ziyan/ziyan.github.io
There is no MySQL to manage, no Apache to configure and no server to maintain. Since all resources are static and pre-generated, the latency on my website is minimum. On the other hand the scalability is, well, free and as much as GitHub can handle.
I am also no longer tied to any service provider. For example, I can now deploy my generated content just as easily to Amazon AWS S3, and serve the content out of CloudFront to achieve the same blazingly fast site performance.
Jekyll has also given me total control over every detail of the generated site. This is a perfect platform for showcasing some of the trending web development technologies that I’ve learned in the past few years, including Haml, Sass, CoffeeScript, and Pjax, which I shall explain in a future post.
Hopefully this new site will get my habit of blogging rebooted.