Language Matters

For some reason, I enjoy learning languages, no matter it is the language of daily life sense, or computer sense.

I can read and write in:

  1. Chinese
  2. English
  3. C/C++
  4. Java (a little bit)
  5. JavaScript (Not to compare it with Hax)
  6. PHP
  7. ASP/VB/VBScript
  8. C#
  9. Propositional Logic
  10. Mathematics

I am looking forward to learn more. Some language I started a little bit (but I put some serious effort behind) are:

  1. Italian
  2. German
  3. Python
  4. Perl
  5. Lisp
  6. Objective C
  7. Japanese

I found how hard it is to maintain two blogs at the same time, one in English, and the other in Chinese. I found I tend to write in Chinese for long enough before switching to English, and vice versa. It is the same in programing languages. To switch from PHP to Python really took me some time these days.

Language is an expression of thoughts. But it cannot be separated from thoughts. I realized when I think of issues in startup, and technology world, I tend to use English in my mind, and when I think of feelings, mathematics, and local matters, of cause my preferred language is Chinese. When I write anything related with web, PHP is still by far the most natural choice for me, but for algorithm, I still prefer C (not even C++). I never liked Java. Never.

Because I swing between languages in daily life, I started to observe the impact of language on my thoughts. Some very long sentences can be easily constructed in English, but not in Chinese. But the spirit of many things can be so concise and precious in Chinese. I just like to use them interchangeably. I also use many English word in my Chinese, just like HTML inside PHP. Because there are many definition and history origins for certain word. For example, Hacker is a well defined world in startup world in English (I mean startup world, and the word hacker sounds scary for normal people who speaks English), but the 黑客 does not translate. I have to stick to that word, even in Chinese.

I hope I can continue to learn more language (Did I mention that I got 900 in the entrance exam for universities in 1995? The score range from 100 to 900). I learn

(sort (1, 4, 2, 3) #’<)

in LISP, and I feel I am a better CEO today when I talk with Joanna. I said:

A company is a sort function, and you have to decide what the second parameter is.

Maybe only LISP programmers can understand what I am talking about.

Aircraft Spotting at Hongqiao Airport

I am not a professional aircraft spotter, but I am also amazed by the scene of an aircraft roars and lands at airports.

The best place to do it I know is at G318 (at K16+). It is easy to find if you follow the 沪青平 highway and you will be guided by the big noise of the aircrafts.

There are lines of this, and flushing one after another, creating a guiding line toward the runway.

Below are some of the photos I took today. Enjoy the big flying machine!


ISO 8601

I am genuinely interested in numbers, and specs. I must be the strange person in other people’s mind, but I am just so excited to see things like numbers. For example:

1. CVC 22651

When travelling in California, I really love the CVC 22651 printed on the TOW AWAY plate, and traced to the following document:

2. ISO 8601

The smart guys want to solve a problem of how to represent date across the world (both west and east and both computer or human). So they invented something like:


and they call it ISO 8601 format.

3. RFC 2616

Maybe one of the most important RFC. It uses just 4 digits to express that. If you are curious, it is:

Hypertext Transfer Protocol — HTTP/1.1

The RFC has been there for 30 years, so I was pretty shocked to know there did exist an RFC 1:

4. 200030

This is pretty simple: the post code of the area I am moving around. I love the idea of postal code, but the way it is presented in China is not so up-to-date. The postal code of US seems more interesting, for example, 94301, or Singapore, where they assign a post code for every building.

5. Other random numbers

The more universal numbers are most interesting for me. For example, the ISBN numbers (isbn:0375420827 for the Art of travel), the mobile phone numbers (13916146826 for me), or even PNR.

Why I am so interested in these numbers? I am still puzzled and don’t have an answer. Maybe that is the inborn instinct of an engineer?

Elastic Search Solved a Problem

  "ok" : true,
  "status" : 200,
  "name" : "Gardener",
  "version" : {
    "number" : "0.19.8",
    "snapshot_build" : false
  "tagline" : "You Know, for Search"

These lines of response from Elastic Search at http://localhost:9200 seems so nice. I smiled when I saw this response, and I said to my self: “Hack! Those guys at elastic search really solved a problem.

They defined a problem in their statements, and they solved the problem. Doing a lot of things should be easier and easier  - that is the thoughts of typical hacker. Why should I even need to download something to my server to run search? I may further ask the question. I believe some hacker out there will solve this problem.

You know, for Search

So, we build a web site or an application and want to add search to it, and then it hits us: getting search working is hard. We want our search solution to be fast, we want a painless setup and a completely free search schema, we want to be able to index data simply using JSON over HTTP, we want our search server to be always available, we want to be able to start with one machine and scale to hundreds, we want real-time search, we want simple multi-tenancy, and we want a solution that isbuilt for the cloud.

“This should be easier”, we declared, “and cool, bonsai cool”.

elasticsearch aims to solve all these problems and more. It is an Open Source (Apache 2), Distributed, RESTful, Search Engine built on top of Apache Lucene.


Any company started with an observed problem in this world, and people in the company get excited about solving that problem. If they solve that problem, they created something people want, just like those guys created elastic search, which is what I and Xiaopai wanted.

If you create something people want, you are likely to be fine. People will take care of the monetization problems and others easier than creating something people want. I saw a good model in Elastic Search.

Value of Technology

New ways of doing things, like elastic search takes JSON as input and output, and adapted schema free, and NOSQL type of approach is new way to do search, and that works very well for me.

It is the technology that makes this world better (well, among many other great things), and I am happy to be still back to the technology world.


Bad Programmer Destroys Wealth

After code review, I understood why people say bad programmers destroy wealth. Their productivity is less than 0, which means they are creating bugs and drag the team to fix it. I consistently saw really bad and buggy code here and there, by one programmer who is not at our company. But the code there is guaranteed to be bad, and buggy. Interestingly, bad programmers are very productive if you measure by lines of code they created. So identify them! Early!

Typhoon is Over

This year’s Typoon is over in Shanghai. Actually some nice changes happens this time.

Typhoon hits Shanghai almost every year. Although not seriously, it does impact the lives.

This year, the biggest difference is not the typhoon itself. Yes. It is stronger this year, but the biggest difference is the government.

The Beijing’s heavy rain claimed lives of nearly 100, and Shanghai government acted very proactively. They started to use the post-SARS type of effort to inform residents about what is coming. They also shutdown parks and some public events. At least, this time, due to the recent pressure of the press, and Internet, they are doing reasonably well.

For sure there are many concerns about what they did – they claimed that being late should not be regarded as being late for businesses, and many other measures. I think they may over used their power, and no one granted that type of power to government. (Well, if we have a congress or local city council, I may vote to grant that power, but so far, there is no documents saying so). Having said that, I still applaud for what the Shanghai did, because it is the first step to “doing something” instead of wait passively about what is happening. By “doing something”, it may cross the line, but a very good starting point.

Yesterday was obviously the heaviest rain in recent years, but it was not that bad based on my personal experience. STRONG DISCLAIMER: I didn’t see flooding does not mean there is no flood, but equally important is, I cannot claim flood if I don’t see it personally. That is just the difference of perspective, and we need to put the information together. I am bringing my piece here.

There are several leaks in my house, and I have to swipe the floor from time to time. But compared to what happened in Zhejiang, it is just nothing.