The Way I Code

Over the time of learning and practicing various programming techniques, on personal and organizational projects, I have developed a discipline on the way I code - I should code for my users.

Read more »

Open Source Charting Libraries I Have Tried

In a recent project, I needed to maintain quite a number (8-9 and growing) of charts that support “real-time” data updates (1 second interval) on a single page. The following open source libraries are what I have tried.

Read more »

Shareable Code for Node and Browser

I had a simple problem along the way of exploring Node.js, which involves writing modules that work for both server and client sides. Just like many programmers nowadays, I google’d out a solution (which was written by the person who authored async, so I guess I need to thank him at least twice).

However this doesn’t solve all my problem since I am way too lazy to get rid of all those amazing open source libraries.

Read more »

Inbox 0

“Yes, you have my full attention right now.”

TL;DR: Archive emails (ham), with discipline.

Read more »

Latest Toys

I have been toying around with a few ideas lately, the process allowed me to tackle some interesting problems by ways that are not so conventional, at least not the ones from Google page 1’s.

Read more »


I was joking the other day, that by looking at the current Ubuntu version number, one could realize how fast time goes by.

Though I believe these time based concepts are just illusions that human beings created, that I would rather not let them clutter my mind as other unworthy things, they matter in the real world, or meta world that I would like to call it.

Read more »

League of Legends and Software Engineering

It was about the same time when I got into the amazing worlds of programming and strategy games, when I was about 16 years old.

Ten years later, I’ve figured out some astonishing similarities between them.

Read more »

Tame (Py)cURL Part 2

Previously, we discussed the possibility to hack PycURL to achieve somewhat a more controllable HTTP streaming client.

Today, let’s add some Redis ingredients into our recipe and make this tool more controllable so that we can solve the remaining problems aforementioned.

Read more »

Tame (Py)cURL

Recently I needed to have something that allows me to have more control over my data stream client, so that:

  1. When desired, it would stop and close the connection as gracefully as possible.
  2. A precise counter for how many records have been received is in place.

The initial implementation was quite straightforward:

Read more »

Droplet 2

As mentioned earlier, I finally dropped virtual host and rented myself a Droplet. It’s cheap, easy to setup, no downside yet (except that it’s a really small instance compare to what I work with during day times).

I’ve wanted to move our to a VPS for a long time now since I don’t like Wordpress without heavy optimizations. With a virtual host there wasn’t much I could do.

Read more »

Needed a Drop

GitHub page has served me well. But since I already signed up a $5 VPS at, I figured it’s time to switch to gain more control and pollute GitHub commit number no more.

Here’s a list of things I did with this little devil:

Read more »

Reader In Peace

Just about a month ago, I decided to fully switch from Google Reader to Twitter for news aggregation. The reason was simple, I always had 1000+ unread feeds, and at the end of the day, I’d just ‘Mark All Read’ and let go; Twitter does exactly that, all automagically.

After being a long time user of Google Reader, I want to jot down some thoughts about it.

Read more »

No Cache for Blog

PHP was the first programming language I learned, no matter how bad you think it is, it has its fair share of contribution toward my knowledge pool today. During that learning process, other than programming insights and techniques, I learned two things:

  1. PHP is frustrating to work with
  2. Wordpress is a really good blogware

After years of using Wordpress, I decided to try something new. It’s not like I blog a lot anyways, but it’s nice to have something to perform my brain-dump. The major reason behind this decision is due to the way blogware of its generation are flawed by design.

How so?

Read more »