Hello there! It's been a long time since my last blog post (May?). Actually, there's been technical issues lately with my blog. It just got clunky to work with especially if you have to work with different machines, in different locations, and different moods. If you add a very terrible hosting service, plus a terrible blog framework... you flip tables!
WordPress + PHP + MySQL
So initially, my site was built on WordPress. Got a good theme, installed a lot of plugins, and rolled with it for a few months. It was good until things got a bit wonky.
The site became slow as it grew. The hosting company's MySQL service was getting worse. I get 500 errors often for unknown reasons. It's not that bad for a nobody's blog. But if it goes down whenever I'm around, that's just too much. So I went out to find another solutions.
Static Site + PHP
I still went with the same host, but this time, decided to use static site generators. It was under the premise that the site went down due to MySQL connection problems and PHP compatibility. Static sites should never have problems because that's what they are, static. But I wasn't out of the woods yet.
The hosting availability just got really unstable, that there's nothing I could do from my end. I tried another host, but things didn't change. I'm guessing that the Cpanel XAMPP stack is just outdated I guess. Plus the whole build + FTP workflow was jsut slow. I had to have FileZilla, and reupload everything since a static site generator updates every page for any change.
Static Site + Github
So I still like the idea of a static site and was under the premise that the host I used was terrible. I had to find another host, one that's reliable. This time, I used Github. It was a good idea because it was fast, had custom domain support, plus you can use the same Git workflow as you would with code.
However, deploying was a pain. I had to deal with git subtrees/submodules/whatever they were called. It was annoying to deploy, especially if you do tree-altering operations like
commit --amend and all that. Even worse, the built site had to be versioned. Small changes in the content source becomes a huge change for the generated content. Github... wasn't for content that updated often. It's a code repo.
Medium vs Svbtle vs WordPress
Well... I was about to move over to one of these guys. However, Medium uses a WYSIWYG editor. I want to write in Markdown. Svbtle is similar to Medium, but has markdown and custom domain support. However, it wasn't free. WordPress... didn't I just say it was terrible?
Static Site + Openshift
Then I remembered what I did our thesis and major projects in college with OpenShift. I remembered how fast it was to deploy our projects with a simple
git push. Unlike Github, I can do a build step on the server, freeing the local from checking-in build outputs and having it built on the server instead. It's a win.
So now, this site runs on OpenShift, inside a NodeJS cartridge. Why Node.js? Uhm... read my bio. I could have gotten away with the PHP cartridge if only it's Node.js and npm weren't severely outdated. Otherwise, PHP would have been fine for service static content. With Node.js, while it wasn't a problem, I had to write a little static server using Express. Not so server-less.
OpenShift is awesome, and my blog is back online. Wasn't that long to transfer the crappy domain name over to OpenShift, but hey! It's free! I shouldn't be complaining. The only thing I'm worrying is that the theme hasn't been updated for a while. Making matters worse, the markup is built with Jade, plugins in CoffeeScript and... urgh! Either I will learn both, or just change them to Mustache and vanilla JS. How does that sound?