Saturday, December 15, 2012

Just a little test before revive

just a little test to see if this blog is getting connected to anywhere else. the expected result should be: NO!

Tuesday, September 04, 2012



Sunday, September 02, 2012

Angus' 1st day at kindergarden tomorrow

Tomorrow will be Angus' first day at kindergarden.

Monday, January 31, 2011

Very Late New Year’s Resolution

  1. do not break this resolution
  2. less fucking around time
  3. more time blogging
  4. start writing Android app (on Mac)
  5. more reading time
  6. start a company

Monday, January 10, 2011

Leaving Japan Today

Feeling lucky that I didn’t choose to stay here 3 years ago.

Monday, December 20, 2010

Make sure that you are building a company where you like to work there yourself in the first place!

Wednesday, December 15, 2010

Snowing in Here

First snow this winter here in Shanghai today.

Less Code Less Problem

be lazy, no redundant code.

Friday, December 10, 2010

Stay focus and get it done!

Wednesday, December 08, 2010

Here comes crunch time

actually it has never ended since September…

Tuesday, December 07, 2010

Oops, not a good time!



Flew back to Shanghai this afternoon. The flight was way smoother than I had expected. There was no delay and we took off right on time. It was 25C in FuZhou today, and it felt like stepping back into winter when I walked out of the plane in HongQiao airport.

Love living in city where you can get a hot cup of nicely brewed coffee even during mid-night. And wandering down the empty street in late night feels soooo cool.

Friday, December 03, 2010

You don’t take sides

Coming down to the south

Arrived in FuZhou 5:30 pm yesterday. the flight got delayed for nearly 2 hours.
It's a bit warmer here. feels like late summer. even got mosquitoes during the night.

Friday, November 26, 2010

Unexpected Changes Around the Corner all the time

  • Nothing is stable. Even the most secured job can surprise you.
  • if you don't try to do it, how can you possibly know what lies there.

Thursday, November 25, 2010

Startup Very Early Stage

At the very early stage of a startup, it’s not easy to get people on board. You don’t have enough money to give away a nice package. But it is not necessary to get the smart people on board. Get the true believers who can walk through a brick wall.

Tuesday, July 27, 2010

Business is sometimes just like sex, it's easy to push in but difficult to pull out.


Tuesday, July 13, 2010

Using crappy software is like attending a chain of surprise parties

Just can't help writing this down. I'm having enough!!

Been dealing with this crappy software for like 6 months. Everyday when I get off work, I just feel it's another day of my life wasted.

Some of the surprises:
  1. "Your session is timeout, Please ReLogin." That creative developer cooked the term "ReLogin"... it's not even a frigging word! and this passed QA and get to Production.
  2. Oh, forgot to mention this is a "Web" application that ONLY works in IE, and plus not all IE versions, if you use IE6, there will be bugs like the hovering control appears when you move your mouse away :) (Surprise!?) so you'll almost can never click on the hovering control. And the FIX is, and here comes the great part, upgrade your browser to IE8. (Surprise!?)
  3. The server side is made of couple of web applications that are written in old ASP+COM, Code is compiled and wrapped up in dlls, so I went in and try to appreciate the page code. And look what I've found


  4. and there's a service installed with the software that is used to refresh the cache during the night. (we configure it to run during the night) This service needs to refresh a cache that is extracted from a table in MSSQL that has more than 100 millions records. and this amazing service just takes everything into memory from the database and then flesh it into disk... and the consequence, our server is dead... "Windows is running out of Virtual Memory" and when the memory footprint of this service reaches 2G, .net shut the process down.
  5. Modal Dialog that is administrator signin required won't go away if you keep it open and click the sign out button.
  6. Rendering: The resolution is set to the browser window size when you first log in. if you resize the browser, nothing is synced, you have to sign out and sign in again to re-render your view.
  7. Hidden value: just because the listbox is too narrow and you can only see the first 10 characters of the values that you input. and there's no horizontal scroll bar. This is Ok when you have only 5-10 simple values, but if your project grows and you start using prefix, long prefix, you'll have to guess what parameter you are selecting...

Saturday, May 15, 2010

archive from

Running without SVN is totally insane
2010-1-10 21:42:13
By Alex those suckers on the east coast are just out of their tiny little heads.

Name ?> who the fuck changed my code to something like this.....? this shit wasted me 2 hours debugging through things..

Sleep into 2010
2010-1-1 20:43:54
By Alex After 2 crazy days of work with less than 10 hours of sleep, I was planning to go to bed early and sleep into 2010. But my neighbors' fireworks woke me up right at mid night.

Well, HELLOOOO 2010 then!!!

The day when everything fails on me.
2009-12-30 20:14:05
By Alex I'm still alive after that crazy crunch time!

When I arrived @ Intel office this Monday, my old phone was replaced with a new Cisco IP phone. and it has access control according to badge color... can't make any external phone calls cuz I'm a green badge (Geeee!) after grabing my coffee, I was about to check my gmail, but only to found that the "Guest" wireless account stops working... called Tech up and they have upgraded the network. The Guest account now only works for real guests who is escorted by a Blue badge employee... oh shit. I was lucky to have all the things that need to demoed on my netbook, otherwise I would get f**ked up totally. Luckily, the demo went fairly well!

I finally reached my email after 3 hours when I got back home. It's exploded....
and then "Puff", the vpn software that I used to get across the GFW, failed. It seemed to be blocked too... this time it was "OH SHIT!!"

and when I updated the code from SVN in the afternoon. My jaw fell to the desk... this is just a load of S***. nothing was even tested out before checking in.

Crunch Time....
2009-12-8 23:57:47
By Alex

6 projects going on at the same time...
man, so freaking busy that I didn't even have time to pee during the noon break.

Please Visibly Wear Your Badge In Office
2009-12-3 11:50:16
By Alex Shit I learned it the hard way.

I was working late last night in office till 9pm last night. After typing out a shit load of code, my bladder orders a trip to the bathroom. oh, gee that feels gr8. On my way back, as I was reaching to my pocket, I realized that I didn't have my badge with me. "F*************K" that's the only word lingering in my mind....It was 9PM everybody in office has gone home. I walked through all the floor hoping to bump into someone....but no. I had all of my stuff inside, my jacket, laptops, keys, wallet, and still a shit load of code to produce... Hopped on a taxi and went to my parents. Luckily they live in town.

I gotta clip that little plastic card to my belt all the time.

Data Plumbing
2009-11-19 20:57:36
By Alex's dirty out here.

100 CVs to go through
2009-11-9 22:38:43
By Alex ...

a new site...(Google Apps doesn't work on .cn domains)
2009-11-7 20:54:50
By Alex

can't get Google Apps running on a .cn domain. man, this is brutal...

VBA Haunted Me
2009-11-4 12:04:29
By Alex had a nightmare of VBA and Excel during the weekend... man, this Macro report shit really bothers me. enough is enough let's get over with it ASAP!!

MSI Wind U100 a Developer’s review
2009-11-3 13:53:22
By Alex
I got my MSI Wind U100 2 months ago. it was at a discount price of 2200 RMB (something around US$323). I used to work with my Thinkpad T60 all the time. but since I was experience some problem with my neck, I decided to change it with something light. but something still strong enough to run Eclipse (for PHP developement), Visual Studio 2005.
some of the netbooks have SDD, but usually SDD drives are small. given my limited budget something around 16G top. and I’m not that motion savy user (won’t type on a bumpy bus ride, not even using it much on subway, not because I don’t, but because the subway’s too crowded )

10 inch 1024 x 600 screen
320 GB SATA hard drive
Intel Atom 1.6 Ghz processor
1 GB of RAM
Bluetooth (Lenovo S10 does not)
WiFi (Asus has 802.11n while the others are b/g)
Ethernet 10/100
3 USB port
VGA output
the speaker is a bit lousy, but I don’t use it a lot, usually carry around an earphone. and the mic was ok, didn’t have much problem when having skype calls. it doesn’t have CD-Rom. For most of the time it’s just cool. But it caused some trouble when I was trying to install Windows from a USB-Stick boot instead of an external CD ROM.
Not much heat is generated. after running it for like 2 hours. you can hardly feel the heat.
I was using Eclipse, Apache server, MySql at the same time. it was just cool. Lately I also installed Visual Studio 2005 and SQL server 2008 on it. It worked out good on 1024*600px resolution, a bit slow when I connect to the 24′ display and added an additional desktop of 1900*1080px. (in VS 2005 editor, when I held “delete” key, just couldn’t see characters deleted one by one, they were deleted chunk by chunk.) I took it with me as the only laptop on 2 short biz trips to nearby cities, NanJing and SuZhou. The default package comes in with a 3-cell battery which can last for around 2 hours (toooo short). You can upgrade it to 6 cells and it is said to be able to last for around 5-6 hours.

2009-9-14 9:38:03
By Alex Back from a 1.5 day trip from SuZhou last Saturday. It was supposed to be a 3 days trip but got cut short due to my flu. The trip was costly but not totally worth it. It costs 1000 RMB for each of us to attend, the hotel is around 800 RMB a night. We were not able to meet with potential partners or customers. the presentation we did only has like around 20 audience and half of those are not interested in our product. The only outcome is we have spotted a Japanese competitor who is doing almost exactly the same thing...

The key of going to a convention is the meeting, who you'll meet on what ground. Be sure to make sure prearranged meetings before setting out. this would be far more effective than hoping to run into random people over the buffet dinner.

If you have the chance to stand up and give a speech, confirm whether the audience is what you expect and also make sure the content is what the audience expect. remember to clear out over promise of the organizer. do a little background check of the organizer. You certainly don't wanna get surprise by a crowd of a dozen of sleepy audience while the organizer promised an audience of 300 relevant people. Surprise should only happen in birthday parties not in business.

If the convention is not crucially relevant, just cut it! Don't waste time and money especially when you first started and you have a limited cash flow.

Full suit Nanjing trip
2009-9-7 11:18:04
By Alex I almost missed the train when setting out from Shanghai. It was impossible to get a taxi during the rush hours. My train was 9:22 and I was still on the sidewalk around 8:50. Metro saved my ass. After a 1000m dash to the metro station and in the railway station asile, I got onto the train 5 minutes before the departure time. I was drawning in my sweat. Not too many people on the train, I was able to move my seat to the window side. One stop to Nanjing, it only took around 2 hours, which is just the time length that my laptop battery can last. it took another 45 minutes for me to wait in line for a taxi at the station, and another 30 minutes to get to the hotel where the full suit thing started.

biz meeting in the afternoon, reception dinner and river tour during the night, summit in the next morning, solo drive demo to potential distributors in the afternoon.

I skipped dinner and headed into town early found a starbucks, curbed into a couch in the corner, had a cup of drink and some php coding. This is actually the highlight of the trip.

oh, and I had the chance to took the Nanjing Metro. It wasn't that crowded as its counterpart in Shanghai even during rush hours. However, the staff was not that professional. I was given false instructions all the time. Some dude at the auto ticket vending machine asked me to buy ticket at the ticket office, and the dude at the ticket box said you could only buy 2 tickets at a time and asked me to go back to the vending machine. there was like 10 people lining up at both places. After I finally got a ticket, which is a coin-like plastic substance, I was rejected at the entrance. I had to go back to the ticket box to let the staff have a check. and the gal cleaned the ticket and asked me to go through the side gate. As I was going through the side gate, I was stopped by another gal, said you need to go through the main entrance.... WTF. I tried to stay calm and explained to her... Finally I was on the train, god, it took me 15 minutes at the gate...

the train back to Shanghai was 30 minutes late, when I arrived it was 11 pm. hopped on a taxi, and shortly after we left the station, the taxi got hit by a truck... the door at the driver's side got smashed in and couldn't be opened. I wasn't injured but needed to change another taxi.

2009-8-19 12:42:44
By Alex ...

google "teammersion"
2009-8-17 22:04:03
By Alex ...
just do it.

My Neck
2009-7-22 17:20:16
By Alex is in pain...
and I can hear the spiral liquid running around in the back of my neck every morning when I'm about to get up.

Sweating is cool
2009-7-19 17:52:19
By Alex Really hot today. The best way to get away from the heat is not turning on your AC, cuz I felt dizzy after 2 days spent in ACed rooms where temperature was around 25C.
The best way to get away is to jump into the heat. This afternoon I spent like an hour walking in the sun. I deliberately selected path that does not have shade. Cleared my thoughts, jogged for a while. And now I'm sitting in the study without AC and just let it sweat. my t-shirt is all soaked up.
My dizziness is offically gone. haha, take a shower and get back to work.

Sudden Change of Events
2009-7-18 8:31:44
By Alex

Attended the funeral of one of my friends father. The death was so sudden that nobody had any preparation beforehand. He will never have the chance to tell his kids thing he thought he had the next 10 years to tell, he will never have the chance in which his grand children sit around him listening to his stories, he's just gone. Even though I'm not that close to him, still want to send my blessing to him...

"Nobody wants to die, even the people who want to go to heaven don't want to die to get there. And yet death is the destination we all share. No one has ever escaped it. And that is as it should be, because Death is very likely the single best invention of Life."

Losing Job
Met a friend's friend who just lost his job during the day the other night. And it was all at a sudden where no heads up, no sign, nothing. Just got called up to the manager's office and got informed in an execution style. This is really brutal.

Always look on the bright side of life, even if sometimes it's only a silver lining.

Sometimes people just wanna be left alone
2009-7-18 1:04:08
By Alex ..
Cleaning up
2009-7-3 14:47:21
By Alex Before checking in the code to SVN, it really matters to do some cleaning.
check against the coding convention
delete debugging things,
add comment for tricky code
check the "TODO" flags in comment
Don't make the other dev who just updated the code say: "yeeoooo, look at what this dude has screwed up in here".

New version of MSN crashes all the time
2009-7-2 20:06:15
By Alex

did you guys even tested before release??
I'm having a crash in less than 2 hours.
How can I downgrade to MSN 7?

COM lib
2009-7-2 20:04:48
By Alex

You've got me.

Finally got this settled.
I was using a lib from someone. It's a .net wrapper over a COM library. What I need to do is simply creating an instance of the class and hook some event handlers to some of the events it exposes, and then just call the initialize method and wait for the events to come back.

ConaitoLib.EvoVoIPAdmin deamonClient = new ConaitoLib.EvoVoIPAdminClass();
deamonClient.OnConnectSuccess += new ConaitoLib_OnConnectSuccessEventHandler(OnConnectSuccess);

But the lib was creating a new thread to do all the job so that when events come back, they won't get into the event handler, they are not created in the same thread...

OMG, the lib is not thread safe!

Well, then I have to put everything related to the deamonClient into a new thread and let it response to events inside the thread.

as a simple signaling method, use System.Threading.EventWaitHandle.
It could be configured to be autoReset or manuallyReset during initialization.

EventWaitHandle ewh = new EventWaitHandle(false, EventResetMode.ManualReset);
EventWaitHandle ewh = new EventWaitHandle(false, EventResetMode.AutoReset);

Inside the thread at places where you need to wait for a signal just use: ewh.WaitOne(); If EventWaitHandle is set to use ManualReset, set it like: ewh.Set();

When 4G memory becomes a luxury and 32' monitor is a dream
2009-6-26 9:18:17
By Alex

when internet connection breaks,
when office space shrinks,
when number of interns outweighs FTEs,
when filling a headcount becomes a must even though the candidate is way below the line,
when the common sense of productivity simply does not apply,
when the AC stops Saturday afternoon, and starts an hour after the "regular" office hour.

It's finally time to make a change.
The Umbrella Men and Great Firewall
2009-6-7 23:46:46
By Alex

places where our tax goes.
IE8 Installation Pain
2009-5-27 11:35:08
By Alex

I have to install IE8 cuz QA reported some page bug that only appears in IE8. After downloading the 17M install file and the various close this, close that before installation dialogs, I got this:

You have to restart again to see what happens. Couldn't you just tell me right away. Sounds like, "Stay tuned! more to come after the ADs". Only this time the audience didn't get anything even BEFORE the ADs.

Installation failed, and you have to restart your computer to clear the mess that I created.

Sounds really Bossy, uhm? Couldn't you guys make this a easier deal and stop bossing around asking the users to do this and that? BTW, I haven't had this problem when installing Firefox, Safari, or Chrome.

Oh, why I hate rebooting. Rebooting PC is becoming a big deal now. My office PC hasn't been rebooted for like several months. Rebooting may take a quite a long time, think about loading the clumsy IDE back in and restore all the open apps.
Hospital Procedure and User Friendly Interface
2009-5-21 0:27:34
By Alex

I was having a chest pain several days ago. Real pain that I went to the hospital hoping to find the root cause. Hospital is the last place that I would like to go. Not because of the pain of needles or the bitterness of medicine, but simply because the procedure of going through different places, the long waiting line and the indifferent attitude most of the doctors have. I really find it frustrating when being asked to take a dozen of tests to only justify my initial research according to the syndrome on Google.

This time everything's the same. The doctor, who by the way seems to be really sleepy (maybe he's still in the aftermath of the party last night), prescribed X-ray and a 24hr ECG monitoring before he can make any diagnose.

And after I finally made to the X-ray place through a 10 people line at the check-in counter (must pay the fee before the test), wow!! there were like 100 people waiting in the line before me... good news: there were 3 X-ray rooms, bad news: there was only an hour left before the end of the hospital working hour at 16:30 (damn, it's real early...). later on 2 nurses came out and announced that they will close in an hour and only accept patients who take X-ray pictures of the chest area. Other patients had to come the day after. Good lord that I was taking a chest picture... Anyone would be REALLY pissed off if they have waited for hours in line and only to find that they have to come back tomorrow... what the heck were these medical workers doing before? You SHOULD be aware that the waiting line is way over capacity and they should turn people away in advance.
Finally it was my turn. In less than 5 minutes, I finished. And I was told that I need to wait for another 90 minutes to wait for the picture to come out.

I went to the ECG place hoping to get the device attached. The nurse there glimpsed at the note (actually the receipt), and mumbled, "you need to go to the 1st floor to have a reservation first". oh geeee!, you know the ECG place was on the 4th floor and there was no lift... and I climbed from there after the damn X-ray. As if I can automatically figure out that I need to make a reservation... If, I were really having a heart disease, chances are I might be dying climbing on the stairs in the hospital. And the reservation sheet came out from a printer after the nurse inserted my social security card.

Oh geeee again! I can't take it today. I have to make another trip back to the hospital 2 days later.
and have a day for the monitor to gather data,
and return the device to the hospital after data is gathered,
and wait for ye another day for the hospital to process the data
and come back again for a damn diagose....
5 days, yes 5 days before any measure could be taken to ease my pain.

If it were a thing, I should be really f**king dying then.

As for the UI, NEVER FOREVER assume that users can figure things out on their own.
2009-5-19 8:18:44
By Alex

It was 2:34 am. I was wide awake.
I was real tired, but my mind and body just didn't corporate...
first 3 weeks into fatherhood: physically painful, mentally joyful. wish this won't flip with time...
2009-5-15 22:45:51
By Alex

The Dreamed Mobile Device [Features Requested]
2009-5-11 23:38:28
By Alex

I once pictured a mobile device in my previous posts [Simple Edition] [Full Featured], which has a huge memory, simple UI, and high processing power. But after playing around with my Nokia E63, I have some new needs to fire.
Network Capability
Cheap broadband accessability. 3G is an available option, but the monthly rantel fee here in Shanghai is still not in acceptable price range. Plus the coverage is doubtful (given the fact that I'm living in a place 20kms away from downtown and spend most of my mobile-device-using time on the subway).

Type on the small pad on the mobile device is not pleasent. Pressing the wrong key or several keys at a time is an usual experience for most people. So the feature requested is a flexible blue-tooth keypad and a red dot like mouse in the middle of it. (there are devices available on market now.) You can unfold it on your laps when riding the subway.

Reading on a small-sized screen is no good for your eyes. Why not use a tiny projector? remember once came across a video on YouTube on the latest progress of the research and the tech seems pretty mature now. Can't get back to that video since YouTube has long been blocked by the Great Fire Wall. But not sure about the battery life.

Smart Access Point Switch
When you walk into your office or an area covered by Wi-Fi, you certainly would like your device to switch the data transfer from GPRS or 3G to a cheaper and even faster channel. If there could be a piece of software that could help to do this, it would be fantastic.
The ultimate goal is to reproduce my office environment on my mobile device so that I can be working anytime anywhere.

Cognitive Distance
2009-5-6 22:43:00
By Alex

As I was finishing up the html mockup from a scratching up of a facebook app a couple of minutes ago, I discover a design flaw in the user experience.

Here's what the page looks like.

The markers on the gmap correspond to the Friends' reviews link in the right. If you click on the review title or the marker on the map a info window that contains detailed information pops up.

Flaws can be easily identified in this interaction model
we are making a wide assumption that the user understand the linking between the markers and the links.
since an excerpt of the review is already shown in the right panel, what to display inside the info window?
the markers are not differentiated, it should be categorized according to review owner.
To solve these problems, here's another scratch up.

Replace the markers with user icons so as to categorize them, so that all of the friends' reviews REALLY aggregate on the map. Users can easily tell who made a review where.
Size of the icon correspond to the temporal sequence of the review. Latest reviews have the biggest marker (now it's using user icon), older reviews have smaller markers.
Drop the "Friends' Reviews" section which used to be in the right. The text now goes to the info window pop up on the map.
Make the map bigger to fill the extra space gained from "Friends' Reviews". Bigger map makes it possible for more markers to be shown.
Significant Life Changing Event
2009-4-30 18:02:04
By Alex

Quoting my colleagues "Kids are a blessing to the family." and "this is surely a significant life changing event".

My moment came out at 05:21 on April 26th. 4 hours after we got to the hospital. It's a boy with a body weight of 3.385KG and a body length of 41cm.

Simple Fixes that could make life a lot easier
2009-4-10 21:56:28
By Alex

As we are launching all EU language editions of the site at work, the most common used tools during this period of the project should be the BugDB and CMS. Some easy changes can make our life way less painful.

BugDB Features Wish List
Add "Fix For" attribute for each bug. It's a label that tells which release should this bug be fixed for.
Personal dashboard page that lists new bugs assigned to me.
RSS on a project and bug

Enable easy manipulating of the data across different locales. We have 8 different kinds of data entries that should be translated into 24 different languages. One small mistake that happens at data entry would be a disaster. Since you have to go over all 8×24 entries page by page to correct it. Not to mention that when mistakes are not discover all at once. They come in one after another. That's several rounds of checking... Why not bring all translations for one data entry on one page, this could save the content manager a great deal of time.
Inheritance on Data entry's attribute
Some of the locales have almost same attributes. The current CMS build doesn't support inheritance of attributes. This means if you have two entries that are only different on one attribute, you have to separately key in these two entries. And this also exaggerate the above maintainence problem.
Posting from E63
2009-4-6 20:19:37
By Alex

0 Comment(s) | Leave a comment>>
Bicycle Ride
2009-3-28 22:57:23
By Alex

Inputting data into CMS manually is like riding on a bumpy road with a bicycle without seat, you'll gonna eventually get there, but you can feel each and every bump on the way.
0 Comment(s) | Leave a comment>>
First Anniversary
2009-3-25 8:41:05
By Alex

Yesterday was March 24th.
It’s been a year since I started working at the office.
0 Comment(s) | Leave a comment>>
How to squeeze value out of an offshore developer? Force them come to office early and never talk about overtime compensation.
2009-3-24 21:54:23
By Alex

0 Comment(s) | Leave a comment>>
2009-3-19 22:00:47
By Alex

Man, this is a bit crazy.
Cuz none of the guys leaves everyday at 16:00. I was even sending out a daily summary email just now.
Will productivity really roar if you force your employees start working from 7 am in the morning and have to be in office on Saturday instead of on Monday? this should be a huge question mark, like this ?

The only consequence for me lacking enough sleep would be feeling dizzy all day and would NOT have the energy to knock out quality code.

And we have a justified reason for this: to sync with the US time zone. Do we, devs have SOOOO many things to sync up? Keep enough tasks in your queue and sync once in a while (maybe even a week) could solve the problem.

hmm, anyway, interesting changing that we are experiencing. Let's see where this ship is heading to.

0 Comment(s) | Leave a comment>>
iPhone and Android, You can’t split one egg
2009-3-16 20:52:30
By Alex

Recently I’ve been assigned a task to research how possible it could be to port an existing iPhone app to Android and vise versa, (given that we have the source code of the source platform). Anyone who has some experience working on multi-platform apps would say that this is a pretty daunting task, since we are talking about two totally different hardware plus software stack. I have a gut feeling telling me that it’s basically a REWRITE of everything. This is a time that you can only clone an egg and put it into the other basket.

Well, I still have to waste another several hours of my life creating a doc so as to report to our boss and tell him that this is mission impossible.

Or am I just to lame to do this? Prove me wrong!
0 Comment(s) | Leave a comment>>
Mediocrity starts at the interview
2009-3-4 22:12:13
By Alex

Interview is always a two-way traffic. While you are taking your chance to have an insight on what is the candidates' technical strength, it's also a time for you to impress your candidate with the values that your company holds. (If properly handled)

But how can we conduct an successful interview so that we can get the best people from the pool and impress the ones that we reject (so that they can also help to spread the word out)?

Baseline: there MUST be a JD and a list of required skill sets.
BUT, we are crossing the baseline and lowering our own bar...

A people hires A people, and
B people hires B people.
Who have we hired? And who are we going to hire?

0 Comment(s) | Leave a comment>>
Android 101 - the big picture
2009-2-23 13:19:11
By Alex

Starting to learn some new tricks.

Software stack
Linunx Kernel: Memory / Process management and security module
Libraries: C/C++ native code | Android Runtime: Core lib, Dalvik VM
App Framework

Application Building Blocks

What is open?
Open for
the Mobile industry:
- open source under Apache 2.0 license,
- anyone can build a system image.

End Users
- Full control of their experience
- control what gets installed
- choose the defaults

- Don't need to get premission to ship an app.
- No hidden or privileged framework APIs
- Can integrate, extand and replace existing components

- extend: google provides a bunch of components on the platform e.g. the mapview, devs can customize the existing components. like the call a cab project emerged in the android challenge that uses the map view.
- replace: e.g. replace the old address book, which is an existing built in component, with your app.

Secruity Model
- every app is in its own sandbox.
- Process level separation.
- Every app has its own ID registered in the system. if your app writes file, that file is only visible for your app.
- if one app breaks, it will end and stop. this will not affect the system.
- Application permission: make a phone call, send SMS, access to the address book. this will be surfaced to the user at install time.

What does this mean for devs?
- apps written in Java and get converted to Dalvik during compile time, and the Dalvik code gets packaged into an apk. apk is like an installation package that gets disctributed to the end user.
- rich set of APIs. and additional rich components (compared to J2ME) OpenGL, 2D lib
- Application Lifecycle is managed by the system. things like memory management. but Android needs developers' help. I guess it should be something like the page lifecyle. Developers overrides prodefined methods or callbacks to put things they wanna do in each phase of the lifecycle.
I'm back
2009-2-13 22:08:33
By Alex

Again in less than
1 month, after
2 bottles dripping,
3 days in bed,
4 pills of antibiotics,
5 liters of water,
6 bathroom trips in half a day.

I kicked the second fever's ass and I'm crawling back!
(Got to work out from now before it's too late...)

0 Comment(s) | Leave a comment>>
So far so good
2009-2-6 19:18:22
By Alex

We launched
HtAccess is lifted on
and the feedback is not bad.

1 Comment(s) | Leave a comment>>
Slow start
2009-2-5 20:08:55
By Alex

Got back to Shanghai around mid night last night after an 8 hour train ride. The guy sitting across the aisle had a chicken traveling with him. A living chicken which MIGHT be carrying some freaking bird flu. (Lucky that I survived with no symptom so far.) Couldn't fall asleep till 02:00 in the morning. and the alarm rang at 06:00 in the morning. Turned it off and the next time I woke up was 06:45.
First day in office in the Chinese new year started around 07:45. There were already a bunch of emails accumulated in outlook and a score of bugs waiting for me in the bugdb. I intentionally ignored these during the holiday. Now it's time for them to come back and bite me.
It's really hard to get up to speed. and the morning was wasted in tracking a silly bug which is cause by my unfinished and unchecked-in code.
But the good news is, after more than 14 months waiting, thank god, socom is finally releasing beta ( Beta is code freeze today and will be launching tomorrow. Though it's only beta, but the good thing is that we are at least releasing something.

1 Comment(s) | Leave a comment>>
The problem of being popular is everybody wants to see you down
2009-2-3 2:19:16
By Alex

2 days before going back to work, we are having load problem on Not sure if it's caused by my code. But definitely something's been messed up in caching.

1 Comment(s) | Leave a comment>>
Heading back in town
2009-1-27 17:55:21
By Alex

Packing up and heading back in town. I have to catch the 06:21 train tomorrow morning. Since the early subway that runs pass here is 06:21 I have to spend the night in town tonight. I'm setting everything that can ring to 05:00. Hope that I can hear one of them and won't over sleep.

From Chinese New Year

From Chinese New Year

0 Comment(s) | Leave a comment>>
Happy Chinese New Year!!
2009-1-25 18:37:02
By Alex

After staying in bed for nearly one day and a half, I'm finally up and ready to embrace the year of ox.
0 Comment(s) | Leave a comment>>
Empty Town
2009-1-23 22:29:19
By Alex

From Misc

Everybody's heading home.
0 Comment(s) | Leave a comment>>
Getting things done before the holiday season
2009-1-23 15:04:58
By Alex

With half of the staff taking an early leave, it's always easy for people who stay to get loose. Let's stay focused and clear the task queue.

Get the job done tips:
Turn off your personal IMs and emails so as to avoid receiving and replying holiday greeting messages.
Check mails every half an hour.
If you don't have your private office, put on your ear phone so as to avoid the chat down the aisle.
Keep as few windows open as possible.
Changed a new route and broke the resolution
2009-1-20 8:37:03
By Alex

Hopped on a #4 train that was heading north at YiShan Rd.s station and transferred to #2 at ZhongShan Park. It seems to be a more pleasant journey with less walking distance and fewer people in the tunnel.

And new year resolutions are made to be broken. At least I've broken mine (one post a day) before seeing the end of the first month.
1 Comment(s) | Leave a comment>>
2009-1-14 22:25:55
By Alex

When I got back home from work today, I turned on the Air Conditioner in my apartment and went for a shower. But after the shower the temperature in the room was still freezing. Oh, there got to be something wrong with the AC. And it was showing a splashing sun icon and the temperature digits turned into "H1". I couldn't figure out how to fix this, so I referred to the menu that came along with the machine. Here's what I found about this "H1". Boy... is it just because my Chinese is too poor or...

1 Comment(s) | Leave a comment>>
CS that speaks Shanghainese
2009-1-12 23:25:05
By Alex

Spent half an hour editing the wav sound track of my Counter Strike and by the end of noon break, I got a new CS version that speaks Shanghainese :). The trick is you have to use exact same sound format as the original file format. Mono, 22KHz, and 8 bits.
0 Comment(s) | Leave a comment>>
Messing around
2009-1-12 22:30:38
By Alex

something realLY bad is happening here.
0 Comment(s) | Leave a comment>>
New Google Icon
2009-1-10 16:50:24
By Alex

From Misc

0 Comment(s) | Leave a comment>>
Does every day have 24 hours?
2009-1-9 22:59:17
By Alex

Sure!! what the heck you are talking about?

Hang on, in UTC, yes it's true. And in most of the world where there's no Daylight Saving Time, yes.

But in a DST zone, you'll have a day which has 23 hours in April and a day with 25 hours around the end of October.

0 Comment(s) | Leave a comment>>
Family Man
2009-1-9 22:45:24
By Alex

Parents in-law are coming to town. Now I'm officially becoming a Family Man.
1 Comment(s) | Leave a comment>>
SongJiang to People's Square
2009-1-8 22:38:02
By Alex

Moved to the new apartment in SongJiang. Much bigger apartment, and much longer time to work. One hour and a half hours and three subways away from my office. Not really easy to get up especially during this winter time. When I hit the road this morning, it was still dark outside. :...( Got to shift my bed time hours earlier to around 23:00.

From SiJing Gathering

The building of the Sijing county government, a really huge building. Bigger than most of the buildings in SiJing. Buildings like these are usually government office buildings or massage parlor.
0 Comment(s) | Leave a comment>>

2009-1-6 17:57:21
By Alex

When log helps:
When you are not sure where things might be going during development, e.g. a certain may only occur after 1000 times execution.
When things go wrong after shipping
In a shipping app, it should be easy to turn logging on and off.
Log info that you use when debugging

0 Comment(s) | Leave a comment>>
2009-1-5 10:19:02
By Alex

End of slide show

0 Comment(s) | Leave a comment>>
2009-1-3 21:58:40
By Alex

What needs to be reviewed in the software dev process?
Functional Spec - as a dev, you need to go through the whole spec first, jot down a list of questions (if there's any), and go through with your Product/Project manager on these questions so as to make sure that you thoroughly understand what the spec is talking about. Asking questions is key in this phrase. It's always better to spot problems early on.
Design Doc - junior developers who just begin design should have their design doc reviewed by senior developers.
Code (as I see this, there should be two types of code review)
- peer review
- senior review
after junior developers do most of the coding, and the senior developers help them understand the code base by doing a thorough code review. This helps the junior developers grow. and it also give senior devs an understanding of what can the junior ones do on their own.

0 Comment(s) | Leave a comment>>
Lunar new year's travel rush
2009-1-3 16:39:20
By Alex

Lunar new year's day is early this time on January 25th. And the new year holiday rush started earlier than usual starting from January 1st. It should be the most massive people move on earth. BTW, I'll go back to my hometown to visit my grand parents during the new year.
1 Comment(s) | Leave a comment>>
It's 2009!
2009-1-1 21:31:51
By Alex

Getting up today, when talking about the construction plan of the Shanghai Metro line, we can't stop referring now as 08. wooow, hey, it's 2009 now!

So here's the new year resolution:
- one blog post a day.

0 Comment(s) | Leave a comment>>
Card Distributor
2008-12-27 19:32:06
By Alex

I love to stay in office late cranking out code or having some fun on the PS3 so as to skip the rush hour in the subway. It's usually 19:30 to 20:00 when I hit the road.

It's not hard to get a seat on the subway during this time of the day. And since the aisle in the car is not packed with people, it's pretty easy to be mobile INSIDE the car. So here comes the Card Boys. They usually work in pairs, and walk along the train, and sweep the sitting passengers with their "advertisement", as always discounted plane tickets like the following. (Yes, as always. From several years ago when I got my first ad card. Hey guys, why not try some differentiation? food delivery ads, yoga class ads, restaurant coupon and you guys can even start up a company and maybe get VCed... Totally joking, this is really bad advertisement just like the mails sent by many emerging local SNS.) Distributing cards, together with begging and banned on Subways in Shanghai. [Link] Are they also banned in other places in Shanghai?

0 Comment(s) | Leave a comment>>
Hooray! Holidays
2008-12-26 18:12:13
By Alex

I'll be taking holidays starting from tomorrow and will last for 8 days. A good chance to change my pace a little. The great part is it's PAID :). The not so good part is there is still a lot of work piled up in my queue. It would be extremely hard when I started again next year.

A bunch of stuff to do during the holidays:
- Daoshibang
- Stand by for work

- Supervision of decoration going on at my parents' old apartment
- AC installation at SiJing
- a small gathering at SiJing

- Material preparation for assessment
- Two and half a man

0 Comment(s) | Leave a comment>>
Invasion of SNS
2008-12-25 17:14:09
By Alex

From Misc

Here's what I have in my hotmail mail box. Endless invitations from social network site that try to get you inside the loop. This is certainly not the so-called the word-of-mouth marketing. These website has the so called import contacts from your webmail/Messenger function. It lures you to enter your password of MSN or mail account. Oh, not only they can send this notification to your contacts, they can as well literally do anything they want. Still remember the unexpected weired message that you got from your friend?

Hey ****** this site is giving away free walmart gift cards, but hurry before they are all gone, I already got mine so go get yours http://ecnusuperman.*****.com
2008-12-25 9:13:44
By Alex

End of an era. Most of the guys of my age know her name. She was one of the many av stars that lead us into the adult world.

Anyway, she'll never get old. May she rest in peace.

0 Comment(s) | Leave a comment>>
Christmas Again
2008-12-24 16:06:16
By Alex

Hey, it's X'mas again. Soon it would be 2009. As a scheduled annual event, I'm sending out greeting emails to those who I can't reach via messenger. and happened to get some news from Japan that really small piece of code that I wrote 1.5 years ago helped to gather a bunch of raw data for a research paper. :)

2008 is my first year at a "REAL" job. a whole lot of lessons have been learnt. Here's a wrap up of things that related to coding:
- Test your code, as thoroughly as you can.
- Log error, exception, anything that might help during trouble shooting.
- Think in OO.
- Think about multi-threading when creating things that touch any resource.
- Ask questions, but remember to google it before asking, and don't ask questions that have asked before.
0 Comment(s) | Leave a comment>>
Lightweight Code Review Takeaways
2008-12-23 15:50:34
By Alex

Lightweight code review from Smart Bear software. Based on a field study at Cisco. (They made this to promote their lightweight code review tool Code Collaborator. but there are some takeaways that might be universally be true.)

1. review fewer than 200-400 lines of code at a time
developers should review fewer than 200-400 lines of code
(LOC) at a time. Beyond that, the ability to find defects diminishes.

2. Aim for an inspection rate of less than 300-500 LOC/hour
take your time to review the code. Reviewing code at a pace too fast will leave defects undiscovered.

3 Take enough time for a proper, slow review, but no more than 60-90 minutes
when people engage in any activity requireing concentrated effort, performance starts dropping off after 60-90 minutes.

4. Authors should annotate source code before the review begins.
because the author has to re-think and explain the changes during the annotation process, the author will himself uncover many of the defects before the review
even begins

5. Establish quantifiable goals for code review and capture metrics so you can improve your processes.
- External goals
- Internal goals

6. Checklists substantially improve results for both authors and reviewers.

7. Verify that defects are actually fixed

8. Managers must foster a good code review culture in which finding defects is viewed positively

9. Beware the “Big Brother” effect.
defect density is not correlated with developer ability

10. The Ego Effect: Do at least some code review, even if you don’t have time to review it all.
0 Comment(s) | Leave a comment>>
City Wanderer
2008-12-22 21:31:06
By Alex

Temperature dropped by 14C overnight in Shanghai. Tonight, as I walk through the tunnel at Shanghai Railway Station during subway transition. I saw a Chengguan (City Urban Administrative and Law Enforcement) scolding city wanderers off. The tunnel is a warmer place than the open square of the station. Most of these people are migrant workers who might failed to find a job in the city or can't get paid at year end due to the fluctuated business condition. They all ended up having no money to afford a return ticket. I've seen some of them several times. They are all unshaved, smelly, shabby, carrying nylon bags that might have everything they own. Homeless, cold, hungry, they might take every chance to get money for a return ticket. This is the reason why we always have a tightened security condition during year ends.

0 Comment(s) | Leave a comment>>
2008-12-21 12:34:49
By Alex

It's been a year since I started this blog. There are only around 100 blog posts here. Way from the initial target of 1 post per day. Well, let's see what's gonna happen in the new year.

Same time last year, I was busy cranking my master thesis in dorm and had no idea where I might be heading to. and now, a lot has been settled. (though still not knowing where I'm heading to.)

0 Comment(s) | Leave a comment>>
Walking in the wild
2008-12-21 12:14:35
By Alex

Adding new features into someone else's buggy code within a short time is like walking in an unexplored jungle with a big monster chasing you behind. And you don't even know whether there will be another monster jump out of the next bush.

The best choice would be "Fix all the bug before adding new code". But it's not easy as it seems to be when it code is a total mess and there's no design doc at all.

That's where I am now...
0 Comment(s) | Leave a comment>>
Subway Ticket Price
2008-12-19 19:32:54
By Alex

The operation of the shuttle bus on Line 9 between YiShan Rd. and GuiLin Rd. will soon become history. The construction of the transition hub at YiShan Rd is progressing well so that by Dec. 28th we will be able to transit to line 9 train by a temp transition passage. By the end of this year there are already 10 subway lines in operation in Shanghai.

From Misc

Given the frequent changes in train stations and transition plans, I'm just wondering how are they caculating ticket price from one station to another. This appears to be a classic yet simple graph traversal problem to a CS major.
(BTW, this should one happen when there's a caange in node and connectivity. The ticker vending machine should be looking up entries a pre-generated table.)

So here's the deal:
- a station is a node
- a connection between stations weights 1. non-directional.
- we just need to generate a node to node table, fill in the distance between nodes.
- use depth-first travesal
- we have two types of graph, one for prepaid transportation card, and the other one for ordinary tickets.
- a formula is needed to calculate ticket price given the distance between nodes.

Hummmm, actually if the node set is not that big, it would be a much less effort to do this manually in excel.
0 Comment(s) | Leave a comment>>
Drowning in Disastrous Code
2008-12-19 19:00:04
By Alex

Spent a day reading a bunch of C# 2.0 code that was written by a temp.
There's no a single #region block in the code let alone nice comments that could lead to an easier understanding.
And all the controls, pages and their code behind are being squeezed into one big folder.
Not a single line of code is written to represent the business objects.
The configuration of libraries goes into the bin directory.
Passing query string parameters is done by saving the parameter in session and read session from the redirected page.
The site is really buggy, a previous bug that was causing the whole site to come down was cauzed by setting the time out of an outbound http request to 1000 milli second.
a whole bunch of stuff is hard-coded into the code.
several controls inherits from one base-class-seems-to-be. it's like a class called a-base.cs, and both a-inherit-1.cs and a-inherit-2.cs inherits that base. and at the same time. the you can see b-base.cs inherited by b-inherit-1.cs and b-inherit-2.cs has the same code in a-base.cs...
A data table is added as a property in the base page of the site... Will there be one single datatable on each and every page?
And my job IS: fix its bugs, and add in new features, and in only 1 day. OMG!! what a fun thing to do in this season of greetings...

0 Comment(s) | Leave a comment>>
Things learnt at school and on job on software
2008-12-18 21:50:36
By Alex

- in school?
- program = algorithm + data structure
- if you wanna have a good score, you can not use other one's code
- on job?
- Communication is key
- great developers don't write code, they steal code
0 Comment(s) | Leave a comment>>
2008-11-27 10:18:18
By Alex

0 Comment(s) | Leave a comment>>
Still remember the first nick name you used for QQ?
2008-11-20 18:47:01
By Alex

My ID was "爆炸猫"...
0 Comment(s) | Leave a comment>>
Nice Morning
2008-11-18 8:11:56
By Alex

Let's write some code.
0 Comment(s) | Leave a comment>>
Some nice song
2008-11-2 21:19:57
By Alex

病室の狭い窓から 街路樹の花咲く音が聞こえる
緑は音も立てずに ひと雨ごとに深まる
四角い窓の空へ あなたはため息ついた
その切なげに曇る笑顔を 守りたいと思う
ふるさとへ帰ろうが 寂し気に呟くけれど
あなたと暮らす町が いつもわたしのふるさと
生命が目映いね あなた

一番辛いはずの あなたは笑ってるから
窓辺の花を変えよう 未来色のポピーに
少し窓を開けたら 春の鳥が聞こえた
わたしで構わないなら ずっと離れないよ
希望よ舞い上がれ 高く高くもっと高く
いつでも側にいるよ 今までもこれからも
大丈夫ふたりの歩幅で 少しずつ歩こう

頑張りすぎないで でも決してあきらめないで
強い夢ならばきっと いつか必ず叶うから

1 Comment(s) | Leave a comment>>
An hour and a half in the bank
2008-10-24 17:34:42
By Alex


From Misc

1 Comment(s) | Leave a comment>>
Home now
2008-10-14 17:41:23
By Alex

First time, for the past several months, back home from work before it gets dark.
2 Comment(s) | Leave a comment>>
People Change
2008-10-7 8:38:02
By Alex

over time into ones that we don't know.
0 Comment(s) | Leave a comment>>
Is he sending out signal?
2008-10-6 17:15:24
By Alex

0 Comment(s) | Leave a comment>>
Life sucks
2008-9-27 16:18:14
By Alex

When you thought everything is settled and running on track. this pops up
Server Application Unavailable

0 Comment(s) | Leave a comment>>
2008-9-18 9:37:51
By Alex

Life's like an hourglass glued to the table,
No one can find the rewind button
0 Comment(s) | Leave a comment>>
[CH10] Usability testing: The Movie
2008-9-17 15:55:52
By Alex

How to do your own testing

What to do if you're the facilitator
Try the test yourself first
protect the participants, make them feel good, don't let them get too frustrated when stuck.
Be empathetic
Try to see the thought balloons forming over their heads. observe the thought process.
Don't give them hints about what to do.
keep your instructions simple
probe, probe, probe
don't be afraid to improvise
don't be disappointed if a user turns out to be inexperienced or completely befuddled.
Make some notes after each session.

0 Comment(s) | Leave a comment>>
2008-9-13 17:23:49
By Alex

I'm always bugged by various alert messages while working. IM messages, new emails, software update. Everyone is trying to get into system tray and pop up unexpectedly. I just wanna get concentrate on my work and get it done faster.
The one that really pisses me off is "Rising" an anti-virus software. It always pops up a window titled "Smart-update" and asking silly questions like: Do yo want to update the software to the latest version?... Of course I want to, and I always want to. Just remember my choice and go nuts with updating. But the dialog box just appears again and again each and everytime and keeps asking the same question: wanna update? what's more is that No "Remember My Choice" option is available.

From Misc
In addition to this "Smart update", which does not seem to be smart, there's this cartooned-animated-assistant-thing. Something like the MS Office assistant in the old days, except that this time it's a lion. It has sound effect, moves a lot, sometimes it even performs a walk across your screen...

From Misc

0 Comment(s) | Leave a comment>>
2008-9-10 20:53:04
By Alex

For the very first time, I totally lost control in public. Adrenaline rushed to my head last Sunday morning.

0 Comment(s) | Leave a comment>>
Reasons to love Google Chrome
2008-9-9 8:32:14
By Alex

1. Open Source
2. Existing rendering engine: Web-kit
3. Faster Javascript: V8
4. Incognito Mode
5. Application Shortcut
6. Draggable Tab
7. The Task Manager
8. Text Search result location highlighting

0 Comment(s) | Leave a comment>>
You can NOT kill time, it will just kill you.
2008-9-7 7:20:34
By Alex

2008-9-5 10:16:50
By Alex

Google's new in the picture with its newly released Chrome beta. The WORLD BROWSER WAR III now kicks start.

IE, Firefox, Safari, Chrome, Opera, Maxthon. Which one is your choice?

While web surfers enjoying this diversity fiesta, Web App devs and QAs may not quite appreciate this.

0 Comment(s) | Leave a comment>>
Olympic's gone
2008-9-4 23:09:48
By Alex

As I transfer to line 3 at Shanghai railway station tonight, I noticed that the stores, which closed due to security concerns during the Olympics, are opening up again.

Life is starting to get back to normal.

0 Comment(s) | Leave a comment>>
CH9 Usability testing on 10 cents a day [100 Post]
2008-9-4 14:51:45
By Alex

Keeping testing simple - so you do enough of it
Most usability testing gets done: too little, too late, and for wrong reasons.

Focus Groups are not usability tests
Foucus Group: usually a small group of people sit together to react to ideas and designs shown to them. good for quickly getting a sampling of user's opinions and feelings about things. good for testing whether the idea behind is good.
Usability test: one user at a time is shown sth. and asked to either figure out what it is, or try to use it to do a typical task.
Several true things about testing
if you want a great site, you've got to test
Testing one user is 100% better than testing one
Testing one user early in the project is better than testing 50 near the end.
The importance of recruiting representative users is overrated. (Hallway usability test)
The point of testing is not to prove or disprove something, it's to inform your judgement.
Testing is an iterative process
Nothing beats a live audience reaction
How many users should you test?
number of users for each round of testing is 3 at most 4. This forces you to make more rounds of tests. More rounds means more problems can be distinguished. since problems discovered in the previous rounds are fix, new problems can be found in later rounds.
react fast to problems since less notes to process.
Recruit loosely and grade on a curve
We're all beginners under the skin
It's usually not a good idea to design a site so that only your target audience can use it.
Experts are rarely insulted by something that is clear enough for beginners
When you are recruiting:
Offer a reasonable incentive
Keep the invitation simple
Avoid discussing the site or the organization behind the site beforehand.
Don't be embarrrassed to ask friends or neighbors
Where do you test?
Record the screen, behavior, voice of the user during the test.

What and when to test?
"Get it" testing :
Key task testing : ask the user to do something and see how well they can do it.
for each different dev phrase, different stuff should be tested.

0 Comment(s) | Leave a comment>>
CH8 "The Farmer and Cowman should be friends"
2008-9-4 14:32:18
By Alex

Why most web design team arguments about usability are a waste of time, and how to avoid them.

Farmers vs. cowmen
there's another layer on top of the layer of personal passion: professional passion. As people in different roles tend to see the web page from their own perspective. e.g. developer, designer, higher management.

The myth of the Average User
There's NO average user, all web users are unique
Good design takes the complexity into account.
The antidote
the questions should be phrased like: "Does this pull down, with these items and this workding in this context on this page create a good experience for most people who are likely to use this site?"
The only way to get an answer: testing

0 Comment(s) | Leave a comment>>
2008-9-2 23:41:58
By Alex

Summer days are gone too soon.

1 Comment(s) | Leave a comment>>
CH7 The first step in recovery is admitting that the Home page is beyond your control
2008-8-26 15:35:01
By Alex

Designing the home page

Just when you think you've covered all the bases, there's always just one...more...thing.

things the home page has to accommodate:
Site identity and mission
Site hierarchy
Timly content: contents that get updated frequently
Short cuts
Show me what I'm looking for
and what I'm not looking for
show me where to start
establish credibility and trust
And you have to do it...blindfolded
everybody wants a piece of it
Too many cooks
one size fits all
The 1st Casualty of War
Conveying the big picture
Answer 4 questions at a glance with very little effort
What is this?
What can I do here?
What do they have here?
Why should I stay here instead of somewhere else?
How to get the message across
The tagline
The welcome blurb: a terse discription of the site
Use as much space as necessary
but don't use any more space than necessary
Don't use a mission statement as a welcome blurb, nobody reads them
It's one of the most important things to test
Where to start?
If I want to search, browse, sample their best stuff?

Homepage navigation could be unique
typical differences:
Section descriptions
Different orientation
More space for identity
The trouble with rollovers (Tooltip like things)
You have to seek them out
You can only see one at a time
They are twichy
They are ineffective unless the popup appears near where you are pointing.
But these problem only exist for rollovers that will show a long text chunk, not for rollovers that are employed to display current button selection on the menubar.

The trouble with pulldowns
You have to seek them out
They are hard to scan
They are twitchy
Pull downs are less useful for lists where the user doesn't know the name he/she is looking for.

Rotate your stock
For promo features, use larger promos that are dynamically shown instead of small static icons.
Include the links of other promos in the one promo
Kill the gloden goose
Not to do the following other wise you'll be killing the gloden goose.
Putting a banner ad on the homepage if you don't have to.
Promoting everything
Letting deals drive home page design
Getting greedy for user data

0 Comment(s) | Leave a comment>>
2008-8-25 17:26:56
By Alex

Woke up by flash and thunder this morning...
0 Comment(s) | Leave a comment>>
What Greate .net devs need to know Part 1 of 4
2008-8-25 17:24:46
By Alex

Found this on Scott Hanselman's blog, trying to answer these questions here (will finish this list in a week), correct me if I'm wrong.

Everyone who writes code
Describe the difference between a Thread and a Process? 
- Process is an execution of a program, while thread is a separate path of execution inside the program.
- Threads share address space of their parent process (Process that created threads). Processes have their own address space.
- Threads can directly communicate with other threads of its process; processes must use interprocess communication to communicate with sibling processes. This is also because threads are inside the process they share the address space of the process. But process needs to go to its parent, the OS to do inter process communication.
What is a Windows Service and how does its lifecycle differ from a "standard" EXE? 
Windows Service can be started when the computer is booted and stopped when the computer is shut down which is different from standard exe that needs a user to log in to start and stop and exe process. It does not have a visual user interface, and mainly talks to the windows event log. Windows service can usually be found in server environment.
What is the maximum amount of memory any single process on Windows can address? Is this different than the maximum virtual memory for the system? How would this affect a system design?
32 bit and 64 bit. So that's 2^32 or 2^64.
What is the difference between an EXE and a DLL? 
An exe is an executable program. a DLL (Dynamic Linking Library) is a file that can be used by other programs. It can be loaded dynamically. DLL does not have entry point, it needs other process to load it. DLL uses memory space inside the process.
What is strong-typing versus weak-typing? Which is preferred? Why? 
String typing helps you find problems during compile time. Strong typing prevents mixing operations between mismatched types. You have explicitly convert between types. 
In Languages that use weak typing, e.g. VB, the type of the variable is not decided upon declaration. It might cause type mismatch problems during runtime.
Corillian's product is a "Component Container." Name at least 3 component containers that ship now with the Windows Server Family.
What is a PID? How is it useful when troubleshooting a system? 
Process ID.
How many processes can listen on a single TCP/IP port? 
One, only one process can listen on a single TCP/IP port.
What is the GAC? What problem does it solve?
Global Assembly Cache. DLL Hell.
Someone at the door at late mid night, AGAIN!!
2008-8-21 8:04:16
By Alex

.. Holy cow.
And three times.
Pressed the wrong number on the speaker.
I couldn't sleep well for the rest of the night.

0 Comment(s) | Leave a comment>>
CH6 Street signs and Breadcrumbs
2008-8-20 17:30:42
By Alex

--Designing navigation

People won't use your website if they can't find their way around it.

Web Navigation 101
You're usually trying to find something
You decide whether to ask first or browse first (Search or browse)
If you choose to browse, you make your way through a hierarchy, using signs to guide you.
Eventually, if you can't find what you want, you'll leave.
The unberable lightness of browsing
Although browsing the web and searching in the physical world have many things in common, browsing the web is missing many of the cues we've relied on in the physical world:
No sense of scale
No sense of direction
No sense of locaion
It's hard to understand where am I, and where I came from.

The overlooked purposes of navigation
helps us find whatever it is we are looking for
tells us where we are
gives us something to hold on to.
tells us what's here
tells us implicitly how to use the site
gives us confidence in the people who built it

Web navigation conventions
common elements that are included in a web page:
SiteID, Sections, Utilities, PageName, Local Navigation

Don't look now, but I think it's following us
a persistent navigation tool
just the header that is included in everypage.
Just click your heels three times and say, "There's no place like home"
Home link in the persistant navigation

A way to search
avoid: Fancy wording, instructions, options
give search options at the right time: after the search results shows up, provide advance search options to help users filter search results.
Secondary, tertiary, and whatever comes after tertiary
In so many sites, as soon as you get past the second level, the navigation breaks down and becomes ad-hoc.
But in reality is that users usually end up spending as much time on lower-level pages as they do at the top. It's very hard to graft it on later and come up with something consistent.
It's vital to have sample pages that show the navigation for all the potential levels of the site before you start arguing about the color scheme for the homepage.
Page Names, or Why I love to drive in L.A.
Every page needs a name
The name needs to be in the right place
The name needs to be prominent
The name needs to match what I clicked
"You are here"
common failing: too subtle
make sure they stand out so as not to get covered by noise: a different color and bold text
breadcrumbs that you drop in the wood that can take you home. shows you the path from homepage to where you are

put them at top
use ">" between levels
use tiny type
use the words "You are here"
boldface the last item
don't use them instead of a page name.
Four reasons why I love tabs
self evident
hard to miss
suggest a physical space
Trunk Test
Site ID?
Page name?
Local navigation?
You are here indicators?

0 Comment(s) | Leave a comment>>
CH5 Omit needless words
2008-8-20 15:54:01
By Alex

--The art of not writing for the web

author's 3rd law: Removing half of the words
reduces noise
makes useful content more prominent
makes pages shorter
Happy Talk must die
intro text. Listen closely while reading it, there's a little voice in your head saying, "Blah blah blah..."
most users don't have time for this small talk.
Instructions must die
nobody reads them, cuz we all like to muddle through
eliminate instructions entirely by making things self-explanatory

0 Comment(s) | Leave a comment>>
CH4 Animal, vegetable, or mineral?
2008-8-20 15:43:17
By Alex

--Why users like mindless choices

It's not only number of clicks that counts, but also how hard it is for the user to make the click.

E.g. When I'm trying to buy a product for my home office, I often encounter sites that ask me to make a choice like... Home or Office?

The point is, we face choices all the time on the web and making the choices mindless is one of the main things that make a site easy to use.
0 Comment(s) | Leave a comment>>
CH3 Billboard Design 101
2008-8-20 15:22:23
By Alex

Create a clear visual hirerarchy
The more important something is, the more prominent it is.
Things that are related logically are also related visualy.
Things are "nested" visually to show what's part of what.
Conventions are your friends
They are very useful
Designers are often reluctant to take advantage of them : only innovate when you know you have a better idea (and everyone you show it to says "Wow!"), but take advantage of conventions when you don't.
Break up pages into clearly defined areas
it allows users to decide quickly which areas of the page to focus on and which areas they can safely ignore.
Make it obvious what's clickable
This is not a disastrous flaw, but when you force users to think about something that should be mindless like what's clickable, you are squandering the limited reservoir of patience and goodwill that each user brings to a new site.
Keep the noise down to a dull roar
Two kinds of noise:
Busy-newss: too many things on the page that are clamoring for users' attention.
Background noise: a lot of tiny bits of visual noise that wear us down.
it's probably a good idea to assume that everything is visual noise until proven otherwise.

0 Comment(s) | Leave a comment>>
CH2 How we really use the Web
2008-8-20 15:12:26
By Alex

The user's reality is much closer to "Billboard going by at 60 miles an hour".

We don't read pages, we scan them
we are in a hurry
we don't need to read everything
we are good at it
We don't make optimal choices. We satisfice
we choose the first reasonable option instead of the optimal one
We don't figure out how things work. We muddle through.
It's not important to us
If we find something that works, we stick to it.

0 Comment(s) | Leave a comment>>
CH1 Don't make me think - Krug's first law of usability
2008-8-20 15:10:58
By Alex

Don't make me think reading notes
A web page should be self-evident, obvious, and self explanatory.
Don't raise thought ballons over user's head
Things that make us think
Typical culprits: cute/clever names, marketing-induced names, company-specific names and unfamiliar technical names. 
E.g. Jobs -> Employment Opportunities -> Job-o-rama
links and buttons that aren't obviously clickable
A couple of things that a user should not spend time thinking:
Where am I?
Where should I begin?
Where did they put ___?
What are the most important things on this page?
Why did they call it that?
You can't make everything self-evident but at least make your page self-explanatory.

0 Comment(s) | Leave a comment>>
2008-8-18 22:22:13
By Alex

Spent a long weekend with my grand parents in TongLing. It's a mid-sized city located in southern Anhui province with a population of around a million.

Facing Changing in a local SiChuan restaurant.

0 Comment(s) | Leave a comment>>
The Olympics
2008-8-8 20:23:03
By Alex

Watching the opening ceremony now on TV. We've all waited for this for so long.
0 Comment(s) | Leave a comment>>
Happy Chinese Valentine's Day
2008-8-7 16:18:49
By Alex

How many Valentine's Day do we have in a year?

Feb. 14th: western Valentine's day

Mar. 14th: White day, which is a Japanese creation of Valentine's day. Japanese men are supposed to return gifts to women on this day. While on Feb. 14th, it's a time when women express themselves by giving chocolate to men. But dude, don't get excited if you get chocolate from a Japanese girl, cuz they might be "Giri-choko" (obligation chocolate). The chocolate that they give to their true love is called "Honmei-choko".

Jul. 7th on lunar calendar: Chinese Valentine's Day. There seems no special custom to follow. Anyway, it's no good to give out chocolate, cuz they might melt during such hot weather...

0 Comment(s) | Leave a comment>>
Fiscan at the Subway
2008-8-7 7:25:24
By Alex

Fiscan's Debut at Shanghai Metro People's Square Station.
What's funny is that only people going through this entrance need to have their carry-ons scanned.

1 Comment(s) | Leave a comment>>
Morning Sky
2008-8-7 7:23:54
By Alex

0 Comment(s) | Leave a comment>>
Little Bin Room
2008-8-7 7:23:16
By Alex

0 Comment(s) | Leave a comment>>
Subway Shops are closed
2008-8-5 20:13:48
By Alex

Shops in the subway aisle in Shanghai Railway station are closed 2 days ago for the approaching Olympic Games. And this will last for a month. One day before they closed, there was this crazy idea flashing in my mind when I was walking by.

The aisle connects 2 major metro stations, and it's right beneath the rails of Shanghai Railways station. What's more is that it's not inside the metro stations that is to say when you carry stuff into the shop, you can bypass security checks. If terrorists rant one shop. They can take their time piling up explosives there. Given enough amount of explosive, the damage could be HUGE! Anyway, wish this NEVER happens. and it's seeming unlikely to happen now.

P.S.I started transfer trains at Shanghai Railway station since a month ago when the "virtual software transfer" was enabled. Since the station of line 3 and 4 is not connected to line 1's station. Usually, you have to get out and get back in, and this makes your trip to two single ones, and will cost you more. The "virtual" transfer enables those who use transportation cards (prepaid card that you can use on bus, metro, and taxi) virtually connected. So as to save some of your money. (for those who use single ticket, this ain't gonna work, cuz when you get out the station, your ticket will be eaten by the machine and you have to buy a new one.)

0 Comment(s) | Leave a comment>>
The ATM machine that talks
2008-8-5 20:01:54
By Alex

I was withdrawing cash on the ATM machine that is down in the lobby of our office building. When I inserted my card, the machine started talking, really loud. People within the 5 meter diameter can definitely hear. I guess the designer would want to provide aid to those who have visual disablitiies. But the voice was too loud. I felt I was being trailed, publicly.
0 Comment(s) | Leave a comment>>
KunMing Bombing is Terrorist Attack
2008-7-26 22:50:10
By Alex

Olympic is approaching. Will Shanghai be Ok?
0 Comment(s) | Leave a comment>>
Nightmares & Growing Body Weight
2008-7-24 13:13:20
By Alex

I dream every night.
I have nightmares every night.
I wake up from nightmares every night.
I don't why.
But it seems ok, cause I still feel rested when getting out of bed everymorning.

I'm gaining weight, a lot of them.
My body fat propotion got to be rocket high.
I'm not feeling hungry, even before lunch and dinner.
I can't stop eating
I can keep on eating till there's nothing on the table...

I get up around 6 in the morning
I go to bed around 11 in the night
I easily feel tired in the evening.

My cut (from the surgery) is itchy.
It stays on my right arm as an urgly scar.

1 Comment(s) | Leave a comment>>
2008-7-24 7:38:24
By Alex

Today's temperature hits 38C. Arriving at the office early in the morning, and there's no air-con. I'm all wet now. I guess soon I'll just become bad and smelly. And it feels like the chair is melting into my butt.
0 Comment(s) | Leave a comment>>
Cell Phone [Full Featured]
2008-7-21 11:58:38
By Alex

I just want a desktop sealed up in a cell phone box that let me do anything that I can do on a computer on it.
0 Comment(s) | Leave a comment>>
What's up with Google?
2008-7-20 10:39:47
By Alex can not be accessed...Above is the icon seen on the homepage.
Google Analytics can not sign in... still works... still works...
what's up?

0 Comment(s) | Leave a comment>>
Cell Phone [Simple Edition]
2008-7-19 8:20:07
By Alex

I always want a cell phone that is super simple.

I don’t need fancy colored LCD or animated GUI that eats up the processing power of the chip.

I don’t need a camera, cuz I’ve already have a DC that I rarely use. It’s just a waste.

I don’t need mp3 player, cuz I have an 30G ipod where I can keep all of my music.

What I need is:

Basic functions to support text message, voice calls, and voice mails.
A huge memory: which means that I don’t have to worry about message overflow.
A powerful processer. So that when you key in your message, you don’t have to wait the characters to pop up. The processor might not need to be really powerful, just kick out the fancy GUI to free some processing power.
Keyboard pluggable. My thumb is not good a typist as my two hands. It usually takes a long time for me to finish a text message.
Desktop compatible. Companion software on the desktop. Simply wire the phone up with pc and there pops a window where you can get access to all the functionalities of your phone from your desktop. It would be great if it can integrate into Skype.

0 Comment(s) | Leave a comment>>
The longest distance is not from across the ocean, it's from China Telecom to China Net Com
2008-7-18 14:00:35
By Alex

0 Comment(s) | Leave a comment>>
Interesting translation in public places
2008-7-10 22:16:28
By Alex

Some interesting translation in public places.

Notice in AsahiKawa Zoo, Hokkaido, Japan:
I'm not sure whether any Chinese could understand this Chinese sentence. At least I couldn't understand without referring to the Japanese.

0 Comment(s) | Leave a comment>>
2008-7-8 13:04:27
By Alex

Nice view from office.

In the morning:

In the noon:

0 Comment(s) | Leave a comment>>
Blue Sky
2008-7-7 16:13:50
By Alex

Hot Day and Blue Sky

Haven't seen blue sky like this ever after getting back from Japan. This kind of blue was pretty common in Japan, but is really precious in Shanghai. It's the same for the air. After getting out of the plane at Narita airport, I did feel that the air seemed to be clearer. Just like when I got back to PuDong airport, it feels like someone covered my nose with a muddy handkerchief. Who took our blue sky and clean air away?

0 Comment(s) | Leave a comment>>
Paper back WIKI
2008-7-6 20:30:29
By Alex

Happened to find this book on a relative's book shelf. The book contains introduction of all universities in mainland China. This gotta be the wiki printed on paper 20 years ago.

0 Comment(s) | Leave a comment>>
Really Hoooooooot!
2008-7-5 17:58:00
By Alex

The moment when I walked out of the office building, I wanna kill myself. Man, it feels like hell. It's like diving into a bowl of hot water...

0 Comment(s) | Leave a comment>>
2008-7-2 19:10:53
By Alex

Rainbow after the rain.
It's just outside my window.

0 Comment(s) | Leave a comment>>
Full coverage
2008-7-2 18:33:17
By Alex

When you step into a metro station in Shanghai, you are being tracked. Lately the government announced that they have full surveillance camera coverage in each and every metro station all over shanghai. I've made some observation on my way to work. It proves that every exit, aisle, and platform are video camera covered. There are no cameras only inside the car. If they can install cameras there, maybe one day...

0 Comment(s) | Leave a comment>>
Motion Detection
2008-7-2 18:10:12
By Alex

Animation made out of pictures captured by motion detection software on camera in our open space.

0 Comment(s) | Leave a comment>>
Rainning Afternoon
2008-7-2 18:06:28
By Alex

0 Comment(s) | Leave a comment>>
Frenzy Killer in Shanghai
2008-7-2 17:55:35
By Alex

A frenzy killer was arrested in ZhaBei district Shanghai, after stabbing 9 people include 8 police officers and a security guard. Up to now 6 people are reported dead and the other 3 seriously injured. The man (name unknown) tried to started a fire at the gate of the Police ZhaBei bureau. He stabbed a security guard who tried to stop him. The guy later sneaked into the police office building during the chaos. He then started stabbing police officers on the 1st, 10th, 11th, and 12th floors. His motivation is still under investigation.

Sounds like the Akihabara killer in Tokyo several weeks ago.

0 Comment(s) | Leave a comment>>
NEVER, NEVER trust the client
2008-7-1 20:30:36
By Alex

When writing web applications, you should never trust the client, especially when checking field length, email validity. Say, for example, you have a user registration page that is using Javascript to check user name nullity, email format, and whether the password has been confirmed. so you'll have something like this in your js code:

//Pop up a warning and goes back

//Pop up a warning and goes back

and you try to limit the length of the user name to 16 using the text field's property: MAXLENGTH=16.

These constraints seem to be working all fine with a well behaved user. But several simple steps using just text editor tools could help us to bypass all of them.

Let's go crack this.
Suppose the domain that we are cracking is
the sign up page is at
we browse to it. and save the page using our browser.
and reopen the page saved using notebook, delete all the javascript, and the MAXLENGTH=16 property of the text box.
make sure that the form's action points to the right url. If not, change it. For our example, let's suppose that the form is processed by the same page.
reopen the saved local file in the browser, input a username of any length, email of any form and click submit.
IF there's no validation on the server side to recheck the data that the client is posting, you'll get there.
Isn't it easy? This can be finished in several minutes just using the simplest text editors. If any dude happen to have a order amount drop down that does not recheck the data again, it's gonna cause huge trouble. Think about getting all "-100" orders.
So NEVER trust your client!!!

0 Comment(s) | Leave a comment>>
you and I have memories longer than the road thats stretches out ahead
2008-6-30 16:18:34
By Alex

This is how Steve Jobs commented about the relationship between him and Bill Gates.

0 Comment(s) | Leave a comment>>
2008-6-19 18:42:41
By Alex

I had around 4 hours' sleep the day before yesterday and 5 hours last night, had 2 cups of coffee during the day, feeling kinda dizzy now. Well, really need to go home to grab some more sleep now.
0 Comment(s) | Leave a comment>>
2008-6-17 22:23:06
By Alex

I was always a disadvocate for ideas that people can handle multiple tasks simotanously and finish these tasks more efficiently.[] Untill recently, I found myself going through the GRE vocabulary while waiting for my code to get compiled. I did finish these tasks faster. The key is: you can shove these small peice of tasks that do no require context switching into relatively short timeslots.
0 Comment(s) | Leave a comment>>
2008-6-17 22:19:15
By Alex

Congrats goes to Shibata-san on his new book:

0 Comment(s) | Leave a comment>>
2008-6-11 7:29:23
By Alex

Raining days and Tuesdays always get me down. (Since we have shift our working days to Tuesday to Friday.) Arriving at office with a pair of wet feet. The damn rain's gonna keep on for the rest of the week.
0 Comment(s) | Leave a comment>>
2008-6-8 18:15:56
By Alex

This dude stabbed 17 pedestrians and 7 are killed...

Some of the transcript that I captured: (Might be mistakes cuz of my poor Japanese)






0 Comment(s) | Leave a comment>>
Raining Season
2008-6-8 10:25:48
By Alex

Heavy hail hit Shanghai yesterday, we are officially entering the raining season. Man, I don't like this season. Cuz it's hot and wet. And I usually sweat a lot, so towards the end of day I smells really really bad.

0 Comment(s) | Leave a comment>>

Team Cognition
2008-6-7 9:51:14
By Alex

Lately there's a discussion going on about virtual office that addresses the virtual presence of an employee in distributed collaboration. All of the scenarioes that we are talking about could be coined using a term called "Team Cognition". What virtual office tries to do is to enable effective team cognition. I digged through my research notes and found the following notes that I made after reading a paper titled "The importance of awareness for team cognition in distributed collaboration".

Team cognition is something that happens inside people's heads. something more than spoken communication. Effective team cognition includes things like using environmental cues to establish a common ground of understanding, seeing who is around and what they are doing, monitoring the state of artefacts in a shared work setting, noticing other people's gestures and what they are referring to, and so on.

What makes up workspace awareness?

"Who, what, and where". When working in single physical environment, we can easily understand who we are working with, what they are doing, and where they are working.

How is these infomation gathered?
-Conversation, gesture, and intentional communication
explicit communication
overhearing others' conversation
verbal shadowing, the running commentary that people commonly produce alongside their actions, spoken to no one in particular.
Bodies and consequential communication
The position, posture and movement of heads, arms eyes, and hands provide a wealth of information about people. Watching other people is therefore a principle mechanism for gathering awareness information
Artifacts and feedthrough
the machanism of determing a person's interactions through the sights and sounds of artifacts is called feedthrough. When artifacts are manipulated, they give of information, and what would normally be feedback to the person performing the task can also inform the person who is watching or listening.

0 Comment(s) | Leave a comment>>
After the Surgery
2008-6-5 16:36:46
By Alex

Here's how my right arm looks like after the operation.
A 1cm*1cm lump was removed. The doctor said it apparently appears to be adipoma, so no big deal. I'm fine now !! :)
3 Comment(s) | Leave a comment>>
2008-6-3 10:26:41
By Alex

Accidentally found this series of Japanese comics called "元気いる?", really cute.
Crazy for you like a devil...!

1 Comment(s) | Leave a comment>>
2008-6-3 9:57:15
By Alex

1 Comment(s) | Leave a comment>>
No Free Bags Anymore
2008-6-1 21:16:09
By Alex

For today on, there will not be any plastic bags given out freely when you buy something at the convenient store, supermarket and shopping mall in China. Free plastic bags, which we have been taking granted for decades, is now officially banned. Plastic bags will be sold at 0.2-0.3 RMB each. I was buying 4 bottles of soda this afternoon at a rural convenient store, there was a notice at the check out counter saying that plastic bags are sold at 0.2 yuan each. And the clerk explicitly asked me whether I need a plastic bag since it's not free anymore. I managed to grab the 4 bottles.

As a consumer, I certainly feel it's really INconvenient. From a shop owner point of view, it's certainly great!! Since the cost of plastic bags can now be saved at a undiscussable reason. And some may even be able to gain some profits from selling plastic bags. Who really cares that 0.2 yuan if the person happens not having a bag to hold all the stuffs? But for the bag manufacturer, it's certainly no good news, since sells volumn will go down.

The only amount of plastic bag use that will be saved is those generous giving out of the clerk when you only buy something really small such as a can of soda, a pack of chewing gum...

One thing to notice is that plastic bag use is not totally banned. Only the 0.025mm thick ones are not allowed to use. And you can still pay to use other kinds of plastic bags.

0 Comment(s) | Leave a comment>>
Google Fav Icon Changed
2008-5-31 13:34:14
By Alex

The old one:

The new one:

Well, I personally prefer the old one. The new one seems nothing to do with Google. Does this potentially mean that they'll change the logo?

1 Comment(s) | Leave a comment>>
Time Estimation
2008-5-29 13:34:00
By Alex

I was asked to make an estimation on how long it's gonna take me to finish a certain function. I started by thinking about all the steps that's gonna take me and breaking the whole feature into small tasks. And then I predict hours that each small task will take. Summing up the hours can give me the finish time. The problem is that I can't always make a precise prediction. (The fact is that I NEVER make a right prediction)

So I'm trying out something called: Evidence Based Scheduling.

It works something like this:
For example,
I've finished several tasks:

Velocity = EstimatedTime / RealTime

I also have a bunch of tasks on my TODO list. And I've given each of them an estimate hours.


Then we use Monte Carlo method to select some random velocity for each of these unfinished tasks. Dividing the estimated time by the random velocity and summing them up will give you a total time:

Random Velocity
Total Time : 18.25

Do this for 100 times, we can have 100 possible finish dates and aggerate the date. Now, given a date, I can get the possiblity that I can finish the task on that date.
0 Comment(s) | Leave a comment>>
2008-5-27 19:05:29
By Alex

Still in office now, about to go home. My iGoogle homepage displays something like this:

But it's still not yet raining outside. God bless me, don't rain till I arrive my cozy home. Oh, nooooo! Just heard the thunder. Is the raining season coming? I hate raining days...

0 Comment(s) | Leave a comment>>
Indexing Memory
2008-5-27 18:45:59
By Alex

There are 2 keys that my brain uses to index my memory: Music and Smell. I realized this long ago when I listened to a song from an old band called "Chicago" during my 3rd year in college. It brought me back to my junior high years. Cuz I kept listening to Chicago for like several months duirng that tape recorder time. Scences long buried in my memory database flashes back.

And it's the same for smell. A bit different is that the smell has to be a striking one that stands out of other smells, either really good or really bad so as to become a unique key.

0 Comment(s) | Leave a comment>>
Life Tags
2008-5-27 18:37:04
By Alex

塚原, 鶴巻温泉, Xerox Lounge, 冬, 中井, 秦野, ラーメン, 東海大学, Shuttle Bus, Short skirt high school girl, 新百合ヶ丘, Wendy's, セッド/単品, 日本語教室, LeoPalace, 本厚木, 柴田さん, Mr. Childen, 小田急, Hurt, しるし, Windy, Blend, 16:50, 町田, 札幌, スキー, 食べ放題, 北海道, Keys, 肥满度

Last Request, Warm, Walk, Paper, Zama, Writing Blocks, When you're gone, I don't love you, John Mayer, Steve Jobs, Covered in the Rain, 箱根, ガラスの森 桜 花粉症

Google, 親知らず, Algorithem, Freige, Say it right, McGriddle, That's the most beautiful there, 生ビール, 渋谷, 桜ヶ丘, 秦野駅のMcDonald, フライド, 空はまるで, What I've Done, Last Shuttle, Fan

Pink, Who Knew, 王东, 毕业, 找工作, Patrick, 那个人, Overnight, Black Coffee, MONKEY MAJIK, フタリ Sunny afternoon, 小操, 面试, Offer, 一夜情室友, Black table, Cold,WS, 闵行, Mini Cooper Model, Comic & BBS, iPod, SAP, DOW, EC, 0500-1400, 盲审, 答辩,网申,Quechua

Damien Rice, Amie, Lava Lamp, Wedding,, Code Review, 搬家, Furniture Rearrangment, Tommy Hilfiger, 古田
1 Comment(s) | Leave a comment>>
Model Toys
2008-5-25 8:37:46
By Alex

I've discover a bunch of model toys from a box kept under my bed.

2 Comment(s) | Leave a comment>>
Google China Search Volumn on National Mourning Day
2008-5-24 18:24:44
By Alex

0 Comment(s) | Leave a comment>>
Things about Shanghai Metro [3] Freaky Voice on the Shanghai Metro Line 2
2008-5-23 14:48:32
By Alex

Today the Olympic Torch reached Shanghai. A ceremony was scheduled around 8-9 in the morning in People's Square. The subway station of East Nanjing Rd. is blocked. Listen to how the Subway Driver read the notice. At first I thought "Gee, we are under attack, the alien has capture the train!". And this lasted for 4 times before the train reached East Nanjing Rd. station. I happened to have my camera with me. It reminds me of the Sleeping subway driver I saw the other day. [Link] But this time, Dude, you are definitly raising the bar to a brand new standard!!
I thought I had to take a picture of the driver this time. But since I was sitting at the end of the train, after I made through the crowd and reached the drivers' deck, the train started to pull out. Damn... I just wanna ask him: "Is your voice born like that or Dude, Are you crazy?"
1 Comment(s) | Leave a comment>>
Operation Scheduled...
2008-5-22 21:23:08
By Alex

I have scheduled an operation on June 3rd. The doc will remove a long found lump from my right arm. I first discover the lump, which is about an iche from my elbow, during the last year of college. And ever since than, it's been growing. 4 years later, it is now 2.5cm in diameter and about half centimeter thick. Meanwhile I've discovered several others: another one on the right arm, about an inch closer to the hand, 4 on my back, 1 on my chest and 1 on the belly. And they are all getting bigger... Poor me.

It will be my first time to get anesthetized and have someone cut open my skin and take something out of me.

God bless me!

1 Comment(s) | Leave a comment>>
Chinese Websites' Mourning
2008-5-19 16:57:22
By Alex

Many famous Chinese websites have changed their theme color to black and white during the 3 day long National Mourning from 2008-05-19 to 2008-05-21 in grief over the 5.12 SiChuan earthquake.







1 Comment(s) | Leave a comment>>
14:28 我们在一起!
2008-5-19 15:25:18
By Alex

We are together on this moment.

The government declared a three-day national mourning as the death toll of the earthquake mounts. From 2008-05-19 14:28, one week after the earthquake, we served a three-minute moment of silence.
0 Comment(s) | Leave a comment>>
How to help SiChuan
2008-5-18 20:09:27
By Alex

SiChuan Needs your help. You can help through the following channels.

如何捐助/HOW TO DONATE/寄付方法
新西兰/New Zealand/ニュージーランド
中国大陆/China (mainland)/中国大陸
香港/Hong Kong/香港
其他国家和地区/Other countries/areas/その他の国と地区
Please contact the Chinese embassy or Red Cross in your country. Thank you very much!

0 Comment(s) | Leave a comment>>
2008-5-16 8:15:15
By Alex

Pray for those still buried in debris.
You've got the whole country behind you.
Never let go!

0 Comment(s) | Leave a comment>>
Elevator Algorithm
2008-5-6 22:09:09
By Alex

if (elevator.IsFull())
elevator.IgnoreExternalRequest = true;

0 Comment(s) | Leave a comment>>
Bus Explosion in Central Shanghai
2008-5-5 15:06:44
By Alex

Due to machanical reasons, a bus got exploded and caught on fire this moring in central Shanghai. This time we were not lucky, 3 death, a dozen injured. It was an air-conditioned 824 bus. No emergency exit, except one door, could be found when the it caught on fire. Nobody broke the window, I guess the fire axe was removed from the bus. Pray for the victims. May you rest in peace!

Light a candle for the vicitms and those injured

And this is not the first time that a bus caught on fire in Shanghai. Most of the buses in Shanghai are overloaded during rush hour. In addition to this, the raising temperature and lack of maintenance make the bus engine much more fragile.

2 Comment(s) | Leave a comment>>
Live Messssssssssssssh?
2008-5-4 20:38:40
By Alex

Microsoft unveiled the live mesh during Web2.0 Expo. What is live mesh? I checked out the Microsoft website [Link]. There's only one idea that pops up in my mind. Sync files over the web. There are tons of other ways to do this and what's the difference? Reimplementation of Groove? Well, it's better to get my hands dirty with it. (It proved to be a really frustrating experience)
So I signed in with my Windows Live ID,
I got redirected to Microsoft Connect,
I registered with Connect,
pressed a bunch of agree buttons,
entered my live ID again,
and was posed with a register page again, it asked me to key in my first name,...bla bla bla, Why on earth do I need to enter these again since I have already signed in with my live ID???
"an activation email's been sent"
asked to enter my nick name(Unique) for Connect, no ajax, you have to wait the request to travel back-and-forth between the server.
and then I got redirected to the dashboard of Connect.
and then? what's up with live mesh? is the dashboard the updated news? I certainly don't want to bother to do all these and get news that I'm not interested in!
"File syncing" is that the same thing with the netdrive or net-u-disk thing. Store your file on a server so that you can access it anywhere, anytime from a computer with an internet connection. There seems nothing brand new.

Well, it spells just like IE7, Office 2007, Windows Vista. The most frequently asked question asked in our office, I guess should be, "How can I do *** in Office 2007, I know how to do it in 2003, but where can I find it in 2007?" [Link] Options: downgrading your OS to XP, remove IE and use Firefox (add an IE-Tab to cope with your trading record on TaoBao), downgrading your Office to 2003 or just remove 2007 and use open office.

0 Comment(s) | Leave a comment>>
Taobao's closing down on FireFox
2008-5-4 18:14:21
By Alex

I tried to open in my firefox today but always got a "Connection reset" error page.

Taobao's closing on FireFox users. I googled around and found that Taobao has officially announced [Link] that due to security reasons it will no longer support FireFox and other web browsers which do not use IE core.

To complete a transaction, you need to install a IE plugin for "Zhifubao" a.k.a "alipay". So if you are not using IE, you can not pay or get paied on the website. The reason why Taobao stood firmly on this stance is that most of the transaction systems of Chinese banks do not support non-IE core browsers. uhm...

I'm wondering how can anyone use TaoBao from a MAC or Linux? And can the plugin makes transaction really safe? [Link1][Link2]

TaoBao is the biggest C2C online platform in China. Its parent company Alibaba is the biggest B2B platform which helps a good number of small and medium sized companies to get to the world market. Alibaba also purchased Yahoo China branch.
0 Comment(s) | Leave a comment>>
Getting guide before making the choice
2008-5-2 21:06:36
By Alex

What's the personality of your future professor to be? What's his/her charateristics? Does he/she work directly with the grad students or just supervises from a very high level point of view and designate some PhD. candidate to "Monitor"? Questions like these usually can not be answered by the information posted on the department website, non can you get the answer from the professor's homepage. So kicks in to fill the blank. It's under public beta test now. Feel free to add your school, supervisor and share your own insights.
0 Comment(s) | Leave a comment>>
Archiving articles
2008-5-2 20:26:03
By Alex

The archive list of articles on this blog is now online.
0 Comment(s) | Leave a comment>>
what's up with
2008-4-30 15:37:23
By Alex

After a lazy afternoon nap, I tried to log on to the school bbs, but only to find the whole domain is down. Jot it down here. I'll wait and see it get recovered.
Well, it seems that the whole is not working. and are not accessible. Is it a problem with my connection...?

2 Comment(s) | Leave a comment>>
Some random shots taken during the trip
2008-4-30 11:36:39
By Alex

Craked Land

Cracked land in a different angel

Toilet in the country side

over looling a brick yard

0 Comment(s) | Leave a comment>>
Things about Shanghai Metro [2] Professionalism
2008-4-23 7:51:41
By Alex

When the train was pulling in this morning at the platform of ZhenPing Rd. station, I couldn't help to notice that the train driver's eyes were closed.... It proved me right when after nearly 10 seconds the door of driver cabinet was open. The guys was really sleepy and he turned on the auto polit and was taking a nap on the driver's seat. I was stunned... Wake up boy! You have thousands of lives on you hand.
3 Comment(s) | Leave a comment>>
Shanghai's Getting on a Tokyo look
2008-4-21 13:01:40
By Alex

After a quick look at the Shanghai metro map and it's Tokyo counterpart, it is not difficult to discover that they both have a round line: line #4 and Yamanote Line, and other east to west, north to south lines. Is this a pattern that most of the cities fall in, or is Shanghai getting on a Tokyo look?

0 Comment(s) | Leave a comment>>
Things about the Shanghai Metro [1]
2008-4-21 12:26:30
By Alex

After the ride at Shanghai Railway Station (the old one, not the new South one), if you wanna take a ride on Metro No. 3 or 4, you have to go to the south square, since the short cut from the platform to the north square, where the Metro station locates, has been blocked. You have to take a huge U turn which would usaually costs you 15 minutes to finish without any luggage in hand. And don't even think about get into Metro 1 and exchange, cuz you can not change to the other lines without leaving the station. When you planning to use the metro after getting back from a tired long train ride, be prepared for this.

Well this is not the only thing you need to be prepared. The last train of Line 3 and 4 ends pretty early around 23:00.With different directions at a different time. Don't know the exact time. Remember to check out the latest timetable of the metro.

The other thing that is wired is this:

When waiting on the metro platform, you can easily spot those nice LCD displays which tells you when will the next train pull in. (At the same time endless Advertisement.) But it is not installed in the right place. Cuz I don't give a f**k how long when the next train will come when I'm waiting on the platform. I'm already in, the only thing that I care about is I'm not gonna miss it. But when I was walking into the station, I really care about how long will it take the train to pull in. I need to decide whether I should accelerate or not so as not to miss the next train.

This could be more useful if installed above the entrance of the station.
0 Comment(s) | Leave a comment>>
2008-4-21 12:02:14
By Alex

I got back to Shanghai around 22:00 last night from SuZhou on CRH. It was nice, While somebody translates this abbrev. as "ChiRuHao", which means the humiliation, since evidence proved that the train is simply a product from Kawasaki Heavy Industries. You can easily find out that the train is exactly the same as the trains running on JR East Japan.

Another version of CHR made by Bombardier Inc. Canada

Here's the CCTV news (With Japanese Translation):
Next time when you hop on a high speed train and enjoy the ride, bear this in mind: "You've paid your cash to a company which has built most of the heavy machinaries for the Jap during WWII. And your tax's been flown that way too!"
0 Comment(s) | Leave a comment>>
Oh Where Has My Messenger Gone
2008-4-12 8:31:27
By Alex

MS has incorporated MSN messenger into the Windows Live Group. So moved the short cut in the start menu. Now when you are searching for the icon on the start menu, don’t be surprised. It’s under the “Windows Live” menu and one more click farther now.
0 Comment(s) | Leave a comment>>
Interesting GoogleMaps Mashup
2008-4-12 7:38:58
By Alex

Campaign Donation, find out who's donating who.
0 Comment(s) | Leave a comment>>
PS3 Ads
2008-4-8 12:36:28
By Alex

Saw the following new PS3 ads in the subway this morining, Cool!

0 Comment(s) | Leave a comment>>
2008-4-6 22:55:21
By Alex

When I was using my DC yesterday during the outing, I discovered these photoes that I took in my SJTU lab weeks ago.

The plastic name plate of our lab. We prevail in scale, cuz our supervisor believes that the more people the higher productivity, however, he does not know that creating software is totally different from manufacturing, the more people you put into a project, the worse it could be.

The only thing pasted on the white board inside the lab. It's a notice signed by our supervisor. The notice reads: 自2008年1月18日起,严禁以任何理由在实验室打游戏、炒股票、收看娱乐视频及进行其他与学习研究无关的娱乐活动,否则立即开除出实验室。特此通知。王东 2008年1月17日。 The very vague sign in the back on the white board reads the same thing but with a earlier date. As far as I know most students do those forbidden deeds, and no one has ever been cleared out of the lab. Instead of a notice, it's much more like a humiliation of the teacher himself. It's a feature that could make this lab so stand-out. 10 bucks say that you can't find things like this in 95% SJTU labs. Cuz it's so hard to believe that this notice thing is the only thing that you can find on 3 white boards placed in 3 20-people-sized labs. The big question mark would be: where does the common call for paper notice go?

The culture and motto of the lab drafted by the supervisor. Really interesting and ridiculous one. Wow, did I forget to mention that our supervisor was not a Computer Science major. He got a PhD in Mechanics. No idea how he became a professor in Computer Science department... And I can't even find his homepage which is supposed to list his briefings, publication list, research focus. So my advice is that if you are a student enrolled by SJTU and is about to choose a supervisor, better off get away as far as you can from this man. His name is Dong Wang.(王东) (珍惜生命,远离王东!)

0 Comment(s) | Leave a comment>>
Up and Down
2008-4-3 23:06:59
By Alex

My Blog always goes up and down. Got to find a better service provider. Well, I'm trying out other places meanwhile.

Besides, also need to add some new features here:
Comments, where visitors can drop a word or two;
Archive, Monthly archive of my posts so that the homepage wouldn't be too long;
Drafts, I can easily spot several unfinished posts that I wrote weeks ago.
Since I'm a 1-man-team, and trapped in work and yet another on-going side project which will be released very soon, the process's gonna take some time.

0 Comment(s) | Leave a comment>>
90-Degree Turn
2008-4-2 16:54:20
By Alex

Heard from Leslie during lunch the other day that according to the Chinese FengShui(风水), you'll get wealthy if you sit at your desk facing the south and not against the wall. Therefore I turned my desk by 90 degrees. So right now,I'm sitting towards the south hoping the theory to work.

But after Googling around for awhile, I found that there are many other theories out there that seems reasonable.
and this interesting website:

0 Comment(s) | Leave a comment>>
Down with a cold
2008-3-31 19:52:37
By Alex

I had too few sleep last week, Didn't really sleep Monday night, 5 hours sleep for the other days... And after a dozen of chocolate bars and 3 hours PC games, I'm offically down with a cold. I slept for nearly 12 hours last night, but still feel kinda sour in both my knees. Well, better off catch up some more sleep tonight.

0 Comment(s) | Leave a comment>>
My First Ugly Board
2008-3-31 18:44:57
By Alex

I was packing stuff the other day and found this ugly board that I hand-created over 4 years ago. It was used for simulating a bicycle automatic gearing system.
It was not very lovely on the front side and if you flip the board, you'll find out something really ugly...

My First Board that I hand-created 4 years ago, it was really ugly. You can spot the Atmel C51 chip and a set of LEDs

The back side, here's why it's ugly
The basic idea was just to adjust gears according to the speed of a bike. We used a Hall device, which could detect changes in magnatic field and 4 strong magantics on the bicycle wheels to calculate the speed and displays the speed and the current gear setting on the LED. And after speed moves from one pre-defined speed section to another, we'll change the gear by sending a command to a stepper motor, which by the way is not in the picture. (I guess I returned it to school.)
Since the hardware was really unstable, mainly caused by the hand created wiring on the backside, you can even get a shortcut if you place the board in a bad position, when it comes to debugging the software (I write the code on PC, compile it, simulate it and then download it to the C51 chip), it was like a nightmare. I can still rememeber how frustrating I was and those sleepless long night that I spent in the lab.

0 Comment(s) | Leave a comment>>
Security Level is UP for the upcoming GAMES.
2008-3-25 13:58:18
By Alex

With the upcoming Olympics, we are tighten up on security measures here. There lately has been an outbreak of news that the government has successfully cracked down an attempted terrorist attack on a domestic airliner. But my judgement of the news is: luck was on our side. Here's the story: A woman brought a can of gasoline onto the plane and ignited it inside the restroom. She successfully bypassed the security check by mixing perfume into the gas so as to cover its smell. The air hostess noticed the smoke coming out of the restroom, opened the door and stopped her. Since the gasoline bomb was not well designed, besides the smoke, it created no other damage. So we have tightened up the security levels on domestic airlines recently. No liquid in hand luggages. So don't be surprise when you see the long line at the security check in major airport when travelling in China these days.

In town, to my surprise, I saw police dogs patrolling down the subway station at XinZhuang, Shanghai, which is a busy subway intersection of line 1 and line 5. All tops of the litter bins in subways are removed.
0 Comment(s) | Leave a comment>>
Leaving School
2008-3-25 13:49:07
By Alex

Graduating from school is definitly something great for me. Since I can finally get away from the lab and my evil advisor. But somehow the procedure was really troublesome. You have to get 15 stamps from more than a dozen different departments. And think about the size of the SJTU campus! I spent one afternoon on the bike running all around the campus, and still not able to finish the stamping thing. So I had to go back to school again on Monday. Finishing up the stamps and got my graduation certificate. Besides this, we also have something (I guess it gotta be unqiue here in China) that is called "Three-Party Contract" (三方协议). It is signed between Me, the school and my employer. Well, I finished signing it with WS, there was only the seal from the school left. So I went to the career center, thinking that I could finish it right away. I arrived there just before the noon break. And the teacher there, who BTW seems to be a total bitch, told me to come back in the afternoon. Her reason was that it would take me 10 minutes to finish the process, and there's only 7 minutes left before the noon break. Well, then, I have to wait for another hour and a half to come back again. And after a 10 minutes' ride on the bike, I was there. The mid-aged lady was busy talking with someone on her cell phone (10 bucks say that's not for work!), and she was too busy and she literilty forgot me. I stood there for more than 5 minutes before she realized that there was still someone waiting. Then after the stamping stuff, I was told to go back to my college again for some kind of form. So off I went and came back with the form. And again she asked me to go back to my college for yet another form... So off I went...and came back with the other form. And this time she told me that my employer's serial number has expired. So in a nut shell, I still can not close the case with in the day. And what's surprising is that she does not even feel guilty. I guess I'm not the only one who has been running back and forth.

0 Comment(s) | Leave a comment>>
2008-3-25 13:11:13
By Alex

Haven't logged in for long after the internet connection at my place got broke. It was last Friday, after getting back home after a round of frustrating leaving school procedures, I logged on to check out the code from our vss server, but only to find that the internet connection is broken. It proveded that the dude living in the apartment before me canceled the service. And it would take me up to a week to restore the service at my place... So during the mean time, I have called up every possible ISPs to find out who's the fastest for the first time user. Here's a list of major ISPs in Shanghai, it might be useful to you.

China Telecom

Being cut off from the web is definitly not a good feeling! It just feels like being stranded on a island. Suddenly everything you once took for granted slipped away. No where to check the weather forecast. Can't drop a happy birthday notice through messenger to some long unvisited friends. It proved that there are more and more things that we start to take granted for.

0 Comment(s) | Leave a comment>>
Spring's coming
2008-3-25 13:06:53
By Alex

The temperature here in Shanghai rose above 10 degrees for the past 15 consecutive days. So we are now officially into the spring season. I found that the flowers in the garden are blooming. It reminds me of the Cherry Blossom in Japan last year. During this 花見 season, the Japanese will go out drink and sing beneath the 桜. They still perserve this tradition. And for some hot places like the 上野公園 in Tokyo, you have to be there the night before to get a good spot.

0 Comment(s) | Leave a comment>>
Mouse Modded
2008-3-20 11:46:23
By Alex

The first mod that I've ever made. I forgot to take a picture of what the mouse was before the painting. Well, the smell of the paint is like hell, I had to keep all of my windows open and wear a facial mask for the whole morning. And I frightened the lady next door when I opened the front door in my PJs, and with a facial mask on and a DC in hand.

Mouse painted in black (Not only because black is cool, but also because black is the color that I have) By Alex

My in my facial mask By Alex
(You can't imagine how hard it is to shoot a photo for yourself, W/O a mirror. Whole trying though)

0 Comment(s) | Leave a comment>>
Shanghai Skyline
2008-3-19 9:00:50
By Alex

Went through the photos in my DC this morning and found this:

By Alex On March 2nd 2008

0 Comment(s) | Leave a comment>>
Call it Work-Life Choices
2008-3-19 7:48:04
By Alex

Forget the idea of "balance". There's no single right way to divide work and personal time.
In a global economy wherein job challenges are constantly escalating, it is easy to feel overwhelmed by conflicting demands. And technology complicates matters. With your BlackBerry in hand, you can constantly be on call for everyone.

But feeling swamped is really just a default mechanism: It's what occurs when you don't face what "achieving work-life balance" really comes down to, which is making choices and living with their consequences. In fact, we would even vote to retire the term "work-life balance" and replace it with "work-life choices".

The problem is that life and work balance is suggesting that there is one right ratio for how much time you spend working and not working. There's lot of politically correct advocacy for a kind of perfect equilibrium.
But some people love working really much that they want to live a different equation, for example a 70-30 , say.
Still others want to work just enough to support a life of avocation.

There's no right or wrong here. There are just individual choices and their trade-off.
0 Comment(s) | Leave a comment>>
Top 10 Best and Worst Company Practice
2008-3-19 7:45:58
By Alex

Came across this during the noon break:
"Top 10 Best and Worst Company Practice"
Think it would be fun to Rank Fuji Xerox and Intel against the benchmark
It's only something seen from the angle of an intern.
Let's start with the bad stuff.
Top 10 worst practices
1. Forced Ranking Systems
These are a pox on corporate leadership ideals. They're arbitrary and work against efforts to encourage teamwork and build morale.
Fuji Xerox: 2 reviews in a year, however the different between rasie of salary is slight
Intel: Focal at fiscal year end. Everybody's striving for a good review. HR handles tons of issues and cases during this period of the year.
None of these two companies seem to have a forced ranking system.
2. Stealing Miles
If my tush is in an airline seat 30,000 feet above the ground (or even worse, sitting on a runway for 11 hours), I deserve every frequent-flier mile those trips earn. Companies who steal their employees' frequent-flier miles do not deserve us as employees or as customers. Shame on them!
None of the two has this practice. I've heard some story that happend the other way around in Intel.
3. Love Contracts
Because they couldn't come up with a more intelligent way to combat sexual-harassment charges, a few bone-headed companies have established "love contracts," which they expect employees involved in romantic relationships with one another to sign. That's just goofy! We should be talking with employees and managers about appropriate boundaries and making it easy to report inappropriate behavior—not shoving contracts in their faces.
Haven't heard about this kind of contracts in neither companies.
But heard some rumors about sexual-harassment in Intel. And saw something REALLY disgesting there too.
4. Anti-Moonlighting Policies
I believe that we shouldn't compete with our employers. If I design kids' clothing for you, I shouldn't have my own kids-clothing design company on the side. But anti-moonlighting policies go further, preventing office employees from tending bar for a few bucks on Friday night or singing Ave Maria at a wedding for a fee. That's an outrage. Companies should manage the work we perform for them, not our free time.
BPX of Intel forbidden employees to take any kind of moonlight that may potentially undermind the company's business. I can't remember if it's possible to do something out of the company's biz scope. But I know people start small biz like cafes & bars in their spare time.
The contract I signed with FX states very clear that I can NOT serve any third party during my stay in Japan. And regular employees can do anything as moonlight enless the company approves.
5. Salary Verification Requirements
Let me get this straight: You expect me to trust that you will provide a great work environment and the training I need and generally live up to what you promised me at the interview, but you don't trust me to faithfully report what I earned last year? Employees who demand proof of past earnings (in the form of last year's W-2) should hire the second-rate employees they deserve, not folks like you.
I heard that Intel has this in China. But it seems like most of the companies there have this practice. However, people don't seem to care about this that much.
In FX, I haven't heard about this.
6."Stitch-level" Dress Code Policies
Every employee should be made aware that your company expects professional attire in the workplace. No argument there. But overly detailed dress-code policies that delve into fashion terms (peplums and flounces) are an insult to intelligent adults. HR people should stay out of our closets and hire only people who wouldn't dream of dressing inappropriately for work.
No. Not this kinda strict in neither two places.
But in FX, whenever you make a biz trip to the headquater, no matter what kind of job you do, you have to wear suit. Maybe this is the Japanese biz practice. And other Japanese companies have the same practice.
7.Outsourced Employee Relations
Outsourcing saves money, so I can't get too worked up when a company outsources dental plan administration, for example. But too many employers have outsourced employee relations so that when you have a problem with your manager, you have to call 1-800-I-Have-A-Problem-With-My-Manager. Employee relations is an on-site function, whether it's a part-time assignment of the boss's assistant (properly trained) or the responsibility of a roving HR rep. Nothing good can come of doing otherwise.
For every biz group in Intel there's a seasoned HR biz partner working on the on-site HR issues.
At FX, this is not outsourced neither. Though people here are so friendly to each other. There are rarely HR issues. I don't know if this is good for the growth of the company. Anyway, corporate culture here.
8. Radio Silent Recruiting
I've written about the cold shoulder that many employers give job seekers. Do companies think that these folks don't buy products and services, too? One of the most obnoxious developments of the past 10 years is the horrendous way employers treat those looking for work. One hopes that the wheel of karma will turn quickly enough to set these companies straight.
I don't know. Since I got both offers.
However, with more than half of the market share in Computer chip and High End printing biz, it's really hard to turn away from these even if you got a cold shoulder.
9.Internet Snooping Programs
In today's work environment, online activity is what personal phone calls were 20 years ago: a fact of life. Everyone indulges a little bit, and companies act like they're horrified (even though managers do the same thing). Internet snooping programs that track an employee's every keystroke and visit to eBay send the message: "We managers can't manage your results, so we'll manage your activities instead." If a great employee spends 20 minutes a day recharging his batteries browsing blogs, good for him or her. Maybe that's what makes that employee a star.
One thing really weired at Intel is that it blocks Google while leaving other sites like personal blogs wild open.
At FX, there are strict Internet snooping regulations. Besides porn sites and other generally banned websites, it also blocks forums, blogs.
10. Golden Parachutes for Nonperformance
I don't mind if my CEO earns 400 times as much as I do if he does his job! Shareholders should push back against parachutes that generously reward the failures of departing leaders.
I'm not sure about this. But my feeling is that Intel is tougher on this than FX.
At FX maybe it's easier to plod away.
Now comes the good stories
1. Employee-Referral Bonuses
The company gets a new employee with no recruiting fee, your friend gets a new job, and you get a check and the gratitude of both your friend and employer. What's not to like?
Intel: Yes
FX: not sure
2. Employee-Driven Transfer Policies
I'm all in favor of policies that let you apply for jobs posted internally without your manager's approval. After all, different folks do better or worse work for different managers. And smart companies would rather have people stay in the organization than move to another employer because a self-interested manager blocked a requested transfer.
Intel: Not clear policies made
FX: Don't know
3.Van Pools and Subsidized Transportation to Work
Being green is where it's at, and companies that help underwrite employees' public transportation costs or provide van pools are way ahead of the curve.
Intel: Flexible Working Hours and Work From Home Policy
FX: Core Time and Flexible Working Hours
4. Town Hall Meetings
Companies that value employee input make a point of sharing news with their team members, virtually or face-to-face. Town hall meetings with leadership are a terrific way to generate ideas and get employee buy-in on new initiatives.
Intel: Bi-weekly BUM
FX: There are Biz Update. But since it's all in Japanese, I can't quite understand.
5.Ethics Hotline
All employers talk about ethics, but the ones who provide a way to report misdeeds are the ones most likely to catch problems. Confidential ethics hotlines allow employees to anonymously report bad actors without taking their chances on the dreaded "chain of command."
Don't know for neither places
6.Distance Learning
We've got the Internet, let's use it! Distance-learning programs let employees gain new skills, right at their desktops.
Intel: You can access a uncountable learning resources through Intel Library, Books 24/7 and a wide range of online and classroom training courses at Intel University.
FX: Limited and somehow boring training programs and no online resources. There is a small library on the 3rd floor of the research center, paper materials are not up to date.
7.Company-Sponsored Alumni Groups
Back in the day, a bunch of former Data General employees started an alumni group called the Grey Eagles, and the idea has caught on. Now, smart companies like McKinsey sponsor their own alumni groups, sending the message: "If you worked for us in the past, we would love to keep in touch in the future." More than a source of job leads and connections, alumni groups help their sponsor organizations hire and retain talented folks.
Neither has.
8. Corporate Social Responsibility Programs
Big companies have done a lot of damage over the years, but some of them are doing great things for the world today through CSR programs. Whether banding their employees together to build houses or providing education for their vendors' employees in developing nations, socially aware employers are making a tremendous difference around the world.
Intel has more.
9. Matching Contributions
Some employers match their employees' personal donations to the arts and to charitable organizations. Others match their employees' 401(k) contributions. Matching donations aren't giveaways. They say to employees: "If you're in, we're in."
Neither has
10. Intranets
Want to know how the company's stock is faring or how the company softball team is doing? Check the company intranet. These sites promote benefits, share job openings, and generally keep employees informed, even when they're working from home or on the road.
Intel is really making use of the intranet with it's ubiquitous use of Sharepoint site, internal blogs, Circuit. And you can access the company network from outside via VPN.
FX has really strict regulations on the intranet and emphasis the data sercurity alot. It's overreaching! And the internal homepage DocuSqure does not seem to be appealing.
0 Comment(s) | Leave a comment>>
2008-3-19 7:44:44
By Alex

I was reading the preview sections of the book "Founders at work" recently. The book was made of interviews of 32 founders in the IT field.

Some of the tips from Joel:
You need to have some way to let your customer know about you.
Joel used his blog to gather a huge number of "Joel Fans". And some of them became his first clients at the early days of fog creek.
Quit your job to bootstrap your own business, if you think that you can just spend 1 or 2 hours a day after work to take care of you bootstrap then that's not very likely to happen.
Don't care about your competitors, listen to your customer!
Got yourself a team.
Divide your task force horizontally instead of vertically. It's really hard to find someone who can handle the whole thing, from marketing to engineering.
To get work efficiency, let your team members work separately.

0 Comment(s) | Leave a comment>>
Finally settled down in the new apartment
2008-3-18 20:00:09
By Alex

After weeks of planning, and weeks of searching, and a week of packing, and yet another busy day moving, I'm finally settled down in the new apartment. Though it will still take me another week to unpack everything and get them in where they should be. The apartment is nearly twice bigger than the old one, and is three times closer to the light rail station. Well, as a trade off, the rent is also 50% higher then the old one. (Though we own the old one and literally don't have to pay the rent.) Anyway, a picture speaks better than a thousand words.

By Alex 2008-03-18
And what's more is that I'll move into the new office next Monday. What a heck of moving these days!
0 Comment(s) | Leave a comment>>
New office to be open very soon!
2008-3-14 16:32:05
By Alex

I am current working as an intern at a small company called Eike Consulting. And I'll turn into a regular employee in a week when I move to our newly opened office here in downtown Shanghai. So it finally comes to an end of my SOHO life, which lasted for around 5 months since last Dec.
Speaking of the office, I have to admit that the location is really cool. It's just one minute away from the #15 exit of the metro line. It has a nice view of the people's square. The grand theatre, the historical and art musem are just inches away. And what's more is that we have a meeting room equiped wiht the latest Sony PS3 console. So when you get bored of writing code you spend some time playing it. BTW, we only have one joy stick now, we will definitly purchase one more so that we can play with/against each other, or maybe start some season gaming event in the office.
Instead of doing peripherial out sourcing stuffs, we are creating the core engineering work here in Shanghai. We are working shoulder to shoulder with our seasoned engineering team based in the US.

0 Comment(s) | Leave a comment>>
Interview Experience
2008-2-27 18:34:02
By Alex

The job hunting season is finally coming to an end. It’s time to get it wrapped up and archived. Finding a job feels pretty much like looking for love. You started aiming high and ended up with something that is off your expectation.

I started the job hunting process in early April and started dropping my resumes around. I applied for Google during one lunch break and was not expecting any feedback. But surprisingly, I got a reply 3 weeks later. And an phone interview was scheduled right away. They were on time and efficient. The first round was on the phone and all general questions. Easy to handle. I made it to the next round. The second round was a video conference call with an engineer in Beijing office, since I was in Tokyo then. So I went to Google Japan office to have that interview. The whole process was smooth though the interviewer was late for around 20 minutes. I made it to the third round. The third round was phone based. I was interviewed by a peer-to-be. I screw it up. The phone was not properly set. I was not able to talk on the head-set. I have to hold the phone for nearly an hour. I was nervous. And I prepared for it in the wrong direction. Too focused in the network related stuff and neglected most of the algorithm stuff.

Strive for a F2F, video. If you can see the interviewer, you can get more feedback during the interview and that could help you do better.
Do not easily buy the interview tips on the web. The content may vary from position to position and from interviewer to interviewer.

Fuji Xerox
I have to mention Fuji Xerox. I spent 11 months there and learnt a lot from my mentor. But finally I turned it down. Living in a non-English speaking country alone does not seem to be a good option, especially after the wisdom-tooth incident. The package was not so attractive. The work I am supposed to do was not interesting.

DOW chemicals
Two rounds of interviews, simple and easy, all general questions.
1st round: some girl from HR with a dead fish face kept asking questions.
2nd round: 2 rounds inside this round, each interviewed by two interviewers. Still, not surprisingly, general questions.
Got offered hours after the second round.
Package no good, not promising future.

One day interview at SAP Shanghai office. Group interview in the morning, Soft skills & hard skills in the afternoon.
Group discussion, prepared speech and presentation. “Asking questions and getting to the point” were the keys.
Hard skills: not so hard, knock the interviewers with brief intro of your projects.
Soft skills: flexibility, performance under pressure. “Apply a problem-solving framework”, Be tough.
Got offered a week later
Package no good, too much travel, not too promising future development

Eike Consulting
1st round Phone interview:
2nd round F2F interviewed by VP of Wicresoft
3rd round interviewed by EC, bombarded by 5 rounds of interviews: general questions and technical stuff.
4th round interviewed by my peer, technical stuff that I didn’t handle well.

0 Comment(s) | Leave a comment>>
Real Reasons
2008-2-27 18:32:54
By Alex

Lately, I’ve been interviewing with a small start-up called Infoclad, which is based in the Bay Area near SF.

F2F Interview @ Hilton Hotel, Shanghai
I had an interview with a Chinese guy (let’s call him W) on this cold rainy winter Sunday night. The meeting was called up 1 hour before it began. (No specific time frame was given the day before) W showed up in the hotel lobby after I’d been wandering there for 15 minutes, he was with a half-drunk bottle in his hand. (A BIG question mark popped up in my mind: Interview or Party?) There was no formal meeting place, we wondered the lobby for awhile and hit the bar at the corner. But 10 seconds later after we sit down, we were told by the waiter that we have to leave if we don’t buy any drink… So off we went.
Finally we settled ourselves down in a coffee bar, where there was really loud Jazz playing around in the background. And the interviewer left for bath room right after we were seated, leaving me behind facing the waiter and a menu. Minutes later, W came back. Started to talk… with a beer breathe. (Dude: clear your breath first!!) He started poking around my resume. Asking random questions about my school, projects that I’ve been through. I can’t hear him from time to time since the music was too loud and kept cutting us off. Really BAD location for interview. Finally I played my card and reject him on-site.

Email Lobby Campaign
After that interview, W started an email lobby campaign mocking my current company, pointing all disadvantages and short comings. And told me that I can join their training sessions in Shanghai to see what they are doing on a day-to-day basis. (That ended up to be disappointing too. The so-called training session in Shanghai is all on a dvd. And the contact person in Shanghai failed to get in touch with me for 3 weeks saying that he was away for holiday.)

Phone Interview with the US-based team
Scheduling: the interview was mentioned long ago in an email loop. It cost them an awfully long time to hammer the date down. It seems that those guys are really busy to squeeze several hours out of their agendas. The final date is set when one day I got an email saying that “Will you be available tomorrow? We will schedule sometime tomorrow afternoon to let you talk with our US-based team” Well, “sometime”… It proved that I waited for the whole afternoon for the interview to happen.
Interview: W and two other Indian guys started the interview. All general questions like, “Tell me about the most challenging project you’ve been in and why it was challenging”, “Who were the worst team members you’ve worked with”, “What people say about you, both good and bad.” And I blah along the way.

Tendering offer
One day after the interview, I got a phone call, and there came the offer.
$61,000 yearly income with a H1-B working visa.

Interviewed By A Client
Everything seems to be fine (though the 1st round of interview seemed a bit awkward.) until the I received an mail containing a interview question list. I need to prepare another round of interview with our CLIENT which is an iBank. What? I have to be interviewed by a client? My fear started to grow, what if I failed the visa application? What if this is all fake? I started my little survey around the web and found that their so called Beijing office has no employee working there, there’s only an office manager who has his contact information pasted around the web for second hand PC and server deals. And the address of the US office is associated with some attorney’s info in all Google results. I guess this got to be an talent out-sourcing company.

Well I guess I need to jot these things down to back up my decision.
Now I’m sitting inside a lousy Mc sipping a awful cup of coffee…

1 Comment(s) | Leave a comment>>
EasyNote: Makes taking notes while reading easier
2008-2-8 21:07:32
By Alex

It always bugs me when I try to jot down some notes while reading a document on my laptop.

Google Notepad gadget is too simple. It's only a notepad, no hyper text, font and image support. And to key the notepad topmost you have to do two clicks.

MS Office Notes is a nice tool(not free). But it is too complicated, and the tab control makes using it confusing.

So I rolled up my sleeves and spent the afternoon making this Easy Note taking tool.

Let's look at the requirement again before heading into building the tool.

I usually want to take notes when reading documents in doc or pdf format. The note may consisted of text, screenshots images and sometimes hyperlinks. So I decided to save the notes in RTF format.

When reading documents I would like the note taking tool stay on the screen so that I do not need to bother switching between different windows. So making the tool a topmost window should only be one click away.

Here's the feature list of the tool
Auto save. It save the notes every 20 seconds automatically. In case you forget to save explicitly, you will only lose content produced in 20 seconds
Pin button makes it one click away to let the main window stay topmost.
Sticky to the screen edge. The main window does not move outside the screen. And when you move the window closer to the screen edges, it will be docked to the screen edge.
Inserting current time: Ctrl+t. Since I usually use it to keep a daily log of my activity.

The tool is a bit buggy now, but feel free to play around with it and I'll be glad to get some feedback.
You can find the installation msi file here: [Link]
You'll need .net framework 2.0 to run the setup file. At least you need to have a redistributable package which you can download from here:[Link]

0 Comment(s) | Leave a comment>>
The Software Management Training Program for myself
2007-12-24 13:47:48
By Alex

Mentor: Experienced Veterans
Access to library, learning resources.
Rotate in Roles including: Project Management, Tech Support, Inside Sales, Software Testing, Usability Testing, Software Design, Program Management, Beta Management, Marketing, Build Management
Reading List:
The Mythical Man-Month
Don't Make Me Think! A Common Sense Approach to Web Usability
Growing a Business (Paperback) by Paul Hawken
DEC Is Dead, Long Live DEC: The Lasting Legacy of Digital Equipment Corporation
Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition

1 Comment(s) | Leave a comment>>
2007-12-20 19:25:22
By Alex

The past 3 months and the year before I went to Japan was just lousy! I made a life long mistake by choosing a wrong advisor while staying at JiaoTong. It was my fault that I didn't do enough homework when making the choice.

Why not open up a place where people can comment on their advisors so that boys and gals younger than me would not make a mistake again.

Here's a link of the beta version that I created overnight. [Link]

3 Comment(s) | Leave a comment>>