Wednesday, March 18, 2009

World's Billionaires 2009


It's been a tough year for the richest people in the world. Last year there were 1,125 billionaires. This year there are just 793 people rich enough to make our list.

The world has become a wealth wasteland.

 

Like the rest of us, the richest people in the world have endured a financial disaster over the past year. Today there are 793 people on our list of the World's Billionaires, a 30% decline from a year ago.

Of the 1,125 billionaires who made last year's ranking, 373 fell off the list--355 from declining fortunes and 18 who died. There are 38 newcomers, plus three moguls who returned to the list after regaining their 10-figure fortunes. It is the first time since 2003 that the world has had a net loss in the number of billionaires.

The world's richest are also a lot poorer. Their collective net worth is $2.4 trillion, down $2 trillion from a year ago. Their average net worth fell 23% to $3 billion. The last time the average was that low was in 2003.

Bill Gates lost $18 billion but regained his title as the world's richest man. Warren Buffett, last year's No. 1, saw his fortune decline $25 billion as shares of Berkshire Hathaway (BRK) fell nearly 50% in 12 months, but he still managed to slip just one spot to No. 2. Mexican telecom titan Carlos Slim Helú also lost $25 billion and dropped one spot to No. 3.

It was hard to avoid the carnage, whether you were in stocks, commodities, real estate or technology. Even people running profitable businesses were hammered by frozen credit markets, weak consumer spending or declining currencies.

The biggest loser in the world this year, by dollars, was last year's biggest gainer. India's Anil Ambani lost $32 billion--76% of his fortune--as shares of his Reliance Communications, Reliance Power and Reliance Capital all collapsed.

Ambani is one of 24 Indian billionaires, all but one of whom are poorer than a year ago. Another 29 Indians lost their billionaire status entirely as India's stock market tumbled 44% in the past year and the Indian rupee depreciated 18% against the dollar. It is no longer the top spot in Asia for billionaires, ceding that title to China, which has 28.

Russia became the epicenter of the world's commodities bust, dropping 55 billionaires--two-thirds of its 2008 crop. Among them: Dmitry Pumpyansky, an industrialist from the resource-rich Ural mountain region, who lost $5 billion as shares of his pipe producer, TMK, sank 84%. Also gone is Vasily Anisimov, father of Moscow's Paris Hilton, Anna Anisimova, who lost $3.2 billion as the value of his Metalloinvest Holding, one of Russia's largest ore mining and processing firms, fell along with his real estate holdings.

Twelve months ago Moscow overtook New York as the billionaire capital of the world, with 74 tycoons to New York's 71. Today there are 27 in Moscow and 55 in New York.

After slipping in recent years, the U.S. is regaining its dominance as a repository of wealth. Americans account for 44% of the money and 45% of the list's slots, up seven and three percentage points from last year, respectively. Still, it has 110 fewer billionaires than a year ago.

Those with ties to Wall Street were particularly hard hit. Former head of AIG (AIG) Maurice (Hank) Greenberg saw his $1.9 billion fortune nearly wiped out after the insurance behemoth had to be bailed out by the U.S. government. Today Greenberg is worth less than $100 million. Former Citigroup (C) Chairman Sandy Weill also falls from the ranks.

Last year there were 39 American billionaire hedge fund managers; this year there are 28. Twelve American private equity tycoons dropped out of the billionaire ranks.
Blackstone Group's (BX) Stephen Schwarzman, who lost $4 billion, and Kohlberg Kravis & Roberts' Henry Kravis, who lost $2.5 billion, retain their billionaire status despite their weaker fortunes.

Worldwide, 80 of the 355 drop-offs from last year's list had fortunes derived from finance or investments.

While 656 billionaires lost money in the past year, 44 added to their fortunes. Those who made money did so by catering to budget-conscious consumers (discount retailer Uniqlo's Tadashi Yanai), predicting the crash (investor John Paulson) or cashing out in the nick of time (Cirque du Soleil's Guy Laliberte).

So is there anywhere one can still make a fortune these days? The 38 newcomers offer a few clues. Among the more notable new billionaires are Mexican Joaquín Guzmán Loera, one of the biggest suppliers of cocaine to the U.S.; Wang Chuanfu of China, whose BYD Co. began selling electric cars in December, and American John Paul Dejoria, who got the world clean with his Paul Mitchell shampoos and sloppy with his Patrón Tequila.
 

Rank Name Citizenship Age Net Worth ($bil) Residence
1 William Gates III United States 53 40.0 United States
2 Warren Buffett United States 78 37.0 United States
3 Carlos Slim Helu & family Mexico 69 35.0 Mexico
4 Lawrence Ellison United States 64 22.5 United States
5 Ingvar Kamprad & family Sweden 83 22.0 Switzerland
6 Karl Albrecht Germany 89 21.5 Germany
7 Mukesh Ambani India 51 19..5 India
8 Lakshmi Mittal India 58 19.3 United Kingdom
9 Theo Albrecht Germany 87 18.8 Germany
10 Amancio Ortega Spain 73 18.3 Spain
11 Jim Walton United States 61 17.8 United States
12 Alice Walton United States 59 17.6 United States
12 Christy Walton & family United States 54 17.6 United States
12 S Robson Walton United States 65 17.6 United States
15 Bernard Arnault France 60 16.5 France
16 Li Ka-shing Hong Kong 80 16.2 Hong Kong
17 Michael Bloomberg United States 67 16.0 United States
18 Stefan Persson Sweden 61 14.5 Sweden
19 Charles Koch United States 73 14.0 United States
19 David Koch United States 68 14.0 United States
21 Liliane Bettencourt France 86 13.4 France
22 Prince Alwaleed Bin Talal Alsaud Saudi Arabia 54 13.3 Saudi Arabia
23 Michael Otto & family Germany 65 13.2 Germany
24 David Thomson & family Canada 51 13.0 Canada
25 Michael Dell United States 44 12.3 United States
 

Read More >>

Thursday, March 5, 2009

Terrorist escaping after attacking the Sri Lankan Team

Pakistani TV has aired CCTV of suspected attackers in Lahore



Pakistani television has broadcast what it says is footage of gunmen fleeing the scene of Tuesday's deadly attack on the Sri Lankan cricket team in Lahore.

The edited footage shows several scenes apparently filmed in streets near the attack in the heart of the capital.

Up to 14 gunmen took part in the attack which killed six policemen and a driver and injured eight Tour members.

President Asif Ali Zardari has vowed that the attackers will be caught, and punished "with iron hands".

But a British ICC official caught up in the attack has criticised Pakistani securities for failing to protect them.


Read More >>

Wednesday, March 4, 2009

Shootout in Lahore 'I felt a bullet fizz past my ear' - Kumar Sangakkara

'I felt a bullet fizz past my ear'

When you have been through what we have experienced, when you have been targeted by terrorists yourself and been so fortunate to escape, it changes your thinking


Kumar Sangakkara

March 4, 2009




'Our families will never feel the same about us leaving to play in Pakistan' © AFP

As I dictate this article we are preparing to fly home. It's been a long day and we can't wait to return home to our families. We were shaken badly, obviously. Pakistan has a reputation for being unstable in the recent past, but we never expected to be caught up in something like this. I am still shocked that a sports team could be targeted in this manner.

We had always felt pretty safe in Pakistan, to be honest. It shows how naïve we were. We realise now that sports people and cricketers are not above being attacked. All the talk that "no one would target cricketers" seems so hollow now. Far from being untouchable, we are now prize targets for extremists. That's an uncomfortable reality we have to come to terms with.

Tuesday started as just another day in Lahore: a morning report to the fitness trainer to check our hydration levels, a quick breakfast and cup of coffee and an 8.30am departure to the ground. We were all looking forward to the third day's play and trying to win the series. Our chief concern was how to wheedle out 19 Pakistan wickets on another true batting pitch.

Our team bus left with three to four police cars in a convoy with around 12 policeman and security officers, including motorbike outriders. Along the route road junctions were cleared and side roads closed to ensure we passed through the traffic easily. It was standard security for teams in this region and we had no worries as we travelled to the stadium.

The bus was full of the normal banter. Players traded stories, mostly about Lahore shopping, and cracked jokes. Others chatted about the cricket and the crucial first session. Then, as we approached the large roundabout before the Gaddafi Stadium, we suddenly heard a noise like a firecracker. The bus came to a halt and some of the guys jumped out of their seats to see what was happening. Then came the shout: "They are shooting at us!"

From the front I heard the screams to "get down, get down" and we all hit the deck. Within seconds we are all sprawled along the floor, lying on top of each other and taking shelter below the seats. The gunfire became louder, we heard explosions (which I understand now were hand grenades) and bullets started to flash through the bus.

I was sitting next to Thilan Samaraweera and close to the young Tharanga Paranavitana. For some reason I moved my head to get a better view and a split second later I felt a bullet fizz past my ear into the vacant seat. Fortunately, as a team, we remained quite calm. No one panicked. After what must have been two minutes standing still, we urged the driver to make a run for the stadium just a few hundred metres away: "Go, go, go" we shouted.

The truth is we owe our lives to the courageous Mohammad Khalil, the driver. I will forever be grateful to him. The tyres of the bus had been shot out and he was in grave personal danger, exposed to gunfire at the front of the bus. But he was hell-bent on getting us to safety and, somehow, he got us moving again. Had Khalil not acted with such courage and presence of mind most of us would have been killed.

Standing still next to the roundabout we were sitting ducks for the 12 gunmen. We only found out afterwards that a rocket launcher just missed us as we began moving and turned for the stadium gates, the rocket blowing up an electricity pylon. Khalil saw a hand grenade tossed at us that failed to explode. Someone must have been looking over us because right now it seems a miracle we survived.

As we moved towards the stadium, Tharanga announced he was hit as he sat up holding his chest. He collapsed onto his seat and I feared the worst. Incredibly, the bullet hit his sternum at such an angle that it did not penetrate. He was fine. Shortly afterwards Thilan complained of a numbness in his leg, which we later found out was a bullet wound.

Thilan and Tharanga were the worst hit. Just before reaching safety I felt a dull ache in my shoulder. Shards of metal, shrapnel, were lodged in the muscle. After being quickly evacuated to the dressing room the paramedics attended to those with minor wounds. My cuts were cleaned. Ajantha Mendis had several shards of metal removed from his head and neck after his hair was shaved off. Paul Farbrace, our assistant coach, had a large piece of shrapnel removed from his arm. Mahela [Jayawardene] had a minor cut to his ankle. After a while we started to calm down, and the phones started ringing.

When the tour was first announced while we were playing in Bangladesh, we had discussed security concerns with the Sri Lanka cricket board. Our own board had originally asked for a longer tour, asking for two extra ODIs, but we requested a shortened tour, an independent assessment of the security situation, some security guarantees, and proper insurance covering terrorist attacks.




Standing still next to the roundabout we were sitting ducks for the 12 gunmen. We only found out afterwards that a rocket launcher just missed us as we began moving and turned for the stadium gates, the rocket blowing up an electricity pylon. Khalil saw a hand grenade tossed at us that failed to explode. Someone must have been looking over us because right now it seems a miracle we survived




We were promised "Head of State" security and we were satisfied with this. We also wanted to play cricket in Pakistan. Nevertheless, with hindsight, we probably underestimated the security threat. In future, we need to very seriously consider how best to better tackle the issue of security in a new post-Lahore reality. We need to consider a more centralised and independent system for assessing security and a more open sharing of security information, not just between boards but with FICA and the players.

From a Pakistan perspective, it is tragic this has happened. Pakistan is a great country with a strong cricket tradition and very hospitable people. We like playing cricket here, but the presence of a small minority pursuing their own agendas at any cost will surely prevent tours for the foreseeable future. I sincerely hope that a solution can be found with time but assume Pakistan will first need a neutral venue solution for their home games.

Will I go back? When you have been through what we have experienced, when you have been targeted by terrorists yourself and been so fortunate to escape, it changes your thinking. It is a big question which cannot be answered now. I suspect, too, for us it can only be answered as an individual. Our families will never feel the same about us leaving to play in Pakistan. That is sad - for Pakistan and world cricket.

Read More >>

Monday, February 23, 2009

Where in the World is Osama Bin Laden?



Where in the World is Osama Bin Laden?

February 19, 2009

Foreign Policy, which is now edited by my friend Susan Glasser, has gussied up its Web site with some smart, newsy blogs—its transparent ambition is to become the Politico of the national-security set. (Full disclosure: When the New America Foundation moves its offices in D.C., next week, Foreign Policy will become our tenants, but I hasten to add, in the spirit of nonprofit-dom, that we are billing them at cost.) Anyway, it is only today that I am catching up with a post from earlier this week on their Passport blog entitled, enticingly, "Osama bin Laden's current location."

The post has some very cool satellite photographs created by a U.C.L.A. geography professor, Thomas Gillespie, who has published a paper in M.I.T. International Review that purports to use "biogeographic data," such as Bin Laden's last known location, cultural background, and other factors, "to create a mathematical model that he claims will show where the terror mastermind is hiding.

090217_osamamap2.jpg

Gillespie's dot is likely in the right area, but the particular center of his concentric circles is not very convincing. First, his red dot is in Afghanistan, where U.S. troops and Special Forces hunting teams can operate freely, so that doesn't make much sense. Second, although Kurram is near Tora Bora (which is why the dot is there) the area has been pretty unstable of late; local Shia and Sunni tribes have been shelling one another, and sectarian tensions run high. Not a good place to hunker down.

The Christmas before last, I was given a book, published in Australia, called "Where in the World is Osama Bin Laden?" It's a picture book, in the style of "Where's Waldo?," that hides Osama in dense fields of bearded men in Paris, Sydney, London, etc. If you adhere to scientific method, you have to admit that nobody can say with high confidence where Osama is. He seems to issue his media tapes from along the Pakistan-Afghan border, but that doesn't mean he's really there. Perhaps he's living on the Rive Gauche and DHL-ing his tapes to Pakistan in the greatest deception operation in terrorist history.

More recently, and more seriously, I've tried to develop a sort of parlor-game exercise when talking informally with government officials who have had access to classified information about Osama's whereabouts since 9/11. I ask them a question. Suppose someone came in the room right now and said, "We've found him" or "We've killed him." We tell the informant, "Great, but stop—don't tell us where." Next, put a map of the world up on the wall, perhaps with Pakistan and Afghanistan in greatest relief. Each of us takes a pin and puts it on the map in the place that we think is closest to the location where Osama has been discovered—closest to the true place wins. So I then ask my government acquaintances, "Where would you put your pin?"

A striking number say they would put their pin in Bajaur, the tribal agency located farthest to the north. There have been reports in the past of sightings of Ayman Al-Zawahiri in Bajaur. Also, there was a sense, until recently, that among the Federally Administered Tribal Agencies, Bajaur was both well controlled by the Taliban and not much contested by the Pakistan Army. That has changed, however, as the Army recently has recently undertaken a ground-razing counterinsurgency campaign in Bajaur. If Osama was hunkered down there earlier, he may have moved.

I've stuck firmly to my own pin-placing hypothesis: Miran Shah, in North Waziristan. The argument against this guess is that the town and its environs are a relatively busy area with some Pakistan Army presence. The argument for it is that it's hardcore Taliban country controlled by the Haqqanni clan, which provided the territory and protection that Osama used to create Al Qaeda's very first training camps more than twenty years ago. Old friendships die hard in that part of the world.



Read More >>

Monday, February 16, 2009

WORLD RECORD 22 A in A-Levels


World Record !!

http://www.propakistani.com/wp-content/uploads/2009/02/ali_zeeshan.jpg


Ali Moeen Nawazish - An 18-year old wiz-kid from Rawalpindi wanted to get into Cambridge, so he sat in seven A-Levels exams in just one year - and secured 22 A-grades, one    B grade and a C!

The Urdu, English and Punjabi speaking wiz-kid is due to win another place - in the Guinness Book of Records. His Cambridge dream came true four months ago when he embarked on a computer science degree course at Trinity Hall. Ali also achieved a top score in the U.S. admissions test and was accepted by most Ivy League institutions, including Harvard and Yale.

When he filled out his university application forms at home in Rawalpindi there was barely enough space to list his qualifications. Ali finished all the exams within 12 months at Rawalpindi's Roots College International. His entry was organized through accredited boards Ed-Excel and Cambridge International Examinations.

Apart from core science subjects he is almost entirely self taught. He studied for up to 12 hours a day, using energy drinks to help concentrate. He said: 'Then one day it all clicked. I needed to prove to myself, and to others, that I could do it.'

via [Daily Mail UK]



Read More >>

Thursday, February 12, 2009

Is Peace Out Of Reach?

Has peace in the Middle East become nothing more than a pipe dream? As Bob Simon reports, a growing number of Israelis and Palestinians feel that a two-state solution is no longer possible.


Watch CBS Videos Online
Read More >>

Thursday, January 22, 2009

Mumbai Dance of the Devil



Mumbai: Dance Of The Devil

 

A Comprehensive Refutation of Indian Dossier Against Pakistan

Ahmed Quraishi


This is our counter attack against Indian psychological war against Pakistan. India's entire propaganda and lies have been exposed in this attached PDF document. Read and know for yourself things you never knew before. The entire Mumbai drama, its background, its motives and the players involved, with proof from their own sources, media and speeches. Circulate this far and wide and get it published wherever you can. This must be flooded on the web and passed to all contacts. Let the world see how big liars they are.

 

Full Report - Mumbai: Dance of the Devil


Read More >>

Government of Pakistan gives amnesty to corrupt politicians

Government of Pakistan gives amnesty to corrupt politicians

Karachi Pakistan, 07 October 2007 The National Reconciliation Ordinance 2007 is a negation of the UNCAC to which Pakistan is a Signatory

Karachi 6 October 2007: The National Reconciliation Ordinance (NRO) 2007 is a negation of the United Nations Convention Against Corruption (UNCAC) as well as the sprit of "Political Parties Pledge" to serve the people with the highest level of personal integrity, says Transparency International Pakistan.

Just 56 days after ratification of UNCAC by the President of Pakistan General Pervez Musharaf, the Federal Government on October 5th, 2007 promulgated NRO 2007. "This indeed is a setback and a reversal of anti-corruption initiatives adopted since 2002 under the National Anti Corruption strategy", said Chairman TI Pakistan, Syed Adil Gilani.

The amendment in NAB Ordinance for the procedure of arrest of sitting parliamentarian (quoted below), are great setbacks to the anticorruption efforts in Pakistan.

"Notwithstanding anything to the contrary in sub-section (1), the Federal Government or a Provincial Government may, before the judgment is pronounced by a trial court, withdraw from the prosecution of any person including an absconding accused who is found to be falsely involved for political reasons or through political victimization in any case initiated between 1st of January, 1986 to 12th of October, 1999 and upon such withdrawal clause (a) and clause (b) of sub-section (1) shall apply, and "Provided that no sitting Member of Parliament or a Provincial Assembly shall be arrested without taking into consideration the recommendations of the Special Parliamentary Committee on Ethics referred to in clause (aa) or Special Committee of the Provincial Assembly on Ethics referred to in clause (aaa) of section 24, respectively."


Syed Adil Gilani said that Pakistan has ratified the United Nations Convention against Corruption UNCAC on 9th August 2007, which states that:


"Parties to this Convention, concerned about the seriousness of problems and threats posed by corruption to the stability and security of societies, undermining the institutions and values of democracy, ethical values and justice and jeopardizing sustainable development and the rule of law. Concerned also about the links between corruption and other forms of crime, in particular organized crime and economic crime, including money-laundering, and concerned further about cases of corruption that involve vast quantities of assets, which may constitute a substantial proportion of the resources of states, and that threaten the political stability and sustainable development of those states."


Under the UNCAC Article 5, Preventive anti-corruption policies and practices Pakistan has committed that:


"Each State Party shall, in accordance with the fundamental principles of its legal system, develop and implement or maintain effective, coordinated anticorruption policies that promote the participation of society and reflect the principles of the rule of law, proper management of public affairs and public property, integrity, transparency and accountability, each State Party shall endeavour to establish and promote effective practices aimed at the prevention of corruption and each State Party shall endeavour to periodically evaluate relevant legal instruments and administrative measures with a view to determining their adequacy to prevent and fight corruption."


The Government of Pakistan in its National Anticorruption Strategy prepared in 2002 had blamed past governments of abuse of power in the following words:

"Sadly, the flagrant abuses of power by so many past public office holders, even when these office holders espoused anti-corruption and accountability, now undermines future attempts at tackling corruption. For example, as mentioned at section 3.2, the anti-corruption agencies were used as tools for political victimisation and many thus expect the NAB to engage in selective accountability. There is a fear of the accountability processes crashing unless buffered from political influences in the future setup. As outlined at section 3.2, previous attempts at tackling corruption have lacked political backing and have originated only from government source without the involvement of other parts of the national integrity system. The risk of unreconstructed political will is now the greatest threat to the successful achievement of the NACS goals." The lack of political will of the present government has undermined the goals of NACS, he added.


The chairman of TI Pakistan said that the NRO 2007 is against the sprit of the "Political Parties Pledge to the People of Pakistan" which was signed by the Leaders of all Political Parties, PML(Q), PML (N), PPP(S), PTI, MQM, PNA(P), SDA, Millat Party and JI, including the President of Pakistan, the Ministers of Government and all participants on 19th September 2002 at the National Convention organized by Transparency International at Convention Centre Islamabad. It states: "All the parties solemnly pledge to the people of Pakistan that after the elections, and when the new government is sworn in, we will meet again to determine a united front against an evil that is undermining the future of our country and which is one that transcends the divides of political parties and persuasions, and on a personal level. Each of us gives our individual pledge that we are dedicated to serving the people of our country with the highest levels of personal integrity. It also said that AWARE that the corruption crisis must be tackled openly by all, we invite every fellow citizen, to unite with us in a determination to rid our country once and for all of the corruption that has so retarded our country's economic and social progress at home and marred our international image abroad."


In 1997 Pakistan and India on CPI were 5th and 8th most corrupt countries out of 52 countries, and in 2007 this gap has substantially increased to 42nd and 106th most corrupt countries out of 180 countries. TI Pakistan believes in the Slogan that "Pakistan comes first" , but feels that unless legislators, Judiciary, Executive and the Civil Society plays their role in a just and impartial manner, the country will continue to be at the lowest level of corruption in the Transparency International Corruption Perception Index, CPI.

For the source of the article follow http://www.ti-israel.org/Index.asp?ArticleID=1106&CategoryID=92&Page=9
Read More >>

Obama retakes oath of office after Roberts' mistake

WASHINGTON (CNN) -- President Obama retook his oath of office Wednesday after Chief Justice John Roberts flubbed while delivering it at Tuesday's inauguration.

President Barack Obama takes the oath of office -- his second in two days -- in the White House on Wednesday.

President Barack Obama takes the oath of office -- his second in two days -- in the White House on Wednesday.

Click to view previous image
1 of 2
Click to view next image

The second oath -- also administered by Roberts -- took place at 7:35 p.m. Wednesday in the White House's Map Room. Roberts asked Obama whether he was ready.

"I am, and we're going to do it very slowly," Obama replied.

The do-over was aimed at dispelling any confusion that might arise from Tuesday's take -- in which "faithfully" was said out of sequence -- and erase any question that Obama is legally the president.

However, per the Constitution, Obama became president at noon Tuesday without taking the oath.

"We believe that the oath of office was administered effectively and that the president was sworn in appropriately yesterday," White House counsel Greg Craig said Wednesday in a written statement.

"But the oath appears in the Constitution itself. And out of an abundance of caution, because there was one word out of sequence, Chief Justice Roberts administered the oath a second time," the statement read. Video Watch Tuesday's oath »

On Tuesday, Roberts, apparently working without a copy of the oath handy on the Capitol steps, started out by reciting a six-word phrase, but Obama broke in halfway through and repeated the first three.

That seemed to throw the chief justice off stride, and he proceeded to mix up the order of the words in the next phrase.

The Constitution sets out the language that should be used in the oath: "I do solemnly swear (or affirm) that I will faithfully execute the Office of President of the United States, and will to the best of my ability, preserve, protect and defend the Constitution of the United States."

Roberts moved the word "faithfully" back nine spots, and used "to" instead of "of." That threw the president off base, and he smiled and paused to collect his thoughts, then decided to follow Roberts' lead.

But the chief justice at the same time attempted to correct himself.

Here's how Tuesday's oath went:

Roberts: ... that I will execute the office of president to the United States faithfully ...

Obama: ... that I will execute ...

Roberts: ... the off -- faithfully the pres -- the office of president of the United States ...

Obama (at the same time): ... the office of president of the United States faithfully ...

The two got the rest correct, including the nonobligatory "So help you God?" "So help me God."

Reporters, bloggers and others weighed in on the flub. The New York Post offered this headline: "Roberts is the Oaf of Office."

A Washington Post reader complained in a letter to the editor: "What could have been a moment for the ages was marred by Mr. Roberts' thoughtlessness. News outlets will report that the first words of our new president were "confused." Whether through design or an amazing lack of preparation, Justice Roberts's behavior was a disgrace."

And Fox News anchor Chris Wallace said: "We're wondering here whether or not Barack Obama in fact is the president of the United States. They had a kind of garbled oath. It's just conceivable that this will end up going to the courts."

In a congressional luncheon after Tuesday's swear-in, Roberts and Obama exchanged words, and the chief justice appeared to tell the president, "It was my fault."

Before Wednesday's do-over at the White House, Obama, waiting on a couch, joked that "we decided it was so much fun ... "

Though a Bible was used in Tuesday's oath, one was not used for Wednesday's.

After a flawless recitation, Roberts smiled and said, "Congratulations again."


"Thank you, sir," the president replied. After a smattering of applause, Obama quipped that "the bad news for the [press] pool is there's 12 more balls."

Roberts has made no public comment on becoming tongue-tied Tuesday.


For source of the new please follow the link http://www.cnn.com/2009/POLITICS/01/21/obama.oath/index.html
Read More >>

Wednesday, January 21, 2009

Introduction to the Standard Template Library

Introduction to the Standard Template Library

The Standard Template Library, or STL, is a C++ library of container classes, algorithms, and iterators; it provides many of the basic algorithms and data structures of computer science. The STL is a generic library, meaning that its components are heavily parameterized: almost every component in the STL is a template. You should make sure that you understand how templates work in C++ before you use the STL.

Containers and algorithms

Like many class libraries, the STL includes container classes: classes whose purpose is to contain other objects. The STL includes the classes vector, list, deque, set, multiset, map, multimap, hash_set, hash_multiset, hash_map, and hash_multimap. Each of these classes is a template, and can be instantiated to contain any type of object. You can, for example, use a vector<int> in much the same way as you would use an ordinary C array, except that vector eliminates the chore of managing dynamic memory allocation by hand.

      vector<int> v(3);            // Declare a vector of 3 elements.
v[0] = 7;
v[1] = v[0] + 3;
v[2] = v[0] + v[1]; // v[0] == 7, v[1] == 10, v[2] == 17

The STL also includes a large collection of algorithms that manipulate the data stored in containers. You can reverse the order of elements in a vector, for example, by using the reverse algorithm.

      reverse(v.begin(), v.end()); // v[0] == 17, v[1] == 10, v[2] == 7

There are two important points to notice about this call to reverse. First, it is a global function, not a member function. Second, it takes two arguments rather than one: it operates on a range of elements, rather than on a container. In this particular case the range happens to be the entire container v.

The reason for both of these facts is the same: reverse, like other STL algorithms, is decoupled from the STL container classes. This means that reverse can be used not only to reverse elements in vectors, but also to reverse elements in lists, and even elements in C arrays. The following program is also valid.

      double A[6] = { 1.2, 1.3, 1.4, 1.5, 1.6, 1.7 };
reverse(A, A + 6);
for (int i = 0; i < 6; ++i)
cout << "A[" << i << "] = " << A[i];

This example uses a range, just like the example of reversing a vector: the first argument to reverse is a pointer to the beginning of the range, and the second argument points one element past the end of the range. This range is denoted [A, A + 6); the asymmetrical notation is a reminder that the two endpoints are different, that the first is the beginning of the range and the second is one past the end of the range.

Iterators

In the example of reversing a C array, the arguments to reverse are clearly of type double*. What are the arguments to reverse if you are reversing a vector, though, or a list? That is, what exactly does reverse declare its arguments to be, and what exactly do v.begin() and v.end() return?

The answer is that the arguments to reverse are iterators, which are a generalization of pointers. Pointers themselves are iterators, which is why it is possible to reverse the elements of a C array. Similarly, vector declares the nested types iterator and const_iterator. In the example above, the type returned by v.begin() and v.end() is vector<int>::iterator. There are also some iterators, such as istream_iterator and ostream_iterator, that aren't associated with containers at all.

Iterators are the mechanism that makes it possible to decouple algorithms from containers: algorithms are templates, and are parameterized by the type of iterator, so they are not restricted to a single type of container. Consider, for example, how to write an algorithm that performs linear search through a range. This is the STL's find algorithm.

      template <class InputIterator, class T>
InputIterator find(InputIterator first, InputIterator last, const T& value) {
while (first != last && *first != value) ++first;
return first;
}

Find takes three arguments: two iterators that define a range, and a value to search for in that range. It examines each iterator in the range [first, last), proceeding from the beginning to the end, and stops either when it finds an iterator that points to value or when it reaches the end of the range.

First and last are declared to be of type InputIterator, and InputIterator is a template parameter. That is, there isn't actually any type called InputIterator: when you call find, the compiler substitutes the actual type of the arguments for the formal type parameters InputIterator and T. If the first two arguments to find are of type int* and the third is of type int, then it is as if you had called the following function.

      int* find(int* first, int* last, const int& value) {
while (first != last && *first != value) ++first;
return first;
}

Concepts and Modeling

One very important question to ask about any template function, not just about STL algorithms, is what the set of types is that may correctly be substituted for the formal template parameters. Clearly, for example, int* or double* may be substituted for find's formal template parameter InputIterator. Equally clearly, int or double may not: find uses the expression *first, and the dereference operator makes no sense for an object of type int or of type double. The basic answer, then, is that find implicitly defines a set of requirements on types, and that it may be instantiated with any type that satisfies those requirements. Whatever type is substituted for InputIterator must provide certain operations: it must be possible to compare two objects of that type for equality, it must be possible to increment an object of that type, it must be possible to dereference an object of that type to obtain the object that it points to, and so on.

Find isn't the only STL algorithm that has such a set of requirements; the arguments to for_each and count, and other algorithms, must satisfy the same requirements. These requirements are sufficiently important that we give them a name: we call such a set of type requirements a concept, and we call this particular concept Input Iterator. We say that a type conforms to a concept, or that it is a model of a concept, if it satisfies all of those requirements. We say that int* is a model of Input Iterator because int* provides all of the operations that are specified by the Input Iterator requirements.

Concepts are not a part of the C++ language; there is no way to declare a concept in a program, or to declare that a particular type is a model of a concept. Nevertheless, concepts are an extremely important part of the STL. Using concepts makes it possible to write programs that cleanly separate interface from implementation: the author of find only has to consider the interface specified by the concept Input Iterator, rather than the implementation of every possible type that conforms to that concept. Similarly, if you want to use find, you need only to ensure that the arguments you pass to it are models of Input Iterator. This is the reason why find and reverse can be used with lists, vectors, C arrays, and many other types: programming in terms of concepts, rather than in terms of specific types, makes it possible to reuse software components and to combine components together.

Refinement

Input Iterator is, in fact, a rather weak concept: that is, it imposes very few requirements. An Input Iterator must support a subset of pointer arithmetic (it must be possible to increment an Input Iterator using prefix and postfix operator++), but need not support all operations of pointer arithmetic. This is sufficient for find, but some other algorithms require that their arguments satisfy additional requirements. Reverse, for example, must be able to decrement its arguments as well as increment them; it uses the expression --last. In terms of concepts, we say that reverse's arguments must be models of Bidirectional Iterator rather than Input Iterator.

The Bidirectional Iterator concept is very similar to the Input Iterator concept: it simply imposes some additional requirements. The types that are models of Bidirectional Iterator are a subset of the types that are models of Input Iterator: every type that is a model of Bidirectional Iterator is also a model of Input Iterator. Int*, for example, is both a model of Bidirectional Iterator and a model of Input Iterator, but istream_iterator, is only a model of Input Iterator: it does not conform to the more stringent Bidirectional Iterator requirements.

We describe the relationship between Input Iterator and Bidirectional Iterator by saying that Bidirectional Iterator is a refinement of Input Iterator. Refinement of concepts is very much like inheritance of C++ classes; the main reason we use a different word, instead of just calling it "inheritance", is to emphasize that refinement applies to concepts rather than to actual types.

There are actually three more iterator concepts in addition to the two that we have already discussed: the five iterator concepts are Output Iterator, Input Iterator, Forward Iterator, Bidirectional Iterator, and Random Access Iterator; Forward Iterator is a refinement of Input Iterator, Bidirectional Iterator is a refinement of Forward Iterator, and Random Access Iterator is a refinement of Bidirectional Iterator. (Output Iterator is related to the other four concepts, but it is not part of the hierarchy of refinement: it is not a refinement of any of the other iterator concepts, and none of the other iterator concepts are refinements of it.) The Iterator Overview has more information about iterators in general.

Container classes, like iterators, are organized into a hierarchy of concepts. All containers are models of the concept Container; more refined concepts, such as Sequence and Associative Container, describe specific types of containers.

Other parts of the STL

If you understand algorithms, iterators, and containers, then you understand almost everything there is to know about the STL. The STL does, however, include several other types of components.

First, the STL includes several utilities: very basic concepts and functions that are used in many different parts of the library. The concept Assignable, for example, describes types that have assignment operators and copy constructors; almost all STL classes are models of Assignable, and almost all STL algorithms require their arguments to be models of Assignable.

Second, the STL includes some low-level mechanisms for allocating and deallocating memory. Allocators are very specialized, and you can safely ignore them for almost all purposes.

Finally, the STL includes a large collection of function objects, also known as functors. Just as iterators are a generalization of pointers, function objects are a generalization of functions: a function object is anything that you can call using the ordinary function call syntax. There are several different concepts relating to function objects, including Unary Function (a function object that takes a single argument, i.e. one that is called as f(x)) and Binary Function (a function object that takes two arguments, i.e. one that is called as f(x, y)). Function objects are an important part of generic programming because they allow abstraction not only over the types of objects, but also over the operations that are being performed.

For the source of the article please follow the link http://www.sgi.com/tech/stl/stl_introduction.html

Read More >>