Thursday, May 24, 2007

Using WAV File Input with SR Engines

Monday, April 02, 2007

i.i.d. is independent identically distributed for short

rt.

Labels:

gaussian distribution


a continuous random variable X is said to have a gaussian distribution with mean u and variance sigma^2(sigma > 0) if X havs a continuous p.d.f in the form shown in picture.

Labels:

Saturday, March 31, 2007

gaussian distribution

a gaussian classifier is a bayes' classifier where class-conditional probability density function(shown above) for each class w[i] is assumed to have a gaussian distribution.
And what's the formulation of bayes' classifier?

Labels:

bayes' rule




Labels:

Sunday, December 10, 2006

qt lectures

how to install kernel headers,faint

sudo apt-get install linux-headers-$(uname -r)

Sunday, December 03, 2006

Google Plans to Cancel Paid Service for Answers

SAN FRANCISCO, Nov. 29 — Google said Wednesday that it would shut down Google Answers, a service that allows users to pose a question to a panel of researchers and pay for a helpful answer.

The service, which began about four years ago, failed to gain much traction with users, especially when compared with a rival service offered by Yahoo, which is free.

“It was not one of our most popular products,” said Sunny Gettinger, a Google spokeswoman.

Google, which has had overwhelming success in the Web search business, has introduced dozens of other services, many of which have not turned into hits. The company has said that experimentation is an important part of its strategy and that a high failure rate for new products is to be expected.

Google Answers never generated much traffic or revenue for Google, said Danny Sullivan, editor of the online publication Search Engine Watch. Its demise represents a missed opportunity to be competitive in this area, Mr. Sullivan said.

“Yahoo has an answers product that works,” he said. Because Google Answers required users to pay, he said, it “could not have been that product.” Mr. Sullivan noted that unlike Yahoo, Google had not done much promotion for its service.

Yahoo Answers, which was introduced nearly a year ago, has quickly built up a large community of users. Yahoo said the number of answers in its database grew from 10 million in May to about 60 million now. The site (answers.yahoo.com) had about 14 million users in October.

“It has been one of our most successful launches,” said Tomi Poutanen, product director for Yahoo Social Search. Yahoo has had trouble keeping up with competitors like Google and MySpace in other areas.

At Yahoo Answers, anyone can ask or answer a question. The person who asks a question selects the best answer, and other members of the community can rate that answer. Mr. Poutanen described it as a way to harness the “wisdom of the crowds.”

“The real appeal of the service is in the diversity of answers you get to your question,” he said.

The archive of questions on Google Answers shows that users paid as much as $150 in recent days for information on hedge funds. Those asking questions on the site state how much they are willing to pay for a satisfactory answer from the researchers, who are independent contractors screened by Google employees.

The company said more than 800 panelists had answered questions on the service, and that the Google Answers archive would remain available when the service stops accepting new questions later this week.

Friday, November 10, 2006

HOWTO: Restore GRUB (if your MBR is messed up)

Restoring GRUB (the GRand Unified Bootloader) is quite simple in Ubuntu; instead of going through all of the "gain root access" steps, and playing with confusing shell commands, you can simply use the Ubuntu installation CD (the alternate version if you use dapper) to restore it without going through all of the previous hassles.

Here are the steps

  1. Boot your computer with Ubuntu CD.
  2. Go through the install process until you reach "[!!!] Disk Partition."
  3. Select Manually Partition.
  4. Mount the appropriate linux partions:
    /
    /boot
    swap
    DO NOT FORMAT THEM
  5. Finish the manual partitioning.
  6. Select "Yes" when it asks you to save the changes.
  7. It will give you errors saying that "The system couldn't install ....." after that; ignore them. Proceed with selecting "continue" until you get back to the Ubuntu installation menu.
  8. Jump to "Install GRUB."
  9. Once it is finished, simply restart your computer.


Good luck!

Tuesday, November 07, 2006

keep learning

No matter where u r,u need 2 keep learning,for ur primary purpose is to defeat urself.actually,there are too much knowledge to learn,we are just a tiny bottle in a huge sea,u had to make a decesion that what's most suitable for u.
reading,remembering,understanding,reviewing...but,the fact is we don't have so much time to track it.it's amazing that I can afford it,isn't it?

Newspapers to Test Plan to Sell Ads on Google

another step.

Wednesday, October 25, 2006

after acception

I've found that I've been left far away from others,and confused with my disciplines.too much english?dose it slow me down?well,I hope that it worths.obviously,it took me too much time,for instance,software architecture in practice,concrete mathematics or even the art of computer programming(knuth's work).once again,what a pity with my poor english,u have to enforce yourself.

Like Yahoo, Google Adds Customized Search Engine

SAN FRANCISCO, Oct. 23 — Google introduced a tool Monday that allows Web sites and blogs to offer visitors a customized version of its search engine, narrowing down its vast index so the results are more relevant for users.

Called the Google Custom Search Engine, the new product lets Web site owners choose which pages they want to include in their index and rank the pages as they like.

Yahoo has introduced a similar product, called Search Builder, but Google says its service allows more customization.

“We have some features we feel are quite unique,” said Marissa Mayer, Google’s vice president for search products and user experience. “We allow people to restrict or prioritize search results based on the sites they’ve chosen.”

The new service is free. Web site publishers split the revenue from the text advertisements that Google places on the search results through its AdSense program. Nonprofit organizations, government agencies and educational institutions are not required to include ads.

“The trouble with Google is you do get a lot of noise,” said Andrew Frank, a research director in New York with Gartner, a market research firm. “Stuff gets through that isn’t really relevant, either intentionally, or there are sometimes ambiguities. This definitely helps improve the relevance and skip the noise.”

Mr. Frank said the new service had benefits for Google and its advertisers. “For people in the AdSense network, it’s a way to increase inventory,” he said, “and for Google it’s an extension of reach.”

Custom search engines are already up and running on a dozen or so sites. Macworld.com has been using a preliminary version of the product for the last month, customized to cover several Mac-oriented sites owned by Mac Publishing, a unit of IDG.

Jason Snell, vice president and editorial director at Macworld, said his site had been paying to use a search program by another company. But users had been unhappy with the results, and “in the last month, we made the decision to drop it like a rock,” Mr. Snell said. “We pulled it out and put Google in its place. There’s no barrier to switching to Google because Google already knows about all our pages.”

Mr. Snell said the customization tool was easy to configure. “I think you’ll see a lot of people switch their search engine from whatever it might be to this,” he said. “I think people have a comfort zone with Google searches.”

To build a customized index, users fill out a few Web-based forms, and are then given the code for a search box that they can cut and paste into their own Web pages.

“I think what’s going to drive usage is that it’s really easy for users to come up with a search engine in a matter of minutes,” Ms. Mayer said.

Shares of Google hit a record intraday high of $484.64 on Monday, after a strong earnings report last week. The stock closed at $480.71, up $21.11, or 4.6 percent.

Google said Thursday that its third-quarter profit nearly doubled from a year earlier.

The growth came as Google’s largest rival, Yahoo, has suffered from weak sales of search and display advertising. The profit report prompted several Wall Street analysts to raise their ratings on Google stock.

Friday, October 20, 2006

Profit Doubles at Google as It Continues to Expand

good job.

Wednesday, October 18, 2006

Chinese Government Relaxes Its Total Ban on Wikipedia

The Chinese government last week appeared to lift its block on the English-language version of the online encyclopedia Wikipedia, an unexpected move that comes almost a year to the day when access was first denied. The Chinese-language site, however, remains blocked within China.

“We are pleased to see the change, but would like to see the Chinese version unblocked, too,” said Jimmy Wales, founder of Wikipedia, the encyclopedia created by voluntary contributors. “We don’t know what prompted the block and don’t know what prompted the unblock.”

Even days after word first spread on the Internet about the change in access, Wikipedia contributors and administrators in China, Taiwan and Hong Kong said they were trying to determine if any English-language articles were still being blocked. Andrew Lih, a Chinese-American in Beijing researching a book about Wikipedia, reported on his blog, www.andrewlih.com/blog, that he could get access to many controversial subjects, but could not read the English-language article about the suppression of the pro-democracy movement in Tiananmen Square in 1989.

Internet companies and nonprofits like Wikipedia have been forced to choose between cooperating with the Chinese government and losing access to the growing online audience there. Organizations like Reporters Without Borders have criticized Yahoo, Google and MSN, saying they have “yielded to the Chinese government’s censorship requests.”

The Chinese-language Wikipedia has more than 90,000 articles, and one long-time contributor to the site said that “conservatively 40 percent are mainland contributors.” That contributor, who insisted on anonymity for fear of antagonizing the Chinese government, also wrote in an e-mail message yesterday that, “although I have no solid evidence, the growth of the number of mainland users is much lowered,” citing the ban on the site last October and the creation of the more restricted “Baidupedia,” by Baidu, China’s largest search engine. Still, the contributor concluded, “no matter the situation, some access is definitely better than no access.”

Mr. Wales attended a Chinese Wikipedia conference this summer in Hong Kong, which had about 130 attendees, including an estimated 20 from the mainland. “It was a very emotional event for them, it was the first time they had met each other from Taiwan, the mainland and Hong Kong,” he said. “It was a big deal for them that the mainlanders couldn’t access Wikipedia.” NOAM COHEN

Monday, October 16, 2006

with a good feeling

after the interview,I have a perfect feeling and appreciate my own performance.
whatever the result is,I think I have found my confident back.
thank u to every body.

Friday, October 13, 2006

I.B.M. Division Moves to China(actually,is amoy)

I.B.M. has moved its global procurement headquarters to southern China from the suburbs of New York City to “capitalize on emerging market opportunities.”

I.B.M., based in Armonk, N.Y., spends 30 percent of its $40 billion annual procurement in Asia, the company said in a statement yesterday, confirming the move to Shenzhen that was first announced to suppliers in May. This is the first time that I.B.M., the world’s biggest computer services company, has moved the headquarters of one of its largest divisions to China.

Companies like I.B.M. and Microsoft are expanding in China to take advantage of lower costs and to gain market share in the world’s most populous nation.

The chief procurement officer for I.B.M., John Paterson, relocated from Somers, N.Y., and started work in Shenzhen yesterday, said Amanda Garland, an I.B.M. spokeswoman.

Demand for software and services across Asia is growing, and the company wants to develop new markets and suppliers to meet the demand, I.B.M. said.

Google combines word processing, spreadsheets

Google is diving further into the Web-based productivity-applications market by offering a new product that combines its online word-processing and spreadsheet programs.

Monday, October 09, 2006

here are my books,hihi.

Sunday, October 08, 2006

software architecture

question:
what do you think?do you agree or disagree?why?
my answer:
I will choose medially,I think it may be right but not suitable.
As the words in the first paragraph:"it must be pointed out that the field is plowing old ground in several areas."I don't think that there are something wrong with this viewpoint,but,it's not pretty suitable.why?I will show you in steps.
Why it isn't wrong?Nowadays,knowledge is exploding rapidly,we can't do anything just by one person or group that is just in one field.In the other words,we need communication between different fields.That is why someone said:"Standing upon giant,you'll achieve further."Now I want to say:"Standing upon pyramid basing on suitable but different bricks,you'll achieve much more further."If we can extract suitable concepts from the multiple fields,redefine them,make them efficient,I think that's all right to do so.
Of course,we must know why we employ such concepts from other fields.If done,I'm sure that there must be some differences compared to the prior one.For example,architecture,as described in the article,has different meanings and usages in varied direction.So,that's why I said it's not pretty suitable.We are plowing old ground,that's fine,but,we didn't just do plowing,we plow it in different ways with different purposes,and get different results.We don't do it again,but do it another.
that's all.

Google said to set sight on YouTub

YouTub
YouTube, the popular video-sharing Web site that has yet to celebrate its first anniversary or its first profit, is quickly becoming the must-have prize for media and technology giants.
Google is in discussions to acquire YouTube for $1.6 billion, people involved in the talks said yesterday. While the talks are in the early stages, and may fall apart, the size of Google’s offer may push YouTube closer to a deal. Other companies have also expressed interest and could swoop in with a higher offer.

Friday, October 06, 2006

Google launches search service for computer code(zz)

By Eric Auchard

SAN FRANCISCO (Reuters) - Google is introducing a new search service -- strictly for computer programmers only.

The Web search leader said late on Wednesday it is introducing Google Code Search, a site that simplifies how software developers search for programming code to improve existing software or create new programs.

Google product manager Tom Stocky said the Mountain View, California-based company is set to help programmers sift through billions of lines of computer source code using its familiar search box to uncover snippets of reusable software.

"For a long time it has been sort of an unsolved problem," said Stocky, a product manager in the developer products group. "It is hard to find references to this sort of data," he said.

Google is applying the same machine-driven techniques it uses to help consumers search the Web for text, images, video and books to help professional programmers as well as computer enthusiasts overcome stumbling blocks to writing code.

Searchers can seek out specific programming terms or computer languages and dive deep into compressed code to locate specific features. Users also can narrow a search to find software code based on specific licensing requirements, which is a big deal in warding off future patent litigation.

Similar to how a consumer might type a few words into a standard Google search box to find an answer, programmers can seek out relevant lines of code at http://google.com/codesearch and find a range of search results that link them to answers.

It's just that the results are for machine-readable phrases like: "go{2}gle" "hello," world" or "^int printk."

NO SECRET CODE

It's commonplace, when looking to improve a particular line of software, for most code writers to search the Web for quick tips. But finding actual programming code rather than just discussions about a particular coding problem is tough.

To meet this need, special sites serving computer developers have sprung up that offer repositories of code. Most are small, typically require membership and are often devoted to only a specific class of software or problem.

Several software programmers say Google Code Search appears to answer some of the basic nightmares of building software by creating a single place where one can trawl through all the publicly available computer code in the world.

Google searches through code repositories that are popular among programmers -- CollabNet's Subversion and another alternative called CVS, Stocky said.

The service began as a way for Google programmers to search through internal company code. It added a search of publicly available code and then recently decided that it might as well open up the service to others.

The results that come back from searches on Google Code also link directly to the compressed data files in which programs are often stored.

"Instead of searching Web pages, developers are searching over billions of lines of actual code," Stocky said.

Initially, Google Code Search is advertising free. Should the site prove popular, Stocky said Google may consider running pay-per-click advertising along search results, the way it makes money from its more mainstream search services, he said.

Wednesday, October 04, 2006

Temporal Database

Definition A temporal database is a database that supports some aspect of time, not counting user-defined time.

Previously Used Names Time-oriented database, historical database.

Discussion of Naming The concept of a temporal database is defined separately due to its importance. The discussion in glossary entry Temporal as Modifier applies here.

opal

planning to implement a software based on opal.

opal classes:
there are four key fundamental classes opalmanager,opalendpoint,opalconnection,opalcall.

Sunday, September 10, 2006

it's very night

I can't fall asleep for I'm stuck with something.
it's three years,I'm still puzzled with what I need.
actually,I wanted to discuss this with mike,but I'm afraid that this may annoyed him.
oh,my god...
I'm tired.both mental and physical.

Friday, September 08, 2006

we need precise thinking...

each time,on vacation,I'm time-consuming with trivia,such as movies,games...
actually,what I need is something useful,isn't it?
at the end of the third year of my college life,I failed with my dream,to be recommended to some other school.How silly am I?I can predict long time ago,but I can't stop working hard for it's a dream still.
maybe I'm sad now,but,it doesn't matter,I can afford it and work much more hard.
come on,never settle for the best.

Thursday, September 07, 2006

never settle for the best

what I need now is improving fundamental knowledge.come on...
these days,I don't feel better...there must some thing wrong.
what a pity pity.

Wednesday, September 06, 2006

Scan, Print and Copy; No Computer Required


Photo printers are getting so smart that most of them can print without a PC. The Epson Stylus Photo RX580 improves on even that level of autonomy: it scans, restores, prints and copies without ever needing to be connected to a computer.

Thursday, August 24, 2006

the sieve of Eratosthenes

ok,there is a mistake I made in previous post;
I mentioned about selected method,but actually,it's the sieve of Eratosthenes,a most efficient way to list all small prime number,that is less or equal to 10,000,000,000.
Make a list of all the integers less than or equal to n (greater than one) and strike out the multiples of all primes less than or equal to the square root of n, then the numbers that are left are the primes.
For example, to find all the odd primes less than or equal to 100 we first list the odd numbers from 3 to 100 (why even list the evens?) The first number is 3 so it is the first odd prime--cross out all of its multiples. Now the first number left is 5, the second odd prime--cross out all of its multiples. Repeat with 7 and then since the first number left, 11, is larger than the square root of 100, all of the numbers left are primes.

ehh,after the basic instruction,I need to know some efficient implementation,since it's memory consuming in my idea(it's useless).

Wednesday, August 23, 2006

probable prime

I'm looking for a nice method to test if a arbitrary integer is prime;
of course,I've heard a method named selected method,but now,I find a better way.It is based on the fermat's theorem:if p is prime,any integer a>1,we have a^p=a(mod p);
fermat's theorem gives us a powerful method to test arbitrary positive integer n,choose any integer a,caculate a^(n-1),if n is a prime,then the result must modulo n,if it's not,then the contrary.
btw,there is a quick way to caculate the value of exponentiation,we call it binary exponentiation.I'll introduce it in the next post,maybe with its source code.

prime

when bathing just now,I remind that the important of prime mentioned in the elementary of number theory;
here is an useful page for prime:
http://primes.utm.edu/
in its categories,u can find a program category...nice;

senior in college.

i'm most likely to be a senior student in college in month?
i don't like this feeling.
today,i chatted with Gaimo Huang,he plans to work after his college life at amoy or at home.that seems to be great,since he has got a scheme for his future.
but,what about me?that's the key problem,it's my time that eagers to my plan.
always,i'm on the road with lots of crosses,that's my way...
what's the end?

ok,it's meaningless for discussing much about this topic,since it'll be fine as time goes.i'm watching friends(it's a soap tv play) these days,that's pretty fun,recommend it.btw,it's a good assistant for english listening.
it's difficult for me to understand the paper for wrls-vff.
that's all today,it's time for bed.

Monday, August 21, 2006

hash table

our next topic is hash table,a technique that used to store,search and get information in O(1) time;
as a instruction,I thought I should show a definition first,what is hash table?here we go,hash table is a dictionary in which keys(or information) are mapped into array positions by hash function.
what is the scheme when we come across a hash table problem?
first,we need to choose a proper hash function to tackle the key;
then,decide how to deal with the value returned from hash function,since there is a hitch called collision,that is,two absolutely different key value will get the same mapped value with the corresponding hash function;

we will open with how to resolve the collision;
there are two methods,one is chaining,the other is open-addressing;
in chaining,we can place all elements in a linked list which hash to the same slot,whose fundamentle operations are easy to be implemented,such as insert,search,delete...etc;

about hash function;
there are three schemes for devising a suitable hash fucntion;
ps.in what follows,we interpret keys as natural numbers;
one is division method,one is multiplication method,the last is universal hashing;
for the division method we have model likes h(n)=n mod m,for which we get the rmainder of the natural number n divided by m,whos optimal value may be a prime not too close to a power of 2.

to be continued...
with candy heart.

Sunday, August 20, 2006

at amoy again

I'm on my way to school this afternoon,for I need to fetch some books on my subjects and my pc also.
It's quite difficult for me to get my pc,the reason is easy,every body are busy with our project,scispeech.though disease follows me,I can't quit while the pretty important time:we need a good ending,you see?
I'm shame now,after all,I have to quit...every thing is ready,if it's sun tomorrow morning,I will leave in plan.
for my annoying roomate,he bring his gf for night,I have to leave just after arriving.in a mass,I forget to get my data structure,os,compiler principles...oh,my god,that's the main purpose this travel.

Wednesday, August 16, 2006

google's blogger in beta

august 14,google released the blogger's beta version;
with new features;
you can categorize your posts in labels,this new function is useful;with this,u don't need to write all in a bunch,which is pretty similar to my first blog server;

control who can read your post;ok,I've to said,this new thing expected to be;

change your blog's appearance and content with your mouse instead of html;for me,html may be much more useful;

of course;there are restrictions;limited users can experience it,I'm out of this range,since I found nothing on my dashboard as mentioned on buzz of blogger;
but,I will as time goes;;

Monday, August 14, 2006

skipping elementary data structure

among kinds of data structure,I will ignore the stacks, queues, linked lists,binary tree etc...
of course some key data structure won't be skipped,since I didn't understand them well during the first meet before, such as hash table; there are lots of wonderful manipulations that are tricky;
beside hash table,binary sreach tree,red-black tree and so on are as important as hash table;

why I review introduction to algorithms?

several days ago,while talking with bealone,I said I'm reviewing introduction to algorithms;to this, he said why?
I don't really know why; if I'm just preparing for my graduate life or the exam,it may be redundant,which is quite correct.
I'm pretty sorry for I don't precisely know what I need; can I looking forwards a better university? or maintain current situation?
for my rank-list is not at the top,I am not confident for my choice?
maybe time will confirm what I need to do; now just prepare and wait;
conbadei...hihi;

soucce code for counting sort

#include "iostream"
#include "malloc.h"
using namespace std;

#define SIZE 10

void countingsort(int *A,int lengthA, int k)
{
int *C;
int i,j;
C = (int*)malloc(k*sizeof(int));
for ( i = 0; i < k; i++ )
C[i] = 0;
for ( i = 0; i < lengthA; i++ )
C[i]++;
for ( i = 0, j = 0; i < k; i++ )
while ( C[i]-- ) A[j++] = i;
}

int main(void)
{
freopen("org.txt","w",stdin);
int A[SIZE];
int i;
for ( i = 0; i < SIZE; i++ ) {
A[i] = rand()%SIZE;
cout << A[i];
}
countingsort(A,SIZE,SIZE);
freopen("res.txt","w",stdin);
for ( i = 0; i < SIZE; i++ ) {
cout << A[i];
}
return 0;
}

counting sort

there is a restriction for counting sort,that is we must know the range of the elements;
we can count the number of each integer in range among array to be sorted,since we can create a array with length of the range as a temporary working storage;that's why we call it counting sort;
once we know the algorithm,it's easy to design a pseudocode as follow;
procedure counting-sort(A,lengthA,k) //A to be sorted,k range of integer;
for(i = 0; i < k; i++ ) {
__C[i] = 0;
}
for(i = 0; i < lengthA; i++ ) {
__C[A[i]]++;
}
for(i = 0, j = 0; i < k; i++ ) {
__while(C[i]--) A[j++] = i;
}
end procedure;
that's all;

Sunday, August 13, 2006

linear time sort algorithms

all comparison algorithms's best upper running time is O(nlgn);
here goes three algorithms,whose upper running time is O(n);
counting sort;
radix sort;
bucket sort;

source code for quicksort

#include "iostream"
using namespace std;

#define SIZE 100000

int partition(int *A, int p, int r)
{
int x = A[r];
int i,j, tmp;
for ( i = j = p; j < r; j++ ) {
if(A[j] <= x) {
tmp = A[j];
A[j] = A[i];
A[i] = tmp;
i++;
}
}
tmp = A[r];
A[r] = A[i];
A[i] = tmp;
return i;
}

void quicksort(int *A, int p, int r)
{
int q;
if ( p < r ) {
q = partition(A,p,r);
quicksort(A,p,q-1);
quicksort(A,q+1,r);
}
}

int main(void)
{
freopen("org.txt","w",stdout);
int A[SIZE];
int i;
for ( i = 0; i < SIZE; i++ ) {
A[i] = rand()%SIZE;
cout << A[i] << endl;
}
quicksort(A,0,SIZE-1);
freopen("res.txt","w",stdout);
for ( i = 0; i < SIZE; i++ ) {
cout << A[i] << endl;;
}
return 0;
}

algorithm for quicksort

subroutine's psedocode:
procedure partition(A,p,r) //p,r are upper and bottom of the subarray;
x=A[r];
for( i = j = p; j < r; j++) {
__if(A[j] <= x) {
____tmp=A[j];
____A[j]=A[i];
____A[i]=tmp;
____i++;
__}
}
tmp=A[i];
A[i]=A[r];
A[r]=tmp;
return i;
end procedure;

procedure quicksort(A,p,r)
if(p < r) {
__q=partition(A,p,r);
__quicksort(A,p,q-1);
__quicksort(A,q+1,r);
}
end procedure;
that's all;

description of quicksort

quicksort is a sorting algorithm who is the most popular algorithm.
quicksort,likes merge sort,is based on divide-and-conquer paradigm;here is the three-step divide-and-conquer process for sorting a typical subarray A[p..r];
Divide:partition the array A into two subarrays A[p..q-1] and A[q+1..r] such that each element of A[p..q-1] is less than or equal to A[q],which is,in turn,less than or equal to each element of A[q+1..r].compute the index q as part of this partitioning procedure.
Conquer:sort the two subarrays by recursive calls to quicksort.
combine:since the subarrays are sorted in place,no work is needed to combine them:the entire array A[p..r] is now sorted.

here,I just want to remind the solution of quicksort;
after this,there will be algorithm and source code for this method.

source code for heap sort

#include "iostream"
using namespace std;

#define SIZE 100000

void maxHeapIfy(int *A,int i,int lengthA)
{
int l,r,largest,tmp;
l=2*(i+1)-1;
r=2*(i+1);
if( l < lengthA && A[l] > A[i])
largest=l;
else
largest=i;
if( r < lengthA && A[r] > A[largest])
largest=r;
if( largest != i ) {
tmp=A[i];
A[i]=A[largest];
A[largest]=tmp;
maxHeapIfy(A,largest,lengthA);
}
}

void buildMaxHeap(int *A,int lengthA)
{
int i;
for ( i = (int)(lengthA/2);i>=0;i-- )
maxHeapIfy(A,i,lengthA);
for ( i = 0; i < lengthA; i++ ) {
}
}

void heapSort(int *A,int lengthA)
{
int i, tmp;
buildMaxHeap(A,lengthA);
for( i = lengthA-1; i > 0; i-- ) {
tmp = A[i];
A[i] = A[0];
A[0] = tmp;
maxHeapIfy(A,0,i);
}
}

int main(void)
{
freopen("org.txt","w",stdout);
int A[SIZE];
int i;
for ( i = 0; i < SIZE; i++ ) {
A[i] = rand()%SIZE;
cout << A[i] << endl;
}
heapSort(A,SIZE);
freopen("res.txt","w",stdout);
for ( i = 0; i < SIZE; i++ ) {
cout << A[i] << endl;;
}
return 0;
}

algorithms for heap-sort

here is the algorithms for heap-sort,which is another solution for the sorting,better than insertion-sort,equal to merge-sort.
there are several subroutines assisting heap-sort;
one is max-heapify:
procedure max-heapify(A,i,length_A) //to make subtree i to fit the properties of max-heap;
l=2*i; //left child;
r=2*i+1; //right child;
if(lA[i])
__largest=l;
else
__largest=i;
if(rA[largest])
__largest=r;
if(largest!=i) {
__tmp=A[i];
__A[i]=A[largest];
__A[largest]=tmp;
__max-heapify(A,largest,length_A);
}
end procedure;

one is build-max-heap;
procedure build-max-heap(A,length_A)
for(i=(int)(length_A/2);i>=0;i--)
__max-heapify(A,i,length_A);
end procedure;

with these two subroutines,we can define the algorithms for heapsort;
procedure heap-sort(A,length_A)
build-max-heap(A,length_A);
for(i=length_A-1;i>0;i--){
__tmp = A[i];
__A[1] = A[0];
__A[0] = tmp;
__max-heapify(A,i,length_A-1);
}
end procedure;

Saturday, August 12, 2006

brain age

brain age is a game on nds;
it's a game to create a virtual village;
and Virtual Villagers depicts the lives of simple people who often need help even with the obvious;
They populate Virtual Villagers, a quirky, low-budget game from Last Day at Work that falls somewhere between the Sims and a pet simulator.

life-tree

I reach another node of the life-tree;
and,the question is:
how to estimate the profit of each subtree?
the algorithm is hard to be designed,since I can not have a try;
consequently,I need help;aha;yes,help.
aim to tackle this,I'm busy with sending and receiving letters these days;
but...darkness still on;
p.s.:what is the number of algorithms to estimate the value of a tree?
still now,details are still not explicit;
only several steps are confirmed:
one is enter-exam is given up;
another is what disciplines to review? discrete mathematics is important in glance;
buddies,a za a za fighting^_^

Thursday, August 10, 2006

introduction to algorithms:problem 4-2

assume that it's 32 bits per integer;
we can compute an integer's value in O(32) time converting from binary to decimal;
so,including this added step,the total time we spend must be O(32n);
of course,the coefficient can be omitted;
consequently,we trivially get the result O(n);
that is all;

source code for fibonacci numbers

to confirm if the values are precise,I write this program to compare the results between two different methods.
one is fibonacciOriginalDefiniton(n) following the original definition using recurrece formulas;
another is fibonacciGoldenRatio(n) following the direct and easy way to compute the value directly;

#include "iostream"
#include "math.h"
using namespace std;
int fibonacciOriginalDefinition(int n)
{
__if ( n == 0 || n == 1 ) return n;
__return fibonacciOriginalDefinition(n-1)+fibonacciOriginalDefinition(n-2);
}

float fibonacciGoldenRatio(int n)
{
__int i;
__float x1,x2,y1,y2;
__x1 = y1 = (1+sqrt(5))/2;
__x2 = y2 = (1-sqrt(5))/2;
__for ( i = 0; i < n-1; i++ ) {
____x1 *= y1;
____x2 *= y2;
__}
__return (x1-x2)/sqrt(5);
}

int main(void)
{
__freopen("data.txt","r",stdin);
__freopen("res.txt","w",stdout);
__int n;
__while ( cin >> n ) {
____cout << fibonacciOriginalDefinition(n) << "\t" << fibonacciGoldenRatio(n) << endl;
__}
__return 0;
}

comparison:
sample input:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sample output to comparison:
org________goldenRatio
0__________0
1__________1
1__________1
2__________2
3__________3
5__________5
8__________8
13_________13
21_________21
34_________34
55_________55
89_________89
144________144
233________233
377________377
610________610
987________987
1597_______1597
2584_______2584
4181_______4181
6765_______6765

from the sample output, we can easily find out they're not different,though,their data type one is integer one is float;
so,the problem is solved,that is,the advanced method works.

fibonacci numbers

the fibonacci numbers are defined by the following recurrence:
F[0]=0;
F[1]=1;
F[i]=F[i-1]+F[i-2]; for i >= 2;
this definition is known as before,but,there is another tricky way to compute fibonacci number F[i],which is nicer than it's original definiton;
this method is related to the golden ratio x and its conjugate !x,which are given by the following formula:
x = (1+5^(1/2))/2 = 1.61803;
!x = (1-5^(1/2))/2 = -0.61803;
with help of these two formulas, we can redefine the fibonacci number in a much more direct and useful way as the following formula:
F[i] = (x^i-!x^i)/5^(1/2);
of courese,it's not the precise value of fibonacci number,since it may be a real number but integer expected.but,it's useful still,since the exact result is the nearest integer of the real number computed by above formula.
after simple consideration,it's not easy to compute the value of x^i,since x itself is a complex expression to represent in computer.maybe it's useless.

what is modular arithmetic

for any integer a and any positive integer n,the value a mod n is the the remainder(or residue) of quotient a/n, that is:
a mod n = a - floor(a/n)*n;
but,we've met a problem when we manipulate scilab's function modular,where a or n may be negative.
we can find that we get different answers between modular and remainder, so the definition metioned above isn't precisely correct if without the restriction that n is positive integer.

Wednesday, August 09, 2006

roulette wheel problem

there is a general formula for arbitrary N interger;
w = floor(N/K)+1/2*k^2+5/2*k-3, k = floor(N^(1/3));

Tuesday, August 08, 2006

source code for divide-and-conquer

#include "iostream"
#include "malloc.h"

using namespace std;

#define SIZE 100000

void merge(int *A, int p, int q, int r)
{
__int i,j,k,n1,n2;
__int *L,*R;
__n1 = q-p+1;
__n2 = r-q;
__L = (int*)malloc(n1*sizeof(int));
__R = (int*)malloc(n2*sizeof(int));
__for ( i = 0,j = p; i < n1; i++,j++ )
____L[i] = A[j];
__for ( i = 0,j = q+1; i < n2; i++,j++ )
____R[i] = A[j];
__for ( i=0,j=0,k=p; i < n1 && j < n2; ) {
____if ( L[i] <= R[j] )
______A[k++] = L[i++];
____else
______A[k++] = R[j++];
__}
__if ( i != n1 && j == n2 ) {
____for ( ; i < n1; i++,k++ ) {
______A[k] = L[i];
____}
__}
__if ( i == n1 && j != n2 ) {
____for ( ; j < n2; j++,k++ ) {
______A[k] = R[j];
____}
__}
__free(L);
__free(R);
}

void mergeSort(int *A, int p, int r)
{
__int q;
__if ( p < r ) {
____q = (int)((p+r)/2);
____mergeSort(A,p,q);
____mergeSort(A,q+1,r);
____merge(A,p,q,r);
__}
}

int resource[SIZE];

int main( void )
{
__int i;
__freopen("src.txt","w",stdout);
__for ( i = 0; i < SIZE; i++ ) {
____resource[i] = rand()%10000;
____cout << resource[i] << endl;
__}
__mergeSort(resource,0,SIZE-1);
__freopen("res.txt","w",stdout);
__for ( i = 0; i < SIZE; i++ ) {
____cout << resource[i] << endl;
__}

__return 0;
}

introduction to algorithms:exercise 2.3-2

as request in this exercise, we won't use sentinels any more.
here we go, pseudocode followed;
merge(A,p,q,r)
__n1 = q-p+1; //note the trivial operation with the indices;
__n2 = r-q; //concern with how we value q;
__L = malloc(n1);//we just need the proper memory for we won't use sentinels any more;
__R = malloc(n2);
__for ( i = 0, j = 0, k = 0; i < n1 && j < n2; ) {
____if ( L[i] <= R[j] )
______A[k++] = L[i++];
____else
______A[k++] = R[j++];
__}
__if ( i == n1 && j != n2 ) {
____for ( ; j < n2; j++,k++ ) {
______A[k] = R[j];
____}
__}
__if ( i != n1 && j == n2 ) {
____for ( ; i < n1; i++,k++ ) {
______A[k] = L[i];
____}
__}
__free(L);
__free(R);
merge end;

that's all.

introduction to algorithms:exercise 2.3-1

here is merge-sort in concise:
merge-sort(A,p,r) //A array to sort,p and r are indices;
__if ( p < r ) then //here we use '_' instead of ' '(white space);
____q = floor((p+r)/2); //take the merge-point as floor of middle position;
____merge-sort(A,p,q); //be careful with the indices;
____merge-sort(A,q+1,r);
____merge(A,p,q,r);
merge-sort end;

now, we will use this algorithm to operate the array A=[3,41,52,26,38,57,9,49];
______________________A=[3,41,52,26,38,57,9,49]
_________________________________|__________________
_____________________|_____________________________|
______________[3,41,52,26]____________________[38,57,9,49]
_____________________|_______________________________|________________
____________|_____________|___________________|______________________|
_________[3,41]________[52,26]_____________[38,57]_________________[9,49]
___________|______________|___________________|______________________|____
______|_________|______|______|____________|______|_______________|______|
_____[3]_______[41]____[52]____[26]__________[38]___[57]_____________[9]____[49]

above is the divide-conquer tree,and the operation sequence in left recurrence is followed:
[3,41,52,26,38,57,9,49]
[3,41,26,52,38,57,9,49]
[3,26,41,52,38,57,9,49]
[3,41,52,26,38,57,9,49]
[3,41,52,26,38,57,9,49]
[3,41,52,26,9,38,49,57]
[3,9,26,38,41,49,52,57]

that is all of the solution.

Monday, August 07, 2006

divide-and-conquer

here is a approach named divide and conquer:
Divide the life into a number of sublifes;
Conquer the sublifes by solving them recursively.if the sublife sizes are small enough,however,just solve the sublifes in a straightforward manner.
Combine the solved sublifes into the original life.

exercise 2.2-2 in introduction to algorithms

writing these is mainly to improve my writing, not mere to finish exercise for these are trivial and solved.
pseudocode(selection sort):
input:array A[n];
output:array A'[n] with all elements sorted;
procedure:
n = length(A);
for ( i = 0; i < n-1; i++ ) { //indices start with zero.
__max = i;
__for ( j = i+1; j < n; j++ ) {
____if ( A[j] > A[max] ) max = j;
__}
__if ( max != i ) { //replacing the ith greatest element in correct position.
____tmp = A[i];
____A[i] = A[max];
____A[max] = tmp;
__}
}
procedure end;
pseudocode end;

in this algorithm, the loop invariant is A[0..i];
in each iteration, the subset A[0..i] is always sorted;
here is the mathematical induction:
basis:it's sorted prior to all iterations for there is only one element in this subset.
maintenance:assume at current iteration step, the value of i is k, due to the mathematical induction, we have, the subset A[0..k] is in sorted and for each position of m denote the mth greatest element.after current iteration, we will get the (k+1)th greatest element and replace it at the position of k+1.to the next iteratin, subset of A[0..(k+1)] is in sorted(this is trivial).
termination:after procedure, A[0..(n-2)] contains the previous n-1 greatest elements, so, the last one must be the least one.it's explicit that we get a sorted array at last.

the best-case: we need to do nothing for it's sorted.O(c),c constant.
the worst-case: it may be O(n^2).

that's all of the solution.

integer function: floors and ceilings

these two are fundamental notations, which are defined as follow(x arbitrary real number):
floor[x]=the greatest integer less than or equal to x;
ceiling[x]=the least integer greater than or equal to x;
there are several properties which accompany these two definition.
if x integer then floor[x]= ceiling[x];
if x isn't integer then ceiling[x]-floor[x]=1;
floor[-x]=-ceiling[x];
ceiling[-x]=-floor[x];
x-1<*floor[x]<=x<=ceiling[x]from the previous rule, we can have a set of extended rules;
floor[x]=n, iff n<=xceiling[x]=n, iff n-1floor[x+n]=floor[x]+n, if n integer;
etc...

Friday, July 21, 2006

scilab,new experience.

yesterday,terminal examinations overed,as the third year of my college life ended.
the next is the competition about scilab,a free scientific software package for numerical computations providing a powerful open computing environment for engineering and scientific applications.
we aim to develop a package from matlab.

Saturday, July 08, 2006

raooman zhong

I knew him when I was a freshman, for he has come to share his experience with us, and, again this time, he is back. I'm sure that he will back some time for the same reason: help cs' students with his own excellent experience, tell us what he saw, what he thought and what he did. I hope so, and also wish that he will have a nice future.
tonight, as his perfect speech, I've thought something about what I need to do in years. thanks raooman zhong, he gave me details what I didn't note before, such as what job fit you? and what job do you need? I didn't know what is my favourite field? maybe, i'll get my answer soon, it could be this summer vacation, after my finishing of scilab copetetion.ok, ok, I don't want to comment anything about this, now what I need to do is try my best to cover the terminal examination, take a nice ending, and get a nice beginning. that is what all I hope now.
the next, symbolic logic, operating system, will be killed. a za a za...fighting...
btw, it's a nice activity I hold tonight. I really want to attract more classmates for I thought this is quite a valuable interaction, but, I thought, I failed.

Thursday, July 06, 2006

another ipod, another hand-held player

as we known, ipod is the most popular hand-held player now.
to take on apple, microsoft wants to develop own hand-held music, with the feature that ipod lacks: wireless internet music download.
this kind of player is planned to deliver this summer vacation.
from here, we can find that the world is competitive, few days ago, i found a piece of news that about apple's ipod has took lost of dollars, and even the company don't want to mention about this. so, you can find how costly this development. also, this make apple as the leader of this field.

compile principles killed

ok, now, here is the ending for compile principles.
the next is symbolic logic, for me, quite difficult to cover it.

Tuesday, July 04, 2006

DIY a microchip?

from news, i heard that google decided to invent own microchip, that's the reason why it built two huge operating experiment lab as mentioned before.oh, you can easily find that, the way of google's development is quite stable and active. first, create a high performance searching engine, and then gain profit from advertisement, next, develop all kinds of new software, such as google file system, google work queue, for itself, and now decide to invent microchip, step and step.
but voice from rivals don't sounce nice, such as bill gates, chairman of microsoft, giant of computer industry, he said that:"Google doesn't have anything magic here,We spend a little bit more per machine. But to do the same tasks, we have less machines." that he don't think that google can have any advantage.
I think, I still need to know more details about google, and then, I can find out if I like its style.

say 8 to kof

have determined, saying goodbye to kof.
it's a long long time since last play, I'm not skilled as before for less training.
I can't win most, that give me a bad feeling, and today, meet some guys at JMU, leave me pretty bad impression. so, I don't want to play via internet any more.

Monday, July 03, 2006

internet calling

skype, a popular internet-based telephone facility has been free for calling from computer to traditional telephone this may amony area of america and canada.
what a pity, not including china, though it will be soon, i think.
if free, the internet calling will put intense pressures on traditional telecom companies, such as AT&T, who has spent vast money on equipment for traditional tele call. but, VoIP doesn't need any equipment but the internet, sending voice as data package.
some day, we don't need to pay anymore for tele call.hope so.

Sunday, July 02, 2006

we don't want to stop here

amazing, brazil failed this morning, as france winned.
"we don't want to stop here", Zidane said, "it's so great that we want to carry on.". this is also what i thought before this match, i always recognize brazil as the champion of this game. but, reality is always out of expection.
"I didn't prepare for this, and no one in our delegation prepare for this." said coach Carlos Alberto.
germany, maybe, is the champion this game.

Saturday, July 01, 2006

fifty

the fiftieth post.
I'm tired with the terminal exams.
I've heard from nytimes that over sixty killed in Iraq today.
when is the end of death?
I continue to be scared with the life, ugly life.
now, go back home, have a good sleep, then turn back, face another morning.

meet a pretty big problem

that's about my terminal examination of java programming language. I got a pretty low score, that can't be lower any more. is it my true mark? I were feeling quite satisfied with that exam. so, this mark is out of my expection, though it's a selective course. I will have worse mood in serveral days. why? why? why? i can't understand why. urgently waiting for message from Mr. Hong, my teacher of this discipline.

Thursday, June 29, 2006

google checkout

thursday, that is, today, google is introducing google checkout to the world. that is a new method, a new try to get more money from technique.this is a service that allows people to make purchases from online stores using payment and shipping information they keep on files with google.
from eric, the aim of google checkout is to make it easier and faster in buying products advertised on google-thus attracting more advertises.
these days, you can easily to find that google has done lots of moves to all directions, such as google earth, writely.com, etc... all predict the ambitions of google. i hope so, google can have a nice tomorrow.
organize world's information-it can get it.

only the dead have seen the end of war

only the dead have seen the end of war.
------a greek philosopher said.
even the colonel of american forces in Anbar province didn't know if this war is worth so many death of these soldiers.
now, everday, there must be some soldier killed in somewhere by some way, may be mortar shell, just like Lisk, an American soldier killed several hours ago.
though it's an american soldier, it's a humanbeing, too.
maybe, i can understand why so many american peopen damn and hate the war promoted by the goverment.it's time for someone to reconsider its move. anyhow, the iraq war ends silently for one american soldier, terry lisk, a common american soldier, died in a common way by a shell.

ipv6 or ipng's brief introduction

if u want 2 get more information in details, u can browse this website:
"http://www.laynetworks.com/IPv6.htm". maybe it's useful for u.

This post presents an overview of the Next Generation Internet Protocol (IPng). IPng was recommended by the IPng Area Directors of the Internet Engineering Task Force at the Toronto IETF meeting on July 25, 1994, and documented in RFC 1752, "The Recommendation for the IP Next Generation Protocol" [1]. The recommendation was approved by the Internet Engineering Steering Group on November 17, 1994 and made a Proposed Standard.
The formal name of this protocol is IPv6 (where the "6" refers to it being assigned version number 6). The current version of the Internet Protocol is version 4 (referred to as IPv4). This overview is intended to give the reader an overview of the IPng protocol. For more detailed information the reader should consult the documents listed in the reference section.
IPng is a new version of IP which is designed to be an evolutionary step from IPv4. It is a natural increment to IPv4. It can be installed as a normal software upgrade in internet devices and is interoperable with the current IPv4. Its deployment strategy was designed to not have any "flag" days. IPng is designed to run well on high performance networks (e.g., ATM) and at the same time is still efficient for low bandwidth networks (e.g., wireless). In addition, it provides a platform for new internet functionality that will be required in the near future.
This paper describes the work of IETF IPng working group. Several individuals deserve specific recognition. These include Paul Francis, Bob Gilligan, Dave Crocker, Ran Atkinson, Jim Bound, Ross Callon, Bill Fink, Ramesh Govindan, Christian Huitema, Erik Nordmark, Tony Li, Dave Katz, Yakov Rekhter, Bill Simpson, and Sue Thompson.

Wednesday, June 28, 2006

Donald E. Knuth

Donald E. Knuth was born on January 10, 1938 in Milwaukee, Wisconsin. He studied mathematics as an undergraduate at Case Institute of Technology, where he also wrote software at the Computing Center. The Case faculty took the unprecedented step of awarding him a Master's degree together with the B.S. he received in 1960. After graduate studies at California Institute of Technology, he received a Ph.D. in Mathematics in 1963 and then remained on the mathematics faculty. Throughout this period he continued to be involved with software development, serving as consultant to Burroughs Corporation from 1960-1968 and as editor of Programming Languages for ACM publications from 1964-1967.

He joined Stanford University as Professor of Computer Science in 1968, and was appointed to Stanford's first endowed chair in computer science nine years later. As a university professor he introduced a variety of new courses into the curriculum, notably Data Structures and Concrete Mathematics. In 1993 he became Professor Emeritus of The Art of Computer Programming. He has supervised the dissertations of 28 students.

Knuth began in 1962 to prepare textbooks about programming techniques, and this work evolved into a projected seven-volume series entitled The Art of Computer Programming. Volumes 1-3 first appeared in 1968, 1969, and 1973. Having revised these three in 1997, he is now working full time on the remaining volumes. Approximately one million copies have already been printed, including translations into six languages. He took ten years off from this project to work on digital typography, developing the TeX system for document preparation and the METAFONT system for alphabet design. Noteworthy by-products of those activities were the WEB and CWEB languages for structured documentation, and the accompanying methodology of Literate Programming. TeX is now used to produce most of the world's scientific literature in physics and mathematics.

His research papers have been instrumental in establishing several subareas of computer science and software engineering: LR(k) parsing; attribute grammars; the Knuth-Bendix algorithm for axiomatic reasoning; empirical studies of user programs and profiles; analysis of algorithms. In general, his works have been directed towards the search for a proper balance between theory and practice.

Professor Knuth received the ACM Turing Award in 1974 and became a Fellow of the British Computer Society in 1980, an Honorary Member of the IEEE in 1982. He is a member of the American Academy of Arts and Sciences, the National Academy of Sciences, the National Academy of Engineering, and a foreign associate of l'Academie des Sciences (Paris) and Det Norske Videnskaps-Akademi (Oslo). He holds five patents and has published approximately 160 papers in addition to his 19 books. He received the Medal of Science from President Carter in 1979, the American Mathematical Society's Steele Prize for expository writing in 1986, the New York Academy of Sciences Award in 1987, the J.D. Warnier Prize for software methodology in 1989, the Adelsköld Medal from the Swedish Academy of Sciences in 1994, the Harvey Prize from the Technion in 1995, and the Kyoto Prize for advanced technology in 1996. He was a charter recipient of the IEEE Computer Pioneer Award in 1982, after having received the IEEE Computer Society's W. Wallace McDowell Award in 1980; he received the IEEE's John von Neumann Medal in 1995. He holds honorary doctorates from Oxford University, the University of Paris, St. Petersburg University, and more than a dozen colleges and universities in America.

Professor Knuth lives on the Stanford campus with his wife, Jill. They have two children, John and Jennifer. Music is his main avocation.

annoying, customer service

find a post at snakesonblog about the customer service from the comcast.
poster called the company for replace his router in order to connect internet in a stable status, in fact, this move would be finished in five minutes, but actually, it costed ninty minutes for waiting the call aimed to activate poster's new modem with the telephone held on and the technician fell asleep. is it quite annoying?
as the poster request, here is the link to the video named comcast sleeping shot by poster to complain the customer service.
link: http://www.snakesonablog.com/swp/wp-content/uploads/2006/06/ComcastSleeping.wmv

Tuesday, June 27, 2006

can north korea be safe?

this problem exists for a long period.
these days, north korea announce that they want to test a long-rang missile, that can attack the region of usa directly.and also, these day, undated u2 spy plane has been deployed in osan air station. though an usa forces korea offical said that "this move is planned preivously, not related to the test of north korea.", no one will believe it.
these days, i've a nice experience with the experiment of implementing a compiler base on a simple programming language called c- defined by our teacher ms Li. to be confess, i didn't read any introduction about the tools containing lex and yacc. last friday afternoon is my quit right beginning with this discipline.but from the procudure of the experiment, i have to read a lot of imformation about these two tools. that 's really what your see is waht your learn.
it's too late, i need to go bed and have a sweet dream.

Monday, June 26, 2006

capturing your special day forever

nowadays, there is a quite new method to produce a wedding without huge cost, that is, making the procedure photographed and delivering it to all the relatives via webcam, what all you need to do is sending the link via internet.
here is the website "http://www.cashmanpro.com/".
but i don't think this is a quite right and good way to chinese, because of the culture, that is easy to see.

Sunday, June 25, 2006

it's the hardest time

at the end of this semester, these days are the hardest time.
afford and cover it...believe yourself.

US-led forces kill 70 Taliban rebels

just a piece of news. helping reading.
KABUL (Reuters) - U.S.-led forces killed around 70 Taliban rebels during clashes in southern Afghanistan, the U.S. military said on Saturday, raising the number of insurgents killed to 100 over the past three days.
Afghanistan is suffering its worst spell of violence since U.S.-led forces toppled the Taliban in 2001. It comes ahead of NATO troops taking over military control in the violent south from the United States.
Last week the U.S.-led coalition announced a major offensive, codenamed "Operation Mountain Thrust", to push deep into the Taliban's southern heartland.
A clash erupted on Friday after about 40 Taliban fighters attacked coalition forces in the Tarin Kot district of the southern province of Uruzgan.
"They all were killed," Soldier Chris Miller, a spokesman for the coalition forces, told Reuters of the Taliban casualties.
In another incident, coalition and Afghan forces attacked "a large group of extremists" in the Zharie district of neighboring Kandahar province, killing 25 rebels in a battle that lasted three hours, a U.S. military statement said.
Four more rebels were killed in a firefight with a coalition patrol in Kandahar on Friday night, Major Quentin Innes, a coalition spokesman, said.
The Taliban were not immediately available for comment, but have rejected reports of big losses in recent weeks.
The U.S. military said coalition troops had killed about 31 Taliban insurgents in the south on Wednesday and Thursday.
The rebels have stepped up attacks this year in their southern and eastern heartland where they enjoy considerable support from locals.
Local politicians have recently voiced concern over the deteriorating security situation in the south despite the presence of foreign forces, saying rebels are expanding their influence in several parts of the region.
More than 1,000 people, including more than 40 foreign soldiers, have died this year. Around 400 were killed in May alone.
Copyright © 2006 Reuters, All Rights Reserved.

Wednesday, June 21, 2006

about the solution for the problem of bridge.

about the solution for the problem of bridge:
we define a new class "Bridge" to simulate the operation of a bridge.and here is the interface of this class(Vehicle.h):
class Bridge {
public:
Bridge();
~Bridge();
void ArriveBridge(int direc); //if car coming in direc, calling this function in the thread where the vehicle executing.
void CrossBridge(int direc); //if the bridge is capable, then this function will be executed.
void ExitBridge(int direc); //if the car on bridge has executed Pass() successfully, then call this function.
private: List *queue[2]; //denote the waiting cars in two directions.
int age[2]; //denote the number have passed in both two directions.
int curDriection; //denote the current direction of the cars on the bridge(aims to preserve cars from crash).
Semaphore *sem; //as a variable of mutex to synchronize the operation on the bridge. Semaphore *avi; //as a variable of a counter to represent the limitation of the bridge's capacity.
};
this class comprise two lists represent the waiting cars from two directions. if a thread calls the ArriveBridge(), then the caller will be inserted into these two lists by the key of directions.
after calling ArriveBridge, we need a thread to take the charge of the monitor, this thread will call the CrossBridge() in a fixed time and never exit untill all processes exit. this function will make a decision that which car in these two lists can corss the bridge.and here is the algorithm in details: first of all, the thread must get the acception from the monitor via calling avi->P(); the next, make a decision via the following steps: 1)if one of two lists is empty, then make the direction to be the contrary one, else goto the step 2. 2)if the number of passed car from one direction is greater more than a constant, then, we will make the direction to be the less one, else goto step 3. 3)making the direction to be the current direction, aims to make the corss convenient. after that, checking if the direciton made above equals the current direction on the bridge, if yes, then the car can cross the bridge. if not, then this car must wait untill seizing the rest acceptions via calling avi->P() twice, that means there must be no car on the bridge. ok, then release this car from the fit list.revalue the variable of the current direction. that's all the details above.
and the last, if the subthread who represents the car finished, then he must call ExitBridge(), and this will give the acception back to the monitor, and wake up some threads waiting for the acceptions.
here, we have another question: why fair? that is easy to see, in the CrossBridge(), we make this available via controlling the number of passed cars from two directions,that is,making the distance to be constant.

the death tunnel

1928, kentucky...
a horrific disease know as "the white plague claimed over 63,000 lives.
a monstrous sanatorium was built to isolate the infected and play host to bizarre experiments in desperation to find a cure.
unable to cope with the large amount of corpses, a five hundred foot underground tunnel was constructed for the removal of these bodies, hiding the enormous death number from the rest of the outside world.
and this was called "the death tunnel".

this is a terrible story for the horrific background.
the story begins at a party named "truth or scare", annual initiation party. at this party, five girls are chosen into the initiation test, who all have a link with the sanatorium. five girls, five floors, five hours and also five ghosts. that is a horrific game aiming to scare the five girls.
but during the process, there is something wrong with that building, a haunted place.
to be confessed, i don't quit like the method of thi film, aiming to scare people who wathing, without any sense. all in a words, what the fuck is it? i can't quit understand it.

Tuesday, June 20, 2006

windows life service.

the home page of windows life service is live.com.
this is a new style of info service, you can customize what info you want to concern about in your own user page. it's just a test version,from the news of windows watch, some of the windows services move out of beta version now, and the home page of live.com was refreshed a couple of days ago, soon is the final version.
i've had a try with this service, that is quit nice. though don't satisfy my requirement, it open up a new horizons of info service: you can integrate all the information you want together, and rapidly browse them down, never like before, different info in different pages, that is quite confused.
if you want to have a try, just only need to meet one of the requirement listed here: one account of hotmail, msn messager or passport, then it will be your windows live's account with the same password. just enjoy it.

a new technique in human's fertility.

this monday, japanese experts announced they have devised a new method to freeze the human's egg, which unlike sperm which can be easily forzen, thawed and used in fertility treatment. women's egg is fragile and usually damaged when they are thawed. but using this method can reach at a very high thawing rate. so this improvement opens up a new horizon of human's fertility. the technique can help young cancer patient to freeze their eggs before they having treatments which may damage their fertility.
this is a new step in this area, human can control the fertility much more easily than before, i think. some day, maybe we don't need sex any more, ahha.

Monday, June 19, 2006

what's your pick,CSE or IT? from M. Ponnavaikko.

Engineering entery one of two branches, one is computer science and engineering, the other is information techology. here, i want to show you about some details between these two disciplines from my reading, from the article or remarks (maybe) of M. Ponnavaikko.
first, what's different between these two disciplines? from the view of students(for i'm student now), the discipline of CSE aims to produce computer professionals who can design, build and operate computer system, with a thorough knowledge of the basic fundamentals of the internals of computer hardware and software system and networks. by the way, the students from CSE can also troubleshoot and carry out maintenance and repair of computer or networks system, just like what we are in others' eyes.
and the courses of IT aim to produce professionals who can understand computer and communication technologies to the extent of information processing, including design and implementation of the IT-enabled services, internet and web applications.
the second one is the different requirement of mathematics, the courseware of the CSE is based on the mathematics but the IT not.
the third one is about what jobs is suitable for these two kinds of students. in this section, the graduates from CSE is much better than IT.
the forth one is about the further education to these two disciplines, maybe, the courseware of the postgraduate is much more fit for the graduates from the subject of computer science and engeering.but the opportunity is always equal to these two kinds.
the last one is which is much more popular to the MNCs? the answer isn't clear, just depend on the skills of yourself, such as communication skill(important one).
that's all.

Sunday, June 18, 2006

minotaur

minotaur, a creature with human's body and bull's head, a beast present in the mythology of Greece. that is the film i just watched. to get the power of god, the crete's king enforce his queen to offer herself to the bull to create a perfect being, a combination of human and god.
but to the cretes' horror, the queen born a evil and killed the young prince. to cover the reality, the cretes close the bull in a maze, and announce that the prince was killed by a man from a far away village. for this guilty event, the village should offer eight young people to the minotaur every other three years. and now, the stroy is beginning...for saving the lover and stopping the offer, a young man named Titan is on his way to kill the beast, but in this film, all was planned by the princess of crete and the purpose is getting rid of his eld brother's controll, and killing the minotaur.

Saturday, June 17, 2006

nice experience with teachers of middle school

here are we and the teachers in the middle school i mentioned several posted before.

what is VOIP?

VOIP is voice over ip for short. it's easy to understand it, isn't it?

encrypt your flash-memory device, sounds nice.

find a free software for encrypting flash-memory device named TrueCrypt.
you can download it at the website "truecrypt.org", maybe it's useful someday.
here is its introduce:
TrueCrypt is a software system for establishing and maintaining an on-the-fly-encrypted volume (data storage device). On-the-fly encryption means that data are automatically encrypted or decrypted right before they are loaded or saved, without any user intervention. No data stored on an encrypted volume can be read (decrypted) without using the correct password/keyfile(s) or correct encryption keys. Entire file system is encrypted (i.e., file names, folder names, contents of every file, and free space).
Files can be copied to and from a mounted TrueCrypt volume just like they are copied to/from any normal disk (for example, by simple drag-and-drop operations). Files that are being read or copied from the encrypted TrueCrypt volume are automatically decrypted on-the-fly (in memory/RAM). Similarly, files that are being written or copied to the TrueCrypt volume are automatically encrypted on-the-fly (right before they are written to the disk) in RAM.Note that TrueCrypt never saves any decrypted data to a disk – it only stores them temporarily in RAM (memory). Even when the volume is mounted, data stored in the volume is still encrypted. When you restart Windows or turn off your computer, the volume will be dismounted and files stored in it will be inaccessible (and encrypted). Even when power supply is suddenly interrupted (without proper system shut down), files stored in the volume are inaccessible (and encrypted). To make them accessible again, you have to mount the volume (and provide the correct password and/or keyfile).

the long arm of the law

from the title, this is evident about the legislation of a country.
at smoothwall.net, i saw a news in brief referred to the legislation of usa. here it is, moves by fbi in the us to force IP telephony companies to provide "wiretapping" facilities, as are currently required for more traditional telecoms companies, have been criticized in a recent report from the IT association of america.
in the view of a goverment, i don't think there is any problem in these moves, for these requires is in the think of country's security. but the reason of this report is the users will decrease if adopting this policy and also the industry's commercial profit, in view of seller.
to preview the result of these moves, i think the final winner must be the goverment for the polity is above all(there may be something unfit for this opinion, but all just kidding). the reality is: our imformation are all under control for the security in any country of the world.
(all words in kidding, don't be serious).

at the end of a week

friday,again. In China, this is a end of a week.
how can i describe my performance this week? all day's playing games?
these weeks are also a end of a semester, i had to preparing for the terminal examination, but i didn't.
i'm pretty afraid of my symbolic logic, which is a difficult subject about mathematics. and tomrrow is another exam of cet6.
it's midnight,i'm drunk?maybe a little. now, it's another football match of world cup.the latest game's winner is Argentina, 6:0.

Thursday, June 15, 2006

a crazy day

tody, whole day's playing game "farcry", without any coding. oh, my god, tomorrow is the deadline.

Wednesday, June 14, 2006

a nice playground

this photo is shot at XiaPu of FuJian province. a playgroun of a middle school, which i teached for a week during the summer vacation.
there's condition is pretty difficult, and the quality of education is worest, i think.
we were there to let the students know the world outside, and tell they, howere difficult the condition is, they must insist on studying.
i'm sorrow when i'm there for i found there is too much children can't experience the education.

goddess in XiaMen

this photo is also shot at BaiLu Zhou, and this statuary is known as goddess of BaiLu, at least, this is what i know about it.

green world: BaiLu Zhou

this photo is shot at BaiLu Zhou, a nice place.
i like it very much.

what is malware?

malware,malicious software for short,is a software program developed for the purpose of causing harm to computer system, similar to a virus or trojan horse.
this is another new word i meet, today. keep reading, and getting in touch with more terms in my subject.
sweet dream for me and the other half part.

Tuesday, June 13, 2006

slight glance:85 anniversary.

this is square of MeiLing Zhong. it's time of the celebration of XiaMen university's 85 anniversary.

new version, google earth 4.0 beta

i've downloaded two versions for windows, one is ordinary, the other is professional. but the ordinary one can't be launched sucessfully, i can't experience it.
after i installed the professional one, launched, it requires me to input the licence key(free trail or purchase). i don't want to pay any for this software(just want to experience it), so i try to register a licence key for free trail.
finally, i get the key, and log in. but unfortunately, i can't contact to the server. maybe it's the firewall? no, i've checked it to be an exception.
so, i can't experience it. what a pity. reading the article "what is new", it just talking about the news about the toolbar, and didn't refer to the quality of the graphics. after all, it has a new interface and gives out a nice look and feel to the users.
why purchase? it's worth? i'm not sure.

Eric Schmidt Still Sees Google as A Technology Company; But We Know It's More...

Q: Is Google a media company or a technology company?
A: It's better to think of Google as a technology company. Google is run by three computer scientists, and Google is an innovator in technology in our space. We're in the advertising business — 99% of our revenue is advertising-related. But that doesn't make us a media company. We don't do our own content. We get you to someone else's content faster.
Now, it's true that Google gets you to other people's content faster. That's the basis of the media revolution I've been on about for some time now .
But to equate Google not doing its own content with a free pass from the media company classification is, well, absurd. That presumes that media companies only make packaged goods - traditional content - and ignores the fact that the majority of media companies in a post web world (and plenty in the pre web world) are not "creators of content" they are innovators in the media experience business in one way or another. Is Comcast in the media business? After all, they really are only distributors of content. EMI Records? Well, they don't "make their own content" - the musicians do. What about FM? We don't "make content" - and we do have a technology platform. But don't tell me we're not in the media business.
Same for Google. The search engine is inherently a media tool: it innovates in the assembly of useful information. Now, let's talk about the other media products in Google's arsenal: Google Finance? Check. Google Video? Check. Blogger, Google Answers, Google Base, Map, Book Search, Earth, Images, Local, Catalogs, News, Mail....check check check!
I'm quite sure the folks at Google are aware of this, and this is most likely an issue of competitive semantics, in the end. First, media businesses, in the main, command far lower valuations on Wall Street than technology businesses. Bill Gates had this same issue back in the 1990s, as I pointed out earlier. And second, the entire media world is fearful of Google; insisting you are not in their business is a placating calculation. But my two cents: No one is buying it.

this saturday is a examination of cet 6

suddently find it.unconfident, for didn't prepare for it.bless.

there is another imformation, what is Fortress technologies? it's a leader in secure wireless networking in usa.

Monday, June 12, 2006

solution for lab3 with nachos

solution for eventBarrier:
in an eventBarrier, we need three queues:one storing threads waiting for signal(waiting), another storing threads that has been signaled and waiting till all waiting threads have been signaled(ready to run).the last storing threads call eventBarrier while eventBarrier is releasing waiting threads(hang up).
a variable named count is required to count the number of threads in the queue of waiting.
a semaphore named signal is used to check if the event happened.(how does a semaphore work, i need to think in details).
another semaphore named status is used to flag the status of eventBarrier,signaled or unsignaled.
then is the implementing of the interfaces of eventBarrier:
wait()---a thread calling wait() will be inserted into queue of waiting,then count++;
signal()---if the event took place,all threads in queue of waiting will be released,and count decrease to be zero.the user must be the thread which the expected event in.blocked till all threads released,and turn satus unsignaled.
complete()---this function may be called by thread in queue of waiting.if called,it inserts the thread into the queue of ready to run.after that,it should be blocked till eventBarrier wakes it up.
waiters()---just return the number of threads in the queue of waiting(if unsignaled).

solution for alarm clock:
isn't ready yet.

solution for problem one, bridge:
isn't ready yet.

solution for problem two, elevator:
isn't ready yet.

Sunday, June 11, 2006

it's to leave.......

a new month, july. a new season for leaving.
today, a guy named Qi Liu is preparing for leaving tomorrow.what a sorrow time, i can't describe it in words. it's a quite long time we take part in each other in this narrow lab. i believe that we are all leading to be good friends. but soon, they will turn graduated, leave this school in all directions. Qi Liu is going to shanghai for his new job, because he didn't pass his entrance examination( I'm pretty sorry for this result).
tonight, we go to eatery for a nice supper, Qi Liu an i paid for it.
Looking at these nice buddies, I'm moving. it must be a long time for the next time we meet.
and another feeling is coming up, i need to be more studious, working for myself, working for my buddies, working for my future.
tomorrow is a new day, a new beginning. i bless for myself, a nice and happy time in weeks.
ps:don't fail in my terminal examination.

samsung intro first 1.98'' LCD to achieve VGA with amorphous silicon

it's amazing, the technology is developing pretty quickly. this technique will soon be used in mobile field. someday, our phone with a nice screen will come out.

undergraduate survey:ipod more popular than beer

i found a ipod with 60 system memory in my dorm,yesterday night, belongs to my roommate JinHui Wu.what a huge capacity, and it's figure is similar to the pic posted left, the same maker, apple computer inc. maybe in american college life, now owning a iconic ipod music player surpassed beer drinking as the most "in" thing among undergraduate college students.why? i don't know for i didn't really have a try with this player, that sounds nice, isn't it?

shuttle launch planned for next month

the us. space agency plans to launch the shuttle discovery next month. but some engineers feel it should wait untill all safety concerns have been resolved.
discovery's mission to test repair technique and work on international space station scheduled to lift off between july 1 and july 19.
can you remember the previous discovery? the NASA(national aeronautics and space administration) said they opted to fly the without redesigning the ramps because the tank renovation should be tested during its own flight before other changes are made.so, this flight is flying without any renovation, is it safe? we bless.

Saturday, June 10, 2006

what is RFID

radio frequency identification(RFID),in chinese is "射频识别".this is a corresponding technology,refers to the technology that uses devices attached to objects that transmit data to an RFID receiver. An alternative to bar coding. Advantages include data capacity, read/write capability, and no line-of-sight requirements.

writely.com

when reading the news about the launch of google spreadsheets, i notice that a website named writely, and its url it's "writely.com".
it's a online document manager system.now is purchased by goole,and stops the registration till moving into the google system.i want to have a try if for free, and sign up my email address for waiting the registration is available again.

vista beta2 is available now for free

to download the vista beta2, click url http://download.windowsvista.com/preview/beta2/en/x86/download.htm .
.
A Windows Vista Capable PC includes at least:
A modern processor (at least 800MHz1).
512 MB of system memory.
A graphics processor that is DirectX 9 capable.A Windows Vista Capable

A Windows Vista Premium Ready PC includes at least:
1 GHz 32-bit (x86) or 64-bit (x64) processor1.
1 GB of system memory.
A graphics processor that runs Windows Aero2. 128 MB of graphics memory.
40 GB of hard drive capacity with 15 GB free space.
DVD-ROM Drive3.
Audio output capability.
Internet access capability.

i need another memory card, the system memory must over 1g.

what is overclocking

i'm a greener in english, especially in terms of computer sicence.
aim to used to these, i have to collect some terms and their definitions. this is another one "overclocking":
Overclocking is making a computer component run at a higher clock speed than the manufacturer's specification. Although there are many different reasons for overclocking, the most popular reason is to increase hardware performance. Overclocking can result in system instability and sometimes even hardware failure if done carelessly.

Friday, June 09, 2006

blue gene

Blue Gene is a computer architecture project designed to produce several next-generation supercomputers, operating in the PFLOPS range. It is a cooperative project between the United States Department of Defense (who are funding the project), industry (IBM in particular), and academia. There are five Blue Gene projects in development, among them Blue Gene/L, Blue Gene/C, and Blue Gene/P.

Thursday, June 08, 2006

lab3 program with threads

first to be worked out is eventbarrier primitive:
class EventBarrier {
public:
void wait();
void signal();
void complete();
int waiters();
private:
semaphore signal; //i think it's initial value must be zero for at the very beginning the event doesn't happen, and if thread use EventBarrier, it may use p() to check if the event happened for the val must be nonnegative or the thread has to wait for v();
List queue; // the list that stores the waiting threads.
int count; // the counter for the waiting threads, this is easy to understand it.
}
this is the model for the class's primitive.
the function wait() is easy to implement, if called, it must check the semaphore first, if the semaphore's val is still zero, the thread must wait and be inserted into the waiting queue. if want to return from this function, it's condtion is the semaphore's val won't be zero any more.
and the function signal(), i don't know how to implement it,yet.the key is how or who will call this function and let go all the threads?
function complete(), it may wait and check if the count is decrease to be zero.
and the function waiters(), i don't need to explain any more about it.
writing for this step, i get a idea about the function signal(), fking my fool thinking. the caller must be the event process, it must contain a variable of the eventBarrier. so the thing goes to be easy.

what do i need to know about nachos system.

from now on, i need to study with nachos system, a micro-operating system.i need it to implete it very soon.for clear the goals, i'm listing serveral questions which i need to work out as below, i'll answer them as i study about the system:
1.how do all the pieces of an operating system fit together?
2.how does the operating system start a thread?how does it start a process?
3.what happens when one thread context switches to another thread?
4.how do interrupts interact with the implementation of critical section?
5.what happens on a system call?what happens on a page fault?
6.how dows address translation work?
7.which data structures in a file system are on disk,and which are in memory?
8.what data need to be written to disk when a user creates a file?
9.how does the operating system interface with I/O devices?
10.what does it mean to build one layer of a network protocol on another?
total ten questions, for understanding these question, i need to read the source code.it's a huge project,i think, but i'll finish it in days or weeks(if i got enough time).

the answers(in updating):
1.the system is divided into three parts:one is hardware simulation,above it is portable OS kernel, the last facing to the users is user programs.each part has its own content,listed blow:
hardware simulation including I/O device simulation and machine-dependent OS layer.
portable OS kernel including thread management, file system, address spaces, RPC(remote procedure call) and TCP(transfer control protocol), virtual memory and syscalls.
user programs including MIPS(million instructions per second) simulation and shell.
they just like building blocks, one by one, step by step.
hardware simulation is at the bottom, the portable OS kernel is at the middle, and the user programs is at the top.
above is introducing how does the nachos system fit all the pieces.

a flock of birds

this is a folktale, it's meaning is easy, whichere country you are, you can easily find out in your native folktale.the initial story is as follow, just enjoy it:
There was once a flock of birds peacefully pecking seeds under a tree. A hunter came along and threw a heavy net over them. He said, "Aha! Now I have my dinner!"
All at once the birds began to flap their wings. Up, up they rose into the air, taking the net with them. They came down on the tree and, as the net snagged in the tree's branches, the birds flew out from under it to freedom.
The hunter looked on in amazement, scratched his head and muttered, "As long as those birds cooperate with one another like that, I'll never be able to capture them! Each one of those birds is so frail and yet, together they can lift the net."
the tale is end here.it's used for me, becasue amony a team, you must has the skill to control all members to do what they need to do, or this team will lead to a failure.we must work as the flock of birds, flying to the same and helpful direction.

[diary]it's midnight

it's midnight, i'm preparing for sleeping(just waiting for LiuChuan for the money,i'm on his computer now).
for playing time, i'm search for a unknown word "procrasting" through google.com, and then i get a website whose url is http://www.43things.com/. after reading it, i find it's a website that accept people's willings and post them on their website.its subject is "what do you want to do in your life?","the life long goal".
on this website, i get the top six goals during the people as follow:
1.hava no regrets
2.find my passion
3.be less judgemental
4.be true to myself
5.stop procrsting(this word is what did i search for)
6.enjoy the simple things a bit more
i think all of them sound nice, specially the top three.some gay said that "the reality is: what is done is done. regret is useless.". what a good man/lady.
i hope i and my friends around me can follow this words and get the goals at the end.
it's too late, i need the bed, urgently.what a fking LiuChuan, he is still out now.too late.

Wednesday, June 07, 2006

[diary]about virtual reality

virtual reality(vr), it's my elective this term.yesterday and today, i'm doing with vrml for a no-stopped time to finish the final terminal homework.to be honest, i didn't learn anything about vr though i've chosen it.so, it's a little difficult for me to finish all the code in two days(i have no choice,today is the last day to submit this work).as a fact, i've got it now,and i'm pretty tired, but i'm comfortable with my finished final terminal homework.
the term "virtual reality" was initially coined by Jaron Lanier, which i haven't ever known before. who is he? he is the founder of VRL. and then the question is following, what is VRL? I don't know,either.but, i don't care about it.let's continue the subject.
Today, 'Virtual Reality' is used in a variety of ways and often in a confusing and misleading manner. Originally, the term referred to 'Immersive Virtual Reality.' In immersive VR, the user becomes fully immersed in an artificial, three-dimensional world that is completely generated by a computer.
Head-Mounted Display (HMD)
The head-mounted display (HMD) was the first device providing its wearer with an immersive experience. Evans and Sutherland demonstrated a head-mounted stereo display already in 1965. It took more then 20 years before VPL Research introduced a commercially available HMD, the famous "EyePhone" system (1989).
A typical HMD houses two miniature display screens and an optical system that channels the images from the screens to the eyes, thereby, presenting a stereo view of a virtual world. A motion tracker continuously measures the position and orientation of the user's head and allows the image generating computer to adjust the scene representation to the current view. As a result, the viewer can look around and walk through the surrounding virtual environment. To overcome the often uncomfortable intrusiveness of a head-mounted display, alternative concepts (e.g., BOOM and CAVE) for immersive viewing of virtual environments were developed.
i want to stop my reading at this point for i'm pretty pretty tired now, i need a nap.may i'll continue this subject another.

Monday, June 05, 2006

[transmit]Google's China Problem

By CLIVE THOMPSON Published: April 23, 2006 From NYTimes

For many young people in China, Kai-Fu Lee is a celebrity. Not quite on the level of a movie star like Edison Chen or the singers in the boy band F4, but for a 44-year-old computer scientist who invariably appears in a somber dark suit, he can really draw a crowd. When Lee, the new head of operations for Google in China, gave a lecture at one Chinese university about how young Chinese should compete with the rest of the world, scalpers sold tickets for $60 apiece. At another, an audience of 8,000 showed up; students sprawled out on the ground, fixed on every word.
It is not hard to see why Lee has become a cult figure for China's high-tech youth. He grew up in Taiwan, went to Columbia and Carnegie-Mellon and is fluent in both English and Mandarin. Before joining Google last year, he worked for Apple in California and then for Microsoft in China; he set up Microsoft Research Asia, the company's research-and-development lab in Beijing. In person, Lee exudes the cheery optimism of a life coach; last year, he published "Be Your Personal Best," a fast-selling self-help book that urged Chinese students to adopt the risk-taking spirit of American capitalism. When he started the Microsoft lab seven years ago, he hired dozens of China's top graduates; he will now be doing the same thing for Google. "The students of China are remarkable," he told me when I met him in Beijing in February. "There is a huge desire to learn."
Lee can sound almost evangelical when he talks about the liberating power of technology. The Internet, he says, will level the playing field for China's enormous rural underclass; once the country's small villages are connected, he says, students thousands of miles from Shanghai or Beijing will be able to access online course materials from M.I.T. or Harvard and fully educate themselves. Lee has been with Google since only last summer, but he wears the company's earnest, utopian ethos on his sleeve: when he was hired away from Microsoft, he published a gushingly emotional open letter on his personal Web site, praising Google's mission to bring information to the masses. He concluded with an exuberant equation that translates as "youth + freedom + equality + bottom-up innovation + user focus + don't be evil = The Miracle of Google."
When I visited with Lee, that miracle was being conducted out of a collection of bland offices in downtown Beijing that looked as if they had been hastily rented and occupied. The small rooms were full of eager young Chinese men in hip sweatshirts clustered around enormous flat-panel monitors, debugging code for new Google projects. "The ideals that we uphold here are really just so important and noble," Lee told me. "How to build stuff that users like, and figure out how to make money later. And 'Don't Do Evil' " — he was referring to Google's bold motto, "Don't Be Evil" — "all of those things. I think I've always been an idealist in my heart."
Yet Google's conduct in China has in recent months seemed considerably less than idealistic. In January, a few months after Lee opened the Beijing office, the company announced it would be introducing a new version of its search engine for the Chinese market. To obey China's censorship laws, Google's representatives explained, the company had agreed to purge its search results of any Web sites disapproved of by the Chinese government, including Web sites promoting Falun Gong, a government-banned spiritual movement; sites promoting free speech in China; or any mention of the 1989 Tiananmen Square massacre. If you search for "Tibet" or "Falun Gong" most anywhere in the world on google.com, you'll find thousands of blog entries, news items and chat rooms on Chinese repression. Do the same search inside China on google.cn, and most, if not all, of these links will be gone. Google will have erased them completely.
Google's decision did not go over well in the United States. In February, company executives were called into Congressional hearings and compared to Nazi collaborators. The company's stock fell, and protesters waved placards outside the company's headquarters in Mountain View, Calif. Google wasn't the only American high-tech company to run aground in China in recent months, nor was it the worst offender. But Google's executives were supposed to be cut from a different cloth. When the company went public two years ago, its telegenic young founders, Sergey Brin and Larry Page, wrote in the company's official filing for the Securities and Exchange Commission that Google is "a company that is trustworthy and interested in the public good." How could Google square that with making nice with a repressive Chinese regime and the Communist Party behind it?
It was difficult for me to know exactly how Lee felt about the company's arrangement with China's authoritarian leadership. As a condition of our meeting, Google had demanded that I not raise the issue of government relations; only the executives in Google's California head office were allowed to discuss those matters. But as Lee and I talked about how the Internet was transforming China, he offered one opinion that seemed telling: the Chinese students he meets and employs, Lee said, do not hunger for democracy. "People are actually quite free to talk about the subject," he added, meaning democracy and human rights in China. "I don't think they care that much. I think people would say: 'Hey, U.S. democracy, that's a good form of government. Chinese government, good and stable, that's a good form of government. Whatever, as long as I get to go to my favorite Web site, see my friends, live happily.' " Certainly, he said, the idea of personal expression, of speaking out publicly, had become vastly more popular among young Chinese as the Internet had grown and as blogging and online chat had become widespread. "But I don't think of this as a political statement at all," Lee said. "I think it's more people finding that they can express themselves and be heard, and they love to keep doing that."
It sounded to me like company spin — a curiously deflated notion of free speech. But spend some time among China's nascent class of Internet users, as I have these past months, and you begin to hear such talk somewhat differently. Youth + freedom + equality + don't be evil is an equation with few constants and many possible solutions. What is freedom, just now, to the Chinese? Are there gradations of censorship, better and worse ways to limit information? In America, that seems like an intolerable question — the end of the conversation. But in China, as Google has discovered, it is just the beginning.