Tuesday, February 21, 2012

Hacking all night @ NUSHacker's Hackathon

*Images of my happy teammates =D

Ha ha we won 2nd prizes of NUSHacker's Hack & Roll event last weekend. It was fun (but not that fun, ahem) to stay up a full day to code = )

We built something we ever wanted:  a visualization of SOC modules dependencies. Every semester I when I select modules to take, I wanted to know which modules I could take if I take a certain modules. Sometimes I'm interested in a high level modules, I want to plan modules in advance so that I can take it later as well. But what IVLE / CORS offer right now is only the prerequisites of each modules.

Every semester, I wanted to build it. Last vacation I told Hoang (the guy wearing a black jacket on the photo) about  when we bid for modules, and incidentally, he said he wanted the same thing for long! It must be a common problem for a lot of students. When the hackathon came along, we decided that it was the time to sit down and make it happens.

We built a web app that solved exactly that problem. It shows you which modules a certain module depends on, and the dependencies of these modules as well. It also show which are the follow up, higher level modules of a certain module. You can see how a level 5 modules depend on a level 1 module! You can select and deselect a few modules to see if you can still take the desired modules. Pretty simple and straightforward. It's like a skill tree, if you play games.

Well, it's not that simple to build ha ha. We intended to build something simple so that we could complete in 24 hours. One of the reason we picked the idea was because we thought it was simple enough. But we ended up with having to write our own crawler (to crawl modules information), simple parser (to figure out the logic of modules dependency), and 5 iterations of UI to make it simple enough to view (SOC turns out to have 200 modules! And this semester NUS offer around 2000 modules! Ugr.) Coding took a lot of effort, but the hardest part was in visualization: how to present the graph in a nice way that actually usable. And even coding the graph was no easy feat, since Hoang wasn't familiar with Javascript & Html5 Canvas API and had to figure out how to visualize the things on the fly. It was hard to describe it now, but after 10 hours into the Hackathon, I certainly felt like giving up already. LoL. (I remembered some guys coming and asked us about what we worked on when we were at the lowest morale and I just politely told him to let us concentrate).

But we managed to made it in 24 hours, with a lot of sweat (and profanity, swearing and cursing). Darn, it was a sweat feeling. I didn't think that people would be impressed, but they were more than excited about it. They told us how they would love to use such service, and how they liked our UI, and such. That was happiness. But my friend put it better: it was the happiness of complete a thing.

We learned a lot in 24 hours hacking the stuff. Oh, and we happened to win the second prize of the event along the way.

I'll update the link to our service later when I have access to it. I don't have it now sorry :-(

P/S: I'm having a Playbook 16GB for sale ha ha. Do contact me if you're interested =P


  1. Congrats !! I was so happy when you guys won the second prize. Yayy...these are my tutors :D

  2. Hi bro can whatapp me 92957768.thks

  3. Hi bro can whatapp me 92957768.thks