Mumbai: Sanjay Nayar, chief executive officer of KKR India Advisors Pvt. Ltd, the Indian arm of one of the world's largest private equity (PE) funds, said India offers a long-term growth potential in every sector, but the current environment is tough.
Between the private equity fund and the non-banking finance arm, you have at least $2 billion exposure to India. What kind of impact do you see of a slowing US economy and the European debt crises on India?
The US doesn't see a double dip; it probably works its way out of system. The bigger issue is in Europe—the financial institutions have exposure to a lot of sovereign debt, and right now it's not very clear how sound it is. The financial agility in the whole European system is pretty weak and that reflects in the capital markets and the bond markets in that part of the world. By contrast, there is a lot going on in the US and the markets are open and they are functioning.
With the external environment, my sense is that yes, India will be impacted like anybody else, a little bit through the export route. But from a capital market point of view, obviously with so much risk in the world, at the end of the day while India is still a securely positive story and some amount of risk is taken off the table but the currency and the stock markets do get impacted. I would say not overplay the overseas card and we should be very clear that India has its own set of issues.
Many believe that India will largely be unaffected and in fact the crisis in Europe is an opportunity for India.
Look at the secular story, the domestic demographic shift that's going on, the consumption boom in this country…If only we had got the investment spending right from the beginning …We have let that opportunity go and this puts us into a different situation today. It's still an opportunity if we can get some reforms back on track. The key thing for us is to just put our head down—and by us I mean obviously the government and the policy makers—and get a few things done. Even if we start now, we will take a little longer because investment spending and trickle-down effect does take much longer. ...It's still not too late. There is enough elasticity of growth in this country if we get a few things going in terms of reforms.
What are the few things?
The insurance, pension, some basic things and banking… Things are to be done on land reforms and on the agricultural side. Some of these are not that political as they are made out to be. If we have the conviction and the leadership, the impact would be quite immediate because elasticity and the need for this is so much that it can really do wonders. It will also get the confidence back into the local industry to invest and spend and, finally, global investors still want to invest in India.
Secularly it is one of the strongest stories, but if you keep over-promising and not delivering, then it loses its charm. If we start delivering on a few of these reforms, you will be surprised at the positive inflow of capital again.
What will be the top most priority?
As I said, get the infrastructure spend going... It does take time but I am sure a couple of fast-track projects that are on the anvil can get approved on a fast tract and get going. I think there is enough to be done on the agricultural front. The insurance and pension reforms have been on the table for quite some time.
So you are saying it's largely the undoing of the domestic factors.
That's my sense. We have an expanded fiscal account, an expanded trade account and an expanded current account deficit. So the level of flexibility we have today is not that much. Whatever actions you do now they have to be very well measured and well delivered. You don't have the luxury which you had two-three years ago because we have over-budgeted revenues. They haven't worked out for many reasons. Our flexibility is much lower than before. So whatever measures we do have to be extremely precise and extremely well executed to get the impact. I just don't see the design and the leadership to get that done and that's why I think it's a largely local issue.
What's your take on equity markets?
I think we are still slightly expensive compared to a lot of our peers… trading at 14 times forward is not something that is cheap. It would be cheap if you could guarantee 20-25% growth into perpetuity which you can't, but I don't think the markets are going to collapse or something. They can stay at these levels.
Downside risks are still there.
A little bit, not much. But I think they can stay at these levels for a couple of quarters at which point they will look cheaper because the earnings will obviously grow… The profits are getting impacted with the over all macro situation.
We have always said Indian business grows despite the government. I don't think we can say that any more and I think that inaction on the policy front does impact the micro story, not to mention that doing business is become more difficult. The environment is definitely different than what it was four-five years ago.
What's happening in the currency market?
The fact is that a lot of people are pulling capital out and you are seeing the impact. But I really don't know how the rupee is stayed and how it's managed or not managed. I think fundamentally rupee is probably now trading at more fair value than where it used to because we are running four deficits - revenue deficit, trade deficit, current account deficit and fiscal deficit. There is no reason for the currency to be strong. I would say that it is trading at much more than its fair value right now.
So you are seeing downside risk for equities and currency.
Not much from here. The equity markets can continue at these levels for a few quarters which mean the stocks will look much cheaper as we go ahead. The currency could be anywhere between 47 and 50 (a dollar) for sometime. If it continues between 47 and 50, it can benefit the export sector quite a bit although it does hurt us on the inflation front, given that we import a lot of commodities and oil. But both commodity prices and oil is coming off. That should in a way balance out.
You said that corporate India had been growing despite the government, but now it's not happening any more. Have they stopped investing?
The companies are obviously working very hard in managing inflation of costs. So one is just the normal operations are getting impacted because there is inflation at every aspect of costs of goods sold.
They are passing that on to the consumers.
You can't pass on much. The Indian consumers are very price conscious in whatever things they pick up. So, the management of margins is becoming much more difficult. I don't think there is that much of fresh investment spending in the private sector going on, as one would have hoped for. Again, it comes back to the larger issue - are people feeling confident about putting money back to work? There is a bit of a struggle right now.
To what extent are your investment decisions and strategies being influenced?
There are a couple of things. One is that private equity as an asset class clearly provides very-very long term capital and that doesn't change. Therefore, we are not worried about quarterly earnings or even yearly. But one thing is becoming clear that you really have to back very strong management teams and obviously partner the entrepreneurs, because most of the companies are entrepreneur-driven here. What's becoming more important is finding the right partners and backing the right management teams. The second thing is obviously, there is a view on various sectors. In India there is a long term growth potential in every sector.
Even now, because structurally, the secular growth story is absolutely in tact. The final thing really becomes the ability to execute against the plans that people have ... Not only because management team is good or bad but in what sector are they working and what are their external constraints that either help them or detract them from executing the plan. A lot of external factors come into play as well. One has to look at all these things before making an investment decision.
So you started KKR in India in 2008. Is the investment scene getting worse?
I started in 2009 after the Lehman crisis. In terms of deal flow and opportunities, there is a lot of it because right now the equity markets are quite shut. We are seeing a lot of deal flow and will see even a steeper increase in deal flow as we go ahead. If the growth and the spending do start the right way, you are going to be short of capital here .... There is going to be reluctance to dilute stake in banks by the government and it's not easy for large public sector banks to provide you long duration debt capital which is going to be so badly required for infrastructure sector. When you put these two things together, there will be a scramble for capital. There is going to be lot of opportunities both on long term debt as well as high quality long term equity.
We will have a set of new private banks shortly.
I don't think so; I have never believed that you needed too many banks anyway. But I don't think you are going to have too many banks shortly.
It's not going to be easy; just the draft guidelines are out and they need to be finalized and then there the Banking Regulation Act needs to be amended. It's a long process.
Should companies be allowed to float banks?
I never believed in that.
While investing, what kind of weightage do you give to corporate governance?
Indian companies have come a long way in terms of corporate governance and we are very satisfied the way we are seeing functioning of the boards. Corporate governance is an important criterion for us and I think that private equity and independent directors can help improve that. We are having a lot more open dialogue at the board level and that's very encouraging.
For many private equity investors, 2011 was to be a year of exit but it turns out to be that you can't really exit because primary market almost doesn't exist virtually. In some way many private equity investors are trapped and they say returns are actually coming down from 25% to 18% and even 15%.
Yes, exits are not easy; you can't take exits for granted. We don't have a big track record as a market where we have provided exit to private equity. The kind of private equity deals that are happening since 2006 and 2007 in private unlisted companies and holding companies and operating companies, we need IPOs (initial public offers) for exits… You are right, it's difficult to get exits.
Is the return expectation getting muted?
Yes, again it depends upon each firm. We do take a very healthy dose of scepticism when we look at the exist and the exit multiples. I don't think you should think that in India you are going to get an expansion of multiples. You have to take a good dose of scepticism and make sure that you either have a small contraction or at best be flat in terms of entry multiples. The only way we are going to make money here is that you really have to work hard with the companies on operational improvement and profit generation. That's going to be the key and well-run companies, proficient in what they do will always have a good exit three-four years from now. But right now as things stand today, it's a tough environment to exit.
I think capital is always going to flow where there are opportunities, adjusted for risks of all kind. … If you want to attract overseas capital you have to look really beautiful from every aspect, governance, execution, infrastructure,… You are entering a new era where capital is not going to be able to flow that easily, everybody needs capital.
Does India look very ugly?
What's your take on interest rate?
I think we are getting to the end of it, in terms of the hikes. I just wished that we probably used it as a much harder tool in the beginning. It has been a very gradual and a very long phase..
Should the hikes have been faster, quicker?
Quicker in the beginning as it does lose its sharpness as a monetary tool over time. People talk about blunt monetary tools.... I think this is what happened in a way..
We see many private equity (PE) funds are raising money to invest in listed mid cap companies where they see the growth opportunities instead of finding companies, hand holding them and growing with them.
We are going to try and stay to the core and the core is what you said. You have to find good entrepreneurs, good businesses with good management teams to back and just stay with them in the long run and really get aligned from the beginning in where we can add value.. We are not big believers of investing in listed companies. If we have to because India has so many listed companies, that's a different issue.
What is the philosophy behind running a very active NBFC (non-banking finance company) here ?
The logic is just to be a much more complete alternate investment manager for Indian entrepreneurs and Indian companies. So when you are having a discussion about what solves a company's need, you are not just talking of one product but you can actually try and help it along the capital structure. As you know in India, if you want to do anything that's remotely debt oriented, you should have a rupee balance sheet. So the NBFC is really a kind of a vehicle to have a rupee balance sheet that is funded by us.
Finally, any plan to raise an India-focused fund?
None right now because there is enough going on from our existing platform.


text:
Ordoo to launch mobile-ordering with leading UK transport franchise
SETsquared Bath alumni members Ordoo has joined transport franchise GoAhead's Billion Journey Project – a prestigious scale-up accelerator that provides crucial links to 350+ transport industry professionals.
For Ordoo, taking part was a great opportunity to further develop the business and make new contacts. However, a successful pitch at the end of the accelerator to 350+ industry professionals meant they also scored an exciting new contract with GoAhead to develop a proof-of-concept at bustling Brighton train station.
Ordoo founder Tom tells Simpleweb: "The GoAhead accelerator has opened up loads of doors for Ordoo within the rail industry. We're proud to have participated in the accelerator and bring Ordoo to time-poor passengers."
FTSE 250 listed Go-Ahead, which manages 259 train and bus stations across the country, set up the accelerator to boost some of the UK's most innovative startups and scale-ups whose technology could be used to improve services across the transport sector.
David Brown, Go-Ahead Group Chief Executive says: "With our passengers taking over one billion journeys a year, it is important that we are always looking at how we can better meet and exceed their changing needs. The quality of the businesses we have worked with through the Billion Journey Project has been was extremely high, and I hope it is a great indication of where the future of the transport industry is headed."
For Ordoo this is an incredibly exciting time. If their proof of concept works for Brighton we could soon all be forgetting the coffee queues on our morning commutes, instead opting to use the Ordoo app to order and pay before arrival at train or bus stations across the country – saving time and energy for better things (Sudoku anyone?).
Content courtesy of Simpleweb

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: HTTPS GET request to https://www.googleapis.com/plus/v1/people/me ok, here's a snippet of my code
$client = new Google_Client();
$client->setScopes(array('https://www.googleapis.com/auth/plus.me','https://www.googleapis.com/auth/userinfo.email'));
$plus = new Google_PlusService($client);

if (isset($_SESSION['token'])) {
  $client->setAccessToken($_SESSION['token']);
} else {
    $_SESSION['auth_token'] = $client->authenticate();
}

and now I've got the $_SESSION['auth_token'] which contains something like
{"access_token":"ya29.AHESblablablabalbalbalbagTUI4-MfZvwtb6A","token_type":"Bearer","expires_in":3600,"id_token":"blablablabalbalbalba.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiY2lkIjoiNzAzNTg5ODA3MjMxLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXpwIjoiNzAzNTg5ODA3MjMxLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiNzAzNTgblablablabalbalbalbaRlbnQuY29tIiwiaGQiOiJnZW9mbGV4LmNvbS5teSIsInZlcmlmaWVkX2VtYWlsIjoidHJ1ZSIsImVtYWlsX3blablablabalbalbalbaFzei00N25nN3VoLU5NUmh3IiwiYXRfaGFzaCI6IllEeC13UXN6LTQ3bmc3dWgtTk1SaHciLCJpYXQiOjEzNzQ1NjA1NDcsImV4cCI6MTM3NDU2NDQ0N30.ek1FX-pY8BdaI8sDhA0rwmiIDyBV6pHPvBi-l7BxDJCR-YoDQGFN8y-kA1xg-vmoReiVCwhvQhHK__jc-xFSLfJDLbwk-UGyRKu_O7ZCaSviP7WupexIYvLGCyvgLBdjG3K7UIcq0o3L15mQPvQJr9LA7325gwEOZ12Pc1lAHKw","refresh_token":"1\/Y7oilVvUUutfkKMDfblablablabalbalbalbaE","created":1374560847}

my question is, how do I get the user's email? i know you can just call
https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=youraccess_token

but is that the 'official' way to get the users's email? because from here https://developers.google.com/accounts/docs/OAuth2Login#exchangecode it says
The Access Token that your application received during the authentication flow with Google can be used to obtain additional profile information about the user. Please be advised that Google is modifying the behavior of the different endpoints to simplify their usage. We currently recommend the following based on existing behavior. If you are using Login with Google+, you should always retrieve user profile information from the People API by sending an HTTPS GET request to https://www.googleapis.com/plus/v1/people/me using your Access Token to authenticate the request.
So i guess the best way is to perform HTTPS GET request to googleapis.com.. but I don't know how to do it. Can anyone lead the way?

A: Create a Google_Oauth2Service object (put it under the $plus initialization), like:
$client = new Google_Client();
$plus = new Google_PlusService($client);
$oauth2 = new Google_Oauth2Service($client);

and after succesfully authenticating the client use:
$userInfo = $oauth2->userinfo->get();
$email = $userInfo['email'];

redpajama_set_name: RedPajamaStackExchange


text:
Courtesy of PNC
Stats 'N' At: Faith in Murray, Conner vs. Bell, Kang's value
By David Golebiewski
Matt Murray, Saturday night. - MATT SUNDAY / DKPS
Welcome to Stats 'N' At, a weekly feature that takes a deep dive into the numbers that define the Pittsburgh sports scene.
Matt Murray weathered a personally and professionally trying season for the Penguins in 2017-18 -- one in which he lost his father, plus suffered a concussion and a lower-body injury that limited his playing time -- and turned in a performance that was disappointing given the lofty standard he set while contributing to consecutive Stanley Cup titles.
Murray's under pressure as the 2018-19 season opens, thanks to the expectations that follow the prodigious start to his NHL career and the scrutiny that comes with replacing the Patron Saint of Penguins Hockey, Marc-Andre Fleury. Murray does need to prove he can stay healthy, and his play last season was uneven. He has gotten off to a brutal start this year, too, surrendering 11 goals through his first two games. But fans should still consider themselves lucky to have the 24-year-old in net. Few young goalies in NHL history have outperformed Murray, who still looks like a franchise netminder to me.
Why keep the faith in Murray?
• Murray flashed elite talent during the 2015-16 and 2016-17 seasons. Over that timeframe, his expected save percentage in 5-on-5 situations -- calculated based on shot location and shot angle, as well as odd-man rush situations -- was .920, according to Corsica Hockey. Murray's actual 5-on-5 save percentage over that two-year span was .934, meaning that he prevented 1.4% more goals than an average NHL goaltender given the quality of chances faced. Murray had the highest such rate among anyone who logged at least 2,000 minutes in 2015-16 and 2016-17, besting standouts like Corey Crawford, Carey Price and Henrik Lundqvist.
• The Penguins' at-times reckless play in 2017-18 meant Murray faced more difficult shots. In 2015-16, they surrendered the eighth-fewest high-danger scoring chances (604) among NHL teams, according to Natural Stat Trick. In 2016-17, they ranked 22nd in high-danger chances against (713). Last year? they ranked 26th, allowing 767 high-danger chances. This doesn't completely bail out Murray, who stopped 1.3% fewer shots than expected last year, but it serves as a reminder that goalies don't make saves in a vacuum. He needs more support.
• Even with a so-so 2017-18, Murray still ranks as one of the better young goaltenders in NHL history. Hockey-Reference features a stat called Adjusted Goals Allowed Percentage, which compares a save percentage to that of the NHL average over a given period of time. It's a rough way of comparing goaltenders across eras by accounting for differences in the league-wide offensive environment. One hundred is average, and a number below 100 means that a goaltender stopped more pucks than an average NHL player. By that measure, Murray turned in one of the 10 best performances among goaltenders during his age 21 to 23 seasons:
Three of the guys on this list -- Patrick Roy, Martin Brodeur and Grant Fuhr -- are Hall of Famers. Murray has something to prove this season, but we shouldn't lose sight of his talent and accomplishments. Most NHL teams would kill to have an affordable, two-time Cup-winning goaltender who's just entering his prime years.
MORE PENGUINS
• Kris Letang: Greatest Penguins D-man? With a prolific start to this season, Kris Letang passed Paul Coffey for the Penguins' franchise lead in career points by a defenseman with 441. That milestone is sure to generate talk about whether Letang -- a three-time Stanley Cup champion, four-time All-Star, and potential future Hall of Fame candidate -- is the best ever at his position in Pittsburgh.
At first glance, Letang's offensive stats don't seem to stack up with those of Coffey, who racked up his 440 points in less than half the amount of career games in Pittsburgh (331) as Letang (684). However, the comparison becomes much more interesting when you adjust for the vastly different offensive eras during which these guys played. Coffey played for the Penguins between 1987-88 and 1991-92, when the average NHL team netted between 3.46 and 3.74 goals per game. Letang has played since 2006-07, and the average team goals per game has hovered between 2.7 and 2.9 between then and the present day. Two totally different eras of offensive hockey.
According to Hockey-Reference, Letang's adjusted points per game total (which adjusts a player's production based on the offensive environment during his career) is 1.1, compared to his actual total of 0.64 per game. Coffey had 1.13 adjusted points per game during his Penguins tenure, versus his actual total of 1.33. In terms of adjusted points per game, Letang and Coffey are a cut above other notable Pittsburgh defensemen like Ron Stackhouse (0.47), Randy Carlyle (0.64), Larry Murphy (0.87) and Sergei Gonchar (0.83).
• A tale of two offenses: In their season-opening, freewheeling win over the Capitals, the Penguins' offense looked characteristically lethal. Against the Canadiens ... they did play that game, right? Against Washington, they generated a staggering 36 scoring chances -- a total that they surpassed in only two regular-season games during the 2017-18 season, two games during the 2016-17 season, and once during the 2015-16 season, according to Natural Stat Trick. Against Montreal, the Penguins generated a paltry 13 scoring chances. They created fewer scoring chances in just three games during the 2017-18 season, four games in 2016-17, and four games in 2015-16.
It's just two games in, but we have already seen the Penguins' offense at its zenith and nadir.
• Conner can catch: In the receiving game, James Conner has looked downright Le'Veon Bell-like. Through five games in 2018, Conner has 22 receptions on 28 targets (a 78.6% catch rate) for 239 yards (10.9 yards per reception). He's averaging 47.8 receiving yards per game. Bell's career pass-catching averages? A 78.6% catch rate, 42.9 receiving yards per game, and 8.5 yards per reception. At this rate, Conner will surpass his receiving total during his entire 39-game career at Pitt (412 yards) by mid-season.
• Run right through Falcons: After practically abandoning the running game in recent weeks, the Steelers rumbled for 134 yards at an average of 4.8 per carry versus the Falcons (excluding Joshua Dobbs' kneel-down to end the game). Conner did the heavy lifting, collecting 110 yards and scoring two TDs. The Steelers charged to the right side of the field at will -- through David DeCastro and Marcus Gilbert -- with Conner gaining 52 yards on eight carries (6.5 yards per attempt) in that direction, according to NFL Next Gen Stats. Even Ben Roethlisberger got into the act, running for 16 yards on two scrambles to the right side.
• AB bests Julio: In a game billed as a matchup of two of the greatest receivers of this generation, Antonio Brown outshined Julio Jones. Brown hauled in six passes for 101 yards and two TDs. Jones finished with five receptions for 62 yards and was shutout entirely until the fourth quarter. The Steelers' oft-criticized, oft-burned secondary did an excellent job of staying close to Jones the entire game. On average, Jones gained just 2.1 yards of separation per route run from the nearest Steelers defender, according to NFL Next Gen Stats. The NFL average separation from the nearest defender is 2.7 yards.
• Will Kang return? In the Pirates' final series, Jung-Ho Kang made a big league cameo for the first time in two years. Now, the question becomes: Is that the last we will see of him in Pittsburgh?
The Pirates hold a $5.5 million club option for Kang in 2019, and they could also choose to decline that option and re-negotiate a lower salary. We really don't know what type of player that Kang, now 31, will be moving forward. But if he's anything close to the player who took the field in 2015 and 2016, the power-deprived Pirates could certainly use him.
For his career, Kang has posted a park and league-adjusted On-Base Plus Slugging Percentage (OPS) that's 25% above the overall Major League Basebasll average. Per 162 games, Kang has been worth 4.1 Wins Above Replacement (WAR). WAR is an all-encompassing measure of a player's value that accounts for hitting, fielding, and base running. For comparison's sake, the Pirates' WAR leader among position players in 2018 was Starling Marte, at 3.7.
• Bell's D needs overhaul, too: First baseman Josh Bell didn't turn in the breakout performance that many expected in 2018, with his home run total dipping from 26 in 2017 to 12 and his park and league-adjusted On-Base Plus Slugging Percentage remaining around 10% above the overall MLB average -- hardly slugger territory for a guy who plays a power position.
But Bell's defense should also be a concern. According to Fangraphs' Defensive Runs Saved (DRS) stat, Bell cost the Pirates minus-9 runs in 2018 compared to an average defensive first baseman. DRS rates a player's fielding ability compared to an average defender at his position, accounting for play difficulty, range and throwing arm. Bell tied with Seattle's Ryon Healy for the worst DRS total among regular first basemen. In 2017, Bell actually saved the Pirates 6 runs compared to an average defender. That's a 15 run swing--or about 1.5 wins in the standings--in Bell's defensive value over the last two years.
If he's not going to hit for mammoth power, the Pirates need Bell to be the kind of defender he was in 2017, not the guy who channeled Pedro Alvarez this past year.
• Wham! Another homer! Is 'Dovydas Neverauskas' Lithuanian for home run?
Neverauskas made history by becoming the first MLB player from his native country, but he's also making the record books for some less desirable reasons. In 52.1 career MLB innings pitched, he has surrendered 13 homers -- a rate of 2.24 per nine frames. That's the 13th-highest home run rate all-time among pitchers who have logged 50+ innings pitched. He has been plenty successful at Triple-A Indianapolis, posting a 2.91 ERA, punching out more than a batter per inning (9.1 K/9) and rarely getting taken deep (0.3 HR/9). Yet, at the highest level, he's struggling to locate his stuff. According to MLB Statcast, Neverauskas has thrown a "meatball" -- a pitch thrown to the middle-middle of the strike zone -- more than 10% of the time (the MLB average is about 7%). Poor location is part of why Neverauskas surrenders more hard contact (36.3% of balls put in play) than the average pitcher (34.1%), and why he's getting whiplash on the mound.
• Drops plague Penn State: At first blush, it seems like QB Trace McSorley has been off-target to start the 2018 season. After all, his completion percentage has cratered from 66.5% in 2017 to just 53.2% this year. That doesn't tell the whole story, though. McSorley is getting little help from his receivers, who have appeared stone-handed at times. According to the Roar Lions Roar website, which conducts detailed passing chart breakdowns of each game, Penn State receivers have dropped a total of 18 passes this season. Had Nittany Lions receivers hauled in those catchable balls, McSorley's completion rate would be right around 66%.
• Air Kessman: Pitt kicker Alex Kessman entered Saturday's game versus Syracuse with a career field goal percentage below 60%. By the end of the contest, he had showcased serious leg strength, etched his name in the record books, and even pumped up the homecoming crowd while flexing his 24 inch...well, maybe 14-inch pythons. Kessman set a new record by booting a 55-yard field goal at Heinz Field--the longest in the stadium's history for a college or NFL kicker. He broke the mark shared by Steelers kicker Chris Boswell (2017) and then-Cowboys kicker Dan Bailey (2016), who both made 53 yard field goals. Technically, Kessman broke his own record, as he hit a 54-yard attempt earlier versus Syracuse before converting from 55 yards. Syracuse kicker Andre Szmyt also got in on the act, splitting the uprights with a 54-yard attempt against Pitt.
• Pitt's ground grind: The Panthers crushed the Orange on the ground, with Qadree Ollison and Darrin Hall both topping 100 yards rushing while scoring three touchdowns. Pitt finished with 265 rushing yards, which is the school's highest total since it ran for 267 versus North Carolina in November of 2017. While the Kenny Pickett-led passing game has been tame, averaging a mere 149.2 yards per game (119th among FBS schools), Pitt ranks a respectable 39th in the FBS with 203.8 rushing yards per contest. Overall, the running game accounts for 57.7% of Pitt's total offense in 2018. That's the second-highest percentage among Atlantic Coast Conference schools, and far above Pitt's 40.6% rate from 2017. The only ACC team more reliant on the running game is Georgia Tech--and they run the triple-option, so they shouldn't really count. Just how good is the Panthers' running attack? We should find out when they travel to South Bend, as Notre Dame has limited teams to 127.8 rushing yards per game this season (38th among FBS schools).
THE NATIONAL TREND
• Take me out to the ball game? The Pirates' attendance figures have plummeted in recent years, from an average 30,847 fans filling PNC park in 2015 to a mere 18,316 per game in 2018. That's a staggering decline no matter how you look at it. But the Pirates are an extreme example of a national trend that's afflicting our National Pastime. Across all of MLB, attendance his dipped from an average of 30,349 fans per game in 2015 to 28,659 this past season (a 5.6% decline). MLB's not exactly hurting financially, with total revenue eclipsing $10 billion last year, and some of this year's attendance decline could be due to especially harsh weather. But hey, if you do buy a ticket, you've got better odds of snagging a foul ball, a free T-shirt, or a lukewarm hot dog!
LET'S HEAR FROM YOU!
Do you have a question for Stats 'N' At? Post it in comments below!
Wilkes-Barre Watch: Miletic brings some touch
TV: DK on 'Pens Pulse'


If it's Taylor made, it's custom made!
Taylor Upholstering Company has been servicing the Savannah area with superior quality upholstery since 1999. We specialize in home furniture, antique, commercial, auto, and marine upholstery.


The Vivo NEX S flaunts a 6.59-inch Full HD+ display and is bundled with 128GB of internal storage space. Powered by an octa-core Snapdragon 845 SoC and 8GB of RAM, the handset runs Android Oreo. The device has an under-display fingerprint reader and comes with dual 12+5MP rear and an 8MP front-facing shooter. Loaded with a 4,000mAh battery, the smartphone also has dual SIM support. The other popular Vivo mobile you may look for is Vivo Nex.
Vivo NEX S price in India is expected to be Rs. 42990. The 128GB variant costs around Rs. 42990 and comes in multiple colour options like Black, Red.
The Vivo NEX S is an upgraded variant of the Vivo NEX A. In terms of design, there aren't many alterations. The only difference is that the NEX S packs a more powerful processor and ships with more RAM. One of the unique points of the smartphone is that it features an under-display fingerprint reader. Also, the handest features facial recognition which ensures that the smartphone can be unlocked by just glancing at the screen.
To enable smooth and top-notch performance, the Vivo NEX S is powered by an octa-core Snapdragon 845 chipset and 8GB of RAM. The chipset allows smooth sailing even while you work on multiple apps at the same time or indulge in graphics-intensive games like PUBG and Asphalt 8.
The Vivo NEX S flaunts the same 6.59-inch Full HD+ display which is vivid and reproduces life-like images. The screen is coupled with good viewing angles and also offer decent legibility under bright sunlight. The screen looks bigger thanks to the narrow bezels and should be ideal for gaming or watching videos.
In terms of storage, the Vivo NEX S is bundled with an onboard storage space of 128GB which is fixed and cannot be expanded any further. However, one should not complain much about storage as 128GB is enough to store all the relevant apps and data.
The Vivo NEX S ships with dual 12+5-megapixel rear cameras and an 8-megapixel front-facing shooter. You can also shoot images and record videos in dark conditions thanks to the presence of the dual-tone dual LED flash at the back. The frontal imaging unit can be used for capturing self-portraits and making video calls.
The Vivo NEX S is based on the Android 8.1 Oreo operating system out of the box.
Loaded with a non-removable Li-Po 4,000mAh battery, the smartphone can easily last for more than a day even for heavy users. Also, you get fast charging support with the Vivo NEX S that ensures that you are not out of power for long.
For connectivity, there are options like 4G with VoLTE support, GPS, Bluetooth 5.0, Wi-Fi 802.11 a/b/g/n/ac, and a USB Type-C port. Also, there is dual SIM support.
What is the front camera megapixels of this phone?
It has an 8MP front-facing camera.
What is the difference between Vivo NEX and Vivo NEX S?


text:
Twitter Instagram YouTube Facebook
YellowStraps ft: Sam Wise – flowin
With the premiere of the new visual for "Flowin" which features a collaboration with Rapper Sam Wise, the neo-soup hip-hop duo from Brussels is igniting the Belgian neo-soul scene. The Offical video is directed by Rob Knudsen and Yvan Murenzi. The Cinematographer's use of colour sets the tone and mood, depicting the paradox of love until it hurts. "Flowin" is produced and composed by Jalam88, Halibab Matador, and VYNK. The new track is off YellowStraps' upcoming 13-track album project "Tentacle", and will be released on Jan 27th, 2023.
YellowStraps is a Belgian neo-soul hip-hop duo comprised of two brothers, Yvan (vocals) and Alban (guitar) Murenzi. They were born in Rwanda, grew up in Uganda, and relocated to Belgium, in the suburbs of Brussels. Heavily inspired and Influenced by the UK neo-soul and RnB scene. They started making music on their own, before meeting Belgian producer Le Motel. They gained notoriety with the 2020 debut EP, "Yellockdown Project" mixtape, establishing themselves in the Belgian neo-soul hip-hop scene.
The album is about the complexity of love and relationships and the feeling of being stuck in an uncomfortable situation, like by tentacles and you are struggling to get out. In another way, you can also see it as a hug. I wanted to depict that paradox of love on my album. If I had to summarize the album in only a few words, I would say: Love is torture, but I still love."
Follow YellowStraps on Twitter and Instagram.
This playlist, "Hype," includes a mix of high-energy Hip Hop and Rap songs to get your blood pumping. From The Notorious B.I.G….
M-Dot & Revalation (EMS crew) is a formidable tag-team duo out of Boston. Their latest offering, "Jump Start" (Grazzhoppa Remix), is a…
Baby Prince – SHAKE feat. Blessed
There is always something fresh and exciting to discover in Hip Hop. Introducing Brisbane-based hip-hop artist Baby Prince with his latest MoonBXY-directed video for…
SoulRocca ft. M-Dot – Toil
On their latest single 'Toil,' SoulRocca arrange a menacing backdrop for Boston rap titan M-Dot, to verbally eviscerate the Preemo-influenced soundscape. The…
GloRilla – Anyways, Life's Great…
GloRilla who signed to Yo Gotti's imprint CMG releases her debut EP 'Anyways, Life's Great…' which features Cardi B, Niki Pooh, and…
Konflik – Shine featuring El Da Sensei
Konflik, El Da Sensei, and NasteeLuvzYou have united their musical prowess to craft the single "Shine" from Konflik's album "Head Of Snake,…
© 2023 Bound 2 Hip Hop - Privacy Policy | Cookie Policy | Terms and Conditions | O-Side Media


text:
Aurélien Djani Tchouaméni (ur. 27 stycznia 2000 w Rouen) – francuski piłkarz pochodzenia kameruńskiego występujący na pozycji pomocnika w hiszpańskim klubie Real Madryt oraz w reprezentacji Francji.

Kariera klubowa

Girondins Bordeaux
W 2011 dołączył do akademii Girondins de Bordeaux. 1 lipca 2017 został włączony do zespołu rezerw. W drugiej drużyny zadebiutował 19 sierpnia 2017 w meczu Championnat National 3 przeciwko Genêts Anglet (1–0). Pierwszą bramkę dla drużyny rezerw zdobył 8 kwietnia 2018 w meczu ligowym przeciwko AS Cozes (1–4). 1 lipca 2018 został przesunięty do pierwszego zespołu. Zadebiutował 26 lipca 2018 w meczu kwalifikacji do Ligi Europy przeciwko FK Ventspils (0:1). Pierwszego gola zdobył 9 sierpnia 2018 w meczu kwalifikacji do Ligi Europy przeciwko FK Mariupol (1–3). W Ligue 1 zadebiutował 12 sierpnia 2018 w meczu przeciwko RC Strasbourg (0–2). 20 września 2018 zadebiutował w fazie grupowej Ligi Europy w meczu przeciwko SK Slavii Praga (1–0).

AS Monaco FC
29 stycznia 2020 podpisał kontrakt z klubem AS Monaco FC. Zadebiutował 1 lutego 2020 w meczu Ligue 1 przeciwko Nîmes Olympique (3–1). Pierwszą bramkę zdobył 23 stycznia 2021 w meczu ligowym przeciwko Olympique Marsylia (3:1).

Real Madryt
11 czerwca 2022 kluby ogłosiły, że 1 lipca 2022 Tchouaméni zostanie piłkarzem Realu Madryt, podpisując sześcioletni kontrakt. Ustalona kwota transferu wyniosła 80 milionów euro.

Kariera reprezentacyjna

Reprezentacja Francji U-17
W 2016 roku otrzymał powołanie do reprezentacji Francji U-17. Zadebiutował w meczu kwalifikacji do Mistrzostw Europy U-17 2017 przeciwko reprezentacji Czarnogóry U-17. 30 kwietnia 2017 otrzymał powołanie do kadr reprezentacji Fancji na turniej finałowy Mistrzost Europy U-17 2017. Na Euro U-17 2017 zadebiutował 3 maja 2017 w meczu fazy grupowej przeciwko reprezentacji Węgier U-17 (3–2). 21 września 2017 otrzymał powołanie na Mistrzostwa Świata U-17 2017. Na Mundialu U-17 2017 zadebiutował 8 października 2017 w meczu fazy grupowej przeciwko reprezentacji Nowej Kaledonii U-17 (1–7).

Reprezentacja Francji U-20
W 2019 roku otrzymał powołanie do reprezentacji Francji U-20. Zadebiutował 6 września 2019 w meczu towarzyskim przeciwko reprezentacji Chorwacji U-20 (1–1).

Statystyki

Klubowe
 (aktualne na dzień 11 lutego 2023)

Reprezentacyjne
 (aktualne na dzień 18 grudnia 2022)

Sukcesy

Real Madryt
 Superpuchar Europy UEFA: 2022
 Klubowe mistrzostwo świata: 2022

Reprezentacyjne
 Liga Narodów UEFA: 2020/2021
 Wicemistrzostwo świata: 2022

Uwagi

Przypisy

Bibliografia

Reprezentanci Francji w piłce nożnej
Piłkarze Girondins Bordeaux
Piłkarze AS Monaco FC
Piłkarze Realu Madryt
Uczestnicy Mistrzostw Europy U-21 w Piłce Nożnej 2021
Uczestnicy Mistrzostw Świata w Piłce Nożnej 2022
Francuzi pochodzenia kameruńskiego
Ludzie urodzeni w Rouen
Urodzeni w 2000

redpajama_set_name: RedPajamaWikipedia


Discussion in 'Windows XP' started by BEKKIE, Jul 18, 2006.
I`ve Got The Gaelicum.a Virus On My Computer. I Did Clean It With Vcleaner And If I Run Avg It Stated That It Is Clean But After Restarting My Machine Its Back . How Can I Clean This Virus?
Try an online Virus scan.
Let us know what it finds.


text:
Lok Sabha Election 63.52 per cent voter turnout recorded in&nbspphase-4
Lok Sabha Election: 63.52 per cent voter turnout recorded in phase-4
New Delhi | Updated:Apr 29, 2019 10:42:25 pm
Phase 4 Election 2019 Voting Live Updates: According to Voter Turnout app, nearly 38% turnout has been recorded till 1:30 pm in all the nine states.
Polling underway for 72 Lok Sabha seats spread across 9 states.
Lok Sabha Election Phase 4: Just 63.52 per cent voter turnout was recorded in the fourth phase of polling. The voter turnout in states that went to polls was: UP-57.58 per cent turnout, Maharashtra-57 per cent, West Bengal-76.72 per cent, Jharkhand-63.77 per cent, Bihar-59.02 per cent, Madhya Pradesh-73.61 per cent, Odisha-64.80 per cent.
The polling begin at 7 am and ended at 6 pm for 72 seats spread across nine different states — Rajasthan (13 seats), Uttar Pradesh (13), West Bengal (8), Madhya Pradesh (6), Odisha (6), Bihar (5), Jharkhand (3), Maharashtra (17) and Jammu and Kashmir (1).
The key contestants in the fray were Urmila Matondkar (Congress), Giriraj Singh (BJP), Kanhaiya Kumar (CPI), Subhash Bhamre (BJP), Dimple Yadav (Samajwadi Party), SS Ahluwalia (BJP), Milind Deora (Congress), Babul Supriyo (BJP), Salman Khurshid (Congress), Baijayant Panda (BJP), Adhir Ranjan Chowdhury (Congress) and Sriprakash Jaiswal (Congress).
The Election Commission had made elaborate security arrangements across all the seats for the peaceful conduct of polling. In the first three phases, 302 out of 543 constituencies went to polls. The voter turnout in phase-I was 69.45 per cent, 69.43 per cent in phase-II and 64.66 per cent in phase-III.
18:31 (IST)29 Apr 2019
Babul Supriyo booked for entering booth, threatening poll officer in West Bengal
The EC on Monday directed the West Bengal police to file an FIR against union minister and BJP candidate from Asansol parliamentary seat Babul Supriyo. The complaint was registered after Supriyo allegedly trespassed into booth number 199 and threatened a polling agent and an officer. Read full story here
Madhya Pradesh polls: 63% voting in MP till 5 pm
An average 63 per cent voter turnout was recorded till 5 pm across six Lok Sabha constituencies in Madhya Pradesh Monday, an official said.
The polling began at 7 am, and barring a few Naxal-affected areas in Balaghat, will continue till 6 pm.
"An average 63 per cent turnout was recorded till 5 pm," an election official said.
Mukesh Ambani casts vote in Mumbai
Reliance industries chairman Mukesh Ambani cast his vote during the fourth phase polling of the Lok Sabha elections in Mumbai.
Reliance Industries Chairman Mukesh Ambani and his family after casting their votes at a polling booth at Villa Theresa High School on Peddar Road. (ANI Photo)
Mamata Banerjee angry with central force for firing during polling
West Bengal Chief Minister Mamata Banerjee on Monday slammed the central forces for allegedly firing "inside" a polling booth in Birbhum district and accused the BJP of misusing the forces in the elections.
Stating that the law and order is a state subject, she said it is not the job of the central forces to enter polling booths and they should keep vigil outside.
In Dubrajpur area of Birbhum constituency, voters allegedly engaged in a scuffle with the central forces when they were barred from entering booths with mobile phones, a senior election official said.
BJD writes letter to EC
Biju Janata Dal (BJD) writes to Chief Electoral Officer, Odisha over alleged "booth capturing by BJP". Letter states "BJP goons conducted booth capturing in 12 booths of Bari assembly constituency under Jajpur parliamentary constituency while the polling was going on today."
49.53% turnout till 3 pm
Estimated voter turnout till 3 pm for the 4th phase of Lok Sabha Elections 2019 is 49.53%. Voting is underway in 72 constituencies, across 9 states.
Estimated voter turnout till 3 pm for the 4th phase of #LokSabhaElections2019 is 49.53%. Voting is underway in 72 constituencies, across 9 states. pic.twitter.com/CgAII1vFyT
— ANI (@ANI) April 29, 2019
49 pct voting in Madhya Prdesh till 3 pm
An average 49.02 per cent voter turnout was recorded till 3 pm across six Lok Sabha constituencies in Madhya Pradesh Monday, an official said. The polling began at 7 am. "An average 49.02 per cent turnout was recorded till 3 pm," an election official said.
The voting figures till 3 pm were as follows: Sidhi- 34.95 per cent, Shahdol-51.91 per cent, Jabalpur-48.71 per cent, Mandla-51.34 per cent, Balaghat-54.48 percent and Chhindwara- 54.04 percent.
Shatrughan Sinha files nomination from Patna Sahib
Shatrughan Sinha files nomination from Patna Sahib. The actor turned politician had left BJP recently to join the Congress. He is up against Law Minister Ravi Shankar Prasad. Patna Sahib will go on polls during the last phase on May 19.
SP changes candidate from Varanasi
SP changes candidate from Varanasi Lok Sabha Constituency; gives ticket to Tej Bahadur Yadav. He was dismissed from bSF after he had released video on quality of food served to soldiers last year . Befor him, SP's Shalini Yadav had filed her nomination from Varanasi.
Over 37 per cent voting recorded till 3 pm in Uttar Pradesh
Polling picked up in 13 Lok Sabha constituencies of Uttar Pradesh as an estimated 37.33 per cent voters exercised their franchise till 3 pm, according to Voter Turnout app of the Election Commission of India.
Seats where the polling is underway in the state are Shahjahanpur (SC), Kheri, Hardoi (SC), Misrikh (SC), Unnao, Farrukhabad, Etawah (SC), Kannauj, Kanpur, Akbarpur, Jalaun (SC), Jhansi and Hamirpur.
Sharad Pawar urges people to elect stable govt
While casting his vote in Mumbai, NCP chief Sharad Pawar urged citizens to come out and vote in large numbers in order to ensure a stable government at the Centre.
"Today is an important day for the country. It is required that a stable government is formed. It is expected that Mumbaikars will not lag behind, and will exercise their voting right by coming out in large numbers and voting decisively," Pawar, the former Union minister, tweeted in Marathi.
Sachin Tendulkar casts vote at polling booth in Bandra
Cricket legend Sachin Tendulkar with his wife Anjali Tendulkar, daughter Sara Tendulkar and son Arjun Tendulkar cast their votes during the fourth phase of the Lok Sabha elections. Both Sara and Arjun are first time voters.
Sachin Tendulkar, his wife Anjali Tendulkar, daughter Sara Tendulkar, and son Arjun Tendulkar after casting their vote at polling center number 203 in Bandra. (ANI Photo)
Three poll staffers die in Madhya Pradesh
Three government employees, including a woman, engaged in poll duty died in separate incidents in Madhya Pradesh, an official said on Monday.
Sunanda Kotekar, who along with other polling personnel reached the booth in Saunsar area of Chhindwara Lok Sabha seat early on Sunday, died of cardiac arrest even before she could be provided any medical assistance, he said. In another incident, an assistant sub-inspector deployed on poll security duty died after suffering a heart attack in Sidhi district on Monday morning. Besides, a poll staffer posted at Seoni in Balaghat Lok Sabha seat suffered brain hemorrhage and succumbed to it on Sunday evening.
Estimated voter turnout till 2 pm is 38.63%
Estimated voter turnout till 2 pm for the 4th phase of Lok Sabha Elections is 38.63%. Voting is underway in 72 constituencies, across 9 states.
Salman Khan casts his vote in Bandra
Bollywood actor Salman Khan casts his vote at polling booth number 283 in Bandra. Mumbai has six parliamentary seats. Polling is being held across all seats today.
Maharashtra: Actor Salman Khan casts his vote at polling booth number 283 in Bandra, Mumbai. #LokSabhaElections2019 pic.twitter.com/dg7TvYsyQL
Kareena Kapoor casts her vote
Bollywood actor Kareena Kapoor Khan casts her vote in the fourth phase of Lok Sabha polls in Mumbai.
Amitabh Bachchan casts his vote in Juhu
Amitabh Bachchan, his wife Jaya Bachchan, son Abhishek Bachchan and daughter-in-law Aishwarya Rai Bachchan cast their vote at a polling booth in Juhu.
Mumbai: Actors Amitabh Bachchan, Jaya Bachchan, Abhishek Bachchan & Aishwarya Rai Bachchan cast their vote at a polling booth in Juhu. #LokSabhaElections2019 pic.twitter.com/BRAxZr1Jkk
Smriti Irani casts her vote in Versova
BJP leader and Union minister Smriti Irani casts her vote in Versova. She was accompanied by her husband. Irani is contesting election from Amethi on a BJP ticket.
Mumbai: BJP candidate from Amethi, Smriti Irani and her husband Zubin Irani cast their vote at a polling booth in Versova. #LokSabhaElections2019 pic.twitter.com/rPmk33TXlT
Nearly 53% voting in West Bengal
Polling is currently under for 8 Lok Sabha seats in West Bengal. According to Voter Turnout data, all the eight seats have recorded 52.37% votin till 1:30 pm. Baharampur - 53.51%, Krishnanagar - 51.39%, Ranaghat - 52.27%, Bardhaman Purab - 55.47%, Burdwan-Durgapur - 50.87%, Asansol - 49.98%, Bolpur - 50.82%, Birbhum - 54.60%
Priyanka Chopra's message
Priyanka Chopra urges people to vote in large numbers. "This is the moment that matters.... Every vote is a voice that counts," she said in tweet.
This is the moment that matters.... Every vote is a voice that counts. #LokSabhaElections2019 pic.twitter.com/L0AHJLL4uY
— PRIYANKA (@priyankachopra) April 29, 2019
37.38% turnout till 1:30 pm
37.38% turnout has been recorded till 1:30 pm across all 9 states. Bihar - 37.71%, J&K - 6.66%, MP - 42.69%, Maharashtra - 27.97%, Odisha - 35.77%, Rajasthan - 43.80%, UP - 34%, WB - 52.07%, Jharkhand 44.90%
BJP moves EC over violence in West Bengal
A delegation of Bharatiya Janata Party (BJP) on Monday moved Election Commission of India over incidents of violence in West Bengal during polls. The deleghation, led by Mukhtar Abbas Naqvi, demanded deployment of central forces in the state for the smooth conduct of elections in the remaining phases.
Hema Malini and her daughters cast their votes
Hema Malini and her daughters Esha Deol and Ahana Deol after casting their vote in Vile Parle. Hema Malini is seeking re-election from Mathura Lok Sabha seat on a BJP ticket.
Mumbai: BJP's Lok Sabha candidate from Mathura, Hema Malini and her daughters Esha Deol and Ahana Deol after casting their vote in Vile Parle. pic.twitter.com/tXToH6ek1k
Modi wave has overtaken country: Piyush Goyal
YUnion minister and BJP leader Piyush Goyal casts his vote at Walsingham School, Malabar Hill in Mumbai. Speaking to reporters here, Goyal said: "This election is now a Tsunami election. North, South, East and West, Modi wave has overtaken the country. PM Modi is the tallest leader today in the country," he said.
35% polling in West Bengal
According to Voter Turnout data, 35.10% turnout has been recorded in West Bengal. Polling is currently under across eight constituencies in the state. Baharampur - 36.11%, Krishnanagar - 34.85%, Ranaghat - 35.12%, Bardhaman Purba - 36.78%, Burdwan-Durgapur - 33.82%, Asansol - 33.98%, Bolpur - 36.04%, Birbhum - 34.10%
Watch: Pragya Thakur breaks down while meeting Uma Bharati
BJP's Bhopal nominee Pragya Thakur breaks down while meeting Union Minister and party leader Uma Bharti. Thakur is seeking election against Congress' Digvijaya Singh. Thakur is an accused in 2008 Malegaon blast case and is out on bail currently.
#WATCH Madhya Pradesh: Pragya Singh Thakur, BJP's LS candidate from Bhopal breaks down while meeting Union Minister and senior BJP leader Uma Bharti in Bhopal. pic.twitter.com/SqcvJPCfnZ
Uddhav Thackeray casts his vote
Shiv Sena chief Uddhav Thackeray, his wife Rashmi Thackeray and son Aditya Thackeray after casting their vote.
Maharashtra: Shiv Sena Chief Uddhav Thackeray, his wife Rashmi Thackeray and son Aditya Thackeray after casting their vote at a polling booth in Gandhi Nagar, Mumbai. Poonam Mahajan BJP's candidate from Mumbai North Central LS seat also present. #LokSabhaElections2019 pic.twitter.com/vgsQjca0a1
Madhur Bhandarkar casts his vote
Filmmaker Madhur Bhandarkar and his wife Renu Namboodiri cast their votes in Bandra.
Mumbai: Filmmaker Madhur Bhandarkar and his wife Renu Namboodiri after casting their vote at polling booth number 167 at M.M.K. College in Bandra. #LokSabhaElections2019 pic.twitter.com/H8189p5exf
Shabana Azmi, Javed Akhtar cast their votes
Shabana Azmi and Javed Akhtar cast their vote in Mumbai.
Watch: TMC women supporters protest in Birbhum
Scores of Trinamool Congress women supporters on Monday protested in Nanoor of Birbhum district after BJP opposed TMC supporters who insisted on polling despite absence of central forces.
#WATCH TMC women supporters protest in Nanoor of Birbhum district, after BJP opposed TMC supporters who insisted on polling despite absence of central forces at the polling booth. Police is trying to mediate between the two groups. #WestBengal #LokSabhaElections2019 pic.twitter.com/WhPWtwqeVG
17.37% voter turnout recorded in Maharashtra
17.37% voter turnout recorded on 17 parliamentary constituencies of Maharashtra in the fourth phase of Lok Sabha elections till 12 noon. Nandurbar - 21.96%, Dhule - 18.33%, Dindori - 21.08%, Nashik - 16.03%, Palghar - 20.22%, Bhiwandi - 14.09%, Kalyan - 13.58%, Thane - 12.94%, Mumbai North - 19.47%, Mumbai North West - 17.21%, Mumbai North East - 18.14%, Mumbai North Central - 16.27%, Mumbai South Central - 17.05%, Mumbai South - 16.73%, Maval - 18.04%, Shirur - 16.39%, Shirdi - 19.82%.
Anand Mahindra casts vote in Malabar Hill
Mahindra Group Chairman Anand Mahindra casts his vote in Malabar Hill. Speaking to reporters after casting his vote, he said, "We all have been infected by the virus of progress and growth. Even if a coalition govt comes, it should work towards progress and growth of the country."
23.73% turnout till 12:15 pm
According to Voter Turnout app of Election Commission of India, the turnout was 23.73 till 12:15 pm in all the nine states. Bihar - 18.26%, J&K - 3.74%, MP - 27.25%, Maharashtra - 17.24%, Odisha - 19.67%, Rajasthan 29.36%, Uttar Pradesh - 21.18%, WB - 35.10%, Jharkhand - 29.21%
Kangana Ranaut casts her vote in Khar
Bollowood actor Kangana Ranaut casts her vote at a polling booth in Khar. All the six Lok Sabha seats in Mumbai are going to polls on Monday.
Complaint against Bhagwant Mann over discrepancies in nomination
Complaint filed against Aam Aadmi Party MP Bhagwant Mann over alleged discrepancies in his nomination affidavit. He is seeking re-election on AAP ticket from Sangrur Lok Sabha seat.
Sunny Deol files nomination from Gurdaspur
Bollwood actor Sunny Deol on Monday filed his nomination papers from Gurdaspur parliamentary constituency. Sunny is contesting election on a BJP ticket.
Punjab: Actor turned politician Sunny Deol files his nomination as the BJP candidate from the Gurdaspur parliamentary constituency. His brother and actor Bobby Deol also present. pic.twitter.com/aOnGloRjpy
Priya Dutt casts her vote
Priya Dutt after casting her vote at a polling booth at St. Anne's High School in Bandra. She is contesting from Mumbai North Central against BJP's Poonam Mahajan.
21.89% voting till 11:30 am
21.89% voter turnout recorded till 11:30 am, according to Voter Turnout app. Bihar - 18.26%, J&K- 3.74%, MP- 26.18%, Maharashtra- 14.40%, Odisha- 18.26%, Rajasthan - 26.85%, UP - 21.01%, WB - 34.22%, Jharkhand - 29.21%
Peaceful voting in Kulgam
Peaceful voting is currently underway in Kulgam district of Jammu and Kashmir. Kulgam district falls in the Anantnag Lok Sabha seat.
Jammu & Kashmir: Voting underway at polling booth number 19 in Vanpura, in Kulgam's Qazigund. #LokSabhaElections2019 pic.twitter.com/bhFkrrPbka
BJP supporters raise slogans during Prime Minister Narendra Modi's election campaign rally in support of party candidate from Asansol constituency Babul Supriyo. File Photo. PTIElection to 542 Lok Sabha seats is being conducted in seven phases between April 11 and May 19. Election in Vellore constituency in Tamil Nadu has been cancelled following excess use of money power. Results will be declared on May 23. While the BJP under leadership of Prime Minister Narendra Modi is seeking re-election, the Congress under Rahul Gandhi's leadership is looking to improve its tally. The BJP had won 282 seats in 2014 on its own while the Congress was decimated to just 44.
1How can full statehood be given to Kejriwal with 'dubious' character: Harsh Vardhan
2Unlike Rahul Gandhi who needs holiday every few months, PM Modi has been working tirelessly: Amit Shah
3Securing world's largest election: It's not just number of Jawans, this process makes the difference


1650s, from Latin lusorius "belonging to a player," from lusor "player," from stem of ludere "to play" (see ludicrous). Related: Lusorious.
Baker, in his early days, had unluckily published a volume of lusory poems.
Serviceability for these lusory institutions requires sedulous training or breeding.


text:
/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM e:/builds/moz2_slave/rel-2.0-xr-w32-bld/build/xpcom/io/nsIDirectoryService.idl
 */

#ifndef __gen_nsIDirectoryService_h__
#define __gen_nsIDirectoryService_h__

#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

#ifndef __gen_nsIFile_h__
#include "nsIFile.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif

/* starting interface:    nsIDirectoryServiceProvider */
#define NS_IDIRECTORYSERVICEPROVIDER_IID_STR "bbf8cab0-d43a-11d3-8cc2-00609792278c"

#define NS_IDIRECTORYSERVICEPROVIDER_IID \
  {0xbbf8cab0, 0xd43a, 0x11d3, \
    { 0x8c, 0xc2, 0x00, 0x60, 0x97, 0x92, 0x27, 0x8c }}

/**
 * nsIDirectoryServiceProvider
 *
 * Used by Directory Service to get file locations.
 */
class NS_NO_VTABLE NS_SCRIPTABLE nsIDirectoryServiceProvider : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDIRECTORYSERVICEPROVIDER_IID)

  /**
  * getFile
  *
  * Directory Service calls this when it gets the first request for
  * a prop or on every request if the prop is not persistent.
  *
  * @param prop         The symbolic name of the file.
  * @param persistent   TRUE - The returned file will be cached by Directory
  *                     Service. Subsequent requests for this prop will
  *                     bypass the provider and use the cache.
  *                     FALSE - The provider will be asked for this prop
  *                     each time it is requested.
  *
  * @return             The file represented by the property.
  *
  */
  /* nsIFile getFile (in string prop, out PRBool persistent); */
  NS_SCRIPTABLE NS_IMETHOD GetFile(const char *prop, PRBool *persistent NS_OUTPARAM, nsIFile **_retval NS_OUTPARAM) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIDirectoryServiceProvider, NS_IDIRECTORYSERVICEPROVIDER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDIRECTORYSERVICEPROVIDER \
  NS_SCRIPTABLE NS_IMETHOD GetFile(const char *prop, PRBool *persistent NS_OUTPARAM, nsIFile **_retval NS_OUTPARAM);

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDIRECTORYSERVICEPROVIDER(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetFile(const char *prop, PRBool *persistent NS_OUTPARAM, nsIFile **_retval NS_OUTPARAM) { return _to GetFile(prop, persistent, _retval); }

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDIRECTORYSERVICEPROVIDER(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetFile(const char *prop, PRBool *persistent NS_OUTPARAM, nsIFile **_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFile(prop, persistent, _retval); }

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsDirectoryServiceProvider : public nsIDirectoryServiceProvider
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDIRECTORYSERVICEPROVIDER

  nsDirectoryServiceProvider();

private:
  ~nsDirectoryServiceProvider();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDirectoryServiceProvider, nsIDirectoryServiceProvider)

nsDirectoryServiceProvider::nsDirectoryServiceProvider()
{
  /* member initializers and constructor code */
}

nsDirectoryServiceProvider::~nsDirectoryServiceProvider()
{
  /* destructor code */
}

/* nsIFile getFile (in string prop, out PRBool persistent); */
NS_IMETHODIMP nsDirectoryServiceProvider::GetFile(const char *prop, PRBool *persistent NS_OUTPARAM, nsIFile **_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif

/* starting interface:    nsIDirectoryServiceProvider2 */
#define NS_IDIRECTORYSERVICEPROVIDER2_IID_STR "2f977d4b-5485-11d4-87e2-0010a4e75ef2"

#define NS_IDIRECTORYSERVICEPROVIDER2_IID \
  {0x2f977d4b, 0x5485, 0x11d4, \
    { 0x87, 0xe2, 0x00, 0x10, 0xa4, 0xe7, 0x5e, 0xf2 }}

/**
 * nsIDirectoryServiceProvider2
 *
 * An extension of nsIDirectoryServiceProvider which allows
 * multiple files to be returned for the given key.
 */
class NS_NO_VTABLE NS_SCRIPTABLE nsIDirectoryServiceProvider2 : public nsIDirectoryServiceProvider {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDIRECTORYSERVICEPROVIDER2_IID)

  /**
  * getFiles
  *
  * Directory Service calls this when it gets a request for
  * a prop and the requested type is nsISimpleEnumerator.
  *
  * @param prop         The symbolic name of the file list.
  *
  * @return             An enumerator for a list of file locations.
  *                     The elements in the enumeration are nsIFile
  * @returnCode         NS_SUCCESS_AGGREGATE_RESULT if this result should be
  *                     aggregated with other "lower" providers.
  */
  /* nsISimpleEnumerator getFiles (in string prop); */
  NS_SCRIPTABLE NS_IMETHOD GetFiles(const char *prop, nsISimpleEnumerator **_retval NS_OUTPARAM) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIDirectoryServiceProvider2, NS_IDIRECTORYSERVICEPROVIDER2_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDIRECTORYSERVICEPROVIDER2 \
  NS_SCRIPTABLE NS_IMETHOD GetFiles(const char *prop, nsISimpleEnumerator **_retval NS_OUTPARAM);

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDIRECTORYSERVICEPROVIDER2(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetFiles(const char *prop, nsISimpleEnumerator **_retval NS_OUTPARAM) { return _to GetFiles(prop, _retval); }

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDIRECTORYSERVICEPROVIDER2(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetFiles(const char *prop, nsISimpleEnumerator **_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFiles(prop, _retval); }

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsDirectoryServiceProvider2 : public nsIDirectoryServiceProvider2
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDIRECTORYSERVICEPROVIDER2

  nsDirectoryServiceProvider2();

private:
  ~nsDirectoryServiceProvider2();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDirectoryServiceProvider2, nsIDirectoryServiceProvider2)

nsDirectoryServiceProvider2::nsDirectoryServiceProvider2()
{
  /* member initializers and constructor code */
}

nsDirectoryServiceProvider2::~nsDirectoryServiceProvider2()
{
  /* destructor code */
}

/* nsISimpleEnumerator getFiles (in string prop); */
NS_IMETHODIMP nsDirectoryServiceProvider2::GetFiles(const char *prop, nsISimpleEnumerator **_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif

/* starting interface:    nsIDirectoryService */
#define NS_IDIRECTORYSERVICE_IID_STR "57a66a60-d43a-11d3-8cc2-00609792278c"

#define NS_IDIRECTORYSERVICE_IID \
  {0x57a66a60, 0xd43a, 0x11d3, \
    { 0x8c, 0xc2, 0x00, 0x60, 0x97, 0x92, 0x27, 0x8c }}

/**
 * nsIDirectoryService
 */
class NS_NO_VTABLE NS_SCRIPTABLE nsIDirectoryService : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDIRECTORYSERVICE_IID)

  /**
  * init
  *
  * Must be called. Used internally by XPCOM initialization.
  *
  */
  /* void init (); */
  NS_SCRIPTABLE NS_IMETHOD Init(void) = 0;

  /**
  * registerProvider
  *
  * Register a provider with the service.
  *
  * @param prov            The service will keep a strong reference
  *                        to this object. It will be released when
  *                        the service is released.
  *
  */
  /* void registerProvider (in nsIDirectoryServiceProvider prov); */
  NS_SCRIPTABLE NS_IMETHOD RegisterProvider(nsIDirectoryServiceProvider *prov) = 0;

  /**
  * unregisterProvider
  *
  * Unregister a provider with the service.
  *
  * @param prov
  *
  */
  /* void unregisterProvider (in nsIDirectoryServiceProvider prov); */
  NS_SCRIPTABLE NS_IMETHOD UnregisterProvider(nsIDirectoryServiceProvider *prov) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIDirectoryService, NS_IDIRECTORYSERVICE_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDIRECTORYSERVICE \
  NS_SCRIPTABLE NS_IMETHOD Init(void); \
  NS_SCRIPTABLE NS_IMETHOD RegisterProvider(nsIDirectoryServiceProvider *prov); \
  NS_SCRIPTABLE NS_IMETHOD UnregisterProvider(nsIDirectoryServiceProvider *prov);

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDIRECTORYSERVICE(_to) \
  NS_SCRIPTABLE NS_IMETHOD Init(void) { return _to Init(); } \
  NS_SCRIPTABLE NS_IMETHOD RegisterProvider(nsIDirectoryServiceProvider *prov) { return _to RegisterProvider(prov); } \
  NS_SCRIPTABLE NS_IMETHOD UnregisterProvider(nsIDirectoryServiceProvider *prov) { return _to UnregisterProvider(prov); }

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDIRECTORYSERVICE(_to) \
  NS_SCRIPTABLE NS_IMETHOD Init(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(); } \
  NS_SCRIPTABLE NS_IMETHOD RegisterProvider(nsIDirectoryServiceProvider *prov) { return !_to ? NS_ERROR_NULL_POINTER : _to->RegisterProvider(prov); } \
  NS_SCRIPTABLE NS_IMETHOD UnregisterProvider(nsIDirectoryServiceProvider *prov) { return !_to ? NS_ERROR_NULL_POINTER : _to->UnregisterProvider(prov); }

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsDirectoryService : public nsIDirectoryService
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDIRECTORYSERVICE

  nsDirectoryService();

private:
  ~nsDirectoryService();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDirectoryService, nsIDirectoryService)

nsDirectoryService::nsDirectoryService()
{
  /* member initializers and constructor code */
}

nsDirectoryService::~nsDirectoryService()
{
  /* destructor code */
}

/* void init (); */
NS_IMETHODIMP nsDirectoryService::Init()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void registerProvider (in nsIDirectoryServiceProvider prov); */
NS_IMETHODIMP nsDirectoryService::RegisterProvider(nsIDirectoryServiceProvider *prov)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void unregisterProvider (in nsIDirectoryServiceProvider prov); */
NS_IMETHODIMP nsDirectoryService::UnregisterProvider(nsIDirectoryServiceProvider *prov)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif

#endif /* __gen_nsIDirectoryService_h__ */

redpajama_set_name: RedPajamaGithub


Andrew's eye for geometry is as sharp as the tip on Seattle's Space Needle, elevating our view of his home town's corners and curves into an architecture all its own.
Maverick, machine, magician. Certainly a madman for photography, Dave is amassing the most prolific online portfolio of New England aerial photography ever seen.
Imagine, if you will, a painter suspended from a paraglider, his camera a brush, and an endless canvas of countryside laid out before him. Now meet Steve Brockett.
Nicolas and his custom-designed kite swoop past signs restricting other aircraft, and open the door (and our minds) to a hidden India.
Shattering assumptions that Ibiza is only for the partiers, Xavier's work captures the island's natural wonders that glitter without the aid of any disco balls.
Armed with a camera and a love for his heritage, Colin Bailie is renowned for the stunning images he captures of his homeland.
Harnessing the light and color found only in Mexico's coastlines, Victor transmits the life pulsing through the veins of his oft-overlooked native country.
In his 20 years of experience, Bram has been at the front lines of breaking news stories, presenting his native Netherlands through a clear lens and a sharp focus.
Rob fights winds, battles low temperatures, and relinquishes hands-on control to capture his home country from the wings of a kite.
Climbing 2500-meter summits, Jon literally steps right into the center of some of the world's most dangerous storms to show us Mother Nature in motion.
Jordi has stared down the bull that is Spain and come out the victor: a 25-year-long career, over 60,000 images in his collection, and an unstoppable energy for his art.
Laurent discovers France anew every time he flies, revealing the graphic wonder visible only by a change in altitude, and the artistry with which the light bathes his native land.
Ofir Ben Tov has clocked over 3,000 hours in-flight, performing duties which include acute photography and observation. He bought his first camera at the age of 14 and has been behind the lens ever since.
Diego has a preference to work in remote regions like Patagonia and Iceland, where he resorts to mountain climbing to obtain aerial views of high altitude landscapes.
Before the days of digital photography, camera screens, and memory cards, Bernard was braving the skies with a manual camera, rolls of film, and a prayer that he'd capture that one great shot.
Serguei has dedicated over 10 years to produce "Russia From Above". The project comprises over 30 regions in Russia making it one of a kind.


text:
Kommissar Marthaler – Engel des Todes ist ein deutscher Fernsehfilm aus dem Jahr 2015 und die 4. Folge der Reihe Kommissar Marthaler. Der für das ZDF produzierte Kriminalfilm basiert auf dem Roman Die Akte Rosenherz aus der Marthaler-Krimireihe von Jan Seghers. Regie führte erneut Lancelot von Naso, der das Drehbuch zusammen mit Kai-Uwe Hasenheit verfasste. Der Film spielt in Frankfurt am Main und wurde auch dort sowie in Berlin gedreht.

Handlung
Tereza Prohaska begleitet zusammen mit ihrem ehemaligen Studienfreund Ludwig Slama einen Kunsttransport mit dem berühmten Gemälde Engel Übervoll von Paul Klee. Auf der Fahrt zum Frankfurter Flughafen wird der Transporter von zwei Motorradfahrern überfallen. Ein Wachmann stirbt, sein Kollege wird schwer verletzt, ebenso wie Tereza, die in der Folge ihr ungeborenes Kind verliert.

Kommissar Robert Marthaler erfährt bei seiner Ankunft am Tatort, dass seine Verlobte Tereza angeschossen und in die Unfallklinik gebracht wurde. Durch seine Wut treibt er seine Kollegen an, schnellstmöglich über die Motorradfahrer Informationen zu besorgen. Auch erfährt Marthaler, dass der Transporter wegen eines Unfalls kurzfristig die Route geändert hatte, sowie von der Teilnahme Slamas an dem Transport. Er sucht diesen in seiner Kunstgalerie auf und nimmt ihn aus Eifersucht und Wut heraus als möglichen Informanten der Täter fest.

Von einem Journalisten namens Grüter erhält Marthaler den Tipp, sich mit dem vorbestraften Kunsthändler Bruno Kürten zu unterhalten, weil dieser wüsste, wer den Überfall begangen habe. Als es ihm gelingt, Kürten ausfindig zu machen, findet er ihn schwer verletzt vor. Bevor Kürten stirbt, kann er dem Kommissar noch die Wörter Bilder und Rosenherz zuflüstern. Die Recherche dieser Begriffe führt zu einem 30 Jahre alten Mordfall an der Prostituierten Karin Rosenherz, welcher niemals aufgeklärt wurde. Anhand der alten Akten und den darin genannten Zeugen kontaktiert Marthaler einen ehemaligen Profifotografen, der Karin Rosenherz fotografiert hatte. Marthaler erkennt auf einer der Aufnahmen zwei Bilder an der Wand, die nach dem Mord nicht mehr dort hingen. Es handelt sich dabei um zwei Vorzeichnungen des gestohlenen Gemäldes Engel Übervoll. Als er zusammen mit Kirsten Höpfner den Fahrradhändler Albanelli befragen will, der damals möglicherweise den Mörder gesehen hatte, werden sie zu der Festnahme der Motorradfahrer gerufen. Es kommt dabei zu einer Schießerei, bei der einer der Täter erschossen wird. Sein Komplize verweigert jegliche Aussage und verrät seinen Auftraggeber nicht. Polizeioberrat Hermann sieht sich veranlasst, Marthaler zu suspendieren, bis die genauen Umstände der Schießerei geklärt wären.

Die Anweisung seines Chefs ignorierend und angetrieben von persönlichen Rachegefühlen, setzt Marthaler die abgebrochene Zeugenbefragung bei Albanelli fort. Dadurch stellt sich heraus, dass die alten Akten unvollständig und Aussagen offensichtlich verschwunden sind. Nach Albanellis Aussage hatte er den einflussreichen Geschäftsmann Philipp Lichtenberg und dessen Schulfreund und Geschäftspartner Hubert Orthmann in der Tatnacht gesehen, sodass Marthaler die beiden für dringend tatverdächtig hält. Zwei Prostituierte hatten den beiden damals ein Alibi gegeben, doch leben die zwei Frauen mittlerweile nicht mehr. Da Hannelore Wilke eines Tages spurlos verschwand, vermutet Marthaler Mord als Verdeckungstat. Nach Überprüfung von Wilkes Kontoauszügen ist sich Marthaler sicher, dass Wilke Zeugin des Mordes an ihrer Kollegin Rosenherz war und Lichtenberg erpresst hatte, was dann ihre Ermordung nach sich zog. Um dies zu beweisen, versucht Marthaler Lichtenberg öffentlich zu provozieren, weshalb er sich am Ende vor seinem Chef Herrmann rechtfertigen muss, da dieser das Vorgehen des Kommissars nicht billigt.

Nachdem der letzte Aufenthaltsort der vermissten Wilke genauer untersucht wird, schlagen Leichenhunde an und die Überreste der Frau werden an einem Baggersee gefunden. Sie wurde vermutlich erschlagen und nahe dem See begraben. Marthaler und sein Team sind zwar froh über die Ergebnisse, aber auch frustriert, weil so viele Spuren nach all den Jahren nicht mehr verwendbar sind. Sie wollen daher Lichtenberg mit einem Trick überlisten, damit er ein Geständnis ablegt. Das gelingt und so erfahren die Ermittler, dass Rosenherz' Tod ein bedauerlicher Sexunfall gewesen war. Lichtenberg war gemeinsam mit Orthmann bei der Prostituierten gewesen. Um das Unglück als Raubmord aussehen zu lassen, hatte Orthmann die zwei Bilder und Schmuck mitgenommen. Orthmann gesteht daraufhin, dass er einen Käufer hätte, der Engel sammeln würde, weshalb er den aktuellen Diebstahl des Bildes von Paul Klee in Auftrag gegeben hatte. Vor 30 Jahren habe er die ersten beiden Bilder an Bruno Kürten zum Verkauf weitergegeben. Auch Engel Übervoll sollte Kürten an den Interessenten verkaufen. Orthmann leugnet jedoch, etwas mit dem Mord an Kürten zu tun zu haben.

Durch den Erfolg der Festnahme wird Marthalers Suspendierung zurückgenommen. Er sucht nochmals das Archiv der ungelösten Mordfälle auf, um Hinweise auf den Verursacher der Manipulation an der Akte Rosenherz zu finden. Bei einer der Zeugenaussagen fällt ihm Hermanns Kürzel auf und er konfrontiert ihn umgehend damit. Herrmann gesteht, dass er damals Lichtenbergs Alibi festigen und jeden Verdacht gegen den Geschäftsmann ausräumen wollte, damit dieser seinen Einfluss bei einer Polizeikarriere Hermanns geltend machen konnte. Er habe den Mord an Bruno Kürten begangen, damit dieser keine Aussage machen konnte und diese alte Geschichte nicht bekannt würde. Er beschimpft Marthaler als einen Idealisten und will fliehen. Marthaler will ihn mit Waffengewalt daran hindern, doch auch Hermann zieht seine Waffe und deutet an zu schießen, sodass Marthaler ihm zuvorkommen muss und seinen Chef in Notwehr erschießt. Marthalers Team stellt fest, dass die Waffe ungeladen gewesen ist und Hermann einen Suicide by cop provoziert hatte.

Hintergrund
Kommissar Marthaler – Engel des Todes basierte auf dem Roman Die Akte Rosenherz von Jan Seghers, welches das vierte Buch der Marthaler-Reihe ist. Der Film wurde zusammen mit Kommissar Marthaler – Ein allzu schönes Mädchen von Ende April bis Ende Juli 2014 in Frankfurt und Umgebung, sowie in Berlin gedreht. Es ist auch der letzte Film von Lancelot von Naso, der hier als Regisseur fungierte, dennoch wird er zusammen mit dem Co-Autor Kai-Uwe Hasenheit am nächsten Drehbuch zusammen schreiben. Die Erstaufführung war beim Festival des deutschen Films 2015. Am 18. September 2015 hatte Kommissar Marthaler – Engel des Todes seine Fernsehpremiere auf arte und am 7. März 2016 im ZDF.

Kritik
Die Frankfurter Allgemeine Zeitung schrieb:

Weblinks

Einzelnachweise

Fernsehfilm
Deutscher Film
Filmtitel 2015
Engel des Todes


text:
Who ordered sequential consistency?
Posted by Bartosz Milewski under C++, Concurrency, Java, Multicore, Programming | Tags: Atomics, C++, Concurrency, Java, mfence, Multicore, volatile |
How does Java do it? Motivation for C++ programmers
Things like double-checked locking pattern and Peterson lock work out of the box in Java, as long as you declare all shared variables volatile. (Do not confuse Java volatile with C++ volatile–the latter has nothing to do with multithreading.) Obviously the Java compiler knows what kind of fences are necessary on relaxed memory architectures, including the x86. I thought it was worth looking at.
Why the sudden interest in Java? Because Java memory model is very relevant to C++0x. The keyword here is sequential consistency. Java enforces sequential consistency on all access to volatile variables. C++0x introduces atomic objects which, by default, also follow sequential consistency. So C++ atomics will, by default, behave almost exactly like Java volatile variables.
Also, why even bother studying the quirks of the x86? Can't we just stick to locks and, occasionally, to default atomics and let the compiler/library writers worry about how they translate into fences? Absolutely!
This should be the end of the story, except that a lot of programmers seem to "know better." They will try to optimize multithreaded algorithms and get into a world of trouble. So if you know anybody who might be tempted to write or optimize lock-free algorithms, read on.
Why the x86? Not only because it's the most common chip, but also because its memory model is deceptively "normal." It's much more likely for programmers to attempt to play games with the x86 than, for instance, with the alpha. The rest of this post should serve as motivation to stay away form such games.
What is Sequential Consistency?
Sequential consistency is how we naturally think about multithreaded programs. It's also how we think about the world. If A happens before B then it cannot be true that B happens before A. If one processor stores 1 in variable x, and another processor stores 1 in variable y, than either the sequence of events is:
x flips to 1 and then y flips to 1, or
y flips to 1 and then x flips to 1
(assume both are initially zero). Which sequence actually happened could be observed by a third processor, which loads both variables. If, for instance, it sees x == 1 and y == 0, it concludes that the write to x happened earlier. If it sees x == 0 and y == 1, it concludes that the write to y happened earlier (if it sees x == y, it can't tell).
Now, in a sequentially consistent world, a fourth processor could not see the two events in a different order than what the third processor observed. We assume that, for each particular run of the program, there is a global sequence of events that is seen by all processors.
Of course, on multicore processors many things can happen simultaneously, and it usually doesn't matter–except when memory access is involved. Sequentially consistent model assumes that there is a single switch between all processors and memory, and only one processor at a time can access it. This imaginary switch serves as the serialization point.
The x86 is not sequentially consistent
Welcome to the world of special relativity! Two observers (cores) might see two events (memory writes) in different order. Even on an x86.
The technical explanation is that, instead of one bus serializing all memory accesses, each core uses its own memory cache. Writes propagate from one cache to another with finite speed (measured in clock cycles). Reads snoop around the caches before going to shared memory. All this caching is done because a trip to main memory very expensive–hundreds of cycles.
I don't care, says Java
The Java memory model requires that all access to shared volatile variables be sequentially consistent across all threads, even when they run on different cores. How do they enforce it?
The primary source for this kind of information is Doug Lea's excellent The JSR-133 Cookbook for Compiler Writers.
Here's the big picture: When Java is translated into bytecode, special codes are issued around volatile-variable access. These codes tell the Java runtime where memory fences should be inserted. The bytecodes are supposed to be processor independent; the fences are highly processor dependent. I'll call the special bytecodes memory barriers as opposed to processor-specific memory fences. Memory barriers are inserted conservatively–the compiler assumes the most relaxed memory model (in other words, the bytecode has to run correctly on an alpha, whose memory model is so relaxed you'd think it was conceived in a hot tub).
Fences should go between memory accesses, so Java barriers are named after the kind of accesses (load or store) they separate. There is a LoadLoad barrier between volatile reads, LoadStore barrier between a read and a write, StoreLoad barrier between a write and a read, and StoreStore barrier between writes.
Here's the first problem: the compiler can often only see one part of the pair. In that case it has to assume the worst and use the most restrictive barrier. Considering that, here are some of the cookbook rules:
Issue a StoreStore barrier before each volatile store.
Issue a StoreLoad barrier after each volatile store.
Issue LoadLoad and LoadStore barriers after each volatile load.
That's a lot of barriers! Fortunately, the compiler can optimize some of them away using dataflow analysis.
The next step is to run the bytecode on a particular processor (or compile it to native code). If the processor is an alpha, practically all Java barriers translate into some kind of fences. But if it's an x86, all but the StoreLoad barriers are turned into no-ops. The StoreLoad barrier is either translated into an mfence or a locked instruction (lock xchg).
When executed on an x86, the barrier rules boil down to this one: Issue an mfence after each volatile store (or turn it into lock xchg).
Peterson lock on an x86 in Java
Figuring the details of the Peterson lock in Java was not easy. I'm grateful to Doug Lea for patiently explaining to me some of the gotchas. I am solely responsible for any mistakes though.
In my previous post I came to the conclusion that for Peterson lock to work on an x86, an mfence is needed. Here's the relevant pseudo-code:
mfence
// Java puts another fence here
In Java, all three variables, zeroWants, oneWants, and victim, would be declared volatile. Using the x86 Java translation rules, that would mean putting an mfence after every store to these variables.
The fences after the writes to zeroWant and oneWant are just what the doctor ordered. Form my previous post we know why they are needed on an x86.
The mfence after the write to victim is something new though. It isn't strictly necessary on an x86, but to see that you really have to analyze the whole algorithm–something that's beyond capabilities of modern compilers.
My original (turns out, incorrect) reasoning was that no fence is needed between the write to victim and the subsequent read because, on an x86, reads and writes to the same location are never reordered. Well, that's not the whole story because…
Intra-processor forwarding is allowed
Consider the following example from the x86 spec. Initially x == y == 0.
Processor 0
mov r3, [_y]
The result r2 == 0 and r4 == 0 is allowed.
Let's analyze that. First of all, because reads and writes to the same location are never reordered, r1 and r3 must both be 1.
If r2 == 0, we would naturally conclude that the write to y at processor 1 hasn't happened yet. It means: processor 1 hasn't executed its code yet. When it does, it should see the earlier write to x (processor 0 saw it!). Guess what–sometimes it doesn't.
The technical reason for this behavior is that the write to x is immediately visible at processor 0, before it propagates to processor 1. Similarly, the write to y is immediately visible at processor 1, before it propagates to processor 0. So it is possible for both processor to see each other's writes delayed, even though they see their own writes immediately.
This result violates sequential consistency and therefore cannot be tolerated in Java. Hence the need for the mfence between the write to victim and the subsequent read of victim.
Gosh darn it! I want to optimize it!
Having said that, I must point out that, in this particular case, lack of sequential consistency is not a deal breaker. It's okay for thread 0 of Peterson lock to read stale (local) value of victim, even if "in the meanwhile" thread 1 overwrote it. All it means is that some unnecessary spins might be performed. This doesn't violate the lock principles and doesn't lead to a deadlock as long as the new value of victim eventually reaches thread 0.
I'm pretty sure of this reasoning–at least at the time of this writing. However, I wouldn't be totally surprised is somebody found a fault in it.
The bottom line is that even such an "obvious" optimization is not obviously correct. The proof of correctness of the Peterson lock is based on the assumption of sequential consistency. If we relax this assumption even slightly, we have to redo the whole proof.
Any volunteers?
Category Theory for Programmers: The Preface
Category: The Essence of Composition
C++ atomics and memory ordering
Products and Coproducts
Types and Functions
Kleisli Categories
Categories Great and Small
Category Theory Table of Contents


text:
Easy Place to Find Contact Info
Burger King Office Contact Details
Burger King India Limited
November 22, 2020 Sandeep Kumar 0
Burger King India Limited is an American multinational chain of hamburger fast food restaurants. The company was founded in 1953, has main office in Mumbai, India. As of December 31, 2018, Burger King reported it had 17,796 outlets in 100 countries. Burger King began franchising in 1959, operates approximately 40 subsidiaries globally that oversee […]
Retail Trading and Investment
Copyright © 2021 | All Right Reserved Company Contact Information


The Prairie Pothole Region (PPR) is one of the most highly productive wetland regions in the world. Prairie Pothole wetlands serve as a primary feeding and breeding habitat for more than one-half of North America's waterfowl population, as well as a variety of songbirds, waterbirds, shorebirds, and other wildlife. During the last century, extensive land conversions from grassland with wetlands to cultivated cropland and grazed pastureland segmented and reduced wetland habitat. Inventorying and characterizing remaining wetland habitat is critical for the management of wetland ecosystem services. Remote sensing technologies are often utilized for mapping and monitoring wetlands. This chapter presents background specific to the PPR and discusses approaches employed in mapping its wetlands before presenting a case study.