2010年9月25日星期六

But the revelations of widespread prisoner abuse

Wal-Mart priced it at $2.97--a year's supply of pickles for less than $3! "They were using it as a 'statement' item," says Pat Hunn, who calls himself the "mad scientist" of Vlasic's gallon jar. "Wal-Mart was putting it before consumers, saying, This represents what Wal-Mart's about. You can buy a stinkin' gallon of pickles for $2.97. And it's the nation's number-one brand."

Therein lies the basic conundrum of doing business with the world's largest retailer. By selling a gallon of kosher dills for less than most grocers sell a quart, Wal-Mart may have provided a ser-vice for its customers. But what did it do for Vlasic? The pickle maker had spent decades convincing customers that they should pay a premium for its brand. Now Wal-Mart was practically giving them away. And the fevered buying spree that resulted distorted every aspect of Vlasic's operations, from farm field to factory to financial statement.

Indeed, as Vlasic discovered, the real story of Wal-Mart, the story that never gets told, is the story of the pressure the biggest retailer relentlessly applies to its suppliers in the name of bringing us "every day low prices." It's the story of what that pressure does to the companies Wal-Mart does business with, to U.S. manufacturing, and to the economy as a whole. That story can be found floating in a gallon jar of pickles at Wal-Mart.

The existence and locations of the facilities -- referred to as "black sites" in classified White House, CIA, Justice Department and congressional documents -- are known to only a handful of officials in the United States and, usually, only to the president and a few top intelligence officers in each host country.

The CIA and the White House, citing national security concerns and the value of the program, have dissuaded Congress from demanding that the agency answer questions in open testimony about the conditions under which captives are held. Virtually nothing is known about who is kept in the facilities, what interrogation methods are employed with them, or how decisions are made about whether they should be detained or for how long.

While the Defense Department has produced volumes of public reports and testimony about its detention practices and rules after the abuse scandals at Iraq's Abu Ghraib prison and at Guantanamo Bay, the CIA has not even acknowledged the existence of its black sites. To do so, say officials familiar with the program, could open the U.S. government to legal challenges, particularly in foreign courts, and increase the risk of political condemnation at home and abroad.

But the revelations of widespread prisoner abuse in Afghanistan and Iraq by the U.S. military -- which operates under published rules and transparent oversight of Congress -- have increased concern among lawmakers, foreign governments and human rights groups about the opaque CIA system. Those concerns escalated last month, when Vice President Cheney and CIA Director Porter J. Goss asked Congress to exempt CIA employees from legislation already endorsed by 90 senators that would bar cruel and degrading treatment of any prisoner in U.S. custody.

The entertainment system was belting out the Beatles' "We Can Work It Out" when the phone rang. When Pete answered, his phone turned the sound down by sending a message to all the other local devices that had a volume control. His sister, Lucy, was on the line from the doctor's office: "Mom needs to see a specialist and then has to have

a series of physical therapy sessions. Biweekly or something. I'm going to have my agent set up the appointments." Pete immediately agreed to share the chauffeuring.

So the core problem is how do we assemble

So you've got a web page. You’ve marked it up with structural XHTML. You’ve also been a good little web developer and used style sheets to control what your document looks like. You’ve even gone the extra mile and created several alternative style sheets to show how hardcore you are.

Great. But now you need a cross-browser way to dynamically switch between the style sheets.

Styling your site
Style sheets can be associated with documents using a list of link elements in the head. There are three different relationships external style sheets can have with the document: persistent, preferred, and alternate.

Persistent
These style sheets are always enabled (they are always “on”) and are combined with the active style sheet. They can be used for shared rules common to every style sheet. To make a style sheet persistent, the rel attribute is set to “stylesheet” and no title attribute is set.

To make the style sheet paul.css persistent, the following link element would be included in the head:
Figure 1 shows the dependencies for this situation. The MovieLister class is dependent on both the MovieFinder interface and upon the implementation. We would prefer it if it were only dependent on the interface, but then how do we make an instance to work with?

In my book P of EAA, we described this situation as a Plugin. The implementation class for the finder isn't linked into the program at compile time, since I don't know what my friends are going to use. Instead we want my lister to work with any implementation, and for that implementation to be plugged in at some later point, out of my hands. The problem is how can I make that link so that my lister class is ignorant of the implementation class, but can still talk to an instance to do its work.

Expanding this into a real system, we might have dozens of such services and components. In each case we can abstract our use of these components by talking to them through an interface (and using an adapter if the component isn't designed with an interface in mind). But if we wish to deploy this system in different ways, we need to use plugins to handle the interaction with these services so we can use different implementations in different deployments.

So the core problem is how do we assemble these plugins into an application? This is one of the main problems that this new breed of lightweight containers face, and universally they all do it using Inversion of Control.

Where the Articles are down at the bottom of

The name of the implementation class comes from the fact that I'm getting my list from a colon delimited text file. I'll spare you the details, after all the point is just that there's some implementation.

Now if I'm using this class for just myself, this is all fine and dandy. But what happens when my friends are overwhelmed by a desire for this wonderful functionality and would like a copy of my program? If they also store their movie listings in a colon delimited text file called "movies1.txt" then everything is wonderful. If they have a different name for their movies file, then it's easy to put the name of the file in a properties file. But what if they have a completely different form of storing their movie listing: a SQL database, an XML file, a web service,

Steve Dobbins has been bearing the brunt of that switch. He's president and CEO of Carolina Mills, a 75-year-old North Carolina company that supplies thread, yarn, and textile finishing to apparel makers--half of which supply Wal-Mart. Carolina Mills grew steadily until 2000. But in the past three years, as its customers have gone either overseas or out of business, it has shrunk from 17 factories to 7, and from 2,600 employees to 1,200. Dobbins's customers have begun to face imported clothing sold so cheaply to Wal-Mart that they could not compete even if they paid their workers nothing.

"People ask, 'How can it be bad for things to come into the U.S. cheaply? How can it be bad to have a bargain at Wal-Mart?' Sure, it's held inflation down, and it's great to have bargains," says Dobbins. "But you can't buy anything if you're not employed. We are shopping ourselves out of jobs."
or just another format of text file? In this case we need a different class to grab that data. Now because I've defined a MovieFinder interface, this won't alter my moviesDirectedBy method. But I still need to have some way to get an instance of the right finder implementation into place.

Welcome to Article Down, we have articles about thousands of various topics. News articles are available also. If you are looking for an article on anything, try us first. We may have your article of choice, and we hope we do, but remember, we are much more than "just" an article directory. We have a huge collection to explore. Bookmark us and check back often for new material. Sign up and post an article or link to us.

"Where the Articles are down at the bottom of the page and there is alot to do."

All the content here is fresh and unique and new articles are submitted daily. If you are an author and would like to submit to our directory feel free to sign up by clicking on "sign up" under new members.

Now we can change the style sheet

Now we can change the style sheet. Cool. We have a more personalized page. Excellent. But we don’t have a personalized site. The preference is only applied to the current page; when we leave the current page the preference leaves with us. This situation, however, can be rectified with a cookie.

To store a cookie we need another function to return the current style sheet. We also need two functions to store and read the cookie.

The implementation of this function is naive in the extreme, it asks a finder object (which we'll get to in a moment) to return every film it knows about. Then it just hunts through this list to return those directed by a particular director. This particular piece of naivety I'm not going to fix, since it's just the scaffolding for the real point of this article.

The real point of this article is this finder object, or particularly how we connect the lister object with a particular finder object. The reason why this is interesting is that I want my wonderful moviesDirectedBy method to be completely independent of how all the movies are being stored. So all the method does is refer to a finder, and all that finder does is know how to respond to the findAll method. I can bring this out by defining an interface for the finder.


First we loop through all the link elements in the document again. We then check whether the link is a style sheet. If it is, we check whether the style sheet has a title. This tells us that the style sheet is either preferred or alternative.

The last check is to see whether or not the style sheet is active. If all three checks return true, we have the current style sheet and we can return the title.

There is a w3c specified DOM Level 2 attribute, “disabled,” that is set to false when a style sheet is applied to the document. This attribute is correctly implemented in Mozilla, but unfortunately not in MSIE.

MSIE does have a proprietary HTML attribute, also called “disabled,” that applies to link elements. This attribute is initially set to false for all link elements.

To set the MSIE disabled attribute to match the DOM Level 2 disabled attribute, we can call the setActiveStyleSheet() function with the name of the preferred style sheet.

To find out which style sheet is the preferred style sheet, we need another function. Because this function is so similar to the getActiveStyleSheet() function I’m not going to explain how it works, but here is what it may look like:

Indeed, as Vlasic discovered

Indeed, as Vlasic discovered, the real story of Wal-Mart, the story that never gets told, is the story of the pressure the biggest retailer relentlessly applies to its suppliers in the name of bringing us "every day low prices." It's the story of what that pressure does to the companies Wal-Mart does business with, to U.S. manufacturing, and to the economy as a whole. That story can be found floating in a gallon jar of pickles at Wal-Mart.

When a document is initially loaded, the persistent and preferred style sheets are applied to the document. The alternate style sheets can then be selected by the user. The W3C tells us that the browser should give us a choice of the style sheet we want to use, and suggests that perhaps a drop–down menu or tool bar will be provided.

So far, so good. We have several style sheets and the visitor can choose their favorite from a menu. But then we encounter a problem. A major one. Mozilla provides a menu to select the style sheet we want to use under the view menu item. But Microsoft Internet Explorer (MSIE) provides no such menu. So we have several style sheets, and no way to access them in MSIE.

Here’s where a little bit of JavaScript can be used along with the DOM to provide a way for MSIE and Mozilla users to select the style sheet they want to use. Their preference can also be stored in a cookie. And because we are using the link tags as the W3C tells us to, the JavaScript doesn’t interfere with the menu in Mozilla, and it degrades very gracefully.


Wal-Mart is not just the world's largest retailer. It's the world's largest company--bigger than ExxonMobil, General Motors, and General Electric. The scale can be hard to absorb. Wal-Mart sold $244.5 billion worth of goods last year. It sells in three months what

number-two retailer Home Depot sells in a year. And in its own category of general merchandise and groceries, Wal-Mart no longer has any real rivals. It does more business than Target, Sears, Kmart, J.C. Penney, Safeway, and Kroger combined. "Clearly," says Edward Fox, head of Southern Methodist University's J.C. Penney Center for Retailing Excellence, "Wal-Mart is more powerful than any retailer has ever been." It is, in fact, so big and so furtively powerful as to have become an entirely different order of corporate being.

Wal-Mart wields its power for just one purpose: to bring the lowest possible prices to its customers. At Wal-Mart, that goal is never reached. The retailer has a clear policy for suppliers: On basic products that don't change, the price Wal-Mart will pay, and will charge shoppers, must drop year after year. But what almost no one outside the world of Wal-Mart and its 21,000 suppliers knows is the high cost of those low prices. Wal-Mart has the power to squeeze profit-killing concessions from vendors. To survive in the face of its pricing demands, makers of everything from bras to bicycles to blue jeans have had to lay off employees and close U.S. plants in favor of outsourcing products from overseas.

Of course, U.S. companies have been moving jobs offshore for decades, long before Wal-Mart was a retailing power. But there is no question that the chain is helping accelerate the loss of American jobs to low-wage countries such as China. Wal-Mart, which in the late 1980s and early 1990s trumpeted its claim to "Buy American," has doubled its imports from China in the past five years alone, buying some $12 billion in merchandise in 2002. That's nearly 10% of all Chinese exports to the United States.

One way to think of Wal-Mart is as a vast pipeline that gives non-U.S. companies direct access to the American market. "One of the things that limits or slows the growth of imports is the cost of establishing connections and networks," says Paul Krugman, the Princeton University economist. "Wal-Mart is so big and so centralized that it can all at once hook Chinese and other suppliers into its digital system. So--wham!--you have a large switch to overseas sourcing in a period quicker than under the old rules of retailing."

Wal-Mart priced it at $2.97--a year's

These style sheets are enabled by default (they are “on” when the page is loaded). They can then be disabled if the user selects an alternate style sheet.

To make a style sheet preferred, the rel attribute is set to “stylesheet” and the style sheet is named with the title attribute.

Several preferred style sheets can be grouped together by giving them identical title attributes. These grouped style sheets are then all enabled and disabled together. If more than one group of preferred style sheets are declared, the first group takes precedence.

To make paul.css preferred, a title attribute is added, giving the default style a name.
Components and Services
The topic of wiring elements together drags me almost immediately into the knotty terminology problems that surround the terms service and component. You find long and contradictory articles on the definition of these things with ease. For my purposes here are my current uses of these overloaded terms.

I use component to mean a glob of software that's intended to be used, without change, by application that is out of the control of the writers of the component. By 'without change' I mean that the using application doesn't change the source code of the components, although they may alter the component's behavior by extending it in ways allowed by the component writers.

A gallon-sized jar of whole pickles is something to behold. The jar is the size of a small aquarium. The fat green pickles, floating in swampy juice, look reptilian, their shapes exaggerated by the glass. It weighs 12 pounds, too big to carry with one hand. The gallon jar of pickles is a display of abundance and excess; it is entrancing, and also vaguely unsettling. This is the product that Wal-Mart fell in love with: Vlasic's gallon jar of pickles.

Wal-Mart priced it at $2.97--a year's supply of pickles for less than $3! "They were using it as a 'statement' item," says Pat Hunn, who calls himself the "mad scientist" of Vlasic's gallon jar. "Wal-Mart was putting it before consumers, saying, This represents what Wal-Mart's about. You can buy a stinkin' gallon of pickles for $2.97. And it's the nation's number-one brand."

Therein lies the basic conundrum of doing business with the world's largest retailer. By selling a gallon of kosher dills for less than most grocers sell a quart, Wal-Mart may have provided a ser-vice for its customers. But what did it do for Vlasic? The pickle maker had spent decades convincing customers that they should pay a premium for its brand. Now Wal-Mart was practically giving them away. And the fevered buying spree that resulted distorted every aspect of Vlasic's operations, from farm field to factory to financial statement.


A service is similar to a component in that it's used by foreign applications. The main difference is that I expect a component to be used locally (think jar file, assembly, dll, or a source import). A service will be used remotely through some remote interface, either synchronous or asynchronous (eg web service, messaging system, RPC, or socket.)

I mostly use service in this article, but much of the same logic can be applied to local components too. Indeed often you need some kind of local component framework to easily access a remote service. But writing "component or service" is tiring to read and write, and services are much more fashionable at the moment.

Lovable was already feeling intense cost pressure

In the years since Mariotti left Huffy, the bike maker's relationship with Wal-Mart has been vital (though Huffy Corp. has lost money in three out of the last five years). It is the number-three seller of bikes in the United States. And Wal-Mart is the number-one retailer of bikes. But here's one last statistic about bicycles: Roughly 98% are now imported from places such as China, Mexico, and Taiwan. Huffy made its last bike in the United States in 1999.

As Mariotti says, Wal-Mart is tough as nails. But not every supplier agrees that the toughness is always accompanied by fairness. The Lovable Company was founded in 1926 by the grandfather of Frank Garson II, who was Lovable's last president. It did business with Wal-Mart, Garson says, from the earliest days of founder Sam Walton's first store in Bentonville, Arkansas. Lovable made bras and lingerie, supplying retailers that also included Sears and Victoria's Secret. At one point, it was the sixth-largest maker of intimate apparel in the United States, with 700 employees in this country and another 2,000 at eight factories in Central America.

Eventually Wal-Mart became Lovable's biggest customer. "Wal-Mart has a big pencil," says Garson. "They have such awesome purchasing power that they write their own ticket. If they don't like your prices, they'll go vertical and do it themselves--or they'll find someone that will meet their terms."

In the summer of 1995, Garson asserts, Wal-Mart did just that. "They had awarded us a contract, and in their wisdom, they changed the terms so dramatically that they really reneged." Garson, still worried about litigation, won't provide details. "But when you lose a customer that size, they are irreplaceable."
So you've got a web page. You’ve marked it up with structural XHTML. You’ve also been a good little web developer and used style sheets to control what your document looks like. You’ve even gone the extra mile and created several alternative style sheets to show how hardcore you are.

Great. But now you need a cross-browser way to dynamically switch between the style sheets.

Styling your site
Style sheets can be associated with documents using a list of link elements in the head. There are three different relationships external style sheets can have with the document: persistent, preferred, and alternate.

Persistent
These style sheets are always enabled (they are always “on”) and are combined with the active style sheet. They can be used for shared rules common to every style sheet. To make a style sheet persistent, the rel attribute is set to “stylesheet” and no title attribute is set.

To make the style sheet paul.css persistent, the following link element would be included in the head:


Lovable was already feeling intense cost pressure. Less than three years after Wal-Mart pulled its business, in its 72nd year, Lovable closed. "They leave a lot to be desired in the way they treat people," says Garson. "Their actions to pulverize people are unnecessary. Wal-Mart chewed us up and spit us out."