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.