Page 2 of 3
Newer Posts Older Posts

Kafka + Heka to Bigquery Setup for Realtime Logs
Jul 04, 2015 4 minutes read

This is part 2 of the 3 part series of a quick intro of the realtime logging system in Wego. In Part 1 of this series, I talked about how we generated Go packages for Protobuf (protocol buffers) in Wego.

The packages allows us to process 2 different modes of communication protocol with just one set of schema defined in proto files:

  • json package...
Read more →

Golang + Protobuf
May 05, 2015 6 minutes read

(This is part 1 of the 3 part series where I discuss how we handled one of our new API projects and the usage of Protobuf + Heka + Kafka + BigQuery to view realtime logs.)

Recently, I’ve had the chance to work with Golang in Wego to build our analytics API that will log our visits into flat files + upload them into Kafka for further processing,...

Read more →

Predefined Structs vs Type Assertion in Go
May 21, 2014 5 minutes read

Suppose you have a JSON of this format:

    "collection": [
        "name": { first_name: "Ho Man", last_name: "Boa"
        "phone": "123456"
        "name": { first_name: "John", last_name: "Lee"
        "phone": "2345"


There are essentially 2 methods to do this, using pre...

Read more →

VIM Toggle Background Scheme
May 20, 2014 less than a minute read

Have you ever wanted BOTH the dark and the light background schemes in VIM? Perhaps in the day, you feel that you can concentrate better with a light background and at night, the dark. I did! So I bound one of my Fn keys to do just that.

This works well for color schemes that offer both dark and light versions, for example Solarized.

let g:scheme_bg...
Read more →

Opt-Arrow Navigation in iTerm2
May 12, 2014 1 minute read

Something that most people use frequently but take for granted for sure is the use of Option + Arrow keys to navgiate between words in Mac OS X. Its just something you use and not think about much and it becomes second nature almost. So when I moved to iTerm, I’m sure a couple of you would have wanted to maintain the the same behaviour of that in...

Read more →

Block Scope in Javascript
May 07, 2014 2 minutes read

I do abit of development work using plain Javascript on and off. I’ve written OOP modular Javascript for Wego as well but my development work is never really deep enough to encounter all the classic “noob” problems.

Today I came across one. It was something that got me a little mind-blown because it is something that I have entirely taken for granted...

Read more →

EmberJS + JQueryUI Date + Moment.js
May 04, 2014 4 minutes read

When handling the dates in one of my EmberJS apps, I had to find a date picker to work with. In the end, with the recommendation from my fellow colleagues, I went with jQuery UI's date picker + moment.js for the parsing/display of the dates.

The Issues

There were a few things that kinda put me off guard. The first: when deserializing/serializing...

Read more →

EmberJS Computed Properties vs Manual Filter
May 04, 2014 2 minutes read

The problem begins when one of my ‘filter functions’ for the my model (delayed/active tasks lists from all tasks) wasn’t getting reactively updated when the store gets new entries or updates. When I found out why, I thought to myself that this is actually a pretty easy scenario to fall into IMHO.

I realised that I wasn’t actually utilising ember...

Read more →

CMD Function to Browse Git Branch/Compare
Apr 29, 2014 1 minute read

While I am doing development work on projects, be it at work or at home, I find that something that I do at least a couple of times (or more) daily. After commiting and pushing the changes, sometimes I want to go to the branch on github from the terminal to either create a pull request or to just view all the commits/diffs altogether. It gets a little...

Read more →

Dnsmasq for Local Dev
Apr 28, 2014 1 minute read

I work for Wego (hotels/flights metasearch) and we’ve got many sites for the various cctlds. To test them after frontend development, usually I’ll just add like to my host file and direct it to but sometimes it gets a little troublesome, especially when the autocomplete forms breaks from without the 3000...

Read more →