Solute to Hackers

Look at this piece of code at the header of Hello Dolly plugin by Matt – maybe the first plugin of the WordPress system (you can always find this piece of code in any WordPress installation. Look for it in the /wp-content/plugins/ folder). Think about why the plugin has something to do with music! Think about why the description reads that way. What do you sense from a developer’s code?

/**
* @package Hello_Dolly
* @version 1.6
*/
/*
Plugin Name: Hello Dolly
Plugin URI: http://wordpress.org/extend/plugins/hello-dolly/
Description: This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly. When activated you will randomly see a lyric from <cite>Hello, Dolly</cite> in the upper right of your admin screen on every page.
Author: Matt Mullenweg
Version: 1.6
Author URI: http://ma.tt/
*/

In this particular example, you found again the interesting connection between code and music, code and art, code and books, code and philosophy. Interesting developers are particularly active in other fields.

The vision expressed in the note: “This is not just a plugin, it symbolizes …” is exactly how developer seem the world differently than others. It is NOT just what it is, it IS something bigger, and code is just an expression of it.

Solute to Matt, and other hackers. I know why WordPress succeeded and MT didn’t. It is the lacking of this spirit after Ben left.

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!

 

Technical Thinking is Not Necessarily Technical

During a meetup organized by my friend Amy, I met Chris. He is a technical guy – very technical. Besides his work at a high-tech company, he did a lot of things technical. This is what Amy told me.

His grass is greener than all his neighbors, because he really took the soil into the lab to analyze what’s in it, and what is lacking for grass to grow. He added a lot of ingredient and makes it better.

He has a lot of helicopters, and he is good at it. He remote control them and have a lot of gadget around this hobby. He wrote the firmware for its heli, using the 16K memory.

Once his friend put her iPhone into washing machine, and crashed afterward. He opened the iPhone, removed the broken part (which obviously show some burning damage) and finally recovered the data.

The story of Chris goes on and on.

The inspiration for me is, technical people are very different. They are the driver of the advancement of the society. They are not only good at what they are trained for. The thinking methodology, and learning pattern is what made them unique.

I thought of Hax in my company. Besides a Javascript guru, he was really good at renovating his house, when he was forced to start the project. Being good at almost everything, and dive deep into the details are the common pattern you can find out in technical people. One of my favorite questions I ask technical guy during interview was, what are you good at, and then explore how deep he/she goes.

Technical thinking is not necessarily just technical. It is an atitude of life.

 

Startups should be in Bad Areas – SOMA

I had some quick discussion with Matt during a meeting.

I realized that SOMA (South of Market) has been the new hot place for startups. There are many of the well-know startups there: Wired, Twitter, Dropbox, Justin.tv, BT, Yelp, Zynga, Rapleaf. Previously, Six Apart, and Rojo were there.

Recently, the government is putting a lot of effort there to turn it into a better place.

I said: Startup should always live in bad areas. Because by definition, startups should run very cheaply. Where is the cheapest place to rent? Bad areas.

Matt mentioned that bad in San Francisco area means a peson pointing a gun to your head when you leave office at night. I said: Yes. That is exactly bad area – some area that is so unattractive to others so startups come. If the area becomes too good that even established companies want to move in, it is no longer the place for startups.

The M50 is exactly the same story. The 50 Moganshan Road was traditionally an art district in Shanghai. The artist poor enough to even survive in Shanghai found the bad warehouses attractive so they can work on their art and sleep there. That is very cheap. I spent about 1500 RMB to rent the whole warehouse to hold my Personal Photograph Exhibition there. Now? Impossible. It has became the hotest site for visitors, and expensive bars are rushing in and pushing artist away.

Startups are really a different type of animal and that explains why most government sponsored tech park does not work.

Upgraded to iOS 5 on iPhone 4

With a night of download and a hour of installation, my iPhone 4 now runs iOS 5, the newest mobile operating system. The most exciting feature of iOS 5 is iCloud, and I am testing it right now.

First iCloud Experience

So far, the iCloud Experience was good – the photo stream feature basically delivered what it promised, but it is not as fast as I expected it to be. The photo will appear on my computer about two minutes after it is taken – not immediately. Should Apple strive to make it happen? That will be more intuitive (a typical demanding user).

Camera with a click

To make the Volume up button a photo-taking button is not rocket-science, but it worked. Interesting design.

What’s New?

Besides these obvious changes, the excitement of a new OS quickly fade out. iOS 5 didn’t add any significant feature other than the small improvement, and my night’s effort quickly looks not as exciting as it seemed to be. That is how interesting people’s expectation almost always higher than the actual – expectation for any new gadget or house, or whatever.

Will MacBook Air / Mac OS X Lion Release Tonight

What an amazing change! It has been a long time since I have ever expected the launch or release of something. Mac OS X Lion and MacBook Air are what I am expecting now. There is rumor that they will be released tonight (morning of US time). What was the last time I was so excited for something? Windows 2000 release?

I’d like to show my respect to Jobs, who have left Apple, according to him, to really think about the value of life, and back to Apple. I am sure because of his health condition, money and fame are no longer the reason for him to design, but he really made it possible to create something that is so wonderful. He is just great.

The Apple Store in Shanghai is in its normal status as we passed it tonight – no lines, and nothing special, but I guess tomorrow, it will be different.

I wrote about Why I won’t return my MacBook Air and Why I WILL return my MacBook Air. Then I realized how hard I am to make simple decisions. Surprisingly, I found Yifan is so calm and sure to make decisions. Whenever he enters a toy store, or stationary store, he knows exactly what he wants, and he just want that specific thing, nothing else. He just won’t change his mind of what he wants to get, regardless what others say. Amazing!

P.S. It is official. After I hit “Publish” button of this blog, I saw the home page of Apple changed to “The new, faster MacBook Air”. Wonderful. It is real. MacBook Air is release, with Lion. Bingo! I will go to the Apple Store to get one.

The 13′ 128GM is priced at 9998 RMB, but the online stores says there is nothing in stock, so I cannot buy it now. But I will when it is available. At the same time, Mac OS X Lion is available for download in App Store. Wonderful! I am downloading it now.

I Bought Myself a MacBook Air

I passed by Apple Store in downtown Palo Alto, and bought myself a MackBook Air 13” 256G notebook. I have been a fun of iPhone, and want to continue my explore to other Mac product. I wanted to buy iPad 2 initially, but at second thought, I may use a laptop more frequently iPad – a physical keyboard is the key to me.

Sense of Relief

I am currently a proud Apple user. How strange it is if you put this into perspective – I have been working in Microsoft for 7 years. It is not politically right to use Apple product, or Linux product. Now I am a big fan of PHP, Linux, cheap scalable servers, and enjoys Apple. Of cause, for search, Google.

That is an interesting topic about how much a person should bear the identity of his/her company. Not working for Microsoft actually gives me freedom to try different things, and holds, well, hopefully, more balanced view.

For a person who work for a company, but enjoy using its competitors’ product, shall I admire his/her openness, and wisdom, or shall I blame him for less of ownership, or don’t have passion needed to improve a product?

Which is the right way to go? I find it hard to answer.

Humanity is Optimist-ism

It is human’s basic need to feel part of something, to belong to something bigger than him/herself. That is maybe the source why so many people like the product, and uses the product of his/her own company only. That is very nature. I would assume that the “narrowness” of people who stay in one environment, and the “fake sense of confidence” (things like both side of a football match believes “We will definitely win”) are very key to humanity. People always over-estimate him/herself’s ability, and over estimate how likely to win for his/her own team/company/country, or others, you name it.

For example, if you ask people about how good looking they are, and rate it from 1 to 10, with 5 as average. I believe the surveyed average should be above 5, which won’t be true. Over-optimistic!

Ask people about how much chance they may break a leg? The ratio should be lower than actual.

Ask people how well they can do math? The same thing, the surveyed average should be higher than average. Over-optimistic!

I am happy that I am not over-optimistic to Microsoft product today, but I don’t feel about not-being-so 6 years ago.

MacBook Air

Well. I will keep the box unopen, and try it out later tomorrow night.

All Apps Crashes after iOS 4.3.3 in iPhone

I cannot believe Apple can have such a common and show-stopper bug. It did happened.

After I upgrade my iPhone to 4.3.3, all my downloaded application (from App Store) crashes. I can only use the native applications.

The solution was also amazingly simple:

Delete any App, and download it again from App Store again. Restart that App.

Not only that App works, all the app works normally. If you want more certainty about the steps, I delete Instagram and reinstalled it. Then it worked.

Hope this helps.

Android Seems to be Very Easy

At 3 PM in the afternoon, started to read an Android book (Hello, Android, Introducing Google’s Mobile Development Platform, Third Edition) and started to write some Android application. It turned out everything was simple and smooth, much better than I had expected. It always takes people some time to learn new things, and as a technical guy by heart, I just cannot stop and don’t do some coding on the Android platform myself. It won’t occupy too much of my time, since my time is better used in other stuff than coding, but to get a real sense of a system, the best way is always to do it yourself.

Node.js is Exciting

Sign… Sometimes, when I got caught by some interesting and exciting technology, I was completely caught by them, and started to spend hours to figure out how to use them. The new toy for me this afternoon was node.js.

Reserved iPhone 4 at Apple Store

After a meeting from 2:00 to 3:30 PM in downtown Palo Alto, I passed an Apple Store at 451 University Avenue Palo Alto, CA 94301 (650) 617-9000. Sometimes, shopping idea just happened at a flash of thought – I never thought about buying iPhone 4 before, but when I played it for a while, I decided to spend the $599 to get one. That is the difference – if you feel something on your hand, feel its weight, and play with it for a while, and most importantly, when you feel it is closer to you, and you can get it with a small action, you are more likely to buy it.

That was what happened to me.

Obviously, there is no easy way to get an iPhone 4. There are no iPhone in stock. There is similar poster on the Apple Store as on RadioShack, and other places selling iPhone 4:

Due to popularity of iPhone 4, there is limited or no supply for iPhone in this store….

I used the online system to make an reservation. When an iPhone is available, they will send me an email to pick it up at the Apple Store. Since there is no obligation to buy, it made the decision to reserve one even easier.

So, I am on the waiting list to get an iPhone 4. I just hope it arrives before I leave Palo Alto, although the chance is not very high.

Good job, Apple for generating such huge demand for a single product. When I walked out of the store, I realized Apple’s headquarter at 1 Infinite Loop, Cupertino, CA, is just 10 miles away by driving from where I stood. Silicon Valley is really one of the tech capital of the world – I also realized that the iPhone will actually be manufactured in a factory somewhere in China. It is very likely to be in Shenzhen, where some young workers just sadly committed suicide. This world is more and more connected and we often realize the lines connecting the dots in special occasions like this one – when someone just reserved an iPhone.

Facebook is …. Scary

I intended to use the word ambitious as many people used in their review after f8, but I really feel scary is the better word – that is more than ambitious – that is super ambitious.

The announcement of Facebook on F8 is very exciting. I just spent a little time to try out these features. Below are some buttons you can try to play with. Be cautious: I need to tell you this, clicking on the like button will tell your friends that you Like Wangjianshuo’s blog, which may be true.

Like button:

Activity Feed:

Recommendation:

I should have implemented on wangjianshuo.com, but I cannot, because Facebook.com is blocked in China and adding that iframe will trouble my domestic readers.

Facebook is a good company

When Google was about to IPO, I said this to Wendy: “No matter how expensive Google’s stock is, we should buy some.”

It turned out that it was about 100 USD on the first day. “What?” I was shocked, and did nothing, because I realized “No matter how expensive” really means “not higher than 30 USD per share”.

For Facebook, I repeat again, I will buy its stock at whatever initial price it is. This time, “whatever” does mean “whatever”.

I Sold Out my Google Nexus One

One month after I bought Google Nexus One (I Should Not Open Nexus One at Night), I finally sold it out in Baixing.com Second-hand Phone category at a little bit lower price than I bought. If I had sold it the first day when I am got it, I can make a decent profit out of it, but the price of the new phone dropped from 6% higher than US to relative the same price in the last month.

I never wrote a serious review of this phone. My summary is: a full function phone that does not work.

Full Function

This phone has all the interesting input features that a phone should have – GPS, a magnetic sensor to report south and north, a nice high resolution camera, multi-touch touch screen, and all type of motion sensors.

The hardware and the Android platform support many great applications from the Google Android market place. I downloaded many of them. Among the applications, the most used are

  • Twidroid
  • Google Maps
  • Google Mail
  • Google Reader/Buzz

Most of the functions are also popular in other platform like iPhone, and Nokia.

A Phone that Does not Work

The Nexus One gives me similar impression as a Dell with Microsoft Windows – an ecosystem that many application run, but crashes from time to time, and can be slow.

  • It hangs from time to time (maybe because I installed too many applications)
  • Application crashes often, or stop responding
  • The ring tone is really bad – not bearable to use speaker
  • Touch screen frequently do not work

There are more than that. To be fair, it is a nice phone, but does not justify the price. I decided to get rid of it when it still sells a good price, and switch to others.

The Transaction

I listed the phone on Baixing.com and was called immediately by a man. It turned out he is a dealer, and since he is the first person to call, I met him at the Xujiahui Metro station. I gave him the phone and he gave me the cash. Deal done. When we conducted the transaction, some called to offer higher price, but it was too late.

Giving up my Stuff

The modern life is life full of different fun toys. We are surrounded by all type of things we buy. After I sold out my phone, I immediately regret. I missed the high-resolution camera, and large screen, and very well integrated GMail client on the phone… I touched my phone pocket three times, and suddenly stopped on the way back, thinking that I may have lost my phone – the feeling of having nothing on the right pocket in my pant is so strange. I spent the next 3 hours without a phone – rare moment in my life. I only have a SIM card in my wallet.

Besides that uncomfortable feeling, another feeling is refreshing. I felt my life is lighter, and I am fresher than before. We have to sadly accept the fact that we are going to lose everything around us in 100 years. To try to start to sell our stuff help to keep us in a mood of losing our favorite stuff, and that can help us to appreciate what we already have (but not lost yet) much more. I sold out many stuff many months ago (Chinese blog), and will continue to sell it on Baixing. That is not just about money back, it is more of a philosophy of living lightly, happily, and wisely.

ThinkPad to Dell Latitude E4300

After using IBM ThinkPad X60 for three years, I finally switched back to Dell. The reason I am using “Back” is, my first laptop is a very big Dell laptop, and I am a Dell user for several years, when I worked in Microsoft. Only after Baixing did we start to use IBM. The reason I used “ThinkPad” not IBM is, I don’t know how I should address it – it is no longer IBM ThinkPad.

I did the comparison between IBM and Dell in my previous post, and found out Dell offers better quality, better service, and relatively the same level of product as the current ThinkPad.

In the competitive market, any small change can be quickly picked up by end users, and shift from one vendor to another – the beauty of market!

I Should Not Open Nexus One at Night

I made a mistake. I should not have opened Nexus One at night. I just cannot resist the temptation to open it, charge it, and entered my Google Account. Then what happened? I spent about the last one hour, from mid-night to 1:00 AM to play with it.

Just I wrote in I Bought Nexus One, it is like the story of Little Horse Crossing River. How this little horse feel?

It is completely wonderful! I love it. Maybe it is because the problems Robert Mao described has not happened in the first hour. The phone is very impress, especially the email and contact sync part. This little horse is very happy.

I need to go to bed to avoid missing tomorrow’s meeting now.

I Bought Nexus One

I finally bought Google Nexus One.

I know there are many people who said bad things about like, like Robert Mao; and I have other friends who really liked it (although they said it is not as good as iPhone, but still worth trying if I am a heavy Google user). After reading so many reviews, I get more and more confused, and then I thought of a story, the little horse crossing the river. Ant Cow said different thing from little squirrel to the little horse.

So, the best thing is, try it out, and if it does not work out as I expected, sell it on Baixing.

Here it comes! It is on the way!

Feb 24, 2010 7:41 AM

At local FedEx facility

MENLO PARK, CA

Feb 24, 2010 5:21 AM

At dest sort facility

SAN FRANCISCO, CA

Feb 24, 2010 3:08 AM

Departed FedEx location

MEMPHIS, TN

Feb 23, 2010 11:30 PM

Left FedEx origin facility

INDIANAPOLIS, IN

Feb 23, 2010 11:29 PM

Arrived at FedEx location

INDIANAPOLIS, IN

Feb 23, 2010 11:01 PM

Departed FedEx location

INDIANAPOLIS, IN

Feb 23, 2010 1:09 PM

Shipment information sent to FedEx

Feb 23, 2010 12:19 PM

Picked up

INDIANAPOLIS, IN

P.S. I wrote more blog than I am in Shanghai, since I wake up at 6:30 AM these days, and has nothing to do before the first meeting at 10:00 am, and I have a lot to share.

P.S.2 Happy birthday to Jim Sang.

Where is PHPMapReduce?

Anton Vedeshin hosted a project named PHPMapReduce on SourceForge, but without any update yet. The name is so attractive that many people, like me, want it. MapReduce is such a good architect that can solve many interesting problems, but Hadoop is, like many Java application, too big. We need something like that in PHP world.

If PHPMapReduce still does not come, I may want to write a MapReduce framework myself and share it with the open source community.