text:
Moving Germany back to Center Stage – Merkel's Challenge
By floordoppenJanuary 9, 2006Article, Atlantic Eye
January 9 (UPI) — Chancellor Angela Merkel arrives in Washington at a most opportune moment. The Bush administration desperately needs a European anchor, without many candidates to choose from; while Germany anxiously seeks to get beyond the frayed relationship of the Schroeder years.
Angela Merkel is Germany's first woman Chancellor, and the first from the former totalitarian and communist GDR (East Germany). She is the result of the symbiosis of repression and freedom. She spent the first 36 years of her life in a system in which fear was ever present. She would say of herself, "I learned to hone my skills at disguising my thoughts and feelings a necessity not to attract the STASI (the notorious Secret Police) and especially for a pastor's daughter."
I remember Angela Merkel as Chancellor Helmut Kohl's Minister for Women and Youth after unification in 1990. At 36, she was his youngest Cabinet Member. Later, in 1994 she would become Minister for the Environment, where I would have a chance to meet her. My first impressions were mixed, but certain characteristics stood out.
She is a contradiction. She values freedom and liberty, words constantly invoked in speeches by President Bush. Yet, she was a member of the communist-led Freie Deutsche Jugend (FDJ) and was Regional Secretary for Propaganda at the East German Academy of Sciences. Nonetheless, she did not
take the secular Jugendweihe, common in GDR – and usually a necessary right-of-passage- but was confirmed instead. She is a Protestant, divorced and has no children in a Party that is Catholic, male-dominated and socially conservative.
Merkel has a great interest in cooperation, it is her style – she is a consensus-builder. She is self deprecating, once saying, "Anyone who really has something to say doesn't need make-up." She is often underestimated, with a some-what frumpy image. She did not come from nowhere, having been
hand-picked by Helmut Kohl after the fall of the wall. She slowly and methodically worked her way-up the Conservative Party (CDU) hierarchy serving as Secretary General and later Majority Leader. She is the consummate political foot soldier, having given-up a chance to run for Chancellor in 2002 to Bavarian Premier Edmund Stoiber.
She arrives in the United States with many expectations, some of which she cannot possibly fulfill without tackling Germany's enormous domestic agenda. German foreign policy can only work, that is her ability to be a full partner with the United States, if she can get her domestic agenda in order. While Germany's economy has begun to show sign's of strengthening, there a several key domestic issues she must tackle – health care, the national pension scheme, flexibility in employment and taxes. This is not an easy challenge in a coalition with the left-of-center Social Democrats (SPD) whose natural constituency is mostly opposed to market flexibility.
But foreign policy and domestic policy are just portions of a single responsibility facing the new Chancellor of Germany. The fact is Chancellor Merkel must dance at 3 weddings simultaneously – Europe, Germany and Internationally. She is not just visiting Washington as German Chancellor, she is also representing Europe – with all its complications – and with an expectation that she can deliver internationally.
Chancellor Merkel must enunciate clearly issues important to the United
1) She must show resolve towards Iran, and condemn their nuclear program. She should articulate a clear policy for Germany towards the Middle-East.
2) She must present a clear picture of how she intends to wean-away Germany from dependence on Russian gas and oil. At the very least, to have options that will-not allow President Putin to once-again use energy in an attempt to bribe European countries.
3) She must reinvigorate the transatlantic alliance with a series of long term proposals for US-German and US-European cooperation, showing why Germany is the right partner in the European sphere. (She has a perfect opportunity to outline her vision and collect ideas at a public policy session hosted by the German Council on Foreign Relations (DGAP) and the American Council on Germany with forty transatlantic experts including Markus Meckel and Fritjof von Nordenskjold as part of her 24 hour visit).
4) It is acceptable to criticize the United States on Iraq, but it is more effective to offer help. This requires that Germany clearly define its security and defense policy, and shows a willingness to invest in defense
spending. A friend, and the Bush administration must accept this, has the right to criticize, and Merkel should not be a lap-dog, but a reliable partner also offers constructive criticism with proposals.
Chancellor Merkel has a unique opportunity to jump start a damaged relationship. Germany needs the United States and has a great interest in helping the United States improve its image. During the Cold War Germany was a reliable and trustworthy partner – a true friend. It still is.
A night ago, I had a drink with a German Diplomat who said Merkel's task reminds him of a well-known saying in German Foreign Policy, "the impossible we can deliver immediately, wonders take somewhat longer."
Let us not just wish Chancellor Merkel the best. Let us be her friend.
Marc S. Ellenbogen is President of the Prague Society


Designed and produced by Winky Lux by 32Square.
Winky Experience store - the new face of retail. Customers experiment and try on Winky product as they move through immersive product rooms and stories. Lenox Square (Atlanta, Georgia).
Designed and produced by Winky Lux and 32Square.


text:
Mississippi advances bill to ban 'sanctuary' policies
Adam Sabes Mississippi Senior Campus Correspondent @asabes10 on Mar 09, 2017 at 1:14 PM EDT
The Mississippi House of Representatives has passed a bill that would prohibit state agencies, including public colleges and universities, from adopting "sanctuary" policies to shelter illegal immigrants.
The amended bill is expected to be approved by the Senate, after which Gov. Phil Bryant has indicated that he will sign it into law.
Mississippi lawmakers are moving forward with legislation that would effectively ban "sanctuary campus" policies by forbidding public universities from concealing students' immigration status.
Senate Bill 2710 aims to prevent any state agency, including public colleges and universities, from sheltering illegal immigrants from federal enforcement or investigative efforts, declaring that such entities may not "adopt, or implement a policy, order, or ordinance that limits or prohibits any person from communicating or cooperating with federal agencies or officials to verify or report the immigration status of any person."
"We are going to pass a law that says you can't have sanctuary cities in Mississippi."
In addition, the bill also explicitly states that any such government entity that "grants to any person the right to lawful presence or status within the state, a county, or municipality, or the campus of a university, college, community college, or junior college" will be in violation of state or federal law.
[RELATED: Sanctuary campus leaders admit that colleges can't ban ICE]
SB 2710 passed the Senate in February, and was approved in amended form by the House of Representatives Wednesday, bringing it one step closer to the desk of Republican Gov. Phil Bryant, who has indicated that he intends to sign it into law.
"We are going to pass a law that says you can't have sanctuary cities in Mississippi, so that you can't hide these individuals from immigration and customs," Bryant stated unequivocally in an interview with Fox News.
Republican State Rep. Steve Hopkins, who serves on the House Universities and Colleges Committee, told Campus Reform that the legislation is actually fairly straightforward, explaining that "SB 2710 is a bill that would require that all state-funded agencies, municipalities, and colleges and universities abide by State and Federal immigration laws and that they can not make policies that would be contrary to those laws."
[RELATED: VIDEO: Sanctuary campus supporters willing to ignore other laws]
State Rep. Rob Roberson offered a similar take, telling Campus Reform that "the bill is simply reflecting federal law and reiterates it in state law," and can even be considered as a simple "policy statement from the legislative government office."
[RELATED: Ole Miss student senator faces calls for resignation after supporting state flag]
If a university were to violate any of the conditions of the bill, however, Hopkins noted that "charges could be brought against the administration for not adhering to State and Federal laws," though he does not expect matters to reach that point.
SB 2710 comes just a few months after an attempt by University of Mississippi student senator Allen Coon to pass a bill recommending that the administration declare the campus a sanctuary for illegal immigrants, an effort that was called off before it even officially began after a draft of the resolution was leaked, prompting a flood of correspondence from outraged conservatives.
According to the Associated Press, in fact, the bill would only override one existing policy in the state, a municipal ordinance adopted by the city of Jackson in 2010 that forbids police officers from inquiring about immigration status.
Hopkins told Campus Reform that he does not expect the state legislature's bill to face any hurdles before being signed into law, though the Senate still must approve the House version before it can be sent to Gov. Bryant.

redpajama_set_name: RedPajamaCommonCrawl


Lovely post, and so true! Wishing your friend and her dad well. Fitting. We just walked through an antique mall the past hour, slow stroll down memory lane. Bought a stoppered flask for ginger syrup for myself, sold to me by a man whose grandfather had a brewery in Germany, and a Staffordshire Mayflower plate for A whose father's ancestor came here on that fine ship in 1620. Don't know the name but will find out somehow.


LivingStrands is a national wholesale distributor for high quality Scarves, Shawls, and Pashimna. We offer unique designs to keep up with current trends by incorporating art, simplicity, and nature. We take pride in quality, so we enforce strict guidelines during our manufacturing period to provide our customers with the highest quality at very competitive prices. Why Choose Us? * We treat every single one of our customers as partners so their trust and satisfaction is our top priority. * Product pictures will be provided upon request. * "Samples" are provided upon request, since we truly believe that our scarves speak for themselves. * Competitive prices for high quality scarves, shawls and Pashminas.
1001 Figueroa Terrace #308, Los Angeles, Los Angeles, California.


text:
Landslip between Woking and Basingstoke // Disruption to buses in the Yeovil area - Click for more information - Last updated: 10:19 AM
London Road (Guildford) to Shelford (Cambs)
Trains from London Road (Guildford) to Shelford (Cambs)
If you're returning, check train times for Shelford (Cambs) to London Road (Guildford).
Cheap train tickets from London Road (Guildford) to Shelford (Cambs)
London Road (Guildford) station
We know it's important to plan ahead, so whether you're making a local trip or heading on a cross-country adventure, find out everything you need to know about facilities at London Road (Guildford) station. From Wi-Fi availability and toilets to ticket machines and customer help points, check out what you can expect to find at London Road (Guildford) station before you make your trip to Shelford (Cambs) station. Plan your trip to and from the station and find out more about accessibility and mobility access to make your journey as seamless as possible.
Trains from London Road (Guildford)
London Road (Guildford) to London Waterloo
London Road (Guildford) to Guildford
London Road (Guildford) to Wimbledon
London Road (Guildford) to Leatherhead
London Road (Guildford) to Woking
Trains from Shelford (Cambs)
Shelford (Cambs) to Lymington Town
Shelford (Cambs) to Crewkerne
Shelford (Cambs) to London Waterloo
Shelford (Cambs) to Tottenham Hale
Shelford (Cambs) to Stansted Airport


US Secretary of State John Kerry will present a written framework agreement next week for peace between the Israelis and Palestinians, a senior Arab League official said Sunday, while unveiling what he said were Palestinian demands for a final deal.
Arab League Assistant Secretary General Mohammad Sbeih said that Palestinian Authority President Mahmoud Abbas and other Arab officials revealed to an Arab League meeting of foreign ministers that Kerry would present the plan on December 31, according to a report in the Palestinian Ma'an news agency.
Abbas told the meeting that he would not respond to the Kerry proposal immediately, but would instead present it first to Arab countries in order to come to a joint decision.
Many of the demands Abbas is said to be making for a permanent accord, meanwhile, run counter to reported Israeli requirements for a deal.
Israel has been demanding that the PA recognize Israel as a Jewish State, for instance, which Abbas will refuse, according to the report.
Israel has also insisted upon the continued presence of Israeli troops in the Jordan Valley. Sbeih said that Abbas would not agree to even one Israeli soldier on the Palestinian-Jordanian border, but that he would be open to an international force stationed there — something Israel's Prime Minister Benjamin Netanyahu has rejected.
Sbeih also indicated that Abbas refuses to acquiesce to a completely demilitarized Palestinian state.
Abbas would consent to a three-year Israeli military withdrawal process from the territories, according to an agreed upon timeline, the Arab League official said.
The PA president would demand control of all East Jerusalem, which would become the Palestinian capital, and would also be open to one-for-one land swaps to adjust the Green Line, provided the territory to be swapped was of equivalent value.
Under heavy US pressure, Israel and the Palestinians resumed negotiations in July after a three-year hiatus. The sides have reportedly met more than 20 times since and Kerry has traveled to the region no fewer than nine times in recent months to further talks, though officials have reportedly complained that talks are at a dead-end.
Kerry has been pushing for a framework agreement that would outline particulars of a permanent status accord to resolve core issues — Israeli security, Jerusalem, the borders of a Palestinian state, and the Palestinian refugees.
According a Sunday report from the London-based Arabic-language newspaper Asharq Al-Awsat, Kerry has already made arrangements for the visit to the region during which he will offer his solution.
An unnamed source informed the newspaper that Abbas told members of the Arab League that the US is seeking to salvage peace talks that, according to persistent reports, are on the rocks. Abbas reportedly said that hotels and venues have already been booked for Kerry's entourage, which is due to arrive before the end of December.
As a preliminary step to the agreement, Kerry proposed a security plan earlier this month to mollify Israeli concerns about control over the Jordanian border and Jordan Valley area.
Among its key elements, the US security plan reportedly provides for a series of border crossings along the Jordan Valley border between the West Bank and Jordan which would be jointly controlled by Israel and the PA. The entire border itself, however, would remain under full Israeli control, for the next 10-15 years, with the IDF joined only by a symbolic Palestinian security presence.
The US, under the proposal, would provide an additional security "envelope," which would utilize drones and other high-tech equipment to provide real-time intelligence on any terrorist threats and other unlawful border activity.
On Saturday the Arab League rejected the security plan at an emergency meeting of its foreign ministers in Cairo that was called by Abbas.
Kerry was last in the region earlier this month as Israel and neighboring countries were hit by a severe winter storm. He met with Netanyahu, President Shimon Peres and Abbas.


text:
by Lily Merritt | Feb 5, 2020
Advocating for Youth-Friendly Cities Community Gatekeepers
Gatekeepers are people who have influence or control over youth access to healthcare: for example, husbands, community and religious leaders, parents, mothers-in-law, and male relatives. Community gatekeepers can strongly influence the value systems of those around them. The support of these gatekeepers can be crucial for youth—particularly young women—to understand their reproductive health and rights, and increase demand for contraceptives and other sexual and reproductive health (SRH) services. Advocacy efforts aimed at gatekeepers can enhance community support in promoting a safe and supportive environment for adolescent and youth sexual and reproductive health (AYSRH), which in turn allows for effective demand generation activities that not only provide youth with AYSRH information but also link them to contraceptive services.
Supportive community gatekeepers enable better AYSRH: When community gatekeepers better understand SRH issues facing youth, they can help address misinformation around contraception, reduce stigma and shame around contraceptive use among adolescents and young people, and address ambiguous policies that result in service providers acting on personal bias.
Acceptance of youth sexuality results in greater access to preventive health services: Community acceptance of youth's SRH needs and right to access services allows them to be more proactive in protecting their own health.
Step 1: Identify key community influencers / gatekeepers
In the case of Nigeria, TCI has used a net-mapping exercise. The net-map exercise is a social network analysis that uses participatory interviews to help people visualize, discuss, and improve programs or interventions by focusing on different actors who can influence the outcome of these interventions. Net-mapping is referred to as "Influence Mapping" because it helps people understand the complexities of a situation, then supports them to identify formal and informal networks, bottlenecks, and reasons for the success or failure of a program like AYSRH.
In other TCI-supported cities, focus group discussions with youth have been conducted.
Although each city is unique, TCI identified the following frequently reported gatekeepers across cities: mothers-in-law, teachers, religious leaders, and parents, as well as other youth.
Step 2: Identify the best platforms for engaging them
TCI promotes a number of proven approaches that promotes a safe and supportive environment for youth:
At the governance level At the community level
Establishing and strengthening the following platforms and ensuring youth representation:
● Program Implementation Teams
● Quality Improvement Teams
● Advocacy Core Groups
● AYSRH Technical Working Groups
● Facilitating community and intergenerational dialogues
● Strengthening women's groups (Mahila Arogya Samitis)
● Developing messages for mothers-in-law, young men as partners and religious leaders
● Identifying and training family planning or AYSRH champions in SMART advocacy to extend the reach of their messages to their stakeholders
As a result of the net-map findings in Niger State, TCI made advocacy visits to principals in nine secondary schools in three local government areas (Bida, Suleja and Lapai) to sensitize them to the importance of life planning for adolescents and youth. TCI also identifies youth religious leaders and advocates for them to become LPAY champions, providing them with training using the following tools developed by the Nigeria Urban Reproductive Health Initiative:
Christian Perspective on Reproductive Health & Family Planning in Nigeria
Christian Sermon Note on Childbirth Spacing/Family Planning (CBS/FP)
Islamic Perspective on Reproductive Health & Childbirth Spacing in Nigeria
The Islamic Sermon Notes on Childbirth Spacing in Nigeria
TCI in Francophone West Africa also engages religious leaders to promote AYSRH among their congregants through their sermons and counseling of their members, as well as strengthens the capacity of community relays (similar to community health workers) to counsel clients on AYSRH issues during their household visits.
In East Africa, teachers have been identified as a key source of influence. Unknowingly, they may be a barrier to youth's uptake of a contraceptive method due to their own misconceptions. See this story about a TCI youth champion in Kenya improving her school environment by helping to sensitize teachers with accurate information about contraceptives.
In India, family decision-makers, such as mothers-in-law and husbands, are often engaged during demand generation activities conducted by urban accredited social health activists (ASHAs).
Story from India: Influencing the Influencer
Pooja with her mother-in-law Pooran Devi
For the past two years, Laxmi has been working as an accredited social health activist (ASHA) in the Ramnagar area of Firozabad. Laxmi organizes community meetings for health awareness and promoting family planning (FP) services, and during one such meeting she met Pooja, a young mother with an infant. Pooja'shusband was a daily wage earner and due to financial constraints, the couple did not want to have another child for another three years.
After the group meeting, Laxmi visited Pooja's home where she sensed that all decisions in the household, including what to eat and what to wear, were made by her mother-in-law — Pooran Devi. Pooran Devi was against the use of contraceptive methods, and she prevented Pooja from adopting any method immediately after the birth of her son.
Read more about how Laxmi built a relationship with Pooja's mother-in-law to help Pooja access family planning services.
Step 3: Plan a gatekeeper approach
Adapt to the local environment: Even the most successful programmatic approaches will need to be adapted for context, including local customs, traditions, power dynamics, gender norms, and available platforms.
Create an enabling environment: Activities should aim to change the community environment in which youth live, promoting protective factors and removing barriers to beneficial behaviors.
Encourage meaningful youth involvement and engagement: In all contexts and environments, when youth are actively engaged throughout the entire process—from design, to implementation, to monitoring and evaluation—they are more likely to participate, share, and feel ownership over a project or initiative.
There is evidence that in order to increase young people's access to preventive health care, including contraceptive services, community support and acceptance activities are as necessary as supply-side activities like training service providers. Interventions directed at influencing the SRH behaviors of adolescents are significantly enhanced where there are complementary interventions for parents, providers, religious leaders, and other influential adults who can foster a supportive environment in homes, health facilities, schools, and places of worship.
Community Pathways to Improved Adolescent Sexual and Reproductive Health documents a quasi-experimental study conducted in Nepal. The study tested the hypothesis that involving communities (particularly youth and adult gatekeepers) would result in better health outcomes. The findings clearly demonstrated that the intervention with significant community participation yielded more positive results than the control sites; the most apparent results were changes in community norms and values that influence AYSRH.
Religious leaders have proven to be integral to disseminating information as uncovered in TCI's predecessor project, BMGF-funded Urban Reproductive Health Initiative (URHI):
NURHI facilitated the establishment of an interfaith platform for Muslims and Christians to interact and understand the importance of family planning based on their faiths, thereby supporting FP uptake at the community level.
Nairobi Tupange worked with Christian leaders who became FP champions in their communities, informing their congregations of upcoming activities and making their churches available as outreach sites.
The four URHIs developed materials based on the Quran, including support for family planning in general and birth spacing specifically.
Community support has been found to improve condom usage in slum areas of Ibadan municipality in Nigeria; knowledge and access were not issues, while young people identified social support as crucial to their usage.
Gatekeepers who can have control over youth access to healthcare include:
Parents and mothers-in-law
Religious and community leaders
Community gatekeepers can help to reduce the stigma and shame around contraceptive use in adolescents and young people.
Interventions directed at influencing the SRH behaviors of adolescents are significantly enhanced where there are complementary interventions for parents, providers, religious leaders, and other influential adults who can foster a supportive environment in homes, health facilities, schools, and places of worship.
People will change their beliefs quickly and do not need time to process new information.
Expand the definition of community to include females who influence young women's healthcare, including mothers-in-law, co-wives, and close friends.
Inform/educate parents, teachers, faith leaders, and other community members on issues related to AYSRH, and train them to disseminate information regarding sexuality and SRH within their homes, communities, and congregations.
Facilitate community dialogues to provide community members with a structured discussion guide, including a specific topic for consideration. Provide a space for open, safe discussion, then allow time for members to absorb and process new information before reconvening.
Changing long-held beliefs is not easy or quick, so it's important to leave ample time before follow-up.
Engaging Men and Boys in Gender Equality and Health: A Global Toolkit for Action, Promundo, MenEngage Alliance and UNFPA
Advancing Male Engagement in Family Planning + Reproductive Health: An Advocacy Tool
Similar Interventions:
East Africa's Community dialogues
Nigeria's Intergenerational dialogues
India's Strengthening women's groups (Mahila Arogya Samitis)


The palace is built on a succession of small arches extending across the width of the first terrace. Only the lower story is left, the rest of the building having been destroyed by a fire a few years ago. A road and an ugly rubble wall shut out the terrace and turfed wooden bridges across the canals, and spoil the whole effect, which must have been most impressive when the palace walls formed the southern garden boundary, backed by the dark pines on the cliff behind the spring. The main canal is about twelve feet wide, and is crossed by a second watercourse running immediately under the building. The garden has been a large one, although it is somewhat difficult to make out the whole plan. At present the first terrace is alone enclosed, but a broken water-chute leads to a lower level, and a big hummum with stone - edged platforms and other buildings can be traced on the east side.


For Fall 2015, MAC Cosmetics will be releasing its Vamplify Collection, featuring a new selection of super dramatic, high-pigmented Lipgloss and Pro Longwear Lip Pencils to match. I was lucky enough to get a preview of the entire collection last month and came away with a few colours to test out for myself.
The new Vamplify Lipglosses are, in a word, amazing. They are creamy, extremely pigmented and feel very comfortable on thanks to the combination of natural oils in the ingredients. Unlike MAC's lipglasses, they provide shine without any stickiness. I would actually liken these glosses more to liquid lipsticks since you get a lot of colour in only one swipe. Plus, they smell like vanilla cupcakes! Seriously decadent.
Some new limited edition Pro Longwear Lip Pencils have also been released with the Vamplify Collection. Not only do they provide good coverage and make excellent bases for any accompanying gloss or lipstick, they are incredibly long-lasting. In fact, I had to put in a lot of effort to remove them! I personally wouldn't wear them alone, however. The formula is drying so any lines or patches will be accentuated and and lips feel very "tight" without anything on top to add some moisture. Paired with the Pro Longwear Lip Pencils, you can expect to extend the wear time of the Vamplify Lipglosses by quite a bit.
Rebellious is a burgundy plum which ordinarily I would pair with a similar berry or plum shade. Unfortunately I didn't have one so I decided to experiment with Speed Up instead. Speed Up is a bubble gum pink shade (very Barbie-like) and layered over Rebellious you get a cooler-toned effect.
Voltage, a coral salmon shade, and Everybody's Talking, a bright coral, are a match made in electrifying coral heaven. Together, they remind me of one of my favourite MAC lipsticks, Vegas Volt. I know it's almost Fall but this makes such a good summer lip.
He Said, She Said is not a true red but more of a brick colour with brown undertones. Layered under Tease Don't Touch, an intense true red, you still get a very classic look... which I'm apparently now into, as evidenced by this recent post.
Find the MAC Vamplify Collection online now and on-counter September 3.
Yowza! Those are super pigmented. Gorgeous lips!
So true! I bet they are supposed to go together, hence the names. Kind of like Voltage and the MAC lippie Vegas Volt.
Wow! Talk about high pigment! I can't get over how gorgeous they all look on you! I just got an email about this collection so I'm going to take a peek. I don't go to MAC often, but when I do, I splurge.
A trip to the MAC store can be bad news for the wallet, haha!
Love the combination of Voltage and Everbody's talking the most!
It's so fun, isn't it? I love it too!


Hula hoops to help you with a diet, but Hooping alone is not enough to lose a few pounds, to keep fit and to bring his body back to new life. A balanced diet is essentially important here. We want to give you a brief overview on this page.
Fat is certainly essential, but no longer plays the fat as the largest energy reserve of our body today the role that ensured the survival in times of famine evolution.
On the contrary, the now almost ubiquitous fats are often used in combination with empty carbohydrates, the main cause of overweight and obesity.
The consequences are not only - ugly - visible, but extremely hazardous to health; so are overweight and obesity, together with the vessel deposits formed by the Western world, the cause of heart attack and stroke.
Currently ongoing research on the relationship between obesity, high blood fat and cancer suggest that here causal relationships exist, but these are not yet fully clarified scientifically.
However, we must distinguish between animal fats and vegetable fats.
Our bodies decomposed animal and vegetable fats into fatty acids. But here there is one crucial difference: the vegetable fatty acids are essential, ie the body can not produce itself constantly, so we will have to perform to complete and balanced nutrition our bodies. We now know that the essential fatty acids Omega 3 and Omega 6 strengthen the immune system and represent an optimum contactor for our tissues.
In contrast, fatty acids from animal fats are non-essential, which means that our body can produce itself. That he does every time we eat a lot of empty carbohydrates to us, then our metabolism builds the excess carbohydrates into fat for energy storage. This is also the reason for this is that a "low-fat" society like the United States still has a lot to overweight on average. Moreover - and this we know already that contain animal fat cholesterol, which is the main cause of cardiac infarction.
So for a balanced diet says first of all reduce animal fats.
Increased percentage of raw food, especially in the area of the intermediate meals and snacks.
Away from butter pretzels, salami sandwiches, meat loaf cakes, cake, candy, or even for snacks of fruit salad, salads or just apples and bananas.
In an apple alone contains over 200 of such substances.
We generally more vital, more resilient and more powerful.
You should read their daily serving of fruits and vegetables in the hustle and bustle of everyday life at home, so now can in almost all cities in the Bio-bars reasonably priced fruit, ready-to-fruit salads, Froops or smoothies, which are usually even with the fruits of the own choice can even arrange to be purchased.
Note, however, that the additional sugar beverages not been fed!
Many forget that proteins are in most cases only in meat and animal products exist, but are also found abundantly in milk and dairy products, legumes, true protein bombs and also in whole grains and whole grain products.
One thing must be kept in mind when protein intake: the products should contain as little fat in itself and should be combined in any case with other fatty foods.
Orient yourself again! Here and now, not in the weekend, next month, or when the next spring is coming!
All kinds of fish that contain even in the richer variant lots of valuable Omega 3 fatty acids.
And if it does not go without meat, then in healthier shape than low-fat poultry such as chicken or turkey, but both without skin, because that itself contains a lot of fat.
Often the combination of vegetable and animal protein increases the protein utilization in the body significantly.
Of course, should not miss a balanced and properly dosed number from vitamins, minerals and nutrients.
Combine a balanced diet with our hula hoops and the only way you can effectively change something in your eating habits and your body.
How do these concepts to each other? If you are encountering in the enjoyment of daily training with our modern and health-promoting hula hoops and you will see that the burning of calories despite efforts can cause a lot of joy. Hula Hoop calories are therefore those (possibly excessive) portions of the daily turnover, you burn through the effective total body workout with hula hoops every day. Try it for yourself and discover a brand new feeling!


text:
Author: Steven Pemberton
Steven Pemberton
Steven Pemberton is a senior researcher at CWI, the Dutch national research institute for mathematics and computer science in Amsterdam. His research focuses on the changes that need to be made to system architecture to make the resulting system more human-oriented.
In the 80's he co-designed a programming language, ABC, designing it using HCI design principles. ABC became the basis for the Python programming language.
In the late 80's he built a system with his group, Views, that would now be called a browser. It had extensible markup, stylesheets, vector graphics, client-side scripting, everything you would recognise as the web now (though it didn't run over TCP/IP).
In 1993 he wrote a white paper with Jakob Nielsen, and Scooter Morris for ACM/SIGCHI on visions for electronic publishing, where they recommended using the web.
In 1994 he organised two workshops at the first web conference at CERN (one on electronic publishing, one on client-side computation).
In 1995 he designed and built an early online journal, the SIGCHI Bulletin. He chaired the European World Wide Web Working Group W4G, and then got involved with the fledgling World Wide Web Consortium (W3C).
As a consequence he became involved with CSS and HTML, and chaired the HTML Working Group for a decade, and still chairs the Forms working group. He is co-author of many W3C recommendations, including HTML4, CSS, XHTML, XForms, XML Events, and RDFa.
He has also been involved with HCI as the chair of CHI '97, a past editor of the SIGCHI Bulletin, and for ten years a member of the executive committee of SIGCHI. He was editor-in-chief of ACM/interactions for the best part of a decade.
http://www.cwi.nl/~steven/
www.interaction-design.org/steven_pemberton
Number of co-authors: 12
Jay Blickstein
Lon Barfield
Eddy Boeve
Mark A. Neerincx
Mary Czerwinski
Pemberton, Steven (2004): Scents and sensibility. In Interactions, 11 (1) pp. 4. http://doi.acm.org/10.1145/962342.962344
Pemberton, Steven (2004): Scratching someone else\'s itch: (why open source can\'t do usability). In Interactions, 11 (1) pp. 72. http://doi.acm.org/10.1145/962342.962366
Pemberton, Steven (2004): The development consortium. In Interactions, 11 (2) pp. 4. http://doi.acm.org/10.1145/971258.971260
Pemberton, Steven (2004): A little personalization goes a long way. In Interactions, 11 (3) pp. 4. http://doi.acm.org/10.1145/986253.986256
Pemberton, Steven (2004): Banking. In Interactions, 11 (4) pp. 4. http://doi.acm.org/10.1145/1005261.1005264
Pemberton, Steven (2004): The power of two. In Interactions, 11 (4) pp. 64. http://doi.acm.org/10.1145/1005261.1005284
Pemberton, Steven (2004): Emotion. In Interactions, 11 (5) pp. 4. http://doi.acm.org/10.1145/1015530.1015533
Pemberton, Steven (2004): Goodbye!. In Interactions, 11 (6) pp. 4. http://doi.acm.org/10.1145/1029036.1029039
Pemberton, Steven (2004): Things that stay us from the swift completion of our appointed tasks (revisited). In Interactions, 11 (6) pp. 64. http://doi.acm.org/10.1145/1029036.1029060
Pemberton, Steven (2003): Restrictive practices. In Interactions, 10 (4) pp. 64.
Pemberton, Steven (2003): Not so much losing a publication as gaining a Web site. In Interactions, 10 (3) pp. 4.
Pemberton, Steven (2003): That old Janx Spirit. In Interactions, 10 (1) pp. 4.
Pemberton, Steven (2003): The kiss of the spiderbot. In Interactions, 10 (1) pp. 44.
Pemberton, Steven (2003): Spanning the globe. In Interactions, 10 (2) pp. 4.
Pemberton, Steven (2003): Letter writing, telephones, and television. In Interactions, 10 (3) pp. 64-ff.
Pemberton, Steven (2003): Common interests. In Interactions, 10 (4) pp. 4.
Pemberton, Steven (2003): The timeless way. In Interactions, 10 (5) pp. 4.
Pemberton, Steven (2003): Hotel heartbreak. In Interactions, 10 (5) pp. 64.
Pemberton, Steven (2003): Accessibilty is for everyone. In Interactions, 10 (6) pp. 4-5.
Pemberton, Steven (2003): So big, so bad, so often. In Interactions, 10 (6) pp. 64-ff.
Pemberton, Steven (2002): Pemberton's PDA. In Interactions, 9 (6) pp. 4.
Pemberton, Steven (2002): A pixel is not a point. In Interactions, 9 (5) pp. 64.
Pemberton, Steven (2002): Pemberton's laptop. In Interactions, 9 (5) pp. 4.
Pemberton, Steven (2002): Go away!. In Interactions, 9 (4) pp. 52-51.
Pemberton, Steven (2002): Use is beauty, beauty use. In Interactions, 9 (4) pp. 4.
Pemberton, Steven (2002): Editorial. In Interactions, 9 (3) pp. 4.
Pemberton, Steven (2002): Choose one: fast, correct, or pleasurable. In Interactions, 9 (2) pp. 128-127.
Pemberton, Steven (2002): Electric IP. In Interactions, 9 (1) pp. 56.
Pemberton, Steven (2001): Editorial. In Interactions, 8 (6) pp. 4. http://doi.acm.org/10.1145/384076.384077 Citation
Pemberton, Steven (2001): Reflections: did convergence kill the clock?. In Interactions, 8 (6) pp. 52. http://doi.acm.org/10.1145/384076.384089 Citation
Pemberton, Steven (2001): Reflections: the culture of uncertainty. In Interactions, 8 (5) pp. 51-52. http://doi.acm.org/10.1145/382899.382907 Citation
Pemberton, Steven (2001): What's happening. In Interactions, 8 (3) pp. 7-9. http://doi.acm.org/10.1145/369825.369826 Citation
Pemberton, Steven (2001): Editorial: International Browser Day. In Interactions, 8 (1) pp. 4. http://doi.acm.org/10.1145/356978.358312 Citation
Pemberton, Steven (2001): Reflections: The design of notations. In Interactions, 8 (2) pp. 128-126. http://doi.acm.org/10.1145/361897.361941 Citation
Pemberton, Steven (2001): Reflections: Photocopy this article!. In Interactions, 8 (1) pp. 64. http://doi.acm.org/10.1145/356978.356984 Citation
Pemberton, Steven (2001): Book preview. In Interactions, 8 (3) pp. 53-56. http://doi.acm.org/10.1145/369825.369833 Citation
Pemberton, Steven (2001): Conference preview: HCI international 2001. In Interactions, 8 (4) pp. 59-61. http://doi.acm.org/10.1145/379537.379561 Citation
Pemberton, Steven (2001): Reflections: In search of the killer app. In Interactions, 8 (4) pp. 64. http://doi.acm.org/10.1145/379537.379564 Citation
Pemberton, Steven (2000): The digital library. In Interactions, 7 (6) pp. 4. http://www.acm.org/pubs/articles/journals/interactions/2000-7-6/p4-pemberton/p4-pemberton.html
Pemberton, Steven (2000): Editorial. In Interactions, 7 (1) pp. 4. http://www.acm.org/pubs/articles/journals/interactions/2000-7-1/p4-pemberton/p4-pemberton.pdf
Pemberton, Steven (2000): Reflections: the demise of the book. In Interactions, 7 (1) pp. 92. http://www.acm.org/pubs/articles/journals/interactions/2000-7-1/p92-pemberton/p92-pemberton.pdf
Pemberton, Steven (2000): Reflections: it rings for thee. In Interactions, 7 (3) pp. 72. http://www.acm.org/pubs/articles/journals/interactions/2000-7-3/p72-pemberton/p72-pemberton.pdf
Pemberton, Steven (2000): Reflections: the accidental death of reviewing. In Interactions, 7 (4) pp. 56. http://www.acm.org/pubs/articles/journals/interactions/2000-7-4/p56-pemberton/p56-pemberton.pdf
Pemberton, Steven (2000): Reflections: so much for WYSIWYG. In Interactions, 7 (5) pp. 60. http://www.acm.org/pubs/articles/journals/interactions/2000-7-5/p60-pemberton/p60-pemberton.pdf
Pemberton, Steven (2000): Reflections: abusus non tollit usum. In Interactions, 7 (6) pp. 56. http://www.acm.org/pubs/articles/journals/interactions/2000-7-6/p56-pemberton/p56-pemberton.html
Pemberton, Steven, Blickstein, Jay (1999): Editorial. In Interactions, 6 (5) pp. 4. http://www.acm.org/pubs/articles/journals/interactions/1999-6-5/p4-pemberton/p4-pemberton.pdf
Pemberton, Steven, Blickstein, Jay (1999): Editorial. In Interactions, 6 (1) pp. 4.
Pemberton, Steven (1999): Starting a SIGCHI Local Group in the Netherlands. In ACM SIGCHI Bulletin, 31 (1) pp. 17-21. http://www.acm.org/sigchi/bulletin/1999.1/local-sigs.pdf
Pemberton, Steven (1998): A Curtain Falls. In ACM SIGCHI Bulletin, 30 (1) pp. 1. http://www.acm.org/sigchi/bulletin/1998.1/editorial.html
Pemberton, Steven (1998): CHI 98: An Interview with the Conference Chairs. In ACM SIGCHI Bulletin, 30 (4) pp. 27-29. http://www.acm.org/sigchi/bulletin/1998.4/conf-chairs.html
Pemberton, Steven (1998): CHI 98. In ACM SIGCHI Bulletin, 30 (4) pp. 1. http://www.acm.org/sigchi/bulletin/1998.4/editorial.html
Pemberton, Steven (1998): Mysteries Worth Pondering. In ACM SIGCHI Bulletin, 30 (3) pp. 72. http://www.acm.org/sigchi/bulletin/1998.3/views.html
Pemberton, Steven (1998): New Developments. In ACM SIGCHI Bulletin, 30 (3) pp. 1. http://www.acm.org/sigchi/bulletin/1998.3/editorial.html
Pemberton, Steven (1998): Teenagers, Sex Education and Microsoft. In ACM SIGCHI Bulletin, 30 (2) pp. 160. http://www.acm.org/sigchi/bulletin/1998.2/views.html
Pemberton, Steven (1998): Not With a Whimper. In ACM SIGCHI Bulletin, 30 (2) pp. 1. http://www.acm.org/sigchi/bulletin/1998.2/editorial.html
Pemberton, Steven (1998): Flags are Not Languages. In ACM SIGCHI Bulletin, 30 (1) pp. 96. http://www.acm.org/sigchi/bulletin/1998.1/views.html
Pemberton, Steven (1998): The Screen is Not Paper. In ACM SIGCHI Bulletin, 30 (4) pp. 112. http://www.acm.org/sigchi/bulletin/1998.4/views.html
Pemberton, Steven (1998): Reflections: Our Subliminal Art. In Interactions, 5 (5) pp. 48. http://www.acm.org/pubs/articles/journals/interactions/1998-5-5/p48-pemberton/p48-pemberton.pdf
Pemberton, Steven (1997): Quick! The Future is Coming!. In ACM SIGCHI Bulletin, 29 (1) pp. 96. http://www.acm.org/sigchi/bulletin/1997.1/views.html
Pemberton, Steven (1997): Hell and Documentation. In ACM SIGCHI Bulletin, 29 (4) pp. 112. http://www.acm.org/sigchi/bulletin/1997.4/views.html
Pemberton, Steven (1997): CHI 97: Interviews with the Conference Co-Chairs. In ACM SIGCHI Bulletin, 29 (4) pp. 22-23. http://www.acm.org/sigchi/bulletin/1997.4/conf-chairs.html
Pemberton, Steven (1997): Programmers are Humans Too, 2. In ACM SIGCHI Bulletin, 29 (3) pp. 64. http://www.acm.org/sigchi/bulletin/1997.3/views.html
Pemberton, Steven (1997): Goodbye Diane Darrow. In ACM SIGCHI Bulletin, 29 (3) pp. 1. http://www.acm.org/sigchi/bulletin/1997.3/editorial.html
Pemberton, Steven (1997): If Six Were Nine. In ACM SIGCHI Bulletin, 29 (2) pp. 68. http://www.acm.org/sigchi/bulletin/1997.2/views.html
Pemberton, Steven (1997): New SIGCHI Email Addresses. In ACM SIGCHI Bulletin, 29 (2) pp. 1. http://www.acm.org/sigchi/bulletin/1997.2/editorial.html
Pemberton, Steven (1997): Achieving the Future. In ACM SIGCHI Bulletin, 29 (1) pp. 1. http://www.acm.org/sigchi/bulletin/1997.1/editorial.html
Pemberton, Steven (1996): Never is a Long Time. In ACM SIGCHI Bulletin, 28 (4) pp. 96. http://www.acm.org/sigchi/bulletin/1996.4/views.html
Pemberton, Steven (1996): Beep Beep!. In ACM SIGCHI Bulletin, 28 (3) pp. 128. http://www.acm.org/sigchi/bulletin/1996.3/views.html
Pemberton, Steven (1996): Italy. In ACM SIGCHI Bulletin, 28 (3) pp. 1. http://www.acm.org/sigchi/bulletin/1996.3/editorial.html
Pemberton, Steven (1996): WWW. In ACM SIGCHI Bulletin, 28 (2) pp. 1. http://www.acm.org/sigchi/bulletin/1996.2/editorial.html
Pemberton, Steven (1996): Programmers Are Humans Too. In ACM SIGCHI Bulletin, 28 (1) pp. 97. http://www.acm.org/sigchi/bulletin/1996.1/views.html
Pemberton, Steven (1996): The CHI Conference: Interviews with Conference Chairs. In ACM SIGCHI Bulletin, 28 (1) pp. 14-24. http://www.acm.org/sigchi/bulletin/1996.1/conf-chairs.html
Pemberton, Steven (1996): The SIGCHI Bulletin: Interviews with the Editors. In ACM SIGCHI Bulletin, 28 (1) pp. 10-13. http://www.acm.org/sigchi/bulletin/1996.1/bulletin.html
Pemberton, Steven (1996): SIGCHI: The Later Years: Interviews with Past Chairs. In ACM SIGCHI Bulletin, 28 (1) pp. 7-9. http://www.acm.org/sigchi/bulletin/1996.1/past-chairs.html
Pemberton, Steven (1996): CHI as in arCHIve. In ACM SIGCHI Bulletin, 28 (1) pp. 1. http://www.acm.org/sigchi/bulletin/1996.1/editorial.html
Pemberton, Steven (1995): Views and Feelings: No Such Number, No Such Zone. In ACM SIGCHI Bulletin, 27 (1) pp. 96.
Pemberton, Steven (1995): From the Editor. In ACM SIGCHI Bulletin, 27 (1) pp. 1.
Fuller, Rodney, Pemberton, Steven (1995): Students: Deconstructing Tog: An Electronic Interview with Bruce Tognazzini. In ACM SIGCHI Bulletin, 27 (2) pp. 24-27.
Pemberton, Steven (1995): Views and Feelings: Gbldgk. In ACM SIGCHI Bulletin, 27 (2) pp. 112. http://www.acm.org/sigchi/bulletin/1995.2/views.html
Pemberton, Steven (1995): Views and Feelings: Things that Stay Us from the Swift Completion of Our Appointed Tasks. In ACM SIGCHI Bulletin, 27 (3) pp. 112. http://www.acm.org/sigchi/bulletin/1995.3/views.html
Pemberton, Steven (1995): Views and Feelings: Metaphorically Speaking. In ACM SIGCHI Bulletin, 27 (4) pp. 96. http://www.acm.org/sigchi/bulletin/1995.4/views.html
Pemberton, Steven (1994): From the Editor: Social Interaction: its Rewards and Retributions. In ACM SIGCHI Bulletin, 26 (3) pp. 1. http://www.acm.org/sigchi/bulletin/1994.3/editorial.html
Pemberton, Steven (1994): From the Editor. In ACM SIGCHI Bulletin, 26 (1) pp. 1. http://www.acm.org/sigchi/bulletin/1994.1/editorial.html
Pemberton, Steven (1994): Views and Feelings: Let Vs Coniectvre VVhat the VVorld VVovld Be Liqe Had the Roman Empire. In ACM SIGCHI Bulletin, 26 (4) pp. 96. http://www.acm.org/sigchi/bulletin/1994.4/views.html
Pemberton, Steven (1994): From the Editor: New No More. In ACM SIGCHI Bulletin, 26 (4) pp. 1. http://www.acm.org/sigchi/bulletin/1994.4/editorial.html
Pemberton, Steven (1994): Views and Feelings: A Word of Encouragement. In ACM SIGCHI Bulletin, 26 (3) pp. 96. http://www.acm.org/sigchi/bulletin/1994.3/views.html
Pemberton, Steven (1994): Views and Feelings. In ACM SIGCHI Bulletin, 26 (2) pp. 96. http://www.acm.org/sigchi/bulletin/1994.2/views.html
Barfield, Lon, Boeve, Eddy, Pemberton, Steven (1993): Objects, Invariants and Treacle: Animation in the Views System. In: Alty, James L., Diaper, Dan, Guest, D. (eds.) Proceedings of the Eighth Conference of the British Computer Society Human Computer Interaction Specialist Group - People and Computers VIII August 7-10, 1993, Loughborough University, UK. pp. 157-171.
Barfield, Lon, Boeve, Eddy, Pemberton, Steven (1991): The Views User-Interface System. In: Robertson, Scott P., Olson, Gary M., Olson, Judith S. (eds.) Proceedings of the ACM CHI 91 Human Factors in Computing Systems Conference April 28 - June 5, 1991, New Orleans, Louisiana. pp. 415-416. http://www.acm.org/pubs/articles/proceedings/chi/108844/p415-barfield/p415-barfield.pdf
Pemberton, Steven (2013): Chapter 1: Introduction. In: "The Computer as Extended Phenotype" The Interaction Design Foundation .
Pemberton, Steven (1992): Programming Aspects of Views, an Open-Architecture Application Environment. In: Advanced Visual Interfaces 1992 , 1992, . pp. 223-239.
Neerincx, Mark A., Lindenberg, Jasper, Pemberton, Steven (2001): Support concepts for Web navigation: a cognitive engineering approach. In: Proceedings of the 2001 International Conference on the World Wide Web , 2001, . pp. 119-128. http://doi.acm.org/10.1145/371920.371966
Pemberton, Steven (eds.) Proceedings of the ACM CHI 97 Human Factors in Computing Systems Conference March 22-27, 1997, Atlanta, Georgia.
Boeve, Eddy, Barfield, Lon, Pemberton, Steven (1993): WYSIWYG Editors: And What Now?. In: East-West International Conference on Human-Computer Interaction: Proceedings of the EWHCI93 , 1993, . pp. 98-115.
Pemberton, Steven (1991): Open User-Interfaces, Open Applications: The Views System. In: First Moscow International HCI91 Workshop Proceedings , 1991, . pp. 2-12.
Pemberton, Steven (2005): The Future of Web Interfaces. In: Proceedings of IFIP INTERACT05: Human-Computer Interaction , 2005, . pp. 4-5. http://www.springerlink.com/openurl.asp?genre=article&id=doi:10.1007/11555261_3
Turner, Thea, Szwillus, Gerd, Czerwinski, Mary, Peterno, Fabio, Pemberton, Steven (eds.) Proceedings of the ACM CHI 2000 Human Factors in Computing Systems Conference April 1-6, 2000, The Hague, The Netherlands.
Pemberton, Steven (2013): Invisible XML. In: Proceedings of Balisage The Markup Conference August 6-9, 2013, Montréal, Canada. http://www.balisage.net/Proceedings/vol10/html/Pemberton01/BalisageVol10-Pemberton01.html


text:
Sunday, Jan 10, 2021
117 Death in a Day!
Global Trends After Coronavirus
How Much Expected Tourist This Year
News Of Italy
media 8 months ago
What will be global trends after coronavirus? Let's find an answer for this question.
The debate as to whether the coronavirus pandemic will cause significant transformations or fractures on a global scale is as old as the outbreak was out of Wuhan. As pandemic gained a global nature and influenced all areas of life, from healthcare to supply chains, from economy to social relations, it became inevitable to have transformative effects on global politics.
The course of the debate based on the developments occurred has changed in the direction of whether the transformation will take place after a while or not and whether it will cause systemic shifts in the global scale. With a prudent analysis, the COVID-19 pandemic will lead to paradigm shifts such as the September 11 Attacks and the 2008/2009 Global Financial Crisis rather than the global system crisis, such as the First and Second World Wars, the end of the Cold War, and accelerate international system inquiries. We can predict.
Ebola, SARS and MERS
Both the scale of the epidemic and the practices implemented within the framework of the epidemic are not a phenomenon that the 21st century global society is used to. Although the outbreaks remind him of Spanish flu, Ebola, SARS and MERS, we are just getting acquainted with such a comprehensive and transformative epidemic phenomenon and the perception of threat around it. For this reason, we also need to determine the situation, for this we need medical data and analysis that social scientists are not equipped; it is also difficult to predict where the process will evolve in terms of the global system and politics. The opportunities and challenges that governments and global organizations will face in the period after COVID-19 will determine and determine the steps they have taken or have not taken.
For this reason, there is a strong link between global policy analysis after COVID-19 and the state's anti-epidemic performance. However, it is of great importance that states put a viable vision about the post-epidemic situation and that this vision is met globally and locally. In the global system that will be subjected to a number of transformations, the declaration of the roles and capacities that states form on them will have a major impact in determining their position in the new period.
Aside from the difficulty of making predictions in the ongoing epidemic process, the current table gives strong signals of trends that will come to the fore after COVID-19. The first is that the concept of "strong state" will regain reputation. As COVID-19 and similar pandemics are accepted as a part of our lives and processed into national security doctrines as a threat perception, the need and orientation to the state, which is the unique and central institution of the fight against pandemics, will increase. As a health, safety and welfare provider, the state stands out alone, not only in global but also in national pandemics.
The link between the self-sufficient state and the strong state will strengthen, especially considering the inefficient and inadequate roles of transnational organizations such as the World Health Organization and the EU in the current pandemic. Some of the states that were in a difficult position against the pandemic and were at the top of the statistically negative side were among the major or relatively strong actors of the international system in the period before COVID-19. Military power, economic power, population, etc., taught by the pandemic, which the realist approach often uses in power assessments. besides criteria such as detached or criteria such as healthcare system, supply chain and emergency capacity will also have to be taken into account as subtitles.
Attack of Countries
Contrary to some claims, the strengthening of the state does not have to bring authoritarianism. In connection with this, authoritarian regimes will not turn into acceptable systems because of their performance in fighting pandemics. Moreover, we generally do not have transparent data on which we can evaluate the pandemic performance of authoritarian regimes. However, Turkey, South Korea, Germany and so on. The struggle of some democratic countries, including countries, with the coronavirus only removes the myth that authoritarian regimes can effectively fight the pandemic. The idea that democratic / liberal societies will be content with authoritarianism is also naive through the argument of fighting pandemic. In the process after the coronavirus, those who define the strong state, the supply chain as robust, resistant to the economy, trusting the people, strong institutions, infrastructure, especially health, and the ability to manage crisis will positively differentiate from others on a global scale.
mk.mustafakilinc@gmail.com
https://mediaitalia.net
As you know Corovirus affect has been going on for 3 months in the Italy. Latest information regarding the Covid-19 outbreak, was announced with a written statement from the Civil Defense institution. The number of active coronavirus cases in the country fell to 50 thousand 966, with a decline of […]
info@mediaitalia.net |	WordPress Theme: Seek by ThemeInWP


text:
/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.facebook.presto.plugin.jdbc;

import com.facebook.presto.spi.ColumnHandle;
import com.facebook.presto.spi.ColumnMetadata;
import com.facebook.presto.spi.ConnectorSession;
import com.facebook.presto.spi.ConnectorSplitSource;
import com.facebook.presto.spi.ConnectorTableMetadata;
import com.facebook.presto.spi.FixedSplitSource;
import com.facebook.presto.spi.PrestoException;
import com.facebook.presto.spi.SchemaTableName;
import com.facebook.presto.spi.TableNotFoundException;
import com.facebook.presto.spi.predicate.TupleDomain;
import com.facebook.presto.spi.statistics.TableStatistics;
import com.facebook.presto.spi.type.CharType;
import com.facebook.presto.spi.type.DecimalType;
import com.facebook.presto.spi.type.Type;
import com.facebook.presto.spi.type.VarcharType;
import com.google.common.base.CharMatcher;
import com.google.common.base.Joiner;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import io.airlift.log.Logger;

import javax.annotation.Nullable;
import javax.annotation.PreDestroy;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;

import static com.facebook.presto.plugin.jdbc.JdbcErrorCode.JDBC_ERROR;
import static com.facebook.presto.plugin.jdbc.StandardReadMappings.jdbcTypeToPrestoType;
import static com.facebook.presto.spi.StandardErrorCode.NOT_FOUND;
import static com.facebook.presto.spi.StandardErrorCode.NOT_SUPPORTED;
import static com.facebook.presto.spi.type.BigintType.BIGINT;
import static com.facebook.presto.spi.type.BooleanType.BOOLEAN;
import static com.facebook.presto.spi.type.DateType.DATE;
import static com.facebook.presto.spi.type.DoubleType.DOUBLE;
import static com.facebook.presto.spi.type.IntegerType.INTEGER;
import static com.facebook.presto.spi.type.RealType.REAL;
import static com.facebook.presto.spi.type.SmallintType.SMALLINT;
import static com.facebook.presto.spi.type.TimeType.TIME;
import static com.facebook.presto.spi.type.TimeWithTimeZoneType.TIME_WITH_TIME_ZONE;
import static com.facebook.presto.spi.type.TimestampType.TIMESTAMP;
import static com.facebook.presto.spi.type.TimestampWithTimeZoneType.TIMESTAMP_WITH_TIME_ZONE;
import static com.facebook.presto.spi.type.TinyintType.TINYINT;
import static com.facebook.presto.spi.type.VarbinaryType.VARBINARY;
import static com.facebook.presto.spi.type.Varchars.isVarcharType;
import static com.google.common.base.MoreObjects.firstNonNull;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Strings.isNullOrEmpty;
import static com.google.common.base.Verify.verify;
import static com.google.common.collect.ImmutableMap.toImmutableMap;
import static com.google.common.collect.ImmutableSet.toImmutableSet;
import static com.google.common.collect.Iterables.getOnlyElement;
import static java.lang.String.format;
import static java.lang.String.join;
import static java.sql.ResultSetMetaData.columnNullable;
import static java.util.Collections.nCopies;
import static java.util.Locale.ENGLISH;
import static java.util.Objects.requireNonNull;
import static java.util.concurrent.TimeUnit.MILLISECONDS;

public class BaseJdbcClient
        implements JdbcClient
{
    private static final Logger log = Logger.get(BaseJdbcClient.class);

    private static final Map<Type, String> SQL_TYPES = ImmutableMap.<Type, String>builder()
            .put(BOOLEAN, "boolean")
            .put(BIGINT, "bigint")
            .put(INTEGER, "integer")
            .put(SMALLINT, "smallint")
            .put(TINYINT, "tinyint")
            .put(DOUBLE, "double precision")
            .put(REAL, "real")
            .put(VARBINARY, "varbinary")
            .put(DATE, "date")
            .put(TIME, "time")
            .put(TIME_WITH_TIME_ZONE, "time with timezone")
            .put(TIMESTAMP, "timestamp")
            .put(TIMESTAMP_WITH_TIME_ZONE, "timestamp with timezone")
            .build();

    protected final String connectorId;
    protected final ConnectionFactory connectionFactory;
    protected final String identifierQuote;
    protected final boolean caseInsensitiveNameMatching;
    protected final Cache<JdbcIdentity, Map<String, String>> remoteSchemaNames;
    protected final Cache<RemoteTableNameCacheKey, Map<String, String>> remoteTableNames;

    public BaseJdbcClient(JdbcConnectorId connectorId, BaseJdbcConfig config, String identifierQuote, ConnectionFactory connectionFactory)
    {
        this.connectorId = requireNonNull(connectorId, "connectorId is null").toString();
        requireNonNull(config, "config is null"); // currently unused, retained as parameter for future extensions
        this.identifierQuote = requireNonNull(identifierQuote, "identifierQuote is null");
        this.connectionFactory = requireNonNull(connectionFactory, "connectionFactory is null");

        this.caseInsensitiveNameMatching = config.isCaseInsensitiveNameMatching();
        CacheBuilder<Object, Object> remoteNamesCacheBuilder = CacheBuilder.newBuilder()
                .expireAfterWrite(config.getCaseInsensitiveNameMatchingCacheTtl().toMillis(), MILLISECONDS);
        this.remoteSchemaNames = remoteNamesCacheBuilder.build();
        this.remoteTableNames = remoteNamesCacheBuilder.build();
    }

    @PreDestroy
    public void destroy()
            throws Exception
    {
        connectionFactory.close();
    }

    @Override
    public final Set<String> getSchemaNames(JdbcIdentity identity)
    {
        try (Connection connection = connectionFactory.openConnection(identity)) {
            return listSchemas(connection).stream()
                    .map(schemaName -> schemaName.toLowerCase(ENGLISH))
                    .collect(toImmutableSet());
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    protected Collection<String> listSchemas(Connection connection)
    {
        try (ResultSet resultSet = connection.getMetaData().getSchemas()) {
            ImmutableSet.Builder<String> schemaNames = ImmutableSet.builder();
            while (resultSet.next()) {
                String schemaName = resultSet.getString("TABLE_SCHEM");
                // skip internal schemas
                if (!schemaName.equalsIgnoreCase("information_schema")) {
                    schemaNames.add(schemaName);
                }
            }
            return schemaNames.build();
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    @Override
    public List<SchemaTableName> getTableNames(JdbcIdentity identity, Optional<String> schema)
    {
        try (Connection connection = connectionFactory.openConnection(identity)) {
            Optional<String> remoteSchema = schema.map(schemaName -> toRemoteSchemaName(identity, connection, schemaName));
            try (ResultSet resultSet = getTables(connection, remoteSchema, Optional.empty())) {
                ImmutableList.Builder<SchemaTableName> list = ImmutableList.builder();
                while (resultSet.next()) {
                    String tableSchema = getTableSchemaName(resultSet);
                    String tableName = resultSet.getString("TABLE_NAME");
                    list.add(new SchemaTableName(tableSchema.toLowerCase(ENGLISH), tableName.toLowerCase(ENGLISH)));
                }
                return list.build();
            }
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    @Nullable
    @Override
    public JdbcTableHandle getTableHandle(JdbcIdentity identity, SchemaTableName schemaTableName)
    {
        try (Connection connection = connectionFactory.openConnection(identity)) {
            String remoteSchema = toRemoteSchemaName(identity, connection, schemaTableName.getSchemaName());
            String remoteTable = toRemoteTableName(identity, connection, remoteSchema, schemaTableName.getTableName());
            try (ResultSet resultSet = getTables(connection, Optional.of(remoteSchema), Optional.of(remoteTable))) {
                List<JdbcTableHandle> tableHandles = new ArrayList<>();
                while (resultSet.next()) {
                    tableHandles.add(new JdbcTableHandle(
                            connectorId,
                            schemaTableName,
                            resultSet.getString("TABLE_CAT"),
                            resultSet.getString("TABLE_SCHEM"),
                            resultSet.getString("TABLE_NAME")));
                }
                if (tableHandles.isEmpty()) {
                    return null;
                }
                if (tableHandles.size() > 1) {
                    throw new PrestoException(NOT_SUPPORTED, "Multiple tables matched: " + schemaTableName);
                }
                return getOnlyElement(tableHandles);
            }
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    @Override
    public List<JdbcColumnHandle> getColumns(ConnectorSession session, JdbcTableHandle tableHandle)
    {
        try (Connection connection = connectionFactory.openConnection(JdbcIdentity.from(session))) {
            try (ResultSet resultSet = getColumns(tableHandle, connection.getMetaData())) {
                List<JdbcColumnHandle> columns = new ArrayList<>();
                while (resultSet.next()) {
                    JdbcTypeHandle typeHandle = new JdbcTypeHandle(
                            resultSet.getInt("DATA_TYPE"),
                            resultSet.getInt("COLUMN_SIZE"),
                            resultSet.getInt("DECIMAL_DIGITS"));
                    Optional<ReadMapping> columnMapping = toPrestoType(session, typeHandle);
                    // skip unsupported column types
                    if (columnMapping.isPresent()) {
                        String columnName = resultSet.getString("COLUMN_NAME");
                        boolean nullable = columnNullable == resultSet.getInt("NULLABLE");
                        columns.add(new JdbcColumnHandle(connectorId, columnName, typeHandle, columnMapping.get().getType(), nullable));
                    }
                }
                if (columns.isEmpty()) {
                    // In rare cases (e.g. PostgreSQL) a table might have no columns.
                    throw new TableNotFoundException(tableHandle.getSchemaTableName());
                }
                return ImmutableList.copyOf(columns);
            }
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    @Override
    public Optional<ReadMapping> toPrestoType(ConnectorSession session, JdbcTypeHandle typeHandle)
    {
        return jdbcTypeToPrestoType(typeHandle);
    }

    @Override
    public ConnectorSplitSource getSplits(JdbcIdentity identity, JdbcTableLayoutHandle layoutHandle)
    {
        JdbcTableHandle tableHandle = layoutHandle.getTable();
        JdbcSplit jdbcSplit = new JdbcSplit(
                connectorId,
                tableHandle.getCatalogName(),
                tableHandle.getSchemaName(),
                tableHandle.getTableName(),
                layoutHandle.getTupleDomain(),
                Optional.empty());
        return new FixedSplitSource(ImmutableList.of(jdbcSplit));
    }

    @Override
    public Connection getConnection(JdbcIdentity identity, JdbcSplit split)
            throws SQLException
    {
        Connection connection = connectionFactory.openConnection(identity);
        try {
            connection.setReadOnly(true);
        }
        catch (SQLException e) {
            connection.close();
            throw e;
        }
        return connection;
    }

    @Override
    public PreparedStatement buildSql(Connection connection, JdbcSplit split, List<JdbcColumnHandle> columnHandles)
            throws SQLException
    {
        return new QueryBuilder(identifierQuote).buildSql(
                this,
                connection,
                split.getCatalogName(),
                split.getSchemaName(),
                split.getTableName(),
                columnHandles,
                split.getTupleDomain(),
                split.getAdditionalPredicate());
    }

    @Override
    public void createTable(ConnectorSession session, ConnectorTableMetadata tableMetadata)
    {
        try {
            createTable(tableMetadata, session, tableMetadata.getTable().getTableName());
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    @Override
    public JdbcOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata)
    {
        return beginWriteTable(session, tableMetadata);
    }

    @Override
    public JdbcOutputTableHandle beginInsertTable(ConnectorSession session, ConnectorTableMetadata tableMetadata)
    {
        return beginWriteTable(session, tableMetadata);
    }

    private JdbcOutputTableHandle beginWriteTable(ConnectorSession session, ConnectorTableMetadata tableMetadata)
    {
        try {
            return createTable(tableMetadata, session, generateTemporaryTableName());
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    protected JdbcOutputTableHandle createTable(ConnectorTableMetadata tableMetadata, ConnectorSession session, String tableName)
            throws SQLException
    {
        SchemaTableName schemaTableName = tableMetadata.getTable();
        JdbcIdentity identity = JdbcIdentity.from(session);
        if (!getSchemaNames(identity).contains(schemaTableName.getSchemaName())) {
            throw new PrestoException(NOT_FOUND, "Schema not found: " + schemaTableName.getSchemaName());
        }

        try (Connection connection = connectionFactory.openConnection(identity)) {
            boolean uppercase = connection.getMetaData().storesUpperCaseIdentifiers();
            String remoteSchema = toRemoteSchemaName(identity, connection, schemaTableName.getSchemaName());
            String remoteTable = toRemoteTableName(identity, connection, remoteSchema, schemaTableName.getTableName());
            if (uppercase) {
                tableName = tableName.toUpperCase(ENGLISH);
            }
            String catalog = connection.getCatalog();

            ImmutableList.Builder<String> columnNames = ImmutableList.builder();
            ImmutableList.Builder<Type> columnTypes = ImmutableList.builder();
            ImmutableList.Builder<String> columnList = ImmutableList.builder();
            for (ColumnMetadata column : tableMetadata.getColumns()) {
                String columnName = column.getName();
                if (uppercase) {
                    columnName = columnName.toUpperCase(ENGLISH);
                }
                columnNames.add(columnName);
                columnTypes.add(column.getType());
                columnList.add(getColumnString(column, columnName));
            }

            String sql = format(
                    "CREATE TABLE %s (%s)",
                    quoted(catalog, remoteSchema, tableName),
                    join(", ", columnList.build()));
            execute(connection, sql);

            return new JdbcOutputTableHandle(
                    connectorId,
                    catalog,
                    remoteSchema,
                    remoteTable,
                    columnNames.build(),
                    columnTypes.build(),
                    tableName);
        }
    }

    private String getColumnString(ColumnMetadata column, String columnName)
    {
        StringBuilder sb = new StringBuilder()
                .append(quoted(columnName))
                .append(" ")
                .append(toSqlType(column.getType()));
        if (!column.isNullable()) {
            sb.append(" NOT NULL");
        }
        return sb.toString();
    }

    protected String generateTemporaryTableName()
    {
        return "tmp_presto_" + UUID.randomUUID().toString().replace("-", "");
    }

    //todo
    @Override
    public void commitCreateTable(JdbcIdentity identity, JdbcOutputTableHandle handle)
    {
        renameTable(
                identity,
                handle.getCatalogName(),
                new SchemaTableName(handle.getSchemaName(), handle.getTemporaryTableName()),
                new SchemaTableName(handle.getSchemaName(), handle.getTableName()));
    }

    @Override
    public void renameTable(JdbcIdentity identity, JdbcTableHandle handle, SchemaTableName newTable)
    {
        renameTable(identity, handle.getCatalogName(), handle.getSchemaTableName(), newTable);
    }

    protected void renameTable(JdbcIdentity identity, String catalogName, SchemaTableName oldTable, SchemaTableName newTable)
    {
        try (Connection connection = connectionFactory.openConnection(identity)) {
            DatabaseMetaData metadata = connection.getMetaData();
            String schemaName = oldTable.getSchemaName();
            String tableName = oldTable.getTableName();
            String newSchemaName = newTable.getSchemaName();
            String newTableName = newTable.getTableName();
            if (metadata.storesUpperCaseIdentifiers()) {
                schemaName = schemaName.toUpperCase(ENGLISH);
                tableName = tableName.toUpperCase(ENGLISH);
                newSchemaName = newSchemaName.toUpperCase(ENGLISH);
                newTableName = newTableName.toUpperCase(ENGLISH);
            }
            String sql = format(
                    "ALTER TABLE %s RENAME TO %s",
                    quoted(catalogName, schemaName, tableName),
                    quoted(catalogName, newSchemaName, newTableName));
            execute(connection, sql);
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    @Override
    public void finishInsertTable(JdbcIdentity identity, JdbcOutputTableHandle handle)
    {
        String temporaryTable = quoted(handle.getCatalogName(), handle.getSchemaName(), handle.getTemporaryTableName());
        String targetTable = quoted(handle.getCatalogName(), handle.getSchemaName(), handle.getTableName());
        String insertSql = format("INSERT INTO %s SELECT * FROM %s", targetTable, temporaryTable);
        String cleanupSql = "DROP TABLE " + temporaryTable;

        try (Connection connection = getConnection(identity, handle)) {
            execute(connection, insertSql);
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }

        try (Connection connection = getConnection(identity, handle)) {
            execute(connection, cleanupSql);
        }
        catch (SQLException e) {
            log.warn(e, "Failed to cleanup temporary table: %s", temporaryTable);
        }
    }

    @Override
    public void addColumn(JdbcIdentity identity, JdbcTableHandle handle, ColumnMetadata column)
    {
        try (Connection connection = connectionFactory.openConnection(identity)) {
            String schema = handle.getSchemaName();
            String table = handle.getTableName();
            String columnName = column.getName();
            DatabaseMetaData metadata = connection.getMetaData();
            if (metadata.storesUpperCaseIdentifiers()) {
                schema = schema != null ? schema.toUpperCase(ENGLISH) : null;
                table = table.toUpperCase(ENGLISH);
                columnName = columnName.toUpperCase(ENGLISH);
            }
            String sql = format(
                    "ALTER TABLE %s ADD %s",
                    quoted(handle.getCatalogName(), schema, table),
                    getColumnString(column, columnName));
            execute(connection, sql);
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    @Override
    public void renameColumn(JdbcIdentity identity, JdbcTableHandle handle, JdbcColumnHandle jdbcColumn, String newColumnName)
    {
        try (Connection connection = connectionFactory.openConnection(identity)) {
            DatabaseMetaData metadata = connection.getMetaData();
            if (metadata.storesUpperCaseIdentifiers()) {
                newColumnName = newColumnName.toUpperCase(ENGLISH);
            }
            String sql = format(
                    "ALTER TABLE %s RENAME COLUMN %s TO %s",
                    quoted(handle.getCatalogName(), handle.getSchemaName(), handle.getTableName()),
                    jdbcColumn.getColumnName(),
                    newColumnName);
            execute(connection, sql);
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    @Override
    public void dropColumn(JdbcIdentity identity, JdbcTableHandle handle, JdbcColumnHandle column)
    {
        try (Connection connection = connectionFactory.openConnection(identity)) {
            String sql = format(
                    "ALTER TABLE %s DROP COLUMN %s",
                    quoted(handle.getCatalogName(), handle.getSchemaName(), handle.getTableName()),
                    column.getColumnName());
            execute(connection, sql);
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    @Override
    public void dropTable(JdbcIdentity identity, JdbcTableHandle handle)
    {
        StringBuilder sql = new StringBuilder()
                .append("DROP TABLE ")
                .append(quoted(handle.getCatalogName(), handle.getSchemaName(), handle.getTableName()));

        try (Connection connection = connectionFactory.openConnection(identity)) {
            execute(connection, sql.toString());
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    @Override
    public void rollbackCreateTable(JdbcIdentity identity, JdbcOutputTableHandle handle)
    {
        dropTable(identity, new JdbcTableHandle(
                handle.getConnectorId(),
                new SchemaTableName(handle.getSchemaName(), handle.getTemporaryTableName()),
                handle.getCatalogName(),
                handle.getSchemaName(),
                handle.getTemporaryTableName()));
    }

    @Override
    public String buildInsertSql(JdbcOutputTableHandle handle)
    {
        String vars = Joiner.on(',').join(nCopies(handle.getColumnNames().size(), "?"));
        return new StringBuilder()
                .append("INSERT INTO ")
                .append(quoted(handle.getCatalogName(), handle.getSchemaName(), handle.getTemporaryTableName()))
                .append(" VALUES (").append(vars).append(")")
                .toString();
    }

    @Override
    public Connection getConnection(JdbcIdentity identity, JdbcOutputTableHandle handle)
            throws SQLException
    {
        return connectionFactory.openConnection(identity);
    }

    @Override
    public PreparedStatement getPreparedStatement(Connection connection, String sql)
            throws SQLException
    {
        return connection.prepareStatement(sql);
    }

    protected ResultSet getTables(Connection connection, Optional<String> schemaName, Optional<String> tableName)
            throws SQLException
    {
        DatabaseMetaData metadata = connection.getMetaData();
        Optional<String> escape = Optional.ofNullable(metadata.getSearchStringEscape());
        return metadata.getTables(
                connection.getCatalog(),
                escapeNamePattern(schemaName, escape).orElse(null),
                escapeNamePattern(tableName, escape).orElse(null),
                new String[] {"TABLE", "VIEW"});
    }

    protected String getTableSchemaName(ResultSet resultSet)
            throws SQLException
    {
        return resultSet.getString("TABLE_SCHEM");
    }

    protected String toRemoteSchemaName(JdbcIdentity identity, Connection connection, String schemaName)
    {
        requireNonNull(schemaName, "schemaName is null");
        verify(CharMatcher.forPredicate(Character::isUpperCase).matchesNoneOf(schemaName), "Expected schema name from internal metadata to be lowercase: %s", schemaName);

        if (caseInsensitiveNameMatching) {
            try {
                Map<String, String> mapping = remoteSchemaNames.getIfPresent(identity);
                if (mapping != null && !mapping.containsKey(schemaName)) {
                    // This might be a schema that has just been created. Force reload.
                    mapping = null;
                }
                if (mapping == null) {
                    mapping = listSchemasByLowerCase(connection);
                    remoteSchemaNames.put(identity, mapping);
                }
                String remoteSchema = mapping.get(schemaName);
                if (remoteSchema != null) {
                    return remoteSchema;
                }
            }
            catch (RuntimeException e) {
                throw new PrestoException(JDBC_ERROR, "Failed to find remote schema name: " + firstNonNull(e.getMessage(), e), e);
            }
        }

        try {
            DatabaseMetaData metadata = connection.getMetaData();
            if (metadata.storesUpperCaseIdentifiers()) {
                return schemaName.toUpperCase(ENGLISH);
            }
            return schemaName;
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    protected Map<String, String> listSchemasByLowerCase(Connection connection)
    {
        return listSchemas(connection).stream()
                .collect(toImmutableMap(schemaName -> schemaName.toLowerCase(ENGLISH), schemaName -> schemaName));
    }

    protected String toRemoteTableName(JdbcIdentity identity, Connection connection, String remoteSchema, String tableName)
    {
        requireNonNull(remoteSchema, "remoteSchema is null");
        requireNonNull(tableName, "tableName is null");
        verify(CharMatcher.forPredicate(Character::isUpperCase).matchesNoneOf(tableName), "Expected table name from internal metadata to be lowercase: %s", tableName);

        if (caseInsensitiveNameMatching) {
            try {
                RemoteTableNameCacheKey cacheKey = new RemoteTableNameCacheKey(identity, remoteSchema);
                Map<String, String> mapping = remoteTableNames.getIfPresent(cacheKey);
                if (mapping != null && !mapping.containsKey(tableName)) {
                    // This might be a table that has just been created. Force reload.
                    mapping = null;
                }
                if (mapping == null) {
                    mapping = listTablesByLowerCase(connection, remoteSchema);
                    remoteTableNames.put(cacheKey, mapping);
                }
                String remoteTable = mapping.get(tableName);
                if (remoteTable != null) {
                    return remoteTable;
                }
            }
            catch (RuntimeException e) {
                throw new PrestoException(JDBC_ERROR, "Failed to find remote table name: " + firstNonNull(e.getMessage(), e), e);
            }
        }

        try {
            DatabaseMetaData metadata = connection.getMetaData();
            if (metadata.storesUpperCaseIdentifiers()) {
                return tableName.toUpperCase(ENGLISH);
            }
            return tableName;
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    protected Map<String, String> listTablesByLowerCase(Connection connection, String remoteSchema)
    {
        try (ResultSet resultSet = getTables(connection, Optional.of(remoteSchema), Optional.empty())) {
            ImmutableMap.Builder<String, String> map = ImmutableMap.builder();
            while (resultSet.next()) {
                String tableName = resultSet.getString("TABLE_NAME");
                map.put(tableName.toLowerCase(ENGLISH), tableName);
            }
            return map.build();
        }
        catch (SQLException e) {
            throw new PrestoException(JDBC_ERROR, e);
        }
    }

    @Override
    public TableStatistics getTableStatistics(ConnectorSession session, JdbcTableHandle handle, List<JdbcColumnHandle> columnHandles, TupleDomain<ColumnHandle> tupleDomain)
    {
        return TableStatistics.empty();
    }

    protected void execute(Connection connection, String query)
            throws SQLException
    {
        try (Statement statement = connection.createStatement()) {
            log.debug("Execute: %s", query);
            statement.execute(query);
        }
    }

    protected String toSqlType(Type type)
    {
        if (isVarcharType(type)) {
            VarcharType varcharType = (VarcharType) type;
            if (varcharType.isUnbounded()) {
                return "varchar";
            }
            return "varchar(" + varcharType.getLengthSafe() + ")";
        }
        if (type instanceof CharType) {
            if (((CharType) type).getLength() == CharType.MAX_LENGTH) {
                return "char";
            }
            return "char(" + ((CharType) type).getLength() + ")";
        }
        if (type instanceof DecimalType) {
            return format("decimal(%s, %s)", ((DecimalType) type).getPrecision(), ((DecimalType) type).getScale());
        }

        String sqlType = SQL_TYPES.get(type);
        if (sqlType != null) {
            return sqlType;
        }
        throw new PrestoException(NOT_SUPPORTED, "Unsupported column type: " + type.getDisplayName());
    }

    protected String quoted(String name)
    {
        name = name.replace(identifierQuote, identifierQuote + identifierQuote);
        return identifierQuote + name + identifierQuote;
    }

    protected String quoted(String catalog, String schema, String table)
    {
        StringBuilder sb = new StringBuilder();
        if (!isNullOrEmpty(catalog)) {
            sb.append(quoted(catalog)).append(".");
        }
        if (!isNullOrEmpty(schema)) {
            sb.append(quoted(schema)).append(".");
        }
        sb.append(quoted(table));
        return sb.toString();
    }

    protected static Optional<String> escapeNamePattern(Optional<String> name, Optional<String> escape)
    {
        if (!name.isPresent() || !escape.isPresent()) {
            return name;
        }
        return Optional.of(escapeNamePattern(name.get(), escape.get()));
    }

    private static String escapeNamePattern(String name, String escape)
    {
        requireNonNull(name, "name is null");
        requireNonNull(escape, "escape is null");
        checkArgument(!escape.equals("_"), "Escape string must not be '_'");
        checkArgument(!escape.equals("%"), "Escape string must not be '%'");
        name = name.replace(escape, escape + escape);
        name = name.replace("_", escape + "_");
        name = name.replace("%", escape + "%");
        return name;
    }

    private static ResultSet getColumns(JdbcTableHandle tableHandle, DatabaseMetaData metadata)
            throws SQLException
    {
        Optional<String> escape = Optional.ofNullable(metadata.getSearchStringEscape());
        return metadata.getColumns(
                tableHandle.getCatalogName(),
                escapeNamePattern(Optional.ofNullable(tableHandle.getSchemaName()), escape).orElse(null),
                escapeNamePattern(Optional.ofNullable(tableHandle.getTableName()), escape).orElse(null),
                null);
    }
}

redpajama_set_name: RedPajamaGithub


Hawk Pumps offers High Pressure Pumps, High Pressure Cleaners, Washers, Sprayers & Pumping solutions for almost any application. ... We are the official pump supplier for Hawk International and HPP Pumps in South Africa. In addition, we represent other well-known brands. Read More... High Pressure Cleaners. ... Specialised Mining Equipment.
Park Lifting and Mining is an accredited Lifting Machinery Entity (LME) that has been active in the industry since 1999. ... We always keep up to date with changes in the regulations and standards by working alongside the Engineering Council of South Africa and the Lifting Equipment Engineering Association of South Africa. V.
South Africa - Using an Agent to Sell US Products and Services ... South Africa - Mining EquipmentSouth Africa - Mining Equipment This is a best prospect industry sector for this country. Includes a market overview and trade data. Last Published: 7/21/2017. Overview.
WEBA South Africa From small beginnings in 1984, M&J Engineering has grown to where, today, the company is well established as a leading supplier of custom designed systems for bulk materials handling. Initially the company manufactured equipment for the underground mining industry including feeder breakers and surge bunker bins.


exceptional number of literary treasures.
pursuits? Seaside Books, my dear! And our significant PEI cultural section will have you swooning!
Romance Bookshelf Throne, or enjoy some free tea as you meander through the nooks.
We are an Official Authorized ticket provider for the Indian River Festival.
6 days January to May 10-5 Monday to Friday; 10-3 Saturday 7 days/week from May to December.


text:
Q: How to get columns index which meet some condition in pandas? I have the following:
x = pd.DataFrame({'a':[1,5,5], 'b':[7,0,7]})

And for every row, i want to get the index of the first column that met the condition that it's value is greater than some value, let's say greater than
4.
In this example, the answer is 1, (correspond to the index of the value 7 in the first row) and 0  (correspond to the index of the value 5 in the second row), and 1(correspond to the index of the value 5 in the third row).
Which means the answer is [1,0,0].
I tried it with apply method:
def get_values_from_row(row, th=0.9):
    """Get a list of column names that meet some condition that their values are larger than a threshold.

Args:
    row(pd.DataFrame): a row.
    th(float): the threshold.

Returns:
    string. contains the columns that it's value met the condition.
"""
return row[row > th].index.tolist()[0]

It works, but i have a large data set, and it's quite slow.
What is a better alternative.

A: I think you need first_valid_index with get_loc:
print (x[x > 4])
     a    b
0  NaN  7.0
1  5.0  NaN
2  7.0  5.0

print (x[x > 4].apply(lambda x: x.index.get_loc(x.first_valid_index()), axis=1))
0    1
1    0
2    0
dtype: int64

redpajama_set_name: RedPajamaStackExchange


My burden was gone! I was free!
10 "But while they were on their way to buy the oil, the bridegroom arrived. The virgins who were ready went in with him to the wedding banquet. And the door was shut. 11 "Later the others also came. 'Lord, Lord,' they said, 'open the door for us!' 12 "But he replied, 'Truly I tell you, I don't know you.' 13 "Therefore keep watch, because you do not know the day or the hour.
How to Prepare For Hostility.
He was a forward-thinking man.
Would she join him in this?
Build their lives together around this?
And the terms of engagement.
More rooted and grounded than she appeared.
She was rich beyond counting!
Selling Gold and Eye Salve.
The Wretch considered the Offer.
18 I counsel thee to buy of me gold tried in the fire, that thou mayest be rich ; and white raiment, that thou mayest be clothed , and that the shame of thy nakedness do not appear ; and anoint thine eyes with eyesalve, that thou mayest see . 19 As many as I love , I rebuke and chasten : be zealous therefore, and repent . 20 Behold , I stand at the door, and knock : if any man hear my voice, and open the door, I will come in to him, and will sup with him, and he with me.
Into the troubled night ahead.
Not by sight but by faith.
Old fool, why can't you see?
Why won't you bend the knee to him?
You say He's coming back?
We're famished now, we thirst today!


text:
New BLACK CHRISTMAS Remake Coming This December from Blumhouse and Universal
Back in 2006, a remake of Bob Clark's Black Christmas was released in theaters, and now Blumhouse and Universal are moving forward with a new reimagining of the holiday horror classic, with a new Black Christmas movie set to be unwrapped in cinemas this December.
Multiple outlets, including The Hollywood Reporter, reveal that Blumhouse and Universal are teaming up for a remake of Black Christmas, which is slated for a theatrical release this year on Friday the 13th of December.
Written by April Wolfe and Sophia Takal, the Black Christmas remake will star Imogen Poots, Aleyse Shannon, Brittany O'Grady, Lily Donoghue and Caleb Eberhardt, with Takal directing. Blumhouse's Jason Blum will produce alongside Ben Cosgrove and Adam Hendricks of Divide/Conquer, with Divide/Conquer's Greg Gilreath and Zac Locke on board as executive producers. Filming will take place in New Zealand.
The remake "centers on a group of sorority sisters at Hawthorne College, who are being hunted down and killed by an unknown stalker. Soon, the killer learns that the school's women are willing to mount a fight to stop the carnage."
We'll keep Daily Dead readers updated as more information is revealed, and in the meantime, you can check out the first teaser poster for the Black Christmas remake (via Facebook):
Source: THR


Travelling usually is an costly pastime, and with the current Euro disaster, many trips in Europe can end up dearer than going across the world! In saying that, sightseeing will be fairly expensive in Amsterdam, especially with out ahead planning! Search for the most affordable flights to any airport anyplace on the planet and we'll aid you discover the very best deals obtainable. It is in the North West of Portugal and located in a Northern place on the perimeter of town of Porto.
Young Aircraft Fleet – Singapore Airlines recurrently renews its already younger and modernized fleet of aircraft. Notably, it was the first airline on this planet to fly and function the Airbus A380 in October 2007. Primarily based on a survey performed in January 2012 by Airlineatlas, Singapore Airlines was ranked because the number 2 airline with the youngest fleet on the earth.