text:
The Guilty: Review
Post author By Aoife Radley
Jake Gyllenhall stars in The Guilty
Rating – ⭐⭐⭐
Hollywood has a history of disappointing remakes of foreign-language films. Whilst a select few manage to equal the original, many, like Downhill (a remake of the Swedish comedy-drama Force Majeure) and The Grudge (a reimagining of J-horror classic Ju-On: The Grudge), fail to capture the magic of the non-English original. Others, perhaps even more insultingly, are little more than localisations of a non-English film. Unfortunately, The Guilty firmly falls into the latter camp.
The Guilty is an American remake of the 2018 Danish film Den skyldige. Instead of a Copenhagen cop working answering emergency calls whilst he awaits trial for an unknown crime, the film follows LAPD officer Joe Baylor (Jake Gyllenhaal), who is also working in answering emergency calls whilst he awaits trial for an unknown crime. After receiving a call from a woman (Riley Keough) who has been abducted, Joe does everything he can to try and save her. We follow the action almost entirely from Joe's perspective, listening to events happening through his headset. Most of the film takes place entirely in two rooms of the call centre, with Joe being the only character on-screen for almost two thirds of the film.
If you have seen the Danish original (which was removed from British Netflix shortly before the release of this remake) none of this will sound new. The script is almost a direct translation from the Danish original, with Danish names and places swapped out for American ones. Other than opening and closing shots of LA, which weren't there in the original, and the American version of the call centre being much larger, there is only one real change to the remake: making Joe more of a sympathetic character. Unlike his Danish counterpart, who we know almost nothing about, Joe has an ex-wife and a daughter who we find about very early on. There are only a handful of new calls, all of which are added to expand Joe's character. These changes all fell short for me. You would have to change the story in a major way to succeed in making Joe sympathetic, something the film is unwilling to do.
Beyond the lack of significant changes, The Guilty is a mostly solid remake of Den skyldige. Gyllenhaal's performance is a particular highlight. As the sole actor on screen for most of the film, The Guilty is completely reliant on him to keep the audience engaged. Despite not liking his character, Gyllenhaal's performance engaged me in a way very few other recent performances have. I'm not sure if he tops Jakob Cedergren's performance in the original Danish film, but his performance is by far the best part of The Guilty. Unfortunately, several of the other performances, especially the voice performances, are bad to the point of being distracting. The fact that they haven't hired trained voice actors for the many exclusively vocal roles in the film really shows. Without singling anyone out, some of the voice acting is about as nuanced as an early 2000s video game.
All in all, The Guilty is a remake which does almost nothing to justify its existence. The few changes that were made, particularly when it came to the character of Joe, harm the film more than they help it. If you can overcome the 1-inch tall barrier of subtitles, you should watch the Danish original. The Guilty is far from a bad film, but Den skyldige is one of the tensest films you can find.
Image courtesy of Gordon Correll via Wikimedia Commons
Tags Den skyldige, film, Jake Gyllenhall, Jakob Cedergren, Remake, review, Riley Keough, The Guilty
← Ridley Road review: Right target, wrong delivery → New Arrivals From Salvador Dalí to Jenny Saville


text:
German elections 2013: Don't mention Europe
Marc Hall
Merkel and Steinbruck small.jpg
The European Union's economic and financial challenges left the bloc in no doubt that its most populous member state is also its most politically powerful. On 22 September 2013, Germans will decide in a federal election whether that power remains within its current ruling conservative coalition led by incumbent Chancellor Angela Merkel's Christian Democratic Union (CDU), or whether to entrust it to the Social Democrats or a new coalition. In the run up to the elections, Europe has largely remained off the agenda.
Germany, with a population of nearly 82 million, has seen its influence in the European Union grow significantly in recent years as it has weathered the economic storm perhaps better than any other member state. Having recovered from a recession in 2008, the country narrowly dodged a repeat slump at the start of 2013. Now the German economy appears to be on the up, with economic indicators looking solid.
Angela Merkel, as current keeper of Germany's most coveted political position, the chancellorship, has become the figurehead and perceived key decision-maker of the EU's response the eurozone's sovereign debt crisis. Protestors in the southern economies hit worst by economic stagnation have held up banners decrying the impacts of "Merkel austerity", the chancellor's campaign to shave sovereign debt by cutting public spending.
But in her home country, analysts say that Merkel is enjoying an unusual spell of popular support due to her handling of the eurozone crisis.
Most parties have eschewed European issues in their election campaigns, perhaps to avoid taking politically unpopular issues in a country that has largely bankrolled bailouts of other EU states.
Disputes have flared among political allies on the banking union and deeper integration, with the feeling being that the subject is too divisive for their electoral campaigns.
The Bundestag, Germany's national parliament, operates on a basis of mixed-member proportional representation, with 622 seats up for grabs from representatives from all of Germany's 16 'Länder', or states. Merkel's CDU holds 193 of these, with her coalition partners the Free Democratic Party (FDP) and the CDU's Bavarian sister party the Christian Social Union (CSU) holding respectively 93 and 44 seats.
The Social Democrat Party (SPD) has 146 seats, the Left 76 and the Greens 68.
Deutsche Bank Research, the German bank's analytics wing, says the gap between the combined SPD and Green votes and the CDU/CSU and FDP, the current coalition, has widened steadily leading up to the elections.
All five major polls on the upcoming elections have the CDU/CSU at 40%-plus, perhaps enough to win re-election even without their coalition partner, the FDP. The SPD stands at around 25%, the Greens at 12-14% and all but one expect the FDP to achieve at least 5% of the votes, therefore remaining in the parliament.
The eurosceptic Alternative for Germany (AfD) party's predicted 2-3% share leaves it unlikely to enter the Bundestag.
Social Democrats: Image problem
Merkel's biggest rival, the SPD, led by Peer Steinbrück, has struggled in recent years, losing some 10 million voters since Gerhard Schröder led the party in 1998.
The party appears to need a miracle surge in popularity to wrestle control of the government from the CDU/CSU in September. Analysts see it as unlikely, due to its predicted share of 23-27% of the vote.
"Apparently, the loss of these 10 million voters is irreversible," said Manfred Güllner, founder of a leading German opinion polling company, Forsa. "If the SPD can't manage to mobilise more voters, it will continue to stagnate at 25 or 26%," he told EURACTIV.de.
The SPD needs to change its tactics and seal a power-sharing deal with the Greens, the SPD's preferred coalition, if it is to stand any chance. Or one option would be to fall back on a Grand Coalition with the CDU/CSU but Merkel favours her current "black-yellow" coalition with the liberals.
A Forsa poll from 31 July predicted the current CDU/CSU-FDP coalition would win a parliamentary majority (46%) come September. This poll left the Social Democrats with a share of only 22%.
In nominating Steinbrück, usually regarded as a no-nonsense economics and finance expert rather than a spearhead of social justice, the party has taken an important gamble. The hope is that Steinbrück, 66, will give the SPD greater credibility over its ability to manage the economy and stand as a real rival to Merkel, whose voters generally associate with high expertise in this area.
While Steinbrück previously served as finance minister in an earlier coalition with Merkel, seemingly a boost to his economics credentials, he did so just as the financial crisis broke in late 2007 and resulted in recession in 2008.
During Steinbrück's rallying cry at the SPD's April party conference, he admitted that he had "not resisted strongly enough" during the time of deregulation of the financial sector and market excess, the German broadcaster Deutsche Welle reported.
"But we have at least learned our lesson," he said, saying that current centre-left policies of the SPD "will oppose the unchained rules of play and conduct in capitalism".
The SPD, which has its roots in the 19th century labour movement, has traditionally pulled in voters through its focus on social issues. As the SPD began its canvassing tour at the end of July, Steinbrück focused his addresses on wages, childcare provision and rent increases.
Steinbrück reiterated the SPD's proposed plan for a 49% rate of income tax for people earning over €100,000. He also spoke about the party's desire for a minimum wage and to break the flow of wealth "from the bottom to the top", saying the SPD should return to being "the party of the little people".
"Never again can the risk-taking speculator XY from New York, London or Frankfurt be allowed to endanger the life savings of Heidi Tibulski from Bottrop," Steinbrück said, referring to a struggling Ruhr Valley mining town in western Germany.
But a focus on social issues is unlikely to win over many new voters, Güllner says. "The only strong skill still ascribed to the SPD is social justice, but since that is a given, there's no need to campaign on it," the pollster said, adding that previous social justice campaigns had failed to garner additional votes or increase voter confidence. "They have the same misconception this time around," he warned.
Adding to the Social Democrats' woes, the CDU/CSU may be attempting to bolster its social credentials by lifting policies from its rival.
"Quite a lot of the programmes of the Christian Democrats have been copied from the SPD, one gets the impression," said Thomas Fischer, Brussels executive director of Bertelsmann Foundation. "This is the most social election programme the Christian Democrats have presented for decades."
The CDU has expressed some openness to a national minimum wage but will not push for a higher income tax rate for the country's top earners.
While Steinbrück suffers from his association with the start of the crisis, he may have also shot himself in the foot as a credible social campaigner.
Earlier this year, Steinbrück found himself the target of criticism after requesting exceptionally high speaker fees and complaining about the "low" salary of the chancellor, a comment viewed as insensitive.
Rivalry has between Steinbrück and the other two main leaders of the SPD, Frank-Walter Steinmeier and Sigmar Gabriel, has also weakened his election push.
"What the Social-Democrat campaign is suffering from a strong rivalry between the three top-shots ... particularly Steinbrück and Gabriel", said Bertelsmann's Fischer.
"There have been some strange contradictions between the party leader, Gabriel, and Mr Steinbrück more recently on issues like, and these are tricky issues in Germany even if it sounds a little ridiculous, the Tempolimit [motorway speed limit]," he said.
A matter of weeks before the start of the SPD campaign, Gabriel said that if in government, his party would introduce a motorway speed limit.
"That's kind of committing suicide. What happened was that obviously Mr Steinbrück, as the nominated candidate for the Social Democrats, strongly contradicted," Fischer said.
'European genie' remains in the bottle
Leading up to the German elections, few politicians have made announcements relating to the euro crisis and media coverage of austerity and its associated problems had fallen.
Merkel wants everything to stay all quiet on the European front, argues Judy Dempsey, an analyst at the Carnegie Europe think tank.
"In the run-up to September 22, she does not want the German public asking questions about her management of the euro crisis," she said.
The International Monetary Fund warned in July that Greece needed a debt cut soon if it was to get its finances in order. Greece still owes eurozone countries and the IMF €200 billion, money it may never be able to pay back.
"But Merkel and her finance minister, Wolfgang Schäuble, are playing deaf to the IMF's message. They say that while Greece may need further help, none of that is necessary before 2014, when the German elections are safely over," said Dempsey.
Whenever they could, the CDU's rivals had sought political gains from Merkel's hardline cap on public spending. The SDP says austerity has its limits and may be crippling EU growth.
"Do you have any idea what would happen if Germany had to save 5% [of its gross domestic product] each year?" Steinbrück asked students in an April 2013 speech at the Free University in Berlin. "You wouldn't be here. You'd be out on the streets."
He said that Berlin needed to re-examine its role within the EU, especially during the crisis. "Germany has to be a society of good neighbours … Germany should not lay claim to leadership in Europe."
"The content and style of crisis management of this government and Ms Merkel have spread doubt in Europe about whether it can count on German solidarity," Steinbrück said, adding that austerity had pushed some economies into a "death spiral".
But when a poll by the Allensbach Institute asked citizens to name the more pro-EU German party, 47% said the CDU/CSU, compared to just 12% for the Social Democrats.
Furthermore, German support for the EU rose from its 24% low in 2011 to 33% this year.
"This poll clearly shows that the public, so far, is very pleased with how Merkel has managed the euro crisis," said Dempsey. "On what might have been her weakest point in a difficult election campaign, Germany's chancellor has once again shown great tactical skill."
In their electoral campaigns, Germany's main parties have quietened down on European issues, fearing a public eurosceptic backlash against any move for deeper integration that places Germany as a sort of EU treasury.
"All of the major parties in Germany are kind of in a dilemma as regards European policies," Fischer said.
German party leaders are traditionally pro-European but, Fischer said, "on the other hand they face strong opposition in their own parties and they cannot be sure that if they address new issues in the current electoral campaign that they will not achieve an opposite effect to what they originally intended, that is that they mobilise public opposition to any further step towards integration".
"They don't want to let the European genie out of the bottle," Fischer said.
Alternative unlikely
But eurozone trouble has not deflected support towards protest groups. The Freie Wähler (Free Voters) and the AfD party, founded this year, have tried appealing to anti-euro sentiment.
A German poll in April found that 24% of the electorate claimed they would vote for the AfD. But analysts saw this as an expression of general political discontent rather than actual voter potential.
"You have to relativise this figure, which comes from a poll conducted six months before the elections, right in the middle of the Cypriot crisis," said Jacqueline Hénard, a French essayist on Franco-German relations.
"What is more, the strongest supporters of the party, like the economist [Joachim] Starbatty, very well known in Germany … believe that this new political group has no chance of entering the Bundestag," Hénard told EURACTIV.fr.
More recent polls confirmed that the AfD had little chance of gaining the 5% vote share needed to enter the Bundestag.
"Their biggest obstacle is even if there are problems with the euro, Germans are traditionally pro-European and see Europe as a guarantor of peace," said Forsa's Güllner. "These groups will experience the same fate as the erstwhile Pro DM party [Partei Pro Deutsche Mitte] which ultimately managed a mere 0.8%," he said, adding: "The euro won't play a role again this time."
Analysts say that it is unlikely that Germany will follow the example of Italy and vote for extreme parties to express their discontent with the eurozone's problems. Rocked by a political and economic crisis, many Italians voted for protest parties in their national election on 24-25 February 2013, with some polls having predicted almost a 20% share of the votes for comedian and wildcard candidate Beppe Grillo.
"Rather than following radicals or provoking unproductive conflict, the discontent will likely just abstain from voting," Güllner said of the German contest. But the AfD could make waves in the 2014 European Parliament elections.
"The risk is large that a German eurosceptic movement enters the European Parliament. The alternative for Germany could get a number of MEPs, because they are breaking a taboo in talking about these subjects," said Hénard, a former Paris correspondent for the German weekly Die Zeit.
Despite public attempts from the SPD and Steinbrück to blame Merkel for failing to avert the euro crisis, it may have played to the current government's advantage. Depictions abroad of Hitler mustaches and Nazi impersonations only served to endear the chancellor to the German electorate.
"[They] will likely be helpful rather than damaging for Merkel," Güllner said.
Another group which looked to be growing in strength, the Pirate Party, appears to have not provided enough concrete policy initiatives to woo a significant number of voters in the run-up to the elections, though the party could be viewed as more of a campaign group than a genuine Bundestag contender.
Merkel is known to prefer a continuation of the CDU/CSU-FDP coalition. But pollsters refuse to rule out a so-called black-green coalition between the CDU/CSU and the Green Party if she needs votes.
Officially, the Green Party is opposed to one, but the prospect of power-sharing with Merkel, who is not against such a coalition, may prove persuasive. This would severely cripple the SPD's chances of strong representation in the Bundestag.
The next option for Merkel is a Grand Coalition, with an SPD as junior partner. Faced with a last-minute decision, Merkel would likely opt for a Grand Coalition rather than an alliance with the greens, according to EURACTIV.de.
DB Research sees a Grand Coalition as a possiblity. "To a certain extent, such a coalition with a broad majority in parliament might find it easier to cope with the upcoming issues on the European agenda that will clearly dominate domestic policy," the bank's analytical arm says.
Eurozone leaders have agreed in principal to a banking union, which may essentially set the bloc's largest country as its creditor.
The 126-page joint election manifesto of the CDU/CSU, says it "will pledge solidarity with our European neighbours". But the parties attempted to assuage voter fears that Germany would bankroll the eurozone.
"Whoever needs help has to contribute with their own efforts to resolving the problems … We don't want any euro country to be able to get further into debt at the expense of its neighbours and to avoid uncomfortable reforms," it added.
Hermann Gröhe, Angela Merkel's campaign manager, said he expects the race to tighten in the final few weeks as it did in 2005 and 2009.
"The experience of the past serves as a warning to say that good opinion poll numbers 50 days before the vote aren't a guarantee for a good election result," Gröhe told a news conference on 5 August, according to Reuters. "It's a nice tailwind but we've got to guard against arrogance."
22 September 2013: German federal election
Federal Republic of Germany: Electoral deadlines
EuroNews: German elections
German Marshall Fund of the United States: Democracy and the Transatlantic Community
Greens: Für Eurobonds und europäischen Mindestlohn (EURACTIV.de)
Left Party: Für eine Ausgleichsunion, gegen ein US-Freihandelsabkommen (EURACTIV.de)
SDP: Für Euro-Haftung und Rückübertragung von EU-Kompetenzen (EURACTIV.de)
CDU/CSU: "Eurobonds lehnen wir ab" (EURACTIV.de)
Christian Democrats
German elections 2013
0 responses to "German elections 2013: Don't mention Europe"
Hi. We were told to support EU membership because inter alia it would balance Europe where Britain and Germany held too much power. Now we see that the EU has put Germany top of the power pile. This is dangerous considering Germany's past tendency to go crazy every now and then. The EU embarked on a change to a low carbon economy without carrying out the legally binding Strategic Environmental Impact assessments. Scientists and engineers forecast wind and solar energy cannot work, but they were shunned and the opinion of green ideologists taken instead. These ideologists have no education or technical experience. The result is energiewende = energy swindle. Germany is leading this and leading us all into medieval style hardship.
I dont speak, Dutch. Laugh. I dont understand any language other than English ans Gaelic
The compliance committee of the United Nations UNECE have ruled the EU and Ireland and the UK to be in breach of its legally binding obligations to carry out the required assessment on their renewable energy programme. If they did they would soon realise that it is impossible to replace conventional fossil fuel and nuclear power generation with wind and solar.
2000 mega watt of wind farms used 42,065 mw of grid power in 2012, enough to power 9,000 homes. Wind causes the existing power plant to run inefficiently so you were better with no wind at all, Consumers still must pay for it. Its a swindle.
In the German bite, North See, they are using diesel generators to supply power to the wind turbines because there are no connection from the mainland to the off shore turbines.
Germany is selling power to vital industries at a discount to keep them from moving abroad.

redpajama_set_name: RedPajamaCommonCrawl


text:
using Android.Graphics;
using Android.Graphics.Drawables;
using Android.Views;
using Emgu.CV.Structure;
using System;
using System.Collections.Generic;
using System.Linq;

namespace com.bytewild.imaging.cropper
{
    public class HighlightView
    {
        // The View displaying the image.
        private View context;

        public enum ModifyMode
        {
            None,
            Move,
            Grow
        }

        private ModifyMode mode = ModifyMode.None;

        private RectF imageRect;  // in image space
        private RectF cropRect;  // in image space -- TODO: will become obsolete
      //  private MCvBox2D cropBox; // in image space
        private CropPolygon cropPolygon;
        public Matrix matrix;

        private bool maintainAspectRatio = false;
        private float initialAspectRatio;

        private Drawable resizeDrawableWidth;
        private Drawable resizeDrawableHeight;

        private Drawable resizeDrawableHandle;
        public List<CropHandle> CropHandles { get; set; }

        private Paint focusPaint = new Paint();
        private Paint noFocusPaint = new Paint();
        private Paint outlinePaint = new Paint();

        [Flags]
        public enum HitPosition
        {
            None,
            GrowLeftEdge,
            GrowRightEdge,
            GrowTopEdge,
            GrowBottomEdge,
            Move
        }

        #region Constructor

        public HighlightView(View ctx)
        {
            context = ctx;
        }

        #endregion

        #region Properties

        public bool Focused
        {
            get;
            set;
        }

        public bool Hidden
        {
            get;
            set;
        }

        public Rect DrawRect  // in screen space
        {
            get;
            private set;
        }

        // Returns the cropping rectangle in image space.
        public Rect CropRect
        {
            get
            {
                return new Rect((int)cropRect.Left, (int)cropRect.Top,
                                (int)cropRect.Right, (int)cropRect.Bottom);
            }
        }

        public float[] CropBoxDrawPoints  // in screen space
        {
            get;
            private set;
        }

        public ModifyMode Mode
        {
            get
            {
                return mode;
            }
            set
            {
                if (value != mode)
                {
                    mode = value;
                    context.Invalidate();
                }
            }
        }

        #endregion

        #region Public methods

        // Handles motion (dx, dy) in screen space.
        // The "edge" parameter specifies which edges the user is dragging.
        public void HandleMotion(float dx, float dy, int position)
        {
            int handleHeight = resizeDrawableHandle.IntrinsicHeight / 2;
            int handleWidth = resizeDrawableHandle.IntrinsicWidth / 2;

            CropHandles[position] = new CropHandle(position, (int)dx, (int)dy, new Rect((int)dx - handleWidth, (int)dy - handleHeight, (int)dx + handleWidth, (int)dy + handleHeight));

            context.Invalidate();
        }

        public void HandleMotion(HitPosition edge, float dx, float dy)  // TODO:  is old method
        {
            // new
            float[] b = ComputeBoxLayout();

            Rect r = computeLayout();
            if (edge == HitPosition.None)
            {
                return;
            }
            else if (edge == HitPosition.Move)
            {
                // Convert to image space before sending to moveBy().
                moveBy(dx * (cropRect.Width() / r.Width()),
                       dy * (cropRect.Height() / r.Height()));
            }
            else
            {
                if (!edge.HasFlag(HitPosition.GrowLeftEdge) && !edge.HasFlag(HitPosition.GrowRightEdge))
                {
                    dx = 0;
                }

                if (!edge.HasFlag(HitPosition.GrowTopEdge) && !edge.HasFlag(HitPosition.GrowBottomEdge))
                {
                    dy = 0;
                }

                // Convert to image space before sending to growBy().
                float xDelta = dx * (cropRect.Width() / r.Width());
                float yDelta = dy * (cropRect.Height() / r.Height());

                growBy((edge.HasFlag(HitPosition.GrowLeftEdge) ? -1 : 1) * xDelta,
                       (edge.HasFlag(HitPosition.GrowTopEdge) ? -1 : 1) * yDelta);
            }
        }

        public void Draw(Canvas canvas, bool isOldMethod)
        {
            if (Hidden)
            {
                return;
            }

            canvas.Save();

            if (!Focused)
            {
                outlinePaint.Color = Color.White;
                canvas.DrawRect(DrawRect, outlinePaint);
            }
            else
            {
                Rect viewDrawingRect = new Rect();
                context.GetDrawingRect(viewDrawingRect);

                outlinePaint.Color = Color.White;// new Color(0XFF, 0xFF, 0x8A, 0x00);
                focusPaint.Color = new Color(50, 50, 50, 125);

                Path path = new Path();
                path.AddRect(new RectF(DrawRect), Path.Direction.Cw);

                canvas.ClipPath(path, Region.Op.Difference);
                canvas.DrawRect(viewDrawingRect, focusPaint);

                canvas.Restore();
                canvas.DrawPath(path, outlinePaint);

                if (mode == ModifyMode.Grow)
                {
                    int left = DrawRect.Left + 1;
                    int right = DrawRect.Right + 1;
                    int top = DrawRect.Top + 4;
                    int bottom = DrawRect.Bottom + 3;

                    int widthWidth = resizeDrawableWidth.IntrinsicWidth / 2;
                    int widthHeight = resizeDrawableWidth.IntrinsicHeight / 2;
                    int heightHeight = resizeDrawableHeight.IntrinsicHeight / 2;
                    int heightWidth = resizeDrawableHeight.IntrinsicWidth / 2;

                    int handleHeight = resizeDrawableHandle.IntrinsicHeight / 2;
                    int handleWidth = resizeDrawableHandle.IntrinsicWidth / 2;

                    int xMiddle = DrawRect.Left + ((DrawRect.Right - DrawRect.Left) / 2);
                    int yMiddle = DrawRect.Top + ((DrawRect.Bottom - DrawRect.Top) / 2);

                    resizeDrawableWidth.SetBounds(left - widthWidth,
                                                   yMiddle - widthHeight,
                                                   left + widthWidth,
                                                   yMiddle + widthHeight);
                    resizeDrawableWidth.Draw(canvas);

                    resizeDrawableWidth.SetBounds(right - widthWidth,
                                                   yMiddle - widthHeight,
                                                   right + widthWidth,
                                                   yMiddle + widthHeight);
                    resizeDrawableWidth.Draw(canvas);

                    resizeDrawableHeight.SetBounds(xMiddle - heightWidth,
                                                    top - heightHeight,
                                                    xMiddle + heightWidth,
                                                    top + heightHeight);
                    resizeDrawableHeight.Draw(canvas);

                    resizeDrawableHeight.SetBounds(xMiddle - heightWidth,
                                                    bottom - heightHeight,
                                                    xMiddle + heightWidth,
                                                    bottom + heightHeight);
                    resizeDrawableHeight.Draw(canvas);

                    // Top Left
                    resizeDrawableHandle.SetBounds(left - handleWidth, top - handleHeight, left + handleWidth, top + handleHeight);
                    resizeDrawableHandle.Draw(canvas);

                    // Top Right
                    resizeDrawableHandle.SetBounds(right - handleWidth, top - handleHeight, right + handleWidth, top + handleHeight);
                    resizeDrawableHandle.Draw(canvas);

                    // Bottom Left
                    resizeDrawableHandle.SetBounds(left - handleWidth, bottom - handleHeight, left + handleWidth, bottom + handleHeight);
                    resizeDrawableHandle.Draw(canvas);

                    // Bottom Right
                    resizeDrawableHandle.SetBounds(right - handleWidth, bottom - handleHeight, right + handleWidth, bottom + handleHeight);
                    resizeDrawableHandle.Draw(canvas);
                }
            }
        }

        public void Draw(Canvas canvas)
        {
            canvas.Save();

            Rect viewDrawingRect = new Rect();
            context.GetDrawingRect(viewDrawingRect);

            outlinePaint.Color = Color.White; // Color.Blue;// new Color(0XFF, 0xFF, 0x8A, 0x00);
            focusPaint.Color = new Color(50, 50, 50, 125);

            Path path = new Path();

            // Stuff to show the handles
            int handleHeight = resizeDrawableHandle.IntrinsicHeight / 2;
            int handleWidth = resizeDrawableHandle.IntrinsicWidth / 2;

            if (CropHandles.Count == 0)
            {
                var verts = GetVerticesFromPoints(CropBoxDrawPoints);

                if(verts.Count > 0)
                    verts.RemoveAt(verts.Count - 1);

                bool firstPass = true;
                CropHandle cropHandle;

                var vertCount = verts.Count;
                if(vertCount > 0)
                {
                    for (var i = 0; i < vertCount; i++)
                    {
                        if (firstPass)
                        {
                            firstPass = false;
                            path.MoveTo(verts[i].X, verts[i].Y);
                        }
                        path.LineTo(verts[i].X, verts[i].Y);

                        cropHandle = new CropHandle(i, (int)verts[i].X, (int)verts[i].Y, new Rect((int)verts[i].X - handleWidth, (int)verts[i].Y - handleHeight, (int)verts[i].X + handleWidth, (int)verts[i].Y + handleHeight));
                        CropHandles.Add(cropHandle);
                        resizeDrawableHandle.SetBounds(cropHandle.Handle.Left, cropHandle.Handle.Top, cropHandle.Handle.Right, cropHandle.Handle.Bottom);
                        resizeDrawableHandle.Draw(canvas);
                    }
                    // draw one last line to close the gap
                    path.LineTo(verts[0].X, verts[0].Y);
                }

            }
            else
            {
                bool firstPass = true;
                foreach (var ch in CropHandles)
                {
                    if (firstPass)
                    {
                        firstPass = false;
                        path.MoveTo(ch.X, ch.Y);
                    }
                    path.LineTo(ch.X, ch.Y);

                    resizeDrawableHandle.SetBounds(ch.Handle.Left, ch.Handle.Top, ch.Handle.Right, ch.Handle.Bottom);
                    resizeDrawableHandle.Draw(canvas);
                }
                // draw one last line to close the gap
                path.LineTo(CropHandles[0].X, CropHandles[0].Y);
            }

            canvas.ClipPath(path, Region.Op.Difference);
            canvas.DrawRect(viewDrawingRect, focusPaint);

            canvas.Restore();
            canvas.DrawPath(path, outlinePaint);
        }

        // Determines which edges are hit by touching at (x, y).
        public CropHandle GetHit(float x, float y)
        {
            // determine if we are touching a crop handle
            foreach (var ch in CropHandles)
            {
                if (ch.Handle.Contains((int)x, (int)y))
                    return ch;
            }

            return null;
        }
        public HitPosition GetHit(float x, float y, bool IsOldMethod)
        {
            // new
            float[] b = ComputeBoxLayout();

            Rect r = computeLayout();
            float hysteresis = 20F;
            var retval = HitPosition.None;

            // verticalCheck makes sure the position is between the top and
            // the bottom edge (with some tolerance). Similar for horizCheck.
            bool verticalCheck = (y >= r.Top - hysteresis) && (y < r.Bottom + hysteresis);
            bool horizCheck = (x >= r.Left - hysteresis) && (x < r.Right + hysteresis);

            // Check whether the position is near some edge(s).
            if ((Math.Abs(r.Left - x) < hysteresis) && verticalCheck)
            {
                retval |= HitPosition.GrowLeftEdge;
            }

            if ((Math.Abs(r.Right - x) < hysteresis) && verticalCheck)
            {
                retval |= HitPosition.GrowRightEdge;
            }

            if ((Math.Abs(r.Top - y) < hysteresis) && horizCheck)
            {
                retval |= HitPosition.GrowTopEdge;
            }

            if ((Math.Abs(r.Bottom - y) < hysteresis) && horizCheck)
            {
                retval |= HitPosition.GrowBottomEdge;
            }

            // Not near any edge but inside the rectangle: move.
            if (retval == HitPosition.None && r.Contains((int)x, (int)y))
            {
                retval = HitPosition.Move;
            }

            return retval;
        }

        public void Invalidate()
        {
            DrawRect = computeLayout();

            // new
            CropBoxDrawPoints = ComputeBoxLayout();
        }

        // TODO:  We dont really want both a croprect and cropbox
        public void Setup(Matrix m, Rect imageRect, RectF cropRect, CropPolygon cropPolygon, bool maintainAspectRatio)
        {
            matrix = new Matrix(m);

            this.cropRect = cropRect;
            this.cropPolygon = cropPolygon;
            this.imageRect = new RectF(imageRect);
            this.maintainAspectRatio = maintainAspectRatio;

            initialAspectRatio = cropRect.Width() / cropRect.Height();
            DrawRect = computeLayout();
            CropBoxDrawPoints = ComputeBoxLayout();

            focusPaint.SetARGB(125, 50, 50, 50);
            noFocusPaint.SetARGB(125, 50, 50, 50);
            outlinePaint.StrokeWidth = 3;
            outlinePaint.SetStyle(Paint.Style.Stroke);
            outlinePaint.AntiAlias = true;

            mode = ModifyMode.None;
            init();
        }

        #endregion

        #region Private helpers

        private void init()
        {
            var resources = context.Resources;

            // old
            resizeDrawableWidth = resources.GetDrawable(Resource.Drawable.camera_crop_width);
            resizeDrawableHeight = resources.GetDrawable(Resource.Drawable.camera_crop_height);

            // new
            resizeDrawableHandle = resources.GetDrawable(Resource.Drawable.camera_crop_handle);
            CropHandles = new List<CropHandle>();

        }

        // Grows the cropping rectange by (dx, dy) in image space.
        private void moveBy(float dx, float dy)
        {
            Rect invalRect = new Rect(DrawRect);

            cropRect.Offset(dx, dy);

            // Put the cropping rectangle inside image rectangle.
            cropRect.Offset(
                Math.Max(0, imageRect.Left - cropRect.Left),
                Math.Max(0, imageRect.Top - cropRect.Top));

            cropRect.Offset(
                Math.Min(0, imageRect.Right - cropRect.Right),
                Math.Min(0, imageRect.Bottom - cropRect.Bottom));

            DrawRect = computeLayout();

            // new
            CropBoxDrawPoints = ComputeBoxLayout();

            invalRect.Union(DrawRect);
            invalRect.Inset(-10, -10);
            context.Invalidate(invalRect);
        }

        // Grows the cropping rectange by (dx, dy) in image space.
        private void growBy(float dx, float dy)
        {
            if (maintainAspectRatio)
            {
                if (dx != 0)
                {
                    dy = dx / initialAspectRatio;
                }
                else if (dy != 0)
                {
                    dx = dy * initialAspectRatio;
                }
            }

            // Don't let the cropping rectangle grow too fast.
            // Grow at most half of the difference between the image rectangle and
            // the cropping rectangle.
            RectF r = new RectF(cropRect);
            if (dx > 0F && r.Width() + 2 * dx > imageRect.Width())
            {
                float adjustment = (imageRect.Width() - r.Width()) / 2F;
                dx = adjustment;
                if (maintainAspectRatio)
                {
                    dy = dx / initialAspectRatio;
                }
            }
            if (dy > 0F && r.Height() + 2 * dy > imageRect.Height())
            {
                float adjustment = (imageRect.Height() - r.Height()) / 2F;
                dy = adjustment;
                if (maintainAspectRatio)
                {
                    dx = dy * initialAspectRatio;
                }
            }

            r.Inset(-dx, -dy);

            // Don't let the cropping rectangle shrink too fast.
            float widthCap = 25F;
            if (r.Width() < widthCap)
            {
                r.Inset(-(widthCap - r.Width()) / 2F, 0F);
            }
            float heightCap = maintainAspectRatio
                ? (widthCap / initialAspectRatio)
                    : widthCap;
            if (r.Height() < heightCap)
            {
               // TODO: Relook at this, it makes the crop rect shrink on intial touch
              // r.Inset(0F, -(heightCap - r.Height()) / 2F);
            }

            // Put the cropping rectangle inside the image rectangle.
            if (r.Left < imageRect.Left)
            {
                r.Offset(imageRect.Left - r.Left, 0F);
            }
            else if (r.Right > imageRect.Right)
            {
                r.Offset(-(r.Right - imageRect.Right), 0);
            }
            if (r.Top < imageRect.Top)
            {
                r.Offset(0F, imageRect.Top - r.Top);
            }
            else if (r.Bottom > imageRect.Bottom)
            {
                r.Offset(0F, -(r.Bottom - imageRect.Bottom));
            }

            cropRect.Set(r);
            DrawRect = computeLayout();

            // new
            CropBoxDrawPoints = ComputeBoxLayout();

            context.Invalidate();
        }

        // Maps the cropping rectangle from image space to screen space.
        private Rect computeLayout()  // TODO: Remove this
        {
            RectF r = new RectF(cropRect.Left, cropRect.Top,
                                cropRect.Right, cropRect.Bottom);
            matrix.MapRect(r);

            var p = new Rect((int)Math.Round(r.Left), (int)Math.Round(r.Top),
                            (int)Math.Round(r.Right), (int)Math.Round(r.Bottom));
            return p;
        }

        private float[] ComputeBoxLayout() // TODO:  What should this really return?
        {
            var verts = cropPolygon.GetOrderedVertices();

            var points = new float[(verts.Count * 2)];

            int i = 0;
            foreach(var v in verts)
            {
                points[i++] = v.X;
                points[i++] = v.Y;
            }

            matrix.MapPoints(points);

            return points;
        }

        private List<System.Drawing.PointF> GetVerticesFromPoints(float[] points)
        {
            var cp = cropPolygon.GetOrderedVertices().ToArray();
            int i = 0;
            for (int j = 0; j < cp.Length; j++ )
            {
                cp[j].X = points[i++];
                cp[j].Y = points[i++];
            }

            return cp.ToList();
        }

        #endregion
    }
}

redpajama_set_name: RedPajamaGithub


Award win for VEUF confirmation for new product.
Dragon Capital received two awards in recognition for its business development and performance delivery in the classes of Best Fund House, Vietnam and Most Innovative Product for its Vietnam Equity (UCITS) Fund. The awards were presented during the 13th Asia Asset Management Annual Awards Dinner. Asia Asset Management's annual Best of the Best Awards have made their mark on the industry by recognising the most outstanding players in the fund management industry for the past 12 years.


text:
Wild Horse Issue
Wild Horse Annie
Wild Horse Defense Fund
Population Management
Wild Horse Rangers
Sponsor a Horse
Sponsor a Burro
Adopt a Horse or Burro
RTF E-News
Photographers and Artists
Reveille roundup ends with 68 wild horses released, Feb. 6, 2017
Wild horses captured during the 2014 roundup at the Reveille Horse Management Area. BLM file photo.
The roundup at the Reveille Horse Management Area in Nevada ended on Friday with 68 wild horses were released and one euthanized.
Altogether, 151 wild horses (66 studs, 64 mares and 21 mixed weanlings/yearlings) were captured during helicopter drive trapping that began on Jan. 30, according to the Bureau of Land Management.
On Friday, 38 studs were released along with 30 mares treated with fertility control vaccine.
Two wild horses were euthanized during the roundup, including a 20-year-old sorrel stud on Friday. A veterinarian determined that euthanasia was the most humane course of action after the discovery that an old foot injury had caused a lateral deviation of the horse's lower limb and a hoof deformity, according to the gather report.
The remaining wild horses taken from the Horse Management Area 50 miles east of Tonopah, Nevada, will be put up for adoption, according to BLM.
A portion of the Reveille HMA is subject to a 1987 court order and 2001 and 2001 Interior Board of Land Appeals orders requiring BLM to conduct an annual population count. If the count exceeds BLM's Appropriate Management Level (set at 138 wild horses in 2001), the agency has 120 days to begin a roundup to removed "excess" wild horses, beginning with wild horses outside of the HMA's boundaries.
The Tonopah Resource Management Plan allows BLM to reduce the wild horse population to a level that will accommodate up to three years of population growth before again reaching Appropriate Management Level.
The goal for the upcoming roundup: reduce the population to 91 wild horses. The current population is estimated at 173 wild horses, based on an inventory flight in February 2016 and an annual estimated growth rate of 15 to 20%, according to BLM.
Reveille roundup: 28 Nevada wild horses captured, Feb. 3, 2017
Reveille roundup: 45 Nevada wild horses captured, one euthanized, Feb. 2, 2017
Reveille roundup: 32 Nevada wild horses captured, Jan. 31, 2017
Frisco, Reveille roundups postponed, Jan. 10, 2017
Categories Select Category Action Alerts Ambassadors Education Featured Herds Horses In The News Neda's Blog News Our Blog Press Releases Programs & Events Store Ticker Tours Wild Horse Rangers Youth
Archives Select Month December 2017 November 2017 October 2017 September 2017 August 2017 July 2017 June 2017 May 2017 April 2017 March 2017 February 2017 January 2017 December 2016 November 2016 October 2016 September 2016 August 2016 July 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 October 2015 August 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December 2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014 May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013 September 2013 August 2013 July 2013 June 2013 May 2013 April 2013 March 2013 December 2012 November 2012 October 2011 September 2011 April 1999
Members of Congress call for wild horse protections, use of fertility control
House members pen letter supporting ban on horse slaughter
Will a Senate bill save thousands of wild horses, burros from being euthanized?
RT @ReturnToFreedom : Don't miss out on a 2020-21 RTF calendar! They feature suitable-for-framing images of wild horses and burros at our sa…
RT @ReturnToFreedom : Target was captured during a roundup on the Wheeler Pass HMA in Nevada during which 28 horses were euthanized due to t…
All Rights Reserved © 2016 | Contact Us | Privacy Policy | Terms Of Use


The Insider slate this year is a testament that change doesn't have to be slow. If people with influence want to make it happen, they can.
Her benign observation was met with vitriol, not because she was wrong, but because she was a woman.
It's no secret that women in the gaming industry — and women in some other male-dominated fields — face an onslaught of hateful rhetoric, violent threats and insulting, sexist critiques on social media sites like Twitter, Reddit and 4chan for simply doing their jobs. The Gamergate controversy brought international attention to the issue in 2014, when an Internet mob of organized commenters attacked several high profile women in the gaming world, posting their home addresses and personal information online and threatening them with sexual assault, physical violence and even death.
When those women tried to defend themselves, it only got worse.
Since then, various industry pockets have spoken out against online harassment and highlighted the rampant sexism women face. Gamergate victims have established initiatives and networks. In March, during a speech recognizing Women's History Month, President Barack Obama touched on the harassment female gamers face, pushing for gender equity across all fields.
And just last week, Gen Con, one of the oldest and largest gaming conventions, announced that it's lineup of 2016 Industry Insider featured speakers is majority women — for the first time in its nearly 50 year history.
Thirteen of the 25 speakers are women — a sizable jump in female representation from years past. In 2011, there was only one female featured speaker; in 2014, four of the 25 speakers were women, and last year, women made up about 30 percent of the slate, according to several gaming blogs.
It's an especially favorable move after a panel at last year's convention, titled, "Writing Women Friendly Comics," caused an outcry when the panel lineup initially contained no women. Gen Con quickly added some female voices to the discussion, but a controversial moderator caused some women to walk out and even leave crying, Price said.
When the list of 2016 panelists was posted on the Gen Con website, and Price discovered her speaker application was accepted, she was ecstatic.
Gen Con, which draws more than 60,000 gamers, will be held in Indianapolis in early August.
To be joining a majority female panel takes away what Price called the "tokenism" of her invitation. "When it's half women, the pressure to be a woman in games is off," Price said. "You can just be a person who works in games." But with progress comes pushback.
Just saw the GENCON "industry insiders" list of expert panelists. By "insider" they must mean "douchebags with delusions of significance".
Some dude on my blog said that I should have to "pay my dues" before deserving to be an IIFP at GenCon.
Elsewhere online, one blogger predicted attendance at Gen Con would plummet because of the speaker lineup, signaling the beginning of the end of the decades old convention.
But others in the industry offered their full support, even male applicants who weren't selected to be featured speakers this year.
I got turned down for industry insider, I have a decade in the industry and even I thought they should be selected over me.
Price said she, and her female colleagues, have just had to learn how to tune out the gender-based critiques.
"You expect it, and you kind of have to brush it off," she said.
Online, Price is quick to block those who threaten her, and she said women of the industry look out for each other, too.
"It's easier to read stuff about other people than it is to read about yourself," she said.
Price, along with other female gamers, have praised Gen Con for diversifying its lineup, including having LGBT representation and Michael Pondsmith, a black man, as the Guest of Honor. They all offered the same critique: the lineup is still overwhelmingly white.
Read Only Memories is still looking for a VA!!


Get the most out of your WordPress website or blog with these 50 point WordPress Website Maintenance checklist that will make life quite easier.
Maintenance is the one aspect of owning just about anything that can never be considered expendable if a peak performance is expected from it. Neither a car, nor your body can perform exceptionally well if it is not well maintained and optimized from time to time, and your CMS shares this trait too. Know how and when to update, delete and fix the numerous components that keep your website running and learn the essentials of WordPress Website Maintenance.
Make the most of WordPress' user-friendly experience with these 50 WordPress Website Maintenance Tips and Practices.


text:
Міжконтинентальний кубок з футболу 2002 — 41-й розіграш Міжконтинентального кубка. У матчі зіграли переможець Ліги чемпіонів 2001–2002 іспанський «Реал Мадрид» та переможець Кубка Лібертадорес 2002 парагвайська «Олімпія». Гра відбулася на стадіоні Міжнародному стадіоні у Йокогамі 3 грудня 2002 року. За підсумками гри титул володаря Міжконтинентального кубка втретє за свою історію здобув «Реал Мадрид».

Команди

* жирним позначено переможні роки.

Матч

Див. також
 Ліга чемпіонів УЄФА 2001—2002
 Кубок Лібертадорес 2002

Посилання
 Міжконтинентальний кубок 2002 на rsssf
 Міжконтинентальний кубок 2002 на transfermarkt

2002 у футболі
2002
Спортивні змагання у Йокогамі
Грудень 2002

redpajama_set_name: RedPajamaWikipedia


text:
Hoteliers increasingly focusing on sustainability
From backyard farms to recycling bathing water at staff accommodation, hotels are rising to the sustainable benchmark in a bid to establish a better tomorrow
by Nikhil Pereira
The panel at the Hotel show discussed sustainability is the hospitality industry.
Hoteliers in the region are ramping up efforts to make their properties more eco friendly and sustainable, with specialised efforts to ensure they comply with international standards.
Hoteliers and stakeholders gathered at the recently concluded Hotel Show to discuss 'A hotel viewpoint - sustainability for a better tomorrow' and shared best practices followed in their properties.
"At Accor Hotels we strictly follow the 'Planet 21' programme that is a well-defined 21 point charter defining the use of water, electricity, management amongst other important measures," said Rohit Salunke, director of engineering, Sofitel The Palm Dubai.
Did you like this story?
Salunke went on to reveal the hotel's green achievements: "The Sofitel is one of the most sustainable and green-compliant resorts in Dubai. For instance, the condensed water from the air conditioning system is used for the local irrigation in the hotel, swimming pools are heated via heat pumps. The hotel is also a fully certified to carry out its waste recycling having achieved several certifications from independent bodies."
Another significant change has been in the lighting system, with 80% of the public area utilising LED lighting instead of conventional methods. "The switch has helped us save US $ 272,260 (AED 1 million) in utility bills over the last two years." The hotel has also made significant cut backs in its water consumption having saved 10,000 - 15,000 cubic litres of water.
Meanwhile, Iftikhar Hamdani, general manager, Ramada Hotel & Suites Ajman put forth his hotel's initiatives, "Ajman dumps 600 tonnes of waste in landfills every day. However, we have reduced 90% of our hotel waste. Initially, we used to produce 950 kgs of waste daily.
--- RELATED: Read Caterer Middle East's extensive case study on Ramada Ajman's measures to reduce food waste ----
"When I asked my team a few years ago, no one knew our daily waste production. 60% of our waste came from the kitchen. We purchased GreenGood (a special composting machine) in 2012, and it has saved the hotel US $98,000 (AED 360,000) in three years. We were paying AED 120,000 ($32,670) per annum for waste collection. Now, we don't need it," Hamdani added.
The panel widely spoke about sustainability and reduction of paper usage, tissues and hand towels in favour of hand dryers and absorbent wash cloths.
The Emirates Green Building Code has been made effective since January 2015, which requires all new buildings being built in Dubai to comply by its regulations.
For all the latest hospitality news from UAE, Gulf countries and around the world, follow us on Twitter and Linkedin, like us on Facebook and subscribe to our YouTube page.
POWER CONSUMPTION IN DUBAI HOTELS
RAMADA AJMAN
SOFITEL THE PALM
SUSTAINABLE HOTELS DUBAI
UAE HOTELS
Hotel supply will continue to exceed demand
Dubai using sustainability to attract tourists
Video: What's trending: The future of Bahrain's hotel market
Heiko Nader returns to Niyama Private Islands Maldives
Dubai Municipality delays calorie publishing requirements for food outlets
Dubai is not a premium fine-dining destination: Marriott VP of F&B
From the edition


text:
Oriente Médio – Lebanese businessman to donate Hitler's top hat to Israeli group | Germany News
Adolf Hitler's top hat and other objects linked to the Nazi leader are to be gifted to an Israeli foundation in order to keep the items out of the hands of neo-fascists.
Abdallah Chatila, a Lebanese businessman who has made a fortune from diamonds and real estate in Geneva, told the Matin Dimanche weekly he had "wished to buy these objects so that they could not be used for the purpose of neo-Nazi propaganda".
"My stance is totally apolitical and neutral," he said.
The collapsible top hat believed to have belonged to Hitler sold for 50,000 euros ($55,300) at a controversial auction in Munich, Germany on Wednesday.
Chatila said he scooped up as many other Hitler-related articles as he could at the auction and donated them to Keren Hayesod, an Israeli fundraising group.
The head of the European Jewish Association, Rabbi Menachem Margolin, said he was "bowled over" by the gestures from the businessman.
"In a cynical world, a real act of kindness, of generosity and solidarity," he said in a statement.
Margolin said Chatila has accepted an invitation to join a visit by 100 European parliamentarians to the site of second world war's Auschwitz death camp in January to receive an award.
Former German President Paul von Hindenburg leaves the Tomb of the Unknown Soldier in this 1934 photo, with Chancellor Adolf Hitler carrying a top hat behind him [AP]
Nazi crimes 'trivialised'
Wednesday's auction in Munich was organised by Hermann Historica, which has picked up business in Nazi memorabilia that the main houses have largely avoided.
Other items that went under the hammer on Wednesday included a silver-plated copy of Hitler's anti-Semitic political manifesto, Mein Kampf, that once belonged to senior Nazi, Hermann Goering. It was sold for 130,000 euros ($143,000).
Before the auction, Rabbi Margolin recalled that "it is Germany that leads Europe in the sheer volume of reported anti-Semitic incidents," urging the German authorities to compel auction houses to divulge the names of those buying such articles and put them on a watch list.
"The Nazis' crimes are being trivialised here," the German government's anti-Semitism commissioner Felix Klein told the Funke newspaper group following the auction.
Many of the items belonging to top Nazi leaders were seized by the US soldiers in the final days of the war.
"Far-right and anti-Semitic populism is advancing throughout Europe and the world," Margolin told the weekly paper.
Born in Beirut in 1974 into a family of Christian jewellers, Chatila is among Switzerland's 300 richest people.
He suggested that the items of Nazi memorabilia "should be burned", while "historians think they should be kept as part of the collective memory,"
Fonte: https://www.aljazeera.com/news/2019/11/lebanese-businessman-donate-hitler-top-hat-israeli-group-191125190715975.html
Notícia anteriorAméricas – Uber loses London licence over safety, but promises to appeal
Américas – Uber loses London licence over safety, but promises to appeal
Europa – French film star Sandrine Bonnaire shares domestic violence ordeal
África – Tanzania Seeks to Partner Uganda in Aviation Sector


text:
Faculty Directory >
Rebecca Ashare
Julie Bowker
Michael Bozarth
Andrés Buxó-Lugo
Craig Colder
Kenneth DeMarree
Micheal Dent
Shira Gabriel
Larry Hawk
Joyce Lacy
Gregory Loney
Christopher McNorgan
Eduardo Mercado III
Sandra Murray
Ericka Nus
Jamie M. Ostrov
Lora Park
Kathleen A. Parks
Peter Pfordresher
Michael J. Poulin
Tim Pruitt
Wendy Quinton
Jennifer Read
Hollen Reischer
Mark Seery
David W. Shucard
Leonard Simms
Sarah Taber-Thomas
Current Faculty and Staff
10/20/22 Department Governance
11/11/20 Department Bylaws
1/14/23 Faculty Promotion
6/18/18 Three-Course Teaching Load for Research-Active Faculty
6/18/18 Allocation of State-Funded Graduate Lines
6/18/22 Faculty Research Development Award
6/20/22 Faculty Grant Pre-Review Program
12/21/22 Faculty Travel
12/21/22 Contact Information
Taste; feeding; food choice
B74 Park Hall
Buffalo NY, 14260-4110
amtorreg@buffalo.edu
Torregrossa Laboratory of Taste and Feeding
PhD, University of Utah
Diet selection is an undeniably important part of maintaining health, but due to the complexity of the physiological and environmental factors that contribute to food choice, it is still poorly understood. Foods considered rewarding are often over-consumed, while others, such as bitter foods, are avoided. We have been exploring how orosensory and gut feedback contribute to food acceptance and intake, most recently in reference to salivary proteins and bitter foods. Under normal feeding and drinking conditions, taste compounds must mix with saliva before reaching their receptor targets, setting the stage for potential modulation of the taste signal at its most fundamental level. Our lab is interested in how changes in salivary proteins may alter diet acceptability especially for bitter diets. A large number of nutritionally significant food sources contain bitter phytochemicals, thus understanding bitter taste perception can lead to strategies for influencing food selection.
Ahart, Z.C., Martin, L.E., Kemp, B.R., Banik, D.D., Roberts, S.G.E., Torregrossa, A-M., Medler, K.F. (2020) Differential effects of diet and weight on taste responses in diet-induced obese mice. Obesity, 28(2): 284-292
Banik, D.D., Benfey, E.D., Martin, L.M., Kay, K.E., Loney, G.C., Nelson, A.R., Ahart, Z.C., Kemp, B.T., Kemp, B.R., Vandenbeuch, A., Torregrossa A-M., Medler, K.F. (2020) A subset of broadly responsive Type III taste cells contribute to the detection of bitter, sweet and umami stimuli. PLOS Genetics, 16(8):e1008925
Kay, K.E., Martin, L.E., James, K.E., Haygood, S.M., Torregrossa A-M. (2020) Temperature is sufficient to create a flavor preference for a cold-paired solution in rats. Chemical Senses, 45 (7): 563-572
Martin, L.E., James, K.E., Kay, K.E., Torregrossa A-M. (2020) Altering salivary protein profile can decrease aversive oromotor responding to quinine in rats. Physiology and Behavior, 223: 113005-1
Martin, L.M., Kay, K., Torregrossa A-M., (2019) Altering salivary protein profile can increase acceptance of a novel bitter diet. Appetite, 10(136): 8-17
Martin, L.M., Kay, K., Torregrossa A-M., (2019) Bitter-induced salivary proteins increase threshold detection of quinine but not sucrose Chemical Senses, 44(6): 379-388
Martin, L.E., Kay, K.E., Torregrossa A-M. (2019) Rats are unable to discriminate quinine from diverse bitter stimuli. American Journal of Physiology- Regulatory, Integrative and Comparative Physiology, 317(6): R793-802
Banik, D.D., Martin, L.E., Freichel, M., Torregrossa A-M., Medler, K.F. (2018) TRPM4 and TRPM5 are both required for normal signaling in taste receptor cells. Proceedings of the National Academy of Sciences, 115(4): E772-E781
Martin, L.E., Nikonova, L.V., Kay, K., Paedae, A.B., Contreras, R.J., Torregrossa, A-M. (2018) Salivary proteins alter taste-guided behaviors and taste nerve signaling in rat. Physiology and Behavior, 184(1): 150-161 *associated image was selected for the journal's cover art
Torregrossa, A-M., Nikonova, L., Bales, M.B., Villalobos Leal, M., Smith, J.C., Contreras, R.J., Eckel, L.A. (2014) Induction of salivary proteins modifies measures of both orosensory and postingestive feedback during exposure to a tannic acid diet. Plos One, 9(8): e105232.


text:
Q: What is a repository in CentOS? What is a repository in Centos and what does it contain. I I remove all the .repo files from the system. What will be its implications. Will it remove the packages as well and will hinder normal operations or will package just not get auto-updated?

A: Repositories in CentOS are collections of software that the server administrator can easily install.
For instance, should you choose to install Firefox, the following command will query all configured repositories, and if one of the repos has Firefox then yum will download and install it:
$ sudo yum install firefox

Additionally, you can search for software without installing it:
$ yum provides firefox

Therefore, repositories (or repos) are online collections of software which yum may query and download from.

A: "Repositories" are locations where you can download software.
".repo" files are definition files for repositories you might wish to use.
Deleting a .repo file will not affect any packages you already have installed - it will just prevent you from updating it (assuming the package in question is available only from that one repository).
You can learn more here:

*

*https://www.centos.org/docs/5/html/yum/sn-yum-maintenance.html

*https://www.digitalocean.com/community/tutorials/how-to-set-up-and-use-yum-repositories-on-a-centos-6-vps

redpajama_set_name: RedPajamaStackExchange


text:
Archives de Tag: Melinda Chateauvert
9 janvier 2014 Poster un commentaire
Despite the acceptance of "sluts," the "prostitute" remains a deeply embedded symbolic marker between decency and disrespect. The "ethical slut" engages in sex of her or his own "free" will, while the "dirty whore" insists on getting paid for sex. Sex-positive feminists and other "sluts" believe there is nothing morally wrong with consensual sex between two (or more) people in private, or for adults, in a semi-public setting such as a sex club, dungeon or swingers' retreat. But money changes everything.
Whorephobia remains pervasive in the social psyche, showing its ugliness even in sex-positive communities. The positive emphasis on sex work confuses "straights" into thinking that sex work is about sex, not work. That cognitive dissonance — the deep chasm filled with stereotypes and prejudices — interferes with the capacity of civilians to hear sex workers speak about their experiences. Stories that don't conform to the "superhappyfunsexysexwork!" narrative tend to flummox pro-sex feminists; they can identify with privileged exotic dancers, porn performers and professional dominants (even fantasize about being one), but think "junkie whores" need to be rescued and should be prevented from working in their gentrifying neighborhoods. Such disrespectful treatment leads to silencing, ignoring, or rewriting what sex workers have to say.
Writing in the blogosphere recently, sex workers say they're frustrated with the uncritical acceptance of sex-positive feminism. Furry Girl, the Seattle-based founder of SWAAY, is also the blogger behind Feminisnt because she "got tired of trying to shoehorn my life into a useless ideology like a pair of ill-fitting high heels." The habit of always trying to put a "good" face on sex work leaves little room for those who have had not-so-good experiences. They fear talking about the bad stuff because "straight" audiences, whether pro-sex feminists, prohibitionists or the media, tend to stuff those stories into established morality tales about sex, violence and bodily integrity. But the truth is that by telling stories with all the gory details and delicious specifics, we can get to the revolution that sex workers are creating right now.
Melinda CHATEAUVERT : Ethical Sluts and "Dirty Whores" : Straight Talk About Sex Work


text:
Edward Rosset (ur. 4 listopada 1897 w Łodzi, zm. 2 czerwca 1989 tamże) – polski demograf, profesor Uniwersytetu Łódzkiego, członek Polskiej Akademii Nauk. Założyciel i wieloletni przewodniczący Komitetu Nauk Demograficznych PAN. Twórca i naczelny redaktor "Studiów Demograficznych".

Życiorys
W 1922 ukończył studia na Uniwersytecie Warszawskim, zaś w 1947 uzyskał stopień doktora. W latach 1922–1950 zatrudniony jako naczelnik Wydziału Statystycznego Zarządu Miejskiego Łodzi, był jednocześnie starszym asystentem w łódzkim oddziale Wolnej Wszechnicy Polskiej (1929–1939). Związany z Towarzystwem Uniwersytetu Robotniczego (TUR) oraz Stowarzyszeniem Wolnomyślicieli Polskich. W czasie II wojny światowej ukrywał się w Warszawie, m.in. w mieszkaniu Włodzimierza Gralińskiego.

Po zakończeniu wojny brał udział w tworzeniu Uniwersytetu Łódzkiego. Uzyskał stopień docenta (1954), profesora nadzwyczajnego (1958) i zwyczajnego (1963). Kierował Katedrą Statystyki, następnie Demografii i Statystyki UŁ (1945–1968). Był prorektorem Uniwersytetu (1961–1965), profesorem tegoż (1958–1968), następnie zaś profesorem emerytowanym (od 1968). Związany z Wyższą Szkołą Ekonomiczną w Łodzi, był jej pracownikiem naukowo-dydaktycznym (1949–1961) oraz rektorem (1957–1961). Był członkiem korespondencyjnym (od 1962) i rzeczywistym Polskiej Akademii Nauk (od 1976), a także twórcą i redaktorem naczelnym "Studiów Demograficznych", założycielem i wieloletnim przewodniczącym Komitetu Nauk Demograficznych PAN. Należał do Łódzkiego Towarzystwa Naukowego, Polskiego Towarzystwa Ekonomicznego, Towarzystwa Wolnej Wszechnicy Polskiej i Czechosłowackiego Towarzystwa Demograficznego przy Czechosłowackiej Akademii Nauk. Przewodniczył Radzie Naukowo-Ekonomicznej miasta Łodzi (1957–1962).

Został pochowany na Cmentarzu Komunalnym Doły w Łodzi.

Odznaczenia
Odznaczony m.in. Krzyżem Oficerskim  (1929) i Komandorskim z Gwiazdą Orderu Odrodzenia Polski, Orderem Sztandaru Pracy I i II klasy, Złotym Krzyżem Zasługi (dwukrotnie) oraz Medalem Uniwersytetu Łódzkiego.

Rodzina
Żonaty, miał syna. Jego młodszy wnuk Witold Rosset (z wykształcenia lekarz) był łódzkim samorządowcem i radnym Rady Miejskiej w Łodzi kilku kadencji, starszy wnuk Tomasz był m.in. dyrektorem przedstawicielstwa PLL LOT w Łodzi i dyrektorem zarządzającym Radia Eska Łódź.

Przypisy

Bibliografia
 Edward Rosset, w: Kto jest kim w Polsce, Wydawnictwo Interpress, Warszawa 1989, s. 1105

Odznaczeni Krzyżem Oficerskim Orderu Odrodzenia Polski (II Rzeczpospolita)
Odznaczeni Krzyżem Komandorskim Orderu Odrodzenia Polski (Polska Ludowa)
Odznaczeni Złotym Krzyżem Zasługi
Polscy demografowie
Wykładowcy Uniwersytetu Łódzkiego
Ludzie urodzeni w Łodzi
Pochowani na Cmentarzu Doły w Łodzi
Członkowie Łódzkiego Towarzystwa Naukowego
Doktorzy honoris causa Uniwersytetu Łódzkiego
Wykładowcy Wolnej Wszechnicy Polskiej
Członkowie rzeczywiści PAN
Laureaci Nagrody Miasta Łodzi
Urodzeni w 1897
Zmarli w 1989


text:
Vintage Sabatier Chef's Hand-forged Carbon Steel Boning Knife RAZOR SHARP
Please read our Terms below for details. PLEASE NOTE: We take our photos in natural light outdoors and as a result there are sometimes reflections or shadows or glare shown in the blades. In person none of these exist; we will say so in the description if it may be otherwise. From one of the finest cutlery companies in the world, in one of the hardest profiles to find, comes this outstanding professional-quality chef's or butcher's boning knife from Sabatier's world-famous Thiers-Issard ("Four Stars and Elephant") line of knives.
Though it was made sometime in the 1950's-70's, and though it has been used and sharpened--expertly--it remains rock solid and undamaged in any way, ready straight out of the box to perform in even the most demanding kitchen at the very highest levels. In one key way, though, this knife is better than new, having been professionally edged for this sale by the good people at Ross Cutlery in downtown Los Angeles, among the best in the business. As such, it's WICKEDLY sharp in a way that very few kitchen knives ever can be--FAR sharper than when it was new and guaranteed to thrill even the most jaded user. It was made in Thiers, France with a forged carbon steel blade/bolster/tang with handle made from a tough polymer that resists stains, water and other forms of stress.
If you've never used a carbon steel knife before, you're in for a treat. Experienced chefs know that only a true carbon steel blade can consistently attain the razor-sharp edge that makes cooking a true pleasure you must wipe the knife after every use to avoid stains and rusting, but will be richly rewarded with superior performance! This knife is perfectly balanced and will make you wonder why you suffered for all these years without one. When you hold a knife like this it feels like an extension of your hand, not like something you're simply holding. The fully forged boning knives like this are among the hardest Sabatier 4-star knives to find, since most chefs won't part with theirs until they're well worn out.
Like all fine carbon steel blades, it will accept a razor sharp edge the likes of which most chefs are unprepared for--truly a new level of performance for the uninitiated. It's ready to perform a lifetime of outstanding service separating meat from bone for any critter--land, sea or air. Of course, all knowing chefs have always prized a great boning knife for working its way through the most tedious jobs in any kitchen, professional or amateur.
Best of all, the knife was made prior to the 1987 conversion of Europe from the usage of crucible cast virgin steel to recycled "World" steel bought on the open market. As such, it's vastly superior and FAR less prone to failure under duress. Has a 5" blade (it's 9.25" overall)--beautifully balanced in your hand. A rare find, especially in carbon steel.
Our store's inventory is searchable using the search field or may be browsed by clicking on categories, with each option found on the left side of the store's homepage. Don't see it or can't find what you're looking for? It's wrong--it's STEALING--and you WILL be turned in to us by one of the legion of our loyal customers, who inevitably see your plagiarism and notify us about it. All items come from a smoke-free home. There will be NO EXCEPTIONS to this policy. If you dislike this or find this unfair, PLEASE shop elsewhere; we only want happy customers and it's our feeling that no one should be able to claim dissatisfaction with this policy, since we're stating it up front. It's not an attempt to profit, simply the only way my elderly bones can continue to offer so many items. WE SELF-INSURE using our business policy. I will gladly send you the forms necessary to file. Late, so again, we ask you in advance to please forgive our humanity. We take customer service very seriously and want to do whatever it takes to meet your needs.
If you're not in total agreement with us here or disagree for any reason, we can only urge that you PLEASE shop elsewhere. International packages will be calculated on the basis of a MINIMUM ONE POUND weight.
IMPORTANT: After TWELVE YEARS of doing everything we could to hold the line on int'l. If you're not in total agreement with us here or disagree for any reason, again, we can only urge you to PLEASE shop elsewhere.
We'd like to sell'em cheaper.. But MY WIFE won't let me!! The item "Vintage Sabatier Chef's Hand-forged Carbon Steel Boning Knife RAZOR SHARP" is in sale since Tuesday, June 11, 2019. This item is in the category "Collectibles\Kitchen & Home\Kitchenware\Utensils\Cutlery". The seller is "ralph1396" and is located in Los Angeles, California.
fullwakizashibroadswordfoldedsamuraitantocarbonchineseswordtanghandshortsteelbladedamascusmanganeseforgeninjakatanajapanrealtemperedreadyfittingforgedhighblackpatternrazorclaybattlesharpknifejapanesejian


text:
Middlesbrough are still 'miles from being safe', insists Neil Warnock following victory at Stoke City
NEIL WARNOCK is not getting carried away after enjoying a winning start to his Middlesbrough reign and has warned that his side are still "miles from being safe".
By Ben McKenna
Saturday, 27th June 2020, 7:33 pm
OPENER: Ashley Fletcher is congratulated by Patrick Roberts after scoring Middlesbrough's first goal at Stoke City. Picture: David Davies/PA Wire.
REPORT: Neil Warnock's Middlesbrough reign off to a flying start with 2-0 win at Stoke City.
Boro beat Stoke City 2-0 at the Bet365 Stadium on Saturday afternoon, but remain just two points clear of the bottom three in a relegation battle that looks set to go down to the wire.
Warnock will begin preparations for a crunch clash at Hull City on Thursday but he was delighted to pick up three points on his return to management.
AT THE HELM: Neil Warnock enjoyed a winning start to his Middlesbrough tenure. Picture: David Davies/PA Wire.
"It is why I am still in the game, I love trying to make players better than what they are," reflected Warnock on his first week back in the game.
"When people take on board what you are telling them, I have missed that and the banter around the dressing room. That is the best part of the job.
"It is a great result today but we are miles away from being safe.
"We have just got to concentrate, recover and then look towards the Hull game."
PLAYER RATINGS: Stoke City 0 Middlesbrough 2.
Goals either side of half time from Ashley Fletcher and substitute Marcus Tavernier helped Middlesbrough to earn a vital three points, while Dejan Stojanović's heroics at the other end kept the Potters at bay.
Warnock added: "I thought we deserved to win. We could have put the game to bed by half time. It was nice to get the second goal.
"I think the lads have enjoyed it, nobody likes it when a manager leaves but you just have to get on with it, especially with eight games to go."
The Middlesbrough manager was delighted with the commitment from his players in the latter stages of the game, as they kept only their second clean sheet in 12 outings, despite plenty of late pressure from the home side.
"You never know in football, I have been to clubs and lost the first two or three games. You have still got to stick with your principles," said Warnock.
"I would have been quite happy today whatever the result because of the way we played.
"I am just happy to get the goals. What I really liked was how we died at the end to keep our goal intact.
"The way we flung bodies in the way and headers, that is what I like about footballers."
Lumie Sunrise Alarm review: how does it work, does it help w... Recommended
Best pancake pans UK: from non-stick to cast iron, these pan... Recommended