text:
Mideast Isn't Seen in Left-Right Terms
http://www.danielpipes.org/1069/mideast-isnt-seen-in-left-right-terms
Translations of this item:
[For the full version of this argument, see "Breaking All the Rules: The Middle East in U.S. Policy," International Security, Fall 1984.)
The usual debate is not taking place after the recent tragedy in Lebanon. The bombing of the U.S. Embassy annex does not cause conservatives and liberals to take up standard positions. The former hesitate before ascribing blame on the Soviet Union, the latter do not dwell on American mistakes.
This reticence was even more apparent in the discussion during 1983 over the presence of U.S. Marines in Lebanon. At that time, conservatives did not call for standing by the government of Amin Gemayel as a U.S. ally, they did not emphasize the riches Lebanon gained through its laissez-faire economy, nor did they blame Lebanon's problems on Soviet mischief. As for liberals, they did not blame Lebanon's problems on unequal distribution of wealth, call for land reform, sympathize with the rebel forces, contest the validity of parliamentary elections, hold the authorities responsible for human-rights outrages, or—despite its control over less than 1% of the country's territory—contest the legitimacy of the central government. In short, neither side put forth its predictable ideological arguments.
Rather, conservatives and liberals debated among themselves about practical matters. Some Republicans hesitated to support a military undertaking in a complex situation where the U.S. had no clear vital interests. In contrast, a number of Democrats believed that an American commitment on the ground in the Middle East would help with other issues in the region. Aid to Lebanon appeared in American eyes humanitarian more than ideological; U.S. soldiers were seen to help end anarchy and for once enjoyed the role of peacekeepers, not partisans.
This particular case illustrates a large point: The Middle East stands outside the great debate of American foreign policy since World War II—the disagreement over the danger posed by the U.S.S.R. Conflicting assessments of the Soviet threat in turn determine how an American views issues in Central America, Western Europe, South Africa, East Asia and elsewhere. Only in the Middle East is the U.S.S.R. not the critical debate. Political discussion there is dominated by an entirely different and wholly unrelated dichotomy—the Arab-Israeli dispute.
Conservatism does not predispose an American to favor one side, nor does liberalism. Indeed, all four possible combinations are well represented in mainstream American politics: conservative pro-Arab, conservative pro-Israel, liberal pro-Arab, and liberal pro-Israel. Conservatives friendly to Israel note the country's usefulness against the Soviet Union; pro-Israel liberals note its democracy and high moral standards. Pro-Arab conservatives stress the importance of oil and business ties; liberals friendly to the Arabs emphasize the suffering of the Palestinians.
Columnists, for example, span the four categories. Among those who are pro-Arab, Rowland Evans is conservative and Anthony Lewis is a liberal; among the pro-Israel columnists are the conservative George Will and the liberal Morton Kondracke. Journals of opinion divide in similar ways: the National Review is conservative and pro-Israel, while The New Republic is liberal and pro-Israel. Among newspapers, the conservative Chicago Tribune and the liberal Christian Science Monitor are pro-Arab; the conservative Wall Street Journal and the liberal New York Times are pro-Israel. Among think tanks, the conservative American Enterprise Institute and the liberal Carnegie Endowment are pro-Arab, whereas the conservative Heritage Foundation is pro-Israel.
Prominent figures who have taken pronounced stands on the Arab-Israeli issue come from all points of the political landscape. For example, the pro-Arab side includes conservatives Spiro Agnew, John Connolly and Caspar Weinberger; liberals J. William Fulbright, Andrew Young and George Ball; radicals Noam Chomsky and Jesse Jackson.
Conservative businessmen and liberal Democratic senators running for president agree that it is natural and logically consistent that to be conservative is to be pro-Arab and to be liberal is to be pro-Israel. Radical editors of the Nation and the neoconservative editors of Commentary agree on precisely the opposite alignment. At the same time, conservatives and liberals tend to cooperate on Middle East issues; the pro-Arab and pro-Israel lobbies are probably the most thoroughly bipartisan efforts on Capitol Hill.
Why are politics in the Middle East an issue apart, unrelated to the dominant debate in American foreign policy? Of the many reasons, the most important concern is the financial and religious interests of Americans in the Middle East. Trade in oil, the largest and most profitable industry in the world, offers extraordinary opportunities for financial gain—and Arab states dominate its export. Good relations between oil-exporting states and the U.S. are seen as critical to successful business dealings, and this in turn is seen as a function of attitudes toward the Arab-Israel conflict.
As for religion, it is the very key to understanding American feeling about Middle East politics. Monotheism originated in the Middle East, a fact that permanently endows the region with special significance. The interest of American Jews in the Middle East is self-evident; most Jews consider their standing as a people to be bound up with the State of Israel. Christian concern with events there is less direct but also powerful. As the birthplace of Christianity and the home of the early church, the Holy Land is a special place for every believer. The Middle East may be remote, exotic and incomprehensible, but it is not alien and it is never without interest.
That the Middle East does not fit into the usual ideological categories has major implications for the formation and execution of U.S. policy. While every administration enters office with an articulated point of view on the Soviet Union, the Middle East, for all the attention paid it, is seen as far less important; with few exceptions, American voters do not select a candidate with the Arab-Israel conflict in mind. A newly elected president will have received a mandate for an approach to relations with the U.S.S.R. but does not have one for the Middle East. What policies he chooses to pursue there are very much in question after he wins the election.
Personnel decisions have greater impact on policy because political appointees have no generally shared viewpoint regarding the Middle East. The president-elect selects his foreign-policy aides primarily with an eye to East-West issues and without much regard to their views on the Arabs and Israel; how they feel about the Middle East is therefore a matter of chance. The absence of a consensus on the Middle East implies greater contention in formulating policy. Every administration typically includes top officials espousing irreconcilable opinions about Middle East issues. Decisions depend on who prevails in the bureaucratic struggles, and erratic policy follows.
Power flows to the bureaucrats and the lobbies. Bureaucrats gain because new administrations, lacking an ideological viewpoint on the Middle East, have little incentive to bring in fresh faces at the working level of government. There is therefore less house-cleaning at the beginning of a new administration, and it is easier for those already in place to stay on in positions of authority. Political appointees are especially few in number in the bureaus that handle Middle East affairs. These factors account for the homogeneity of the so-called Arabists at the State Department, as well as their legendary hold over Department policy.
Lobbies also gain. Put positively, there is special scope for citizen participation and influence in the debate about American policy in the Middle East. Put negatively, the national interest has exceptionally little role. The absence of ideology increases the role of parochial considerations, notably religious emotions and business pressures.
The non-ideological approach to Middle East affairs affects the actual course of U.S. policy in several ways. Swings in policy toward the Soviet Union do not affect the Middle East. Liberal policies during the Carter administration and conservative ones during the Reagan years have had profound influence on the U.S. posture everywhere in the world but the Middle East.
The American public not being polarized along conservative and liberal lines, the U.S. government has greater flexibility to use U.S. soldiers in the Middle East. While $20 million in U.S. aid to El Salvador in 1982-83 was the object of extensive criticism in the press and in Congress, $210 million to Lebanon was virtually uncontested. Sending 55 trainers to El Salvador provoked extreme controversy, while a force 20 times as large in Lebanon raised much less debate. The public is uniquely willing to accept direct U.S. military involvement on the ground in the Middle East.
This offers a unique chance to escape the conservative/liberal dichotomy that otherwise dominates American foreign policy. The Middle East adds an element of diversity to American political life and contributes to the vitality of the foreign-policy debate. Whereas other regions are seen in terms of dangers, the Middle East offers American politicians a chance to achieve something positive. For this reason, American presidents see the Arab-Israeli conflict as a special opportunity to make their mark in foreign policy.
Mr. Pipes is an associate professor at the Naval War College and author of "In the Path of God: Islam and Political Power." This is adapted from the fall 1984 issue of International Security.
Letters to the Editor: Risky Assumptions on the Mideast
Daniel Pipes argues plausibly (editorial page, Sept. 27) that views on Middle East politics are not shaped by conventional ideological biases. His presentation is flawed in one respect. He employs a fallacious mode of classification that is too widely accepted: that all who hold views on the subject are either "pro-Israel" or "pro-Arab."
This is a kind of application of the biblical formula (later lifted by Lenin) that those who are not with us are against us. It is a disservice to clear thinking and to our national interest.
To say that Arab nationalism is not less worthy than the Jewish nationalism born of Zionism is not to derogate the latter nor to be "pro-Arab." To suggest that Palestinian Arabs have human rights that are entitled to respect and to international concern (no less than Jewish Israelis) is not to be "pro-Arab." It is open to serious question that to accept and condone the expansionist views of many Israelis is, in a profound sense, "pro-Israel."
American foreign policy will not be free to play a constructive role in the Middle East until these points are apprehended by many more Americans than now recognize them.
Howard N. Meyer
Daniel Pipes correctly observes that the debate on U.S. Mideast policy occurs largely outside the context of liberal-conservative "disagreement over the danger posed by the U.S.S.R." He favors this, believing that it makes possible a realistic, non-ideological approach to the formulation of our Mideast policy. But even if American conservatives (let alone liberals) do not view the Middle East in terms of the East-West conflict, there is ample reason to believe the Soviets do. Soviet Mideast policy—like Soviet policy toward any country or region—is dictated by the requirements of maintaining and expanding a military empire. Extending Soviet influence over the Middle East is critical to Moscow's long-range objective of demoralizing and dividing the Atlantic Alliance.
Now that Syria is the dominant force in Lebanese politics, Egypt is the only Arab state on the southern rim of the Mediterranean that is not actively hostile to the U.S. and the West. Egypt, already under pressure from Soviet-backed Libya and Soviet-allied Ethiopia and South Yemen, sees Israel as a buffer between herself and Soviet-allied Syria. Should Israel suffer a major defeat, therefore, the entire southern rim would almost certainly fall under the control of clients and proxies of the U.S.S.R. Soviet domination of the southern Mediterranean would so threaten the maritime commerce and population centers of Turkey, Greece and Italy, that these nations would probably find it expedient to withdraw from the NATO command structure.
The Allies were able to launch an invasion of Nazi-occupied Europe only after securing North Africa and the Middle East. Should another war break out in Europe, the Western powers will again need bases and allies on the southern rim if they are to have any chance of defending or reconquering their homelands. In the foreseeable future, Israel is the only first-rate military power in the Middle East that is also dependably pro-Western. To appreciate Israel's strategic importance to the defense of the West, one need not be either a liberal or a conservative. One must, however, give some thought to the fact that the Middle East is adjacent both to the Soviet Union and to the southern flank of NATO.
Marlo Lewis Jr.
Claremont, Calif.
Jan. 20, 2009 update: A quarter century later, the circumstances described here have totally changed. See the listing at "Bibliography – My Writings on Democrats, Republicans, and Israel" for details.
Related Topics: Arab-Israeli debate in the U.S., Conservatives & Liberals, Israel & Zionism, Lebanon, US policy
Bibliography – My Writings on Democrats, Republicans, and Israel
Republicans and Democrats Look at the Arab-Israeli Conflict
Breaking All the Rules: The Middle East in U.S. Policy
Reading this in 2006, wow! [130 words] anon Dec 24, 2006 19:17 70431


Bring your car or truck to Mr Tire Auto Service Centers in Dunkirk, MD and save up to 50% over the dealer service department on maintenance services! We'll pull up your manufacturer's service schedule, inspect the necessary components for the current mileage, and perform any required maintenance tasks. Ask for a FREE print out. From oil changes, to brakes, to fluid changes, Mr. Tire technicians will keep your vehicle running smoothly and under warranty.
Mr Tire Auto Service Centers in Dunkirk, MD performs the same maintenance work and repairs as your dealer service department, but at a cost up to 50% less. Start saving today by bringing your vehicle to Mr Tire Auto Service Centers for all of your auto service and repair needs! We provide a free written estimate and perform only the work you authorize, guaranteed in writing. All parts and services are covered by a minimum three-month/4,000-mile warranty. Many parts including brake pads and shoes are backed by a lifetime warranty.
Mr Tire Auto Service Centers in Dunkirk, MD provides scheduled maintenance on your vehicle for routine and preventative vehicle care. When you come in, we'll pull up your car's maintenance check list for your specific model and inspect the necessary components for your vehicles current mileage. Factory scheduled maintenance provides a good opportunity to make sure your car is performing correctly and help prevent costly future repairs. Plus Mr. Tire will save you up to 50% over the dealer!
Mr Tire Auto Service Centers are your source in Dunkirk, MD for the best deals on new tires, and complete automotive care for your car, truck or SUV. Plus, if you find a better deal, we will beat the competitors total price by 5%! While our name means tires, we offer a full range of automotive services such as oil changes, brake service and wheel alignments, to help you maintain your vehicle and protect your warranty.
A few weeks ago I was in dire straits needing a tire for my truck since I was going on a long trip the following day and Madeline (I believe is her name) helped me get in and out in record time. Thank you!
A few weeks ago I was in dire straits needing a tire for my truck since I was going on a long trip the following day and Madeline (I believe is her name) helped me get in and out in record time. Thank you!??
I had two back to back tire issues and they were able to get me on the days schedule both times as soon as my tires were delivered. I hope not to have to go back soon, but if I do this would be the place I would go.
This store removed a trailer tire from a rim and mounted a new tire I brought with me. Pretty simple.
Decorate your customer waiting areas. Will fi a must.
I had a great experience with Amanda. She is the best!
See my suggestions above about appropriate stock in place for people that make appointments.
Amazing experience. Amazing staff. Professional. Knowledgeable. Courteous. Above the rest ????
Great shop, knowledgeable master techs and friendly staff. Helped me get tires mounted and balanced and where flexible when the tires I was providing where delayed. Would highly recommend.
The shop is efficient, friendly and service is great! Also, management makes it comfortable to work while you wait...or, even watch a movie on Netflix. I would definitely recommend Mr. Tire in Dunkirk!
I saved over $50 having my tires (6) mounted at Mr. tire in Dunkirk,thanks guys ??
Took care of my cars tires. Great service. Thank you, car drives great now!
I had a great experience this afternoon, Chris that helped me was very informative and patient with me and everything was completed in a timely manner. Will definitely come again.
The new manager at Mr. Tire is great! Had a wonderful experience.
Needed to get some tires installed. Call them and asked if they could schedule me an appointment and they did. As soon as I got there, they friendly at the door very polite. Did not hassel me about repairs that needed to be done. I would definitely take my vehicle back to them.
Taking this into consideration I will research better methods and cheaper services for future repairs.
Very friendly and I'm and out before you know it! Effiecient, price as quoted up front and some correctly the first time!
Needed a tire mounted and balanced on my way to work. The guys had me in and out within the hour. Much appreciated.
mr.tire has a new manager and place is way better ran then it use to be. things are definitely turning around. the old person running it was horrible before I wouldn't go to that store because of bad experiences in the past. now I went there it Feb 23 2019 and it was 100% better then what it was in past. I definitely give them 5 +?????????
The new Manager at the Dunkirk, MD store, David Martin, is more interested in helping customers than I have seen in the past from this store. Thank you Mr. Martin!!!
Best service and experience I've ever had at a tire center.
They were very helpful when I had a flat tire.
Awesome ???? these folks are so nice! Saved this Princess ????
Everyone has always been very polite and knowledgeable.
Great customer service. Super friendly and professional staff. Offered coffee, donuts and kindness. Highly recommend the Dunkirk, MD location!
Always awesome service when I come get my oil change!!
The app is supposed to give you a record of your service, but nothing ever shows up, even when I make the appointment with the app.
Mr. Moss, was very professional and was able to fit me in without any appointment this morning , I would definitely come back again.
Moss was very personable and friendly. The place is clean and welcoming, and the staff are accommodating and knowledgeable without being pushy. Definitely going to be coming back again.
I had a negative experience purchasing my tires, however, I had a leak in a tire and the store was very good about getting me an appointment right away, pointing out a special for the tire repair and getting the job done in a timely manner.
Great customer service... much better than Clinton. Ask for Daoud.
My experience overall was incredible. Thanks to Mr. Moss and Charley.
Customer service was courteous and my repairs were done in a timely manner.
Awesome experience at Mr. Tire! Moss is the man!!!
Moss was extremely friendly and attentive. He was helpful and inviting to my husband and I who needed an oil change and tire rotation on my vehicle. His service was prompt and efficient. I truly appreciate being able to come to Mr. Tire and feel confident that my car is being worked on in a timely fashion. Thanks Moss for your service and providing great customer service.
Had an early evening flat tire and called Mr. Tire from the roadside. They set us up over the phone with a great price and were waiting for us when we arrived on a spare. Had us in and out quickly so our Holiday weekend went uninterrupted. We've been using Mr Tire for 2 years now. Always fair and competitive with price and never any negative issues. Thank you Mr. Moss for great service.
Great service! Fast and quick, in and out. Friendly customer service, very personable. Would recommend!!
I always take my car to Mr.Tire when I need services done. There are always timely, polite and courteous.
Very easy to deal with. Time accommodating without any problem.
Mr. Moss was very helpful. They showed me the exact cause of my flat tire and gave me an excellent price for a new tire! Will come back here for all of my future tire needs.
Great job.. very quick even while short-handed. Thank you.
Been dealing with Mr Tire in Dunkirk for years. They are usually do a great job.
Road debris cut a front brake line late in the day. They brought my car in right away and found which part they needed and ordered it so they could fix the issue first thing in the morning which they did as promised and cost was fair and inline with competitors.
Had a screw in my tire last night. Went to my local Mr. Tire this morning and they fixed it under the Road Haz warranty I purchased when I bought the tires. Very happy with the service. Thanks Paul!
I use these guys alot. Never any problems. Even patched a hole for free once.
Great customer service. I will used them again.
the lady at the desk was very helpful and accommodating.
Repeat customer. Bought tires online and had them installed and now get all my oil changes done here. They are much cheaper than Valvoline. For around $60 you get full synthetic oil and tire rotation. I think conventional oil is much cheaper if you prefer that. Also, they do not up sell or recommend unnecessary services which is a huge plus.
We came in for the usual oil change knowing we needed 4 tires but I was going to do a research for better prices and honest place. I'm glad we came in to Mr. Tire and talked to this pleasant young man Leo. Nice polite friendly. I am happy with service front and back of the store and all he asked for a review. Glad to do it.
I know I need all tires replaced in my car but I'm in a tight budget now and made sure to tell them I would only get 1 today. They were very understanding and nice about it and did not pressure me to buy all 4 at once. I'll gladly come back for the other 3 soon.
Kevin did a great job. I had a flat tire and it was fixed promptly. They let me know what services needed to be done and what could wait. I'll definitely come back again!
Had a problem with some squeaking in the rear of my car. Kevin threw it in the rack and figured out the problem. Also threw in a discount on some non essential preventative maintenance items!
Never had any issues with service or any complications with my car after it being serviced so i pretty much count on these guys to keep my car in tip top shape!
I got the best service at Mr Tire so I will definitely be bringing my car back here in the future. Kevin was terrific and absolutely someone I would call on again.
Went there expecting to get a tune up..and found out when I got there..no staff except the manager...What ....did all the mechanics quit?
Had a really great experience here. Kevin was super polite and helped me out so much!
Super nice. Got it done. But watch the free tire deal. You have to buy an alignment and roadside service to receive buy 3 get one free. The two purchases were about eighty bucks more than just buying my truck tire. I just bought the four tires.
Awesome experience!!! Had 4 new tires put on and the girl Amanda at the desk was great in explaining everything!!! The guys in the back were awesome too!!! I will absolutely come back!!
Great service ,friendly service ,will be back !!!
Mr. Tire was very professional. I was able to get everything I came in for taken care of in a timely fashion. They were also able to let me know if there were any other problems that may arise in the near future that I should look for and didn't not charge me a dime.
They've always been honest and I feel comfortable bringing my car here last minute without doing a lot of shopping around.
Had to buy a new tire for my daughter's car. Kevin was awesome! Very knowledgeable of tires. Great customer service!!!
Great service at this store!
Was there today to get two tires , didnt know exactly what would work for my car but everyone was very helpful and patient! The service was great and FAST . I will be going back for future service on my car ! THANKS GUYS!!
I came into Mr. Tire with a nail in my tire and they squeezed me into their busy schedule without any problem! Thank you for such awesome service!!
Amazing customer service. Amanda was able to answer all of my questions and ease my concerns.
I got a flat on the way home from work. Pulled into Mr. Tire and although they couldn't repair the tire, they were able to get a new one on and me back on the road in under 45 minutes. The associate we dealt with was very nice and even gave me a discount on the tire. I'm very pleased with my experience there.
Maria was awesome and helped me find the right product for what I needed. She was very pleasant and knowledgeable!
Absolute best customer service hands down. In a true time of need workers were very helpful and speedy to resolve all issues.
The gentlemen are always quick and responsive to my auto care needs. I've always enjoyed the quality of service and care Mr Tire has consistently provided. This is my go to place!
My husband and I had a great experience at Mr. Tire. The people there were very friendly and helpful. I would definitely recommend them.
Absolutely the nicest, best crew around , As a customer they have satisfied my auto needs and beyond . I would drive another hour just to come to this auto shop !
Super friendly and fast service!! Customer service skills are on point!! Highly recommend!!
Very friendly and professional staff. Excellent to deal with!
Mr. Tire was very clean, and they had great customer service. I had to buy a new set of tires and Maria did an excellent job informing me about the different types of tires for my vehicle as well as different long term services they offer. Overall it was a great experience!
This is the only place I'll go for all of my vehicle needs. They keep my truck running like a champ. They do great work and the customer service is always top notch too. Highly recommended.
Best place for tires and car repairs. Great customer service and quality work.
Fast friendly service! Staff actually knows about tires...amazing in today's customer experience.
They were excellent. They were willing to take my car on very short notice and Kyle ensured all the tires and brakes were up to specs. They go above and beyond and are very friendly.
They take good care of me. Polite and fast.
Amanda was great, excellent customer service.
Best tire place around. Jonathan at the front was very friendly and patient with me on the phone. Highly recommend!!!!
Very easy to work with. They had our vehicles in and out pretty quickly. No complaints and we are return customers.
Had my front and back break's install. Did a good job, easy too work with mechanics friendliness and knowledgeable.
Great fast service On my tires. Very helpful diagnosing additional issues with my vehicle and explaining options. Provided quotes without pressure for the additional work necessary.
Great service, professional, quick service, finished the work sooner than expected.
Jonathan over at Mr Tire hooked me up on a busy Sunday with a set of nice tires after a blowout. Great service!
Just fantastic service.fixed a flat tire for free did not try and sell me another tire. Just put 2 new tires on mty sons car great price and service.
This shop is the only one I trust. Darrien is a great mechanic and johnathan has great customer service. Thanks again mr tire!
Amazing customer service and excellent work done. Mr. Carr helped me understand the issues with my vehicle and took care of them right away. Highly recommend anyone and everyone to come here to have your vehicle serviced.
Why pay more across the street with Vavoline!!!! I will never pay those kind of prices again when the job can be done so close so much cheaper but same work!!??
Excellent customer service and good deals!
Went to Mr Tire today for a new tire. They were extremely courteous and professional. They fixed my tire and a few other problems. Very happy with their work!
Really great team with Josh (store manager), Kevin & Tyler. Answered my questions with sincerity and honesty. Will gladly bring my vehicles back to them for future service needs. Thanks for a great experience.


text:
The purpose of this resource is to offer a conceptual vocabulary to understand systemic oppression and to aid in our ability to generate effective strategies to dismantle it.
I. Material/Physical Elements
Stripping Away or Denying Key Resources and Protections
II. Cultural/Psychological Elements
Comparing Conceptual Vocabulary Across Disciplines
Medieval time-travelers whisked through a cosmic wormhole to the 21st century would be amazed at the profound transformation of the world. Virtually every system of civilization has radically changed. They would marvel at electric lights and appliances, water filtration plants, sewer systems, effective medicine and vaccines, and a host of other hard-won technologies that have doubled the life expectancy of humans. Compared to the state of our species in every era up to this point, our time-travelers might happily conclude that humans have created a near-perfect world where everyone is free to pursue their own interests and goals, unburdened by poverty, disease, hunger, and violence.
Sadly, we're not there yet. Famine, plague, and violence are still with us. We have the knowledge, the technologies, and the infrastructure to greatly minimize these threats, but we often fail to cooperate, to educate, and to look beyond our own immediate needs and interests to help others in need.
Given the incredible progress our species has made, it would be nice to feel that we are out of the Dark Ages, but a quick look at the vast scale of suffering and injustice in the world suggests otherwise.
Internationally, 79 million people have been forcibly displaced from their homes and livelihoods by political persecution and warfare. To put that number into context, the entire population of the Roman Empire at its peak was around 65 million people, and the population of China (by far the most populous country in the world) in 1950 was around 42.5 million.
In the United States alone, there are over 2 million people incarcerated in a notoriously violent prison system. 20 percent of these prisoners are there for drug offenses. On the other side of the globe, authorities in western China have brutally repressed the Uighur ethnic group. Roughly one million UIghurs have been forced into concentration camps and have endured "surveillance, detention, and social re-engineering" and attempts to shrink the population through enforced birth control, including sterilization.
Our time travellers might infer that they have leapt into a particularly dark moment of history, only to discover that many see this as an era of peace in stark contrast to events in living memory including the Great Famine engineered by Josef Stalin in the Soviet Union (3.9 million deaths), the Holocaust perpetrated by Adolph Hitler and the Nazi party (14 million deaths) and the "Great Leap Forward" policies of Mao Zedong in Communist China, which killed up to 45 million people.
What is Systemic Oppression?
Oppression occurs when people with power limit the ability of others to fulfill their basic human needs. These needs include safety, autonomy, connection to others, and the freedom to pursue personal and professional fulfillment. Systemic oppression occurs when multiple parts of a community are constructed to disadvantage a targeted group for the material and psychological benefit of a dominant group. For the purpose of this guide, "oppression" will imply systemic oppression.
Oppression is ultimately concerned with generating and maintaining material benefits like money, land, and political power exclusively for the dominant group. Systems of oppression are often held together with psychological and cultural elements that rationalize and obscure the cruelty and immorality of denying these resources to others.
It's important to recognize that in addition to material benefits, oppression fulfills psychological needs for the dominant group. Some people desire power over others. Some fear differences. Some seek a mythological vision of purity. Some construe life on Earth as a zero-sum battle between competing groups. Understanding these complex motivations and assumptions can help us engage in fruitful debate and meaningful civic action. We can dissect the mythologies and expose their ugliness and emptiness. We can replace these toxic belief systems with a more accurate vision of our common humanity that includes our shared needs and values. Ultimately, we can offer a path to a brighter future in which the dignity and value of every individual is reflected in our policies and institutions and we collectively strive to treat one another as we wish to be treated.
Systemic Oppression vs. Systemic Failure
Systemic failure occurs when a community attempts to solve a problem, but the system put in place doesn't actually work very well. For example, a city with a small fleet of snow plows and road salt could be overwhelmed by a massive blizzard, making the streets impassable. This would likely be an inconvenience for some and a disaster for others, especially those who need urgent medical care. If everyone in the community suffers equally by this sort of calamity, it's likely that it's a case of Systemic Failure. When examining Systemic Failure, it's important to assess if one group is suffering more than others. Is a health care system equally broken for everyone? Is a corrupt police department equally unreliable for everyone? Systemic oppression occurs when systems are designed and operated in a way that intentionally or unintentionally excludes a targeted group.
How to Dismantle Systemic Oppression
You can't fix a car unless you understand how an engine works. Similarly, we can't successfully address oppression until we understand the mechanisms involved. Oppression is neither inevitable nor magical. The diminishment of human rights is a direct result of self-interest, prejudice, fear, misunderstanding, and ultimately the individual choices of regular people. Once we recognize and understand the problem, we can learn to fight it effectively.
The first step to understanding oppression is to recognize that it is fuelled by the self-interest of people with power. Powerful people may choose to help others and work to reform the systems that they benefit from. But they are likely to support the status quo that protects their good fortune and privilege. They may also deny that oppression exists, they may believe that oppression is justified, or they may fear that a new system will put them in economic or physical danger. It is rare for people to willingly give up power and material benefits. Though some can be persuaded through moral arguments, it is more likely that powerful people will work to end oppression only when they believe it is in their self-interest to do so.
We must also understand that, unlike plague and famine, oppression is rooted in and sustained by human psychology and culture. This means every individual has to do the work to recognize the biases, lack of knowledge, and lapses in critical thinking that keep oppressive systems in place. This is challenging for everyone, but it can be especially difficult for people in the dominant group as they are less likely to see and feel the weight of oppressive policies.
Systems of oppression are complex. We struggle to access key information and to see how multiple economic, social, and environmental factors connect. Every community is a massive jigsaw puzzle and it's hard to see how everything fits together. Understanding complexity is hard, but it is well within our capacity. We are aided greatly by good scholarship, reliable journalism, and transparency in business and government. Once we understand the pillars of power upholding oppressive systems, we can develop effective strategies to bring them down.
Ultimately, everyone will benefit from a more compassionate, equitable society, but to get there we have to do the hard work of understanding how oppression works, how to change the equation of self interest for people in power, and to create a better society in which violations of human rights are battled with the same energy and cooperation that drives our fight against disease and hunger.
This guide will offer ideas of how to address each element of oppression in turn. Because oppression is a complex problem, it will require a multitude of complex solutions. We can dismantle oppression by sustaining multiple strategies on multiple levels for a long period of time. It is common to feel overwhelmed and dispirited when one issue is addressed only to see a hundred more that require time and attention, but that's the nature of fighting complex problems. Progress is possible, but the timeline is rarely as emotionally satisfying as we would like.
To keep ourselves aware of the value of our fight against oppression, we should celebrate the massive leaps forward that have occurred thanks to dedicated human rights activists throughout history. They helped bring about the abolish slavery, won women's suffrage, and established the UN Declaration of Human Rights as a powerful tool of international politics and trade. There has also been a steady stream of progress that has slowly but steadily improved the lives of millions of people, including increased access to sanitation and quality health care, a slow expansion of educational opportunities, and numerous laws protecting workers. Being aware of progress is as important as being aware of oppression. If we don't have hope that change is possible, fighting oppression can feel like a hollow effort.
Once oppression has taken root, it is hard to dislodge. Like a parasite, it becomes part of the society and grows stronger or weaker based on how much the society feeds it. Every society is different, but the parasite of oppression operates along well-worn patterns that we can analyze and disrupt. Like a team of doctors, we have many treatments to deal with the parasite, but it's never clear which remedy will work most effectively, so our best bet is to move carefully, try them all, and continue to develop new ideas to meet the demands of the moment.
A Blueprint For Fighting Oppression
Forge and foster a philosophical depth and universalist belief system (Ubuntu, Beloved Community, Satyagraha)
Empower the oppressed and build resilience
Strengthen community ties
Create a culture of moral solidarity across lines traditionally dividing social groups
Strengthen narratives of personal and social value
Create a culture of "empowered suffering" in which sacrifices for the cause are recognized and imbued with meaning
Diagram the nature of the oppressive system so people can both navigate it safety and generate effective strategies to dismantle it
Weaken the pillars of power of the oppressor
Weaken the system of belief that justifies or rationalizes oppression
Weaken the financial incentives for continuing oppression
Weaken the social incentives for continuing oppression
Expose the scope and scale of oppression, especially to those who might otherwise never see it
Strengthen the opposition within the oppressor's political system
Weaken the historical narratives and mythologies that justify or rationalize oppression
In general, the ideas to fight oppression will follow a general pattern:
Ignorance must be replaced by knowledge.
Foolishness and recklessness must be replaced by intelligence and critical thinking.
Tribalism (where we only take care of an inner-circle of group members) must be replaced by universalism and rational altruism (which expands the moral obligations to our "circle of us" to include everyone).
The mentality of dominance and the status afforded to dominant behaviors must be replaced by a different currency of status that values generosity and wisdom.
The deeply-rooted desire for revenge must be replaced by demands for systems of justice that leave the community stronger, not weaker.
The dehumanization and diminishment of people must be replaced by the recognition of universal human dignity.

redpajama_set_name: RedPajamaCommonCrawl


text:
// Copyright (c) Microsoft. All rights reserved.

using SDKTemplate;
using System;
using System.IO;
using Windows.Storage;
using Windows.Storage.Pickers;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Navigation;

namespace FileAccess
{
    /// <summary>
    /// Comparing two files to see if they are the same file.
    /// </summary>
    public sealed partial class Scenario9 : Page
    {
        MainPage rootPage;

        public Scenario9()
        {
            this.InitializeComponent();
            CompareFilesButton.Click += new RoutedEventHandler(CompareFilesButton_Click);
        }

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            rootPage = MainPage.Current;
            rootPage.ValidateFile();
        }

        private async void CompareFilesButton_Click(object sender, RoutedEventArgs e)
        {
            StorageFile file = rootPage.sampleFile;
            if (file != null)
            {
                FileOpenPicker picker = new FileOpenPicker();
                picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
                picker.FileTypeFilter.Add("*");
                StorageFile comparand = await picker.PickSingleFileAsync();
                if (comparand != null)
                {
                    try
                    {
                        if (file.IsEqual(comparand))
                        {
                            rootPage.NotifyUser("Files are equal", NotifyType.StatusMessage);
                        }
                        else
                        {
                            rootPage.NotifyUser("Files are not equal", NotifyType.StatusMessage);
                        }
                    }
                    catch (FileNotFoundException)
                    {
                        rootPage.NotifyUserFileNotExist();
                    }
                }
                else
                {
                    rootPage.NotifyUser("Operation cancelled", NotifyType.StatusMessage);
                }
            }
            else
            {
                rootPage.NotifyUserFileNotExist();
            }
        }
    }
}

redpajama_set_name: RedPajamaGithub


In 2009-2010, the Economics Network of the Higher Education Academy carried out its fifth survey of Economics students, covering both undergraduates and postgraduates. This is the executive summary of the report, which is available as a PDF.
The survey aimed to provide valuable information on students' perceptions of studying economics, including identifying strengths and weaknesses in the learning and teaching of economics. Results from the previous surveys were used in running departmental and national workshops and students' focus groups as well as to inform curriculum development in the departments.
82.5% stated that Economics was their first choice.
Students' responses to the quantitative survey questions were examined using standard statistical methods. Differences in responses were examined by gender, age of entry, year/level of study, A-level Economics, A-level Mathematics, English as the first language and choice of course. Relationships that are statistically significant at the 0.05 levels were discussed. Changes in the students' responses during 2006, 2008 and 2010 surveys were compared.
Responses to each of the qualitative questions were coded and aggregated for analysis using N-Vivo software. In the report, for illustrative purposes we include graphs, which were based on the codes, summarised in terms of their frequency and typical quotes from students' responses, as well as "word cloud" images.
In many ways the results of the survey were similar to those in 2008. However, there were some noticeable changes: more then 4 out of 5 respondents were making use of Virtual Learning Environment (VLEs); more students experience interactive forms of seminars/tutorials/classes, such as games and simulations; more took part in group-work projects; teaching of Maths and Stats was improving.
Before starting on their current course 70.0% of respondents studied in the UK (which is less than in the 2008 – 73.0%). Those new to UK came mostly from China, Germany, Lithuania, France, Poland, Malaysia and Singapore (in descending order). Students mention the good reputation of UK universities, the high quality of education, the country itself and the English language, as well as career opportunities linked to study in the UK as the strongest factors in their decision to come to the UK.
Comparing their current course with their previous learning experience, two-thirds of the respondents (more then in 2008) found contact with lecturers to be either different or very different; more than half found teaching methods, student support, e-learning and the use of IT to be different or very different; and less than a third found assessment to be different or very different.
Similarly to the 2008 results, responses about previous learning experiences differed between those who came from abroad and those who had studied in the UK. Starting a university course was a big change for all respondents, but particularly for international students who also have to adjust to another country.
Two thirds of the respondents felt that they were adequately prepared for their degree course, which is more then in the 2008 survey. Three-quarters of students say that the degree has met their expectations.
The number of students who found teaching of maths and stats Good, has been increasing during 2006-2008-2010: 51.2%-52.4%-54.1%. Still one in seven regard it as not very good or poor. The number of students who found the content of the degree to be largely relevant to the real world, has been increasing during 2006-2008-2010: 66.8%-69.3%-71.7%. The number of students, who found the workload about right, has been fluctuating during the same period: 66.1%-64.9%-67.8% .
When asked how their course differs from their expectations, students mentioned the course content and its relevance to the real world, the level of teaching and the pace of the course.
Respondents were asked to indicate how useful they found different types of teaching in supporting their learning.
has been fluctuating during those years: group work projects, feedback on submitted work, working informally with other students.
In seminars/tutorials/small classes, the vast majority go through pre-prepared problem sets, exercises or worksheets. Despite the popularity of classroom experiments, games, simulations and role-plays in seminars with those who experience them, 75.2% rarely or never have them. Nearly half rarely or never have individual student presentations. In both cases, however, more students experienced these activities than in 2006 and 2008.
Nearly seven out of ten respondents found that the assessment on their degree accurately tests the level of their knowledge and understanding of the learning outcomes. As part of their assessed coursework, more then two out of five respondents were given essays to be completed in their own time, while those assessment types that respondents rarely or never experienced included essays done in class (82.0%), online assessment (61.9%) and group-work projects (43.3%). It must be noted that use of those types of assessment has increased since 2006.
More then every four out of five respondents were on a course that makes use of a VLE – 80.1% compared to 73.7% in 2008. Almost all their comments described VLEs positively although some complained that they were underused.
Overall, more than three-quarters of respondents were satisfied with the quality of their degree course.
Best aspects of the course: the quality of teaching, career opportunities and future prospects, small classes and tutorials, the choices of modules and content of the course, and the resources available to support learning.
Most useful seminar activities: group exercises, pre-prepared problem sets and worksheets, mini-lectures, presentations and discussions, and working in small groups.
Ways to improve seminar activities: by making them more interactive, improving content and teaching quality, having more time in general for seminars.
Ways to improve teaching Maths and Stats: by improving teaching, less presumption of prior knowledge, by increasing number of workshop-style classes and tutorials, slower pace of teaching.
Ways to improve assessment: more frequent and continuous assessment, more coursework to help them evaluate their progress, more written and explicit feedback.
Economics software and its usefulness: 22.3% said that they did not use any software, or were not aware of doing so. Software identified by respondents include: Stata, EViews, Microfit, SPSS, WinEcon and Minitab.
Effectiveness of VLEs: a majority found them very effective and in some cases vital to their learning experience, although some do suggest more consistency in usage.
Their future career: the majority aspire towards a finance-related career, while others said they wish to enter business, economics, government or academia.
Skills they developed: were mainly divided between academic, interpersonal and practical.
Aspects of the course that they don't like: largest group of students liked everything about their course; some identified teaching quality or certain lecturers and/or tutors, the content and structure of the course, assessment processes, workload and the resources available.
Aspects that could be improved: quality of teaching, particularly of Maths; assessments, seminars and classes; connection to the real world and resources.
How the course has changed them: answers to this question were overwhelmingly positive covering knowledge gained, career goals, personal changes and changes to how to they viewed or understood the world around them.
Any other comments: very positive – most comments were about how they enjoyed the course or appreciated the opportunity to participate in the survey.
As in the previous surveys, we were impressed by the maturity of students' comments and by their awareness of teaching and learning issues in economics. Finding out about their previous learning experience allowed us to provide better support to new students through our websites WhyStudyEconomics.ac.uk and StudyingEconomics.ac.uk as well as develop new resources for lecturers teaching international students.
Comparing results with previous years' allows us to follow the changing picture of studying economics in UK HE and better target our support to lecturers. In some cases, students' suggestions for improvements in the way courses are run, such as smaller class sizes or more contact time, would require extra resources. In other cases, however, their suggestions could be achieved through relatively small changes in practice, such as ways of using VLEs, classroom activities or teaching styles. The Economics Network is very happy to support departments and lecturers in making changes.


For some time now, many of us have struggled with data that is mostly standard US-English / ASCII characters but also needs to allow for the occasional non-ASCII character. VARCHAR is typically one byte per character but can't represent a wide range of accented characters all at the same time (more than would be found on a single 8-bit Code Page). NVARCHAR , being a Unicode datatype, can represent all characters, but at a cost: each character is typically 2 bytes. When we have data that is most often standard ASCII, but has the potential (whether it ever happens or not) to have non-ASCII characters (names, URLs, etc), we have no choice but to use NVARCHAR. However, then we are wasting space for all of the data that could fit into VARCHAR and take up half as much space. While some claim that "disk is cheap", wasting space negatively impacts query performance, backup size, backup and restore times, etc.
One approach is to have two columns for the data, one for each datatype. The idea is to store values that are 100% ASCII in the VARCHAR column, and anything else in the NVARCHAR. Then you can have a computed column return the non-NULL column for that data. While this approach does work, it is not something you are going to implement in 50 or more columns.
So, thankfully, Microsoft provided a solution to this problem.
SQLCLR (introduced in SQL Server 2005). This allows one to use .NET to access GZip/Deflate functionality such that you can compress data into VARBINARY(MAX) on the way in, and uncompress back to NVARCHAR(MAX) on the way out. And you can even get pre-done versions of these — Util_GZip and Util_GUnzip —in the Free version of SQL# :-). Of course, some folks don't like SQLCLR (for some reason), and you need to decompress in order to view / search / filter on the value, and this might be a bit much to do on many columns (though not as bad as having both VARCHAR and NVARCHAR versions of the column).
Data Compression (introduced in SQL Server 2008). But this was a bit simplistic, only available in Enterprise Edition, and didn't work for off-row values (i.e. row overflow and MAX values that can't fit in-row).
Unicode Compression (introduced in SQL Server 2008 R2, and implemented as part of Data Compression). But this was still only available in Enterprise Edition, and still didn't work for off-row values, and in-row NVARCHAR(MAX) values only get the simplistic compression.
Compression for the all editions, not just Enterprise (as of SQL Server 2016, SP1). But, this still didn't work for off-row values, and in-row NVARCHAR(MAX) values only get the simplistic compression.
COMPRESS and DECOMPRESS built-in functions (introduced in SQL Server 2016). You can use these to Gzip and Ungzip values (without resorting to SQLCLR), and store the much smaller VARBINARY value. Do this in stored procedures to be transparent to the caller. But this is not for everyone, and this might be a bit much to do on many columns.
Support for MAX types in Clustered Columnstore Indexes (as of SQL Server 2017). But, this is not for every scenario, especially because it affects the whole table.
UTF-8 Encodings (introduced in the upcoming SQL Server 2019). UTF-8 appears to be the ideal solution: standard ASCII characters take up only 1 byte, all Unicode characters are supported, the value is still a string (not binary) so it can be searched / filtered on / indexed / etc, and it is the preferred encoding for HTML and XML files. No need for an extra column plus a computed column, no need for SQLCLR or COMPRESS, no binary values, and no getting frustrated that Unicode Compression doesn't work with NVARCHAR(MAX). What's not to love?
BUT WAIT! What if the UTF-8 collations weren't added to solve this problem? What if they were added to solve a different problem, and saving space was just an added benefit? Would that change anything?
TL; DR: If you are not absolutely certain that you should be using the UTF-8 collations, then do not use them!
While interesting, the new UTF-8 Collations only truly solve a rather narrow problem (or possibly two narrow problems), and are currently too buggy to use with confidence, especially as a database's, or instance's, default Collation. For the purpose of compression, these encodings really only make sense to use with NVARCHAR(MAX) data, if the values are mostly ASCII characters, and especially if the values are stored off-row. Otherwise, you are better off using Data Compression, or possibly Clustered Columnstore Indexes.
Then why does this feature even exist? Why devote development resources to it? What problem(s) does it solve? It wasn't needed for importing or exporting data since that was resolved two versions ago (in SQL Server 2016, or possibly even SQL Server 2014 SP2). And I certainly hope it wasn't to save space (compared to NVARCHAR / UTF-16) since that isn't what UTF-8 was designed for (or does, generally speaking). The reason why UTF-8 (as an encoding, irrespective of SQL Server) was created was to address compatibility (with existing ASCII-based systems) 1 , not efficiency (of space or speed) 2 . In fact, compatibility was achieved at the expense of efficiency, given that most characters take up more space in UTF-8 than they do in UTF-16. But, that was an acceptable trade-off for its intended use: allowing existing OSes (primarily Unix but soon also Windows) to be Unicode-capable while not breaking any existing functionality. UTF-8 sometimes saving space over UTF-16 (but only for 128 characters, mind you) is a side-effect, not a design goal. Which means that it's good to know of the option, but it shouldn't be used as a selling point for this feature (yet so far it's the onlymain thing mentioned regarding this feature).
HOWEVER, info provided three months after CTP 2.0 was released indicates that the real purpose of the UTF-8 collations actually is compatibility after all. UTF-8 collations will allow apps working with VARCHAR data and datatypes to become Unicode capable with relatively few changes to the app code. This would also benefit projects that work with other database systems that already support UTF-8 in VARCHAR columns, and without requiring the upper-case "N" prefix on literals. This is an understandable goal, and is at least keeping with the purpose of UTF-8 (i.e. compatibility). But, they can be a bit clunky to work with due to a few outstanding bugs, and the fact that so much of the system assumes VARCHAR data to be one byte per character, while most characters are 3 bytes in UTF-8.
All of that together — very few instances where UTF-8 collations should be used, several potential consequences that are not documented anywhere outside of this blog post, misleading information from Microsoft, and a general lack of understanding of how these things actually work — indicates (to me, at least) that it is far more likely that the UTF-8 collations will be used when they shouldn't be, rather than when they should be.
for compatibility: have something like a database-scoped configuration option to treat all strings as NVARCHAR. This would make it completely transparent to app code, and not require internal UTF-8 to UTF-16 conversions. It's not a fool-proof plan, but clearly neither are the UTF-8 collations. At the very least, have a startup-only trace flag that determines if the UTF-8 collations are available or not, and hidden by default.
for compression: get Unicode Compression working for NVARCHAR(MAX). This wouldn't be limited to only helping ASCII characters. I don't know what technical issues are getting in the way of implementing Unicode Compression for NVARCHAR(MAX) , but given how much will break (or will at least be clunky) in making UTF-8 work, I have a hard time believing that this far better alternative would have been any worse.
This assessment is nothing against UTF-8. It's certainly the best option in many cases, especially at the OS level where there's no opportunity for Unicode Compression. Nor is this to be taken as a criticism of the SQL Server team responsible for producing this feature. I think they do great work, and I love working with SQL Server. But, I think this particular feature could have used more research and planning, and as is the case for many features, would benefit from a lot more technical guidance, since it is far from self-explanatory.
You have a lot of data that is mostly standard ASCII (values 0 – 127), is stored in NVARCHAR(MAX) columns, and the table is not a good candidate for having a Clustered Columnstore Index.
You have either legacy code and want to support Unicode, or code that works with other databases systems that support UTF-8, and you need to continue using VARCHAR datatypes and string literals that do not have an upper-case "N" prefix.
When installing SQL Server 2019, the default Collation (at least for systems with English as the OS-level language) is still "SQL_Latin1_General_CP1_CI_AS". Why, why, WHY???? Why not use "Latin1_General_100_CI_AS_SC", which has the same sensitivities but is newer, has sort weights for more characters, supports Supplementary Characters, and is a Windows Collation (hence you don't prevent seeks on indexed VARCHAR columns when compared to Unicode data). Sure, changing the default Collation after all these years will result in some headaches when needing to work with existing systems (that didn't bother to change the default Collation), but it ensures that new projects started by folks who don't know to change it will spread farther and farther throughout the galaxy, tightening its stranglehold on us (i.e. making it even harder to move away from). But that has nothing to do with UTF-8, so we can ignore it for now ( <grrrrr> , but please vote for Make Latin1_General_(100)_CI_AS the default collation for US English).
Collations without a version number do not allow checking either the "Supplementary characters" or "Variation selector-sensitive" options.
Collations with version numbers "90" or "100" allow for checking the "Supplementary characters" option, but not the "Variation selector-sensitive" option.
Collations with version number "140" have the "Supplementary characters" option checked (and cannot be unchecked), and allow for checking the "Variation selector-sensitive" option.
(NOTE: For recent update that renders this point obsolete, please see "Update for CTP 2.1" section) There is no means of selecting a UTF-8 Collation, even if the "Supplementary characters" option is checked.
All of the above queries returned successfully.
There are 5507 total Collations in SQL Server 2019, which is 1552 more than the 3955 that exist in SQL Server 2017. Hence the only new Collations are these "_UTF8" Collations.
If you execute the query above, do you notice anything missing? That's right: no binary options for the "_UTF8" Collations (this is a mistake that needs to be addressed).
Cannot convert to text/ntext or collate to 'Latin1_General_100_CI_AS_SC_UTF8' because these legacy LOB types do not support UTF-8 or UTF-16 encodings. Use types varchar(max), nvarchar(max) or a collation which does not have the _SC or _UTF8 flags.
The USE statement is there because the remaining examples that follow in this post will be executed from within the "UTF8" database.
UTF-16, which is the Unicode encoding used for NVARCHAR data, uses 16-bit (i.e. 2-byte) values, known as "code units", to represent characters. These "code units" are used individually (a 2-byte code unit), or in pairs (2 two-byte code units) to get Supplementary Characters, to map to individual "code points". UCS-2, which only maps the BMP characters (i.e. the first 65,536 code points), is a fixed-length encoding because it only deals with single code units. UTF-16, which uses the exact same code units as UCS-2, can use certain combinations of two of those code units (called Surrogate Pairs) to map the non-BMP characters (i.e. code points 65,537 and above, known as Supplementary Characters).
Because these values are two bytes, they are subject to "endianness", which refers to the order in which the individual bytes that make up the value are stored internally (in memory, on disk, etc). The hardware determines the "endianness" of how multi-byte values (including INT, SMALLINT, BIGINT) are stored, and the two possibilities are "Big Endian", which is the given / natural ordering (i.e. value 0x1234 — where 0x12 is byte #1, and 0x34 is byte #2 — is stored as 0x1234), or "Little Endian", which refers to storing the bytes in reverse-order (i.e. value 0x1234 is stored as 0x3412).
Unicode strings in Windows, "string" in .NET, and NVARCHAR in SQL Server are all UTF-16 Little Endian.
UTF-8 is another Unicode encoding which uses between one and four 8-bit (i.e. 1-byte) code units to represent characters. Even though it is Unicode, due to working 8-bits at a time, this encoding is considered VARCHAR data. This is also a variable-length encoding because it requires anywhere from 1 to 4 code units to map to any given code point. Due to these code units being single bytes (even in combinations of 2, 3, or 4), there is no concept of "endianness".
One main advantage of UTF-8 is that it's fully compatible with any existing data that's comprised entirely of 7-bit ASCII characters (values 0 – 127). This is by design, but not really a reason for SQL Server to use it for storing data internally. The other main advantage of UTF-8 is that it can take up half the space while still allowing for the full range of Unicode characters. This would be a reason for SQL Server to use it internally. BUT, it only takes up half the space for a small subset of characters. Of course, if the characters in this small subset that are only 1 byte are the vast majority of characters are being used, then this encoding does provide for significant space savings (in terms of disk space, memory, and reduced network traffic). What people tend to overlook, though, is that most Unicode characters require 3 bytes, which is 1 more byte than UTF-16 for those same characters.
You can execute the following query in SQL Server 2019 to see how many bytes each character requires for both UTF-8 and UTF-16 encodings. It returns all 65,536 BMP (Base Multilingual Plan) characters (which is also the entire UCS-2 character set), and 3 Supplementary Characters. Since all Supplementary Characters are 4 bytes in both encodings, there is no need to return more of them, but we do need to see a few of them to see that they are a) all 4 bytes, and b) encoded slightly differently. The query will work the same regardless of whether or not the current database uses a "_UTF8" Collation. It also does not matter if the database's default Collation is Supplementary Character-Aware or not.
Those characters, and their values (32 – 126), are exactly the same as the standard ASCII character set, and are the same across most code pages (certainly all code pages supported by SQL Server). Any characters not in the chart above do not offer any space savings, with most of the BMP characters actually taking up more space than they would if using UTF-16 (i.e. NVARCHAR ).
An encoding is how the characters are represented internally. Whether the source is a non-Unicode string, a Unicode string, or a binary string (i.e. series of bytes / hex bytes), the end result will be the chosen encoding's value for that character.
The first column appears to return nothing, not even a partial, incorrect / unknown character. The second column confirms that there is absolutely nothing resulting from attempting to store a 4-byte UTF-8 value in a VARCHAR type that is only 3 bytes. It couldn't even take just the first 3 bytes of the 4-byte value. The third and fourth columns show that given the type the required 4 bytes allows everything to work as expected.
On the other hand, when attempting to store the same character, using the UTF-16 4-byte sequence, into an NVARCHAR type that is too small, the result is the default Replacement Character ( U+FFFD ). This is because it was able to store the first half of the Surrogate Pair (the 0x3CD8), which is meaningless on its own, but it is still a valid byte sequence.
These were executed in a database which has a "_UTF8" default Collation.
NVARCHAR is smaller here when Compression = NONE, ROW, or PAGE. COLUMNSTORE estimated better as well, but not tested.
NVARCHAR is smaller here when Compression = NONE, ROW, or PAGE. COLUMNSTORE estimated the same, but not tested.
UTF-8 is only slightly smaller here when table is CLUSTERED COLUMNSTORE (approx. 1.3% smaller). The NVARCHAR table is still 98% smaller than it was originally.
With no compression, NVARCHAR is faster for all tests.
When table is CLUSTERED COLUMNSTORE, NVARCHAR is faster for all tests except "SUBSTRING" and "=".
UTF-8 is much smaller here when table is CLUSTERED COLUMNSTORE (approx. 92% smaller). BUT, this is typically a non-issue since the NVARCHAR table is still 96% smaller than it was originally. This becomes an issue as the uncompressed data gets closer to 100 GB.
With no compression, NVARCHAR is faster for all tests except "LIKE '%x%'".
Typically there is at least a slight performance hit when using UTF-8. I believe the issue is due to SQL Server still using UTF-16 to process most (but not all) operations internally. This means that there is a lot of converting back and forth between UTF-8 and UTF-16.
The area of biggest improvement of UTF-8 over NVARCHAR is when there is between 4001 and 8000 bytes of mostly standard ASCII characters. In this scenario, you would need to use NVARCHAR(MAX) to get over 4000 bytes, but then you lose the ability to use Unicode Compression. And, being over 4000 bytes, the NVARCHAR data must be stored off-row (a slight performance hit), while that same data can be stored in-row when using UTF-8. This is the only scenario where UTF-8 is better for both space and performance.
Currently wording is that they can only be used at the database and column level, but yes, they can also be used inline via the COLLATE keyword.
The collation Latin1_General_100_CI_AS_SC_UTF8 was not found.
PLEASE NOTE: Just because you can do this doesn't mean that you should do this. Given that the only way of setting an Instance to use a UTF8 Collation is via an undocumented method, it is quite possible that this has never been tested internally at Microsoft and is not guaranteed to work. It might work perfectly, or there could be unexpected behaviors. Use at your own risk.
When storing alphanumeric codes (e.g. airline confirmation codes, phone numbers, postal codes, etc), binary sorting and comparison is much faster since it ignores all linguistic rules, which is perfect for scenarios such as these where there is no expectation of applying such rules.
Please see consolidated issue list towards the bottom.
There is no desire to make the column VARBINARY(MAX), use COMPRESS() for INSERT and UPDATE operations, and use DECOMPRESS() for SELECT queries (no need to worry about lack of ability to index the VARBINARY value since it is MAX data anyway that cannot be indexed). Keep in mind that the Gzipped value will be much smaller than even the UTF-8 version of the string, though it would require decompressing before the value could be filtered on (outside of "=") or manipulated.
The benefits of reducing the size of backups and reducing the time it takes to backup and restore, and reducing the impact on the buffer pool, outweigh the cost of the likely negative impact on query performance (for both CPU and elapsed times). Just keep in mind that Backup Compression (available in Enterprise and Standard Editions) might help here.
Storing HTML pages is a good example of a scenario that fits this description. UTF-8 is, of course, the preferred encoding for the interwebs precisely due to it using the minimal space for the most common characters while still allowing for the full range of Unicode characters.
no ability to use Unicode Compression.
Given that it is not fun to change Collations for databases, I would strongly recommend against using the new UTF-8 Collations, at least not at the database level, and definitely not in Production. With the obviously missing binary versions, and 5 bugs found in only a couple of days of testing for this post (not testing a full, complex application), this feature is incomplete, and there might yet be more bugs / odd behavior. I would suggest, if it looks like it will take quite a bit of development time to fix these six issues, then perhaps just remove this feature entirely (no big loss as it provides very little, if any, benefit) and spend that time on one of the three items noted directly above (think of how many customers / projects would benefit from Data Compression working for off-row LOB / overflow data).
If you are going to use a UTF-8 Collation on one or more columns, make no assumptions about size reduction or better performance! Be sure to capture current size and performance stats while column is NVARCHAR, and then compare both after changing to UTF-8.
Here are some issues that you might run into when using a UTF-8 Collation at either the Instance level or Database level. These are most likely not bugs since they have been deprecated for a while now. Still, it is possible that you have legacy systems and/or 3rd party applications (some that you cannot change) using these features.
Of course, there is an easy work-around to these errors: for columns using either of these datatypes, use the COLLATE keyword to specify a non-UTF8 Collation (e.g. "COLLATE Latin1_General_100_CI_AS").
sys.fn_trace_gettable: The "TextData" column of the result set uses the NTEXT datatype. This should only be an issue when using a UTF-8 Collation at the Instance level.
have the _SC or _UTF8 flags.
Could not use view or function 'fn_get_sql' because of binding errors.
This should only be an issue when using a UTF-8 Collation at the Instance level.
You can use the following query to check your system to see if there are any columns using either the TEXT or NTEXT datatypes. This does not check either stored procedure / trigger / function / SQL Agent T-SQL job steps content to see if these datatypes are being used in temporary tables or table variables or permanent tables being created or altered, nor does it check T-SQL code submitted by anything outside of SQL Server (such as your app code). So be sure to test, test, test (which you were going to do anyway, right?).
Now, to be fair, these same quirks exist when using any Supplementary Character-Aware Collation (i.e. one with either "_SC" or "_140_" in its name) at the Instance or Database level.
Please note that the following query only reports objects for the database in which it is being executed (also, the two deprecated functions mentioned above will show up in all databases as they are global).
The documentation states that the "_UTF8" Collations do not work with In-memory OLTP. We can easily confirm that via the following tests.
Comparison, sorting, and manipulation of character strings that use a UTF8 collation is not supported with memory optimized tables.
Indexes on character columns that use a UTF8 collation are not supported with indexes on memory optimized tables.
Modifying the collation of a database is not allowed when the database contains memory optimized tables or natively compiled modules.
Data corruption in VARCHAR columns for characters with values 128 and above (i.e. outside of the standard ASCII set that ends at value 127). This affects "durable" memory-optimized tables (i.e. DURABILITY = SCHEMA_AND_DATA). For example, if the original Collation is Korean_100_CI_AS, then the byte sequence of "0xB15A" will produce "켣". If you then use this method to switch to any "_UTF8" Collation, you will end up seeing "�Z" because "0xB1" is an invalid byte sequence in UTF-8, and "0x5A" is valid and is the "Z" character.
After that, you will probably get the "Possible index corruption detected" error, even when using just the WHERE clause.
Keep in mind that indexes on memory-optimized tables cannot be rebuilt or even dropped. Fixing these issues requires dropping, recreating, and reloading any affected tables. Again, this (using UTF-8 Collations with memory-optimized tables) is not a supported configuration.
there is a very large potential here for customers to hurt their systems by misunderstanding the appropriate uses and drawbacks of UTF-8, and applying it to data that will end up taking more space and/or will be an unnecessary performance hit.
What that means is, existing applications using VARCHAR data will have that data stored in VARCHAR columns, use VARCHAR variables and parameters, and will have string literals that do not have an upper-case "N" prefix. Supporting Unicode would previously require changing the datatypes of columns, variables, and parameters to NVARCHAR, and string literals would need to be prefixed with an upper-case "N". It could take a significant amount of time to make and test those changes. By adding the UTF-8 collations, it will be possible to skip most of that work. Ok, sounds reasonable.
Of course, what is not being said is that there is still a significant amount of work entailed in changing the collations of ALL string columns, especially where indexes, foreign keys, defaults, check constraints, computed columns, etc are involved. In those cases you need to drop the dependent object(s) so that the column can be updated with the new collation. While there is an undocumented short-cut to all of that work, there is still A LOT of testing to do. I'm sure some people (maybe many?) will test with only their existing data and test cases, and that will be a huge mistake. Only the first 128 characters take up a single byte. But, the whole point of switching to UTF-8 is to support Unicode, so we need to assume that there will be characters being stored that were not available in the one code page that was previously supported. Not only will all of those new characters take up more than 1 byte, but even the second 128 characters from the original code page (which previously only required a single byte) will now require either 2 or 3 bytes (more on that in a moment). This means that a VARCHAR(20) column for a first or last name is no longer guaranteed to always store up to 20 characters. Now it will store up to 6 – 20 characters, depending on how many bytes each character requires.
So how many customers / potential customers does this scenario actually apply to? Definitely some, but I wouldn't think that many. To me, this does not justify the level of modification of the code base that's required to handle sticking Unicode in what has always been non-Unicode datatypes. Sure, at first glance it seems like an easy fit since it's still 8-bit data, but I think the complexity of this project was underestimated. And, I think that the long-term ramifications of adding "_UTF8" to the collation names hasn't been fully considered. Adding the UTF-8 collations was a 39% increase in the number of collations. Now, if another option is to be added later, there could be up to 3982 collation names to duplicate.
Of course, if your data is all standard ASCII then you will get the full extent of the space savings (often at the cost of performance), but that statement implies that it is all of code page 1252 that is eligible for the space savings, and that just isn't true.
This feature may provide significant storage savings, depending on the character set in use.
"Character set" is synonymous with "code page". However, which code page is being used has nothing to do with the potential for saving space (when moving to UTF-8) since the only characters that are a single byte are the same 128 characters that are the same across all code pages (at least all code pages available in Windows / SQL Server).
THE POINT IS: if Microsoft cannot communicate why the UTF-8 collations exist, what they do, when they should and should not be used, etc, then what chance do most users have of figuring out if they should use them or not?
Given the great potential for misusing this feature, I would have preferred to have either some other approach to the compatibility, or at least more time spent in planning and documenting before releasing these new collations. Maybe a startup-only trace flag to determine if you can access the UTF-8 collations. And, either don't mention the space-saving potential of UTF-8, or at least mention the restrictions and consequences of using them. And of course, handle the saving-space issue as an entirely separate project.
Please see new consolidated issue list below.
This CTP introduces the long-awaited BIN2 collation: UTF8_BIN2. This is a definite improvement over not having one, but there are a few issues that absolutely must be addressed.
No BIN collation to confuse people with.
Only one BIN2 collation; no BIN2 per each culture, which would have added no benefit and likely would have confused people wondering what the difference was between the various UTF8_BIN2 collations.
Version 80 used instead of 140. This is a problem because version 80 is missing 649 uppercase / lowercase mappings that version 140 collations have. This affects the accuracy of the UPPER and LOWER functions.
No culture name, so inconsistent with all other collations. Should be something like "Invariant" or "General", or even "Latin1_General_version#_" if need be (since the UTF8_BIN2 collation does have an LCID of 1033, which is "Latin1_General").
No version number in the name, so inconsistent with all other Windows collations.
Also, this CTP partially fixes the installation failure when selecting a Unicode-only collation for the instance / server -level collation. When the UTF8 collations were first allowed to be selected during installation, the setup process failed with a non-descript error and the instance was left in a partial, unusable state. You would have to uninstall and then try again. Now, the installation still gets an error, but the process gets much farther so the instance is usable. The setup failure does leave the instance in single-user mode, but you can stop it and start it up again. There might also be some installation steps that were never processed due to the failure, but I'mm not sure which ones, or even how many.
CTP 2.4 was released on March 26th, 2019.
This post will be updated in the next few days (hopefully by Tuesday, April 9th) to remove obsolete sections from the first few CTPs, consolidate recommendations / assesements, and add more context regarding the compatibility goal.
Because of the 1-byte representation of ASCII, many English-speaking users have come to regard UTF-8 as a compression format. This notion is puzzling to speakers of French and other Latin-script languages that use many non-ASCII characters, and ridiculous to users of almost every other script on Earth, for which UTF-8 uses at least one byte per character more than legacy encodings.
…UTF-8 stores Latin text in a compact form compared to UTF-16 but does not provide any advantages for other scripts or even uses more space. There are other Unicode charsets (for example, SCSU and BOCU-1) that are more efficient for storage and data exchange.
Please note that "SCSU" is the "Standard Compression Scheme for Unicode", and "BOCU-1" is the "MIME-compatible application of the Binary Ordered Compression for Unicode (BOCU) algorithm.
Previous Post SQLCLR vs SQL Server 2017, Part 8: Is SQLCLR Deprecated in Favor of Python or R (sp_execute_external_script)?
Next Post SQLCLR vs SQL Server 2017, Part 9: Does PERMISSION_SET Still Matter, or is Everything Now UNSAFE?
As someone who has dedicated hours of personal research into understanding the differences between Unicode and UTF-8 in general, and with Sql Server in particular, your opening paragraphs are fantastically clear and well explained. Much appreciated. Working with federal data that is english only, we too have been plagued with the issue of 99% of strings are varchar but occassionally some esoteric hawaian characters not covered by the Latin collation show up. Here's hoping the Sql Server team addresses the issues you found and get's this right before final release.
It's worth mentioning that ISO has some conventions where their encodings, such as metric units, have to use the basic Latin alphabet and a set of punctuation marks, which are roughly UTF–8. Unicode is required to support this little subset in all of its languages, so that standard encodings can be used anywhere on earth.
Hi Joe. I think you are misstating / misunderstanding what is going on here. I thought I had pointed out how the 1-byte range of UTF-8 (which is really only half of what 1 byte can represent) is exactly the same as 7-bit US-ASCII. It seems that I did not include that info before, but I have updated in a few places to be clearer about that association. That range, especially values 32 – 126 (see the chart just above the "Setting and Storing UTF-8 Values" section), are common across most code pages / character sets. That commonality across code pages is what made those particular characters become the only allowable characters across many standards and RFCs, many of which were published prior to the existence of UTF-8, which came out circa 1996. For example, the RFC for SMTP, published in 1982, was updated in 2008 and still refers to US-ASCII: RFC for SMTP (search for "ascii").
One of the design requirements of UTF-8 was that it work seemlessly on existing systems (UNIX in particular), without needing to convert any existing text files. This is why characters encoded using just the first 7 bits of UTF-8 match exactly to the 7-bit US-ASCII encoding. So it's not that the subset is "roughly UTF-8", since UTF-8 can encode the entire 1.1+ million character range of Unicode; it's that a subset of UTF-8 is exactly standard ASCII.
Also, Unicode doesn't have languages; it has encodings. And there are only three (mainly): UTF-8, UTF-16, and UTF-32. But, due to endianness, both UTF-16 and UTF-32 have two different physical representations, making it 5 encodings in practice. BUT, it is only UTF-8 that has the ability to encode that subset of characters to be physically the same as 7-bit standard ASCII. For example, Latin Upper-case "A" is 0x65 in both US-ASCII and UTF-8. Yet it is either 0x0065 or 0x6500 in UTF-16, depending on endianness. While the non-zero byte of UTF-16 is the same as the only byte in UTF-8 and US-ASCII, it's still 2 bytes vs 1 byte, and that makes a big difference when parsing a series of bytes.
Finally, it is not the encodings that are standard (since there are 5 of them). It is the character set of Unicode that is truly standard, as it is the same across all 5 encodings. For example, "Upside-Down Face" is Code Point U+1F643 across all five encodings (see here – scroll down to the "Encodings" section).


It just so happened the trio of senior gymnasts from different schools saw their friendship – and high school careers – come full circle on Wednesday in a tri-meet between MADS, Natick and Wellesley at Gymnastics Express.
NATICK — Eva Canino, Ali Keaveny and Gabby Reed share a common thread.
They're senior captains. They're gymnasts. And they're friends.
Canino and Reed met in fifth grade with the Gymnastics Express club team while Keaveny joined the club team her sophomore year, when she met Reed.
Natick and MADS train together once a week during the high school season, and last year the two teams trained together twice a week – sparking a bond between Canino and Keaveny.
So on Wednesday, after the trio of gymnasts were honored in a pregame Senior Night ceremony, the three friends competed against one another.
MADS won the tri-meet with a total of 137.85 points. Wellesley (133.7) placed second while Natick came in third with a total of 130.4 points.
Keaveny competed in the vault (8.9), bars (7.7) and floor (8.5). Reed performed on the vault (7.85), bars (7.6) and floor (8.15) and Canino did the All-Around with impressive scores on vault (8.8), bars (8.2), beam (9.4) and floor (9.15).
No matter the result, the three gymnasts from different schools shared a regular season finale at the same place they all met one another.
"Kind of finish it where we started," Keaveny said.
Reed serves as the glue between Keaveny and Canino. The latter two admit they are better friends with the former. No offense, of course.
They all, however, share the same dry humor. A wit something current MADS coach and former Gymnastics Express club coach Jennifer Libin is all too familiar with.
The personalities of the three gymnasts were on display throughout Wednesday night's meet. Canino's best performance came on the balance beam – with a score of 9.4 – and before she dismounted the Natick senior pulled off a bit of an arm wave.
What do you call that move Canino?
As for Keaveny, her floor routine featured a unique dance move en route to an 8.5 score.
What's the name of that dance move Keaveny?
The floor exercise is the favorite of the four routines for Canino and Reed.
As for the quieter of bunch: Keaveny prefers the vault.
Although the trio of tumblers are pretty good at gymnastics, the three senior captains won't be performing gymnastics in college.
But two of them – in Keaveny and Reed – will spend the next four years together at the College of the Holy Cross.
And they may join the Crusaders' dive team.
"We've both dove before," Reed said.
And what Libin saw on Wednesday was three of her former, and current, gymnasts come full circle at the place where their friendships all started.


text:
package ru.sigma.test.classes.concurrency;

/**
 * Created with IntelliJ IDEA.
 * User: emaltsev
 * Date: 28.11.13
 * Time: 13:17
 * To change this template use File | Settings | File Templates.
 */
public class SynchronizedRGB {

    private int red;
    private int green;
    private int blue;
    private String name;

    private void check(int red, int green, int blue) {
        if (red < 0 || red > 255
                || green < 0 || green > 255
                || blue < 0 || blue > 255) {
            throw new IllegalArgumentException();
        }
    }

    public SynchronizedRGB(int red, int green, int blue, String name) {
        check(red, green, blue);
        this.red = red;
        this.green = green;
        this.blue = blue;
        this.name = name;
    }

    public void set(int red,
                    int green,
                    int blue,
                    String name) {
        check(red, green, blue);
        synchronized (this) {
            this.red = red;
            this.green = green;
            this.blue = blue;
            this.name = name;
        }
    }

    public synchronized int getRGB() {
        return ((red << 16) | (green << 8) | blue);
    }

    public synchronized String getName() {
        return name;
    }

    public synchronized void invert() {
        red = 255 - red;
        green = 255 - green;
        blue = 255 - blue;
        name = "Inverse of " + name;
    }
}


A mobile billboard is a device within the marketing practice of advertising on the side of a truck or trailer that is typically mobile. Mobile billboards are a form of Out-Of-Home (OOH) Advertising. Radio, static billboards, and mall/airport advertising fall into the same category. Using a mobile billboard for advertising is an advertising niche called mobile outdoor advertising.
Most mobile billboards are dedicated, customized trucks with large, but narrow, bodies for posting the advertisements. Some of these dedicated units offer features such as external sound systems, illumination, and hot/cold boxes for product sampling. This type of mobile billboard is the most popular among vendors, and the most capable in terms of gaining exposure and quick deployment. An innovative development of mobile billboards are dynamic advertising trailers called SkyBoard to hoist large format vinyl banners up to 4000 sq.ft.
Another trend is to use smaller but more distinctive looking mini mobile billboards often based on the Daihatsu Midget from Japan as it is a very rare and unusual looking vehicle in Europe and the USA, these one-seater vehicles have a very short wheelbase so they can be parked side on so the large advertising panels on the side are facing the traffic flow, this and the fact that they are such unusual looking vehicles makes them very effective advertising tools.
Some mobile billboards are installed on trucks and trailers that are in service delivering goods. This form of mobile billboards can be less expensive than dedicated trucks, but may also have less impressions because the trucks spend more time at docks loading and unloading their goods.
Box-type trucks with glass panels enclosing the cargo space can be turned into a 3-D display. Many companies use these trucks for parades, product launches, furniture displays, and general rapid awareness creation. Anything can be placed inside of the boxes.
More recently, for micromarketing campaigns, small engine scooters have come into play. The small scooter is used to pull a tall and narrow signage. This form has become a very effective intercity advertising method for Atlanta, Georgia.


text:
Novel Determinants and Measures of Smokeless Tobacco Use
Investigators are examining brands of U.S. smokeless tobacco products' different levels of nitrosamines, other carcinogens, and nicotine, on existing and novel biomarkers of exposure and effect.
Herbert Severson
In this subcontract with the University of Minnesota, Severson and team are examining brands of U.S. smokeless tobacco products' different levels of nitrosamines, other carcinogens, and nicotine, on existing and novel biomarkers of exposure and effect. This study will determine factors that moderate the extent of exposure other than the levels of toxicants. Study 2 will determine the effects of switching ST users to lower levels of TSNA and differing levels of nicotine.
Recently Completed
Entire List of Projects
By Project Status Active and Recruiting Active and Not Recruiting Completed By Funding Agency Agency for Healthcare Research and Quality (AHRQ) Centers for Disease Control and Prevention (CDC) Environmental Protection Agency Fogarty International Center/NIH Institute of Education Sciences, U.S. Department of Education Internal ORI funding National Cancer Institute (NCI) National Center for Complementary & Alternative Medicine National Heart, Lung and Blood Institute (NHLBI) National Institute of Alcohol Abuse and Alcoholism (NIAAA) National Institute of Child Health and Human Development (NICHD) National Institute of Dental & Craniofacial Research National Institute of Diabetes and Digestive and Kidney Diseases (NIDDK) National Institute of Environmental Health Sciences (NIEHS) National Institute of Mental Health (NIMH) National Institute of Neurological Disorders and Stroke (NINDS) National Institute on Aging (NIA) National Institute on Drug Abuse (NIDA) National Institute on Minority Health and Health Disparities National Science Foundation United States Department of Education University of Kansas from DHHS Health Resources and Services Administration (HRSA)
Research Areas:
← Back to Keyword Search
Effects of CIRCLES on the Provision of Transition Services and the Resulting Transition Outcomes for Students with Disabilities
Mechanisms of Depression and Anhedonia in Adolescents: Linking Sleep Duration and Timing to Reward- and Stress- Related Brain Function
Parent-Child Interaction Dynamics Mediate Genetic and Prevention Effects on the Development of Adolescent Substance Use Disorders


When a company releases their annual reports, or financial earnings, a specific part that's most looked at, is none other than earnings, or net income.
I mean, yes. It's important, because earnings affect Earnings Per Share, which affects the Price Earnings of the stock and other profitability ratios such as Return on Equity and Return on Assets.
But I'm telling you, as much as it is important for us to look at net income, it can be easily manipulated.
Too easy if you ask me.
That's because elements that make up net income can include "one off gains", "other income" and other accounting engineering to boost this figure to beautify the income statement.
Operating cash flows however takes a stricter approach to measuring the quality of the operational profits, and it is much harder to manipulate compared to Net income.
Accrued earnings generally come from accrued sales, where sales are booked and accounted for in the income statement, but not yet received.
This will in turn translate to accrued earnings, which will help boost the different profitability metrics mentioned above.
The operating cash flow will flag such elements and purely take into consideration of cash actually received, so naturally, the accrued earnings will not be included, and thus more conservative as a figure.
Therefore if you see net operating cash flow lesser than net income, you need to start realising that there could be something wrong with the cash cycle, and there might be a need to look at the revenue recognition policy of the company.
Apart from helping you flag the possible manipulation done to the income statement, consistency in operating cash flow, especially when it's consistently positive and higher than the net income, will tell you that the operational earnings are of "quality".
Also, a consistency of positive operating cash flow figures will probably help you sleep better at night.
For comparison purposes, you can also use price/operating cash flow (P/CF) ratio as a metric when you compare a company to its peers.
The important factor to see if the P/CF is a positive one. This will give you a quick insight to see which companies are the cash burners, and which are the better ones in your comparison.
Operating cash flow, though stricter and more conservative then net income, can still be manipulated, although a lot harder.
This is still a better number to look at compared to net income alone and can also serve as a quick metric for you to screen stocks.
We will talk about Free Cash Flow in the next article and why it should be part of your investment arsenal.