Sunday, May 2, 2010

A little bit non-cs thoughts:)

As a purely computing geek, most of the time I am focusing on things related to CS. However I also very interested in things like investment and economics. If I were 5 years younger with my current knowledge, I might choose Business/Finance as my major instead of CS:)

In fact, I have got a little bit training in those fields. During my study in China, I have taken courses like International Trade, Financial Accounting, Modern Management, Government Budget Plan and so on. These courses have established some basic ideas of business/economics for me. However, it is when I start working that I realize the importance of investment and business. Sometimes a technology geek just cannot avoid thinking about how to spend his salary for a house or a car. Obviously he could not just use a calculator to divide the expense by his salary:) Also, books that I have read like Money Changers, On the road with Jim Rogers Investment Bikers and Triad Power. These three books influenced me so much that I could not bear leaving my salary in the bank without doing anything. There's an old motto in China: no advances means falling behind. This motto well applies to money and currency. Due to inflation, our money is becoming less and less valuable. The interest we could obtain could not completely make up the loss of inflation. If we could make use of our current money to produce more, why don't we have a try then?

One interesting fact is that Bill Gates withdraws from Microsoft, but he puts almost all his money under the management of Warren Buffett. A boss like Bill Gates knows the importance of investment and obviously he is not lack of money, then there is no doubt that a poor programmer like me should pay special attention to investment for expanding my assets:)

Another interesting thing to investigate in the future:)

Sunday, April 18, 2010

Last post of this term:)

Well, this is the last post of this term. I may continue writing more in the future, but I may not keep posting weekly. So I will post when I have something new to say.

As the last post, I want to give a summary of my progress this Spring:

1:I continued with my job in IBM. As my profile indicated, after I came back to Vancouver, I was still working for IBM, as a part-time worker, and am still doing the job right now. As I have been working for IBM over one year, I really learned a lot from the big blue. IBM is the first company i have been working for in my life and will always be my first tutor for my career. In Toronto Lab, I have met many extremely smart students who showed their outstanding creativity and efficiency, I am lucky to meet my roommate who is a DB2 developer and my Montreal friend who is a computing geek:) Both of them influenced my life significantly. Also, my IBM's friends like my coach and another employee are crucial as my career and life guidance. I like them.

2:I started considering investment seriously. Before this year I had the idea that investment is necessary, but I didn't have a clear plan for it. Now I have started my investment plan from all aspects which should bring a considerable benefit in the future.

3:I am holding remote discussion with my friend frequently. The topic may cover from our projects to any hot technologies currently. I find this kind of discussion helps us expand our knowledge greatly. Most of the time different people may pay attention to different aspects of the trend, and if all of these ideas and thoughts can be merged, then the outcome will be a much larger set of knowledge:) One person can spend 10 years learning very well in certain fields, but the union of 100 people's knowledge may have already covered all the aspects of those fields.

4:I got the job in Microsoft windows team:) Best thing this year!

Last but not least, the cmpt 376 is really a good course. It is not trying to teach us new technology, every one can learn new technology either from a book or from some web sites. The meaning of this course for me is that it gives a programmer to stop and clarify his thoughts. It is easy to write a piece of code, but it is harder to write an essay to elaborate the essential of that code. As most of the time some programmers just know this is the way to do it, but they don't think about the story behind it. When we write an essay for others to read, we are doing more than coding. In fact, we are investigating the hidden art of computing science at that moment:)
Above all, nice course! And nice processor:)

Biao

Lots of courses next term:(

In order to graduate by the end of next term, I have got 6 courses enrolled right now.. Normally people will take 4 courses per term, if they are capable of handling lots of assignments at the same time, then they may take 5 courses. But I have to take 6 which is the maximum amount of course load permitted by school...

I think I should start preparing for the courses as early as possible so that I may not be overwhelmed at the beginning of next term. Also, I have to order those text books in order to get started.

Anyway, thinking of my job in the future, all those difficulties in school are no longer that terrible. I know there is something exciting and I will be working on it as my career. Cheers!!!

After the final exams, I will start the preparation. Meanwhile, I will read more about those cool technologies. Maybe I will use this blog as a way to keep my study note:)

Friday, April 16, 2010

A wonderful interview in Microsoft

This Monday I went to Seattle for an interview with Microsoft. Before the interview day I didn't know anything about the team and products. I was thinking both Windows and Azure should be the greatest option for me. And it turned out to be Windows team who interviewed me!!! I mean, for this team, I don't need to explain anything about it to my parents and girlfriend. On the contrast, I could hardly explain what is an ESB(Enterprise Service Bus) to my father which is more or less one category of the products I have been working with in IBM:(

The whole interview was quite pleasant. I met different people from different teams in Windows. All of them are just genius and expert. I frequently find out my bottleneck of knowledge in various areas. But still, the questions are intelligent and demand much thinking. I am quite lucky because those coding and algorithm problems are not that super super difficult and my knowledge base has covered pretty much of their questions (though quite a lot of my knowledge just stays on the surface of those difficult topics like virtualization, cloud computing, encryption and so on)

After about 7 hours' interview, I went back to the hotel and continued with my course project due the next day. Microsoft is really generous, they paid almost all things for me so that I could come here relaxed and go back comfortably. And the next day after I arrived at Vancouver and checked my email, I got the offer from them! Windows team! So for the remaining hours I sent tens of emails to my friends around the world, telling them my success! Maybe it is not a big deal for other people, but for me, it is simply the best thing I could image before. I called my girlfriend, she was still sleeping:P, but I woke her up and told her the news and she was just mumbling there, not sure whether she heard my words or not:P

Before I would say anything about my preparation, I should thank all those who helped with selflessly: my girlfriend is always supporting me, without her I would never succeed in doing anything; my friends in IBM are my best tutors, teachers and friends, hope that they will always be healthy and have a happy life; my best friends in Montreal and Spain have affected me so much that I would not be able to do anything in a correct way without them; also, my DDP program classmates also give me quite a bit suggestions which prepared me a lot; thanks to Microsoft, giving me the opportunity to contribute my capability and passion to Windows team; finally, thanks to all those books in my computer, they have done a good job shaping me to a "smart" programmer:)

For myself, thanks to my body, which cooperated with me a lot during the preparation:) Nice job, body buddy:)

One funny story about "hot"

It is quite hot outside today, but I still wear as much clothing as last week. So when I'm walking outside, I cannot stop from sweating. So without too much thinking, I whispered to myself saying "it is so hot, hot! hot! hot!".

Guess what, two girls in front of me look back to me, one of them gives me a mysterious smile, and the other also shows some interests to my words. I am wondering whether I have done something wrong. Suddenly, I realize that there may be a misunderstanding that my words were considered as depicting a charming girl....

I feel so embarrassed and also give them a smile. I don't know whether they really take my words in that way, but at least they seem to be happy with what I have said:)

So next time, if you are walking outside and it is very hot outside, be aware of saying "hot"! Maybe you will meet some girls like these two who are OK with your words, but it is also possible that you will meet someone who considers it as an offense:( In that case, well, it will take a while to explain the whole story.

Anyway, finally comes the summer! Ready for ice-cream, hahahaha!

Sunday, April 4, 2010

A collection of words which fuel our engine to success

It is Easter Day tomorrow. My friend sends a collection of success quotes(thanks to him:). I put them here for reader who wants to get fueled for their success in their career and life:). Enjoy them:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Tough times never last, tough people do.
~ Robert Schuller

What lies behind us and what lies before us are tiny matters compared
to what lies within us.
~ Walt Emerson

He who has a why to live can bear almost any how.
~ Friedrich Nietzsche

The purpose of life is a life of purpose.
~ Robert Byrne

Try not to become a man of success, but rather try to become a man of value.
~ Albert Einstein

If you don't like something, change it. If you can't change it, change
your attitude.
~ Maya Angelo

A successful person is one who can build his palace with the bricks
others have thrown at him.
~ Andreas Eminidis & David Brinkley

Success is getting what you want. Happiness is wanting what you get.
~ Dale Carnegie

Defeat is not the worst of failures. Not to have tried is the true failure.
~ George Edward Woodberry

Every man dies. Not every man really lives.
~ William Wallace (from Braveheart)

Develop success from failures. Discouragement and failure are two of
the surest stepping stones to success.
~ Dale Carnegie

I've failed over and over and over again in my life and that is why I succeed.
~ Michael Jordan

If you think you can or you think you can't either way you are right.
~ Henry Ford

I honestly think it is better to be a failure at something you love
than to be a success at something you hate.
~ George Burns

Success consists of going from failure to failure without loss of enthusiasm.
~ Winston Churchill

Life consists not in holding good cards but in playing those you hold well.
~ Josh Billings
If we don't change, we don't grow. If we don't grow, we aren't really living.
~ Gail Sheehy

A man who dares to waste one hour of time has not discovered the value of life.
~ Charles Darwin

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

To be free is to follow our own rational principles instead of just
our desires. We know that we're free by knowing that we have duties.
We ought to have acted otherwise -- and so we could have acted
otherwise -- and so we are free. (Don't a be a slave to your own
emotions)
~Kant


Hope that now you have more courages to face any problem in the future!

I am not good at understanding "Art"

This Saturday I went to Vancouver Art Gallery for my IAT course. It's my first time to go to an art exhibition. I charged my camera and arrived there in the morning. They are currently exhibiting Leonardo Da Vinci's works of anatomy drafts. The drawing looks quite natural and detailed. It is very difficult to persuade myself that all of these were done by manual drawing instead of some AutoCAD or Maya works.

Also there are some other artists's works. One of the authors named E.J. Hughes has very nice oil paintings. His work "comex valley, 1953" uses very several warm colors to depict a peaceful village beside a river(or a lake). The orange and yellow grass reminds me my childhood when I liked to play with a bunch of kids around piles of straw.

However, there are more art works that I could not understand their meaning. Some have very abstract shapes. Even if I read the description of the art work, I may not know what the author is trying to express..... I am really not good at "feeling the nature"...

Anyway, it is still a good experience to go there. Sometimes we should get away from computers and look for something more natural:)

Sunday, March 28, 2010

Researcher: China pays 280K people to boost its Web image--CNN

Researcher: China pays 280K people to boost its Web image
I just read this news in CNN. Together with my previous post, I guess this reveals something in Chinese internet: the government exits in every corner across the web...

Assume one guy has a facebook account, and he is not very popular there, so he faked thousands of facebook accounts and then add his original account as friend, writing good things on the wall, then use each account to ask other people to add his original account as friend. One day, all of these are exposed to the public, then I guess either his account will be locked or his machine will be hacked by some angry attackers. And that is what the government is going to risk.

Maybe each country has certain people doing such things, but it should never be a major part of government's work. However, there is no way to consider 280K as a small amount of people here(if the researcher doesn't fake the number). Using millions of dollars each year just to say good things for yourself. That's the worst budget plan I could ever thing of...

Anyway, it could be just another faked story. Hope that the story is just to get some attention from people.

google.cn is gone

Well, I guess all the Chinese know that google.cn has left China, Mainland. The government held an conference, clarifying that google's quit is a special case and the overall status of Chinese internet is still very "transparent".

I don't know anything about politics. But I do know that I cannot use youtube, twitter and many other popular web services in china. And I do know that the Chinese government is filtering out a lot of information. And I also know that there is another search engine called Baidu in china, which rates the search result not by user input, but by the money from the advertisers. Moreover, I know there is some project called GFW which will filter all the web sites in china so people can only access the ones allowed by the government. No wonder there is a writer in China who published a post long time ago saying that one day Chinese people would have only one site to read news, only one search engine to use, and only one IM to chat and all of them are controlled by government. This may not be a joke. If nothing is changed in Chinese IT industry, then all of these will come to truth....

When the government officer said that the Chinese internet is transparent. I burst into laughters--what a hilarious joke.

Sunday, March 21, 2010

Still working on data structure and algo problems.

It is a bit late right now, but I am still busy with reading those DS and algo books, solving problems. I will update this post next week. Time is flying this week. I will make up this weekly post once all of these are done.

Anyway, I am just trying to get it. Though it is tough, I will just treat it as an experience. Sorry for my team, I didn't work a lot for them this week. I know I should. Sometimes it is just a matter of priority. Hope that everything is going well there.(I dare not to check my lotus notes.. I cannot say no if I find something urgent there..it is better to lie to myself that I am not that wanted right now...)

Anyway, April is coming. We will vocation then, and iPad, haha.

Busy Busy Busy

Apparently this week I don't have much time writing a "useful" post like before. Data structures and algorithms have become the only thing that I would think of all the time, even when I am sleeping. 5 days to prepare for the interview... Crazy...

Anyway, since there is a routine to write something, I have to spend one hour doing a little bit reading and give some post here.

So one thing that I have done this week is going through the c++ knowledge buried in my mind for 2 years... not sure whether they are expecting java or c++ or even c#, but i know it will be risky when they ask me to implement a BST or a priority queue with c++, or even ask me to compare java and c++. With java i may handle it with minutes, but with c++ I don't know whether I still remember all the syntax as i didn't use it for over one year...

The other thing is that I go through several data structure books.The only thing i would say is that the process is painful. As someone mentioned, no matter how much you have prepared for this part, keep in mind that it is far from what you will possibly meet... Alright, if that is the case, then just go through all the ds and algo problems that I could ever find within these 5 days... Coffee is the only solution to all of these :)

Except for that, I still need to handle assignments from professors and my managers...what a busy season...

Sunday, March 14, 2010

First usage of Prototype

Since last week I tried to use prototype for my project, compared to jQuery which makes heavy use of my css knowledge, Prototype is doing javascript in an way. There are quite a few utilities in prototype making js programming like java programming(...I am still newbie to js programming, most of the time I just use java for my work).

So my feeling about prototype is that the author makes a framework that very suitable for OO programmers. If you want to treat a String as an object just like what we see in java, Prototype really does that and gave me various String utilities, making String var in js behave like a java object. I like it.

For jQuery, I am not familiar with it yet. But I guess it feels like a css-selector in js:) The easy way of selecting elements in jQuery really benefits those who have done lots of html/css work. Those are just my superficial opinions. I will investigate into them further in the following weeks and update this post then.

Look forward to the battle of HTML5 vs Flash

It's not surprising that flash has met lots of challenges this year. We already know that Apple's strong attitude against flash in their products. We also know that Microsoft has made a lot of efforts to spread its silverlight. But actually there is one more player in the chaos of RIA: the HTML5.

Maybe people will use statistics like "over 90% of websites are using flash" to argue for the flash. But if they are reminded the predecessor of flash - java applet, they may understand that 90% doesn't mean a absolute domination over RIA.

Before 2000 when flash was not yet popular, java applet has been widely used by lots of websites. It was also the golden time for Sun. The stock price reached $258.75 per share during 2000 and 2001. Then by the growing of Macromedia, flash showed its advantages in performance over applet. And finally what you can see now is that 90% websites are using flash while applet has faded in the front-end of web pages.

The same thing may apply to HTML5. For programmers I guess it is also easier to use something that they are familiar with. But the evolution of technology will force us to learn new stuff. If the emerging new technology has superior advantages over the old one, then the stereotyped people who insist in using the old one will either be discarded by the age or change the age to their own(the latter is always quite difficult to achieve.) So the problem now is not whether HTML5 will challenge Flash. It is a problem of when this battle will start. As far as I have seen in those HTML5 websites, they consume fewer resources and deliver a similar or even better performance than flash(at least from the examples that they show). If HTML5 could be finally standardized, then Flash will get a real hit(why should I install some plug-in for some animation if it can be achieved already through the standards natively supported by all the browsers and platforms).

So far there are no published books about HTML5. Most of them are in progress by HTML5 pioneers. And In June there will be some available. I will buy some and start playing with it:)

Sunday, March 7, 2010

Hadoop learning notes

During the Olympic break I got a chance to read something about one of Apache's top projects - hadoop. Essentially it looks like an elegant way of implementing the famous map-reduce ideas. At the beginning I was able to run those codes that they provided. But when it came to the multi-server section, I was trapped by the lack of resources. So I could only read the book and mimic the execution of the code in my mind.

As far as I can see, the idea of hadoop here is to split the work, then map them to different nodes and reduce the results. Well, this is just a very naive understanding. But I guess for the most part of hadoop it is doing these things. The nice thing is that hadoop provide a scalable mechanism to implement this map-reduce idea. By assigning the responsibilities to different machines(they are treated as nodes like NameNode, DataNode, JobTracker, TaskTracker and so on). By carefully configuring a cluster, these nodes could work together and finish some heavy-loaded tasks.

Then I talked about it with my friend. He is also doing some computing research right now. He suggest me read some Google stuff about this kind of map-reduce. As hadoop is originated by Yahoo. Google may have a different idea to do the same thing. Well, the problem is how I can get to know the secrets of Google's infrastructure. Every one knows there is a big table in data search engine. But how does Google split the work and implement the big table. It is obviously more difficult to get the information from Google rather than Hadoop:( Perhaps I have to read other people's research about this field instead of find it out by myself.

Some opinions about GIT

When we were discussing which version control mechanism we should use at the beginning of our project, my partner present me this fresh idea. To be honest, I didn't hear of it before. And my knowledge about version control tools is limited to cvs and svn. Now it seems that there are many more players in this field. Hence we attempted to use this new tool for our project.

After several days of playing on it, I noticed that GIT is very fast. And those commands are quite easy to pick up. Perhaps there is something wrong with the site we used to maintain our code, I frequently have to regenerate my ssh signature to get GIT access. So far so good. But when it comes to UI, I guess GIT is not the preferred choice for me. I am used to code in an IDE like eclipse. But GIT has not yet had any plug-in support in eclipse. Officially I know that they have support for Netbeans IDE, but I have not used that ide for one year. And it will be a bit awful for me to use Netbeans IDE if I am working in an eclipse team:) . Compared to GIT, CVS is nicely supported in eclipse. The comparison and merging of codes are nicely rendered with different colors. Same for svn. It is also supported (though in incubation period) by eclipse before the latest helios version(prior to 3.6).

Anyway, I may have to pick up Netbeans again and get used to it these days.

Sunday, February 14, 2010

XMPP is great!

These days I have been indulged in learning XMPP stuff. But it is more like a chain of learning. New things appear one by one. But it is quite exciting to know that there is a solution like XMPP for IM and possibly for my project.

Hope that I can work it out.

Also, just take a look at security books, hmm, that is another important area if one wants to set up his business. Definitely I want to know more about those encryption/decryption, it is just a matter of time to get myself familiar with them.

It is Chinese new year this Saturday. Not too much surprise. I still have the same food like before. When I was in China, my parents would cook nice food and dumplings the day before the Chinese new year. Now I can only eat these carrots and pork.. Anyway, it will be better and better.

Projects on progress. Plans on progress. Business on progress. There are more needed to be done.

Saturday, February 13, 2010

Just a note of jQuery







A post for my personal study of jQuery:

Sunday, February 7, 2010

Will IBM's Graphene Transistor break the bottleneck of processor development?

The recent news from IBM via engadget showed the new discovering in graphene could make it a great transistor, to the tune of a record-setting 100GHZ!!!

The news reminds the latest assignment about the multi-core programming. Indeed, the bottleneck of getting a faster clock speed in processor has forced the programmers to change their way of coding. Though multi-core has solved the problem partly, there is still gap between the expectation and reality. 2 3-GHZ cores won't achieve the performance of a 6GHZ core. Hence if they can make the latter without the heat, cost and manufacturing problems, I guess they will prefer to produce the faster one.

Having read the news of the graphene transistor, I start wondering what will happen if chip makers just keep creating more cores instead of increasing the speed, isn't that kind of GPU? If this will be the truth for the following years, then a trend is that many current applications will need to be changed to a parallel style, in order to handle more and more transactions and workload. They cannot count on a faster processor, but only more cores to be working.

Maybe in the near future, if Graphene transistor is really used in commercial products, then it will be a real boost in the processor industry. Hope that won't be too far away from us.

GPU is fighting for a change of its position in computer architecture?

As NVIDIA's Tesla has been exposed to us for a while, the generation of GPU seems to struggle for a position change with its current master, CPU.

Actually I am not surprised to see that NVIDIA is going to make it happen. The original design of GPU has granted it with more computing capability. Compared to CPU, GPU have more cores and processors inside. This means GPU will have a much better capability of multi-core programming. A interesting story about GPU's multi-core programming is the cryptanalysis using GPU. A friend of mine once showed me how to make use of his powerful GPU to decrypt a piece of password. Since GPU can do more things at the same time with lots of cores, it is quite efficient to decrypt the encryption simultaneously compared to sequentially decrypt it in a single Intel core.

And maybe Intel cannot bear its main products being replaced, that's why it is trying to bring out its own GPU plan(Larrabee). Maybe in the future we will not talk about CPU. Instead, we will just say Stream Processing and General Purpose GPUs (GPGPU) which will do both CPU and GPU's work:)

Sunday, January 31, 2010

Challenges of remote collaborations

Mostly I am working on either course projects or company projects with other people in the same site. But the experience of working with partners remotely on the same project is quite different from the regular one. New challenges arise here:

1:Time zone differences conflict with regular schedule. When working in two sites of different time zone, team members always have to keep in mind of the time in other sites. If there is a customer issue in UK, and it requires the fix by US team, then UK team should be aware that US team may not respond to their mail during UK's daytime, as that would be the night in US. It is very useful to have a calendar with the overlapped available time of different teams.

2:Communication Matters a lot. Different countries have different culture. Maybe it is polite to say something in your site, but it is not always case to say that in another site. And people from non-English spoken area may not use it as well as those native speaker. So the slangs in mail or phone call will be the obstacles in communication.

3:Honesty and trusts are bridges. Since team members are working in different sites, it is not possible for one to know exactly how long others spend in the office, or how much efforts others have done for the project. Then it is the most important for each team member to report his/her working hours and achievements regularly with honesty. And it is also the most important for them to trust their partners. If everyone doubts the performance of others, then there is no way to succeed together.

4:Size the work carefully. Normally if teams are working in the same site, they will have a rough idea of others' efficiency in work. But if they are working remotely, it is not wise to measure the working hours of some task using one site's standard. Sizing the work without considering the site differences is quite dangerous and may finally push one site too much or drag the other site's process.

5:Inform others where you are. It is risky to work alone without telling others your progress, especially when you are working on something that has already been discarded by the team.

Why Apple refuses flash in its mobile devices

Jan 27, 2010, Apple releases its latest ambitious product-iPad. It has the iPhone OS, with 9.7 inch screen and 1 GH processor.So far everything sounds not bad. But when Steve was demonstrating those publisher's websites, chunks of unloaded spaces were quite outstanding on the 9.7 inch screen. People were surprised to realize that we still couldn't see flash on a big screen this that. And according to Steve Job's words, Adobe was too lazy to do a good job on flash. That was the main reason why Apple didn't take flash into their devices like iphone/ipod touch/the upcoming ipad.

I don't know whether Adobe is really a lazy company like that. But one thing I know is that most websites we are using nowadays have used flash. A survey in UK showed that over 60% of users won't buy ipad, among them, 50% of them count the lack of flash as one of the reasons they won't buy ipad. If Adobe is really as lazy as what Apple said, then I don't think there will be so many users weigh flash over their ipad.

Essentially, Apple is just a company. It is a charitable foundation. Precisely, A company will commit to its stock holders and owners. And ipad is actually nothing more than another cash cow to help apple break its revenue record once again. And I think the reason why Apple doesn't take flash into those products. Maybe Apple wants to set up another standard like HTML5 to replace flash? Maybe Apple will have to disclose some hidden information to developers if flash is allowed?Maybe Apple treat Adobe as the partner of Apple's worst enemy Microsoft? Or maybe Apple knows for sure their products will sell well even though users complain for the lack of flash? Well, only those top guys of these companies know the reason.

Sunday, January 24, 2010

Finally, Oracle can start building its ambitious empire

2 days Ago, EU gives the permission to Oracle for its deal of acquiring Sun Microsystems. I guess Oracle may feel happy and upset at the same time: they are happy because the EU finally allows the acquisition; they are upset because both Oracle and Sun have lost quite a lot since they announce the deal. In one presentation by Larry Ellison, he mentioned that the delay of acquisition caused a loss of millions of dollars per month for both sides. So people can image how painful it will be to see a huge deduction of revenue at the end of each month. Very soon , when we install the latest JDK, it won't be marked as Sun Microsystems, instead, it will be Oracle.( I can't imagine that, but it will be true sooner or later....)

So now who is feeling painful? Perhaps IBM ,or HP? After the acquisition, Oracle will be a hardware provider and a software provider at the same time. And right now the bigger player who can do both is IBM. I still remember that one year ago there was a rumor that IBM would acquire Sun. And after several months it turned out to be Oracle who got the deal. Followed by that was a long period of debacle between Oracle and EU. Though the cause for this is not that outstanding for this huge acquisition, there may be some other factors blocking the process. (I am just saying, who knows.)

Actually I don't care whether Oracle would be another IBM or not. As a non-entity, the fight between giants is just a show for me. What I am interested is some strategy that Larry Ellison may deploy in the future. As he doesn't seem to be a Cloud Computing fans right now, and all the other big companies like Google, Microsoft, Amazon, IBM and Sun(At least Sun is still a separate company right now), they have started their Cloud Computing service for a while. And there is no sign so far that they don't want to get their share of cookies. So what will Oracle do after it acquires Sun? In a video Larry Ellison joked the idea of Cloud Computing. Will he make this joke into practice? Will Oracle stop the cloud computing development in Sun after the acquisition? Who knows. We'll see it.

I am setting up another project right now, and busy with those server configurations and project management. Maybe I could write it down here as kind of experience sharing with everyone.

Saturday, January 23, 2010

Differences between Chinese and Western Companies in project management (from an interesting PowerPoint)

One day when I was programming in my office, my team member sent me a PowerPoint talking about project management. And he mentioned one slide and asked me to take a look at it carefully. So i went to that slide directly and took a close look at it. The slide had 4 diagrams inside. Each of them was a comparison between Chinese project management and western project management. However, I could only remember 3 of them now.

The first one was about solving a problem. The Chinese employee would drop by a large number of people and then came to the target.According to my understanding, this means that in China, you have to maintain a huge grid of relationships in order to work through some problems. Not all the problem could be solved by the paper rule. Sometimes a permission from some top person would solve the problem in one minute, while the dislike of a boss may keeps your nice solution outside the door. However, in western countries, team may focus on solving the problem. So the employee would just go straight towards the problem. They have clear procedure and steps. Hence in the diagram the arrow showed a very clear path for the western employee to reach the goal.

The second one was about the classification of employees and employers. The Chinese employees in the diagram were a group of small characters while their manager was a big-sized character with an outstanding color. I assume that means the Chinese boss would have more power and use a top-down management to manage his employees. In western side, everyone looked the same. You could hardly distinguish them. For this point, I agree with the idea here for sure. Since my manager has never behaved like a Chinese boos to me, I would say he is more like an experienced friend.

The third one was showing the situation when employees are facing some problems. The Chinese would took a look at the problem. and then if possible, bypassed the hole(stands for the problem). The western employee would be in the contrary. He would just go straight toward the problem and try to solve it as much as possible. I am not sure whether it is always a good idea to face the problem directly or bypass it. But I know we need to be smart when facing a problem. There is no a stereotype for all the problems.

Perhaps you have seen these pictures before, but I think you get my idea now. In all, it is just an interesting comparison of project management between these two parties.

Sunday, January 17, 2010

Wave is faster now:)

I just had a meeting with my partner yesterday talking about our project. I logged on my google wave account to start a new wave as our meeting minutes. I realized that it is much faster now than several months ago. The concurrent control of typing is quite smooth now without delay. Google has done another nice job for us. And perhaps that's why it is one of my favorite company in the world.

But I start to think the reason behind this change. Is it because of new algorithm? Are there more severs providing the service? I guess the second point should play a role of this change. I remember that at the beginning when it was quite slow, Google suggest us to use our own servers for wave. Apparently I don't have that much money to buy/rent a server for that purpose, but now the performance has enhanced. That means the server which serves my wave has fewer workload than before. And I asked my friends on wave, they also have this feeling. And I am quite happy that we can chat in a wave, seeing everyone typing and erasing now.

If more servers are there, would it be related to cloud computing in the future? If companies are suggested to buy/rent their own server for the use of wave internally and users are suggested to buy/rent their own server for the use of wave with friends, isn't it business of cloud computing?If so and wave is really penetrating into all areas(blog, email, IM etc) , then it could be one of the successes of cloud computing in the following years:)

Thursday, January 14, 2010

Why is it Open Source?

Before I joined current team, I didn't have much practical experience in open source project. All the products I have worked for before are just commercial and aimed for those big customers.However, things like Linux,Firefox or eclipse have been quite popular there for a long time. Then I start wondering why they can survive there in such a commercialized society. Why is it open source?

Take eclipse as an example, I guess it should be the most popular IDE in java world. And you can download almost all the source code of eclipse. There are thousands of people who are developing the official eclipse and millions of developers who have used eclipse once or more. Then why is it open source?

From the aspect of business I can think of the following reasons so far: gain market share, set up standard, and win the reputation from programmers.

If eclipse is not open source, there won't be so many developers who indulge in creating new plug-ins for it and making use of this framework for their own purposes. You can find numerous commercial products there based on eclipse. Without the open source, it would be almost impossible for them to create their products from eclipse.

When the software gains the market share, it will have the trend of becoming kind of standard in solving similar problems. Companies who initiated the open source project will hence run ahead of their competitor as they always have to follow the "standard".

Last but now least, I guess that everyone prefers free software. No one wants to pay a hundred dollars for something if he can get another similar one for free. For me, if someone gives me free service and it is in fact very good, I will have a good feeling for him. The same thing is applied to the company who make the software open source.If it is a good software and the inventor make it public, programmers may have kind of emotional preference to this company.

Personally, I like free things. Google maps, gmail, linux, youtube (though not all of them are open source, but they don't need to be)... They are great things. If all the software needed to be developed can be open source, we will have more creations in IT industry.