Filter is used on a lot of application with many use cases. While you could use a hash table in a lot of cases, it would usually require same amount of memory capacity of the list you want to filter on, and sometimes it’s an issue. Then Bloom Filter comes into the play.

Read more »

If you noticed a weirly performing Linux server, what things are you going to check in the first minute after jumping on the server? Assuming it’s not soooo bad which is denying all incoming requests. :)

If you are alerted by some preestablished metric thresholds, like “low disk space”, “low free mem” etc. The best practice is probably just fill in the prescription: throw out some logs or kill some long running processes. Here I want to talk about more debugging checks, and gives you a quick understanding of what is happening on the box at the moment.

Read more »

This was a challenge posted by Aliyun, which is the cloud computing business of Alibaba Group, for the “shopping carnival” on 11/11 every year, which date also known as “Single Day” in China.

Here is the original chanllenge:

There were three hints:

  1. Colorful anagram, green and red stand on opposite side
  2. Ancient encryption technique, invented 300 years ago
  3. In programmers’ world, 1+1 != 2
Read more »

Recently I have been developing a web app, which provides a single endpoint that wraps up several other micro web services for basic CRUD operations. If considering latency is important, a lot of popular web app stack/framework, like Ruby on Rails, Flask, and LAMP (most of my experience) only support blocking IO, and in my case I will have to make all API calls in sequence which could slow down the whole app.

Therefore, Async is the rescure. With the growing hotness of Scala, it supports really good interfaces on async programming. Here I’ll talk about my recent dev experience with Scala and Play Framework.

Read more »

Pagination is one of the key concepts of Restful API. I don’t want to repeat its advantage and necessity, because everybody already has the sense to do it. In this article I’m just going to talk about different ways to do it, on MySQL database.


Macbook Pro OS X El Capitan, i7 with 16G RAM
MySQL Ver 15.1 Distrib 10.1.8-MariaDB

Read more »

Before start, I should really say this is not the best way to create a blog. There are other easy ways, or more powerful ways. This is just me trying something new, and most importantly, have fun.


Linux, Git, Node.js, CSS

Get Your Domain

First you need a personal domain. There are bunch of places, I got mine from GoDaddy.

If you find your preferable doamin with .com suffix is not available, try .net, .io, .me, but NOT .gov, .biz, .info which are pretty inappropriate.

After you got it, you can go to the manage page, and set “Forwarding” to your facebook page or twitter page, just for fun.

Setup Your AWS EC2

Read more »

Welcome to my space, this is my first attempt on post something with Hexo.

Love the NexT theme!