Moving Hosts From Github Pages to Amazon S3

I’ve decided to simplify the deployment process and instead host the blog at S3.

Read On →

Preparing for a Hackathon: Choosing Your Platform

One of the best things you can do during your hackathon presentation is to have your hack available on a publicly accessible platform. You can definitely just host your app in your local machine for the demo, but it is more powerful and impressive if you can involve everyone else in a room and get them to play with your hack during your demo.

Read On →

Preparing for a Hackathon

I once posted an answer to one of my friend’s question: Guys, how to win hackathon and I thought I should expand more about this.

Read On →

The Tick-Tock Innovation Model Applied to Agile Methodology

You’ve probably heard of the tick-tock model that Intel is using.

It’s a model where every 18 months, there’s a new focus on the chip architecture: the tick is a shrinking of the chip (which requires retrofitting their manufacturing process to support the smaller size) and the tock is an upgrade of the architecture itself, using the current manufacturing process.

Read On →

Setting Up and Automating my Hugo Blog Deployment to Github Pages


This is largely obsolete. I have setup a new process to deploy to Amazon S3 amd I recommend it over Github Pages.

I’m currently moving my blog posts (and collecting all my blog entries from various blogging platforms) and putting them into Hugo. In case you’re wondering how I’ve set mine up, here’s a guide of what I’ve done.

Read On →

Redoing my Blogs

Yet again I’ve ported my blog into yet another blogging platform - Hugo. I feel so strongly that I’d be staying for quite some time on this platform that I’ve been porting over all my other posts in all my other various blogs over here. It’s quite an interesting blogging platform. It outputs static files, which means hosting options are very cheap with a wide variety of providers.

How I Hire Developers

I was invited to pressent at the KL Ruby Brigade and I thought I shuld mix things around by talking about something not very technical but still very much relevant to the audience. Since I’m in charge (but saying “in-charge” is a bit of a misnomer since in Mindvalley we don’t really have predefined job descriptions) of the internship program for new tech hires, I figures I should share some of the things I consider when interviewing and hiring people. Read On →

Getting Data From a Join Table in Rails

A friend asked in my Ruby Facebook group about a problem he was having that I feel I’ve encountered before (or will be encountering in the future). It’s about having to retrieve data that is associated with a join table.

Here’s the question:

I have set ActiveRecords models like these

I want to do something like current_user.boards.first.role which I expect to load the membership details of current_user AND the first board. Do you have any idea how can I achieve this? Do you suggest another approach?

Read On →

Setup and Configuration of my Machines

Work In Progress

I’m still in the middle of writing this article, and I probably will be always updating this.

I’ve just recently (re)installed Linux on my Acer V5 122p. Had to fiddle around with UEFI settings thinking to preserve my Windows 8.1 partition, but eventually I had to bite the bullet. I wiped the whole partition clean and turned off UEFI so my installation would be a lot simpler.

Read On →

API Documentation with Grape and Swagger

TL;DR Use Swagger and Grape to create self-documenting APIs that automatically update themselves from metadata in the code. It also provides an API explorer to play around with.

During the AngelHack KL event, I (being the backend developer of the team) had to create an API to facilitate communication between the iPhone app and Twilio. Since it was a hackathon, there was not a lot of time to completely hash out API protocols (as well as explaining to my team mates how RESTful APIs work).

I was able to solve this by using Grape and Swagger. I can develop the API at my own time. When a particular endpoint was finished, I can push to production and my team mate is immediately able to see the documentation. He was also able to make use of the API explorer to test out the API’s responses to his queries.

We were able to quickly develop the whole project quickly and easily because of this, and here’s a quick look at using Swagger with Grape.

Read On →