Storytelling – Social Media Marketing

This is a very interesting keynote video from Gary(hm…actually, he is my boss.)
Especially, “Stories impact. Old school marketing makes little impact. Marketers ruin everything. Good one. Stories rule, and habits are changing.”

I still believe old school marketing methods like email newsletter can make pretty good impact depends on how you use it though.

Anyway, the truth is that marketing methods are shifting and so supporting IT technologies.
So as developer, how do we take advantage of these trends. There are fairly simple and easy ways.

Optimizing Database by Query Structures

In my previous post on database optimization, I focused on improving query performance by optimizing schema – exploring indexing strategies by reading the execution plan. In this post I’ll show how different query structures can also have a major impact on performance.

Dealing with OR operators in a WHERE clause of an SQL statement in MySQL can be tricky. Up until Version 5, MySQL could only use one index per table referenced in a query. A multi-column index can be used for  filtering conditions with an AND operator (which is more restrictive by nature), but a condition added by OR must use a separate index because of the logical nature of the opertaor. (a union, as opposed to an intersection that the AND represents)

Build Custom Android Rom

I had a project that need to modify company phones rom. Such as adding locked feature and limiting a few functions.
Well I couldn’t find simple tutorial for simple enough work. so I am posting this for someone who is looking for easier and simpler approach to building custom android rom.
And I am also adding basic for non-programmers/non-developers who want to build their own rom.

What follows is more a simple explanation on how to build an Android ROM. I’m going to discuss several parts that can’t be absent if you want a fully functional Android phone, from the software point of view that is.

Here’s a brief summary :

  • Kernel
  • Libraries (and modules)
  • Bootloader
  • Recovery
  • Radio
  • Apps, framework, core, android-runtime, etc…

Database Profiling / Performance Analysis

Database performance is one of the major bottlenecks for most web applications. I saw most developers are not database experts (and I’m no exception), there are however several basic methods to analyze and optimize database performance without resorting to expert paid consultants.

The Performance Equation

Database performance is affected by many different variables – the running machine specs, OS, database engine and configuration, table schema and the queries running against it. As for OS and server specs, I’ll take them out of the equation as I want to talk about optimizing relative performance on the same machine.

In this post, I will talk about:

  • The structure of database tables (schema)
  • The structure of application-level queries (SELECT, UPDATE, INSERT, DELETE)


I am open. If you encounter any problems or have questions about something I’ve done feel free to drop me a notice on my contact page or leave a comment.

Builder Interview

I recently found an interview post which I took a few years ago.
It was mostly for junior web developers in the company. (seems that it didn’t go

And there are things that I want to talk and discuss about.
Please feel free to leave your comment

  • Language for server side and client side
  • – Obviously, you can use same language for both side. such as javascript.

  • Frameworks vs Platforms
  • Coding standard
  • Duties of developer vs designer
  • – I’ve been worked in agencies for long time so this, sometimes, became an issue so.